From f0bccccbb88d93ac05010c17d4b2e0cb22a2ce9a Mon Sep 17 00:00:00 2001
From: buli <137736985@qq.com>
Date: 星期四, 20 四月 2023 15:45:11 +0800
Subject: [PATCH] backup0420

---
 force-app/main/default/lwc/editableListWrapper/editableListWrapper.js                                                      |    3 
 force-app/main/default/lwc/customLightningDatatable/customLightningDatatable.html                                          |    3 
 force-app/main/default/lwc/lexOCSMToReportLighting/lexOCSMToReportLighting.html                                            |    5 
 force-app/main/default/lwc/lexCustomDeleteLWC/lexCustomDeleteLWC.js-meta.xml                                               |    5 
 force-app/main/default/lwc/lexSaleAndDelivery/lexSaleAndDelivery.js                                                        |  415 
 force-app/main/default/lwc/pageMessagesForm/pageMessagesForm.js-meta.xml                                                   |    5 
 force-app/main/default/lwc/lexBidAnnouncementConsentButton/lexBidAnnouncementConsentButton.js-meta.xml                     |   11 
 force-app/main/default/lwc/lexCopyPIOnCall/lexCopyPIOnCall.js                                                              |   52 
 force-app/main/default/lwc/lexESignFormAttachment/lexESignFormAttachment.js                                                |   48 
 force-app/main/default/lwc/lexTenderingUsedAttachmentButton/lexTenderingUsedAttachmentButton.js-meta.xml                   |   11 
 force-app/main/default/lwc/topPageLwc/topPageLwc.html                                                                      |  237 
 force-app/main/default/lwc/lexSubmit/lexSubmit.css                                                                         |   10 
 force-app/main/default/lwc/rentalApplyEquipmentRentalPDF/rentalApplyEquipmentRentalPDF.js-meta.xml                         |   11 
 force-app/main/default/lwc/lexESignFormAttachment/lexESignFormAttachment.js-meta.xml                                       |   11 
 force-app/main/default/lwc/customShipmentAmountComp/customShipmentAmountComp.html                                          |   10 
 force-app/main/default/lwc/lexcopyQIS/lexcopyQIS.html                                                                      |    5 
 force-app/main/default/lwc/lexOCSMToReportRepair/lexOCSMToReportRepair.js                                                  |   92 
 force-app/main/default/lwc/lexClearReturnDeliverySlip/lexClearReturnDeliverySlip.html                                      |    5 
 force-app/main/default/lwc/exampleWrapper/exampleWrapper.js-meta.xml                                                       |    5 
 force-app/main/default/lwc/lexPDFQISrequest/lexPDFQISrequest.js                                                            |   47 
 force-app/main/default/lwc/createMixedRecordsApexWrapper/createMixedRecordsApexWrapper.js-meta.xml                         |    8 
 force-app/main/default/lwc/rentalApplyEquipmentRentalPDF/rentalApplyEquipmentRentalPDF.js                                  |   44 
 force-app/main/default/lwc/lexcopyQIS/lexcopyQIS.js                                                                        |   52 
 force-app/main/default/lwc/lexCancelSubmitReport/lexCancelSubmitReport.html                                                |    6 
 force-app/main/default/lwc/lexTenderingLostButton/lexTenderingLostButton.html                                              |    5 
 force-app/main/default/lwc/test/test.js                                                                                    |    5 
 force-app/main/default/lwc/lexOCSMNoToReportRepair/lexOCSMNoToReportRepair.js                                              |  102 
 force-app/main/default/lwc/lexRentalApplyCanleButton/lexRentalApplyCanleButton.css                                         |   11 
 force-app/main/default/lwc/lexCustomNewMaintenance/lexCustomNewMaintenance.js-meta.xml                                     |   11 
 force-app/main/default/classes/updateESignBatch.cls                                                                        |  247 
 force-app/main/default/lwc/lexCopyPIInspectionReport/lexCopyPIInspectionReport.html                                        |    5 
 force-app/main/default/classes/updateESignBatchAttachment.cls                                                              | 1305 +
 force-app/main/default/lwc/lexRentalApplySubmitedApprovalButton/lexRentalApplySubmitedApprovalButton.html                  |    5 
 force-app/main/default/lwc/lexArriveGoodsMain/lexArriveGoodsMain.js-meta.xml                                               |    9 
 force-app/main/default/lwc/lexSearchProductCs/lexSearchProductCs.js-meta.xml                                               |   11 
 force-app/main/default/lwc/customShippingUnitPriceComp/customShippingUnitPriceComp.js                                      |    8 
 force-app/main/default/lwc/apexUtils/apexUtils.js-meta.xml                                                                 |    5 
 force-app/main/default/lwc/ldsUtils/ldsUtils.js                                                                            |   35 
 force-app/main/default/lwc/lexBeforeOPDPDFBtnSIS/lexBeforeOPDPDFBtnSIS.html                                                |   14 
 force-app/main/default/lwc/lexSIStoOPD/lexSIStoOPD.js                                                                      |  101 
 force-app/main/default/lwc/recentProjectsLWC/recentProjectsLWC.js-meta.xml                                                 |   14 
 force-app/main/default/lwc/pageMessagesDataRetrieval/pageMessagesDataRetrieval.html                                        |    8 
 force-app/main/default/lwc/lexQuarterlyReport/lexQuarterlyReport.js-meta.xml                                               |   11 
 force-app/main/default/lwc/lexSaleAndDelivery/lexSaleAndDelivery.html                                                      |  187 
 force-app/main/default/lwc/lexSubmitForApproval/lexSubmitForApproval.js-meta.xml                                           |   11 
 force-app/main/default/lwc/lexBatchSelectRepairLWC/lexBatchSelectRepairLWC.js                                              |  576 
 force-app/main/default/lwc/lexSaleAndDelivery/templates/boxorpieceType.html                                                |    4 
 force-app/main/default/lwc/lexRentalApplyCanleButton/lexRentalApplyCanleButton.html                                        |    4 
 force-app/main/default/lwc/listRecordLinksWrapper/listRecordLinksWrapper.js-meta.xml                                       |    8 
 force-app/main/default/lwc/topPageLwc/topPageLwc.js                                                                        |  138 
 force-app/main/default/lwc/inventoryViewLWC/inventoryViewLWC.html                                                          |  117 
 force-app/main/default/lwc/lexCreateReportMaintenanceContract/lexCreateReportMaintenanceContract.html                      |    5 
 force-app/main/default/lwc/lexDetailBulkUpdate/lexDetailBulkUpdate.js                                                      |   39 
 force-app/main/default/lwc/paginatedList/paginatedList.js                                                                  |    2 
 force-app/main/default/lwc/lexRCinspectioncompletedate/lexRCinspectioncompletedate.html                                    |    5 
 force-app/main/default/lwc/lexRemoveBox/lexRemoveBox.js                                                                    |  221 
 force-app/main/default/lwc/lexContractdetailpdf/lexContractdetailpdf.html                                                  |  350 
 force-app/main/default/lwc/lexLoanerArrangedEmail/lexLoanerArrangedEmail.html                                              |    5 
 force-app/main/default/lwc/lexSubmit/lexSubmit.js-meta.xml                                                                 |   11 
 force-app/main/default/lwc/listRecordLinksWrapper/listRecordLinksWrapper.html                                              |   17 
 force-app/main/default/lwc/lexEquipmentRentalPicturePDF/lexEquipmentRentalPicturePDF.js                                    |   41 
 force-app/main/default/lwc/lexCopyRepair/lexCopyRepair.html                                                                |    6 
 force-app/main/default/classes/DNUpsertBatch.cls                                                                           |   14 
 force-app/main/default/lwc/editableListWrapper/editableListWrapper.js-meta.xml                                             |    8 
 force-app/main/default/lwc/lexSearchProduct/lexSearchProduct.js-meta.xml                                                   |   11 
 force-app/main/default/lwc/oppLoseButton/oppLoseButton.js-meta.xml                                                         |   11 
 force-app/main/default/lwc/cancelApplyLWC/cancelApplyLWC.html                                                              |    4 
 force-app/main/default/lwc/singleRecords/singleRecords.js-meta.xml                                                         |    8 
 force-app/main/default/lwc/lexQuotationRequest/lexQuotationRequest.js                                                      |   73 
 force-app/main/default/lwc/lexServiceCutPriceApply/lexServiceCutPriceApply.js-meta.xml                                     |   11 
 force-app/main/default/lwc/batchSelectRepairLWC/batchSelectRepairLWC.css                                                   |    9 
 force-app/main/default/lwc/lexASACEditor/lexASACEditor.html                                                                |    5 
 force-app/main/default/lwc/navigateToRecord/navigateToRecord.html                                                          |    3 
 force-app/main/default/lwc/lexASRCEditor/lexASRCEditor.js                                                                  |   74 
 force-app/main/default/lwc/lexConInvoiceView/lexConInvoiceView.css                                                         |   29 
 force-app/main/default/lwc/lexLoseBid/lexLoseBid.css                                                                       |   18 
 force-app/main/default/lwc/lexTenderingAntiLogicButton/lexTenderingAntiLogicButton.js                                      |   65 
 force-app/main/default/lwc/opdNewSparePartsLoanApplication/opdNewSparePartsLoanApplication.js-meta.xml                     |   11 
 force-app/main/default/lwc/lexCancelSubmit/lexCancelSubmit.html                                                            |    6 
 force-app/main/default/lwc/lexEquipmentSetRental_Order/lexEquipmentSetRental_Order.css                                     |   11 
 force-app/main/default/lwc/lexOCSMToReport/lexOCSMToReport.js-meta.xml                                                     |   11 
 force-app/main/default/lwc/lexCreateNotesEmail/lexCreateNotesEmail.js-meta.xml                                             |   11 
 force-app/main/default/lwc/lexStockApply/lexStockApply.html                                                                |    6 
 force-app/main/default/lwc/cancelApplyLWC/cancelApplyLWC.js                                                                |   90 
 force-app/main/default/lwc/binding/binding.js                                                                              |    9 
 force-app/main/default/lwc/createRecordWithPrepopulatedValues/createRecordWithPrepopulatedValues.js                        |   24 
 force-app/main/default/lwc/lexUploadToSap/lexUploadToSap.html                                                              |    6 
 force-app/main/default/lwc/lexTenderingRelevancyButton/lexTenderingRelevancyButton.js-meta.xml                             |   11 
 force-app/main/default/lwc/lexInsPageBtn/lexInsPageBtn.html                                                                |    5 
 force-app/main/default/lwc/opdUpdateDate/opdUpdateDate.js-meta.xml                                                         |   11 
 force-app/main/default/lwc/lexRentalApplyDiscountApproval/lexRentalApplyDiscountApproval.js-meta.xml                       |   11 
 force-app/main/default/lwc/lexMainFixtureSelect/lexMainFixtureSelect.js-meta.xml                                           |   11 
 force-app/main/default/lwc/lexRentalApplyDiscountApproval/lexRentalApplyDiscountApproval.html                              |    6 
 force-app/main/default/lwc/lexSelectRental/lexSelectRental.html                                                            |    4 
 force-app/main/default/lwc/opdSupplementaryApplication/opdSupplementaryApplication.js-meta.xml                             |   11 
 force-app/main/default/lwc/lexAppCancelSubmit/lexAppCancelSubmit.js-meta.xml                                               |   11 
 force-app/main/default/lwc/lexPreContractSubmit/lexPreContractSubmit.js-meta.xml                                           |   11 
 force-app/main/default/lwc/beforeRenderHook/beforeRenderHook.js-meta.xml                                                   |    5 
 force-app/main/default/lwc/rentalApplyLWT/rentalApplyLWT.html                                                              |    5 
 force-app/main/default/lwc/lexAddress/lexAddress.js                                                                        |   80 
 force-app/main/default/lwc/lexOCSMNogoods/lexOCSMNogoods.js-meta.xml                                                       |   11 
 force-app/main/default/lwc/editRecordWrapper/editRecordWrapper.js-meta.xml                                                 |    8 
 force-app/main/default/lwc/editableList/editableList.css                                                                   |    3 
 force-app/main/default/lwc/lexRentalApplyJump/lexRentalApplyJump.js                                                        |  112 
 force-app/main/default/lwc/lexSendQIS/lexSendQIS.css                                                                       |   22 
 force-app/main/default/lwc/lexQISAgree/lexQISAgree.js-meta.xml                                                             |   11 
 force-app/main/default/lwc/lexOCSMNogoods/lexOCSMNogoods.js                                                                |  101 
 force-app/main/default/lwc/lexTenderingNotarizeButton/lexTenderingNotarizeButton.js-meta.xml                               |   11 
 force-app/main/default/lwc/lexQuotationRequest/lexQuotationRequest.js-meta.xml                                             |   11 
 force-app/main/default/lwc/lexSearchProductCs/lexSearchProductCs.css                                                       |    6 
 force-app/main/default/lwc/lexSubmitExtensionApprovalProcess/lexSubmitExtensionApprovalProcess.js-meta.xml                 |   11 
 force-app/main/default/lwc/lexCustomClone/lexCustomClone.css                                                               |   10 
 force-app/main/default/lwc/lexAgencyAuthorize/lexAgencyAuthorize.html                                                      |    6 
 force-app/main/default/lwc/lexTopInQueue/lexTopInQueue.css                                                                 |   22 
 force-app/main/default/lwc/rentalApplyLWT/rentalApplyLWT.css                                                               |   11 
 force-app/main/default/lwc/lexStockApply/lexStockApply.js                                                                  |  114 
 force-app/main/default/lwc/opdSupplementaryApplication/opdSupplementaryApplication.css                                     |   10 
 force-app/main/default/lwc/topPageLwc/topPageLwc.js-meta.xml                                                               |    9 
 force-app/main/default/lwc/toolbar/toolbar.js-meta.xml                                                                     |    5 
 force-app/main/default/lwc/lexFinLibrary3/lexFinLibrary3.html                                                              |    4 
 force-app/main/default/lwc/lexESignAcceptanceHospital/lexESignAcceptanceHospital.js-meta.xml                               |   11 
 force-app/main/default/lwc/lwcDatatableUtility/lwcDatatableUtility.css                                                     |    1 
 force-app/main/default/lwc/selectSubstituteLWC/selectSubstituteLWC.css                                                     |   11 
 force-app/main/default/lwc/toolbar/toolbar.js                                                                              |   19 
 force-app/main/default/lwc/lexReturnDeliverySlip/lexReturnDeliverySlip.css                                                 |   22 
 force-app/main/default/lwc/lexCustomLightningDatatable/customShippingUnitPrice.html                                        |    4 
 force-app/main/default/lwc/lexBeforeOPDPDFBtnSIS/lexBeforeOPDPDFBtnSIS.js                                                  |   97 
 force-app/main/default/lwc/lexLostReturnDeliverySlip/lexLostReturnDeliverySlip.html                                        |    5 
 force-app/main/default/lwc/lexPreContractSubmit/lexPreContractSubmit.html                                                  |    6 
 force-app/main/default/lwc/lexFinLibrary3/lexFinLibrary3.js                                                                |   58 
 force-app/main/default/lwc/lexAgencyAuthorize/lexAgencyAuthorize.js-meta.xml                                               |   11 
 force-app/main/default/lwc/opdCancelSubmit/opdCancelSubmit.js-meta.xml                                                     |   11 
 force-app/main/default/lwc/lexVOCConfirm/lexVOCConfirm.js                                                                  |  105 
 force-app/main/default/lwc/lexSelectAssetsMaintenance/lexSelectAssetsMaintenance.js                                        |   53 
 force-app/main/default/lwc/beforeRenderHookWrapper/beforeRenderHookWrapper.js-meta.xml                                     |    8 
 force-app/main/default/lwc/lexTenderingLogicButton/lexTenderingLogicButton.js-meta.xml                                     |   11 
 force-app/main/default/lwc/lexBidAnnouncementRejectButton/lexBidAnnouncementRejectButton.html                              |    5 
 force-app/main/default/lwc/customDelete/customDelete.html                                                                  |    2 
 force-app/main/default/lwc/lexCustomDiffReasonComp/lexCustomDiffReasonComp.html                                            |    9 
 force-app/main/default/lwc/listWithParentRecordDataWrapper/listWithParentRecordDataWrapper.html                            |   19 
 force-app/main/default/lwc/lexOSHInspect/lexOSHInspect.js-meta.xml                                                         |   11 
 force-app/main/default/lwc/rentalApplyLWT/rentalApplyLWT.js-meta.xml                                                       |   11 
 force-app/main/default/lwc/lexCopyPIOnCall/lexCopyPIOnCall.html                                                            |    5 
 force-app/main/default/lwc/lexFinLibrary2/lexFinLibrary2.html                                                              |    4 
 force-app/main/default/lwc/lexRCinspectioncompletedate/lexRCinspectioncompletedate.js-meta.xml                             |   11 
 force-app/main/default/lwc/loanerArrangedEmailLWC/loanerArrangedEmailLWC.css                                               |   11 
 force-app/main/default/lwc/loanerArrangedEmailLWC/loanerArrangedEmailLWC.html                                              |    5 
 force-app/main/default/lwc/lexLookup/LexLookup.css                                                                         |   30 
 force-app/main/default/lwc/customShipmentNumberComp/customShipmentNumberComp.html                                          |   14 
 force-app/main/default/lwc/lexAddSubmitApprovalProcess/lexAddSubmitApprovalProcess.html                                    |    5 
 force-app/main/default/lwc/opdCancelSubmit/opdCancelSubmit.js                                                              |   99 
 force-app/main/default/lwc/lexASACEditorRepair/lexASACEditorRepair.js-meta.xml                                             |   11 
 force-app/main/default/lwc/lexFinLibrary2/lexFinLibrary2.js-meta.xml                                                       |   11 
 force-app/main/default/lwc/lexOCSMNoToReportLighting/lexOCSMNoToReportLighting.html                                        |    5 
 force-app/main/default/lwc/demoLWC/demoLWC.js-meta.xml                                                                     |    5 
 force-app/main/default/lwc/lexConInvoiceView/lexConInvoiceView.js-meta.xml                                                 |    9 
 force-app/main/default/lwc/lexTenderingUsedAttachmentButton/lexTenderingUsedAttachmentButton.html                          |    5 
 force-app/main/default/lwc/lexSIStoOPD/lexSIStoOPD.css                                                                     |   10 
 force-app/main/default/lwc/lexQISAgree/lexQISAgree.css                                                                     |   22 
 force-app/main/default/lwc/pageMessagesDataRetrievalWrapper/pageMessagesDataRetrievalWrapper.js                            |    3 
 force-app/main/default/lwc/lexLostReturnDeliverySlip/lexLostReturnDeliverySlip.js                                          |   39 
 force-app/main/default/lwc/lexSubmitApprovalProcess/lexSubmitApprovalProcess.js-meta.xml                                   |   11 
 force-app/main/default/lwc/lexCancelRemoveBox/lexCancelRemoveBox.js-meta.xml                                               |    9 
 force-app/main/default/lwc/ll/ll.js                                                                                        |    5 
 force-app/main/default/lwc/lexSINewQuoteEntry/lexSINewQuoteEntry.html                                                      |    1 
 force-app/main/default/lwc/panelGridWrapper/panelGridWrapper.js                                                            |    3 
 force-app/main/default/lwc/parentComponentTest/parentComponentTest.js                                                      |    2 
 force-app/main/default/lwc/lexASRCEditor/lexASRCEditor.js-meta.xml                                                         |   11 
 force-app/main/default/lwc/pageMessagesDataRetrieval/__mocks__/pageMessagesDataRetrieval.js                                |    3 
 force-app/main/default/lwc/singleRecords/singleRecords.js                                                                  |   18 
 force-app/main/default/lwc/lexCancelSelect/lexCancelSelect.js-meta.xml                                                     |   11 
 force-app/main/default/lwc/lexRCSubmit/lexRCSubmit.js-meta.xml                                                             |   11 
 force-app/main/default/lwc/listRecordLinks/listRecordLinks.css                                                             |    3 
 force-app/main/default/lwc/lexCreateEvent/lexCreateEvent.html                                                              |    6 
 force-app/main/default/lwc/exampleWrapper/exampleWrapper.html                                                              |   36 
 force-app/main/default/lwc/lexCopyRepair/lexCopyRepair.js-meta.xml                                                         |   11 
 manifest/packageForSign.xml                                                                                                |   10 
 force-app/main/default/lwc/lexDispatchOCSMQARA/lexDispatchOCSMQARA.css                                                     |   10 
 force-app/main/default/lwc/lexCancelSubmitReport/lexCancelSubmitReport.css                                                 |   10 
 force-app/main/default/lwc/lexSubmitExtensionApprovalProcess/lexSubmitExtensionApprovalProcess.js                          |   76 
 force-app/main/default/lwc/exampleWrapper/__mocks__/exampleWrapperTemplate.html                                            |    3 
 force-app/main/default/lwc/lexVOCFinish/lexVOCFinish.js-meta.xml                                                           |   11 
 force-app/main/default/lwc/lexReturnDeliverySlip/lexReturnDeliverySlip.js                                                  |   53 
 force-app/main/default/lwc/lexSubmit/lexSubmit.js                                                                          |   68 
 force-app/main/default/lwc/lexQISIntakeuniversalcode/lexQISIntakeuniversalcode.js                                          |   64 
 force-app/main/default/lwc/createMixedRecordsWireFunctions/createMixedRecordsWireFunctions.js-meta.xml                     |    5 
 force-app/main/default/lwc/opdSupplementaryApplication/opdSupplementaryApplication.js                                      |  110 
 force-app/main/default/lwc/lexConInvoiceView/lexConInvoiceView.js                                                          |  970 +
 force-app/main/default/lwc/lWtTEST/lWtTEST.js                                                                              |    5 
 force-app/main/default/lwc/errorPanel/errorPanel.js-meta.xml                                                               |    5 
 force-app/main/default/lwc/lexASRCEditorRepair/lexASRCEditorRepair.html                                                    |    5 
 force-app/main/default/lwc/lexinventoryViewLWC/lexinventoryViewLWC.html                                                    |  159 
 force-app/main/default/lwc/lexCustomNewCopy2/lexCustomNewCopy2.html                                                        |    6 
 force-app/main/default/lwc/listInfiniteScrolling/listInfiniteScrolling.js                                                  |   54 
 force-app/main/default/lwc/lexASACEditor/lexASACEditor.js-meta.xml                                                         |   11 
 force-app/main/default/lwc/lexOSHSubmit/lexOSHSubmit.html                                                                  |    5 
 force-app/main/default/lwc/lexNewTransferApply/lexNewTransferApply.html                                                    |    5 
 force-app/main/default/lwc/lexCreateReportMaintenanceContract/lexCreateReportMaintenanceContract.js                        |   69 
 force-app/main/default/lwc/lexSaleAndDelivery/lexSaleAndDelivery.js-meta.xml                                               |    9 
 force-app/main/default/lwc/lexOCSMToReportLighting/lexOCSMToReportLighting.css                                             |   10 
 force-app/main/default/lwc/lexSplitApply/lexSplitApply.js-meta.xml                                                         |   11 
 force-app/main/default/lwc/lexRCRecieved/lexRCRecieved.js-meta.xml                                                         |   11 
 force-app/main/default/lwc/listRecordLinksWrapper/listRecordLinksWrapper.js                                                |    3 
 force-app/main/default/lwc/qisUniversalFailureCode/qisUniversalFailureCode.css                                             |   10 
 force-app/main/default/lwc/lexContractdetailpdf/lexContractdetailpdf.css                                                   |   88 
 force-app/main/default/lwc/lexSICopyDemand/lexSICopyDemand.js                                                              |   67 
 force-app/main/default/lwc/viewRecordWithParentRecordData/viewRecordWithParentRecordData.js                                |   28 
 force-app/main/default/lwc/lexVOCSubmit/lexVOCSubmit.js-meta.xml                                                           |   11 
 force-app/main/default/lwc/inventoryEditingLWC/inventoryEditingLWC.js-meta.xml                                             |    9 
 force-app/main/default/lwc/lexRCCDScomplete/lexRCCDScomplete.css                                                           |   22 
 force-app/main/default/lwc/lexFinLibrary/lexFinLibrary.css                                                                 |   11 
 force-app/main/default/lwc/lexAppCancelSubmit/lexAppCancelSubmit.html                                                      |    5 
 force-app/main/default/lwc/lexInputSolution/lexInputSolution.css                                                           |   10 
 force-app/main/default/lwc/lexReturnDeliverySlip/lexReturnDeliverySlip.html                                                |    5 
 force-app/main/default/lwc/lexCreateNotesEmail/lexCreateNotesEmail.html                                                    |    5 
 force-app/main/default/lwc/lexSendQIS/lexSendQIS.js-meta.xml                                                               |   11 
 force-app/main/default/lwc/oshRecieved/oshRecieved.js-meta.xml                                                             |   11 
 force-app/main/default/lwc/listWithParentRecordData/listWithParentRecordData.css                                           |    3 
 force-app/main/default/lwc/ll/ll.html                                                                                      |    3 
 force-app/main/default/lwc/lexOPDtoSIS/lexOPDtoSIS.html                                                                    |    6 
 force-app/main/default/lwc/lexYanshoudanRequest/lexYanshoudanRequest.js-meta.xml                                           |   11 
 force-app/main/default/lwc/lexRentalApplyESetRefreshStatus/lexRentalApplyESetRefreshStatus.css                             |   11 
 force-app/main/default/lwc/pageBlocks/pageBlocks.html                                                                      |   47 
 force-app/main/default/lwc/tabsWrapper/tabsWrapper.html                                                                    |   18 
 force-app/main/default/lwc/errorPanel/templates/inlineMessage.html                                                         |   19 
 force-app/main/default/lwc/lexAddSubmitApprovalProcess/lexAddSubmitApprovalProcess.js-meta.xml                             |   11 
 force-app/main/default/lwc/lexSISubmit/lexSISubmit.js                                                                      |   97 
 force-app/main/default/lwc/pageMessagesDataRetrieval/pageMessagesDataRetrieval.js-meta.xml                                 |    5 
 force-app/main/default/lwc/lexRentalApplySubmitedApprovalButton/lexRentalApplySubmitedApprovalButton.js                    |  758 +
 force-app/main/default/lwc/newOrderLWC/newOrderLWC.html                                                                    |    3 
 force-app/main/default/lwc/panelGridWrapper/panelGridWrapper.js-meta.xml                                                   |    8 
 force-app/main/default/lwc/batchSelectRepairLWC/batchSelectRepairLWC.js-meta.xml                                           |   11 
 force-app/main/default/lwc/lexPreContractSubmit/lexPreContractSubmit.js                                                    |  116 
 force-app/main/default/lwc/toolbar/toolbar.html                                                                            |   31 
 force-app/main/default/lwc/lexRentalApplyJump/lexRentalApplyJump.js-meta.xml                                               |   11 
 force-app/main/default/lwc/lexVOCAnswer/lexVOCAnswer.html                                                                  |    7 
 force-app/main/default/lwc/lexCustomDeleteLWC/lexCustomDeleteLWC.html                                                      |    2 
 force-app/main/default/lwc/lexRentalApplyCanleButton/lexRentalApplyCanleButton.js                                          |  110 
 force-app/main/default/lwc/listInfiniteScrolling/listInfiniteScrolling.css                                                 |    3 
 force-app/main/default/lwc/lexSendNFM103/lexSendNFM103.js-meta.xml                                                         |   11 
 force-app/main/default/lwc/lexOCSMToReportRepair/lexOCSMToReportRepair.js-meta.xml                                         |   11 
 force-app/main/default/lwc/test/test.js-meta.xml                                                                           |    5 
 force-app/main/default/lwc/lexcopyQIS/lexcopyQIS.js-meta.xml                                                               |   11 
 force-app/main/default/lwc/lexRCRecieved/lexRCRecieved.css                                                                 |   22 
 force-app/main/default/lwc/pageMessagesToast/pageMessagesToast.js-meta.xml                                                 |    5 
 force-app/main/default/lwc/lexCustomDelete/lexCustomDelete.js                                                              |   89 
 force-app/main/default/classes/updateESignBatchAttachment.cls-meta.xml                                                     |    5 
 force-app/main/default/lwc/lexPaymentPlanLoad/lexPaymentPlanLoad.html                                                      |  276 
 force-app/main/default/lwc/lexCustomNewMaintenance/lexCustomNewMaintenance.js                                              |   79 
 force-app/main/default/lwc/createMixedRecordsWireFunctionsWrapper/createMixedRecordsWireFunctionsWrapper.js                |    3 
 force-app/main/default/lwc/otherButtonInASACEditor/otherButtonInASACEditor.js-meta.xml                                     |   11 
 force-app/main/default/lwc/parentComponentTest/parentComponentTest.html                                                    |    2 
 force-app/main/default/lwc/lexTerminalMaintenance/lexTerminalMaintenance.html                                              |    6 
 force-app/main/default/lwc/lexSearchProduct/lexSearchProduct.html                                                          |   76 
 force-app/main/default/lwc/viewVfLwcSource/viewVfLwcSource.css                                                             |    3 
 force-app/main/default/lwc/lexTransferApplyPDF/lexTransferApplyPDF.js                                                      |   92 
 force-app/main/default/lwc/lexCancelSelect/lexCancelSelect.html                                                            |    5 
 force-app/main/default/lwc/createRecordWithPrepopulatedValuesWrapper/createRecordWithPrepopulatedValuesWrapper.js-meta.xml |    8 
 force-app/main/default/lwc/lexTenderingIntentionButton/lexTenderingIntentionButton.html                                    |    5 
 force-app/main/default/lwc/lexTenderingLogicButton/lexTenderingLogicButton.html                                            |    5 
 force-app/main/default/lwc/lexTransferApplyPDF/lexTransferApplyPDF.html                                                    |    5 
 force-app/main/default/lwc/lexOCSMNoToReport/lexOCSMNoToReport.js-meta.xml                                                 |   11 
 force-app/main/default/lwc/lexComplete/lexComplete.js                                                                      |   96 
 force-app/main/default/lwc/lexCustomDeleteLWC/lexCustomDeleteLWC.js                                                        |  144 
 force-app/main/default/lwc/oppLoseButton/oppLoseButton.js                                                                  |   86 
 force-app/main/default/lwc/lexCancelRemoveBox/lexCancelRemoveBox.js                                                        |   83 
 force-app/main/default/lwc/lexBidAnnouncementRejectButton/lexBidAnnouncementRejectButton.js                                |   93 
 force-app/main/default/lwc/paginatedListWrapper/paginatedListWrapper.html                                                  |   18 
 force-app/main/default/lwc/lexAllReceivedFse/lexAllReceivedFse.css                                                         |   22 
 force-app/main/default/lwc/lexNewRepairLWC/lexNewRepairLWC.js-meta.xml                                                     |   11 
 force-app/main/default/lwc/errorPanel/errorPanel.js                                                                        |   28 
 force-app/main/default/lwc/lexOLYwinBid/lexOLYwinBid.js-meta.xml                                                           |   11 
 force-app/main/default/lwc/lexLookup/lexLookup.html                                                                        |  139 
 force-app/main/default/lwc/listWithParentRecordData/listWithParentRecordData.js                                            |   38 
 force-app/main/default/lwc/lexLoanerArrangedEmail/lexLoanerArrangedEmail.js-meta.xml                                       |   11 
 force-app/main/default/lwc/lexNewTransferApply/lexNewTransferApply.js-meta.xml                                             |   11 
 force-app/main/default/lwc/pageBlocks/pageBlocks.js-meta.xml                                                               |    5 
 force-app/main/default/lwc/lexRentalApplySubmitedApprovalButton/lexRentalApplySubmitedApprovalButton.js-meta.xml           |   11 
 force-app/main/default/lwc/lexSplitApply/lexSplitApply.html                                                                |    5 
 force-app/main/default/lwc/maintenanceContract/maintenanceContract.js                                                      |    8 
 force-app/main/default/lwc/lexRentalApplyJump/lexRentalApplyJump.html                                                      |    5 
 force-app/main/default/lwc/interoperability/interoperability.html                                                          |   11 
 force-app/main/default/lwc/createMixedRecordsApexWrapper/createMixedRecordsApexWrapper.html                                |   22 
 force-app/main/default/lwc/createMixedRecordsApex/createMixedRecordsApex.js-meta.xml                                       |    5 
 force-app/main/default/lwc/lexTenderingUsedAttachmentButton/lexTenderingUsedAttachmentButton.js                            |   54 
 force-app/main/default/lwc/lexCreateReportMaintenanceContract/lexCreateReportMaintenanceContract.js-meta.xml               |   11 
 force-app/main/default/lwc/ll/ll.js-meta.xml                                                                               |    5 
 force-app/main/default/lwc/editableList/editableList.js                                                                    |   40 
 force-app/main/default/lwc/lexQISIntakeuniversalcode/lexQISIntakeuniversalcode.html                                        |    5 
 force-app/main/default/lwc/lexPDFQISrequest/lexPDFQISrequest.css                                                           |   22 
 force-app/main/default/lwc/lexASACEditor/lexASACEditor.js                                                                  |   73 
 force-app/main/default/lwc/lexSelectRental/lexSelectRental.js-meta.xml                                                     |   11 
 force-app/main/default/lwc/lexRequestDB/lexRequestDB.js                                                                    |  107 
 force-app/main/default/lwc/lexCustomAttachmentTypeComp/lexCustomAttachmentTypeComp.js-meta.xml                             |    5 
 force-app/main/default/lwc/lexQISSC/lexQISSC.js-meta.xml                                                                   |   11 
 force-app/main/default/lwc/listInfiniteScrollingWrapper/listInfiniteScrollingWrapper.html                                  |   18 
 force-app/main/default/lwc/listWithParentRecordDataWrapper/listWithParentRecordDataWrapper.js-meta.xml                     |    8 
 force-app/main/default/lwc/lexComplete/lexComplete.css                                                                     |   10 
 force-app/main/default/lwc/lexQuotationRequest/lexQuotationRequest.css                                                     |   10 
 force-app/main/default/lwc/lexAppSubmitButton/lexAppSubmitButton.js                                                        |  108 
 force-app/main/default/lwc/lexOSHInspect/lexOSHInspect.css                                                                 |   10 
 force-app/main/default/lwc/lexOSHInspect/lexOSHInspect.html                                                                |    5 
 force-app/main/default/lwc/lexSelectSubstitute/lexSelectSubstitute.js-meta.xml                                             |   11 
 force-app/main/default/lwc/lexVOCCheck/lexVOCCheck.css                                                                     |   10 
 force-app/main/default/lwc/lexSearchProductCs/lexSearchProductCs.html                                                      |   70 
 force-app/main/default/lwc/listRecordLinks/listRecordLinks.js-meta.xml                                                     |    5 
 force-app/main/default/lwc/lexAppCancelSubmit/lexAppCancelSubmit.js                                                        |   85 
 force-app/main/default/lwc/newRepairLWC/newRepairLWC.js                                                                    |  124 
 force-app/main/default/lwc/lexUploadToRecognitionModel/lexUploadToRecognitionModel.js                                      |  133 
 force-app/main/default/lwc/lexCustomNewMCMaintenance/lexCustomNewMCMaintenance.js                                          |   81 
 force-app/main/default/lwc/lexCustomNewCopy2/lexCustomNewCopy2.js                                                          |   77 
 force-app/main/default/lwc/lexCustomNewMCMaintenance/lexCustomNewMCMaintenance.js-meta.xml                                 |   11 
 force-app/main/default/lwc/exampleWrapper/exampleWrapper.js                                                                |   28 
 force-app/main/default/lwc/lexOCSMToReport/lexOCSMToReport.js                                                              |   97 
 force-app/main/default/lwc/lexRemoveBox/lexRemoveBox.js-meta.xml                                                           |    9 
 force-app/main/default/lwc/newOrderButton/newOrderButton.js                                                                |   24 
 force-app/main/default/lwc/panelGrid/panelGrid.html                                                                        |   19 
 force-app/main/default/lwc/demoLWC/demoLWC.js                                                                              |   70 
 force-app/main/default/lwc/lexTransferApplyPDF/lexTransferApplyPDF.js-meta.xml                                             |   11 
 force-app/main/default/lwc/boxorpieceType/boxorpieceType.js                                                                |   21 
 force-app/main/default/lwc/lexUploadToSap/lexUploadToSap.js-meta.xml                                                       |   11 
 force-app/main/default/lwc/pageMessagesFormWrapper/pageMessagesFormWrapper.js                                              |    3 
 force-app/main/default/lwc/lexSelectAssetsMaintenance/lexSelectAssetsMaintenance.html                                      |    5 
 force-app/main/default/lwc/lexRCCDScomplete/lexRCCDScomplete.html                                                          |    5 
 force-app/main/default/lwc/lexESignFormAttachment/lexESignFormAttachment.html                                              |    5 
 force-app/main/default/lwc/inventoryEditingLWC/inventoryEditingLWC.js                                                      |   76 
 force-app/main/default/lwc/singleRecords/singleRecords.html                                                                |   23 
 force-app/main/default/lwc/gzwbtest/gzwbtest.js                                                                            |    3 
 force-app/main/default/lwc/lexCancelApply/lexCancelApply.js-meta.xml                                                       |   11 
 force-app/main/default/lwc/pageMessagesDataRetrievalWrapper/pageMessagesDataRetrievalWrapper.html                          |   20 
 force-app/main/default/lwc/boxorpieceType/boxorpieceType.html                                                              |   10 
 force-app/main/default/lwc/newOrderButton/newOrderButton.js-meta.xml                                                       |   14 
 force-app/main/default/lwc/lexOCSMNoToReportRepair/lexOCSMNoToReportRepair.html                                            |    6 
 force-app/main/default/lwc/lexQISIntakeuniversalcode/lexQISIntakeuniversalcode.css                                         |   22 
 force-app/main/default/lwc/lexInsPageBtn/lexInsPageBtn.js                                                                  |   62 
 force-app/main/default/lwc/lexSendNFM103/lexSendNFM103.html                                                                |    6 
 force-app/main/default/lwc/lexTenderingNoStandardButton/lexTenderingNoStandardButton.js                                    |   72 
 force-app/main/default/lwc/oshRecieved/oshRecieved.html                                                                    |    5 
 force-app/main/default/lwc/beforeRenderHookWrapper/beforeRenderHookWrapper.js                                              |    3 
 force-app/main/default/lwc/lexCopyPIOnCall/lexCopyPIOnCall.js-meta.xml                                                     |   11 
 force-app/main/default/lwc/lexOCSMNoToReportForReport/lexOCSMNoToReportForReport.html                                      |    6 
 force-app/main/default/lwc/otherButtonInCancelSubmit/otherButtonInCancelSubmit.html                                        |    7 
 force-app/main/default/lwc/lexRentalApplyJump/lexRentalApplyJump.css                                                       |   11 
 force-app/main/default/lwc/editableListWrapper/editableListWrapper.html                                                    |   18 
 force-app/main/default/lwc/interoperability/interoperability.js-meta.xml                                                   |    5 
 force-app/main/default/lwc/lexCustomAnewMaintenance/lexCustomAnewMaintenance.js-meta.xml                                   |   11 
 force-app/main/default/lwc/pageBlocksWrapper/pageBlocksWrapper.js                                                          |    3 
 force-app/main/default/lwc/toolbar/toolbar.css                                                                             |    3 
 force-app/main/default/lwc/tabsWrapper/tabsWrapper.js                                                                      |    3 
 force-app/main/default/lwc/lexDeleteQuotePage/lexDeleteQuotePage.js-meta.xml                                               |   11 
 force-app/main/default/lwc/lexOCSMNoToReportForReport/lexOCSMNoToReportForReport.js-meta.xml                               |   11 
 force-app/main/default/lwc/opdUpdateDate/opdUpdateDate.js                                                                  |  134 
 force-app/main/default/lwc/lexCancelReport/lexCancelReport.js-meta.xml                                                     |   11 
 force-app/main/default/lwc/lexBidAnnouncementConsentButton/lexBidAnnouncementConsentButton.html                            |    5 
 force-app/main/default/lwc/lexAppSubmitButton/lexAppSubmitButton.html                                                      |    5 
 force-app/main/default/lwc/lexCustomClone/lexCustomClone.js-meta.xml                                                       |   11 
 force-app/main/default/lwc/pageMessagesDataRetrievalWrapper/pageMessagesDataRetrievalWrapper.js-meta.xml                   |    8 
 force-app/main/default/lwc/opdNewSparePartsLoanApplication/opdNewSparePartsLoanApplication.html                            |    5 
 force-app/main/default/lwc/lexRCinspectioncompletedate/lexRCinspectioncompletedate.js                                      |   98 
 force-app/main/default/lwc/splitApplyLWC/splitApplyLWC.js-meta.xml                                                         |   11 
 force-app/main/default/lwc/lexOverdueStock/lexOverdueStock.html                                                            |  109 
 force-app/main/default/lwc/lexCreateNotesEmail/lexCreateNotesEmail.css                                                     |   10 
 force-app/main/default/lwc/tenderLost/tenderLost.js                                                                        |    6 
 force-app/main/default/lwc/newOrderList/newOrderList.js                                                                    |   65 
 force-app/main/default/lwc/afterRenderHook/afterRenderHook.js-meta.xml                                                     |    5 
 force-app/main/default/lwc/lexOverdueStock/lexOverdueStock.js                                                              |  265 
 force-app/main/default/lwc/loanerArrangedEmailLWC/loanerArrangedEmailLWC.js                                                |  258 
 force-app/main/default/lwc/lexFinLibrary2/lexFinLibrary2.js                                                                |   62 
 force-app/main/default/lwc/lexXinSearchVisitorPlace/lexXinSearchVisitorPlace.js                                            |   38 
 force-app/main/default/lwc/lexCreateEvent/lexCreateEvent.js-meta.xml                                                       |   11 
 force-app/main/default/lwc/lexOSHSubmit/lexOSHSubmit.js                                                                    |  140 
 force-app/main/default/lwc/lexTenderingCopyButton/lexTenderingCopyButton.js                                                |   64 
 force-app/main/default/lwc/lexVOCAnswer/lexVOCAnswer.js                                                                    |   90 
 force-app/main/default/lwc/lexYanshoudanRequest/lexYanshoudanRequest.js                                                    |   79 
 force-app/main/default/lwc/datatableWithCustomTypes/datatableWithCustomTypes.html                                          |    1 
 force-app/main/default/lwc/lexMainFixtureSelect/lexMainFixtureSelect.js                                                    |   33 
 force-app/main/default/lwc/lexSendQIS/lexSendQIS.js                                                                        |  121 
 force-app/main/default/lwc/otherButtonInCancelSubmit/otherButtonInCancelSubmit.js-meta.xml                                 |   11 
 force-app/main/default/lwc/lexPaymentPlanLoad/lexPaymentPlanLoad.js-meta.xml                                               |   11 
 force-app/main/default/lwc/customDelete/customDelete.js-meta.xml                                                           |    5 
 force-app/main/default/lwc/lexTenderingNoStandardButton/lexTenderingNoStandardButton.html                                  |    5 
 force-app/main/default/lwc/lexSubmitApprovalProcess/lexSubmitApprovalProcess.html                                          |    5 
 force-app/main/default/lwc/lexPDFMaintenanceCommission/lexPDFMaintenanceCommission.js                                      |   54 
 force-app/main/default/lwc/demoWrapper/demoWrapper.html                                                                    |   16 
 force-app/main/default/lwc/customLightningDatatable/customLightningDatatable.js                                            |   11 
 force-app/main/default/lwc/lexTenderingCopyButton/lexTenderingCopyButton.js-meta.xml                                       |   11 
 force-app/main/default/lwc/lexRCRecieved/lexRCRecieved.html                                                                |    5 
 force-app/main/default/lwc/inventoryViewLWC/inventoryViewLWC.js-meta.xml                                                   |    9 
 force-app/main/default/lwc/lexAgencyAuthorize/lexAgencyAuthorize.css                                                       |   10 
 force-app/main/default/lwc/tabs/tabs.js                                                                                    |    3 
 force-app/main/default/lwc/viewRecordWithParentRecordData/viewRecordWithParentRecordData.html                              |   30 
 force-app/main/default/lwc/panelBarWrapper/panelBarWrapper.html                                                            |   18 
 force-app/main/default/lwc/lexOCSMNoToReport/lexOCSMNoToReport.js                                                          |   82 
 force-app/main/default/lwc/lexLoseReport/lexLoseReport.js                                                                  |  102 
 force-app/main/default/lwc/listWithParentRecordData/__mocks__/listWithParentRecordData.js                                  |    3 
 force-app/main/default/lwc/createMixedRecordsWireFunctionsWrapper/createMixedRecordsWireFunctionsWrapper.js-meta.xml       |    8 
 force-app/main/default/lwc/lexCancelSubmit/lexCancelSubmit.js-meta.xml                                                     |   11 
 force-app/main/default/lwc/lexContractdetailpdf/lexContractdetailpdf.js-meta.xml                                           |   11 
 force-app/main/default/lwc/lexRCSubmit/lexRCSubmit.js                                                                      |  160 
 force-app/main/default/lwc/lexSendNFM103/lexSendNFM103.js                                                                  |  570 
 force-app/main/default/lwc/lexASACEditorRepair/lexASACEditorRepair.html                                                    |    5 
 force-app/main/default/lwc/lexXinSearchVisitorPlace/lexXinSearchVisitorPlace.html                                          |   17 
 force-app/main/default/lwc/viewRecord/viewRecord.js                                                                        |   18 
 force-app/main/default/lwc/pageMessagesForm/pageMessagesForm.html                                                          |   33 
 force-app/main/default/lwc/lexQISSC/lexQISSC.js                                                                            |   96 
 force-app/main/default/lwc/newOrderLWC/newOrderLWC.js-meta.xml                                                             |   15 
 force-app/main/default/lwc/lexPredictedDateChange/lexPredictedDateChange.css                                               |   10 
 force-app/main/default/lwc/quoteTrial/quoteTrial.js                                                                        |  211 
 force-app/main/default/lwc/listInfiniteScrollingWrapper/listInfiniteScrollingWrapper.js-meta.xml                           |    8 
 force-app/main/default/lwc/editRecord/editRecord.js-meta.xml                                                               |    5 
 force-app/main/default/lwc/lexCancelApply/lexCancelApply.html                                                              |    4 
 force-app/main/default/lwc/lexNewTransferApply/lexNewTransferApply.js                                                      |  126 
 force-app/main/default/lwc/lexVOCCheck/lexVOCCheck.js                                                                      |  108 
 force-app/main/default/lwc/lexSubmitExtensionApprovalProcess/lexSubmitExtensionApprovalProcess.html                        |    5 
 force-app/main/default/lwc/interoperability/interoperability.css                                                           |   12 
 force-app/main/default/lwc/lexTenderingEnquiryButton/lexTenderingEnquiryButton.js-meta.xml                                 |   11 
 force-app/main/default/lwc/lexVOCConfirm/lexVOCConfirm.css                                                                 |   10 
 force-app/main/default/lwc/lexCancelReport/lexCancelReport.js                                                              |  116 
 force-app/main/default/lwc/viewRecordWithParentRecordData/viewRecordWithParentRecordData.js-meta.xml                       |    5 
 force-app/main/default/lwc/lexInputSolution/lexInputSolution.js-meta.xml                                                   |   11 
 force-app/main/default/lwc/lexSISearchSetProduct/lexSISearchSetProduct.js                                                  |  164 
 force-app/main/default/lwc/lexConsumable/lexConsumable.css                                                                 |    6 
 force-app/main/default/lwc/lexVOCConfirm/lexVOCConfirm.js-meta.xml                                                         |   11 
 force-app/main/default/lwc/lexSummonsCreat/lexSummonsCreat.js                                                              | 2028 ++
 force-app/main/default/lwc/errorPopover/errorPopover.js-meta.xml                                                           |    5 
 force-app/main/default/lwc/lexCustomDelete/lexCustomDelete.js-meta.xml                                                     |   11 
 force-app/main/default/lwc/lexSubmit/lexSubmit.html                                                                        |    7 
 force-app/main/default/lwc/qisUniversalFailureCode/qisUniversalFailureCode.js-meta.xml                                     |   11 
 force-app/main/default/lwc/editRecordWrapper/editRecordWrapper.js                                                          |    5 
 force-app/main/default/lwc/lexOCSMToReportLighting/lexOCSMToReportLighting.js                                              |   89 
 force-app/main/default/lwc/panelGrid/panelGrid.js-meta.xml                                                                 |    5 
 force-app/main/default/lwc/lexLoseReport/lexLoseReport.css                                                                 |   10 
 force-app/main/default/lwc/lexInventoryCount/lexInventoryCount.html                                                        |   72 
 force-app/main/default/lwc/createRecordWithPrepopulatedValues/createRecordWithPrepopulatedValues.js-meta.xml               |    5 
 force-app/main/default/lwc/lexQISSC/lexQISSC.css                                                                           |   22 
 force-app/main/default/lwc/lexSISearchSetProduct/lexSISearchSetProduct.html                                                |  110 
 force-app/main/default/lwc/lexASACEditor/lexASACEditor.css                                                                 |   10 
 force-app/main/default/lwc/tabsWrapper/tabsWrapper.js-meta.xml                                                             |    8 
 force-app/main/default/lwc/lexSubmitCompetitorReport/lexSubmitCompetitorReport.js-meta.xml                                 |   11 
 force-app/main/default/lwc/customUnitComp/customUnitComp.js                                                                |    7 
 force-app/main/default/lwc/newRepairLWC/newRepairLWC.html                                                                  |  106 
 force-app/main/default/lwc/opdNewSparePartsLoanApplication/opdNewSparePartsLoanApplication.css                             |   10 
 force-app/main/default/lwc/afterRenderHook/afterRenderHook.js                                                              |   13 
 force-app/main/default/lwc/editRecordWrapper/editRecordWrapper.html                                                        |   26 
 force-app/main/default/lwc/lexCancelSelect/lexCancelSelect.css                                                             |   11 
 force-app/main/default/lwc/lexQISAgree/lexQISAgree.html                                                                    |    5 
 force-app/main/default/lwc/opdCancelSubmit/opdCancelSubmit.html                                                            |    5 
 force-app/main/default/lwc/lexLoanerArrangedEmail/lexLoanerArrangedEmail.js                                                |  102 
 force-app/main/default/lwc/lexOutboundorderImport/lexOutboundorderImport.js                                                |  233 
 force-app/main/default/lwc/otherButtonInOpportunity/otherButtonInOpportunity.js                                            |  218 
 force-app/main/default/lwc/paginator/paginator.css                                                                         |    1 
 force-app/main/default/lwc/lexReturnDeliverySlip/lexReturnDeliverySlip.js-meta.xml                                         |   11 
 force-app/main/default/lwc/datatableWithCustomTypes/datatableWithCustomTypes.js-meta.xml                                   |    5 
 force-app/main/default/lwc/lexBeforeOPDPDFBtnSIS/lexBeforeOPDPDFBtnSIS.css                                                 |   10 
 force-app/main/default/lwc/lexSearchProduct/lexSearchProduct.js                                                            |  500 
 force-app/main/default/lwc/lexBatchSelectRepairLWC/lexBatchSelectRepairLWC.html                                            |  107 
 force-app/main/default/lwc/lexClearReturnDeliverySlip/lexClearReturnDeliverySlip.js-meta.xml                               |   11 
 force-app/main/default/lwc/lexOCSMToReportRepair/lexOCSMToReportRepair.html                                                |    6 
 force-app/main/default/lwc/lexCustomLightningDatatable/customAttachmentType.html                                           |   10 
 force-app/main/default/lwc/recentProjectsLWC/recentProjectsLWC.html                                                        |    9 
 force-app/main/default/lwc/lexOCSMNoToReportLighting/lexOCSMNoToReportLighting.js                                          |  105 
 force-app/main/default/lwc/loanerArrangedEmailLWC/loanerArrangedEmailLWC.js-meta.xml                                       |   11 
 force-app/main/default/lwc/lexNewRepairLWC/lexNewRepairLWC.css                                                             |    9 
 force-app/main/default/lwc/lexSubmitForApproval/lexSubmitForApproval.js                                                    |   71 
 force-app/main/default/lwc/childComponentTest/childComponentTest.html                                                      |    2 
 force-app/main/default/lwc/lexTenderingAntiLogicButton/lexTenderingAntiLogicButton.js-meta.xml                             |   11 
 force-app/main/default/lwc/lexCustomTableInput/lexCustomTableInput.js-meta.xml                                             |    5 
 force-app/main/default/lwc/lexRCSubmit/lexRCSubmit.html                                                                    |    5 
 force-app/main/default/lwc/lexBeforeOPDPDFBtn/lexBeforeOPDPDFBtn.js-meta.xml                                               |   11 
 force-app/main/default/lwc/lexConsumable/lexConsumable.html                                                                |    6 
 force-app/main/default/lwc/lexCustomNewCopy2/lexCustomNewCopy2.js-meta.xml                                                 |   11 
 force-app/main/default/lwc/lexLoseReport/lexLoseReport.js-meta.xml                                                         |   11 
 force-app/main/default/lwc/otherButtonInOpportunity/otherButtonInOpportunity.js-meta.xml                                   |    1 
 force-app/main/default/lwc/lexTopInQueue/lexTopInQueue.html                                                                |    5 
 force-app/main/default/lwc/lexAssetMaintainPage/lexAssetMaintainPage.html                                                  |    3 
 force-app/main/default/lwc/lexCustomAnewMaintenance/lexCustomAnewMaintenance.js                                            |   96 
 force-app/main/default/lwc/lexAddress/lexAddress.html                                                                      |    6 
 force-app/main/default/lwc/lexCreateNotesEmail/lexCreateNotesEmail.js                                                      |   97 
 force-app/main/default/lwc/lexOLYwinBid/lexOLYwinBid.css                                                                   |   10 
 force-app/main/default/lwc/opdCancelSubmit/opdCancelSubmit.css                                                             |   10 
 force-app/main/default/lwc/lexCustomLightningDatatable/lexCustomLightningDatatable.js                                      |   31 
 force-app/main/default/lwc/listWithParentRecordData/listWithParentRecordData.html                                          |   15 
 force-app/main/default/lwc/lexOPDtoSIS/lexOPDtoSIS.js-meta.xml                                                             |   11 
 force-app/main/default/lwc/lexASACEditorRepair/lexASACEditorRepair.js                                                      |   74 
 force-app/main/default/lwc/lexOLYwinBid/lexOLYwinBid.js                                                                    |   97 
 force-app/main/default/lwc/lexRequestDB/lexRequestDB.js-meta.xml                                                           |   11 
 force-app/main/default/lwc/lexRentalApplySubmitedApprovalButton/lexRentalApplySubmitedApprovalButton.css                   |   11 
 force-app/main/default/lwc/lexOutboundorderImport/lexOutboundorderImport.js-meta.xml                                       |    9 
 force-app/main/default/lwc/lexEquipmentRentalPicturePDF/lexEquipmentRentalPicturePDF.js-meta.xml                           |   11 
 force-app/main/default/lwc/lexNewRepairLWC/lexNewRepairLWC.html                                                            |  114 
 force-app/main/default/lwc/splitApplyLWC/splitApplyLWC.html                                                                |    5 
 force-app/main/default/lwc/lexRCinspectioncompletedate/lexRCinspectioncompletedate.css                                     |   22 
 force-app/main/default/lwc/inventoryViewLWC/inventoryViewLWC.js                                                            |   51 
 force-app/main/default/lwc/lexOCMSubmit/lexOCMSubmit.html                                                                  |    5 
 force-app/main/default/lwc/lexSICopyDemand/lexSICopyDemand.html                                                            |    5 
 force-app/main/default/lwc/pocFileUpload/pocFileUpload.js                                                                  |    3 
 force-app/main/default/lwc/newPaymentPlanLoadLWC/newPaymentPlanLoadLWC.js                                                  |  521 
 force-app/main/default/lwc/lexQuarterlyReport/lexQuarterlyReport.html                                                      |    5 
 force-app/main/default/lwc/viewRecord/viewRecord.html                                                                      |   10 
 force-app/main/default/lwc/lexQuarterlyReport/lexQuarterlyReport.js                                                        |   69 
 force-app/main/default/lwc/lexSelectAssetsMaintenance/lexSelectAssetsMaintenance.js-meta.xml                               |   11 
 force-app/main/default/lwc/lexSelectSubstitute/lexSelectSubstitute.js                                                      |   94 
 force-app/main/default/lwc/improvedForecastTime/improvedForecastTime.js                                                    |  487 
 force-app/main/default/lwc/lexOSHInspect/lexOSHInspect.js                                                                  |  100 
 force-app/main/default/lwc/lexFinLibrary/lexFinLibrary.html                                                                |    4 
 force-app/main/default/lwc/oshRecieved/oshRecieved.js                                                                      |   83 
 force-app/main/default/lwc/pocCustomComp/pocCustomComp.html                                                                |   11 
 force-app/main/default/lwc/pocFileUpload/pocFileUpload.js-meta.xml                                                         |    5 
 force-app/main/default/lwc/lexSelectSubstitute/lexSelectSubstitute.css                                                     |   11 
 force-app/main/default/lwc/lexXinSearchVisitorPlace/lexXinSearchVisitorPlace.js-meta.xml                                   |   11 
 force-app/main/default/lwc/lexDeleteQuotePage/lexDeleteQuotePage.js                                                        |   27 
 force-app/main/default/lwc/qisUniversalFailureCode/qisUniversalFailureCode.js                                              |   63 
 force-app/main/default/lwc/lexEquipmentSetRental_Order/lexEquipmentSetRental_Order.js-meta.xml                             |   11 
 force-app/main/default/lwc/lexCancel/lexCancel.css                                                                         |   10 
 force-app/main/default/lwc/lexASRCEditorRepair/lexASRCEditorRepair.js                                                      |   75 
 force-app/main/default/lwc/lexCancel/lexCancel.html                                                                        |    6 
 force-app/main/default/lwc/newPaymentPlanLoadLWC/newPaymentPlanLoadLWC.html                                                |  228 
 force-app/main/default/lwc/demoWrapper/demoWrapper.js                                                                      |    3 
 force-app/main/default/lwc/newRepairLWC/newRepairLWC.js-meta.xml                                                           |   11 
 force-app/main/default/lwc/lexInputSolution/lexInputSolution.html                                                          |    5 
 force-app/main/default/lwc/lexInsPageBtn/lexInsPageBtn.js-meta.xml                                                         |   11 
 force-app/main/default/lwc/lexBeforeOPDPDFBtn/lexBeforeOPDPDFBtn.html                                                      |   15 
 force-app/main/default/lwc/qisUniversalFailureCode/qisUniversalFailureCode.html                                            |    5 
 force-app/main/default/lwc/opdReportSubmit/opdReportSubmit.html                                                            |    5 
 force-app/main/default/lwc/lexCustomDiffReasonComp/lexCustomDiffReasonComp.js-meta.xml                                     |    5 
 force-app/main/default/lwc/lexLostReturnDeliverySlip/lexLostReturnDeliverySlip.css                                         |   11 
 force-app/main/default/lwc/quoteTrial/quoteTrial.html                                                                      |   10 
 force-app/main/default/lwc/lexTenderingHospitalButton/lexTenderingHospitalButton.js-meta.xml                               |   11 
 force-app/main/default/lwc/lexBeforeOPDPDFBtn/lexBeforeOPDPDFBtn.css                                                       |   10 
 force-app/main/default/lwc/lexDetailBulkUpdate/lexDetailBulkUpdate.css                                                     |   11 
 force-app/main/default/lwc/exampleWrapper/__mocks__/exampleWrapper.js                                                      |   15 
 force-app/main/default/lwc/panelGridWrapper/panelGridWrapper.html                                                          |   18 
 force-app/main/default/lwc/lexASRCEditorRepair/lexASRCEditorRepair.js-meta.xml                                             |   11 
 force-app/main/default/lwc/lexUploadToRecognitionModel/lexUploadToRecognitionModel.js-meta.xml                             |   11 
 force-app/main/default/lwc/lexTenderingCopyButton/lexTenderingCopyButton.html                                              |    5 
 force-app/main/default/lwc/lexUploadToRecognitionModel/lexUploadToRecognitionModel.html                                    |    6 
 force-app/main/default/lwc/newOrderList/newOrderList.html                                                                  |   19 
 force-app/main/default/lwc/lexEquipmentSetRental_Order/lexEquipmentSetRental_Order.js                                      |   83 
 force-app/main/default/lwc/lexOCSMNogoods/lexOCSMNogoods.html                                                              |    5 
 force-app/main/default/lwc/lexCopyRepair/lexCopyRepair.js                                                                  |  218 
 force-app/main/default/lwc/lexCustomLightningDatatable/customTableInput.html                                               |    3 
 force-app/main/default/lwc/lexESignAcceptanceHospital/lexESignAcceptanceHospital.js                                        |  186 
 force-app/main/default/lwc/lexRequestDB/lexRequestDB.html                                                                  |    6 
 force-app/main/default/lwc/listRecordLinks/listRecordLinks.js                                                              |   37 
 force-app/main/default/lwc/lexSINewQuoteEntry/lexSINewQuoteEntry.js                                                        |  869 +
 force-app/main/default/lwc/lexTenderingRelevancyButton/lexTenderingRelevancyButton.js                                      |  115 
 force-app/main/default/lwc/lexAssetMaintainDetail/lexAssetMaintainDetail.js-meta.xml                                       |   11 
 force-app/main/default/lwc/paginatedListWrapper/paginatedListWrapper.js                                                    |    3 
 force-app/main/default/lwc/lexTenderingAttachmentButton/lexTenderingAttachmentButton.js-meta.xml                           |   11 
 force-app/main/default/lwc/lexRCCDScomplete/lexRCCDScomplete.js                                                            |   98 
 force-app/main/default/lwc/lexRequestDB/lexRequestDB.css                                                                   |   10 
 force-app/main/default/lwc/newOrderButton/newOrderButton.html                                                              |    4 
 force-app/main/default/lwc/panelBar/panelBar.html                                                                          |   13 
 force-app/main/default/lwc/lexRCCDScomplete/lexRCCDScomplete.js-meta.xml                                                   |   11 
 force-app/main/default/lwc/lexRCSubmit/lexRCSubmit.css                                                                     |   22 
 force-app/main/default/lwc/lexTenderingEnquiryButton/lexTenderingEnquiryButton.js                                          |   87 
 force-app/main/default/lwc/selectSubstituteLWC/selectSubstituteLWC.html                                                    |    5 
 force-app/main/default/lwc/opdReportSubmit/opdReportSubmit.css                                                             |   10 
 force-app/main/default/lwc/viewRecordWrapper/viewRecordWrapper.js-meta.xml                                                 |    8 
 force-app/main/default/lwc/lexXinSearchVisitorPlace/lexXinSearchVisitorPlace.css                                           |    5 
 force-app/main/default/lwc/editableList/editableList.js-meta.xml                                                           |    5 
 force-app/main/default/lwc/lexAssetMaintainPage/lexAssetMaintainPage.js                                                    |   35 
 force-app/main/default/lwc/otherButtonInASACEditor/otherButtonInASACEditor.css                                             |   10 
 force-app/main/default/lwc/customLightningDatatable/templates/boxorpieceType.html                                          |    4 
 force-app/main/default/lwc/lexConInvoiceView/lexConInvoiceView.html                                                        |  462 
 force-app/main/default/lwc/lexClearReturnDeliverySlip/lexClearReturnDeliverySlip.js                                        |  107 
 force-app/main/default/lwc/lexRentalApplyESetRefreshStatus/lexRentalApplyESetRefreshStatus.html                            |    5 
 force-app/main/default/lwc/lexCustomSubmit/lexCustomSubmit.js-meta.xml                                                     |   11 
 force-app/main/default/lwc/lexCopyPIInspectionReport/lexCopyPIInspectionReport.js-meta.xml                                 |   11 
 force-app/main/default/lwc/lexAgencyAuthorize/lexAgencyAuthorize.js                                                        |  198 
 force-app/main/default/lwc/rentalApplyEquipmentRentalPDF/rentalApplyEquipmentRentalPDF.css                                 |   10 
 force-app/main/default/lwc/lexCustomNewMCMaintenance/lexCustomNewMCMaintenance.html                                        |    5 
 force-app/main/default/lwc/lexTenderingHospitalButton/lexTenderingHospitalButton.html                                      |    5 
 force-app/main/default/lwc/selectSubstituteLWC/selectSubstituteLWC.js                                                      |   78 
 force-app/main/default/lwc/lexBidAnnouncementApplyForButton/lexBidAnnouncementApplyForButton.html                          |    5 
 force-app/main/default/lwc/gzwbtest/gzwbtest.js-meta.xml                                                                   |    5 
 force-app/main/default/lwc/lexCustomTableInput/lexCustomTableInput.html                                                    |    3 
 force-app/main/default/lwc/lexinventoryViewLWC/lexinventoryViewLWC.js                                                      |  724 
 force-app/main/default/lwc/panelBarWrapper/panelBarWrapper.js-meta.xml                                                     |    8 
 force-app/main/default/lwc/lexYanshoudanRequest/lexYanshoudanRequest.html                                                  |    6 
 force-app/main/default/lwc/newOrderLWC/newOrderLWC.js                                                                      |   39 
 force-app/main/default/lwc/createMixedRecordsApex/createMixedRecordsApex.html                                              |   27 
 force-app/main/default/lwc/lexProductRepairQuoteRepair/lexProductRepairQuoteRepair.html                                    |    5 
 force-app/main/default/lwc/lexCustomSubmit/lexCustomSubmit.html                                                            |    5 
 force-app/main/default/classes/OCMManagementProvinceWebService.cls                                                         |    1 
 force-app/main/default/lwc/createRecordWithPrepopulatedValuesWrapper/createRecordWithPrepopulatedValuesWrapper.js          |    3 
 force-app/main/default/lwc/lexOutboundorderImport/lexOutboundorderImport.html                                              |   74 
 force-app/main/default/lwc/otherButtonInOpportunity/otherButtonInOpportunity.html                                          |   43 
 force-app/main/default/lwc/lexLoseBid/lexLoseBid.html                                                                      |    6 
 force-app/main/default/lwc/lexCustomClone/lexCustomClone.js                                                                |   49 
 force-app/main/default/lwc/ldsUtils/ldsUtils.js-meta.xml                                                                   |    5 
 force-app/main/default/lwc/lexNewTransferApply/lexNewTransferApply.css                                                     |   22 
 force-app/main/default/lwc/errorPopover/errorPopover.html                                                                  |   43 
 force-app/main/default/lwc/customShippingUnitPriceComp/customShippingUnitPriceComp.html                                    |    2 
 force-app/main/default/lwc/lexEquipmentRentalPicturePDF/lexEquipmentRentalPicturePDF.html                                  |    5 
 force-app/main/default/lwc/lexCustomAnewMaintenance/lexCustomAnewMaintenance.html                                          |    6 
 force-app/main/default/lwc/lexCancelSelect/lexCancelSelect.js                                                              |   53 
 force-app/main/default/lwc/lexRentalApplyESetRefreshStatus/lexRentalApplyESetRefreshStatus.js-meta.xml                     |   11 
 force-app/main/default/lwc/pageMessagesToastWrapper/pageMessagesToastWrapper.html                                          |   18 
 force-app/main/default/lwc/lexAllReceivedFse/lexAllReceivedFse.html                                                        |    5 
 force-app/main/default/lwc/lWtTEST/lWtTEST.html                                                                            |    3 
 force-app/main/default/lwc/lexVOCFinish/lexVOCFinish.js                                                                    |   96 
 force-app/main/default/lwc/lexOCSMNoToReportForReport/lexOCSMNoToReportForReport.js                                        |  100 
 force-app/main/default/lwc/viewVfLwcSource/viewVfLwcSource.js                                                              |   17 
 force-app/main/default/lwc/beforeRenderHookWrapper/beforeRenderHookWrapper.html                                            |   18 
 force-app/main/default/lwc/panelGrid/panelGrid.js                                                                          |    3 
 force-app/main/default/lwc/opdReportSubmit/opdReportSubmit.js                                                              |  159 
 force-app/main/default/lwc/jzlookup/jzlookup.js                                                                            |    4 
 force-app/main/default/lwc/lexOLYwinBid/lexOLYwinBid.html                                                                  |    6 
 force-app/main/default/lwc/lexBidAnnouncementConsentButton/lexBidAnnouncementConsentButton.js                              |   83 
 force-app/main/default/lwc/otherButtonInASACEditor/otherButtonInASACEditor.js                                              |   74 
 force-app/main/default/lwc/lexSaleAndDelivery/lexSaleAndDelivery.css                                                       |   22 
 force-app/main/default/lwc/lexQISSC/lexQISSC.html                                                                          |    5 
 force-app/main/default/lwc/recentProjectsLWC/recentProjectsLWC.js                                                          |   31 
 force-app/main/default/lwc/editableList/editableList.html                                                                  |   15 
 force-app/main/default/lwc/lexCancelSubmitReport/lexCancelSubmitReport.js                                                  |   68 
 force-app/main/default/lwc/lexSplitApply/lexSplitApply.css                                                                 |   11 
 force-app/main/default/lwc/lexTenderingHospitalButton/lexTenderingHospitalButton.js                                        |   69 
 force-app/main/default/lwc/lexMainFixtureSelect/lexMainFixtureSelect.css                                                   |   22 
 force-app/main/default/lwc/createMixedRecordsApex/createMixedRecordsApex.js                                                |   48 
 force-app/main/default/lwc/lexCreateRepair/lexCreateRepair.js-meta.xml                                                     |   11 
 force-app/main/default/lwc/lexContractdetailpdf/lexContractdetailpdf.js                                                    |   50 
 force-app/main/default/lwc/lexOCSMNoToReportRepair/lexOCSMNoToReportRepair.js-meta.xml                                     |   11 
 force-app/main/default/lwc/lexSearchProductCs/lexSearchProductCs.js                                                        |  279 
 force-app/main/default/lwc/lexQISAgree/lexQISAgree.js                                                                      |   86 
 force-app/main/default/lwc/lexTenderingRelevancyButton/lexTenderingRelevancyButton.html                                    |    5 
 force-app/main/default/lwc/lexFinLibrary2/lexFinLibrary2.css                                                               |   11 
 force-app/main/default/lwc/listRecordLinks/__mocks__/listRecordLinks.js                                                    |    3 
 force-app/main/default/lwc/lexCustomLightningDatatable/lexCustomDiffReason.html                                            |    5 
 force-app/main/default/lwc/lexVOCCheck/lexVOCCheck.html                                                                    |    6 
 force-app/main/default/lwc/lexSelectRental/lexSelectRental.js                                                              |  136 
 force-app/main/default/lwc/lexSendRepairsToEtQ/lexSendRepairsToEtQ.js-meta.xml                                             |   11 
 force-app/main/default/lwc/lexAssetMaintainDetail/lexAssetMaintainDetail.css                                               |   11 
 force-app/main/default/lwc/navigateToRecord/navigateToRecord.js                                                            |   20 
 force-app/main/default/lwc/lexMainFixtureSelect/lexMainFixtureSelect.html                                                  |    5 
 force-app/main/default/lwc/lexOutboundorderImport/lexOutboundorderImport.css                                               |   29 
 force-app/main/default/lwc/lexQuotationProductNew/lexQuotationProductNew.html                                              |    6 
 force-app/main/default/lwc/lexMailMessege/lexMailMessege.html                                                              |    5 
 force-app/main/default/lwc/lexSubmitCompetitorReport/lexSubmitCompetitorReport.html                                        |    6 
 force-app/main/default/lwc/createMixedRecordsWireFunctionsWrapper/createMixedRecordsWireFunctionsWrapper.html              |   23 
 force-app/main/default/lwc/lexDetailBulkUpdate/lexDetailBulkUpdate.js-meta.xml                                             |   11 
 force-app/main/default/lwc/lexStockApply/lexStockApply.js-meta.xml                                                         |   11 
 force-app/main/default/lwc/lexASRCEditor/lexASRCEditor.css                                                                 |   10 
 force-app/main/default/lwc/customUnitComp/customUnitComp.html                                                              |   12 
 force-app/main/default/lwc/lexAddress/lexAddress.js-meta.xml                                                               |   11 
 force-app/main/default/lwc/lexEquipmentRentalPicturePDF/lexEquipmentRentalPicturePDF.css                                   |   22 
 force-app/main/default/lwc/binding/binding.html                                                                            |    8 
 force-app/main/default/lwc/pocCustomComp/pocCustomComp.js-meta.xml                                                         |    5 
 force-app/main/default/lwc/lexAssetMaintainPage/lexAssetMaintainPage.js-meta.xml                                           |   11 
 force-app/main/default/lwc/cancelApplyLWC/cancelApplyLWC.js-meta.xml                                                       |   11 
 force-app/main/default/lwc/binding/binding.js-meta.xml                                                                     |    5 
 force-app/main/default/lwc/lexTransferApplyPDF/lexTransferApplyPDF.css                                                     |   11 
 force-app/main/default/lwc/lexTenderingAntiLogicButton/lexTenderingAntiLogicButton.html                                    |    5 
 force-app/main/default/lwc/rentalApplyLWT/rentalApplyLWT.js                                                                |  854 +
 force-app/main/default/lwc/pageMessagesFormWrapper/pageMessagesFormWrapper.html                                            |   20 
 force-app/main/default/lwc/lexInputSolution/lexInputSolution.js                                                            |   49 
 force-app/main/default/lwc/lexUploadToSap/lexUploadToSap.js                                                                |  155 
 force-app/main/default/lwc/gzwbtest/gzwbtest.html                                                                          |    5 
 force-app/main/default/lwc/batchSelectRepairLWC/batchSelectRepairLWC.html                                                  |  107 
 force-app/main/default/lwc/lexSISubmit/lexSISubmit.html                                                                    |    5 
 force-app/main/default/lwc/listInfiniteScrolling/listInfiniteScrolling.html                                                |   17 
 force-app/main/default/lwc/lexQISIntakeuniversalcode/lexQISIntakeuniversalcode.js-meta.xml                                 |   11 
 force-app/main/default/lwc/lexOCSMToReport/lexOCSMToReport.html                                                            |    6 
 force-app/main/default/lwc/lexEquipmentSetRental_Order/lexEquipmentSetRental_Order.html                                    |    5 
 force-app/main/default/lwc/viewRecordWrapper/viewRecordWrapper.js                                                          |    5 
 force-app/main/default/lwc/pageMessagesToastWrapper/pageMessagesToastWrapper.js                                            |    3 
 force-app/main/default/lwc/panelBarWrapper/panelBarWrapper.js                                                              |    3 
 force-app/main/default/lwc/viewVfLwcSource/viewVfLwcSource.html                                                            |   21 
 force-app/main/default/lwc/lexPDFMaintenanceCommission/lexPDFMaintenanceCommission.html                                    |    5 
 force-app/main/default/lwc/lexVOCAnswer/lexVOCAnswer.js-meta.xml                                                           |   11 
 force-app/main/default/lwc/lexBidAnnouncementRejectButton/lexBidAnnouncementRejectButton.js-meta.xml                       |   11 
 force-app/main/default/lwc/lexTenderingLostButton/lexTenderingLostButton.js-meta.xml                                       |   11 
 force-app/main/default/lwc/lexCancelSubmit/lexCancelSubmit.js                                                              |   92 
 force-app/main/default/lwc/lexProductRepairQuoteRepair/lexProductRepairQuoteRepair.js-meta.xml                             |   11 
 force-app/main/default/lwc/lexSelectSubstitute/lexSelectSubstitute.html                                                    |    5 
 force-app/main/default/lwc/lexAllReceivedFse/lexAllReceivedFse.js                                                          |   65 
 force-app/main/default/lwc/lexQuotationProductNew/lexQuotationProductNew.js                                                |   67 
 force-app/main/default/lwc/inventoryEditingLWC/inventoryEditingLWC.html                                                    |   67 
 force-app/main/default/lwc/lexBatchSelectRepairLWC/lexBatchSelectRepairLWC.css                                             |    9 
 force-app/main/default/lwc/lexPaymentPlanLoad/lexPaymentPlanLoad.js                                                        |  404 
 force-app/main/default/lwc/pageMessagesFormWrapper/pageMessagesFormWrapper.js-meta.xml                                     |    8 
 force-app/main/default/lwc/paginatedListWrapper/paginatedListWrapper.js-meta.xml                                           |    8 
 force-app/main/default/lwc/parentComponentTest/parentComponentTest.js-meta.xml                                             |    2 
 manifest/packageForLex copy.xml                                                                                            |    8 
 force-app/main/default/lwc/lexCustomClone/lexCustomClone.html                                                              |    5 
 force-app/main/default/lwc/lexVOCSubmit/lexVOCSubmit.html                                                                  |    6 
 force-app/main/default/lwc/lexSubmitExtensionApprovalProcess/lexSubmitExtensionApprovalProcess.css                         |   10 
 force-app/main/default/lwc/customShipmentAmountComp/customShipmentAmountComp.js-meta.xml                                   |    5 
 force-app/main/default/lwc/lexVOCCheck/lexVOCCheck.js-meta.xml                                                             |   11 
 force-app/main/default/lwc/lexDispatchOCSMQARA/lexDispatchOCSMQARA.html                                                    |    6 
 force-app/main/default/lwc/lexCancelReport/lexCancelReport.css                                                             |   10 
 force-app/main/default/lwc/lexOCSMNoToReport/lexOCSMNoToReport.css                                                         |   10 
 force-app/main/default/lwc/lexVOCSubmit/lexVOCSubmit.js                                                                    |   91 
 force-app/main/default/lwc/boxorpieceType/boxorpieceType.js-meta.xml                                                       |    5 
 force-app/main/default/lwc/lexCustomAttachmentTypeComp/lexCustomAttachmentTypeComp.html                                    |   16 
 force-app/main/default/lwc/listWithParentRecordData/listWithParentRecordData.js-meta.xml                                   |    5 
 force-app/main/default/lwc/createRecordWithPrepopulatedValuesWrapper/createRecordWithPrepopulatedValuesWrapper.html        |   19 
 force-app/main/default/lwc/lexTerminalMaintenance/lexTerminalMaintenance.js                                                |   88 
 force-app/main/default/lwc/lexArriveGoodsMain/lexArriveGoodsMain.html                                                      |  254 
 force-app/main/default/lwc/afterRenderHookWrapper/afterRenderHookWrapper.js-meta.xml                                       |    8 
 force-app/main/default/lwc/pageMessagesToastWrapper/pageMessagesToastWrapper.js-meta.xml                                   |    8 
 force-app/main/default/lwc/lexCancel/lexCancel.js-meta.xml                                                                 |   11 
 force-app/main/default/lwc/lexCustomAttachmentTypeComp/lexCustomAttachmentTypeComp.js                                      |   25 
 force-app/main/default/lwc/pageMessagesToast/pageMessagesToast.html                                                        |    8 
 force-app/main/default/lwc/viewRecordWithParentRecordDataWrapper/viewRecordWithParentRecordDataWrapper.html                |   22 
 force-app/main/default/lwc/rentalApplyEquipmentRentalPDF/rentalApplyEquipmentRentalPDF.html                                |    5 
 force-app/main/default/lwc/lexCustomDelete/lexCustomDelete.html                                                            |    5 
 force-app/main/default/lwc/lexOverdueStock/lexOverdueStock.js-meta.xml                                                     |    9 
 force-app/main/default/lwc/customShipmentNumberComp/customShipmentNumberComp.js                                            |   24 
 force-app/main/default/lwc/lexOCSMNogoods/lexOCSMNogoods.css                                                               |   22 
 force-app/main/default/lwc/lexRemoveBox/lexRemoveBox.html                                                                  |  107 
 force-app/main/default/lwc/lexSINewQuoteEntry/lexSINewQuoteEntry.css                                                       |    5 
 force-app/main/default/lwc/lexFinLibrary3/lexFinLibrary3.js-meta.xml                                                       |   11 
 force-app/main/default/lwc/toolbarWrapper/toolbarWrapper.js-meta.xml                                                       |    8 
 force-app/main/default/lwc/lexBidAnnouncementApplyForButton/lexBidAnnouncementApplyForButton.js-meta.xml                   |   11 
 force-app/main/default/lwc/editableList/__mocks__/editableList.js                                                          |    3 
 force-app/main/default/lwc/lexSubmitApprovalProcess/lexSubmitApprovalProcess.js                                            |  101 
 force-app/main/default/lwc/childComponentTest/childComponentTest.js                                                        |    4 
 force-app/main/default/lwc/lexOCSMToReportLighting/lexOCSMToReportLighting.js-meta.xml                                     |   11 
 force-app/main/default/lwc/lexOCSMNoToReportLighting/lexOCSMNoToReportLighting.js-meta.xml                                 |   11 
 force-app/main/default/lwc/otherButtonInASACEditor/otherButtonInASACEditor.html                                            |    5 
 force-app/main/default/lwc/opdSupplementaryApplication/opdSupplementaryApplication.html                                    |    5 
 force-app/main/default/lwc/lexNewRepairLWC/lexNewRepairLWC.js                                                              |  153 
 force-app/main/default/lwc/lexBidAnnouncementApplyForButton/lexBidAnnouncementApplyForButton.js                            |   74 
 force-app/main/default/lwc/lexLoanerArrangedEmail/lexLoanerArrangedEmail.css                                               |   10 
 force-app/main/default/lwc/lexDetailBulkUpdate/lexDetailBulkUpdate.html                                                    |    5 
 force-app/main/default/lwc/lexCustomSubmit/lexCustomSubmit.js                                                              |  158 
 force-app/main/default/lwc/viewRecordWithParentRecordDataWrapper/viewRecordWithParentRecordDataWrapper.js-meta.xml         |    8 
 force-app/main/default/lwc/lexCustomNewMaintenance/lexCustomNewMaintenance.html                                            |    6 
 force-app/main/default/lwc/lexSubmitForApproval/lexSubmitForApproval.html                                                  |    5 
 force-app/main/default/lwc/lexSICopyDemand/lexSICopyDemand.js-meta.xml                                                     |   11 
 force-app/main/default/lwc/splitApplyLWC/splitApplyLWC.js                                                                  |   56 
 force-app/main/default/lwc/bindingWrapper/bindingWrapper.js-meta.xml                                                       |    8 
 force-app/main/default/lwc/lexOCSMNoToReportLighting/lexOCSMNoToReportLighting.css                                         |   22 
 force-app/main/default/lwc/lexTenderingLostButton/lexTenderingLostButton.js                                                |  108 
 force-app/main/default/lwc/listInfiniteScrolling/listInfiniteScrolling.js-meta.xml                                         |    5 
 force-app/main/default/lwc/pageBlocksWrapper/pageBlocksWrapper.html                                                        |   19 
 force-app/main/default/lwc/lexRentalApplyCanleButton/lexRentalApplyCanleButton.js-meta.xml                                 |   11 
 force-app/main/default/lwc/lexRentalApplyDiscountApproval/lexRentalApplyDiscountApproval.js                                |  108 
 force-app/main/default/lwc/lexFinLibrary/lexFinLibrary.js                                                                  |   57 
 force-app/main/default/lwc/lexCancelApply/lexCancelApply.js                                                                |  100 
 force-app/main/default/lwc/test/test.html                                                                                  |    3 
 force-app/main/default/lwc/lexSendQIS/lexSendQIS.html                                                                      |    5 
 force-app/main/default/lwc/lexTenderingNotarizeButton/lexTenderingNotarizeButton.html                                      |    5 
 force-app/main/default/lwc/lexSplitApply/lexSplitApply.js                                                                  |   56 
 force-app/main/default/lwc/exampleWrapper/exampleWrapper.css                                                               |    3 
 force-app/main/default/lwc/editRecord/editRecord.html                                                                      |   12 
 force-app/main/default/lwc/splitApplyLWC/splitApplyLWC.css                                                                 |   11 
 force-app/main/default/lwc/viewRecordWrapper/viewRecordWrapper.html                                                        |   20 
 force-app/main/default/lwc/otherButtonInCancelSubmit/OtherButtonInCancelSubmit.css                                         |   10 
 force-app/main/default/lwc/interoperability/interoperability.js                                                            |   21 
 force-app/main/default/lwc/lexTopInQueue/lexTopInQueue.js-meta.xml                                                         |   11 
 force-app/main/default/lwc/viewRecordWithParentRecordDataWrapper/viewRecordWithParentRecordDataWrapper.js                  |    5 
 force-app/main/default/lwc/lexTenderingNoStandardButton/lexTenderingNoStandardButton.js-meta.xml                           |   11 
 force-app/main/default/lwc/pageMessagesForm/pageMessagesForm.js                                                            |   35 
 force-app/main/default/lwc/lexcopyQIS/lexcopyQIS.css                                                                       |   22 
 force-app/main/default/lwc/lexCreateRepair/lexCreateRepair.js                                                              |  231 
 force-app/main/default/lwc/lexQuotationProductNew/lexQuotationProductNew.js-meta.xml                                       |   11 
 force-app/main/default/lwc/lexOCSMToReport/lexOCSMToReport.css                                                             |   10 
 force-app/main/default/lwc/pocCustomComp/pocCustomComp.js                                                                  |   25 
 force-app/main/default/lwc/errorPopover/errorPopover.js                                                                    |   15 
 force-app/main/default/lwc/otherButtonInOpportunity/otherButtonInOpportunity.css                                           |   11 
 force-app/main/default/lwc/opdReportSubmit/opdReportSubmit.js-meta.xml                                                     |   11 
 force-app/main/default/lwc/lexQuotationRequest/lexQuotationRequest.html                                                    |   14 
 force-app/main/default/lwc/lexTenderingIntentionButton/lexTenderingIntentionButton.js-meta.xml                             |   11 
 force-app/main/default/lwc/lexTenderingAttachmentButton/lexTenderingAttachmentButton.js                                    |   54 
 force-app/main/default/lwc/errorPanel/templates/noDataIllustration.html                                                    |  257 
 force-app/main/default/lwc/pageBlocks/pageBlocks.js                                                                        |    5 
 force-app/main/default/lwc/lexASRCEditor/lexASRCEditor.html                                                                |    5 
 force-app/main/default/lwc/lexOCMSubmit/lexOCMSubmit.js-meta.xml                                                           |   11 
 force-app/main/default/lwc/createMixedRecordsWireFunctions/createMixedRecordsWireFunctions.js                              |   91 
 force-app/main/default/lwc/lexAssetMaintainDetail/lexAssetMaintainDetail.html                                              |    5 
 force-app/main/default/lwc/lexComplete/lexComplete.js-meta.xml                                                             |   11 
 force-app/main/default/lwc/lexSubmitCompetitorReport/lexSubmitCompetitorReport.js                                          |   74 
 force-app/main/default/lwc/toolbarWrapper/toolbarWrapper.js                                                                |    3 
 force-app/main/default/lwc/lexInventoryCount/lexInventoryCount.js                                                          |  595 
 force-app/main/default/lwc/oshRecieved/oshRecieved.css                                                                     |   10 
 force-app/main/default/lwc/lexSendRepairsToEtQ/lexSendRepairsToEtQ.html                                                    |    6 
 force-app/main/default/lwc/lexFinLibrary/lexFinLibrary.js-meta.xml                                                         |   11 
 force-app/main/default/lwc/lexPredictedDateChange/lexPredictedDateChange.js                                                |   82 
 force-app/main/default/lwc/lexCustomTableInput/lexCustomTableInput.js                                                      |    6 
 force-app/main/default/lwc/customShipmentAmountComp/customShipmentAmountComp.js                                            |    9 
 force-app/main/default/lwc/lexCustomLightningDatatable/customShipmentNumber.html                                           |    4 
 force-app/main/default/lwc/lexOPDtoSIS/lexOPDtoSIS.css                                                                     |   10 
 force-app/main/default/lwc/lexProductRepairQuoteRepair/lexProductRepairQuoteRepair.js                                      |   67 
 force-app/main/default/lwc/lexCancelReport/lexCancelReport.html                                                            |    6 
 force-app/main/default/lwc/ldsUtils/__mocks__/ldsUtils.js                                                                  |    3 
 force-app/main/default/lwc/lexCustomDiffReasonComp/lexCustomDiffReasonComp.js                                              |   27 
 force-app/main/default/lwc/lexSISearchSetProduct/lexSISearchSetProduct.css                                                 |    6 
 force-app/main/default/lwc/lexBeforeOPDPDFBtnSIS/lexBeforeOPDPDFBtnSIS.js-meta.xml                                         |   11 
 force-app/main/default/lwc/lexVOCConfirm/lexVOCConfirm.html                                                                |    6 
 force-app/main/default/lwc/lexSubmitApprovalProcess/lexSubmitApprovalProcess.css                                           |   11 
 force-app/main/default/lwc/customShipmentNumberComp/customShipmentNumberComp.js-meta.xml                                   |    5 
 force-app/main/default/lwc/lexOCMSubmit/lexOCMSubmit.js                                                                    |  133 
 force-app/main/default/lwc/tabs/tabs.js-meta.xml                                                                           |    5 
 force-app/main/default/lwc/newPaymentPlanLoadLWC/newPaymentPlanLoadLWC.js-meta.xml                                         |   12 
 force-app/main/default/lwc/viewVfLwcSource/viewVfLwcSource.js-meta.xml                                                     |    5 
 force-app/main/default/lwc/lexArriveGoodsMain/lexArriveGoodsMain.js                                                        |   98 
 force-app/main/default/lwc/lexTenderingEnquiryButton/lexTenderingEnquiryButton.html                                        |    5 
 force-app/main/default/lwc/lexPDFMaintenanceCommission/lexPDFMaintenanceCommission.js-meta.xml                             |   11 
 force-app/main/default/lwc/lexTopInQueue/lexTopInQueue.js                                                                  |   49 
 force-app/main/default/lwc/lexVOCFinish/lexVOCFinish.html                                                                  |    6 
 force-app/main/default/lwc/createMixedRecordsWireFunctions/createMixedRecordsWireFunctions.html                            |   27 
 force-app/main/default/lwc/lexOCSMNoToReport/lexOCSMNoToReport.html                                                        |    5 
 force-app/main/default/lwc/lexAddSubmitApprovalProcess/lexAddSubmitApprovalProcess.js                                      |   68 
 force-app/main/default/lwc/lexESignAcceptanceHospital/lexESignAcceptanceHospital.html                                      |    4 
 force-app/main/default/lwc/lexSubmitCompetitorReport/lexSubmitCompetitorReport.css                                         |   10 
 force-app/main/default/lwc/lexServiceCutPriceApply/lexServiceCutPriceApply.js                                              |  113 
 force-app/main/default/lwc/lexLoseBid/lexLoseBid.js                                                                        |   89 
 force-app/main/default/lwc/lexOPDtoSIS/lexOPDtoSIS.js                                                                      |   95 
 force-app/main/default/lwc/binding/binding.css                                                                             |    3 
 force-app/main/default/lwc/afterRenderHook/afterRenderHook.html                                                            |    5 
 force-app/main/default/lwc/lexLoseReport/lexLoseReport.html                                                                |    6 
 force-app/main/default/lwc/navigateToRecord/navigateToRecord.js-meta.xml                                                   |    5 
 force-app/main/default/lwc/lexFinLibrary3/lexFinLibrary3.css                                                               |   11 
 force-app/main/default/lwc/lexPredictedDateChange/lexPredictedDateChange.html                                              |    6 
 force-app/main/default/lwc/datatableWithCustomTypes/datatableWithCustomTypes.js                                            |   11 
 force-app/main/default/lwc/lexAddSubmitApprovalProcess/lexAddSubmitApprovalProcess.css                                     |   22 
 force-app/main/default/lwc/createRecordWithPrepopulatedValues/createRecordWithPrepopulatedValues.html                      |   22 
 force-app/main/default/lwc/afterRenderHookWrapper/afterRenderHookWrapper.js                                                |    3 
 force-app/main/default/lwc/lexCreateRepair/lexCreateRepair.html                                                            |    5 
 force-app/main/default/lwc/lexSelectRental/lexSelectRental.css                                                             |   11 
 force-app/main/default/lwc/selectSubstituteLWC/selectSubstituteLWC.js-meta.xml                                             |   11 
 force-app/main/default/lwc/demoLWC/demoLWC.html                                                                            |   42 
 force-app/main/default/lwc/lexComplete/lexComplete.html                                                                    |    6 
 force-app/main/default/lwc/lexTenderingIntentionButton/lexTenderingIntentionButton.js                                      |   75 
 force-app/main/default/lwc/lexServiceCutPriceApply/lexServiceCutPriceApply.html                                            |    6 
 force-app/main/default/lwc/customDelete/customDelete.js                                                                    |  144 
 force-app/main/default/lwc/tabs/tabs.html                                                                                  |   15 
 force-app/main/default/lwc/beforeRenderHook/beforeRenderHook.html                                                          |    5 
 force-app/main/default/lwc/lexOCMSubmit/lexOCMSubmit.css                                                                   |   22 
 force-app/main/default/lwc/lexOSHSubmit/lexOSHSubmit.css                                                                   |   10 
 force-app/main/default/lwc/lexSINewQuoteEntry/lexSINewQuoteEntry.js-meta.xml                                               |   11 
 force-app/main/default/lwc/lexCustomSubmit/lexCustomSubmit.css                                                             |   11 
 force-app/main/default/lwc/lexDeleteQuotePage/lexDeleteQuotePage.html                                                      |   20 
 force-app/main/default/lwc/opdUpdateDate/opdUpdateDate.html                                                                |    5 
 force-app/main/default/lwc/improvedForecastTime/improvedForecastTime.html                                                  |  262 
 force-app/main/default/lwc/lexSendRepairsToEtQ/lexSendRepairsToEtQ.js                                                      |  192 
 force-app/main/default/lwc/listInfiniteScrollingWrapper/listInfiniteScrollingWrapper.js                                    |    3 
 force-app/main/default/lwc/opdNewSparePartsLoanApplication/opdNewSparePartsLoanApplication.js                              |  346 
 force-app/main/default/lwc/lexMailMessege/lexMailMessege.js                                                                |   89 
 force-app/main/default/lwc/lexClearReturnDeliverySlip/lexClearReturnDeliverySlip.css                                       |   11 
 force-app/main/default/lwc/lexTenderingNotarizeButton/lexTenderingNotarizeButton.js                                        |  133 
 force-app/main/default/lwc/lWtTEST/lWtTEST.js-meta.xml                                                                     |    5 
 force-app/main/default/lwc/lexBatchSelectRepairLWC/lexBatchSelectRepairLWC.js-meta.xml                                     |   11 
 force-app/main/default/lwc/pocFileUpload/pocFileUpload.html                                                                |    5 
 force-app/main/default/lwc/lexLookup/lexLookup.js-meta.xml                                                                 |    5 
 force-app/main/default/lwc/otherButtonInCancelSubmit/otherButtonInCancelSubmit.js                                          |   82 
 force-app/main/default/lwc/afterRenderHookWrapper/afterRenderHookWrapper.html                                              |   17 
 force-app/main/default/lwc/lexCreateEvent/lexCreateEvent.js                                                                |   59 
 force-app/main/default/lwc/lexOSHSubmit/lexOSHSubmit.js-meta.xml                                                           |   11 
 force-app/main/default/lwc/opdUpdateDate/opdUpdateDate.css                                                                 |   10 
 force-app/main/default/lwc/lexLoseBid/lexLoseBid.js-meta.xml                                                               |   11 
 force-app/main/default/lwc/createMixedRecordsApexWrapper/createMixedRecordsApexWrapper.js                                  |    3 
 force-app/main/default/lwc/batchSelectRepairLWC/batchSelectRepairLWC.js                                                    |  576 
 force-app/main/default/lwc/lexBeforeOPDPDFBtn/lexBeforeOPDPDFBtn.js                                                        |  108 
 force-app/main/default/lwc/lexRentalApplyESetRefreshStatus/lexRentalApplyESetRefreshStatus.js                              |   91 
 force-app/main/default/lwc/pageBlocksWrapper/pageBlocksWrapper.js-meta.xml                                                 |    8 
 force-app/main/default/lwc/editRecord/editRecord.js                                                                        |   44 
 force-app/main/default/lwc/lexCancelSubmit/lexCancelSubmit.css                                                             |   10 
 force-app/main/default/lwc/lexDispatchOCSMQARA/lexDispatchOCSMQARA.js-meta.xml                                             |   11 
 force-app/main/default/lwc/lexMailMessege/lexMailMessege.js-meta.xml                                                       |   11 
 force-app/main/default/lwc/listRecordLinks/listRecordLinks.html                                                            |   15 
 force-app/main/default/lwc/oppLoseButton/oppLoseButton.html                                                                |    8 
 force-app/main/default/lwc/viewRecord/viewRecord.js-meta.xml                                                               |    5 
 force-app/main/default/lwc/listWithParentRecordDataWrapper/listWithParentRecordDataWrapper.js                              |    3 
 force-app/main/default/lwc/lexAssetMaintainDetail/lexAssetMaintainDetail.js                                                |   38 
 force-app/main/default/lwc/lexStockApply/lexStockApply.css                                                                 |   10 
 force-app/main/default/lwc/bindingWrapper/bindingWrapper.html                                                              |   22 
 force-app/main/default/lwc/lexRCRecieved/lexRCRecieved.js                                                                  |  103 
 force-app/main/default/lwc/panelBar/panelBar.js-meta.xml                                                                   |    5 
 force-app/main/default/lwc/lexCancelSubmitReport/lexCancelSubmitReport.js-meta.xml                                         |   11 
 force-app/main/default/lwc/lexAllReceivedFse/lexAllReceivedFse.js-meta.xml                                                 |   11 
 force-app/main/default/lwc/lexCreateRepair/lexCreateRepair.css                                                             |   10 
 force-app/main/default/lwc/lexLostReturnDeliverySlip/lexLostReturnDeliverySlip.js-meta.xml                                 |   11 
 force-app/main/default/lwc/pageMessagesDataRetrieval/pageMessagesDataRetrieval.js                                          |    7 
 force-app/main/default/lwc/newOrderList/newOrderList.js-meta.xml                                                           |   15 
 force-app/main/default/lwc/lexAppSubmitButton/lexAppSubmitButton.js-meta.xml                                               |   11 
 force-app/main/default/lwc/lexVOCAnswer/lexVOCAnswer.css                                                                   |   10 
 force-app/main/default/lwc/datatableWithCustomTypes/navigateToRecordTemplate.html                                          |    8 
 force-app/main/default/lwc/lexPredictedDateChange/lexPredictedDateChange.js-meta.xml                                       |   11 
 force-app/main/default/lwc/demoWrapper/demoWrapper.js-meta.xml                                                             |    8 
 force-app/main/default/lwc/tEnquiry/tEnquiry.html                                                                          |    2 
 force-app/main/default/lwc/lexLookup/lexLookup.js                                                                          |  475 
 force-app/main/default/lwc/lexSIStoOPD/lexSIStoOPD.html                                                                    |    6 
 force-app/main/default/lwc/lexCancel/lexCancel.js                                                                          |  104 
 force-app/main/default/lwc/lexPDFQISrequest/lexPDFQISrequest.js-meta.xml                                                   |   11 
 force-app/main/default/lwc/pageMessagesToast/pageMessagesToast.js                                                          |   21 
 force-app/main/default/lwc/apexUtils/apexUtils.js                                                                          |   31 
 force-app/main/default/lwc/newPaymentPlanLoadLWC/newPaymentPlanLoadLWC.css                                                 |   14 
 force-app/main/default/lwc/quoteTrial/quoteTrialUtil.js                                                                    |   25 
 force-app/main/default/lwc/lexCopyPIInspectionReport/lexCopyPIInspectionReport.js                                          |   57 
 force-app/main/default/lwc/lexSIStoOPD/lexSIStoOPD.js-meta.xml                                                             |   11 
 force-app/main/default/lwc/bindingWrapper/bindingWrapper.js                                                                |    3 
 force-app/main/default/lwc/panelBar/panelBar.js                                                                            |    3 
 force-app/main/default/lwc/lexCancelRemoveBox/lexCancelRemoveBox.html                                                      |  107 
 force-app/main/default/lwc/lexTerminalMaintenance/lexTerminalMaintenance.js-meta.xml                                       |   11 
 force-app/main/default/lwc/toolbarWrapper/toolbarWrapper.html                                                              |   18 
 force-app/main/default/lwc/lexTenderingLogicButton/lexTenderingLogicButton.js                                              |   49 
 force-app/main/default/lwc/lexDispatchOCSMQARA/lexDispatchOCSMQARA.js                                                      |   71 
 force-app/main/default/lwc/lexSearchProduct/lexSearchProduct.css                                                           |    6 
 force-app/main/default/lwc/lexSISubmit/lexSISubmit.js-meta.xml                                                             |   11 
 force-app/main/default/lwc/lexTenderingAttachmentButton/lexTenderingAttachmentButton.html                                  |    5 
 force-app/main/default/lwc/newRepairLWC/newRepairLWC.css                                                                   |    9 
 force-app/main/default/lwc/lexSISearchSetProduct/lexSISearchSetProduct.js-meta.xml                                         |   11 
 force-app/main/default/lwc/lexConsumable/lexConsumable.js                                                                  |   10 
 force-app/main/default/lwc/customLightningDatatable/customLightningDatatable.js-meta.xml                                   |    5 
 /dev/null                                                                                                                  |   12 
 force-app/main/default/lwc/lexSummonsCreat/lexSummonsCreat.html                                                            | 1020 
 force-app/main/default/lwc/lexVOCSubmit/lexVOCSubmit.css                                                                   |   10 
 force-app/main/default/lwc/lexPDFQISrequest/lexPDFQISrequest.html                                                          |    5 
 force-app/main/default/lwc/beforeRenderHook/beforeRenderHook.js                                                            |    9 
 force-app/main/default/lwc/lexVOCFinish/lexVOCFinish.css                                                                   |   10 
 913 files changed, 39,176 insertions(+), 2,513 deletions(-)

diff --git a/force-app/main/default/classes/DNUpsertBatch.cls b/force-app/main/default/classes/DNUpsertBatch.cls
index 66ba7d8..e6efbb2 100644
--- a/force-app/main/default/classes/DNUpsertBatch.cls
+++ b/force-app/main/default/classes/DNUpsertBatch.cls
@@ -291,11 +291,12 @@
             Map < String, String > provinceGIMap = new Map< String, String > ();
             //妫�绱CSM绠$悊鐪佸璞�
             //闆嗕腑閲囪喘璇环 澧炲姞妫�绱㈠姪鐞� 
-            List < OCM_Management_Province__c > ompList = [select id, Name, SalesManage__c,GI_assistant__c   from OCM_Management_Province__c ];
+            List < OCM_Management_Province__c > ompList = [select id, Name, SalesManage__c,GI_assistant__c,Window1__c   from OCM_Management_Province__c ];
             //瀛樻斁map<鐪侊紝鎷呭綋>
             for (OCM_Management_Province__c omp: ompList) {
                 provinceOwnerMap.put(omp.Name, omp.SalesManage__c);
-                provinceGIMap.put(omp.Name,omp.GI_assistant__c);
+                //provinceGIMap.put(omp.Name,omp.GI_assistant__c); //Commented by Li Jun 20230420
+                provinceGIMap.put(omp.Name, omp.Window1__c);// Add By Li Jun 鏇存柊 绛炬敹鍗曠殑銆愯惀涓氬姪鐞嗐�戝�硷紝浠嶰CSM绠$悊鐪佸搴旂殑銆愯惀涓氱獥鍙c�戝瓧娈佃幏鍙�
             }
             // 鐢靛瓙绛炬敹鍗� end
 
@@ -603,7 +604,7 @@
             tempeSF.DNName__c = tempDN.Name;
             tempeSF.Statu_Achievements__c = tempDN.Statu_Achievements__c;
             tempeSF.Statu_Achievements_DN__c = tempDN.ID;
-            tempeSF.Sales_assistant_name_text__c = tempDN.Sales_assistant_name_text__c;
+            tempeSF.Sales_assistant_name_text__c = tempDN.Sales_assistant_name_text__c;//Updated By Li Jun 20230420
             tempeSF.RC_Manager__c = tempDN.RC_Manager__c;
             //鐢熸垚绛炬敹鍗曟椂锛岀粰鏄惁鏃犲伩鍑哄簱璧嬪��  绮剧悽鎶�鏈� thh 2021-10-15 start
             if(tempDN.Statu_Achievements__r.orderType__c == 'ZM16'){
@@ -730,11 +731,14 @@
                     tempSADN.Is_Corrosion__c=opp.Is_Corrosion__c;
                     // 鐢靛瓙绛炬敹鍗�  璧嬪�艰惀涓氬姪鐞嗗拰钀ヤ笟绠$悊閮ㄦ媴褰� start
                     //闆嗕腑閲囪喘鐨勮浠� 绮剧悽鎶�鏈� wql 2020/01/11 start 
+                    //Add By Li Jun 20230420 Start 
+                    tempSADN.Sales_assistant_name_text__c =opp.OCM_man_province_cus__c!='' && provinceGIMap.containskey(opp.OCM_man_province_cus__c)?provinceGIMap.get(opp.OCM_man_province_cus__c):'';
+                    //Add By Li Jun 20230420 End
                     if(opp.Group_purchase_PCL__c){
-                        tempSADN.Sales_assistant_name_text__c = provinceGIMap.get('闆嗛噰璇�');
+                        //tempSADN.Sales_assistant_name_text__c = provinceGIMap.get('闆嗛噰璇�'); //Commented By Li Jun 20230420
                         tempSADN.RC_Manager__c =  provinceOwnerMap.get('闆嗛噰璇�');
                     }else{
-                        tempSADN.Sales_assistant_name_text__c = opp.Sales_assistant_name_text__c;
+                        //tempSADN.Sales_assistant_name_text__c = opp.Sales_assistant_name_text__c; //Commented By Li Jun 20230420
                         tempSADN.RC_Manager__c =  provinceOwnerMap.get(opp.OCM_man_province_cus__c);
                     }
                     //闆嗕腑閲囪喘鐨勮浠� 绮剧悽鎶�鏈� wql 2020/01/11 end
diff --git a/force-app/main/default/classes/OCMManagementProvinceWebService.cls b/force-app/main/default/classes/OCMManagementProvinceWebService.cls
index 1038471..6235d97 100644
--- a/force-app/main/default/classes/OCMManagementProvinceWebService.cls
+++ b/force-app/main/default/classes/OCMManagementProvinceWebService.cls
@@ -2,6 +2,7 @@
 
 	WebService static String updateOpportunity() {
         Id execBTId = Database.executeBatch(new OCMManagementProvinceBatch(null), 200);
+        Id udpateSign = Database.executeBatch(new OCManagement);
         return '1';
     }
 }
\ No newline at end of file
diff --git a/force-app/main/default/classes/updateESignBatch.cls b/force-app/main/default/classes/updateESignBatch.cls
index d4843e2..05488e2 100644
--- a/force-app/main/default/classes/updateESignBatch.cls
+++ b/force-app/main/default/classes/updateESignBatch.cls
@@ -311,8 +311,14 @@
 
         //瀛樻斁鎵�鏈夌鏀跺崟褰曞叆琛╥d
         List < String > luruIsLastSubmitList = new List < String > ();
+
+        // 2023-03-16 ssm 浼樺寲閫昏緫锛岄伩鍏嶅悓鏃跺璁惧鍋氱郴缁熸洿鏂颁互鍙婂尰闄㈠拰缁忛攢鍟嗗湪鍚屼竴鎵规锛�15鍒嗛挓鍐咃級涓婁紶鏁版嵁 start
         //鍒ゆ柇鏄惁鏈夋湭澶勭悊鐨勫綍鍏ヨ〃
-        Map < Id, eSignFormEntry__c > unprocessedESignEneryMap = new Map < Id, eSignFormEntry__c > ();
+        // Map < Id, eSignFormEntry__c > unprocessedESignEneryMap = new Map < Id, eSignFormEntry__c > ();
+        Map < Id, List<eSignFormEntry__c> > unprocessedESignEneryMap = new Map < Id, List<eSignFormEntry__c> > ();
+        List<eSignFormEntry__c> unprocessedEntries = new List<eSignFormEntry__c>();
+        // Map <Id, eSignFormEntry__c> unprocessedEntries = new Map<Id, eSignFormEntry__c>();
+        // 2023-03-16 ssm 浼樺寲閫昏緫锛岄伩鍏嶅悓鏃跺璁惧鍋氱郴缁熸洿鏂颁互鍙婂尰闄㈠拰缁忛攢鍟嗗湪鍚屼竴鎵规锛�15鍒嗛挓鍐咃級涓婁紶鏁版嵁 start
 
         //鐢ㄤ簬鍒ゆ柇鍒犻櫎椹冲洖鐨勯檮浠剁殑绛涢�夋潯浠�
         Map < Id, eSignForm__c > rejectESignEneryMap = new Map < Id, eSignForm__c > ();
@@ -418,9 +424,16 @@
                         eSignStringMap.put(eSignFormEntryWhole.Id, eSignFormEntryWhole);
                         //鈶℃墍鏈夌殑 鐢ㄤ簬鏇存柊鏂囦欢(鍖呭惈宸插鐞嗘湭澶勭悊鐨勬暟鎹� )
                         fileIdList.add(eSignFormEntryWhole.Id);
-                        if (eSignFormEntryWhole.IsHandled__c == false) {
+                        // 杩欓噷鏄粈涔堥锛熼兘涓嶅垽鏂竴涓嬬鏀跺崟id鐨勶紵
+                        // if (eSignFormEntryWhole.IsHandled__c == false) {
+                        if (eSignFormEntryWhole.IsHandled__c == false && eSignFormEntryWhole.eSignForm__r.Id  == eid) {
                             //鏈鐞嗙殑
-                            unprocessedESignEneryMap.put(eid, eSignFormEntryWhole);
+                            // 2023-03-16 ssm 浼樺寲閫昏緫锛岄伩鍏嶅悓鏃跺璁惧鍋氱郴缁熸洿鏂颁互鍙婂尰闄㈠拰缁忛攢鍟嗗湪鍚屼竴鎵规锛�15鍒嗛挓鍐咃級涓婁紶鏁版嵁 start
+                            // unprocessedESignEneryMap.put(eid, eSignFormEntryWhole);
+                            List<eSignFormEntry__c> entries = unprocessedESignEneryMap.size() > 0 && unprocessedESignEneryMap.keySet().contains(eid) ? unprocessedESignEneryMap.get(eid) : new List<eSignFormEntry__c>();
+                            entries.add(eSignFormEntryWhole);
+                            unprocessedESignEneryMap.put(eid, entries);
+                            // 2023-03-16 ssm 浼樺寲閫昏緫锛岄伩鍏嶅悓鏃跺璁惧鍋氱郴缁熸洿鏂颁互鍙婂尰闄㈠拰缁忛攢鍟嗗湪鍚屼竴鎵规锛�15鍒嗛挓鍐咃級涓婁紶鏁版嵁 end
                         }
                         if (eSignFormEntryWhole.eSignForm__r.Id  == eid) {
                             //瀛樻斁 绛炬敹鍗昳d锛屽綍鍏ヨ〃id 鏂囦欢鐢�
@@ -595,114 +608,129 @@
                         boolean IsHPSubmit = false;
                         //閿�鍞笭閬�
                         String Sales_Root_Formula;
-                        //褰曞叆绫诲瀷
-                        String type;
+                        //褰曞叆绫诲瀷 
+                        String type; // 杩欎笢瑗挎病鏈夌敤
                         System.debug('lasteSignFormEntryMap:' + lasteSignFormEntryMap);
                         if (lasteSignFormEntryMap.containsKey(eSignFormid)) {
                             eSignForm.id = eSignFormid;
+                            // 2023-03-16 ssm 浼樺寲閫昏緫锛岄伩鍏嶅悓鏃跺璁惧鍋氱郴缁熸洿鏂颁互鍙婂尰闄㈠拰缁忛攢鍟嗗湪鍚屼竴鎵规锛�15鍒嗛挓鍐咃級涓婁紶鏁版嵁 start
                             //绛炬敹鍗昳d
-                            eSignFormEntry__c eSignFormEntry = lasteSignFormEntryMap.get(eSignFormid);
-                            //濡傛灉缁忛攢鍟嗙‘璁ゆ棩涓虹┖鐨勮瘽 杩涘幓鍒ゆ柇鏇存柊缁忛攢鍟嗗鎵圭姸鎬�
-                            if (eSignFormEntry.agencyDNSignUpStatus__c != '绛炬敹宸插畬鎴�') {
-                                if (eSignFormEntry.agencyConfirmDateBack__c == null) {
-                                    if (eSignFormEntry.IsSubmit__c == true) {
-                                        eSignForm.agencyAutoSignUpStatus__c = '鐢宠涓�';
-                                        eSignForm.agencyReject__c = false;
-                                    } else {
-                                        if (eSignFormEntry.agencyScanDayBack__c != null && eSignFormEntry.IsAgencyScan__c) {
-                                            eSignForm.agencyAutoSignUpStatus__c = '鑽夋涓�';
-                                            eSignForm.agencyReject__c = false;
-
+                            // eSignFormEntry__c eSignFormEntry = lasteSignFormEntryMap.get(eSignFormid);
+                            for (eSignFormEntry__c eSignFormEntry : unprocessedESignEneryMap.get(eSignFormid)) {
+                                // 鏍规嵁褰曞叆绫诲瀷鍘绘洿鏂板搴旂殑閮ㄥ垎鏁版嵁
+                                // entryType__c鍖呭惈缁忛攢鍟�
+                                if (String.isNotBlank(eSignFormEntry.entryType__c) && eSignFormEntry.entryType__c.contains('缁忛攢鍟�')) {
+                                    //濡傛灉缁忛攢鍟嗙‘璁ゆ棩涓虹┖鐨勮瘽 杩涘幓鍒ゆ柇鏇存柊缁忛攢鍟嗗鎵圭姸鎬�
+                                    if (eSignFormEntry.agencyDNSignUpStatus__c != '绛炬敹宸插畬鎴�') {
+                                        if (eSignFormEntry.agencyConfirmDateBack__c == null) {
+                                            if (eSignFormEntry.IsSubmit__c == true) {
+                                                eSignForm.agencyAutoSignUpStatus__c = '鐢宠涓�';
+                                                eSignForm.agencyReject__c = false;
+                                            } else {
+                                                if (eSignFormEntry.agencyScanDayBack__c != null && eSignFormEntry.IsAgencyScan__c) {
+                                                    // 璋冩暣鑽夋涓殑璧嬪�奸�昏緫锛屽绔搷浣滅殑鎯呭喌涓嬫湁鍙兘鍏堢敵璇峰悗鑽夋
+                                                    // eSignForm.agencyAutoSignUpStatus__c = '鑽夋涓�';
+                                                    eSignForm.agencyAutoSignUpStatus__c = String.isBlank(eSignForm.agencyAutoSignUpStatus__c) ? '鑽夋涓�' : eSignForm.agencyAutoSignUpStatus__c;
+                                                    eSignForm.agencyReject__c = false;
+                                                }
+                                            }
+                                        }
+                                        //鏈洿鏂板墠鐨勭粡閿�鍟嗗鎵圭姸鎬� 鐢ㄤ簬鏂囦欢绱姹囨��
+                                        if(eSignFormEntry.agencyAutoSignUpStatus__c!=null &&eSignFormEntry.agencyAutoSignUpStatus__c!=''){
+                                            oldESignAgencyStatusMap.put('A' + eSignForm.id, eSignFormEntry.agencyAutoSignUpStatus__c);
+                                        }else{
+                                            oldESignAgencyStatusMap.put('A' + eSignForm.id, '鏃�');
+                                        }
+                                    }
+                                    //濡傛灉娌″彉鍖栧垯涓嶆洿鏂�
+                                    if (eSignFormEntry.AgencyWorkflowEmailBack__c != eSignFormEntry.AgencyWorkflowEmail__c) {
+                                        //缁忛攢鍟嗛偖浠�
+                                        eSignForm.AgencyWorkflowEmail__c = eSignFormEntry.AgencyWorkflowEmailBack__c;
+                                    }
+                                    // 鏃ユ湡鏇存柊
+                                    if (eSignFormEntry.agencyDNSignUpStatus__c != '绛炬敹宸插畬鎴�') {
+                                        //缁忛攢鍟嗘壂鎻忔棩
+                                        if (eSignFormEntry.agencyScanDayBack__c != null) {
+                                            eSignForm.agencyScanDay__c = eSignFormEntry.agencyScanDayBack__c;
+                                        }
+                                        //缁忛攢鍟嗙鏀舵棩
+                                        if (eSignFormEntry.agencySignUpDateBack__c != null) {
+                                            eSignForm.agencySignUpDate__c = eSignFormEntry.agencySignUpDateBack__c;
+                                        }
+                                        //缁忛攢鍟嗙‘璁ゆ棩
+                                        if (eSignFormEntry.agencyConfirmDateBack__c != null) {
+                                            eSignForm.agencyConfirmDate__c = eSignFormEntry.agencyConfirmDateBack__c;
                                         }
                                     }
                                 }
-                                //鏈洿鏂板墠鐨勭粡閿�鍟嗗鎵圭姸鎬� 鐢ㄤ簬鏂囦欢绱姹囨��
-                                if(eSignFormEntry.agencyAutoSignUpStatus__c!=null &&eSignFormEntry.agencyAutoSignUpStatus__c!=''){
-                                    oldESignAgencyStatusMap.put('A' + eSignForm.id, eSignFormEntry.agencyAutoSignUpStatus__c);
-                                }else{
-                                    oldESignAgencyStatusMap.put('A' + eSignForm.id, '鏃�');
-                                }
-                                
-                            }
-                            if (eSignFormEntry.HPDNSignUpStatus__c != '绛炬敹宸插畬鎴�') {
-                                //濡傛灉鍖婚櫌纭鏃ヤ负绌虹殑璇� 杩涘幓鍒ゆ柇鏇存柊鍖婚櫌瀹℃壒鐘舵��
-                                if (eSignFormEntry.salesHPManageConfirmDate__c == null) {
-                                    if (eSignFormEntry.IsHPSubmit__c == true) {
-                                        eSignForm.HPSignUpStatus__c = '鐢宠涓�';
-                                        eSignForm.HPReject__c = false;
-                                    } else {
-                                        if (eSignFormEntry.HPScanDayBack__c != null && eSignFormEntry.IsHPScan__c) {
-                                            eSignForm.HPSignUpStatus__c = '鑽夋涓�';
-                                            eSignForm.HPReject__c = false;
-
+                                // entryType__c鍖呭惈鍖婚櫌
+                                if (String.isNotBlank(eSignFormEntry.entryType__c) && eSignFormEntry.entryType__c.contains('鍖婚櫌')) {
+                                    if (eSignFormEntry.HPDNSignUpStatus__c != '绛炬敹宸插畬鎴�') {
+                                        //濡傛灉鍖婚櫌纭鏃ヤ负绌虹殑璇� 杩涘幓鍒ゆ柇鏇存柊鍖婚櫌瀹℃壒鐘舵��
+                                        if (eSignFormEntry.salesHPManageConfirmDate__c == null) {
+                                            if (eSignFormEntry.IsHPSubmit__c == true) {
+                                                eSignForm.HPSignUpStatus__c = '鐢宠涓�';
+                                                eSignForm.HPReject__c = false;
+                                            } else {
+                                                if (eSignFormEntry.HPScanDayBack__c != null && eSignFormEntry.IsHPScan__c) {
+                                                    // 璋冩暣鑽夋涓殑璧嬪�奸�昏緫锛屽绔搷浣滅殑鎯呭喌涓嬫湁鍙兘鍏堢敵璇峰悗鑽夋
+                                                    // eSignForm.HPSignUpStatus__c = '鑽夋涓�';
+                                                    eSignForm.HPSignUpStatus__c = String.isBlank(eSignForm.HPSignUpStatus__c) ? '鑽夋涓�' : eSignForm.HPSignUpStatus__c;
+                                                    eSignForm.HPReject__c = false;
+                                                }
+                                            }
+                                        }
+                                        //鏈洿鏂板墠鐨勫尰闄㈠鎵圭姸鎬� 鐢ㄤ簬鏂囦欢绱姹囨��
+                                        if(eSignFormEntry.HPSignUpStatus__c!=null &&eSignFormEntry.HPSignUpStatus__c!=''){
+                                            oldESignHPStatusMap.put('H' + eSignForm.id, eSignFormEntry.HPSignUpStatus__c);
+                                        }else{
+                                            oldESignHPStatusMap.put('H' + eSignForm.id, '鏃�');
+                                        }
+                                    }
+                                    //濡傛灉娌″彉鍖栧垯涓嶆洿鏂�
+                                    if (eSignFormEntry.HPWorkflowEmailBack__c != eSignFormEntry.HPWorkflowEmail__c) {
+                                        //鍖婚櫌閭欢
+                                        eSignForm.HPWorkflowEmail__c = eSignFormEntry.HPWorkflowEmailBack__c;
+                                    }
+                                    // 鏃ユ湡鏇存柊
+                                    if (eSignFormEntry.HPDNSignUpStatus__c != '绛炬敹宸插畬鎴�') {
+                                        //鍖婚櫌鎵弿鏃�
+                                        if (eSignFormEntry.HPScanDayBack__c != null) {
+                                            eSignForm.HPScanDay__c = eSignFormEntry.HPScanDayBack__c;
+                                        }
+                                        //鍖婚櫌绛炬敹鏃�
+                                        if (eSignFormEntry.HPSignUpDateBack__c != null) {
+                                            eSignForm.HPSignUpDate__c = eSignFormEntry.HPSignUpDateBack__c;
+                                        }
+                                        //鍖婚櫌纭鏃�
+                                        if (eSignFormEntry.HPConfirmDateBack__c != null) {
+                                            eSignForm.HPConfirmDate__c = eSignFormEntry.HPConfirmDateBack__c;
                                         }
                                     }
                                 }
-                                //鏈洿鏂板墠鐨勫尰闄㈠鎵圭姸鎬� 鐢ㄤ簬鏂囦欢绱姹囨��
-                                if(eSignFormEntry.HPSignUpStatus__c!=null &&eSignFormEntry.HPSignUpStatus__c!=''){
-                                    oldESignHPStatusMap.put('H' + eSignForm.id, eSignFormEntry.HPSignUpStatus__c);
-                                }else{
-                                    oldESignHPStatusMap.put('H' + eSignForm.id, '鏃�');
-                                }
-                                
-                            }
+                                //缁欒惀涓氬姪鐞嗚祴鍊�
+                                //eSignForm.Sales_assistant_name_text__c = eSignFormEntry.Sales_assistant_ID__c;// Commented By Li Jun 20230420
+                                //瀛樹竴涓猧d
+                                idlast = eSignFormEntry.Id;
+                                //绛炬敹鍗昻ame鐢ㄤ綔鏂囦欢鍛藉悕
+                                name = eSignFormEntry.eSignForm__r.Name;
+                                //鏄惁缁忛攢鍟嗘彁浜�
+                                IsSubmit = eSignFormEntry.IsSubmit__c;
+                                //鏄惁鍖婚櫌鎻愪氦
+                                IsHPSubmit = eSignFormEntry.IsHPSubmit__c;
+                                //鏈�鍚庡綍鍏ヨ〃
+                                eSignForm.finalUpadteFrom__c = eSignFormEntry.Id;
+                                //閿�鍞笭閬� 鍖哄垎鐩撮攢杩樻槸鍒嗛攢
+                                Sales_Root_Formula = eSignFormEntry.Sales_Root_Formula__c;
+                                //褰曞叆绫诲瀷
+                                type = eSignFormEntry.entryType__c; // 娌℃湁鐢�
 
-                            //濡傛灉娌″彉鍖栧垯涓嶆洿鏂�
-                            if (eSignFormEntry.AgencyWorkflowEmailBack__c != eSignFormEntry.AgencyWorkflowEmail__c) {
-                                //缁忛攢鍟嗛偖浠�
-                                eSignForm.AgencyWorkflowEmail__c = eSignFormEntry.AgencyWorkflowEmailBack__c;
+                                // 鎵�鏈夋病鏈夋病鏈夊鐞嗙殑entry閮借鏍囪涓哄鐞�
+                                eSignFormEntry.IsHandled__c = true;
+                                unprocessedEntries.add(eSignFormEntry);
+                                // unprocessedEntries.put(eSignFormEntry.Id, eSignFormEntry);
                             }
-                            //濡傛灉娌″彉鍖栧垯涓嶆洿鏂�
-                            if (eSignFormEntry.HPWorkflowEmailBack__c != eSignFormEntry.HPWorkflowEmail__c) {
-                                //鍖婚櫌閭欢
-                                eSignForm.HPWorkflowEmail__c = eSignFormEntry.HPWorkflowEmailBack__c;
-                            }
-                            if (eSignFormEntry.agencyDNSignUpStatus__c != '绛炬敹宸插畬鎴�') {
-                                //缁忛攢鍟嗘壂鎻忔棩
-                                if (eSignFormEntry.agencyScanDayBack__c != null) {
-                                    eSignForm.agencyScanDay__c = eSignFormEntry.agencyScanDayBack__c;
-                                }
-                                //缁忛攢鍟嗙鏀舵棩
-                                if (eSignFormEntry.agencySignUpDateBack__c != null) {
-                                    eSignForm.agencySignUpDate__c = eSignFormEntry.agencySignUpDateBack__c;
-                                }
-                                //缁忛攢鍟嗙‘璁ゆ棩
-                                if (eSignFormEntry.agencyConfirmDateBack__c != null) {
-                                    eSignForm.agencyConfirmDate__c = eSignFormEntry.agencyConfirmDateBack__c;
-                                }
-                            }
-
-                            if (eSignFormEntry.HPDNSignUpStatus__c != '绛炬敹宸插畬鎴�') {
-                                //鍖婚櫌鎵弿鏃�
-                                if (eSignFormEntry.HPScanDayBack__c != null) {
-                                    eSignForm.HPScanDay__c = eSignFormEntry.HPScanDayBack__c;
-                                }
-                                //鍖婚櫌绛炬敹鏃�
-                                if (eSignFormEntry.HPSignUpDateBack__c != null) {
-                                    eSignForm.HPSignUpDate__c = eSignFormEntry.HPSignUpDateBack__c;
-                                }
-                                //鍖婚櫌纭鏃�
-                                if (eSignFormEntry.HPConfirmDateBack__c != null) {
-                                    eSignForm.HPConfirmDate__c = eSignFormEntry.HPConfirmDateBack__c;
-                                }
-                            }
-
-                            //缁欒惀涓氬姪鐞嗚祴鍊�
-                            eSignForm.Sales_assistant_name_text__c = eSignFormEntry.Sales_assistant_ID__c;
-                            //瀛樹竴涓猧d
-                            idlast = eSignFormEntry.Id;
-                            //绛炬敹鍗昻ame鐢ㄤ綔鏂囦欢鍛藉悕
-                            name = eSignFormEntry.eSignForm__r.Name;
-                            //鏄惁缁忛攢鍟嗘彁浜�
-                            IsSubmit = eSignFormEntry.IsSubmit__c;
-                            //鏄惁鍖婚櫌鎻愪氦
-                            IsHPSubmit = eSignFormEntry.IsHPSubmit__c;
-                            //鏈�鍚庡綍鍏ヨ〃
-                            eSignForm.finalUpadteFrom__c = eSignFormEntry.Id;
-                            //閿�鍞笭閬� 鍖哄垎鐩撮攢杩樻槸鍒嗛攢
-                            Sales_Root_Formula = eSignFormEntry.Sales_Root_Formula__c;
-                            //褰曞叆绫诲瀷
-                            type = eSignFormEntry.entryType__c;
+                            // 2023-03-16 ssm 浼樺寲閫昏緫锛岄伩鍏嶅悓鏃跺璁惧鍋氱郴缁熸洿鏂颁互鍙婂尰闄㈠拰缁忛攢鍟嗗湪鍚屼竴鎵规锛�15鍒嗛挓鍐咃級涓婁紶鏁版嵁 end
 
                         }
                         system.debug('绛炬敹鍗曞璞�-----锛�' + eSignForm);
@@ -1000,6 +1028,21 @@
                 //鐢靛瓙绛炬敹鍗� 澧炲姞鏈鏇存柊闄勪欢鏁伴噺  2020/01/07 绮剧悽鎶�鏈� wql end
                 //鏂囦欢 end
             }
+            // 鏇存柊绛炬敹鍗曞綍鍏ヨ〃
+            if(unprocessedEntries.size() > 0) {
+                Database.SaveResult[] lsr = Database.update(unprocessedEntries, false);
+                // Database.SaveResult[] lsr = Database.update(unprocessedEntries.values(), false);
+                eb.setError(lsr, MAXERRORCNT, eSignFormEntry__c.sObjectType);
+                for (Integer tIdx = 0; tIdx < lsr.size(); tIdx++) {
+                    Database.SaveResult sr = lsr[tIdx];
+                    System.debug('sr.isSuccess:' + sr.isSuccess());
+                    if (!sr.isSuccess()) {
+                        Database.Error emsg = sr.getErrors()[0];
+                        iflog.ErrorLog__c += 'ERROR ' + unprocessedEntries[tIdx].Id + ' eSignFormEntry__c:' + emsg + '\n';
+                        // iflog.ErrorLog__c += 'ERROR ' + unprocessedEntries.values()[tIdx].Id + ' eSignFormEntry__c:' + emsg + '\n';
+                    }
+                }
+            }
             system.debug('鏇存柊鐨勭鏀跺崟锛�' + eSignFormList);
             //鏇存柊绛炬敹鍗曟槑缁嗗苟娣诲姞鏃ュ織
             if (eSignFormLuRUList.size() > 0) {
@@ -1114,7 +1157,7 @@
             }
             //鍒犻櫎褰曞叆琛�
             System.debug('鍒犻櫎褰曞叆琛� : ' + eSignFormDeleteList);
-            delete eSignFormDeleteList;
+            // delete eSignFormDeleteList;  // 2023-03-14 ssm 鏆傛椂涓嶈嚜鍔ㄥ垹闄や腑闂磋〃鏁版嵁锛屾柟渚跨煭鏈熷唴鍋歝heck
         }
     }
     @TestVisible
@@ -1127,14 +1170,14 @@
 
         List < eSignForm__c > eSignFormLastList = new List < eSignForm__c >();
         //妫�绱CSM绠$悊鐪佸璞�
-        List < OCM_Management_Province__c > ompList = [select id, Name, SalesManage__c,GI_assistant__c    from OCM_Management_Province__c where Name IN: provinceList];
+        List < OCM_Management_Province__c > ompList = [select id, Name, SalesManage__c,GI_assistant__c,Window1__c    from OCM_Management_Province__c where Name IN: provinceList];
         //瀛樻斁map<鐪侊紝鎷呭綋>
         for (OCM_Management_Province__c omp : ompList) {
             //涓嶇敤map<String,list>鐨� 鍘熷洜鏄� 鎯� ocsm绠$悊鐪� 鍜岀鏀跺崟 钀ヤ笟鎷呭綋鐨勯『搴忎繚鎸佷竴鑷�
             //String salesManage = omp.SalesManage__c+','+omp.SalesManage2__c+','+omp.SalesManage3__c;
             //provinceOwnerMap.put(omp.Name, salesManage);
             provinceOwnerMap.put(omp.Name, omp.SalesManage__c);
-            provinceGIMap.put(omp.Name, omp.GI_assistant__c);
+            provinceGIMap.put(omp.Name, omp.Window1__c);//Update By Li Jun 20230420 for  绛炬敹鍗曡惀涓氬姪鐞嗕粠GI/SP鍔╃悊鏀逛负绛炬敹鍗昈CSM鐪佺殑钀ヤ笟绐楀彛
         }
         //鈶犱负true鐨勬椂鍊� 鏄叾浠栨病鍙戠敓鍙樺寲鍙湁ocsm鐪佷笂钀ヤ笟鎷呭綋鏀瑰彉
         //鈶′负false鐨勬椂鍊欙紝鏈変腑闂磋〃姝e父鏇存柊鐨勬儏鍐�
diff --git a/force-app/main/default/classes/updateESignBatchAttachment.cls b/force-app/main/default/classes/updateESignBatchAttachment.cls
new file mode 100644
index 0000000..982e22b
--- /dev/null
+++ b/force-app/main/default/classes/updateESignBatchAttachment.cls
@@ -0,0 +1,1305 @@
+global class updateESignBatchAttachment implements Database.Batchable < sObject > , Database.Stateful {
+    //鐢靛瓙绛炬敹鍗�-绛炬敹鍗曞綍鍏ヨ〃鏇存柊绛炬敹鍗�  绮剧悽鎶�鏈� wql 2020-09-25 start
+    /*
+    鈶犳甯告墽琛� Database.executeBatch(new updateESignBatchAttachment(), 20);
+    鈶″鐞嗘煇涓�涓鏀跺崟  Database.executeBatch(new updateESignBatchAttachment(''), 1);
+    鈶㈡壒閲忓鐞嗘煇浜涚鏀跺崟(涓嶆槸鏈�缁堢姸鎬佺殑) Database.executeBatch(new updateESignBatchAttachment(['','','']), 20);
+    鈶e鐞嗘煇涓�涓渶缁堢姸鎬佺殑绛炬敹鍗� Database.executeBatch(new updateESignBatchAttachment(''锛宼rue), 1);
+    鈶ゆ壒閲忓鐞嗘煇浜涙渶缁堢姸鎬佺殑绛炬敹鍗� Database.executeBatch(new updateESignBatchAttachment('['','','']'锛宼rue), 20);
+    鈶ュ鐞嗘煇涓�澶╃殑鎵�鏈夌鏀跺崟 Database.executeBatch(new updateESignBatchAttachment(2020-09-27), 20);
+    鈶﹀鐞嗘煇涓�鏃堕棿娈电殑鎵�鏈夌鏀跺崟 Database.executeBatch(new updateESignBatchAttachment(2020-09-27锛�2020-09-28), 20);
+
+    */
+    private static final Integer MAXERRORCNT = 20; // 閭欢琛ㄥ崟浣嶆渶澶ч敊璇俊鎭樉绀烘暟閲�
+    private ScBean scB;
+    private ErrorBean eb = new ErrorBean(); // 閭欢鍙戦�丒RRORBEAN
+    private String scErrorMessage = ''; // 娣诲姞璁″垝閿欒淇℃伅
+
+    //鎵嬪姩鎵ц鏍囪瘑
+    // private Boolean ManualExecution_Identification;
+
+    //瀛樻斁妫�绱㈢殑soql璇彞
+    private String query;
+    //瀛樻斁闇�瑕佹洿鏂扮殑鏃ユ湡
+    private Date toDate;
+    //瀛樻斁涓�娈垫椂闂寸殑寮�濮嬫棩鏈�
+    private Date startDate;
+    //瀛樻斁涓�娈垫椂闂寸殑缁撴潫鏃ユ湡
+    private Date endDate;
+    //瀛樻斁闇�瑕佹洿鏂扮殑绛炬敹鍗昳d
+    private String id;
+    //瀛樻斁闇�瑕佹洿鏂扮殑涓�浜涚鏀跺崟
+    private List < String > ids;
+    //瀛樻斁宸茬粡鏈�缁堢姸鎬佺殑flag
+    private Boolean flag;
+    //鐢ㄤ簬鎵цbatch鍚屾椂璁板綍鏃ュ織淇℃伅
+    private BatchIF_Log__c iflog;
+    global List < String > emailMessages = new List < String > ();
+    global Integer totalCount = 0; // 鎬讳欢鏁�
+    global Integer failedCount = 0; //澶辫触浠舵暟
+    global Boolean ManualExecution_Identification = false;
+    //榛樿璺戞墍鏈夌鏀跺崟
+    global updateESignBatchAttachment() {
+
+        iflog = new BatchIF_Log__c();
+        iflog.Type__c = 'ESignBatch';
+        iflog.Is_Error__c = 0;
+        iflog.Log__c = 'updateESignBatchAttachment start1\n';
+        iflog.ErrorLog__c = '';
+        // insert iflog;
+    }
+    //鏇存柊鏌愪竴澶╃殑绛炬敹鍗�
+    global updateESignBatchAttachment(Date toDate) {
+        //鎵嬪姩鏍囪瘑缃垚true
+        this.ManualExecution_Identification = true;
+
+        this.toDate = toDate;
+        iflog = new BatchIF_Log__c();
+        iflog.Type__c = 'ESignBatch';
+        iflog.Is_Error__c = 0;
+        iflog.Log__c = 'updateESignBatchAttachment start2\n';
+        iflog.ErrorLog__c = '';
+        // insert iflog;
+    }
+    //鏇存柊鏌愪竴鏃堕棿娈电殑 绛炬敹鍗�
+    global updateESignBatchAttachment(Date startDate, Date endDate) {
+        //鎵嬪姩鏍囪瘑缃垚true
+        this.ManualExecution_Identification = true;
+        this.startDate = startDate;
+        this.endDate = endDate;
+        iflog = new BatchIF_Log__c();
+        iflog.Type__c = 'ESignBatch';
+        iflog.Is_Error__c = 0;
+        iflog.Log__c = 'updateESignBatchAttachment start3\n';
+        iflog.ErrorLog__c = '';
+        // insert iflog;
+    }
+    //鎵归噺鏇存柊绛炬敹鍗�
+    global updateESignBatchAttachment(List < String > ids) {
+        //鎵嬪姩鏍囪瘑缃垚true
+        this.ManualExecution_Identification = true;
+        this.ids = ids;
+        iflog = new BatchIF_Log__c();
+        iflog.Type__c = 'ESignBatch';
+        iflog.Is_Error__c = 0;
+        iflog.Log__c = 'updateESignBatchAttachment start4\n';
+        iflog.ErrorLog__c = '';
+        // insert iflog;
+    }
+    //鏇存柊鏌愪竴鏉$殑绛炬敹鍗�
+    global updateESignBatchAttachment(String id) {
+
+        //鎵嬪姩鏍囪瘑缃垚true
+        this.ManualExecution_Identification = true;
+        system.debug('鎵嬪姩浼犲弬1锛�' + ManualExecution_Identification);
+        this.id = id;
+        iflog = new BatchIF_Log__c();
+        iflog.Type__c = 'ESignBatch';
+        iflog.Is_Error__c = 0;
+        iflog.Log__c = 'updateESignBatchAttachment start5\n';
+        iflog.ErrorLog__c = '';
+        // insert iflog;
+    }
+    //鏇存柊鏌愪竴鏉$殑宸插鐞嗙殑绛炬敹鍗�
+    global updateESignBatchAttachment(String id, boolean flag) {
+        //鎵嬪姩鏍囪瘑缃垚true
+        this.ManualExecution_Identification = true;
+        this.id = id;
+        this.flag = flag;
+        iflog = new BatchIF_Log__c();
+        iflog.Type__c = 'ESignBatch';
+        iflog.Is_Error__c = 0;
+        iflog.Log__c = 'updateESignBatchAttachment start6\n';
+        iflog.ErrorLog__c = '';
+        // insert iflog;
+    }
+    //鎵归噺鏇存柊宸插鐞嗙殑绛炬敹鍗�
+    global updateESignBatchAttachment(List < String > ids, boolean flag) {
+        //鎵嬪姩鏍囪瘑缃垚true
+        this.ManualExecution_Identification = true;
+        this.ids = ids;
+        this.flag = flag;
+        iflog = new BatchIF_Log__c();
+        iflog.Type__c = 'ESignBatch';
+        iflog.Is_Error__c = 0;
+        iflog.Log__c = 'updateESignBatchAttachment start7\n';
+        iflog.ErrorLog__c = '';
+        // insert iflog;
+    }
+    global Database.QueryLocator start(Database.BatchableContext bc) {
+        scB = updateESignBatchAttachment.setSc('updateESignFormSchedule', 9, 23, 0, '0 30 2', null);
+        if (System.Test.isRunningTest() == false) {
+            Boolean haveError = false;
+            try {
+                system.schedule(scB.scName, scB.scTime, new updateESignFormSchedule());
+            } catch (Exception e) {
+                haveError = true;
+            }
+            // 濡傛灉鍝熷悓鍚嶇殑Batch璁″垝鍒犻櫎宸插瓨鍦ㄧ殑璁″垝閲嶆柊璁剧疆
+            if (haveError) {
+                haveError = false;
+                for (CronTrigger ct : [SELECT Id, CronJobDetailId, CronExpression, CronJobDetail.Name
+                                       FROM CronTrigger
+                                       WHERE CronJobDetail.Name = :scB.scName]) {
+                    System.abortJob(ct.Id);
+                }
+                try {
+                    system.schedule(scB.scName, scB.scTime, new updateESignFormSchedule());
+                } catch (Exception e) {
+                    scErrorMessage = e.getMessage() + e.getStackTraceString() + '<br/>';
+                }
+            }
+        }
+        //绛炬敹鍗� sql
+        //妫�绱� id锛屽悕瀛楋紝DN绛炬敹鐘舵��(缁忛攢鍟�)锛孌N绛炬敹鐘舵��(鍖婚櫌)锛屾棤鍓嶅闆禗N鍙凤紝缁忛攢鍟嗛獙鏀剁粨鏋滐紝鍖婚櫌楠屾敹缁撴灉
+        //閿�鍞笭閬擄紝钀ヤ笟鍔╃悊锛岃惀涓氱鐞嗛儴鎷呭綋,鏄惁澶勭悊瀹屾瘯绛炬敹鍗�,ocsm绠$悊鐪�
+        query = 'select id,Name,agencyDNSignUpStatus__c,HPDNSignUpStatus__c,DNNameNo0__c,agencyAcceptResult__c,HPAcceptResult__c';
+        query += ',Sales_Root_Formula__c,Sales_assistant_name_text__c,RC_Manager__c,agencyConfirmDate__c,salesHPManageConfirmDate__c';
+        query += ',isProcessed__c,OCM_man_province_cus__c,agencyReject__c,agencyRejectDate__c,HPReject__c,HPRejectDate__c,Statu_Achievements__r.Opportunity__r.Group_purchase_PCL__c  ';
+        query += ' from eSignForm__c ';
+        //妫�绱笉鏄渶缁堢姸鎬佺殑绛炬敹鍗�
+        if (flag != true) {
+            query += ' where isProcessed__c = false  ';
+        } else {
+            if (!string.isblank(id)) {
+                query += 'where id = :id';
+            } else if (ids != null) {
+                query += 'where id in: ids';
+            }
+        }
+        //濡傛灉浼犲叆鐨勬槸涓�娈垫椂闂�
+        if (startDate != null && endDate != null) {
+            query += '  and  createdDate >= : startDate and createdDate <= : endDate';
+        }
+        //濡傛灉浼犲叆鐨勬槸鏌愪竴澶╃殑鏃ユ湡
+        else if (toDate != null) {
+            query += '  and  createdDate = :toDate ';
+        }
+        //濡傛灉浼犲叆鐨勬槸涓�鎵圭鏀跺崟id
+        else if (ids != null) {
+            query += '  and  id in: ids ';
+        }
+        //濡傛灉浼犲叆鐨勬槸璁板綍绫诲瀷鎴栬�呯鏀跺崟id
+        else if (!string.isblank(id)) {
+            query += '  and  id = :id ';
+        }
+        //鏈�鍚庨渶瑕佹帓搴�
+        query += ' order by createdDate asc ';
+        System.debug('sql璇彞锛�' + query);
+        return Database.getQueryLocator(query);
+    }
+    //15鍒嗛挓batch  bug  23:45 ~ 2:30 涔嬮棿鍙繍琛� 澶村熬鍚勪竴娆�
+    public static ScBean setSc(String baseName, Integer minhour, Integer maxhour, Integer minMin, String spbefore, String spafter) {
+        Datetime dt = Datetime.now();
+        Integer year = Integer.valueOf(dt.format('yyyy'));
+        Integer month = Integer.valueOf(dt.format('MM'));
+        Integer day = Integer.valueOf(dt.format('dd'));
+        Integer hour = Integer.valueOf(dt.format('HH'));
+        Integer min = Integer.valueOf(dt.format('mm'));
+        ScBean b = new ScBean();
+        if (hour == maxhour && min >= (minMin + 45)) {
+            b.scName = baseName + '001';
+            if (spafter != null && String.isNotBlank(spafter)) {
+                b.scName = baseName + '005';
+                b.scTime = spafter + ' ' + day + ' ' + month + ' ? ' + year;
+                
+                // system.schedule(sJobame,spafter + ' ' + day + ' ' + month + ' ? ' + year, new AgencyShareUpdateBatchSchedule());
+                return b;
+            } else {
+                dt = Datetime.now().addDays(1);
+                year = Integer.valueOf(dt.format('yyyy'));
+                month = Integer.valueOf(dt.format('MM'));
+                day = Integer.valueOf(dt.format('dd'));
+                hour = Integer.valueOf(dt.format('HH'));
+                min = Integer.valueOf(dt.format('mm'));
+                if (spbefore != null && String.isNotBlank(spbefore)) {
+                    b.scName = baseName + '006';
+                    // '0 20 8
+                    b.scTime = spbefore + ' ' + day + ' ' + month + ' ? ' + year;
+                    // system.schedule(sJobame,spbefore + ' ' + day + ' ' + month + ' ? ' + year, new AgencyShareUpdateBatchSchedule());
+                } else {
+                    b.scTime = '0 ' + minMin + ' ' + minhour + ' ' + day + ' ' + month + ' ? ' + year;
+                    // system.schedule(sJobame,'0 ' + minMin + ' ' + minhour + ' ' + day + ' ' + month + ' ? ' + year, new AgencyShareUpdateBatchSchedule());
+                }
+            }
+        } else if (min < minMin) {
+            b.scName = baseName + '001';
+            b.scTime = '0 ' + minMin + ' ' + hour + ' ' + day + ' ' + month + ' ? ' + year;
+            // system.schedule(sJobame,'0 ' + minMin + ' ' + hour + ' ' + day + ' ' + month + ' ? ' + year, new AgencyShareUpdateBatchSchedule());
+        } else if (min < minMin + 15) {
+            b.scName = baseName + '002';
+            b.scTime = '0 ' + (minMin + 15) + ' ' + hour + ' ' + day + ' ' + month + ' ? ' + year;
+            // system.schedule(sJobame,'0 ' + (minMin + 15) + ' ' + hour + ' ' + day + ' ' + month + ' ? ' + year, new AgencyShareUpdateBatchSchedule());
+        } else if (min < minMin + 30) {
+            b.scName = baseName + '003';
+            b.scTime = '0 ' + (minMin + 30) + ' ' + hour + ' ' + day + ' ' + month + ' ? ' + year;
+            // system.schedule(sJobame,'0 ' + (minMin + 30) + ' ' + hour + ' ' + day + ' ' + month + ' ? ' + year, new AgencyShareUpdateBatchSchedule());
+        } else if (min < minMin + 45) {
+            b.scName = baseName + '004';
+            b.scTime = '0 ' + (minMin + 45) + ' ' + hour + ' ' + day + ' ' + month + ' ? ' + year;
+            // system.schedule(sJobame,'0 ' + (minMin + 45) + ' ' + hour + ' ' + day + ' ' + month + ' ? ' + year, new AgencyShareUpdateBatchSchedule());
+        } else {
+            b.scName = baseName + '001';
+            b.scTime = '0 ' + minMin + ' ' + (hour + 1) + ' ' + day + ' ' + month + ' ? ' + year;
+            // system.schedule(sJobame,'0 ' + minMin + ' ' + (hour + 1) +' ' + day + ' ' + month + ' ? ' + year, new AgencyShareUpdateBatchSchedule());
+
+        }
+        return b;
+    }
+
+    public static void removeOtherSc(String likeName, String needName) {
+        String likeStr = likeName + '00%';
+        for (CronTrigger ct : [SELECT Id, CronJobDetailId, CronExpression, CronJobDetail.Name
+                               FROM CronTrigger
+                               WHERE CronJobDetail.Name Like :likeStr
+                               AND CronJobDetail.Name != :needName]) {
+            System.abortJob(ct.Id);
+        }
+    }
+
+    global void execute(Database.BatchableContext BC, list < eSignForm__c > eSignList) {
+        //鐢ㄤ綔褰曞叆琛ㄧ殑妫�绱㈡潯浠�
+        List < String > esFormidList = new List < String > ();
+        //瀛樻斁绛炬敹鍗曞綍鍏ヨ〃鏄庣粏
+        List < eSignFormLineItemEntry__c > eSignFormLineItemEntryList = new List < eSignFormLineItemEntry__c > ();
+        //鐢ㄤ綔绛炬敹鍗曟槑缁嗙殑妫�绱㈡潯浠�
+        List < String > eSignFormLineIdList = new List < String > ();
+        //鏇存柊鐨勭鏀跺崟鏄庣粏
+        List < eSignFormLineItem__c > eSignFormLuRUList = new List < eSignFormLineItem__c > ();
+        //瀛樻斁鏈�鍚庢洿鏂扮殑 褰曞叆琛╥d
+        List < Id > fileIdList = new List < Id > ();
+        //瀛樻斁鏈�鏂扮殑 绛炬敹鍗昳d锛岀鏀跺崟褰曞叆id
+        Map < Id, Id > eSignIdMap = new Map < Id, Id > ();
+
+        //瀛樻斁鏈�鏂扮殑 绛炬敹鍗昳d锛岀鏀跺崟褰曞叆id 鐢ㄤ簬鏈�鍚庝竴鏉$鏀跺崟褰曞叆琛ㄤ笉鍒犻櫎
+        Map < Id, Id > eSignFormLastIdMap = new Map < Id, Id > ();
+
+        //瀛樻斁鏈�鏂扮殑 绛炬敹鍗昳d锛岀鏀跺崟褰曞叆id 鐢ㄤ簬鏂囦欢鏇存柊
+        Map < Id, Id > eSignFlieIdMap = new Map < Id, Id > ();
+
+        //瀛樻斁褰曞叆琛╥d锛屽綍鍏ヨ〃
+        Map < String, eSignFormEntry__c > lasteSignFormEntryMap = new Map < String, eSignFormEntry__c > ();
+        //瀛樻斁鏈�鏂扮殑 绛炬敹鍗曟槑缁唅d锛岀鏀跺崟鏄庣粏褰曞叆id
+        Map < Id, Id > eSignFormLineItemEntryIdMap = new Map < Id, Id > ();
+        //绛炬敹鍗曞綍鍏ヨ〃鏄庣粏id锛岀鏀跺崟褰曞叆琛ㄦ槑缁�
+        Map < String, eSignFormLineItemEntry__c > lasteSignFormLineItemEntryMap = new Map < String, eSignFormLineItemEntry__c > ();
+        //瀛樻斁 绛炬敹鍗昳d,鏂囦欢鏁伴噺
+        Map < String, Integer > fileMap = new Map < String, Integer > ();
+        //椹冲洖鍚庡垹闄ゆ枃浠� 鍚�  鎺掑簭闂  绮剧悽鎶�鏈� wql  2020/12/24 start
+        List<Attachment> esignAttachAgencyList = new List<Attachment>();
+        List<Attachment> esignAttachHPList = new List<Attachment>();
+        Map<String, Integer> fileAgencyMap = new Map<String, Integer>();
+        Map<String, Integer> fileHPMap = new Map<String, Integer>();
+        //椹冲洖鍚庡垹闄ゆ枃浠� 鍚�  鎺掑簭闂  绮剧悽鎶�鏈� wql  2020/12/24 end
+        //瀛樻斁ocsm绠$悊鐪�
+        List < String > provinceList = new List < String > ();
+        //瀛樻斁15浣嶇鏀跺崟id,ocsm绠$悊鐪�
+        Map < Id, String > provinceMap = new Map < Id, String > ();
+        //瀛樻斁鐢ㄤ簬鏇存柊鐨勭鏀跺崟鏁扮粍
+        List < eSignForm__c > eSignFormList = new List < eSignForm__c > ();
+        //瀛樻斁绛炬敹鍗曞綍鍏ヨ〃id锛宯ame
+        Map < Id, String > eSignNameMap = new Map < Id, String > ();
+        //瀛樻斁绛炬敹鍗曞綍鍏ヨ〃id锛宼ype
+        Map < Id, String > eSignTypeMap = new Map < Id, String > ();
+
+        //鍒犻櫎涓棿琛ㄦ暟鎹敤
+        Map < String, eSignFormEntry__c > eSignStringMap = new Map < String, eSignFormEntry__c > ();
+        //瀛樻斁鎵�鏈夌鏀跺崟褰曞叆琛╥d
+        List < String > luruIsSubmitList = new List < String > ();
+
+        //瀛樻斁鎵�鏈夌鏀跺崟褰曞叆琛╥d
+        List < String > luruIsLastSubmitList = new List < String > ();
+        //鍒ゆ柇鏄惁鏈夋湭澶勭悊鐨勫綍鍏ヨ〃
+        Map < Id, eSignFormEntry__c > unprocessedESignEneryMap = new Map < Id, eSignFormEntry__c > ();
+
+        //鐢ㄤ簬鍒ゆ柇鍒犻櫎椹冲洖鐨勯檮浠剁殑绛涢�夋潯浠�
+        Map < Id, eSignForm__c > rejectESignEneryMap = new Map < Id, eSignForm__c > ();
+        //椹冲洖鍚� 鍒犻櫎涔嬪墠涓婁紶鐨勬枃浠秈d
+        List<Attachment> deleteLastFileList = new List<Attachment>();
+        //瀛樻斁鏈洿鏂板墠鐨勭粡閿�鍟嗗鎵圭姸鎬�
+        Map < String, String > oldESignAgencyStatusMap = new Map < String, String > ();
+        //瀛樻斁鏈洿鏂板墠鐨勫尰闄㈠鎵圭姸鎬�
+        Map < String, String > oldESignHPStatusMap = new Map < String, String > ();
+        try {
+            //寰幆瀛樻斁绛炬敹鍗昳d 鐢ㄤ綔妫�绱㈢鏀跺崟褰曞叆琛ㄧ殑鏉′欢
+            system.debug('eSignList:' + eSignList);
+            if (eSignList.size() > 0) {
+                for (eSignForm__c esForm : eSignList) {
+                    //瀛樻斁绛炬敹鍗昳d,ocsm绠$悊鐪� 濡傛灉璇环鏄泦閲� 鍒欏彇ocsm绠$悊鐪佷负闆嗛噰璇剧殑鎷呭綋
+                    if(esForm.Statu_Achievements__r.Opportunity__r.Group_purchase_PCL__c){
+                        provinceMap.put(esForm.Id, '闆嗛噰璇�');
+                        //妫�绱㈡潯浠�
+                        provinceList.add('闆嗛噰璇�');
+                    }else{
+                        provinceMap.put(esForm.Id, esForm.OCM_man_province_cus__c);
+                        //妫�绱㈡潯浠�
+                        provinceList.add(esForm.OCM_man_province_cus__c);
+                    }
+                    
+                    esFormidList.add(esForm.Id);
+
+                    //鏈夌粡閿�鍟嗛┏鍥炴垨鑰呭尰闄㈤┏鍥炴椂鍒犻櫎涔嬪墠闄勪欢
+                    if (esForm.agencyRejectDate__c != null || esForm.HPRejectDate__c != null) {
+                        rejectESignEneryMap.put(esForm.Id, esForm);
+                    }
+
+
+                }
+            }
+            system.debug('rejectESignEneryMap:' + rejectESignEneryMap);
+            //濡傛灉map涓嶄负绌� 鍒欎綔涓虹瓫閫夋潯浠�
+            if (rejectESignEneryMap.size()>0) {
+                List<Attachment> deleteFileList = [SELECT parentId, createdDate, Name,Description   
+                                                   FROM Attachment
+                                                   WHERE parentId IN: rejectESignEneryMap.keySet() order by createdDate];
+                system.debug('deleteFileList:' + deleteFileList);
+                if (deleteFileList.size() > 0) {
+                    for (eSignForm__c esFile : rejectESignEneryMap.values()) {
+
+                        for (Attachment att : deleteFileList) {
+                            if (esFile.agencyRejectDate__c != null || esFile.HPRejectDate__c != null) {
+                                if (att.parentId == esFile.Id ) {
+                                    //鈶犵粡閿�鍟嗛┏鍥炲悗闇�瑕佸垹闄ょ殑闄勪欢
+                                    if (esFile.agencyRejectDate__c != null) {
+                                        if (att.Name.substring(0, 1) == 'A' && att.createdDate < esFile.agencyRejectDate__c) {
+                                            deleteLastFileList.add(att);
+                                        }
+                                    }
+                                    //鈶″尰闄㈤┏鍥炲悗闇�瑕佸垹闄ょ殑闄勪欢
+                                    if (esFile.HPRejectDate__c != null) {
+                                        if (att.Name.substring(0, 1) == 'H' && att.createdDate < esFile.HPRejectDate__c) {
+                                            deleteLastFileList.add(att);
+                                        }
+                                    }
+                                }
+
+
+                            }
+                        }
+
+                    }
+
+
+                }
+            }
+            system.debug('椹冲洖鍚庡垹闄ょ殑鏂囦欢锛�' + deleteLastFileList);
+            //鍏堝垹鍚庡
+            if (deleteLastFileList.size() > 0) {
+                delete deleteLastFileList;
+            }
+
+            //妫�绱㈡墍鏈夊綍鍏ヨ〃
+            List < eSignFormEntry__c > eSignFormEntryList = [select id, Name, entryType__c, eSignForm__c, eSignForm__r.OCM_man_province_cus__c, salesManageConfirmDate__c, salesHPManageConfirmDate__c, agencyScanDayBack__c, agencySignUpDateBack__c, agencyConfirmDateBack__c, HPScanDayBack__c, HPSignUpDateBack__c, HPConfirmDateBack__c,
+                                       eSignForm__r.Name, IsSubmit__c, IsHPSubmit__c, IsAgencyConfirmSubmit__c, agencyAutoSignUpStatus__c, HPSignUpStatus__c, Sales_Root_Formula__c, Sales_assistant_ID__c, IsHandled__c, IsHPHandled__c, createdDate, AgencyWorkflowEmailBack__c, HPWorkflowEmailBack__c, AgencyWorkflowEmail__c, HPWorkflowEmail__c, eSignForm__r.Id, agencyDNSignUpStatus__c, HPDNSignUpStatus__c, agencyReject__c, HPReject__c, IsAgencyScan__c, IsHPScan__c
+                                       from eSignFormEntry__c
+                                       where eSignForm__c IN: esFormidList
+                                       order by eSignForm__c, createdDate asc
+                                                            ];
+
+            if (eSignFormEntryList.size() > 0) {
+                for (Id eid : esFormidList) {
+                    //閬嶅巻鎵�鏈夌鏀跺崟
+                    for (eSignFormEntry__c eSignFormEntryWhole : eSignFormEntryList) {
+                        //鍒犻櫎鐢�
+                        eSignStringMap.put(eSignFormEntryWhole.Id, eSignFormEntryWhole);
+                        //鈶℃墍鏈夌殑 鐢ㄤ簬鏇存柊鏂囦欢(鍖呭惈宸插鐞嗘湭澶勭悊鐨勬暟鎹� )
+                        fileIdList.add(eSignFormEntryWhole.Id);
+                        if (eSignFormEntryWhole.IsHandled__c == false) {
+                            //鏈鐞嗙殑
+                            unprocessedESignEneryMap.put(eid, eSignFormEntryWhole);
+                        }
+                        if (eSignFormEntryWhole.eSignForm__r.Id  == eid) {
+                            //瀛樻斁 绛炬敹鍗昳d锛屽綍鍏ヨ〃id 鏂囦欢鐢�
+                            eSignFlieIdMap.put(eSignFormEntryWhole.Id, eid);
+                            //瀛樻斁绛炬敹鍗曞綍鍏ヨ〃锛宨d锛宯ame 鏂囦欢鐢�
+                            eSignNameMap.put(eid, eSignFormEntryWhole.eSignForm__r.Name);
+                        }
+
+
+                        //瀛樻斁褰曞叆琛╥d锛岃褰曠被鍨� id锛宼ype 鏂囦欢鐢�
+                        eSignTypeMap.put(eSignFormEntryWhole.Id, eSignFormEntryWhole.entryType__c);
+                    }
+                }
+
+                system.debug('eSignFlieIdMap:' + eSignFlieIdMap);
+                //澶栧眰鏄鏀跺崟
+                for (Id esFormid : esFormidList) {
+                    //鍐呭眰鏄鏀跺崟褰曞叆琛�
+                    for (eSignFormEntry__c eSignFormEntry : eSignFormEntryList) {
+
+                        //鈶犲彇鏈�鏂扮殑 褰曞叆琛� + 鏈鐞嗙殑
+                        if (esFormid.equals(eSignFormEntry.eSignForm__c)) {
+
+                            if (!eSignFormEntry.IsHandled__c) {
+                                //瀛樻斁 绛炬敹鍗昳d锛屽綍鍏ヨ〃id
+                                eSignIdMap.put(esFormid, eSignFormEntry.Id);
+                                lasteSignFormEntryMap.put(esFormid, eSignFormEntry);
+                                //鍥犱负鎸夌鏀跺崟鍊掑簭鎺掞紝鎵�浠ョ涓�鏉″氨鏄渶鏂扮殑锛岀洿鎺ヨ烦鍑�
+                                // break;
+                            }
+                            eSignFormLastIdMap.put(esFormid, eSignFormEntry.Id);
+
+                        }
+
+                    }
+                }
+                //鏈�鍚庢洿鏂扮殑褰曞叆琛╥d
+                for (Id eSignId : eSignIdMap.values()) {
+                    luruIsSubmitList.add(eSignId);
+                }
+                //鏈�鍚庢洿鏂扮殑褰曞叆琛╥d
+                for (Id eSignId : eSignFormLastIdMap.values()) {
+                    luruIsLastSubmitList.add(eSignId);
+                }
+
+                //閲嶆柊瀵归檮浠舵帓搴�  瑙勫垯鍙樹负鏍规嵁绛炬敹鍗曠幇鏈夐檮浠跺簭鍙疯繘琛屾帓搴� 绮剧悽鎶�鏈� wql start
+                //鏆傛椂瀛樻斁涓�涓嬬鏀跺崟鍚嶇О
+                Map<string, string> tempMap = new Map<string, string>();
+                List<Attachment> tempAttList = [SELECT parentId, createdDate, Name,Description  
+                                                FROM Attachment
+                                                WHERE parentId IN: esFormidList order by createdDate];
+                if (tempAttList.size() > 0) {
+                    //澶栧眰寰幆绛炬敹鍗�
+                    for (String es : esFormidList) {
+
+                        //鍐呭眰寰幆闄勪欢
+                        for (Attachment att : tempAttList) {
+                            //濡傛灉id鐩哥瓑
+                            if (es.equals(att.parentId)) {
+                                //鏍规嵁鍚嶇О鎷嗗垎 瀛樺叆涓嶅悓list
+                                String name = att.Name;
+                                if (name.substring(0, 1).equals('A')) {
+                                    esignAttachAgencyList.add(att);
+                                } else if (name.substring(0, 1).equals('H')) {
+                                    esignAttachHPList.add(att);
+                                }
+
+                            }
+                        }
+                        //鍒嗗埆瀛樺叆鍒扮粡閿�鍟唎r鍖婚櫌鐨勯檮浠秏ap 鐢ㄤ簬鍚庢湡鍛藉悕
+                        if (esignAttachAgencyList.size() > 0) {
+                            fileAgencyMap.put(es, esignAttachAgencyList.size());
+                        }
+                        if (esignAttachHPList.size() > 0) {
+                            fileHPMap.put(es, esignAttachHPList.size());
+                        }
+                        //娓呯┖list 渚涗笅涓�涓鏀跺崟浣跨敤
+                        esignAttachAgencyList.clear();
+                        esignAttachHPList.clear();
+
+                    }
+                }
+                system.debug('fileAgencyMap:' + fileAgencyMap);
+                system.debug('fileHPMap:' + fileHPMap);
+                //閲嶆柊瀵归檮浠舵帓搴�  瑙勫垯鍙樹负鏍规嵁绛炬敹鍗曠幇鏈夐檮浠跺簭鍙疯繘琛屾帓搴� 绮剧悽鎶�鏈� wql end
+
+                //鏍规嵁鎵�鏈夌殑绛炬敹鍗曞綍鍏ヨ〃id妫�绱㈡墍鏈夌殑绛炬敹鍗曟槑缁嗗綍鍏�
+                List < eSignFormLineItemEntry__c > eSignFormLineItemEntryLists = [select id, eSignFormEntry__r.entryType__c, eSignFormEntry__r.IsHandled__c, eSignFormLineItem__c, eSignFormEntry__c,
+                                                   agencyConfirmResult__c, HPConfirmResult__c, HPGoodStatus__c, agencyGoodStatus__c
+                                                   from eSignFormLineItemEntry__c where eSignFormEntry__c in : luruIsSubmitList  and eSignFormEntry__r.IsHandled__c = false order by createdDate asc
+                                                                                 ];
+                if (eSignFormLineItemEntryLists.size() > 0) {
+                    for (eSignFormLineItemEntry__c eSignFormLineItemEntry : eSignFormLineItemEntryLists) {
+                        eSignFormLineIdList.add(eSignFormLineItemEntry.eSignFormLineItem__c);
+                    }
+                }
+                system.debug('eSignFormLineIdList:' + eSignFormLineIdList);
+                if (eSignFormLineIdList.size() > 0) {
+                    //鏍规嵁绛炬敹鍗曟槑缁嗗綍鍏ヨ〃 鍘绘绱㈢鏀跺崟鏄庣粏
+                    List < eSignFormLineItem__c > eSignFormLineItemList = [select id, agencyGoodStatus__c, HPGoodStatus__c from eSignFormLineItem__c where id IN: eSignFormLineIdList];
+                    if (eSignFormLineItemList.size() > 0) {
+                        //澶栧眰绛炬敹鍗曟槑缁�
+                        for (eSignFormLineItem__c eSignFormLineItem : eSignFormLineItemList) {
+                            //鍐呭眰绛炬敹鍗曟槑缁嗗綍鍏�
+                            for (eSignFormLineItemEntry__c eSignFormLineItemEntry : eSignFormLineItemEntryLists) {
+                                //鏄庣粏id鐩哥瓑瀛樻斁涓�涓猰ap
+                                if (eSignFormLineItem.Id.equals(eSignFormLineItemEntry.eSignFormLineItem__c)) {
+                                    eSignFormLineItemEntryIdMap.put(eSignFormLineItem.Id, eSignFormLineItemEntry.Id);
+                                    lasteSignFormLineItemEntryMap.put(eSignFormLineItem.Id, eSignFormLineItemEntry);
+                                }
+                            }
+                        }
+                    }
+                }
+
+                system.debug('lasteSignFormLineItemEntryMap:' + lasteSignFormLineItemEntryMap);
+                if (eSignFormLineIdList.size() > 0) {
+                    //寰幆 鏇存柊绛炬敹鍗�
+                    for (Id esefId : eSignFormLineIdList) {
+
+                        if (lasteSignFormLineItemEntryMap.containsKey(esefId)) {
+                            eSignFormLineItemEntry__c luru = lasteSignFormLineItemEntryMap.get(esefId);
+                            //new 涓�涓鏀跺崟鏄庣粏瀵硅薄
+                            eSignFormLineItem__c eSignLuRu = new eSignFormLineItem__c();
+                            //绛炬敹鍗昳d
+                            eSignLuRu.id = esefId;
+                            //璐х墿鎯呭喌(缁忛攢鍟嗘敹璐�)
+                            eSignLuRu.agencyGoodStatus__c = luru.agencyGoodStatus__c;
+                            // //缁忛攢鍟嗙‘璁ょ粨鏋�
+                            // eSignLuRu.agencyConfirmResult__c = luru.agencyConfirmResult__c;
+                            //璐х墿鎯呭喌(鍖婚櫌鏀惰揣)
+                            eSignLuRu.HPGoodStatus__c = luru.HPGoodStatus__c;
+                            // //缁忛攢鍟嗙‘璁ょ粨鏋�
+                            // eSignLuRu.HPConfirmResult__c = luru.HPConfirmResult__c;
+                            //鍚屼竴涓鏀跺崟寰幆閬嶅巻绛炬敹鍗曞綍鍏ヨ〃 鏈�鍚庝竴涓綍鍏ヨ〃浼歛dd鍒版洿鏂版暟缁勪腑
+                            if (eSignLuRu != null) {
+                                system.debug('绛炬敹鍗曟槑缁嗚薄-----锛�' + eSignLuRu);
+                                eSignFormLuRuList.add(eSignLuRu);
+                            }
+                        }
+
+
+                    }
+                }
+                System.debug('鏇存柊鐨勭鏀跺崟鏄庣粏list:' + eSignFormLuRUList);
+                system.debug('esFormidList锛�' + esFormidList);
+                if (unprocessedESignEneryMap.size() > 0) {
+                    for (Id eSignFormid : unprocessedESignEneryMap.keySet()) {
+                        //new 涓�涓鏀跺崟瀵硅薄
+                        eSignForm__c eSignForm = new eSignForm__c();
+
+                        String name = '';
+                        String idlast = '';
+                        boolean IsSubmit = false;
+                        boolean IsHPSubmit = false;
+                        //閿�鍞笭閬�
+                        String Sales_Root_Formula;
+                        //褰曞叆绫诲瀷
+                        String type;
+                        System.debug('lasteSignFormEntryMap:' + lasteSignFormEntryMap);
+                        if (lasteSignFormEntryMap.containsKey(eSignFormid)) {
+                            eSignForm.id = eSignFormid;
+                            //绛炬敹鍗昳d
+                            eSignFormEntry__c eSignFormEntry = lasteSignFormEntryMap.get(eSignFormid);
+                            //濡傛灉缁忛攢鍟嗙‘璁ゆ棩涓虹┖鐨勮瘽 杩涘幓鍒ゆ柇鏇存柊缁忛攢鍟嗗鎵圭姸鎬�
+                            if (eSignFormEntry.agencyDNSignUpStatus__c != '绛炬敹宸插畬鎴�') {
+                                if (eSignFormEntry.agencyConfirmDateBack__c == null) {
+                                    if (eSignFormEntry.IsSubmit__c == true) {
+                                        eSignForm.agencyAutoSignUpStatus__c = '鐢宠涓�';
+                                        eSignForm.agencyReject__c = false;
+                                    } else {
+                                        if (eSignFormEntry.agencyScanDayBack__c != null && eSignFormEntry.IsAgencyScan__c) {
+                                            eSignForm.agencyAutoSignUpStatus__c = '鑽夋涓�';
+                                            eSignForm.agencyReject__c = false;
+
+                                        }
+                                    }
+                                }
+                                //鏈洿鏂板墠鐨勭粡閿�鍟嗗鎵圭姸鎬� 鐢ㄤ簬鏂囦欢绱姹囨��
+                                if(eSignFormEntry.agencyAutoSignUpStatus__c!=null &&eSignFormEntry.agencyAutoSignUpStatus__c!=''){
+                                    oldESignAgencyStatusMap.put('A' + eSignForm.id, eSignFormEntry.agencyAutoSignUpStatus__c);
+                                }else{
+                                    oldESignAgencyStatusMap.put('A' + eSignForm.id, '鏃�');
+                                }
+                                
+                            }
+                            if (eSignFormEntry.HPDNSignUpStatus__c != '绛炬敹宸插畬鎴�') {
+                                //濡傛灉鍖婚櫌纭鏃ヤ负绌虹殑璇� 杩涘幓鍒ゆ柇鏇存柊鍖婚櫌瀹℃壒鐘舵��
+                                if (eSignFormEntry.salesHPManageConfirmDate__c == null) {
+                                    if (eSignFormEntry.IsHPSubmit__c == true) {
+                                        eSignForm.HPSignUpStatus__c = '鐢宠涓�';
+                                        eSignForm.HPReject__c = false;
+                                    } else {
+                                        if (eSignFormEntry.HPScanDayBack__c != null && eSignFormEntry.IsHPScan__c) {
+                                            eSignForm.HPSignUpStatus__c = '鑽夋涓�';
+                                            eSignForm.HPReject__c = false;
+
+                                        }
+                                    }
+                                }
+                                //鏈洿鏂板墠鐨勫尰闄㈠鎵圭姸鎬� 鐢ㄤ簬鏂囦欢绱姹囨��
+                                if(eSignFormEntry.HPSignUpStatus__c!=null &&eSignFormEntry.HPSignUpStatus__c!=''){
+                                    oldESignHPStatusMap.put('H' + eSignForm.id, eSignFormEntry.HPSignUpStatus__c);
+                                }else{
+                                    oldESignHPStatusMap.put('H' + eSignForm.id, '鏃�');
+                                }
+                                
+                            }
+
+                            //濡傛灉娌″彉鍖栧垯涓嶆洿鏂�
+                            if (eSignFormEntry.AgencyWorkflowEmailBack__c != eSignFormEntry.AgencyWorkflowEmail__c) {
+                                //缁忛攢鍟嗛偖浠�
+                                eSignForm.AgencyWorkflowEmail__c = eSignFormEntry.AgencyWorkflowEmailBack__c;
+                            }
+                            //濡傛灉娌″彉鍖栧垯涓嶆洿鏂�
+                            if (eSignFormEntry.HPWorkflowEmailBack__c != eSignFormEntry.HPWorkflowEmail__c) {
+                                //鍖婚櫌閭欢
+                                eSignForm.HPWorkflowEmail__c = eSignFormEntry.HPWorkflowEmailBack__c;
+                            }
+                            if (eSignFormEntry.agencyDNSignUpStatus__c != '绛炬敹宸插畬鎴�') {
+                                //缁忛攢鍟嗘壂鎻忔棩
+                                if (eSignFormEntry.agencyScanDayBack__c != null) {
+                                    eSignForm.agencyScanDay__c = eSignFormEntry.agencyScanDayBack__c;
+                                }
+                                //缁忛攢鍟嗙鏀舵棩
+                                if (eSignFormEntry.agencySignUpDateBack__c != null) {
+                                    eSignForm.agencySignUpDate__c = eSignFormEntry.agencySignUpDateBack__c;
+                                }
+                                //缁忛攢鍟嗙‘璁ゆ棩
+                                if (eSignFormEntry.agencyConfirmDateBack__c != null) {
+                                    eSignForm.agencyConfirmDate__c = eSignFormEntry.agencyConfirmDateBack__c;
+                                }
+                            }
+
+                            if (eSignFormEntry.HPDNSignUpStatus__c != '绛炬敹宸插畬鎴�') {
+                                //鍖婚櫌鎵弿鏃�
+                                if (eSignFormEntry.HPScanDayBack__c != null) {
+                                    eSignForm.HPScanDay__c = eSignFormEntry.HPScanDayBack__c;
+                                }
+                                //鍖婚櫌绛炬敹鏃�
+                                if (eSignFormEntry.HPSignUpDateBack__c != null) {
+                                    eSignForm.HPSignUpDate__c = eSignFormEntry.HPSignUpDateBack__c;
+                                }
+                                //鍖婚櫌纭鏃�
+                                if (eSignFormEntry.HPConfirmDateBack__c != null) {
+                                    eSignForm.HPConfirmDate__c = eSignFormEntry.HPConfirmDateBack__c;
+                                }
+                            }
+
+                            //缁欒惀涓氬姪鐞嗚祴鍊�
+                            eSignForm.Sales_assistant_name_text__c = eSignFormEntry.Sales_assistant_ID__c;
+                            //瀛樹竴涓猧d
+                            idlast = eSignFormEntry.Id;
+                            //绛炬敹鍗昻ame鐢ㄤ綔鏂囦欢鍛藉悕
+                            name = eSignFormEntry.eSignForm__r.Name;
+                            //鏄惁缁忛攢鍟嗘彁浜�
+                            IsSubmit = eSignFormEntry.IsSubmit__c;
+                            //鏄惁鍖婚櫌鎻愪氦
+                            IsHPSubmit = eSignFormEntry.IsHPSubmit__c;
+                            //鏈�鍚庡綍鍏ヨ〃
+                            eSignForm.finalUpadteFrom__c = eSignFormEntry.Id;
+                            //閿�鍞笭閬� 鍖哄垎鐩撮攢杩樻槸鍒嗛攢
+                            Sales_Root_Formula = eSignFormEntry.Sales_Root_Formula__c;
+                            //褰曞叆绫诲瀷
+                            type = eSignFormEntry.entryType__c;
+
+                        }
+                        system.debug('绛炬敹鍗曞璞�-----锛�' + eSignForm);
+                        if (eSignForm != null) {
+                            system.debug('eSignFormid:' + eSignFormid);
+                            if (eSignForm.id != null) {
+
+                                eSignFormList.add(eSignForm);
+                            }
+
+                        }
+                        system.debug('eSignFormList111:' + eSignFormList);
+                        if (eSignFormList.size() > 0) {
+                            //鏇存柊OCSM绠$悊鐪� 鎷呭綋
+                            eSignFormList = updateOwner(provinceList, provinceMap, eSignFormList, false);
+                        }
+
+
+                    }
+                }
+
+
+            }
+
+            if (eSignFormList.size() <= 0) {
+                system.debug('鎴戣蛋鍒拌繖閲屼簡锛�');
+                eSignFormList  = updateOwner(provinceList, provinceMap, eSignList, true);
+            }
+
+
+            List<Id> fileList = new List<Id> ();
+            if (fileIdList.size() > 0) {
+                for (Id fileId : fileIdList) {
+                    if (!fileList.contains(fileId)) {
+                        fileList.add(fileId);
+                    }
+
+                }
+            }
+
+            System.debug('fileIdList锛�' + fileIdList);
+            System.debug('fileList锛�' + fileList);
+            //鐢ㄤ簬鏈�鍚巌nsert 闄勪欢
+            List<Attachment> insertAttactment = new List<Attachment>();
+            //闄勪欢  start
+            List<Attachment> attachMentList = [SELECT id, parentId, Body, Name, ContentType,Description  from Attachment where parentId IN :fileList and Description!='鐢靛瓙绛炬敹鍗曪細宸插鐞�'];
+            //淇宸插鐞嗘暟鎹� 闄勪欢娌℃洿鏂�  鍗虫病鏈夐檮浠惰兘鎻愪氦鐨刡ug 绮剧悽鎶�鏈� wql 2021/01/19 start 
+            List<Attachment> eSignEntryAttachMentList = new List<Attachment>();
+            //鏂囦欢鏁伴噺 鐢ㄤ簬鏂囦欢鍛藉悕
+            Integer agencyCount = 0;
+            Integer hpCount = 0;
+
+            String name;
+            String type ;
+            Integer agencyFileCountNum = 0;
+            Integer hpFileCountNum = 0;
+            Integer i = 0;
+            Integer j = 0;
+            //璁板綍璇ョ鏀跺崟鐨勬渶鏂扮粡閿�鍟嗛檮浠舵暟閲�
+            Map<id,Integer> eSignAgencyAttSum = new Map<id,Integer> ();
+            //璁板綍璇ョ鏀跺崟鐨勬渶鏂板尰闄㈤檮浠舵暟閲�
+            Map<id,Integer> eSignHpAttSum = new Map<id,Integer> ();
+
+            //鍚屼竴鏉″綍鍏ヨ〃澶氫釜闄勪欢鏍囪瘑
+            Boolean agencyNumFlag = false;
+            Boolean hpNumFlag = false;
+
+            //瀛�1鏉℃暟鎹唴澶氫釜闄勪欢 涓�涓浐瀹氬��
+            Integer agencySumCount = 0;
+            Integer hpSumCount = 0;
+
+            if (fileList.size() > 0) {
+                system.debug('attachMentList:' + attachMentList);
+                system.debug('eSignFlieIdMap:' + eSignFlieIdMap);
+                system.debug('eSignNameMap:' + eSignNameMap);
+                for (Id eSignFormEntryId : fileList) {
+
+                    for (Attachment attach : attachMentList) {
+
+                        if (attach.parentId == eSignFormEntryId) {
+                            Id eid = eSignFlieIdMap.get(attach.parentId);
+                            system.debug('eid:' + eid);
+
+                            name = eSignNameMap.get(eid);
+                            system.debug('name:' + name);
+                            type = eSignTypeMap.get(attach.parentId);
+
+                            //鍥犱负澶栧眰寰幆鏄腑闂磋〃 濡傛灉2鏉′互涓婂綍鍏ヨ〃閮芥湁缁忛攢鍟嗛檮浠� 鍒欎娇鐢ㄦ渶鏂版瀯寤虹殑缁忛攢鍟嗛檮浠舵暟閲忔潵鍛藉悕
+                            //鍚﹀垯鍙栨湭鏇存柊涔嬪墠鏈夌殑缁忛攢鍟嗛檮浠舵暟閲� 骞朵笖 涓嶆槸1涓綍鍏ヨ〃澶氫釜闄勪欢 涔熷氨鏄痜alse鐨勬椂鍊� 鍙栨ā鎷熺殑鏈�鏂版暟閲�
+                            if(eSignAgencyAttSum.size()>0&&!agencyNumFlag){
+                                agencyCount = eSignAgencyAttSum.get(eid);
+                                //璁板綍涓�涓渶鏂扮殑闄勪欢鏁�
+                                agencySumCount =agencyCount;
+                            }else if(agencySumCount>0){
+                                //鏈寰幆鍐� 绗竴娆″彇闄勪欢鏁版渶鏂板�� 鍚庣画閮藉湪姝ゅ熀纭�涓奿++
+                                agencyCount =agencySumCount;
+                            }
+                            else if(fileAgencyMap.size() > 0){
+                                //鍙湁涓�鏉℃暟鎹椂锛屼娇鐢ㄦ闄勪欢鏁板嵆鍙� 鍚庣画鍦ㄦ鍩虹涓奿++
+                                agencyCount = fileAgencyMap.get(eid);
+                            }
+
+                            //鍚屼竴涓唴閮ㄥ惊鐜噷缃垚true
+                            agencyNumFlag = true;
+                            //缁忛攢鍟嗛檮浠跺懡鍚� start
+                            // if (fileAgencyMap.size() > 0) {
+                            //     agencyCount = fileAgencyMap.get(eid);
+                            // }
+
+                            system.debug(name + 'agencyCount:' + agencyCount);
+                            if (agencyCount == null || agencyCount == 0) {
+                                agencyFileCountNum = 1 + i;
+                            } else {
+                                agencyFileCountNum = agencyCount + 1 + i;
+                            }
+
+                            //缁忛攢鍟嗛檮浠跺懡鍚� end
+                            //鍥犱负澶栧眰寰幆鏄腑闂磋〃 濡傛灉2鏉′互涓婂綍鍏ヨ〃閮芥湁鍖婚櫌闄勪欢 鍒欎娇鐢ㄦ渶鏂版瀯寤虹殑鍖婚櫌闄勪欢鏁伴噺鏉ュ懡鍚�
+                            //鍚﹀垯鍙栨湭鏇存柊涔嬪墠鏈夌殑鍖婚櫌闄勪欢鏁伴噺 骞朵笖 涓嶆槸1涓綍鍏ヨ〃澶氫釜闄勪欢 涔熷氨鏄痜alse鐨勬椂鍊� 鍙栨ā鎷熺殑鏈�鏂版暟閲�
+                            if(eSignHpAttSum.size()>0&&!hpNumFlag){
+                                hpCount = eSignHpAttSum.get(eid);
+                                //璁板綍涓�涓渶鏂扮殑闄勪欢鏁�
+                                hpSumCount = hpCount;
+                            }else if(hpSumCount >0 ){
+                                //鏈寰幆鍐� 绗竴娆″彇闄勪欢鏁版渶鏂板�� 鍚庣画閮藉湪姝ゅ熀纭�涓妀++
+                                hpCount =hpSumCount;                        
+                            }
+                            else if(fileHPMap.size() > 0){
+                                //鍙湁涓�鏉℃暟鎹椂锛屼娇鐢ㄦ闄勪欢鏁板嵆鍙� 鍚庣画鍦ㄦ鍩虹涓妀++
+                                hpCount = fileHPMap.get(eid);
+                            }
+                            //鍚屼竴涓唴閮ㄥ惊鐜噷缃垚true
+                            hpNumFlag =true;
+                            //鍖婚櫌闄勪欢鍛藉悕 start
+                            // if (fileHPMap.size() > 0) {
+                            //     hpCount = fileHPMap.get(eid);
+                            // }
+                            system.debug(name + 'hpCount:' + hpCount);
+
+                            if (hpCount == null || hpCount == 0) {
+                                hpFileCountNum = 1 + j;
+                            } else {
+                                hpFileCountNum = hpCount + 1 + j;
+                            }
+                            //鏋勫缓鏈�鏂扮殑绛炬敹鍗曠粡閿�鍟嗛檮浠舵暟閲�
+                            if(agencyFileCountNum>0){
+                                eSignAgencyAttSum.put(eid,agencyFileCountNum);
+                            }
+                            //鏋勫缓鏈�鏂扮殑绛炬敹鍗曞尰闄㈤檮浠舵暟閲�
+                            if(hpFileCountNum>0){
+                                eSignHpAttSum.put(eid,hpFileCountNum);
+                            }
+                            //鍖婚櫌闄勪欢鍛藉悕 end
+                            //鐢ㄤ簬鎷嗗垎缁忛攢鍟�/鍖婚櫌 鍖哄埆鏂囦欢鍚�
+                            String finalName = '';
+                            String title = '';
+
+                            //鏂囦欢鍛藉悕
+                            if (type == '缁忛攢鍟嗘敹璐�' || type == '缁忛攢鍟嗙‘璁�') {
+                                finalName = 'A-' + name;
+                                //鐢ㄤ簬鍒ゆ柇澶氭涓婁紶鏂囦欢鍛藉悕
+                                i++;
+                                title = finalName + '--' + agencyFileCountNum;
+                            } else if (type == '鍖婚櫌鏀惰揣' || type == '鍖婚櫌纭') {
+                                finalName = 'H-' + name;
+                                //鐢ㄤ簬鍒ゆ柇澶氭涓婁紶鏂囦欢鍛藉悕
+                                j++;
+                                title = finalName + '--' + hpFileCountNum;
+                            } else {
+                                finalName = name;
+                            }
+
+                            system.debug('鏂囦欢鍚嶏細' + title);
+                            //鍒ゆ柇涓�涓嬫牸寮忥紝涓嶇劧涓嬭浇涓嬫潵鏄被鍨嬫槸鎵�鏈夋枃浠�
+                            // if(attach.ContentType == 'application/pdf'){
+                            //     title = title +'.pdf';
+                            // }else if(attach.ContentType == 'image/jpeg'){
+                            //     title = title +'.jpg';
+                            // }
+                            //鍒ゆ柇涓�涓嬫牸寮忥紝涓嶇劧涓嬭浇涓嬫潵鏄被鍨嬫槸鎵�鏈夋枃浠� 鏃犳硶鎵撳紑
+                            if (attach.Name.lastIndexOf('.') > -1) {
+                                title = title + attach.Name.substring(attach.Name.lastIndexOf('.'));
+                            }
+
+                            Attachment newAttachment = attach.clone();
+                            newAttachment.parentId = eid;
+                            newAttachment.name = title;
+                            // newAttachment.ContentType =attach.ContentType;
+                            //瑕佹洿鏂扮殑绛炬敹鍗曢檮浠�
+                            insertAttactment.add(newAttachment);
+                            //鍙嶆洿鏂板綍鍏ヨ〃鐨勯檮浠� 鐢ㄦ潵鍒ゆ柇闄勪欢鏄惁琚洿鏂�
+                            Attachment oldAttachment = new  Attachment();
+                            oldAttachment.Id = attach.Id;
+                            oldAttachment.Description = '鐢靛瓙绛炬敹鍗曪細宸插鐞�';
+                            eSignEntryAttachMentList.add(oldAttachment);
+
+                        }
+
+
+                    }
+                    //鏁村崟寰幆鍚� 娓呯┖鍊�
+                    i = 0;
+                    j = 0;
+                    agencyNumFlag= false;
+                    hpNumFlag =false;
+                    agencySumCount =0;
+                    hpSumCount=0;
+                }
+
+            }
+
+            //鐢靛瓙绛炬敹鍗� 澧炲姞鏈鏇存柊闄勪欢鏁伴噺  2020/01/07 绮剧悽鎶�鏈� wql start
+            //娌℃湁闄勪欢鍒欐牴鏈笉浼氳繘鍏�
+            if (insertAttactment.size() > 0) {
+                insert insertAttactment;
+                //鍙嶅悜鏇存柊褰曞叆琛ㄩ檮浠�
+                if(eSignEntryAttachMentList.size()>0){
+                    update eSignEntryAttachMentList;
+                }
+
+                //鏇存柊宸叉彁浜ょ殑绛炬敹鍗曠殑闄勪欢鏁�
+                if (eSignFormList.size() > 0) {
+                    //澶栧眰鎵�鏈夌鏀跺崟
+                    for (eSignForm__c es : eSignFormList) {
+
+                        //a涓虹粡閿�鍟嗛檮浠剁殑鏁伴噺 h涓哄尰闄㈤檮浠剁殑鏁伴噺
+                        Integer a = 0;
+                        Integer h = 0;
+
+                        //鍐呭眰鎵�鏈夐渶瑕佹洿鏂扮殑闄勪欢
+                        for (Attachment att : insertAttactment) {
+                            if (es.Id != null) {
+                                if (es.Id.equals(att.parentId)) {
+                                    if (es.agencyAutoSignUpStatus__c != null) {
+                                        if (es.agencyAutoSignUpStatus__c.equals('鐢宠涓�') && oldESignAgencyStatusMap.size()>0) {
+                                                if(!oldESignAgencyStatusMap.get('A' + es.Id).equals('鐢宠涓�')){
+                                                    if (att.Name.substring(0, 1).equals('A')) {
+                                                        a ++;
+                                                    }
+                                                }
+                                            
+                                        }
+                                    }
+                                    if (es.HPSignUpStatus__c != null) {
+                                        if (es.HPSignUpStatus__c.equals('鐢宠涓�') && oldESignHPStatusMap.size()>0) {
+                                            if(!oldESignHPStatusMap.get('H' + es.Id).equals('鐢宠涓�')){
+                                                if (att.Name.substring(0, 1).equals('H')) {
+                                                    h ++;
+                                                }
+                                            }
+                                            
+                                        }
+                                    }
+
+                                }
+                            }
+
+                        }
+
+                        //鍙湁鐪熸鎵爜鎻愪氦鐨� 骞朵笖娌℃湁闄勪欢鎵嶄細琚洿鏂�
+                        if (es.agencyAutoSignUpStatus__c != null) {
+                            if (es.agencyAutoSignUpStatus__c.equals('鐢宠涓�') && oldESignAgencyStatusMap.size()>0) {
+                                if(!oldESignAgencyStatusMap.get('A' + es.Id).equals('鐢宠涓�')){
+                                    es.agencyAttachNum__c = a;
+                                }
+                                
+                            }
+                        }
+                        //鍙湁鐪熸鎵爜鎻愪氦鐨� 骞朵笖娌℃湁闄勪欢鎵嶄細琚洿鏂�
+                        if (es.HPSignUpStatus__c != null) {
+                            if (es.HPSignUpStatus__c.equals('鐢宠涓�') &&oldESignHPStatusMap.size()>0 ) {
+                                if(!oldESignHPStatusMap.get('H' + es.Id).equals('鐢宠涓�')){
+                                     es.HPAttachNum__c = h;
+                                }
+                               
+
+                            }
+                        }
+
+                        a = 0;
+                        h = 0;
+
+                    }
+                }
+                //鐢靛瓙绛炬敹鍗� 澧炲姞鏈鏇存柊闄勪欢鏁伴噺  2020/01/07 绮剧悽鎶�鏈� wql end
+                //鏂囦欢 end
+            }
+            system.debug('鏇存柊鐨勭鏀跺崟锛�' + eSignFormList);
+            //鏇存柊绛炬敹鍗曟槑缁嗗苟娣诲姞鏃ュ織
+            if (eSignFormLuRUList.size() > 0) {
+                Database.SaveResult[] lsr = Database.update(eSignFormLuRUList, false);
+                eb.setError(lsr, MAXERRORCNT, eSignFormLineItem__c.sObjectType);
+                for (Integer tIdx = 0; tIdx < lsr.size(); tIdx++) {
+                    Database.SaveResult sr = lsr[tIdx];
+                    System.debug('sr.isSuccess:' + sr.isSuccess());
+                    if (!sr.isSuccess()) {
+                        Database.Error emsg = sr.getErrors()[0];
+                        iflog.ErrorLog__c += 'ERROR ' + eSignFormList[tIdx].Id + ' eSignFormLineItem__c:' + emsg + '\n';
+                    }
+                }
+            }
+            //鏇存柊绛炬敹鍗曞苟娣诲姞鏃ュ織
+            if (eSignFormList.size() > 0) {
+                Database.SaveResult[] lsr = Database.update(eSignFormList, false);
+                eb.setError(lsr, MAXERRORCNT, eSignForm__c.sObjectType);
+                for (Integer tIdx = 0; tIdx < lsr.size(); tIdx++) {
+                    Database.SaveResult sr = lsr[tIdx];
+                    System.debug('sr.isSuccess:' + sr.isSuccess());
+                    if (!sr.isSuccess()) {
+                        Database.Error emsg = sr.getErrors()[0];
+                        iflog.ErrorLog__c += 'ERROR ' + eSignFormList[tIdx].Id + ' eSignForm__c:' + emsg + '\n';
+                    }
+                }
+            }
+
+
+        }catch(NullPointerException npe){
+            
+                iflog.ErrorLog__c += 'ERROR 锛� eSignForm__c:绌烘寚閽堥敊璇�-琛屽彿:'+ npe.getLineNumber()+ '\n';
+        } 
+        catch (Exception e) {
+            // Database.rollback(sp);
+                
+            iflog.ErrorLog__c += 'ERROR 锛� eSignForm__c:'+ e.getMessage() + '\n';
+
+        }
+        try{
+            System.debug('luruIsLastSubmitList:'+luruIsLastSubmitList);
+            if (luruIsLastSubmitList.size() > 0) {
+                //鍒犻櫎涓棿琛ㄦ暟鎹紙鍥犱负浣忎富璇﹀叧绯伙紝鍒犻櫎褰曞叆琛ㄥ嵆鍙級
+                deleteMiddleData(eSignStringMap, luruIsLastSubmitList);
+            }
+        }catch(Exception e){
+            iflog.ErrorLog__c += 'ERROR 锛� eSignForm__c:'+ e.getMessage() + '\n';
+        }
+        //鏂囦欢 end
+    }
+
+    //鍒犻櫎涓棿琛ㄦ暟鎹紙鍥犱负浣忎富璇﹀叧绯伙紝鍒犻櫎褰曞叆琛ㄥ嵆鍙級
+    private static void deleteMiddleData(Map < String, eSignFormEntry__c > eSignStringMap, List < String > luruIsSubmitList) {
+        system.debug('妫�绱㈢殑鎵�鏈夊綍鍏ヨ〃锛�' + eSignStringMap);
+        system.debug('鏈�鍚庡綍鍏ョ殑id 锛�' + luruIsSubmitList + '----鏁伴噺锛�' + luruIsSubmitList.size());
+        list < eSignFormEntry__c > eSignFormDeleteList = new list < eSignFormEntry__c > ();
+        for (String essm : eSignStringMap.keySet()) {
+            for (String lisl : luruIsSubmitList) {
+                if (essm.equals(lisl)) {
+                    eSignStringMap.remove(lisl);
+                }
+            }
+        }
+        for (eSignFormEntry__c esfe : eSignStringMap.values()) {
+            eSignFormDeleteList.add(esfe);
+        }
+        system.debug('鍒犻櫎鐨勬暟鎹甶d锛�' + eSignFormDeleteList + '----鏁伴噺锛�' + eSignFormDeleteList.size());
+
+
+
+        //鍒犻櫎绛炬敹鍗曞綍鍏ヨ〃鍏朵粬鏁版嵁
+        if (eSignFormDeleteList.size() > 0) {
+            //寰幆閬嶅巻id 鍒犻櫎鏂囦欢
+            List<String> fileDeleteIdList = new List<String> ();
+            List<Attachment> deleteAttachmentList = new List<Attachment>();
+
+            for (eSignFormEntry__c eSigf : eSignFormDeleteList) {
+                fileDeleteIdList.add(eSigf.Id);
+            }
+            //寰幆鎵惧埌鏂囦欢id
+            if (fileDeleteIdList.size() > 0) {
+
+                // 2022-02-28 shashiming Apex heap size too large
+                // 鍘绘帀Body瀛楁
+                List<Attachment> attachMentList = [SELECT id, parentId, Name, ContentType,Description  from Attachment where parentId = :fileDeleteIdList];
+
+                if (attachMentList.size() > 0) {
+                    for (Attachment att : attachMentList) {
+                        Attachment am = new Attachment();
+                        am.Id = att.Id;
+                        deleteAttachmentList.add(am);
+                    }
+                    //鍒犻櫎鏂囦欢
+                    if (deleteAttachmentList.size() > 0) {
+                        delete deleteAttachmentList;
+                    }
+                }
+
+
+            }
+            //鍒犻櫎褰曞叆琛�
+            delete eSignFormDeleteList;
+        }
+    }
+    @TestVisible
+    //鏇存柊钀ヤ笟閮ㄦ媴褰�
+    private static List < eSignForm__c > updateOwner(List < String > provinceList, Map < Id, String > provinceMap, List < eSignForm__c > eSignFormList, boolean ocsmFlag) {
+        //钀ヤ笟鎷呭綋 map
+        Map < String, String > provinceOwnerMap = new Map < String, String > ();
+        //钀ヤ笟鍔╃悊 map
+        Map < String, String > provinceGIMap = new Map < String, String > ();
+
+        List < eSignForm__c > eSignFormLastList = new List < eSignForm__c >();
+        //妫�绱CSM绠$悊鐪佸璞�
+        List < OCM_Management_Province__c > ompList = [select id, Name, SalesManage__c,GI_assistant__c    from OCM_Management_Province__c where Name IN: provinceList];
+        //瀛樻斁map<鐪侊紝鎷呭綋>
+        for (OCM_Management_Province__c omp : ompList) {
+            //涓嶇敤map<String,list>鐨� 鍘熷洜鏄� 鎯� ocsm绠$悊鐪� 鍜岀鏀跺崟 钀ヤ笟鎷呭綋鐨勯『搴忎繚鎸佷竴鑷�
+            //String salesManage = omp.SalesManage__c+','+omp.SalesManage2__c+','+omp.SalesManage3__c;
+            //provinceOwnerMap.put(omp.Name, salesManage);
+            provinceOwnerMap.put(omp.Name, omp.SalesManage__c);
+            provinceGIMap.put(omp.Name, omp.GI_assistant__c);
+        }
+        //鈶犱负true鐨勬椂鍊� 鏄叾浠栨病鍙戠敓鍙樺寲鍙湁ocsm鐪佷笂钀ヤ笟鎷呭綋鏀瑰彉
+        //鈶′负false鐨勬椂鍊欙紝鏈変腑闂磋〃姝e父鏇存柊鐨勬儏鍐�
+        //钀ヤ笟鎷呭綋123 鍙兘浠ュ悗涓嶇敤 20201225 start
+        // if(ocsmFlag){
+        //     //缁欐渶鍚庤鏇存柊鐨勭鏀跺崟鐨勫鎵硅�咃紙钀ヤ笟閮ㄦ媴褰擄級璧嬪��
+        //     for (Integer cnt=0;cnt<eSignFormList.size();cnt++) {
+        //         //灏嗛�楀彿鍒嗛殧鐨勫瓧绗︿覆杞负鏁扮粍
+        //         //鍥犱负鍏朵腑鏈夐�楀彿锛屾墍浠ヨ偗瀹氫笉涓虹┖
+        //         String rcManager =  provinceOwnerMap.get(provinceMap.get(eSignFormList[cnt].Id));
+        //         String[] result;
+        //         if(rcManager !=null && String.isNotBlank(rcManager)){
+        //              result= rcManager.split(',');
+        //         }
+
+        //         if(result.size()>0&&result!=null){
+        //             if(result.contains(eSignFormList[cnt].RC_Manager__c)&&result.contains(eSignFormList[cnt].RC_Manager2__c)&&result.contains(eSignFormList[cnt].RC_Manager3__c)){
+        //                 //鍒欎笉鐢ㄦ洿鏂帮紝杩斿洖null
+        //                 eSignFormList.remove(cnt);
+        //                 eSignFormLastList =eSignFormList;
+        //             }else{
+        //                 eSignForm__c eSignForm = new eSignForm__c();
+        //                 eSignForm.Id = eSignFormList[cnt].Id;
+        //                 if(result.size()>0){
+        //                     if(String.isNotBlank(result[0])&&result[0]!=null&&result[0]!=''&&result[0]!='null'){
+        //                         eSignForm.RC_Manager__c = result[0];
+        //                     }else{
+        //                         eSignForm.RC_Manager__c = null;
+        //                     }
+        //                     if(String.isNotBlank(result[1])&&result[1]!=null&&result[1]!=''&&result[1]!='null'){
+        //                         eSignForm.RC_Manager2__c = result[1];
+        //                     }else{
+        //                         eSignForm.RC_Manager2__c = null;
+        //                     }
+        //                     if(String.isNotBlank(result[2])&&result[2]!=null&&result[2]!=''&&result[2]!='null'){
+        //                         eSignForm.RC_Manager3__c = result[2];
+        //                     }else{
+        //                         eSignForm.RC_Manager3__c = null;
+        //                     }
+        //                 }
+        //                 //eSignForm.RC_Manager__c = provinceOwnerMap.get(provinceMap.get(eSignFormList[cnt].Id));
+        //                 eSignFormLastList.add(eSignForm);
+        //             }
+        //         }
+
+
+        //     }
+        //     return eSignFormLastList;
+
+        // }else{
+        //     //缁欐渶鍚庤鏇存柊鐨勭鏀跺崟鐨勫鎵硅�咃紙钀ヤ笟閮ㄦ媴褰擄級璧嬪��
+        //     for (eSignForm__c esf: eSignFormList) {
+        //         //灏嗛�楀彿鍒嗛殧鐨勫瓧绗︿覆杞负鏁扮粍
+        //         //鍥犱负鍏朵腑鏈夐�楀彿锛屾墍浠ヨ偗瀹氫笉涓虹┖
+        //         String rcManager =  provinceOwnerMap.get(provinceMap.get(esf.Id));
+        //         String[] result;
+        //         if(rcManager!=null&&String.isNotBlank(rcManager)){
+        //             result = rcManager.split(',');
+        //         }
+
+        //         if(result.size()>0){
+        //             if(String.isNotBlank(result[0])&&result[0]!=null&&result[0]!=''&&result[0]!='null'){
+        //                 esf.RC_Manager__c = result[0];
+        //             }
+        //             if(String.isNotBlank(result[1])&&result[1]!=null&&result[1]!=''&&result[1]!='null'){
+        //                 esf.RC_Manager2__c = result[1];
+        //             }
+        //             if(String.isNotBlank(result[2])&&result[2]!=null&&result[2]!=''&&result[2]!='null'){
+        //                 esf.RC_Manager3__c = result[2];
+        //             }
+        //         }
+        //         //esf.RC_Manager__c = provinceOwnerMap.get(provinceMap.get(esf.Id));
+        //     }
+        //     return eSignFormList;
+        // }
+        //钀ヤ笟鎷呭綋123 鍙兘浠ュ悗涓嶇敤  20201225 end
+        if (ocsmFlag) {
+            //缁欐渶鍚庤鏇存柊鐨勭鏀跺崟鐨勫鎵硅�咃紙钀ヤ笟閮ㄦ媴褰擄級璧嬪��
+            for (Integer cnt = 0; cnt < eSignFormList.size(); cnt++) {
+                if (provinceOwnerMap.get(provinceMap.get(eSignFormList[cnt].Id)) != eSignFormList[cnt].RC_Manager__c ||provinceMap.get(eSignFormList[cnt].Id).equals('闆嗛噰璇�')) {
+
+                    eSignForm__c eSignForm = new eSignForm__c();
+                    eSignForm.Id = eSignFormList[cnt].Id;
+                    eSignForm.RC_Manager__c = provinceOwnerMap.get(provinceMap.get(eSignFormList[cnt].Id));
+                    //闆嗛噰璇环 钀ヤ笟鍔╃悊闇�瑕佺淮鎶ゆ垚 闆嗛噰璇剧殑SP銆丟I鍔╃悊 绮剧悽鎶�鏈� wql 2021/01/08 start 
+                    if(provinceMap.get(eSignFormList[cnt].Id).equals('闆嗛噰璇�')){
+                        eSignForm.Sales_assistant_name_text__c = provinceGIMap.get(provinceMap.get(eSignFormList[cnt].Id));
+                    }
+                    //闆嗛噰璇环 钀ヤ笟鍔╃悊闇�瑕佺淮鎶ゆ垚 闆嗛噰璇剧殑SP銆丟I鍔╃悊 绮剧悽鎶�鏈� wql 2021/01/08 end
+                    eSignFormLastList.add(eSignForm);
+                }
+
+            }
+            return eSignFormLastList;
+
+        } else {
+            //缁欐渶鍚庤鏇存柊鐨勭鏀跺崟鐨勫鎵硅�咃紙钀ヤ笟閮ㄦ媴褰擄級璧嬪��
+            for (eSignForm__c esf : eSignFormList) {
+                if (provinceOwnerMap.get(provinceMap.get(esf.Id)) != null) {
+                    esf.RC_Manager__c = provinceOwnerMap.get(provinceMap.get(esf.Id));
+                    //闆嗛噰璇环 钀ヤ笟鍔╃悊闇�瑕佺淮鎶ゆ垚 闆嗛噰璇剧殑SP銆丟I鍔╃悊 绮剧悽鎶�鏈� wql 2021/01/08 start 
+                    if(provinceMap.get(esf.Id).equals('闆嗛噰璇�')){
+                        esf.Sales_assistant_name_text__c = provinceGIMap.get(provinceMap.get(esf.Id));
+                    }
+                    //闆嗛噰璇环 钀ヤ笟鍔╃悊闇�瑕佺淮鎶ゆ垚 闆嗛噰璇剧殑SP銆丟I鍔╃悊 绮剧悽鎶�鏈� wql 2021/01/08 end
+                }
+
+            }
+            return eSignFormList;
+        }
+
+    }
+
+
+    global void finish(Database.BatchableContext BC) {
+
+        //鏇存柊璇ユ棩蹇楃殑鏁版嵁淇℃伅
+        iflog.Log__c += '\nupdateESignBatchAttachment end';
+        String tmp = iflog.ErrorLog__c;
+        if (iflog.Log__c.length() > 131072) {
+            iflog.Log__c = iflog.Log__c.subString(0, 131065) + ' ...';
+        }
+        if (iflog.ErrorLog__c.length() > 32768) {
+            iflog.ErrorLog__c = iflog.ErrorLog__c.subString(0, 32760) + ' ...';
+        }
+        if (tmp.length() > 65000) {
+            tmp = tmp.substring(0, 65000);
+            tmp += ' ...have more lines...';
+            iflog.ErrorLog__c = tmp;
+        }
+        //鏈夐敊璇墠娣诲姞鏃ュ織锛屼笉鐒舵瘡澶╂瘡15鍒嗛挓鐢熸垚鏃ュ織澶
+        if (tmp.length() > 0) {
+            insert iflog;
+        }
+
+        system.debug('鎵嬪姩浼犲弬锛�' + ManualExecution_Identification);
+        //鎵嬪姩浼犲弬鎵ц鍒欎笉杩涘叆鍒涘缓璁″垝鐨勪綔涓�
+        if (!ManualExecution_Identification) {
+            Boolean haveError = false;
+            String body = scErrorMessage;
+            for (Id objId : eb.messageMap.keySet()) {
+                haveError = true;
+                body += eb.messageMap.get(objId) + '<br/>';
+            }
+            if (eb.overMax) {
+                body += ':Over ' + MAXERRORCNT + 'Record<br/>';
+            }
+            updateESignBatchAttachment.removeOtherSc('updateESignFormSchedule', scB.scName);
+            if (haveError == true || String.isNotBlank(scErrorMessage)) {
+                // Batch銉︺兗銈禝d
+                //鍐欐绮剧悽鐢ㄦ埛 涓婄嚎鍚庡簲璇ヤ細淇敼鎴愯嚜瀹氫箟鏍囩
+                // String batchUserId = '00510000005sEEM';
+                String batchUserId = System.Label.Batch_User_Id;
+                List<User> us = [Select Id, NAme, Email From User Where Id = : batchUserId];
+                if (!us.isEmpty()) {
+                    User use = us[0];
+                    if (String.isNotBlank(use.Email)) {
+                        List<String> MailCc;
+                        if (System.Label.ESign_Error_Send_To_CC != 'null') {
+                            MailCc = System.Label.ESign_Error_Send_To_CC.split(',');
+                        }
+                        FixtureUtil.sendMessage(batchUserId,
+                                                MailCc,
+                                                'updateESignBatchAttachment Error',
+                                                body
+                                               );
+                    }
+                }
+            }
+        }
+
+    }
+    public class ErrorBean {
+        // public String objectName;
+        // public String objectLabel;
+        public Map<Id, String> messageMap;
+        public Boolean overMax;
+        // public ErrorBean(Schema.sObjectType obj) {
+        //     objectName = obj.getDescribe().getName();
+        //     objectLabel = obj.getDescribe().getLabel();
+        //     messageMap = new Map<Id, String>();
+        //     overMax = false;
+        // }
+        public ErrorBean() {
+            messageMap = new Map<Id, String>();
+            overMax = false;
+        }
+        public void setError (Database.SaveResult[] saveRes, Integer maxCut, Schema.sObjectType obj) {
+            if (messageMap.keySet().size() <= maxCut && overMax == false) {
+                String objectName = obj.getDescribe().getName();
+                String objectLabel = obj.getDescribe().getLabel();
+                for (Database.SaveResult saveRe : saveRes) {
+                    if (!saveRe.isSuccess()) {
+                        if (!messageMap.containsKey(saveRe.getId())) {
+                            if (messageMap.keySet().size() >= maxCut) {
+                                overMax = true;
+                                break;
+                            }
+                            for (Database.Error err : saveRe.getErrors()) {
+
+                                String message = objectName + ':'
+                                                 + objectLabel + ':'
+                                                 + err.getStatusCode() + ':'
+                                                 + err.getFields() + ':'
+                                                 + err.getMessage();
+                                // 鏁版嵁閲岄潰鏈夊鏁伴敊璇俊鎭殑璇濆彧鑾峰彇绗竴鏉�
+                                messageMap.put(saveRe.getId(), message);
+                                break;
+                            }
+                        }
+                    }
+                }
+            }
+        }
+    }
+
+    //瀹氭椂璺戜换鍔�
+    public Class ScBean {
+        public String scName;
+        public String scTime;
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/classes/updateESignBatchAttachment.cls-meta.xml b/force-app/main/default/classes/updateESignBatchAttachment.cls-meta.xml
new file mode 100644
index 0000000..fbbad0a
--- /dev/null
+++ b/force-app/main/default/classes/updateESignBatchAttachment.cls-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>56.0</apiVersion>
+    <status>Active</status>
+</ApexClass>
diff --git a/force-app/main/default/lwc/afterRenderHook/afterRenderHook.html b/force-app/main/default/lwc/afterRenderHook/afterRenderHook.html
new file mode 100644
index 0000000..0d0f31c
--- /dev/null
+++ b/force-app/main/default/lwc/afterRenderHook/afterRenderHook.html
@@ -0,0 +1,5 @@
+<template>
+    <template for:each={courses} for:item="course">
+        <p key={course}>{course}</p>
+    </template>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/afterRenderHook/afterRenderHook.js b/force-app/main/default/lwc/afterRenderHook/afterRenderHook.js
new file mode 100644
index 0000000..d739ec8
--- /dev/null
+++ b/force-app/main/default/lwc/afterRenderHook/afterRenderHook.js
@@ -0,0 +1,13 @@
+import { LightningElement } from 'lwc';
+
+export default class AfterRenderHook extends LightningElement {
+    courses = [];
+    rendered = false;
+
+    renderedCallback() {
+        if (!this.rendered) {
+            this.courses = ['Irrigation Systems', 'Soils', 'Organic Crops'];
+            this.rendered = true;
+        }
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/afterRenderHook/afterRenderHook.js-meta.xml b/force-app/main/default/lwc/afterRenderHook/afterRenderHook.js-meta.xml
new file mode 100644
index 0000000..b9a3113
--- /dev/null
+++ b/force-app/main/default/lwc/afterRenderHook/afterRenderHook.js-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>false</isExposed>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/afterRenderHookWrapper/afterRenderHookWrapper.html b/force-app/main/default/lwc/afterRenderHookWrapper/afterRenderHookWrapper.html
new file mode 100644
index 0000000..934adea
--- /dev/null
+++ b/force-app/main/default/lwc/afterRenderHookWrapper/afterRenderHookWrapper.html
@@ -0,0 +1,17 @@
+<template>
+    <c-example-wrapper
+        icon-name="custom:custom7"
+        lwc="afterRenderHook"
+        title="After Render Hook"
+        visualforce="afterRenderHook"
+        visualforce-height="90px"
+    >
+        <c-after-render-hook slot="lwc"></c-after-render-hook>
+
+        <!-- prettier-ignore -->
+        <p>
+            Use <a target="_blank" href="https://developer.salesforce.com/docs/component-library/documentation/en/lwc/lwc.create_lifecycle_hooks_rendered">
+            renderedCallback</a> to execute code after a component is rendered.
+        </p>
+    </c-example-wrapper>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/afterRenderHookWrapper/afterRenderHookWrapper.js b/force-app/main/default/lwc/afterRenderHookWrapper/afterRenderHookWrapper.js
new file mode 100644
index 0000000..8f3b8a6
--- /dev/null
+++ b/force-app/main/default/lwc/afterRenderHookWrapper/afterRenderHookWrapper.js
@@ -0,0 +1,3 @@
+import { LightningElement } from 'lwc';
+
+export default class AfterRenderHookWrapper extends LightningElement {}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/afterRenderHookWrapper/afterRenderHookWrapper.js-meta.xml b/force-app/main/default/lwc/afterRenderHookWrapper/afterRenderHookWrapper.js-meta.xml
new file mode 100644
index 0000000..6646900
--- /dev/null
+++ b/force-app/main/default/lwc/afterRenderHookWrapper/afterRenderHookWrapper.js-meta.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightning__AppPage</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/apexUtils/apexUtils.js b/force-app/main/default/lwc/apexUtils/apexUtils.js
new file mode 100644
index 0000000..455c8df
--- /dev/null
+++ b/force-app/main/default/lwc/apexUtils/apexUtils.js
@@ -0,0 +1,31 @@
+/**
+ * Formats a list of sObjects returned by an Apex method call
+ * @param {SObject[]} sObjects
+ * @return {Object[]} formattedObjects, ready to use by lightning-datatable
+ */
+export function formatApexSObjects(sObjects) {
+    try {
+        return sObjects.map(formatApexSObject);
+    } catch (err) {
+        return [];
+    }
+}
+
+function formatApexSObject(sObject) {
+    return flatten(sObject, '');
+}
+
+function flatten(source, prefix) {
+    const target = {};
+    Object.keys(source).forEach((key) => {
+        const value = source[key];
+        const field = `${prefix}${key}`;
+        if (typeof value === 'object') {
+            const nested = flatten(value, `${field}.`);
+            Object.assign(target, nested);
+        } else {
+            target[field] = value;
+        }
+    });
+    return target;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/apexUtils/apexUtils.js-meta.xml b/force-app/main/default/lwc/apexUtils/apexUtils.js-meta.xml
new file mode 100644
index 0000000..b9a3113
--- /dev/null
+++ b/force-app/main/default/lwc/apexUtils/apexUtils.js-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>false</isExposed>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/batchSelectRepairLWC/batchSelectRepairLWC.css b/force-app/main/default/lwc/batchSelectRepairLWC/batchSelectRepairLWC.css
new file mode 100644
index 0000000..fa4ac70
--- /dev/null
+++ b/force-app/main/default/lwc/batchSelectRepairLWC/batchSelectRepairLWC.css
@@ -0,0 +1,9 @@
+.Narrow{
+	padding: 20px;
+}
+.searchField,.searchField .input-text{
+	/*display: flex;*/
+}
+.searchField .slds-combobox_container{
+    width: 160px !important;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/batchSelectRepairLWC/batchSelectRepairLWC.html b/force-app/main/default/lwc/batchSelectRepairLWC/batchSelectRepairLWC.html
new file mode 100644
index 0000000..07ec8af
--- /dev/null
+++ b/force-app/main/default/lwc/batchSelectRepairLWC/batchSelectRepairLWC.html
@@ -0,0 +1,107 @@
+<template>
+ <!--  <div class="slds-box slds-theme--default">
+        Click on the link Below to Export data as csv/xls.
+        <p class="slds-m-top--large">
+            <a onclick={exportContactData}>Export Contact Data</a>
+            <lightning-button variant="brand" label="Export Contact data" title="Export Contact Data" onclick={exportContactData}></lightning-button>
+        </p>
+    </div> -->
+  <lightning-card  variant="Narrow">
+    <div style="padding: 0 20px">    
+      <div>
+          <div style="padding: 10px 3px;border-bottom: 1px solid;font: 16px;font-size: blod;">妫�绱㈠垪</div>
+          <div style="margin-top: 5px">
+             <lightning-layout>
+              <!-- cancelPaddingLeft -->
+                  <lightning-layout-item flexibility="auto" padding="around-small">
+                      <lightning-combobox name="progress" label="鐘舵��1" value={searchObj.Status1} options={status1Options} 
+                          onchange={handleStatus1Change} class="searchField"></lightning-combobox>
+                  </lightning-layout-item>
+                  <lightning-layout-item flexibility="auto" padding="around-small">
+                      <lightning-combobox
+                      name="progress" label="鐘舵��2" value={searchObj.Status2} options={status2Options} onchange={handleStatus2Change} 
+                      class="searchField"></lightning-combobox>
+                  </lightning-layout-item> 
+                  <lightning-layout-item flexibility="auto" padding="around-small">
+                      <lightning-combobox
+                      name="progress" label="鏈嶅姟鏂瑰紡" value={searchObj.onSiteRepair} options={siteRepairItems} onchange={handleSiteChange}
+                      class="searchField"></lightning-combobox>
+                  </lightning-layout-item> 
+              </lightning-layout>
+              <lightning-layout>
+                  <lightning-layout-item size="4" padding="horizontal-small">
+                    <lightning-input value={searchObj.RepairName} type="text" label="RS淇悊鍗曞彿" class="searchField" onchange={handleRepairNameChange}></lightning-input>
+                  </lightning-layout-item>
+                  <lightning-layout-item size="4" padding="horizontal-small">
+                    <lightning-input value={searchObj.SAPRepairNo} type="text" label="SAP淇悊鍗曞彿" class="searchField" onchange={handleSAPRepairNoChange}></lightning-input>
+                  </lightning-layout-item>
+                  <lightning-layout-item size="4" padding="horizontal-small">
+                    <lightning-input value={searchObj.workLocationSelect} type="text" label="缁翠慨涓績" class="searchField" onchange={handleWorkLocationChange}></lightning-input>
+                  </lightning-layout-item>
+              </lightning-layout>
+              <lightning-layout>
+                  <lightning-layout-item size="4" padding="horizontal-small">
+                    <lightning-input value={searchObj.SerialNumber} type="text" label="鏈鸿韩缂栫爜" class="searchField" onchange={handleSerialNumberChange}></lightning-input>
+                  </lightning-layout-item>
+                  <lightning-layout-item size="4" padding="horizontal-small">
+                    <lightning-input value={searchObj.State_Hospital} type="text" label="鐪佷唤" class="searchField" onchange={handleStateHospitalChange}></lightning-input>
+                  </lightning-layout-item>
+                  <lightning-layout-item size="4" padding="horizontal-small">
+                    <lightning-input value={searchObj.HospitalName} type="text" label="鍖婚櫌鍚嶇О" class="searchField" onchange={handleHospitalChange}></lightning-input>
+                  </lightning-layout-item>
+              </lightning-layout>
+              <lightning-layout>
+                  <lightning-layout-item size="2" padding="horizontal-small">
+                    <lightning-input type="date" label="FSE鐢宠鏃�(寮�濮�)" value={repair.Aware_date__c} onchange={handleAwareDateDStart}></lightning-input>
+                  </lightning-layout-item>
+                  <!-- cancelPaddingLeft -->
+                  <lightning-layout-item size="2" padding="horizontal-small">
+                    <!-- variant="label-hidden" -->
+                    <lightning-input type="date" label="FSE鐢宠鏃�(缁撴潫)" value={repair.Aware_date2__c} onchange={handleAwareDateDEnd}></lightning-input>
+                  </lightning-layout-item>
+                  <lightning-layout-item size="4" padding="horizontal-small">
+                    <!-- record-id={recordId} 淇悊濮旀墭鑰�  Incharge_Staff__c-->
+                    <!-- <lightning-record-edit-form
+                        object-api-name={objectApiName}
+                        record-id=''
+                    >
+                        <lightning-input-field field-name={nameField} onclick={handleInchargeStaffChange}> </lightning-input-field>
+                    </lightning-record-edit-form> -->
+                    <lightning-record-edit-form
+                        object-api-name='Repair__c'
+                        record-id=''
+                    >
+                        <lightning-input-field field-name='Incharge_Staff__c' onclick={handleInchargeStaffChange}> </lightning-input-field>
+                    </lightning-record-edit-form>
+                  </lightning-layout-item>
+              </lightning-layout>
+              <lightning-layout>
+                  <lightning-layout-item flexibility="auto" padding="around-small">
+                    <lightning-button label="妫�绱�" onclick={searchRepair}></lightning-button>
+                  </lightning-layout-item>
+              </lightning-layout>
+          </div>
+      </div>
+      <div>
+          <div style="padding: 10px 5px;border-bottom: 1px solid">璇︾粏淇℃伅</div>
+          <div style="padding: 10px 0;">
+            <lightning-button label="鎵撳嵃PDF" onclick={skipPage}></lightning-button>
+            
+            <lightning-button label="瀵煎嚭Excel" onclick={exportContactData}></lightning-button>
+            <!-- <lightning-button label="瀵煎嚭Excel" onclick={downloadCSVFile}></lightning-button> -->
+          </div>
+          <div>
+            <lightning-datatable
+              key-field="id"
+              data={data}
+              columns={columns}
+              onrowselection={getSelectedRows}
+              onrowaction={handleRowAction}>
+
+            </lightning-datatable>
+          </div>
+      </div>
+    </div>
+  </lightning-card>
+
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/batchSelectRepairLWC/batchSelectRepairLWC.js b/force-app/main/default/lwc/batchSelectRepairLWC/batchSelectRepairLWC.js
new file mode 100644
index 0000000..87ac1b5
--- /dev/null
+++ b/force-app/main/default/lwc/batchSelectRepairLWC/batchSelectRepairLWC.js
@@ -0,0 +1,576 @@
+import { LightningElement,wire,track,api} from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import { NavigationMixin } from 'lightning/navigation';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+
+import NAME_FIELD from '@salesforce/schema/Repair__c.Incharge_Staff__c';
+import MY_CUSTOM_OBJECT from '@salesforce/schema/Repair__c';
+
+import search from '@salesforce/apex/BatchSelectRepairLWCController.search';
+import showPDF from '@salesforce/apex/BatchSelectRepairLWCController.showPDF';
+
+/*
+const actions = [
+    { label: 'Show details', name: 'show_details' },
+    { label: 'Delete', name: 'delete' },
+    ];*/
+
+const columns = [
+        { label: '鐘舵��1', fieldName: 'Status1__c'},
+        { label: '鐘舵��2', fieldName: 'Status2__c' },
+        { label: 'RS淇悊鍗曞彿', fieldName: 'Name' },
+        { label: 'SAP淇悊鍗曞彿', fieldName: 'SAP_Service_Repair_No__c' },
+        // { label: '鍨嬪彿', fieldName: 'deliveredProductName' },
+        { label: '鍨嬪彿', fieldName: 'deliveredProductUrl',type:'url',
+            typeAttributes:{
+                label:{
+                    fieldName:'deliveredProductName'
+                },
+                target:'_balank'
+            }
+        },
+        { label: '鏈鸿韩缂栧彿', fieldName: 'SerialNumber__c' },
+        { label: '鍖婚櫌鍚嶇О', fieldName: 'HP_Name__c' },
+        { label: '鐪佷唤', fieldName: 'State_Hospital__c' },
+        // { label: '淇悊濮旀墭鑰�', fieldName: 'Incharge_Staff_Name' },
+        { label: '淇悊濮旀墭鑰�', fieldName: 'inchargeStaffUrl',type:'url',
+            typeAttributes:{
+                label:{
+                    fieldName:'inchargeStaffName'
+                },
+                target:'_balank'
+            }
+        },
+        { label: 'FSE鐢宠鏃ユ湡', fieldName: 'FSE_ApplyForRepair_Day__c' },
+        { label: '缁翠慨涓績', fieldName: 'work_location_select__c' },
+        { label: '鏈嶅姟鏂瑰紡', fieldName: 'On_site_repair__c' },
+        { label: '鏈夋棤缁翠慨鍚堝悓瀵硅薄', fieldName: 'Number_of_EffectiveContract__c' },
+        { label: '鏃犲伩鍖哄埆鏍囧織', fieldName: 'NewProductGuaranteeObject__c' }
+   /* {
+    type: 'action',
+    typeAttributes: { rowActions: actions },
+    },*/
+    ];
+
+export default class batchSelectRepairLWC extends LightningElement {
+    // Expose a field to make it available in the template
+    nameField = NAME_FIELD;
+
+    // Flexipage provides recordId and objectApiName
+    @api recordId;
+    @api objectApiName;
+
+    data = [];
+    columns = columns;
+
+    //鐘舵��1
+    status1Options = [{ label: '--鏃�--', value: '' },
+                    { label: '0.鐢宠瀹屾瘯', value: '0.鐢宠瀹屾瘯' },
+                    { label: '2.缁翠慨鎶ヤ环闃舵', value: '2.缁翠慨鎶ヤ环闃舵' },
+                    { label: '3.缁翠慨闃舵', value: '3.缁翠慨闃舵' },
+                    { label: '4.淇悊鍝佽繑閫侀樁娈�', value: '4.淇悊鍝佽繑閫侀樁娈�' },
+                    { label: '5.瀹屾瘯', value: '5.瀹屾瘯' },
+                    { label: '0.鍒犻櫎', value: '0.鍒犻櫎' },
+                    { label: '0.鍙栨秷', value: '0.鍙栨秷' }];
+    //鐘舵��2
+    status2Options = [{label:'00.鐢宠瀹屾瘯', value:'00.鐢宠瀹屾瘯'},
+                    {label:'01.鍒嗗叕鍙稿彈鐞嗗畬姣�', value:'01.鍒嗗叕鍙稿彈鐞嗗畬姣�'},
+                    {label:'02.RC鍙楃悊瀹屾瘯', value:'02.RC鍙楃悊瀹屾瘯'},
+                    {label:'03.鎶ヤ环妫�鏌ョ粨鏉�', value:'03.鎶ヤ环妫�鏌ョ粨鏉�'},
+                    {label:'04.鎶ヤ环璺熻繘涓�', value:'04.鎶ヤ环璺熻繘涓�'},
+                    {label:'05.鎶ヤ环鍚屾剰瀹屽', value:'05.鎶ヤ环鍚屾剰瀹屽'},
+                    {label:'06.闆朵欢榻愬', value:'06.闆朵欢榻愬'},
+                    {label:'07.淇悊闁嬪', value:'07.淇悊闁嬪'},
+                    {label:'08.淇悊棰勮瀹屾垚', value:'08.淇悊棰勮瀹屾垚'},
+                    {label:'09.淇悊瀹屾垚', value:'09.淇悊瀹屾垚'},
+                    {label:'10.鏈�缁堟鏌ュ畬鎴�', value:'10.鏈�缁堟鏌ュ畬鎴�'},
+                    {label:'11.RC淇悊鍝佸凡杩旈��', value:'11.RC淇悊鍝佸凡杩旈��'},
+                    {label:'12.鍙戠エ宸插彂閫�', value:'12.鍙戠エ宸插彂閫�'},
+                    {label:'13.宸茶繑閫佸埌鐢ㄦ埛', value:'13.宸茶繑閫佸埌鐢ㄦ埛'},
+                    {label:'14.鏀跺埌楠屾敹鍗�', value:'14.鏀跺埌楠屾敹鍗�'},
+                    {label:'15.楠屾敹鍗曠鏀跺鏍搁�氳繃', value:'15.楠屾敹鍗曠鏀跺鏍搁�氳繃'},
+                    {label:'16.閮ㄥ垎浠樻', value:'16.閮ㄥ垎浠樻'},
+                    {label:'16.瀹屾瘯', value:'16.瀹屾瘯'},
+                    {label:'17.浠樻瀹屾瘯', value:'17.浠樻瀹屾瘯'},
+                    {label:'00.鍙栨秷', value:'00.鍙栨秷'},
+                    {label:'00.鍒犻櫎', value:'00.鍒犻櫎'},
+                    {label:'00.鍏抽棴', value:'00.鍏抽棴'}];
+    //鏈嶅姟鏂瑰紡
+    siteRepairItems = [{label:'--鏃�--',value:''},
+        {label:'RC淇悊',value:'RC淇悊'},
+        {label:'鐩撮�丼ORC淇悊',value:'鐩撮�丼ORC淇悊'},
+        {label:'鐩撮�丱GZ淇悊',value:'鐩撮�丱GZ淇悊'},
+        {label:'鍔炰簨澶勪慨鐞�',value:'鍔炰簨澶勪慨鐞�'},
+        {label:'鐜板満淇悊',value:'鐜板満淇悊'}];
+
+    searchObj = {};
+    repair = {};
+    selectedRepairs;
+
+    /* @wire(CurrentPageReference)
+     getStateParameters(currentPageReference) {
+             console.log(111);
+             console.log(currentPageReference);
+
+         if (currentPageReference) {
+           const urlValue = currentPageReference.state.recordId;
+           if (urlValue) {
+             let str = `${urlValue}`;
+             console.log("str");
+             console.log(str);
+             this.recordId = str;
+           }
+         }
+     }*/
+
+    connectedCallback(){ 
+        // console.log(this.recordId);   
+    }
+    //鐘舵��1
+    handleStatus1Change(event){
+        /*console.log(event);
+        console.log(event.detail);*/
+        this.searchObj.Status1 = event.detail.value;
+        // console.log(JSON.stringify(this.searchObj));
+    }
+    //鐘舵��2
+    handleStatus2Change(event){
+        this.searchObj.Status2 = event.detail.value;
+        // console.log(this.searchObj);
+    }
+    //鏈嶅姟鏂瑰紡
+    handleSiteChange(event){
+        this.searchObj.onSiteRepair = event.detail.value;
+        // console.log(this.searchObj);
+    }
+    //RS淇悊鍗曞彿 RepairName
+    handleRepairNameChange(event){
+        this.searchObj.RepairName = event.detail.value;
+        // console.log(this.searchObj);
+    }
+    //SAP淇悊鍗曞彿 SAPRepairNo
+    handleSAPRepairNoChange(event){
+        this.searchObj.SAPRepairNo = event.detail.value;
+        // console.log(this.searchObj);
+    }
+    //缁翠慨涓績 workLocationSelect
+    handleWorkLocationChange(event){
+        this.searchObj.workLocationSelect = event.detail.value;
+    }
+    //鏈鸿韩缂栫爜 SerialNumber
+    handleSerialNumberChange(event){
+        this.searchObj.SerialNumber = event.detail.value;
+    }
+    // 鐪佷唤  State_Hospital
+    handleStateHospitalChange(event){
+        this.searchObj.State_Hospital = event.detail.value;
+    }
+    //鍖婚櫌鍚嶇О  HospitalName
+    handleHospitalChange(event){
+        this.searchObj.HospitalName = event.detail.value;
+    }
+    //FSE鐢宠鏃� repair.Aware_date__c
+    handleAwareDateDStart(event){
+        this.repair.Aware_date__c = event.detail.value;
+        console.log(this.repair.Aware_date__c);
+    }
+    // repair.Aware_date2__c
+    handleAwareDateDEnd(event){
+        this.repair.Aware_date2__c = event.detail.value;
+        // console.log(this.repair.Aware_date2__c);
+    }
+    // 淇悊濮旀墭鑰� repair.Incharge_Staff__c
+    handleInchargeStaffChange(event){
+        this.repair.Incharge_Staff__c = event.detail.value;
+        // console.log(this.repair.Aware_date2__c);
+    }
+
+   //妫�绱�
+    searchRepair(event) {
+        console.log(this.repair.Aware_date__c);
+        if (JSON.stringify(this.repair) != "{}") {
+            console.log('this.repair');
+            this.searchObj.repair = this.repair;
+            // fse 鏃堕棿鏉′欢
+            /*if (!(this.repair.Aware_date__c != null && this.repair.Aware_date2__c != null) || this.repair.Aware_date__c > this.repair.Aware_date2__c) {
+                const event = new ShowToastEvent({
+                             title: 'error',
+                             message: 'FSE鐢宠鏃ヨ緭鍏ユ湁璇�',
+                             variant:'error',
+                            });
+                this.dispatchEvent(event);
+                return;
+            }*/
+        }
+        let jsonStr = JSON.stringify(this.searchObj);
+        if (jsonStr === "{}") {     
+            const event = new ShowToastEvent({
+                             title: 'error',
+                             message: '璇疯嚦灏戞坊鍔犱竴涓绱㈡潯浠�!',
+                             variant:'error',
+                            });
+            this.dispatchEvent(event);
+        }else{
+            console.log(jsonStr);
+            search({
+                json: jsonStr
+            }).then(result => {
+                console.log(result.repairData);
+                console.log('length:'+result.repairData.length);
+                if (result.repairData.length == 0 || result.repairData.length == 200) {
+                    const event = new ShowToastEvent({
+                             title: 'warning',
+                             message: result.status,
+                             variant:'warning',
+                            });
+                    this.dispatchEvent(event);
+                }
+                let returnArr = [];
+                result.repairData.forEach(function(v){ 
+                    let objRepair = v.repair;
+                    //娣诲姞淇悊濮旀墭鑰呭拰鍨嬪彿鍚嶇О
+                    objRepair.deliveredProductName = objRepair.Delivered_Product__r.Name;
+                    objRepair.deliveredProductUrl = "/"+objRepair.Delivered_Product__c;
+                    objRepair.inchargeStaffName = objRepair.Incharge_Staff__r.Name;
+                    objRepair.inchargeStaffUrl = "/"+objRepair.Incharge_Staff__c;
+                    // console.log(objRepair);
+                    returnArr.push(objRepair);
+                }); 
+                /*console.log('arr');
+                console.log(arr);
+                console.log(arr.length);*/
+                this.data = returnArr;
+                // console.log(this.data);
+            }).catch(error => {
+                console.log("error");
+                console.log(error);
+            }).finally(() => {
+                
+            });     
+        }
+        
+        
+    }
+    //瀵煎嚭涓篍xcel  鐢籺able
+    exportContactData(){
+        // Prepare a html table
+        let doc = '<table>';
+        // Add styles for the table
+        doc += '<style>';
+        doc += 'table, th, td {';
+        doc += '    border: 1px solid black;';
+        doc += '    border-collapse: collapse;';
+        doc += '}';          
+        doc += '</style>';
+        // Add all the Table Headers
+        doc += '<tr>';
+        this.columns.forEach(element => {            
+            doc += '<th>'+ element.label +'</th>'           
+        });
+        doc += '</tr>';
+        // Add the data rows
+        let fieldNameArr =[];
+        this.columns.forEach(function(v){ 
+            if (v['typeAttributes']) {
+                fieldNameArr.push(v['typeAttributes'].label.fieldName);
+            }else{
+                fieldNameArr.push(v.fieldName);
+            }
+        }); 
+        console.log(fieldNameArr);
+        fieldNameArr.forEach(v=>{
+            console.log(v);
+            // console.log(this.data[0].v);
+        })
+        this.data.forEach(record => {
+            doc += '<tr>';
+            if (record.Status1__c != null) {
+                doc += '<th>'+record.Status1__c+'</th>'; 
+            }else{
+                doc += '<th></th>'
+            }
+            if (record.Status2__c != null) {
+            doc += '<th>'+record.Status2__c+'</th>'; 
+            }else{
+                doc += '<th></th>'
+            }
+            if (record.Name != null) {
+            doc += '<th>'+record.Name+'</th>'; 
+            }else{
+                doc += '<th></th>'
+            }
+            if (record.SAP_Service_Repair_No__c != null) {
+            doc += '<th>'+record.SAP_Service_Repair_No__c+'</th>'; 
+            }else{
+                doc += '<th></th>'
+            }
+            if (record.deliveredProductName != null) {
+            doc += '<th>'+record.deliveredProductName+'</th>'; 
+            }else{
+                doc += '<th></th>'
+            }
+            if (record.SerialNumber__c != null) {
+            doc += '<th>'+record.SerialNumber__c+'</th>'; 
+            }else{
+                doc += '<th></th>'
+            }
+            if (record.HP_Name__c != null) {
+            doc += '<th>'+record.HP_Name__c+'</th>'; 
+            }else{
+                doc += '<th></th>'
+            }
+            if (record.State_Hospital__c != null) {
+            doc += '<th>'+record.State_Hospital__c+'</th>'; 
+            }else{
+                doc += '<th></th>'
+            }
+            if (record.inchargeStaffName != null) {
+            doc += '<th>'+record.inchargeStaffName+'</th>'; 
+            }else{
+                doc += '<th></th>'
+            }
+            if (record.FSE_ApplyForRepair_Day__c != null) {
+            doc += '<th>'+record.FSE_ApplyForRepair_Day__c+'</th>'; 
+            }else{
+                doc += '<th></th>'
+            }
+            if (record.work_location_select__c != null) {
+            doc += '<th>'+record.work_location_select__c+'</th>';
+            }else{
+                doc += '<th></th>'
+            } 
+            if (record.On_site_repair__c != null) {
+            doc += '<th>'+record.On_site_repair__c+'</th>'; 
+            }else{
+                doc += '<th></th>'
+            }
+            if (record.Number_of_EffectiveContract__c != null) {
+            doc += '<th>'+record.Number_of_EffectiveContract__c+'</th>'; 
+            }else{
+                doc += '<th></th>'
+            }
+            if (record.NewProductGuaranteeObject__c != null) {
+            doc += '<th>'+record.NewProductGuaranteeObject__c+'</th>'; 
+            }else{
+                doc += '<th></th>'
+            }
+                // fieldNameArr.forEach(fieldName =>{
+                //     doc += '<th>'+record.fieldName+'</th>'; 
+                // });
+                doc += '</tr>';
+        });
+        doc += '</table>';
+        var element = 'data:application/vnd.ms-excel,' + encodeURIComponent(doc);
+        let downloadElement = document.createElement('a');
+        downloadElement.href = element;
+        downloadElement.target = '_self';
+        // use .csv as extension on below line if you want to export data as csv
+        downloadElement.download = '淇悊鏄庣粏琛�.xls';
+        document.body.appendChild(downloadElement);
+        downloadElement.click();
+    }
+
+    // this method validates the data and creates the csv file to download  this.data鐨勬墍鏈夊瓧娈�
+     downloadCSVFile1() {   
+        console.log("downloadCSVFile1");
+        let rowEnd = '\n';
+        let csvString = '';
+        // this set elminates the duplicates if have any duplicate keys
+        let rowData = new Set();
+        let columnsData = new Set();
+        let columnsLabelData = new Set();
+
+        // getting keys from data
+        this.data.forEach(function (record) {
+            Object.keys(record).forEach(function (key) {
+                rowData.add(key);
+            });
+        });
+        console.log(rowData);
+
+        // Array.from() method returns an Array object from any object with a length property or an iterable object.
+        rowData = Array.from(rowData);
+        console.log(rowData);
+        
+        // splitting using ','
+        csvString += rowData.join(',');
+        csvString += rowEnd;
+        console.log(csvString);
+        this.columns.forEach(function(v){ 
+            columnsLabelData.add(v.label);
+            if (v['typeAttributes']) {
+                columnsData.add(v['typeAttributes'].label.fieldName);
+            }else{
+                columnsData.add(v.fieldName);
+            }
+        }); 
+        console.log("columnsData");
+        console.log(columnsLabelData);
+        console.log(columnsData);
+        console.log(rowData[1]);
+        console.log(Array.from(columnsData));
+        console.log(Array.from(columnsData).hasOwnProperty(rowData[1]));
+        console.log(this.data[0].Name);
+        console.log(this.data[0][rowData[1]]);
+        // main for loop to get the data based on key value
+        for(let i=0; i < this.data.length; i++){
+            let colValue = 0;
+
+            // validating keys in data
+            for(let key in rowData) {
+                if(rowData.hasOwnProperty(key)) {
+                    // Key value 
+                    // Ex: Id, Name
+                    let rowKey = rowData[key];
+                    // add , after every value except the first.
+                    if(colValue > 0){
+                        csvString += ',';
+                    }
+                    // If the column is undefined, it as blank in the CSV file.
+                    let value = this.data[i][rowKey] === undefined ? '' : this.data[i][rowKey];
+                    csvString += '"'+ value +'"';
+                    colValue++;
+                }
+            }
+            csvString += rowEnd;
+        }
+
+        // Creating anchor element to download
+        let downloadElement = document.createElement('a');
+
+        // This  encodeURI encodes special characters, except: , / ? : @ & = + $ # (Use encodeURIComponent() to encode these characters).
+        downloadElement.href = 'data:text/csv;charset=utf-8,' + encodeURI(csvString);
+        downloadElement.target = '_self';
+        // CSV File Name
+        downloadElement.download = 'Account Data.csv';
+        // below statement is required if you are using firefox browser
+        document.body.appendChild(downloadElement);
+        // click() Javascript function to download CSV file
+        downloadElement.click(); 
+    }
+    //瀵煎嚭涓篍xcel  
+    downloadCSVFile() {   
+        console.log("downloadCSVFile");
+        let rowEnd = '\n';
+        let csvString = '';
+        // this set elminates the duplicates if have any duplicate keys
+        //琛ㄦ牸鏍囬
+        let columnsData = new Set();
+        //琛ㄦ牸瀛楁
+        let rowData = new Set();
+
+        // getting keys from data
+        this.columns.forEach(function(v){ 
+            columnsData.add(v.label);
+            if (v['typeAttributes']) {
+                rowData.add(v['typeAttributes'].label.fieldName);
+            }else{
+                rowData.add(v.fieldName);
+            }
+        }); 
+        console.log(columnsData);
+        console.log(rowData);
+        // Array.from() method returns an Array object from any object with a length property or an iterable object.
+        rowData = Array.from(rowData);
+        columnsData = Array.from(columnsData);
+        // getting keys from data
+       /* console.log("rowData");
+        rowData.forEach(function(v){ 
+            console.log(v);
+        }); 
+        console.log("columnsData");
+        columnsData.forEach(function(v){ 
+            console.log(v);
+        }); */
+        
+        // splitting using ','
+        csvString += columnsData.join(',');
+        csvString += rowEnd;
+        // console.log(csvString);
+        // main for loop to get the data based on key value
+        for(let i=0; i < this.data.length; i++){
+            let colValue = 0;
+
+            // validating keys in data
+            for(let key in rowData) {
+                if(rowData.hasOwnProperty(key)) {//del
+                    // Key value 
+                    // Ex: Id, Name
+                    let rowKey = rowData[key];
+                    // add , after every value except the first.
+                    if(colValue > 0){
+                        csvString += ',';
+                    }
+                    // If the column is undefined, it as blank in the CSV file.
+                    let value = this.data[i][rowKey] === undefined ? '' : this.data[i][rowKey];
+                    csvString += '"'+ value +'"';
+                    colValue++;
+                }
+            }
+            csvString += rowEnd;
+        }
+
+        // Creating anchor element to download
+        let downloadElement = document.createElement('a');
+
+        // This  encodeURI encodes special characters, except: , / ? : @ & = + $ # (Use encodeURIComponent() to encode these characters).
+        downloadElement.href = 'data:text/csv;charset=utf-8,' + encodeURI(csvString);
+        downloadElement.target = '_self';
+        // CSV File Name
+        downloadElement.download = '淇悊鏄庣粏琛�.csv';
+        // below statement is required if you are using firefox browser
+        document.body.appendChild(downloadElement);
+        // click() Javascript function to download CSV file
+        downloadElement.click(); 
+    }
+    //鑾峰彇閫変腑Repair
+    getSelectedRows(event) {
+        const selectedRows = event.detail.selectedRows;
+        console.log(selectedRows);
+        //Repair__c   selectedRepairs
+        // Display that fieldName of the selected rows
+        let selectedRepairsArr = [];
+        for (let i = 0; i < selectedRows.length; i++) {
+            selectedRepairsArr.push(selectedRows[i]);
+        }
+        this.selectedRepairs = selectedRepairsArr;
+    }
+
+    //璺宠浆鍒皃df椤甸潰
+    skipPage() {
+        console.log("selectedRows");
+        // console.log(jsonStr);
+        if (this.selectedRepairs.length <= 0 ) {
+            const event = new ShowToastEvent({
+                                     title: 'error',
+                                     message: '璇疯嚦灏戦�夋嫨涓�涓慨鐞�',
+                                     variant:'error',
+                                    });
+            this.dispatchEvent(event);
+            return;
+        }
+        let jsonStr = JSON.stringify(this.selectedRepairs);
+        showPDF({
+            json: jsonStr
+            }).then(result => {
+                console.log(result);
+                if (result.indexOf("https://ocsm") != -1) {
+                     window.open(result, "缁翠慨濮旀墭涔DF", "");
+                }else{
+                    const event = new ShowToastEvent({
+                                     title: 'error',
+                                     message: result,
+                                     variant:'error',
+                                    });
+                    this.dispatchEvent(event);
+                }
+            }).catch(error => {
+                console.log("error");
+                console.log(error);
+            }).finally(() => {
+                
+            }); 
+    }
+
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/batchSelectRepairLWC/batchSelectRepairLWC.js-meta.xml b/force-app/main/default/lwc/batchSelectRepairLWC/batchSelectRepairLWC.js-meta.xml
new file mode 100644
index 0000000..2b7649d
--- /dev/null
+++ b/force-app/main/default/lwc/batchSelectRepairLWC/batchSelectRepairLWC.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+	<apiVersion>54.0</apiVersion>
+	<isExposed>true</isExposed>
+	<targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/beforeRenderHook/beforeRenderHook.html b/force-app/main/default/lwc/beforeRenderHook/beforeRenderHook.html
new file mode 100644
index 0000000..0d0f31c
--- /dev/null
+++ b/force-app/main/default/lwc/beforeRenderHook/beforeRenderHook.html
@@ -0,0 +1,5 @@
+<template>
+    <template for:each={courses} for:item="course">
+        <p key={course}>{course}</p>
+    </template>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/beforeRenderHook/beforeRenderHook.js b/force-app/main/default/lwc/beforeRenderHook/beforeRenderHook.js
new file mode 100644
index 0000000..b5d0d47
--- /dev/null
+++ b/force-app/main/default/lwc/beforeRenderHook/beforeRenderHook.js
@@ -0,0 +1,9 @@
+import { LightningElement } from 'lwc';
+
+export default class BeforeRenderHook extends LightningElement {
+    courses;
+
+    connectedCallback() {
+        this.courses = ['Irrigation Systems', 'Soils', 'Organic Crops'];
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/beforeRenderHook/beforeRenderHook.js-meta.xml b/force-app/main/default/lwc/beforeRenderHook/beforeRenderHook.js-meta.xml
new file mode 100644
index 0000000..b9a3113
--- /dev/null
+++ b/force-app/main/default/lwc/beforeRenderHook/beforeRenderHook.js-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>false</isExposed>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/beforeRenderHookWrapper/beforeRenderHookWrapper.html b/force-app/main/default/lwc/beforeRenderHookWrapper/beforeRenderHookWrapper.html
new file mode 100644
index 0000000..21d765d
--- /dev/null
+++ b/force-app/main/default/lwc/beforeRenderHookWrapper/beforeRenderHookWrapper.html
@@ -0,0 +1,18 @@
+<template>
+    <c-example-wrapper
+        icon-name="custom:custom7"
+        lwc="beforeRenderHook"
+        title="Before Render Hook"
+        visualforce="beforeRenderHook"
+        visualforce-height="90px"
+    >
+        <c-before-render-hook slot="lwc"></c-before-render-hook>
+
+        <!-- prettier-ignore -->
+        <p>
+            Use <a target="_blank" href="https://developer.salesforce.com/docs/component-library/documentation/en/lwc/lwc.create_lifecycle_hooks_dom">
+            connectedCallback</a> to execute code when the component is inserted into the page 
+            and before it is rendered.
+        </p>
+    </c-example-wrapper>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/beforeRenderHookWrapper/beforeRenderHookWrapper.js b/force-app/main/default/lwc/beforeRenderHookWrapper/beforeRenderHookWrapper.js
new file mode 100644
index 0000000..4f20d04
--- /dev/null
+++ b/force-app/main/default/lwc/beforeRenderHookWrapper/beforeRenderHookWrapper.js
@@ -0,0 +1,3 @@
+import { LightningElement } from 'lwc';
+
+export default class BeforeRenderHookWrapper extends LightningElement {}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/beforeRenderHookWrapper/beforeRenderHookWrapper.js-meta.xml b/force-app/main/default/lwc/beforeRenderHookWrapper/beforeRenderHookWrapper.js-meta.xml
new file mode 100644
index 0000000..6646900
--- /dev/null
+++ b/force-app/main/default/lwc/beforeRenderHookWrapper/beforeRenderHookWrapper.js-meta.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightning__AppPage</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/binding/binding.css b/force-app/main/default/lwc/binding/binding.css
new file mode 100644
index 0000000..cfbd532
--- /dev/null
+++ b/force-app/main/default/lwc/binding/binding.css
@@ -0,0 +1,3 @@
+lightning-input {
+    margin-bottom: 10px;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/binding/binding.html b/force-app/main/default/lwc/binding/binding.html
new file mode 100644
index 0000000..d2d2beb
--- /dev/null
+++ b/force-app/main/default/lwc/binding/binding.html
@@ -0,0 +1,8 @@
+<template>
+    <p>Enter course name:</p>
+    <lightning-input
+        value={courseName}
+        onchange={handleChange}
+    ></lightning-input>
+    <p class="course-name">Course name is: {courseName}</p>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/binding/binding.js b/force-app/main/default/lwc/binding/binding.js
new file mode 100644
index 0000000..fb4b6f9
--- /dev/null
+++ b/force-app/main/default/lwc/binding/binding.js
@@ -0,0 +1,9 @@
+import { LightningElement } from 'lwc';
+
+export default class Binding extends LightningElement {
+    courseName = 'Default';
+
+    handleChange(event) {
+        this.courseName = event.target.value;
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/binding/binding.js-meta.xml b/force-app/main/default/lwc/binding/binding.js-meta.xml
new file mode 100644
index 0000000..b9a3113
--- /dev/null
+++ b/force-app/main/default/lwc/binding/binding.js-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>false</isExposed>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/bindingWrapper/bindingWrapper.html b/force-app/main/default/lwc/bindingWrapper/bindingWrapper.html
new file mode 100644
index 0000000..6ec9bb2
--- /dev/null
+++ b/force-app/main/default/lwc/bindingWrapper/bindingWrapper.html
@@ -0,0 +1,22 @@
+<template>
+    <c-example-wrapper
+        icon-name="custom:custom7"
+        title="Binding"
+        lwc="binding"
+        visualforce="binding"
+        visualforce-height="100px"
+    >
+        <c-binding slot="lwc"></c-binding>
+
+        <!-- prettier-ignore -->
+        <p>
+            In LWC, property binding is unidirectional. Properties are used to pass information down, but 
+            not up. To pass information up, use HTML events. For instance, lightning-input passes information
+            up firing a change event (information is carried in the payload of the event!).
+            To listen to an event that an element fires, define a handler in JavaScript and bind it to the event.
+            Another important difference is that Visualforce is rendered on the server side.
+            This means that a server roundtrip is required to update the property whereas, in LWC, rendering happens on the client-side.
+            Indeed, it happens automatically when a JavaScript property value changes.
+        </p>
+    </c-example-wrapper>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/bindingWrapper/bindingWrapper.js b/force-app/main/default/lwc/bindingWrapper/bindingWrapper.js
new file mode 100644
index 0000000..a624c1c
--- /dev/null
+++ b/force-app/main/default/lwc/bindingWrapper/bindingWrapper.js
@@ -0,0 +1,3 @@
+import { LightningElement } from 'lwc';
+
+export default class BindingWrapper extends LightningElement {}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/bindingWrapper/bindingWrapper.js-meta.xml b/force-app/main/default/lwc/bindingWrapper/bindingWrapper.js-meta.xml
new file mode 100644
index 0000000..6646900
--- /dev/null
+++ b/force-app/main/default/lwc/bindingWrapper/bindingWrapper.js-meta.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightning__AppPage</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/boxorpieceType/boxorpieceType.html b/force-app/main/default/lwc/boxorpieceType/boxorpieceType.html
new file mode 100644
index 0000000..d693bae
--- /dev/null
+++ b/force-app/main/default/lwc/boxorpieceType/boxorpieceType.html
@@ -0,0 +1,10 @@
+<template>
+    <lightning-combobox
+            name="progress"
+            label="Status"
+            value={value}
+            placeholder="璇烽�夋嫨鍗曚綅"
+            options={options}
+            onchange={handleChange} >
+        </lightning-combobox>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/boxorpieceType/boxorpieceType.js b/force-app/main/default/lwc/boxorpieceType/boxorpieceType.js
new file mode 100644
index 0000000..6e88773
--- /dev/null
+++ b/force-app/main/default/lwc/boxorpieceType/boxorpieceType.js
@@ -0,0 +1,21 @@
+import { LightningElement,api } from 'lwc';
+
+export default class BoxorpieceType extends LightningElement {
+    value = '鐩�';
+    @api customValueA;
+
+    get options() {
+        return [
+            { label: '鐩�', value: '鐩�' },
+            { label: '涓�', value: '涓�' }
+        ];
+    }
+
+    connectedCallback(){
+        console.log('enter BoxorpieceType')
+    }
+
+    handleChange(event) {
+        this.value = event.detail.value;
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/boxorpieceType/boxorpieceType.js-meta.xml b/force-app/main/default/lwc/boxorpieceType/boxorpieceType.js-meta.xml
new file mode 100644
index 0000000..f8c5cb4
--- /dev/null
+++ b/force-app/main/default/lwc/boxorpieceType/boxorpieceType.js-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>56.0</apiVersion>
+    <isExposed>false</isExposed>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/cancelApplyLWC/cancelApplyLWC.html b/force-app/main/default/lwc/cancelApplyLWC/cancelApplyLWC.html
new file mode 100644
index 0000000..66974ff
--- /dev/null
+++ b/force-app/main/default/lwc/cancelApplyLWC/cancelApplyLWC.html
@@ -0,0 +1,4 @@
+<template>
+
+    
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/cancelApplyLWC/cancelApplyLWC.js b/force-app/main/default/lwc/cancelApplyLWC/cancelApplyLWC.js
new file mode 100644
index 0000000..8339975
--- /dev/null
+++ b/force-app/main/default/lwc/cancelApplyLWC/cancelApplyLWC.js
@@ -0,0 +1,90 @@
+import { LightningElement, track, wire, api } from 'lwc';
+import LightningConfirm from 'lightning/confirm';
+import {CurrentPageReference,NavigationMixin} from 'lightning/navigation';
+import { CloseActionScreenEvent } from 'lightning/actions';
+
+import cancelApply from '@salesforce/apex/TransferApplyWebService.cancelApply';
+
+export default class cancelApplyLWC extends LightningElement {
+	 @api recordId;
+	 IsLoading=true;
+	 cancelResult;
+  
+
+    @wire(CurrentPageReference)
+	getStateParameters(currentPageReference){
+		console.log("杩涘叆椤甸潰");
+		console.log(currentPageReference);
+		if(currentPageReference){
+			const urvalue=currentPageReference.state.recordId;
+			if(urvalue){
+				let str=`${urvalue}`;
+				console.log('str');
+				console.log(str);
+				this.recordId=str;
+				
+			}
+		}
+	}
+	connectedCallback() {
+		console.log('this.raeSetId:' + this.recordId);
+		
+		LightningConfirm.open({
+	        message: '纭畾鍙栨秷锛�',
+	        variant: 'headerless',
+	        label: 'this is the aria-label value',
+	        
+	    }).then(cancel=>{
+	    	this.IsLoading=false;
+			this.dispatchEvent(new CloseActionScreenEvent());
+	    	if(cancel) {
+	    		cancelApply({
+					taId : this.recordId
+				}).then(result => {
+					this.cancelResult = result;
+					this.cancelSubmit().then(res=>{
+						this.IsLoading=false;
+						this.dispatchEvent(new CloseActionScreenEvent());
+					});	
+							
+				}).catch( error =>{
+					console.log(error);
+				}).finally(()=>{
+
+					
+				});
+	    	}
+	    	
+	    });
+		
+		
+	}
+
+	async cancelSubmit(){
+		if(this.cancelResult == '1') {
+			alert('鍙栨秷鎴愬姛'); 
+			window.location.href = window.location;
+					
+		} else {
+			console.log("result:",this.cancelResult);	
+			alert(this.cancelResult);				
+		}
+			
+    }
+	
+}
+
+//old js
+
+// {!REQUIRESCRIPT('/soap/ajax/51.0/connection.js')}
+// {!REQUIRESCRIPT('/soap/ajax/51.0/apex.js')}
+// if (confirm("纭畾鍙栨秷锛�")) {
+// var rs = sforce.apex.execute("TransferApplyWebService","cancelApply",{taId:'{!TransferApply__c.Id}'});
+// if(rs == '1'){
+// alert('鍙栨秷鎴愬姛');
+// window.location.href = window.location;
+// }
+// else{
+// alert(rs);
+// }
+// }
\ No newline at end of file
diff --git a/force-app/main/default/lwc/cancelApplyLWC/cancelApplyLWC.js-meta.xml b/force-app/main/default/lwc/cancelApplyLWC/cancelApplyLWC.js-meta.xml
new file mode 100644
index 0000000..e7756b3
--- /dev/null
+++ b/force-app/main/default/lwc/cancelApplyLWC/cancelApplyLWC.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="cancelApplyLWC">
+    <apiVersion>51.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightning__AppPage</target>
+        <target>lightning__RecordPage</target>
+        <target>lightning__HomePage</target>
+        <target>lightning__RecordAction</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/childComponentTest/childComponentTest.html b/force-app/main/default/lwc/childComponentTest/childComponentTest.html
index 21fcf06..b473261 100644
--- a/force-app/main/default/lwc/childComponentTest/childComponentTest.html
+++ b/force-app/main/default/lwc/childComponentTest/childComponentTest.html
@@ -5,4 +5,4 @@
             value={priorCount}
         ></lightning-formatted-number>
     </p>
-</template>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/childComponentTest/childComponentTest.js b/force-app/main/default/lwc/childComponentTest/childComponentTest.js
index 901277d..ebed1f2 100644
--- a/force-app/main/default/lwc/childComponentTest/childComponentTest.js
+++ b/force-app/main/default/lwc/childComponentTest/childComponentTest.js
@@ -12,7 +12,7 @@
         this._currentCount = value;
     }
     @api
-    maximizeCounter() 12
+    maximizeCounter() {
       this.counter += 1000000;
     }
-}
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/createMixedRecordsApex/createMixedRecordsApex.html b/force-app/main/default/lwc/createMixedRecordsApex/createMixedRecordsApex.html
new file mode 100644
index 0000000..131ee1d
--- /dev/null
+++ b/force-app/main/default/lwc/createMixedRecordsApex/createMixedRecordsApex.html
@@ -0,0 +1,27 @@
+<template>
+    <div class="slds-var-m-around_x-small">
+        <lightning-input
+            label="Contact First Name"
+            class="contactFirstName"
+            value={contactFirstName}
+            onchange={handleContactFirstNameInputChange}
+        ></lightning-input>
+        <lightning-input
+            label="Contact Last Name"
+            class="contactLastName"
+            value={contactLastName}
+            onchange={handleContactLastNameInputChange}
+        ></lightning-input>
+        <lightning-input
+            label="Opportunity Name"
+            class="opportunityName"
+            value={opportunityName}
+            onchange={handleOpportunityNameInputChange}
+        ></lightning-input>
+    </div>
+    <lightning-button
+        onclick={handleButtonClick}
+        label="Create Contact and Opportunity"
+        class="slds-var-m-left_xx-small"
+    ></lightning-button>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/createMixedRecordsApex/createMixedRecordsApex.js b/force-app/main/default/lwc/createMixedRecordsApex/createMixedRecordsApex.js
new file mode 100644
index 0000000..5ac483a
--- /dev/null
+++ b/force-app/main/default/lwc/createMixedRecordsApex/createMixedRecordsApex.js
@@ -0,0 +1,48 @@
+import { LightningElement } from 'lwc';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+import { reduceErrors } from 'c/ldsUtils';
+import createContactAndOpportunity from '@salesforce/apex/CreateMixedRecordsApexControllerLwc.createContactAndOpportunity';
+
+export default class CreateMixedRecordsApex extends LightningElement {
+    contactFirstName = 'Yan';
+    contactLastName = 'Khang';
+    opportunityName = 'Possible deal';
+
+    handleContactFirstNameInputChange(event) {
+        this.contactFirstName = event.target.value;
+    }
+
+    handleContactLastNameInputChange(event) {
+        this.contactLastName = event.target.value;
+    }
+
+    handleOpportunityNameInputChange(event) {
+        this.opportunityName = event.target.value;
+    }
+
+    handleButtonClick() {
+        createContactAndOpportunity({
+            contactFirstName: this.contactFirstName,
+            contactLastName: this.contactLastName,
+            opportunityName: this.opportunityName
+        })
+            .then(() => {
+                const evt = new ShowToastEvent({
+                    title: 'Success',
+                    message: 'Contact & Opportunity created correctly',
+                    variant: 'success'
+                });
+                this.dispatchEvent(evt);
+            })
+            .catch((error) => {
+                const evt = new ShowToastEvent({
+                    title: 'Error',
+                    message:
+                        'Error creating records: ' +
+                        reduceErrors(error).join(', '),
+                    variant: 'error'
+                });
+                this.dispatchEvent(evt);
+            });
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/createMixedRecordsApex/createMixedRecordsApex.js-meta.xml b/force-app/main/default/lwc/createMixedRecordsApex/createMixedRecordsApex.js-meta.xml
new file mode 100644
index 0000000..b9a3113
--- /dev/null
+++ b/force-app/main/default/lwc/createMixedRecordsApex/createMixedRecordsApex.js-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>false</isExposed>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/createMixedRecordsApexWrapper/createMixedRecordsApexWrapper.html b/force-app/main/default/lwc/createMixedRecordsApexWrapper/createMixedRecordsApexWrapper.html
new file mode 100644
index 0000000..509b496
--- /dev/null
+++ b/force-app/main/default/lwc/createMixedRecordsApexWrapper/createMixedRecordsApexWrapper.html
@@ -0,0 +1,22 @@
+<template>
+    <c-example-wrapper
+        icon-name="custom:custom96"
+        lwc="createMixedRecordsApex"
+        title="Create Mixed Records via Apex"
+        visualforce="createMixedRecords"
+        visualforce-height="260px"
+    >
+        <c-create-mixed-records-apex slot="lwc"></c-create-mixed-records-apex>
+
+        <!-- prettier-ignore -->
+        <p>
+            <a target="_blank" href="https://developer.salesforce.com/docs/component-library/documentation/lwc/lwc.apex">
+            Call Apex imperatively </a> to perform mixed record or complex operations to create, 
+            update or delete or read data. In this example, the mixed operation is transactional.
+        </p>
+        <p>
+            <b>Note:</b> Consider using base components forms or LDS functions
+            first.
+        </p>
+    </c-example-wrapper>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/createMixedRecordsApexWrapper/createMixedRecordsApexWrapper.js b/force-app/main/default/lwc/createMixedRecordsApexWrapper/createMixedRecordsApexWrapper.js
new file mode 100644
index 0000000..7e5cc34
--- /dev/null
+++ b/force-app/main/default/lwc/createMixedRecordsApexWrapper/createMixedRecordsApexWrapper.js
@@ -0,0 +1,3 @@
+import { LightningElement } from 'lwc';
+
+export default class CreateMixedRecordsApexWrapper extends LightningElement {}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/createMixedRecordsApexWrapper/createMixedRecordsApexWrapper.js-meta.xml b/force-app/main/default/lwc/createMixedRecordsApexWrapper/createMixedRecordsApexWrapper.js-meta.xml
new file mode 100644
index 0000000..6646900
--- /dev/null
+++ b/force-app/main/default/lwc/createMixedRecordsApexWrapper/createMixedRecordsApexWrapper.js-meta.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightning__AppPage</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/createMixedRecordsWireFunctions/createMixedRecordsWireFunctions.html b/force-app/main/default/lwc/createMixedRecordsWireFunctions/createMixedRecordsWireFunctions.html
new file mode 100644
index 0000000..131ee1d
--- /dev/null
+++ b/force-app/main/default/lwc/createMixedRecordsWireFunctions/createMixedRecordsWireFunctions.html
@@ -0,0 +1,27 @@
+<template>
+    <div class="slds-var-m-around_x-small">
+        <lightning-input
+            label="Contact First Name"
+            class="contactFirstName"
+            value={contactFirstName}
+            onchange={handleContactFirstNameInputChange}
+        ></lightning-input>
+        <lightning-input
+            label="Contact Last Name"
+            class="contactLastName"
+            value={contactLastName}
+            onchange={handleContactLastNameInputChange}
+        ></lightning-input>
+        <lightning-input
+            label="Opportunity Name"
+            class="opportunityName"
+            value={opportunityName}
+            onchange={handleOpportunityNameInputChange}
+        ></lightning-input>
+    </div>
+    <lightning-button
+        onclick={handleButtonClick}
+        label="Create Contact and Opportunity"
+        class="slds-var-m-left_xx-small"
+    ></lightning-button>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/createMixedRecordsWireFunctions/createMixedRecordsWireFunctions.js b/force-app/main/default/lwc/createMixedRecordsWireFunctions/createMixedRecordsWireFunctions.js
new file mode 100644
index 0000000..4e5a418
--- /dev/null
+++ b/force-app/main/default/lwc/createMixedRecordsWireFunctions/createMixedRecordsWireFunctions.js
@@ -0,0 +1,91 @@
+import { LightningElement } from 'lwc';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+import { createRecord } from 'lightning/uiRecordApi';
+import { reduceErrors } from 'c/ldsUtils';
+import CONTACT_OBJECT from '@salesforce/schema/Contact';
+import CONTACT_FIRST_NAME_FIELD from '@salesforce/schema/Contact.FirstName';
+import CONTACT_LAST_NAME_FIELD from '@salesforce/schema/Contact.LastName';
+import OPPORTUNITY_OBJECT from '@salesforce/schema/Opportunity';
+import OPPORTUNITY_NAME_FIELD from '@salesforce/schema/Opportunity.Name';
+import OPPORTUNITY_STAGENAME_FIELD from '@salesforce/schema/Opportunity.StageName';
+import OPPORTUNITY_CLOSEDATE_FIELD from '@salesforce/schema/Opportunity.CloseDate';
+
+export default class CreateMixedRecordsWireFunctions extends LightningElement {
+    contactFirstName = 'Yan';
+    contactLastName = 'Khang';
+    opportunityName = 'Possible deal';
+
+    handleContactFirstNameInputChange(event) {
+        this.contactFirstName = event.target.value;
+    }
+
+    handleContactLastNameInputChange(event) {
+        this.contactLastName = event.target.value;
+    }
+
+    handleOpportunityNameInputChange(event) {
+        this.opportunityName = event.target.value;
+    }
+
+    handleButtonClick() {
+        this.createContact();
+        this.createOpportunity();
+    }
+
+    createContact() {
+        // Note: In this example we generate the record input structure from scratch for simplicity.
+        // Consider to use the generateRecordInputForCreate() function instead.
+        // The function will create the record input for you, including only fields that are createable.
+        // Check https://developer.salesforce.com/docs/component-library/documentation/en/50.0/lwc/reference_generate_record_input_update
+        const recordInput = {
+            apiName: CONTACT_OBJECT.objectApiName,
+            fields: {
+                [CONTACT_FIRST_NAME_FIELD.fieldApiName]: this.contactFirstName,
+                [CONTACT_LAST_NAME_FIELD.fieldApiName]: this.contactLastName
+            }
+        };
+
+        createRecord(recordInput)
+            .then((result) => this.handleSuccess(result.id, 'Contact'))
+            .catch((error) => this.handleErrors(error));
+    }
+
+    createOpportunity() {
+        // Note: In this example we generate the record input structure from scratch for simplicity.
+        // Consider to use the generateRecordInputForCreate() function instead.
+        // The function will create the record input for you, including only fields that are createable.
+        // Check https://developer.salesforce.com/docs/component-library/documentation/en/50.0/lwc/reference_generate_record_input_update
+        const recordInput = {
+            apiName: OPPORTUNITY_OBJECT.objectApiName,
+            fields: {
+                [OPPORTUNITY_NAME_FIELD.fieldApiName]: this.opportunityName,
+                [OPPORTUNITY_STAGENAME_FIELD.fieldApiName]: 'Prospecting',
+                [OPPORTUNITY_CLOSEDATE_FIELD.fieldApiName]: new Date(2025, 1, 1)
+            }
+        };
+
+        createRecord(recordInput)
+            .then((result) => this.handleSuccess(result.id, 'Opportunity'))
+            .catch((error) => this.handleErrors(error));
+    }
+
+    handleSuccess(recordId, object) {
+        const evt = new ShowToastEvent({
+            title: 'Success',
+            message: `${object} created with Id: ${recordId}`,
+            variant: 'success'
+        });
+        this.dispatchEvent(evt);
+    }
+
+    handleErrors(error) {
+        const evt = new ShowToastEvent({
+            title: 'Error',
+            message: `Error creating records: ${reduceErrors(error).join(
+                ', '
+            )}`,
+            variant: 'error'
+        });
+        this.dispatchEvent(evt);
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/createMixedRecordsWireFunctions/createMixedRecordsWireFunctions.js-meta.xml b/force-app/main/default/lwc/createMixedRecordsWireFunctions/createMixedRecordsWireFunctions.js-meta.xml
new file mode 100644
index 0000000..b9a3113
--- /dev/null
+++ b/force-app/main/default/lwc/createMixedRecordsWireFunctions/createMixedRecordsWireFunctions.js-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>false</isExposed>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/createMixedRecordsWireFunctionsWrapper/createMixedRecordsWireFunctionsWrapper.html b/force-app/main/default/lwc/createMixedRecordsWireFunctionsWrapper/createMixedRecordsWireFunctionsWrapper.html
new file mode 100644
index 0000000..1b33d4c
--- /dev/null
+++ b/force-app/main/default/lwc/createMixedRecordsWireFunctionsWrapper/createMixedRecordsWireFunctionsWrapper.html
@@ -0,0 +1,23 @@
+<template>
+    <c-example-wrapper
+        icon-name="custom:custom96"
+        lwc="createMixedRecordsWireFunctions"
+        title="Create Mixed Records via LDS Functions"
+        visualforce="createMixedRecords"
+        visualforce-height="260px"
+    >
+        <c-create-mixed-records-wire-functions
+            slot="lwc"
+        ></c-create-mixed-records-wire-functions>
+
+        <!-- prettier-ignore -->
+        <p>
+            Use <a target="_blank" href="https://developer.salesforce.com/docs/component-library/documentation/lwc/lwc.reference_create_record">
+            createRecord</a>, <a target="_blank" href="https://developer.salesforce.com/docs/component-library/documentation/lwc/lwc.reference_update_record">
+            updateRecord</a> or <a target="_blank" href="https://developer.salesforce.com/docs/component-library/documentation/lwc/lwc.reference_delete_record">
+            deleteRecord</a> LDS functions to combine single record operations, in a non transactional way.
+        </p>
+
+        <p><b>Note:</b> Consider using base components forms first.</p>
+    </c-example-wrapper>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/createMixedRecordsWireFunctionsWrapper/createMixedRecordsWireFunctionsWrapper.js b/force-app/main/default/lwc/createMixedRecordsWireFunctionsWrapper/createMixedRecordsWireFunctionsWrapper.js
new file mode 100644
index 0000000..edaa7de
--- /dev/null
+++ b/force-app/main/default/lwc/createMixedRecordsWireFunctionsWrapper/createMixedRecordsWireFunctionsWrapper.js
@@ -0,0 +1,3 @@
+import { LightningElement } from 'lwc';
+
+export default class CreateMixedRecordsWireFunctionsWrapper extends LightningElement {}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/createMixedRecordsWireFunctionsWrapper/createMixedRecordsWireFunctionsWrapper.js-meta.xml b/force-app/main/default/lwc/createMixedRecordsWireFunctionsWrapper/createMixedRecordsWireFunctionsWrapper.js-meta.xml
new file mode 100644
index 0000000..6646900
--- /dev/null
+++ b/force-app/main/default/lwc/createMixedRecordsWireFunctionsWrapper/createMixedRecordsWireFunctionsWrapper.js-meta.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightning__AppPage</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/createRecordWithPrepopulatedValues/createRecordWithPrepopulatedValues.html b/force-app/main/default/lwc/createRecordWithPrepopulatedValues/createRecordWithPrepopulatedValues.html
new file mode 100644
index 0000000..4e3e986
--- /dev/null
+++ b/force-app/main/default/lwc/createRecordWithPrepopulatedValues/createRecordWithPrepopulatedValues.html
@@ -0,0 +1,22 @@
+<template>
+    <lightning-record-edit-form
+        object-api-name={objectApiName}
+        onsuccess={handleSuccess}
+    >
+        <lightning-messages> </lightning-messages>
+        <lightning-input-field field-name={nameField}> </lightning-input-field>
+        <lightning-input-field field-name={typeField} value="Prospect">
+        </lightning-input-field>
+        <lightning-input-field field-name={phoneField}> </lightning-input-field>
+        <lightning-input-field field-name={employeesField}>
+        </lightning-input-field>
+        <lightning-button
+            class="slds-var-m-top_small slds-align_absolute-center"
+            variant="brand"
+            type="submit"
+            name="create"
+            label="Save"
+        >
+        </lightning-button>
+    </lightning-record-edit-form>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/createRecordWithPrepopulatedValues/createRecordWithPrepopulatedValues.js b/force-app/main/default/lwc/createRecordWithPrepopulatedValues/createRecordWithPrepopulatedValues.js
new file mode 100644
index 0000000..cb43b97
--- /dev/null
+++ b/force-app/main/default/lwc/createRecordWithPrepopulatedValues/createRecordWithPrepopulatedValues.js
@@ -0,0 +1,24 @@
+import { LightningElement } from 'lwc';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+import ACCOUNT_OBJECT from '@salesforce/schema/Account';
+import ACCOUNT_NAME_FIELD from '@salesforce/schema/Account.Name';
+import ACCOUNT_TYPE_FIELD from '@salesforce/schema/Account.Type';
+import ACCOUNT_PHONE_FIELD from '@salesforce/schema/Account.Phone';
+import ACCOUNT_EMPLOYEES_FIELD from '@salesforce/schema/Account.NumberOfEmployees';
+
+export default class CreateRecordWithPrepopulatedValues extends LightningElement {
+    objectApiName = ACCOUNT_OBJECT;
+    nameField = ACCOUNT_NAME_FIELD;
+    typeField = ACCOUNT_TYPE_FIELD;
+    phoneField = ACCOUNT_PHONE_FIELD;
+    employeesField = ACCOUNT_EMPLOYEES_FIELD;
+
+    handleSuccess(event) {
+        const toastEvent = new ShowToastEvent({
+            title: 'Account created',
+            message: 'Record ID: ' + event.detail.id,
+            variant: 'success'
+        });
+        this.dispatchEvent(toastEvent);
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/createRecordWithPrepopulatedValues/createRecordWithPrepopulatedValues.js-meta.xml b/force-app/main/default/lwc/createRecordWithPrepopulatedValues/createRecordWithPrepopulatedValues.js-meta.xml
new file mode 100644
index 0000000..b9a3113
--- /dev/null
+++ b/force-app/main/default/lwc/createRecordWithPrepopulatedValues/createRecordWithPrepopulatedValues.js-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>false</isExposed>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/createRecordWithPrepopulatedValuesWrapper/createRecordWithPrepopulatedValuesWrapper.html b/force-app/main/default/lwc/createRecordWithPrepopulatedValuesWrapper/createRecordWithPrepopulatedValuesWrapper.html
new file mode 100644
index 0000000..8907463
--- /dev/null
+++ b/force-app/main/default/lwc/createRecordWithPrepopulatedValuesWrapper/createRecordWithPrepopulatedValuesWrapper.html
@@ -0,0 +1,19 @@
+<template>
+    <c-example-wrapper
+        icon-name="custom:custom96"
+        lwc="createRecordWithPrepopulatedValues"
+        title="Create Record with Prepopulated Values"
+        visualforce="createRecordWithPrepopulatedValues"
+        visualforce-height="260px"
+    >
+        <c-create-record-with-prepopulated-values
+            slot="lwc"
+        ></c-create-record-with-prepopulated-values>
+
+        <!-- prettier-ignore -->
+        <p>
+          Use <a target="_blank" href="https://developer.salesforce.com/docs/component-library/bundle/lightning-record-edit-form">
+          lightning-record-edit-form</a> to prepopulate fields or use a custom layout.
+        </p>
+    </c-example-wrapper>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/createRecordWithPrepopulatedValuesWrapper/createRecordWithPrepopulatedValuesWrapper.js b/force-app/main/default/lwc/createRecordWithPrepopulatedValuesWrapper/createRecordWithPrepopulatedValuesWrapper.js
new file mode 100644
index 0000000..8e47817
--- /dev/null
+++ b/force-app/main/default/lwc/createRecordWithPrepopulatedValuesWrapper/createRecordWithPrepopulatedValuesWrapper.js
@@ -0,0 +1,3 @@
+import { LightningElement } from 'lwc';
+
+export default class CreateRecordWithPrepopulatedValuesWrapper extends LightningElement {}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/createRecordWithPrepopulatedValuesWrapper/createRecordWithPrepopulatedValuesWrapper.js-meta.xml b/force-app/main/default/lwc/createRecordWithPrepopulatedValuesWrapper/createRecordWithPrepopulatedValuesWrapper.js-meta.xml
new file mode 100644
index 0000000..08bfebb
--- /dev/null
+++ b/force-app/main/default/lwc/createRecordWithPrepopulatedValuesWrapper/createRecordWithPrepopulatedValuesWrapper.js-meta.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightning__RecordPage</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/customDelete/customDelete.html b/force-app/main/default/lwc/customDelete/customDelete.html
new file mode 100644
index 0000000..ba53413
--- /dev/null
+++ b/force-app/main/default/lwc/customDelete/customDelete.html
@@ -0,0 +1,2 @@
+<template>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/customDelete/customDelete.js b/force-app/main/default/lwc/customDelete/customDelete.js
new file mode 100644
index 0000000..44be922
--- /dev/null
+++ b/force-app/main/default/lwc/customDelete/customDelete.js
@@ -0,0 +1,144 @@
+import { LightningElement, api, track, wire } from 'lwc';
+import init from '@salesforce/apex/CustomDeleteController.initForCustomDelete';
+import {CurrentPageReference} from 'lightning/navigation'
+import UserInfo_Owner from '@salesforce/apex/TaskFeedbackController.UserInfo_Owner';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+import deleteRepair from '@salesforce/apex/ControllerUtil.deleteRepair';
+
+export default class CustomDelete extends LightningElement {
+
+
+    @api recordId;
+    @api message;
+
+    @track Status ;
+    @track FSE ;
+    @track SAP;
+    @track cre ;
+    @track Rep ;
+    @track acc ;
+    @track fSE ;
+    @track id;
+    @track rtn;
+
+
+    @wire(CurrentPageReference)
+    getStateParameters(currentPageReference){
+        console.log(111);
+        console.log(currentPageReference);
+        if(currentPageReference){
+            const urlValue=currentPageReference.state.recordId;
+            if(urlValue){
+                let str='${urlValue}';
+                console.log("str");
+                console.log(str);
+                this.recordId=str;
+            }
+        }
+    }
+    connectedCallback(){
+        console.log(this.recordId);
+        init({
+            recordId:this.recordId
+        }).then(result=>{
+            console.log(result);
+            if(result!=null){
+                this.FSE=result.FSEApplyForRepairtime;
+                this.Rep=result.Rep;
+                this.SAP=result.SAP;
+                this.Status=result.Status;
+                this.acc=result.acc;
+                this.id=result.Id;
+                this.cre=result.cre;
+                this.fSE=result.FSEownerId;
+                console.log("end");
+                this.handleDeleteAction();
+                console.log("end2");
+
+            }
+        })
+    }
+   
+    handleDeleteAction(){
+    if (this.Status != null && this.Status.length > 0) {
+        if (this.Status != "鑽夋涓�"&& this.Status != "1.鍙楃悊瀹屾瘯(SAP寰呭彂閫�)"&& this.Status != "4.淇悊鍝佽繑閫侀樁娈�") {
+            this.message = "涓嶆槸鑽夋涓�,涓嶈兘鍒犻櫎";
+            const event = new ShowToastEvent({
+                title: 'error',
+                variant:'error',
+                message: 
+                    this.message,
+            });
+            this.dispatchEvent(event);
+        }
+        else if (this.Status == "0.鐢宠瀹屾瘯"&& (this.FSE != "")) {
+            message = "FSE宸茬粡鐢宠锛屼笉鑳藉垹闄�";
+        console.log('***action4');
+
+            const event = new ShowToastEvent({
+                title: 'warning',
+                message:
+                    this.message,
+            });
+            this.dispatchEvent(event);
+        }
+        else if (this.Status == "4.淇悊鍝佽繑閫侀樁娈�"&& (this.SAP != "" || this.Rep!= "")){
+            message = "宸茬粡鍙戦�佽繃SAP锛屼笉鑳藉垹闄�";
+            const event = new ShowToastEvent({
+                title: 'warning',
+                message:
+                    this.message,
+            });
+            this.dispatchEvent(event);
+        }
+        else if (UserInfo_Owner.Id.substring(0,15) != this.cre.substring(0,15) && UserInfo_Owner.Id.substring(0,15) != this.acc.substring(0,15)&& UserInfo_Owner.Id.substring(0,15) != this.fSE.substring(0,15)) {
+            message = "涓嶆槸鎵�鏈変汉銆佸垱寤轰汉鎴朏SE涓昏礋璐d汉锛屼笉鑳藉垹闄�";
+            const event = new ShowToastEvent({
+                title: 'warning',
+                message:
+                    this.message,
+            });
+            this.dispatchEvent(event);
+        }
+        else {
+            
+            // sforce.connection.sessionId = '{!$Api.Session_ID}';
+            // var rtn=sforce.apex.execute("ControllerUtil","deleteRepair",{rid:this.id});
+            deleteRepair({
+                rid:this.id
+            }).then(result=>{
+                console.log(result);
+                if(result!=null){
+                    this.rtn=result;
+                }
+            })
+
+            if (this.rtn == "OK") {
+                 reload();
+            } else {
+                alert(this.rtn);
+
+            }
+        }
+     }
+
+    function reload(){
+        var str="";
+        if(getParam('retURL')!==null){
+            str +=getParam('retURL');
+        }
+        window.open(str,'_self');
+    }
+
+    function getParam(paramName) {
+        paramValue = "", isFound = !1;
+        if (this.location.search.indexOf("?") == 0 && this.location.search.indexOf("=") > 1) {
+            arrSource = unescape(this.location.search).substring(1, this.location.search.length).split("&"), i = 0;
+            while (i < arrSource.length && !isFound) arrSource[i].indexOf("=") > 0 && arrSource[i].split("=")[0].toLowerCase() == paramName.toLowerCase() && (paramValue = arrSource[i].split("=")[1], isFound = !0), i++
+        }
+    return paramValue == "" && (paramValue = null), paramValue
+}
+
+}
+
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/customDelete/customDelete.js-meta.xml b/force-app/main/default/lwc/customDelete/customDelete.js-meta.xml
new file mode 100644
index 0000000..7731813
--- /dev/null
+++ b/force-app/main/default/lwc/customDelete/customDelete.js-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="customDelete">
+    <apiVersion>56.0</apiVersion>
+    <isExposed>true</isExposed>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/customLightningDatatable/customLightningDatatable.html b/force-app/main/default/lwc/customLightningDatatable/customLightningDatatable.html
new file mode 100644
index 0000000..27e0f69
--- /dev/null
+++ b/force-app/main/default/lwc/customLightningDatatable/customLightningDatatable.html
@@ -0,0 +1,3 @@
+<template>
+    
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/customLightningDatatable/customLightningDatatable.js b/force-app/main/default/lwc/customLightningDatatable/customLightningDatatable.js
new file mode 100644
index 0000000..fbef290
--- /dev/null
+++ b/force-app/main/default/lwc/customLightningDatatable/customLightningDatatable.js
@@ -0,0 +1,11 @@
+import { LightningElement } from 'lwc';
+import boxorpieceType from './templates/boxorpieceType';
+
+export default class CustomLightningDatatable extends LightningElement {
+    static customTypes = {
+        boxorpieceType: {
+            template: boxorpieceType,
+            typeAttributes: ['customValueA']
+        }
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/customLightningDatatable/customLightningDatatable.js-meta.xml b/force-app/main/default/lwc/customLightningDatatable/customLightningDatatable.js-meta.xml
new file mode 100644
index 0000000..f8c5cb4
--- /dev/null
+++ b/force-app/main/default/lwc/customLightningDatatable/customLightningDatatable.js-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>56.0</apiVersion>
+    <isExposed>false</isExposed>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/customLightningDatatable/templates/boxorpieceType.html b/force-app/main/default/lwc/customLightningDatatable/templates/boxorpieceType.html
new file mode 100644
index 0000000..8e1a0ae
--- /dev/null
+++ b/force-app/main/default/lwc/customLightningDatatable/templates/boxorpieceType.html
@@ -0,0 +1,4 @@
+<template>
+    <c-boxorpiece-type
+    custom-value-a={typeAttributes.customValueA}></c-boxorpiece-type>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/customShipmentAmountComp/customShipmentAmountComp.html b/force-app/main/default/lwc/customShipmentAmountComp/customShipmentAmountComp.html
new file mode 100644
index 0000000..8a627db
--- /dev/null
+++ b/force-app/main/default/lwc/customShipmentAmountComp/customShipmentAmountComp.html
@@ -0,0 +1,10 @@
+<template>
+    <lightning-input
+    name="shipmentAmount"
+    label="shipmentAmount"
+    variant="label-hidden"
+    value={shipmentAmount}
+    read-only>
+
+    </lightning-input>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/customShipmentAmountComp/customShipmentAmountComp.js b/force-app/main/default/lwc/customShipmentAmountComp/customShipmentAmountComp.js
new file mode 100644
index 0000000..6822093
--- /dev/null
+++ b/force-app/main/default/lwc/customShipmentAmountComp/customShipmentAmountComp.js
@@ -0,0 +1,9 @@
+import { LightningElement,api } from 'lwc';
+
+export default class CustomShipmentAmountComp extends LightningElement {
+    @api shipmentAmount;
+
+    connectedCallback(){
+        console.log('杩涘叆 CustomShipmentAmountComp shipmentAmount = ' + this.shipmentAmount);
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/customShipmentAmountComp/customShipmentAmountComp.js-meta.xml b/force-app/main/default/lwc/customShipmentAmountComp/customShipmentAmountComp.js-meta.xml
new file mode 100644
index 0000000..f8c5cb4
--- /dev/null
+++ b/force-app/main/default/lwc/customShipmentAmountComp/customShipmentAmountComp.js-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>56.0</apiVersion>
+    <isExposed>false</isExposed>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/customShipmentNumberComp/customShipmentNumberComp.html b/force-app/main/default/lwc/customShipmentNumberComp/customShipmentNumberComp.html
new file mode 100644
index 0000000..9c9da5b
--- /dev/null
+++ b/force-app/main/default/lwc/customShipmentNumberComp/customShipmentNumberComp.html
@@ -0,0 +1,14 @@
+<template>
+    <lightning-input
+        step="0"
+        type="number"
+        name="shipmentNumber"
+        label="deliveryOrderNo"
+        variant="label-hidden"
+        onchange={dataChange}
+        data-field="shipmentNumber"
+        value={shipmentNumber}
+        onblur={shipmentNumberBlur}
+        min="0"
+    ></lightning-input>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/customShipmentNumberComp/customShipmentNumberComp.js b/force-app/main/default/lwc/customShipmentNumberComp/customShipmentNumberComp.js
new file mode 100644
index 0000000..4b9be8d
--- /dev/null
+++ b/force-app/main/default/lwc/customShipmentNumberComp/customShipmentNumberComp.js
@@ -0,0 +1,24 @@
+import { LightningElement,api,track } from 'lwc';
+
+export default class CustomShipmentNumberComp extends LightningElement {
+    @api recordId;
+    @api shipmentNumber;
+
+    connectedCallback(){
+        console.log('shipmentNumber = ' + this.shipmentNumber);
+    }
+
+    shipmentNumberBlur(event){
+        console.log('shipmentNumberBlur')
+        this.shipmentNumber = event.target.value;
+
+        this.dispatchEvent(new CustomEvent('shipmentnumber', {
+            composed: true,
+            bubbles: true,
+            cancelable: true,
+            detail: {
+                data: { shipmentnumber: this.shipmentNumber, recordId: this.recordId }
+            }
+        }));
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/customShipmentNumberComp/customShipmentNumberComp.js-meta.xml b/force-app/main/default/lwc/customShipmentNumberComp/customShipmentNumberComp.js-meta.xml
new file mode 100644
index 0000000..f8c5cb4
--- /dev/null
+++ b/force-app/main/default/lwc/customShipmentNumberComp/customShipmentNumberComp.js-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>56.0</apiVersion>
+    <isExposed>false</isExposed>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/customShippingUnitPriceComp/customShippingUnitPriceComp.html b/force-app/main/default/lwc/customShippingUnitPriceComp/customShippingUnitPriceComp.html
index 8d1bce1..1c77644 100644
--- a/force-app/main/default/lwc/customShippingUnitPriceComp/customShippingUnitPriceComp.html
+++ b/force-app/main/default/lwc/customShippingUnitPriceComp/customShippingUnitPriceComp.html
@@ -6,7 +6,7 @@
         label="deliveryOrderNo"
         variant="label-hidden"
         data-field="shipmentUnitPrice"
-        value={shipmentUnitPrice}
+        value={shippingUnitPrice}
         onblur={shipmentUnitPriceBlur}
     ></lightning-input>
 </template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/customShippingUnitPriceComp/customShippingUnitPriceComp.js b/force-app/main/default/lwc/customShippingUnitPriceComp/customShippingUnitPriceComp.js
index 45bfe3a..6e1f1e7 100644
--- a/force-app/main/default/lwc/customShippingUnitPriceComp/customShippingUnitPriceComp.js
+++ b/force-app/main/default/lwc/customShippingUnitPriceComp/customShippingUnitPriceComp.js
@@ -2,22 +2,22 @@
 
 export default class CustomShippingUnitPriceComp extends LightningElement {
     @api recordId;
-    @track shipmentUnitPrice = 0.00;
+    @api shippingUnitPrice;
 
     connectedCallback(){
-        console.log('CustomShippingUnitPriceComp recordId = ' + this.recordId);
+        console.log('shippingUnitPrice = ' + this.shippingUnitPrice);
     }
 
     shipmentUnitPriceBlur(event){
         console.log('shipmentUnitPriceBlur')
-        this.shipmentUnitPrice = event.target.value;
+        this.shippingUnitPrice = event.target.value;
 
         this.dispatchEvent(new CustomEvent('shipmentunitprice', {
             composed: true,
             bubbles: true,
             cancelable: true,
             detail: {
-                data: { shipmentunitprice: this.shipmentUnitPrice, recordId: this.recordId }
+                data: { shipmentunitprice: this.shippingUnitPrice, recordId: this.recordId }
             }
         }));
     }
diff --git a/force-app/main/default/lwc/customUnitComp/customUnitComp.html b/force-app/main/default/lwc/customUnitComp/customUnitComp.html
index f9509e5..776392f 100644
--- a/force-app/main/default/lwc/customUnitComp/customUnitComp.html
+++ b/force-app/main/default/lwc/customUnitComp/customUnitComp.html
@@ -7,7 +7,15 @@
         </template>
     </select> -->
     <div class="picklist-container">
-        <lightning-combobox name="selectUnit" label="unit" value={unitValue} variant="label-hidden"
-            onchange={handleDataChange} data-field="selectUnit" options={unitOptions}></lightning-combobox>
+        <lightning-combobox
+            name="selectUnit"
+            label="unit"
+            value={unitValue}
+            variant="label-hidden"
+            onchange={handleDataChange}
+            data-field="selectUnit"
+            options={unitOptions}
+        ></lightning-combobox>
     </div>
+    
 </template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/customUnitComp/customUnitComp.js b/force-app/main/default/lwc/customUnitComp/customUnitComp.js
index df1600b..420a519 100644
--- a/force-app/main/default/lwc/customUnitComp/customUnitComp.js
+++ b/force-app/main/default/lwc/customUnitComp/customUnitComp.js
@@ -6,14 +6,11 @@
     @api recordId;
 
     connectedCallback(){
-        console.log('unitValue = ' + this.unitValue);
-        console.log('unitOptions = ' + JSON.stringify(this.unitOptions));
-        console.log('recordId = ' + this.recordId);
     }
 
     handleDataChange(event){
-        console.log('dataChange' + event.target.value);
-
+        console.log('unitValue = ' + event.target.value);
+        this.unitValue = event.target.value;
         this.dispatchEvent(new CustomEvent('unitchange', {
             composed: true,
             bubbles: true,
diff --git a/force-app/main/default/lwc/datatableWithCustomTypes/datatableWithCustomTypes.html b/force-app/main/default/lwc/datatableWithCustomTypes/datatableWithCustomTypes.html
new file mode 100644
index 0000000..0440d2c
--- /dev/null
+++ b/force-app/main/default/lwc/datatableWithCustomTypes/datatableWithCustomTypes.html
@@ -0,0 +1 @@
+<template> </template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/datatableWithCustomTypes/datatableWithCustomTypes.js b/force-app/main/default/lwc/datatableWithCustomTypes/datatableWithCustomTypes.js
new file mode 100644
index 0000000..cac85fe
--- /dev/null
+++ b/force-app/main/default/lwc/datatableWithCustomTypes/datatableWithCustomTypes.js
@@ -0,0 +1,11 @@
+import LightningDatatable from 'lightning/datatable';
+import navigateToRecordTemplate from './navigateToRecordTemplate.html';
+
+export default class DatatableWithCustomTypes extends LightningDatatable {
+    static customTypes = {
+        navigateToRecord: {
+            template: navigateToRecordTemplate,
+            typeAttributes: ['label']
+        }
+    };
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/datatableWithCustomTypes/datatableWithCustomTypes.js-meta.xml b/force-app/main/default/lwc/datatableWithCustomTypes/datatableWithCustomTypes.js-meta.xml
new file mode 100644
index 0000000..b9a3113
--- /dev/null
+++ b/force-app/main/default/lwc/datatableWithCustomTypes/datatableWithCustomTypes.js-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>false</isExposed>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/datatableWithCustomTypes/navigateToRecordTemplate.html b/force-app/main/default/lwc/datatableWithCustomTypes/navigateToRecordTemplate.html
new file mode 100644
index 0000000..396e2f8
--- /dev/null
+++ b/force-app/main/default/lwc/datatableWithCustomTypes/navigateToRecordTemplate.html
@@ -0,0 +1,8 @@
+<template>
+    <c-navigate-to-record
+        data-navigation="enable"
+        record-id={value}
+        label={typeAttributes.label}
+    >
+    </c-navigate-to-record>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/demoLWC/demoLWC.html b/force-app/main/default/lwc/demoLWC/demoLWC.html
new file mode 100644
index 0000000..792793b
--- /dev/null
+++ b/force-app/main/default/lwc/demoLWC/demoLWC.html
@@ -0,0 +1,42 @@
+<template>
+    <button class="slds-button slds-button_brand" onclick={addAccount} title="AddGroup">鏂板瀹㈡埛</button>
+    <lightning-datatable
+        key-field="id"
+        data={accList}
+        columns={columns}
+    >
+    </lightning-datatable>
+    <template if:true={isShowPop}>
+        <section role="dialog" tabindex="-1" aria-labelledby="modal-heading-01" aria-modal="true" aria-describedby="modal-content-id-1" class="slds-modal slds-fade-in-open slds-modal_medium">
+            <div class="slds-modal__container">
+                <header class="slds-modal__header" style="background-color: #F3F3F3;">
+                    <button class="slds-button slds-button_icon slds-modal__close slds-button_icon-inverse" title="Close" onclick={close}>
+                        <lightning-icon icon-name="utility:close"
+                            alternative-text="close"
+                            variant="inverse"
+                            size="small" ></lightning-icon>
+                        <span class="slds-assistive-text">Close</span>
+                    </button>
+                    <h2 id="modal-heading-02" class="slds-text-heading_medium slds-hyphenate">鏂板瀹㈡埛</h2>
+                </header>
+                <div class="slds-modal__content slds-p-around_medium" id="modal-content-id-2" style="border: 1px solid #F3F3F3;">
+                    <lightning-record-edit-form object-api-name="Account" density="compact" layout-type="Compact">
+                        <div class="slds-grid slds-wrap" style="padding-top: 20px;padding-bottom: 5px;padding-left:25px;padding-right:25px;">
+                            <div class="slds-col slds-size_12-of-12 slds-small-size_12-of-12 slds-large-size_6-of-12">
+                                <lightning-input-field field-name="Name" value={accName} onchange={accNameChange} required="true"></lightning-input-field>
+                                <lightning-input-field field-name="Phone" value={accPhone} onchange={accPhoneChange}></lightning-input-field>
+                                <lightning-input-field field-name="Type" value={accType} onchange={accTypeChange}></lightning-input-field>
+                                <lightning-input-field field-name="Fax" value={accFax} onchange={accFaxChange}></lightning-input-field>
+                                <lightning-input-field field-name="TestMutiPicklist__c" value={accTest} onchange={accFaxChange}></lightning-input-field>
+                            </div>
+                        </div>
+                    </lightning-record-edit-form>
+                </div>
+                <footer class="slds-modal__footer">
+                    <button class="slds-button slds-button_neutral" onclick={close} title="Cancel">鍙栨秷</button>
+                    <button class="slds-button slds-button_brand" onclick={confirm} title="Confirm">鏂板缓</button>
+                </footer>
+            </div>
+        </section>
+    </template>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/demoLWC/demoLWC.js b/force-app/main/default/lwc/demoLWC/demoLWC.js
new file mode 100644
index 0000000..8554f33
--- /dev/null
+++ b/force-app/main/default/lwc/demoLWC/demoLWC.js
@@ -0,0 +1,70 @@
+import { LightningElement,track } from 'lwc';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+import getAccountForLWC from '@salesforce/apex/DemoController.getAccountForLWC';
+import addAccountForLWC from '@salesforce/apex/DemoController.addAccountForLWC';
+
+export default class DemoLWC extends LightningElement {
+
+    @track accList = [];
+    @track isShowPop = false;
+    @track accName;
+    @track accPhone;
+    @track accType;
+    @track accFax;
+    @track accTest;
+    @track columns = [
+        {label: 'Account Name',fieldName: 'Name'},
+        {label: 'Account Phone',fieldName: 'Phone'},
+        {label: 'Account Type',fieldName: 'Type'},
+        {label: 'Account Fax',fieldName: 'Fax'}
+    ];
+
+    connectedCallback(){
+        getAccountForLWC()
+            .then(result=>{
+                this.accList = result;
+            })
+    }
+
+    accNameChange(event){
+        this.accName = event.detail.value;
+    }
+
+    accPhoneChange(event){
+        this.accPhone = event.detail.value;
+    }
+
+    accTypeChange(event){
+        this.accType = event.detail.value;
+    }
+
+    accFaxChange(event){
+        this.accFax = event.detail.value;
+    }
+
+    addAccount(event){
+        this.isShowPop = true;
+        this.accName = '';
+        this.accPhone = '';
+        this.accType = '';
+        this.accFax = '';
+    }
+    
+    confirm(event){
+        addAccountForLWC({name:this.accName,phone:this.accPhone,type:this.accType,fax:this.accFax})
+            .then(result=>{
+                if(result == 'Success'){
+                    this.isShowPop = false;
+                    const evt = new ShowToastEvent({
+                        title : '鏂板缓鎴愬姛',
+                        variant: 'success'
+                    });
+                    this.dispatchEvent(evt);
+                }
+            })
+    }
+
+    close(event){
+        this.isShowPop = false;
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/demoLWC/demoLWC.js-meta.xml b/force-app/main/default/lwc/demoLWC/demoLWC.js-meta.xml
new file mode 100644
index 0000000..f8c5cb4
--- /dev/null
+++ b/force-app/main/default/lwc/demoLWC/demoLWC.js-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>56.0</apiVersion>
+    <isExposed>false</isExposed>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/demoWrapper/demoWrapper.html b/force-app/main/default/lwc/demoWrapper/demoWrapper.html
new file mode 100644
index 0000000..cc97614
--- /dev/null
+++ b/force-app/main/default/lwc/demoWrapper/demoWrapper.html
@@ -0,0 +1,16 @@
+<template>
+    <c-example-wrapper
+        icon-name="custom:custom7"
+        lwc="demoLWC"
+        title="Demo"
+        visualforce="DemoPage"
+        visualforce-height="500px"
+    >
+        <c-demo-l-w-c slot="lwc"></c-demo-l-w-c>
+
+        <!-- prettier-ignore -->
+        <p>
+            Demo
+        </p>
+    </c-example-wrapper>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/demoWrapper/demoWrapper.js b/force-app/main/default/lwc/demoWrapper/demoWrapper.js
new file mode 100644
index 0000000..4c320b9
--- /dev/null
+++ b/force-app/main/default/lwc/demoWrapper/demoWrapper.js
@@ -0,0 +1,3 @@
+import { LightningElement } from 'lwc';
+
+export default class DemoWrapper extends LightningElement {}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/demoWrapper/demoWrapper.js-meta.xml b/force-app/main/default/lwc/demoWrapper/demoWrapper.js-meta.xml
new file mode 100644
index 0000000..5b31309
--- /dev/null
+++ b/force-app/main/default/lwc/demoWrapper/demoWrapper.js-meta.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>56.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightning__AppPage</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/editRecord/editRecord.html b/force-app/main/default/lwc/editRecord/editRecord.html
new file mode 100644
index 0000000..8b47a58
--- /dev/null
+++ b/force-app/main/default/lwc/editRecord/editRecord.html
@@ -0,0 +1,12 @@
+<template>
+    <lightning-record-form
+        record-id={recordId}
+        object-api-name={objectApiName}
+        columns="2"
+        mode="edit"
+        fields={fields}
+        onsuccess={handleSuccess}
+        onerror={handleError}
+    >
+    </lightning-record-form>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/editRecord/editRecord.js b/force-app/main/default/lwc/editRecord/editRecord.js
new file mode 100644
index 0000000..c28a363
--- /dev/null
+++ b/force-app/main/default/lwc/editRecord/editRecord.js
@@ -0,0 +1,44 @@
+import { LightningElement, api } from 'lwc';
+import ACCOUNT_OBJECT from '@salesforce/schema/Account';
+import ACCOUNT_NAME_FIELD from '@salesforce/schema/Account.Name';
+import ACCOUNT_TYPE_FIELD from '@salesforce/schema/Account.Type';
+import ACCOUNT_PHONE_FIELD from '@salesforce/schema/Account.Phone';
+import ACCOUNT_EMPLOYEES_FIELD from '@salesforce/schema/Account.NumberOfEmployees';
+
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+
+export default class EditRecord extends LightningElement {
+    @api recordId;
+    objectApiName = ACCOUNT_OBJECT;
+
+    fields = [
+        ACCOUNT_NAME_FIELD,
+        ACCOUNT_TYPE_FIELD,
+        ACCOUNT_PHONE_FIELD,
+        ACCOUNT_EMPLOYEES_FIELD
+    ];
+
+    // Only use if custom behavior needed
+    handleSuccess() {
+        this.dispatchEvent(
+            new ShowToastEvent({
+                title: 'Success',
+                message: this.recordId ? 'Account updated' : 'Account created',
+                variant: 'success'
+            })
+        );
+    }
+
+    // Only use if custom behavior needed
+    handleError() {
+        this.dispatchEvent(
+            new ShowToastEvent({
+                title: 'Error',
+                message: this.recordId
+                    ? 'Error updating Account'
+                    : 'Error creating Account',
+                variant: 'error'
+            })
+        );
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/editRecord/editRecord.js-meta.xml b/force-app/main/default/lwc/editRecord/editRecord.js-meta.xml
new file mode 100644
index 0000000..b9a3113
--- /dev/null
+++ b/force-app/main/default/lwc/editRecord/editRecord.js-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>false</isExposed>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/editRecordWrapper/editRecordWrapper.html b/force-app/main/default/lwc/editRecordWrapper/editRecordWrapper.html
new file mode 100644
index 0000000..d375da8
--- /dev/null
+++ b/force-app/main/default/lwc/editRecordWrapper/editRecordWrapper.html
@@ -0,0 +1,26 @@
+<template>
+    <c-example-wrapper
+        icon-name="standard:account"
+        lwc="editRecord"
+        title="Edit Record"
+        visualforce="editRecord"
+        record-id={recordId}
+        visualforce-height="230px"
+    >
+        <c-edit-record record-id={recordId} slot="lwc"></c-edit-record>
+
+        <!-- prettier-ignore -->
+        <p>
+            Use <a target="_blank" href="https://developer.salesforce.com/docs/component-library/bundle/lightning-record-form">
+            lightning-record-form</a> in edit mode to create or edit records as first option.
+            Use <a target="_blank" href="https://developer.salesforce.com/docs/component-library/bundle/lightning-record-edit-form">
+            lightning-record-edit-form</a> if you want to prepopulate fields or use a custom layout.
+        </p>
+        <!-- prettier-ignore -->
+        <p>
+            <b>Note: </b>
+            You can use the <a target="_blank" href="https://developer.salesforce.com/docs/component-library/documentation/lwc/lwc.use_navigate">
+            Navigation Service </a> to redirect to record page after save.
+        </p>
+    </c-example-wrapper>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/editRecordWrapper/editRecordWrapper.js b/force-app/main/default/lwc/editRecordWrapper/editRecordWrapper.js
new file mode 100644
index 0000000..d4bcc98
--- /dev/null
+++ b/force-app/main/default/lwc/editRecordWrapper/editRecordWrapper.js
@@ -0,0 +1,5 @@
+import { LightningElement, api } from 'lwc';
+
+export default class EditRecordWrapper extends LightningElement {
+    @api recordId;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/editRecordWrapper/editRecordWrapper.js-meta.xml b/force-app/main/default/lwc/editRecordWrapper/editRecordWrapper.js-meta.xml
new file mode 100644
index 0000000..08bfebb
--- /dev/null
+++ b/force-app/main/default/lwc/editRecordWrapper/editRecordWrapper.js-meta.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightning__RecordPage</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/editableList/__mocks__/editableList.js b/force-app/main/default/lwc/editableList/__mocks__/editableList.js
new file mode 100644
index 0000000..09bbaed
--- /dev/null
+++ b/force-app/main/default/lwc/editableList/__mocks__/editableList.js
@@ -0,0 +1,3 @@
+import { LightningElement } from 'lwc';
+
+export default class EditableList extends LightningElement {}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/editableList/editableList.css b/force-app/main/default/lwc/editableList/editableList.css
new file mode 100644
index 0000000..4b57e95
--- /dev/null
+++ b/force-app/main/default/lwc/editableList/editableList.css
@@ -0,0 +1,3 @@
+.table-container {
+    height: var(--lwc-sizeMedium, 320px);
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/editableList/editableList.html b/force-app/main/default/lwc/editableList/editableList.html
new file mode 100644
index 0000000..e9e4729
--- /dev/null
+++ b/force-app/main/default/lwc/editableList/editableList.html
@@ -0,0 +1,15 @@
+<template>
+    <template if:true={accounts.data}>
+        <div class="table-container">
+            <lightning-datatable
+                key-field="id"
+                data={accounts.data}
+                columns={columns}
+            >
+            </lightning-datatable>
+        </div>
+    </template>
+    <template if:true={accounts.error}>
+        <c-error-panel errors={accounts.error}></c-error-panel>
+    </template>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/editableList/editableList.js b/force-app/main/default/lwc/editableList/editableList.js
new file mode 100644
index 0000000..559af8a
--- /dev/null
+++ b/force-app/main/default/lwc/editableList/editableList.js
@@ -0,0 +1,40 @@
+import { LightningElement, wire } from 'lwc';
+import getAccounts from '@salesforce/apex/ListControllerLwc.getAccounts';
+import ACCOUNT_NAME_FIELD from '@salesforce/schema/Account.Name';
+import ACCOUNT_TYPE_FIELD from '@salesforce/schema/Account.Type';
+import ACCOUNT_PHONE_FIELD from '@salesforce/schema/Account.Phone';
+import ACCOUNT_EMPLOYEES_FIELD from '@salesforce/schema/Account.NumberOfEmployees';
+
+const COLUMNS = [
+    {
+        label: 'Account Name',
+        fieldName: ACCOUNT_NAME_FIELD.fieldApiName,
+        type: 'text',
+        editable: 'true'
+    },
+    {
+        label: 'Type',
+        fieldName: ACCOUNT_TYPE_FIELD.fieldApiName,
+        type: 'text',
+        editable: 'true'
+    },
+    {
+        label: 'Phone',
+        fieldName: ACCOUNT_PHONE_FIELD.fieldApiName,
+        type: 'phone',
+        editable: 'true'
+    },
+    {
+        label: 'Employees',
+        fieldName: ACCOUNT_EMPLOYEES_FIELD.fieldApiName,
+        type: 'number',
+        editable: 'true'
+    }
+];
+
+export default class List extends LightningElement {
+    columns = COLUMNS;
+
+    @wire(getAccounts)
+    accounts;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/editableList/editableList.js-meta.xml b/force-app/main/default/lwc/editableList/editableList.js-meta.xml
new file mode 100644
index 0000000..b9a3113
--- /dev/null
+++ b/force-app/main/default/lwc/editableList/editableList.js-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>false</isExposed>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/editableListWrapper/editableListWrapper.html b/force-app/main/default/lwc/editableListWrapper/editableListWrapper.html
new file mode 100644
index 0000000..de6b6e5
--- /dev/null
+++ b/force-app/main/default/lwc/editableListWrapper/editableListWrapper.html
@@ -0,0 +1,18 @@
+<template>
+    <c-example-wrapper
+        icon-name="custom:custom62"
+        title="Editable List"
+        lwc="editableList"
+        visualforce="editableList"
+        visualforce-height="420px"
+    >
+        <c-editable-list slot="lwc"></c-editable-list>
+
+        <!-- prettier-ignore -->
+        <p>
+            Use <a target="_blank" href="https://developer.salesforce.com/docs/component-library/bundle/lightning-datatable">
+            lightning-datatable</a> with inline editing enabled on its columns to create an editable table.
+            <b> Note:</b> Check in the documentation which field types are supported.
+        </p>
+    </c-example-wrapper>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/editableListWrapper/editableListWrapper.js b/force-app/main/default/lwc/editableListWrapper/editableListWrapper.js
new file mode 100644
index 0000000..e72dc47
--- /dev/null
+++ b/force-app/main/default/lwc/editableListWrapper/editableListWrapper.js
@@ -0,0 +1,3 @@
+import { LightningElement } from 'lwc';
+
+export default class EditableListWrapper extends LightningElement {}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/editableListWrapper/editableListWrapper.js-meta.xml b/force-app/main/default/lwc/editableListWrapper/editableListWrapper.js-meta.xml
new file mode 100644
index 0000000..6646900
--- /dev/null
+++ b/force-app/main/default/lwc/editableListWrapper/editableListWrapper.js-meta.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightning__AppPage</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/errorPanel/errorPanel.js b/force-app/main/default/lwc/errorPanel/errorPanel.js
new file mode 100644
index 0000000..5dafd3c
--- /dev/null
+++ b/force-app/main/default/lwc/errorPanel/errorPanel.js
@@ -0,0 +1,28 @@
+import { LightningElement, api } from 'lwc';
+import { reduceErrors } from 'c/ldsUtils';
+import noDataIllustration from './templates/noDataIllustration.html';
+import inlineMessage from './templates/inlineMessage.html';
+
+export default class ErrorPanel extends LightningElement {
+    /** Single or array of LDS errors */
+    @api errors;
+    /** Generic / user-friendly message */
+    @api friendlyMessage = 'Error retrieving data';
+    /** Type of error message **/
+    @api type;
+
+    viewDetails = false;
+
+    get errorMessages() {
+        return reduceErrors(this.errors);
+    }
+
+    handleShowDetailsClick() {
+        this.viewDetails = !this.viewDetails;
+    }
+
+    render() {
+        if (this.type === 'inlineMessage') return inlineMessage;
+        return noDataIllustration;
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/errorPanel/errorPanel.js-meta.xml b/force-app/main/default/lwc/errorPanel/errorPanel.js-meta.xml
new file mode 100644
index 0000000..b9a3113
--- /dev/null
+++ b/force-app/main/default/lwc/errorPanel/errorPanel.js-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>false</isExposed>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/errorPanel/templates/inlineMessage.html b/force-app/main/default/lwc/errorPanel/templates/inlineMessage.html
new file mode 100644
index 0000000..3af8135
--- /dev/null
+++ b/force-app/main/default/lwc/errorPanel/templates/inlineMessage.html
@@ -0,0 +1,19 @@
+<template>
+    <div class="slds-var-m-vertical_small">
+        <span class="slds-text-color_destructive">
+            {friendlyMessage}.
+            <template if:true={errorMessages.length}>
+                <a onclick={handleShowDetailsClick}> Show details.</a>
+            </template>
+        </span>
+        <template if:true={errorMessages.length}>
+            <template if:true={viewDetails}>
+                <template for:each={errorMessages} for:item="message">
+                    <p class="slds-text-body_regular" key={message}>
+                        {message}
+                    </p>
+                </template>
+            </template>
+        </template>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/errorPanel/templates/noDataIllustration.html b/force-app/main/default/lwc/errorPanel/templates/noDataIllustration.html
new file mode 100644
index 0000000..d66a9f9
--- /dev/null
+++ b/force-app/main/default/lwc/errorPanel/templates/noDataIllustration.html
@@ -0,0 +1,257 @@
+<template>
+    <div
+        class="slds-illustration slds-illustration_small slds-var-m-vertical_small"
+    >
+        <svg
+            class="slds-illustration__svg"
+            viewBox="0 0 454 272"
+            aria-hidden="true"
+            xmlns="http://www.w3.org/2000/svg"
+            xlink="http://www.w3.org/1999/xlink"
+        >
+            <g fill="none" fill-rule="evenodd" transform="translate(-65 -74)">
+                <g transform="translate(77 180)">
+                    <polyline
+                        vector-effect="non-scaling-stroke"
+                        class="slds-illustration__stroke-secondary"
+                        stroke-linecap="round"
+                        stroke-linejoin="round"
+                        stroke-width="3"
+                        points="21 74 111.5 0 177.5 54"
+                    ></polyline>
+                    <polyline
+                        vector-effect="non-scaling-stroke"
+                        class="slds-illustration__stroke-secondary"
+                        stroke-linecap="round"
+                        stroke-linejoin="round"
+                        stroke-width="3"
+                        points="160 37 181.5 19 249 74"
+                    ></polyline>
+                    <path
+                        vector-effect="non-scaling-stroke"
+                        class="slds-illustration__fill-secondary"
+                        d="M5.83623454,54.8238008 C6.47896445,52.7119739 7.52041887,52.7099477 8.16376546,54.8238008 L14,74 L0,74 L5.83623454,54.8238008 Z"
+                    ></path>
+                    <path
+                        vector-effect="non-scaling-stroke"
+                        class="slds-illustration__fill-secondary"
+                        d="M14.9699006 61.8628727C15.5388088 59.729467 16.4627585 59.7353443 17.0300994 61.8628727L20 73 12 73 14.9699006 61.8628727zM239.734375 56.5589921C240.43336 54.4620359 241.506942 54.4857215 242.128332 56.5984458L246 69.7621171 237 64.7621171 239.734375 56.5589921z"
+                    ></path>
+                    <path
+                        vector-effect="non-scaling-stroke"
+                        class="slds-illustration__fill-secondary"
+                        d="M247.921591,53.8514618 C248.51718,51.7243582 249.484912,51.7318303 250.077772,53.8491859 L254.357732,69.1347569 L242,75 L247.921591,53.8514618 Z"
+                        transform="matrix(-1 0 0 1 496.358 0)"
+                    ></path>
+                </g>
+                <g transform="matrix(-1 0 0 1 496 216)">
+                    <path
+                        vector-effect="non-scaling-stroke"
+                        class="slds-illustration__fill-secondary"
+                        d="M5.9215907,18.8514618 C6.51717971,16.7243582 7.48113835,16.7183512 8.0784093,18.8514618 L14,40 L0,40 L5.9215907,18.8514618 Z"
+                        transform="matrix(-1 0 0 1 14 0)"
+                    ></path>
+                    <path
+                        vector-effect="non-scaling-stroke"
+                        class="slds-illustration__fill-secondary"
+                        d="M123.136984,25.2363093 C123.613615,23.448945 124.38595,23.4473111 124.863437,25.237887 L126.693756,32.1015868 L120,37 L123.136984,25.2363093 Z"
+                        transform="matrix(-1 0 0 1 246.694 0)"
+                    ></path>
+                    <polyline
+                        vector-effect="non-scaling-stroke"
+                        class="slds-illustration__stroke-secondary"
+                        stroke-linecap="round"
+                        stroke-linejoin="round"
+                        stroke-width="3"
+                        points="13 37 59.5 0 92.5 27"
+                    ></polyline>
+                    <polyline
+                        vector-effect="non-scaling-stroke"
+                        class="slds-illustration__stroke-secondary"
+                        stroke-linecap="round"
+                        stroke-linejoin="round"
+                        stroke-width="3"
+                        points="83 17 92.5 9 127 38"
+                    ></polyline>
+                </g>
+                <g
+                    class="slds-illustration__stroke-primary"
+                    stroke-linecap="round"
+                    stroke-width="3"
+                    transform="translate(67 253)"
+                >
+                    <path
+                        vector-effect="non-scaling-stroke"
+                        d="M0 1.5L450 1.5M284 2L419 61M282 2L65 91M443 1.5L449 1.5"
+                    ></path>
+                </g>
+                <g transform="translate(73 163)">
+                    <polygon
+                        vector-effect="non-scaling-stroke"
+                        fill="#FFF"
+                        points="20.906 .73 24.63 2.34 27.093 9.155 11.046 19.877 .131 19.877"
+                        transform="translate(80 22)"
+                    ></polygon>
+                    <g
+                        class="slds-illustration__stroke-secondary"
+                        stroke-linecap="round"
+                        stroke-width="3"
+                    >
+                        <path
+                            vector-effect="non-scaling-stroke"
+                            d="M44,17.5 L63,17.5 C62.2789714,12.0723971 64.081543,7.53186978 68.4077148,3.87841797 C73.3754883,-0.195556641 79.2734375,0.717773438 82.440918,2.12353516 C85.6083984,3.52929687 87.9606934,5.46069336 89.5913086,9.10524041 C90.2822266,10.6397351 90.7517904,11.9379883 91,13"
+                        ></path>
+                        <path
+                            vector-effect="non-scaling-stroke"
+                            d="M83 20.5C84.0558268 16.8461914 86.2227376 14.4572754 89.5007324 13.333252 94.4177246 11.6472168 99.0800781 13.8925781 100.942383 16.1518555 102.804687 18.4111328 103.39502 20.2260742 103.746582 22.1201172 103.980957 23.3828125 104.06543 24.8427734 104 26.5 108.141764 26.3313802 110.918945 27.1647135 112.331543 29 114.040039 31.1936035 114.215332 33.817627 113.593018 35.75 112.970703 37.682373 110.894531 40.5 107 40.5L28 40.5M18 27.5L83.0004985 27.5M0 27.5L8 27.5"
+                        ></path>
+                    </g>
+                </g>
+                <g
+                    class="slds-illustration__stroke-secondary"
+                    stroke-linecap="round"
+                    stroke-width="3"
+                    transform="translate(292 139)"
+                >
+                    <path
+                        vector-effect="non-scaling-stroke"
+                        d="M44,17.5 L63,17.5 C62.2789714,12.0723971 64.081543,7.53186978 68.4077148,3.87841797 C73.3754883,-0.195556641 79.2734375,0.717773438 82.440918,2.12353516 C85.6083984,3.52929687 87.9606934,5.46069336 89.5913086,9.10524041 C90.2822266,10.6397351 90.7517904,11.9379883 91,13"
+                    ></path>
+                    <path
+                        vector-effect="non-scaling-stroke"
+                        d="M83 20.5C84.0558268 16.8461914 86.2227376 14.4572754 89.5007324 13.333252 94.4177246 11.6472168 99.0800781 13.8925781 100.942383 16.1518555 102.804687 18.4111328 103.39502 20.2260742 103.746582 22.1201172 103.980957 23.3828125 104.06543 24.8427734 104 26.5 108.141764 26.3313802 110.918945 27.1647135 112.331543 29 114.040039 31.1936035 114.215332 33.817627 113.593018 35.75 112.970703 37.682373 110.894531 40.5 107 40.5L28 40.5M18 27.5L83.0004985 27.5M0 27.5L8 27.5"
+                    ></path>
+                </g>
+                <g transform="translate(204.5 228.5)">
+                    <path
+                        vector-effect="non-scaling-stroke"
+                        class="slds-illustration__fill-secondary"
+                        d="M18.9209988,1.95433401 L33.259296,51.443436 C33.5666778,52.5043744 32.9557995,53.613617 31.8948612,53.9209988 C31.7139843,53.9734036 31.5266126,54 31.3382972,54 L2.6617028,54 C1.5571333,54 0.661702805,53.1045695 0.661702805,52 C0.661702805,51.8116846 0.688299176,51.6243129 0.74070397,51.443436 L15.0790012,1.95433401 C15.386383,0.893395645 16.4956256,0.282517358 17.556564,0.589899164 C18.2152102,0.780726338 18.7301717,1.29568777 18.9209988,1.95433401 Z"
+                    ></path>
+                    <g
+                        class="slds-illustration__stroke-primary"
+                        stroke-linecap="round"
+                        stroke-linejoin="round"
+                        stroke-width="3"
+                    >
+                        <polygon points="17 .324 34 54 0 54"></polygon>
+                        <path
+                            vector-effect="non-scaling-stroke"
+                            d="M17,6.32394366 C17,42.1378022 17,60.4711356 17,61.3239437 C17,60.4711356 17,42.1378022 17,6.32394366 Z"
+                        ></path>
+                        <path
+                            vector-effect="non-scaling-stroke"
+                            d="M17,29.3239437 C22.3333333,35.7851611 25,39.1184944 25,39.3239437 C25,39.1184944 22.3333333,35.7851611 17,29.3239437 Z"
+                            transform="matrix(-1 0 0 1 42 0)"
+                        ></path>
+                    </g>
+                </g>
+                <g transform="translate(439.5 227.5)">
+                    <path
+                        vector-effect="non-scaling-stroke"
+                        class="slds-illustration__fill-secondary"
+                        d="M18.9209988,1.95433401 L33.259296,51.443436 C33.5666778,52.5043744 32.9557995,53.613617 31.8948612,53.9209988 C31.7139843,53.9734036 31.5266126,54 31.3382972,54 L2.6617028,54 C1.5571333,54 0.661702805,53.1045695 0.661702805,52 C0.661702805,51.8116846 0.688299176,51.6243129 0.74070397,51.443436 L15.0790012,1.95433401 C15.386383,0.893395645 16.4956256,0.282517358 17.556564,0.589899164 C18.2152102,0.780726338 18.7301717,1.29568777 18.9209988,1.95433401 Z"
+                    ></path>
+                    <g
+                        class="slds-illustration__stroke-primary"
+                        stroke-linecap="round"
+                        stroke-linejoin="round"
+                        stroke-width="3"
+                    >
+                        <polygon
+                            vector-effect="non-scaling-stroke"
+                            points="17 -4.676 34 54 0 54"
+                        ></polygon>
+                        <path
+                            vector-effect="non-scaling-stroke"
+                            d="M17,1.32394366 C17,40.3936076 17,60.3936076 17,61.3239437 C17,60.3936076 17,40.3936076 17,1.32394366 Z"
+                        ></path>
+                        <path
+                            vector-effect="non-scaling-stroke"
+                            d="M17,29.3239437 C22.3333333,35.7851611 25,39.1184944 25,39.3239437 C25,39.1184944 22.3333333,35.7851611 17,29.3239437 Z"
+                            transform="matrix(-1 0 0 1 42 0)"
+                        ></path>
+                    </g>
+                </g>
+                <g transform="translate(141.852 213.5)">
+                    <path
+                        vector-effect="non-scaling-stroke"
+                        class="slds-illustration__fill-secondary"
+                        d="M25.6478873,0 L50.8997802,86.4391718 C51.2095171,87.4994249 50.6011034,88.6100213 49.5408502,88.9197582 C49.3586621,88.9729817 49.1698252,89 48.980022,89 L2.31575269,89 C1.21118319,89 0.315752686,88.1045695 0.315752686,87 C0.315752686,86.8101968 0.342770948,86.6213599 0.395994453,86.4391718 L25.6478873,0 Z"
+                        transform="translate(1)"
+                    ></path>
+                    <g
+                        class="slds-illustration__stroke-primary"
+                        stroke-linecap="round"
+                        stroke-linejoin="round"
+                        stroke-width="3"
+                        transform="translate(0 2)"
+                    >
+                        <polygon
+                            vector-effect="non-scaling-stroke"
+                            points="26.648 0 52.648 87 .648 87"
+                        ></polygon>
+                        <path
+                            vector-effect="non-scaling-stroke"
+                            d="M26.6478873 6C26.6478873 64.4972948 26.6478873 94.4972948 26.6478873 96 26.6478873 94.4972948 26.6478873 64.4972948 26.6478873 6zM15.6478873 42C22.9812207 50.078692 26.6478873 52.7453587 26.6478873 53 26.6478873 52.7453587 22.9812207 50.078692 15.6478873 42zM27.6478873 68C36.9812207 57.078692 41.6478873 51.7453587 41.6478873 52 41.6478873 51.7453587 36.9812207 57.078692 27.6478873 68z"
+                        ></path>
+                    </g>
+                </g>
+                <g transform="translate(168 57)">
+                    <circle
+                        vector-effect="non-scaling-stroke"
+                        cx="64"
+                        cy="64"
+                        r="23"
+                        class="slds-illustration__fill-secondary"
+                    ></circle>
+                    <path
+                        vector-effect="non-scaling-stroke"
+                        class="slds-illustration__stroke-secondary"
+                        stroke-dasharray="135 1 1 18"
+                        stroke-linecap="round"
+                        stroke-linejoin="round"
+                        stroke-width="3"
+                        d="M64,109 C88.8528137,109 109,88.8528137 109,64 C109,39.1471863 88.8528137,19 64,19 C39.1471863,19 19,39.1471863 19,64 C19,88.8528137 39.1471863,109 64,109 Z"
+                        transform="rotate(-130 64 64)"
+                    ></path>
+                    <path
+                        vector-effect="non-scaling-stroke"
+                        class="slds-illustration__stroke-secondary"
+                        stroke-dasharray="107 10"
+                        stroke-linecap="round"
+                        stroke-linejoin="round"
+                        stroke-width="3"
+                        d="M64,97 C82.2253967,97 97,82.2253967 97,64 C97,45.7746033 82.2253967,31 64,31 C45.7746033,31 31,45.7746033 31,64 C31,82.2253967 45.7746033,97 64,97 Z"
+                        transform="rotate(150 64 64)"
+                    ></path>
+                    <g
+                        class="slds-illustration__stroke-primary"
+                        stroke-width="3"
+                        transform="translate(41 41)"
+                    >
+                        <circle
+                            vector-effect="non-scaling-stroke"
+                            cx="23"
+                            cy="23"
+                            r="23"
+                        ></circle>
+                    </g>
+                </g>
+            </g>
+        </svg>
+        <div class="slds-text-longform">
+            <h3 class="slds-text-heading_medium">{friendlyMessage}</h3>
+            <template if:true={errorMessages.length}>
+                <a onclick={handleShowDetailsClick}>Show details</a>
+                <template if:true={viewDetails}>
+                    <template for:each={errorMessages} for:item="message">
+                        <p class="slds-text-body_regular" key={message}>
+                            {message}
+                        </p>
+                    </template>
+                </template>
+            </template>
+        </div>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/errorPopover/errorPopover.html b/force-app/main/default/lwc/errorPopover/errorPopover.html
new file mode 100644
index 0000000..91035c1
--- /dev/null
+++ b/force-app/main/default/lwc/errorPopover/errorPopover.html
@@ -0,0 +1,43 @@
+<template>
+    <template if:true={showPopover}>
+        <section
+            style="position: absolute; left: -50%; bottom: 150%"
+            aria-describedby="dialog-body-id-5"
+            aria-labelledby="dialog-heading-id-2"
+            class="slds-popover slds-popover_error slds-nubbin_bottom-left"
+            role="dialog"
+        >
+            <div class="slds-float_right slds-popover__close">
+                <lightning-button-icon
+                    variant="bare"
+                    icon-class="slds-button_icon-inverse"
+                    size="small"
+                    icon-name="utility:close"
+                    alternative-text="Close dialog"
+                    onclick={handleCloseButtonIconClick}
+                ></lightning-button-icon>
+            </div>
+            <header class="slds-popover__header">
+                <div
+                    class="slds-media slds-media_center slds-has-flexi-truncate"
+                >
+                    <lightning-icon
+                        variant="inverse"
+                        class="slds-var-m-right_x-small"
+                        size="x-small"
+                        icon-name="utility:error"
+                        alternative-text="Error"
+                    ></lightning-icon>
+                    <h2
+                        class="slds-truncate slds-text-heading_medium"
+                        id="dialog-heading-id-2"
+                        title="Resolve error"
+                    >
+                        Resolve error
+                    </h2>
+                </div>
+            </header>
+            <div class="slds-popover__body" id="dialog-body-id-5">{errors}</div>
+        </section>
+    </template>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/errorPopover/errorPopover.js b/force-app/main/default/lwc/errorPopover/errorPopover.js
new file mode 100644
index 0000000..8be497a
--- /dev/null
+++ b/force-app/main/default/lwc/errorPopover/errorPopover.js
@@ -0,0 +1,15 @@
+import { LightningElement, api } from 'lwc';
+
+export default class ErrorPopover extends LightningElement {
+    @api errors;
+    showPopover = true;
+
+    handleCloseButtonIconClick() {
+        this.showPopover = false;
+    }
+
+    @api
+    toggle() {
+        this.showPopover = !this.showPopover;
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/errorPopover/errorPopover.js-meta.xml b/force-app/main/default/lwc/errorPopover/errorPopover.js-meta.xml
new file mode 100644
index 0000000..b9a3113
--- /dev/null
+++ b/force-app/main/default/lwc/errorPopover/errorPopover.js-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>false</isExposed>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/exampleWrapper/__mocks__/exampleWrapper.js b/force-app/main/default/lwc/exampleWrapper/__mocks__/exampleWrapper.js
new file mode 100644
index 0000000..6c074a4
--- /dev/null
+++ b/force-app/main/default/lwc/exampleWrapper/__mocks__/exampleWrapper.js
@@ -0,0 +1,15 @@
+import { LightningElement, api } from 'lwc';
+import exampleWrapper from './exampleWrapperTemplate.html';
+
+export default class ExampleWrapper extends LightningElement {
+    @api iconName;
+    @api lwc;
+    @api recordId;
+    @api title;
+    @api visualforce;
+    @api visualforceHeight;
+
+    render() {
+        return exampleWrapper;
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/exampleWrapper/__mocks__/exampleWrapperTemplate.html b/force-app/main/default/lwc/exampleWrapper/__mocks__/exampleWrapperTemplate.html
new file mode 100644
index 0000000..f1dd0e2
--- /dev/null
+++ b/force-app/main/default/lwc/exampleWrapper/__mocks__/exampleWrapperTemplate.html
@@ -0,0 +1,3 @@
+<template>
+    <slot name="lwc"></slot>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/exampleWrapper/exampleWrapper.css b/force-app/main/default/lwc/exampleWrapper/exampleWrapper.css
new file mode 100644
index 0000000..3c6b04f
--- /dev/null
+++ b/force-app/main/default/lwc/exampleWrapper/exampleWrapper.css
@@ -0,0 +1,3 @@
+iframe {
+    border: none;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/exampleWrapper/exampleWrapper.html b/force-app/main/default/lwc/exampleWrapper/exampleWrapper.html
new file mode 100644
index 0000000..6150bb9
--- /dev/null
+++ b/force-app/main/default/lwc/exampleWrapper/exampleWrapper.html
@@ -0,0 +1,36 @@
+<template>
+    <lightning-card title={title} icon-name={iconName}>
+        <lightning-layout multiple-rows="true" vertical-align="center">
+            <lightning-layout-item
+                padding="horizontal-medium"
+                size="6"
+                small-device-size="12"
+                medium-device-size="12"
+                large-device-size="6"
+            >
+                <iframe
+                    title={visualforceIframeTitle}
+                    src={visualforceUrl}
+                    width="100%"
+                    height={visualforceHeight}
+                ></iframe>
+            </lightning-layout-item>
+            <lightning-layout-item
+                padding="horizontal-medium"
+                size="6"
+                small-device-size="12"
+                medium-device-size="12"
+                large-device-size="6"
+            >
+                <slot name="lwc"></slot>
+            </lightning-layout-item>
+        </lightning-layout>
+        <c-view-vf-lwc-source
+            visualforce-source={visualforceSource}
+            lwc-source={lwcSource}
+            slot="footer"
+        >
+            <slot></slot>
+        </c-view-vf-lwc-source>
+    </lightning-card>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/exampleWrapper/exampleWrapper.js b/force-app/main/default/lwc/exampleWrapper/exampleWrapper.js
new file mode 100644
index 0000000..669e8f4
--- /dev/null
+++ b/force-app/main/default/lwc/exampleWrapper/exampleWrapper.js
@@ -0,0 +1,28 @@
+import { LightningElement, api } from 'lwc';
+
+export default class ExampleWrapper extends LightningElement {
+    @api iconName;
+    @api lwc;
+    @api recordId;
+    @api title;
+    @api visualforce;
+    @api visualforceHeight;
+
+    get lwcSource() {
+        return `lwc/${this.lwc}`;
+    }
+
+    get visualforceSource() {
+        return `pages/${this.visualforce}.page`;
+    }
+
+    get visualforceUrl() {
+        if (this.recordId)
+            return `/apex/${this.visualforce}?id=${this.recordId}`;
+        return `/apex/${this.visualforce}`;
+    }
+
+    get visualforceIframeTitle() {
+        return `Wrapper for ${this.visualforce} page`;
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/exampleWrapper/exampleWrapper.js-meta.xml b/force-app/main/default/lwc/exampleWrapper/exampleWrapper.js-meta.xml
new file mode 100644
index 0000000..b9a3113
--- /dev/null
+++ b/force-app/main/default/lwc/exampleWrapper/exampleWrapper.js-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>false</isExposed>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/gzwbtest/gzwbtest.html b/force-app/main/default/lwc/gzwbtest/gzwbtest.html
new file mode 100644
index 0000000..971b982
--- /dev/null
+++ b/force-app/main/default/lwc/gzwbtest/gzwbtest.html
@@ -0,0 +1,5 @@
+<template>
+    <div class="slds-is-relative">
+        <lightning-spinner variant="brand" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/gzwbtest/gzwbtest.js b/force-app/main/default/lwc/gzwbtest/gzwbtest.js
new file mode 100644
index 0000000..7955064
--- /dev/null
+++ b/force-app/main/default/lwc/gzwbtest/gzwbtest.js
@@ -0,0 +1,3 @@
+import { LightningElement } from 'lwc';
+
+export default class Gzwbtest extends LightningElement {}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/gzwbtest/gzwbtest.js-meta.xml b/force-app/main/default/lwc/gzwbtest/gzwbtest.js-meta.xml
new file mode 100644
index 0000000..eac275d
--- /dev/null
+++ b/force-app/main/default/lwc/gzwbtest/gzwbtest.js-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>55.0</apiVersion>
+    <isExposed>false</isExposed>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/improvedForecastTime/improvedForecastTime.html b/force-app/main/default/lwc/improvedForecastTime/improvedForecastTime.html
index b0c9215..8a72d0c 100644
--- a/force-app/main/default/lwc/improvedForecastTime/improvedForecastTime.html
+++ b/force-app/main/default/lwc/improvedForecastTime/improvedForecastTime.html
@@ -1,164 +1,108 @@
 <template>
-    <div class="exampleHolder" if:true={IsLoading}>
-        <lightning-spinner
-            alternative-text="Loading"
-            size="large"
-        ></lightning-spinner>
-    </div>
-    <div style="padding: 30px">
-        <div style="float: right">
-            <div
-                class="demo-only demo-only_viewport"
-                style="height: 4.5rem"
-                if:true={Tongzhishow}
-            >
-                <div class="slds-notification-container" style={IsLeftStyle}>
-                    <div
-                        aria-live="assertive"
-                        aria-atomic="true"
-                        class="slds-assistive-text"
-                    >
-                        鎻愮ず
-                    </div>
-                    <section
-                        class="slds-notification"
-                        role="dialog"
-                        aria-labelledby="noti77"
-                        aria-describedby="dialog-body-id-43"
-                    >
-                        <div
-                            class="slds-notification__body"
-                            id="dialog-body-id-43"
-                        >
-                            <a
-                                class="slds-notification__target slds-media"
-                                href="#"
-                                style={BgColorStyle}
-                            >
-                                <span
-                                    class="slds-icon_container slds-icon-standard-task slds-media__figure"
-                                    title="task"
-                                >
-                                    <lightning-icon
-                                        icon-name={TongzhiIcon}
-                                        alternative-text="Account"
-                                        title="Account"
-                                    ></lightning-icon>
-                                </span>
-                                <div class="slds-media__body">
-                                    <h2
-                                        class="slds-text-heading_small slds-m-bottom_xx-small"
-                                        id="noti77"
-                                    >
-                                        <span class="slds-assistive-text"
-                                            >task notification:</span
-                                        >鎻愮ず
-                                    </h2>
-                                    <p>{SaveShowText}</p>
-                                </div>
-                            </a>
-                            <button
-                                class="slds-button slds-button_icon slds-button_icon-container slds-notification__close"
-                                title="close"
-                            >
-                                <lightning-icon
-                                    icon-name="utility:close"
-                                    alternative-text="close"
-                                    title="close"
-                                    size="x-small"
-                                    onclick={CloseAlert}
-                                ></lightning-icon>
-                            </button>
-                        </div>
-                    </section>
+  <div class="exampleHolder" if:true={IsLoading} >
+    <lightning-spinner alternative-text="Loading" size="large"></lightning-spinner>
+  </div>
+  <div style="padding:30px">
+    <div style="float:right" >
+      <div class="demo-only demo-only_viewport" style="height:4.5rem;" if:true = {Tongzhishow}>
+        <div class="slds-notification-container" style={IsLeftStyle}>
+          <div aria-live="assertive" aria-atomic="true" class="slds-assistive-text">鎻愮ず</div>
+          <section class="slds-notification" role="dialog" aria-labelledby="noti77" aria-describedby="dialog-body-id-43" >
+            <div class="slds-notification__body" id="dialog-body-id-43" >
+              <a class="slds-notification__target slds-media" href="#" style={BgColorStyle}>
+                <span class="slds-icon_container slds-icon-standard-task slds-media__figure" title="task">
+                    <lightning-icon icon-name={TongzhiIcon} alternative-text="Account" title="Account"></lightning-icon>                  
+                </span>
+                <div class="slds-media__body">
+                  <h2 class="slds-text-heading_small slds-m-bottom_xx-small" id="noti77">
+                    <span class="slds-assistive-text">task notification:</span>鎻愮ず</h2>
+                  <p>{SaveShowText}</p>
                 </div>
+              </a>
+              <button class="slds-button slds-button_icon slds-button_icon-container slds-notification__close" title="close">
+                  <lightning-icon icon-name="utility:close" alternative-text="close" title="close"  size="x-small" onclick={CloseAlert}></lightning-icon>     
+              </button>
             </div>
+          </section>
         </div>
-
-        <p>
-            <lightning-formatted-text
-                value="褰撳墠棰勬祴OCSM绛剧害鏃� : "
-            ></lightning-formatted-text
-            >{opp.Close_Forecasted_Check}
-        </p>
-
-        <div class={xgxLy} style="width: 495px; padding: 1px">
-            <lightning-combobox
-                name="progress"
-                label="鏃ユ湡鎻愬墠/鏃ユ湡寤跺悗"
-                value={opp.Date_InAdvance_Delay}
-                options={RelateOption}
-                onchange={handleRelationFn}
-            >
-            </lightning-combobox>
-        </div>
-
-        <!-- 鎻愬墠 -->
-        <div class={bxgLy} if:true={isAdvance}>
-            <lightning-combobox
-                name="progress"
-                label="棰勬祴鏃ユ湡鎻愬墠鐞嗙敱"
-                value={opp.Predicted_date_ChangeReason}
-                placeholder="璇烽�夋嫨鎻愬墠鐞嗙敱"
-                options={AdvanceReasons}
-                style="width: 495px; padding: 1px"
-                onchange={handleRelationFn1}
-            >
-            </lightning-combobox>
-            <div style="font-size: 10px; color: red" if:true={bxgLyFlag}>
-                璇烽�夋嫨鎻愬墠鐞嗙敱
-            </div>
-        </div>
-
-        <!-- 寤跺悗 -->
-        <!-- onchange={handleIrrelevantFn} -->
-        <div class={bxgLy} if:true={isDelay}>
-            <lightning-combobox
-                name="progress"
-                label="棰勬祴鏃ユ湡寤跺悗鐞嗙敱"
-                value={opp.Predicted_date_ChangeReason}
-                placeholder="璇烽�夋嫨寤跺悗鐞嗙敱"
-                options={DelayReasons}
-                style="width: 495px; padding: 1px"
-                onchange={handleRelationFn1}
-            >
-            </lightning-combobox>
-            <div style="font-size: 10px; color: red" if:true={bxgLyFlag}>
-                璇烽�夋嫨寤跺悗鐞嗙敱
-            </div>
-        </div>
-
-        <!-- 鏀瑰彉鏃ユ湡 -->
-        <div>
-            <lightning-input
-                type="date"
-                label="璇烽�夋嫨瑕佹敼鍙樼殑鏃ユ湡"
-                name="aaa"
-                style="width: 495px; padding: 1px"
-                value={opp.Close_Forecasted_Date}
-                onchange={handleRelationFn2}
-            >
-            </lightning-input>
-        </div>
-
-        <div if:true={flg}>
-            <lightning-input
-                type="date"
-                label="棰勬祴鍙戣揣鏃�"
-                name="aa"
-                style="width: 495px; padding: 1px"
-                value={opp.CloseDate}
-                onchange={handleRelationFn3}
-            >
-            </lightning-input>
-        </div>
-
-        <button
-            class="slds-button slds-button_brand"
-            onclick={saveFn}
-            style="margin-top: 10px"
-        >
-            淇濆瓨
-        </button>
+      </div>
     </div>
-</template>
+
+    <p><lightning-formatted-text value="褰撳墠棰勬祴OCSM绛剧害鏃� : " ></lightning-formatted-text>{opp.Close_Forecasted_Check}</p>  
+
+    <div class={xgxLy} style="width: 495px;padding:1px">
+        <lightning-combobox
+          name="progress"
+          label="鏃ユ湡鎻愬墠/鏃ユ湡寤跺悗"
+          value={opp.Date_InAdvance_Delay}
+          options={RelateOption}
+          onchange={handleRelationFn} >
+        </lightning-combobox>
+    </div>
+
+    <!-- 鎻愬墠 -->
+    <div class={bxgLy} if:true={isAdvance}>
+        <lightning-combobox
+          name="progress"
+          label="棰勬祴鏃ユ湡鎻愬墠鐞嗙敱"
+          value={opp.Predicted_date_ChangeReason}
+          placeholder="璇烽�夋嫨鎻愬墠鐞嗙敱"
+          options={AdvanceReasons}
+          style="width: 495px;padding:1px"
+          onchange={handleRelationFn1}
+          >
+        </lightning-combobox>
+        <div style="font-size:10px;color:red" if:true={bxgLyFlag}>璇烽�夋嫨鎻愬墠鐞嗙敱</div>
+    </div>
+
+    <!-- 寤跺悗 -->
+    <!-- onchange={handleIrrelevantFn} -->
+    <div class={bxgLy} if:true={isDelay}>
+        <lightning-combobox
+          name="progress"
+          label="棰勬祴鏃ユ湡寤跺悗鐞嗙敱"
+          value={opp.Predicted_date_ChangeReason}
+          placeholder="璇烽�夋嫨寤跺悗鐞嗙敱"
+          options={DelayReasons}
+          style="width: 495px;padding:1px"
+          onchange={handleRelationFn1}
+        >
+        </lightning-combobox>
+        <div style="font-size:10px;color:red" if:true={bxgLyFlag}>璇烽�夋嫨寤跺悗鐞嗙敱</div>
+    </div>
+
+    <!-- 鏀瑰彉鏃ユ湡 -->
+    <div>
+      <lightning-input 
+        type="date" 
+        label="璇烽�夋嫨瑕佹敼鍙樼殑鏃ユ湡" 
+        name="aaa" 
+        style="width: 495px;padding:1px"
+        value={opp.Close_Forecasted_Date}
+        onchange={handleRelationFn2}
+      >
+    </lightning-input>
+    </div>
+
+    <div if:true={flg}>
+      <lightning-input 
+        type="date" 
+        label="棰勬祴鍙戣揣鏃�" 
+        name="aa" 
+        style="width: 495px;padding:1px"
+        value={opp.CloseDate}
+        onchange={handleRelationFn3}
+      >
+    </lightning-input>
+    </div>
+
+    <button 
+      class="slds-button slds-button_brand" 
+      onclick={saveFn} 
+      style="margin-top: 10px" 
+    >
+    淇濆瓨
+    </button>
+
+  </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/improvedForecastTime/improvedForecastTime.js b/force-app/main/default/lwc/improvedForecastTime/improvedForecastTime.js
index dc845d8..a35eaa0 100644
--- a/force-app/main/default/lwc/improvedForecastTime/improvedForecastTime.js
+++ b/force-app/main/default/lwc/improvedForecastTime/improvedForecastTime.js
@@ -1,251 +1,250 @@
-import { LightningElement, track } from "lwc";
-import GetOppinformationcData from "@salesforce/apex/ImprovedForecastTimeController.GetOppinformationcData";
-import getReason from "@salesforce/apex/ImprovedForecastTimeController.getReason";
-import SaveData from "@salesforce/apex/ImprovedForecastTimeController.SaveData";
-import SystemModstamp from "@salesforce/schema/Account.SystemModstamp";
+import { LightningElement, track  } from 'lwc';
+import GetOppinformationcData from '@salesforce/apex/ImprovedForecastTimeController.GetOppinformationcData';
+import getReason from '@salesforce/apex/ImprovedForecastTimeController.getReason';
+import SaveData from '@salesforce/apex/ImprovedForecastTimeController.SaveData';
+import SystemModstamp from '@salesforce/schema/Account.SystemModstamp';
 
 export default class ImprovedForecastTime extends LightningElement {
-  //鏄剧ず涓庨殣钘�
-  isAdvance = false; //閫夌潃 鎻愬墠 鐨勬爣璇�
-  isDelay = false; //閫夌潃 寤跺悗 鐨勬爣璇�
 
-  RelateOption = [
-    { label: "鎻愬墠", value: "鎻愬墠" },
-    { label: "寤跺悗", value: "寤跺悗" }
-  ];
+    //鏄剧ず涓庨殣钘�
+    isAdvance = false;  //閫夌潃 鎻愬墠 鐨勬爣璇�
+    isDelay = false; //閫夌潃 寤跺悗 鐨勬爣璇�
 
-  handleRelationFn(event) {
-    var value = event.target.value;
-    this.opp.Date_InAdvance_Delay = value;
-    debugger;
-    // this.opp.Predicted_date_ChangeReason__c = '';
-    //SWAG-CJR4PC銆愬鎵樸�戣皟鏌�-淇敼棰勬祴鏃ユ彁鍓嶇悊鐢遍敊璇� fy start
-    this.opp.Predicted_date_ChangeReason = "";
-    this.opp.Close_Forecasted_Date = "";
-    this.opp.CloseDate = "";
-    //SWAG-CJR4PC銆愬鎵樸�戣皟鏌�-淇敼棰勬祴鏃ユ彁鍓嶇悊鐢遍敊璇� fy end
-    if (value == "鎻愬墠") {
-      this.isAdvance = true;
-      this.isDelay = false;
-    }
-    if (value == "寤跺悗") {
-      this.isAdvance = false;
-      this.isDelay = true;
-    }
-  }
+    RelateOption=[
+        {label:"鎻愬墠",value:"鎻愬墠"},
+        {label:"寤跺悗",value:"寤跺悗"},
+    ]
+        
+    handleRelationFn(event){
 
-  handleRelationFn1(event) {
-    var value = event.target.value;
-    this.opp.Predicted_date_ChangeReason = value;
-  }
-  flg = true;
-  handleRelationFn2(event) {
-    var value = event.target.value;
-    this.opp.Close_Forecasted_Date = value;
-    this.flg = false;
-    debugger;
-    this.CloseDateAssignment(value);
-  }
-  //缁欓娴嬪彂璐ф棩璧嬪��
-  CloseDateAssignment(value) {
-    debugger;
-    var value = this.addDay(30, value);
-    this.opp.CloseDate = value;
-    this.flg = true;
-  }
-  //鍔犲ぉ鏁�
-  addDay(dayNumber, value1) {
-    var date = new Date(value1);
-    var ms = dayNumber * (1000 * 60 * 60 * 24);
-
-    var newDate = new Date(date.getTime() + ms);
-    var value = newDate.toLocaleDateString();
-    var value2 = value.split("/");
-    if (value2[1].length == 1) {
-      value2[1] = "0" + value2[1];
-    }
-    if (value2[2].length == 1) {
-      value2[2] = "0" + value2[2];
-    }
-    value = value2[0] + "-" + value2[1] + "-" + value2[2];
-    return value;
-  }
-  handleRelationFn3(event) {
-    var value = event.target.value;
-    this.opp.CloseDate = value;
-  }
-  //浠巙rl涓婂彇寰桰D
-  getQueryVariable(variable) {
-    var query = window.location.search.substring(1);
-    var vars = query.split("&");
-    for (var i = 0; i < vars.length; i++) {
-      var pair = vars[i].split("=");
-      if (pair[0] == variable) {
-        return pair[1];
-      }
-    }
-    return false;
-  }
-
-  oppId = "";
-  opp = {};
-  Date_InAdvance_Delay = "";
-
-  AdvanceReasons = [];
-  DelayReasons = [];
-
-  //鍒濆鍖�
-  connectedCallback() {
-    this.oppId = this.getQueryVariable("id");
-
-    GetOppinformationcData({ ParamIdStr: this.oppId }).then((response) => {
-      this.opp = JSON.parse(response);
-
-      if (this.opp.Date_InAdvance_Delay == "鎻愬墠") {
-        this.isAdvance = true;
-        this.isDelay = false;
-      }
-      if (this.opp.Date_InAdvance_Delay == "寤跺悗") {
-        this.isAdvance = false;
-        this.isDelay = true;
-      }
-    });
-
-    getReason().then((response) => {
-      var options = JSON.parse(response);
-      this.AdvanceReasons = options["鎻愬墠"];
-      this.DelayReasons = options["寤跺悗"];
-    });
-  }
-
-  //鎻愮ず
-  SaveShowText = "淇濆瓨鎴愬姛"; //鎻愮ず妗嗙殑鏂囨湰
-  Tongzhishow = false; //鎻愮ず鏄剧ず鐨勬爣璇�
-  TongzhiIcon = "standard:account"; //鎻愮ず妗嗙殑鍥炬爣
-  IsLeftStyle = ""; //鎻愮ず妗嗙殑鏍峰紡
-  BgColorStyle = "";
-
-  //寮规鎻愮ず content 鍐呭 error 鏄惁鏄敊璇彁绀烘  left 鏄惁灞呭乏
-  Alert(content, error = false, left = false) {
-    this.SaveShowText = content;
-    this.Tongzhishow = true;
-
-    if (error) {
-      this.TongzhiIcon = "standard:first_non_empty";
-      this.BgColorStyle = "background-color:#f88568";
-    } else {
-      this.TongzhiIcon = "standard:account";
-      this.BgColorStyle = "background-color:#69e669";
-    }
-    if (left) {
-      this.IsLeftStyle = "left: 0.25rem";
-    } else {
-      this.IsLeftStyle = "";
-    }
-  }
-
-  //鍏抽棴鎻愮ず妗�
-  CloseAlert() {
-    this.closeOffRefresh();
-  }
-  closeOffRefresh() {
-    if (this.Tongzhishow == true) {
-      this.Tongzhishow = false;
-    }
-    if (this.SaveShowText != "") {
-      this.SaveShowText = "";
-    }
-  }
-  //鍔犺浇
-  IsLoading = false;
-  OnLoading(flag) {
-    this.IsLoading = flag;
-  }
-  //淇濆瓨鏁版嵁閫昏緫
-  saveFn() {
-    debugger;
-    var myDate = new Date(); //浠婂ぉ鏃ユ湡
-    var myDate1 = new Date(this.opp.Close_Forecasted_Check); //褰撳墠棰勬祴鏃ユ湡
-    var myDate2 = new Date(this.opp.Close_Forecasted_Date); //鏀瑰彉鐨勯娴嬫棩鏈�
-    var myDate3 = new Date(myDate.toLocaleDateString()); //浠婂ぉ鏃ユ湡          鏍煎紡鍖�
-    var myDate4 = new Date(myDate1.toLocaleDateString()); //褰撳墠棰勬祴鏃ユ湡      鏍煎紡鍖�
-    var myDate5 = new Date(myDate2.toLocaleDateString()); //鏀瑰彉鐨勯娴嬫棩鏈�    鏍煎紡鍖�
-
-    var myDate6 = new Date(this.opp.CloseDate);
-    var myDate7 = new Date(myDate6.toLocaleDateString()); //鍙戣揣鏃ユ湡
-
-    //20221226 lt DB202212359066澧炲姞闄愬埗-淇敼棰勬祴鏃ユ渶澶ф棩鏈� start
-    var date1 = new Date();
-    var year = date1.getFullYear();
-    var month = date1.getMonth() + 1;
-    if (month > 3) {
-      year = year + 1;
-    }
-
-    var strDate = "-03-31";
-    var Odate = year + 3;
-    var Sdate = year + 4;
-    var Odate1 = Odate + strDate;
-    var Sdate1 = Sdate + strDate;
-    var Odate2 = new Date(Odate1);
-    var Sdate2 = new Date(Sdate1);
-
-    // //璁㈣揣棰勬祴鏃�
-    var OrderDate = new Date(Odate2.toLocaleDateString());
-    // //鍙戣揣棰勬祴鏃�
-    var ShipmentsDate = new Date(Sdate2.toLocaleDateString());
-
-    //20221226 lt DB202212359066澧炲姞闄愬埗-淇敼棰勬祴鏃ユ渶澶ф棩鏈� end
-
-    console.warn("myDatevalue:=" + myDate);
-    console.warn("浠婂ぉ鏃ユ湡" + myDate3);
-    console.warn("褰撳墠棰勬祴鏃ユ湡" + myDate4);
-    console.warn("1111111111" + myDate2);
-    console.warn("鏀瑰彉鐨勯娴嬫棩鏈�" + myDate5);
-
-    //SWAG-CJR4PC銆愬鎵樸�戣皟鏌�-淇敼棰勬祴鏃ユ彁鍓嶇悊鐢遍敊璇� fy start
-    // if(this.opp.Date_InAdvance_Delay == undefined || this.opp.Predicted_date_ChangeReason == undefined || myDate5 == undefined){
-    // if(this.opp.Date_InAdvance_Delay == '' ||this.opp.Date_InAdvance_Delay == undefined || this.opp.Predicted_date_ChangeReason == '' ||this.opp.Predicted_date_ChangeReason == undefined|| myDate5 == '' || myDate5 == undefined){
-    if (
-      !this.opp.Date_InAdvance_Delay ||
-      !this.opp.Predicted_date_ChangeReason ||
-      !this.opp.Close_Forecasted_Date
-    ) {
-      //SWAG-CJR4PC銆愬鎵樸�戣皟鏌�-淇敼棰勬祴鏃ユ彁鍓嶇悊鐢遍敊璇� fy end
-      this.Alert("璇烽�夋嫨鏃ユ湡/鐞嗙敱銆�", false, true);
-    } else if (
-      this.opp.Date_InAdvance_Delay == "鎻愬墠" &&
-      (myDate5 >= myDate4 || myDate5 < myDate3)
-    ) {
-      this.Alert(
-        "璇烽�夋嫨 鈥滄彁鍓嶁�� 浜庡綋鍓嶉娴婳CSM绛剧害鏃ョ殑鏃ユ湡 涓� 涓嶆棭浜庝粖澶┿��",
-        false,
-        true
-      );
-    } else if (this.opp.Date_InAdvance_Delay == "寤跺悗" && myDate5 <= myDate4) {
-      this.Alert("璇烽�夋嫨 鈥滃欢鍚庘�� 浜庡綋鍓嶉娴婳CSM绛剧害鏃ョ殑鏃ユ湡銆�", false, true);
-    } else if (myDate7 < myDate5) {
-      this.Alert("棰勬祴鍙戣揣鏃ヤ笉鑳藉皬浜庨娴嬬绾︽棩銆�", false, true);
-    }
-
-    //20221226 lt DB202212359066澧炲姞闄愬埗-淇敼棰勬祴鏃ユ渶澶ф棩鏈� start
-    else if (myDate5 > OrderDate) {
-      this.Alert("璁㈣揣棰勬祴鏃ヨ鍦ㄦ湭鏉ヤ笁璐㈠勾鍐呫��", false, true);
-    } else if (myDate7 > ShipmentsDate) {
-      this.Alert("鍙戣揣棰勬祴鏃ヨ鍦ㄦ湭鏉ュ洓璐㈠勾鍐呫��", false, true);
-    }
-    //20221226 lt DB202212359066澧炲姞闄愬埗-淇敼棰勬祴鏃ユ渶澶ф棩鏈� end
-    else {
-      this.OnLoading(true);
-      SaveData({ JsonData: JSON.stringify(this.opp) }).then((response) => {
-        if (response == "鎴愬姛") {
-          this.OnLoading(false);
-          this.Alert("淇濆瓨鎴愬姛", false, true);
-          window.location.hash = "Refresh" + "==" + this.oppId;
-        } else {
-          this.Alert(response, true);
+        var value = event.target.value;
+        this.opp.Date_InAdvance_Delay = value;
+debugger
+        // this.opp.Predicted_date_ChangeReason__c = '';
+        //SWAG-CJR4PC銆愬鎵樸�戣皟鏌�-淇敼棰勬祴鏃ユ彁鍓嶇悊鐢遍敊璇� fy start
+        this.opp.Predicted_date_ChangeReason = ''
+        this.opp.Close_Forecasted_Date= '';
+        this.opp.CloseDate= '';
+        //SWAG-CJR4PC銆愬鎵樸�戣皟鏌�-淇敼棰勬祴鏃ユ彁鍓嶇悊鐢遍敊璇� fy end
+        if (value == "鎻愬墠") {
+            this.isAdvance = true;
+            this.isDelay = false;
+            
         }
-      });
+        if (value == "寤跺悗") {
+            this.isAdvance = false;
+            this.isDelay = true;
+        }
+
     }
-  }
-}
+
+    handleRelationFn1(event){
+        var value = event.target.value;
+        this.opp.Predicted_date_ChangeReason = value;
+    }
+    flg=true;
+    handleRelationFn2(event){
+        var value = event.target.value;
+        this.opp.Close_Forecasted_Date = value;
+        this.flg=false;
+        debugger
+        this.CloseDateAssignment(value);
+    }
+    //缁欓娴嬪彂璐ф棩璧嬪��
+    CloseDateAssignment(value){
+        debugger
+        var value=this.addDay(30,value);
+        this.opp.CloseDate = value;
+        this.flg=true;
+    }
+    //鍔犲ぉ鏁�
+    addDay(dayNumber, value1) {
+        var date = new Date(value1);
+        var ms = dayNumber * (1000 * 60 * 60 * 24)
+ 
+        var newDate = new Date(date.getTime() + ms);
+        var value=newDate.toLocaleDateString();
+        var value2=value.split('/');
+        if(value2[1].length == 1){
+            value2[1]='0'+value2[1];
+        }
+        if(value2[2].length == 1){
+            value2[2]='0'+value2[2];
+        }
+        value=value2[0]+'-'+value2[1]+'-'+value2[2];
+        return value;
+    } 
+    handleRelationFn3(event){
+        var value = event.target.value;
+        this.opp.CloseDate = value;
+    }
+    //浠巙rl涓婂彇寰桰D
+    getQueryVariable(variable)
+    {
+        var query = window.location.search.substring(1);
+        var vars = query.split("&");
+        for (var i=0;i<vars.length;i++) {
+                var pair = vars[i].split("=");
+                if(pair[0] == variable){return pair[1];}
+        }
+        return(false);
+    }
+
+    oppId = '';
+    opp = {};
+    Date_InAdvance_Delay = '';
+    
+    AdvanceReasons = [];
+    DelayReasons = [];
+
+    //鍒濆鍖�
+    connectedCallback(){
+        this.oppId = this.getQueryVariable('id');
+
+        GetOppinformationcData({ParamIdStr:this.oppId}).then(response=>{
+            this.opp=JSON.parse(response);
+
+            if(this.opp.Date_InAdvance_Delay == '鎻愬墠'){
+                this.isAdvance = true;
+                this.isDelay = false;
+            }
+            if(this.opp.Date_InAdvance_Delay == '寤跺悗'){
+                this.isAdvance = false;
+                this.isDelay = true;
+            }
+        });
+        
+        getReason().then(response=>{
+            var options = JSON.parse(response);
+            this.AdvanceReasons = options['鎻愬墠'];
+            this.DelayReasons = options['寤跺悗'];
+        });
+
+    }
+
+    //鎻愮ず
+    SaveShowText="淇濆瓨鎴愬姛";//鎻愮ず妗嗙殑鏂囨湰
+    Tongzhishow=false;  //鎻愮ず鏄剧ず鐨勬爣璇�
+    TongzhiIcon = 'standard:account' //鎻愮ず妗嗙殑鍥炬爣
+    IsLeftStyle = "" //鎻愮ず妗嗙殑鏍峰紡
+    BgColorStyle = ""
+
+    //寮规鎻愮ず content 鍐呭 error 鏄惁鏄敊璇彁绀烘  left 鏄惁灞呭乏
+    Alert(content,error = false,left = false){
+        this.SaveShowText = content;
+        this.Tongzhishow = true;
+
+        if (error) {
+            this.TongzhiIcon = "standard:first_non_empty";
+            this.BgColorStyle = "background-color:#f88568";
+        }else{
+            this.TongzhiIcon = "standard:account";
+            this.BgColorStyle = "background-color:#69e669";
+        }
+        if (left) {
+            this.IsLeftStyle = "left: 0.25rem"
+        }else{
+            this.IsLeftStyle = ""
+        }
+    }
+
+    //鍏抽棴鎻愮ず妗�
+    CloseAlert(){
+        this.closeOffRefresh();
+    }
+    closeOffRefresh(){
+        if (this.Tongzhishow == true) {
+            this.Tongzhishow = false;
+        }
+        if (this.SaveShowText != "") {
+            this.SaveShowText = "";
+        }
+    }
+    //鍔犺浇
+    IsLoading = false;
+    OnLoading(flag) {
+        this.IsLoading = flag;
+    }
+    //淇濆瓨鏁版嵁閫昏緫
+    saveFn(){
+        debugger
+        var myDate = new Date();                                        //浠婂ぉ鏃ユ湡
+        var myDate1 = new Date(this.opp.Close_Forecasted_Check);        //褰撳墠棰勬祴鏃ユ湡
+        var myDate2 = new Date(this.opp.Close_Forecasted_Date);  //鏀瑰彉鐨勯娴嬫棩鏈�
+        var myDate3 = new Date(myDate.toLocaleDateString());            //浠婂ぉ鏃ユ湡          鏍煎紡鍖�
+        var myDate4 = new Date(myDate1.toLocaleDateString());           //褰撳墠棰勬祴鏃ユ湡      鏍煎紡鍖�
+        var myDate5 = new Date(myDate2.toLocaleDateString());           //鏀瑰彉鐨勯娴嬫棩鏈�    鏍煎紡鍖�
+
+        var myDate6 = new Date(this.opp.CloseDate);
+        var myDate7 = new Date(myDate6.toLocaleDateString());    //鍙戣揣鏃ユ湡
+
+        //20221226 lt DB202212359066澧炲姞闄愬埗-淇敼棰勬祴鏃ユ渶澶ф棩鏈� start 
+        var date1 = new Date();
+        var year = date1.getFullYear();
+        var month = date1.getMonth() + 1;
+        if(month > 3){
+            year = year + 1;
+        }
+
+        var strDate = "-03-31";
+        var Odate = year + 3;
+        var Sdate = year + 4;
+        var Odate1 = Odate + strDate;
+        var Sdate1 = Sdate + strDate;
+        var Odate2 = new Date(Odate1);
+        var Sdate2 = new Date(Sdate1);
+
+        // //璁㈣揣棰勬祴鏃�
+        var OrderDate = new Date(Odate2.toLocaleDateString());
+        // //鍙戣揣棰勬祴鏃�
+        var ShipmentsDate = new Date(Sdate2.toLocaleDateString());
+
+        //20221226 lt DB202212359066澧炲姞闄愬埗-淇敼棰勬祴鏃ユ渶澶ф棩鏈� end
+        
+        console.warn('myDatevalue:='+myDate);
+        console.warn('浠婂ぉ鏃ユ湡'+myDate3);
+        console.warn('褰撳墠棰勬祴鏃ユ湡'+myDate4);
+        console.warn('1111111111'+myDate2);
+        console.warn('鏀瑰彉鐨勯娴嬫棩鏈�'+myDate5);
+        
+        //SWAG-CJR4PC銆愬鎵樸�戣皟鏌�-淇敼棰勬祴鏃ユ彁鍓嶇悊鐢遍敊璇� fy start
+        // if(this.opp.Date_InAdvance_Delay == undefined || this.opp.Predicted_date_ChangeReason == undefined || myDate5 == undefined){
+        // if(this.opp.Date_InAdvance_Delay == '' ||this.opp.Date_InAdvance_Delay == undefined || this.opp.Predicted_date_ChangeReason == '' ||this.opp.Predicted_date_ChangeReason == undefined|| myDate5 == '' || myDate5 == undefined){
+        if(!this.opp.Date_InAdvance_Delay || !this.opp.Predicted_date_ChangeReason ||  !this.opp.Close_Forecasted_Date){
+        //SWAG-CJR4PC銆愬鎵樸�戣皟鏌�-淇敼棰勬祴鏃ユ彁鍓嶇悊鐢遍敊璇� fy end
+            this.Alert("璇烽�夋嫨鏃ユ湡/鐞嗙敱銆�",false,true);
+        }
+        else if(this.opp.Date_InAdvance_Delay == '鎻愬墠' && (myDate5 >= myDate4 || myDate5 < myDate3)){
+            this.Alert("璇烽�夋嫨 鈥滄彁鍓嶁�� 浜庡綋鍓嶉娴婳CSM绛剧害鏃ョ殑鏃ユ湡 涓� 涓嶆棭浜庝粖澶┿��",false,true);
+        }
+        else if(this.opp.Date_InAdvance_Delay == '寤跺悗' && myDate5 <= myDate4){
+            this.Alert("璇烽�夋嫨 鈥滃欢鍚庘�� 浜庡綋鍓嶉娴婳CSM绛剧害鏃ョ殑鏃ユ湡銆�",false,true);
+        }
+        else if(myDate7 < myDate5){
+            this.Alert("棰勬祴鍙戣揣鏃ヤ笉鑳藉皬浜庨娴嬬绾︽棩銆�",false,true);
+        }
+
+        //20221226 lt DB202212359066澧炲姞闄愬埗-淇敼棰勬祴鏃ユ渶澶ф棩鏈� start
+        else if(myDate5 > OrderDate){
+            this.Alert("璁㈣揣棰勬祴鏃ヨ鍦ㄦ湭鏉ヤ笁璐㈠勾鍐呫��",false,true);
+        }
+        else if(myDate7 > ShipmentsDate){
+            this.Alert("鍙戣揣棰勬祴鏃ヨ鍦ㄦ湭鏉ュ洓璐㈠勾鍐呫��",false,true);
+        }
+        //20221226 lt DB202212359066澧炲姞闄愬埗-淇敼棰勬祴鏃ユ渶澶ф棩鏈� end
+
+        else{
+            this.OnLoading(true);
+            SaveData({JsonData:JSON.stringify(this.opp)}).then((response)=>{
+                if (response == '鎴愬姛') {
+                    this.OnLoading(false);
+                    this.Alert("淇濆瓨鎴愬姛",false,true); 
+                    window.location.hash = "Refresh"+"=="+this.oppId;
+                }else{
+                    this.Alert(response,true);
+                }
+            });
+        }
+    }
+
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/interoperability/interoperability.css b/force-app/main/default/lwc/interoperability/interoperability.css
new file mode 100644
index 0000000..a432dc9
--- /dev/null
+++ b/force-app/main/default/lwc/interoperability/interoperability.css
@@ -0,0 +1,12 @@
+div {
+    border: 1px solid black;
+    padding: 10px;
+}
+h1 {
+    font-weight: bold;
+}
+lightning-button {
+    margin-top: 10px;
+    margin-bottom: 10px;
+    display: block;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/interoperability/interoperability.html b/force-app/main/default/lwc/interoperability/interoperability.html
new file mode 100644
index 0000000..fa36099
--- /dev/null
+++ b/force-app/main/default/lwc/interoperability/interoperability.html
@@ -0,0 +1,11 @@
+<template>
+    <div>
+        <h1>LWC</h1>
+        <lightning-button
+            label="Press me and send an event up!"
+            onclick={handleClick}
+        ></lightning-button>
+        <p class="label">{label}</p>
+        <p class="message">{message}</p>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/interoperability/interoperability.js b/force-app/main/default/lwc/interoperability/interoperability.js
new file mode 100644
index 0000000..a0780e0
--- /dev/null
+++ b/force-app/main/default/lwc/interoperability/interoperability.js
@@ -0,0 +1,21 @@
+import { LightningElement, api } from 'lwc';
+
+export default class Interoperability extends LightningElement {
+    @api label = 'This label property has its initial value';
+    timesInvoked = 0;
+
+    handleClick() {
+        this.dispatchEvent(
+            new CustomEvent('buttonclicked', { bubbles: true, composed: true })
+        );
+    }
+
+    @api
+    doWhatever() {
+        this.timesInvoked++;
+    }
+
+    get message() {
+        return `LWC Method invoked ${this.timesInvoked} times`;
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/interoperability/interoperability.js-meta.xml b/force-app/main/default/lwc/interoperability/interoperability.js-meta.xml
new file mode 100644
index 0000000..b9a3113
--- /dev/null
+++ b/force-app/main/default/lwc/interoperability/interoperability.js-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>false</isExposed>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/inventoryEditingLWC/inventoryEditingLWC.html b/force-app/main/default/lwc/inventoryEditingLWC/inventoryEditingLWC.html
new file mode 100644
index 0000000..b14502e
--- /dev/null
+++ b/force-app/main/default/lwc/inventoryEditingLWC/inventoryEditingLWC.html
@@ -0,0 +1,67 @@
+<template>                           
+    <div style="border: 1px solid #D4D4D4;border-radius:5px;margin-bottom:7px;">
+        <div style="border-top: 3px solid #51606E;border-bottom: 1px solid #D4D4D4;padding:3px;">
+            <p style="font-size: 16px;"><strong>缁忛攢鍟嗗簱瀛樹笂涓嬮檺缂栬緫</strong></p>
+
+            <table class="slds-table slds-table_cell-buffer slds-table_bordered">
+                <thead>
+                    <tr class="">
+                        <!-- <th class="slds-size_3-of-10" scope="col">
+                            <div class="slds-truncate" title="Name">S.No</div>
+                        </th> -->
+                        <th class="slds-size_3-of-10" scope="col" align="center">
+                            <div class="slds-truncate" title="Name">浜у搧鍨嬪彿</div>
+                        </th>
+                        <th class="slds-size_3-of-10" scope="col">
+                            <div class="slds-truncate" title="First Name">
+                                搴撳瓨涓嬮檺 
+                            </div>
+                        </th>
+                        <th class="slds-size_3-of-10" scope="col">
+                            <div class="slds-truncate" title="Last Name">搴撳瓨涓婇檺</div>
+                        </th>
+                        <th class="slds-size_3-of-10" scope="col">
+                            <div class="slds-truncate" title="Last Name">鎿嶄綔</div>
+                        </th>
+                    </tr>
+                </thead>
+                <tbody>
+                    <template for:each = {invRecords} for:item = "inv" for:index="indexVar">
+                        <tr key={inv.key} class="slds-hint-parent">
+                            <td class="slds-size_3-of-10" data-label="Prospecting">
+                                <div  title="Prospecting">
+                                    <lightning-input key={inv.key} data-id={inv.key} name="input1" label="productNumber" value="" variant="label-hidden" onchange={handleProductChange}></lightning-input>
+                                </div>
+                            </td>
+                            <td class="slds-size_3-of-10" data-label="Prospecting">
+                                <div  title="Prospecting">
+                                    <lightning-input key={inv.key} data-id={inv.key} name="input1" label="inventory1" value={inv.inventory2} variant="label-hidden" onchange={handleinv1Change}></lightning-input>
+                                </div>
+                            </td>
+                            <td class="slds-size_3-of-10" data-label="Prospecting">
+                                <div  title="Prospecting">
+                                    <lightning-input key={inv.key} data-id={inv.key} name="input1" label="inventory2" value={inv.inventory2} variant="label-hidden" onchange={handleinv2Change}></lightning-input>
+                                </div>
+                            </td>
+                            <td class="slds-size_1-of-10" data-label="Prospecting">
+                                <a name={indexVar} data-id={inv.key} onclick={removeRow}>
+                                        <lightning-icon icon-name="utility:delete" alternative-text="delete"  size="small"></lightning-icon>
+                                </a>
+                            </td>
+                        </tr>
+                    </template>
+                    <tr> 
+                        <td></td>
+                        <td>
+                            <lightning-button label="琛屽鍔�"  onclick={addRow} class="slds-m-left_x-small"></lightning-button>            
+                        </td>
+                        <td> 
+                            <lightning-button label="淇濆瓨"  onclick={handleClick} class="slds-m-left_x-small"></lightning-button>       
+                        </td>
+                    </tr>
+                </tbody>
+                </table>
+            
+        </div>
+        </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/inventoryEditingLWC/inventoryEditingLWC.js b/force-app/main/default/lwc/inventoryEditingLWC/inventoryEditingLWC.js
new file mode 100644
index 0000000..2f064df
--- /dev/null
+++ b/force-app/main/default/lwc/inventoryEditingLWC/inventoryEditingLWC.js
@@ -0,0 +1,76 @@
+import { LightningElement, track,api } from 'lwc';
+import Product_Number_FIELD from '@salesforce/schema/Dealer_Stock__c.Product_Code__c';
+import ONE_FIELD from '@salesforce/schema/Dealer_Stock__c.Product_Code__c';
+import TWO_FIELD from '@salesforce/schema/Dealer_Stock__c.Product_Code__c';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+export default class InventoryEditingLWC extends LightningElement {
+    // @track invRecord = {ProductNumber : Product_Number_FIELD,Inventory1: ONE_FIELD,Inventory2 : TWO_FIELD,key : Math.random().toString(36).substring(2, 15)};
+    @track invRecord = {ProductNumber : Product_Number_FIELD,Inventory1: ONE_FIELD,Inventory2 : TWO_FIELD,key : Math.random().toString(36).substring(2, 15)};
+    @track invRecords = [];
+    toSaveLabel = 'Save';
+
+    connectedCallback(){
+        console.log('  === connectedCallback === ');
+        this.inventoryTempRecords();
+    }
+    inventoryTempRecords(){
+        console.log('===>鍒濆鍖�');
+        this.invRecord = [];
+        // for(var i=0; i < 1 ; i++){
+        //     this.invRecords.push({ProductNumber : Product_Number_FIELD,Inventory1: ONE_FIELD,Inventory2 : TWO_FIELD,key : Math.random().toString(36).substring(2, 15)});
+        // }
+    }
+
+    addRow(){
+        console.log('=====>杩涘叆琛岄」鐩�');
+        const len = this.invRecords.length;
+        this.invRecords.push({ProductNumber : Product_Number_FIELD,Inventory1: ONE_FIELD,Inventory2 : TWO_FIELD,key : Math.random().toString(36).substring(2, 15)});
+    }
+    removeRow(event){
+        const indexPos = event.currentTarget.name;
+        let remList = [];
+        remList = this.invRecords;
+        remList.splice(indexPos,1);
+        this.invRecords = remList;
+    }
+    handleClick(){
+        console.log('淇濆瓨');
+        this.toSaveLabel = 'Saving...'
+        let toSaveList = this.invRecords.slice(0);;
+        toSaveList.forEach((element, index) => {
+            console.log( index + ' ==> ' + JSON.stringify(element.Name));
+            let eleType = typeof element.Name;
+            console.log( 'typeof ==> ' + eleType);
+            if(element.Name === '' || eleType=='object'){
+                toSaveList.splice(index);
+            }
+        });
+        // refreshApex(this.invRecord);
+         
+        this.inventoryTempRecords();
+        console.log( 'Save ==> ' + JSON.stringify(toSaveList));
+    }
+
+    handleProductChange(event){   
+
+        let foundelement = this.invRecords.find(ele => ele.key == event.target.dataset.id);
+        console.log('=====>foundelement'+foundelement);
+        foundelement.productNumber = event.target.value;
+        this.accRecords = [this.accRecords];
+        console.log(' ==>绗竴琛�' +  JSON.stringify(this.invRecords));
+    }
+    handleinv1Change(event){
+        let foundelement = this.invRecords.find(ele => ele.key == event.target.dataset.id);
+        foundelement.inventory1 = event.target.value;
+        this.accRecords = [this.accRecords];
+        console.log(' ==> 绗簩' +  JSON.stringify(this.invRecords));
+    }
+
+    handleinv2Change(event){
+        let foundelement = this.invRecords.find(ele => ele.key == event.target.dataset.id);
+        foundelement.inventory2 = event.target.value;
+        this.accRecords = [this.accRecords];
+        console.log(' ==>绗笁' +  JSON.stringify(this.invRecords));
+    }
+   
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/inventoryEditingLWC/inventoryEditingLWC.js-meta.xml b/force-app/main/default/lwc/inventoryEditingLWC/inventoryEditingLWC.js-meta.xml
new file mode 100644
index 0000000..9bdd440
--- /dev/null
+++ b/force-app/main/default/lwc/inventoryEditingLWC/inventoryEditingLWC.js-meta.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>56.0</apiVersion>
+     <isExposed>true</isExposed>
+    <targets>
+        <target>lightningCommunity__Page</target>
+        <target>lightningCommunity__Default</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/inventoryViewLWC/inventoryViewLWC.html b/force-app/main/default/lwc/inventoryViewLWC/inventoryViewLWC.html
new file mode 100644
index 0000000..4d9c53a
--- /dev/null
+++ b/force-app/main/default/lwc/inventoryViewLWC/inventoryViewLWC.html
@@ -0,0 +1,117 @@
+<template>
+    <div style="border: 1px solid #D4D4D4;border-radius:5px;">
+        <div style="border-top: 3px solid #51606E;;border-bottom: 1px solid #D4D4D4;padding:3px;">
+            <p style="font-size: 19px;"><strong>搴撳瓨绠$悊</strong></p>
+        </div>
+        <div style="border-top: 3px solid #51606E;border-bottom: 1px solid #D4D4D4;padding:3px;text-align:center;">
+            <lightning-button label="搴撳瓨鐩樼偣" title="Non-primary action" onclick={handleClick} class="slds-m-left_x-small"></lightning-button>
+            <lightning-button label="杩囨湡搴撳瓨閿�瀛�" title="Non-primary action" onclick={handleClick} class="slds-m-left_x-small"></lightning-button>
+            <lightning-button label="鎷嗙洅" title="Non-primary action" onclick={handleClick} class="slds-m-left_x-small"></lightning-button>
+            <lightning-button label="鍙栨秷鎷嗙洅" title="Non-primary action" onclick={handleClick} class="slds-m-left_x-small"></lightning-button>
+        </div>
+        <div class = 'searchBlock' style="border-top: 3px solid #51606E;border-bottom: 1px solid #D4D4D4;padding:3px;text-align:center;height:80%px;">
+            <table>
+                <tr>
+                    <td style="width:90px">娑堣�楀搧鍚嶇О</td>
+                    <td style="width:90px"><lightning-input type="text" label="" style="width:70px"></lightning-input></td>
+                    <td style="width:90px">绗�3鍒嗙被</td>
+                    <td style="width:90px">
+                        <lightning-combobox
+                        name="progress"
+                        value={value}
+                        options={options}
+                        onchange={handleChange} style="width:90px;"></lightning-combobox></td>
+                    <td style="width:90px">绗�4鍒嗙被</td>
+                    <td style="width:90px">
+                        <lightning-combobox
+                        name="progress"
+                        value={value}
+                        options={options}
+                        onchange={handleChange} style="width:80px;"></lightning-combobox>
+                    </td>
+                    <td style="width:90px">绗�5鍒嗙被</td>
+                    <td style="width:90px">
+                        <lightning-combobox
+                        name="progress"
+                        value={value}
+                        options={options}
+                        onchange={handleChange} style="width:80px;"></lightning-combobox>
+                    </td>
+
+                </tr>
+              
+
+            </table>
+            
+            </div>
+
+
+
+  
+
+
+
+
+        <div style="border: 1px solid #D4D4D4;border-radius:5px;margin-bottom:7px;">
+            <div style="border-top: 3px solid #51606E;border-bottom: 1px solid #D4D4D4;padding:3px;">
+                <p style="font-size: 16px;"><strong>搴撳瓨璇︽儏</strong></p>
+            </div>
+            <div style="padding:10px;">
+                <table class="list" border="0" cellpadding="0" cellspacing="0" id="example">
+                    <thead>
+                        <tr class="headerRow">
+                            <th>娑堣�楀搧鍚嶇О</th>
+                            <th>绗�3鍒嗙被</th>
+                            <th>绗�4鍒嗙被</th>
+                            <th>绗�5鍒嗙被</th>
+                            <th>瑙勬牸</th>
+                            <th>鍗曚綅</th>
+                            <th>娉ㄥ唽璇佺紪鐮佸彿</th>
+                            <th>娉ㄥ唽璇佹晥鏈�</th>
+                            <th>CFDA鐘舵��</th>
+                            <th>浣跨敤鏈熼檺</th>
+                            <th>鏈夋晥鏈熷唴搴撳瓨</th>
+                            <th>杩囨湡搴撳瓨</th>
+                        </tr>
+                    </thead>
+                        <tbody>
+                            <template for:each={inventoryRcords} for:item="re">
+                                <tr key={re.Prod.Name__c}>
+                                    <td>{re.Prod.Name__c}</td>
+                                    <td>{re.Prod.Category3__c}</td>
+                                    <td>{re.Prod.Category4__c}</td>
+                                    <td>{re.Prod.Category5__c}</td>
+                                    <td>{re.packing_list}</td>
+                                    <td>{re.BoxPiece}</td>
+                                    <td>{re.approbation_No}</td>
+                                    <td>{re.expiration_Date}</td>
+                                    <td>{re.guaranteeperiod}</td>
+                                    <td>{re.limitCount}</td>
+                                    <td>{re.overlimitCount}</td>
+                                </tr>
+                            </template>
+                        
+                    </tbody> 
+                </table>
+                <table style="width: 100%">
+                    <tbody>
+                       <tr>  
+                           <td width="20%">
+                              <!-- 1-0 鍏� 0  -->
+                           </td>
+                           <td></td>
+                           <td align="center" width="60%">
+                               <lightning-button-icon style="margin: 3px;" icon-name="utility:jump_to_left"></lightning-button-icon>
+                               <lightning-button-icon style="margin: 3px;" icon-name="utility:chevronleft"></lightning-button-icon>
+                               <lightning-button-icon style="margin: 3px;" icon-name="utility:chevronright"></lightning-button-icon>
+                               <lightning-button-icon style="margin: 3px;" icon-name="utility:jump_to_right"></lightning-button-icon>
+                           </td>
+                      </tr>
+                   </tbody>
+               </table>
+            </div>
+        </div>
+       
+
+        </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/inventoryViewLWC/inventoryViewLWC.js b/force-app/main/default/lwc/inventoryViewLWC/inventoryViewLWC.js
new file mode 100644
index 0000000..f91b741
--- /dev/null
+++ b/force-app/main/default/lwc/inventoryViewLWC/inventoryViewLWC.js
@@ -0,0 +1,51 @@
+import { LightningElement,track } from 'lwc';
+import oninit from '@salesforce/apex/LexInventoryViewController.oninit';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+import { NavigationMixin } from 'lightning/navigation';
+
+
+export default class InventoryViewLWC extends LightningElement {
+    @track inventoryRcords= [];
+    value = '鏃�';
+    connectedCallback() {
+        oninit().then(result=>{
+            if(result.result == 'Success'){
+                this.inventoryRcords = result.inventoryRcords;
+            }else{
+                console.log("Error:"+result.errorMsg);
+                const evt = new ShowToastEvent({
+                    title : '鍒濆鍖栧け璐�',
+                    message: result.errorMsg,
+                    variant: 'error'
+                });
+                this.dispatchEvent(evt);
+            }
+        }); 
+    }
+
+
+    get options() {
+        return [
+            { label: 'CDS', value: 'CDS' },
+            { label: 'ERCP', value: 'ERCP' },
+            { label: 'ESD', value: 'ESD' },
+            { label: 'EUS', value: 'EUS' },
+            { label: '澶栫ET', value: '澶栫ET' },
+            { label: '澶栧瀵肩', value: '澶栧瀵肩' },
+            { label: '鍩哄共', value: '鍩哄共' },
+            { label: '鍛煎惛绉慐T', value: '鍛煎惛绉慐T' },
+            { label: '鍛煎惛绉戣�楁潗', value: '鍛煎惛绉戣�楁潗' },
+            { label: '鍏夋簮', value: '鍏夋簮' },
+            { label: '鍙e灚', value: '鍙e灚' },
+            { label: '姝㈣', value: '姝㈣' },
+            { label: '鍏朵粬', value: '鍏朵粬' },
+            { label: '鍏朵粬ET', value: 'EUS' },
+            { label: '鐏场', value: '鐏场' },
+            { label: '妯″瀷', value: '妯″瀷' },
+        ];
+    }
+
+    handleChange(event) {
+        this.value = event.detail.value;
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/inventoryViewLWC/inventoryViewLWC.js-meta.xml b/force-app/main/default/lwc/inventoryViewLWC/inventoryViewLWC.js-meta.xml
new file mode 100644
index 0000000..d893635
--- /dev/null
+++ b/force-app/main/default/lwc/inventoryViewLWC/inventoryViewLWC.js-meta.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>56.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightningCommunity__Page</target>
+        <target>lightningCommunity__Default</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/jzlookup/jzlookup.js b/force-app/main/default/lwc/jzlookup/jzlookup.js
index 1cbe993..b2662e4 100644
--- a/force-app/main/default/lwc/jzlookup/jzlookup.js
+++ b/force-app/main/default/lwc/jzlookup/jzlookup.js
@@ -41,7 +41,7 @@
             if (!this.isClick) {
                 this.InputValue = '';
             }
-            },3000)
+            },300)
        
     }
 
@@ -62,7 +62,7 @@
         
         setTimeout(()=>{
             this.OnLoading(false);
-        },3000);
+        },1000);
     }
 
 
diff --git a/force-app/main/default/lwc/lWtTEST/lWtTEST.html b/force-app/main/default/lwc/lWtTEST/lWtTEST.html
new file mode 100644
index 0000000..af9fa97
--- /dev/null
+++ b/force-app/main/default/lwc/lWtTEST/lWtTEST.html
@@ -0,0 +1,3 @@
+<template>
+
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lWtTEST/lWtTEST.js b/force-app/main/default/lwc/lWtTEST/lWtTEST.js
new file mode 100644
index 0000000..5f6b46c
--- /dev/null
+++ b/force-app/main/default/lwc/lWtTEST/lWtTEST.js
@@ -0,0 +1,5 @@
+import { LightningElement, track, wire } from 'lwc';
+
+export default class lWtTEST extends LightningElement {
+
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lWtTEST/lWtTEST.js-meta.xml b/force-app/main/default/lwc/lWtTEST/lWtTEST.js-meta.xml
new file mode 100644
index 0000000..753bc90
--- /dev/null
+++ b/force-app/main/default/lwc/lWtTEST/lWtTEST.js-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lWtTEST">
+    <apiVersion>51.0</apiVersion>
+    <isExposed>true</isExposed>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/ldsUtils/__mocks__/ldsUtils.js b/force-app/main/default/lwc/ldsUtils/__mocks__/ldsUtils.js
new file mode 100644
index 0000000..9fa436c
--- /dev/null
+++ b/force-app/main/default/lwc/ldsUtils/__mocks__/ldsUtils.js
@@ -0,0 +1,3 @@
+export function reduceErrors() {
+    return '';
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/ldsUtils/ldsUtils.js b/force-app/main/default/lwc/ldsUtils/ldsUtils.js
new file mode 100644
index 0000000..d193f95
--- /dev/null
+++ b/force-app/main/default/lwc/ldsUtils/ldsUtils.js
@@ -0,0 +1,35 @@
+/**
+ * Reduces one or more LDS errors into a string[] of error messages.
+ * @param {FetchResponse|FetchResponse[]} errors
+ * @return {String[]} Error messages
+ */
+export function reduceErrors(errors) {
+    return (
+        // ensure errors is an array
+        []
+            .concat(errors)
+            // Remove null/undefined items
+            .filter((error) => !!error)
+            // Extract an error message
+            .map((error) => {
+                // UI API read errors
+                if (Array.isArray(error.body)) {
+                    return error.body.map((e) => e.message);
+                }
+                // UI API DML, Apex and network errors
+                else if (error.body && typeof error.body.message === 'string') {
+                    return error.body.message;
+                }
+                // JS errors
+                else if (typeof error.message === 'string') {
+                    return error.message;
+                }
+                // Unknown error shape so try HTTP status text
+                return error.statusText;
+            })
+            // Flatten
+            .reduce((prev, curr) => prev.concat(curr), [])
+            // Remove empty strings
+            .filter((message) => !!message)
+    );
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/ldsUtils/ldsUtils.js-meta.xml b/force-app/main/default/lwc/ldsUtils/ldsUtils.js-meta.xml
new file mode 100644
index 0000000..b9a3113
--- /dev/null
+++ b/force-app/main/default/lwc/ldsUtils/ldsUtils.js-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>false</isExposed>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexASACEditor/lexASACEditor.css b/force-app/main/default/lwc/lexASACEditor/lexASACEditor.css
new file mode 100644
index 0000000..689c97d
--- /dev/null
+++ b/force-app/main/default/lwc/lexASACEditor/lexASACEditor.css
@@ -0,0 +1,10 @@
+.inASACEditorHolder{
+    position: relative;
+    display: inline-block;
+    width: 80px;
+    height: 80px;
+    text-align: center;
+}
+.container .uiContainerManager{
+	display: none !important;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexASACEditor/lexASACEditor.html b/force-app/main/default/lwc/lexASACEditor/lexASACEditor.html
new file mode 100644
index 0000000..19263b7
--- /dev/null
+++ b/force-app/main/default/lwc/lexASACEditor/lexASACEditor.html
@@ -0,0 +1,5 @@
+<template>
+    <div class="inASACEditorHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexASACEditor/lexASACEditor.js b/force-app/main/default/lwc/lexASACEditor/lexASACEditor.js
new file mode 100644
index 0000000..a40f487
--- /dev/null
+++ b/force-app/main/default/lwc/lexASACEditor/lexASACEditor.js
@@ -0,0 +1,73 @@
+import { LightningElement,wire,track,api} from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import init  from '@salesforce/apex/ReportController.initForASACEditorButton';
+export default class LexASACEditor extends LightningElement {
+    @api recordId;
+    LastModifiedDate
+    Id
+    Name
+    LastModifiedById
+    DeveloperName
+    IsLoading = true;
+    url;
+    @wire(CurrentPageReference)
+     getStateParameters(currentPageReference) {
+             console.log(111);
+             console.log(currentPageReference);
+
+         if (currentPageReference) {
+           const urlValue = currentPageReference.state.recordId;
+           if (urlValue) {
+             let str = `${urlValue}`;
+             console.log("str");
+             console.log(str);
+             this.recordId = str;
+           }
+         }
+     }
+    
+    connectedCallback () {
+        console.log(this.recordId);
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            console.log(result);
+            if (result != undefined) {
+                console.log("if");
+                this.LastModifiedById = result.LastModifiedById;
+                this.LastModifiedDate = result.LastModifiedDate;
+                this.Id = result.Id;
+                this.Name = result.Name;
+                this.DeveloperName = result.DeveloperName;
+                console.log(this.Id);
+                this.editor();
+                this.dispatchEvent(new CloseActionScreenEvent());
+                //window.location.replace("https://ocsm--partial.sandbox.lightning.force.com/lightning/r/Report__c/" + this.recordId + "/view");
+            }else{
+                console.log("else");
+                this.IsLoading = false;
+                this.editor();
+                this.dispatchEvent(new CloseActionScreenEvent());
+            }
+        }).catch(error => {
+            console.log("error");
+            console.log(error);
+        }).finally(() => {
+            
+        });   
+        //this.updateRecordView(this.recordId);
+
+    }
+
+    editor(){
+        if (this.Id != undefined){
+            this.url = "/apex/RepPAEDecisionRecord?Id="+this.Id+"&ReportId="+this.recordId+"&RecordTypeIds="+"ASACDecision";
+            console.log(this.url);
+            } else {
+            this.url = "/apex/RepPAEDecisionRecord?ReportId="+this.recordId+"&RecordTypeIds="+"ASACDecision";
+            console.log(this.url);
+            }
+        window.open(this.url,"_self");
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexASACEditor/lexASACEditor.js-meta.xml b/force-app/main/default/lwc/lexASACEditor/lexASACEditor.js-meta.xml
new file mode 100644
index 0000000..952a036
--- /dev/null
+++ b/force-app/main/default/lwc/lexASACEditor/lexASACEditor.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+   <apiVersion>54.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexASACEditorRepair/lexASACEditorRepair.html b/force-app/main/default/lwc/lexASACEditorRepair/lexASACEditorRepair.html
new file mode 100644
index 0000000..d044dbb
--- /dev/null
+++ b/force-app/main/default/lwc/lexASACEditorRepair/lexASACEditorRepair.html
@@ -0,0 +1,5 @@
+<template>
+    <div class="exampleHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexASACEditorRepair/lexASACEditorRepair.js b/force-app/main/default/lwc/lexASACEditorRepair/lexASACEditorRepair.js
new file mode 100644
index 0000000..66db124
--- /dev/null
+++ b/force-app/main/default/lwc/lexASACEditorRepair/lexASACEditorRepair.js
@@ -0,0 +1,74 @@
+import {
+    LightningElement,
+    wire,
+    api
+} from 'lwc';
+import {
+    CurrentPageReference
+} from "lightning/navigation";
+import {
+    CloseActionScreenEvent
+} from 'lightning/actions';
+import init from '@salesforce/apex/otherButtonRepairController.init';
+import selectPAEDecisionRecord from '@salesforce/apex/otherButtonRepairController.selectPAEDecisionRecord';
+
+export default class LexASACEditorRepair extends LightningElement {
+    @api recordId;
+    str;
+    IsLoading = true;
+    Id;;
+
+    @wire(CurrentPageReference)
+    getStateParameters(currentPageReference) {
+        if (currentPageReference) {
+            const urlValue = currentPageReference.state.recordId;
+            if (urlValue) {
+                let str = `${urlValue}`;
+                this.recordId = str;
+            }
+        }
+    }
+
+    connectedCallback() {
+        console.log(this.recordId);
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            console.log(result);
+            if (result != null) {
+                this.IsLoading = false;
+                this.Id = result.Id;
+
+                this.ASACEditor();
+                this.dispatchEvent(new CloseActionScreenEvent());
+            }
+        }).catch(error => {
+            console.log(error);
+        }).finally(() => {
+
+        });
+    }
+
+    //Final universal code缂栬緫	
+    ASACEditor() {
+        var RepairId = this.Id;
+        var RecordTypeId = "ASACDecision";
+        var url = '';
+        selectPAEDecisionRecord({
+            recordId: RepairId,
+            recordTypeId: RecordTypeId
+        }).then(result => {
+            if (result != null) {
+                if (result.length > 0) {
+                    url = "/apex/PAEDecisionRecord?Id=" + result[0].Id + "&RepairId=" + RepairId + "&RecordTypeIds=" + RecordTypeId;
+                } else {
+                    url = "/apex/PAEDecisionRecord?RepairId=" + RepairId + "&RecordTypeIds=" + RecordTypeId;
+                }
+
+                window.open(url, '_self');
+            }
+        }).catch(error => {
+            console.log(error);
+        })
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexASACEditorRepair/lexASACEditorRepair.js-meta.xml b/force-app/main/default/lwc/lexASACEditorRepair/lexASACEditorRepair.js-meta.xml
new file mode 100644
index 0000000..3392981
--- /dev/null
+++ b/force-app/main/default/lwc/lexASACEditorRepair/lexASACEditorRepair.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+	<isExposed>true</isExposed>
+	<targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexASRCEditor/lexASRCEditor.css b/force-app/main/default/lwc/lexASRCEditor/lexASRCEditor.css
new file mode 100644
index 0000000..5cd9c5d
--- /dev/null
+++ b/force-app/main/default/lwc/lexASRCEditor/lexASRCEditor.css
@@ -0,0 +1,10 @@
+.inASRCEditorHolder{
+    position: relative;
+    display: inline-block;
+    width: 80px;
+    height: 80px;
+    text-align: center;
+}
+.container .uiContainerManager{
+	display: none !important;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexASRCEditor/lexASRCEditor.html b/force-app/main/default/lwc/lexASRCEditor/lexASRCEditor.html
new file mode 100644
index 0000000..79f5b93
--- /dev/null
+++ b/force-app/main/default/lwc/lexASRCEditor/lexASRCEditor.html
@@ -0,0 +1,5 @@
+<template>
+    <div class="inASRCEditorHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexASRCEditor/lexASRCEditor.js b/force-app/main/default/lwc/lexASRCEditor/lexASRCEditor.js
new file mode 100644
index 0000000..982af66
--- /dev/null
+++ b/force-app/main/default/lwc/lexASRCEditor/lexASRCEditor.js
@@ -0,0 +1,74 @@
+import { LightningElement,wire,track,api} from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import init  from '@salesforce/apex/ReportController.initForASRCEditorButton';
+
+export default class LexASRCEditor extends LightningElement {
+    @api recordId;
+    LastModifiedDate
+    Id
+    Name
+    LastModifiedById
+    DeveloperName
+    IsLoading = true;
+    url;
+    @wire(CurrentPageReference)
+     getStateParameters(currentPageReference) {
+             console.log(111);
+             console.log(currentPageReference);
+
+         if (currentPageReference) {
+           const urlValue = currentPageReference.state.recordId;
+           if (urlValue) {
+             let str = `${urlValue}`;
+             console.log("str");
+             console.log(str);
+             this.recordId = str;
+           }
+         }
+     }
+    
+    connectedCallback () {
+        console.log(this.recordId);
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            console.log(result);
+            if (result != undefined) {
+                console.log("if");
+                this.LastModifiedById = result.LastModifiedById;
+                this.LastModifiedDate = result.LastModifiedDate;
+                this.Id = result.Id;
+                this.Name = result.Name;
+                this.DeveloperName = result.DeveloperName;
+                console.log(this.Id);
+                this.editor();
+                this.dispatchEvent(new CloseActionScreenEvent());
+                //window.location.replace("https://ocsm--partial.sandbox.lightning.force.com/lightning/r/Report__c/" + this.recordId + "/view");
+            }else{
+                console.log("else");
+                this.IsLoading = false;
+                this.editor();
+                this.dispatchEvent(new CloseActionScreenEvent());
+            }
+        }).catch(error => {
+            console.log("error");
+            console.log(error);
+        }).finally(() => {
+            
+        });   
+        //this.updateRecordView(this.recordId);
+
+    }
+
+    editor(){
+        if (this.Id != undefined){
+            this.url = "/apex/RepPAEDecisionRecord?Id="+this.Id+"&ReportId="+this.recordId+"&RecordTypeIds="+"ASRCDecision";
+            console.log(this.url);
+            } else {
+            this.url = "/apex/RepPAEDecisionRecord?ReportId="+this.recordId+"&RecordTypeIds="+"ASRCDecision";
+            console.log(this.url);
+            }
+        window.open(this.url,"_self");
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexASRCEditor/lexASRCEditor.js-meta.xml b/force-app/main/default/lwc/lexASRCEditor/lexASRCEditor.js-meta.xml
new file mode 100644
index 0000000..952a036
--- /dev/null
+++ b/force-app/main/default/lwc/lexASRCEditor/lexASRCEditor.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+   <apiVersion>54.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexASRCEditorRepair/lexASRCEditorRepair.html b/force-app/main/default/lwc/lexASRCEditorRepair/lexASRCEditorRepair.html
new file mode 100644
index 0000000..d044dbb
--- /dev/null
+++ b/force-app/main/default/lwc/lexASRCEditorRepair/lexASRCEditorRepair.html
@@ -0,0 +1,5 @@
+<template>
+    <div class="exampleHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexASRCEditorRepair/lexASRCEditorRepair.js b/force-app/main/default/lwc/lexASRCEditorRepair/lexASRCEditorRepair.js
new file mode 100644
index 0000000..8387edc
--- /dev/null
+++ b/force-app/main/default/lwc/lexASRCEditorRepair/lexASRCEditorRepair.js
@@ -0,0 +1,75 @@
+import {
+    LightningElement,
+    wire,
+    api
+} from 'lwc';
+import {
+    CurrentPageReference
+} from "lightning/navigation";
+import {
+    CloseActionScreenEvent
+} from 'lightning/actions';
+
+import init from '@salesforce/apex/otherButtonRepairController.init';
+import selectPAEDecisionRecord from '@salesforce/apex/otherButtonRepairController.selectPAEDecisionRecord';
+
+export default class LexASRCEditorRepair extends LightningElement {
+    @api recordId;
+    str;
+    IsLoading = true;
+    Id;
+    RecordTypeId;
+
+    @wire(CurrentPageReference)
+    getStateParameters(currentPageReference) {
+        if (currentPageReference) {
+            const urlValue = currentPageReference.state.recordId;
+            if (urlValue) {
+                let str = `${urlValue}`;
+                this.recordId = str;
+            }
+        }
+    }
+
+    connectedCallback() {
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            console.log(result);
+            if (result != null) {
+                this.IsLoading = false;
+                this.Id = result.Id;
+                this.RecordTypeId = result.RecordTypeId;
+
+                this.ASRCEditor();
+                this.dispatchEvent(new CloseActionScreenEvent());
+            }
+        }).catch(error => {
+            console.log(error);
+        }).finally(() => {
+
+        });
+    }
+
+    // Intake universal code缂栬緫
+    ASRCEditor() {
+        var RecordTypeId = "ASRCDecision";
+        var RepairId = this.Id;
+        var url = '';
+        selectPAEDecisionRecord({
+            recordId: RepairId,
+            recordTypeId: RecordTypeId
+        }).then(result => {
+            if (result != null) {
+                if (result.length > 0) {
+                    url = "/apex/PAEDecisionRecord?Id=" + result[0].Id + "&RepairId=" + RepairId + "&RecordTypeIds=" + RecordTypeId;
+                } else {
+                    url = "/apex/PAEDecisionRecord?RepairId=" + RepairId + "&RecordTypeIds=" + RecordTypeId;
+                }
+                window.open(url, '_self');
+            }
+        }).catch(error => {
+            console.log(error);
+        })
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexASRCEditorRepair/lexASRCEditorRepair.js-meta.xml b/force-app/main/default/lwc/lexASRCEditorRepair/lexASRCEditorRepair.js-meta.xml
new file mode 100644
index 0000000..3392981
--- /dev/null
+++ b/force-app/main/default/lwc/lexASRCEditorRepair/lexASRCEditorRepair.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+	<isExposed>true</isExposed>
+	<targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexAddSubmitApprovalProcess/lexAddSubmitApprovalProcess.css b/force-app/main/default/lwc/lexAddSubmitApprovalProcess/lexAddSubmitApprovalProcess.css
new file mode 100644
index 0000000..635bc6c
--- /dev/null
+++ b/force-app/main/default/lwc/lexAddSubmitApprovalProcess/lexAddSubmitApprovalProcess.css
@@ -0,0 +1,22 @@
+.outerBorderCss{
+    border: 1px solid #D4D4D4;
+    border-radius : 5px;
+    border-top : 3px solid #565959;
+}
+.borderCss{
+    border: 1px solid #D4D4D4;
+    border-radius : 5px;
+    margin-bottom : 7px;
+    border-top : 3px solid #565959;
+}
+.headerDorderCss{
+    border-top: 1px solid #565959;
+    border-bottom: 1px solid #D4D4D4;
+    padding:3px;
+}
+.centerCss{
+    text-align: center;
+}
+.centerCss .left{
+    margin-left: 100px;
+}/* sample css file */
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexAddSubmitApprovalProcess/lexAddSubmitApprovalProcess.html b/force-app/main/default/lwc/lexAddSubmitApprovalProcess/lexAddSubmitApprovalProcess.html
new file mode 100644
index 0000000..49a10f7
--- /dev/null
+++ b/force-app/main/default/lwc/lexAddSubmitApprovalProcess/lexAddSubmitApprovalProcess.html
@@ -0,0 +1,5 @@
+<template>
+    <div class="sisToOPDHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexAddSubmitApprovalProcess/lexAddSubmitApprovalProcess.js b/force-app/main/default/lwc/lexAddSubmitApprovalProcess/lexAddSubmitApprovalProcess.js
new file mode 100644
index 0000000..65f247a
--- /dev/null
+++ b/force-app/main/default/lwc/lexAddSubmitApprovalProcess/lexAddSubmitApprovalProcess.js
@@ -0,0 +1,68 @@
+import { LightningElement, track, wire, api } from 'lwc';
+import { CloseActionScreenEvent } from 'lightning/actions';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+import { CurrentPageReference,NavigationMixin } from 'lightning/navigation';
+
+import init from '@salesforce/apex/AddSubmitApprovalProcessController.init';
+export default class lexAddSubmitApprovalProcess extends LightningElement {
+	@api recordId;
+	IsLoading = true;
+	RecordTypeId;
+
+	@wire(CurrentPageReference)
+	getStateParameters(currentPageReference){
+		if(currentPageReference) {
+			const urlValue = currentPageReference.state.recordId;
+			if(urlValue) {
+				let str = `${urlValue}`;
+		        this.recordId = str;
+			}
+		}
+	}
+
+	connectedCallback(){
+		init({
+			recordId: this.recordId
+		}).then(result=>{
+			if(result.addApprovalStatus != '鑽夋涓�' || result.detailSize == 0){
+				this.ToastShow('娌℃湁闇�瑕佸鎵圭殑杩藉姞闄勫睘鍝�');
+                return;
+			}
+			if (!confirm("涓�鏃︽彁浜ゆ璁板綍浠ュ緟鎵瑰噯锛屾牴鎹偍鐨勮缃偍鍙兘涓嶅啀鑳藉缂栬緫姝よ褰曟垨灏嗕粬浠庢壒鍑嗚繃绋嬩腑璋冨洖銆傛槸鍚︾户缁紵")) {
+				this.dispatchEvent(new CloseActionScreenEvent());
+				return;
+			}
+			// 甯屾湜鍒拌揣鏃ヤ笉鑳芥棭浜庣敵璇锋彁浜ゆ棩-0418杩藉姞
+			//if ('{!Rental_Apply__c.Request_shipping_day__c}' < '{!TODAY()}') {
+			// alert('甯屾湜鍒拌揣鏃ヤ笉鑳芥棭浜庣敵璇锋彁浜ゆ棩');
+			// return;
+			// } 
+			if(result.repairId != null){
+				if(result.demoPurpose1 == '缁翠慨浠g敤' && result.demoPurpose2 == '涓�鑸敤鎴�'){
+					if(result.repairEstimatedDateFormula == null){
+						this.ToastShow('涓�鑸淮淇棤鎶ヤ环鏃ワ紝涓嶅彲鍊熺敤澶囧搧');
+	                	return;
+					}else if(result.repairEstimatedDateFormula <'2019-07-01' && result.agreedDate == null){
+						this.ToastShow('鎶ヤ环鏃ュ湪2019/7/1涔嬪墠涓旀埛鍚屾剰鏃ヤ负绌猴紝涓嶅彲鍊熺敤澶囧搧');
+	                	return;
+					}
+				}
+
+				if(result.recordTypeId !='01210000000RHIn' && result.newProductGuaranteeObject=='2: 鏈嶅姟澶氬勾淇濅慨' && (result.assetModelNo=='CV-V1' ||result.assetModelNo=='CV-V1(A)'||result.assetModelNo=='CV-V1(B)'||result.assetModelNo=='GIF-LV1'||result.assetModelNo=='CF-LV1L'||result.assetModelNo=='CF-LV1I'||result.assetModelNo=='MAJ-1910') &&(result.demoPurpose2=='涓�鑸敤鎴�'||result.demoPurpose2=='鍐嶄慨鐞�')){
+					this.ToastShow('濂ヨ緣璁惧锛屼繚淇湡鍐呬笉鎻愪緵澶囧搧.');
+                	return;
+				}
+			}
+		})
+	}
+
+	ToastShow(msg){
+		const evt = new ShowToastEvent({
+            title : msg,
+            message: '',
+            variant: 'warning'
+        });
+        this.dispatchEvent(evt);
+        this.dispatchEvent(new CloseActionScreenEvent());
+	}
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexAddSubmitApprovalProcess/lexAddSubmitApprovalProcess.js-meta.xml b/force-app/main/default/lwc/lexAddSubmitApprovalProcess/lexAddSubmitApprovalProcess.js-meta.xml
new file mode 100644
index 0000000..74849f3
--- /dev/null
+++ b/force-app/main/default/lwc/lexAddSubmitApprovalProcess/lexAddSubmitApprovalProcess.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lexOCMSubmit">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightning__RecordPage</target>
+        <target>lightning__AppPage</target>
+        <target>lightning__HomePage</target>
+        <target>lightning__RecordAction</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexAddress/lexAddress.html b/force-app/main/default/lwc/lexAddress/lexAddress.html
new file mode 100644
index 0000000..87f391a
--- /dev/null
+++ b/force-app/main/default/lwc/lexAddress/lexAddress.html
@@ -0,0 +1,6 @@
+<template>
+    <div class="exampleHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+        <lightning-button label="Show Toast" onclick={ShowToastEvent}></lightning-button>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexAddress/lexAddress.js b/force-app/main/default/lwc/lexAddress/lexAddress.js
new file mode 100644
index 0000000..49b0dc0
--- /dev/null
+++ b/force-app/main/default/lwc/lexAddress/lexAddress.js
@@ -0,0 +1,80 @@
+import {
+    LightningElement,
+    wire,
+    api
+} from 'lwc';
+import {
+    CurrentPageReference
+} from "lightning/navigation";
+import {
+    CloseActionScreenEvent
+} from 'lightning/actions';
+
+import init from '@salesforce/apex/otherButtonRepairController.init';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+
+export default class LexAddress extends LightningElement {
+    @api recordId;
+    str;
+    IsLoading = true;
+    Id;
+    RecordTypeId;
+    partArrangementCompleteC;
+    RepairShippedDateC;
+
+    @wire(CurrentPageReference)
+    getStateParameters(currentPageReference) {
+        if (currentPageReference) {
+            const urlValue = currentPageReference.state.recordId;
+            if (urlValue) {
+                let str = `${urlValue}`;
+                this.recordId = str;
+            }
+        }
+    }
+
+    connectedCallback() {
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            console.log(result);
+            if (result != null) {
+                this.IsLoading = false;
+                this.Id = result.Id;
+                this.RecordTypeId = result.RecordTypeId;
+                this.RepairShippedDateC = result.RepairShippedDateC;
+                this.partArrangementCompleteC = result.partArrangementCompleteC;
+
+                this.Address();
+                this.dispatchEvent(new CloseActionScreenEvent());
+            }
+        }).catch(error => {
+            console.log(error);
+        }).finally(() => {
+
+        });
+    }
+
+    //鐩磋繑鏀惰揣鍦板潃
+    Address() {
+        if (this.partArrangementCompleteC != undefined) {
+            this.ShowToastEvent('闆朵欢宸查綈澶囧畬姣曪紝鐩磋繑鏀惰揣鍦板潃涓嶈兘淇敼锛�',"error")
+            // alert('闆朵欢宸查綈澶囧畬姣曪紝鐩磋繑鏀惰揣鍦板潃涓嶈兘淇敼锛�');
+        } else if (this.RepairShippedDateC  != undefined) {
+            this.ShowToastEvent('RC淇悊鍝佸凡杩旈�侊紝鐩磋繑鏀惰揣鍦板潃涓嶈兘淇敼锛�',"error")
+            // alert('RC淇悊鍝佸凡杩旈�侊紝鐩磋繑鏀惰揣鍦板潃涓嶈兘淇敼锛�');
+        } else {
+            window.open("/apex/StraightBackAddress?id=" + this.Id, '_self');
+        }
+    }
+
+    //寮规
+    ShowToastEvent(msg,type) {
+        const event = new ShowToastEvent({
+            title: '',
+            message: msg,
+            variant: type
+        });
+        this.dispatchEvent(event);
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexAddress/lexAddress.js-meta.xml b/force-app/main/default/lwc/lexAddress/lexAddress.js-meta.xml
new file mode 100644
index 0000000..3392981
--- /dev/null
+++ b/force-app/main/default/lwc/lexAddress/lexAddress.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+	<isExposed>true</isExposed>
+	<targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexAgencyAuthorize/lexAgencyAuthorize.css b/force-app/main/default/lwc/lexAgencyAuthorize/lexAgencyAuthorize.css
new file mode 100644
index 0000000..689c97d
--- /dev/null
+++ b/force-app/main/default/lwc/lexAgencyAuthorize/lexAgencyAuthorize.css
@@ -0,0 +1,10 @@
+.inASACEditorHolder{
+    position: relative;
+    display: inline-block;
+    width: 80px;
+    height: 80px;
+    text-align: center;
+}
+.container .uiContainerManager{
+	display: none !important;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexAgencyAuthorize/lexAgencyAuthorize.html b/force-app/main/default/lwc/lexAgencyAuthorize/lexAgencyAuthorize.html
new file mode 100644
index 0000000..e6785e4
--- /dev/null
+++ b/force-app/main/default/lwc/lexAgencyAuthorize/lexAgencyAuthorize.html
@@ -0,0 +1,6 @@
+<template>
+    <div class="inASACEditorHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+        <lightning-button label="Show Toast" onclick={showSuccess}></lightning-button>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexAgencyAuthorize/lexAgencyAuthorize.js b/force-app/main/default/lwc/lexAgencyAuthorize/lexAgencyAuthorize.js
new file mode 100644
index 0000000..30da2db
--- /dev/null
+++ b/force-app/main/default/lwc/lexAgencyAuthorize/lexAgencyAuthorize.js
@@ -0,0 +1,198 @@
+/*
+ * @Description: 
+ * @version: 
+ * @Author: chen jing wu
+ * @Date: 2023-04-12 14:51:44
+ * @LastEditors: chen jing wu
+ * @LastEditTime: 2023-04-19 09:11:02
+ */
+import { api, wire,LightningElement } from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import init  from '@salesforce/apex/OpportunityLightingButtonController.initForAgencyAuthorizeButton';
+import updateForAgencyAuthorizeButton  from '@salesforce/apex/OpportunityLightingButtonController.updateForAgencyAuthorizeButton';
+import { updateRecord } from 'lightning/uiRecordApi';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+import checkDangerItem from '@salesforce/apex/OpportunityWebService.checkDangerItem';
+import oppCheck from '@salesforce/apex/OpportunityWebService.oppCheck';
+import updReg from '@salesforce/apex/OpportunityWebService.updReg';
+
+export default class LexAgencyAuthorize extends LightningElement {
+    @api recordId;
+    agency1Id;
+    stageName;
+    sapSendOK;
+    oppOrderType;
+    ifHave170;
+    ifHaveAH;
+    cntLostCancelDraft;
+    cntLostCancelReport;
+    estimationId;
+    detailNum;
+    estimationDecision;
+    salesRoot;
+    acecideCntCheck;
+    ifSubmit;
+    trade;
+    isCorrosion;
+    profileId;
+    ifAuthorizingLock;
+    IsLoading = true;
+    @wire(CurrentPageReference)
+    getStateParameters(currentPageReference) {
+            console.log(111);
+            console.log(currentPageReference);
+
+        if (currentPageReference) {
+          const urlValue = currentPageReference.state.recordId;
+          if (urlValue) {
+            let str = `${urlValue}`;
+            console.log("str");
+            console.log(str);
+            this.recordId = str;
+          }
+        }
+    }
+    connectedCallback(){
+        init({
+            recordId: this.recordId
+        }).then(result=>{
+            console.log(result);
+            this.agency1Id = result.agency1Id;
+            this.stageName = result.stageName;
+            this.sapSendOK = result.sapSendOK;
+            this.oppOrderType = result.oppOrderType;
+            this.ifHave170 = result.ifHave170;
+            this.ifHaveAH = result.ifHaveAH;
+            this.cntLostCancelDraft = result.cntLostCancelDraft;
+            this.cntLostCancelReport = result.cntLostCancelReport;
+            this.estimationId = result.estimationId;
+            this.detailNum = result.detailNum;
+            this.estimationDecision = result.estimationDecision;
+            this.salesRoot = result.salesRoot;
+            this.acecideCntCheck = result.acecideCntCheck;
+            this.ifSubmit = result.ifSubmit;
+            this.trade = result.trade;
+            this.isCorrosion = result.isCorrosion;
+            this.profileId = result.profileId;
+            this.ifAuthorizingLock = result.ifAuthorizingLock;
+            this.AgencyAuthorize();
+        })
+    }
+    AgencyAuthorize(){
+        var btns = document.getElementsByName("agency_authorize");
+        for (var i=0; i<btns.length; i++) {
+        btns[i].disabled = true;
+        btns[i].className = 'btnDisabled';
+        }
+        //2021-10-21 gwy 鐗堟湰鏇存敼涓�51.0
+        var oppid = this.recordId;
+        var angency = this.agency1Id;
+        var profileId = this.profileId;
+        
+        if (profileId != '00e10000000Y3o5' && profileId != '00e10000000Nab7' && profileId != '00e10000000xnpR' && profileId != '00e10000000xyK6' && profileId != '00e10000000NbCE'
+        && profileId != '00e10000000xyK6' && profileId != '00e10000000Nb7i') {
+            this.showToast("鎮ㄦ病鏈夋巿鏉冪敵璇风殑鏉冮檺銆傝鑱旂郴绯荤粺绠$悊鍛樸��","error");
+            return;
+        }
+        if (this.stageName != '寮曞悎' && this.stageName != '璇环' ) {
+            this.showToast("鐘舵��1:" + this.stageName + "銆佷笉鑳藉仛鎺堟潈鐢宠锛�","error");
+            return;
+        } else if (this.sapSendOK == '1') {
+            this.showToast("宸茬粡涓婁紶SAP銆佷笉鑳藉仛鎺堟潈鐢宠浜嗭紒","error");
+            return;
+        } else if (this.oppOrderType != undefined && this.ifHave170 == true) {
+            this.showToast("鑰楁潗涓嶅彲涓�170浜у搧鍚屾椂瀛樺湪锛�","error");
+            return;
+        } else if (this.oppOrderType != undefined && this.ifHaveAH == true) {
+            this.showToast("鑰楁潗涓嶅彲涓庡ゥ杈変骇鍝佸悓鏃跺瓨鍦紒","error");
+            return;
+        } else if (this.cntLostCancelDraft > 0) {
+        if(!confirm('璇环鏈夎崏妗堜腑鐨勫彇娑�/澶卞崟鎶ュ憡锛屾槸鍚︾户缁紵')){
+            return ;
+        }
+        } else if (this.cntLostCancelReport - this.cntLostCancelDraft > 0) {
+            this.showToast('璇环鏈夊凡鎻愪氦鐨勫彇娑�/澶卞崟鎶ュ憡銆�',"error");
+            return;
+        } else if (this.estimationId == undefined || this.detailNum == 0) {
+            this.showToast('鎶ヤ环鏈畬鎴愶紝璇峰厛鎶ヤ环銆�',"error");
+            return;
+        } else if (this.estimationDecision == '1') {
+            this.showToast('鎶ヤ环宸插喅瀹氾紝涓嶈兘杩涜鎺堟潈鐢宠銆�',"error");
+            return;
+        } else if (this.salesRoot != '璨╁2搴�') {
+            this.showToast('鍖婚櫌鐩撮攢涓嶉渶瑕佹巿鏉冪敵璇枫��',"error");
+            return;
+        }
+        // else if ('{!Opportunity.AcecideCntCheck__c}' != '1') {
+        // alert('闃胯タ璧涘璇环鍙兘鍖呭惈鍗卞寲鍝侊紝鎴栬�咃紝鏅�氳浠蜂笉鑳藉寘鍚嵄鍖栧搧銆�');
+        // return;
+        // }
+        else if (this.ifSubmit == '1') {
+            this.showToast('涓婁紶澶辫触锛岃鑱旂郴绯荤粺绠$悊鍛�!',"error");
+            return;
+        }
+        if (this.ifAuthorizingLock == 'true') {
+            this.showToast('璇环姝e湪鎺堟潈涓紝璇蜂笉瑕侀噸澶嶆彁浜ゃ��',"error");
+            return;
+        }
+        if (this.trade == '鍐呰部') {
+            if(this.isCorrosion == '1'){
+                checkDangerItem({
+                    agency1: angency
+                }).then(result=>{
+                    var rtn1 = result;
+                    if (rtn1 != 'OK') {
+                        this.showToast(rtn1,"error");
+                        return;
+                    }
+                    this.update();
+            });
+            }else{
+                oppCheck({
+                    oppid: oppid,
+                    saveFlg: '1'
+                }).then(result=>{
+                    var rtn = result;
+                    if (rtn != 'OK') {
+                        this.showToast(rtn,"error");
+                        return;
+                    }
+                    this.update();
+                })
+            }
+        } else {
+            updReg({
+                oppid: oppid
+            }).then(()=>{
+                this.update();
+            });
+        }  
+    }
+    showToast(msg,type) {
+        const event = new ShowToastEvent({
+            title: '',
+            message: msg,
+            variant: type
+        });
+        this.dispatchEvent(event);
+        this.dispatchEvent(new CloseActionScreenEvent());
+    }
+    updateRecordView(recordId) {
+        updateRecord({fields: { Id: recordId }});
+    }
+    update(){
+        updateForAgencyAuthorizeButton({
+            recordId: this.recordId
+        }).then(result=>{
+            if(result){
+                this.showToast(result,"error");
+            }else{
+                this.updateRecordView(this.recordId);
+                window.open("https://olympus.sharepoint.cn/sites/GSPWF/SitePages/HomePage.aspx");
+                this.showToast('鎻愪氦鎴愬姛銆傝鍦⊿PO绯荤粺涓畬鎴愭巿鏉冪敵璇枫��',"success");
+            }
+            this.IsLoading = false;
+        })
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexAgencyAuthorize/lexAgencyAuthorize.js-meta.xml b/force-app/main/default/lwc/lexAgencyAuthorize/lexAgencyAuthorize.js-meta.xml
new file mode 100644
index 0000000..329e839
--- /dev/null
+++ b/force-app/main/default/lwc/lexAgencyAuthorize/lexAgencyAuthorize.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexAllReceivedFse/lexAllReceivedFse.css b/force-app/main/default/lwc/lexAllReceivedFse/lexAllReceivedFse.css
new file mode 100644
index 0000000..635bc6c
--- /dev/null
+++ b/force-app/main/default/lwc/lexAllReceivedFse/lexAllReceivedFse.css
@@ -0,0 +1,22 @@
+.outerBorderCss{
+    border: 1px solid #D4D4D4;
+    border-radius : 5px;
+    border-top : 3px solid #565959;
+}
+.borderCss{
+    border: 1px solid #D4D4D4;
+    border-radius : 5px;
+    margin-bottom : 7px;
+    border-top : 3px solid #565959;
+}
+.headerDorderCss{
+    border-top: 1px solid #565959;
+    border-bottom: 1px solid #D4D4D4;
+    padding:3px;
+}
+.centerCss{
+    text-align: center;
+}
+.centerCss .left{
+    margin-left: 100px;
+}/* sample css file */
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexAllReceivedFse/lexAllReceivedFse.html b/force-app/main/default/lwc/lexAllReceivedFse/lexAllReceivedFse.html
new file mode 100644
index 0000000..49a10f7
--- /dev/null
+++ b/force-app/main/default/lwc/lexAllReceivedFse/lexAllReceivedFse.html
@@ -0,0 +1,5 @@
+<template>
+    <div class="sisToOPDHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexAllReceivedFse/lexAllReceivedFse.js b/force-app/main/default/lwc/lexAllReceivedFse/lexAllReceivedFse.js
new file mode 100644
index 0000000..f6ebf2b
--- /dev/null
+++ b/force-app/main/default/lwc/lexAllReceivedFse/lexAllReceivedFse.js
@@ -0,0 +1,65 @@
+import { LightningElement, track, wire, api } from 'lwc';
+import { CurrentPageReference,NavigationMixin } from 'lightning/navigation';
+import { CloseActionScreenEvent } from 'lightning/actions';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+
+import init from '@salesforce/apex/AllReceivedFseController.init';
+import getRaeSet from '@salesforce/apex/AllReceivedFseController.getRaeSet';
+export default class lexAllReceivedFse extends LightningElement {
+
+	@api recordId;
+	IsLoading = true;
+
+	@wire(CurrentPageReference)
+	getStateParameters(currentPageReference){
+		if(currentPageReference) {
+			const urlValue = currentPageReference.state.recordId;
+			if(urlValue) {
+				let str = `${urlValue}`;
+		        this.recordId = str;
+			}
+		}
+	}
+
+	connectedCallback(){
+		init({
+			recordId: this.recordId
+		}).then(res=>{
+			if(res.LoanerReceivedNgNum == 0){
+				const evt = new ShowToastEvent({
+                        title : '鐜板満宸茬粡鍏ㄩ儴鏀跺埌瀹炵墿浜�',
+                        message: '',
+                        variant: 'success'
+                    });
+                this.dispatchEvent(evt);
+			}else{
+				getRaeSet({
+					recordId: this.recordId
+				}).then(res=>{
+					if(res == 'SUCCESS'){
+						const evt = new ShowToastEvent({
+	                        title : '鐜板満宸插叏閮ㄦ敹璐�',
+	                        message: '',
+	                        variant: 'success'
+                    	});
+                    	this.dispatchEvent(new CloseActionScreenEvent());
+                		this.dispatchEvent(evt);
+					}else{
+						const errToast = new ShowToastEvent({
+	                        title : res,
+	                        message: '',
+	                        variant: 'error'
+                    	});
+                    	this.dispatchEvent(new CloseActionScreenEvent());
+                		this.dispatchEvent(errToast);
+
+                		console.log(res);
+					}
+					
+				})
+			}
+		}).catch(err=>{
+			console.log(err);
+		})
+	}
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexAllReceivedFse/lexAllReceivedFse.js-meta.xml b/force-app/main/default/lwc/lexAllReceivedFse/lexAllReceivedFse.js-meta.xml
new file mode 100644
index 0000000..74849f3
--- /dev/null
+++ b/force-app/main/default/lwc/lexAllReceivedFse/lexAllReceivedFse.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lexOCMSubmit">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightning__RecordPage</target>
+        <target>lightning__AppPage</target>
+        <target>lightning__HomePage</target>
+        <target>lightning__RecordAction</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexAppCancelSubmit/lexAppCancelSubmit.html b/force-app/main/default/lwc/lexAppCancelSubmit/lexAppCancelSubmit.html
new file mode 100644
index 0000000..e639903
--- /dev/null
+++ b/force-app/main/default/lwc/lexAppCancelSubmit/lexAppCancelSubmit.html
@@ -0,0 +1,5 @@
+<template>
+    <div class="ApplicationCancelSubmit" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexAppCancelSubmit/lexAppCancelSubmit.js b/force-app/main/default/lwc/lexAppCancelSubmit/lexAppCancelSubmit.js
new file mode 100644
index 0000000..a99c517
--- /dev/null
+++ b/force-app/main/default/lwc/lexAppCancelSubmit/lexAppCancelSubmit.js
@@ -0,0 +1,85 @@
+import { LightningElement,wire,track,api} from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import { NavigationMixin } from 'lightning/navigation';
+import  init  from '@salesforce/apex/OppSubmitController.initSubmitButton';
+import { updateRecord } from 'lightning/uiRecordApi';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+import submitCancel from '@salesforce/apex/OppSubmitController.submitCancel';
+import UserInfo_Owner from '@salesforce/apex/OppSubmitController.UserInfo_Owner';
+export default class CancelSubmit extends LightningElement {
+    @api recordId;//OwnerId
+    ownerId;
+    monthlyReportId;
+    IsLoading = true;
+
+    @wire(CurrentPageReference)
+     getStateParameters(currentPageReference) {
+        console.log(currentPageReference,'666666666666');
+         if (currentPageReference) {
+           const urlValue = currentPageReference.state.recordId;
+           if (urlValue) {
+             let str = `${urlValue}`;
+             console.log("str:"+str);
+             this.recordId = str;
+           }
+         }
+     }
+    
+
+    connectedCallback(){
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            if (result != null) {
+                this.IsLoading = false;
+                this.ownerId = result.OwnerId;
+                this.monthlyReportId = result.Id;
+                this.cancelSubmit();
+            }
+        }).catch(error => {
+            console.log("error"+error);
+        }).finally(() => {
+            
+        });        
+    }
+
+    cancelSubmit(){
+        UserInfo_Owner({}).then(result=>{
+            console.log(result,'鑾峰彇褰撳墠鐧婚檰浜篿d')
+            if(this.ownerId == result.id){
+                submitCancel({
+                    recordId: this.recordId
+                }).then(requst=>{
+                    if(requst == '1'){
+                        this.showToast("鍙栨秷鎻愪氦鎺堟潈淇℃伅鎴愬姛","success");
+                    }
+                    if(requst != "1"){
+                        var messageage = "";
+                        messageage = requst.split(',')[1];
+                        this.showToast(messageage,"error");
+                    }
+                })
+            }else{
+                this.showToast("鍙巿鏉冪敵璇蜂功鎵�鏈変汉鍙互鍙栨秷鎻愪氦","error");
+            }
+        })
+    }
+
+
+    updateRecordView() {
+        updateRecord({fields: { Id: this.recordId }});
+    }
+
+    showToast(msg,type) {
+        const event = new ShowToastEvent({
+            message: msg,
+            variant: type
+        });
+        if(type == 'success'){
+            this.updateRecordView();
+        }
+        this.dispatchEvent(event);
+        this.dispatchEvent(new CloseActionScreenEvent());
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexAppCancelSubmit/lexAppCancelSubmit.js-meta.xml b/force-app/main/default/lwc/lexAppCancelSubmit/lexAppCancelSubmit.js-meta.xml
new file mode 100644
index 0000000..2b7649d
--- /dev/null
+++ b/force-app/main/default/lwc/lexAppCancelSubmit/lexAppCancelSubmit.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+	<apiVersion>54.0</apiVersion>
+	<isExposed>true</isExposed>
+	<targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexAppSubmitButton/lexAppSubmitButton.html b/force-app/main/default/lwc/lexAppSubmitButton/lexAppSubmitButton.html
new file mode 100644
index 0000000..ade3dab
--- /dev/null
+++ b/force-app/main/default/lwc/lexAppSubmitButton/lexAppSubmitButton.html
@@ -0,0 +1,5 @@
+<template>
+    <div class="ApplicationSubmit" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexAppSubmitButton/lexAppSubmitButton.js b/force-app/main/default/lwc/lexAppSubmitButton/lexAppSubmitButton.js
new file mode 100644
index 0000000..91b11b5
--- /dev/null
+++ b/force-app/main/default/lwc/lexAppSubmitButton/lexAppSubmitButton.js
@@ -0,0 +1,108 @@
+import { LightningElement,wire,track,api} from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import { NavigationMixin } from 'lightning/navigation';
+import  init  from '@salesforce/apex/OppSubmitController.initSubmitButton';
+import UserInfo_Owner from '@salesforce/apex/OppSubmitController.UserInfo_Owner';
+import submit  from '@salesforce/apex/OppSubmitController.submit';
+import { updateRecord } from 'lightning/uiRecordApi';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+export default class Submit extends LightningElement {
+    @api recordId;//OwnerId
+    ownerId;//鎵�鏈変汉id
+    id;//杩斿洖鍊肩殑id
+    IsLoading = true;
+    arrMessage = [];
+
+    @wire(CurrentPageReference)
+     getStateParameters(currentPageReference) {
+        console.log(currentPageReference,'666666666666');
+         if (currentPageReference) {
+           const urlValue = currentPageReference.state.recordId;
+           if (urlValue) {
+             let str = `${urlValue}`;
+             console.log("str:"+str);
+             this.recordId = str;
+           }
+         }
+     }
+    
+
+    connectedCallback(){
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            console.log(result,"璇锋眰鎴愬姛浜嗗悧")
+            if (result != null) {
+                this.IsLoading = false;
+                this.ownerId = result.OwnerId;
+                this.id = result.Id;
+                this.Submit();
+            }
+        }).catch(error => {
+            console.log("error"+error);
+        }).finally(() => {
+            
+        });        
+    }
+
+    Submit(){
+        //鑾峰彇鑾峰彇褰撳墠鐧婚檰浜�
+        this.arrMessage = [];
+        UserInfo_Owner({}).then(result=>{
+            console.log(result,'鑾峰彇褰撳墠鐧婚檰浜篿d')
+            if(this.ownerId == result.id){
+                submit({
+                    recordId: this.recordId
+                }).then(requst=>{
+
+                    if(requst == '1'){
+                        this.showToast("鎻愪氦鎺堟潈淇℃伅鎴愬姛","success");
+                    }
+                    if(requst != "1"){
+                        var messageage = "";
+                        console.log('鏄笉鏄繖閲屾姤閿�11111');
+                        this.arrMessage = requst.split(',');
+                        for(let i=0;i<this.arrMessage.length;i++){ 
+                            console.log('鏄笉鏄繖閲屾姤閿�');
+                            if(this.arrMessage.length-1 == i){
+                                break;
+                            }
+                            messageage += this.arrMessage[i+1];
+                        }
+                        // requst.split(',').map((item,index)=>{
+                        //     messageage += item[index+1];
+                        // })
+                        // if(requst.split(',')[1].slice(-1) == '寮�'){
+                        //     messageage = requst.split(',')[1] + "," + requst.split(',')[2] + "," +  requst.split(',')[3] + "," +  requst.split(',')[4] + "," +  requst.split(',')[5] + "," + requst.split(',')[6];
+                        // }else{
+                        //     messageage = requst.split(',')[1];
+                        // }
+                        this.showToast(messageage,"error");
+                    }
+                })
+            }else{
+                this.showToast("鍙巿鏉冪敵璇蜂功鎵�鏈変汉鍙互鎻愪氦","error");
+            }
+        })
+    }
+
+
+    updateRecordView() {
+        updateRecord({fields: { Id: this.recordId }});
+    }
+
+    showToast(msg,type) {
+        console.log(msg,type);
+        const event = new ShowToastEvent({
+            message: msg,
+            variant: type
+        });
+        this.dispatchEvent(event);
+        console.log('璧板埌杩欓噷浜嗗悧');
+        if(type == 'success'){
+            this.updateRecordView();
+        }
+        this.dispatchEvent(new CloseActionScreenEvent());
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexAppSubmitButton/lexAppSubmitButton.js-meta.xml b/force-app/main/default/lwc/lexAppSubmitButton/lexAppSubmitButton.js-meta.xml
new file mode 100644
index 0000000..2b7649d
--- /dev/null
+++ b/force-app/main/default/lwc/lexAppSubmitButton/lexAppSubmitButton.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+	<apiVersion>54.0</apiVersion>
+	<isExposed>true</isExposed>
+	<targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexArriveGoodsMain/lexArriveGoodsMain.html b/force-app/main/default/lwc/lexArriveGoodsMain/lexArriveGoodsMain.html
new file mode 100644
index 0000000..e52af40
--- /dev/null
+++ b/force-app/main/default/lwc/lexArriveGoodsMain/lexArriveGoodsMain.html
@@ -0,0 +1,254 @@
+<template>
+    <template if:true={showSpinner}>
+        <lightning-spinner size="medium" variant="brand"></lightning-spinner>
+    </template>
+    <template if:true={showPage}>
+        <div style="border: 1px solid #D4D4D4;border-top: 3px solid #51606E;border-radius:5px;">
+            <div style="padding:10px;">
+                <!-- 鎸夐挳 -->
+                <lightning-button style="margin: 5px;" label="鍏ュ簱" onclick={orderArrive}></lightning-button>
+                <lightning-button style="margin: 5px;" label="杩斿搧" onclick={orderReturn}></lightning-button>
+                <p style="height: 10px;"></p>
+                <!-- 妫�绱㈡潯浠� -->
+                <div style="border: 1px solid #D4D4D4;border-top: 3px solid #51606E;border-radius:5px;margin-bottom:7px;">
+                    <div style="border-bottom: 1px solid #D4D4D4;padding:3px;">
+                        <p style="font-size: 16px;"><strong>妫�绱㈡潯浠�</strong></p>
+                    </div>
+                    <div style="padding:10px;">
+                        <table>
+                            <tbody>
+                                <tr>
+                                    <td style="width: 10px;"></td>
+                                    <td style="width: 94px;">
+                                        <div style="color:#696969;font-size:12px;text-align: left;">娑堣�楀搧璁㈠崟鍚嶇О</div>
+                                    </td>
+                                    <td>
+                                        <lightning-input type="text" variant="label-hidden" label="娑堣�楀搧璁㈠崟鍚嶇О" value={category1} onchange={category1Change}></lightning-input>
+                                    </td>
+                                    <td style="width: 30px;"></td>
+                                    <td  style="width: 82px;">
+                                        <div style="color:#696969;font-size:12px;text-align: left;">鏈�鏂板彂璐ф棩鏈�</div>
+                                    </td>
+                                    <td>
+                                        <lightning-input type="date" variant="label-hidden" label="鏈�鏂板彂璐ф棩鏈�" value={cate2} onchange={cate2Change}></lightning-input>
+                                    </td>
+                                    <td>
+                                        <lightning-button style="margin-left: 10px;margin-right: 5px;" label="鎼滅储" onclick={search}></lightning-button>
+                                        <lightning-button style="margin-left: 5px;margin-right: 5px;" label="娓呯┖" onclick={clear}></lightning-button>
+                                    </td>
+                                </tr>
+                            </tbody>
+                        </table>
+                    </div>
+                </div>
+                <!-- 璁㈠崟鏄庣粏 -->
+                <div style="border: 1px solid #D4D4D4;border-top: 3px solid #51606E;border-radius:5px;margin-bottom:7px;">
+                    <div style="border-bottom: 1px solid #D4D4D4;padding:3px;">
+                        <p style="font-size: 16px;"><strong>璁㈠崟鏄庣粏</strong></p>
+                    </div>
+                    <div style="padding:10px;">
+                        <table aria-multiselectable="true" class="slds-table slds-table_bordered slds-table_fixed-layout slds-table_resizable-cols" role="grid" aria-label="Example advanced table of Opportunities in actionable mode">
+                            <thead>
+                                <tr class="slds-line-height_reset">
+                                    <th aria-label="Name" aria-sort="none" class="slds-is-resizable slds-is-sortable slds-cell_action-mode" scope="col">
+                                        <a class="slds-th__action slds-text-link_reset" role="button" tabindex="0">
+                                            <span class="slds-assistive-text">Sort by: </span>
+                                            <div class="slds-grid slds-grid_vertical-align-center slds-has-flexi-truncate">
+                                                <span class="slds-truncate" title="Name">娑堣�楀搧璁㈠崟鍚嶇О</span>
+                                                <span class="slds-icon_container slds-icon-utility-arrowdown">
+                                                <svg class="slds-icon slds-icon-text-default slds-is-sortable__icon " aria-hidden="true">
+                                                    <use xlink:href="/assets/icons/utility-sprite/svg/symbols.svg#arrowdown"></use>
+                                                </svg>
+                                                </span>
+                                            </div>
+                                        </a>
+                                        <div class="slds-resizable">
+                                            <span class="slds-resizable__handle">
+                                                <span class="slds-resizable__divider"></span>
+                                            </span>
+                                        </div>
+                                    </th>
+                                    <th aria-label="Name" aria-sort="none" class="slds-is-resizable slds-is-sortable slds-cell_action-mode" scope="col">
+                                        <a class="slds-th__action slds-text-link_reset" role="button" tabindex="0">
+                                            <span class="slds-assistive-text">Sort by: </span>
+                                            <div class="slds-grid slds-grid_vertical-align-center slds-has-flexi-truncate">
+                                                <span class="slds-truncate" title="Name">SAP鍚堝悓鍙�</span>
+                                                <span class="slds-icon_container slds-icon-utility-arrowdown">
+                                                <svg class="slds-icon slds-icon-text-default slds-is-sortable__icon " aria-hidden="true">
+                                                    <use xlink:href="/assets/icons/utility-sprite/svg/symbols.svg#arrowdown"></use>
+                                                </svg>
+                                                </span>
+                                            </div>
+                                        </a>
+                                        <div class="slds-resizable">
+                                            <span class="slds-resizable__handle">
+                                                <span class="slds-resizable__divider"></span>
+                                            </span>
+                                        </div>
+                                    </th>
+                                    <th aria-label="Name" aria-sort="none" class="slds-is-resizable slds-is-sortable slds-cell_action-mode" scope="col">
+                                        <a class="slds-th__action slds-text-link_reset" role="button" tabindex="0">
+                                            <span class="slds-assistive-text">Sort by: </span>
+                                            <div class="slds-grid slds-grid_vertical-align-center slds-has-flexi-truncate">
+                                                <span class="slds-truncate" title="Name">璁㈠崟鎬绘暟</span>
+                                                <span class="slds-icon_container slds-icon-utility-arrowdown">
+                                                <svg class="slds-icon slds-icon-text-default slds-is-sortable__icon " aria-hidden="true">
+                                                    <use xlink:href="/assets/icons/utility-sprite/svg/symbols.svg#arrowdown"></use>
+                                                </svg>
+                                                </span>
+                                            </div>
+                                        </a>
+                                        <div class="slds-resizable">
+                                            <span class="slds-resizable__handle">
+                                                <span class="slds-resizable__divider"></span>
+                                            </span>
+                                        </div>
+                                    </th>
+                                    <th aria-label="Name" aria-sort="none" class="slds-is-resizable slds-is-sortable slds-cell_action-mode" scope="col">
+                                        <a class="slds-th__action slds-text-link_reset" role="button" tabindex="0">
+                                            <span class="slds-assistive-text">Sort by: </span>
+                                            <div class="slds-grid slds-grid_vertical-align-center slds-has-flexi-truncate">
+                                                <span class="slds-truncate" title="Name">宸插埌璐ф暟閲�</span>
+                                                <span class="slds-icon_container slds-icon-utility-arrowdown">
+                                                <svg class="slds-icon slds-icon-text-default slds-is-sortable__icon " aria-hidden="true">
+                                                    <use xlink:href="/assets/icons/utility-sprite/svg/symbols.svg#arrowdown"></use>
+                                                </svg>
+                                                </span>
+                                            </div>
+                                        </a>
+                                        <div class="slds-resizable">
+                                            <span class="slds-resizable__handle">
+                                                <span class="slds-resizable__divider"></span>
+                                            </span>
+                                        </div>
+                                    </th>
+                                    <th aria-label="Name" aria-sort="none" class="slds-is-resizable slds-is-sortable slds-cell_action-mode" scope="col">
+                                        <a class="slds-th__action slds-text-link_reset" role="button" tabindex="0">
+                                            <span class="slds-assistive-text">Sort by: </span>
+                                            <div class="slds-grid slds-grid_vertical-align-center slds-has-flexi-truncate">
+                                                <span class="slds-truncate" title="Name">寰呯郴缁熸搷浣滃叆搴撴暟閲�</span>
+                                                <span class="slds-icon_container slds-icon-utility-arrowdown">
+                                                <svg class="slds-icon slds-icon-text-default slds-is-sortable__icon " aria-hidden="true">
+                                                    <use xlink:href="/assets/icons/utility-sprite/svg/symbols.svg#arrowdown"></use>
+                                                </svg>
+                                                </span>
+                                            </div>
+                                        </a>
+                                        <div class="slds-resizable">
+                                            <span class="slds-resizable__handle">
+                                                <span class="slds-resizable__divider"></span>
+                                            </span>
+                                        </div>
+                                    </th>
+                                    <th aria-label="Name" aria-sort="none" class="slds-is-resizable slds-is-sortable slds-cell_action-mode" scope="col">
+                                        <a class="slds-th__action slds-text-link_reset" role="button" tabindex="0">
+                                            <span class="slds-assistive-text">Sort by: </span>
+                                            <div class="slds-grid slds-grid_vertical-align-center slds-has-flexi-truncate">
+                                                <span class="slds-truncate" title="Name">杩樻病鍙戣揣鏁伴噺</span>
+                                                <span class="slds-icon_container slds-icon-utility-arrowdown">
+                                                <svg class="slds-icon slds-icon-text-default slds-is-sortable__icon " aria-hidden="true">
+                                                    <use xlink:href="/assets/icons/utility-sprite/svg/symbols.svg#arrowdown"></use>
+                                                </svg>
+                                                </span>
+                                            </div>
+                                        </a>
+                                        <div class="slds-resizable">
+                                            <span class="slds-resizable__handle">
+                                                <span class="slds-resizable__divider"></span>
+                                            </span>
+                                        </div>
+                                    </th>
+                                    <th aria-label="Name" aria-sort="none" class="slds-is-resizable slds-is-sortable slds-cell_action-mode" scope="col">
+                                        <a class="slds-th__action slds-text-link_reset" role="button" tabindex="0">
+                                            <span class="slds-assistive-text">Sort by: </span>
+                                            <div class="slds-grid slds-grid_vertical-align-center slds-has-flexi-truncate">
+                                                <span class="slds-truncate" title="Name">鍙戣揣涓冨ぉ杩樻湭鍒拌揣鏁�</span>
+                                                <span class="slds-icon_container slds-icon-utility-arrowdown">
+                                                <svg class="slds-icon slds-icon-text-default slds-is-sortable__icon " aria-hidden="true">
+                                                    <use xlink:href="/assets/icons/utility-sprite/svg/symbols.svg#arrowdown"></use>
+                                                </svg>
+                                                </span>
+                                            </div>
+                                        </a>
+                                        <div class="slds-resizable">
+                                            <span class="slds-resizable__handle">
+                                                <span class="slds-resizable__divider"></span>
+                                            </span>
+                                        </div>
+                                    </th>
+                                    <th aria-label="Name" aria-sort="none" class="slds-is-resizable slds-is-sortable slds-cell_action-mode" scope="col">
+                                        <a class="slds-th__action slds-text-link_reset" role="button" tabindex="0">
+                                            <span class="slds-assistive-text">Sort by: </span>
+                                            <div class="slds-grid slds-grid_vertical-align-center slds-has-flexi-truncate">
+                                                <span class="slds-truncate" title="Name">鏈�鏂板彂璐ф棩鏈�</span>
+                                                <span class="slds-icon_container slds-icon-utility-arrowdown">
+                                                <svg class="slds-icon slds-icon-text-default slds-is-sortable__icon " aria-hidden="true">
+                                                    <use xlink:href="/assets/icons/utility-sprite/svg/symbols.svg#arrowdown"></use>
+                                                </svg>
+                                                </span>
+                                            </div>
+                                        </a>
+                                        <div class="slds-resizable">
+                                            <span class="slds-resizable__handle">
+                                                <span class="slds-resizable__divider"></span>
+                                            </span>
+                                        </div>
+                                    </th>
+                                    <th aria-label="Name" aria-sort="none" class="slds-is-resizable slds-is-sortable slds-cell_action-mode" scope="col">
+                                        <a class="slds-th__action slds-text-link_reset" role="button" tabindex="0">
+                                            <span class="slds-assistive-text">Sort by: </span>
+                                            <div class="slds-grid slds-grid_vertical-align-center slds-has-flexi-truncate">
+                                                <span class="slds-truncate" title="Name">棣栨鍙戣揣鏃ユ湡</span>
+                                                <span class="slds-icon_container slds-icon-utility-arrowdown">
+                                                <svg class="slds-icon slds-icon-text-default slds-is-sortable__icon " aria-hidden="true">
+                                                    <use xlink:href="/assets/icons/utility-sprite/svg/symbols.svg#arrowdown"></use>
+                                                </svg>
+                                                </span>
+                                            </div>
+                                        </a>
+                                        <div class="slds-resizable">
+                                            <span class="slds-resizable__handle">
+                                                <span class="slds-resizable__divider"></span>
+                                            </span>
+                                        </div>
+                                    </th>
+                                </tr>
+                            </thead>
+                            <tbody>
+                                <tr aria-selected="false" class="slds-hint-parent">
+                                    <td class="slds-cell_action-mode" role="gridcell">
+                                        <div class="slds-truncate" title="Acme">璁㈠崟鏄庣粏姹囨��</div>
+                                    </td>
+                                    <td class="slds-cell_action-mode" role="gridcell">
+                                        <div class="slds-truncate" title="Acme"></div>
+                                    </td>
+                                    <td class="slds-cell_action-mode" role="gridcell">
+                                        <div class="slds-truncate" title="Acme">{totalNum}</div>
+                                    </td>
+                                    <td class="slds-cell_action-mode" role="gridcell">
+                                        <div class="slds-truncate" title="Acme">{orderNumberArrived}</div>
+                                    </td>
+                                    <td class="slds-cell_action-mode" role="gridcell">
+                                        <div class="slds-truncate" title="Acme">{deliveryDetailCount}</div>
+                                    </td>
+                                    <td class="slds-cell_action-mode" role="gridcell">
+                                        <div class="slds-truncate" title="Acme">{orderNumberNotarrive}</div>
+                                    </td>
+                                    <td class="slds-cell_action-mode" role="gridcell">
+                                        <div class="slds-truncate" title="Acme">{moreThanSevenDays}</div>
+                                    </td>
+                                    <td class="slds-cell_action-mode" role="gridcell">
+                                        <div class="slds-truncate" title="Acme"></div>
+                                    </td>
+                                    <td class="slds-cell_action-mode" role="gridcell">
+                                        <div class="slds-truncate" title="Acme"></div>
+                                    </td>
+                                </tr>
+                            </tbody>
+                        </table>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </template>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexArriveGoodsMain/lexArriveGoodsMain.js b/force-app/main/default/lwc/lexArriveGoodsMain/lexArriveGoodsMain.js
new file mode 100644
index 0000000..24eeb88
--- /dev/null
+++ b/force-app/main/default/lwc/lexArriveGoodsMain/lexArriveGoodsMain.js
@@ -0,0 +1,98 @@
+import { LightningElement,wire,api,track } from 'lwc';
+import { CurrentPageReference } from 'lightning/navigation';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+import { NavigationMixin } from 'lightning/navigation';
+import init from '@salesforce/apex/LexArriveGoodsMainController.init';
+import searchConsumableorderdetails from '@salesforce/apex/LexArriveGoodsMainController.searchConsumableorderdetails';
+
+export default class LexArriveGoodsMain extends NavigationMixin(LightningElement) {
+    //椤甸潰鍩虹鍙橀噺
+    @track agencyProType;
+    @track category1;
+    @track cate2;
+    // @track eSetId;
+    @track accountId;
+    @track title = [];
+    @track raesList = [];
+    @track userWorkLocation;
+    @track totalNum;
+    @track orderNumberArrived;
+    @track deliveryDetailCount;
+    @track orderNumberNotarrive;
+    @track moreThanSevenDays;
+    @track showSpinner = true;
+    @track showPage = true;
+
+    //鑾峰彇鍙傛暟
+    // @wire(CurrentPageReference)
+    // getStateParameters(currentPageReference) {
+    //     console.log('CurrentPageReference');
+    //     if (currentPageReference) {
+    //         this.eSetId = currentPageReference.state?.ESetid;
+    //     }
+    // }
+   
+    //鍒濆鍖�
+    connectedCallback(){
+        init()
+            .then(result=>{
+                if(result.result == 'Success'){
+                    this.agencyProType = result.agencyProType;
+                    this.accountId = result.accountId;
+                    this.title = result.title;
+                    this.raesList = result.raesList;
+                    this.userWorkLocation = result.userWorkLocation;
+                    this.totalNum = result.totalNum;
+                    this.orderNumberArrived = result.orderNumberArrived;
+                    this.deliveryDetailCount = result.deliveryDetailCount;
+                    this.orderNumberNotarrive = result.orderNumberNotarrive;
+                    this.moreThanSevenDays = result.moreThanSevenDays;
+                    this.showSpinner = false;
+                    this.showPage = true;
+                }else{
+                    this.showSpinner = false;
+                    console.log("Error:"+result.errorMsg);
+                    this.showMyToast('鍒濆鍖栭〉闈㈠け璐�',result.errorMsg,'error');
+                }
+            })
+    }
+
+    //娑堣�楀搧璁㈠崟鍚嶇О鍙樻洿
+    category1Change(event){
+        this.category1 = event.detail.value;
+    }
+    
+    //鏈�鏂板彂璐ф棩鏈熷彉鏇�
+    cate2Change(event){
+        this.cate2 = event.detail.value;
+    }
+    
+    //妫�绱�
+    search(){
+        
+    }
+    
+    //娓呯┖鎼滅储妗�
+    clear(){
+        
+    }
+
+    //鍏ュ簱
+    orderArrive(){
+    
+    }
+    
+    //杩斿搧
+    orderReturn(){
+        
+    }
+
+    showMyToast(title,message,variant){
+        const evt = new ShowToastEvent({
+           title : title,
+           message: message,
+           variant: variant
+        });
+        this.dispatchEvent(evt);
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexArriveGoodsMain/lexArriveGoodsMain.js-meta.xml b/force-app/main/default/lwc/lexArriveGoodsMain/lexArriveGoodsMain.js-meta.xml
new file mode 100644
index 0000000..d893635
--- /dev/null
+++ b/force-app/main/default/lwc/lexArriveGoodsMain/lexArriveGoodsMain.js-meta.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>56.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightningCommunity__Page</target>
+        <target>lightningCommunity__Default</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexAssetMaintainDetail/lexAssetMaintainDetail.css b/force-app/main/default/lwc/lexAssetMaintainDetail/lexAssetMaintainDetail.css
new file mode 100644
index 0000000..af18c76
--- /dev/null
+++ b/force-app/main/default/lwc/lexAssetMaintainDetail/lexAssetMaintainDetail.css
@@ -0,0 +1,11 @@
+.Holder{
+	position: relative;
+	display: inline-block;
+	width: 80px;
+	height: 80px;
+	text-align: center;
+}
+
+.container .uiContainerManager{
+	display : none !important;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexAssetMaintainDetail/lexAssetMaintainDetail.html b/force-app/main/default/lwc/lexAssetMaintainDetail/lexAssetMaintainDetail.html
new file mode 100644
index 0000000..2ef2898
--- /dev/null
+++ b/force-app/main/default/lwc/lexAssetMaintainDetail/lexAssetMaintainDetail.html
@@ -0,0 +1,5 @@
+<template>
+	<div class="Holder" if:true={IsLoading}>
+      	<lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+  	</div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexAssetMaintainDetail/lexAssetMaintainDetail.js b/force-app/main/default/lwc/lexAssetMaintainDetail/lexAssetMaintainDetail.js
new file mode 100644
index 0000000..3b0f923
--- /dev/null
+++ b/force-app/main/default/lwc/lexAssetMaintainDetail/lexAssetMaintainDetail.js
@@ -0,0 +1,38 @@
+import { LightningElement, track, wire, api } from 'lwc';
+import {CurrentPageReference} from 'lightning/navigation';
+import { CloseActionScreenEvent } from 'lightning/actions';
+
+export default class lexAssetMaintainDetail extends LightningElement {
+	@api recordId;
+  
+
+    @wire(CurrentPageReference)
+	getStateParameters(currentPageReference){
+		console.log("杩涘叆椤甸潰");
+		console.log(currentPageReference);
+		if(currentPageReference){
+			const urvalue=currentPageReference.state.recordId;
+			if(urvalue){
+				let str=`${urvalue}`;
+				console.log('str');
+				console.log(str);
+				this.recordId=str;
+			}
+		}
+	}
+
+	connectedCallback(){
+
+		this.cancelSubmit().then(res=>{
+			this.IsLoading=false;
+			this.dispatchEvent(new CloseActionScreenEvent());
+		});
+	}
+
+	async cancelSubmit(){
+		window.open('/apex/AssetMaintainDetail?id='+this.recordId,'AssetMaintainDetail', 'width=600,height=200');
+	}
+}
+
+// old js
+// window.open('/apex/AssetMaintainDetail?id={! AssetMaintainHeader__c.Id }');
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexAssetMaintainDetail/lexAssetMaintainDetail.js-meta.xml b/force-app/main/default/lwc/lexAssetMaintainDetail/lexAssetMaintainDetail.js-meta.xml
new file mode 100644
index 0000000..8d272e7
--- /dev/null
+++ b/force-app/main/default/lwc/lexAssetMaintainDetail/lexAssetMaintainDetail.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lexAssetMaintainDetail">
+    <apiVersion>51.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightning__AppPage</target>
+        <target>lightning__RecordPage</target>
+        <target>lightning__HomePage</target>
+        <target>lightning__RecordAction</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexAssetMaintainPage/lexAssetMaintainPage.html b/force-app/main/default/lwc/lexAssetMaintainPage/lexAssetMaintainPage.html
new file mode 100644
index 0000000..af9fa97
--- /dev/null
+++ b/force-app/main/default/lwc/lexAssetMaintainPage/lexAssetMaintainPage.html
@@ -0,0 +1,3 @@
+<template>
+
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexAssetMaintainPage/lexAssetMaintainPage.js b/force-app/main/default/lwc/lexAssetMaintainPage/lexAssetMaintainPage.js
new file mode 100644
index 0000000..75d71ca
--- /dev/null
+++ b/force-app/main/default/lwc/lexAssetMaintainPage/lexAssetMaintainPage.js
@@ -0,0 +1,35 @@
+import { LightningElement, track, wire, api } from 'lwc';
+import {CurrentPageReference} from 'lightning/navigation';
+import { CloseActionScreenEvent } from 'lightning/actions';
+
+export default class lexAssetMaintainPage extends LightningElement {
+	@api recordId;
+  
+
+    @wire(CurrentPageReference)
+	getStateParameters(currentPageReference){
+		console.log("杩涘叆椤甸潰");
+		console.log(currentPageReference);
+		if(currentPageReference){
+			const urvalue=currentPageReference.state.recordId;
+			if(urvalue){
+				let str=`${urvalue}`;
+				console.log('str');
+				console.log(str);
+				this.recordId=str;
+			}
+		}
+	}
+
+	connectedCallback(){
+
+		this.cancelSubmit().then(res=>{
+			this.IsLoading=false;
+			this.dispatchEvent(new CloseActionScreenEvent());
+		});
+	}
+
+	async cancelSubmit(){
+		window.open('/apex/AssetMaintain?id='+this.recordId,'lexAssetMaintainPage', 'width=600,height=200');
+	}
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexAssetMaintainPage/lexAssetMaintainPage.js-meta.xml b/force-app/main/default/lwc/lexAssetMaintainPage/lexAssetMaintainPage.js-meta.xml
new file mode 100644
index 0000000..2de4fcc
--- /dev/null
+++ b/force-app/main/default/lwc/lexAssetMaintainPage/lexAssetMaintainPage.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lexAssetMaintainPage">
+    <apiVersion>51.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightning__AppPage</target>
+        <target>lightning__RecordPage</target>
+        <target>lightning__HomePage</target>
+        <target>lightning__RecordAction</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexBatchSelectRepairLWC/lexBatchSelectRepairLWC.css b/force-app/main/default/lwc/lexBatchSelectRepairLWC/lexBatchSelectRepairLWC.css
new file mode 100644
index 0000000..fa4ac70
--- /dev/null
+++ b/force-app/main/default/lwc/lexBatchSelectRepairLWC/lexBatchSelectRepairLWC.css
@@ -0,0 +1,9 @@
+.Narrow{
+	padding: 20px;
+}
+.searchField,.searchField .input-text{
+	/*display: flex;*/
+}
+.searchField .slds-combobox_container{
+    width: 160px !important;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexBatchSelectRepairLWC/lexBatchSelectRepairLWC.html b/force-app/main/default/lwc/lexBatchSelectRepairLWC/lexBatchSelectRepairLWC.html
new file mode 100644
index 0000000..07ec8af
--- /dev/null
+++ b/force-app/main/default/lwc/lexBatchSelectRepairLWC/lexBatchSelectRepairLWC.html
@@ -0,0 +1,107 @@
+<template>
+ <!--  <div class="slds-box slds-theme--default">
+        Click on the link Below to Export data as csv/xls.
+        <p class="slds-m-top--large">
+            <a onclick={exportContactData}>Export Contact Data</a>
+            <lightning-button variant="brand" label="Export Contact data" title="Export Contact Data" onclick={exportContactData}></lightning-button>
+        </p>
+    </div> -->
+  <lightning-card  variant="Narrow">
+    <div style="padding: 0 20px">    
+      <div>
+          <div style="padding: 10px 3px;border-bottom: 1px solid;font: 16px;font-size: blod;">妫�绱㈠垪</div>
+          <div style="margin-top: 5px">
+             <lightning-layout>
+              <!-- cancelPaddingLeft -->
+                  <lightning-layout-item flexibility="auto" padding="around-small">
+                      <lightning-combobox name="progress" label="鐘舵��1" value={searchObj.Status1} options={status1Options} 
+                          onchange={handleStatus1Change} class="searchField"></lightning-combobox>
+                  </lightning-layout-item>
+                  <lightning-layout-item flexibility="auto" padding="around-small">
+                      <lightning-combobox
+                      name="progress" label="鐘舵��2" value={searchObj.Status2} options={status2Options} onchange={handleStatus2Change} 
+                      class="searchField"></lightning-combobox>
+                  </lightning-layout-item> 
+                  <lightning-layout-item flexibility="auto" padding="around-small">
+                      <lightning-combobox
+                      name="progress" label="鏈嶅姟鏂瑰紡" value={searchObj.onSiteRepair} options={siteRepairItems} onchange={handleSiteChange}
+                      class="searchField"></lightning-combobox>
+                  </lightning-layout-item> 
+              </lightning-layout>
+              <lightning-layout>
+                  <lightning-layout-item size="4" padding="horizontal-small">
+                    <lightning-input value={searchObj.RepairName} type="text" label="RS淇悊鍗曞彿" class="searchField" onchange={handleRepairNameChange}></lightning-input>
+                  </lightning-layout-item>
+                  <lightning-layout-item size="4" padding="horizontal-small">
+                    <lightning-input value={searchObj.SAPRepairNo} type="text" label="SAP淇悊鍗曞彿" class="searchField" onchange={handleSAPRepairNoChange}></lightning-input>
+                  </lightning-layout-item>
+                  <lightning-layout-item size="4" padding="horizontal-small">
+                    <lightning-input value={searchObj.workLocationSelect} type="text" label="缁翠慨涓績" class="searchField" onchange={handleWorkLocationChange}></lightning-input>
+                  </lightning-layout-item>
+              </lightning-layout>
+              <lightning-layout>
+                  <lightning-layout-item size="4" padding="horizontal-small">
+                    <lightning-input value={searchObj.SerialNumber} type="text" label="鏈鸿韩缂栫爜" class="searchField" onchange={handleSerialNumberChange}></lightning-input>
+                  </lightning-layout-item>
+                  <lightning-layout-item size="4" padding="horizontal-small">
+                    <lightning-input value={searchObj.State_Hospital} type="text" label="鐪佷唤" class="searchField" onchange={handleStateHospitalChange}></lightning-input>
+                  </lightning-layout-item>
+                  <lightning-layout-item size="4" padding="horizontal-small">
+                    <lightning-input value={searchObj.HospitalName} type="text" label="鍖婚櫌鍚嶇О" class="searchField" onchange={handleHospitalChange}></lightning-input>
+                  </lightning-layout-item>
+              </lightning-layout>
+              <lightning-layout>
+                  <lightning-layout-item size="2" padding="horizontal-small">
+                    <lightning-input type="date" label="FSE鐢宠鏃�(寮�濮�)" value={repair.Aware_date__c} onchange={handleAwareDateDStart}></lightning-input>
+                  </lightning-layout-item>
+                  <!-- cancelPaddingLeft -->
+                  <lightning-layout-item size="2" padding="horizontal-small">
+                    <!-- variant="label-hidden" -->
+                    <lightning-input type="date" label="FSE鐢宠鏃�(缁撴潫)" value={repair.Aware_date2__c} onchange={handleAwareDateDEnd}></lightning-input>
+                  </lightning-layout-item>
+                  <lightning-layout-item size="4" padding="horizontal-small">
+                    <!-- record-id={recordId} 淇悊濮旀墭鑰�  Incharge_Staff__c-->
+                    <!-- <lightning-record-edit-form
+                        object-api-name={objectApiName}
+                        record-id=''
+                    >
+                        <lightning-input-field field-name={nameField} onclick={handleInchargeStaffChange}> </lightning-input-field>
+                    </lightning-record-edit-form> -->
+                    <lightning-record-edit-form
+                        object-api-name='Repair__c'
+                        record-id=''
+                    >
+                        <lightning-input-field field-name='Incharge_Staff__c' onclick={handleInchargeStaffChange}> </lightning-input-field>
+                    </lightning-record-edit-form>
+                  </lightning-layout-item>
+              </lightning-layout>
+              <lightning-layout>
+                  <lightning-layout-item flexibility="auto" padding="around-small">
+                    <lightning-button label="妫�绱�" onclick={searchRepair}></lightning-button>
+                  </lightning-layout-item>
+              </lightning-layout>
+          </div>
+      </div>
+      <div>
+          <div style="padding: 10px 5px;border-bottom: 1px solid">璇︾粏淇℃伅</div>
+          <div style="padding: 10px 0;">
+            <lightning-button label="鎵撳嵃PDF" onclick={skipPage}></lightning-button>
+            
+            <lightning-button label="瀵煎嚭Excel" onclick={exportContactData}></lightning-button>
+            <!-- <lightning-button label="瀵煎嚭Excel" onclick={downloadCSVFile}></lightning-button> -->
+          </div>
+          <div>
+            <lightning-datatable
+              key-field="id"
+              data={data}
+              columns={columns}
+              onrowselection={getSelectedRows}
+              onrowaction={handleRowAction}>
+
+            </lightning-datatable>
+          </div>
+      </div>
+    </div>
+  </lightning-card>
+
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexBatchSelectRepairLWC/lexBatchSelectRepairLWC.js b/force-app/main/default/lwc/lexBatchSelectRepairLWC/lexBatchSelectRepairLWC.js
new file mode 100644
index 0000000..d1a1131
--- /dev/null
+++ b/force-app/main/default/lwc/lexBatchSelectRepairLWC/lexBatchSelectRepairLWC.js
@@ -0,0 +1,576 @@
+import { LightningElement,wire,track,api} from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import { NavigationMixin } from 'lightning/navigation';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+
+import NAME_FIELD from '@salesforce/schema/Repair__c.Incharge_Staff__c';
+import MY_CUSTOM_OBJECT from '@salesforce/schema/Repair__c';
+
+import search from '@salesforce/apex/lexBatchSelectRepairLWCController.search';
+import showPDF from '@salesforce/apex/lexBatchSelectRepairLWCController.showPDF';
+
+/*
+const actions = [
+    { label: 'Show details', name: 'show_details' },
+    { label: 'Delete', name: 'delete' },
+    ];*/
+
+const columns = [
+        { label: '鐘舵��1', fieldName: 'Status1__c'},
+        { label: '鐘舵��2', fieldName: 'Status2__c' },
+        { label: 'RS淇悊鍗曞彿', fieldName: 'Name' },
+        { label: 'SAP淇悊鍗曞彿', fieldName: 'SAP_Service_Repair_No__c' },
+        // { label: '鍨嬪彿', fieldName: 'deliveredProductName' },
+        { label: '鍨嬪彿', fieldName: 'deliveredProductUrl',type:'url',
+            typeAttributes:{
+                label:{
+                    fieldName:'deliveredProductName'
+                },
+                target:'_balank'
+            }
+        },
+        { label: '鏈鸿韩缂栧彿', fieldName: 'SerialNumber__c' },
+        { label: '鍖婚櫌鍚嶇О', fieldName: 'HP_Name__c' },
+        { label: '鐪佷唤', fieldName: 'State_Hospital__c' },
+        // { label: '淇悊濮旀墭鑰�', fieldName: 'Incharge_Staff_Name' },
+        { label: '淇悊濮旀墭鑰�', fieldName: 'inchargeStaffUrl',type:'url',
+            typeAttributes:{
+                label:{
+                    fieldName:'inchargeStaffName'
+                },
+                target:'_balank'
+            }
+        },
+        { label: 'FSE鐢宠鏃ユ湡', fieldName: 'FSE_ApplyForRepair_Day__c' },
+        { label: '缁翠慨涓績', fieldName: 'work_location_select__c' },
+        { label: '鏈嶅姟鏂瑰紡', fieldName: 'On_site_repair__c' },
+        { label: '鏈夋棤缁翠慨鍚堝悓瀵硅薄', fieldName: 'Number_of_EffectiveContract__c' },
+        { label: '鏃犲伩鍖哄埆鏍囧織', fieldName: 'NewProductGuaranteeObject__c' }
+   /* {
+    type: 'action',
+    typeAttributes: { rowActions: actions },
+    },*/
+    ];
+
+export default class lexBatchSelectRepairLWC extends LightningElement {
+    // Expose a field to make it available in the template
+    nameField = NAME_FIELD;
+
+    // Flexipage provides recordId and objectApiName
+    @api recordId;
+    @api objectApiName;
+
+    data = [];
+    columns = columns;
+
+    //鐘舵��1
+    status1Options = [{ label: '--鏃�--', value: '' },
+                    { label: '0.鐢宠瀹屾瘯', value: '0.鐢宠瀹屾瘯' },
+                    { label: '2.缁翠慨鎶ヤ环闃舵', value: '2.缁翠慨鎶ヤ环闃舵' },
+                    { label: '3.缁翠慨闃舵', value: '3.缁翠慨闃舵' },
+                    { label: '4.淇悊鍝佽繑閫侀樁娈�', value: '4.淇悊鍝佽繑閫侀樁娈�' },
+                    { label: '5.瀹屾瘯', value: '5.瀹屾瘯' },
+                    { label: '0.鍒犻櫎', value: '0.鍒犻櫎' },
+                    { label: '0.鍙栨秷', value: '0.鍙栨秷' }];
+    //鐘舵��2
+    status2Options = [{label:'00.鐢宠瀹屾瘯', value:'00.鐢宠瀹屾瘯'},
+                    {label:'01.鍒嗗叕鍙稿彈鐞嗗畬姣�', value:'01.鍒嗗叕鍙稿彈鐞嗗畬姣�'},
+                    {label:'02.RC鍙楃悊瀹屾瘯', value:'02.RC鍙楃悊瀹屾瘯'},
+                    {label:'03.鎶ヤ环妫�鏌ョ粨鏉�', value:'03.鎶ヤ环妫�鏌ョ粨鏉�'},
+                    {label:'04.鎶ヤ环璺熻繘涓�', value:'04.鎶ヤ环璺熻繘涓�'},
+                    {label:'05.鎶ヤ环鍚屾剰瀹屽', value:'05.鎶ヤ环鍚屾剰瀹屽'},
+                    {label:'06.闆朵欢榻愬', value:'06.闆朵欢榻愬'},
+                    {label:'07.淇悊闁嬪', value:'07.淇悊闁嬪'},
+                    {label:'08.淇悊棰勮瀹屾垚', value:'08.淇悊棰勮瀹屾垚'},
+                    {label:'09.淇悊瀹屾垚', value:'09.淇悊瀹屾垚'},
+                    {label:'10.鏈�缁堟鏌ュ畬鎴�', value:'10.鏈�缁堟鏌ュ畬鎴�'},
+                    {label:'11.RC淇悊鍝佸凡杩旈��', value:'11.RC淇悊鍝佸凡杩旈��'},
+                    {label:'12.鍙戠エ宸插彂閫�', value:'12.鍙戠エ宸插彂閫�'},
+                    {label:'13.宸茶繑閫佸埌鐢ㄦ埛', value:'13.宸茶繑閫佸埌鐢ㄦ埛'},
+                    {label:'14.鏀跺埌楠屾敹鍗�', value:'14.鏀跺埌楠屾敹鍗�'},
+                    {label:'15.楠屾敹鍗曠鏀跺鏍搁�氳繃', value:'15.楠屾敹鍗曠鏀跺鏍搁�氳繃'},
+                    {label:'16.閮ㄥ垎浠樻', value:'16.閮ㄥ垎浠樻'},
+                    {label:'16.瀹屾瘯', value:'16.瀹屾瘯'},
+                    {label:'17.浠樻瀹屾瘯', value:'17.浠樻瀹屾瘯'},
+                    {label:'00.鍙栨秷', value:'00.鍙栨秷'},
+                    {label:'00.鍒犻櫎', value:'00.鍒犻櫎'},
+                    {label:'00.鍏抽棴', value:'00.鍏抽棴'}];
+    //鏈嶅姟鏂瑰紡
+    siteRepairItems = [{label:'--鏃�--',value:''},
+        {label:'RC淇悊',value:'RC淇悊'},
+        {label:'鐩撮�丼ORC淇悊',value:'鐩撮�丼ORC淇悊'},
+        {label:'鐩撮�丱GZ淇悊',value:'鐩撮�丱GZ淇悊'},
+        {label:'鍔炰簨澶勪慨鐞�',value:'鍔炰簨澶勪慨鐞�'},
+        {label:'鐜板満淇悊',value:'鐜板満淇悊'}];
+
+    searchObj = {};
+    repair = {};
+    selectedRepairs;
+
+    /* @wire(CurrentPageReference)
+     getStateParameters(currentPageReference) {
+             console.log(111);
+             console.log(currentPageReference);
+
+         if (currentPageReference) {
+           const urlValue = currentPageReference.state.recordId;
+           if (urlValue) {
+             let str = `${urlValue}`;
+             console.log("str");
+             console.log(str);
+             this.recordId = str;
+           }
+         }
+     }*/
+
+    connectedCallback(){ 
+        // console.log(this.recordId);   
+    }
+    //鐘舵��1
+    handleStatus1Change(event){
+        /*console.log(event);
+        console.log(event.detail);*/
+        this.searchObj.Status1 = event.detail.value;
+        // console.log(JSON.stringify(this.searchObj));
+    }
+    //鐘舵��2
+    handleStatus2Change(event){
+        this.searchObj.Status2 = event.detail.value;
+        // console.log(this.searchObj);
+    }
+    //鏈嶅姟鏂瑰紡
+    handleSiteChange(event){
+        this.searchObj.onSiteRepair = event.detail.value;
+        // console.log(this.searchObj);
+    }
+    //RS淇悊鍗曞彿 RepairName
+    handleRepairNameChange(event){
+        this.searchObj.RepairName = event.detail.value;
+        // console.log(this.searchObj);
+    }
+    //SAP淇悊鍗曞彿 SAPRepairNo
+    handleSAPRepairNoChange(event){
+        this.searchObj.SAPRepairNo = event.detail.value;
+        // console.log(this.searchObj);
+    }
+    //缁翠慨涓績 workLocationSelect
+    handleWorkLocationChange(event){
+        this.searchObj.workLocationSelect = event.detail.value;
+    }
+    //鏈鸿韩缂栫爜 SerialNumber
+    handleSerialNumberChange(event){
+        this.searchObj.SerialNumber = event.detail.value;
+    }
+    // 鐪佷唤  State_Hospital
+    handleStateHospitalChange(event){
+        this.searchObj.State_Hospital = event.detail.value;
+    }
+    //鍖婚櫌鍚嶇О  HospitalName
+    handleHospitalChange(event){
+        this.searchObj.HospitalName = event.detail.value;
+    }
+    //FSE鐢宠鏃� repair.Aware_date__c
+    handleAwareDateDStart(event){
+        this.repair.Aware_date__c = event.detail.value;
+        console.log(this.repair.Aware_date__c);
+    }
+    // repair.Aware_date2__c
+    handleAwareDateDEnd(event){
+        this.repair.Aware_date2__c = event.detail.value;
+        // console.log(this.repair.Aware_date2__c);
+    }
+    // 淇悊濮旀墭鑰� repair.Incharge_Staff__c
+    handleInchargeStaffChange(event){
+        this.repair.Incharge_Staff__c = event.detail.value;
+        // console.log(this.repair.Aware_date2__c);
+    }
+
+   //妫�绱�
+    searchRepair(event) {
+        console.log(this.repair.Aware_date__c);
+        if (JSON.stringify(this.repair) != "{}") {
+            console.log('this.repair');
+            this.searchObj.repair = this.repair;
+            // fse 鏃堕棿鏉′欢
+            /*if (!(this.repair.Aware_date__c != null && this.repair.Aware_date2__c != null) || this.repair.Aware_date__c > this.repair.Aware_date2__c) {
+                const event = new ShowToastEvent({
+                             title: 'error',
+                             message: 'FSE鐢宠鏃ヨ緭鍏ユ湁璇�',
+                             variant:'error',
+                            });
+                this.dispatchEvent(event);
+                return;
+            }*/
+        }
+        let jsonStr = JSON.stringify(this.searchObj);
+        if (jsonStr === "{}") {     
+            const event = new ShowToastEvent({
+                             title: 'error',
+                             message: '璇疯嚦灏戞坊鍔犱竴涓绱㈡潯浠�!',
+                             variant:'error',
+                            });
+            this.dispatchEvent(event);
+        }else{
+            console.log(jsonStr);
+            search({
+                json: jsonStr
+            }).then(result => {
+                console.log(result.repairData);
+                console.log('length:'+result.repairData.length);
+                if (result.repairData.length == 0 || result.repairData.length == 200) {
+                    const event = new ShowToastEvent({
+                             title: 'warning',
+                             message: result.status,
+                             variant:'warning',
+                            });
+                    this.dispatchEvent(event);
+                }
+                let returnArr = [];
+                result.repairData.forEach(function(v){ 
+                    let objRepair = v.repair;
+                    //娣诲姞淇悊濮旀墭鑰呭拰鍨嬪彿鍚嶇О
+                    objRepair.deliveredProductName = objRepair.Delivered_Product__r.Name;
+                    objRepair.deliveredProductUrl = "/"+objRepair.Delivered_Product__c;
+                    objRepair.inchargeStaffName = objRepair.Incharge_Staff__r.Name;
+                    objRepair.inchargeStaffUrl = "/"+objRepair.Incharge_Staff__c;
+                    // console.log(objRepair);
+                    returnArr.push(objRepair);
+                }); 
+                /*console.log('arr');
+                console.log(arr);
+                console.log(arr.length);*/
+                this.data = returnArr;
+                // console.log(this.data);
+            }).catch(error => {
+                console.log("error");
+                console.log(error);
+            }).finally(() => {
+                
+            });     
+        }
+        
+        
+    }
+    //瀵煎嚭涓篍xcel  鐢籺able
+    exportContactData(){
+        // Prepare a html table
+        let doc = '<table>';
+        // Add styles for the table
+        doc += '<style>';
+        doc += 'table, th, td {';
+        doc += '    border: 1px solid black;';
+        doc += '    border-collapse: collapse;';
+        doc += '}';          
+        doc += '</style>';
+        // Add all the Table Headers
+        doc += '<tr>';
+        this.columns.forEach(element => {            
+            doc += '<th>'+ element.label +'</th>'           
+        });
+        doc += '</tr>';
+        // Add the data rows
+        let fieldNameArr =[];
+        this.columns.forEach(function(v){ 
+            if (v['typeAttributes']) {
+                fieldNameArr.push(v['typeAttributes'].label.fieldName);
+            }else{
+                fieldNameArr.push(v.fieldName);
+            }
+        }); 
+        console.log(fieldNameArr);
+        fieldNameArr.forEach(v=>{
+            console.log(v);
+            // console.log(this.data[0].v);
+        })
+        this.data.forEach(record => {
+            doc += '<tr>';
+            if (record.Status1__c != null) {
+                doc += '<th>'+record.Status1__c+'</th>'; 
+            }else{
+                doc += '<th></th>'
+            }
+            if (record.Status2__c != null) {
+            doc += '<th>'+record.Status2__c+'</th>'; 
+            }else{
+                doc += '<th></th>'
+            }
+            if (record.Name != null) {
+            doc += '<th>'+record.Name+'</th>'; 
+            }else{
+                doc += '<th></th>'
+            }
+            if (record.SAP_Service_Repair_No__c != null) {
+            doc += '<th>'+record.SAP_Service_Repair_No__c+'</th>'; 
+            }else{
+                doc += '<th></th>'
+            }
+            if (record.deliveredProductName != null) {
+            doc += '<th>'+record.deliveredProductName+'</th>'; 
+            }else{
+                doc += '<th></th>'
+            }
+            if (record.SerialNumber__c != null) {
+            doc += '<th>'+record.SerialNumber__c+'</th>'; 
+            }else{
+                doc += '<th></th>'
+            }
+            if (record.HP_Name__c != null) {
+            doc += '<th>'+record.HP_Name__c+'</th>'; 
+            }else{
+                doc += '<th></th>'
+            }
+            if (record.State_Hospital__c != null) {
+            doc += '<th>'+record.State_Hospital__c+'</th>'; 
+            }else{
+                doc += '<th></th>'
+            }
+            if (record.inchargeStaffName != null) {
+            doc += '<th>'+record.inchargeStaffName+'</th>'; 
+            }else{
+                doc += '<th></th>'
+            }
+            if (record.FSE_ApplyForRepair_Day__c != null) {
+            doc += '<th>'+record.FSE_ApplyForRepair_Day__c+'</th>'; 
+            }else{
+                doc += '<th></th>'
+            }
+            if (record.work_location_select__c != null) {
+            doc += '<th>'+record.work_location_select__c+'</th>';
+            }else{
+                doc += '<th></th>'
+            } 
+            if (record.On_site_repair__c != null) {
+            doc += '<th>'+record.On_site_repair__c+'</th>'; 
+            }else{
+                doc += '<th></th>'
+            }
+            if (record.Number_of_EffectiveContract__c != null) {
+            doc += '<th>'+record.Number_of_EffectiveContract__c+'</th>'; 
+            }else{
+                doc += '<th></th>'
+            }
+            if (record.NewProductGuaranteeObject__c != null) {
+            doc += '<th>'+record.NewProductGuaranteeObject__c+'</th>'; 
+            }else{
+                doc += '<th></th>'
+            }
+                // fieldNameArr.forEach(fieldName =>{
+                //     doc += '<th>'+record.fieldName+'</th>'; 
+                // });
+                doc += '</tr>';
+        });
+        doc += '</table>';
+        var element = 'data:application/vnd.ms-excel,' + encodeURIComponent(doc);
+        let downloadElement = document.createElement('a');
+        downloadElement.href = element;
+        downloadElement.target = '_self';
+        // use .csv as extension on below line if you want to export data as csv
+        downloadElement.download = '淇悊鏄庣粏琛�.xls';
+        document.body.appendChild(downloadElement);
+        downloadElement.click();
+    }
+
+    // this method validates the data and creates the csv file to download  this.data鐨勬墍鏈夊瓧娈�
+     downloadCSVFile1() {   
+        console.log("downloadCSVFile1");
+        let rowEnd = '\n';
+        let csvString = '';
+        // this set elminates the duplicates if have any duplicate keys
+        let rowData = new Set();
+        let columnsData = new Set();
+        let columnsLabelData = new Set();
+
+        // getting keys from data
+        this.data.forEach(function (record) {
+            Object.keys(record).forEach(function (key) {
+                rowData.add(key);
+            });
+        });
+        console.log(rowData);
+
+        // Array.from() method returns an Array object from any object with a length property or an iterable object.
+        rowData = Array.from(rowData);
+        console.log(rowData);
+        
+        // splitting using ','
+        csvString += rowData.join(',');
+        csvString += rowEnd;
+        console.log(csvString);
+        this.columns.forEach(function(v){ 
+            columnsLabelData.add(v.label);
+            if (v['typeAttributes']) {
+                columnsData.add(v['typeAttributes'].label.fieldName);
+            }else{
+                columnsData.add(v.fieldName);
+            }
+        }); 
+        console.log("columnsData");
+        console.log(columnsLabelData);
+        console.log(columnsData);
+        console.log(rowData[1]);
+        console.log(Array.from(columnsData));
+        console.log(Array.from(columnsData).hasOwnProperty(rowData[1]));
+        console.log(this.data[0].Name);
+        console.log(this.data[0][rowData[1]]);
+        // main for loop to get the data based on key value
+        for(let i=0; i < this.data.length; i++){
+            let colValue = 0;
+
+            // validating keys in data
+            for(let key in rowData) {
+                if(rowData.hasOwnProperty(key)) {
+                    // Key value 
+                    // Ex: Id, Name
+                    let rowKey = rowData[key];
+                    // add , after every value except the first.
+                    if(colValue > 0){
+                        csvString += ',';
+                    }
+                    // If the column is undefined, it as blank in the CSV file.
+                    let value = this.data[i][rowKey] === undefined ? '' : this.data[i][rowKey];
+                    csvString += '"'+ value +'"';
+                    colValue++;
+                }
+            }
+            csvString += rowEnd;
+        }
+
+        // Creating anchor element to download
+        let downloadElement = document.createElement('a');
+
+        // This  encodeURI encodes special characters, except: , / ? : @ & = + $ # (Use encodeURIComponent() to encode these characters).
+        downloadElement.href = 'data:text/csv;charset=utf-8,' + encodeURI(csvString);
+        downloadElement.target = '_self';
+        // CSV File Name
+        downloadElement.download = 'Account Data.csv';
+        // below statement is required if you are using firefox browser
+        document.body.appendChild(downloadElement);
+        // click() Javascript function to download CSV file
+        downloadElement.click(); 
+    }
+    //瀵煎嚭涓篍xcel  
+    downloadCSVFile() {   
+        console.log("downloadCSVFile");
+        let rowEnd = '\n';
+        let csvString = '';
+        // this set elminates the duplicates if have any duplicate keys
+        //琛ㄦ牸鏍囬
+        let columnsData = new Set();
+        //琛ㄦ牸瀛楁
+        let rowData = new Set();
+
+        // getting keys from data
+        this.columns.forEach(function(v){ 
+            columnsData.add(v.label);
+            if (v['typeAttributes']) {
+                rowData.add(v['typeAttributes'].label.fieldName);
+            }else{
+                rowData.add(v.fieldName);
+            }
+        }); 
+        console.log(columnsData);
+        console.log(rowData);
+        // Array.from() method returns an Array object from any object with a length property or an iterable object.
+        rowData = Array.from(rowData);
+        columnsData = Array.from(columnsData);
+        // getting keys from data
+       /* console.log("rowData");
+        rowData.forEach(function(v){ 
+            console.log(v);
+        }); 
+        console.log("columnsData");
+        columnsData.forEach(function(v){ 
+            console.log(v);
+        }); */
+        
+        // splitting using ','
+        csvString += columnsData.join(',');
+        csvString += rowEnd;
+        // console.log(csvString);
+        // main for loop to get the data based on key value
+        for(let i=0; i < this.data.length; i++){
+            let colValue = 0;
+
+            // validating keys in data
+            for(let key in rowData) {
+                if(rowData.hasOwnProperty(key)) {//del
+                    // Key value 
+                    // Ex: Id, Name
+                    let rowKey = rowData[key];
+                    // add , after every value except the first.
+                    if(colValue > 0){
+                        csvString += ',';
+                    }
+                    // If the column is undefined, it as blank in the CSV file.
+                    let value = this.data[i][rowKey] === undefined ? '' : this.data[i][rowKey];
+                    csvString += '"'+ value +'"';
+                    colValue++;
+                }
+            }
+            csvString += rowEnd;
+        }
+
+        // Creating anchor element to download
+        let downloadElement = document.createElement('a');
+
+        // This  encodeURI encodes special characters, except: , / ? : @ & = + $ # (Use encodeURIComponent() to encode these characters).
+        downloadElement.href = 'data:text/csv;charset=utf-8,' + encodeURI(csvString);
+        downloadElement.target = '_self';
+        // CSV File Name
+        downloadElement.download = '淇悊鏄庣粏琛�.csv';
+        // below statement is required if you are using firefox browser
+        document.body.appendChild(downloadElement);
+        // click() Javascript function to download CSV file
+        downloadElement.click(); 
+    }
+    //鑾峰彇閫変腑Repair
+    getSelectedRows(event) {
+        const selectedRows = event.detail.selectedRows;
+        console.log(selectedRows);
+        //Repair__c   selectedRepairs
+        // Display that fieldName of the selected rows
+        let selectedRepairsArr = [];
+        for (let i = 0; i < selectedRows.length; i++) {
+            selectedRepairsArr.push(selectedRows[i]);
+        }
+        this.selectedRepairs = selectedRepairsArr;
+    }
+
+    //璺宠浆鍒皃df椤甸潰
+    skipPage() {
+        console.log("selectedRows");
+        // console.log(jsonStr);
+        if (this.selectedRepairs.length <= 0 ) {
+            const event = new ShowToastEvent({
+                                     title: 'error',
+                                     message: '璇疯嚦灏戦�夋嫨涓�涓慨鐞�',
+                                     variant:'error',
+                                    });
+            this.dispatchEvent(event);
+            return;
+        }
+        let jsonStr = JSON.stringify(this.selectedRepairs);
+        showPDF({
+            json: jsonStr
+            }).then(result => {
+                console.log(result);
+                if (result.indexOf("https://ocsm") != -1) {
+                     window.open(result, "缁翠慨濮旀墭涔DF", "");
+                }else{
+                    const event = new ShowToastEvent({
+                                     title: 'error',
+                                     message: result,
+                                     variant:'error',
+                                    });
+                    this.dispatchEvent(event);
+                }
+            }).catch(error => {
+                console.log("error");
+                console.log(error);
+            }).finally(() => {
+                
+            }); 
+    }
+
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexBatchSelectRepairLWC/lexBatchSelectRepairLWC.js-meta.xml b/force-app/main/default/lwc/lexBatchSelectRepairLWC/lexBatchSelectRepairLWC.js-meta.xml
new file mode 100644
index 0000000..2b7649d
--- /dev/null
+++ b/force-app/main/default/lwc/lexBatchSelectRepairLWC/lexBatchSelectRepairLWC.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+	<apiVersion>54.0</apiVersion>
+	<isExposed>true</isExposed>
+	<targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexBeforeOPDPDFBtn/lexBeforeOPDPDFBtn.css b/force-app/main/default/lwc/lexBeforeOPDPDFBtn/lexBeforeOPDPDFBtn.css
new file mode 100644
index 0000000..049e19f
--- /dev/null
+++ b/force-app/main/default/lwc/lexBeforeOPDPDFBtn/lexBeforeOPDPDFBtn.css
@@ -0,0 +1,10 @@
+.lexBeforeOPDPDFBtnHolder{
+    position: relative;
+    display: inline-block;
+    width: 80px;
+    height: 80px;
+    text-align: center;
+}
+.container .uiContainerManager{
+	display: none !important;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexBeforeOPDPDFBtn/lexBeforeOPDPDFBtn.html b/force-app/main/default/lwc/lexBeforeOPDPDFBtn/lexBeforeOPDPDFBtn.html
new file mode 100644
index 0000000..159518b
--- /dev/null
+++ b/force-app/main/default/lwc/lexBeforeOPDPDFBtn/lexBeforeOPDPDFBtn.html
@@ -0,0 +1,15 @@
+<!--
+ * @Description: 
+ * @version: 
+ * @Author: chen jing wu
+ * @Date: 2023-04-13 15:08:43
+ * @LastEditors: chen jing wu
+ * @LastEditTime: 2023-04-14 14:13:25
+-->
+<template>
+    <div class="lexBeforeOPDPDFBtnHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+        <lightning-button label="Show Toast" onclick={showToast}></lightning-button>
+        <lightning-button onclick={handleConfirmClick} label="Open Confirm Modal"></lightning-button>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexBeforeOPDPDFBtn/lexBeforeOPDPDFBtn.js b/force-app/main/default/lwc/lexBeforeOPDPDFBtn/lexBeforeOPDPDFBtn.js
new file mode 100644
index 0000000..babbb46
--- /dev/null
+++ b/force-app/main/default/lwc/lexBeforeOPDPDFBtn/lexBeforeOPDPDFBtn.js
@@ -0,0 +1,108 @@
+/*
+ * @Description: 
+ * @version: 
+ * @Author: chen jing wu
+ * @Date: 2023-04-13 15:08:43
+ * @LastEditors: chen jing wu
+ * @LastEditTime: 2023-04-14 15:37:35
+ */
+import { api, wire,LightningElement } from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import init  from '@salesforce/apex/OpportunityLightingButtonController.initFoBeforeOPDPDFBtnButton';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+import selectCommonSequence from '@salesforce/apex/ControllerUtil.selectCommonSequence';
+import addReportOPWithEvaluationPDF from '@salesforce/apex/Add_Report.addReportOPWithEvaluationPDF';
+import LightningConfirm from 'lightning/confirm';
+export default class LexBeforeOPDPDFBtn extends LightningElement {
+    @api recordId;
+    accountId;
+    userId;
+    IsLoading = true;
+    @wire(CurrentPageReference)
+    getStateParameters(currentPageReference) {
+            console.log(111);
+            console.log(currentPageReference);
+
+        if (currentPageReference) {
+          const urlValue = currentPageReference.state.recordId;
+          if (urlValue) {
+            let str = `${urlValue}`;
+            console.log("str");
+            console.log(str);
+            this.recordId = str;
+          }
+        }
+    }
+    connectedCallback(){
+        init({
+            recordId: this.recordId
+        }).then(result=>{
+            this.accountId = result.accountId;
+            this.userId = result.userId;
+            this.beforeOPDPDFBtn();
+        })
+    }
+    beforeOPDPDFBtn(){
+        this.handleConfirmClick('鏄惁鏂板缓OPD鎶ュ憡涔︼紵\n[纭畾] => 鏂板缓OPD\n[鍙栨秷] => 鍙敓鎴� 锛讳骇鍝佽瘯鐢ㄨ瘎浠凤冀');
+    }
+    showToast(msg,type) {
+        const event = new ShowToastEvent({
+            title: '',
+            message: msg,
+            variant: type
+        });
+        this.dispatchEvent(event);
+    }
+
+   
+    async handleConfirmClick(msg) {
+        const result = await LightningConfirm.open({
+            message: msg,
+            variant: 'headerless',
+            label: 'this is the aria-label value',
+        });
+        console.log(result);
+        if(result){
+            try {
+                selectCommonSequence({
+                    valueField: 'EvaluationPDF_NextValue__c',
+                    formatField: 'EvaluationPDF_Format__c'
+                }).then(result=>{
+                    var pdfno = result;
+                    addReportOPWithEvaluationPDF({
+                        "repOwnerId": this.userId,
+                        "reportId": "",
+                        "dailyReportId": "",
+                        "eventId": "",
+                        "recordType": "OPD",
+                        "aId": this.accountId,
+                        "visitor1": "",
+                        "visitor2": "",
+                        "visitor3": "",
+                        "visitor4": "",
+                        "visitor5": "",
+                        "opp1": this.recordId,
+                        "opp2": "",
+                        "opp3": "",
+                        "opp4": "",
+                        "opp5": "",
+                        "reportDate": "",
+                        "evaluationPDFNumber": pdfno
+                    }).then(()=>{
+                        // 20220913 ljh WLIG-CHMATN update end
+                        this.IsLoading = false;
+                        window.open('/apex/BeforeOPDPDF?oid=' + this.recordId + '&pdfNo=' + pdfno, 'BeforeOPDPDF');
+                        this.dispatchEvent(new CloseActionScreenEvent());
+                    })
+                });
+                } catch(e) {
+                    this.showToast(e,"error");
+                    this.dispatchEvent(new CloseActionScreenEvent());
+                }
+        }else{
+            window.open('/apex/BeforeOPDPDF?oid=' + this.recordId, 'BeforeOPDPDF');
+            this.dispatchEvent(new CloseActionScreenEvent());
+        }
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexBeforeOPDPDFBtn/lexBeforeOPDPDFBtn.js-meta.xml b/force-app/main/default/lwc/lexBeforeOPDPDFBtn/lexBeforeOPDPDFBtn.js-meta.xml
new file mode 100644
index 0000000..329e839
--- /dev/null
+++ b/force-app/main/default/lwc/lexBeforeOPDPDFBtn/lexBeforeOPDPDFBtn.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexBeforeOPDPDFBtnSIS/lexBeforeOPDPDFBtnSIS.css b/force-app/main/default/lwc/lexBeforeOPDPDFBtnSIS/lexBeforeOPDPDFBtnSIS.css
new file mode 100644
index 0000000..7980084
--- /dev/null
+++ b/force-app/main/default/lwc/lexBeforeOPDPDFBtnSIS/lexBeforeOPDPDFBtnSIS.css
@@ -0,0 +1,10 @@
+.lexBeforeOPDPDFBtnSISHolder{
+    position: relative;
+    display: inline-block;
+    width: 80px;
+    height: 80px;
+    text-align: center;
+}
+.container .uiContainerManager{
+	display: none !important;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexBeforeOPDPDFBtnSIS/lexBeforeOPDPDFBtnSIS.html b/force-app/main/default/lwc/lexBeforeOPDPDFBtnSIS/lexBeforeOPDPDFBtnSIS.html
new file mode 100644
index 0000000..234e137
--- /dev/null
+++ b/force-app/main/default/lwc/lexBeforeOPDPDFBtnSIS/lexBeforeOPDPDFBtnSIS.html
@@ -0,0 +1,14 @@
+<!--
+ * @Description: 
+ * @version: 
+ * @Author: chen jing wu
+ * @Date: 2023-04-13 15:55:45
+ * @LastEditors: chen jing wu
+ * @LastEditTime: 2023-04-13 15:56:58
+-->
+<template>
+    <div class="lexBeforeOPDPDFBtnSISHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+        <lightning-button label="Show Toast" onclick={showSuccess}></lightning-button>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexBeforeOPDPDFBtnSIS/lexBeforeOPDPDFBtnSIS.js b/force-app/main/default/lwc/lexBeforeOPDPDFBtnSIS/lexBeforeOPDPDFBtnSIS.js
new file mode 100644
index 0000000..db99c83
--- /dev/null
+++ b/force-app/main/default/lwc/lexBeforeOPDPDFBtnSIS/lexBeforeOPDPDFBtnSIS.js
@@ -0,0 +1,97 @@
+/*
+ * @Description: 
+ * @version: 
+ * @Author: chen jing wu
+ * @Date: 2023-04-13 15:55:45
+ * @LastEditors: chen jing wu
+ * @LastEditTime: 2023-04-13 16:04:14
+ */
+import { api, wire,LightningElement } from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import init  from '@salesforce/apex/OpportunityLightingButtonController.initFoBeforeOPDPDFBtnSISButton';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+import selectCommonSequence from '@salesforce/apex/ControllerUtil.selectCommonSequence';
+import addReportOPWithEvaluationPDF from '@salesforce/apex/Add_Report.addReportOPWithEvaluationPDF';
+
+export default class LexBeforeOPDPDFBtnSIS extends LightningElement {
+    @api recordId;
+    accountId;
+    userId;
+    IsLoading = true;
+    @wire(CurrentPageReference)
+    getStateParameters(currentPageReference) {
+            console.log(111);
+            console.log(currentPageReference);
+
+        if (currentPageReference) {
+          const urlValue = currentPageReference.state.recordId;
+          if (urlValue) {
+            let str = `${urlValue}`;
+            console.log("str");
+            console.log(str);
+            this.recordId = str;
+          }
+        }
+    }
+    connectedCallback(){
+        init({
+            recordId: this.recordId
+        }).then(result=>{
+            this.accountId = result.accountId;
+            this.userId = result.userId;
+            this.beforeOPDPDFBtn();
+        })
+    }
+    beforeOPDPDFBtn(){
+        if (window.confirm('鏄惁鏂板缓SIS鎶ュ憡涔︼紵')) {
+            try {
+            selectCommonSequence({
+                valueField: 'EvaluationPDF_NextValue__c',
+                formatField: 'EvaluationPDF_Format__c'
+            }).then(result=>{
+                var pdfno = result;
+                addReportOPWithEvaluationPDF({
+                    "repOwnerId": this.userId,
+                    "reportId": "",
+                    "dailyReportId": "",
+                    "eventId": "",
+                    "recordType": "SIS",
+                    "aId": this.accountId,
+                    "visitor1": "",
+                    "visitor2": "",
+                    "visitor3": "",
+                    "visitor4": "",
+                    "visitor5": "",
+                    "opp1": this.recordId,
+                    "opp2": "",
+                    "opp3": "",
+                    "opp4": "",
+                    "opp5": "",
+                    "reportDate": "",
+                    "evaluationPDFNumber": pdfno
+                }).then(()=>{
+                    // 20220913 ljh WLIG-CHMATN update end
+                    this.IsLoading = false;
+                    window.open('/apex/BeforeOPDPDF?oid=' + this.recordId + '&pdfNo=' + pdfno, 'BeforeOPDPDF');
+                    this.dispatchEvent(new CloseActionScreenEvent());
+                })
+            });
+            } catch(e) {
+                this.showToast(e,"error");
+                this.dispatchEvent(new CloseActionScreenEvent());
+            }
+        } else {
+            window.open('/apex/BeforeOPDPDF?oid=' + this.recordId, 'BeforeOPDPDF');
+            this.dispatchEvent(new CloseActionScreenEvent());
+        }
+    }
+    showToast(msg,type) {
+        const event = new ShowToastEvent({
+            title: '',
+            message: msg,
+            variant: type
+        });
+        this.dispatchEvent(event);
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexBeforeOPDPDFBtnSIS/lexBeforeOPDPDFBtnSIS.js-meta.xml b/force-app/main/default/lwc/lexBeforeOPDPDFBtnSIS/lexBeforeOPDPDFBtnSIS.js-meta.xml
new file mode 100644
index 0000000..329e839
--- /dev/null
+++ b/force-app/main/default/lwc/lexBeforeOPDPDFBtnSIS/lexBeforeOPDPDFBtnSIS.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexBidAnnouncementApplyForButton/lexBidAnnouncementApplyForButton.html b/force-app/main/default/lwc/lexBidAnnouncementApplyForButton/lexBidAnnouncementApplyForButton.html
new file mode 100644
index 0000000..e286a5b
--- /dev/null
+++ b/force-app/main/default/lwc/lexBidAnnouncementApplyForButton/lexBidAnnouncementApplyForButton.html
@@ -0,0 +1,5 @@
+<template>
+    <div class="ApplyFor" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexBidAnnouncementApplyForButton/lexBidAnnouncementApplyForButton.js b/force-app/main/default/lwc/lexBidAnnouncementApplyForButton/lexBidAnnouncementApplyForButton.js
new file mode 100644
index 0000000..910869e
--- /dev/null
+++ b/force-app/main/default/lwc/lexBidAnnouncementApplyForButton/lexBidAnnouncementApplyForButton.js
@@ -0,0 +1,74 @@
+import { LightningElement,wire,track,api} from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import  init  from '@salesforce/apex/BidAnnouncementController.BidAnnouncementController';
+import  ApplyFor  from '@salesforce/apex/BidAnnouncementController.ApplyFor';
+import { updateRecord } from 'lightning/uiRecordApi';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+export default class lexBidAnnouncementApplyForButton extends LightningElement {
+    @api recordId;//OwnerId
+    ownerId;//鎵�鏈変汉id
+    id;//杩斿洖鍊肩殑id
+    IsLoading = true;
+    arrMessage = [];
+
+    @wire(CurrentPageReference)
+     getStateParameters(currentPageReference) {
+         if (currentPageReference) {
+           const urlValue = currentPageReference.state.recordId;
+           if (urlValue) {
+             let str = `${urlValue}`;
+             this.recordId = str;
+           }
+         }
+     }
+    
+
+    connectedCallback(){
+        this.IsLoading = false;
+        this.ApplyFor();
+    }
+
+    ApplyFor(){
+        ApplyFor({recordId:this.recordId}).then(res=>{
+            console.log(res);
+            if(res == '1'){
+                this.showToast('璇锋眰鐢宠鎴愬姛,鐢宠涓�傘�傘��','success');
+                this.updateRecordView();
+            }else{
+                var messageage = "";
+                messageage = res.split(',')[1];
+                this.showToast(messageage,'error');
+            }
+        })
+    }
+
+
+    updateRecordView() {
+        updateRecord({fields: { Id: this.recordId }});
+    }
+
+    showToast(msg,type) {
+        const event = new ShowToastEvent({
+            message: msg,
+            variant: type
+        });
+        this.dispatchEvent(event);
+        this.dispatchEvent(new CloseActionScreenEvent());
+    }
+}
+
+// var Bid_Announcement = new sforce.SObject("Bid_Announcement__c");
+// Bid_Announcement.Id = "{!Bid_Announcement__c.Id}";
+// Bid_Announcement.Status__c = "鐢宠涓�";
+// Bid_Announcement.Request_flag__c = "true";
+// Bid_Announcement.Request_user__c = "{!$User.Id}";
+// var serverTimestamp = sforce.connection.getServerTimestamp();
+// Bid_Announcement.Request_date__c = serverTimestamp.timestamp;
+
+// var result = sforce.connection.update([Bid_Announcement]);
+// var messages = getConnectDMLErrorMessages(result);
+// if (messages.length > 0) {
+// alert(messages.join("\n"));
+// }
+// location.reload();
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexBidAnnouncementApplyForButton/lexBidAnnouncementApplyForButton.js-meta.xml b/force-app/main/default/lwc/lexBidAnnouncementApplyForButton/lexBidAnnouncementApplyForButton.js-meta.xml
new file mode 100644
index 0000000..2b7649d
--- /dev/null
+++ b/force-app/main/default/lwc/lexBidAnnouncementApplyForButton/lexBidAnnouncementApplyForButton.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+	<apiVersion>54.0</apiVersion>
+	<isExposed>true</isExposed>
+	<targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexBidAnnouncementConsentButton/lexBidAnnouncementConsentButton.html b/force-app/main/default/lwc/lexBidAnnouncementConsentButton/lexBidAnnouncementConsentButton.html
new file mode 100644
index 0000000..55743be
--- /dev/null
+++ b/force-app/main/default/lwc/lexBidAnnouncementConsentButton/lexBidAnnouncementConsentButton.html
@@ -0,0 +1,5 @@
+<template>
+    <div class="Consent" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexBidAnnouncementConsentButton/lexBidAnnouncementConsentButton.js b/force-app/main/default/lwc/lexBidAnnouncementConsentButton/lexBidAnnouncementConsentButton.js
new file mode 100644
index 0000000..b8fc756
--- /dev/null
+++ b/force-app/main/default/lwc/lexBidAnnouncementConsentButton/lexBidAnnouncementConsentButton.js
@@ -0,0 +1,83 @@
+import { LightningElement,wire,track,api} from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import  ConSent  from '@salesforce/apex/BidAnnouncementController.ConSent';
+import { updateRecord } from 'lightning/uiRecordApi';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+export default class lexBidAnnouncementRejectButton extends LightningElement {
+    @api recordId;//OwnerId
+    ownerId;//鎵�鏈変汉id
+    id;//杩斿洖鍊肩殑id
+    IsLoading = true;
+    arrMessage = [];
+    BidCancel = null;
+
+    @wire(CurrentPageReference)
+     getStateParameters(currentPageReference) {
+         if (currentPageReference) {
+           const urlValue = currentPageReference.state.recordId;
+           if (urlValue) {
+             let str = `${urlValue}`;
+             this.recordId = str;
+           }
+         }
+     }
+    
+
+    connectedCallback(){
+        this.IsLoading = false;
+        this.Consent();
+    }
+
+    Consent(){  
+        ConSent({recordId:this.recordId}).then(res=>{
+            console.log(res);
+            if(res == '1'){
+                this.showToast("鍚屾剰璇锋眰鎴愬姛","success");
+            }
+            if(res != "1"){
+                var messageage = "";
+                messageage = res.split(',')[1];
+                this.showToast(messageage,"error");
+            }
+        })
+    }
+
+
+    updateRecordView() {
+        updateRecord({fields: { Id: this.recordId }});
+    }
+
+    showToast(msg,type) {
+        const event = new ShowToastEvent({
+            message: msg,
+            variant: type
+        });
+        this.dispatchEvent(event);
+        if(type == 'success'){
+            this.updateRecordView();
+        }
+        this.dispatchEvent(new CloseActionScreenEvent());
+    }
+}
+
+
+
+
+
+
+
+// var Bid_Announcement = new sforce.SObject("Bid_Announcement__c");
+// Bid_Announcement.Id = "{!Bid_Announcement__c.Id}";
+// Bid_Announcement.Status__c = "澶勭悊瀹屾瘯";
+// Bid_Announcement.Complete__c = "true";
+// Bid_Announcement.Agree_user__c = "{!$User.Id}";
+// var serverTimestamp = sforce.connection.getServerTimestamp();
+// Bid_Announcement.Complete_date__c = serverTimestamp.timestamp;
+
+// var result = sforce.connection.update([Bid_Announcement]);
+// var messages = getConnectDMLErrorMessages(result);
+// if (messages.length > 0) {
+// alert(messages.join("\n"));
+// }
+// location.reload();
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexBidAnnouncementConsentButton/lexBidAnnouncementConsentButton.js-meta.xml b/force-app/main/default/lwc/lexBidAnnouncementConsentButton/lexBidAnnouncementConsentButton.js-meta.xml
new file mode 100644
index 0000000..2b7649d
--- /dev/null
+++ b/force-app/main/default/lwc/lexBidAnnouncementConsentButton/lexBidAnnouncementConsentButton.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+	<apiVersion>54.0</apiVersion>
+	<isExposed>true</isExposed>
+	<targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexBidAnnouncementRejectButton/lexBidAnnouncementRejectButton.html b/force-app/main/default/lwc/lexBidAnnouncementRejectButton/lexBidAnnouncementRejectButton.html
new file mode 100644
index 0000000..be06a03
--- /dev/null
+++ b/force-app/main/default/lwc/lexBidAnnouncementRejectButton/lexBidAnnouncementRejectButton.html
@@ -0,0 +1,5 @@
+<template>
+    <div class="reject" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexBidAnnouncementRejectButton/lexBidAnnouncementRejectButton.js b/force-app/main/default/lwc/lexBidAnnouncementRejectButton/lexBidAnnouncementRejectButton.js
new file mode 100644
index 0000000..98f7446
--- /dev/null
+++ b/force-app/main/default/lwc/lexBidAnnouncementRejectButton/lexBidAnnouncementRejectButton.js
@@ -0,0 +1,93 @@
+import { LightningElement,wire,track,api} from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import  UserInfo_Owner  from '@salesforce/apex/BidAnnouncementController.UserInfo_Owner';
+import  Reject  from '@salesforce/apex/BidAnnouncementController.Reject';
+import { updateRecord } from 'lightning/uiRecordApi';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+export default class lexBidAnnouncementRejectButton extends LightningElement {
+    @api recordId;//OwnerId
+    ownerId;//鎵�鏈変汉id
+    id;//杩斿洖鍊肩殑id
+    IsLoading = true;
+    arrMessage = [];
+    BidCancel = null;
+
+    @wire(CurrentPageReference)
+     getStateParameters(currentPageReference) {
+         if (currentPageReference) {
+           const urlValue = currentPageReference.state.recordId;
+           if (urlValue) {
+             let str = `${urlValue}`;
+             this.recordId = str;
+           }
+         }
+     }
+    
+
+    connectedCallback(){
+        this.IsLoading = false;
+        this.Reject();
+    }
+
+    Reject(){
+        UserInfo_Owner().then(res=>{
+            console.log(res);
+            this.BidCancel = res.BidCancel;
+            if(this.BidCancel == false){
+                this.showToast('娌℃湁椹冲洖鐨勬潈闄�',"error");
+            }else{
+                Reject({
+                    recordId: this.recordId
+                }).then(requst=>{
+                    if(requst == '1'){
+                        this.showToast("椹冲洖璇锋眰鎴愬姛","success");
+                    }
+                    if(requst != "1"){
+                        var messageage = "";
+                        messageage = requst.split(',')[1];
+                        this.showToast(messageage,"error");
+                    }
+                })
+            }
+        })
+    }
+
+
+    updateRecordView() {
+        updateRecord({fields: { Id: this.recordId }});
+    }
+
+    showToast(msg,type) {
+        const event = new ShowToastEvent({
+            message: msg,
+            variant: type
+        });
+        this.dispatchEvent(event);
+        if(type == 'success'){
+            this.updateRecordView();
+        }
+        this.dispatchEvent(new CloseActionScreenEvent());
+    }
+}
+
+// if ('{!$User.BidCancel__c}' == 'false') {
+//     alert("娌℃湁椹冲洖鐨勬潈闄�");
+//     } else {
+//     var Bid_Announcement = new sforce.SObject("Bid_Announcement__c");
+//     Bid_Announcement.Id = "{!Bid_Announcement__c.Id}";
+//     Bid_Announcement.Status__c = "鑽夋涓�";
+//     Bid_Announcement.Complete__c = "false";
+//     Bid_Announcement.Agree_user__c = null;
+//     Bid_Announcement.Complete_date__c = null;
+//     Bid_Announcement.Request_flag__c = "false";
+//     Bid_Announcement.Request_user__c = null;
+//     Bid_Announcement.Request_date__c = null;
+    
+//     var result = sforce.connection.update([Bid_Announcement]);
+//     var messages = getConnectDMLErrorMessages(result);
+//     if (messages.length > 0) {
+//     alert(messages.join("\n"));
+//     }
+//     location.reload();
+//     }
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexBidAnnouncementRejectButton/lexBidAnnouncementRejectButton.js-meta.xml b/force-app/main/default/lwc/lexBidAnnouncementRejectButton/lexBidAnnouncementRejectButton.js-meta.xml
new file mode 100644
index 0000000..2b7649d
--- /dev/null
+++ b/force-app/main/default/lwc/lexBidAnnouncementRejectButton/lexBidAnnouncementRejectButton.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+	<apiVersion>54.0</apiVersion>
+	<isExposed>true</isExposed>
+	<targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCancel/lexCancel.css b/force-app/main/default/lwc/lexCancel/lexCancel.css
new file mode 100644
index 0000000..6e1b0a2
--- /dev/null
+++ b/force-app/main/default/lwc/lexCancel/lexCancel.css
@@ -0,0 +1,10 @@
+.cancelHolder{
+    position: relative;
+    display: inline-block;
+    width: 80px;
+    height: 80px;
+    text-align: center;
+}
+.container .uiContainerManager{
+	display: none !important;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCancel/lexCancel.html b/force-app/main/default/lwc/lexCancel/lexCancel.html
new file mode 100644
index 0000000..61b5906
--- /dev/null
+++ b/force-app/main/default/lwc/lexCancel/lexCancel.html
@@ -0,0 +1,6 @@
+<template>
+    <div class="cancelHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+        <lightning-button label="Show Toast" onclick={ShowToastEvent}></lightning-button>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCancel/lexCancel.js b/force-app/main/default/lwc/lexCancel/lexCancel.js
new file mode 100644
index 0000000..77a0e59
--- /dev/null
+++ b/force-app/main/default/lwc/lexCancel/lexCancel.js
@@ -0,0 +1,104 @@
+/*
+ * @Description: 
+ * @version: 
+ * @Author: chen jing wu
+ * @Date: 2023-03-27 13:47:21
+ * @LastEditors: chen jing wu
+ * @LastEditTime: 2023-04-11 16:44:49
+ */
+import { api, wire,LightningElement } from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import init  from '@salesforce/apex/ReportController.initForCancelButton';
+import updateForCancelButton  from '@salesforce/apex/ReportController.updateForCancelButton';
+import { updateRecord } from 'lightning/uiRecordApi';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+export default class LexCancel extends LightningElement {
+    @api recordId;
+    status;
+    IsLoading = true;
+    @wire(CurrentPageReference)
+    getStateParameters(currentPageReference) {
+            console.log(111);
+            console.log(currentPageReference);
+
+        if (currentPageReference) {
+          const urlValue = currentPageReference.state.recordId;
+          if (urlValue) {
+            let str = `${urlValue}`;
+            console.log("str");
+            console.log(str);
+            this.recordId = str;
+          }
+        }
+    }
+
+
+
+    connectedCallback(){
+        console.log(this.recordId);
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            console.log(result);
+            if (result != null) {
+                this.status = result.status;
+                console.log(this.status);
+                this.cancel();
+            }
+        }).catch(error => {
+            console.log("error");
+            console.log(error);
+        });
+
+    }
+
+    showToast(msg,type) {
+        const event = new ShowToastEvent({
+            title: '',
+            message: msg,
+            variant: type
+        });
+        this.dispatchEvent(event);
+    }
+
+
+    updateRecordView(recordId) {
+        updateRecord({fields: { Id: recordId }});
+    }
+
+    cancel () {
+        if (this.status == "鍙栨秷") {
+            this.showToast("宸茬粡鍙栨秷锛�","error");
+            this.dispatchEvent(new CloseActionScreenEvent());
+            return;
+            }
+        if (this.status == "鎵瑰噯") {
+            this.showToast("宸茬粡鎵瑰噯锛屼笉鑳藉垹闄わ紒","error");
+            this.dispatchEvent(new CloseActionScreenEvent());
+            return;
+        }
+        if (this.status == "瀹屾瘯") {
+            this.showToast("宸茬粡瀹屾瘯锛屼笉鑳藉垹闄わ紒","error");
+            this.dispatchEvent(new CloseActionScreenEvent());
+            return;
+        }
+        if (this.status == "鎻愪氦") {
+            this.showToast("宸茬粡鎻愪氦锛屼笉鑳藉垹闄わ紒","error");
+            this.dispatchEvent(new CloseActionScreenEvent());
+            return;
+        }
+        updateForCancelButton({
+            recordId: this.recordId
+        }).then(result =>{
+            if(result){
+                this.showToast(result,"error");
+            }else{
+                this.showToast("鍙栨秷鎴愬姛锛�","success");
+                this.updateRecordView(this.recordId);
+            }
+            this.IsLoading = false;
+            this.dispatchEvent(new CloseActionScreenEvent());
+        });
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCancel/lexCancel.js-meta.xml b/force-app/main/default/lwc/lexCancel/lexCancel.js-meta.xml
new file mode 100644
index 0000000..329e839
--- /dev/null
+++ b/force-app/main/default/lwc/lexCancel/lexCancel.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCancelApply/lexCancelApply.html b/force-app/main/default/lwc/lexCancelApply/lexCancelApply.html
new file mode 100644
index 0000000..66974ff
--- /dev/null
+++ b/force-app/main/default/lwc/lexCancelApply/lexCancelApply.html
@@ -0,0 +1,4 @@
+<template>
+
+    
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCancelApply/lexCancelApply.js b/force-app/main/default/lwc/lexCancelApply/lexCancelApply.js
new file mode 100644
index 0000000..04cee1d
--- /dev/null
+++ b/force-app/main/default/lwc/lexCancelApply/lexCancelApply.js
@@ -0,0 +1,100 @@
+import { LightningElement, track, wire, api } from 'lwc';
+import LightningConfirm from 'lightning/confirm';
+import {CurrentPageReference,NavigationMixin} from 'lightning/navigation';
+import { CloseActionScreenEvent } from 'lightning/actions';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+
+
+import cancelApply from '@salesforce/apex/TransferApplyWebService.cancelApply';
+
+export default class lexCancelApply extends LightningElement {
+	 @api recordId;
+	 IsLoading=true;
+	 cancelResult;
+  
+
+    @wire(CurrentPageReference)
+	getStateParameters(currentPageReference){
+		console.log("杩涘叆椤甸潰");
+		console.log(currentPageReference);
+		if(currentPageReference){
+			const urvalue=currentPageReference.state.recordId;
+			if(urvalue){
+				let str=`${urvalue}`;
+				console.log('str');
+				console.log(str);
+				this.recordId=str;
+				
+			}
+		}
+	}
+	connectedCallback() {
+		console.log('this.raeSetId:' + this.recordId);
+		
+		LightningConfirm.open({
+	        message: '纭畾鍙栨秷锛�',
+	        variant: 'headerless',
+	        label: 'this is the aria-label value',
+	        
+	    }).then(cancel=>{
+	  //   	this.IsLoading=false;
+			// this.dispatchEvent(new CloseActionScreenEvent());
+	    	if(cancel) {
+	    		cancelApply({
+					taId : this.recordId
+				}).then(result => {
+					this.cancelResult = result;
+					this.cancelSubmit().then(res=>{
+						this.IsLoading=false;
+						this.dispatchEvent(new CloseActionScreenEvent());
+					});	
+							
+				}).catch( error =>{
+					console.log(error);
+				}).finally(()=>{
+
+					
+				});
+	    	}
+	    	
+	    });
+		
+		
+	}
+
+	async cancelSubmit(){
+		if(this.cancelResult == '1') {
+			await this.showToast("",'鍙栨秷鎴愬姛',"success"); 
+			window.location.href = window.location;
+					
+		} else {
+			console.log("result:",this.cancelResult);
+			await this.showToast("",this.cancelResult,"warning"); 	
+		}
+			
+    }
+    showToast(_title,_message,_variant) {
+        const event = new ShowToastEvent({
+            title: _title,
+            message:_message,
+            variant: _variant,
+        });
+        this.dispatchEvent(event);
+    }
+	
+}
+
+//old js
+
+// {!REQUIRESCRIPT('/soap/ajax/51.0/connection.js')}
+// {!REQUIRESCRIPT('/soap/ajax/51.0/apex.js')}
+// if (confirm("纭畾鍙栨秷锛�")) {
+// var rs = sforce.apex.execute("TransferApplyWebService","cancelApply",{taId:'{!TransferApply__c.Id}'});
+// if(rs == '1'){
+// alert('鍙栨秷鎴愬姛');
+// window.location.href = window.location;
+// }
+// else{
+// alert(rs);
+// }
+// }
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCancelApply/lexCancelApply.js-meta.xml b/force-app/main/default/lwc/lexCancelApply/lexCancelApply.js-meta.xml
new file mode 100644
index 0000000..f004c4d
--- /dev/null
+++ b/force-app/main/default/lwc/lexCancelApply/lexCancelApply.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lexCancelApply">
+    <apiVersion>51.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightning__AppPage</target>
+        <target>lightning__RecordPage</target>
+        <target>lightning__HomePage</target>
+        <target>lightning__RecordAction</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCancelRemoveBox/lexCancelRemoveBox.html b/force-app/main/default/lwc/lexCancelRemoveBox/lexCancelRemoveBox.html
new file mode 100644
index 0000000..aabdbb3
--- /dev/null
+++ b/force-app/main/default/lwc/lexCancelRemoveBox/lexCancelRemoveBox.html
@@ -0,0 +1,107 @@
+<template>
+    <!-- <template if:true={showSpinner}>
+        <lightning-spinner size="medium" variant="brand"></lightning-spinner>
+    </template> -->
+    <div style="border: 1px solid #D4D4D4;border-radius:5px;"> 
+
+        <div style="border-top: 3px solid #51606E;;border-bottom: 1px solid #D4D4D4;padding:3px;">
+            <div>
+                <p style="font-size: 19px;"><strong>鍙栨秷鎷嗙洅</strong></p>
+            </div>
+        </div>
+        <div style="padding:10px;">
+            <div style="border: 1px solid #D4D4D4;border-radius:5px;margin-bottom:7px;">
+            <div style="border-top: 3px solid #51606E;border-bottom: 1px solid #D4D4D4;padding:3px;">
+                <lightning-button label="鍙栨秷鎷嗙洅纭" title="鍙栨秷鎷嗙洅纭" onclick={saveConfirm}></lightning-button></td>
+            </div>
+            </div>
+            <div style="border: 1px solid #D4D4D4;border-radius:5px;margin-bottom:7px;margin-top:5px;">
+                <div style="border-top: 3px solid #51606E;border-bottom: 1px solid #D4D4D4;padding:3px;">
+                    <p style="font-size: 19px;"><strong>BarCode褰曞叆</strong></p>
+                </div>
+               
+                <!-- <div style="border-top: 3px solid #51606E;border-bottom: 1px solid #D4D4D4;padding:3px;"> -->
+                    <table>
+                        <colgroup>
+                            <col width="160px" />
+                            <col width="100px" />
+                            <col width="10px" />
+                            <col width="70px" />
+                            <col width="100px" />
+                            <col width="10px" />
+                            <col width="90px" />
+                            <col width="100px" />
+                            <col width="10px" />
+                            <col width="85px" />
+                            <col width="100px" />
+                            <col width="10px" />
+                            <col width="70px" />
+                            <col width="100px" />
+                        </colgroup>
+                        <tbody>
+                            <tr>
+                                <td></td>
+                                <td align="right">Barcode</td>
+                                <td style="width:600px"><lightning-textarea name="Barcode" label=""
+                                        onchange={handleChange}></lightning-textarea></td>
+                                <td align="right"></td>
+                                <td></td>
+                                <td  style="width: 200px;"><lightning-button label="鑾峰彇鏄庣粏" title="鑾峰彇鏄庣粏" onclick={getDetails}
+                                       ></lightning-button>
+                                </td>
+                            </tr>
+                        </tbody>
+                    </table>
+                <!-- </div> -->
+            </div>
+
+            <div style="border: 1px solid #D4D4D4;border-radius:5px;margin-bottom:7px;">
+                <div style="border-top: 3px solid #51606E;border-bottom: 1px solid #D4D4D4;padding:3px;">
+                    <p style="font-size: 16px;"><strong>鍙栨秷鎷嗙洅鏄庣粏</strong></p>
+                </div>
+                <div style="padding:10px;">
+
+                    <div style="height: 300px;">
+                        <template if:true={showTable}>
+                            <c-lex-custom-lightning-datatable key-field="prodid" data={data} columns={columns}
+                            onrowselection={getSelectedRows} hide-checkbox-column="true"
+                            selected-rows={selectedRows}>
+                                </c-lex-custom-lightning-datatable>
+                        </template>
+                    </div>
+
+                </div>
+            </div>
+            <div style="border: 1px solid #D4D4D4;border-radius:5px;margin-bottom:7px;margin-top:20px">
+                <div style="border-top: 3px solid #51606E;border-bottom: 1px solid #D4D4D4;padding:3px;">
+                    <table>
+                        <tr>
+                            <td>
+                                <p style="font-size: 16px;"><strong>閿欒鏄庣粏</strong></p>
+                            </td>
+                        </tr>
+                    </table>
+                </div>
+ 
+            <div style="padding:10px;">
+                <template if:true={showTables}>
+                    <!-- <c-lwc-datatable-utility records={overduePageRecords} total-records={overduePageRecords.length}
+                        columns={column} key-field="Id" show-search-box="true" max-row-selection={overduePageRecords.length}
+                        onpaginatorchange={handlePaginatorChange}>
+                    </c-lwc-datatable-utility> -->
+                    <c-lex-custom-lightning-datatable key-field="id" data={errorDetail} columns={column}
+                    onrowselection={getSelectedRows}   hide-checkbox-column="true"
+                   selected-rows={selectedRows}>
+               </c-lex-custom-lightning-datatable>
+                </template>
+
+
+            </div>
+        </div>
+        </div>
+
+      
+      
+    </div>
+    
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCancelRemoveBox/lexCancelRemoveBox.js b/force-app/main/default/lwc/lexCancelRemoveBox/lexCancelRemoveBox.js
new file mode 100644
index 0000000..7cb1048
--- /dev/null
+++ b/force-app/main/default/lwc/lexCancelRemoveBox/lexCancelRemoveBox.js
@@ -0,0 +1,83 @@
+import { LightningElement, wire, api, track } from 'lwc';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+
+
+
+const columns = [
+    {
+      label: '娑堣�楀搧鍚嶇О',
+      fieldName: 'Name__c',
+      initialWidth: 350,
+  
+    },
+    {
+      label: '瑙勬牸',
+      fieldName: 'ProductPacking_list_manual__c',
+      hideDefaultActions: true,
+      initialWidth: 250,
+  
+    },
+    {
+      label: 'CFDA鐘舵��',
+      fieldName: 'CFDA_Status__c',
+      hideDefaultActions: true,
+      initialWidth: 250,
+  
+    },
+    {
+      label: '娉ㄥ唽璇佺紪鐮佸彿',
+      fieldName: 'Report_Product_Approbation__c',
+      hideDefaultActions: true,
+      initialWidth: 250,
+    },
+    {
+      label: '娉ㄥ唽璇佹晥鏈�',
+      fieldName: 'Report_Product_Expiration__c',
+      hideDefaultActions: true,
+      initialWidth: 250,
+    },
+    {
+      label: 'BarCode',
+      fieldName: 'Bar_Code__c',
+      hideDefaultActions: true,
+      initialWidth: 250,
+    }
+  ];
+  
+  const column = [
+    {
+      label: '娑堣�楀搧鍚嶇О',
+      fieldName: 'Name__c',
+  
+    },
+    {
+      label: 'BarCode',
+      fieldName: 'Bar_Code__c',
+      hideDefaultActions: true,
+     
+    }
+    ,
+    {
+      label: '閿欒鍘熷洜',
+      fieldName: 'ErrorReason',
+      hideDefaultActions: true,
+    }
+  ];
+  
+
+export default class LexCancelRemoveBox extends LightningElement {
+    columns = columns;
+    column = column;
+    @track selectedRows = [];
+    @track data = [];
+    @track errorDetail = [];
+  
+    // 鏄剧ず
+    @track showTable = false
+    @track accountName
+    @track userWorkLocation
+    @track agencyProType
+    @track barcode = ''
+
+
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCancelRemoveBox/lexCancelRemoveBox.js-meta.xml b/force-app/main/default/lwc/lexCancelRemoveBox/lexCancelRemoveBox.js-meta.xml
new file mode 100644
index 0000000..b932443
--- /dev/null
+++ b/force-app/main/default/lwc/lexCancelRemoveBox/lexCancelRemoveBox.js-meta.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>56.0</apiVersion>
+  <isExposed>true</isExposed>
+    <targets>
+        <target>lightningCommunity__Page</target>
+        <target>lightningCommunity__Default</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCancelReport/lexCancelReport.css b/force-app/main/default/lwc/lexCancelReport/lexCancelReport.css
new file mode 100644
index 0000000..a8fa542
--- /dev/null
+++ b/force-app/main/default/lwc/lexCancelReport/lexCancelReport.css
@@ -0,0 +1,10 @@
+.cancelReportHolder{
+    position: relative;
+    display: inline-block;
+    width: 80px;
+    height: 80px;
+    text-align: center;
+}
+.container .uiContainerManager{
+	display: none !important;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCancelReport/lexCancelReport.html b/force-app/main/default/lwc/lexCancelReport/lexCancelReport.html
new file mode 100644
index 0000000..c738dca
--- /dev/null
+++ b/force-app/main/default/lwc/lexCancelReport/lexCancelReport.html
@@ -0,0 +1,6 @@
+<template>
+    <div class="cancelReportHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+        <lightning-button label="Show Toast" onclick={ShowToastEvent}></lightning-button>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCancelReport/lexCancelReport.js b/force-app/main/default/lwc/lexCancelReport/lexCancelReport.js
new file mode 100644
index 0000000..0032022
--- /dev/null
+++ b/force-app/main/default/lwc/lexCancelReport/lexCancelReport.js
@@ -0,0 +1,116 @@
+import { api, wire,LightningElement } from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import init  from '@salesforce/apex/OpportunityLightingButtonController.initForCancelReportButton';
+import queryForCancelReportButton  from '@salesforce/apex/OpportunityLightingButtonController.queryForCancelReportButton';
+import { updateRecord } from 'lightning/uiRecordApi';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+export default class LexCancelReport extends LightningElement {
+    @api recordId;
+    stageName;
+    sapSendOK;
+    cntLostCancelReport;
+    cntLostCancelDraft;
+    jobCategory;
+    biddingProjectNameBid;
+    name;
+    salesAssistantName;
+    salesAssistantID;
+    managerName;
+    salesManagerDepartmentID;
+    salesOwnerBuchang;
+    salesOwnerBuchangID;
+    IsLoading = true;
+    @wire(CurrentPageReference)
+    getStateParameters(currentPageReference) {
+            console.log(111);
+            console.log(currentPageReference);
+
+        if (currentPageReference) {
+          const urlValue = currentPageReference.state.recordId;
+          if (urlValue) {
+            let str = `${urlValue}`;
+            console.log("str");
+            console.log(str);
+            this.recordId = str;
+          }
+        }
+    }
+    connectedCallback(){
+        init({
+            recordId: this.recordId
+        }).then(result=>{
+            this.stageName = result.stageName;
+            this.sapSendOK = result.sapSendOK;
+            this.cntLostCancelDraft = result.cntLostCancelDraft;
+            this.cntLostCancelReport = result.cntLostCancelReport;
+            this.jobCategory = result.jobCategory;
+            this.biddingProjectNameBid = result.biddingProjectNameBid;
+            this.name = result.name;
+            this.salesAssistantID = result.salesAssistantID;
+            this.salesAssistantName = result.salesAssistantName;
+            this.managerName = result.managerName;
+            this.salesManagerDepartmentID = result.salesManagerDepartmentID;
+            this.salesOwnerBuchang = result.salesOwnerBuchang;
+            this.salesOwnerBuchangID = result.salesOwnerBuchangID;
+            this.cancelReport();
+        })
+    }
+    showToast(msg,type) {
+        const event = new ShowToastEvent({
+            title: '',
+            message: msg,
+            variant: type
+        });
+        this.dispatchEvent(event);
+    }
+    updateRecordView(recordId) {
+        updateRecord({fields: { Id: recordId }});
+    }
+    cancelReport(){
+        //XLIU-CG98L5 銆愬鎵樸�戙�愯瘎浼般�戞柊闇�姹�-鎷涙爣椤圭洰/璇环瀵瑰簲娴佹爣銆佸簾鏍囨敼鍠� start
+        queryForCancelReportButton({
+            recordId: this.recordId
+        }).then(result=>{
+            var sqlResult = result;
+            // alert('娴嬭瘯+锛�'+sqlResult.size);
+            //XLIU-CG98L5 銆愬鎵樸�戙�愯瘎浼般�戞柊闇�姹�-鎷涙爣椤圭洰/璇环瀵瑰簲娴佹爣銆佸簾鏍囨敼鍠� end
+            // js銇牬鍚堛�佺炕瑷炽仌銈屻仧鍊ゃ亴銇с倠銇仹銆佽娉ㄦ剰
+            if (this.stageName != '寮曞悎'
+            && this.stageName != '璇环'
+            ) {
+                this.showToast("鐘舵��1:" + this.stageName + "銆佷笉鑳藉仛 鍙栨秷 浜嗭紒","error");
+                
+            }
+            else if (this.sapSendOK == '1') {
+                this.showToast("宸茬粡涓婁紶SAP銆佷笉鑳藉仛 鍙栨秷 浜嗭紒","");
+            }
+            else if (this.cntLostCancelReport - this.cntLostCancelDraft > 0) {
+                this.showToast("璇环宸茬粡鏈� 鍙栨秷锛忓け鍗曟姤鍛� 浜嗭紒","error");
+            }
+            else if (this.jobCategory == '鏀彺') {
+                this.showToast("璇环鎵�鏈変汉鏄姪鐞嗙殑锛屽厛璇蜂慨鏀瑰埌閿�鍞媴褰擄紒","");
+            }
+            //XLIU-CG98L5 銆愬鎵樸�戙�愯瘎浼般�戞柊闇�姹�-鎷涙爣椤圭洰/璇环瀵瑰簲娴佹爣銆佸簾鏍囨敼鍠� start
+            //else if({!NOT(ISBLANK(Opportunity.Bidding_Project_Name_Bid__c))}&& '{!Opportunity.subInfoType__c}' != '3-1锛氬簾鏍囧叕鍛�' &&'{!Opportunity.subInfoType__c}' != '3-2锛氭祦鏍囧叕鍛�'){
+            else if(this.biddingProjectNameBid != undefined && sqlResult.size == 0){
+                this.showToast("鏈夋嫑鎶曟爣椤圭洰鏃跺彧鑳藉仛澶卞崟鎴栭儴鍒嗗け鍗曟姤鍛婏紒","error");
+            }
+            //XLIU-CG98L5 銆愬鎵樸�戙�愯瘎浼般�戞柊闇�姹�-鎷涙爣椤圭洰/璇环瀵瑰簲娴佹爣銆佸簾鏍囨敼鍠� end
+            else {
+            location.href = '/a1U/e?retURL=%2F'+ this.recordId +
+            '&RecordType=01210000000R4hH' +
+            '&CF00N10000004lbGT=' + this.name +
+            '&CF00N10000004lbGT_lkid=' + this.recordId +
+            '&CF00N10000006QShg=' + this.salesAssistantName +
+            '&CF00N10000006QShg_lkid=' + this.salesAssistantID +
+            '&CF00N10000006QShq='+ this.managerName +
+            '&CF00N10000006QShq_lkid=' + this.salesManagerDepartmentID +
+            '&CF00N10000006QShb=' + this.salesOwnerBuchang +
+            '&CF00N10000006QShb_lkid=' + this.salesOwnerBuchangID +
+            '';
+        }
+        this.dispatchEvent(new CloseActionScreenEvent());
+        });  
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCancelReport/lexCancelReport.js-meta.xml b/force-app/main/default/lwc/lexCancelReport/lexCancelReport.js-meta.xml
new file mode 100644
index 0000000..329e839
--- /dev/null
+++ b/force-app/main/default/lwc/lexCancelReport/lexCancelReport.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCancelSelect/lexCancelSelect.css b/force-app/main/default/lwc/lexCancelSelect/lexCancelSelect.css
new file mode 100644
index 0000000..af18c76
--- /dev/null
+++ b/force-app/main/default/lwc/lexCancelSelect/lexCancelSelect.css
@@ -0,0 +1,11 @@
+.Holder{
+	position: relative;
+	display: inline-block;
+	width: 80px;
+	height: 80px;
+	text-align: center;
+}
+
+.container .uiContainerManager{
+	display : none !important;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCancelSelect/lexCancelSelect.html b/force-app/main/default/lwc/lexCancelSelect/lexCancelSelect.html
new file mode 100644
index 0000000..bf9cadc
--- /dev/null
+++ b/force-app/main/default/lwc/lexCancelSelect/lexCancelSelect.html
@@ -0,0 +1,5 @@
+<template>
+    <div class="Holder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCancelSelect/lexCancelSelect.js b/force-app/main/default/lwc/lexCancelSelect/lexCancelSelect.js
new file mode 100644
index 0000000..e8fe447
--- /dev/null
+++ b/force-app/main/default/lwc/lexCancelSelect/lexCancelSelect.js
@@ -0,0 +1,53 @@
+import { LightningElement,api, track, wire } from 'lwc';
+import {CurrentPageReference} from 'lightning/navigation';
+import { CloseActionScreenEvent } from 'lightning/actions';
+import init from '@salesforce/apex/SelectSubstituteControllerLWT.initFromSelectSubstituteButton';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+export default class lexCancelSelect extends LightningElement {
+	@api recordId;
+    IsLoading=true;	
+    id;
+    RentalApplyId;
+    Status;
+    @wire(CurrentPageReference)
+	getStateParameters(currentPageReference){
+		console.log("杩涘叆椤甸潰");
+		console.log(currentPageReference);
+		if(currentPageReference){
+			const urvalue=currentPageReference.state.recordId;
+			if(urvalue){
+				let str=`${urvalue}`;
+				console.log('str');
+				console.log(str);
+				this.recordId=str;
+			}
+		}
+	}
+
+
+
+	connectedCallback(){
+		console.log(this.recordId);
+		init({recordId:this.recordId}).then(result=>{
+			console.log(result);
+			if(result!=null){
+				this.id=result.id;
+			    this.RentalApplyId=result.RentalApplyId;
+			    this.Status=result.Status;
+				this.cancelSubmit().then(res=>{
+					this.IsLoading=false;
+					this.dispatchEvent(new CloseActionScreenEvent());
+				});	
+			}
+		}).catch(err=>{
+			console.log("error:");
+			console.log(err);
+		}).finally(()=>{
+
+		});
+	}
+
+    async cancelSubmit(){
+    	window.open("/apex/EquipmentRentalCancel?raid="+this.RentalApplyId,'cancelSelect','width=500,height=250');
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCancelSelect/lexCancelSelect.js-meta.xml b/force-app/main/default/lwc/lexCancelSelect/lexCancelSelect.js-meta.xml
new file mode 100644
index 0000000..d461072
--- /dev/null
+++ b/force-app/main/default/lwc/lexCancelSelect/lexCancelSelect.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lexCancelSelect">
+    <apiVersion>51.0</apiVersion>
+    <isExposed>true</isExposed>    
+    <targets>
+        <target>lightning__AppPage</target>
+        <target>lightning__RecordPage</target>
+        <target>lightning__HomePage</target>
+        <target>lightning__RecordAction</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCancelSubmit/lexCancelSubmit.css b/force-app/main/default/lwc/lexCancelSubmit/lexCancelSubmit.css
new file mode 100644
index 0000000..2cca6a5
--- /dev/null
+++ b/force-app/main/default/lwc/lexCancelSubmit/lexCancelSubmit.css
@@ -0,0 +1,10 @@
+.cancelSubmitHolder{
+    position: relative;
+    display: inline-block;
+    width: 80px;
+    height: 80px;
+    text-align: center;
+}
+.container .uiContainerManager{
+	display: none !important;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCancelSubmit/lexCancelSubmit.html b/force-app/main/default/lwc/lexCancelSubmit/lexCancelSubmit.html
new file mode 100644
index 0000000..f8af820
--- /dev/null
+++ b/force-app/main/default/lwc/lexCancelSubmit/lexCancelSubmit.html
@@ -0,0 +1,6 @@
+<template>
+    <div class="cancelSubmitHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+        <lightning-button label="Show Toast" onclick={showSuccess}></lightning-button>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCancelSubmit/lexCancelSubmit.js b/force-app/main/default/lwc/lexCancelSubmit/lexCancelSubmit.js
new file mode 100644
index 0000000..17d0216
--- /dev/null
+++ b/force-app/main/default/lwc/lexCancelSubmit/lexCancelSubmit.js
@@ -0,0 +1,92 @@
+/*
+ * @Description: 
+ * @version: 
+ * @Author: chen jing wu
+ * @Date: 2023-04-07 09:02:03
+ * @LastEditors: chen jing wu
+ * @LastEditTime: 2023-04-11 11:17:24
+ */
+import { LightningElement,wire,track,api} from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import { NavigationMixin } from 'lightning/navigation';
+import init  from '@salesforce/apex/MonthlyReportController.initForCancelSubmitButton';
+import cancel  from '@salesforce/apex/MonthlyReportController.cancel';
+import UserInfo_Owner from '@salesforce/apex/TaskFeedbackController.UserInfo_Owner';
+import { updateRecord } from 'lightning/uiRecordApi';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+export default class LexCancelSubmit extends LightningElement {
+    @api recordId;//OwnerId
+    ownerId;
+    monthlyReportId;
+    IsLoading = true;
+
+
+    @wire(CurrentPageReference)
+    getStateParameters(currentPageReference) {
+            console.log(111);
+            console.log(currentPageReference);
+
+        if (currentPageReference) {
+          const urlValue = currentPageReference.state.recordId;
+          if (urlValue) {
+            let str = `${urlValue}`;
+            console.log("str");
+            console.log(str);
+            this.recordId = str;
+          }
+        }
+    }
+
+    connectedCallback () {
+        console.log(this.recordId);
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            console.log(result);
+            if (result != null) {
+                this.ownerId = result.ownerId;
+                this.monthlyReportId = result.Id;
+                this.cancelSubmit();
+                console.log("end");
+                //window.location.replace("https://ocsm--partial.sandbox.lightning.force.com/lightning/r/Monthly_Report__c/" + this.monthlyReportId + "/view");
+            }
+        }).catch(error => {
+            console.log("error");
+            console.log(error);
+        });   
+    }
+
+    showToast(msg,type) {
+        const event = new ShowToastEvent({
+            title: '',
+            message: msg,
+            variant: type
+        });
+        this.dispatchEvent(event);
+    }
+    updateRecordView(recordId) {
+        updateRecord({fields: { Id: recordId }});
+    }
+    cancelSubmit () {
+        //闇�瑕佸畬鍠�
+        if(this.ownerId == UserInfo_Owner.Id) {
+            cancel({
+                recordId: this.recordId
+            }).then(result=>{
+                if(result){
+                    this.showToast(result,"error");
+                }else{
+                    this.showToast("鎴愬姛","success");
+                    this.updateRecordView(this.recordId);
+                }
+                this.IsLoading = false;
+                this.dispatchEvent(new CloseActionScreenEvent());
+            });
+            console.log("321");
+            } else {
+            this.showToast("鍙湁鍛ㄦ姤鐨勬墍鏈変汉鍙互鍙栨秷","error");
+            this.dispatchEvent(new CloseActionScreenEvent());
+            }
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCancelSubmit/lexCancelSubmit.js-meta.xml b/force-app/main/default/lwc/lexCancelSubmit/lexCancelSubmit.js-meta.xml
new file mode 100644
index 0000000..709c8f7
--- /dev/null
+++ b/force-app/main/default/lwc/lexCancelSubmit/lexCancelSubmit.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+     <apiVersion>54.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCancelSubmitReport/lexCancelSubmitReport.css b/force-app/main/default/lwc/lexCancelSubmitReport/lexCancelSubmitReport.css
new file mode 100644
index 0000000..3e04b55
--- /dev/null
+++ b/force-app/main/default/lwc/lexCancelSubmitReport/lexCancelSubmitReport.css
@@ -0,0 +1,10 @@
+.cancelSubmitReportHolder{
+    position: relative;
+    display: inline-block;
+    width: 80px;
+    height: 80px;
+    text-align: center;
+}
+.container .uiContainerManager{
+	display: none !important;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCancelSubmitReport/lexCancelSubmitReport.html b/force-app/main/default/lwc/lexCancelSubmitReport/lexCancelSubmitReport.html
new file mode 100644
index 0000000..6b80280
--- /dev/null
+++ b/force-app/main/default/lwc/lexCancelSubmitReport/lexCancelSubmitReport.html
@@ -0,0 +1,6 @@
+<template>
+    <div class="cancelSubmitReportHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+        <lightning-button label="Show Toast" onclick={ShowToastEvent}></lightning-button>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCancelSubmitReport/lexCancelSubmitReport.js b/force-app/main/default/lwc/lexCancelSubmitReport/lexCancelSubmitReport.js
new file mode 100644
index 0000000..becb18d
--- /dev/null
+++ b/force-app/main/default/lwc/lexCancelSubmitReport/lexCancelSubmitReport.js
@@ -0,0 +1,68 @@
+/*
+ * @Description: 
+ * @version: 
+ * @Author: chen jing wu
+ * @Date: 2023-04-07 09:02:03
+ * @LastEditors: chen jing wu
+ * @LastEditTime: 2023-04-11 11:18:36
+ */
+import { LightningElement,wire,track,api} from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import cancel  from '@salesforce/apex/ReportController.updateForCancelSubmitReportButton';
+import { updateRecord } from 'lightning/uiRecordApi';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+export default class LexCancelSubmitReport extends LightningElement {
+    @api recordId;
+    IsLoading = true;
+    @wire(CurrentPageReference)
+    getStateParameters(currentPageReference) {
+            console.log(111);
+            console.log(currentPageReference);
+
+        if (currentPageReference) {
+          const urlValue = currentPageReference.state.recordId;
+          if (urlValue) {
+            let str = `${urlValue}`;
+            console.log("str");
+            console.log(str);
+            this.recordId = str;
+          }
+        }
+    }
+
+    connectedCallback(){
+        console.log(this.recordId);
+        this.cancelSubmit();
+    }
+
+
+    cancelSubmit(){
+        cancel({
+            recordId: this.recordId
+        }).then(result =>{
+            if(result){
+                this.showToast(result,"error");
+            }else{
+                this.showToast("鍙栨秷鎻愪氦鎴愬姛锛�","success");
+                this.updateRecordView(this.recordId);
+            }
+            this.IsLoading = false;
+            this.dispatchEvent(new CloseActionScreenEvent());
+        });
+    }
+
+    updateRecordView(recordId) {
+        updateRecord({fields: { Id: recordId }});
+    }
+
+
+    showToast(msg,type) {
+        const event = new ShowToastEvent({
+            title: '',
+            message: msg,
+            variant: type
+        });
+        this.dispatchEvent(event);
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCancelSubmitReport/lexCancelSubmitReport.js-meta.xml b/force-app/main/default/lwc/lexCancelSubmitReport/lexCancelSubmitReport.js-meta.xml
new file mode 100644
index 0000000..329e839
--- /dev/null
+++ b/force-app/main/default/lwc/lexCancelSubmitReport/lexCancelSubmitReport.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexClearReturnDeliverySlip/lexClearReturnDeliverySlip.css b/force-app/main/default/lwc/lexClearReturnDeliverySlip/lexClearReturnDeliverySlip.css
new file mode 100644
index 0000000..af18c76
--- /dev/null
+++ b/force-app/main/default/lwc/lexClearReturnDeliverySlip/lexClearReturnDeliverySlip.css
@@ -0,0 +1,11 @@
+.Holder{
+	position: relative;
+	display: inline-block;
+	width: 80px;
+	height: 80px;
+	text-align: center;
+}
+
+.container .uiContainerManager{
+	display : none !important;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexClearReturnDeliverySlip/lexClearReturnDeliverySlip.html b/force-app/main/default/lwc/lexClearReturnDeliverySlip/lexClearReturnDeliverySlip.html
new file mode 100644
index 0000000..22a26df
--- /dev/null
+++ b/force-app/main/default/lwc/lexClearReturnDeliverySlip/lexClearReturnDeliverySlip.html
@@ -0,0 +1,5 @@
+<template>
+  <div class="Holder" if:true={IsLoading}>
+              <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+  </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexClearReturnDeliverySlip/lexClearReturnDeliverySlip.js b/force-app/main/default/lwc/lexClearReturnDeliverySlip/lexClearReturnDeliverySlip.js
new file mode 100644
index 0000000..feea158
--- /dev/null
+++ b/force-app/main/default/lwc/lexClearReturnDeliverySlip/lexClearReturnDeliverySlip.js
@@ -0,0 +1,107 @@
+import { LightningElement,api, track, wire } from 'lwc';
+import {CurrentPageReference} from 'lightning/navigation';
+import { CloseActionScreenEvent } from 'lightning/actions';
+import getUserId from '@salesforce/apex/RentalApplyControllerLWT.getUserId';
+import init from '@salesforce/apex/SelectSubstituteControllerLWT.initClearReturnDeliverySlipButton';
+import updateRaescList from '@salesforce/apex/SelectSubstituteControllerLWT.updateRaescList';
+import selectRacById from '@salesforce/apex/SelectSubstituteControllerLWT.selectRacById';
+import selectRaesdcId from '@salesforce/apex/SelectSubstituteControllerLWT.selectRaesdcId';
+
+import { loadScript } from 'lightning/platformResourceLoader';
+import { submitForApproval } from 'lightning/uiRecordApi';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+
+
+export default class lexClearReturnDeliverySlip extends LightningElement {
+
+	@api recordId;
+    id;
+    RentalApplyId;
+    Status;
+    IsLoading=true;
+    @wire(CurrentPageReference)
+	getStateParameters(currentPageReference){
+		console.log("杩涘叆椤甸潰");
+		console.log(currentPageReference);
+		if(currentPageReference){
+			const urvalue=currentPageReference.state.recordId;
+			if(urvalue){
+				let str=`${urvalue}`;
+				console.log('str');
+				console.log(str);
+				this.recordId=str;
+			}
+		}
+	}
+
+
+
+	connectedCallback(){
+		console.log(this.recordId);
+		init({recordId:this.recordId}).then(result=>{
+			console.log(result);
+			if(result!=null){
+				this.Rental_Apply_Equipment_Set__c=result;
+				this.cancelSubmit().then(res=>{
+					this.IsLoading=false;
+					this.dispatchEvent(new CloseActionScreenEvent());
+				});	
+			}
+		}).catch(err=>{
+			console.log("error:");
+			console.log(err);
+		}).finally(()=>{
+
+		});
+	}
+
+
+ 
+    async cancelSubmit(){
+    	console.log("hhh1");
+    	var raesId = this.recordId;
+    	console.log("hhh2");
+		var result = await selectRaesdcId({recordId:this.recordId});
+		console.log("hhh3");
+		var objs = result;
+		if (objs.length< 1) {
+			// alert('娌℃湁闇�瑕佹竻绌虹殑涓�瑙堟槑缁�');
+			const event = new ShowToastEvent({
+	            title: '鎻愮ず淇℃伅',
+	            message:'娌℃湁闇�瑕佹竻绌虹殑涓�瑙堟槑缁�'
+	        });
+	        this.dispatchEvent(event);
+		} else {
+			console.log("hhh4");
+			var result;
+			console.log("hhh5");
+			await updateRaescList({updateList:objs})
+			.then(res=>{
+				console.log(res);
+				result=res;
+			});
+			console.log("hhh6");
+			if (result.success==true) {
+				console.log("hhh7");
+				// success
+				// alert("鍥炲瘎杩愯緭鍗曚俊鎭凡娓呯┖");
+				const event = new ShowToastEvent({
+		            title: '鎻愮ず淇℃伅',
+		            message:"鍥炲瘎杩愯緭鍗曚俊鎭凡娓呯┖"
+		        });
+		        this.dispatchEvent(event);
+				setTimeout(function() {
+					location.href = "/"+this.recordId;
+				}, 100);
+			} else {
+				console.log("hhh8");
+				// alert("failed to update:" + result.errors.fields + " " + result[0].errors.message);
+				const event = new ShowToastEvent({
+		            title: '鎻愮ず淇℃伅',
+		            message:"failed to update:" + result.errors.fields + " " + result[0].errors.message
+		        });
+		        this.dispatchEvent(event);
+			}
+		}
+	}
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexClearReturnDeliverySlip/lexClearReturnDeliverySlip.js-meta.xml b/force-app/main/default/lwc/lexClearReturnDeliverySlip/lexClearReturnDeliverySlip.js-meta.xml
new file mode 100644
index 0000000..69c3072
--- /dev/null
+++ b/force-app/main/default/lwc/lexClearReturnDeliverySlip/lexClearReturnDeliverySlip.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lexClearReturnDeliverySlip">
+    <apiVersion>51.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightning__AppPage</target>
+        <target>lightning__RecordPage</target>
+        <target>lightning__HomePage</target>
+        <target>lightning__RecordAction</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexComplete/lexComplete.css b/force-app/main/default/lwc/lexComplete/lexComplete.css
new file mode 100644
index 0000000..f9aba1f
--- /dev/null
+++ b/force-app/main/default/lwc/lexComplete/lexComplete.css
@@ -0,0 +1,10 @@
+.completeHolder{
+    position: relative;
+    display: inline-block;
+    width: 80px;
+    height: 80px;
+    text-align: center;
+}
+.container .uiContainerManager{
+	display: none !important;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexComplete/lexComplete.html b/force-app/main/default/lwc/lexComplete/lexComplete.html
new file mode 100644
index 0000000..7c1968c
--- /dev/null
+++ b/force-app/main/default/lwc/lexComplete/lexComplete.html
@@ -0,0 +1,6 @@
+<template>
+    <div class="completeHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+        <lightning-button label="Show Toast" onclick={ShowToastEvent}></lightning-button>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexComplete/lexComplete.js b/force-app/main/default/lwc/lexComplete/lexComplete.js
new file mode 100644
index 0000000..fb737d5
--- /dev/null
+++ b/force-app/main/default/lwc/lexComplete/lexComplete.js
@@ -0,0 +1,96 @@
+/*
+ * @Description: 
+ * @version: 
+ * @Author: chen jing wu
+ * @Date: 2023-04-07 09:02:03
+ * @LastEditors: chen jing wu
+ * @LastEditTime: 2023-04-11 11:21:30
+ */
+import { LightningElement,wire,track,api} from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import init  from '@salesforce/apex/ReportController.initForCompleteButton';
+import updateForCompleteButton  from '@salesforce/apex/ReportController.updateForCompleteButton';
+import UserInfo_Owner from '@salesforce/apex/TaskFeedbackController.UserInfo_Owner';
+import { updateRecord } from 'lightning/uiRecordApi';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+export default class LexComplete extends LightningElement {
+    @api recordId;
+    profileId;
+    status;
+    IsLoading = true;
+
+    @wire(CurrentPageReference)
+    getStateParameters(currentPageReference) {
+            console.log(111);
+            console.log(currentPageReference);
+
+        if (currentPageReference) {
+          const urlValue = currentPageReference.state.recordId;
+          if (urlValue) {
+            let str = `${urlValue}`;
+            console.log("str");
+            console.log(str);
+            this.recordId = str;
+          }
+        }
+    }
+    
+    connectedCallback () {
+        console.log(this.recordId);
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            console.log(result);
+            if (result != null) {
+                this.status = result.status;
+                this.profileId = result.profileId;
+                this.complete();
+                //window.location.replace("https://ocsm--partial.sandbox.lightning.force.com/lightning/r/Report__c/" + this.recordId + "/view");
+            }
+        }).catch(error => {
+            console.log("error");
+            console.log(error);
+        });   
+        //this.updateRecordView(this.recordId);
+    }
+
+    showToast(msg,type) {
+        const event = new ShowToastEvent({
+            title: '',
+            message: msg,
+            variant: type
+        });
+        this.dispatchEvent(event);
+    }
+
+    updateRecordView(recordId) {
+        updateRecord({fields: { Id: recordId }});
+    }
+
+
+
+    complete () {
+        // 闄嗚儨锛岃儭杩畨锛岀郴缁熺鐞嗗憳浠ュ娌℃湁鏉冮檺
+        if (UserInfo_Owner.Id != "00510000004reg2" && UserInfo_Owner.Id != "00510000000gWAE" && this.profileId != "00e10000000Y3o5") {
+            this.showToast("浣犳病鏈夋潈闄�","error");
+            return;
+        }
+        if (this.status == "瀹屾瘯") {
+            this.showToast("宸茬粡瀹屾瘯锛�","error");
+            return;
+        }
+        updateForCompleteButton({
+            recordId: this.recordId
+        }).then(result =>{
+            if(result){
+                this.showToast(result,"error");
+            }else{
+                this.updateRecordView(this.recordId);
+                this.showToast("瀹屾瘯鎴愬姛锛�","success");
+            }
+            this.IsLoading = false;
+            this.dispatchEvent(new CloseActionScreenEvent());
+        });
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexComplete/lexComplete.js-meta.xml b/force-app/main/default/lwc/lexComplete/lexComplete.js-meta.xml
new file mode 100644
index 0000000..329e839
--- /dev/null
+++ b/force-app/main/default/lwc/lexComplete/lexComplete.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexConInvoiceView/lexConInvoiceView.css b/force-app/main/default/lwc/lexConInvoiceView/lexConInvoiceView.css
new file mode 100644
index 0000000..ade7b53
--- /dev/null
+++ b/force-app/main/default/lwc/lexConInvoiceView/lexConInvoiceView.css
@@ -0,0 +1,29 @@
+.outerBorderCss{
+    border: 1px solid #D4D4D4;
+    border-radius : 5px;
+    border-top : 3px solid #565959;
+}
+.borderCss{
+    border: 1px solid #D4D4D4;
+    border-radius : 5px;
+    margin-bottom : 7px;
+    border-top : 3px solid #565959;
+}
+.headerDorderCss{
+    border-top: 1px solid #565959;
+    border-bottom: 1px solid #D4D4D4;
+    padding:3px;
+}
+.centerCss{
+    text-align: center;
+}
+.centerCss .left{
+    margin-left: 100px;
+}
+.datatable {
+    max-height: 400px !important;
+}
+.tableColumn {
+    margin-top: 5px !important;
+    overflow-x: auto;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexConInvoiceView/lexConInvoiceView.html b/force-app/main/default/lwc/lexConInvoiceView/lexConInvoiceView.html
new file mode 100644
index 0000000..8e4604f
--- /dev/null
+++ b/force-app/main/default/lwc/lexConInvoiceView/lexConInvoiceView.html
@@ -0,0 +1,462 @@
+<!-- sldsValidatorIgnore -->
+<!-- sldsValidatorIgnore -->
+<template>
+    <template if:true={isShowSpinner}>
+        <lightning-spinner alternative-text="Loading" size="large"></lightning-spinner>
+    </template>
+
+
+    <template if:false={isConInvoiceList}>
+        <!-- 鎼滅储瀹㈡埛鍚� -->
+        <template if:true={isModalOpen}>
+            <!-- Modal/Popup Box LWC starts here -->
+            <section role="dialog" tabindex="-1" aria-labelledby="modal-heading-01" aria-modal="true"
+                aria-describedby="modal-content-id-1" class="slds-modal slds-fade-in-open">
+                <div class="slds-modal__container">
+                    <!-- Modal/Popup Box LWC header here -->
+                    <header class="slds-modal__header">
+                        <button class="slds-button slds-button_icon slds-modal__close slds-button_icon-inverse"
+                            title="Close" onclick={closeModal}>
+                            <lightning-icon icon-name="utility:close" alternative-text="close" variant="inverse"
+                                size="small"></lightning-icon>
+                            <span class="slds-assistive-text">Close</span>
+                        </button>
+                        <h2 id="modal-heading-01" class="slds-text-heading_medium slds-hyphenate">
+                            缁忛攢鍟嗗尰闄㈡绱�
+                        </h2>
+                    </header>
+                    <!-- Modal/Popup Box LWC body starts here -->
+                    <div class="slds-modal__content slds-p-around_medium" id="modal-content-id-1">
+                        <lightning-layout>
+                            <lightning-layout-item flexibility="auto" padding="around-small">
+                                <lightning-input type="text" label="鍖婚櫌鍚嶇О" onchange={dataChange}
+                                    data-field="searchHospitalName" value={searchHospitalName}
+                                    variant="label-inline"></lightning-input>
+                            </lightning-layout-item>
+                            <lightning-layout-item flexibility="auto" padding="around-small">
+                                <lightning-button label="妫�绱�" onclick={searchHospital}></lightning-button>
+                            </lightning-layout-item>
+                        </lightning-layout>
+
+                        <div class="tableColumn">
+                            <lightning-layout class="datatable">
+                                <lightning-datatable class="datatabel slds-border_top" key-field="id"
+                                    data={hospitalList} columns={hospitalColumns} hide-checkbox-column="true"
+                                    onrowaction={searchHandleRowAction}>
+                                </lightning-datatable>
+                            </lightning-layout>
+                        </div>
+                    </div>
+                    <!-- Modal/Popup Box LWC footer starts here -->
+                    <footer class="slds-modal__footer">
+                        <button class="slds-button slds-button_neutral" onclick={closeModal} title="Cancel">
+                            鍏抽棴
+                        </button>
+                    </footer>
+                </div>
+            </section>
+            <div class="slds-backdrop slds-backdrop_open"></div>
+        </template>
+        <div class="outerBorderCss">
+            <div style="padding:5px;">
+
+                <div class="borderCss">
+                    <div style="padding:10px;">
+                        <div lwc:dom="manual" class="resultDiv"></div>
+                        <div draggable="false">
+                            <lightning-layout>
+
+                                <template if:true={EditAble}>
+                                    <lightning-layout-item flexibility="auto" padding="around-small">
+                                        <lightning-button label="纭畾" onclick={SaveJs}></lightning-button>
+                                    </lightning-layout-item>
+                                </template>
+
+                                <template if:false={EditAble}>
+                                    <lightning-layout-item flexibility="auto" padding="around-small">
+                                        <lightning-button label="缂栬緫" onclick={SetEditAbleJs}
+                                            disabled={isDisabledEdit}></lightning-button>
+                                    </lightning-layout-item>
+                                    <lightning-layout-item flexibility="auto" padding="around-small">
+                                        <lightning-button label="鎻愪氦" onclick={approvalJs}
+                                            disabled={isDisabledEdit}></lightning-button>
+                                    </lightning-layout-item>
+                                    <lightning-layout-item flexibility="auto" padding="around-small">
+                                        <lightning-button label="鏄剧ず鏄庣粏" onclick={openReportJs}></lightning-button>
+                                    </lightning-layout-item>
+                                    <lightning-layout-item flexibility="auto" padding="around-small">
+                                        <lightning-button label="浣滃簾閲嶅紑" onclick={reopenJs}
+                                            disabled={isDisabledReopen}></lightning-button>
+                                    </lightning-layout-item>
+                                    <lightning-layout-item flexibility="auto" padding="around-small">
+                                        <lightning-button label="鍒犻櫎" onclick={deleteButtonJs}
+                                            disabled={isDisabledDelete}></lightning-button>
+                                    </lightning-layout-item>
+                                </template>
+
+                            </lightning-layout>
+
+                        </div>
+                    </div>
+                </div>
+
+                <div class="borderCss">
+                    <div class="headerDorderCss">
+                        <p style="font-size: 16px;"><strong>鍙戠エ淇℃伅</strong></p>
+                    </div>
+                    <div style="padding:10px;">
+                        <div lwc:dom="manual" class="resultDiv"></div>
+                        <div draggable="false">
+                            <!--鍙戠エ淇℃伅 鏄剧ず鐢� -->
+                            <template if:false={isEditInvoice}>
+                                <lightning-record-edit-form object-api-name="Consumable_order__c" record-id={cocId}>
+                                    <!-- 鍙戠エ鍙� 鐘舵�� -->
+                                    <lightning-layout multiple-rows="true">
+                                        <lightning-layout-item class="hehe-layoutItem" size="4">
+                                            <lightning-output-field field-name="Name"></lightning-output-field>
+                                        </lightning-layout-item>
+                                        <lightning-layout-item class="hehe-layoutItem" size="4">
+                                            <lightning-output-field
+                                                field-name="Invoice_status__c"></lightning-output-field>
+                                        </lightning-layout-item>
+                                    </lightning-layout>
+
+                                    <!-- 鍙戠エ鏃ユ湡 -->
+                                    <lightning-layout multiple-rows="true">
+                                        <lightning-layout-item class="hehe-layoutItem" size="4">
+                                            <lightning-output-field
+                                                field-name="Invoice_Date__c"></lightning-output-field>
+                                        </lightning-layout-item>
+                                    </lightning-layout>
+
+                                    <!-- 浜岀骇缁忛攢鍟� -->
+                                    <template if:true={isShowSecondaryDistributor}>
+                                        <lightning-layout multiple-rows="true">
+                                            <lightning-layout-item class="hehe-layoutItem" size="4">
+                                                <lightning-output-field
+                                                    field-name="Order_Dealer_Info__c"></lightning-output-field>
+                                            </lightning-layout-item>
+                                        </lightning-layout>
+                                    </template>
+
+                                    <!-- 瀹㈡埛鍚� -->
+                                    <lightning-layout multiple-rows="true">
+                                        <lightning-layout-item class="hehe-layoutItem" size="4">
+                                            <lightning-output-field
+                                                field-name="ShipmentAccount__c"></lightning-output-field>
+                                        </lightning-layout-item>
+                                    </lightning-layout>
+
+                                    <!-- 绉戝 鍙戠エ绁ㄩ潰閲戦 -->
+                                    <lightning-layout multiple-rows="true">
+                                        <lightning-layout-item class="hehe-layoutItem" size="4">
+                                            <lightning-output-field
+                                                field-name="Order_ForCustomerText__c"></lightning-output-field>
+                                        </lightning-layout-item>
+                                        <lightning-layout-item class="hehe-layoutItem" size="4">
+                                            <lightning-input label="鍙戠エ绁ㄩ潰閲戦(鍏�)" value={sumPrice} read-only
+                                                variant="label-inline"></lightning-input>
+                                        </lightning-layout-item>
+                                    </lightning-layout>
+
+                                    <!-- 澶囨敞 -->
+                                    <lightning-layout multiple-rows="true">
+                                        <lightning-layout-item class="hehe-layoutItem" size="4">
+                                            <lightning-output-field
+                                                field-name="Invoice_Note__c"></lightning-output-field>
+                                        </lightning-layout-item>
+                                    </lightning-layout>
+
+                                    <!-- 鍙戠エ闄勪欢 鏄庣粏闄勪欢 -->
+                                    <lightning-layout multiple-rows="true">
+                                        <lightning-layout-item class="hehe-layoutItem" size="4">
+                                            <lightning-output-field
+                                                field-name="Invoice_attachment__c"></lightning-output-field>
+                                        </lightning-layout-item>
+                                        <lightning-layout-item class="hehe-layoutItem" size="4">
+                                            <lightning-output-field
+                                                field-name="Invoicedet_attachment__c"></lightning-output-field>
+                                        </lightning-layout-item>
+                                    </lightning-layout>
+                                </lightning-record-edit-form>
+                            </template>
+                            <!--鍙戠エ淇℃伅 缂栬緫鐢� -->
+                            <template if:true={isEditInvoice}>
+                                <lightning-record-edit-form object-api-name="Consumable_order__c" record-id={cocId}>
+                                    <!-- 鍙戠エ鍙� 鐘舵�� -->
+                                    <lightning-layout multiple-rows="true">
+                                        <lightning-layout-item class="hehe-layoutItem" size="4">
+                                            <lightning-input label="鍙戠エ鍙�" value={OrderCode} data-field="OrderCode"
+                                                onchange={dataChange} variant="label-inline" required></lightning-input>
+                                        </lightning-layout-item>
+                                        <lightning-layout-item class="hehe-layoutItem" size="4">
+                                            <lightning-output-field
+                                                field-name="Invoice_status__c"></lightning-output-field>
+                                        </lightning-layout-item>
+                                    </lightning-layout>
+
+                                    <!-- 鍙戠エ鏃ユ湡 -->
+                                    <lightning-layout multiple-rows="true">
+                                        <lightning-layout-item class="hehe-layoutItem" size="4">
+                                            <lightning-input type="date" label="鍙戠エ鏃ユ湡" variant="label-inline"
+                                                value={InvoiceDate} onchange={invoiceDateChange}
+                                                required></lightning-input>
+                                        </lightning-layout-item>
+                                    </lightning-layout>
+
+                                    <!-- 瀹㈡埛鍚� 浜岀骇缁忛攢鍟� -->
+                                    <lightning-layout multiple-rows="true">
+                                        <lightning-layout-item class="hehe-layoutItem" size="4">
+                                            <div
+                                                class="slds-form-element__control slds-input-has-icon slds-input-has-icon_right">
+                                                <lightning-icon size="x-small"
+                                                    class="iconMargin slds-icon slds-input__icon slds-input__icon_right slds-icon-text-default"
+                                                    icon-name="utility:search"></lightning-icon>
+                                                <lightning-input type="text" name="HospitalName" label="瀹㈡埛鍚�"
+                                                    value={HospitalName} variant="label-inline"
+                                                    onclick={searchHospitalNameModal} data-field="HospitalName"
+                                                    onchange={clearAgencyI}></lightning-input>
+                                            </div>
+                                        </lightning-layout-item>
+                                        <lightning-layout-item class="hehe-layoutItem" size="4">
+                                            <lightning-combobox data-field="secondaryDistributor"
+                                                name="secondaryDistributor" label="浜岀骇缁忛攢鍟�" value={secondaryDistributor}
+                                                placeholder="璇烽�夋嫨..." options={provinceOptsMap} variant="label-inline"
+                                                onchange={dataChange}></lightning-combobox>
+                                        </lightning-layout-item>
+                                    </lightning-layout>
+
+                                    <!-- 绉戝 缁忛攢鍟�(褰曞叆) -->
+                                    <lightning-layout multiple-rows="true">
+                                        <lightning-layout-item class="hehe-layoutItem" size="4">
+                                            <lightning-input-field onchange={dataChange} data-field="ForCustomerText"
+                                                value={ForCustomerText}
+                                                field-name="Order_ForCustomerText__c"></lightning-input-field>
+                                        </lightning-layout-item>
+                                        <lightning-layout-item class="hehe-layoutItem" size="4">
+                                            <lightning-output-field
+                                                field-name="Order_ForDealerText__c"></lightning-output-field>
+                                        </lightning-layout-item>
+                                    </lightning-layout>
+
+                                    <!-- 澶囨敞 -->
+                                    <lightning-layout multiple-rows="true">
+                                        <lightning-layout-item class="hehe-layoutItem" size="4">
+                                            <lightning-input-field onchange={dataChange} data-field="InvoiceNote"
+                                                value={InvoiceNote}
+                                                field-name="Invoice_Note__c"></lightning-input-field>
+                                        </lightning-layout-item>
+                                    </lightning-layout>
+
+                                </lightning-record-edit-form>
+                            </template>
+                            <!-- 鍑哄簱鍗曚竴瑙� -->
+                            <div class="borderCss">
+                                <div class="headerDorderCss">
+                                    <p style="font-size: 16px">
+                                        <strong>鍑哄簱鍗曚竴瑙�</strong>
+                                    </p>
+                                </div>
+
+                                <template if:false={hideCheckbox}>
+                                    <div style="padding: 10px">
+                                        <div lwc:dom="manual" class="resultDiv"></div>
+                                        <div draggable="false">
+                                            <lightning-button label="妫�绱�"
+                                                onclick={InvoiceorderSearchJs}></lightning-button>
+                                        </div>
+                                    </div>
+                                </template>
+
+                                <div style="padding: 10px">
+                                    <div lwc:dom="manual" class="resultDiv"></div>
+                                    <div draggable="false">
+                                        <lightning-datatable key-field="id" data={outboundData}
+                                            columns={outboundColumns} hide-checkbox-column={hideCheckbox}
+                                            onrowselection={getSelectedRows}>
+                                        </lightning-datatable>
+                                        <lightning-datatable key-field="id" data={outboundDataSumPrice}
+                                            columns={outboundColumns} hide-checkbox-column hide-table-header>
+                                        </lightning-datatable>
+                                    </div>
+                                </div>
+                            </div>
+                            <!-- 鍙戠エ鏄庣粏 -->
+                            <template if:true={done}>
+                                <div class="borderCss">
+                                    <div class="headerDorderCss">
+                                        <p style="font-size: 16px">
+                                            <strong>鍙戠エ鏄庣粏</strong>
+                                        </p>
+                                    </div>
+                                    <div style="padding: 10px">
+                                        <div lwc:dom="manual" class="resultDiv"></div>
+                                        <div draggable="false">
+                                            <lightning-datatable key-field="id" data={invoiceOrderdetail1Recoeds}
+                                                columns={invoiceDetailsColumns} hide-checkbox-column>
+                                            </lightning-datatable>
+                                        </div>
+                                    </div>
+                                </div>
+                            </template>
+                            <!-- 涓婁紶闄勪欢 -->
+                            <template if:false={EditAble}>
+                                <div class="borderCss">
+                                    <div class="headerDorderCss">
+                                        <p style="font-size: 16px">
+                                            <strong>闄勪欢</strong>
+                                        </p>
+                                    </div>
+                                    <div style="padding: 10px">
+                                        <div lwc:dom="manual" class="resultDiv"></div>
+                                        <div draggable="false">
+                                            <lightning-card title="">
+                                                <lightning-layout multiple-rows="true" style="margin-top: -20px">
+                                                    <lightning-layout-item size="3">
+                                                        <lightning-input label="" name="涓婁紶闄勪欢"
+                                                            onchange={handleFilesChange} type="file"
+                                                            accept={acceptedType}
+                                                            disabled={isDisabledReopen}></lightning-input>
+                                                        <!-- <lightning-input label="" name="涓婁紶闄勪欢"
+                                                            onchange={handleFilesChange} type="file"
+                                                            accept={acceptedType}></lightning-input> -->
+                                                    </lightning-layout-item>
+                                                    <lightning-layout-item size="3">
+                                                        <span class="slds-form-element__label" data-form-label></span>
+                                                        </br>
+                                                        <lightning-button label="淇濆瓨闄勪欢" style="margin-top: 20px"
+                                                            onclick={saveAttachmentJs}
+                                                            disabled={isDisabledReopen}></lightning-button>
+                                                        <!-- <lightning-button label="淇濆瓨闄勪欢" style="margin-top: 20px"
+                                                            onclick={saveAttachmentJs}></lightning-button> -->
+                                                    </lightning-layout-item>
+                                                </lightning-layout>
+                                                <template if:true={showLoadingSpinner}>
+                                                    <lightning-spinner
+                                                        alternative-text="Uploading now"></lightning-spinner>
+                                                </template>
+                                                <footer style="margin-top: 20px">
+                                                    <!-- <lightning-datatable key-field="id" data={fileData}
+                                                        columns={fileColumns} hide-checkbox-column>
+                                                    </lightning-datatable> -->
+                                                    <c-lex-custom-lightning-datatable key-field="Id" data={fileData}
+                                                        columns={fileColumns} ontypechange={handleTypeChange}
+                                                        hide-checkbox-column>
+                                                    </c-lex-custom-lightning-datatable>
+                                                </footer>
+                                            </lightning-card>
+                                        </div>
+                                    </div>
+                                </div>
+                            </template>
+                        </div>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </template>
+
+    <template if:true={isConInvoiceList}>
+        <div class="outerBorderCss">
+            <div style="padding:5px;">
+                <!-- 鏂板缓鍙戠エ -->
+                <div class="borderCss">
+                    <div style="padding:10px;">
+                        <div lwc:dom="manual" class="resultDiv"></div>
+                        <div draggable="false">
+                            <lightning-button label="鏂板缓鍙戠エ" onclick={newInvoiceJs}></lightning-button>
+
+
+                        </div>
+                    </div>
+                </div>
+
+                <!-- 妫�绱㈡潯浠� -->
+                <div class="borderCss" style="margin-top: 5px;">
+                    <div class="headerDorderCss">
+                        <p style="font-size: 16px">
+                            <strong>妫�绱㈡潯浠�</strong>
+                        </p>
+                    </div>
+                    <div style="padding: 10px">
+                        <div lwc:dom="manual" class="resultDiv"></div>
+                        <div draggable="false">
+
+                            <lightning-layout multiple-rows>
+                                <lightning-layout-item flexibility="auto">
+                                    <div class="slds-text-align_center">
+                                        <div class="slds-grid slds-grid_vertical-align-center">
+                                            <div class="slds-form-element__label">鍑哄簱鏃�&#12288;浠�</div>
+                                            <lightning-input type="date" variant="label-hidden" label="鍑哄簱鏃� 浠�"
+                                                onchange={dataChange} data-field="deliveryFromDate"
+                                                value={deliveryFromDate}></lightning-input>
+                                        </div>
+
+                                        </br>
+                                        <div class="slds-grid slds-grid_vertical-align-center">
+                                            <div class="slds-form-element__label">&#12288;&#12288;&#12288;&#12288;鍒�
+                                            </div>
+                                            <lightning-input type="date" variant="label-hidden" label="鍒�"
+                                                onchange={dataChange} data-field="deliveryToDate"
+                                                value={deliveryToDate}></lightning-input>
+                                        </div>
+                                    </div>
+                                </lightning-layout-item>
+                                <lightning-layout-item flexibility="auto">
+                                    <div class="slds-grid slds-grid_vertical-align-center">
+                                        <div class="slds-form-element__label">鍙戠エ鍙�</div>
+                                        <lightning-input variant="label-hidden" label="鍙戠エ鍙�" onchange={dataChange}
+                                            data-field="category1" value={category1}></lightning-input>
+                                    </div>
+                                </lightning-layout-item>
+                                <lightning-layout-item flexibility="auto">
+                                    <div class="slds-grid slds-grid_vertical-align-center">
+                                        <div class="slds-form-element__label">瀹㈡埛鍚�</div>
+                                        <lightning-input variant="label-hidden" label="瀹㈡埛鍚�" onchange={dataChange}
+                                            data-field="category2" value={category2}></lightning-input>
+                                    </div>
+                                </lightning-layout-item>
+                                <lightning-layout-item flexibility="auto">
+                                    <div class="slds-grid slds-grid_vertical-align-center">
+                                        <div class="slds-form-element__label">鐘舵��</div>
+                                        <lightning-combobox data-field="invoiceStatus" name="invoiceStatus" label="鐘舵��"
+                                            value={invoiceStatusValue} placeholder="璇烽�夋嫨..." options={Options}
+                                            variant="label-hidden" onchange={dataChange}></lightning-combobox>
+                                    </div>
+                                </lightning-layout-item>
+                                <lightning-layout-item flexibility="auto">
+                                    <div class="slds-grid slds-grid_vertical-align-center">
+                                        <lightning-button label="妫�绱�" onclick={invoiceCodeSearchJs}></lightning-button>
+                                    </div>
+                                </lightning-layout-item>
+                                <lightning-layout-item flexibility="auto">
+                                    <div class="slds-grid slds-grid_vertical-align-center">
+                                        <lightning-button label="娓呯┖" onclick={ClearJs}></lightning-button>
+                                    </div>
+                                </lightning-layout-item>
+                            </lightning-layout>
+
+                        </div>
+                    </div>
+                </div>
+
+                <!-- 鍙戠エ涓�瑙� -->
+                <div class="borderCss" style="margin-top: 5px;">
+                    <div class="headerDorderCss">
+                        <p style="font-size: 16px">
+                            <strong>鍙戠エ涓�瑙�</strong>
+                        </p>
+                    </div>
+                    <div style="padding: 10px">
+                        <div lwc:dom="manual" class="resultDiv"></div>
+                        <div draggable="false">
+                            <lightning-datatable key-field="id" data={invoiceData} columns={invoiceColumns}
+                                hide-checkbox-column="true">
+                            </lightning-datatable>
+                        </div>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </template>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexConInvoiceView/lexConInvoiceView.js b/force-app/main/default/lwc/lexConInvoiceView/lexConInvoiceView.js
new file mode 100644
index 0000000..c8c0cf5
--- /dev/null
+++ b/force-app/main/default/lwc/lexConInvoiceView/lexConInvoiceView.js
@@ -0,0 +1,970 @@
+import { LightningElement, api, track, wire } from 'lwc';
+import { ShowToastEvent } from "lightning/platformShowToastEvent";
+import init from "@salesforce/apex/LexConInvoiceViewController.init";
+import save from "@salesforce/apex/LexConInvoiceViewController.save";
+import saveFile from "@salesforce/apex/LexConInvoiceViewController.saveFile";
+import saveAttachment from "@salesforce/apex/LexConInvoiceViewController.saveAttachment";
+import InvoiceorderSearch from "@salesforce/apex/LexConInvoiceViewController.InvoiceorderSearch";
+import conInvoiceListInit from "@salesforce/apex/LexConInvoiceList.init";
+import invoiceCodeSearch from "@salesforce/apex/LexConInvoiceList.invoiceCodeSearch";
+import hospitalInit from "@salesforce/apex/lexSearchAgencyHospitalController.init";
+import serContact from "@salesforce/apex/lexSearchAgencyHospitalController.serContact";
+import { NavigationMixin } from "lightning/navigation";
+
+const hospitalColumns = [
+    {
+        label: "鍖婚櫌鍚嶇О",
+        fieldName: "Name",
+        initialWidth: 400,
+        hideDefaultActions: true,
+    },
+    {
+        label: "鐪佷唤",
+        fieldName: "stateMasterName",
+        hideDefaultActions: true,
+    },
+    {
+        label: "閫夋嫨",
+        fieldName: "Id1",
+        type: "button",
+        hideDefaultActions: true,
+        typeAttributes: {
+            label: "閫夋嫨",
+            name: "Id2",
+            size: 1,
+        },
+    },
+];
+const invoiceDetailsColumns = [
+    {
+        label: "鍑哄簱鏃ユ湡",
+        fieldName: "esdetProductOutDate",
+        hideDefaultActions: true,
+    },
+    {
+        label: "鍑哄簱鍗曠紪鐮�",
+        fieldName: "esdetInvoicedet1ODlinkName",
+        wrapText: true,
+        hideDefaultActions: true,
+    },
+    {
+        label: "浜у搧鍨嬪彿",
+        fieldName: "esdetAssetModelNo",
+        hideDefaultActions: true,
+    },
+    {
+        label: "鍗曚綅",
+        fieldName: "esdetInvoiceUnit",
+        hideDefaultActions: true,
+    },
+    {
+        label: "鍙戠エ鍗曚环",
+        fieldName: "esdetInvoiceUnitprice",
+        hideDefaultActions: true,
+    },
+    {
+        label: "鍙戠エ鏁伴噺",
+        fieldName: "esdetInvoicedCount",
+        hideDefaultActions: true,
+    },
+    {
+        label: "鍙戠エ绁ㄩ潰閲戦(鍏�)",
+        fieldName: "esdetInvoicedProCostRMB",
+        hideDefaultActions: true,
+    },
+];
+const invoiceColumns = [
+    {
+        label: "鍙戠エ鏃ユ湡",
+        fieldName: "Invoice_Date__c",
+        hideDefaultActions: true,
+    },
+    {
+        label: "鍙戠エ鍙�",
+        type: 'url',
+        fieldName: "NameUrl",
+        typeAttributes: {
+            label: { fieldName: "Name" },
+        },
+        hideDefaultActions: true,
+    },
+    {
+        label: "瀹㈡埛鍚�",
+        fieldName: "ShipmentAccount__c",
+        hideDefaultActions: true,
+        wrapText: true,
+    },
+    {
+        label: "鍙戠エ鐘舵��",
+        fieldName: "Invoice_status__c",
+        hideDefaultActions: true,
+    },
+    {
+        label: "鍙戠エ璐﹂潰閲戦(鍏�)",
+        fieldName: "Invoice_total_amount__c",
+        hideDefaultActions: true,
+    },
+    {
+        label: "鍙戠エ闄勪欢",
+        fieldName: "Invoice_attachment__c",
+        type : 'boolean',
+        hideDefaultActions: true,
+    },
+    {
+        label: "鍙戠エ鏄庣粏闄勪欢",
+        fieldName: "Invoicedet_attachment__c",
+        type : 'boolean',
+        hideDefaultActions: true,
+    },
+]
+export default class LexConInvoiceView extends NavigationMixin(LightningElement) {
+
+    @track outboundColumns = [
+        {
+            label: "鍑哄簱鏃ユ湡",
+            fieldName: "esdOutboundDate",
+            hideDefaultActions: true,
+            wrapText: true,
+        },
+        {
+            label: "鍑哄簱鍗曠紪鐮�",
+            fieldName: "esdNameUrl",
+            type: 'url',
+            typeAttributes: {
+                label: { fieldName: "esdName" },
+                target: "_blank",
+            },
+            hideDefaultActions: true,
+            wrapText: true,
+        }
+    ]
+    @track outboundData = [];
+    @track outboundDataSumPrice = [];
+    invoiceColumns = invoiceColumns;
+    @track invoiceData = [];
+
+    @track invoiceId = '';
+    @track userWorkLocation = '';
+    @track deliveryId = '';
+    @track cocId = '';
+    @track statusEdit = '';
+    @track coc = {};
+    @track EditAble = false;
+    @track isChange = false;
+    @track sumPrice = 0;
+    @track OrderCode = '';
+    @track ExistOutbound = false;
+    @track reopen = '';
+    @track invoiceOrderRecoedschange = [];
+    @track isNew = '';
+    //鐘舵��
+    @track invoiceStatusValue = '';
+    @track invoiceStatusOptions = [];
+    get Options(){
+        return this.invoiceStatusOptions;
+    }
+    //鍑哄簱浠�
+    @track deliveryFromDate = '';
+    //鍑哄簱鍒�
+    @track deliveryToDate = '';
+    //鍙戠エ鍙�
+    @track category1 = '';
+    //瀹㈡埛鍚�
+    @track category2 = '';
+    @track ConInvoiceListAccountId = '';
+    @track ConInvoiceListUserWorkLocation = '';
+    @track ConInvoiceListAgencyProType = '';
+
+    //浜岀骇缁忛攢鍟�
+    @track provinceOptsMap = [];
+    @track secondaryDistributor = '';
+    //瀹㈡埛鍚�
+    @track isModalOpen = false;
+    @track HospitalName = "";
+    @track HospitalInfo = "";
+    @track searchHospitalName = "";
+    @track isDisabledHospitalName = false;
+    @track agencyProType = '';
+    @track accountid = '';
+    @track hospitalList = [];
+    hospitalColumns = hospitalColumns;
+    //鍙戠エ鏃ユ湡
+    @track InvoiceDate = '';
+    //绉戝
+    @track ForCustomerText = '';
+    //澶囨敞
+    @track InvoiceNote = '';
+
+    //鍙戠エ鏄庣粏
+    @track invoiceOrderdetail1Recoeds = [];
+    invoiceDetailsColumns = invoiceDetailsColumns;
+
+    //鏄剧ず
+    @track isShowSecondaryDistributor = false;
+    @track isEditInvoice = false;
+    @track isShowSpinner = true;
+    @track hideCheckbox = true;
+    @track done = false;
+    @track isConInvoiceList = true;
+
+    //disable
+    @track isDisabledEdit = false;
+    @track isDisabledReopen = false;
+    @track isDisabledDelete = false;
+    @track isDisabledAttachment = false;
+
+    //鏂囦欢涓婁紶
+    @track showLoadingSpinner = false;
+    @track UploadFile = "Upload File";
+    @track fileName = "";
+    @track fileData = [];
+    @track fileColumns = [
+        {
+            label: "鏍囬",
+            fieldName: "url",
+            type: "url",
+            typeAttributes: { label: { fieldName: "Title" }, target: "_blank" },
+            hideDefaultActions: true,
+        },
+        {
+            label: "鍒涘缓浜�",
+            type: "url",
+            fieldName: "CreatedByNameUrl",
+            typeAttributes: { label: { fieldName: "CreatedByName" }, target: "_blank" },
+            hideDefaultActions: true,
+        },
+        {
+            label: "涓婁紶鏃ユ湡",
+            type: 'date',
+            typeAttributes: {
+                year: "numeric",
+                month: "long",
+                day: "2-digit",
+                hour: "2-digit",
+                minute: "2-digit"
+            },
+            fieldName: "CreatedDate",
+            hideDefaultActions: true,
+        },
+        {
+            label: "闄勪欢绫诲瀷",
+            type: "customAttachmentType",
+            typeAttributes: {
+                typeValue: { fieldName: "typeValue" },
+                typeOptions: { fieldName: "typeOptions" },
+                recordId: { fieldName: "recordId" },
+                isDisabledAttachment: { fieldName: "isDisabledAttachment" },
+            },
+            hideDefaultActions: true,
+        },
+    ];
+    filesUploaded = [];
+    fileContents;
+    fileReader;
+    content;
+    MAX_FILE_SIZE = 1500000;
+
+    //鑾峰彇閾炬帴鍙傛暟
+    getQueryString(name) {
+        console.log("getQueryString name " + name);
+        let reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
+        let r = window.location.search.substr(1).match(reg);
+        if (r != null) {
+            return decodeURIComponent(r[2]);
+        }
+        return null;
+    }
+
+    connectedCallback() {
+        this.init();
+    }
+
+    init() {
+        this.deliveryId = this.getQueryString("deliveryId");
+        this.deliveryId = this.deliveryId == null ? "" : this.deliveryId;
+        this.invoiceId = this.getQueryString("invoiceId");
+        this.invoiceId = this.invoiceId == null ? "" : this.invoiceId;
+        this.statusEdit = this.getQueryString("KeyWords");
+        this.statusEdit = this.statusEdit == null ? "" : this.statusEdit;
+        this.reopen = this.getQueryString("reopen");
+        this.reopen = this.reopen == null ? "" : this.reopen;
+        this.isNew = this.getQueryString("isNew");
+        this.isNew = this.isNew == null ? "" : this.isNew;
+        console.log('this.deliveryId = ' + this.deliveryId + ' this.invoiceId = ' + this.invoiceId + ' this.statusEdit = ' + this.statusEdit);
+        if (this.deliveryId == '' && this.invoiceId == '' && this.isNew == '') {
+            console.log('conInvoiceListInit');
+            conInvoiceListInit().then((r) => {
+                r = JSON.parse(JSON.stringify(r));
+                console.log("conInvoiceListInit r = " + JSON.stringify(r));
+                if (r.status == "Success") {
+                    this.ConInvoiceListAccountId = r.entity.accountid;
+                    this.ConInvoiceListUserWorkLocation = r.entity.userWorkLocation;
+                    
+                    this.ConInvoiceListAgencyProType = r.entity.agencyProType;
+                    this.invoiceData = r.entity.raesList;
+                    for (var i in this.invoiceData) {
+                        this.invoiceData[i]['NameUrl'] = '/lexconinvoiceview?invoiceId=' + this.invoiceData[i].Id;
+                    }
+                    console.log("this.invoiceData = " + JSON.stringify(this.invoiceData));
+                    for (var key in r.entity.statusMap) {
+                        let object = {};
+                        object["label"] = key;
+                        object["value"] = r.entity.statusMap[key];
+                        this.invoiceStatusOptions.push(object);
+                    }
+                    this.invoiceStatusOptions = [...this.invoiceStatusOptions];
+                    console.log("this.invoiceStatusOptions = " + JSON.stringify(this.invoiceStatusOptions));
+                    this.isShowSpinner = false;
+                } else {
+                    this.showToast("Error", r.msg);
+                }
+            }).catch((error) => {
+                console.log("error = " + JSON.stringify(error));
+            });
+
+        } else {
+            console.log('init');
+            this.isConInvoiceList = false;
+            init({
+                invoiceId: this.invoiceId,
+                statusEdit: this.statusEdit,
+                deliveryId: this.deliveryId
+            }).then((r) => {
+                r = JSON.parse(JSON.stringify(r));
+                console.log("r = " + JSON.stringify(r));
+                if (r.status == "Success") {
+                    this.coc = r.entity.coc;
+                    this.cocId = this.coc.Id;
+                    this.EditAble = r.entity.EditAble;
+                    this.isChange = r.entity.isChange;
+                    this.ExistOutbound = r.entity.ExistOutbound;
+                    this.outboundData = r.entity.invoiceOrderRecoeds;
+                    this.done = r.entity.done;
+                    this.accountid = r.entity.accountid;
+                    this.userWorkLocation = r.entity.userWorkLocation;
+                    console.log('this.userWorkLocation = ' + this.userWorkLocation);
+                    this.invoiceOrderRecoedschange = r.entity.invoiceOrderRecoedschange;
+                    this.isDisabledEdit = (this.coc.Invoice_status__c == '鎻愪氦' || this.coc.Invoice_status__c == '宸插畬鎴�') ? true : false;
+                    this.isDisabledReopen = this.coc.Invoice_status__c == '鎻愪氦' ? false : true;
+                    this.isDisabledDelete = this.coc.Invoice_status__c == '鑽夋涓�' ? false : true;
+                    this.isDisabledAttachment = this.coc.Invoice_status__c == '宸插畬鎴�' ? true : false;
+
+                    if (!this.EditAble) {
+                        //闄勪欢鏄剧ず
+                        this.showLoadingSpinner = true;
+                        this.fileData = r.entity.attachmentRecoeds;
+                        for (var i in this.fileData) {
+                            this.fileData[i]["Id"] = this.fileData[i].cvInfo.Id;
+                            this.fileData[i]["recordId"] = this.fileData[i].cvInfo.Id;
+                            this.fileData[i]["url"] = "/" + this.fileData[i].cvInfo.Id;
+                            this.fileData[i]["Title"] = this.fileData[i].cvInfo.Title;
+                            this.fileData[i]["CreatedByName"] = this.fileData[i].cvInfo.Owner.Name;
+                            this.fileData[i]["CreatedByNameUrl"] = "/" + this.fileData[i].cvInfo.OwnerId;;
+                            this.fileData[i]["CreatedDate"] = this.fileData[i].cvInfo.CreatedDate;
+                            if (this.isDisabledAttachment) {
+                                console.log('杩涘叆this.isDisabledAttachment')
+                                this.fileData[i]["isDisabledAttachment"] = true;
+                            }
+                            let typeOptions = [];
+                            for (var key in this.fileData[i].mailSelectOptsMap) {
+                                let typeOption = {};
+                                typeOption["label"] = this.fileData[i].mailSelectOptsMap[key];
+                                typeOption["value"] = key;
+                                typeOptions.push(typeOption);
+                            }
+                            this.fileData[i]["typeValue"] = this.fileData[i].mailSelectOptsin == null ? typeOptions[0].value : this.fileData[i].mailSelectOptsin;
+                            this.fileData[i]["typeOptions"] = typeOptions;
+                        }
+                    }
+
+                    //鍙戠エ鏄庣粏
+                    this.invoiceOrderdetail1Recoeds = r.entity.invoiceOrderdetail1Recoeds;
+                    for (var i in this.invoiceOrderdetail1Recoeds) {
+                        this.invoiceOrderdetail1Recoeds[i]['esdetProductOutDate'] = this.invoiceOrderdetail1Recoeds[i].esdet.Product_OutDate__c;
+                        this.invoiceOrderdetail1Recoeds[i]['esdetInvoicedet1ODlinkName'] = this.invoiceOrderdetail1Recoeds[i].esdet.Invoicedet1_OD_link__r.Name;
+                        this.invoiceOrderdetail1Recoeds[i]['esdetAssetModelNo'] = this.invoiceOrderdetail1Recoeds[i].esdet.Asset_Model_No__c;
+                        this.invoiceOrderdetail1Recoeds[i]['esdetInvoiceUnit'] = this.invoiceOrderdetail1Recoeds[i].esdet.Invoice_Unit__c;
+                        this.invoiceOrderdetail1Recoeds[i]['esdetInvoiceUnitprice'] = this.invoiceOrderdetail1Recoeds[i].esdet.Invoice_Unitprice__c;
+                        this.invoiceOrderdetail1Recoeds[i]['esdetInvoicedCount'] = this.invoiceOrderdetail1Recoeds[i].esdet.Invoiced_Count__c;
+                        this.invoiceOrderdetail1Recoeds[i]['esdetInvoicedProCostRMB'] = this.invoiceOrderdetail1Recoeds[i].esdet.InvoicedProCost_RMB__c;
+                    }
+                    console.log('this.invoiceOrderdetail1Recoeds = ' + JSON.stringify(this.invoiceOrderdetail1Recoeds))
+                    //瀹㈡埛鍚�
+                    this.HospitalName = r.entity.HospitalName;
+                    this.HospitalInfo = r.entity.HospitalInfo;
+                    this.agencyProType = r.entity.agencyProType;
+                    console.log('this.HospitalName = ' + this.HospitalName);
+                    console.log('this.HospitalInfo = ' + this.HospitalInfo);
+                    console.log('this.agencyProType = ' + this.agencyProType);
+                    //绉戝
+                    this.ForCustomerText = this.coc.Order_ForCustomerText__c;
+                    //澶囨敞
+                    this.InvoiceNote = this.coc.Invoice_Note__c;
+                    //浜岀骇缁忛攢鍟�
+                    for (var key in r.entity.provinceOptsMap) {
+                        let object = {};
+                        object["label"] = r.entity.provinceOptsMap[key];
+                        object["value"] = key;
+                        this.provinceOptsMap.push(object);
+                    }
+                    console.log('this.provinceOptsMap = ' + JSON.stringify(this.provinceOptsMap));
+                    //鍑鸿揣涓�瑙坈olumns
+                    if (this.EditAble) {
+                        let object1 = {
+                            label: '瀹㈡埛鍚�',
+                            fieldName: "hospitalName",
+                            hideDefaultActions: true,
+                        };
+                        let object2 = {
+                            label: '鍑鸿揣閲戦(鍏�)',
+                            fieldName: "shipmentAmount",
+                            hideDefaultActions: true,
+                        };
+                        let object3 = {
+                            label: '杩斿搧閲戦(鍏�)',
+                            fieldName: "returnAmount",
+                            hideDefaultActions: true,
+                        };
+                        this.outboundColumns.push(object1)
+                        this.outboundColumns.push(object2)
+                        this.outboundColumns.push(object3)
+                    }
+                    let object4 = {
+                        label: '鏈彂绁ㄩ噾棰�(鍏�)',
+                        fieldName: "uninvoicedAmount",
+                        hideDefaultActions: true,
+                    };
+                    this.outboundColumns.push(object4)
+
+                    //鍑鸿揣涓�瑙圖ata
+                    let index = 0;
+                    for (var i in this.outboundData) {
+                        this.outboundData[i]['esdOutboundDate'] = this.outboundData[i].esd.Outbound_Date__c;
+                        this.outboundData[i]['esdNameUrl'] = '/s/lexsummonscreat?ESetid=' + this.outboundData[i].esd.Id;
+                        this.outboundData[i]['esdName'] = this.outboundData[i].esd.Name;
+                        if (this.EditAble) {
+                            this.outboundData[i]['hospitalName'] = this.outboundData[i].esd.ShipmentAccount__c;
+                            this.outboundData[i]['shipmentAmount'] = this.outboundData[i].esd.Shipment_total_amount__c;
+                            this.outboundData[i]['returnAmount'] = this.outboundData[i].esd.RrturnPro_total_amount__c;
+                        }
+                        this.outboundData[i]['uninvoicedAmount'] = this.outboundData[i].esd.InvoiceNotPro_money__c;
+                        this.outboundData[i]['invoiceFaceAmount'] = this.outboundData[i].needInvoiceCount;
+                        if (!(this.outboundData[i].esd.Billed_Status__c == '鍏ㄩ儴寮�绁�' || this.EditAble || this.coc.Invoice_status__c != '鑽夋涓�')) {
+                            let url = "/ConInvoicedetails?orderId=" + this.outboundData[i].esd.Id + "&invoiceId=" + this.invoiceId;
+                            this.outboundData[i]['invoiceFaceAmountUrl'] = url;
+
+                            if (index == 0) {
+                                let object5 = {
+                                    label: '鍙戠エ绁ㄩ潰閲戦(鍏�)',
+                                    type: 'url',
+                                    fieldName: "invoiceFaceAmountUrl",
+                                    typeAttributes: {
+                                        label: { fieldName: "invoiceFaceAmount" },
+                                        target: "_blank",
+                                    },
+                                    hideDefaultActions: true,
+                                };
+                                this.outboundColumns.push(object5)
+                                index++;
+                            }
+                        } else {
+                            if (index == 0) {
+                                let object5 = {
+                                    label: '鍙戠エ绁ㄩ潰閲戦(鍏�)',
+                                    fieldName: "invoiceFaceAmount",
+                                    hideDefaultActions: true,
+                                };
+                                this.outboundColumns.push(object5)
+                                index++;
+                            }
+                        }
+                        //璁$畻鍙戠エ绁ㄩ潰閲戦
+                        this.sumPrice += this.outboundData[i].needInvoiceCount;
+                    }
+                    //鍔犳渶鍚庝竴琛屾樉绀洪噾棰�
+                    if (this.EditAble) {
+                        let lastOutboundData = {
+                            invoiceFaceAmount: this.sumPrice
+                        }
+                        //this.outboundData.push(lastOutboundData);
+                        this.outboundDataSumPrice.push(lastOutboundData);
+                    }
+                    this.outboundColumns = [...this.outboundColumns];
+
+
+                    this.isEditInvoice = !(!this.EditAble || this.isChange);
+                    if (this.coc.SummonsForDirction__c == '閿�鍞粰浜岀骇缁忛攢鍟�')
+                        this.isShowSecondaryDistributor = true;
+                    if (this.deliveryId == '' && !this.ExistOutbound && this.EditAble)
+                        this.hideCheckbox = false;
+                    this.isShowSpinner = false;
+                    this.showLoadingSpinner = false;
+                } else {
+                    this.showToast("Error", r.msg);
+                }
+            }).catch((error) => {
+                console.log("error = " + JSON.stringify(error));
+            });
+        }
+
+    }
+
+    dataChange(event) {
+        let fieldName = event.target.getAttribute("data-field");
+        let value = event.detail.value;
+        console.log("fieldName = " + fieldName + " value = " + value);
+        switch (fieldName) {
+            case "OrderCode":
+                this.OrderCode = value;
+                this.coc['Name'] = value;
+                break;
+            case "ForCustomerText":
+                this.ForCustomerText = value;
+                this.coc['Order_ForCustomerText__c'] = value;
+                break;
+            case "InvoiceDate":
+                this.InvoiceDate = value;
+                this.coc['Invoice_Date__c'] = value;
+                break;
+            case "secondaryDistributor":
+                this.secondaryDistributor = value;
+                break;
+            case "deliveryFromDate":
+                this.deliveryFromDate = value;
+                break;
+            case "deliveryToDate":
+                this.deliveryToDate = value;
+                break;
+            case "category1":
+                this.category1 = value;
+                break;
+            case "category2":
+                this.category2 = value;
+                break;
+            case "invoiceStatus":
+                this.invoiceStatusValue = value;
+                break;
+            case "searchHospitalName":
+                this.searchHospitalName = value;
+                break;
+        }
+    }
+
+    invoiceDateChange(event) {
+        this.InvoiceDate = event.detail.value;
+        this.coc['Invoice_Date__c'] = event.detail.value;
+        console.log('this.InvoiceDate = ' + this.InvoiceDate);
+    }
+
+    //鎼滅储瀹㈡埛鍚�
+    searchHospitalNameModal() {
+        console.log("searchHospitalNameModal");
+        hospitalInit({
+            ctype: this.agencyProType,
+        }).then((r) => {
+            r = JSON.parse(JSON.stringify(r));
+            if (r.status == "Success") {
+                this.hospitalList = r.entity.at;
+                for (var i in this.hospitalList) {
+                    this.hospitalList[i]["stateMasterName"] = this.hospitalList[i].State_Master__r.Name;
+                }
+                console.log("hospitalInit r = " + JSON.stringify(this.hospitalList));
+                this.isModalOpen = true;
+            }
+        });
+    }
+
+    searchHospital() {
+        console.log("this.searchHospitalName = " + this.searchHospitalName);
+        serContact({
+            searchName: this.searchHospitalName,
+            ctype: this.agencyProType,
+        }).then((r) => {
+            r = JSON.parse(JSON.stringify(r));
+            if (r.status == "Success") {
+                this.hospitalList = r.entity.at;
+                for (var i in this.hospitalList) {
+                    this.hospitalList[i]["stateMasterName"] =
+                        this.hospitalList[i].State_Master__r.Name;
+                }
+                console.log("hospitalInit r = " + JSON.stringify(this.hospitalList));
+            }
+        });
+    }
+
+    //閫夋嫨瀹㈡埛鍚�
+    searchHandleRowAction(event) {
+        console.log("searchHandleRowAction");
+        let row = event.detail.row;
+        this.HospitalInfo = row.Id;
+        this.HospitalName = row.Name;
+        console.log("this.HospitalInfo = " + this.HospitalInfo + " this.HospitalName = " + this.HospitalName);
+        this.isModalOpen = false;
+    }
+
+    //褰撳鎴峰悕鏄┖鏃躲�傚鎴穒d涔熷彉涓虹┖
+    clearAgencyI(event) {
+        this.HospitalName = event.target.value;
+        if (this.HospitalName == "" || this.HospitalName == null) {
+            this.HospitalInfo = "";
+        }
+        console.log("this.HospitalName = " + this.HospitalName);
+        console.log("this.HospitalInfo = " + this.HospitalInfo);
+    }
+
+    closeModal() {
+        this.isModalOpen = false;
+    }
+
+    //Consumable_order__c coc,String HospitalInfo,String SecondDealer,List<InvoiceOrderInfo> invoiceOrderRecoeds,String deliveryId,String invoiceId,String accountid,String agencyProType,String reopen
+    SaveJs() {
+        this.isShowSpinner = true;
+        let cloneData = this.outboundData
+        for (var i in cloneData) {
+            delete cloneData[i].esdOutboundDate;
+            delete cloneData[i].esdNameUrl;
+            delete cloneData[i].esdName;
+            delete cloneData[i].hospitalName;
+            delete cloneData[i].shipmentAmount;
+            delete cloneData[i].returnAmount;
+            delete cloneData[i].uninvoicedAmount;
+            delete cloneData[i].invoiceFaceAmount;
+            delete cloneData[i].invoiceFaceAmountUrl;
+        }
+
+        console.log('this.coc = ' + JSON.stringify(this.coc));
+        console.log('this.HospitalInfo = ' + this.HospitalInfo);
+        console.log('this.secondaryDistributor = ' + this.secondaryDistributor);
+        console.log('this.outboundData = ' + JSON.stringify(cloneData));
+        console.log('this.deliveryId = ' + this.deliveryId);
+        console.log('this.invoiceId = ' + this.invoiceId);
+        console.log('this.accountid = ' + this.accountid);
+        console.log('this.agencyProType = ' + this.agencyProType);
+        console.log('this.reopen = ' + this.reopen);
+        console.log('this.invoiceOrderRecoedschangeLwc = ' + JSON.stringify(this.invoiceOrderRecoedschange));
+        save({
+            cocLwc: this.coc,
+            HospitalInfoLwc: this.HospitalInfo,
+            SecondDealerLwc: this.secondaryDistributor,
+            invoiceOrderRecoedsLwc: JSON.stringify(cloneData),
+            deliveryIdLwc: this.deliveryId,
+            invoiceIdLwc: this.invoiceId,
+            accountidLwc: this.accountid,
+            agencyProTypeLwc: this.agencyProType,
+            reopenLwc: this.reopen,
+            invoiceOrderRecoedschangeLwc: JSON.stringify(this.invoiceOrderRecoedschange)
+        }).then((r) => {
+            r = JSON.parse(JSON.stringify(r));
+            console.log("r = " + JSON.stringify(r));
+            if (r.status == "Success" && r.msg == '') {
+                console.log('save success');
+                let url = "/lexconinvoiceview?invoiceId=" + r.entity.invoiceId;
+                console.log('url = ' + url);
+                this[NavigationMixin.Navigate]({
+                    type: "standard__webPage",
+                    attributes: {
+                        url: url,
+                    },
+                });
+            } else {
+                this.showToast("Error", r.msg);
+            }
+        }).catch((error) => {
+            console.log("error = " + JSON.stringify(error));
+            this.showToast("Error", error.message);
+        });
+    }
+
+    //涓婁紶闄勪欢锛岀洿鎺ュ氨淇濆瓨濂斤紝鐒跺悗灞曠ず
+    handleFilesChange(event) {
+        console.log("handleFilesChange");
+        if (event.target.files.length > 0) {
+            this.filesUploaded = event.target.files;
+            this.fileName = event.target.files[0].name;
+            this.handleSave();
+        }
+    }
+
+    handleSave() {
+        console.log("saveFile");
+        if (this.filesUploaded.length > 0) {
+            this.file = this.filesUploaded[0];
+            if (this.file.size > this.MAX_FILE_SIZE) {
+                this.showToast("Error", "鏂囦欢杩囧ぇ");
+                return;
+            }
+            this.showLoadingSpinner = true;
+            this.fileReader = new FileReader();
+
+            this.fileReader.onloadend = () => {
+                this.fileContents = this.fileReader.result;
+                let base64 = "base64,";
+                this.content = this.fileContents.indexOf(base64) + base64.length;
+                this.fileContents = this.fileContents.substring(this.content);
+                this.saveToFile();
+            };
+            this.fileReader.readAsDataURL(this.file);
+        } else {
+            this.fileName = "閫夋嫨涓�涓枃浠朵笂浼�";
+        }
+    }
+
+    saveToFile() {
+        console.log("saveToFile");
+        console.log("base64Data = " + encodeURIComponent(this.fileContents));
+        saveFile({
+            recordId: this.invoiceId,
+            fileName: this.fileName,
+            base64Data: encodeURIComponent(this.fileContents),
+        }).then((r) => {
+                r = JSON.parse(JSON.stringify(r));
+                console.log("r = " + JSON.stringify(r));
+                if (r != '') {
+                    this.showLoadingSpinner = false;
+                    this.showToast("Success", "涓婁紶鎴愬姛");
+                    this.init();
+                }else{
+                    this.showToast("Error", r.msg);
+                }
+            })
+            .catch((error) => {
+                console.log("error = " + error.message);
+                this.showToast("Error", "涓婁紶澶辫触");
+            });
+    }
+
+
+    handleTypeChange(event) {
+        console.log("handleTypeChange");
+        const typeDetail = event.detail;
+        console.log("typeDetail = " + JSON.stringify(typeDetail));
+        for (var i in this.fileData) {
+            if (this.fileData[i].recordId == typeDetail.data.recordId) {
+                this.fileData[i].typeValue = typeDetail.data.typeValue;
+                this.fileData[i].mailSelectOptsin = typeDetail.data.typeValue;
+            }
+        }
+        console.log("this.fileData = " + JSON.stringify(this.fileData));
+    }
+
+    newInvoiceJs(){
+        let url = "/lexconinvoiceview?isNew=yes";
+        console.log('url = ' + url);
+        this[NavigationMixin.Navigate]({
+            type: "standard__webPage",
+            attributes: {
+                url: url,
+            },
+        });
+    }
+
+    saveAttachmentJs() {
+        this.showLoadingSpinner = true;
+        let cloneData = this.fileData
+        for (var i in cloneData) {
+            delete cloneData[i].Id;
+            delete cloneData[i].recordId;
+            delete cloneData[i].url;
+            delete cloneData[i].Title;
+            delete cloneData[i].CreatedByName;
+            delete cloneData[i].CreatedByNameUrl;
+            delete cloneData[i].CreatedDate;
+            delete cloneData[i].typeValue;
+            delete cloneData[i].typeOptions;
+        }
+        console.log('cloneData = ' + JSON.stringify(cloneData));
+        saveAttachment({
+            attachmentRecoedsLwc: JSON.stringify(cloneData)
+        }).then((r) => {
+            r = JSON.parse(JSON.stringify(r));
+            console.log("r = " + JSON.stringify(r));
+            if (r.status == "Success") {
+                this.showLoadingSpinner = false;
+                this.showToast("Success", "淇濆瓨鎴愬姛");
+                this.init();
+            }else{
+                this.showToast("Error", r.msg);
+            }
+        }).catch((error) => {
+            console.log("error = " + error.message);
+            this.showToast("Error", "涓婁紶澶辫触");
+        });
+    }
+
+    invoiceCodeSearchJs(){
+        this.isShowSpinner = true;
+        invoiceCodeSearch({
+            orderDateLwc : this.deliveryFromDate == null ? null : new Date(this.deliveryFromDate),
+            deliverDateLwc : this.deliveryToDate == null ? null : new Date(this.deliveryToDate),
+            invoiceStatusLwc : this.invoiceStatusValue,
+            category1Lwc : this.category1,
+            category2Lwc : this.category2,
+            accountidLwc : this.ConInvoiceListAccountId,
+            userWorkLocationLwc : this.ConInvoiceListUserWorkLocation,
+            agencyProTypeLwc : this.ConInvoiceListAgencyProType,
+        }).then((r) => {
+            r = JSON.parse(JSON.stringify(r));
+            console.log("r = " + JSON.stringify(r));
+            if (r.status == "Success") {
+                this.invoiceData = r.entity.raesList;
+                for (var i in this.invoiceData) {
+                    this.invoiceData[i]['NameUrl'] = '/lexconinvoiceview?invoiceId=' + this.invoiceData[i].Id;
+                }
+                console.log("this.invoiceData = " + JSON.stringify(this.invoiceData));
+                this.isShowSpinner = false;
+                if(r.entity.raesListSize > 0){
+                    this.showToast("Success", "鍏辨绱㈠埌" + r.entity.raesListSize + "涓彂绁�");
+                }else{
+                    this.showToast("Warning", "娌℃湁鎼滅储鍒扮浉鍏冲彂绁ㄣ��");
+                }
+            }else{
+                this.showToast("Error", r.msg);
+            }
+        }).catch((error) => {
+            console.log("error = " + error.message);
+            this.showToast("Error", "鎼滅储澶辫触");
+        });
+    }
+
+    ClearJs(){
+        this.deliveryFromDate = '';
+        this.deliveryToDate = '';
+        this.category1 = '';
+        this.category2 = '';
+        this.invoiceStatusValue = '';
+        this.isShowSpinner = true;
+        conInvoiceListInit().then((r) => {
+            r = JSON.parse(JSON.stringify(r));
+            console.log("conInvoiceListInit r = " + JSON.stringify(r));
+            if (r.status == "Success") {
+                this.invoiceData = r.entity.raesList;
+                for (var i in this.invoiceData) {
+                    this.invoiceData[i]['NameUrl'] = '/lexconinvoiceview?invoiceId=' + this.invoiceData[i].Id;
+                }
+                console.log("this.invoiceData = " + JSON.stringify(this.invoiceData));
+                this.isShowSpinner = false;
+            } else {
+                this.showToast("Error", r.msg);
+            }
+        }).catch((error) => {
+            console.log("error = " + JSON.stringify(error));
+        });
+    }
+
+    InvoiceorderSearchJs(){
+        this.isShowSpinner = true;
+
+        let cloneData = this.outboundData
+        for (var i in cloneData) {
+            delete cloneData[i].esdOutboundDate;
+            delete cloneData[i].esdNameUrl;
+            delete cloneData[i].esdName;
+            delete cloneData[i].hospitalName;
+            delete cloneData[i].shipmentAmount;
+            delete cloneData[i].returnAmount;
+            delete cloneData[i].uninvoicedAmount;
+            delete cloneData[i].invoiceFaceAmount;
+            delete cloneData[i].invoiceFaceAmountUrl;
+        }
+
+        console.log('this.coc = ' + JSON.stringify(this.coc));
+        console.log('this.invoiceId = ' + this.invoiceId);
+        console.log('this.accountid = ' + this.accountid);
+        console.log('this.userWorkLocation = ' + this.userWorkLocation);
+        console.log('this.agencyProType = ' + this.agencyProType);
+        console.log('this.HospitalInfo = ' + this.HospitalInfo);
+        console.log('SecondDealer = ' + this.secondaryDistributor);
+        console.log('invoiceOrderRecoedsLwc = ' + JSON.stringify(cloneData));
+        InvoiceorderSearch({
+            cocLwc: this.coc,
+            invoiceIdLwc: this.invoiceId,
+            accountidLwc: this.accountid,
+            userWorkLocationLwc: this.userWorkLocation,
+            agencyProTypeLwc: this.agencyProType,
+            HospitalInfoLwc: this.HospitalInfo,
+            SecondDealerLwc: this.secondaryDistributor,
+            invoiceOrderRecoedsLwc: JSON.stringify(cloneData),
+        }).then((r) => {
+            r = JSON.parse(JSON.stringify(r));
+            console.log("r = " + JSON.stringify(r));
+            if (r.status == "Success") {
+                this.outboundData = r.entity.invoiceOrderRecoeds;
+                let index = 0;
+                for (var i in this.outboundData) {
+                    this.outboundData[i]['esdOutboundDate'] = this.outboundData[i].esd.Outbound_Date__c;
+                    this.outboundData[i]['esdNameUrl'] = '/s/lexsummonscreat?ESetid=' + this.outboundData[i].esd.Id;
+                    this.outboundData[i]['esdName'] = this.outboundData[i].esd.Name;
+                    if (this.EditAble) {
+                        this.outboundData[i]['hospitalName'] = this.outboundData[i].esd.ShipmentAccount__c;
+                        this.outboundData[i]['shipmentAmount'] = this.outboundData[i].esd.Shipment_total_amount__c;
+                        this.outboundData[i]['returnAmount'] = this.outboundData[i].esd.RrturnPro_total_amount__c;
+                    }
+                    this.outboundData[i]['uninvoicedAmount'] = this.outboundData[i].esd.InvoiceNotPro_money__c;
+                    this.outboundData[i]['invoiceFaceAmount'] = this.outboundData[i].needInvoiceCount;
+                    if (!(this.outboundData[i].esd.Billed_Status__c == '鍏ㄩ儴寮�绁�' || this.EditAble || this.coc.Invoice_status__c != '鑽夋涓�')) {
+                        let url = "/ConInvoicedetails?orderId=" + this.outboundData[i].esd.Id + "&invoiceId=" + this.invoiceId;
+                        this.outboundData[i]['invoiceFaceAmountUrl'] = url;
+
+                        if (index == 0) {
+                            let object5 = {
+                                label: '鍙戠エ绁ㄩ潰閲戦(鍏�)',
+                                type: 'url',
+                                fieldName: "invoiceFaceAmountUrl",
+                                typeAttributes: {
+                                    label: { fieldName: "invoiceFaceAmount" },
+                                    target: "_blank",
+                                },
+                                hideDefaultActions: true,
+                            };
+                            this.outboundColumns.push(object5)
+                            index++;
+                        }
+                    } else {
+                        if (index == 0) {
+                            let object5 = {
+                                label: '鍙戠エ绁ㄩ潰閲戦(鍏�)',
+                                fieldName: "invoiceFaceAmount",
+                                hideDefaultActions: true,
+                            };
+                            this.outboundColumns.push(object5)
+                            index++;
+                        }
+                    }
+                    //璁$畻鍙戠エ绁ㄩ潰閲戦
+                    this.sumPrice += this.outboundData[i].needInvoiceCount;
+                }
+                this.isShowSpinner = false;
+            }else{
+                this.showToast("Error", r.msg);
+            }
+        }).catch((error) => {
+            console.log("error = " + error.message);
+            this.showToast("Error", "鎼滅储澶辫触");
+        });
+    }
+
+    getSelectedRows(event) {
+        console.log("getSelectedRows ");
+        for (var i in this.outboundData) {
+            this.outboundData[i].check = false;
+        }
+        const selectedRows = event.detail.selectedRows;
+        for(var i in this.outboundData){
+            for(var j in selectedRows){
+                if(this.outboundData[i].esd.Id == selectedRows[j].esd.Id)
+                    this.outboundData[i].check = !this.outboundData[i].check;
+            }
+        }
+    }
+
+    showToast(type, msg) {
+        this.isShowSpinner = false;
+        this.showLoadingSpinner = false;
+        const event = new ShowToastEvent({
+            title: type,
+            variant: type,
+            message: msg,
+        });
+        this.dispatchEvent(event);
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexConInvoiceView/lexConInvoiceView.js-meta.xml b/force-app/main/default/lwc/lexConInvoiceView/lexConInvoiceView.js-meta.xml
new file mode 100644
index 0000000..d893635
--- /dev/null
+++ b/force-app/main/default/lwc/lexConInvoiceView/lexConInvoiceView.js-meta.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>56.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightningCommunity__Page</target>
+        <target>lightningCommunity__Default</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexConsumable/lexConsumable.css b/force-app/main/default/lwc/lexConsumable/lexConsumable.css
index 9f20f92..d6376ca 100644
--- a/force-app/main/default/lwc/lexConsumable/lexConsumable.css
+++ b/force-app/main/default/lwc/lexConsumable/lexConsumable.css
@@ -1,3 +1,9 @@
 .myTable table>thead .slds-cell-fixed.slds-has-button-menu, .myTable table>thead .slds-cell-fixed.slds-has-button-menu:hover{
     background: #EEEE00;
+}
+.conTable td,th{
+    border: 1px dashed #D4D4D4;
+}
+.conTable tr{
+    border: 1px dashed #D4D4D4;
 }
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexConsumable/lexConsumable.html b/force-app/main/default/lwc/lexConsumable/lexConsumable.html
index e10ce43..667681f 100644
--- a/force-app/main/default/lwc/lexConsumable/lexConsumable.html
+++ b/force-app/main/default/lwc/lexConsumable/lexConsumable.html
@@ -225,9 +225,9 @@
                         <p style="font-size: 16px;"><strong>娑堣�楀搧鏄庣粏</strong></p>
                     </div>
                     <div style="padding:10px;">
-                        <table style="width: 100%;">
+                        <table style="width: 100%;" class="conTable">
                             <thead>
-                                <tr>
+                                <tr style="border-bottom: 1px solid #D4D4D4;">
                                     <template if:true={editAble}>
                                         <th><lightning-input type="checkbox" onchange={checkAll} name="checkAll"></lightning-input></th>
                                     </template>
@@ -289,7 +289,7 @@
                                         </template>
                                         <td>
                                             <template if:true={editAble}>
-                                                <lightning-input data-index={index} value={record.esd.Consumable_count__c} onchange={consumableCountChange}></lightning-input>
+                                                <lightning-input style="margin-bottom: 10px;" data-index={index} value={record.esd.Consumable_count__c} onchange={consumableCountChange}></lightning-input>
                                             </template>
                                             <template if:false={editAble}>
                                                 <div class="slds-truncate" title="Value Proposition">{record.esd.Consumable_count__c}</div>
diff --git a/force-app/main/default/lwc/lexConsumable/lexConsumable.js b/force-app/main/default/lwc/lexConsumable/lexConsumable.js
index d252d5b..b41661e 100644
--- a/force-app/main/default/lwc/lexConsumable/lexConsumable.js
+++ b/force-app/main/default/lwc/lexConsumable/lexConsumable.js
@@ -531,18 +531,16 @@
                this.showSpinner = false;
                this.errorMsgs = result.errorMsgList;
                this.warningMsgs = result.warningMsgList;
-               // this.hasError = result.hasError;
-               // this.hasWarning = result.hasWarning;
                console.log("Error:"+result.errorMsg);
                if(result.errorMsg.indexOf("璇蜂笂浼犺璐ч厤缃崟闄勪欢") != -1){
                   result.errorMsg = '璇蜂笂浼犺璐ч厤缃崟闄勪欢';
                }
                this.showMyToast('鎻愪氦澶辫触',result.errorMsg,'error');
             }
-      })
-      .catch(error=>{
-         console.log("Error:"+error);
-      })
+         })
+         .catch(error=>{
+            console.log("Error:"+error);
+         })
    }
 
    //鍒犻櫎璁㈠崟
diff --git a/force-app/main/default/lwc/lexContractdetailpdf/lexContractdetailpdf.css b/force-app/main/default/lwc/lexContractdetailpdf/lexContractdetailpdf.css
new file mode 100644
index 0000000..9637071
--- /dev/null
+++ b/force-app/main/default/lwc/lexContractdetailpdf/lexContractdetailpdf.css
@@ -0,0 +1,88 @@
+body {
+	font-size: 13px;
+	font-family: Arial Unicode MS;
+}
+
+@page {
+	@charset "utf-8";
+    @bottom-center {
+        content:  counter(page) " / " counter(pages);
+        font-size: 14px;
+    }
+}
+.pageCanvas {
+	position: relative;
+	border-style: none;
+	height: 940px;
+}
+
+.quoteTitle {
+	text-align: center;
+	font-weight: bold;
+	font-size: 22px;
+	width: 100%;
+	padding-bottom: 20px;
+}
+
+.headerCanvas {
+	position: relative;
+	border-style: none;
+	height: 100px;
+}
+
+.detailCanvas {
+	position: relative;
+	left: 0px;
+	width: 100%;
+}
+
+.detailTable {
+	width: 100%;
+	border-bottom: solid;
+}
+
+.detailTableHeader {
+	border-top: solid;
+	border-bottom: solid;
+	padding-left: 5px;
+	text-align: center;
+}
+
+.detailTableCols {
+	border: none;
+}
+
+
+
+
+
+.detailRowNumber {
+	text-align: right;
+	padding-right: 0px;
+	padding-left: 5px;
+}
+
+.detailRowString {
+	padding-right: 5px;
+	padding-left: 5px;
+}
+
+.detailRowNumeric {
+	text-align: right;
+	padding-right: 5px;
+	padding-left: 5px;
+}
+
+.footerCanvasContract {
+	position: absolute;
+	bottom: 0px;
+	width: 100%;
+	height: 110px;
+}
+
+.footerSignContract {
+	position: absolute;
+	text-align: center;
+	right: 80px;
+	bottom: 0px;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexContractdetailpdf/lexContractdetailpdf.html b/force-app/main/default/lwc/lexContractdetailpdf/lexContractdetailpdf.html
new file mode 100644
index 0000000..27b09fd
--- /dev/null
+++ b/force-app/main/default/lwc/lexContractdetailpdf/lexContractdetailpdf.html
@@ -0,0 +1,350 @@
+<template>
+
+    <!-- <body style="font-family: Arial Unicode MS;"> -->
+
+    <!-- 銉氥兗銈哥暘鍙枫伄瀹氱京 -->  
+    <!-- <apex:variable var="count" value="{!0}"/> -->
+    
+    <!-- 銉氥兗銈搞伄銉償銉笺儓 -->
+    <template for:each={printRecords} for:item="items" for:index="thePage"></template>
+    <!-- 銉氥兗銈搞偔銉c兂銉愩偣 -->        
+    <div class="pageCanvas">
+    
+        <!-- 銉氥兗銈哥暘鍙枫偆銉炽偗銉儭銉炽儓 -->
+        <!-- <apex:variable var="count" value="{!count + 1}"/> -->
+        <!-- SWAG-C7S8QN 銆愬鎵樸�戙�愰噸瑕併�慡I璇环閰嶇疆鍗曟病鏈夋姮澶�  lt  20211015 update    鍘�<template rendered="{!IF(params.trade == 'USD', true, false)}">闄勪欢2 </template> -->
+        <div  style="text-align: left;font-weight: bold;font-size: 18px;width: 100%;padding-bottom: 20px;"><span >闄勪欢2 </span></div>
+        <!-- 鍚勩儦銉笺偢銇偪銈ゃ儓銉� -->
+        <!-- <div class="quoteTitle"><template if:true={params.trade = 'USD'} >Commodity List </template></div> -->
+        <div class="quoteTitle"><template if:true={params.trade}>Commodity List </template></div>
+
+        <!-- WLIG-BYRD37  銆愬鎵樸�戣浠� 鎵撳嵃閰嶇疆鍗� 瀛楁淇敼 绮剧悽鎶�鏈� wql 2021/03/08 start -->
+        <div class="quoteTitle">
+            <!-- SWAG-C7S8QN 銆愬鎵樸�戙�愰噸瑕併�慡I璇环閰嶇疆鍗曟病鏈夋姮澶�  lt  20211015 update -->
+            <!-- 20211015  鍘�<template rendered="{!IF(params.PurchaseType == '涓�鑸紩鍚�' || params.PurchaseType == '  SI锛堟墜琛撳妗堜欢锛�', true, false)}"> -->
+            <span >
+                 <!-- {Contract_Detail_Title} -->
+                 {Contract_Detail_Title}
+            </span>
+        </div>
+        <div class="quoteTitle">
+            <!-- <template if:true="{!IF(params.PurchaseType == 'ET24鏅傞枔璨╁2',true , false)}">0 -->
+             <template if:true={params.PurchaseType}>
+                 璁㈣揣鍗�
+            </template>
+        </div>
+        <!-- //WLIG-BYRD37  銆愬鎵樸�戣浠� 鎵撳嵃閰嶇疆鍗� 瀛楁淇敼 绮剧悽鎶�鏈� wql 2021/03/08 end -->
+<!-- CHAN-B2L4NY 澶栬锤璇环鐨勫悎鍚岄厤缃崟鏍煎紡鎭㈠ -->
+    <!-- <template if:true="{!IF(params.trade == 'RMB', true, false)}"> -->
+    <template if:true= {params.trade}>
+        <!-- 鍚勩儦銉笺偢銇儤銉冦儉銈儯銉炽儛銈� -->
+        <div class="headerCanvas">
+            <table style="height:100%;">
+                <tr>
+                    <td>
+                        <div style="height:25px;">{Contract_Detail_System_Code}</div>
+                        <div style="height:25px;">{Quote_Client_Name}</div>
+                        <!-- <template if:true="{!IF(params.salesRoot == '璨╁2搴�', true, false)}" layout="none" > -->
+                        <template if:true={params.salesRoot} layout="none" >
+                        	<div style="height:25px;">{Contract_Detail_Dealer_Name}</div>
+                        </template>
+                        <div style="height:25px;">{Quote_AddressName}</div>
+                    </td>
+                    <td>
+                        <div style="height:25px;">:&nbsp;</div>
+                        <div style="height:25px;">:&nbsp;</div>
+                        <!-- <template layout="none" if:true="{!IF(params.salesRoot == '璨╁2搴�', true, false)}"> -->
+                        <template layout="none" if:true={params.salesRoot}>
+                        	<div style="height:25px;">:&nbsp;</div>
+                        </template>
+                        <div style="height:25px;">:&nbsp;</div>
+                    </td>
+                    <td>
+                        <div style="height:25px;">&nbsp;{params.quoteNo}</div>
+                        <div style="height:25px;">&nbsp;{params.clientName}</div>
+                        <!-- <template layout="none" if:true="{!IF(params.salesRoot == '璨╁2搴�', true, false)}"> -->
+                        <template layout="none" if:true={params.salesRoot}>
+                        	<div style="height:25px;">&nbsp;{params.agentNameForContract}</div>
+                        </template>
+                        <div style="height:25px;">&nbsp;{params.addressName}</div>
+                    </td>
+                    <td>
+                        <div style="height:25px;">&nbsp;</div>
+                        <div style="height:25px;">&nbsp;</div>
+                        <template layout="none" if:true={params.salesRoot}>
+                        	<div style="height:25px;">&nbsp;</div>
+                        </template>
+                        <div style="height:25px;">&nbsp;</div>
+                    </td>
+                    <td>
+                        <div style="height:25px;">&nbsp;</div>
+                        <div style="height:25px;">{Quote_Department}</div>
+                        <template layout="none" if:true={params.salesRoot}>
+                        	<div style="height:25px;">&nbsp;</div>
+                        </template>
+                        <div style="height:25px;">&nbsp;</div>
+                    </td>
+                    <td>
+                        <div style="height:25px;">&nbsp;</div>
+                        <div style="height:25px;">:&nbsp;</div>
+                        <template layout="none" if:true={params.salesRoot}>
+                        	<div style="height:25px;">&nbsp;</div>
+                        </template>
+                        <div style="height:25px;">&nbsp;</div>
+                    </td>
+                    <td>
+                        <div style="height:25px;">&nbsp;</div>
+                        <div style="height:25px;">&nbsp;{params.departmentName}</div>
+                        <template layout="none" if:true={params.salesRoot}>
+                        	<div style="height:25px;">&nbsp;</div>
+                        </template>
+                        <div style="height:25px;">&nbsp;</div>
+                    </td>
+                </tr>
+            </table>
+            <table style="top:0px; right:0px; position:absolute; height:100%;">
+                <tr>
+                    <td>
+                        <div style="height:25px;">&nbsp;</div>
+                        <div style="height:25px;">&nbsp;</div>
+                        <!-- 鐢靛瓙绛炬敹ID鍙� wql 绮剧悽鎶�鏈� 2020/11/20 start -->
+                        <template layout="none" if:true={params.salesRoot}>
+                        	<div style="height:25px;">{eSignAgencyNum}</div>
+                        </template>
+                        <template layout="none" if:true={params.salesRoot}>
+                        	<div style="height:25px;">&nbsp;</div>
+                        </template>
+                        <!-- 鐢靛瓙绛炬敹ID鍙� wql 绮剧悽鎶�鏈� 2020/11/20 end -->
+                        <div style="height:25px;">{Contract_Detail_Print_Date}</div>
+                    </td>
+                    <td>
+                        <div style="height:25px;">&nbsp;</div>
+                        <div style="height:25px;">&nbsp;</div>
+                        <div style="height:25px;">:&nbsp;</div>
+                        <div style="height:25px;">:&nbsp;</div>
+                    </td>
+                    <td>
+                        <div style="height:25px;">&nbsp;</div>
+                        <div style="height:25px;">&nbsp;</div>
+                        <!-- 鐢靛瓙绛炬敹ID鍙� wql 绮剧悽鎶�鏈� 2020/11/20 start -->
+                        <template layout="none" if:true={params.salesRoot}>
+                        	<div style="height:25px;">{params.eSignAgencyNum}</div>
+                        </template>
+                        <template layout="none" if:true={params.salesRoot}>
+                        	<div style="height:25px;">&nbsp;</div>
+                        </template>
+                        <!-- 鐢靛瓙绛炬敹ID鍙� wql 绮剧悽鎶�鏈� 2020/11/20 end -->
+                        <div style="height:25px;">&nbsp;{params.offerPrintDateStringContract}</div>
+                    </td>
+                </tr>
+            </table>
+        </div>
+    </template>
+        <br/>
+
+        <!-- 銉氥兗銈稿唴銇┏绱般伄REPEAT -->
+        <div class="detailCanvas" style="font-size: 10px">
+        	<lightning-datatable
+                key-field="id"
+                data={items}
+                columns = {columns}>
+        	</lightning-datatable>
+
+
+        </div>
+
+    <!-- <template rendered="{!count=maxPageNumber}"> -->
+    <template rendered=false>
+        <div>
+            <table style="width:100%;">
+                 <tr>
+                    <!-- 2018/10/11 CHAN-B5F35C 鍐呰锤鏃朵笉鏄剧ず 娉ㄥ唽璇佸彿/澶囨鍑瘉缂栧彿澶囨敞 start -->
+                    <td style="text-align: left;">
+                        <div style="height:25px;">澶囨敞锛氫笂杩颁骇鍝佹敞鍐岃瘉鍙�/澶囨鍑瘉鍙蜂互鏀跺埌瀹炵墿涓枃鏍囩涓殑娉ㄥ唽璇佷俊鎭负鍑嗐��</div>
+                    </td>
+                    <!-- 2018/10/11 CHAN-B5F35C 鍐呰锤鏃朵笉鏄剧ず 娉ㄥ唽璇佸彿/澶囨鍑瘉缂栧彿澶囨敞 end -->
+                </tr>
+                <tr>
+                    <td style="width: 85%;text-align: right;">
+                        <div style="height:25px;">{Quote_TotalPrice}</div>
+                    </td>
+                    <td>
+                        <div style="height:25px;">:&nbsp;</div>
+                    </td>
+                    <td>
+                        <div style="height:25px;">&nbsp;
+                            <span value={0, number, ###,##0.00}>
+                                <param name="" value={params.newTotalPrice}> 
+                            </span>
+                        </div>
+                    </td>
+                </tr>
+            </table>
+        </div>
+    </template>
+<!-- CHAN-B2L4NY 澶栬锤璇环鐨勫悎鍚岄厤缃崟鏍煎紡鎭㈠ -->
+<!-- <template rendered="{!IF(params.trade == 'RMB', false, true)}"> -->
+    <template rendered={params.trade}>
+        <!-- 鍚勩儦銉笺偢銇儤銉冦儉銈儯銉炽儛銈� -->
+        <div class="headerCanvas">
+            <table style="height:100%;">
+                <tr>
+                    <td>
+                        <div style="height:25px;">
+                        Prospect Code&nbsp;{Contract_Detail_System_Code}</div>
+                        <div style="height:25px;">End user&nbsp;{Quote_Client_Name}</div>
+                        <div style="height:25px;">Department&nbsp;{Quote_Department}</div>
+                        <div style="height:25px;">The Buyer&nbsp;{Contract_Detail_Dealer_Name}</div>
+                    </td>
+                    <td>
+                        <div style="height:25px;">:&nbsp;</div>
+                        <div style="height:25px;">:&nbsp;</div>
+                        <div style="height:25px;">:&nbsp;</div>
+                        <div style="height:25px;">:&nbsp;</div>
+                    </td>
+                    <td>
+                        <div style="height:25px;">&nbsp;{!params.quoteNo}</div>
+                        <div style="height:25px;">&nbsp;{!params.clientName}</div>
+                        <div style="height:25px;">&nbsp;{!params.departmentName}</div>
+
+                        <!-- <template if:true="{!IF(params.agentNameForContract != null && params.lenAgentName >= 40, true, false)}"> -->
+                        <template>
+                            <div style="height:22px; padding-top:3px; font-size:10px;">&nbsp;{params.agentNameForContract}</div>
+                        </template>
+                        <!-- <template if:true="{!IF(params.agentNameForContract != null && params.lenAgentName < 40, true, false)}"> -->
+                        <template>
+                            <div style="height:25px;">&nbsp;{params.agentNameForContract}</div>
+                        </template>
+                    </td>
+                </tr>
+            </table>
+            <table style="top:0px; right:0px; position:absolute; height:100%;">
+                <tr>
+                    <td>
+                        <div style="height:25px;">&nbsp;</div>
+                        <div style="height:25px;">&nbsp;</div>
+                       <!--   -->
+                        <div style="height:25px;">Print date&nbsp;{Contract_Detail_Print_Date}</div>
+                        <div style="height:25px;"> ID Code</div>
+                    </td>
+                    <td>
+                        <div style="height:25px;">&nbsp;</div>
+                        <div style="height:25px;">&nbsp;</div>
+                        <!-- <div style="height:25px;">&nbsp;</div> -->
+                        <div style="height:25px;">:&nbsp;</div>
+                        <div style="height:25px;">:&nbsp;</div>
+                    </td>
+                    <td>
+                        <div style="height:25px;">&nbsp;</div>
+                        <div style="height:25px;">&nbsp;</div>
+                        <div style="height:25px;">&nbsp;{params.offerPrintDateStringContract}</div>
+                        <div style="height:25px;">&nbsp;</div>
+                    </td>
+                </tr>
+               
+            </table>
+        </div>
+
+        <br/>
+
+        <!-- 銉氥兗銈稿唴銇┏绱般伄REPEAT -->
+        <div class="detailCanvas">
+            <!-- 2021/01/15 liying start -->
+            <!-- 澶氳〃澶� 绗竴鍒楄〃澶� -->
+            <lightning-datatable
+                key-field="id"
+                data={items}
+                columns = [columns]>
+            </lightning-datatable>
+<!--             <apex:dataTable value="{!items}" var="item" id="dataTableUSD" styleClass="detailTableUSD" headerClass="detailTableHeaderUSD" columnClasses="detailTableCols">
+                <apex:column styleClass="detailRowNumber">
+                        <apex:facet name="header">Commodity Type</apex:facet>
+                </apex:column>
+                <apex:column styleClass="detailRowString">
+                        <apex:facet name="header"></apex:facet>
+                </apex:column>
+                <apex:column styleClass="detailRowString">
+                        <apex:facet name="header"></apex:facet>
+                </apex:column>
+                <apex:column styleClass="detailRowString">
+                        <apex:facet name="header">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+                    Description</apex:facet>
+                </apex:column>
+                <apex:column styleClass="detailRowNumeric">
+                        <apex:facet name="header">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Quantity</apex:facet>
+                </apex:column>
+                <apex:column styleClass="detailRowNumeric">
+                        <apex:facet name="header">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Special Warranty &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Period(year) </apex:facet>
+                </apex:column>
+
+                 lt 20220223 CHAN-CBW9FX 鐗规畩浜よ揣鏈熷奖鍝嶇殑瀵瑰簲  start -->
+<!--                 
+                <apex:column styleClass="detailRowNumeric">
+                        <apex:facet name="header"> Delivery Date </apex:facet>
+                </apex:column> -->
+                <!-- lt 20220223 CHAN-CBW9FX 鐗规畩浜よ揣鏈熷奖鍝嶇殑瀵瑰簲  end -->
+
+            <!-- </apex:dataTable> --> 
+                  <!-- 2021/01/15 liying end -->
+            <!-- 澶氳〃澶� 绗簩鍒楄〃澶� -->
+            <!-- <apex:dataTable value="{!items}" var="item" id="dataTable2" styleClass="detailTable" headerClass="detailTableHeader" columnClasses="detailTableCols">
+                <apex:column styleClass="detailRowNumber">
+                        <apex:facet name="header">{Quote_Product_Code}</apex:facet>
+                        <apex:outputText value="{!item.qli.Item_Order__c}"/>
+                </apex:column>
+                <apex:column styleClass="detailRowString">
+                        <apex:facet name="header"></apex:facet>
+                        <apex:outputText value="{!item.qli.Asset_Model_No_forPrint__c}"/>
+                </apex:column>
+                <apex:column styleClass="detailRowString">
+                        <apex:facet name="header">  </apex:facet>
+                        <apex:outputText value="{!item.qli.NameForPrintDelimiter__c}"/>
+                </apex:column>
+                <apex:column styleClass="detailRowString">
+                        <apex:facet name="header">{Quote_Product_Name}</apex:facet>
+                        <apex:outputText value="{!item.qli.NameForPrint__c}"/>
+                </apex:column>
+                <apex:column styleClass="detailRowNumeric">
+                        <apex:facet name="header">{Quantity}</apex:facet>
+                        <apex:outputText value="{0, number, ###,###}">
+                            <apex:param value="{!item.qli.Quantity}" />
+                        </apex:outputText>
+                </apex:column>
+
+                <apex:column styleClass="detailRowNumeric">
+                        <apex:facet name="header">鐗规畩淇濅慨骞撮檺</apex:facet>
+                        <apex:outputText value="{!item.qli.GuaranteePeriod__c}"/>
+                </apex:column>
+
+                 lt 20220223 CHAN-CBW9FX 鐗规畩浜よ揣鏈熷奖鍝嶇殑瀵瑰簲  start -->
+<!--                 <apex:column styleClass="detailRowNumeric">
+                        <apex:facet name="header">浜よ揣鏈�</apex:facet>
+                        <apex:outputText value="{!item.qli.DeliveryDate__c}"/>
+                </apex:column> -->
+                <!-- lt 20220223 CHAN-CBW9FX 鐗规畩浜よ揣鏈熷奖鍝嶇殑瀵瑰簲  end -->
+
+            <!-- </apex:dataTable> --> 
+        </div>
+</template>
+
+        <br />
+        
+        <!-- 鍚勩儦銉笺偢銇儠銉冦偪銈儯銉炽儛銈� -->
+        <div class="footerCanvasContract">
+            <div class="footerSignContract">
+                ({Contract_Detail_Buyer_Stamp})<br />
+                <br />
+                骞淬��銆�鏈堛��銆�鏃�<br />
+            </div>
+        </div>
+     
+     </div>
+        
+        <!-- 鍚勩儦銉笺偢銈掑尯鍒囥倠鏀广儦銉笺偢銆佹渶绲傘儦銉笺偢銇伅鍑恒仌銇亜銈堛亞銇仐銇︺亜銈� -->
+        <!-- <template if:true="{!count<maxPageNumber}"> -->
+<!--     <template>
+        <div style="page-break-after: always;"/>
+    </template> -->
+
+<!-- </body> -->
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexContractdetailpdf/lexContractdetailpdf.js b/force-app/main/default/lwc/lexContractdetailpdf/lexContractdetailpdf.js
new file mode 100644
index 0000000..fb75301
--- /dev/null
+++ b/force-app/main/default/lwc/lexContractdetailpdf/lexContractdetailpdf.js
@@ -0,0 +1,50 @@
+import { LightningElement, track, wire } from 'lwc';
+import init from '@salesforce/apex/ContractdetailpdfController.init';
+const columns = [
+    { label: 'Item_Order__c', fieldName: 'Item_Order__c' },
+    { label: 'Asset_Model_No_forPrint__c', fieldName: 'Asset_Model_No_forPrint__c' },
+    { label: 'NameForPrintDelimiter__c', fieldName: 'NameForPrintDelimiter__c' },
+    { label: 'NameForPrint__c', fieldName: 'NameForPrint__c' },
+    { label: 'ApprobationNo_c', fieldName: 'ApprobationNo_c' },
+    { label: 'ProduceCompany_c', fieldName: 'ProduceCompany_c' },
+    { label: 'SalesPackagingUnit_c', fieldName: 'SalesPackagingUnit_c' },
+    { label: 'PackingListManual_c', fieldName: 'PackingListManual_c' },
+    { label: 'qli.Quantity', fieldName: 'qli.Quantity' },
+    { label: 'qli.GuaranteePeriod__c', fieldName: 'qli.GuaranteePeriod__c' },
+    { label: 'qli.DeliveryDate__c', fieldName: 'qli.DeliveryDate__c', type: 'date'  }
+    // { label: 'Website', fieldName: 'Asset_Model_No_forPrint__c', type: 'url' },
+    // { label: 'Phone', fieldName: 'phone', type: 'phone' },
+    // { label: 'Balance', fieldName: 'amount', type: 'currency' },
+    // { label: 'CloseAt', fieldName: 'closeAt', type: 'date' },
+];
+export default class lexContractdetailpdf extends LightningElement {
+    items = [];
+    data=[];
+    Contract_Detail_Title="鏍囬";
+    columns=columns ;
+    params={
+    	trade:false,
+    	PurchaseType:false
+    };
+    connectedCallback() {
+    	init().then(res=>{
+    		console.log("res:");
+    		console.log(res);
+    		this.data=res;
+    		this.items=res;
+    	})
+    }
+    generateData( amountOfRecords ) {
+    	return [...Array(amountOfRecords)].map((_, index) => {
+	        return {
+	            name: `Name (${index})`,
+	            website: 'www.salesforce.com',
+	            amount: Math.floor(Math.random() * 100),
+	            phone: `${Math.floor(Math.random() * 9000000000) + 1000000000}`,
+	            closeAt: new Date(
+	                Date.now() + 86400000 * Math.ceil(Math.random() * 20)
+	            ),
+	        };
+	    });
+	}
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexContractdetailpdf/lexContractdetailpdf.js-meta.xml b/force-app/main/default/lwc/lexContractdetailpdf/lexContractdetailpdf.js-meta.xml
new file mode 100644
index 0000000..de32795
--- /dev/null
+++ b/force-app/main/default/lwc/lexContractdetailpdf/lexContractdetailpdf.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lexContractdetailpdf">
+    <apiVersion>51.0</apiVersion>
+    <isExposed>true</isExposed>
+	<targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCopyPIInspectionReport/lexCopyPIInspectionReport.html b/force-app/main/default/lwc/lexCopyPIInspectionReport/lexCopyPIInspectionReport.html
new file mode 100644
index 0000000..d044dbb
--- /dev/null
+++ b/force-app/main/default/lwc/lexCopyPIInspectionReport/lexCopyPIInspectionReport.html
@@ -0,0 +1,5 @@
+<template>
+    <div class="exampleHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCopyPIInspectionReport/lexCopyPIInspectionReport.js b/force-app/main/default/lwc/lexCopyPIInspectionReport/lexCopyPIInspectionReport.js
new file mode 100644
index 0000000..44d87fb
--- /dev/null
+++ b/force-app/main/default/lwc/lexCopyPIInspectionReport/lexCopyPIInspectionReport.js
@@ -0,0 +1,57 @@
+import {
+    LightningElement,
+    wire,
+    api
+} from 'lwc';
+import {
+    CurrentPageReference
+} from "lightning/navigation";
+import {
+    CloseActionScreenEvent
+} from 'lightning/actions';
+
+import init from '@salesforce/apex/otherButtonSpotInspectionReportCtl.init';
+
+export default class LexCopyPIInspectionReport extends LightningElement {
+    @api recordId;
+    str;
+    IsLoading = true;
+    Id;
+    RecordTypeId;
+
+    @wire(CurrentPageReference)
+    getStateParameters(currentPageReference) {
+        if (currentPageReference) {
+            const urlValue = currentPageReference.state.recordId;
+            if (urlValue) {
+                let str = `${urlValue}`;
+                this.recordId = str;
+            }
+        }
+    }
+
+    connectedCallback() {
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            console.log(result);
+            if (result != null) {
+                this.IsLoading = false;
+                this.Id = result.Id;
+                this.RecordTypeId = result.RecordTypeId;
+
+                this.CopyPI();
+                this.dispatchEvent(new CloseActionScreenEvent());
+            }
+        }).catch(error => {
+            console.log(error);
+        }).finally(() => {
+
+        });
+    }
+
+    // 澶嶅埗
+    CopyPI() {
+        window.location.href = '/' + this.Id + '/e?newclone=1';
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCopyPIInspectionReport/lexCopyPIInspectionReport.js-meta.xml b/force-app/main/default/lwc/lexCopyPIInspectionReport/lexCopyPIInspectionReport.js-meta.xml
new file mode 100644
index 0000000..3392981
--- /dev/null
+++ b/force-app/main/default/lwc/lexCopyPIInspectionReport/lexCopyPIInspectionReport.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+	<isExposed>true</isExposed>
+	<targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCopyPIOnCall/lexCopyPIOnCall.html b/force-app/main/default/lwc/lexCopyPIOnCall/lexCopyPIOnCall.html
new file mode 100644
index 0000000..d044dbb
--- /dev/null
+++ b/force-app/main/default/lwc/lexCopyPIOnCall/lexCopyPIOnCall.html
@@ -0,0 +1,5 @@
+<template>
+    <div class="exampleHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCopyPIOnCall/lexCopyPIOnCall.js b/force-app/main/default/lwc/lexCopyPIOnCall/lexCopyPIOnCall.js
new file mode 100644
index 0000000..700808a
--- /dev/null
+++ b/force-app/main/default/lwc/lexCopyPIOnCall/lexCopyPIOnCall.js
@@ -0,0 +1,52 @@
+import {
+    LightningElement,
+    wire,
+    api
+} from 'lwc';
+import {
+    CurrentPageReference
+} from "lightning/navigation";
+import {
+    CloseActionScreenEvent
+} from 'lightning/actions';
+import init from '@salesforce/apex/buttonOnCallCtl.init';
+
+export default class LexCopyPIOnCall extends LightningElement {
+    @api recordId;
+    str;
+    IsLoading = true;
+    Id;
+
+    @wire(CurrentPageReference)
+    getStateParameters(currentPageReference) {
+        if (currentPageReference) {
+            const urlValue = currentPageReference.state.recordId;
+            if (urlValue) {
+                let str = `${urlValue}`;
+                this.recordId = str;
+            }
+        }
+    }
+
+    connectedCallback() {
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            console.log(result);
+            if (result != null) {
+                this.IsLoading = false;
+                this.Id = result.Id;
+
+                this.CopyPI();
+                this.dispatchEvent(new CloseActionScreenEvent());
+            }
+        }).catch(error => {
+            console.log(error);
+        })
+    }
+
+    //澶嶅埗
+    CopyPI() {
+        window.location.href = '/' + this.Id + '/e?newclone=1';
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCopyPIOnCall/lexCopyPIOnCall.js-meta.xml b/force-app/main/default/lwc/lexCopyPIOnCall/lexCopyPIOnCall.js-meta.xml
new file mode 100644
index 0000000..3392981
--- /dev/null
+++ b/force-app/main/default/lwc/lexCopyPIOnCall/lexCopyPIOnCall.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+	<isExposed>true</isExposed>
+	<targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCopyRepair/lexCopyRepair.html b/force-app/main/default/lwc/lexCopyRepair/lexCopyRepair.html
new file mode 100644
index 0000000..87f391a
--- /dev/null
+++ b/force-app/main/default/lwc/lexCopyRepair/lexCopyRepair.html
@@ -0,0 +1,6 @@
+<template>
+    <div class="exampleHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+        <lightning-button label="Show Toast" onclick={ShowToastEvent}></lightning-button>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCopyRepair/lexCopyRepair.js b/force-app/main/default/lwc/lexCopyRepair/lexCopyRepair.js
new file mode 100644
index 0000000..170a510
--- /dev/null
+++ b/force-app/main/default/lwc/lexCopyRepair/lexCopyRepair.js
@@ -0,0 +1,218 @@
+import {
+    LightningElement,
+    wire,
+    api
+} from 'lwc';
+import {
+    CurrentPageReference
+} from "lightning/navigation";
+import {
+    CloseActionScreenEvent
+} from 'lightning/actions';
+import init from '@salesforce/apex/otherButtonRepairController.init';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+
+export default class LexCopyRepair extends LightningElement {
+    @api recordId;
+    str;
+    IsLoading = true;
+    Id;
+    RecordTypeId;
+    Name;
+    DeliveredProductC;
+    DeliveredProductIdC;
+    PaperRepairRequestNoC;
+    HospitalC;
+    AccountC;
+    DepartmentClassC;
+    RepairCostTypeC;
+    DealerC;
+    InchargeStaffC;
+    InchargeStaffContactC;
+    SalesOfficeCodeSelectionC;
+    OnSiteRepairC;
+    workLocationSelectC;
+    ReturnsProductWayC;
+    RepairDetailC;
+    RepairApplicantC;
+    RepairApplicantHospitalC;
+    RepairApplicantDepartmentC;
+    DeliveryLogisticsModeC;
+    engineerSendDateC;
+    DeliveryLogisticsNoC;
+    DeliveryLogisticsAnnotationC;
+    DateReceiptQuestionsC;
+    BreakORFallOffC;
+    DelayReportReasonC;
+    UseFailProductFinishC;
+    ifDeadHurtC;
+    SupportingProductsC;
+    ProblemOccurredC;
+    AfterFailureInformationC;
+    InformationFromC;
+    ReportAdverseEventsC;
+    FailureQInHospitalC;
+    WhatProjectC;
+    OperationOrExaminationNameC;
+    MaintenanceContractTypeC;
+    FailureOccurrenceDateC;
+    RepairSourceC;
+    ProblemOccurredSelectC;
+    Delay15MinC;
+    ProductFailureRelatedC;
+    RepairSubOrderC;
+    OnCallIDC;
+    QISIDC;
+    InsReportC;
+    MBCAwareDateC;
+    CFDANoHandC;
+    ProduceCompanyHandC;
+    OfferRentalNewC;
+    ifRentalApplyC;
+    LatestCollectDatePriorityC;
+    RentalApplyEquipmentSetDetailIdC;
+    RentalApplyEquipmentSetDetailC;
+    AwareDateC;
+    OCSMAdministrativeReportNumberC;
+    OCSMAdministrativeReportStatusC;
+    OCSMAdministrativeReportDateC;
+    Status1C;
+    @wire(CurrentPageReference)
+    getStateParameters(currentPageReference) {
+        if (currentPageReference) {
+            const urlValue = currentPageReference.state.recordId;
+            if (urlValue) {
+                let str = `${urlValue}`;
+                this.recordId = str;
+            }
+        }
+    }
+
+    connectedCallback() {
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            console.log(result);
+            if (result != null) {
+                this.IsLoading = false;
+                this.Id = result.Id;
+                this.RecordTypeId = result.RecordTypeId;
+                this.Name = result.Name == undefined ? "" : result.Name;
+                this.DeliveredProductC = result.DeliveredProductC == undefined ? "" : result.DeliveredProductC;
+                this.PaperRepairRequestNoC = result.PaperRepairRequestNoC == undefined ? "" : result.PaperRepairRequestNoC;
+                this.HospitalC = result.HospitalC == undefined ? "" : result.HospitalC;
+                this.DepartmentClassC = result.DepartmentClassC == undefined ? "" : result.DepartmentClassC;
+                this.RepairCostTypeC = result.RepairCostTypeC == undefined ? "" : result.RepairCostTypeC;
+                this.DealerC = result.DealerC == undefined ? "" : result.DealerC;
+                this.InchargeStaffC = result.InchargeStaffC == undefined ? "" : result.InchargeStaffC;
+                this.InchargeStaffContactC = result.InchargeStaffContactC == undefined ? "" : result.InchargeStaffContactC;
+                this.SalesOfficeCodeSelectionC = result.SalesOfficeCodeSelectionC == undefined ? "" : result.SalesOfficeCodeSelectionC;
+                this.OnSiteRepairC = result.OnSiteRepairC == undefined ? "" : result.OnSiteRepairC;
+                this.workLocationSelectC = result.workLocationSelectC == undefined ? "" : result.workLocationSelectC;
+                this.ReturnsProductWayC = result.ReturnsProductWayC == undefined ? "" : result.ReturnsProductWayC;
+                this.RepairDetailC = result.RepairDetailC == undefined ? "" : result.RepairDetailC;
+                this.RepairApplicantC = result.RepairApplicantC == undefined ? "" : result.RepairApplicantC;
+                this.RepairApplicantHospitalC = result.RepairApplicantHospitalC == undefined ? "" : result.RepairApplicantHospitalC;
+                this.RepairApplicantDepartmentC = result.RepairApplicantDepartmentC == undefined ? "" : result.RepairApplicantDepartmentC;
+                this.DeliveryLogisticsModeC = result.DeliveryLogisticsModeC == undefined ? "" : result.DeliveryLogisticsModeC;
+                this.engineerSendDateC = result.engineerSendDateC == undefined ? "" : result.engineerSendDateC;
+                this.DeliveryLogisticsNoC = result.DeliveryLogisticsNoC == undefined ? "" : result.DeliveryLogisticsNoC;
+                this.DeliveryLogisticsAnnotationC = result.DeliveryLogisticsAnnotationC == undefined ? "" : result.DeliveryLogisticsAnnotationC;
+                this.DateReceiptQuestionsC = result.DateReceiptQuestionsC == undefined ? "" : result.DateReceiptQuestionsC;
+                this.BreakORFallOffC = result.BreakORFallOffC == undefined ? "" : result.BreakORFallOffC;
+                this.DelayReportReasonC = result.DelayReportReasonC == undefined ? "" : result.DelayReportReasonC;
+                this.UseFailProductFinishC = result.UseFailProductFinishC == undefined ? "" : result.UseFailProductFinishC;
+                this.ifDeadHurtC = result.ifDeadHurtC == undefined ? "" : result.ifDeadHurtC;
+                this.SupportingProductsC = result.SupportingProductsC == undefined ? "" : result.SupportingProductsC;
+                this.ProblemOccurredC = result.ProblemOccurredC == undefined ? "" : result.ProblemOccurredC;
+                this.AfterFailureInformationC = result.AfterFailureInformationC == undefined ? "" : result.AfterFailureInformationC;
+                this.InformationFromC = result.InformationFromC == undefined ? "" : result.InformationFromC;
+                this.ReportAdverseEventsC = result.ReportAdverseEventsC == undefined ? "" : result.ReportAdverseEventsC;
+                this.FailureQInHospitalC = result.FailureQInHospitalC == undefined ? "" : result.FailureQInHospitalC;
+                this.WhatProjectC = result.WhatProjectC == undefined ? "" : result.WhatProjectC;
+                this.OperationOrExaminationNameC = result.OperationOrExaminationNameC == undefined ? "" : result.OperationOrExaminationNameC;
+                this.MaintenanceContractTypeC = result.MaintenanceContractTypeC == undefined ? "" : result.MaintenanceContractTypeC;
+                this.FailureOccurrenceDateC = result.FailureOccurrenceDateC == undefined ? "" : result.FailureOccurrenceDateC;
+                this.RepairSourceC = result.RepairSourceC == undefined ? "" : result.RepairSourceC;
+                this.ProblemOccurredSelectC = result.ProblemOccurredSelectC == undefined ? "" : result.ProblemOccurredSelectC;
+                this.Delay15MinC = result.Delay15MinC == undefined ? "" : result.Delay15MinC;
+                this.ProductFailureRelatedC = result.ProductFailureRelatedC == undefined ? "" : result.ProductFailureRelatedC;
+                this.RepairSubOrderC = result.RepairSubOrderC == undefined ? "" : result.RepairSubOrderC;
+                this.OnCallIDC = result.OnCallIDC == undefined ? "" : result.OnCallIDC;
+                this.QISIDC = result.QISIDC == undefined ? "" : result.QISIDC;
+                this.InsReportC = result.InsReportC == undefined ? "" : result.InsReportC;
+                this.MBCAwareDateC = result.MBCAwareDateC == undefined ? "" : result.MBCAwareDateC;
+                this.CFDANoHandC = result.CFDANoHandC == undefined ? "" : result.CFDANoHandC;
+                this.ProduceCompanyHandC = result.ProduceCompanyHandC == undefined ? "" : result.ProduceCompanyHandC;
+                this.OfferRentalNewC = result.OfferRentalNewC == undefined ? "" : result.OfferRentalNewC;
+                this.ifRentalApplyC = result.ifRentalApplyC == undefined ? "" : result.AifRentalApplyCccountC;
+                this.LatestCollectDatePriorityC = result.LatestCollectDatePriorityC == undefined ? "" : result.LatestCollectDatePriorityC;
+                this.RentalApplyEquipmentSetDetailIdC = result.RentalApplyEquipmentSetDetailIdC == undefined ? "" : result.RentalApplyEquipmentSetDetailIdC;
+                this.RentalApplyEquipmentSetDetailC = result.RentalApplyEquipmentSetDetailC == undefined ? "" : result.RentalApplyEquipmentSetDetailC;
+                this.AwareDateC = result.AwareDateC == undefined ? "" : result.AwareDateC;
+                this.OCSMAdministrativeReportNumberC = result.OCSMAdministrativeReportNumberC == undefined ? "" : result.OCSMAdministrativeReportNumberC;
+                this.OCSMAdministrativeReportStatusC = result.OCSMAdministrativeReportStatusC == undefined ? "" : result.OCSMAdministrativeReportStatusC;
+                this.AccountC = result.AccountC == undefined ? "" : result.AccountC;
+                this.OCSMAdministrativeReportDateC = result.OCSMAdministrativeReportDateC == undefined ? "" : result.OCSMAdministrativeReportDateC;
+                this.Status1C = result.Status1C;
+
+                this.CopyRepair();
+                this.dispatchEvent(new CloseActionScreenEvent());
+            }
+        }).catch(error => {
+            console.log(error);
+        }).finally(() => {
+
+        });
+    }
+
+    //   澶嶅埗
+    CopyRepair() {
+        var Status = this.Status1C;
+        if (Status == '0.鍒犻櫎' || Status == '0.鍙栨秷') {
+            var url = "/a0J/e?00N10000009H2fa=" + this.Name + "&CF00N10000002Dx1X=" + this.DeliveredProductC +
+                "&CF00N10000002Dx1X_lkid=" + this.DeliveredProductC + "&00N10000006P1dw=" + this.PaperRepairRequestNoC +
+                "&CF00N10000002Dx66=" + this.HospitalC + "&CF00N10000002Dx5t=" + this.DepartmentClassC +
+                "&CF00N10000002Dx5n=" + this.AccountC + "&00N10000008rG4p=" + this.RepairCostTypeC +
+                "&CF00N10000006P1eV=" + this.DealerC + "&CF00N10000002EMHw=" + this.InchargeStaffC +
+                "&CF00N10000005HDvq=" + this.InchargeStaffContactC + "&00N10000006P6SM=" + this.SalesOfficeCodeSelectionC +
+                "&00N10000002F6dW=" + this.OnSiteRepairC + "&00N10000006P6Rn=" + this.workLocationSelectC +
+                "&00N10000009i1Z2=" + this.ReturnsProductWayC + "&00N10000002Dx6I=" + this.RepairDetailC +
+                "&00N10000009H1rQ=" + this.RepairApplicantC + "&00N10000009H1rP=" + this.RepairApplicantHospitalC +
+                "&00N10000009H1rO=" + this.RepairApplicantDepartmentC + "&00N10000009H1rB=" + this.DeliveryLogisticsModeC +
+                "&00N10000009H1rk=" + this.engineerSendDateC + "&00N10000009H1rC=" + this.DeliveryLogisticsNoC +
+                "&00N10000009H1rA=" + this.DeliveryLogisticsAnnotationC + "&00N10000008rsVQ=" + this.DateReceiptQuestionsC +
+                "&00N10000008rsVN=" + this.BreakORFallOffC + "&00N10000008rsVS=" + this.DelayReportReasonC +
+                "&00N10000008rsW5=" + this.UseFailProductFinishC + "&00N10000008rsW7=" + this.ifDeadHurtC +
+                "&00N10000008rsW4=" + this.SupportingProductsC + "&00N10000008rsVv=" + this.ProblemOccurredC +
+                "&00N10000008rsVL=" + this.AfterFailureInformationC + "&00N10000009hsvI=" + this.ProblemOccurredSelectC +
+                "&00N10000008rsVR=" + this.Delay15MinC + "&00N10000008rsVw=" + this.ProductFailureRelatedC +
+                "&00N10000008rsVZ=" + this.InformationFromC + "&00N10000008rsW2=" + this.ReportAdverseEventsC +
+                "&00N10000008rsVT=" + this.FailureQInHospitalC + "&00N10000008rsW6=" + this.WhatProjectC +
+                "&00N10000008rsVk=" + this.OperationOrExaminationNameC + "&00N10000008rWce=" + this.MaintenanceContractTypeC +
+                "&00N10000002Dx5y=" + this.FailureOccurrenceDateC + "&00N10000002FH86=" + this.RepairSourceC +
+                "&CF00N10000009H1rR=" + this.RepairSubOrderC + "&CF00N10000002FIJU=" + this.OnCallIDC +
+                "&CF00N10000002FIJZ=" + this.QISIDC + "&CF00N10000006PRCp=" + this.InsReportC +
+                "&00N10000008rsVM=" + this.AwareDateC + "&00N10000009GmI6=" + this.OCSMAdministrativeReportNumberC +
+                "&00N10000009GmI4=" + this.MBCAwareDateC + "&00N10000009GmI5=" + this.OCSMAdministrativeReportDateC +
+                "&00N10000009GmI7=" + this.OCSMAdministrativeReportStatusC + "&00N100000095siE=" + this.CFDANoHandC +
+                "&00N100000095shz=" + this.ProduceCompanyHandC + "&00N100000098PV9=" + this.OfferRentalNewC +
+                "&00N100000098PVA=" + this.ifRentalApplyC + "&00N10000006gZ4g=" + this.LatestCollectDatePriorityC +
+                "&00N10000007MNFW=" + this.RentalApplyEquipmentSetDetailIdC +
+                "&CF00N10000007MNFX=" + this.RentalApplyEquipmentSetDetailC + "&retURL=%2F" + this.Id;
+            window.open(url);
+        } else {
+            this.ShowToastEvent("璇ョ姸鎬佷笅涓嶈兘澶嶅埗", "error")
+            // alert("璇ョ姸鎬佷笅涓嶈兘澶嶅埗");
+        }
+    }
+
+    ShowToastEvent(msg, type) {
+        const event = new ShowToastEvent({
+            title: '',
+            message: msg,
+            variant: type
+        });
+        this.dispatchEvent(event);
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCopyRepair/lexCopyRepair.js-meta.xml b/force-app/main/default/lwc/lexCopyRepair/lexCopyRepair.js-meta.xml
new file mode 100644
index 0000000..3392981
--- /dev/null
+++ b/force-app/main/default/lwc/lexCopyRepair/lexCopyRepair.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+	<isExposed>true</isExposed>
+	<targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCreateEvent/lexCreateEvent.html b/force-app/main/default/lwc/lexCreateEvent/lexCreateEvent.html
new file mode 100644
index 0000000..617f069
--- /dev/null
+++ b/force-app/main/default/lwc/lexCreateEvent/lexCreateEvent.html
@@ -0,0 +1,6 @@
+<template>
+    <div class="lexCreateEventReportHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+        <lightning-button label="Show Toast" onclick={ShowToastEvent}></lightning-button>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCreateEvent/lexCreateEvent.js b/force-app/main/default/lwc/lexCreateEvent/lexCreateEvent.js
new file mode 100644
index 0000000..453f9df
--- /dev/null
+++ b/force-app/main/default/lwc/lexCreateEvent/lexCreateEvent.js
@@ -0,0 +1,59 @@
+/*
+ * @Description: 
+ * @version: 
+ * @Author: chen jing wu
+ * @Date: 2023-04-13 13:50:23
+ * @LastEditors: chen jing wu
+ * @LastEditTime: 2023-04-13 14:39:54
+ */
+import { api, wire,LightningElement } from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import init  from '@salesforce/apex/OpportunityLightingButtonController.initForCreateEventButton';
+import { updateRecord } from 'lightning/uiRecordApi';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+export default class LexCreateEvent extends LightningElement {
+    @api recordId;
+    accountId;
+    @wire(CurrentPageReference)
+    getStateParameters(currentPageReference) {
+            console.log(111);
+            console.log(currentPageReference);
+
+        if (currentPageReference) {
+          const urlValue = currentPageReference.state.recordId;
+          if (urlValue) {
+            let str = `${urlValue}`;
+            console.log("str");
+            console.log(str);
+            this.recordId = str;
+          }
+        }
+    }
+    connectedCallback(){
+        init({
+            recordId: this.recordId
+        }).then(result=>{
+            this.accountId = result.accountId;
+            this.createEvent();
+        }).catch(error=>{
+            console.log("error");
+            console.log(error);
+        })
+    }
+    createEvent(){
+        window.open("/00U/e?retURL=%2Fapex%2FVFClosePage&accid=" + this.accountId + "&oid=" + this.recordId, "鏂板缓璁″垝");
+        this.dispatchEvent(new CloseActionScreenEvent());
+    }
+    showToast(msg,type) {
+        const event = new ShowToastEvent({
+            title: '',
+            message: msg,
+            variant: type
+        });
+        this.dispatchEvent(event);
+    }
+    updateRecordView(recordId) {
+        updateRecord({fields: { Id: recordId }});
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCreateEvent/lexCreateEvent.js-meta.xml b/force-app/main/default/lwc/lexCreateEvent/lexCreateEvent.js-meta.xml
new file mode 100644
index 0000000..3392981
--- /dev/null
+++ b/force-app/main/default/lwc/lexCreateEvent/lexCreateEvent.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+	<isExposed>true</isExposed>
+	<targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCreateNotesEmail/lexCreateNotesEmail.css b/force-app/main/default/lwc/lexCreateNotesEmail/lexCreateNotesEmail.css
new file mode 100644
index 0000000..8d634cd
--- /dev/null
+++ b/force-app/main/default/lwc/lexCreateNotesEmail/lexCreateNotesEmail.css
@@ -0,0 +1,10 @@
+.createEmailHolder{
+    position: relative;
+    display: inline-block;
+    width: 80px;
+    height: 80px;
+    text-align: center;
+}
+.container .uiContainerManager{
+	display: none !important;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCreateNotesEmail/lexCreateNotesEmail.html b/force-app/main/default/lwc/lexCreateNotesEmail/lexCreateNotesEmail.html
new file mode 100644
index 0000000..61d9b05
--- /dev/null
+++ b/force-app/main/default/lwc/lexCreateNotesEmail/lexCreateNotesEmail.html
@@ -0,0 +1,5 @@
+<template>
+    <div class="createEmailHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCreateNotesEmail/lexCreateNotesEmail.js b/force-app/main/default/lwc/lexCreateNotesEmail/lexCreateNotesEmail.js
new file mode 100644
index 0000000..3130703
--- /dev/null
+++ b/force-app/main/default/lwc/lexCreateNotesEmail/lexCreateNotesEmail.js
@@ -0,0 +1,97 @@
+/*
+ * @Description: 
+ * @version: 
+ * @Author: chen jing wu
+ * @Date: 2023-03-27 13:53:40
+ * @LastEditors: chen jing wu
+ * @LastEditTime: 2023-04-10 14:22:27
+ */
+import { api, wire,LightningElement } from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import { NavigationMixin } from 'lightning/navigation';
+import init  from '@salesforce/apex/MonthlyReportController.initForCreateNoteEmailButton';
+import UserInfo_Owner from '@salesforce/apex/TaskFeedbackController.UserInfo_Owner';
+
+export default class LexCreateNotesEmail extends LightningElement {
+    @api recordId;
+    ownerEmail;
+    ownerAlias;
+    keyIssue;
+    feedBack;
+    taskFollow;
+    otherIssue;
+    nextWeekPlan;
+    drSumUrl;
+    IsLoading = true;
+    url;
+
+    @wire(CurrentPageReference)
+    getStateParameters(currentPageReference) {
+            console.log(111);
+            console.log(currentPageReference);
+
+        if (currentPageReference) {
+          const urlValue = currentPageReference.state.recordId;
+          if (urlValue) {
+            let str = `${urlValue}`;
+            console.log("str");
+            console.log(str);
+            this.recordId = str;
+          }
+        }
+    }
+
+
+
+    connectedCallback(){
+        console.log(this.recordId);
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            console.log(result);
+            if (result != null) {
+                this.IsLoading = false;
+                this.ownerEmail = result.ownerEmail;
+                this.ownerAlias = result.ownerAlias;
+                this.keyIssue = result.keyIssue;
+                this.feedBack = result.feedBack;
+                this.taskFollow = result.taskFollow;
+                this.otherIssue = result.otherIssue;
+                this.nextWeekPlan = result.nextWeekPlan;
+                this.drSumUrl = result.drSumUrl;
+                this.userEmail = result.userEmail;
+                this.createEmail();
+                this.dispatchEvent(new CloseActionScreenEvent());
+            }
+        }).catch(error => {
+            console.log("error");
+            console.log(error);
+        }).finally(() => {
+            
+        });
+    }
+    createEmail() {
+        console.log("start");
+    
+       window.location.href = ("mailto:" 
+        + this.ownerEmail
+        +"?bcc=" 
+        +   this.userEmail
+        +"&subject=銆愬懆鎶�:" 
+        + this.ownerAlias 
+        + "銆�" + "&body=鍏堢敓/濂冲+" + "%0D%0A" + "%0D%0A" + "涓昏鎶ュ憡浜嬮」锛�"
+        + this.keyIssue 
+        +"%0D%0A" + "涓嬪睘浜嬮」/鐘舵�佹姤鍛婏細"
+        + this.feedBack 
+        +"%0D%0A" + "璇鹃鍙婂搴旂粨鏋�/鎻愭锛�" 
+        +  this.taskFollow 
+        +"%0D%0A" + "鍏朵粬浜嬮」锛�" 
+        + this.otherIssue 
+        +"%0D%0A" + "涓嬪懆璁″垝锛�" 
+        + this.nextWeekPlan 
+        +"%0D%0A" + "杩炴帴锛�" 
+        + this.drSumUrl
+        +"%0D%0A").substring(0,320).split("<br>").join("%0D%0A");
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCreateNotesEmail/lexCreateNotesEmail.js-meta.xml b/force-app/main/default/lwc/lexCreateNotesEmail/lexCreateNotesEmail.js-meta.xml
new file mode 100644
index 0000000..329e839
--- /dev/null
+++ b/force-app/main/default/lwc/lexCreateNotesEmail/lexCreateNotesEmail.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCreateRepair/lexCreateRepair.css b/force-app/main/default/lwc/lexCreateRepair/lexCreateRepair.css
new file mode 100644
index 0000000..8d634cd
--- /dev/null
+++ b/force-app/main/default/lwc/lexCreateRepair/lexCreateRepair.css
@@ -0,0 +1,10 @@
+.createEmailHolder{
+    position: relative;
+    display: inline-block;
+    width: 80px;
+    height: 80px;
+    text-align: center;
+}
+.container .uiContainerManager{
+	display: none !important;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCreateRepair/lexCreateRepair.html b/force-app/main/default/lwc/lexCreateRepair/lexCreateRepair.html
new file mode 100644
index 0000000..61d9b05
--- /dev/null
+++ b/force-app/main/default/lwc/lexCreateRepair/lexCreateRepair.html
@@ -0,0 +1,5 @@
+<template>
+    <div class="createEmailHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCreateRepair/lexCreateRepair.js b/force-app/main/default/lwc/lexCreateRepair/lexCreateRepair.js
new file mode 100644
index 0000000..8a2f637
--- /dev/null
+++ b/force-app/main/default/lwc/lexCreateRepair/lexCreateRepair.js
@@ -0,0 +1,231 @@
+import { LightningElement,wire,track,api} from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import { NavigationMixin } from 'lightning/navigation';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+import init  from '@salesforce/apex/QISReportController.initForlexCreateRepairButton';
+import UserInfo_Owner from '@salesforce/apex/TaskFeedbackController.UserInfo_Owner';
+import { updateRecord } from 'lightning/uiRecordApi';
+
+export default class lexCreateRepair extends LightningElement {
+	@api recordId;
+	IsLoading = true;
+	typeflag = false;
+	newflag = false;
+	qisReportId='';
+	name='';
+	qisRecordTypeId='';
+    err='';
+    accParentId='';
+    accParentRecordTypeId='';
+    accParentParentFSEGIMainLeader='';
+    accParentParentFSEGIMainLeaderWorkLocation='';
+    accParentParentFSESPMainLeader='';
+    accParentParentFSESPMainLeaderWorkLocation='';
+    WorkLocation='';
+    accrecordId='';
+    oCMjudgement='';
+    nextaction='';
+    specialfollow='';
+    comment='';
+    isUsedForTheOpera='';
+    UseFailProductFinish='';
+    failuerSituation='';
+    sourceOnCall='';
+    hospitalId='';
+    departmentClassId='';
+    hospitalDepartment='';
+    nonyushohinId='';
+    ownerId='';
+    faliourdate='';
+    sourceforrepair='';
+    repairSalesPointProvinceChina='';
+    trableoccurdaYcollect='';
+    damageForDocOrPat='';
+    relationWithTheProblem='';
+    reportForGoz='';
+    whichProject='';
+    operaName='';
+    breakORFallOff='';
+    setusageproduct='';
+    afterFailureInformation='';
+    delay15Min='';
+    informationFrom='';
+    failureQInHospital='';
+    ownername='';
+    hospitalname = '';
+    departmentClassname = '';
+    hospitalDepartmentname = '';
+    nonyushohinIdname = '';
+    sourceOnCallname = '';
+
+	@wire(CurrentPageReference)
+     getStateParameters(currentPageReference) {
+             console.log(111);
+             console.log(currentPageReference);
+
+         if (currentPageReference) {
+           const urlValue = currentPageReference.state.recordId;
+           if (urlValue) {
+             let str = `${urlValue}`;
+             console.log("str");
+             console.log(str);
+             this.recordId = str;
+           }
+         }
+    }
+
+    connectedCallback () {
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            this.IsLoading = false;
+            this.qisReportId = result.Id;
+            this.oCMjudgement = result.oCMjudgement;
+            this.nextaction = result.nextaction;
+            this.ownername = result.ownername;
+            this.specialfollow = result.specialfollow;
+            this.qisRecordTypeId = result.qisRecordTypeId;
+            this.accParentId = result.accParentId;
+            this.comment = result.comment;
+            if (result.sourceOnCall!=null) {
+            	this.sourceOnCall = result.sourceOnCall;
+            	this.sourceOnCallname = result.sourceOnCallname;
+            }
+            this.name = result.name;
+            this.hospitalId = result.hospitalId;
+            this.hospitalname = result.hospitalname;
+            this.departmentClassname = result.departmentClassname;
+            this.departmentClassId = result.departmentClassId;
+            this.hospitalDepartment = result.hospitalDepartment;
+            this.nonyushohinId = result.nonyushohinId;
+            this.ownerId = result.ownerId;
+            this.faliourdate = result.faliourdate;
+            this.sourceforrepair = result.sourceforrepair;
+            this.repairSalesPointProvinceChina = result.repairSalesPointProvinceChina;
+            this.trableoccurdaYcollect = result.trableoccurdaYcollect;
+            this.damageForDocOrPat = result.damageForDocOrPat;
+            this.relationWithTheProblem = result.relationWithTheProblem;
+            this.reportForGoz = result.reportForGoz;
+            this.whichProject = result.whichProject;
+            this.operaName = result.operaName;
+            this.breakORFallOff = result.breakORFallOff;
+            this.setusageproduct = result.setusageproduct;
+            this.afterFailureInformation = result.afterFailureInformation;
+            this.delay15Min = result.delay15Min;
+            this.informationFrom = result.informationFrom;
+            this.failureQInHospital = result.failureQInHospital;
+            this.failuerSituation = result.failuerSituation;
+            this.isUsedForTheOpera = result.isUsedForTheOpera;
+            this.accParentRecordTypeId = result.accParentRecordTypeId;
+            this.accParentParentFSEGIMainLeader = result.accParentParentFSEGIMainLeader;
+            this.accParentParentFSEGIMainLeaderWorkLocation = result.accParentParentFSEGIMainLeaderWorkLocation;
+            this.accParentParentFSESPMainLeader = result.accParentParentFSESPMainLeader;
+            this.accParentParentFSESPMainLeaderWorkLocation = result.accParentParentFSESPMainLeaderWorkLocation;
+         	if (this.qisRecordTypeId != '01210000000RLWc' && this.qisRecordTypeId != '01210000000RLWh') {
+         		this.typeflag = true;
+         	}
+         	if (this.accParentId != null) {
+         		if (this.accParentRecordTypeId != null) {
+         			this.accrecordId = this.accParentRecordTypeId.substring(0,15);
+         			if (this.accrecordId == '01210000000QemL' || this.accrecordId == '01210000000QezZ' || this.accrecordId == '01210000000QemQ') {
+         				if (this.accParentParentFSEGIMainLeader != null) {
+         					this.WorkLocation = this.accParentParentFSEGIMainLeaderWorkLocation;
+         				}
+         			}else if(this.accrecordId == '01210000000Qeze' || this.accrecordId == '01210000000Qezj' || this.accrecordId == '01210000000Qezt'|| this.accrecordId == '01210000000Qezo'|| this.accrecordId == '01210000000Qezy'){
+         				if (this.accParentParentFSESPMainLeader != null) {
+         					this.WorkLocation = this.accParentParentFSESPMainLeaderWorkLocation;
+         				}
+         			}
+         		}
+         	}
+         	if ((this.oCMjudgement == '璐ㄩ噺闂' && this.nextaction == '鏃犲伩缁翠慨') ||
+         		(this.oCMjudgement == '璐ㄩ噺闂' && this.nextaction == '鏈夊伩缁翠慨' && this.specialfollow == '0') || 
+         		(this.oCMjudgement == '闈炶川閲忛棶棰�' && this.nextaction == '鏃犲伩缁翠慨' && this.specialfollow == '1') || 
+         		(this.oCMjudgement == '闈炶川閲忛棶棰�' && this.nextaction == '鏈夊伩缁翠慨' && this.specialfollow == '0') || 
+         		(this.oCMjudgement == '璐ㄩ噺闂+闈炶川閲忛棶棰�' && this.nextaction == '鏃犲伩缁翠慨' && this.specialfollow == '1') || 
+         		(this.oCMjudgement == '璐ㄩ噺闂+闈炶川閲忛棶棰�' && this.nextaction == '鏈夊伩缁翠慨+鏃犲伩缁翠慨' && this.specialfollow == '0') || 
+         		(this.oCMjudgement == '鐜拌薄鏈彂鐜�' && this.nextaction == '鏃犲伩缁翠慨' && this.specialfollow == '1') || 
+         		(this.oCMjudgement == '鐜拌薄鏈彂鐜�' && this.nextaction == '鏈夊伩缁翠慨' && this.specialfollow == '0')) {
+         		this.newflag = true;
+         	}
+         	console.log('this.newflag = '+this.newflag);
+         	console.log('this.typeflag = '+this.typeflag);
+         	if ( this.newflag && this.typeflag) {
+         		if (this.isUsedForTheOpera == 'YES') {
+         			this.UseFailProductFinish = '鏄�';
+         		}else if(this.isUsedForTheOpera == 'NO-鐢ㄦ浛浠e搧瀹屾垚浜�'){
+         			this.UseFailProductFinish = '鍚�-鐢ㄦ浛浠e搧瀹屾垚';
+         		}else if(this.isUsedForTheOpera == 'NO-鐢ㄥ叾浠栧叕鍙哥殑鍚岀被浜у搧瀹屾垚浜�'){
+         			this.UseFailProductFinish = '鍚�-鐢ㄥ叾浠栧叕鍙哥殑鍚岀被浜у搧瀹屾垚';
+         		}else if(this.isUsedForTheOpera == 'NO-鎵嬫湳涓'){
+         			this.UseFailProductFinish = '鍚�-鎵嬫湳涓';
+         		}
+         		if ('浣跨敤鍓嶅噯澶�' == this.failuerSituation) {
+         			this.failuerSituation = '浣跨敤鍓嶅噯澶�-鎮h�呮湭楹婚唹';
+         		}
+         		var url = '';
+         			url = "/a0J/e?" +
+						"CF00N10000002FIJU_lkid="+this.sourceOnCall+"&" +
+						"CF00N10000002FIJU="+this.sourceOnCallname+"&" +
+						"CF00N10000002FIJZ_lkid="+this.qisReportId+"&" +
+						"CF00N10000002FIJZ="+this.name+"&" +
+						"CF00N10000002Dx66_lkid="+this.hospitalId+"&" +
+						"CF00N10000002Dx66="+this.hospitalname+"&" +
+						"CF00N10000002Dx5t_lkid="+this.departmentClassId+"&" +
+						"CF00N10000002Dx5t="+this.departmentClassname+"&" +
+						"CF00N10000002Dx5n_lkid="+this.hospitalDepartment+"&" +
+						"CF00N10000002Dx5n="+this.hospitalDepartmentname+"&" +
+						"CF00N10000002Dx1X_lkid="+this.nonyushohinId+"&" +
+						"CF00N10000002Dx1X="+this.nonyushohinIdname+"&" +
+						"CF00N10000002EMHw_lkid="+this.ownerId+"&" +
+						"CF00N10000002EMHw="+this.ownername+"&" +
+						"00N10000002Dx5y="+this.faliourdate+"&" +
+						"00N10000002Dx6I="+this.comment+"&" +
+						"00N10000002FH86="+this.sourceforrepair+"&" +
+						"00N10000006P6Rn="+this.repairSalesPointProvinceChina+"&" +
+						"00N10000008rsVQ="+this.trableoccurdaYcollect+"&" +
+						"00N10000008rsW7="+this.damageForDocOrPat+"&"+
+						"00N10000008rsVw="+this.relationWithTheProblem+"&"+
+						"00N10000008rsW2="+this.reportForGoz+"&"+
+						"00N10000008rsW6="+this.whichProject+"&"+
+						"00N10000008rsVk="+this.operaName+"&" +
+						"00N10000008rsVN="+this.breakORFallOff+"&"+
+						"00N10000008rsW4="+this.setusageproduct+"&" +
+						"00N10000008rsVL="+this.afterFailureInformation+"&" +
+						"00N10000008rsVR="+this.delay15Min+"&"+
+						"00N10000008rsVZ="+this.informationFrom+"&"+
+						"00N10000008rsVT="+this.failureQInHospital+"&" +
+						"00N10000008rsVv="+this.failuerSituation+"&"+
+						"00N10000008rsW5="+this.UseFailProductFinish+ "&" +
+						"00N10000006P6SM="+this.WorkLocation+ "&" +
+						"retURL=%2F"+this.qisReportId;
+						window.open(url, "_blank");
+						this.dispatchEvent(new CloseActionScreenEvent());
+         	}else{
+         		const evt = new ShowToastEvent({
+                        title : '璇IS涓嶈兘鏂板缓淇悊',
+                        message: '',
+                        variant: 'error'
+                    });
+                    this.dispatchEvent(evt);
+                this.dispatchEvent(new CloseActionScreenEvent());
+         		return;
+         	}
+        }).catch(error => {
+            
+            const evt = new ShowToastEvent({
+                        title : '鍙戠敓閿欒',
+                        message: '',
+                        variant: 'error'
+                    });
+                    this.dispatchEvent(evt);
+
+            this.dispatchEvent(new CloseActionScreenEvent());
+            console.log('error='+error);
+         	return;
+        }).finally(() => {
+            
+        }); 
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCreateRepair/lexCreateRepair.js-meta.xml b/force-app/main/default/lwc/lexCreateRepair/lexCreateRepair.js-meta.xml
new file mode 100644
index 0000000..6cafb47
--- /dev/null
+++ b/force-app/main/default/lwc/lexCreateRepair/lexCreateRepair.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lexCreateRepair">
+   <apiVersion>54.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightning__RecordPage</target>
+        <target>lightning__AppPage</target>
+        <target>lightning__HomePage</target>
+        <target>lightning__RecordAction</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCreateReportMaintenanceContract/lexCreateReportMaintenanceContract.html b/force-app/main/default/lwc/lexCreateReportMaintenanceContract/lexCreateReportMaintenanceContract.html
new file mode 100644
index 0000000..d044dbb
--- /dev/null
+++ b/force-app/main/default/lwc/lexCreateReportMaintenanceContract/lexCreateReportMaintenanceContract.html
@@ -0,0 +1,5 @@
+<template>
+    <div class="exampleHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCreateReportMaintenanceContract/lexCreateReportMaintenanceContract.js b/force-app/main/default/lwc/lexCreateReportMaintenanceContract/lexCreateReportMaintenanceContract.js
new file mode 100644
index 0000000..04d05e5
--- /dev/null
+++ b/force-app/main/default/lwc/lexCreateReportMaintenanceContract/lexCreateReportMaintenanceContract.js
@@ -0,0 +1,69 @@
+import {
+    LightningElement,
+    wire,
+    api
+} from 'lwc';
+import {
+    CurrentPageReference
+} from "lightning/navigation";
+import {
+    CloseActionScreenEvent
+} from 'lightning/actions';
+import init from '@salesforce/apex/otherButtonMaintenanceContractCtl.init';
+
+export default class LexCreateReportMaintenanceContract extends LightningElement {
+    @api recordId;
+    str;
+    IsLoading = true;
+    Id;
+    RecordTypeDeveloperNameC;
+    EstimateTargetC;
+
+    @wire(CurrentPageReference)
+    getStateParameters(currentPageReference) {
+        if (currentPageReference) {
+            const urlValue = currentPageReference.state.recordId;
+            if (urlValue) {
+                let str = `${urlValue}`;
+                this.recordId = str;
+            }
+        }
+    }
+
+    connectedCallback() {
+        console.log(this.recordId);
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            console.log(result);
+            if (result != null) {
+                this.IsLoading = false;
+                this.Id = result.Id;
+                this.RecordTypeDeveloperNameC = result.RecordTypeDeveloperNameC;
+                this.EstimateTargetC = result.EstimateTargetC;
+
+                this.CreateReport();
+                this.dispatchEvent(new CloseActionScreenEvent());
+            }
+        }).catch(error => {
+            console.log(error);
+        }).finally(() => {
+
+        });
+    }
+
+    // 鍒朵綔鎶ュ憡涔�
+    CreateReport() {
+        var MaintenanceContractId = this.Id;
+        var RecordTypeName = this.RecordTypeDeveloperNameC;
+        var EstimateTarget = this.EstimateTargetC;
+
+        var url = '';
+        if (EstimateTarget == "缁忛攢鍟�" && (RecordTypeName == "NewMaintenance_Contract" || RecordTypeName == "VM_Contract")) {
+            url = "/apex/MoreMaintenanceContractPop?Id=" + MaintenanceContractId + "&RecordTypeName=" + RecordTypeName;
+        } else {
+            url = "http://powerbi.olympus.com.cn/Home/Login";
+        }
+        window.open(url, '_bank');
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCreateReportMaintenanceContract/lexCreateReportMaintenanceContract.js-meta.xml b/force-app/main/default/lwc/lexCreateReportMaintenanceContract/lexCreateReportMaintenanceContract.js-meta.xml
new file mode 100644
index 0000000..3392981
--- /dev/null
+++ b/force-app/main/default/lwc/lexCreateReportMaintenanceContract/lexCreateReportMaintenanceContract.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+	<isExposed>true</isExposed>
+	<targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCustomAnewMaintenance/lexCustomAnewMaintenance.html b/force-app/main/default/lwc/lexCustomAnewMaintenance/lexCustomAnewMaintenance.html
new file mode 100644
index 0000000..87f391a
--- /dev/null
+++ b/force-app/main/default/lwc/lexCustomAnewMaintenance/lexCustomAnewMaintenance.html
@@ -0,0 +1,6 @@
+<template>
+    <div class="exampleHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+        <lightning-button label="Show Toast" onclick={ShowToastEvent}></lightning-button>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCustomAnewMaintenance/lexCustomAnewMaintenance.js b/force-app/main/default/lwc/lexCustomAnewMaintenance/lexCustomAnewMaintenance.js
new file mode 100644
index 0000000..45665b5
--- /dev/null
+++ b/force-app/main/default/lwc/lexCustomAnewMaintenance/lexCustomAnewMaintenance.js
@@ -0,0 +1,96 @@
+import {
+    LightningElement,
+    wire,
+    api
+} from 'lwc';
+import {
+    CurrentPageReference
+} from "lightning/navigation";
+import {
+    CloseActionScreenEvent
+} from 'lightning/actions';
+import init from '@salesforce/apex/otherButtonMaintenanceContractCtl.init';
+import selectMaintenanceContractEstimate from '@salesforce/apex/otherButtonMaintenanceContractCtl.selectMaintenanceContractEstimate';
+import {
+    ShowToastEvent
+} from 'lightning/platformShowToastEvent';
+
+export default class LexCustomAnewMaintenance extends LightningElement {
+    @api recordId;
+    str;
+    IsLoading = true;
+    Id;
+    StatusC;
+    RecordTypeId;
+    URFContractC;
+
+    @wire(CurrentPageReference)
+    getStateParameters(currentPageReference) {
+        if (currentPageReference) {
+            const urlValue = currentPageReference.state.recordId;
+            if (urlValue) {
+                let str = `${urlValue}`;
+                this.recordId = str;
+            }
+        }
+    }
+
+    connectedCallback() {
+        console.log(this.recordId);
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            console.log(result);
+            if (result != null) {
+                this.IsLoading = false;
+                this.Id = result.Id;
+                this.RecordTypeId = result.RecordTypeId;
+                this.StatusC = result.StatusC;
+                this.URFContractC = result.URFContractC;
+
+                this.CustomAnew();
+                this.dispatchEvent(new CloseActionScreenEvent());
+            }
+        }).catch(error => {
+            console.log(error);
+        })
+    }
+
+    //涓
+    CustomAnew() {
+        if (this.StatusC != "寮曞悎涓�") {
+            this.ShowToastEvent("缁翠慨鍚堝悓涓嶆槸璇环涓殑鐘舵�侊紝涓嶈兘鍐嶆姤浠�", "error")
+            // alert("缁翠慨鍚堝悓涓嶆槸璇环涓殑鐘舵�侊紝涓嶈兘鍐嶆姤浠�");
+        } else {
+            init().then(result => {
+                if (result.length == 1) {
+                    if (this.RecordTypeId == "01210000000gTYq") {
+                        //URF闄愭鍚堝悓2鏈� LY 20220902 start
+                        if (this.URFContractC == true) {
+                            window.open("/apex/SelectAssetEstimateURF?copyid=" + ids[0], "_top");
+                        } else {
+                            window.open("/apex/SelectAssetEstimateVM?copyid=" + ids[0], "_top");
+                        }
+                        //URF闄愭鍚堝悓2鏈� LY 20220902 end
+                    } else {
+                        window.open("/apex/SelectAssetEstimate?copyid=" + ids[0], "_top");
+                    }
+
+                } else {
+                    this.ShowToastEvent('璇烽�夋嫨涓�涓姤浠�', "error")
+                    // alert('璇烽�夋嫨涓�涓姤浠�');
+                }
+            })
+        }
+    }
+
+    // 寮圭獥
+    ShowToastEvent(msg, type) {
+        const event = new ShowToastEvent({
+            title: '',
+            message: msg,
+            variant: type
+        });
+        this.dispatchEvent(event);
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCustomAnewMaintenance/lexCustomAnewMaintenance.js-meta.xml b/force-app/main/default/lwc/lexCustomAnewMaintenance/lexCustomAnewMaintenance.js-meta.xml
new file mode 100644
index 0000000..3392981
--- /dev/null
+++ b/force-app/main/default/lwc/lexCustomAnewMaintenance/lexCustomAnewMaintenance.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+	<isExposed>true</isExposed>
+	<targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCustomAttachmentTypeComp/lexCustomAttachmentTypeComp.html b/force-app/main/default/lwc/lexCustomAttachmentTypeComp/lexCustomAttachmentTypeComp.html
new file mode 100644
index 0000000..a910547
--- /dev/null
+++ b/force-app/main/default/lwc/lexCustomAttachmentTypeComp/lexCustomAttachmentTypeComp.html
@@ -0,0 +1,16 @@
+<!-- sldsValidatorIgnore -->
+<!-- sldsValidatorIgnore -->
+<template>
+    <div class="picklist-container">
+        <lightning-combobox
+            name="selecttype"
+            value={typeValue}
+            variant="label-hidden"
+            onchange={handleDataChange}
+            data-field="selecttype"
+            options={typeOptions}
+            disabled={isDisabledAttachment}
+        ></lightning-combobox>
+    </div>
+    
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCustomAttachmentTypeComp/lexCustomAttachmentTypeComp.js b/force-app/main/default/lwc/lexCustomAttachmentTypeComp/lexCustomAttachmentTypeComp.js
new file mode 100644
index 0000000..0a6be95
--- /dev/null
+++ b/force-app/main/default/lwc/lexCustomAttachmentTypeComp/lexCustomAttachmentTypeComp.js
@@ -0,0 +1,25 @@
+import { LightningElement,api } from 'lwc';
+
+export default class LexCustomAttachmentTypeComp extends LightningElement {
+    @api typeValue;
+    @api typeOptions;
+    @api recordId;
+    @api isDisabledAttachment;
+
+    connectedCallback(){
+        console.log('typeValue = ' + this.typeValue + ' typeOptions = ' + this.typeOptions + ' recordId' + this.recordId + ' isDisabledAttachment=' + this.isDisabledAttachment);
+    }
+
+    handleDataChange(event){
+        console.log('typeValue = ' + event.target.value);
+        this.typeValue = event.target.value;
+        this.dispatchEvent(new CustomEvent('typechange', {
+            composed: true,
+            bubbles: true,
+            cancelable: true,
+            detail: {
+                data: { typeValue: this.typeValue, recordId: this.recordId }
+            }
+        }));
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCustomAttachmentTypeComp/lexCustomAttachmentTypeComp.js-meta.xml b/force-app/main/default/lwc/lexCustomAttachmentTypeComp/lexCustomAttachmentTypeComp.js-meta.xml
new file mode 100644
index 0000000..f8c5cb4
--- /dev/null
+++ b/force-app/main/default/lwc/lexCustomAttachmentTypeComp/lexCustomAttachmentTypeComp.js-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>56.0</apiVersion>
+    <isExposed>false</isExposed>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCustomClone/lexCustomClone.css b/force-app/main/default/lwc/lexCustomClone/lexCustomClone.css
new file mode 100644
index 0000000..8d634cd
--- /dev/null
+++ b/force-app/main/default/lwc/lexCustomClone/lexCustomClone.css
@@ -0,0 +1,10 @@
+.createEmailHolder{
+    position: relative;
+    display: inline-block;
+    width: 80px;
+    height: 80px;
+    text-align: center;
+}
+.container .uiContainerManager{
+	display: none !important;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCustomClone/lexCustomClone.html b/force-app/main/default/lwc/lexCustomClone/lexCustomClone.html
new file mode 100644
index 0000000..61d9b05
--- /dev/null
+++ b/force-app/main/default/lwc/lexCustomClone/lexCustomClone.html
@@ -0,0 +1,5 @@
+<template>
+    <div class="createEmailHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCustomClone/lexCustomClone.js b/force-app/main/default/lwc/lexCustomClone/lexCustomClone.js
new file mode 100644
index 0000000..8e437bd
--- /dev/null
+++ b/force-app/main/default/lwc/lexCustomClone/lexCustomClone.js
@@ -0,0 +1,49 @@
+import { LightningElement,wire,track,api} from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import { NavigationMixin } from 'lightning/navigation';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+import init  from '@salesforce/apex/CaseController.initForlexCustomCloneButton';
+import UserInfo_Owner from '@salesforce/apex/TaskFeedbackController.UserInfo_Owner';
+import { updateRecord } from 'lightning/uiRecordApi';
+
+export default class lexCustomClone extends LightningElement {
+	@api recordId;
+	IsLoading = true;
+	inquirydetail;
+	answerdetailcontent;
+
+	@wire(CurrentPageReference)
+     getStateParameters(currentPageReference) {
+             console.log(111);
+             console.log(currentPageReference);
+
+         if (currentPageReference) {
+           const urlValue = currentPageReference.state.recordId;
+           if (urlValue) {
+             let str = `${urlValue}`;
+             console.log("str");
+             console.log(str);
+             this.recordId = str;
+           }
+         }
+    }
+
+    connectedCallback () {
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            this.IsLoading = false;
+            this.inquirydetail = result.inquirydetail;
+            this.answerdetailcontent = result.answerdetailcontent;
+            var url = "/500/e?retURL="+this.recordId+"&RecordType=01210000000QsYp&ent=Case"+
+						"&00N10000003M4vA="+this.inquirydetail+
+						"&00N10000003M4v8="+this.answerdetailcontent;
+            window.open(url);
+        }).catch(error => {
+            console.log('error='+error);
+        }).finally(() => {
+            
+        }); 
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCustomClone/lexCustomClone.js-meta.xml b/force-app/main/default/lwc/lexCustomClone/lexCustomClone.js-meta.xml
new file mode 100644
index 0000000..bcc9491
--- /dev/null
+++ b/force-app/main/default/lwc/lexCustomClone/lexCustomClone.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lexCustomClone">
+     <apiVersion>54.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightning__RecordPage</target>
+        <target>lightning__AppPage</target>
+        <target>lightning__HomePage</target>
+        <target>lightning__RecordAction</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCustomDelete/lexCustomDelete.html b/force-app/main/default/lwc/lexCustomDelete/lexCustomDelete.html
new file mode 100644
index 0000000..d044dbb
--- /dev/null
+++ b/force-app/main/default/lwc/lexCustomDelete/lexCustomDelete.html
@@ -0,0 +1,5 @@
+<template>
+    <div class="exampleHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCustomDelete/lexCustomDelete.js b/force-app/main/default/lwc/lexCustomDelete/lexCustomDelete.js
new file mode 100644
index 0000000..4ae611c
--- /dev/null
+++ b/force-app/main/default/lwc/lexCustomDelete/lexCustomDelete.js
@@ -0,0 +1,89 @@
+import {
+    LightningElement,
+    wire,
+    api
+} from 'lwc';
+import {
+    CurrentPageReference
+} from "lightning/navigation";
+import {
+    CloseActionScreenEvent
+} from 'lightning/actions';
+import init from '@salesforce/apex/otherButtonRepairController.init';
+import selectCustomDeleteById from '@salesforce/apex/otherButtonRepairController.selectCustomDeleteById';
+import deleteRepair from '@salesforce/apex/otherButtonRepairController.deleteRepair';
+
+
+export default class LexCustomDelete extends LightningElement {
+    @api recordId;
+    str;
+    IsLoading = true;
+    Id;
+    userID;
+
+    @wire(CurrentPageReference)
+    getStateParameters(currentPageReference) {
+        if (currentPageReference) {
+            const urlValue = currentPageReference.state.recordId;
+            if (urlValue) {
+                let str = `${urlValue}`;
+                this.recordId = str;
+            }
+        }
+    }
+
+    connectedCallback() {
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            console.log(result);
+            if (result != null) {
+                this.IsLoading = false;
+                this.Id = result.Id;
+                this.userID = result.userID;
+
+                this.CustomDelete();
+                this.dispatchEvent(new CloseActionScreenEvent());
+            }
+        }).catch(error => {
+            console.log(error);
+        }).finally(() => {
+
+        });
+    }
+
+    // 鍒犻櫎
+    CustomDelete() {
+        selectCustomDeleteById({
+            recordId: this.Id
+        }).then(repList => {
+            if (repList != null && repList.length > 0) {
+                var rp = repList[0];
+                if (rp.Status__c != "鑽夋涓�" &&
+                    rp.Status__c != "1.鍙楃悊瀹屾瘯(SAP寰呭彂閫�)" &&
+                    rp.Status__c != "4.淇悊鍝佽繑閫侀樁娈�"
+                ) {
+                    alert("涓嶆槸鑽夋涓紝涓嶈兘鍒犻櫎");
+                } else if (rp.Status__c == "4.淇悊鍝佽繑閫侀樁娈�" &&
+                    (rp.SAP_Transfer_time__c != "" || rp.Repair_Ordered_Date__c != "")
+                ) {
+                    alert("宸茬粡鍙戦�佽繃SAP锛屼笉鑳藉垹闄�");
+                } else if (this.userID.substring(0, 15) != rp.CreatedById.substring(0, 15) && this.userID.substring(0, 15) != rp.Acc_OwnerId__c.substring(0, 15) && this.userID.substring(0, 15) != rp.FSE_ownerid__c.substring(0, 15)) {
+                    alert("涓嶆槸鎵�鏈変汉銆佸垱寤轰汉鎴朏SE涓昏礋璐d汉锛屼笉鑳藉垹闄�");
+                } else {
+                    if (confirm("鏄惁纭畾锛�")) {
+                        deleteRepair({
+                            rid: rp.Id
+                        }).then(rtn => {
+                            if (rtn == "OK") {
+                                window.location.href = "/a0J/o";
+                            } else {
+                                alert(rtn);
+                            }
+                        })
+                    }
+                }
+            }
+        })
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCustomDelete/lexCustomDelete.js-meta.xml b/force-app/main/default/lwc/lexCustomDelete/lexCustomDelete.js-meta.xml
new file mode 100644
index 0000000..3392981
--- /dev/null
+++ b/force-app/main/default/lwc/lexCustomDelete/lexCustomDelete.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+	<isExposed>true</isExposed>
+	<targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCustomDeleteLWC/lexCustomDeleteLWC.html b/force-app/main/default/lwc/lexCustomDeleteLWC/lexCustomDeleteLWC.html
new file mode 100644
index 0000000..ba53413
--- /dev/null
+++ b/force-app/main/default/lwc/lexCustomDeleteLWC/lexCustomDeleteLWC.html
@@ -0,0 +1,2 @@
+<template>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCustomDeleteLWC/lexCustomDeleteLWC.js b/force-app/main/default/lwc/lexCustomDeleteLWC/lexCustomDeleteLWC.js
new file mode 100644
index 0000000..86678f3
--- /dev/null
+++ b/force-app/main/default/lwc/lexCustomDeleteLWC/lexCustomDeleteLWC.js
@@ -0,0 +1,144 @@
+import { LightningElement, api, track, wire } from 'lwc';
+import init from '@salesforce/apex/lexCustomDeleteController.initForCustomDelete';
+import {CurrentPageReference} from 'lightning/navigation'
+import UserInfo_Owner from '@salesforce/apex/TaskFeedbackController.UserInfo_Owner';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+import deleteRepair from '@salesforce/apex/ControllerUtil.deleteRepair';
+
+export default class lexCustomDeleteLWC extends LightningElement {
+
+
+    @api recordId;
+    @api message;
+
+    @track Status ;
+    @track FSE ;
+    @track SAP;
+    @track cre ;
+    @track Rep ;
+    @track acc ;
+    @track fSE ;
+    @track id;
+    @track rtn;
+
+
+    @wire(CurrentPageReference)
+    getStateParameters(currentPageReference){
+        console.log(111);
+        console.log(currentPageReference);
+        if(currentPageReference){
+            const urlValue=currentPageReference.state.recordId;
+            if(urlValue){
+                let str='${urlValue}';
+                console.log("str");
+                console.log(str);
+                this.recordId=str;
+            }
+        }
+    }
+    connectedCallback(){
+        console.log(this.recordId);
+        init({
+            recordId:this.recordId
+        }).then(result=>{
+            console.log(result);
+            if(result!=null){
+                this.FSE=result.FSEApplyForRepairtime;
+                this.Rep=result.Rep;
+                this.SAP=result.SAP;
+                this.Status=result.Status;
+                this.acc=result.acc;
+                this.id=result.Id;
+                this.cre=result.cre;
+                this.fSE=result.FSEownerId;
+                console.log("end");
+                this.handleDeleteAction();
+                console.log("end2");
+
+            }
+        })
+    }
+   
+    handleDeleteAction(){
+    if (this.Status != null && this.Status.length > 0) {
+        if (this.Status != "鑽夋涓�"&& this.Status != "1.鍙楃悊瀹屾瘯(SAP寰呭彂閫�)"&& this.Status != "4.淇悊鍝佽繑閫侀樁娈�") {
+            this.message = "涓嶆槸鑽夋涓�,涓嶈兘鍒犻櫎";
+            const event = new ShowToastEvent({
+                title: 'error',
+                variant:'error',
+                message: 
+                    this.message,
+            });
+            this.dispatchEvent(event);
+        }
+        else if (this.Status == "0.鐢宠瀹屾瘯"&& (this.FSE != "")) {
+            message = "FSE宸茬粡鐢宠锛屼笉鑳藉垹闄�";
+        console.log('***action4');
+
+            const event = new ShowToastEvent({
+                title: 'warning',
+                message:
+                    this.message,
+            });
+            this.dispatchEvent(event);
+        }
+        else if (this.Status == "4.淇悊鍝佽繑閫侀樁娈�"&& (this.SAP != "" || this.Rep!= "")){
+            message = "宸茬粡鍙戦�佽繃SAP锛屼笉鑳藉垹闄�";
+            const event = new ShowToastEvent({
+                title: 'warning',
+                message:
+                    this.message,
+            });
+            this.dispatchEvent(event);
+        }
+        else if (UserInfo_Owner.Id.substring(0,15) != this.cre.substring(0,15) && UserInfo_Owner.Id.substring(0,15) != this.acc.substring(0,15)&& UserInfo_Owner.Id.substring(0,15) != this.fSE.substring(0,15)) {
+            message = "涓嶆槸鎵�鏈変汉銆佸垱寤轰汉鎴朏SE涓昏礋璐d汉锛屼笉鑳藉垹闄�";
+            const event = new ShowToastEvent({
+                title: 'warning',
+                message:
+                    this.message,
+            });
+            this.dispatchEvent(event);
+        }
+        else {
+            
+            // sforce.connection.sessionId = '{!$Api.Session_ID}';
+            // var rtn=sforce.apex.execute("ControllerUtil","deleteRepair",{rid:this.id});
+            deleteRepair({
+                rid:this.id
+            }).then(result=>{
+                console.log(result);
+                if(result!=null){
+                    this.rtn=result;
+                }
+            })
+
+            if (this.rtn == "OK") {
+                 reload();
+            } else {
+                alert(this.rtn);
+
+            }
+        }
+     }
+
+    function reload(){
+        var str="";
+        if(getParam('retURL')!==null){
+            str +=getParam('retURL');
+        }
+        window.open(str,'_self');
+    }
+
+    function getParam(paramName) {
+        paramValue = "", isFound = !1;
+        if (this.location.search.indexOf("?") == 0 && this.location.search.indexOf("=") > 1) {
+            arrSource = unescape(this.location.search).substring(1, this.location.search.length).split("&"), i = 0;
+            while (i < arrSource.length && !isFound) arrSource[i].indexOf("=") > 0 && arrSource[i].split("=")[0].toLowerCase() == paramName.toLowerCase() && (paramValue = arrSource[i].split("=")[1], isFound = !0), i++
+        }
+    return paramValue == "" && (paramValue = null), paramValue
+}
+
+}
+
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCustomDeleteLWC/lexCustomDeleteLWC.js-meta.xml b/force-app/main/default/lwc/lexCustomDeleteLWC/lexCustomDeleteLWC.js-meta.xml
new file mode 100644
index 0000000..7731813
--- /dev/null
+++ b/force-app/main/default/lwc/lexCustomDeleteLWC/lexCustomDeleteLWC.js-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="customDelete">
+    <apiVersion>56.0</apiVersion>
+    <isExposed>true</isExposed>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCustomDiffReasonComp/lexCustomDiffReasonComp.html b/force-app/main/default/lwc/lexCustomDiffReasonComp/lexCustomDiffReasonComp.html
new file mode 100644
index 0000000..dbe7731
--- /dev/null
+++ b/force-app/main/default/lwc/lexCustomDiffReasonComp/lexCustomDiffReasonComp.html
@@ -0,0 +1,9 @@
+<template>
+    <lightning-input
+    variant="label-hidden"
+    type='text'
+    value = {DiffReason}
+    onblur={diffReasonBlur}>
+
+    </lightning-input>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCustomDiffReasonComp/lexCustomDiffReasonComp.js b/force-app/main/default/lwc/lexCustomDiffReasonComp/lexCustomDiffReasonComp.js
new file mode 100644
index 0000000..3beb66a
--- /dev/null
+++ b/force-app/main/default/lwc/lexCustomDiffReasonComp/lexCustomDiffReasonComp.js
@@ -0,0 +1,27 @@
+import { LightningElement,api, track } from 'lwc';
+
+export default class LexCustomDiffReasonComp extends LightningElement {
+    @api prodId;
+    @track DiffReason = '';
+
+    
+    connectedCallback(){
+        console.log('ProdId'+this.prodId);
+    }
+
+    diffReasonBlur(event){
+        console.log('LexCustomDiffReasonComp')
+        this.DiffReason = event.target.value;
+
+        this.dispatchEvent(new CustomEvent('diffreasons', {
+            composed: true,
+            bubbles: true,
+            cancelable: true,
+            detail: {
+                data: { DiffReason: this.DiffReason, ProdId: this.prodId }
+            }
+        }));
+    }
+
+
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCustomDiffReasonComp/lexCustomDiffReasonComp.js-meta.xml b/force-app/main/default/lwc/lexCustomDiffReasonComp/lexCustomDiffReasonComp.js-meta.xml
new file mode 100644
index 0000000..f8c5cb4
--- /dev/null
+++ b/force-app/main/default/lwc/lexCustomDiffReasonComp/lexCustomDiffReasonComp.js-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>56.0</apiVersion>
+    <isExposed>false</isExposed>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCustomLightningDatatable/customAttachmentType.html b/force-app/main/default/lwc/lexCustomLightningDatatable/customAttachmentType.html
new file mode 100644
index 0000000..797be40
--- /dev/null
+++ b/force-app/main/default/lwc/lexCustomLightningDatatable/customAttachmentType.html
@@ -0,0 +1,10 @@
+<template>
+    <c-lex-custom-attachment-type-comp
+        type-value={typeAttributes.typeValue}
+        type-options={typeAttributes.typeOptions}
+        record-id={typeAttributes.recordId}
+        is-disabled-attachment={typeAttributes.isDisabledAttachment}
+        ontypechange={handleDataChange}
+    >
+    </c-lex-custom-attachment-type-comp>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCustomLightningDatatable/customShipmentNumber.html b/force-app/main/default/lwc/lexCustomLightningDatatable/customShipmentNumber.html
index 9c16166..f7bd7cd 100644
--- a/force-app/main/default/lwc/lexCustomLightningDatatable/customShipmentNumber.html
+++ b/force-app/main/default/lwc/lexCustomLightningDatatable/customShipmentNumber.html
@@ -1,6 +1,8 @@
 <template>
     <c-custom-shipment-number-comp
-    record-id={typeAttributes.recordId}>
+    record-id={typeAttributes.recordId}
+    shipment-number={typeAttributes.shipmentNumber}
+    >
 
     </c-custom-shipment-number-comp>
 </template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCustomLightningDatatable/customShippingUnitPrice.html b/force-app/main/default/lwc/lexCustomLightningDatatable/customShippingUnitPrice.html
index a4d518a..56d603a 100644
--- a/force-app/main/default/lwc/lexCustomLightningDatatable/customShippingUnitPrice.html
+++ b/force-app/main/default/lwc/lexCustomLightningDatatable/customShippingUnitPrice.html
@@ -1,6 +1,8 @@
 <template>
     <c-custom-shipping-unit-price-comp
-    record-id={typeAttributes.recordId}>
+    record-id={typeAttributes.recordId}
+    shipping-unit-price={typeAttributes.shippingUnitPrice}
+    >
 
     </c-custom-shipping-unit-price-comp>
 </template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCustomLightningDatatable/customTableInput.html b/force-app/main/default/lwc/lexCustomLightningDatatable/customTableInput.html
new file mode 100644
index 0000000..bf21cd7
--- /dev/null
+++ b/force-app/main/default/lwc/lexCustomLightningDatatable/customTableInput.html
@@ -0,0 +1,3 @@
+<template>
+    <c-lex-custom-table-input input-value={typeAttributes.inputValue} record-id={typeAttributes.recordId}></c-lex-custom-table-input>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCustomLightningDatatable/lexCustomDiffReason.html b/force-app/main/default/lwc/lexCustomLightningDatatable/lexCustomDiffReason.html
new file mode 100644
index 0000000..b15e75b
--- /dev/null
+++ b/force-app/main/default/lwc/lexCustomLightningDatatable/lexCustomDiffReason.html
@@ -0,0 +1,5 @@
+<template>
+    <c-lex-custom-diff-reason-comp
+        prod-id={typeAttributes.ProdId}>
+    </c-lex-custom-diff-reason-comp>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCustomLightningDatatable/lexCustomLightningDatatable.js b/force-app/main/default/lwc/lexCustomLightningDatatable/lexCustomLightningDatatable.js
index a7ef433..2266f29 100644
--- a/force-app/main/default/lwc/lexCustomLightningDatatable/lexCustomLightningDatatable.js
+++ b/force-app/main/default/lwc/lexCustomLightningDatatable/lexCustomLightningDatatable.js
@@ -3,31 +3,46 @@
 import customShipmentNumberTemplate from './customShipmentNumber.html';
 import customShippingUnitPriceTemplate from './customShippingUnitPrice.html';
 import customShipmentAmountTemplate from './customShipmentAmount.html';
-import { loadStyle } from 'lightning/platformResourceLoader';
+import customDiffReasonTemplate from './lexCustomDiffReason.html';
+import attachmentTypeTemplate from './customAttachmentType.html';
+import { loadStyle} from 'lightning/platformResourceLoader';
 import LexCustomDataTable from '@salesforce/resourceUrl/LexCustomDataTable';
 
 export default class LexCustomLightningDatatable extends LightningDatatable {
     static customTypes = {
         customUnit: {
             template: customUnitTemplate,
-            typeAttributes: ['unitValue', 'unitOptions', 'recordId']
+            typeAttributes: ['unitValue','unitOptions','recordId'],
         },
         customShipment: {
             template: customShipmentNumberTemplate,
-            typeAttributes: ['recordId']
+            typeAttributes: ['shipmentNumber','recordId'],
         },
         customShipmentUnitPrice: {
             template: customShippingUnitPriceTemplate,
-            typeAttributes: ['recordId']
+            typeAttributes: ['shippingUnitPrice','recordId'],
         },
         customShipmentAmount: {
             template: customShipmentAmountTemplate,
-            typeAttributes: ['shipmentAmount', 'recordId']
+            typeAttributes: ['shipmentAmount','recordId'],
+        },
+        customDiffReason : {
+            template: customDiffReasonTemplate,
+            typeAttributes: ['ProdId'],
+        },
+        customAttachmentType: {
+            template: attachmentTypeTemplate,
+            typeAttributes: ['typeValue','typeOptions','recordId','isDisabledAttachment'],
+        },
+        customTableInput: {
+            template: customTableInputTemplate,
+            typeAttributes:['inputValue','recordId'],
         }
     };
     constructor() {
         super();
-        Promise.all([loadStyle(this, LexCustomDataTable)]).then(() => {});
+        Promise.all([
+            loadStyle(this, LexCustomDataTable),
+        ]).then(() => {})
     }
-    
-}
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCustomNewCopy2/lexCustomNewCopy2.html b/force-app/main/default/lwc/lexCustomNewCopy2/lexCustomNewCopy2.html
new file mode 100644
index 0000000..87f391a
--- /dev/null
+++ b/force-app/main/default/lwc/lexCustomNewCopy2/lexCustomNewCopy2.html
@@ -0,0 +1,6 @@
+<template>
+    <div class="exampleHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+        <lightning-button label="Show Toast" onclick={ShowToastEvent}></lightning-button>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCustomNewCopy2/lexCustomNewCopy2.js b/force-app/main/default/lwc/lexCustomNewCopy2/lexCustomNewCopy2.js
new file mode 100644
index 0000000..2daf585
--- /dev/null
+++ b/force-app/main/default/lwc/lexCustomNewCopy2/lexCustomNewCopy2.js
@@ -0,0 +1,77 @@
+import {
+    LightningElement,
+    wire,
+    api
+} from 'lwc';
+import {
+    CurrentPageReference
+} from "lightning/navigation";
+import {
+    CloseActionScreenEvent
+} from 'lightning/actions';
+import init from '@salesforce/apex/otherButtonMaintenanceContractCtl.init';
+import {
+    ShowToastEvent
+} from 'lightning/platformShowToastEvent';
+
+export default class LexCustomNewCopy2 extends LightningElement {
+    @api recordId;
+    str;
+    IsLoading = true;
+    Id;
+    notRenewC;
+    Name;
+
+    @wire(CurrentPageReference)
+    getStateParameters(currentPageReference) {
+        if (currentPageReference) {
+            const urlValue = currentPageReference.state.recordId;
+            if (urlValue) {
+                let str = `${urlValue}`;
+                this.recordId = str;
+            }
+        }
+    }
+
+    connectedCallback() {
+        console.log(this.recordId);
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            console.log(result);
+            if (result != null) {
+                this.IsLoading = false;
+                this.Id = result.Id;
+                this.notRenewC = result.notRenewC;
+                this.Name = result.Name;
+
+                this.CustomNewCopy2();
+                this.dispatchEvent(new CloseActionScreenEvent());
+            }
+        }).catch(error => {
+            console.log(error);
+        }).finally(() => {
+
+        });
+    }
+
+    // 缁х画鏂版湇鍔″悎鍚�
+    CustomNewCopy2() {
+        if (this.notRenewC) {
+            this.ShowToastEvent("璇疯仈绯绘湇鍔″晢鍝侀儴锛�", "error");
+            // alert("璇疯仈绯绘湇鍔″晢鍝侀儴锛�");
+        } else {
+            window.open("/" + this.Id + "/e?clone=1&Name=&00N10000002Dx5D=&00N10000002Dx5S=%e5%bc%95%e5%90%88%e4%b8%ad&00NO00000010sDc=&CF00NO00000010hyI=&CF00NO00000010hyI_lkid=&CF00NO00000010hyX=&CF00NO00000010hyX_lkid=&CF00NO00000010hyN=&CF00NO00000010hyN_lkid=&RecordType=01210000000gTYq&00N10000002pmOp=&00N10000006gZDd=&00N10000006gZDe=&00NO00000010hy4=&00N10000002Dx4j=&00N10000002Dx4m=&00N10000002Dx4w=&00N10000002Dx4k=&00N10000002Dx5J=&00N10000002Dx5M=&00N10000002Dx4i=&00N10000002Dx4h=&00N10000002Dx5K=&00N10000003OXdT=&00N100000048zfn=&00N10000002FMsq=&00N10000003OlGF=&00N10000002Dx4r=&00N100000047AY1=&00N100000047AYB=&00N100000047AY6=&00N10000003PCeB=&00N10000005HBNe=&00N10000006plAl=&00N10000002Dx5C=&retURL=%2F" + this.Id + "&saveURL=%2Fapex/SaveMaintenanceByCopy?mid=" + this.Id + "&CF00N100000048Paw=" + this.Name + "&CF00N100000048Paw_lkid=" + this.Id, "_blank");
+        }
+    }
+
+    // 寮圭獥
+    ShowToastEvent(msg, type) {
+        const event = new ShowToastEvent({
+            title: '',
+            message: msg,
+            variant: type
+        });
+        this.dispatchEvent(event);
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCustomNewCopy2/lexCustomNewCopy2.js-meta.xml b/force-app/main/default/lwc/lexCustomNewCopy2/lexCustomNewCopy2.js-meta.xml
new file mode 100644
index 0000000..3392981
--- /dev/null
+++ b/force-app/main/default/lwc/lexCustomNewCopy2/lexCustomNewCopy2.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+	<isExposed>true</isExposed>
+	<targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCustomNewMCMaintenance/lexCustomNewMCMaintenance.html b/force-app/main/default/lwc/lexCustomNewMCMaintenance/lexCustomNewMCMaintenance.html
new file mode 100644
index 0000000..d044dbb
--- /dev/null
+++ b/force-app/main/default/lwc/lexCustomNewMCMaintenance/lexCustomNewMCMaintenance.html
@@ -0,0 +1,5 @@
+<template>
+    <div class="exampleHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCustomNewMCMaintenance/lexCustomNewMCMaintenance.js b/force-app/main/default/lwc/lexCustomNewMCMaintenance/lexCustomNewMCMaintenance.js
new file mode 100644
index 0000000..9adcd42
--- /dev/null
+++ b/force-app/main/default/lwc/lexCustomNewMCMaintenance/lexCustomNewMCMaintenance.js
@@ -0,0 +1,81 @@
+import {
+    LightningElement,
+    wire,
+    api
+} from 'lwc';
+import {
+    CurrentPageReference
+} from "lightning/navigation";
+import {
+    CloseActionScreenEvent
+} from 'lightning/actions';
+import init from '@salesforce/apex/otherButtonMaintenanceContractCtl.init';
+
+export default class LexCustomNewMCMaintenance extends LightningElement {
+    @api recordId;
+    str;
+    IsLoading = true;
+    Id;
+    StatusC;
+    IsRecognitionModelC;
+    RecordTypeId;
+    URFContractC;
+
+    @wire(CurrentPageReference)
+    getStateParameters(currentPageReference) {
+        if (currentPageReference) {
+            const urlValue = currentPageReference.state.recordId;
+            if (urlValue) {
+                let str = `${urlValue}`;
+                this.recordId = str;
+            }
+        }
+    }
+
+    connectedCallback() {
+        console.log(this.recordId);
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            console.log(result);
+            if (result != null) {
+                this.IsLoading = false;
+                this.Id = result.Id;
+                this.StatusC = result.StatusC;
+                this.IsRecognitionModelC = result.IsRecognitionModelC;
+                this.RecordTypeId = result.RecordTypeId;
+                this.URFContractC = result.URFContractC;
+
+                this.CustomNewMC();
+                this.dispatchEvent(new CloseActionScreenEvent());
+            }
+        }).catch(error => {
+            console.log(error);
+        })
+    }
+
+    // 鏂板缓鏂版湇鍔″悎鍚屾姤浠�	
+    CustomNewMC() {
+        if ( this.StatusC != "寮曞悎涓�") {
+            alert("缁翠慨鍚堝悓涓嶆槸璇环涓殑鐘舵�侊紝涓嶈兘鏂板缓鎶ヤ环");
+        } else {
+            //缁翠慨鍚堝悓鏂板缓鎶ヤ环鏃讹紝濡傛灉鏄厛娆惧璞★紝寮瑰嚭瀵硅瘽妗嗘彁绀� thh 20220304 start
+            if (this.IsRecognitionModelC == 1) {
+                if (!confirm("璇ョ粡閿�鍟嗕负鍏堟瀵硅薄锛屾槸鍚︾户缁柊寤烘姤浠凤紵")) {
+                    return;
+                }
+            }
+            //缁翠慨鍚堝悓鏂板缓鎶ヤ环鏃讹紝濡傛灉鏄厛娆惧璞★紝寮瑰嚭瀵硅瘽妗嗘彁绀� thh 20220304 end
+            if (this.RecordTypeId == "01210000000gTYq") {
+                if (this.URFContractC == "0") {
+                    window.open("/apex/SelectAssetEstimateVM?mcid=" + this.Id, "_top");
+                } else {
+                    window.open("/apex/SelectAssetEstimateURF?mcid=" + this.Id, "_top");
+                }
+            } else {
+                window.open("/apex/SelectAssetEstimate?mcid=" + this.Id, "_top");
+            }
+
+        }
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCustomNewMCMaintenance/lexCustomNewMCMaintenance.js-meta.xml b/force-app/main/default/lwc/lexCustomNewMCMaintenance/lexCustomNewMCMaintenance.js-meta.xml
new file mode 100644
index 0000000..3392981
--- /dev/null
+++ b/force-app/main/default/lwc/lexCustomNewMCMaintenance/lexCustomNewMCMaintenance.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+	<isExposed>true</isExposed>
+	<targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCustomNewMaintenance/lexCustomNewMaintenance.html b/force-app/main/default/lwc/lexCustomNewMaintenance/lexCustomNewMaintenance.html
new file mode 100644
index 0000000..87f391a
--- /dev/null
+++ b/force-app/main/default/lwc/lexCustomNewMaintenance/lexCustomNewMaintenance.html
@@ -0,0 +1,6 @@
+<template>
+    <div class="exampleHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+        <lightning-button label="Show Toast" onclick={ShowToastEvent}></lightning-button>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCustomNewMaintenance/lexCustomNewMaintenance.js b/force-app/main/default/lwc/lexCustomNewMaintenance/lexCustomNewMaintenance.js
new file mode 100644
index 0000000..5fd4900
--- /dev/null
+++ b/force-app/main/default/lwc/lexCustomNewMaintenance/lexCustomNewMaintenance.js
@@ -0,0 +1,79 @@
+import {
+    LightningElement,
+    wire,
+    api
+} from 'lwc';
+import {
+    CurrentPageReference
+} from "lightning/navigation";
+import {
+    CloseActionScreenEvent
+} from 'lightning/actions';
+import init from '@salesforce/apex/otherButtonMaintenanceContractCtl.init';
+import {
+    ShowToastEvent
+} from 'lightning/platformShowToastEvent';
+
+export default class LexCustomNewMaintenance extends LightningElement {
+    @api recordId;
+    str;
+    IsLoading = true;
+    Id;
+    StatusC;
+    RecordTypeId;
+
+    @wire(CurrentPageReference)
+    getStateParameters(currentPageReference) {
+        if (currentPageReference) {
+            const urlValue = currentPageReference.state.recordId;
+            if (urlValue) {
+                let str = `${urlValue}`;
+                this.recordId = str;
+            }
+        }
+    }
+
+    connectedCallback() {
+        console.log(this.recordId);
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            console.log(result);
+            if (result != null) {
+                this.IsLoading = false;
+                this.Id = result.Id;
+                this.StatusC = result.StatusC;
+                this.RecordTypeId = result.RecordTypeId;
+
+                this.CustomNew();
+                this.dispatchEvent(new CloseActionScreenEvent());
+            }
+        }).catch(error => {
+            console.log(error);
+        })
+    }
+
+    // 鏂板缓缁翠慨鍚堝悓鎶ヤ环
+    CustomNew() {
+        if (this.StatusC != "寮曞悎涓�") {
+            this.ShowToastEvent("缁翠慨鍚堝悓涓嶆槸璇环涓殑鐘舵�侊紝涓嶈兘鏂板缓鎶ヤ环", "error");
+            // alert("缁翠慨鍚堝悓涓嶆槸璇环涓殑鐘舵�侊紝涓嶈兘鏂板缓鎶ヤ环");
+        } else {
+            if (this.RecordTypeId == "01210000000gTYq") {
+                window.open("/apex/SelectAssetEstimateVM?mcid=" + this.Id, "_top");
+            } else {
+                window.open("/apex/SelectAssetEstimate?mcid=" + this.Id, "_top");
+            }
+        }
+    }
+
+    // 寮圭獥
+    ShowToastEvent(msg, type) {
+        const event = new ShowToastEvent({
+            title: '',
+            message: msg,
+            variant: type
+        });
+        this.dispatchEvent(event);
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCustomNewMaintenance/lexCustomNewMaintenance.js-meta.xml b/force-app/main/default/lwc/lexCustomNewMaintenance/lexCustomNewMaintenance.js-meta.xml
new file mode 100644
index 0000000..3392981
--- /dev/null
+++ b/force-app/main/default/lwc/lexCustomNewMaintenance/lexCustomNewMaintenance.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+	<isExposed>true</isExposed>
+	<targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCustomSubmit/lexCustomSubmit.css b/force-app/main/default/lwc/lexCustomSubmit/lexCustomSubmit.css
new file mode 100644
index 0000000..af18c76
--- /dev/null
+++ b/force-app/main/default/lwc/lexCustomSubmit/lexCustomSubmit.css
@@ -0,0 +1,11 @@
+.Holder{
+	position: relative;
+	display: inline-block;
+	width: 80px;
+	height: 80px;
+	text-align: center;
+}
+
+.container .uiContainerManager{
+	display : none !important;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCustomSubmit/lexCustomSubmit.html b/force-app/main/default/lwc/lexCustomSubmit/lexCustomSubmit.html
new file mode 100644
index 0000000..960b41d
--- /dev/null
+++ b/force-app/main/default/lwc/lexCustomSubmit/lexCustomSubmit.html
@@ -0,0 +1,5 @@
+<template>
+      <div class="Holder" if:true={IsLoading}>
+              <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+      </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCustomSubmit/lexCustomSubmit.js b/force-app/main/default/lwc/lexCustomSubmit/lexCustomSubmit.js
new file mode 100644
index 0000000..413f6af
--- /dev/null
+++ b/force-app/main/default/lwc/lexCustomSubmit/lexCustomSubmit.js
@@ -0,0 +1,158 @@
+import { LightningElement,api, track, wire } from 'lwc';
+import {CurrentPageReference} from 'lightning/navigation';
+import { CloseActionScreenEvent } from 'lightning/actions';
+import getUserId from '@salesforce/apex/RentalApplyControllerLWT.getUserId';
+import init from '@salesforce/apex/SelectSubstituteControllerLWT.initFromCustomSubmitButton';
+import updateRaesc from '@salesforce/apex/SelectSubstituteControllerLWT.updateRaesc';
+import selectRacById from '@salesforce/apex/SelectSubstituteControllerLWT.selectRacById';
+import postponeCheck from '@salesforce/apex/SelectSubstituteControllerLWT.postponeCheck';
+
+import { loadScript } from 'lightning/platformResourceLoader';
+import { submitForApproval } from 'lightning/uiRecordApi';
+import { updateRecord } from 'lightning/uiRecordApi';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+export default class lexCustomSubmit extends LightningElement {
+
+	@api recordId;
+    id;
+    RentalApplyId;
+    Status;
+    IsLoading=true;
+    @wire(CurrentPageReference)
+	getStateParameters(currentPageReference){
+		console.log("杩涘叆椤甸潰");
+		console.log(currentPageReference);
+		if(currentPageReference){
+			const urvalue=currentPageReference.state.recordId;
+			if(urvalue){
+				let str=`${urvalue}`;
+				console.log('str');
+				console.log(str);
+				this.recordId=str;
+			}
+		}
+	}
+
+
+
+	connectedCallback(){
+		console.log(this.recordId);
+		init({recordId:this.recordId}).then(result=>{
+			console.log(result);
+			if(result!=null){
+				this.Rental_Apply_Equipment_Set__c=result;
+				this.cancelSubmit().then(res=>{
+					this.IsLoading=false;
+					this.dispatchEvent(new CloseActionScreenEvent());
+				});	
+			}
+		}).catch(err=>{
+			console.log("error:");
+			console.log(err);
+		}).finally(()=>{
+
+		});
+	}
+
+
+ 
+    async cancelSubmit(){
+    	console.log("hhh1");
+		if (this.Rental_Apply_Equipment_Set__c.Request_extend_day__c == ""
+		|| this.Rental_Apply_Equipment_Set__c.Request_extend_day__c == null
+		|| this.Rental_Apply_Equipment_Set__c.Extend_request_reason__c == ""
+		|| this.Rental_Apply_Equipment_Set__c.Extend_request_reason__c == null) {
+			// alert("蹇呴』濉啓寤舵湡甯屾湜缁撴潫鏃ワ紝寤舵湡鐢宠鐞嗙敱");
+			const event = new ShowToastEvent({
+	            title: '鎻愮ず淇℃伅',
+	            message:"蹇呴』濉啓寤舵湡甯屾湜缁撴潫鏃ワ紝寤舵湡鐢宠鐞嗙敱"
+	        });
+	        this.dispatchEvent(event);
+			return;
+		}
+		console.log("hhh2");
+		let rtn;
+		await postponeCheck({
+			endDate:this.Rental_Apply_Equipment_Set__c.Rental_End_Date__c,
+			d:-5
+		}).then(res=>{
+			console.log(res);
+			rtn=res;
+		}).catch(err=>{
+			console.log("err:",err.message);
+		})
+
+		console.log(rtn);
+		if (rtn != "OK") {
+			// alert(rtn);
+			const event = new ShowToastEvent({
+	            title: '鎻愮ず淇℃伅',
+	            message:rtn
+	        });
+	        this.dispatchEvent(event);
+			return;
+		}
+		console.log("hhh3");
+		let resultSet = await selectRacById({recordId:this.Rental_Apply_Equipment_Set__c.Rental_Apply__c})
+		;
+		let records = resultSet;
+		console.log("hhh4");
+		let result = await updateRaesc({
+			recordId:this.Rental_Apply_Equipment_Set__c.Id,
+			JingliApprovalManagerc:records[0].JingliApprovalManager__c,
+			BuchangApprovalManagerc:records[0].SalesManager__c,
+			BuchangApprovalManagerSalesc:records[0].BuchangApprovalManager__c,
+			ZongjianApprovalManagerc:records[0].BuchangApprovalManagerSales__c,
+			ExtendStatusc:'濉啓瀹屾瘯',
+		});
+		console.log("hhh5");
+		console.log(result);
+		// let messages = getConnectDMLErrorMessages(result);
+		if(result!=null&&result.length>0&&result.errors.length>0){
+			// alert(result.errors[0].split(",")[1]);
+			const event = new ShowToastEvent({
+	            title: '鎻愮ず淇℃伅',
+	            message:result.errors[0].split(",")[1]
+	        });
+	        this.dispatchEvent(event);
+		}
+		console.log("hhh7");
+
+		// let request = new sforce.ProcessSubmitRequest();
+		// request.objectId = this.recordId;
+		// let processResults = sforce.connection.process([request]);
+		console.log("hhh8");
+		// submitForApproval(this.Rental_Apply_Equipment_Set__c.Id).then(result => {
+        // 	console.log(result);
+        // 	if (processResults[0].errors != null) {
+		// 		alert(processResults[0].errors.message);
+		// 		return;
+		// 	}
+		// 	console.log("hhh9");
+		// 	window.location.reload();
+        // })
+        // .catch(error => {
+        //   console.error('Error submitting record for approval:', error.message);
+        // });
+
+        // await submitForApproval(this.recordId);
+	    const fields = {}
+	    const recordInput = { fields };
+		updateRecord({ fields: recordInput, recordId: this.recordId })
+	      .then(() => {
+	        console.log("鏇存柊鎴愬姛");
+	      })
+	      .catch(error => {
+	      	console.log(error.message);
+	      	console.log(error);
+	      	// alert(error.body.message);
+			const event = new ShowToastEvent({
+	            title: '鎻愮ず淇℃伅',
+	            message:error.body.message
+	        });
+	        this.dispatchEvent(event);
+			return;
+	        // 澶勭悊寮傚父鎯呭喌
+	      });
+	}
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCustomSubmit/lexCustomSubmit.js-meta.xml b/force-app/main/default/lwc/lexCustomSubmit/lexCustomSubmit.js-meta.xml
new file mode 100644
index 0000000..c4d4cfb
--- /dev/null
+++ b/force-app/main/default/lwc/lexCustomSubmit/lexCustomSubmit.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lexCustomSubmit">
+    <apiVersion>51.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightning__AppPage</target>
+        <target>lightning__RecordPage</target>
+        <target>lightning__HomePage</target>
+        <target>lightning__RecordAction</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCustomTableInput/lexCustomTableInput.html b/force-app/main/default/lwc/lexCustomTableInput/lexCustomTableInput.html
new file mode 100644
index 0000000..7678af3
--- /dev/null
+++ b/force-app/main/default/lwc/lexCustomTableInput/lexCustomTableInput.html
@@ -0,0 +1,3 @@
+<template>
+    <lightning-input name="cusInput" label="cusInput" variant="label-hidden" value={inputValue}></lightning-input>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCustomTableInput/lexCustomTableInput.js b/force-app/main/default/lwc/lexCustomTableInput/lexCustomTableInput.js
new file mode 100644
index 0000000..3c6cc93
--- /dev/null
+++ b/force-app/main/default/lwc/lexCustomTableInput/lexCustomTableInput.js
@@ -0,0 +1,6 @@
+import { LightningElement,api } from 'lwc';
+
+export default class LexCustomTableInput extends LightningElement {
+    @api inputValue;
+    @api recordId;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCustomTableInput/lexCustomTableInput.js-meta.xml b/force-app/main/default/lwc/lexCustomTableInput/lexCustomTableInput.js-meta.xml
new file mode 100644
index 0000000..f8c5cb4
--- /dev/null
+++ b/force-app/main/default/lwc/lexCustomTableInput/lexCustomTableInput.js-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>56.0</apiVersion>
+    <isExposed>false</isExposed>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexDeleteQuotePage/lexDeleteQuotePage.html b/force-app/main/default/lwc/lexDeleteQuotePage/lexDeleteQuotePage.html
new file mode 100644
index 0000000..dcf90dd
--- /dev/null
+++ b/force-app/main/default/lwc/lexDeleteQuotePage/lexDeleteQuotePage.html
@@ -0,0 +1,20 @@
+<template>
+
+	
+<div style="position: relative; margin-top: 10px; margin-left: 10px;">
+<span style="font-weight: bold; font-size: 12pt;">{Label.YouCantDeleteEvent1}</span>
+
+<br/><br/><br/>
+
+{Label.YouCantDeleteEvent2}
+
+<br/><br/>
+
+{Label.YouCantDeleteEvent3}
+<a href="javascript:return null;" onclick={click}>{Label.YouCantDeleteEvent4}</a>{Label.YouCantDeleteEvent5}
+
+</div>
+
+
+               
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexDeleteQuotePage/lexDeleteQuotePage.js b/force-app/main/default/lwc/lexDeleteQuotePage/lexDeleteQuotePage.js
new file mode 100644
index 0000000..9f4467b
--- /dev/null
+++ b/force-app/main/default/lwc/lexDeleteQuotePage/lexDeleteQuotePage.js
@@ -0,0 +1,27 @@
+import { LightningElement, track, wire } from 'lwc';
+
+
+import YouCantDeleteEvent1 from '@salesforce/label/c.YouCantDeleteEvent1';
+import YouCantDeleteEvent2 from '@salesforce/label/c.YouCantDeleteEvent2';
+import YouCantDeleteEvent3 from '@salesforce/label/c.YouCantDeleteEvent3';
+import YouCantDeleteEvent4 from '@salesforce/label/c.YouCantDeleteEvent4';
+import YouCantDeleteEvent5 from '@salesforce/label/c.YouCantDeleteEvent5';
+
+export default class lexDeleteQuotePage extends LightningElement {
+
+	
+
+	Label = {
+		
+		YouCantDeleteEvent1,
+		YouCantDeleteEvent2,
+		YouCantDeleteEvent3,
+		YouCantDeleteEvent4,
+		YouCantDeleteEvent5
+	};
+
+	click(event){
+		history.back();
+	}
+
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexDeleteQuotePage/lexDeleteQuotePage.js-meta.xml b/force-app/main/default/lwc/lexDeleteQuotePage/lexDeleteQuotePage.js-meta.xml
new file mode 100644
index 0000000..11fe7db
--- /dev/null
+++ b/force-app/main/default/lwc/lexDeleteQuotePage/lexDeleteQuotePage.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lexDeleteQuotePage">
+    <apiVersion>51.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightning__RecordPage</target>
+        <target>lightning__AppPage</target>
+        <target>lightning__HomePage</target>
+        <target>lightning__RecordAction</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexDetailBulkUpdate/lexDetailBulkUpdate.css b/force-app/main/default/lwc/lexDetailBulkUpdate/lexDetailBulkUpdate.css
new file mode 100644
index 0000000..af18c76
--- /dev/null
+++ b/force-app/main/default/lwc/lexDetailBulkUpdate/lexDetailBulkUpdate.css
@@ -0,0 +1,11 @@
+.Holder{
+	position: relative;
+	display: inline-block;
+	width: 80px;
+	height: 80px;
+	text-align: center;
+}
+
+.container .uiContainerManager{
+	display : none !important;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexDetailBulkUpdate/lexDetailBulkUpdate.html b/force-app/main/default/lwc/lexDetailBulkUpdate/lexDetailBulkUpdate.html
new file mode 100644
index 0000000..2ef2898
--- /dev/null
+++ b/force-app/main/default/lwc/lexDetailBulkUpdate/lexDetailBulkUpdate.html
@@ -0,0 +1,5 @@
+<template>
+	<div class="Holder" if:true={IsLoading}>
+      	<lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+  	</div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexDetailBulkUpdate/lexDetailBulkUpdate.js b/force-app/main/default/lwc/lexDetailBulkUpdate/lexDetailBulkUpdate.js
new file mode 100644
index 0000000..fedf726
--- /dev/null
+++ b/force-app/main/default/lwc/lexDetailBulkUpdate/lexDetailBulkUpdate.js
@@ -0,0 +1,39 @@
+import { LightningElement, track, wire, api } from 'lwc';
+import {CurrentPageReference} from 'lightning/navigation';
+import { CloseActionScreenEvent } from 'lightning/actions';
+
+export default class lexDetailBulkUpdate extends LightningElement {
+	@api recordId;
+  
+
+    @wire(CurrentPageReference)
+	getStateParameters(currentPageReference){
+		console.log("杩涘叆椤甸潰");
+		console.log(currentPageReference);
+		if(currentPageReference){
+			const urvalue=currentPageReference.state.recordId;
+			if(urvalue){
+				let str=`${urvalue}`;
+				console.log('str');
+				console.log(str);
+				this.recordId=str;
+			}
+		}
+	}
+
+	connectedCallback(){
+
+		this.cancelSubmit().then(res=>{
+			this.IsLoading=false;
+			this.dispatchEvent(new CloseActionScreenEvent());
+		});
+	}
+
+	async cancelSubmit(){
+		window.open('/apex/TransferApplySelectDetailSub?id='+this.recordId,'DetailBulkUpdateLWC', 'width=600,height=200');
+	}
+
+	//old js
+	// window.open("/apex/TransferApplySelectDetailSub?Id={!URLENCODE(TransferApply__c.Id)}");
+
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexDetailBulkUpdate/lexDetailBulkUpdate.js-meta.xml b/force-app/main/default/lwc/lexDetailBulkUpdate/lexDetailBulkUpdate.js-meta.xml
new file mode 100644
index 0000000..b41eb1f
--- /dev/null
+++ b/force-app/main/default/lwc/lexDetailBulkUpdate/lexDetailBulkUpdate.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lexDetailBulkUpdate">
+    <apiVersion>51.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightning__AppPage</target>
+        <target>lightning__RecordPage</target>
+        <target>lightning__HomePage</target>
+        <target>lightning__RecordAction</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexDispatchOCSMQARA/lexDispatchOCSMQARA.css b/force-app/main/default/lwc/lexDispatchOCSMQARA/lexDispatchOCSMQARA.css
new file mode 100644
index 0000000..3d14772
--- /dev/null
+++ b/force-app/main/default/lwc/lexDispatchOCSMQARA/lexDispatchOCSMQARA.css
@@ -0,0 +1,10 @@
+.dispatchOCSMQARAHolder{
+    position: relative;
+    display: inline-block;
+    width: 80px;
+    height: 80px;
+    text-align: center;
+}
+.container .uiContainerManager{
+	display: none !important;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexDispatchOCSMQARA/lexDispatchOCSMQARA.html b/force-app/main/default/lwc/lexDispatchOCSMQARA/lexDispatchOCSMQARA.html
new file mode 100644
index 0000000..894569c
--- /dev/null
+++ b/force-app/main/default/lwc/lexDispatchOCSMQARA/lexDispatchOCSMQARA.html
@@ -0,0 +1,6 @@
+<template>
+    <div class="dispatchOCSMQARAHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+        <lightning-button label="Show Toast" onclick={ShowToastEvent}></lightning-button>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexDispatchOCSMQARA/lexDispatchOCSMQARA.js b/force-app/main/default/lwc/lexDispatchOCSMQARA/lexDispatchOCSMQARA.js
new file mode 100644
index 0000000..2076d74
--- /dev/null
+++ b/force-app/main/default/lwc/lexDispatchOCSMQARA/lexDispatchOCSMQARA.js
@@ -0,0 +1,71 @@
+/*
+ * @Description: 
+ * @version: 
+ * @Author: chen jing wu
+ * @Date: 2023-04-07 09:02:03
+ * @LastEditors: chen jing wu
+ * @LastEditTime: 2023-04-11 11:23:37
+ */
+import { api, wire,LightningElement } from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import updateForDispatchOCSMQARAButton  from '@salesforce/apex/ReportController.updateForDispatchOCSMQARAButton';
+import { updateRecord } from 'lightning/uiRecordApi';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+export default class LexDispatchOCSMQARA extends LightningElement {
+    @api recordId;
+    IsLoading = true;
+    
+
+
+    @wire(CurrentPageReference)
+    getStateParameters(currentPageReference) {
+            console.log(111);
+            console.log(currentPageReference);
+
+        if (currentPageReference) {
+          const urlValue = currentPageReference.state.recordId;
+          if (urlValue) {
+            let str = `${urlValue}`;
+            console.log("str");
+            console.log(str);
+            this.recordId = str;
+          }
+        }
+    }
+
+    connectedCallback(){
+        console.log(this.recordId);
+        this.DispatchOCSMQARA();
+
+    }
+
+    showToast(msg,type) {
+        const event = new ShowToastEvent({
+            title: '',
+            message: msg,
+            variant: type
+        });
+        this.dispatchEvent(event);
+    }
+
+
+    updateRecordView(recordId) {
+        updateRecord({fields: { Id: recordId }});
+    }
+
+    DispatchOCSMQARA () {
+            updateForDispatchOCSMQARAButton({
+                recordId: this.recordId
+            }).then(result =>{
+                if(result){
+                    this.showToast(result,"error");
+                }else{
+                    this.showToast("鎴愬姛","success");
+                    this.updateRecordView(this.recordId);
+                    this.IsLoading = false;
+                }
+                this.dispatchEvent(new CloseActionScreenEvent());
+                });
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexDispatchOCSMQARA/lexDispatchOCSMQARA.js-meta.xml b/force-app/main/default/lwc/lexDispatchOCSMQARA/lexDispatchOCSMQARA.js-meta.xml
new file mode 100644
index 0000000..3392981
--- /dev/null
+++ b/force-app/main/default/lwc/lexDispatchOCSMQARA/lexDispatchOCSMQARA.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+	<isExposed>true</isExposed>
+	<targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexESignAcceptanceHospital/lexESignAcceptanceHospital.html b/force-app/main/default/lwc/lexESignAcceptanceHospital/lexESignAcceptanceHospital.html
new file mode 100644
index 0000000..e9c9349
--- /dev/null
+++ b/force-app/main/default/lwc/lexESignAcceptanceHospital/lexESignAcceptanceHospital.html
@@ -0,0 +1,4 @@
+<template>
+    <div class="lexESignAcceptanceHospital" if:true={IsLoding}>
+    <lightning-spinner alternative-text="Loading" size="medium">  </lightning-spinner> </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexESignAcceptanceHospital/lexESignAcceptanceHospital.js b/force-app/main/default/lwc/lexESignAcceptanceHospital/lexESignAcceptanceHospital.js
new file mode 100644
index 0000000..a5e8655
--- /dev/null
+++ b/force-app/main/default/lwc/lexESignAcceptanceHospital/lexESignAcceptanceHospital.js
@@ -0,0 +1,186 @@
+import { LightningElement,wire,track,api} from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import  init  from '@salesforce/apex/ESignController.ESignController';
+import  OcsmResult  from '@salesforce/apex/ESignController.OcsmResult';
+import  UserInfo_Owner  from '@salesforce/apex/ESignController.UserInfo_Owner';
+import { updateRecord } from 'lightning/uiRecordApi';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+export default class Submit extends LightningElement {
+    @api recordId;//OwnerId
+    ownerId;//鎵�鏈変汉id
+    id;//杩斿洖鍊肩殑id
+    IsLoading = true;
+    profileId = '';
+    arrMessage = [];
+    RCManagerId = null;
+    GrouppurchasePCL = null;
+    OCMManProvinceCus = null;
+    HPSignUpStatus = null;
+    SalesRootFormula = null;
+    HPSignUpDate = null;
+    salesManage = null;
+
+    @wire(CurrentPageReference)
+     getStateParameters(currentPageReference) {
+         if (currentPageReference) {
+           const urlValue = currentPageReference.state.recordId;
+           if (urlValue) {
+             let str = `${urlValue}`;
+             this.recordId = str;
+           }
+         }
+     }
+    
+    connectedCallback(){
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            console.log(result);
+            // this.RCManagerId = result.RCManagerId;
+            this.GrouppurchasePCL = result.GrouppurchasePCL;
+            this.OCMManProvinceCus = result.OCMManProvinceCus;
+            this.HPSignUpStatus = result.HPSignUpStatus;
+            this.SalesRootFormula = result.SalesRootFormula;
+            this.HPSignUpDate = result.HPSignUpDate;
+            this.profileId = result.profileId.slice(0,15);
+            this.IsLoading = false;
+            this.AcceptanceHospital();
+        })       
+    }
+    AcceptanceHospital(){
+        //鍏堝垽鏂槸鍚︿负闆嗛噰璇�
+        // var Group_purchase_PCL ;
+        // var Group_purchase_PCLFlag = "{!eSignForm__c.Group_purchase_PCL__c}";
+        // if(Group_purchase_PCLFlag == 1){
+        // Group_purchase_PCL = '闆嗛噰璇�';
+        // }else{
+        // Group_purchase_PCL = "{!eSignForm__c.OCM_man_province_cus__c}";
+        // }
+        console.log(this.GrouppurchasePCL,this.OCMManProvinceCus,'111111111')
+        var Group_purchase_PCL ;
+        // if(this.GrouppurchasePCL == 1){
+        // Group_purchase_PCL = '闆嗛噰璇�';
+        // }else{
+        Group_purchase_PCL = this.OCMManProvinceCus;
+        // }
+        //妫�绱CSM绠$悊鐪� 涓婄殑钀ヤ笟绠$悊閮ㄦ媴褰�
+        // var sql = "select id, Name, SalesManage__c from OCM_Management_Province__c where Name = "+"\'"+Group_purchase_PCL+"\'";
+        // var ocsmResult = sforce.connection.query(sql);
+        // var ocsm = ocsmResult.getArray("records");
+        // //钀ヤ笟绠$悊閮ㄦ媴褰搃d
+        // var salesManage;
+        // if (ocsm) {
+        // salesManage = ocsm[0].SalesManage__c;
+        // }
+        console.log(Group_purchase_PCL,this.profileId,'77777777777')
+        OcsmResult({GrouppurchasePCL:Group_purchase_PCL}).then(res=>{
+            console.log(res)
+            var salesManage;
+            salesManage = res[0].SalesManage__c;
+            //鐢靛瓙绛炬敹鍗昳d
+            var id = this.recordId
+            //new 涓�涓璞�
+            var eSignForm;
+            //鍖婚櫌鐘舵��
+            var status = this.HPSignUpStatus;
+            //閿�鍞笭閬�
+            var sales_Root_Formula = this.SalesRootFormula;
+            if (salesManage || this.profileId == '00e10000000Y3o5') {
+                UserInfo_Owner().then(res => {
+                    var userId = '';
+                    userId = res.id;
+                    if (salesManage != userId && this.profileId != '00e10000000Y3o5' && this.profileId != '00e10000000s2cp') {
+                        alert('鎮ㄥ彧鑳藉鎵硅惀涓氱鐞嗛儴鎷呭綋鏄嚜宸辩殑绛炬敹鍗曪紒');
+                        return;
+                    } else if (status != '鐢宠涓�') {
+                        alert('鎮ㄥ彧鑳藉鎵圭敵璇蜂腑鐨勭鏀跺崟锛�')
+                        return;
+                    } else if (this.HPSignUpDate) {
+                        alert('鍖婚櫌绛炬敹鏃ヤ负绌烘椂锛屼笉鍙互纭锛�');
+                        return;
+                    }else{
+                    if(sales_Root_Formula == 'OCM鐩存帴璨╁2'){
+                        window.open ('/apex/HPDirectSalesConfirmPage?id='+this.recordId, '鍖婚櫌纭',
+                        'height=340, width=600, top=200, left=400, toolbar=no, menubar=no, scrollbars=no, location=no, status=no');
+                    }else{
+                        window.open ('/apex/HPConfirmPage?id='+this.recordId, '鍖婚櫌纭',
+                        'height=340, width=600, top=200, left=400, toolbar=no, menubar=no, scrollbars=no, location=no, status=no');
+                    }
+                    }
+                })
+            }
+        })
+    }
+    updateRecordView() {
+        updateRecord({fields: { Id: this.recordId }});
+    }
+    showToast(msg,type) {
+        const event = new ShowToastEvent({
+            message: msg,
+            variant: type
+        });
+        this.dispatchEvent(event);
+        if(type == 'success'){
+            this.updateRecordView();
+        }
+        this.dispatchEvent(new CloseActionScreenEvent());
+    }
+}
+
+// var foo = function() {
+//     //褰撳墠鐢ㄦ埛鐧诲綍id
+//     var userId = "{!CASESAFEID($User.Id)}";
+//     //褰撳墠鐢ㄦ埛绠�妗d
+//     var ProfileId = "{!$Profile.Id}";
+//     // var RC_Manager = "{!eSignForm__c.RC_ManagerId__c }";
+//     //鍏堝垽鏂槸鍚︿负闆嗛噰璇�
+//     var Group_purchase_PCL ;
+//     var Group_purchase_PCLFlag = "{!eSignForm__c.Group_purchase_PCL__c}";
+//     if(Group_purchase_PCLFlag == 1){
+//     Group_purchase_PCL = '闆嗛噰璇�';
+//     }else{
+//     Group_purchase_PCL = "{!eSignForm__c.OCM_man_province_cus__c}";
+//     }
+//     //妫�绱CSM绠$悊鐪� 涓婄殑钀ヤ笟绠$悊閮ㄦ媴褰�
+//     var sql = "select id, Name, SalesManage__c from OCM_Management_Province__c where Name = "+"\'"+Group_purchase_PCL+"\'";
+//     var ocsmResult = sforce.connection.query(sql);
+//     var ocsm = ocsmResult.getArray("records");
+//     //钀ヤ笟绠$悊閮ㄦ媴褰搃d
+//     var salesManage;
+//     if (ocsm) {
+//     salesManage = ocsm[0].SalesManage__c;
+//     }
+    
+//     //鐢靛瓙绛炬敹鍗昳d
+//     var id = "{!eSignForm__c.Id}";
+//     //new 涓�涓璞�
+//     var eSignForm;
+//     //鍖婚櫌鐘舵��
+//     var status = "{!eSignForm__c.HPSignUpStatus__c}";
+//     //閿�鍞笭閬�
+//     var sales_Root_Formula = "{!eSignForm__c.Sales_Root_Formula__c}";
+    
+//     if (salesManage || ProfileId == '00e10000000Y3o5') {
+//     if (salesManage != userId && ProfileId != '00e10000000Y3o5' && ProfileId != '00e10000000s2cp') {
+//     alert('鎮ㄥ彧鑳藉鎵硅惀涓氱鐞嗛儴鎷呭綋鏄嚜宸辩殑绛炬敹鍗曪紒');
+//     return;
+//     } else if (status != '鐢宠涓�') {
+//     alert('鎮ㄥ彧鑳藉鎵圭敵璇蜂腑鐨勭鏀跺崟锛�')
+//     return;
+//     } else if (!'{!eSignForm__c.HPSignUpDate__c}') {
+//     alert('鍖婚櫌绛炬敹鏃ヤ负绌烘椂锛屼笉鍙互纭锛�');
+//     return;
+//     }else{
+//     if(sales_Root_Formula == 'OCM鐩存帴璨╁2'){
+//     window.open ('/apex/HPDirectSalesConfirmPage?id='+"{!eSignForm__c.Id}", '鍖婚櫌纭',
+//     'height=340, width=600, top=200, left=400, toolbar=no, menubar=no, scrollbars=no, location=no, status=no');
+//     }else{
+//     window.open ('/apex/HPConfirmPage?id='+"{!eSignForm__c.Id}", '鍖婚櫌纭',
+//     'height=340, width=600, top=200, left=400, toolbar=no, menubar=no, scrollbars=no, location=no, status=no');
+//     }
+    
+//     }
+//     }
+//     }
+//     foo();
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexESignAcceptanceHospital/lexESignAcceptanceHospital.js-meta.xml b/force-app/main/default/lwc/lexESignAcceptanceHospital/lexESignAcceptanceHospital.js-meta.xml
new file mode 100644
index 0000000..8b422cd
--- /dev/null
+++ b/force-app/main/default/lwc/lexESignAcceptanceHospital/lexESignAcceptanceHospital.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lexEquipmentSetRental_Order">
+    <apiVersion>51.0</apiVersion>
+    <isExposed>true</isExposed>
+     <targets>
+        <target>lightning__AppPage</target>
+        <target>lightning__RecordPage</target>
+        <target>lightning__HomePage</target>
+        <target>lightning__RecordAction</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexESignFormAttachment/lexESignFormAttachment.html b/force-app/main/default/lwc/lexESignFormAttachment/lexESignFormAttachment.html
new file mode 100644
index 0000000..c444cc3
--- /dev/null
+++ b/force-app/main/default/lwc/lexESignFormAttachment/lexESignFormAttachment.html
@@ -0,0 +1,5 @@
+<template>
+    <div class="Attachment" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexESignFormAttachment/lexESignFormAttachment.js b/force-app/main/default/lwc/lexESignFormAttachment/lexESignFormAttachment.js
new file mode 100644
index 0000000..611281c
--- /dev/null
+++ b/force-app/main/default/lwc/lexESignFormAttachment/lexESignFormAttachment.js
@@ -0,0 +1,48 @@
+import { LightningElement,wire,track,api} from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+import { updateRecord } from 'lightning/uiRecordApi';
+
+export default class lexESignFormAttachment extends LightningElement {
+	@api recordId;
+	IsLoading = true;
+	@wire(CurrentPageReference)
+     getStateParameters(currentPageReference) {
+         if (currentPageReference) {
+           const urlValue = currentPageReference.state.recordId;
+           if (urlValue) {
+             let str = `${urlValue}`;
+             this.recordId = str;
+           }
+         }
+    }
+
+    connectedCallback () {
+        this.IsLoading = false;
+        this.Attachment();
+        this.dispatchEvent(new CloseActionScreenEvent());
+    }
+
+    Attachment(){
+        window.open( `/apex/eSignFormAttachment?parentId=${this.recordId}`);
+    }
+
+    // 寮圭獥
+    ShowToastEvent(msg, type) {
+        const event = new ShowToastEvent({
+            message: msg,
+            variant: type
+        });
+        this.dispatchEvent(event);
+    }
+    updateRecordView(recordId) {
+        updateRecord({fields: { Id: recordId }});
+    }
+}
+
+
+// var From= function(){
+//     window.open( "/apex/eSignFormAttachment?parentId={!URLENCODE(eSignForm__c.Id)}");
+//     }
+//     From();
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexESignFormAttachment/lexESignFormAttachment.js-meta.xml b/force-app/main/default/lwc/lexESignFormAttachment/lexESignFormAttachment.js-meta.xml
new file mode 100644
index 0000000..2b7649d
--- /dev/null
+++ b/force-app/main/default/lwc/lexESignFormAttachment/lexESignFormAttachment.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+	<apiVersion>54.0</apiVersion>
+	<isExposed>true</isExposed>
+	<targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexEquipmentRentalPicturePDF/lexEquipmentRentalPicturePDF.css b/force-app/main/default/lwc/lexEquipmentRentalPicturePDF/lexEquipmentRentalPicturePDF.css
new file mode 100644
index 0000000..635bc6c
--- /dev/null
+++ b/force-app/main/default/lwc/lexEquipmentRentalPicturePDF/lexEquipmentRentalPicturePDF.css
@@ -0,0 +1,22 @@
+.outerBorderCss{
+    border: 1px solid #D4D4D4;
+    border-radius : 5px;
+    border-top : 3px solid #565959;
+}
+.borderCss{
+    border: 1px solid #D4D4D4;
+    border-radius : 5px;
+    margin-bottom : 7px;
+    border-top : 3px solid #565959;
+}
+.headerDorderCss{
+    border-top: 1px solid #565959;
+    border-bottom: 1px solid #D4D4D4;
+    padding:3px;
+}
+.centerCss{
+    text-align: center;
+}
+.centerCss .left{
+    margin-left: 100px;
+}/* sample css file */
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexEquipmentRentalPicturePDF/lexEquipmentRentalPicturePDF.html b/force-app/main/default/lwc/lexEquipmentRentalPicturePDF/lexEquipmentRentalPicturePDF.html
new file mode 100644
index 0000000..49a10f7
--- /dev/null
+++ b/force-app/main/default/lwc/lexEquipmentRentalPicturePDF/lexEquipmentRentalPicturePDF.html
@@ -0,0 +1,5 @@
+<template>
+    <div class="sisToOPDHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexEquipmentRentalPicturePDF/lexEquipmentRentalPicturePDF.js b/force-app/main/default/lwc/lexEquipmentRentalPicturePDF/lexEquipmentRentalPicturePDF.js
new file mode 100644
index 0000000..bd82704
--- /dev/null
+++ b/force-app/main/default/lwc/lexEquipmentRentalPicturePDF/lexEquipmentRentalPicturePDF.js
@@ -0,0 +1,41 @@
+import { LightningElement, track, wire, api } from 'lwc';
+import { CurrentPageReference,NavigationMixin } from 'lightning/navigation';
+import { CloseActionScreenEvent } from 'lightning/actions';
+import init from '@salesforce/apex/EquipmentRentalPicturePDFController.init';
+export default class lexEquipmentRentalPicturePDF extends LightningElement {
+	@api recordId;
+		IsLoading = true;
+
+	@wire(CurrentPageReference)
+	getStateParameters(currentPageReference){
+		if(currentPageReference) {
+			const urlValue = currentPageReference.state.recordId;
+			if(urlValue) {
+				let str = `${urlValue}`;
+		        this.recordId = str;
+			}
+		}
+	}
+
+	connectedCallback(){
+		console.log(this.recordId);
+		init({
+			recordId: this.recordId
+		}).then(result=>{
+			//console.log('result.ShipmentRequestedCnt===' + result.ShipmentRequestedCnt)
+			if( result.ShipmentRequestedCnt > 0){
+				console.log(result.pagelength);
+				for(var i =0; i<result.pagelength; i++){
+					window.open('/apex/FixtureRentalPicturePDF?raid='+ this.recordId +'&page=' + i); 
+				}
+			}else{
+				alert('褰撳墠鐨勭敵璇峰崟涓病鏈夊凡鍑哄簱鎸囩ず鐨勯厤濂椼��');
+			}
+			this.dispatchEvent(new CloseActionScreenEvent());
+		}).catch(err=>{
+			this.dispatchEvent(new CloseActionScreenEvent());
+			console.log(err);
+		})
+	}
+
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexEquipmentRentalPicturePDF/lexEquipmentRentalPicturePDF.js-meta.xml b/force-app/main/default/lwc/lexEquipmentRentalPicturePDF/lexEquipmentRentalPicturePDF.js-meta.xml
new file mode 100644
index 0000000..74849f3
--- /dev/null
+++ b/force-app/main/default/lwc/lexEquipmentRentalPicturePDF/lexEquipmentRentalPicturePDF.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lexOCMSubmit">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightning__RecordPage</target>
+        <target>lightning__AppPage</target>
+        <target>lightning__HomePage</target>
+        <target>lightning__RecordAction</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexEquipmentSetRental_Order/lexEquipmentSetRental_Order.css b/force-app/main/default/lwc/lexEquipmentSetRental_Order/lexEquipmentSetRental_Order.css
new file mode 100644
index 0000000..2f47fa6
--- /dev/null
+++ b/force-app/main/default/lwc/lexEquipmentSetRental_Order/lexEquipmentSetRental_Order.css
@@ -0,0 +1,11 @@
+.lexEquipmentSetRentalHolder{
+ position: relative;
+ display: inline-block;
+ width: 80px;
+ height: 80px;
+ text-align: center;
+}
+
+.container .uiContainerManager{
+ display : none !important;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexEquipmentSetRental_Order/lexEquipmentSetRental_Order.html b/force-app/main/default/lwc/lexEquipmentSetRental_Order/lexEquipmentSetRental_Order.html
new file mode 100644
index 0000000..9c80ccf
--- /dev/null
+++ b/force-app/main/default/lwc/lexEquipmentSetRental_Order/lexEquipmentSetRental_Order.html
@@ -0,0 +1,5 @@
+<template>
+
+<div class="lexEquipmentSetRentalHolder" if:true={IsLoding}>
+<lightning-spinner alternative-text="Loading" size="medium">  </lightning-spinner> </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexEquipmentSetRental_Order/lexEquipmentSetRental_Order.js b/force-app/main/default/lwc/lexEquipmentSetRental_Order/lexEquipmentSetRental_Order.js
new file mode 100644
index 0000000..ff768cb
--- /dev/null
+++ b/force-app/main/default/lwc/lexEquipmentSetRental_Order/lexEquipmentSetRental_Order.js
@@ -0,0 +1,83 @@
+import { LightningElement,api, track, wire } from 'lwc';
+import init  from '@salesforce/apex/EquipmentSetRentalController.init';
+import AssignBtn  from '@salesforce/apex/RentalApplyWebService.AssignBtn';
+import {CurrentPageReference} from 'lightning/navigation';
+import { CloseActionScreenEvent } from 'lightning/actions';
+export default class lexEquipmentSetRental_Order extends LightningElement {
+
+ 	@api recordId;
+ 	IsLoading;
+ 	Rental_Apply__c;
+
+
+	@wire(CurrentPageReference)
+    getStateParameters(currentPageReference){
+    	if(currentPageReference){
+    		console.log(currentPageReference);
+    		console.log("杩涘叆鑾峰彇page鍙傛暟")
+    		const IdValue=currentPageReference.state.recordId;
+    		if(IdValue){
+    			let str=`${IdValue}`;
+    			this.recordId=str;
+    			console.log("recordId="+str);
+    		}
+    	}
+    }
+
+
+    connectedCallback(){
+    init({recordId:this.recordId}).then(res=>{
+    	if(res!=null){
+    	this.IsLoading=false;
+    	console.log("res");
+    	console.log(res);
+    	console.log("杩涘叆鍒濆鍖栧璞″叾浠栧睘鎬�");
+    	this.Rental_Apply__c=res;
+    	console.log(this.Rental_Apply__c);
+        this.distribution();
+    	}
+    	else{
+    		 var a="娌¤繘distribution";
+ console.log(a);
+    	}
+    }).catch(error =>{
+    	console.log("error");
+    	console.log(error.message);
+    }).finally(()=>{
+
+    });
+    }
+
+
+
+    async distribution(){
+	  	var raid = this.Rental_Apply__c.Id;
+		var rtn = await AssignBtn(raid);
+		if(this.Rental_Apply__c.Status__c == '鍙栨秷' && this.Rental_Apply__c.Rental_Apply_Equipment_Set_Cnt__c != '0') {
+			window.open("/apex/EquipmentRentalApply?raid="+URLENCODE(this.Rental_Apply__c.Id));
+		} else if((this.Rental_Apply__c.demo_purpose2__c == '瀛︿細锛忓睍鍙�' ||
+			this.Rental_Apply__c.demo_purpose2__c == '璇鹃鐮旂┒' || 
+			this.Rental_Apply__c.demo_purpose2__c == '鍩硅涓績'
+			)
+			&& this.Rental_Apply__c.Status__c == '鑽夋涓�') {
+			alert("涓嶈兘寮曞綋锛岃纭鐢宠鐨勭姸鎬�");
+		} else if(
+			(this.Rental_Apply__c.demo_purpose2__c == '璇曠敤锛堟棤璇环锛�' ||
+			this.Rental_Apply__c.demo_purpose2__c == '璇曠敤锛堟湁璇环锛�' || 
+			this.Rental_Apply__c.demo_purpose2__c == '鍔ㄧ墿瀹為獙' ||
+			this.Rental_Apply__c.demo_purpose2__c == '涓�鑸淮淇唬鐢�' ||
+			this.Rental_Apply__c.demo_purpose2__c == '淇濅慨鍚堝悓鐢ㄦ埛缁翠慨浠g敤' ||
+			this.Rental_Apply__c.demo_purpose2__c == '宸茶喘寰呰揣'
+			)
+			&& this.Rental_Apply__c.Status__c != '鎵瑰噯瀹屼簡'
+			&& this.Rental_Apply__c.Status__c != '寮曞綋瀹屼簡'
+			&& this.Rental_Apply__c.Status__c != '鍑哄簱鎸囩ず瀹屼簡') {
+				alert("涓嶈兘寮曞綋锛岃纭鐢宠鐨勭姸鎬�");
+		} else if(rtn == 'Fin') {
+			window.open("/apex/EquipmentRentalApply?raid="+URLENCODE(this.Rental_Apply__c.Id));
+		} else{
+			alert(rtn);
+		}  	
+
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexEquipmentSetRental_Order/lexEquipmentSetRental_Order.js-meta.xml b/force-app/main/default/lwc/lexEquipmentSetRental_Order/lexEquipmentSetRental_Order.js-meta.xml
new file mode 100644
index 0000000..8b422cd
--- /dev/null
+++ b/force-app/main/default/lwc/lexEquipmentSetRental_Order/lexEquipmentSetRental_Order.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lexEquipmentSetRental_Order">
+    <apiVersion>51.0</apiVersion>
+    <isExposed>true</isExposed>
+     <targets>
+        <target>lightning__AppPage</target>
+        <target>lightning__RecordPage</target>
+        <target>lightning__HomePage</target>
+        <target>lightning__RecordAction</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexFinLibrary/lexFinLibrary.css b/force-app/main/default/lwc/lexFinLibrary/lexFinLibrary.css
new file mode 100644
index 0000000..b606828
--- /dev/null
+++ b/force-app/main/default/lwc/lexFinLibrary/lexFinLibrary.css
@@ -0,0 +1,11 @@
+.lexFinlibraryHolder{
+ position: relative;
+ display: inline-block;
+ width: 80px;
+ height: 80px;
+ text-align: center;
+}
+
+.container .uiContainerManager{
+ display : none !important;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexFinLibrary/lexFinLibrary.html b/force-app/main/default/lwc/lexFinLibrary/lexFinLibrary.html
new file mode 100644
index 0000000..aab9e0c
--- /dev/null
+++ b/force-app/main/default/lwc/lexFinLibrary/lexFinLibrary.html
@@ -0,0 +1,4 @@
+<template>
+<div class="lexFinlibraryHolder" if:true={IsLoding}>
+<lightning-spinner alternative-text="Loading" size="medium">  </lightning-spinner> </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexFinLibrary/lexFinLibrary.js b/force-app/main/default/lwc/lexFinLibrary/lexFinLibrary.js
new file mode 100644
index 0000000..576fe17
--- /dev/null
+++ b/force-app/main/default/lwc/lexFinLibrary/lexFinLibrary.js
@@ -0,0 +1,57 @@
+import { LightningElement, track, wire,api } from 'lwc';
+import getBulletinBoard  from '@salesforce/apex/FinLibraryButtonController.getBulletinBoard';
+import {CurrentPageReference} from 'lightning/navigation';
+import { CloseActionScreenEvent } from 'lightning/actions';
+import LightningAlert from 'lightning/alert';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+export default class lexFinLibrary extends LightningElement {
+
+		@api recordId;
+		IsLoading;
+		Bulletin_Board__c;
+
+
+		@wire(CurrentPageReference)
+    getStateParameters(currentPageReference){
+    	if(currentPageReference){
+    		console.log(currentPageReference);
+    		console.log("杩涘叆鑾峰彇page鍙傛暟")
+    		const IdValue=currentPageReference.state.recordId;
+    		if(IdValue){
+    			let str=`${IdValue}`;
+    			this.recordId=str;
+    			console.log("recordId="+str);
+    		}
+    	}
+    }
+
+
+    connectedCallback(){
+        getBulletinBoard({recordId:this.recordId}).then(res=>{
+        	if(res!=null){
+        	this.IsLoading=false;
+        	console.log("res");
+        	console.log(res);
+        	console.log("杩涘叆鍒濆鍖栧璞″叾浠栧睘鎬�");
+        	this.Bulletin_Board__c=res;
+        	console.log(this.Bulletin_Board__c);
+            this.FinLibrary();
+    	}
+    	else{
+    		 var a="娌¤繘鏂规硶";
+ 			console.log(a);
+    	}
+    }).catch(error =>{
+    	console.log("error");
+    	console.log(error.message);
+    }).finally(()=>{
+
+    });
+    }
+
+    async FinLibrary(){
+        this.dispatchEvent(new CloseActionScreenEvent());
+    	window.open(this.Bulletin_Board__c.iPad_Finlibrary__c, 'FinLibrary', '_top');	
+    }
+
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexFinLibrary/lexFinLibrary.js-meta.xml b/force-app/main/default/lwc/lexFinLibrary/lexFinLibrary.js-meta.xml
new file mode 100644
index 0000000..79fced5
--- /dev/null
+++ b/force-app/main/default/lwc/lexFinLibrary/lexFinLibrary.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lexFinLibrary">
+    <apiVersion>51.0</apiVersion>
+    <isExposed>true</isExposed>
+     <targets>
+        <target>lightning__AppPage</target>
+        <target>lightning__RecordPage</target>
+        <target>lightning__HomePage</target>
+        <target>lightning__RecordAction</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexFinLibrary2/lexFinLibrary2.css b/force-app/main/default/lwc/lexFinLibrary2/lexFinLibrary2.css
new file mode 100644
index 0000000..bb273c4
--- /dev/null
+++ b/force-app/main/default/lwc/lexFinLibrary2/lexFinLibrary2.css
@@ -0,0 +1,11 @@
+.lexFinlibraryHolder2{
+ position: relative;
+ display: inline-block;
+ width: 80px;
+ height: 80px;
+ text-align: center;
+}
+
+.container .uiContainerManager{
+ display : none !important;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexFinLibrary2/lexFinLibrary2.html b/force-app/main/default/lwc/lexFinLibrary2/lexFinLibrary2.html
new file mode 100644
index 0000000..81373b2
--- /dev/null
+++ b/force-app/main/default/lwc/lexFinLibrary2/lexFinLibrary2.html
@@ -0,0 +1,4 @@
+<template>
+<div class="lexFinlibraryHolder2" if:true={IsLoding}>
+<lightning-spinner alternative-text="Loading" size="medium">  </lightning-spinner> </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexFinLibrary2/lexFinLibrary2.js b/force-app/main/default/lwc/lexFinLibrary2/lexFinLibrary2.js
new file mode 100644
index 0000000..3db3717
--- /dev/null
+++ b/force-app/main/default/lwc/lexFinLibrary2/lexFinLibrary2.js
@@ -0,0 +1,62 @@
+import { LightningElement, track, wire,api } from 'lwc';
+import getBulletinBoard  from '@salesforce/apex/FinLibraryButtonController2.getBulletinBoard';
+import {CurrentPageReference} from 'lightning/navigation';
+import { CloseActionScreenEvent } from 'lightning/actions';
+export default class lexFinLibrary2 extends LightningElement {
+
+
+	@api recordId;
+	IsLoading;
+	Bulletin_Board__c;
+
+
+	@wire(CurrentPageReference)
+    getStateParameters(currentPageReference){
+    	if(currentPageReference){
+    		console.log(currentPageReference);
+    		console.log("杩涘叆鑾峰彇page鍙傛暟")
+    		const IdValue=currentPageReference.state.recordId;
+    		if(IdValue){
+    			let str=`${IdValue}`;
+    			this.recordId=str;
+    			console.log("recordId="+str);
+    		}
+    	}
+    }
+
+
+
+
+    connectedCallback(){
+    getBulletinBoard({recordId:this.recordId}).then(res=>{
+    	if(res!=null){
+    	this.IsLoading=false;
+    	console.log("res");
+    	console.log(res);
+    	console.log("杩涘叆鍒濆鍖栧璞″叾浠栧睘鎬�");
+    	this.Bulletin_Board__c=res;
+    	console.log(this.Bulletin_Board__c);
+        this.FinLibrary2();
+    	}
+    	else{
+    		 var a="娌¤繘鏂规硶";
+ 			console.log(a);
+    	}
+    }).catch(error =>{
+    	console.log("error");
+    	console.log(error.message);
+    }).finally(()=>{
+
+    });
+    }
+
+
+    FinLibrary2(){
+
+
+    	window.open(this.Bulletin_Board__c.iPad_Finlibrary_2__c, 'FinLibrary', '_top');
+    	this.dispatchEvent(new CloseActionScreenEvent());
+
+    }
+
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexFinLibrary2/lexFinLibrary2.js-meta.xml b/force-app/main/default/lwc/lexFinLibrary2/lexFinLibrary2.js-meta.xml
new file mode 100644
index 0000000..f128d90
--- /dev/null
+++ b/force-app/main/default/lwc/lexFinLibrary2/lexFinLibrary2.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lexFinLibrary2">
+    <apiVersion>51.0</apiVersion>
+    <isExposed>true</isExposed>
+      <targets>
+        <target>lightning__AppPage</target>
+        <target>lightning__RecordPage</target>
+        <target>lightning__HomePage</target>
+        <target>lightning__RecordAction</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexFinLibrary3/lexFinLibrary3.css b/force-app/main/default/lwc/lexFinLibrary3/lexFinLibrary3.css
new file mode 100644
index 0000000..69ceae8
--- /dev/null
+++ b/force-app/main/default/lwc/lexFinLibrary3/lexFinLibrary3.css
@@ -0,0 +1,11 @@
+.lexFinlibraryHolder3{
+ position: relative;
+ display: inline-block;
+ width: 80px;
+ height: 80px;
+ text-align: center;
+}
+
+.container .uiContainerManager{
+ display : none !important;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexFinLibrary3/lexFinLibrary3.html b/force-app/main/default/lwc/lexFinLibrary3/lexFinLibrary3.html
new file mode 100644
index 0000000..2e542b1
--- /dev/null
+++ b/force-app/main/default/lwc/lexFinLibrary3/lexFinLibrary3.html
@@ -0,0 +1,4 @@
+<template>
+<div class="lexFinlibraryHolder3" if:true={IsLoding}>
+<lightning-spinner alternative-text="Loading" size="medium">  </lightning-spinner> </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexFinLibrary3/lexFinLibrary3.js b/force-app/main/default/lwc/lexFinLibrary3/lexFinLibrary3.js
new file mode 100644
index 0000000..21eca75
--- /dev/null
+++ b/force-app/main/default/lwc/lexFinLibrary3/lexFinLibrary3.js
@@ -0,0 +1,58 @@
+import { LightningElement, track, wire,api } from 'lwc';
+import getBulletinBoard  from '@salesforce/apex/FinLibraryButtonController3.getBulletinBoard';
+import {CurrentPageReference} from 'lightning/navigation';
+import { CloseActionScreenEvent } from 'lightning/actions';
+export default class lexFinLibrary3 extends LightningElement {
+
+	@api recordId;
+	IsLoading;
+	Bulletin_Board__c;
+
+	@wire(CurrentPageReference)
+    getStateParameters(currentPageReference){
+    	if(currentPageReference){
+    		console.log(currentPageReference);
+    		console.log("杩涘叆鑾峰彇page鍙傛暟")
+    		const IdValue=currentPageReference.state.recordId;
+    		if(IdValue){
+    			let str=`${IdValue}`;
+    			this.recordId=str;
+    			console.log("recordId="+str);
+    		}
+    	}
+    }
+
+
+
+
+    connectedCallback(){
+    getBulletinBoard({recordId:this.recordId}).then(res=>{
+    	if(res!=null){
+    	this.IsLoading=false;
+    	console.log("res");
+    	console.log(res);
+    	console.log("杩涘叆鍒濆鍖栧璞″叾浠栧睘鎬�");
+    	this.Bulletin_Board__c=res;
+    	console.log(this.Bulletin_Board__c);
+        this.FinLibrary3();
+    	}
+    	else{
+    		 var a="娌¤繘鏂规硶";
+ 			console.log(a);
+    	}
+    }).catch(error =>{
+    	console.log("error");
+    	console.log(error.message);
+    }).finally(()=>{
+
+    });
+    }
+
+
+    FinLibrary3(){
+    	window.open(this.Bulletin_Board__c.iPad_Finlibrary_3__c, 'FinLibrary', '_top');
+    	this.dispatchEvent(new CloseActionScreenEvent());
+    }
+
+
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexFinLibrary3/lexFinLibrary3.js-meta.xml b/force-app/main/default/lwc/lexFinLibrary3/lexFinLibrary3.js-meta.xml
new file mode 100644
index 0000000..5323374
--- /dev/null
+++ b/force-app/main/default/lwc/lexFinLibrary3/lexFinLibrary3.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lexFinLibrary3">
+    <apiVersion>51.0</apiVersion>
+    <isExposed>true</isExposed>
+     <targets>
+        <target>lightning__AppPage</target>
+        <target>lightning__RecordPage</target>
+        <target>lightning__HomePage</target>
+        <target>lightning__RecordAction</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexInputSolution/lexInputSolution.css b/force-app/main/default/lwc/lexInputSolution/lexInputSolution.css
new file mode 100644
index 0000000..8d634cd
--- /dev/null
+++ b/force-app/main/default/lwc/lexInputSolution/lexInputSolution.css
@@ -0,0 +1,10 @@
+.createEmailHolder{
+    position: relative;
+    display: inline-block;
+    width: 80px;
+    height: 80px;
+    text-align: center;
+}
+.container .uiContainerManager{
+	display: none !important;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexInputSolution/lexInputSolution.html b/force-app/main/default/lwc/lexInputSolution/lexInputSolution.html
new file mode 100644
index 0000000..61d9b05
--- /dev/null
+++ b/force-app/main/default/lwc/lexInputSolution/lexInputSolution.html
@@ -0,0 +1,5 @@
+<template>
+    <div class="createEmailHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexInputSolution/lexInputSolution.js b/force-app/main/default/lwc/lexInputSolution/lexInputSolution.js
new file mode 100644
index 0000000..59c58d1
--- /dev/null
+++ b/force-app/main/default/lwc/lexInputSolution/lexInputSolution.js
@@ -0,0 +1,49 @@
+import { LightningElement,wire,track,api} from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import { NavigationMixin } from 'lightning/navigation';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+import init  from '@salesforce/apex/CaseController.initForlexInputSolutionButton';
+import UserInfo_Owner from '@salesforce/apex/TaskFeedbackController.UserInfo_Owner';
+import { updateRecord } from 'lightning/uiRecordApi';
+
+export default class lexInputSolution extends LightningElement {
+	@api recordId;
+	IsLoading = true;
+	inquirydetail;
+	answerdetailcontent;
+
+	@wire(CurrentPageReference)
+     getStateParameters(currentPageReference) {
+             console.log(111);
+             console.log(currentPageReference);
+
+         if (currentPageReference) {
+           const urlValue = currentPageReference.state.recordId;
+           if (urlValue) {
+             let str = `${urlValue}`;
+             console.log("str");
+             console.log(str);
+             this.recordId = str;
+           }
+         }
+    }
+
+    connectedCallback () {
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            this.IsLoading = false;
+            this.inquirydetail = result.inquirydetail;
+            this.answerdetailcontent = result.answerdetailcontent;
+            var url = "/501/e?retURL="+this.recordId+
+						"&SolutionName="+this.inquirydetail+
+						"&00N10000003MXPAEA4="+this.answerdetailcontent;
+            window.open(url);
+        }).catch(error => {
+            console.log('error='+error);
+        }).finally(() => {
+            
+        }); 
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexInputSolution/lexInputSolution.js-meta.xml b/force-app/main/default/lwc/lexInputSolution/lexInputSolution.js-meta.xml
new file mode 100644
index 0000000..573ce4c
--- /dev/null
+++ b/force-app/main/default/lwc/lexInputSolution/lexInputSolution.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lexInputSolution">
+        <apiVersion>54.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightning__RecordPage</target>
+        <target>lightning__AppPage</target>
+        <target>lightning__HomePage</target>
+        <target>lightning__RecordAction</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexInsPageBtn/lexInsPageBtn.html b/force-app/main/default/lwc/lexInsPageBtn/lexInsPageBtn.html
new file mode 100644
index 0000000..d044dbb
--- /dev/null
+++ b/force-app/main/default/lwc/lexInsPageBtn/lexInsPageBtn.html
@@ -0,0 +1,5 @@
+<template>
+    <div class="exampleHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexInsPageBtn/lexInsPageBtn.js b/force-app/main/default/lwc/lexInsPageBtn/lexInsPageBtn.js
new file mode 100644
index 0000000..e0c1dbd
--- /dev/null
+++ b/force-app/main/default/lwc/lexInsPageBtn/lexInsPageBtn.js
@@ -0,0 +1,62 @@
+import {
+    LightningElement,
+    wire,
+    api
+} from 'lwc';
+import {
+    CurrentPageReference
+} from "lightning/navigation";
+import {
+    CloseActionScreenEvent
+} from 'lightning/actions';
+import init from '@salesforce/apex/otherButtonSpotInspectionReportCtl.init';
+
+export default class LexInsPageBtn extends LightningElement {
+    @api recordId;
+    str;
+    IsLoading = true;
+    Id;
+    RecordTypeId;
+
+    @wire(CurrentPageReference)
+    getStateParameters(currentPageReference) {
+        if (currentPageReference) {
+            const urlValue = currentPageReference.state.recordId;
+            if (urlValue) {
+                let str = `${urlValue}`;
+                this.recordId = str;
+            }
+        }
+    }
+
+    connectedCallback() {
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            console.log(result);
+            if (result != null) {
+                this.IsLoading = false;
+                this.Id = result.Id;
+                this.RecordTypeId = result.RecordTypeId;
+
+                this.insPageBtn();
+                this.dispatchEvent(new CloseActionScreenEvent());
+            }
+        }).catch(error => {
+            console.log(error);
+        }).finally(() => {
+
+        });
+    }
+
+    // 鎶ュ憡涔︽槑缁嗙紪杈�
+    insPageBtn() {
+        var url;
+        if (this.RecordTypeId == '01210000000aLii') {
+            url = '/apex/OFSInsReportLayoutForVm';
+        } else {
+            url = '/apex/OFSInsReportLayout';
+        }
+        window.open(url += '?id=' + this.Id)
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexInsPageBtn/lexInsPageBtn.js-meta.xml b/force-app/main/default/lwc/lexInsPageBtn/lexInsPageBtn.js-meta.xml
new file mode 100644
index 0000000..3392981
--- /dev/null
+++ b/force-app/main/default/lwc/lexInsPageBtn/lexInsPageBtn.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+	<isExposed>true</isExposed>
+	<targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexInventoryCount/lexInventoryCount.html b/force-app/main/default/lwc/lexInventoryCount/lexInventoryCount.html
index 3f9fe41..822bd2c 100644
--- a/force-app/main/default/lwc/lexInventoryCount/lexInventoryCount.html
+++ b/force-app/main/default/lwc/lexInventoryCount/lexInventoryCount.html
@@ -1,5 +1,7 @@
 <template>
-
+    <template if:true={showSpinner}>
+        <lightning-spinner size="medium" variant="brand"></lightning-spinner>
+    </template>
     <template if:true={showcount}>
         <div style="border: 1px solid #D4D4D4;border-radius:5px;">
             <div style="border-top: 3px solid #51606E;;border-bottom: 1px solid #D4D4D4;padding:3px;">
@@ -64,11 +66,11 @@
                             </template>
                             <!-- 鍔犺浇妗� -->
 
-                            <div if:true={casesSpinner} class="slds-spinner_inline spinner-padding"
+                            <!-- <div if:true={casesSpinner} class="slds-spinner_inline spinner-padding"
                                 style="margin-top:10px;">
                                 <lightning-spinner variant="brand" alternative-text="Loading Cases" size="medium">
                                 </lightning-spinner>
-                            </div>
+                            </div> -->
 
                         </div>
 
@@ -91,17 +93,15 @@
                         </tr>
                     </table>
                 </div>
-
+                <template if:true={showTable}>
                 <div style="padding:10px;">
-                    <template if:true={showTable}>
+               
                         <c-lwc-datatable-utility records={codPageRecords} total-records={codPageRecords.length}
-                            columns={column} key-field="Id" show-search-box="true"
+                            columns={column} key-field="Id" show-search-box="true" hidecheckboxcolumn={hidecheckbox}
                             max-row-selection={codPageRecords.length} onpaginatorchange={handlePaginatorChange}>
                         </c-lwc-datatable-utility>
-                    </template>
-
-
                 </div>
+            </template>
             </div>
         </div>
     </template>
@@ -137,58 +137,18 @@
             <lightning-accordion allow-multiple-sections-open class="slds-m-around_medium"
                 active-section-name={activeSections}>
                 <lightning-accordion-section name="dataExpand" label="鐩樼偣鏄庣粏">
-                    <table class="list" border="0" cellpadding="0" cellspacing="0" id="example">
-                        <thead>
-                            <tr class="headerRow">
-                                <th>娑堣�楀搧鍚嶇О</th>
-                                <th>搴撳瓨</th>
-                                <th>鐩樼偣</th>
-                                <th>涓㈠け</th>
-                                <th>瀵诲洖</th>
-                                <th>宸紓鍘熷洜</th>
-                            </tr>
-                        </thead>
-                        <tbody>
-                            <template for:each={detailData} for:item="m">
-                                <tr key={m.Prod.Name__c}>
-                                    <td>{m.Prod.Name__c}</td>
-                                    <td>{m.orderdetails1.Count_Sum__c}</td>
-                                    <td>{m.orderdetails1.inventory_sum__c}</td>
-                                    <td>{m.orderdetails1.Diff__c}</td>
-                                    <td>{m.orderdetails1.Product_Refind__c}</td>
-                                    <td>{m.orderdetails1.Lose_reason__c}</td>
-                                </tr>
-                            </template>
-                        </tbody>
-                    </table>
+                    <lightning-datatable key-field="id" data={detailData}
+                        columns={dcolumns} hide-checkbox-column>
+                    </lightning-datatable>
+
                 </lightning-accordion-section>
             </lightning-accordion>
             <lightning-accordion allow-multiple-sections-open class="slds-m-around_medium"
                 active-section-name={activeSections}>
                 <lightning-accordion-section name="dataExpand" label="鍦ㄥ簱璋冩暣鏄庣粏">
-                    <table class="list" border="0" cellpadding="0" cellspacing="0" id="examples">
-                        <thead>
-                            <tr class="headerRow">
-                                <th>娑堣�楀搧鍚嶇О</th>
-                                <th>浜у搧鍨嬪彿</th>
-                                <th>宸紓鍘熷洜</th>
-                                <th>鏄惁涓㈠け</th>
-                            </tr>
-                        </thead>
-                        <tbody>
-                            <template for:each={adjustdata} for:item="m">
-                                <tr key={m.Prod.Name__c}>
-                                    <td>{m.Prod.Name__c}</td>
-                                    <td>{m.Prod.Asset_Model_No__c}</td>
-                                    <td>{m.orderdetails2.Lose_reason__c}</td>
-                                    <td>{m.orderdetails1.Diff__c}</td>
-                                    <td>{m.orderdetails1.Product_Refind__c}</td>
-                                    <td>{m.orderdetails2.Lose_Flag__c}</td>
-                                </tr>
-                            </template>
-                        </tbody>
-                    </table>
-
+                    <lightning-datatable key-field="id" data={adjustdata}
+                    columns={stockadjustcolumns} hide-checkbox-column>
+                </lightning-datatable>
                 </lightning-accordion-section>
             </lightning-accordion>
         </div>
diff --git a/force-app/main/default/lwc/lexInventoryCount/lexInventoryCount.js b/force-app/main/default/lwc/lexInventoryCount/lexInventoryCount.js
index 3f9c9a4..eeba966 100644
--- a/force-app/main/default/lwc/lexInventoryCount/lexInventoryCount.js
+++ b/force-app/main/default/lwc/lexInventoryCount/lexInventoryCount.js
@@ -1,162 +1,164 @@
-import { LightningElement, wire, api, track } from 'lwc';
-import oninit from '@salesforce/apex/LexInventoryController.init';
-import barcodeEntry from '@salesforce/apex/LexInventoryController.searchConsumableorderdetails';
-import saveConfirm from '@salesforce/apex/LexInventoryController.save';
-import { ShowToastEvent } from 'lightning/platformShowToastEvent';
-import { NavigationMixin } from 'lightning/navigation';
+import { LightningElement, wire, api, track } from "lwc";
+import oninit from "@salesforce/apex/LexInventoryController.init";
+import barcodeEntry from "@salesforce/apex/LexInventoryController.searchConsumableorderdetails";
+// import saveConfirm from '@salesforce/apex/LexInventoryController.saveConfirm';
+import save from "@salesforce/apex/LexInventoryController.save";
+import datainit from "@salesforce/apex/LexInventoryListController.init";
+import { ShowToastEvent } from "lightning/platformShowToastEvent";
+import { NavigationMixin } from "lightning/navigation";
 
 //搴撳瓨鐩樼偣涓婚〉闈㈡暟鎹�
 const columns = [
     {
-        label: '鏄惁鐩樼偣',
-        fieldName: 'iscount',
-        type: 'checkbox',
-        cellAttributes: { alignment: 'left' }
+        label: "鏄惁鐩樼偣",
+        fieldName: "iscount",
+        hideDefaultActions: true,
+        cellAttributes: { alignment: "left" },
     },
     {
-        label: '娑堣�楀搧鍚嶇О',
-        fieldName: 'Name__c',
-        type: 'Name',
-        cellAttributes: { alignment: 'left' }
+        label: "娑堣�楀搧鍚嶇О",
+        fieldName: "Name__c",
+        hideDefaultActions: true,
+        initialWidth: 250,
+        cellAttributes: { alignment: "left" },
     },
     {
-        label: '瑙勬牸',
-        fieldName: 'Packing_list_manual__c',
-        hideDefaultActions: true
+        label: "瑙勬牸",
+        fieldName: "Packing_list_manual__c",
+        hideDefaultActions: true,
     },
     {
-        label: '鍗曚綅',
-        fieldName: 'boxPiece',
-        hideDefaultActions: true
+        label: "鍗曚綅",
+        fieldName: "boxPiece",
+        hideDefaultActions: true,
     },
     {
-        label: '鏈夋晥鏈熷唴搴撳瓨',
-        fieldName: 'limitCount',
-        hideDefaultActions: true
+        label: "鏈夋晥鏈熷唴搴撳瓨",
+        fieldName: "limitCount",
+        hideDefaultActions: true,
     },
 
     {
-        label: '杩囨湡搴撳瓨',
-        fieldName: 'overlimitCount',
+        label: "杩囨湡搴撳瓨",
+        fieldName: "overlimitCount",
         hideDefaultActions: true,
-        initialWidth: 100
+        initialWidth: 100,
     },
     {
-        label: '鐩樼偣',
-        fieldName: 'Pandian',
+        label: "鐩樼偣",
+        fieldName: "Pandian",
         hideDefaultActions: true,
-        initialWidth: 100
+        initialWidth: 100,
     },
     {
-        label: '涓㈠け',
-        fieldName: 'Diff',
+        label: "涓㈠け",
+        fieldName: "Diff",
         hideDefaultActions: true,
-        initialWidth: 100
+        initialWidth: 100,
     },
     {
-        label: '瀵诲洖	',
-        fieldName: 'refind',
+        label: "瀵诲洖	",
+        fieldName: "refind",
         hideDefaultActions: true,
-        initialWidth: 150
+        initialWidth: 150,
     },
     {
-        label: '宸紓鍘熷洜',
+        label: "宸紓鍘熷洜",
         // fieldName: "DiffReason",
         hideDefaultActions: true,
-        type: 'customDiffReason',
+        type: "customDiffReason",
         typeAttributes: {
-            DiffReason: { fieldName: 'DiffReason' },
-            ProdId: { fieldName: 'ProdId' }
-        }
-    }
+            DiffReason: { fieldName: "DiffReason" },
+            ProdId: { fieldName: "ProdId" },
+        },
+    },
 ];
 
 //璋冩暣鏄庣粏
 const column = [
     {
-        label: '娑堣�楀搧鍚嶇О',
-        fieldName: 'Name__c',
-        type: 'Name',
-        cellAttributes: { alignment: 'left' }
-    },
-    {
-        label: '鍗曚綅',
-        fieldName: 'Box_Piece__c',
-        hideDefaultActions: true
-    },
-    {
-        label: 'barcode',
-        fieldName: 'Bar_Code__c',
+        label: "娑堣�楀搧鍚嶇О",
+        fieldName: "Name__c",
         hideDefaultActions: true,
-        initialWidth: 150
+        cellAttributes: { alignment: "left" },
     },
     {
-        label: '璋冩暣鍘熷洜',
-        fieldName: 'DiffReason',
-        hideDefaultActions: true
-    }
+        label: "鍗曚綅",
+        fieldName: "Box_Piece__c",
+        hideDefaultActions: true,
+    },
+    {
+        label: "barcode",
+        fieldName: "Bar_Code__c",
+        hideDefaultActions: true,
+        initialWidth: 150,
+    },
+    {
+        label: "璋冩暣鍘熷洜",
+        fieldName: "DiffReason",
+        hideDefaultActions: true,
+    },
 ];
 //鐩樼偣鏄庣粏
 const dcolumns = [
     {
-        label: '娑堣�楀搧鍚嶇О',
-        fieldName: 'Name__c',
-        type: 'Name',
-        cellAttributes: { alignment: 'left' }
-    },
-    {
-        label: '搴撳瓨',
-        fieldName: 'Box_Piece__c',
-        hideDefaultActions: true
-    },
-    {
-        label: '鐩樼偣',
-        fieldName: 'Bar_Code__c',
+        label: "娑堣�楀搧鍚嶇О",
+        fieldName: "Name__c",
         hideDefaultActions: true,
-        initialWidth: 150
+        cellAttributes: { alignment: "left" },
     },
     {
-        label: '涓㈠け',
-        fieldName: 'DiffReason',
-        hideDefaultActions: true
+        label: "搴撳瓨",
+        fieldName: "Count_Sum__c",
+        hideDefaultActions: true,
     },
     {
-        label: '瀵诲洖',
-        fieldName: 'DiffReason',
-        hideDefaultActions: true
+        label: "鐩樼偣",
+        fieldName: "inventory_sum__c",
+        hideDefaultActions: true,
+        initialWidth: 150,
     },
-    ,
     {
-        label: '宸紓鍘熷洜',
-        fieldName: 'DiffReason',
-        hideDefaultActions: true
-    }
+        label: "涓㈠け",
+        fieldName: "Diff__c",
+        hideDefaultActions: true,
+    },
+    {
+        label: "瀵诲洖",
+        fieldName: "Product_Refind__c",
+        hideDefaultActions: true,
+    },
+    {
+        label: "宸紓鍘熷洜",
+        fieldName: "Lose_reason__c",
+        hideDefaultActions: true,
+    },
 ];
 
 //鍦ㄥ簱璋冩暣鏄庣粏
 const stockadjustcolumns = [
     {
-        label: '娑堣�楀搧鍚嶇О',
-        fieldName: 'Name__c',
-        type: 'Name',
-        cellAttributes: { alignment: 'left' }
+        label: "娑堣�楀搧鍚嶇О",
+        fieldName: "Name__c",
+        cellAttributes: { alignment: "left" },
     },
     {
-        label: '浜у搧鍨嬪彿',
-        fieldName: 'Box_Piece__c',
-        hideDefaultActions: true
-    },
-    {
-        label: '宸紓鍘熷洜',
-        fieldName: 'Bar_Code__c',
+        label: "浜у搧鍨嬪彿",
+        fieldName: "Asset_Model_No__c",
         hideDefaultActions: true,
-        initialWidth: 150
     },
     {
-        label: '鏄惁涓㈠け',
-        fieldName: 'DiffReason',
-        hideDefaultActions: true
-    }
+        label: "宸紓鍘熷洜",
+        fieldName: "Lose_reason__c",
+        hideDefaultActions: true,
+        initialWidth: 150,
+    },
+    {
+        label: "鏄惁涓㈠け",
+        type: "boolean",
+        fieldName: "Lose_Flag__c",
+        hideDefaultActions: true,
+    },
 ];
 
 export default class LexInventoryCount extends NavigationMixin(
@@ -171,29 +173,35 @@
     @track accountName;
     @track agencyProType;
     @track userWorkLocation;
+    @track accountid
+    @track pandiandetailsMap
+    @track reSet
+
     @track showTable = false;
     @track showbutton = false;
-    @track barCode;
+    @track barcode = "";
     @track ConsumableorderdetailsRecordsview = [];
     @track consumableorderdetailsRecords = [];
-    @track showTable = false;
-    @track barcode;
     @track showcount = true;
 
-    @track iSinventory;
+    @track iSinventory = false
     @track numberDetail;
+    @track hidecheckbox = true;
+
 
     //鍔犺浇妗�
-    @track casesSpinner = true;
+    // @track casesSpinner = true;
+    @track showSpinner = true;
+
     //row
     @track selectedRows = [];
     //inventoryList
     @track isSummonsFlag;
     //灞曞紑鏍�
-    activeSections = ['dataExpand'];
-    columnHeader = ['娑堣�楀搧鍚嶇О', '鍗曚綅', 'barCode', '璋冩暣鍘熷洜'];
+    activeSections = ["dataExpand"];
+    columnHeader = ["娑堣�楀搧鍚嶇О", "鍗曚綅", "barCode", "璋冩暣鍘熷洜"];
     //纭涓�瑙�
-    @track eSetId = '';
+    @track eSetId = "";
     @track EditAble = false;
     @track selectedData;
     @track conId;
@@ -202,8 +210,8 @@
 
     //鑾峰彇閾炬帴鍙傛暟
     getQueryString(name) {
-        console.log('getQueryString name ' + name);
-        let reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i');
+        console.log("getQueryString name " + name);
+        let reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
         let r = window.location.search.substr(1).match(reg);
         if (r != null) {
             return decodeURIComponent(r[2]);
@@ -212,21 +220,28 @@
     }
 
     connectedCallback() {
-        console.log('===>鍒濆鍖�');
+        console.log("===>鍒濆鍖�");
+        this.showSpinner = true;
         //鑾峰彇ESetid
-        this.eSetId = this.getQueryString('eSetId');
-        this.eSetId = this.eSetId == null ? '' : this.eSetId;
-        console.log(' this.eSetId' + this.eSetId);
-        this.EditAble = false;
-        this.showcount = true;
+        this.eSetId = this.getQueryString("eSetId");
+        this.eSetId = this.eSetId == null ? "" : this.eSetId;
+        console.log(" this.eSetId" + this.eSetId);
+        if (this.eSetId == "") {
+            this.EditAble = false;
+        } else {
+            this.inits();
+            this.showcount = false;
+            this.EditAble = true;
+        }
+
         oninit()
             .then((result) => {
-                console.log('1112' + JSON.stringify(result));
+                console.log("1112" + JSON.stringify(result));
                 result = JSON.parse(JSON.stringify(result));
-                console.log('result.status = ' + result.status);
+                console.log("result.status = " + result.status);
                 console.log(
-                    ' ConsumableorderdetailsRecordsview= ' +
-                        result.entity.ConsumableorderdetailsRecordsview
+                    " ConsumableorderdetailsRecordsview= " +
+                    result.entity.ConsumableorderdetailsRecordsview
                 );
                 this.ConsumableorderdetailsRecordsview = JSON.parse(
                     result.entity.ConsumableorderdetailsRecordsview
@@ -234,24 +249,19 @@
                 this.consumableorderdetailsRecords =
                     result.entity.consumableorderdetailsRecords;
                 console.log(
-                    ' consumableorderdetailsRecords= ' +
-                        result.entity.consumableorderdetailsRecords
+                    " consumableorderdetailsRecords= " +
+                    result.entity.consumableorderdetailsRecords
                 );
 
-                console.log(
-                    '浼犲弬绫诲瀷',
-                    typeof this.consumableorderdetailsRecords
-                );
-                if (result.status == 'Success') {
+                console.log("浼犲弬绫诲瀷", typeof this.consumableorderdetailsRecords);
+                if (result.status == "Success") {
                     console.log(
-                        'this.ConsumableorderdetailsRecordsview[0] = ' +
-                            JSON.stringify(
-                                this.ConsumableorderdetailsRecordsview[0]
-                            )
+                        "this.ConsumableorderdetailsRecordsview[0] = " +
+                        JSON.stringify(this.ConsumableorderdetailsRecordsview[0])
                     );
                     console.log(
-                        'this.ConsumableorderdetailsRecordsview[0].length = ' +
-                            this.ConsumableorderdetailsRecordsview[0].length
+                        "this.ConsumableorderdetailsRecordsview[0].length = " +
+                        this.ConsumableorderdetailsRecordsview[0].length
                     );
 
                     // let cloneData = [];
@@ -263,32 +273,34 @@
                     // this.data = cloneData;
                     this.data = [];
                     this.data = this.ConsumableorderdetailsRecordsview[0];
-                    console.log('this.data ==>' + JSON.stringify(this.data));
+                    console.log("this.data ==>" + JSON.stringify(this.data));
                     for (let i in this.data) {
-                        this.data[i]['Name__c'] = this.data[i].Prod.Name__c;
-                        this.data[i]['Packing_list_manual__c'] =
+                        this.data[i]["Name__c"] = this.data[i].Prod.Name__c;
+                        this.data[i]["Packing_list_manual__c"] =
                             this.data[i].Prod.Packing_list_manual__c;
                     }
                     this.accountName = result.entity.accountName;
                     this.agencyProType = result.entity.agencyProType;
                     this.userWorkLocation = result.entity.userWorkLocation;
-                    this.casesSpinner = false;
+                    this.showSpinner = false;
+                    this.accountid = result.entity.accountid;
+                    // this.casesSpinner = false;
                     this.showTable = true;
                 } else {
-                    console.log('Error:' + result.errorMsg);
+                    console.log("Error:" + result.errorMsg);
                     const evt = new ShowToastEvent({
-                        title: '瑙f瀽澶辫触',
+                        title: "瑙f瀽澶辫触",
                         message: result.errorMsg,
-                        variant: 'error'
+                        variant: "error",
                     });
                     this.dispatchEvent(evt);
                 }
             })
             .catch((error) => {
-                console.log('error = ' + JSON.stringify(error));
+                console.log("error = " + JSON.stringify(error));
             });
         //榛樿灞曞紑鏍�
-        this.activeSections = ['dataExpand'];
+        this.activeSections = ["dataExpand"];
         this.showTable = false;
         this.showbutton = false;
         //init
@@ -298,86 +310,95 @@
     barcodeEntrys() {
         this.showTable = false;
         this.showbutton = false;
-        console.log('杩涘叆褰曞叆');
+        this.showSpinner = true;
+        console.log("杩涘叆褰曞叆");
         console.log(
-            'this.consumableorderdetailsRecords===>' +
-                this.consumableorderdetailsRecords
+            "this.consumableorderdetailsRecords===>" +
+            this.consumableorderdetailsRecords
         );
-        if (
-            this.barcode == '' ||
-            this.barcode == null ||
-            this.barcode == 'undefined'
-        ) {
-            this.connectedCallback();
-        }
 
         barcodeEntry({
             accountName: this.accountName,
             agencyProType: this.agencyProType,
             userWorkLocation: this.userWorkLocation,
             barcode: this.barcode,
-            consumableorderdetailsRecordsLWC: this.consumableorderdetailsRecords
+            consumableorderdetailsRecordsLWC: this.consumableorderdetailsRecords,
         })
             .then((result) => {
-                // result = JSON.parse(JSON.stringify(result));
-                this.codPageRecords = JSON.parse(result.entity.codPageRecords);
-                for (var i in this.codPageRecords) {
-                    this.codPageRecords[i]['Name__c'] =
-                        this.codPageRecords[i].Prod.Name__c;
-                    this.codPageRecords[i]['Box_Piece__c'] =
-                        this.codPageRecords[i].orderdetails2.Box_Piece__c;
-                    this.codPageRecords[i]['Bar_Code__c'] =
-                        this.codPageRecords[i].orderdetails2.Bar_Code__c;
-                }
-                this.data = JSON.parse(
-                    result.entity.consumableorderdetailsRecords
-                );
-                for (var i in this.data) {
-                    this.data[i]['Name__c'] = this.data[i].Prod.Name__c;
-                    this.data[i]['Packing_list_manual__c'] =
-                        this.data[i].Prod.Packing_list_manual__c;
-                }
-                for (var i in this.data) {
-                    if (this.data[i]['check']) {
-                        this.selectedRows.push(this.data[i].ProdId);
-                        console.log('selectedRows:' + this.selectedRows);
-                    }
-                }
-                this.iSinventory = result.entity.iSinventory;
-                console.log('iSinventory:' + this.iSinventory);
-                this.showTable = true;
-                this.showbutton = true;
+                result = JSON.parse(JSON.stringify(result));
+                console.log("result ===>" + JSON.stringify(result));
 
-                console.log(
-                    ' this.codPageRecords=11111 ' + result.entity.codPageRecords
-                );
-                console.log('result褰曞叆= ' + JSON.stringify(result));
-                console.log(
-                    'result涓婚〉鏁版嵁= ' +
-                        result.entity.consumableorderdetailsRecords
-                );
+                console.log("1111");
+                if (result.status == "Sucess") {
+                    this.codPageRecords = JSON.parse(result.entity.codPageRecords);
+                    for (var i in this.codPageRecords) {
+                        this.codPageRecords[i]["Name__c"] = this.codPageRecords[i].Prod.Name__c;
+                        this.codPageRecords[i]["Box_Piece__c"] = this.codPageRecords[i].orderdetails2.Box_Piece__c;
+                        this.codPageRecords[i]["Bar_Code__c"] = this.codPageRecords[i].orderdetails2.Bar_Code__c;
+                    }
+                    this.data = JSON.parse(result.entity.consumableorderdetailsRecords);
+                    for (var i in this.data) {
+                        this.data[i]["Name__c"] = this.data[i].Prod.Name__c;
+                        this.data[i]["Packing_list_manual__c"] = this.data[i].Prod.Packing_list_manual__c;
+                    }
+                    for (var i in this.data) {
+                        if (this.data[i]["check"]) {
+                            this.selectedRows.push(this.data[i].ProdId);
+                            console.log("selectedRows:" + this.selectedRows);
+                        }
+                    }
+                    this.iSinventory = result.entity.iSinventory;
+                    this.pandiandetailsMap = result.entity.pandiandetailsMap;
+                    this.reSet = result.entity.reSet;
+                    console.log("iSinventory:" + this.iSinventory);
+                    this.showTable = true;
+                    this.showbutton = true;
+                    this.showSpinner = false;
+                    console.log('reSet' + this.reSet);
+                    console.log('pandiandetailsMap' + this.pandiandetailsMap);
+
+
+                    console.log(
+                        "this.codPageRecords=11111 " + result.entity.codPageRecords
+                    );
+                    console.log("result褰曞叆= " + JSON.stringify(result));
+                    console.log(
+                        "result涓婚〉鏁版嵁= " + result.entity.consumableorderdetailsRecords
+                    );
+                } else {
+                    console.log('Error:' + result.errorMsg);
+                    const evt = new ShowToastEvent({
+                      title: '',
+                      message: result.msg,
+                      variant: 'error'
+                    });
+                    this.dispatchEvent(evt);
+                    this.showSpinner = false;
+                    this.showTable = true;
+                    
+                }
             })
             .catch((error) => {
-                console.log('error = ' + JSON.stringify(error));
+                console.log("error = " + JSON.stringify(error));
             });
     }
     //鑾峰彇褰撳墠杈撳叆鍊�
     handleChange(event) {
         let value = event.detail.value;
-        console.log('value' + value);
+        console.log("value" + value);
         this.barcode = value;
     }
 
     getSelectedRows(event) {
         const selectedRows = event.detail.selectedRows;
-        console.log('this.selectedRows = ' + this.selectedRows);
+        console.log("this.selectedRows = " + this.selectedRows);
         for (var i in this.data) {
-            this.data[i]['check'] = false;
+            this.data[i]["check"] = false;
         }
         for (var i in this.data) {
             for (var j in selectedRows) {
-                if (this.data[i].Id == selectedRows[j].Id) {
-                    this.data[i]['check'] = true;
+                if (this.data[i].ProdId == selectedRows[j].ProdId) {
+                    this.data[i]["check"] = true;
                 }
             }
         }
@@ -385,39 +406,38 @@
 
     //瀵煎嚭涓篶sv
     exportData() {
-        console.log('瀵煎嚭');
+        console.log("瀵煎嚭");
         // Prepare a html table
-        let doc = '<table>';
+        let doc = "<table>";
         // Add styles for the table
-        doc += '<style>';
-        doc += 'table, th, td {';
-        doc += '    border: 1px solid black;';
-        doc += '    border-collapse: collapse;';
-        doc += '}';
-        doc += '</style>';
+        doc += "<style>";
+        doc += "table, th, td {";
+        doc += "    border: 1px solid black;";
+        doc += "    border-collapse: collapse;";
+        doc += "}";
+        doc += "</style>";
         // Add all the Table Headers
-        doc += '<tr>';
+        doc += "<tr>";
         this.columnHeader.forEach((element) => {
-            doc += '<th>' + element + '</th>';
+            doc += "<th>" + element + "</th>";
         });
-        doc += '</tr>';
+        doc += "</tr>";
         // Add the data rows
         this.codPageRecords.forEach((record) => {
-            doc += '<tr>';
-            doc += '<th>' + record.Name__c + '</th>';
-            doc += '<th>' + record.Box_Piece__c + '</th>';
-            doc += '<th>' + record.Bar_Code__c + '</th>';
-            doc += '<th>' + record.DiffReason + '</th>';
-            doc += '</tr>';
+            doc += "<tr>";
+            doc += "<th>" + record.Name__c + "</th>";
+            doc += "<th>" + record.Box_Piece__c + "</th>";
+            doc += "<th>" + record.Bar_Code__c + "</th>";
+            doc += "<th>" + record.DiffReason + "</th>";
+            doc += "</tr>";
         });
-        doc += '</table>';
-        var element =
-            'data:application/vnd.ms-excel,' + encodeURIComponent(doc);
-        let downloadElement = document.createElement('a');
+        doc += "</table>";
+        var element = "data:application/vnd.ms-excel," + encodeURIComponent(doc);
+        let downloadElement = document.createElement("a");
         downloadElement.href = element;
-        downloadElement.target = '_self';
+        downloadElement.target = "_self";
         // use .csv as extension on below line if you want to export data as csv
-        downloadElement.download = '搴撳瓨鍙樺寲鏄庣粏.xls';
+        downloadElement.download = "搴撳瓨鍙樺寲鏄庣粏.xls";
         document.body.appendChild(downloadElement);
         downloadElement.click();
     }
@@ -427,76 +447,109 @@
     diffreasons(event) {
         const numberDetail = event.detail;
         // this.numberDetail = numberDetail;
-        console.log('numberDetail' + JSON.stringify(numberDetail));
+        console.log("numberDetail" + JSON.stringify(numberDetail));
         for (var i in this.data) {
-            if (this.data[i]['ProId'] == numberDetail.data.ProId) {
-                this.data[i]['DiffReason'] = numberDetail.data.DiffReason;
+            if (this.data[i]["ProId"] == numberDetail.data.ProId) {
+                this.data[i]["DiffReason"] = numberDetail.data.DiffReason;
             }
         }
-        console.log(' this.data==>' + JSON.stringify(this.data));
+        console.log(" this.data==>" + JSON.stringify(this.data));
     }
 
     saveConfirm() {
-        console.log('杩涘叆鐩樼偣纭');
-        var el = this.template.querySelector(
-            'c-lex-custom-lightning-datatable'
-        );
+        console.log("杩涘叆鐩樼偣纭");
+        console.log('reSet' + this.reSet);
+        console.log('pandiandetailsMap' + this.pandiandetailsMap);
+        var el = this.template.querySelector("c-lex-custom-lightning-datatable");
         var selected = el.getSelectedRows();
         this.selectedData = selected;
-        console.log('閫変腑鏁版嵁' + JSON.stringify(this.selectedData));
-        saveConfirm({
+        console.log("閫変腑鏁版嵁" + JSON.stringify(this.selectedData));
+        save({
             iSinventory: this.iSinventory,
-            consumableorderdetailsRecordsLWC: JSON.stringify(this.selectedData)
+            consumableorderdetailsRecordsLWC: JSON.stringify(this.selectedData),
+            accountid: this.accountid,
+            agencyProType: this.agencyProType,
+            reSet: this.reSet,
+            pandiandetailsMap: this.pandiandetailsMap
         })
             .then((result) => {
-                console.log('result = ' + JSON.stringify(result));
-                this.EditAble = true;
-                this.showcount = false;
-                // result = JSON.parse(JSON.stringify(result));
-                // console.log('result = ' + JSON.stringify(result));
+                result = JSON.parse(JSON.stringify(result));
+                console.log("result = " + JSON.stringify(result));
+                console.log("111111");
 
-                // if (result.status == 'Success') {
-                //   // let url = '/lexInventoryCount?eSetId=' + result.entity.eSetId;
-                //   // this[NavigationMixin.Navigate]({
-                //   //   type: 'standard__webPage',
-                //   //   attributes: {
-                //   //     url: url
-                //   //   }
-                //   // });
-                //   this.EditAble = true;
-                //   this.showcount = false;
-                // } else {
-                //   console.log('result.msg = ' + result.msg);
-                //   const evt = new ShowToastEvent({
-                //     title: '澶辫触',
-                //     message: result.msg,
-                //     variant: 'error'
-                //   });
-                //   this.dispatchEvent(evt);
-                // }
+                if (result.status == "Success") {
+                    let url = "/lexInventoryCount?ESetid=" + result.entity.eSetId;
+                    this[NavigationMixin.Navigate]({
+                        type: "standard__webPage",
+                        attributes: {
+                            url: url,
+                        },
+                    });
+                    console.log("Id" + this.eSetId);
+                    // this.EditAble = true;
+                    // this.showcount = false;
+                } else {
+                    console.log("result.msg = " + result.msg);
+                    const evt = new ShowToastEvent({
+                        title: "澶辫触",
+                        message: result.msg,
+                        variant: "error",
+                    });
+                    this.dispatchEvent(evt);
+                }
             })
             .catch((error) => {
-                console.log('error = ' + JSON.stringify(error));
+                console.log("error = " + JSON.stringify(error));
             });
     }
 
-    // inits(){
-    //   init({
-    //     eSetId:this.eSetId
-    //   }).then((result) => {
-    //     result = JSON.parse(JSON.stringify(result));
-    //     for(var i in result.entity.qs){
-    //       this.conId = result.entity.qs[i].Id;
-    //     }
-    //     console.log('this.conId'+typeof( this.conId));
-    //     this.detailData = JSON.parse(result.entity.consumableorderdetailsRecords);
+    inits() {
+        datainit({
+            eSetId: this.eSetId,
+        })
+            .then((result) => {
+                result = JSON.parse(JSON.stringify(result));
+                console.log('鐩樼偣涓�瑙�===>' + JSON.stringify(result));
+                for (var i in result.entity.qs) {
+                    this.conId = result.entity.qs[i].Id;
+                }
+                console.log("this.conId" + typeof this.conId);
+                this.detailData = JSON.parse(
+                    result.entity.consumableorderdetailsRecords
+                );
+                if (result.entity.ConsumableorderdetailsRecordsError != null) {
+                    this.adjustdata = JSON.parse(
+                        result.entity.ConsumableorderdetailsRecordsError
+                    );
+                    for (let i in this.detailData) {
+                        this.detailData[i].Name__c = this.detailData[i].Prod.Name__c;
+                        this.detailData[i].Count_Sum__c = this.detailData[i].orderdetails1.Count_Sum__c;
+                        this.detailData[i].inventory_sum__c = this.detailData[i].orderdetails1.inventory_sum__c;
+                        this.detailData[i].Diff__c = this.detailData[i].orderdetails1.Diff__c;
+                        this.detailData[i].Product_Refind__c = this.detailData[i].orderdetails1.Product_Refind__c;
+                        this.detailData[i].Lose_reason__c = this.detailData[i].orderdetails1.Lose_reason__c;
+                    }
+                    for (let i in this.adjustdata) {
+                        this.adjustdata[i].Name__c = this.adjustdata[i].Prod.Name__c;
+                        this.adjustdata[i].Asset_Model_No__c = this.adjustdata[i].Prod.Asset_Model_No__c;
+                        this.adjustdata[i].Lose_reason__c = this.adjustdata[i].orderdetails2.Lose_reason__c;
+                        this.adjustdata[i].Lose_Flag__c = this.adjustdata[i].orderdetails2.Lose_Flag__c;
 
-    //     console.log('result鐩樼偣Id'+JSON.stringify(this.conId));
 
-    //   })
-    //   .catch((error) => {
-    //     console.log("error = " + JSON.stringify(error));
-    //   });
 
-    // }
-}
+
+
+                    }
+
+
+
+
+                }
+                console.log("result鐩樼偣Id" + JSON.stringify(this.conId));
+                console.log("璋冩暣鏄庣粏" + JSON.stringify(this.adjustdata));
+            })
+            .catch((error) => {
+                console.log("error = " + JSON.stringify(error));
+            });
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexLoanerArrangedEmail/lexLoanerArrangedEmail.css b/force-app/main/default/lwc/lexLoanerArrangedEmail/lexLoanerArrangedEmail.css
new file mode 100644
index 0000000..ebb43d9
--- /dev/null
+++ b/force-app/main/default/lwc/lexLoanerArrangedEmail/lexLoanerArrangedEmail.css
@@ -0,0 +1,10 @@
+.exampleHolder{
+    position: relative;
+    display: inline-block;
+    width: 80px;
+    height: 80px;
+    text-align: center;
+}
+.container .uiContainerManager{
+	display: none !important;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexLoanerArrangedEmail/lexLoanerArrangedEmail.html b/force-app/main/default/lwc/lexLoanerArrangedEmail/lexLoanerArrangedEmail.html
new file mode 100644
index 0000000..3eff9e8
--- /dev/null
+++ b/force-app/main/default/lwc/lexLoanerArrangedEmail/lexLoanerArrangedEmail.html
@@ -0,0 +1,5 @@
+<template>
+    <div class="EquipmentRentalPDF" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexLoanerArrangedEmail/lexLoanerArrangedEmail.js b/force-app/main/default/lwc/lexLoanerArrangedEmail/lexLoanerArrangedEmail.js
new file mode 100644
index 0000000..3916190
--- /dev/null
+++ b/force-app/main/default/lwc/lexLoanerArrangedEmail/lexLoanerArrangedEmail.js
@@ -0,0 +1,102 @@
+import { LightningElement, track, wire, api } from 'lwc';
+import { CurrentPageReference,NavigationMixin } from 'lightning/navigation';
+import { CloseActionScreenEvent } from 'lightning/actions';
+
+import init from '@salesforce/apex/loanerArrangedEmailController.init';
+import getRentalApplyEquipmentSet from '@salesforce/apex/loanerArrangedEmailController.getRentalApplyEquipmentSet';
+import approvalCheck from '@salesforce/apex/RentalApplyWebService.approvalCheck';
+import setShipment_request from '@salesforce/apex/RentalApplyWebService.approvalCheck';
+export default class lexLoanerArrangedEmail extends LightningElement {
+	@api recordId;
+	IsLoading = true;
+
+	@wire(CurrentPageReference)
+	getStateParameters(currentPageReference) {
+		if(currentPageReference) {
+			const urlValue = currentPageReference.state.recordId;
+			if(urlValue) {
+				let str = `${urlValue}`;
+		        this.recordId = str;
+			}
+		}
+	}
+
+	connectedCallback() {
+		init({
+			recordId: this.recordId
+		}).then(result => {
+			console.log(this.recordId);
+			console.log('result==='+JSON.stringify(result));
+			if(result != null) {
+				if( result.WeiAssignedCnt > 0 ) {
+					alert("鐢宠鍗曞唴瀛樺湪鏈垎閰嶇殑閰嶅锛岃鍒嗛厤澶囧搧鎴栧垎鍓茬敵璇峰崟");
+				}else if(result.CampaignStatus == "鍙栨秷") {
+					alert("瀛︿細鍙栨秷锛屼笉鍙嚭搴撴寚绀�"); 
+				}else if (result.RaStatus == "宸插嚭搴撴寚绀�" && result.AssignedNotShipment == 0){
+					alert("鎵�鏈夌殑鍊熷嚭澶囧搧Set涓�瑙堥兘杩涜杩囧嚭搴撴寚绀轰簡");
+				}else if (result.AssignedNotShipment == 0) {
+					alert("娌℃湁鍙互鍑哄簱鎸囩ず鐨勬槑缁�"); 
+				}else if (result.DemoPurpose1 == "闀挎湡鍊熷嚭" && result.ContractPdfUpdated == 0){
+					alert("闀挎湡鍊熷嚭鏃讹紝蹇呴』鍏堜笂浼犲绾︿功"); 
+				}else if (result.RepairId != '' && (result.RepairFinalInspectionDateF != null && result.RepairFinalInspectionDateF != '') || (result.RCReturnToOffice != null && result.RCReturnToOffice != '')){
+					alert("淇悊鏈夋渶缁堟娴嬫棩鎴栦慨鐞嗗搧杩旈�佹棩锛屼笉鍙嚭搴撴寚绀�"); 
+				}else if (result.IFApproved == "true" && (result.MeetingApprovedNo == null || result.MeetingApprovedNo == "")){
+					alert("娌℃湁鍐宠鍙风殑锛屾殏涓嶈兘鍑哄��,璇锋洿鏂拌鍐充俊鎭��"); 
+				}else if (result.IFApproved == "true" && result.MeetingApprovedNo != "" && result.StatusList.indexOf(records[0].Approved_Status__c) != -1){
+					alert("宸茬敵璇峰喅瑁佷絾鍐宠鐘舵�佷笉绗﹀悎鏉′欢銆�"); 
+				}else {
+					approvalCheck({
+						rentalApplyId: this.recordId
+					}).then(res=>{
+						if (res != '1') {
+							alert(rs1);
+						} else {
+							//bp2 var rs2 = sforce.apex.execute("RentalApplyWebService", "reserve", {rentalApplyId: raid});
+							//bp2 if (rs2 != '1') {
+							//bp2 alert(rs2);
+							//bp2 } else {
+							//var rs1 = sforce.apex.execute("RentalApplyWebService", "setShipment_request", {raid : "{!Rental_Apply__c.Id}"}); 
+
+							setShipment_request({
+								raid: this.recordId
+							}).then(res=>{
+								if (res == "鐘舵�佹洿鏂板埌宸插嚭搴撴寚绀�") { 
+									alert("鐘舵�佹洿鏂板埌宸插嚭搴撴寚绀�");
+									print();
+									setTimeout(function() {
+										location.href = "/{!Rental_Apply__c.Id}"; 
+									},100);
+								}else {
+									alert(res);
+								}
+							}).catch(e=>{
+								console.log('approvalCheck==='+e);
+							})
+						}
+					}).catch(e=>{
+						console.log('setShipment_request==='+e);
+					})				
+				}
+				this.dispatchEvent(new CloseActionScreenEvent());
+			}
+		})
+	}
+
+	print() {
+		getRentalApplyEquipmentSet({
+			recordId: this.recordId
+		}).then(result => {
+			window.open("https://ocsm--partial.sandbox.lightning.force.com/apex/FixtureRentalPDF?raid=" + this.recordId + "&page=" + result);
+		})
+	}
+
+	fixDate(date){
+		var Month = fixTime(date.getMonth() + 1);
+		var Day = fixTime(date.getDate());
+		var UTC = date.toUTCString();
+		var Time = UTC.substring(UTC.indexOf(':')-2, UTC.indexOf(':')+6);
+		var Minutes = fixTime(date.getMinutes());
+		var Seconds = fixTime(date.getSeconds());
+		return date.getFullYear() + "-" + Month + "-" + Day + "T" + Time;
+	}
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexLoanerArrangedEmail/lexLoanerArrangedEmail.js-meta.xml b/force-app/main/default/lwc/lexLoanerArrangedEmail/lexLoanerArrangedEmail.js-meta.xml
new file mode 100644
index 0000000..e261be9
--- /dev/null
+++ b/force-app/main/default/lwc/lexLoanerArrangedEmail/lexLoanerArrangedEmail.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightning__RecordPage</target>
+        <target>lightning__AppPage</target>
+        <target>lightning__HomePage</target>
+        <target>lightning__RecordAction</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexLookup/LexLookup.css b/force-app/main/default/lwc/lexLookup/LexLookup.css
new file mode 100644
index 0000000..0286cad
--- /dev/null
+++ b/force-app/main/default/lwc/lexLookup/LexLookup.css
@@ -0,0 +1,30 @@
+.slds-combobox__input,
+.slds-combobox_container {
+    transition: border 0.1s linear, box-shadow 0.1 linear;
+}
+
+.slds-combobox__input {
+    box-shadow: none;
+}
+
+.slds-combobox__input.has-custom-border {
+    box-shadow: 0 0 0 2px #fff inset, 0 0 0 3px rgb(221, 219, 218) inset;
+}
+
+.slds-combobox__input.has-custom-error {
+    border: 1px solid rgb(194, 57, 52);
+    box-shadow: rgb(194, 57, 52) 0 0 0 1px inset;
+}
+
+.slds-combobox_container.has-custom-error {
+    border: none !important;
+}
+
+.slds-combobox__input.has-custom-height {
+    height: 32px !important;
+}
+
+.form-error {
+    color: rgb(194, 57, 52);
+    display: block;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexLookup/lexLookup.html b/force-app/main/default/lwc/lexLookup/lexLookup.html
new file mode 100644
index 0000000..36864a9
--- /dev/null
+++ b/force-app/main/default/lwc/lexLookup/lexLookup.html
@@ -0,0 +1,139 @@
+<template>
+    <div class={getFormElementClass}>
+        <label lwc:if={label} class={getLabelClass} for="combobox">
+            <abbr lwc:if={required} title="required" class="slds-required">*</abbr>
+            {label}
+        </label>
+        <div class="slds-form-element__control">
+            <div class={getContainerClass}>
+                <div class={getDropdownClass} aria-expanded={isListboxOpen} aria-haspopup="listbox" aria-owns="listbox"
+                    role="combobox">
+                    <!-- Search input start -->
+                    <div class={getComboboxClass} role="none">
+                        <template lwc:if={isSingleEntry}>
+                            <lightning-icon icon-name={getSelectIconName} size="small"
+                                alternative-text="Selected item icon" class={getSelectIconClass}>
+                            </lightning-icon>
+                        </template>
+
+                        <!-- Text input -->
+                        <input type="text" class={getInputClass} aria-autocomplete="list" aria-controls="listbox"
+                            aria-activedescendant={_focusedResultIndex} autocomplete="off" role="textbox" id="combobox"
+                            placeholder={placeholder} value={getInputValue} title={getInputTitle}
+                            readonly={isInputReadonly} disabled={disabled} onfocus={handleFocus} onblur={handleBlur}
+                            oninput={handleInput} onkeydown={handleKeyDown} />
+
+                        <!-- Search icon -->
+                        <lightning-icon icon-name="utility:search" size="x-small" alternative-text="Search icon"
+                            class={getSearchIconClass}></lightning-icon>
+
+                        <!-- Clear selection button icon for single entry lookups -->
+                        <template lwc:if={isSingleEntry}>
+                            <button title="Remove selected option" type="button" onclick={handleClearSelection}
+                                class={getClearSelectionButtonClass} disabled={disabled}>
+                                <lightning-icon icon-name="utility:close" size="x-small"
+                                    alternative-text="Remove selected option"
+                                    class="slds-button__icon"></lightning-icon>
+                            </button>
+                        </template>
+                    </div>
+                    <!-- Search input end -->
+
+                    <!-- Result list box start -->
+                    <div id="listbox" role="listbox" aria-label={label} onmousedown={handleComboboxMouseDown}
+                        onmouseup={handleComboboxMouseUp} class={getListboxClass}>
+                        <ul class="slds-listbox slds-listbox_vertical" role="presentation">
+                            <!-- Spinner to display when waiting for results of search -->
+                            <div lwc:if={loading}>
+                                <lightning-spinner alternative-text="Loading" size="small"></lightning-spinner>
+                            </div>
+
+                            <!-- Result list start -->
+                            <template for:each={searchResultsLocalState} for:item="item" for:index="index"
+                                lwc:if={hasResults}>
+                                <li key={item.result.id} role="presentation" class="slds-listbox__item">
+                                    <div class={item.classes} role="option" id={index} aria-label={item.result.title}
+                                        onclick={handleResultClick} data-recordid={item.result.id}>
+                                        <span class="slds-media__figure slds-listbox__option-icon">
+                                            <lightning-icon icon-name={item.result.icon} size="small"
+                                                alternative-text="Result item icon"></lightning-icon>
+                                        </span>
+                                        <span class="slds-media__body">
+                                            <span class="slds-listbox__option-text slds-listbox__option-text_entity">
+                                                <lightning-formatted-rich-text value={item.result.titleFormatted}
+                                                    disable-linkify>
+                                                </lightning-formatted-rich-text>
+                                            </span>
+                                            <span lwc:if={item.result.subtitleFormatted}
+                                                class="slds-listbox__option-meta slds-listbox__option-meta_entity">
+                                                <lightning-formatted-rich-text value={item.result.subtitleFormatted}
+                                                    disable-linkify>
+                                                </lightning-formatted-rich-text>
+                                            </span>
+                                        </span>
+                                    </div>
+                                </li>
+                            </template>
+                            <!-- Result list end -->
+
+                            <!-- No results start -->
+                            <template lwc:else>
+                                <li role="presentation">
+                                    <span class="slds-media slds-listbox__option_entity" role="option">
+                                        <span lwc:if={loading} class="slds-media__body">Loading...</span>
+                                        <span lwc:else class="slds-media__body">No results.</span>
+                                    </span>
+                                </li>
+                            </template>
+                            <!-- No results end -->
+
+                            <!-- Create new records -->
+                            <template for:each={newRecordOptions} for:item="newRecord">
+                                <li key={newRecord.value} role="presentation" class="slds-listbox__item">
+                                    <div class="slds-media slds-media_center slds-listbox__option slds-listbox__option_entity"
+                                        onclick={handleNewRecordClick} data-sobject={newRecord.value} role="option">
+                                        <span class="slds-media__figure slds-listbox__option-icon">
+                                            <lightning-icon icon-name="utility:add" size="small"
+                                                alternative-text={newRecord.label}></lightning-icon>
+                                        </span>
+                                        <span class="slds-media__body">
+                                            <span class="slds-listbox__option-text">{newRecord.label}</span>
+                                        </span>
+                                    </div>
+                                </li>
+                            </template>
+                            <!-- Create new records end -->
+                        </ul>
+                    </div>
+                    <!-- Result list box end -->
+                </div>
+            </div>
+
+            <!-- Multi-selection start -->
+            <template lwc:if={isMultiEntry}>
+                <div id="selection" role="listbox" aria-label={label} aria-orientation="horizontal">
+                    <ul class="slds-listbox slds-listbox_inline slds-var-p-top_xxx-small" role="group"
+                        aria-label="Selected options">
+                        <template for:each={selection} for:item="item">
+                            <li key={item.id} role="presentation">
+                                <lightning-pill label={item.title} title={item.title}
+                                    onremove={handleRemoveSelectedItem} name={item.id}>
+                                    <lightning-icon icon-name={item.icon}></lightning-icon>
+                                </lightning-pill>
+                            </li>
+                        </template>
+                    </ul>
+                </div>
+            </template>
+            <!-- Multi-selection end -->
+
+            <!-- Errors start -->
+            <template for:each={_errors} for:item="error">
+                <div key={error.id} role="alert" class="slds-form-element__label slds-var-m-top_xx-small form-error">
+                    {error.message}
+                </div>
+            </template>
+            <!-- Errors end -->
+        </div>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexLookup/lexLookup.js b/force-app/main/default/lwc/lexLookup/lexLookup.js
new file mode 100644
index 0000000..dceec6f
--- /dev/null
+++ b/force-app/main/default/lwc/lexLookup/lexLookup.js
@@ -0,0 +1,475 @@
+import { LightningElement, api, track } from 'lwc';
+import { NavigationMixin } from 'lightning/navigation';
+
+const SEARCH_DELAY = 300; // Wait 300 ms after user stops typing then, peform search
+
+const KEY_ARROW_UP = 38;
+const KEY_ARROW_DOWN = 40;
+const KEY_ENTER = 13;
+
+const VARIANT_LABEL_STACKED = 'label-stacked';
+const VARIANT_LABEL_INLINE = 'label-inline';
+const VARIANT_LABEL_HIDDEN = 'label-hidden';
+
+const REGEX_SOSL_RESERVED = /(\?|&|\||!|\{|\}|\[|\]|\(|\)|\^|~|\*|:|"|\+|-|\\)/g;
+const REGEX_EXTRA_TRAP = /(\$|\\)/g;
+
+export default class LexLookup extends NavigationMixin(LightningElement) {
+    // Public properties
+    @api variant = VARIANT_LABEL_STACKED;
+    @api label = '';
+    @api required = false;
+    @api disabled = false;
+    @api placeholder = '';
+    @api isMultiEntry = false;
+    @api scrollAfterNItems = null;
+    @api newRecordOptions = [];
+    @api minSearchTermLength = 2;
+
+    // Template properties
+    searchResultsLocalState = [];
+    loading = false;
+
+    // Private properties
+    _errors = [];
+    _hasFocus = false;
+    _isDirty = false;
+    _searchTerm = '';
+    _cleanSearchTerm;
+    _cancelBlur = false;
+    _searchThrottlingTimeout;
+    _searchResults = [];
+    _defaultSearchResults = [];
+    _curSelection = [];
+    _focusedResultIndex = null;
+
+    // PUBLIC FUNCTIONS AND GETTERS/SETTERS
+    @api
+    set selection(initialSelection) {
+        if (initialSelection) {
+            this._curSelection = Array.isArray(initialSelection) ? initialSelection : [initialSelection];
+            this.processSelectionUpdate(false);
+        }
+    }
+
+    get selection() {
+        return this._curSelection;
+    }
+
+    @api
+    set errors(errors) {
+        this._errors = errors;
+        // Blur component if errors are passed
+        if (this._errors?.length > 0) {
+            this.blur();
+        }
+    }
+
+    get errors() {
+        return this._errors;
+    }
+
+    @api
+    get validity() {
+        return { valid: !this._errors || this._errors.length === 0 };
+    }
+
+    @api
+    get value() {
+        return this.getSelection();
+    }
+
+    @api
+    setSearchResults(results) {
+        // Reset the spinner
+        this.loading = false;
+        // Clone results before modifying them to avoid Locker restriction
+        let resultsLocal = JSON.parse(JSON.stringify(results));
+        // Remove selected items from search results
+        const selectedIds = this._curSelection.map((sel) => sel.id);
+        resultsLocal = resultsLocal.filter((result) => selectedIds.indexOf(result.id) === -1);
+        // Format results
+        const cleanSearchTerm = this._searchTerm.replace(REGEX_SOSL_RESERVED, '.?').replace(REGEX_EXTRA_TRAP, '\\$1');
+        const regex = new RegExp(`(${cleanSearchTerm})`, 'gi');
+        this._searchResults = resultsLocal.map((result) => {
+            // Format title and subtitle
+            if (this._searchTerm.length > 0) {
+                result.titleFormatted = result.title
+                    ? result.title.replace(regex, '<strong>$1</strong>')
+                    : result.title;
+                result.subtitleFormatted = result.subtitle
+                    ? result.subtitle.replace(regex, '<strong>$1</strong>')
+                    : result.subtitle;
+            } else {
+                result.titleFormatted = result.title;
+                result.subtitleFormatted = result.subtitle;
+            }
+            // Add icon if missing
+            if (typeof result.icon === 'undefined') {
+                result.icon = 'standard:default';
+            }
+            return result;
+        });
+        // Add local state and dynamic class to search results
+        this._focusedResultIndex = null;
+        const self = this;
+        this.searchResultsLocalState = this._searchResults.map((result, i) => {
+            return {
+                result,
+                state: {},
+                get classes() {
+                    let cls = 'slds-media slds-media_center slds-listbox__option slds-listbox__option_entity';
+                    if (result.subtitleFormatted) {
+                        cls += ' slds-listbox__option_has-meta';
+                    }
+                    if (self._focusedResultIndex === i) {
+                        cls += ' slds-has-focus';
+                    }
+                    return cls;
+                }
+            };
+        });
+    }
+
+    @api
+    getSelection() {
+        return this._curSelection;
+    }
+
+    @api
+    setDefaultResults(results) {
+        this._defaultSearchResults = [...results];
+        if (this._searchResults.length === 0) {
+            this.setSearchResults(this._defaultSearchResults);
+        }
+    }
+
+    @api
+    blur() {
+        this.template.querySelector('input')?.blur();
+    }
+
+    // INTERNAL FUNCTIONS
+
+    updateSearchTerm(newSearchTerm) {
+        this._searchTerm = newSearchTerm;
+
+        // Compare clean new search term with current one and abort if identical
+        const newCleanSearchTerm = newSearchTerm.trim().replace(REGEX_SOSL_RESERVED, '?').toLowerCase();
+        if (this._cleanSearchTerm === newCleanSearchTerm) {
+            return;
+        }
+
+        // Save clean search term
+        this._cleanSearchTerm = newCleanSearchTerm;
+
+        // Ignore search terms that are too small after removing special characters
+        if (newCleanSearchTerm.replace(/\?/g, '').length < this.minSearchTermLength) {
+            this.setSearchResults(this._defaultSearchResults);
+            return;
+        }
+
+        // Apply search throttling (prevents search if user is still typing)
+        if (this._searchThrottlingTimeout) {
+            clearTimeout(this._searchThrottlingTimeout);
+        }
+        // eslint-disable-next-line @lwc/lwc/no-async-operation
+        this._searchThrottlingTimeout = setTimeout(() => {
+            // Send search event if search term is long enougth
+            if (this._cleanSearchTerm.length >= this.minSearchTermLength) {
+                // Display spinner until results are returned
+                this.loading = true;
+
+                const searchEvent = new CustomEvent('search', {
+                    detail: {
+                        searchTerm: this._cleanSearchTerm,
+                        rawSearchTerm: newSearchTerm,
+                        selectedIds: this._curSelection.map((element) => element.id)
+                    }
+                });
+                this.dispatchEvent(searchEvent);
+            }
+            this._searchThrottlingTimeout = null;
+        }, SEARCH_DELAY);
+    }
+
+    isSelectionAllowed() {
+        if (this.isMultiEntry) {
+            return true;
+        }
+        return !this.hasSelection();
+    }
+
+    hasSelection() {
+        return this._curSelection.length > 0;
+    }
+
+    processSelectionUpdate(isUserInteraction) {
+        // Reset search
+        this._cleanSearchTerm = '';
+        this._searchTerm = '';
+        this.setSearchResults([...this._defaultSearchResults]);
+        // Indicate that component was interacted with
+        this._isDirty = isUserInteraction;
+        // Blur input after single select lookup selection
+        if (!this.isMultiEntry && this.hasSelection()) {
+            this._hasFocus = false;
+        }
+        // If selection was changed by user, notify parent components
+        if (isUserInteraction) {
+            const selectedIds = this._curSelection.map((sel) => sel.id);
+            this.dispatchEvent(new CustomEvent('selectionchange', { detail: selectedIds }));
+        }
+    }
+
+    // EVENT HANDLING
+
+    handleInput(event) {
+        // Prevent action if selection is not allowed
+        if (!this.isSelectionAllowed()) {
+            return;
+        }
+        this.updateSearchTerm(event.target.value);
+    }
+
+    handleKeyDown(event) {
+        if (this._focusedResultIndex === null) {
+            this._focusedResultIndex = -1;
+        }
+        if (event.keyCode === KEY_ARROW_DOWN) {
+            // If we hit 'down', select the next item, or cycle over.
+            this._focusedResultIndex++;
+            if (this._focusedResultIndex >= this._searchResults.length) {
+                this._focusedResultIndex = 0;
+            }
+            event.preventDefault();
+        } else if (event.keyCode === KEY_ARROW_UP) {
+            // If we hit 'up', select the previous item, or cycle over.
+            this._focusedResultIndex--;
+            if (this._focusedResultIndex < 0) {
+                this._focusedResultIndex = this._searchResults.length - 1;
+            }
+            event.preventDefault();
+        } else if (event.keyCode === KEY_ENTER && this._hasFocus && this._focusedResultIndex >= 0) {
+            // If the user presses enter, and the box is open, and we have used arrows,
+            // treat this just like a click on the listbox item
+            const selectedId = this._searchResults[this._focusedResultIndex].id;
+            this.template.querySelector(`[data-recordid="${selectedId}"]`).click();
+            event.preventDefault();
+        }
+    }
+
+    handleResultClick(event) {
+        const recordId = event.currentTarget.dataset.recordid;
+
+        // Save selection
+        const selectedItem = this._searchResults.find((result) => result.id === recordId);
+        if (!selectedItem) {
+            return;
+        }
+        const newSelection = [...this._curSelection];
+        newSelection.push(selectedItem);
+        this._curSelection = newSelection;
+
+        // Process selection update
+        this.processSelectionUpdate(true);
+    }
+
+    handleComboboxMouseDown(event) {
+        const mainButton = 0;
+        if (event.button === mainButton) {
+            this._cancelBlur = true;
+        }
+    }
+
+    handleComboboxMouseUp() {
+        this._cancelBlur = false;
+        // Re-focus to text input for the next blur event
+        this.template.querySelector('input').focus();
+    }
+
+    handleFocus() {
+        // Prevent action if selection is not allowed
+        if (!this.isSelectionAllowed()) {
+            return;
+        }
+        this._hasFocus = true;
+        this._focusedResultIndex = null;
+    }
+
+    handleBlur() {
+        // Prevent action if selection is either not allowed or cancelled
+        if (!this.isSelectionAllowed() || this._cancelBlur) {
+            return;
+        }
+        const blurEvent = new CustomEvent('blur', {
+            detail: {}
+        });
+        this.dispatchEvent(blurEvent);
+        this._hasFocus = false;
+        if(!this.hasSelection()){
+            this._searchTerm = '';
+        }
+    }
+
+    handleRemoveSelectedItem(event) {
+        if (this.disabled) {
+            return;
+        }
+        const recordId = event.currentTarget.name;
+        this._curSelection = this._curSelection.filter((item) => item.id !== recordId);
+        // Process selection update
+        this.processSelectionUpdate(true);
+    }
+
+    handleClearSelection() {
+        this._curSelection = [];
+        this._hasFocus = false;
+        // Process selection update
+        this.processSelectionUpdate(true);
+    }
+
+    handleNewRecordClick(event) {
+        const objectApiName = event.currentTarget.dataset.sobject;
+        const selection = this.newRecordOptions.find((option) => option.value === objectApiName);
+
+        const preNavigateCallback = selection.preNavigateCallback
+            ? selection.preNavigateCallback
+            : () => Promise.resolve();
+        preNavigateCallback(selection).then(() => {
+            this[NavigationMixin.Navigate]({
+                type: 'standard__objectPage',
+                attributes: {
+                    objectApiName,
+                    actionName: 'new'
+                },
+                state: {
+                    defaultFieldValues: selection.defaults
+                }
+            });
+        });
+    }
+
+    // STYLE EXPRESSIONS
+
+    get isSingleEntry() {
+        return !this.isMultiEntry;
+    }
+
+    get isListboxOpen() {
+        const isSearchTermValid = this._cleanSearchTerm && this._cleanSearchTerm.length >= this.minSearchTermLength;
+        return (
+            this._hasFocus &&
+            this.isSelectionAllowed() &&
+            (isSearchTermValid || this.hasResults || this.newRecordOptions?.length > 0)
+        );
+    }
+
+    get hasResults() {
+        return this._searchResults.length > 0;
+    }
+
+    get getFormElementClass() {
+        return this.variant === VARIANT_LABEL_INLINE
+            ? 'slds-form-element slds-form-element_horizontal'
+            : 'slds-form-element';
+    }
+
+    get getLabelClass() {
+        return this.variant === VARIANT_LABEL_HIDDEN
+            ? 'slds-form-element__label slds-assistive-text'
+            : 'slds-form-element__label';
+    }
+
+    get getContainerClass() {
+        let css = 'slds-combobox_container ';
+        if (this._errors.length > 0) {
+            css += 'has-custom-error';
+        }
+        return css;
+    }
+
+    get getDropdownClass() {
+        let css = 'slds-combobox slds-dropdown-trigger slds-dropdown-trigger_click ';
+        if (this.isListboxOpen) {
+            css += 'slds-is-open';
+        }
+        return css;
+    }
+
+    get getInputClass() {
+        let css = 'slds-input slds-combobox__input has-custom-height ';
+        if (this._hasFocus && this.hasResults) {
+            css += 'slds-has-focus ';
+        }
+        if (this._errors.length > 0 || (this._isDirty && this.required && !this.hasSelection())) {
+            css += 'has-custom-error ';
+        }
+        if (!this.isMultiEntry) {
+            css += 'slds-combobox__input-value ' + (this.hasSelection() ? 'has-custom-border' : '');
+        }
+        return css;
+    }
+
+    get getComboboxClass() {
+        let css = 'slds-combobox__form-element slds-input-has-icon ';
+        if (this.isMultiEntry) {
+            css += 'slds-input-has-icon_right';
+        } else {
+            css += this.hasSelection() ? 'slds-input-has-icon_left-right' : 'slds-input-has-icon_right';
+        }
+        return css;
+    }
+
+    get getSearchIconClass() {
+        let css = 'slds-input__icon slds-input__icon_right ';
+        if (!this.isMultiEntry) {
+            css += this.hasSelection() ? 'slds-hide' : '';
+        }
+        return css;
+    }
+
+    get getClearSelectionButtonClass() {
+        return (
+            'slds-button slds-button_icon slds-input__icon slds-input__icon_right ' +
+            (this.hasSelection() ? '' : 'slds-hide')
+        );
+    }
+
+    get getSelectIconName() {
+        return this.hasSelection() ? this._curSelection[0].icon : 'standard:default';
+    }
+
+    get getSelectIconClass() {
+        return 'slds-combobox__input-entity-icon ' + (this.hasSelection() ? '' : 'slds-hide');
+    }
+
+    get getInputValue() {
+        if (this.isMultiEntry) {
+            return this._searchTerm;
+        }
+        return this.hasSelection() ? this._curSelection[0].title : this._searchTerm;
+    }
+
+    get getInputTitle() {
+        if (this.isMultiEntry) {
+            return '';
+        }
+        return this.hasSelection() ? this._curSelection[0].title : '';
+    }
+
+    get getListboxClass() {
+        return (
+            'slds-dropdown ' +
+            (this.scrollAfterNItems ? `slds-dropdown_length-with-icon-${this.scrollAfterNItems} ` : '') +
+            'slds-dropdown_fluid'
+        );
+    }
+
+    get isInputReadonly() {
+        if (this.isMultiEntry) {
+            return false;
+        }
+        return this.hasSelection();
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexLookup/lexLookup.js-meta.xml b/force-app/main/default/lwc/lexLookup/lexLookup.js-meta.xml
new file mode 100644
index 0000000..f8c5cb4
--- /dev/null
+++ b/force-app/main/default/lwc/lexLookup/lexLookup.js-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>56.0</apiVersion>
+    <isExposed>false</isExposed>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexLoseBid/lexLoseBid.css b/force-app/main/default/lwc/lexLoseBid/lexLoseBid.css
new file mode 100644
index 0000000..fe3c9f1
--- /dev/null
+++ b/force-app/main/default/lwc/lexLoseBid/lexLoseBid.css
@@ -0,0 +1,18 @@
+/*
+ * @Description: 
+ * @version: 
+ * @Author: chen jing wu
+ * @Date: 2023-04-13 10:31:18
+ * @LastEditors: chen jing wu
+ * @LastEditTime: 2023-04-13 10:46:09
+ */
+.lexLoseBidHolder{
+    position: relative;
+    display: inline-block;
+    width: 80px;
+    height: 80px;
+    text-align: center;
+}
+.container .uiContainerManager{
+	display: none !important;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexLoseBid/lexLoseBid.html b/force-app/main/default/lwc/lexLoseBid/lexLoseBid.html
new file mode 100644
index 0000000..6c30e33
--- /dev/null
+++ b/force-app/main/default/lwc/lexLoseBid/lexLoseBid.html
@@ -0,0 +1,6 @@
+<template>
+    <div class="lexLoseBidHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+        <lightning-button label="Show Toast" onclick={ShowToastEvent}></lightning-button>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexLoseBid/lexLoseBid.js b/force-app/main/default/lwc/lexLoseBid/lexLoseBid.js
new file mode 100644
index 0000000..db1b2da
--- /dev/null
+++ b/force-app/main/default/lwc/lexLoseBid/lexLoseBid.js
@@ -0,0 +1,89 @@
+import { api, wire,LightningElement } from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import { updateRecord } from 'lightning/uiRecordApi';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+import init  from '@salesforce/apex/OpportunityLightingButtonController.initForLoseBidButton';
+import updateForLoseBidButton  from '@salesforce/apex/OpportunityLightingButtonController.updateForLoseBidButton';
+import queryForLexLoseBidButton  from '@salesforce/apex/OpportunityLightingButtonController.queryForLoseBidButton';
+export default class LexLoseBid extends LightningElement {
+    @api recordId;
+    ifOpenBid;
+    IsLoading = true;
+    @wire(CurrentPageReference)
+    getStateParameters(currentPageReference) {
+            console.log(111);
+            console.log(currentPageReference);
+
+        if (currentPageReference) {
+          const urlValue = currentPageReference.state.recordId;
+          if (urlValue) {
+            let str = `${urlValue}`;
+            console.log("str");
+            console.log(str);
+            this.recordId = str;
+          }
+        }
+    }
+    connectedCallback(){
+        init({
+            recordId: this.recordId
+        }).then(result=>{
+            console.log(result);
+            this.ifOpenBid = result.ifOpenBid;
+            this.lexLoseBid();
+        }).catch(error=>{
+            console.log("error");
+            console.log(error);
+        })
+    }
+    lexLoseBid(){
+        console.log("query start");
+        queryForLexLoseBidButton({
+            recordId: this.recordId
+        }).then(result=>{
+            console.log("query end");
+            console.log(result);
+            var flag = true;
+            var taskslist = result;
+            for(var task of taskslist ){
+                if(task.taskStatus__c != '04 鍙栨秷'){
+                flag = false;
+            }
+            }
+            if(this.ifOpenBid == '闈炲叕寮�鎷涙爣'){
+                flag = false;
+            }
+    
+            if(flag){
+                this.showToast("鏉′欢涓嶇鍚堬紝涓嶅彲鎿嶄綔","error");
+            }else{
+                if (window.confirm('鏄惁纭绔炰簤瀵规墜涓爣锛�')) {
+                    updateForLoseBidButton({
+                        recordId: this.recordId
+                    }).then(result=>{
+                        if (result) {
+                            this.showToast(result,"error");
+                        }else{
+                            this.IsLoading = false;
+                            this.updateRecordView(this.recordId);
+                            this.showToast("鎿嶄綔鎴愬姛锛�","success");
+                        }
+                    })  
+                }
+            }
+        });    
+    }
+    showToast(msg,type) {
+        const event = new ShowToastEvent({
+            title: '',
+            message: msg,
+            variant: type
+        });
+        this.dispatchEvent(event);
+        this.dispatchEvent(new CloseActionScreenEvent());
+    }
+    updateRecordView(recordId) {
+        updateRecord({fields: { Id: recordId }});
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexLoseBid/lexLoseBid.js-meta.xml b/force-app/main/default/lwc/lexLoseBid/lexLoseBid.js-meta.xml
new file mode 100644
index 0000000..3392981
--- /dev/null
+++ b/force-app/main/default/lwc/lexLoseBid/lexLoseBid.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+	<isExposed>true</isExposed>
+	<targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexLoseReport/lexLoseReport.css b/force-app/main/default/lwc/lexLoseReport/lexLoseReport.css
new file mode 100644
index 0000000..93da52a
--- /dev/null
+++ b/force-app/main/default/lwc/lexLoseReport/lexLoseReport.css
@@ -0,0 +1,10 @@
+.lexLoseReportHolder{
+    position: relative;
+    display: inline-block;
+    width: 80px;
+    height: 80px;
+    text-align: center;
+}
+.container .uiContainerManager{
+	display: none !important;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexLoseReport/lexLoseReport.html b/force-app/main/default/lwc/lexLoseReport/lexLoseReport.html
new file mode 100644
index 0000000..d7e25f9
--- /dev/null
+++ b/force-app/main/default/lwc/lexLoseReport/lexLoseReport.html
@@ -0,0 +1,6 @@
+<template>
+    <div class="lexLoseReportHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+        <lightning-button label="Show Toast" onclick={ShowToastEvent}></lightning-button>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexLoseReport/lexLoseReport.js b/force-app/main/default/lwc/lexLoseReport/lexLoseReport.js
new file mode 100644
index 0000000..7b167ea
--- /dev/null
+++ b/force-app/main/default/lwc/lexLoseReport/lexLoseReport.js
@@ -0,0 +1,102 @@
+/*
+ * @Description: 
+ * @version: 
+ * @Author: chen jing wu
+ * @Date: 2023-04-14 10:16:19
+ * @LastEditors: chen jing wu
+ * @LastEditTime: 2023-04-14 10:41:46
+ */
+import { api, wire,LightningElement } from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import { updateRecord } from 'lightning/uiRecordApi';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+import init  from '@salesforce/apex/OpportunityLightingButtonController.initForLostReportButton';
+export default class LexLoseReport extends LightningElement {
+    @api recordId;
+    stageName;
+    sapSendOK;
+    cntLostCancelReport;
+    name;
+    salesAssistantName;
+    salesAssistantID;
+    managerName;
+    salesManagerDepartmentID;
+    salesOwnerBuchang;
+    salesOwnerBuchangID;
+    IsLoading = true;
+    @wire(CurrentPageReference)
+    getStateParameters(currentPageReference) {
+            console.log(111);
+            console.log(currentPageReference);
+
+        if (currentPageReference) {
+          const urlValue = currentPageReference.state.recordId;
+          if (urlValue) {
+            let str = `${urlValue}`;
+            console.log("str");
+            console.log(str);
+            this.recordId = str;
+          }
+        }
+    }
+    connectedCallback(){
+        init({
+            recordId: this.recordId
+        }).then(result=>{
+            this.stageName = result.stageName;
+            this.sapSendOK = result.sapSendOK;
+            this.cntLostCancelReport = result.cntLostCancelReport;
+            this.name = result.name;
+            this.salesAssistantID = result.salesAssistantID;
+            this.salesAssistantName = result.salesAssistantName;
+            this.managerName = result.managerName;
+            this.salesManagerDepartmentID = result.salesManagerDepartmentID;
+            this.salesOwnerBuchang = result.salesOwnerBuchang;
+            this.salesOwnerBuchangID = result.salesOwnerBuchangID;
+            this.loseReport();
+        })
+    }
+    loseReport(){
+        // js銇牬鍚堛�佺炕瑷炽仌銈屻仧鍊ゃ亴銇с倠銇仹銆佽娉ㄦ剰
+        if (this.stageName != '寮曞悎'
+        && this.stageName != '璇环'
+        ) {
+            this.showToast("鐘舵��1:" + this.stageName + "銆佷笉鑳藉仛 澶卞崟 浜嗭紒","error");
+        }
+        else if (this.sapSendOK == '1') {
+            this.showToast("宸茬粡涓婁紶SAP銆佷笉鑳藉仛 澶卞崟 浜嗭紒","error");
+        }
+        else if (this.cntLostCancelReport > 0) {
+            this.showToast("璇环宸茬粡鏈� 鍙栨秷锛忓け鍗曟姤鍛� 浜嗭紒","error");
+        }
+        //else if({!Not(ISBLANK(Opportunity.Bidding_Project_Name_Bid__c))} && //'{!Opportunity.InfoTypeBid__c}' != '3锛氱粨鏋�' ){
+        //alert("鍏宠仈鎷涙姇鏍囬」鐩殑璇环锛屽彧鑳藉湪鏈夌粨鏋滃悗鍋氬け鍗曟姤鍛婏紒");
+        //}
+        else {
+            location.href = '/a1U/e?retURL=%2F' + this.recordId +
+            '&RecordType=01210000000R4hM' +
+            '&CF00N10000004lbGT=' + this.name +
+            '&CF00N10000004lbGT_lkid=' + this.recordId +
+            '&CF00N10000006QShg=' + this.salesAssistantName +
+            '&CF00N10000006QShg_lkid=' + this.salesAssistantID +
+            '&CF00N10000006QShq=' + this.managerName +
+            '&CF00N10000006QShq_lkid=' + this.salesManagerDepartmentID +
+            '&CF00N10000006QShb=' + this.salesOwnerBuchang +
+            '&CF00N10000006QShb_lkid=' + this.salesOwnerBuchangID +
+            '';
+        }
+        this.dispatchEvent(new CloseActionScreenEvent());
+    }
+    showToast(msg,type) {
+        const event = new ShowToastEvent({
+            title: '',
+            message: msg,
+            variant: type
+        });
+        this.dispatchEvent(event);
+    }
+    updateRecordView(recordId) {
+        updateRecord({fields: { Id: recordId }});
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexLoseReport/lexLoseReport.js-meta.xml b/force-app/main/default/lwc/lexLoseReport/lexLoseReport.js-meta.xml
new file mode 100644
index 0000000..3392981
--- /dev/null
+++ b/force-app/main/default/lwc/lexLoseReport/lexLoseReport.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+	<isExposed>true</isExposed>
+	<targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexLostReturnDeliverySlip/lexLostReturnDeliverySlip.css b/force-app/main/default/lwc/lexLostReturnDeliverySlip/lexLostReturnDeliverySlip.css
new file mode 100644
index 0000000..af18c76
--- /dev/null
+++ b/force-app/main/default/lwc/lexLostReturnDeliverySlip/lexLostReturnDeliverySlip.css
@@ -0,0 +1,11 @@
+.Holder{
+	position: relative;
+	display: inline-block;
+	width: 80px;
+	height: 80px;
+	text-align: center;
+}
+
+.container .uiContainerManager{
+	display : none !important;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexLostReturnDeliverySlip/lexLostReturnDeliverySlip.html b/force-app/main/default/lwc/lexLostReturnDeliverySlip/lexLostReturnDeliverySlip.html
new file mode 100644
index 0000000..2ef2898
--- /dev/null
+++ b/force-app/main/default/lwc/lexLostReturnDeliverySlip/lexLostReturnDeliverySlip.html
@@ -0,0 +1,5 @@
+<template>
+	<div class="Holder" if:true={IsLoading}>
+      	<lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+  	</div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexLostReturnDeliverySlip/lexLostReturnDeliverySlip.js b/force-app/main/default/lwc/lexLostReturnDeliverySlip/lexLostReturnDeliverySlip.js
new file mode 100644
index 0000000..5d79272
--- /dev/null
+++ b/force-app/main/default/lwc/lexLostReturnDeliverySlip/lexLostReturnDeliverySlip.js
@@ -0,0 +1,39 @@
+import { LightningElement, track, wire, api } from 'lwc';
+import {CurrentPageReference} from 'lightning/navigation';
+import { CloseActionScreenEvent } from 'lightning/actions';
+
+export default class lexLostReturnDeliverySlip extends LightningElement {
+	@api recordId;
+  
+
+    @wire(CurrentPageReference)
+	getStateParameters(currentPageReference){
+		console.log("杩涘叆椤甸潰");
+		console.log(currentPageReference);
+		if(currentPageReference){
+			const urvalue=currentPageReference.state.recordId;
+			if(urvalue){
+				let str=`${urvalue}`;
+				console.log('str');
+				console.log(str);
+				this.recordId=str;
+			}
+		}
+	}
+
+	connectedCallback(){
+
+		this.cancelSubmit().then(res=>{
+			this.IsLoading=false;
+			this.dispatchEvent(new CloseActionScreenEvent());
+		});
+	}
+
+	async cancelSubmit(){
+		window.open('/apex/Lost_Return_DeliverySlip?id='+this.recordId,'LostReturnDeliverySlip', 'width=600,height=200');
+	}
+
+	//old js
+	// window.open('/apex/Lost_Return_DeliverySlip?id={!TransferApply__c.Id}');
+
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexLostReturnDeliverySlip/lexLostReturnDeliverySlip.js-meta.xml b/force-app/main/default/lwc/lexLostReturnDeliverySlip/lexLostReturnDeliverySlip.js-meta.xml
new file mode 100644
index 0000000..d8dfadb
--- /dev/null
+++ b/force-app/main/default/lwc/lexLostReturnDeliverySlip/lexLostReturnDeliverySlip.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lexLostReturnDeliverySlip">
+    <apiVersion>51.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightning__AppPage</target>
+        <target>lightning__RecordPage</target>
+        <target>lightning__HomePage</target>
+        <target>lightning__RecordAction</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexMailMessege/lexMailMessege.html b/force-app/main/default/lwc/lexMailMessege/lexMailMessege.html
new file mode 100644
index 0000000..d044dbb
--- /dev/null
+++ b/force-app/main/default/lwc/lexMailMessege/lexMailMessege.html
@@ -0,0 +1,5 @@
+<template>
+    <div class="exampleHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexMailMessege/lexMailMessege.js b/force-app/main/default/lwc/lexMailMessege/lexMailMessege.js
new file mode 100644
index 0000000..cf78f1a
--- /dev/null
+++ b/force-app/main/default/lwc/lexMailMessege/lexMailMessege.js
@@ -0,0 +1,89 @@
+import {
+    LightningElement,
+    wire,
+    api
+} from 'lwc';
+import {
+    CurrentPageReference
+} from "lightning/navigation";
+import {
+    CloseActionScreenEvent
+} from 'lightning/actions';
+import init from '@salesforce/apex/otherButtonRepairController.init';
+export default class LexMailMessege extends LightningElement {
+    @api recordId;
+    str;
+    IsLoading = true;
+    Id;;
+    InchargeStaffEmailC;
+    Name;
+    HPNameC;
+    DeliveredProductC;
+    RepairProductSerialNoC;
+    ServiceRepairNoC;
+    RepairFirstestimatedDateC;
+    RepairEstimatedDateC;
+    RCInformationC;
+    userEmail;
+
+    @wire(CurrentPageReference)
+    getStateParameters(currentPageReference) {
+        if (currentPageReference) {
+            const urlValue = currentPageReference.state.recordId;
+            if (urlValue) {
+                let str = `${urlValue}`;
+                this.recordId = str;
+            }
+        }
+    }
+
+    connectedCallback() {
+        console.log(this.recordId);
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            console.log(result);
+            if (result != null) {
+                this.IsLoading = false;
+                this.Id = result.Id;
+                this.InchargeStaffEmailC = result.InchargeStaffEmailC;
+                this.Name = result.Name;
+                this.HPNameC = result.HPNameC;
+                this.DeliveredProductC = result.DeliveredProductC;
+                this.RepairProductSerialNoC = result.RepairProductSerialNoC;
+                this.ServiceRepairNoC = result.ServiceRepairNoC;
+                this.RepairFirstestimatedDateC = result.RepairFirstestimatedDateC;
+                this.RepairEstimatedDateC = result.RepairEstimatedDateC;
+                this.RCInformationC = result.RCInformationC;
+                this.userEmail = result.userEmail;
+
+                this.mailMessege();
+                this.dispatchEvent(new CloseActionScreenEvent());
+            }
+        }).catch(error => {
+            console.log(error);
+        }).finally(() => {
+
+        });
+    }
+
+    // 鎶ヤ环闄勪欢鏇存柊鐨勯偖浠堕�氱煡
+    mailMessege() {
+        var Link = "https://ocsm--partial.sandbox.my.salesforce.com/" + this.Id;
+        console.log(Link);
+
+        location.href = 'mailto:' + this.InchargeStaffEmailC +
+            '?bcc=' + this.userEmail +
+            '&subject=銆愭姤浠烽檮浠舵洿鏂伴�氱煡:' + this.Name + '銆�' + this.HPNameC + this.DeliveredProductC + this.RepairProductSerialNoC + this.ServiceRepairNoC +
+            '&body=鍏堢敓/濂冲+%0D%0A' +
+            '%0D%0A' +
+            '鍏充簬涓婚鐨勪慨鐞嗭紝淇悊鎶ヤ环鐨勯檮浠舵洿鏂板ソ浜�%0D%0A' +
+            '璇风‘璁ゅ苟璺熻繘涓�涓�%0D%0A' +
+            '%0D%0A' +
+            '鍒濇鎶ヤ环鏃ワ細' + this.RepairFirstestimatedDateC + '%0D%0A' +
+            '姝ゆ鎶ヤ环鏃ワ細' + this.RepairEstimatedDateC + '%0D%0A' +
+            '%0D%0A' +
+            'RC鑱旂粶浜嬮」锛�' + this.RCInformationC + '%0D%0A' +
+            '%0D%0A' + Link + '';
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexMailMessege/lexMailMessege.js-meta.xml b/force-app/main/default/lwc/lexMailMessege/lexMailMessege.js-meta.xml
new file mode 100644
index 0000000..3392981
--- /dev/null
+++ b/force-app/main/default/lwc/lexMailMessege/lexMailMessege.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+	<isExposed>true</isExposed>
+	<targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexMainFixtureSelect/lexMainFixtureSelect.css b/force-app/main/default/lwc/lexMainFixtureSelect/lexMainFixtureSelect.css
new file mode 100644
index 0000000..635bc6c
--- /dev/null
+++ b/force-app/main/default/lwc/lexMainFixtureSelect/lexMainFixtureSelect.css
@@ -0,0 +1,22 @@
+.outerBorderCss{
+    border: 1px solid #D4D4D4;
+    border-radius : 5px;
+    border-top : 3px solid #565959;
+}
+.borderCss{
+    border: 1px solid #D4D4D4;
+    border-radius : 5px;
+    margin-bottom : 7px;
+    border-top : 3px solid #565959;
+}
+.headerDorderCss{
+    border-top: 1px solid #565959;
+    border-bottom: 1px solid #D4D4D4;
+    padding:3px;
+}
+.centerCss{
+    text-align: center;
+}
+.centerCss .left{
+    margin-left: 100px;
+}/* sample css file */
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexMainFixtureSelect/lexMainFixtureSelect.html b/force-app/main/default/lwc/lexMainFixtureSelect/lexMainFixtureSelect.html
new file mode 100644
index 0000000..49a10f7
--- /dev/null
+++ b/force-app/main/default/lwc/lexMainFixtureSelect/lexMainFixtureSelect.html
@@ -0,0 +1,5 @@
+<template>
+    <div class="sisToOPDHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexMainFixtureSelect/lexMainFixtureSelect.js b/force-app/main/default/lwc/lexMainFixtureSelect/lexMainFixtureSelect.js
new file mode 100644
index 0000000..4145e2e
--- /dev/null
+++ b/force-app/main/default/lwc/lexMainFixtureSelect/lexMainFixtureSelect.js
@@ -0,0 +1,33 @@
+import { LightningElement, track, wire, api } from 'lwc';
+import { CurrentPageReference,NavigationMixin } from 'lightning/navigation';
+import { CloseActionScreenEvent } from 'lightning/actions';
+
+import init from '@salesforce/apex/MainFixtureSelectButtonController.init';
+export default class lexMainFixtureSelect extends LightningElement {
+	@api recordId;
+	IsLoading = true;
+
+	@wire(CurrentPageReference)
+	getStateParameters(currentPageReference){
+		if(currentPageReference) {
+			const urlValue = currentPageReference.state.recordId;
+			if(urlValue) {
+				let str = `${urlValue}`;
+		        this.recordId = str;
+			}
+		}
+	}
+
+
+	connectedCallback(){
+		init({
+			recordId:this.recordId
+		}).then(res=>{
+			window.open("/apex/MainFixtureSelect?pt_recid=" + res, "_top");
+			this.dispatchEvent(new CloseActionScreenEvent());
+		}).catch(err=>{
+			console.log(err);
+			this.dispatchEvent(new CloseActionScreenEvent());
+		})
+	}
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexMainFixtureSelect/lexMainFixtureSelect.js-meta.xml b/force-app/main/default/lwc/lexMainFixtureSelect/lexMainFixtureSelect.js-meta.xml
new file mode 100644
index 0000000..74849f3
--- /dev/null
+++ b/force-app/main/default/lwc/lexMainFixtureSelect/lexMainFixtureSelect.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lexOCMSubmit">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightning__RecordPage</target>
+        <target>lightning__AppPage</target>
+        <target>lightning__HomePage</target>
+        <target>lightning__RecordAction</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexNewRepairLWC/lexNewRepairLWC.css b/force-app/main/default/lwc/lexNewRepairLWC/lexNewRepairLWC.css
new file mode 100644
index 0000000..fa4ac70
--- /dev/null
+++ b/force-app/main/default/lwc/lexNewRepairLWC/lexNewRepairLWC.css
@@ -0,0 +1,9 @@
+.Narrow{
+	padding: 20px;
+}
+.searchField,.searchField .input-text{
+	/*display: flex;*/
+}
+.searchField .slds-combobox_container{
+    width: 160px !important;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexNewRepairLWC/lexNewRepairLWC.html b/force-app/main/default/lwc/lexNewRepairLWC/lexNewRepairLWC.html
new file mode 100644
index 0000000..52d09d9
--- /dev/null
+++ b/force-app/main/default/lwc/lexNewRepairLWC/lexNewRepairLWC.html
@@ -0,0 +1,114 @@
+<template>
+  <!-- <lightning-card  variant="Narrow"> -->
+  	<div class="exampleHolder" if:true={isLoading}>
+        <lightning-spinner alternative-text="Loading" size="small"></lightning-spinner>
+    </div>
+	<!-- slds-modal__container -->
+	<div class="">
+		<!-- <header class="slds-modal__header">
+			<button class="slds-button slds-button_icon slds-modal__close slds-button_icon-inverse"
+			title="Close" onclick={closeNewObjectModal}>
+				<lightning-icon icon-name="utility:close" alternative-text="close"
+				variant="inverse" size="small"></lightning-icon>
+				<span class="slds-assistive-text">Close</span>
+			</button>
+			<h2 id="modal-heading-01" class="slds-text-heading_medium slds-hyphenate">
+			{modalHeader} : {selectedRecordType}
+			</h2>
+		</header> -->
+		<div class="slds-modal__content slds-p-around_medium" id="modal-content-id-2">
+			<!-- Repair__c   onsubmit={handleSubmit}-->
+			<lightning-record-edit-form onload={handleRecordEditFormLoad}  onsuccess={successNewRecordInsert} object-api-name='{objectName}'
+			record-type-id={recordId}>
+				<lightning-messages></lightning-messages>
+				<template if:true={uiPageLayoutView}>
+					<lightning-layout multiple-rows="true">
+						<lightning-layout-item size="12">
+							<lightning-accordion allow-multiple-sections-open
+							                         onsectiontoggle={handleSectionToggle}
+							                         active-section-name={activeSections}>
+							<template for:each={uiPageLayoutView.sections} for:item="section">
+								<!-- slds-grid -->
+								<div key={section.id} class="slds-wrap">
+							        <lightning-accordion-section name={section.id} label={section.heading}>
+									<!-- <div class="row slds-gutters row-width">
+									<h3 class="slds-p-vertical_xx-small slds-p-left_medium" style="font-size: 16px;width: 100%;border: 3px outset #d0d9e1;">{section.heading}</h3>
+									</div> -->
+										<lightning-layout multiple-rows="true">
+											<template for:each={section.layoutRows} for:item="layoutRow">
+												<template for:each={layoutRow.layoutItems} for:item="layoutItem">
+													<template for:each={layoutItem.layoutComponents} for:item="layoutComponent">
+														<lightning-layout-item key={layoutComponent.apiName} size="6" padding="horizontal-small">
+															<template if:true={layoutItem.editableForNew}>
+															<lightning-input-field data-fieldname={layoutComponent.apiName}
+															field-name={layoutComponent.apiName} name={layoutComponent.apiName} required={layoutItem.required}>
+															</lightning-input-field>
+															</template>
+															<!-- <template if:false={layoutItem.editableForNew}> -->
+																<!-- 淇悊鍙椾粯鐣彿 -->
+																<!-- <template if:true={layoutComponent.apiName}>
+																<lightning-output-field field-name={layoutComponent.apiName}>
+																</lightning-output-field>
+																</template> -->
+															<!-- </template> -->
+														</lightning-layout-item>
+													</template>
+												</template>
+											</template>
+										</lightning-layout>
+									</lightning-accordion-section>
+								</div>
+								
+							</template>
+							</lightning-accordion>
+						</lightning-layout-item>
+					</lightning-layout>
+				</template>
+				<lightning-messages></lightning-messages>
+				<!-- slds-m-top_medium  slds-m-top_small-->
+				<div class="" style="text-align: center;">
+		            <lightning-button
+		                class=""
+		                label="鍙栨秷"
+		                onclick={handleReset}
+		            ></lightning-button>
+		            <lightning-button
+		                class=""
+		                type="submit"
+		                name="save"
+		                label="淇濆瓨"
+		                style="margin-left: 10px;"
+		            ></lightning-button>
+		            <!-- <lightning-button
+		                class="slds-m-top_small"
+		                type="submit"
+		                name="saveAndNew"
+		                label="淇濆瓨鏂板缓"
+		            ></lightning-button> -->
+		        </div>
+			</lightning-record-edit-form>
+		</div>
+		<!-- <div class="footer-background-class">
+			<div class="slds-align_absolute-center slds-p-around_xx-small">
+				<lightning-button class="slds-m-around_xx-small"
+				title="Cancel" label="Cancel"
+				onclick={closeNewObjectModal}>
+				</lightning-button>
+				<lightning-button variant="brand" title="Save"
+				onclick={submitRecordForm} name="Save" label="Save">
+				</lightning-button>
+			</div>
+		</div> -->
+	</div>
+
+  <!-- <lightning-record-edit-form record-id={recordId} object-api-name='{objectName}'>
+    <lightning-input-field field-name="Delivered_Product__c"> </lightning-input-field>
+    <lightning-button
+        class="slds-m-top_small"
+        variant="brand"
+        type="submit"
+        label="Update"
+    >
+    </lightning-button>
+</lightning-record-edit-form> -->
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexNewRepairLWC/lexNewRepairLWC.js b/force-app/main/default/lwc/lexNewRepairLWC/lexNewRepairLWC.js
new file mode 100644
index 0000000..4516b41
--- /dev/null
+++ b/force-app/main/default/lwc/lexNewRepairLWC/lexNewRepairLWC.js
@@ -0,0 +1,153 @@
+import { LightningElement,wire,track,api} from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import { NavigationMixin } from 'lightning/navigation';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+
+// import { getRecordUi } from 'lightning/uiRecordApi';
+
+// import NAME_FIELD from '@salesforce/schema/Repair__c.Incharge_Staff__c';
+import MY_CUSTOM_OBJECT from '@salesforce/schema/Repair__c';
+
+import init from '@salesforce/apex/NewRepairAuraController.init';
+
+export default class newRepairLWC extends LightningElement {
+    // Expose a field to make it available in the template
+    // nameField = NAME_FIELD;
+
+    // Flexipage provides recordId and objectApiName
+    // @api recordId = 'a0J0l00000EouAT';
+    @api recordId;
+    @api urlStr;
+    @api objectApiName;
+
+    /* @wire(CurrentPageReference)
+     getStateParameters(currentPageReference) {
+             console.log(111);
+             console.log(currentPageReference);
+
+         if (currentPageReference) {
+           const urlValue = currentPageReference.state.recordId;
+           if (urlValue) {
+             let str = `${urlValue}`;
+             console.log("str");
+             console.log(str);
+             this.recordId = str;
+           }
+         }
+     }*/
+
+    objectName = 'Repair__c';
+    uiPageLayoutView;
+    isNewMode;
+    //榛樿鍊艰祴鍊兼爣璁�
+    // defaultFlag = true;
+    defaultValue;
+    isLoading = true;
+    activeSections;
+
+    connectedCallback(){ 
+        console.log(this.recordId); 
+        console.log(JSON.parse(this.urlStr)); 
+    }
+    //鑾峰彇Layout瀛楁
+    handleRecordEditFormLoad(event) {
+        console.log('Layout => ', JSON.stringify(event.detail.layout));
+        this.uiPageLayoutView = event.detail.layout;
+        console.log('Layout1 => ',this.uiPageLayoutView);
+        // urlStr 浼犲弬澶勭悊
+       init({
+            recordId : this.recordId,urlStr : this.urlStr
+        }).then(result => {
+            console.log("result");
+            console.log(result);
+            this.defaultValue = result;
+            //to del !
+            this.defaultValue['Delivered_Product'] = '02i10000004tNXIAA2';
+            this.defaultValue['Account'] = '0011000001g11rDAAQ';
+            this.defaultValue['SalesOfficeCode_selection'] = '鍖椾含';
+            this.defaultValue['On_site_repair'] = 'RC淇悊';
+            this.defaultValue['Repair_Detail'] = 'testLwc';
+            this.defaultValue['Hospital'] = '0011000001g11rDAAQ';
+            this.defaultValue['work_location_select'] = '鍖椾含鍔炰簨澶�';
+
+
+
+            if (!result.status) {
+                const inputFields = this.template.querySelectorAll(
+               'lightning-input-field'
+                );
+                if (inputFields) {
+                   inputFields.forEach(field => {
+                    /*console.log('fieldsif => ',field);
+                    console.log('fieldsif => ',field.name);
+                    console.log('fieldsif => ',field.name.replace("__c",""));*/
+                    let fieldName = field.name.replace("__c","");
+                    if (this.defaultValue.hasOwnProperty(fieldName)) {
+                        field.value= this.defaultValue[fieldName];
+                    }
+                   });
+               }
+            }
+        }).catch(error => {
+            console.log("error");
+            console.log(error);
+        }).finally(() => {
+            let checkedSections = new Set();
+            if (this.uiPageLayoutView.sections.length > 0) {
+              // console.log("id");
+              checkedSections.add(this.uiPageLayoutView.sections[0].id);
+              //todo del  or 鏄剧ず鎵�鏈�
+              checkedSections.add(this.uiPageLayoutView.sections[1].id);
+              // console.log(this.uiPageLayoutView.sections[0].id);
+              //榛樿鎵撳紑绗竴涓猘ccordion
+              this.activeSections =  Array.from(checkedSections);
+            }
+            
+            this.isLoading = false;
+        });  
+        
+    }
+    //
+
+    handleSubmit(event){
+       console.log("handleSubmit");
+       event.preventDefault();       // stop the form from submitting
+       const fields = event.detail.fields;
+       console.log("fields");
+       console.log(fields);
+       console.log(event.detail);
+       // this.template.querySelector('lightning-record-edit-form').submit(fields);
+    }
+    //鎴愬姛鍚庤烦杞�
+    handleSucess(event){
+       const updatedRecord = event.detail.id;
+       console.log('onsuccess: ', updatedRecord);
+    }
+    handleReset(event) {
+        const fields = event.detail.fields;
+        console.log('fields => ',fields);
+       const inputFields = this.template.querySelectorAll(
+           'lightning-input-field'
+       );
+       if (inputFields) {
+           inputFields.forEach(field => {
+
+                console.log('fieldsif => ',field);
+                console.log('fieldsif => ',field.name);
+               // field.reset();
+           });
+       }
+    }
+    handleSectionToggle(event) {
+        const openSections = event.detail.openSections;
+
+        /*if (openSections.length === 0) {
+            this.activeSectionsMessage = 'All sections are closed';
+        } else {
+            this.activeSectionsMessage =
+                'Open sections: ' + openSections.join(', ');
+        }*/
+    }
+
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexNewRepairLWC/lexNewRepairLWC.js-meta.xml b/force-app/main/default/lwc/lexNewRepairLWC/lexNewRepairLWC.js-meta.xml
new file mode 100644
index 0000000..2b7649d
--- /dev/null
+++ b/force-app/main/default/lwc/lexNewRepairLWC/lexNewRepairLWC.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+	<apiVersion>54.0</apiVersion>
+	<isExposed>true</isExposed>
+	<targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexNewTransferApply/lexNewTransferApply.css b/force-app/main/default/lwc/lexNewTransferApply/lexNewTransferApply.css
new file mode 100644
index 0000000..635bc6c
--- /dev/null
+++ b/force-app/main/default/lwc/lexNewTransferApply/lexNewTransferApply.css
@@ -0,0 +1,22 @@
+.outerBorderCss{
+    border: 1px solid #D4D4D4;
+    border-radius : 5px;
+    border-top : 3px solid #565959;
+}
+.borderCss{
+    border: 1px solid #D4D4D4;
+    border-radius : 5px;
+    margin-bottom : 7px;
+    border-top : 3px solid #565959;
+}
+.headerDorderCss{
+    border-top: 1px solid #565959;
+    border-bottom: 1px solid #D4D4D4;
+    padding:3px;
+}
+.centerCss{
+    text-align: center;
+}
+.centerCss .left{
+    margin-left: 100px;
+}/* sample css file */
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexNewTransferApply/lexNewTransferApply.html b/force-app/main/default/lwc/lexNewTransferApply/lexNewTransferApply.html
new file mode 100644
index 0000000..49a10f7
--- /dev/null
+++ b/force-app/main/default/lwc/lexNewTransferApply/lexNewTransferApply.html
@@ -0,0 +1,5 @@
+<template>
+    <div class="sisToOPDHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexNewTransferApply/lexNewTransferApply.js b/force-app/main/default/lwc/lexNewTransferApply/lexNewTransferApply.js
new file mode 100644
index 0000000..a73c401
--- /dev/null
+++ b/force-app/main/default/lwc/lexNewTransferApply/lexNewTransferApply.js
@@ -0,0 +1,126 @@
+import { LightningElement, track, wire, api } from 'lwc';
+import { CurrentPageReference,NavigationMixin } from 'lightning/navigation';
+import { CloseActionScreenEvent } from 'lightning/actions';
+import { encodeDefaultFieldValues } from 'lightning/pageReferenceUtils';
+import init from '@salesforce/apex/NewTransferApplyController.init';
+import getRecordId from '@salesforce/apex/NewTransferApplyController.getRecordId';
+export default class lexNewTransferApply extends LightningElement {
+
+	@api recordId;
+	IsLoading = true;
+	raId;
+	raName;
+
+	@wire(CurrentPageReference)
+	getStateParameters(currentPageReference){
+		if(currentPageReference) {
+			const urlValue = currentPageReference.state.recordId;
+			if(urlValue) {
+				let str = `${urlValue}`;
+		        this.recordId = str;
+			}
+		}
+	}
+
+	connectedCallback(){
+		init({
+			recordId: this.recordId
+		}).then(result =>{
+			console.log(this.recordId);
+			this.raId = result.raId;
+			this.raName = result.raName;
+
+			let raDetailSet = result.rae;
+			console.log(raDetailSet);
+			let IsCanCreateTransfer = false; 
+			if(raDetailSet.length > 0){
+				if(raDetailSet[0].Rental_Apply__r.RecordType.DeveloperName != 'AgencyRequest'){
+					alert('姝よ褰曠被鍨嬩笉鏀寔鏂板缓璋冩嫧鍗�'); 
+				}else{
+					for(let i=0; i<raDetailSet.length; i++){
+						if(raDetailSet[i].Asset__c != null){
+							//鐢婚潰榛樿涓斾粎鏄剧ず绗﹀悎璋冩嫧瑕佹眰鐨勬暟鎹紙鈶犳瑺鍝佹柇蹇靛悗鎵惧洖鐨勪富浣� 鈶★紙涓讳綋涓婃灦ok锛夋瑺鍝佹柇蹇靛悗鎵惧洖鐨勯檮灞炲搧 鈶富浣撳緟淇悊鐨勬暣涓厤濂� 鈶o紙涓讳綋涓婃灦ok锛夊緟淇悊鐨勯檮灞炲搧锛夆懁涓讳綋鏂康鍚庡崟鐙殑闄勫睘鍝�
+							if(raDetailSet[i].Is_Body__c == 'true'){
+								//鈶犳瑺鍝佹柇蹇靛悗鎵惧洖鐨勪富浣�
+								if(raDetailSet[i].Lost_item_giveup__c == 'true'){
+									IsCanCreateTransfer = true; break;
+								} 
+								//鈶富浣撳緟淇悊鐨勬暣涓厤濂�
+								if(raDetailSet[i].Arrival_wh_Result_Agency__c != null && (raDetailSet[i].Arrival_wh_Result_Agency__c == '寰呬慨鐞�' || raDetailSet[i].Arrival_wh_Result_Agency__c == '绉昏嚦鎶ュ簾鍖�' )){
+									IsCanCreateTransfer = true; break;
+								} 
+							}else{
+								//鈶富浣撳緟淇悊鐨勬暣涓厤濂楋紙涓嶆槸娆犲搧鐨勯檮灞炲搧锛� 
+								if(raDetailSet[i].Rental_Apply_Equipment_Set__r.First_RAESD__r.Arrival_wh_Result_Agency__c != null &&
+								(raDetailSet[i].Rental_Apply_Equipment_Set__r.First_RAESD__r.Arrival_wh_Result_Agency__c == '寰呬慨鐞�' ||
+								raDetailSet[i].Rental_Apply_Equipment_Set__r.First_RAESD__r.Arrival_wh_Result_Agency__c == '绉昏嚦鎶ュ簾鍖�' ) &&
+								raDetailSet[i].OneToOne_Flag__c == 'true' &&
+								raDetailSet[i].Arrival_wh_Result_Agency__c != null
+								){
+									IsCanCreateTransfer = true; break;
+								} 
+
+								//鈶′富浣撴瑺鍝佹柇蹇靛悗鐨勬暣涓厤濂�(涓嶆槸娆犲搧鐨勯檮灞炲搧)
+								//鏈変富浣撳緱鏄竴瀵逛竴闄勫睘鍝� 
+								if(raDetailSet[i].Rental_Apply_Equipment_Set__r.First_RAESD__r.Lost_item_giveup__c == 'true' &&
+								raDetailSet[i].OneToOne_Flag__c == 'true' &&
+								raDetailSet[i].Arrival_wh_Result_Agency__c != null){
+									IsCanCreateTransfer = true; break;
+								} 
+
+								//鈶o紙涓讳綋涓婃灦ok锛夊緟淇悊鐨勯檮灞炲搧 
+								if(raDetailSet[i].Rental_Apply_Equipment_Set__r.First_RAESD__r.Arrival_wh_Result_Agency__c !=null &&
+								raDetailSet[i].Rental_Apply_Equipment_Set__r.First_RAESD__r.Arrival_wh_Result_Agency__c == 'OK' &&
+								raDetailSet[i].OneToOne_Flag__c == 'true' &&
+								raDetailSet[i].Arrival_wh_Result_Agency__c != null && (raDetailSet[i].Arrival_wh_Result_Agency__c == '寰呬慨鐞�' || raDetailSet[i].Arrival_wh_Result_Agency__c == '绉昏嚦鎶ュ簾鍖�')){
+									IsCanCreateTransfer = true; break;
+								} 
+
+								//鈶� 鏂康鍚庣殑闄勫睘鍝�
+								if(raDetailSet[i].Lost_item_giveup__c == 'true'){
+									IsCanCreateTransfer = true; break;
+								} 
+
+								if(raDetailSet[i].Rental_Apply_Equipment_Set__r.First_You_Xiao_Ku_Cun__c <= 0
+								&& raDetailSet[i].OneToOne_Flag__c && raDetailSet[i].Check_lost_Item__c != null && raDetailSet[i].Check_lost_Item_Final__c !=null && raDetailSet[i].Check_lost_Item__c == '娆犲搧' && raDetailSet[i].Check_lost_Item_Final__c == 'OK'
+								&& raDetailSet[i].Arrival_in_wh__c == 'true'
+								&& raDetailSet[i].Arrival_wh_time__c != raDetailSet[i].Rental_Apply_Equipment_Set__r.First_RAESD__r.Arrival_wh_time__c ){
+									IsCanCreateTransfer = true; break;
+								} 
+							}
+						}
+					}
+
+					if(IsCanCreateTransfer){
+						getRecordId().then(res=>{
+							const defaultValues = encodeDefaultFieldValues({
+								recordId: res,
+								Name: '*',
+								Rental_Apply__c: this.recordId
+							});
+
+							this[NavigationMixin.Navigate]({
+								type: 'standard__objectPage',
+								attributes: {
+									objectApiName: 'TransferApply__c',
+									actionName: 'new'
+								},
+								state:{
+									defaultFieldValues: this.defaultValues
+								}
+							})
+						})
+					}else{
+						alert('璇ョ敵璇锋病鏈夌鍚堟潯浠剁殑鍊熷嚭澶囧搧閰嶅涓�瑙堟槑缁嗭紒'); 
+					}
+				}
+			}else{
+				alert('璇ョ敵璇锋病鏈夌鍚堟潯浠剁殑鍊熷嚭澶囧搧閰嶅涓�瑙堟槑缁嗭紒'); 
+			}
+		})
+		.catch(err=>{
+			this.dispatchEvent(new CloseActionScreenEvent());
+			console.log('init==='+err);
+		})
+	}
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexNewTransferApply/lexNewTransferApply.js-meta.xml b/force-app/main/default/lwc/lexNewTransferApply/lexNewTransferApply.js-meta.xml
new file mode 100644
index 0000000..74849f3
--- /dev/null
+++ b/force-app/main/default/lwc/lexNewTransferApply/lexNewTransferApply.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lexOCMSubmit">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightning__RecordPage</target>
+        <target>lightning__AppPage</target>
+        <target>lightning__HomePage</target>
+        <target>lightning__RecordAction</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexOCMSubmit/lexOCMSubmit.css b/force-app/main/default/lwc/lexOCMSubmit/lexOCMSubmit.css
new file mode 100644
index 0000000..635bc6c
--- /dev/null
+++ b/force-app/main/default/lwc/lexOCMSubmit/lexOCMSubmit.css
@@ -0,0 +1,22 @@
+.outerBorderCss{
+    border: 1px solid #D4D4D4;
+    border-radius : 5px;
+    border-top : 3px solid #565959;
+}
+.borderCss{
+    border: 1px solid #D4D4D4;
+    border-radius : 5px;
+    margin-bottom : 7px;
+    border-top : 3px solid #565959;
+}
+.headerDorderCss{
+    border-top: 1px solid #565959;
+    border-bottom: 1px solid #D4D4D4;
+    padding:3px;
+}
+.centerCss{
+    text-align: center;
+}
+.centerCss .left{
+    margin-left: 100px;
+}/* sample css file */
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexOCMSubmit/lexOCMSubmit.html b/force-app/main/default/lwc/lexOCMSubmit/lexOCMSubmit.html
new file mode 100644
index 0000000..49a10f7
--- /dev/null
+++ b/force-app/main/default/lwc/lexOCMSubmit/lexOCMSubmit.html
@@ -0,0 +1,5 @@
+<template>
+    <div class="sisToOPDHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexOCMSubmit/lexOCMSubmit.js b/force-app/main/default/lwc/lexOCMSubmit/lexOCMSubmit.js
new file mode 100644
index 0000000..814dd7b
--- /dev/null
+++ b/force-app/main/default/lwc/lexOCMSubmit/lexOCMSubmit.js
@@ -0,0 +1,133 @@
+import { LightningElement,wire,track,api} from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import { NavigationMixin } from 'lightning/navigation';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+import init  from '@salesforce/apex/QISReportController.initForOCMSubmitButton';
+import updateQis  from '@salesforce/apex/QISReportController.updateQisWithOCM';
+import UserInfo_Owner from '@salesforce/apex/TaskFeedbackController.UserInfo_Owner';
+import { updateRecord } from 'lightning/uiRecordApi';
+
+export default class lexOCMSubmit extends LightningElement {
+	@api recordId;
+	IsLoading = true;
+	qisReportId;
+	QISInstallDate;
+	qisStatus;
+	contractnumber;
+	isaohuiproduct;
+    err;
+	@wire(CurrentPageReference)
+     getStateParameters(currentPageReference) {
+             console.log(111);
+             console.log(currentPageReference);
+
+         if (currentPageReference) {
+           const urlValue = currentPageReference.state.recordId;
+           if (urlValue) {
+             let str = `${urlValue}`;
+             console.log("str");
+             console.log(str);
+             this.recordId = str;
+           }
+         }
+    }
+
+    connectedCallback () {
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            this.IsLoading = false;
+            this.qisReportId = result.Id;
+            this.qisStatus = result.qIStatus;
+            this.QISInstallDate = result.qISInstallDate;
+            this.contractnumber = result.contractnumber;
+            this.isaohuiproduct = result.isaohuiproduct;
+         	if (this.qisStatus!='鑽夋涓�' && this.qisStatus!='鍙栨秷') {
+         		const evt = new ShowToastEvent({
+                        title : '宸茬粡鎻愪氦',
+                        message: '',
+                        variant: 'error'
+                    });
+                    this.dispatchEvent(evt);
+                this.dispatchEvent(new CloseActionScreenEvent());
+         		return;
+         	}else{
+         		if (this.qisStatus == '鍙栨秷') {
+         			const evt = new ShowToastEvent({
+                        title : '鍙栨秷鍚庣殑QIS涓嶅厑璁稿啀鎻愪氦锛屽鏋滈渶瑕佹彁浜よ鐐瑰嚮\"澶嶅埗\"鎸夐挳閲嶆柊鐢熸垚涓�涓猀IS',
+                        message: '',
+                        variant: 'error'
+                    });
+                    this.dispatchEvent(evt);
+					this.dispatchEvent(new CloseActionScreenEvent());
+					return;
+         		}
+         	}
+         	
+         	if (this.QISInstallDate == null) {
+         		const evt = new ShowToastEvent({
+                        title : '銆愯喘涔版棩鏈�/瀹夎鏃ユ湡銆戜负绌烘椂涓嶈兘鎻愪氦鐢宠',
+                        message: '',
+                        variant: 'error'
+                    });
+                 this.dispatchEvent(evt);
+         		this.dispatchEvent(new CloseActionScreenEvent());
+				return;
+         	}
+
+         	if (this.contractnumber == null) {
+         		const evt = new ShowToastEvent({
+                        title : '銆愰攢鍞悎鍚屼笂璁㈠崟鍙风爜銆戜负绌烘椂涓嶈兘鎻愪氦鐢宠',
+                        message: '',
+                        variant: 'error'
+                    });
+                    this.dispatchEvent(evt);
+         		this.dispatchEvent(new CloseActionScreenEvent());
+				return;
+         	}
+
+         	if (!confirm("涓�鏃︽彁浜ゆ璁板綍浠ュ緟鎵瑰噯锛屾牴鎹偍鐨勮缃偍鍙兘涓嶅啀鑳藉缂栬緫姝よ褰曟垨灏嗕粬浠庢壒鍑嗚繃绋嬩腑璋冨洖銆傛槸鍚︾户缁紵")) {
+         		this.dispatchEvent(new CloseActionScreenEvent());
+				return;
+			}
+			this.updateQisSubmit();
+			if (this.isaohuiproduct == 'true') {
+				this.dispatchEvent(new CloseActionScreenEvent());
+                this.updateRecordView(this.recordId);
+			}
+			this.dispatchEvent(new CloseActionScreenEvent());
+            this.updateRecordView(this.recordId);
+        }).catch(error => {
+            console.log('error='+error);
+        }).finally(() => {
+            
+        }); 
+    }
+
+    updateRecordView(recordId) {
+        updateRecord({fields: { Id: recordId }});
+    }
+
+    updateQisSubmit(){
+        	updateQis({
+        		 recordId: this.recordId
+        		}).then(result =>{
+        			console.log('result'+result);
+        			if (result!='鎴愬姛') {
+                        this.err = result;
+        				const evt = new ShowToastEvent({
+	                        title : '鏇存柊澶辫触',
+	                        message: this.err,
+	                        variant: 'error'
+                    	});
+                    	this.dispatchEvent(evt);
+        			}
+                this.dispatchEvent(new CloseActionScreenEvent());
+        		}).catch(error => {
+            			console.log('error='+error);
+		        }).finally(() => {
+		            
+		        });
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexOCMSubmit/lexOCMSubmit.js-meta.xml b/force-app/main/default/lwc/lexOCMSubmit/lexOCMSubmit.js-meta.xml
new file mode 100644
index 0000000..74849f3
--- /dev/null
+++ b/force-app/main/default/lwc/lexOCMSubmit/lexOCMSubmit.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lexOCMSubmit">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightning__RecordPage</target>
+        <target>lightning__AppPage</target>
+        <target>lightning__HomePage</target>
+        <target>lightning__RecordAction</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexOCSMNoToReport/lexOCSMNoToReport.css b/force-app/main/default/lwc/lexOCSMNoToReport/lexOCSMNoToReport.css
new file mode 100644
index 0000000..db763d9
--- /dev/null
+++ b/force-app/main/default/lwc/lexOCSMNoToReport/lexOCSMNoToReport.css
@@ -0,0 +1,10 @@
+.toReportHolder{
+    position: relative;
+    display: inline-block;
+    width: 80px;
+    height: 80px;
+    text-align: center;
+}
+.container .uiContainerManager{
+	display: none !important;
+}/* sample css file */
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexOCSMNoToReport/lexOCSMNoToReport.html b/force-app/main/default/lwc/lexOCSMNoToReport/lexOCSMNoToReport.html
new file mode 100644
index 0000000..d044dbb
--- /dev/null
+++ b/force-app/main/default/lwc/lexOCSMNoToReport/lexOCSMNoToReport.html
@@ -0,0 +1,5 @@
+<template>
+    <div class="exampleHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexOCSMNoToReport/lexOCSMNoToReport.js b/force-app/main/default/lwc/lexOCSMNoToReport/lexOCSMNoToReport.js
new file mode 100644
index 0000000..fedeb3d
--- /dev/null
+++ b/force-app/main/default/lwc/lexOCSMNoToReport/lexOCSMNoToReport.js
@@ -0,0 +1,82 @@
+import {
+    LightningElement,
+    wire,
+    api
+} from 'lwc';
+import {
+    CurrentPageReference
+} from "lightning/navigation";
+import {
+    CloseActionScreenEvent
+} from 'lightning/actions';
+import init from '@salesforce/apex/otherButtonRepairController.init';
+
+export default class LexOCSMNoToReport extends LightningElement {
+    @api recordId;
+    str;
+    IsLoading = true;
+    Id;
+    OCSMAdministrativeReportNumberC;
+    OCSMAdministrativeReportDateC;
+    AwareDateC;
+
+    @wire(CurrentPageReference)
+    getStateParameters(currentPageReference) {
+        if (currentPageReference) {
+            const urlValue = currentPageReference.state.recordId;
+            if (urlValue) {
+                let str = `${urlValue}`;
+                this.recordId = str;
+            }
+        }
+    }
+
+    connectedCallback() {
+        console.log(this.recordId);
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            console.log(result);
+            if (result != null) {
+                this.IsLoading = false;
+                this.OCSMAdministrativeReportNumberC = result.Id;
+                this.OCSMAdministrativeReportDateC = result.OCSMAdministrativeReportDateC;
+                this.AwareDateC = result.AwareDateC;
+                this.Id = result.Id;
+
+                this.OCSMNoToReport();
+                this.dispatchEvent(new CloseActionScreenEvent());
+            }
+        }).catch(error => {
+            console.log(error);
+        }).finally(() => {
+
+        });
+    }
+
+    OCSMNoToReport() {
+        if (!confirm("涓嶈鎶ュ憡鍚庢棤娉曟挙鍥烇紝鏄惁缁х画锛�")) {
+            return;
+        }
+        if (this.OCSMAdministrativeReportNumberC != "" ||
+        this.OCSMAdministrativeReportDateC != "") {
+            alert("宸茬粡鎶ュ憡鐨凲IS锛屼笉鍙互鐐瑰嚮OCSM涓嶈鎶ュ憡銆�");
+            return;
+        }
+        if (this.AwareDateC != "") {
+            var updateRe = new sforce.SObject("Repair__c");
+            updateRe.id = this.Id;
+            updateRe.OCSMAdministrativeReportStatus__c = '鏃犻渶鎶ュ憡';
+            var result = sforce.connection.update([updateRe]);
+            var messages = getConnectDMLErrorMessages(result);
+            if (messages.length > 0) {
+                alert(messages.join("\n"));
+                return;
+            }
+            window.location.reload();
+        } else {
+            alert("娌℃湁AwareDate鎴栧凡缁廜CSM琛屾斂鎶ュ憡锛岃纭銆�");
+            return;
+        }
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexOCSMNoToReport/lexOCSMNoToReport.js-meta.xml b/force-app/main/default/lwc/lexOCSMNoToReport/lexOCSMNoToReport.js-meta.xml
new file mode 100644
index 0000000..3392981
--- /dev/null
+++ b/force-app/main/default/lwc/lexOCSMNoToReport/lexOCSMNoToReport.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+	<isExposed>true</isExposed>
+	<targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexOCSMNoToReportForReport/lexOCSMNoToReportForReport.html b/force-app/main/default/lwc/lexOCSMNoToReportForReport/lexOCSMNoToReportForReport.html
new file mode 100644
index 0000000..38c9114
--- /dev/null
+++ b/force-app/main/default/lwc/lexOCSMNoToReportForReport/lexOCSMNoToReportForReport.html
@@ -0,0 +1,6 @@
+<template>
+    <div class="reportHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+        <lightning-button label="Show Toast" onclick={ShowToastEvent}></lightning-button>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexOCSMNoToReportForReport/lexOCSMNoToReportForReport.js b/force-app/main/default/lwc/lexOCSMNoToReportForReport/lexOCSMNoToReportForReport.js
new file mode 100644
index 0000000..b4a883a
--- /dev/null
+++ b/force-app/main/default/lwc/lexOCSMNoToReportForReport/lexOCSMNoToReportForReport.js
@@ -0,0 +1,100 @@
+/*
+ * @Description: 
+ * @version: 
+ * @Author: chen jing wu
+ * @Date: 2023-03-28 15:59:44
+ * @LastEditors: chen jing wu
+ * @LastEditTime: 2023-04-11 11:24:51
+ */
+import { api, wire,LightningElement } from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import init  from '@salesforce/apex/ReportController.initForOCSMNoToReportButton';
+import updateForOCSMNoToReportButton  from '@salesforce/apex/ReportController.updateForOCSMNoToReportButton';
+import { updateRecord } from 'lightning/uiRecordApi';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+export default class LexOCSMNoToReportForReport extends LightningElement {
+    @api recordId;
+    IsLoading = true;
+    OCSMAdministrativeReportNumber;
+    OCSMAdministrativeReportDate;
+    AwareDate;
+
+    @wire(CurrentPageReference)
+    getStateParameters(currentPageReference) {
+            console.log(111);
+            console.log(currentPageReference);
+
+        if (currentPageReference) {
+          const urlValue = currentPageReference.state.recordId;
+          if (urlValue) {
+            let str = `${urlValue}`;
+            console.log("str");
+            console.log(str);
+            this.recordId = str;
+          }
+        }
+    }
+
+
+
+
+    connectedCallback(){
+        console.log("123");
+        init({
+            recordId: this.recordId
+        }).then(result=>{
+            console.log(result);
+            this.OCSMAdministrativeReportDate = result.OCSMAdministrativeReportDate;
+            this.OCSMAdministrativeReportNumber = result.OCSMAdministrativeReportNumber;
+            this.AwareDate = result.awareDate;
+            this.noToReport();
+        }).catch(error=>{
+            console.log(error);
+        });
+    }
+
+
+    updateRecordView(recordId) {
+        updateRecord({fields: { Id: recordId }});
+    }
+
+    showToast(msg,type) {
+        const event = new ShowToastEvent({
+            title: '',
+            message: msg,
+            variant: type
+        });
+        this.dispatchEvent(event);
+    }
+
+    noToReport(){
+        if (!confirm("涓嶈鎶ュ憡鍚庢棤娉曟挙鍥烇紝鏄惁缁х画锛�")) {
+            this.dispatchEvent(new CloseActionScreenEvent());
+            return;
+        }
+        if(this.OCSMAdministrativeReportNumber != undefined || this.OCSMAdministrativeReportDate != undefined ){
+            this.showToast("宸茬粡鎶ュ憡鐨凲IS锛屼笉鍙互鐐瑰嚮OCSM涓嶈鎶ュ憡銆�","error");
+            this.dispatchEvent(new CloseActionScreenEvent());
+            return;
+        }
+        if(this.AwareDate != undefined ){
+           updateForOCSMNoToReportButton({
+                recordId: this.recordId
+           }).then(result=>{
+            if(result){
+                this.showToast(result,"error");
+            }else{
+                this.showToast("OCSM涓嶈鎶ュ憡鎴愬姛","success");
+                this.updateRecordView(this.recordId);
+                this.IsLoading = false;
+            }
+                this.dispatchEvent(new CloseActionScreenEvent());
+           });
+        }else{
+            this.showToast("娌℃湁AwareDate鎴栧凡缁廜CSM琛屾斂鎶ュ憡锛岃纭銆�","error");
+            this.dispatchEvent(new CloseActionScreenEvent());
+            return;
+        }
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexOCSMNoToReportForReport/lexOCSMNoToReportForReport.js-meta.xml b/force-app/main/default/lwc/lexOCSMNoToReportForReport/lexOCSMNoToReportForReport.js-meta.xml
new file mode 100644
index 0000000..3392981
--- /dev/null
+++ b/force-app/main/default/lwc/lexOCSMNoToReportForReport/lexOCSMNoToReportForReport.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+	<isExposed>true</isExposed>
+	<targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexOCSMNoToReportLighting/lexOCSMNoToReportLighting.css b/force-app/main/default/lwc/lexOCSMNoToReportLighting/lexOCSMNoToReportLighting.css
new file mode 100644
index 0000000..79456f2
--- /dev/null
+++ b/force-app/main/default/lwc/lexOCSMNoToReportLighting/lexOCSMNoToReportLighting.css
@@ -0,0 +1,22 @@
+.outerBorderCss{
+    border: 1px solid #D4D4D4;
+    border-radius : 5px;
+    border-top : 3px solid #565959;
+}
+.borderCss{
+    border: 1px solid #D4D4D4;
+    border-radius : 5px;
+    margin-bottom : 7px;
+    border-top : 3px solid #565959;
+}
+.headerDorderCss{
+    border-top: 1px solid #565959;
+    border-bottom: 1px solid #D4D4D4;
+    padding:3px;
+}
+.centerCss{
+    text-align: center;
+}
+.centerCss .left{
+    margin-left: 100px;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexOCSMNoToReportLighting/lexOCSMNoToReportLighting.html b/force-app/main/default/lwc/lexOCSMNoToReportLighting/lexOCSMNoToReportLighting.html
new file mode 100644
index 0000000..c8bdbfc
--- /dev/null
+++ b/force-app/main/default/lwc/lexOCSMNoToReportLighting/lexOCSMNoToReportLighting.html
@@ -0,0 +1,5 @@
+<template>
+   <div class="sisToOPDHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexOCSMNoToReportLighting/lexOCSMNoToReportLighting.js b/force-app/main/default/lwc/lexOCSMNoToReportLighting/lexOCSMNoToReportLighting.js
new file mode 100644
index 0000000..2c3c93c
--- /dev/null
+++ b/force-app/main/default/lwc/lexOCSMNoToReportLighting/lexOCSMNoToReportLighting.js
@@ -0,0 +1,105 @@
+import { LightningElement,wire,track,api} from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import { NavigationMixin } from 'lightning/navigation';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+import init  from '@salesforce/apex/QISReportController.initForlexOCSMNoToReportLightingButton';
+import updateQis  from '@salesforce/apex/QISReportController.updateQisForlexOCSMNoToReportLighting';
+import UserInfo_Owner from '@salesforce/apex/TaskFeedbackController.UserInfo_Owner';
+import { updateRecord } from 'lightning/uiRecordApi';
+
+export default class lexOCSMNoToReportLighting extends LightningElement {
+	@api recordId;
+	IsLoading = true;
+	qisReportId;
+	OCSMAdministrativeReportNumber;
+    OCSMAdministrativeReportDate;
+    Awaredate;
+    err;
+    
+    @wire(CurrentPageReference)
+     getStateParameters(currentPageReference) {
+             console.log(111);
+             console.log(currentPageReference);
+
+         if (currentPageReference) {
+           const urlValue = currentPageReference.state.recordId;
+           if (urlValue) {
+             let str = `${urlValue}`;
+             console.log("str");
+             console.log(str);
+             this.recordId = str;
+           }
+         }
+    }
+
+    connectedCallback () {
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            this.IsLoading = false;
+            this.OCSMAdministrativeReportNumber = result.oCSMAdministrativeReportNumber;
+            this.OCSMAdministrativeReportDate = result.oCSMAdministrativeReportDate;
+            this.qisReportId = result.Id;
+            this.Awaredate = result.awaredate;
+            if (!confirm("涓嶈鎶ュ憡鍚庢棤娉曟挙鍥烇紝鏄惁缁х画锛�")) {
+            		this.dispatchEvent(new CloseActionScreenEvent());
+                    return;
+        	}
+            if (this.OCSMAdministrativeReportDate != null || this.OCSMAdministrativeReportNumber != null) {
+            		const evt = new ShowToastEvent({
+                            title : '宸茬粡鎶ュ憡鐨凲IS锛屼笉鍙互鐐瑰嚮OCSM涓嶈鎶ュ憡',
+                            message: '',
+                            variant: 'error'
+                        });
+                        this.dispatchEvent(evt);
+                        this.dispatchEvent(new CloseActionScreenEvent());
+                        return;
+            }
+         	if (this.Awaredate!=null) {
+         		this.updateQisSubmit();
+         	}else{
+         		const evt = new ShowToastEvent({
+                        title : '娌℃湁AwareDate鎴栧凡缁廜CSM琛屾斂鎶ュ憡锛岃纭',
+                        message: '',
+                        variant: 'error'
+                    });
+                    this.dispatchEvent(evt);
+                    this.dispatchEvent(new CloseActionScreenEvent());
+                    return;
+         	}
+        }).catch(error => {
+            console.log('error='+error);
+        }).finally(() => {
+            
+        }); 
+    }
+
+    updateRecordView(recordId) {
+        updateRecord({fields: { Id: recordId }});
+    }
+
+    updateQisSubmit(){
+        	updateQis({
+        		 recordId: this.recordId
+        		}).then(result =>{
+        			console.log('result'+result);
+                     this.err = result;
+        			if (result!='鎴愬姛') {
+                        const evt = new ShowToastEvent({
+                            title : '鏇存柊澶辫触',
+                            message: this.err,
+                            variant: 'error'
+                        });
+                        this.dispatchEvent(evt);
+                    }
+                this.dispatchEvent(new CloseActionScreenEvent());
+                this.updateRecordView(this.recordId);
+        		}).catch(error => {
+            console.log('error='+error);
+        }).finally(() => {
+            
+        });
+    }
+
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexOCSMNoToReportLighting/lexOCSMNoToReportLighting.js-meta.xml b/force-app/main/default/lwc/lexOCSMNoToReportLighting/lexOCSMNoToReportLighting.js-meta.xml
new file mode 100644
index 0000000..791ff80
--- /dev/null
+++ b/force-app/main/default/lwc/lexOCSMNoToReportLighting/lexOCSMNoToReportLighting.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lexOCSMNoToReportLighting">
+   <apiVersion>54.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightning__RecordPage</target>
+        <target>lightning__AppPage</target>
+        <target>lightning__HomePage</target>
+        <target>lightning__RecordAction</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexOCSMNoToReportRepair/lexOCSMNoToReportRepair.html b/force-app/main/default/lwc/lexOCSMNoToReportRepair/lexOCSMNoToReportRepair.html
new file mode 100644
index 0000000..87f391a
--- /dev/null
+++ b/force-app/main/default/lwc/lexOCSMNoToReportRepair/lexOCSMNoToReportRepair.html
@@ -0,0 +1,6 @@
+<template>
+    <div class="exampleHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+        <lightning-button label="Show Toast" onclick={ShowToastEvent}></lightning-button>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexOCSMNoToReportRepair/lexOCSMNoToReportRepair.js b/force-app/main/default/lwc/lexOCSMNoToReportRepair/lexOCSMNoToReportRepair.js
new file mode 100644
index 0000000..44ef2be
--- /dev/null
+++ b/force-app/main/default/lwc/lexOCSMNoToReportRepair/lexOCSMNoToReportRepair.js
@@ -0,0 +1,102 @@
+import {
+    LightningElement,
+    wire,
+    api
+} from 'lwc';
+import {
+    CurrentPageReference
+} from "lightning/navigation";
+import {
+    CloseActionScreenEvent
+} from 'lightning/actions';
+import init from '@salesforce/apex/otherButtonRepairController.init';
+import updateRepair from '@salesforce/apex/otherButtonRepairController.updateRepair';
+import {
+    ShowToastEvent
+} from 'lightning/platformShowToastEvent';
+
+export default class LexOCSMNoToReportRepair extends LightningElement {
+    @api recordId;
+    str;
+    IsLoading = true;
+    Id;;
+    OCSMAdministrativeReportNumberC;
+    OCSMAdministrativeReportDateC;
+    AwareDateC;
+
+    @wire(CurrentPageReference)
+    getStateParameters(currentPageReference) {
+        if (currentPageReference) {
+            const urlValue = currentPageReference.state.recordId;
+            if (urlValue) {
+                let str = `${urlValue}`;
+                this.recordId = str;
+            }
+        }
+    }
+
+    connectedCallback() {
+        console.log(this.recordId);
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            console.log(result);
+            if (result != null) {
+                this.IsLoading = false;
+                this.Id = result.Id;
+                this.OCSMAdministrativeReportNumberC = result.OCSMAdministrativeReportNumberC;
+                this.OCSMAdministrativeReportDateC = result.OCSMAdministrativeReportDateC;
+                this.AwareDateC = result.AwareDateC;
+
+                this.OCSMNoToReport();
+                this.dispatchEvent(new CloseActionScreenEvent());
+            }
+        }).catch(error => {
+            console.log(error);
+        }).finally(() => {
+
+        });
+    }
+
+    // OCSM涓嶈鎶ュ憡
+    OCSMNoToReport() {
+        if (!confirm("涓嶈鎶ュ憡鍚庢棤娉曟挙鍥烇紝鏄惁缁х画锛�")) {
+            return;
+        }
+
+        if (this.OCSMAdministrativeReportNumberC != undefined ||
+            this.OCSMAdministrativeReportDateC != undefined) {
+            this.ShowToastEvent("宸茬粡鎶ュ憡鐨凲IS锛屼笉鍙互鐐瑰嚮OCSM涓嶈鎶ュ憡銆�", "error")
+            // alert("宸茬粡鎶ュ憡鐨凲IS锛屼笉鍙互鐐瑰嚮OCSM涓嶈鎶ュ憡銆�");
+            return;
+        }
+
+        if (this.AwareDateC != undefined) {
+            updateRepair({
+                recordId: this.Id
+            }).catch(error => {
+                if (error.body.pageErrors.length > 0) {
+                    var errmsg = error.body.pageErrors[0].message.toString();
+                    this.ShowToastEvent(errmsg.join("\n"), "error")
+                    // alert(errmsg.join("\n"));
+                    return;
+                }
+            })
+            window.location.reload();
+        } else {
+            this.ShowToastEvent("娌℃湁AwareDate鎴栧凡缁廜CSM琛屾斂鎶ュ憡锛岃纭銆�", "error")
+            // alert("娌℃湁AwareDate鎴栧凡缁廜CSM琛屾斂鎶ュ憡锛岃纭銆�");
+            return;
+        }
+    }
+
+    // 寮圭獥
+    ShowToastEvent(msg, type) {
+        const event = new ShowToastEvent({
+            title: '',
+            message: msg,
+            variant: type
+        });
+        this.dispatchEvent(event);
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexOCSMNoToReportRepair/lexOCSMNoToReportRepair.js-meta.xml b/force-app/main/default/lwc/lexOCSMNoToReportRepair/lexOCSMNoToReportRepair.js-meta.xml
new file mode 100644
index 0000000..3392981
--- /dev/null
+++ b/force-app/main/default/lwc/lexOCSMNoToReportRepair/lexOCSMNoToReportRepair.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+	<isExposed>true</isExposed>
+	<targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexOCSMNogoods/lexOCSMNogoods.css b/force-app/main/default/lwc/lexOCSMNogoods/lexOCSMNogoods.css
new file mode 100644
index 0000000..635bc6c
--- /dev/null
+++ b/force-app/main/default/lwc/lexOCSMNogoods/lexOCSMNogoods.css
@@ -0,0 +1,22 @@
+.outerBorderCss{
+    border: 1px solid #D4D4D4;
+    border-radius : 5px;
+    border-top : 3px solid #565959;
+}
+.borderCss{
+    border: 1px solid #D4D4D4;
+    border-radius : 5px;
+    margin-bottom : 7px;
+    border-top : 3px solid #565959;
+}
+.headerDorderCss{
+    border-top: 1px solid #565959;
+    border-bottom: 1px solid #D4D4D4;
+    padding:3px;
+}
+.centerCss{
+    text-align: center;
+}
+.centerCss .left{
+    margin-left: 100px;
+}/* sample css file */
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexOCSMNogoods/lexOCSMNogoods.html b/force-app/main/default/lwc/lexOCSMNogoods/lexOCSMNogoods.html
new file mode 100644
index 0000000..49a10f7
--- /dev/null
+++ b/force-app/main/default/lwc/lexOCSMNogoods/lexOCSMNogoods.html
@@ -0,0 +1,5 @@
+<template>
+    <div class="sisToOPDHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexOCSMNogoods/lexOCSMNogoods.js b/force-app/main/default/lwc/lexOCSMNogoods/lexOCSMNogoods.js
new file mode 100644
index 0000000..f7be272
--- /dev/null
+++ b/force-app/main/default/lwc/lexOCSMNogoods/lexOCSMNogoods.js
@@ -0,0 +1,101 @@
+import { LightningElement,wire,track,api} from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import { NavigationMixin } from 'lightning/navigation';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+import { updateRecord } from 'lightning/uiRecordApi';
+import init  from '@salesforce/apex/QISReportController.initForlexRCRecievedButton';
+import updateQis  from '@salesforce/apex/QISReportController.updateQisForRCRecieved';
+
+export default class lexOCSMNogoods extends LightningElement {
+	@api recordId;
+	err;
+	IsLoading = true;
+	qisReportId;
+	qisStatus;
+	isAEProfile;
+	isCNBuy;
+	 @wire(CurrentPageReference)
+     getStateParameters(currentPageReference) {
+             console.log(111);
+             console.log(currentPageReference);
+
+         if (currentPageReference) {
+           const urlValue = currentPageReference.state.recordId;
+           if (urlValue) {
+             let str = `${urlValue}`;
+             console.log("str");
+             console.log(str);
+             this.recordId = str;
+           }
+         }
+     }
+
+     connectedCallback () {
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            this.IsLoading = false;
+            this.qisReportId = result.Id;
+            this.qisStatus = result.qIStatus;
+            this.isAEProfile = result.isAEProfile;
+            this.isCNBuy = result.isCNBuy;
+            console.log('this.qisStatus='+this.qisStatus);   
+         	if (this.qisStatus!='RC妫�娴嬬敵璇�') {
+                const evt = new ShowToastEvent({
+                        title : 'OCM鏈嶅姟鏈儴宸茬粡鏀跺埌瀹炵墿',
+                        message: '',
+                        variant: 'error'
+                    });
+                this.dispatchEvent(evt);
+                this.dispatchEvent(new CloseActionScreenEvent());
+                return;
+         	}else{
+         		if (this.isAEProfile == null || this.isPAEProfile == null || this.isCNBuy != 'true') {
+         			const evt = new ShowToastEvent({
+                        title : '瀹夊叏淇℃伅鏈垽瀹氾紝璇疯仈绯昏川閲忔硶瑙勯儴',
+                        message: '',
+                        variant: 'error'
+                    });
+	                this.dispatchEvent(evt);
+	                this.dispatchEvent(new CloseActionScreenEvent());
+	                return;
+         		}else{
+         			this.updateQisSubmit();
+         		}
+         	}
+        }).catch(error => {
+            console.log('error='+error);
+        }).finally(() => {
+            
+        }); 
+    }
+
+    updateRecordView(recordId) {
+        updateRecord({fields: { Id: recordId }});
+    }
+
+    updateQisSubmit(){
+        	updateQis({
+        		 recordId: this.recordId
+        		}).then(result =>{
+                    
+        			console.log('result'+result);
+        			this.err = result;
+        			if (result!='鎴愬姛') {
+                        const evt = new ShowToastEvent({
+                            title : '鏇存柊澶辫触',
+                            message: this.err,
+                            variant: 'error'
+                        });
+                        this.dispatchEvent(evt);
+                    }
+                this.dispatchEvent(new CloseActionScreenEvent());
+                this.updateRecordView(this.recordId);
+        		}).catch(error => {
+           				 console.log('error='+error);
+		        }).finally(() => {
+		            
+		        });
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexOCSMNogoods/lexOCSMNogoods.js-meta.xml b/force-app/main/default/lwc/lexOCSMNogoods/lexOCSMNogoods.js-meta.xml
new file mode 100644
index 0000000..7881cfb
--- /dev/null
+++ b/force-app/main/default/lwc/lexOCSMNogoods/lexOCSMNogoods.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lexOCSMNogoods">
+     <apiVersion>54.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightning__RecordPage</target>
+        <target>lightning__AppPage</target>
+        <target>lightning__HomePage</target>
+        <target>lightning__RecordAction</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexOCSMToReport/lexOCSMToReport.css b/force-app/main/default/lwc/lexOCSMToReport/lexOCSMToReport.css
new file mode 100644
index 0000000..ecc934d
--- /dev/null
+++ b/force-app/main/default/lwc/lexOCSMToReport/lexOCSMToReport.css
@@ -0,0 +1,10 @@
+.toReportHolder{
+    position: relative;
+    display: inline-block;
+    width: 80px;
+    height: 80px;
+    text-align: center;
+}
+.container .uiContainerManager{
+	display: none !important;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexOCSMToReport/lexOCSMToReport.html b/force-app/main/default/lwc/lexOCSMToReport/lexOCSMToReport.html
new file mode 100644
index 0000000..aaa4cbd
--- /dev/null
+++ b/force-app/main/default/lwc/lexOCSMToReport/lexOCSMToReport.html
@@ -0,0 +1,6 @@
+<template>
+    <div class="toReportHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+        <lightning-button label="Show Toast" onclick={ShowToastEvent}></lightning-button>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexOCSMToReport/lexOCSMToReport.js b/force-app/main/default/lwc/lexOCSMToReport/lexOCSMToReport.js
new file mode 100644
index 0000000..a7d8d5f
--- /dev/null
+++ b/force-app/main/default/lwc/lexOCSMToReport/lexOCSMToReport.js
@@ -0,0 +1,97 @@
+/*
+ * @Description: 
+ * @version: 
+ * @Author: chen jing wu
+ * @Date: 2023-04-07 09:02:03
+ * @LastEditors: chen jing wu
+ * @LastEditTime: 2023-04-11 11:26:11
+ */
+import { api, wire,LightningElement } from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import init  from '@salesforce/apex/ReportController.initForOCSMToReportButton';
+import updateForOCSMToReportButton  from '@salesforce/apex/ReportController.updateForOCSMToReportButton';
+import { updateRecord } from 'lightning/uiRecordApi';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+export default class LexOCSMToReport extends LightningElement {
+    @api recordId;
+    IsLoading = true;
+    OCSMAdministrativeReportStatus;
+    awareDate;
+
+
+    @wire(CurrentPageReference)
+    getStateParameters(currentPageReference) {
+            console.log(111);
+            console.log(currentPageReference);
+
+        if (currentPageReference) {
+          const urlValue = currentPageReference.state.recordId;
+          if (urlValue) {
+            let str = `${urlValue}`;
+            console.log("str");
+            console.log(str);
+            this.recordId = str;
+          }
+        }
+    }
+
+    connectedCallback(){
+        console.log(this.recordId);
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            console.log(result);
+            if (result != null) {
+                this.OCSMAdministrativeReportStatus = result.OCSMAdministrativeReportStatus;
+                this.awareDate = result.awareDate;
+                this.toReport();
+            }
+        }).catch(error => {
+            console.log("error");
+            console.log(error);
+        });
+
+    }
+
+
+    showToast(msg,type) {
+        const event = new ShowToastEvent({
+            title: '',
+            message: msg,
+            variant: type
+        });
+        this.dispatchEvent(event);
+    }
+
+
+    updateRecordView(recordId) {
+        updateRecord({fields: { Id: recordId }});
+    }
+
+    toReport () {
+        if (!confirm("鎶ュ憡鍚庢棤娉曟挙鍥烇紝鏄惁缁х画锛�")) {
+            this.dispatchEvent(new CloseActionScreenEvent());
+            return;
+            }
+
+        if(this.OCSMAdministrativeReportStatus == undefined && this.awareDate != undefined ){
+            updateForOCSMToReportButton({
+                recordId: this.recordId
+            }).then(result =>{
+                if(result){
+                    this.showToast(result,"error");
+                }else{
+                    this.showToast("鎴愬姛","success");
+                    this.updateRecordView(this.recordId);
+                    this.IsLoading = false;
+                }
+                this.dispatchEvent(new CloseActionScreenEvent());
+                });
+        }else{
+            this.showToast("娌℃湁AwareDate鎴栧凡缁廜CSM琛屾斂鎶ュ憡锛岃纭銆�","error");
+            this.dispatchEvent(new CloseActionScreenEvent());
+            return;
+        }
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexOCSMToReport/lexOCSMToReport.js-meta.xml b/force-app/main/default/lwc/lexOCSMToReport/lexOCSMToReport.js-meta.xml
new file mode 100644
index 0000000..3392981
--- /dev/null
+++ b/force-app/main/default/lwc/lexOCSMToReport/lexOCSMToReport.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+	<isExposed>true</isExposed>
+	<targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexOCSMToReportLighting/lexOCSMToReportLighting.css b/force-app/main/default/lwc/lexOCSMToReportLighting/lexOCSMToReportLighting.css
new file mode 100644
index 0000000..0ca9d8e
--- /dev/null
+++ b/force-app/main/default/lwc/lexOCSMToReportLighting/lexOCSMToReportLighting.css
@@ -0,0 +1,10 @@
+.toReportHolder{
+    position: relative;
+    display: inline-block;
+    width: 80px;
+    height: 80px;
+    text-align: center;
+}
+.container .uiContainerManager{
+	display: none !important;
+}/* sample css file *//* sample css file */
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexOCSMToReportLighting/lexOCSMToReportLighting.html b/force-app/main/default/lwc/lexOCSMToReportLighting/lexOCSMToReportLighting.html
new file mode 100644
index 0000000..c8bdbfc
--- /dev/null
+++ b/force-app/main/default/lwc/lexOCSMToReportLighting/lexOCSMToReportLighting.html
@@ -0,0 +1,5 @@
+<template>
+   <div class="sisToOPDHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexOCSMToReportLighting/lexOCSMToReportLighting.js b/force-app/main/default/lwc/lexOCSMToReportLighting/lexOCSMToReportLighting.js
new file mode 100644
index 0000000..fe89267
--- /dev/null
+++ b/force-app/main/default/lwc/lexOCSMToReportLighting/lexOCSMToReportLighting.js
@@ -0,0 +1,89 @@
+import { LightningElement,wire,track,api} from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import { NavigationMixin } from 'lightning/navigation';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+import init  from '@salesforce/apex/QISReportController.initForlexOCSMToReportLightingButton';
+import updateQis  from '@salesforce/apex/QISReportController.updateQisForlexOCSMToReportLighting';
+import UserInfo_Owner from '@salesforce/apex/TaskFeedbackController.UserInfo_Owner';
+import { updateRecord } from 'lightning/uiRecordApi';
+
+export default class lexOCSMToReportLighting extends LightningElement {
+	@api recordId;
+    str;
+    err;
+    IsLoading = true;
+    qisReportId;
+    OCSMAdministrativeReportStatus;
+    Awaredate;
+
+    @wire(CurrentPageReference)
+    getStateParameters(currentPageReference) {
+        if (currentPageReference) {
+            const urlValue = currentPageReference.state.recordId;
+            if (urlValue) {
+                let str = `${urlValue}`;
+                this.recordId = str;
+            }
+        }
+    }
+
+    connectedCallback() {
+        console.log(this.recordId);
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            console.log(result);
+                this.IsLoading = false;
+                this.OCSMAdministrativeReportStatus = result.oCSMAdministrativeReportStatus;
+                this.qisReportId = result.Id;
+                this.Awaredate = result.awaredate;
+                if (!confirm("涓嶈鎶ュ憡鍚庢棤娉曟挙鍥烇紝鏄惁缁х画锛�")) {
+            		this.dispatchEvent(new CloseActionScreenEvent());
+                    return;
+        		}
+        		if (this.OCSMAdministrativeReportStatus == null && this.Awaredate!=null) {
+	         		this.updateQisSubmit();
+	         	}else{
+	         		const evt = new ShowToastEvent({
+                            title : '娌℃湁AwareDate鎴栧凡缁廜CSM琛屾斂鎶ュ憡锛岃纭',
+                            message: '',
+                            variant: 'error'
+                        });
+                        this.dispatchEvent(evt);
+                        this.dispatchEvent(new CloseActionScreenEvent());
+                        return;
+	         	}
+        }).catch(error => {
+            console.log(error);
+        }).finally(() => {
+
+        });
+    }
+    updateRecordView(recordId) {
+        updateRecord({fields: { Id: recordId }});
+    }
+
+    updateQisSubmit(){
+        	updateQis({
+        		 recordId: this.recordId
+        		}).then(result =>{
+        			console.log('result'+result);
+                     this.err = result;
+        			if (result!='鎴愬姛') {
+                        const evt = new ShowToastEvent({
+                            title : '鏇存柊澶辫触',
+                            message: this.err,
+                            variant: 'error'
+                        });
+                        this.dispatchEvent(evt);
+                    }
+                this.dispatchEvent(new CloseActionScreenEvent());
+                this.updateRecordView(this.recordId);
+        		}).catch(error => {
+            console.log('error='+error);
+        }).finally(() => {
+            
+        });
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexOCSMToReportLighting/lexOCSMToReportLighting.js-meta.xml b/force-app/main/default/lwc/lexOCSMToReportLighting/lexOCSMToReportLighting.js-meta.xml
new file mode 100644
index 0000000..b0e1001
--- /dev/null
+++ b/force-app/main/default/lwc/lexOCSMToReportLighting/lexOCSMToReportLighting.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lexOCSMToReportLighting">
+   <apiVersion>54.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightning__RecordPage</target>
+        <target>lightning__AppPage</target>
+        <target>lightning__HomePage</target>
+        <target>lightning__RecordAction</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexOCSMToReportRepair/lexOCSMToReportRepair.html b/force-app/main/default/lwc/lexOCSMToReportRepair/lexOCSMToReportRepair.html
new file mode 100644
index 0000000..87f391a
--- /dev/null
+++ b/force-app/main/default/lwc/lexOCSMToReportRepair/lexOCSMToReportRepair.html
@@ -0,0 +1,6 @@
+<template>
+    <div class="exampleHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+        <lightning-button label="Show Toast" onclick={ShowToastEvent}></lightning-button>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexOCSMToReportRepair/lexOCSMToReportRepair.js b/force-app/main/default/lwc/lexOCSMToReportRepair/lexOCSMToReportRepair.js
new file mode 100644
index 0000000..40ebdc3
--- /dev/null
+++ b/force-app/main/default/lwc/lexOCSMToReportRepair/lexOCSMToReportRepair.js
@@ -0,0 +1,92 @@
+import {
+    LightningElement,
+    wire,
+    api
+} from 'lwc';
+import {
+    CurrentPageReference
+} from "lightning/navigation";
+import {
+    CloseActionScreenEvent
+} from 'lightning/actions';
+import init from '@salesforce/apex/otherButtonRepairController.init';
+import updateRepair from '@salesforce/apex/otherButtonRepairController.updateRepair';
+import {
+    ShowToastEvent
+} from 'lightning/platformShowToastEvent';
+
+
+export default class LexOCSMToReportRepair extends LightningElement {
+    @api recordId;
+    str;
+    IsLoading = true;
+    Id;
+    AwareDateC;
+    OCSMAdministrativeReportStatusC;
+
+    @wire(CurrentPageReference)
+    getStateParameters(currentPageReference) {
+        if (currentPageReference) {
+            const urlValue = currentPageReference.state.recordId;
+            if (urlValue) {
+                let str = `${urlValue}`;
+                this.recordId = str;
+            }
+        }
+    }
+
+    connectedCallback() {
+        console.log(this.recordId);
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            console.log(result);
+            if (result != null) {
+                this.IsLoading = false;
+                this.Id = result.Id;
+                this.AwareDateC = result.AwareDateC;
+                this.OCSMAdministrativeReportStatusC = result.OCSMAdministrativeReportStatusC;
+                
+                this.OCSMToReport();
+                this.dispatchEvent(new CloseActionScreenEvent());
+            }
+        }).catch(error => {
+            console.log(error);
+        }).finally(() => {
+
+        });
+    }
+
+    // OCSM瑕佹姤鍛�
+    OCSMToReport() {
+        if (!confirm("鎶ュ憡鍚庢棤娉曟挙鍥烇紝鏄惁缁х画锛�")) {
+            return;
+        }
+        if (this.OCSMAdministrativeReportStatusC == undefined && this.AwareDateC != undefined) {
+            updateRepair({
+                recordId: this.Id
+            }).catch(error => {
+                if (error.body.pageErrors.length > 0) {
+                    // alert(messages.join("\n"));
+                    var errmsg = error.body.pageErrors[0].message.toString();
+                    this.ShowToastEvent(errmsg.join("\n"), "error")
+                    return;
+                }
+            })
+            window.location.reload();
+        } else {
+            this.ShowToastEvent("娌℃湁AwareDate鎴栧凡缁廜CSM琛屾斂鎶ュ憡锛岃纭銆�", "error")
+            return;
+        }
+    }
+
+    // 寮圭獥
+    ShowToastEvent(msg, type) {
+        const event = new ShowToastEvent({
+            title: '',
+            message: msg,
+            variant: type
+        });
+        this.dispatchEvent(event);
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexOCSMToReportRepair/lexOCSMToReportRepair.js-meta.xml b/force-app/main/default/lwc/lexOCSMToReportRepair/lexOCSMToReportRepair.js-meta.xml
new file mode 100644
index 0000000..3392981
--- /dev/null
+++ b/force-app/main/default/lwc/lexOCSMToReportRepair/lexOCSMToReportRepair.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+	<isExposed>true</isExposed>
+	<targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexOLYwinBid/lexOLYwinBid.css b/force-app/main/default/lwc/lexOLYwinBid/lexOLYwinBid.css
new file mode 100644
index 0000000..a9b43eb
--- /dev/null
+++ b/force-app/main/default/lwc/lexOLYwinBid/lexOLYwinBid.css
@@ -0,0 +1,10 @@
+.lexOLYwinBidHolder{
+    position: relative;
+    display: inline-block;
+    width: 80px;
+    height: 80px;
+    text-align: center;
+}
+.container .uiContainerManager{
+	display: none !important;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexOLYwinBid/lexOLYwinBid.html b/force-app/main/default/lwc/lexOLYwinBid/lexOLYwinBid.html
new file mode 100644
index 0000000..cdbdc27
--- /dev/null
+++ b/force-app/main/default/lwc/lexOLYwinBid/lexOLYwinBid.html
@@ -0,0 +1,6 @@
+<template>
+    <div class="lexOLYwinBidHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+        <lightning-button label="Show Toast" onclick={ShowToastEvent}></lightning-button>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexOLYwinBid/lexOLYwinBid.js b/force-app/main/default/lwc/lexOLYwinBid/lexOLYwinBid.js
new file mode 100644
index 0000000..3aa9239
--- /dev/null
+++ b/force-app/main/default/lwc/lexOLYwinBid/lexOLYwinBid.js
@@ -0,0 +1,97 @@
+/*
+ * @Description: 
+ * @version: 
+ * @Author: chen jing wu
+ * @Date: 2023-04-13 13:15:52
+ * @LastEditors: chen jing wu
+ * @LastEditTime: 2023-04-13 13:37:19
+ */
+import { api, wire,LightningElement } from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import { updateRecord } from 'lightning/uiRecordApi';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+import init  from '@salesforce/apex/OpportunityLightingButtonController.initForOLYwinBidButton';
+import updateForOLYwinBidButton  from '@salesforce/apex/OpportunityLightingButtonController.updateForOLYwinBidButton';
+import queryForOLYwinBidButton  from '@salesforce/apex/OpportunityLightingButtonController.queryForOLYwinBidButton';
+export default class LexOLYwinBid extends LightningElement {
+    @api recordId;
+    ifOpenBid;
+    IsLoading = true;
+    @wire(CurrentPageReference)
+    getStateParameters(currentPageReference) {
+            console.log(111);
+            console.log(currentPageReference);
+
+        if (currentPageReference) {
+          const urlValue = currentPageReference.state.recordId;
+          if (urlValue) {
+            let str = `${urlValue}`;
+            console.log("str");
+            console.log(str);
+            this.recordId = str;
+          }
+        }
+    }
+    connectedCallback(){
+        init({
+            recordId: this.recordId
+        }).then(result=>{
+            console.log(result);
+            this.ifOpenBid = result.ifOpenBid;
+            this.lexLoseBid();
+        }).catch(error=>{
+            console.log("error");
+            console.log(error);
+        })
+    }
+    lexLoseBid(){
+        console.log("query start");
+        queryForOLYwinBidButton({
+            recordId: this.recordId
+        }).then(result=>{
+            console.log("query end");
+            console.log(result);
+            var flag = true;
+            var taskslist = result;
+            for(var task of taskslist ){
+                if(task.taskStatus__c != '04 鍙栨秷'){
+                flag = false;
+            }
+            }
+            if(this.ifOpenBid == '闈炲叕寮�鎷涙爣'){
+                flag = false;
+            }
+    
+            if(flag){
+                this.showToast("鏉′欢涓嶇鍚堬紝涓嶅彲鎿嶄綔","error");
+            }else{
+                if (window.confirm('鏄惁纭OLY涓爣锛�')) {
+                    updateForOLYwinBidButton({
+                        recordId: this.recordId
+                    }).then(result=>{
+                        if (result) {
+                            this.showToast(result,"error");
+                        }else{
+                            this.IsLoading = false;
+                            this.updateRecordView(this.recordId);
+                            this.showToast("鎿嶄綔鎴愬姛锛�","success");
+                        }
+                    })  
+                }
+            }
+        });    
+    }
+    showToast(msg,type) {
+        const event = new ShowToastEvent({
+            title: '',
+            message: msg,
+            variant: type
+        });
+        this.dispatchEvent(event);
+        this.dispatchEvent(new CloseActionScreenEvent());
+    }
+    updateRecordView(recordId) {
+        updateRecord({fields: { Id: recordId }});
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexOLYwinBid/lexOLYwinBid.js-meta.xml b/force-app/main/default/lwc/lexOLYwinBid/lexOLYwinBid.js-meta.xml
new file mode 100644
index 0000000..3392981
--- /dev/null
+++ b/force-app/main/default/lwc/lexOLYwinBid/lexOLYwinBid.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+	<isExposed>true</isExposed>
+	<targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexOPDtoSIS/lexOPDtoSIS.css b/force-app/main/default/lwc/lexOPDtoSIS/lexOPDtoSIS.css
new file mode 100644
index 0000000..2a3dbc5
--- /dev/null
+++ b/force-app/main/default/lwc/lexOPDtoSIS/lexOPDtoSIS.css
@@ -0,0 +1,10 @@
+.opdToSISHolder{
+    position: relative;
+    display: inline-block;
+    width: 80px;
+    height: 80px;
+    text-align: center;
+}
+.container .uiContainerManager{
+	display: none !important;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexOPDtoSIS/lexOPDtoSIS.html b/force-app/main/default/lwc/lexOPDtoSIS/lexOPDtoSIS.html
new file mode 100644
index 0000000..de73f87
--- /dev/null
+++ b/force-app/main/default/lwc/lexOPDtoSIS/lexOPDtoSIS.html
@@ -0,0 +1,6 @@
+<template>
+    <div class="opdToSISHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+        <lightning-button label="Show Toast" onclick={ShowToastEvent}></lightning-button>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexOPDtoSIS/lexOPDtoSIS.js b/force-app/main/default/lwc/lexOPDtoSIS/lexOPDtoSIS.js
new file mode 100644
index 0000000..3d287d0
--- /dev/null
+++ b/force-app/main/default/lwc/lexOPDtoSIS/lexOPDtoSIS.js
@@ -0,0 +1,95 @@
+/*
+ * @Description: 
+ * @version: 
+ * @Author: chen jing wu
+ * @Date: 2023-04-07 09:02:03
+ * @LastEditors: chen jing wu
+ * @LastEditTime: 2023-04-11 11:27:14
+ */
+import { api, wire,LightningElement } from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import updateForOPDtoSISButton  from '@salesforce/apex/ReportController.updateForOPDtoSISButton';
+import init  from '@salesforce/apex/ReportController.initForOPDtoSISButton';
+import { updateRecord } from 'lightning/uiRecordApi';
+import UserInfo_Owner from '@salesforce/apex/TaskFeedbackController.UserInfo_Owner';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+
+export default class LexOPDtoSIS extends LightningElement {
+    @api recordId;
+    IsLoading = true;
+    ownerId;
+    status;
+    userId;
+
+    @wire(CurrentPageReference)
+    getStateParameters(currentPageReference) {
+            console.log(111);
+            console.log(currentPageReference);
+
+        if (currentPageReference) {
+          const urlValue = currentPageReference.state.recordId;
+          if (urlValue) {
+            let str = `${urlValue}`;
+            console.log("str");
+            console.log(str);
+            this.recordId = str;
+          }
+        }
+    }
+
+
+    connectedCallback(){
+        console.log(this.recordId);
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            console.log(result);
+            console.log("123");
+            if (result != null) {
+                this.ownerId = result.ownerId;
+                this.status = result.status;
+                this.userId = result.userId;
+                this.OPDtoSIS();
+            }
+        }).catch(error => {
+            console.log("error");
+            console.log(error);
+        });
+
+    }
+
+    showToast(msg,type) {
+        const event = new ShowToastEvent({
+            title: '',
+            message: msg,
+            variant: type
+        });
+        this.dispatchEvent(event);
+    }
+
+    updateRecordView(recordId) {
+        updateRecord({fields: { Id: recordId }});
+    }
+
+    OPDtoSIS () {
+        if(this.ownerId == this.userId && this.status == "鑽夋涓�") {
+            updateForOPDtoSISButton({
+                recordId: this.recordId
+            }).then(result =>{
+                if(result){
+                    this.showToast(result,"error");
+                }else{
+                    this.updateRecordView(this.recordId);
+                    this.showToast("鎴愬姛锛�","success");
+                    this.IsLoading = false;
+                }
+                this.dispatchEvent(new CloseActionScreenEvent());
+                });
+            } else {
+                this.showToast("鍙崏妗堜腑鐘舵�佸強OPD/SIS鎶ュ憡涔︾殑鎵�鏈変汉鍙互鎻愪氦","error");
+                this.dispatchEvent(new CloseActionScreenEvent());
+            }
+        
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexOPDtoSIS/lexOPDtoSIS.js-meta.xml b/force-app/main/default/lwc/lexOPDtoSIS/lexOPDtoSIS.js-meta.xml
new file mode 100644
index 0000000..3392981
--- /dev/null
+++ b/force-app/main/default/lwc/lexOPDtoSIS/lexOPDtoSIS.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+	<isExposed>true</isExposed>
+	<targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexOSHInspect/lexOSHInspect.css b/force-app/main/default/lwc/lexOSHInspect/lexOSHInspect.css
new file mode 100644
index 0000000..f708a55
--- /dev/null
+++ b/force-app/main/default/lwc/lexOSHInspect/lexOSHInspect.css
@@ -0,0 +1,10 @@
+.opdToSISHolder{
+    position: relative;
+    display: inline-block;
+    width: 80px;
+    height: 80px;
+    text-align: center;
+}
+.container .uiContainerManager{
+	display: none !important;
+}/* sample css file */
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexOSHInspect/lexOSHInspect.html b/force-app/main/default/lwc/lexOSHInspect/lexOSHInspect.html
new file mode 100644
index 0000000..cc6a015
--- /dev/null
+++ b/force-app/main/default/lwc/lexOSHInspect/lexOSHInspect.html
@@ -0,0 +1,5 @@
+<template>
+    <div class="opdToSISHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexOSHInspect/lexOSHInspect.js b/force-app/main/default/lwc/lexOSHInspect/lexOSHInspect.js
new file mode 100644
index 0000000..55e5142
--- /dev/null
+++ b/force-app/main/default/lwc/lexOSHInspect/lexOSHInspect.js
@@ -0,0 +1,100 @@
+import { LightningElement,wire,track,api} from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import { NavigationMixin } from 'lightning/navigation';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+import init  from '@salesforce/apex/QISReportController.initForlexOSHInspectButton';
+import updateQis  from '@salesforce/apex/QISReportController.updateQisForlexOSHInspect';
+import UserInfo_Owner from '@salesforce/apex/TaskFeedbackController.UserInfo_Owner';
+import { updateRecord } from 'lightning/uiRecordApi';
+
+export default class lexOSHInspect extends LightningElement {
+	@api recordId;
+	IsLoading = true;
+	qisReportId;
+	qisStatus;
+	oSHInspectionDate;
+    err;
+    @wire(CurrentPageReference)
+     getStateParameters(currentPageReference) {
+             console.log(111);
+             console.log(currentPageReference);
+
+         if (currentPageReference) {
+           const urlValue = currentPageReference.state.recordId;
+           if (urlValue) {
+             let str = `${urlValue}`;
+             console.log("str");
+             console.log(str);
+             this.recordId = str;
+           }
+         }
+     }
+
+
+    connectedCallback () {
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            this.IsLoading = false;
+            this.qisReportId = result.Id;
+            this.qisStatus = result.qIStatus;
+            this.oSHInspectionDate = result.oSHInspectionDate;
+         	if (this.qisStatus!='OSH妫�娴嬩腑') {
+         		const evt = new ShowToastEvent({
+                            title : '闇�瑕佸厛鐐瑰嚮锛籓SH鐜板搧鏀跺埌锛�',
+                            message: '',
+                            variant: 'error'
+                        });
+                        this.dispatchEvent(evt);
+                        this.dispatchEvent(new CloseActionScreenEvent());
+                        return;
+         	}else if(this.oSHInspectionDate != null){
+         		const evt = new ShowToastEvent({
+                            title : 'OSH妫�娴嬪凡缁忓彈鐞�',
+                            message: '',
+                            variant: 'error'
+                        });
+                        this.dispatchEvent(evt);
+                        this.dispatchEvent(new CloseActionScreenEvent());
+                        return;
+         	}else{
+         		this.updateQisSubmit();
+         	}
+         	
+    
+			
+        }).catch(error => {
+            console.log('error='+error);
+        }).finally(() => {
+            
+        }); 
+    }
+
+    updateRecordView(recordId) {
+        updateRecord({fields: { Id: recordId }});
+    }
+
+    updateQisSubmit(){
+        	updateQis({
+        		 recordId: this.recordId
+        		}).then(result =>{
+        			console.log('result'+result);
+        			if (result!='鎴愬姛') {
+                        this.err = result;
+                        const evt = new ShowToastEvent({
+                            title : '鏇存柊澶辫触',
+                            message: this.err,
+                            variant: 'error'
+                        });
+                        this.dispatchEvent(evt);
+                    }
+                this.dispatchEvent(new CloseActionScreenEvent());
+                this.updateRecordView(this.recordId);
+        		}).catch(error => {
+            console.log('error='+error);
+        }).finally(() => {
+            
+        });
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexOSHInspect/lexOSHInspect.js-meta.xml b/force-app/main/default/lwc/lexOSHInspect/lexOSHInspect.js-meta.xml
new file mode 100644
index 0000000..220e747
--- /dev/null
+++ b/force-app/main/default/lwc/lexOSHInspect/lexOSHInspect.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lexOSHInspect">
+      <apiVersion>54.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightning__RecordPage</target>
+        <target>lightning__AppPage</target>
+        <target>lightning__HomePage</target>
+        <target>lightning__RecordAction</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexOSHSubmit/lexOSHSubmit.css b/force-app/main/default/lwc/lexOSHSubmit/lexOSHSubmit.css
new file mode 100644
index 0000000..f708a55
--- /dev/null
+++ b/force-app/main/default/lwc/lexOSHSubmit/lexOSHSubmit.css
@@ -0,0 +1,10 @@
+.opdToSISHolder{
+    position: relative;
+    display: inline-block;
+    width: 80px;
+    height: 80px;
+    text-align: center;
+}
+.container .uiContainerManager{
+	display: none !important;
+}/* sample css file */
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexOSHSubmit/lexOSHSubmit.html b/force-app/main/default/lwc/lexOSHSubmit/lexOSHSubmit.html
new file mode 100644
index 0000000..cc6a015
--- /dev/null
+++ b/force-app/main/default/lwc/lexOSHSubmit/lexOSHSubmit.html
@@ -0,0 +1,5 @@
+<template>
+    <div class="opdToSISHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexOSHSubmit/lexOSHSubmit.js b/force-app/main/default/lwc/lexOSHSubmit/lexOSHSubmit.js
new file mode 100644
index 0000000..515ea3e
--- /dev/null
+++ b/force-app/main/default/lwc/lexOSHSubmit/lexOSHSubmit.js
@@ -0,0 +1,140 @@
+import { LightningElement,wire,track,api} from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import { NavigationMixin } from 'lightning/navigation';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+import init  from '@salesforce/apex/QISReportController.initForOSHSubmitButton';
+import updateQis  from '@salesforce/apex/QISReportController.updateQis1';
+import UserInfo_Owner from '@salesforce/apex/TaskFeedbackController.UserInfo_Owner';
+import { updateRecord } from 'lightning/uiRecordApi';
+export default class lexOSHSubmit extends LightningElement {
+	@api recordId;
+	IsLoading = true;
+	qisReportId;
+	qisStatus;
+	OSHstaff;
+	OSHstaffEmail;
+    err;
+    @wire(CurrentPageReference)
+     getStateParameters(currentPageReference) {
+             console.log(111);
+             console.log(currentPageReference);
+
+         if (currentPageReference) {
+           const urlValue = currentPageReference.state.recordId;
+           if (urlValue) {
+             let str = `${urlValue}`;
+             console.log("str");
+             console.log(str);
+             this.recordId = str;
+           }
+         }
+     }
+
+
+    connectedCallback () {
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            this.IsLoading = false;
+            this.qisReportId = result.Id;
+            this.qisStatus = result.qIStatus;
+            this.OSHstaff = result.oSHstaff;
+            this.OSHstaffEmail = result.oSHstaffEmail;
+            console.log('this.qisStatus='+this.qisStatus);
+            console.log('this.OSHstaff='+this.OSHstaff);
+            console.log('this.OSHstaffEmail='+this.OSHstaffEmail);
+         	if (this.qisStatus=='OSH妫�娴嬬敵璇�' && this.qisStatus=='瀹屾瘯') {
+                const evt = new ShowToastEvent({
+                            title : '闇�瑕佸厛鐐瑰嚮锛籓SH妫�鏌ュ彈鐞嗭冀',
+                            message: '',
+                            variant: 'error'
+                        });
+                        this.dispatchEvent(evt);
+                        this.dispatchEvent(new CloseActionScreenEvent());
+                        return;
+         	}
+         	if (this.qisStatus!='OSH妫�娴嬩腑') {
+                const evt = new ShowToastEvent({
+                            title : '宸茬粡鎻愪氦瀹℃壒',
+                            message: '',
+                            variant: 'error'
+                        });
+                        this.dispatchEvent(evt);
+                        this.dispatchEvent(new CloseActionScreenEvent());
+                        return;
+         	}
+         	if (!confirm("涓�鏃︽彁浜ゆ璁板綍浠ュ緟鎵瑰噯锛屾牴鎹偍鐨勮缃偍鍙兘涓嶅啀鑳藉缂栬緫姝よ褰曟垨灏嗕粬浠庢壒鍑嗚繃绋嬩腑璋冨洖銆傛槸鍚︾户缁紵")) {
+				return;
+			}
+			if (this.OSHstaff==null||this.OSHstaffEmail==null) {
+                const evt = new ShowToastEvent({
+                            title : 'OSH鎷呭綋蹇呴』濉啓',
+                            message: '',
+                            variant: 'error'
+                        });
+                        this.dispatchEvent(evt);
+                        this.dispatchEvent(new CloseActionScreenEvent());
+                        return;
+			}
+            try{
+                this.updateQisSubmit();
+            }catch(err){
+                if(err.faultstring !=undefined && err.faultstring.indexOf('INVALID_SESSION_ID') != -1) {
+                    const evt = new ShowToastEvent({
+                            title : '褰撳墠缃戦〉宸茬櫥鍑猴紝璇锋偍閲嶆柊鐧诲綍鍚庡埛鏂拌缃戦〉锛�',
+                            message: '',
+                            variant: 'error'
+                        });
+                        this.dispatchEvent(evt);
+                        this.dispatchEvent(new CloseActionScreenEvent());
+                        return;
+                } else {
+                    const evt = new ShowToastEvent({
+                            title : err.faultstring,
+                            message: '',
+                            variant: 'error'
+                        });
+                        this.dispatchEvent(evt);
+                        this.dispatchEvent(new CloseActionScreenEvent());
+                        return;
+                }
+                return;
+            }
+			
+        }).catch(error => {
+            console.log('error='+error);
+        }).finally(() => {
+            
+        }); 
+    }
+
+    updateRecordView(recordId) {
+        updateRecord({fields: { Id: recordId }});
+    }
+
+    updateQisSubmit(){
+        	updateQis({
+        		 recordId: this.recordId
+        		}).then(result =>{
+        			console.log('result'+result);
+        			if (result!='鎴愬姛') {
+                        this.err = result;
+                        const evt = new ShowToastEvent({
+                            title : '鏇存柊澶辫触',
+                            message: this.err,
+                            variant: 'error'
+                        });
+                        this.dispatchEvent(evt);
+                    }
+                this.dispatchEvent(new CloseActionScreenEvent());
+                this.updateRecordView(this.recordId);
+        		}).catch(error => {
+            console.log('error='+error);
+        }).finally(() => {
+            
+        });
+    }
+
+
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexOSHSubmit/lexOSHSubmit.js-meta.xml b/force-app/main/default/lwc/lexOSHSubmit/lexOSHSubmit.js-meta.xml
new file mode 100644
index 0000000..a17e350
--- /dev/null
+++ b/force-app/main/default/lwc/lexOSHSubmit/lexOSHSubmit.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lexOSHSubmit">
+     <apiVersion>54.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightning__RecordPage</target>
+        <target>lightning__AppPage</target>
+        <target>lightning__HomePage</target>
+        <target>lightning__RecordAction</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexOutboundorderImport/lexOutboundorderImport.css b/force-app/main/default/lwc/lexOutboundorderImport/lexOutboundorderImport.css
new file mode 100644
index 0000000..5876eac
--- /dev/null
+++ b/force-app/main/default/lwc/lexOutboundorderImport/lexOutboundorderImport.css
@@ -0,0 +1,29 @@
+.outerBorderCss{
+    border: 1px solid #D4D4D4;
+    border-radius : 5px;
+    border-top : 3px solid #565959;
+}
+.borderCss{
+    border: 1px solid #D4D4D4;
+    border-radius : 5px;
+    margin-bottom : 7px;
+    border-top : 3px solid #565959;
+}
+.headerDorderCss{
+    border-top: 1px solid #565959;
+    border-bottom: 1px solid #D4D4D4;
+    padding:3px;
+}
+.centerCss{
+    text-align: center;
+}
+.centerCss .left{
+    margin-left: 100px;
+}
+.floatLeft{
+    float: left;
+}
+.fontWeight{
+    margin-left: 5px;
+    font-weight:bold;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexOutboundorderImport/lexOutboundorderImport.html b/force-app/main/default/lwc/lexOutboundorderImport/lexOutboundorderImport.html
new file mode 100644
index 0000000..c702299
--- /dev/null
+++ b/force-app/main/default/lwc/lexOutboundorderImport/lexOutboundorderImport.html
@@ -0,0 +1,74 @@
+<!-- sldsValidatorIgnore -->
+<!-- sldsValidatorIgnore -->
+<template>
+    <template if:true={isShowSpinner}>
+        <lightning-spinner
+            alternative-text="Loading"
+            size="large"
+        ></lightning-spinner>
+    </template>
+    <div class="outerBorderCss">
+        <div style="padding: 5px">
+            <div class="borderCss">
+                <div style="padding: 10px">
+                    <div lwc:dom="manual" class="resultDiv"></div>
+                    <div draggable="false" class="centerCss">
+                        <lightning-layout multiple-rows="true">
+                            <lightning-layout-item size="4" style="display: flex;align-items: center;">
+                                <lightning-input
+                                class="floatLeft"
+                                    label=""
+                                    name="file uploader"
+                                    onchange={handleFilesChange}
+                                    type="file"
+                                    accept={acceptedType}
+                                    variant="label-hidden"
+                                ></lightning-input>
+                                <div class="slds-text-body_small floatLeft fontWeight">
+                                    {fileName}
+                                </div>
+                            </lightning-layout-item>
+                            <lightning-layout-item size="4">
+                                <lightning-button
+                                    label="璇诲彇csv鏂囦欢"
+                                    onclick={getCsvFile}
+                                ></lightning-button>
+                            </lightning-layout-item>
+                            <lightning-layout-item size="4">
+                                <lightning-button
+                                    label="瀵煎叆鏁版嵁"
+                                    onclick={dataImport}
+                                    disabled={saveFLGbln}
+                                ></lightning-button>
+                            </lightning-layout-item>
+                        </lightning-layout>
+                    </div>
+
+                    <div class="borderCss" style="margin-top: 10px;">
+                        <div class="headerDorderCss">
+                            <p style="font-size: 16px">
+                                <strong>鍑哄簱鍗曚俊鎭�</strong>
+                            </p>
+                        </div>
+                        <div style="padding: 10px">
+                            <div lwc:dom="manual" class="resultDiv"></div>
+                            <div draggable="false">
+                                <lightning-datatable
+                                    key-field="id"
+                                    data={data}
+                                    columns={columns}
+                                    hide-checkbox-column
+                                    default-sort-direction={defaultSortDirection}
+                                    sorted-direction={sortDirection}
+                                    sorted-by={sortedBy}
+                                    onsort={onHandleSort}
+                                >
+                                </lightning-datatable>
+                            </div>
+                        </div>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexOutboundorderImport/lexOutboundorderImport.js b/force-app/main/default/lwc/lexOutboundorderImport/lexOutboundorderImport.js
new file mode 100644
index 0000000..6a436f5
--- /dev/null
+++ b/force-app/main/default/lwc/lexOutboundorderImport/lexOutboundorderImport.js
@@ -0,0 +1,233 @@
+import { LightningElement, api, track, wire } from "lwc";
+import { ShowToastEvent } from "lightning/platformShowToastEvent";
+import init from "@salesforce/apex/LexOutboundorderImportController.init";
+import importCSVFile from "@salesforce/apex/LexOutboundorderImportController.importCSVFile";
+import dataImport from "@salesforce/apex/LexOutboundorderImportController.dataImport";
+
+const columns = [
+  {
+    label: "鍑哄簱鍗曞悕绉�",
+    fieldName: "orderName",
+    hideDefaultActions: true,
+  },
+  {
+    label: "鐩殑",
+    fieldName: "orderSummonsForDirction",
+    hideDefaultActions: true,
+  },
+  {
+    label: "鍖婚櫌缂栫爜",
+    fieldName: "hospitalCode",
+    hideDefaultActions: true,
+  },
+  {
+    label: "鍖婚櫌鍚嶇О",
+    fieldName: "hospitalName",
+    hideDefaultActions: true,
+  },
+  {
+    label: "绉戝",
+    fieldName: "orderOrderForCustomerText",
+    hideDefaultActions: true,
+  },
+  {
+    label: "浜岀骇缁忛攢鍟�",
+    fieldName: "agencyName",
+    hideDefaultActions: true,
+  },
+  {
+    label: "鍑哄簱/閿�鍞棩鏈�",
+    fieldName: "orderOutboundDate",
+    hideDefaultActions: true,
+  },
+];
+export default class LexOutboundorderImport extends LightningElement {
+  @track isShowSpinner = true;
+  //鏂囦欢涓婁紶
+  @track showLoadingSpinner = false;
+  @track UploadFile = "Upload File";
+  @track fileName = "";
+  @track fileData = [];
+  @track fileColumns = [
+    {
+      label: "鏍囬",
+      fieldName: "url",
+      type: "url",
+      typeAttributes: { label: { fieldName: "Title" }, target: "_blank" },
+      hideDefaultActions: true,
+    },
+    {
+      label: "鍒涘缓浜�",
+      fieldName: "CreatedByName",
+      hideDefaultActions: true,
+    },
+  ];
+  filesUploaded = [];
+  fileContents;
+  fileReader;
+  content;
+  MAX_FILE_SIZE = 1500000;
+  get acceptedType() {
+    return [".csv"];
+  }
+
+  //鍒楄〃
+  columns = columns;
+  @track data = [];
+
+  //鏁版嵁
+  @track accountid = "";
+  @track userWorkLocation = "";
+  @track agencyProType = "";
+  @track accountName = "";
+  @track sqlagencyProType = "";
+  @track csvRecordStr = [];
+  @track saveFLGbln = false;
+
+  connectedCallback() {
+    init()
+      .then((r) => {
+        r = JSON.parse(JSON.stringify(r));
+        console.log("r = " + JSON.stringify(r));
+        if (r.status == "Success") {
+          this.accountid = r.entity.accountid;
+          this.userWorkLocation = r.entity.userWorkLocation;
+          this.agencyProType = r.entity.agencyProType;
+          this.accountName = r.entity.accountName;
+          this.sqlagencyProType = r.entity.sqlagencyProType;
+          this.isShowSpinner = false;
+        } else {
+          console.log("r = " + JSON.stringify(r));
+          this.showToast("Error", r.msg);
+        }
+      })
+      .catch((error) => {
+        console.log("error = " + JSON.stringify(error));
+        this.showToast("Error", error.message);
+      });
+  }
+
+  getCsvFile() {
+    this.isShowSpinner = true;
+    
+    if (this.filesUploaded.length > 0) {
+      this.file = this.filesUploaded[0];
+      if (this.file.size > this.MAX_FILE_SIZE) {
+        window.console.log("鏂囦欢杩囧ぇ");
+        this.isShowSpinner = false;
+        return;
+      }
+      this.fileReader = new FileReader();
+
+      this.fileReader.onloadend = () => {
+        this.fileContents = this.fileReader.result;
+        let base64 = "base64,";
+        this.content = this.fileContents.indexOf(base64) + base64.length;
+        this.fileContents = this.fileContents.substring(this.content);
+        console.log('getCsvFile')
+        this.importCSVFile();
+      };
+      this.fileReader.readAsDataURL(this.file);
+    } else {
+      this.fileName = "閫夋嫨涓�涓猚sv鏂囦欢涓婁紶";
+      this.showToast("Error", '閫夋嫨涓�涓猚sv鏂囦欢涓婁紶');
+    }
+  }
+
+  importCSVFile() {
+    console.log('importCSVFile')
+    importCSVFile({
+      base64Data: encodeURIComponent(this.fileContents),
+      sqlagencyProType: this.sqlagencyProType,
+      userWorkLocation: this.userWorkLocation,
+      accountName: this.accountName,
+    }).then((r) => {
+        r = JSON.parse(JSON.stringify(r));
+        console.log("r = " + JSON.stringify(r));
+        if (r.status == "Success" && r.msg == "") {
+            console.log("importCSVFile success");
+            this.saveFLGbln = r.entity.saveFLGbln;
+            this.csvRecordStr = r.entity.csvRecordStr;
+            this.data = r.entity.orderRecords;
+            for(var i in this.data){
+                this.data[i]['orderName'] = this.data[i].order.Name;
+                this.data[i]['orderSummonsForDirction'] = this.data[i].order.SummonsForDirction__c;
+                this.data[i]['orderOrderForCustomerText'] = this.data[i].order.Order_ForCustomerText__c;
+                this.data[i]['orderOutboundDate'] = this.data[i].order.Outbound_Date__c;
+            }
+            this.isShowSpinner = false;
+        }else if(r.msg != ""){
+            console.log("r.msg = " + JSON.stringify(r.msg));
+            this.saveFLGbln = r.entity.saveFLGbln;
+            this.data = r.entity.orderRecords;
+            for(var i in this.data){
+                this.data[i]['orderName'] = this.data[i].order.Name;
+                this.data[i]['orderSummonsForDirction'] = this.data[i].order.SummonsForDirction__c;
+                this.data[i]['orderOrderForCustomerText'] = this.data[i].order.Order_ForCustomerText__c;
+                this.data[i]['orderOutboundDate'] = this.data[i].order.Outbound_Date__c;
+            }
+            this.showToast("Error", r.msg);
+        }else{
+            console.log("r.msg = " + JSON.stringify(r.msg));
+            this.showToast("Error", r.msg);
+        }
+      })
+      .catch((error) => {
+        console.log("error = " + JSON.stringify(error.message));
+        this.showToast("Error", error.message);
+      });
+  }
+
+  dataImport(){
+    this.isShowSpinner = true;
+    let cloneData = this.data;
+    for(var i in cloneData){
+      delete cloneData[i].orderName;
+      delete cloneData[i].orderSummonsForDirction;
+      delete cloneData[i].orderOrderForCustomerText;
+      delete cloneData[i].orderOutboundDate;
+  }
+    dataImport({
+      csvRecordStr: this.csvRecordStr,
+      orderRecords: cloneData,
+      sqlagencyProType: this.sqlagencyProType,
+      userWorkLocation: this.userWorkLocation,
+      accountName : this.accountName
+    }).then((r) => {
+        r = JSON.parse(JSON.stringify(r));
+        console.log("r = " + JSON.stringify(r));
+        if (r.status == "Success" && r.msg == "") {
+            console.log("dataImport success");
+            this.showToast("Success", '淇濆瓨鎴愬姛');
+        }else if(r.msg != ""){
+            console.log("r.msg = " + JSON.stringify(r.msg));
+            this.showToast("Error", r.msg);
+        }else{
+            console.log("r.msg = " + JSON.stringify(r.msg));
+            this.showToast("Error", r.msg);
+        }
+      })
+      .catch((error) => {
+        console.log("error = " + JSON.stringify(error.message));
+        this.showToast("Error", error.message);
+      });
+  }
+
+  handleFilesChange(event) {
+    console.log("handleFilesChange");
+    if (event.target.files.length > 0) {
+      this.filesUploaded = event.target.files;
+      this.fileName = event.target.files[0].name;
+    }
+  }
+
+  showToast(type, msg) {
+    this.isShowSpinner = false;
+    const event = new ShowToastEvent({
+      title: type,
+      variant: type,
+      message: msg,
+    });
+    this.dispatchEvent(event);
+  }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexOutboundorderImport/lexOutboundorderImport.js-meta.xml b/force-app/main/default/lwc/lexOutboundorderImport/lexOutboundorderImport.js-meta.xml
new file mode 100644
index 0000000..d893635
--- /dev/null
+++ b/force-app/main/default/lwc/lexOutboundorderImport/lexOutboundorderImport.js-meta.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>56.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightningCommunity__Page</target>
+        <target>lightningCommunity__Default</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexOverdueStock/lexOverdueStock.html b/force-app/main/default/lwc/lexOverdueStock/lexOverdueStock.html
new file mode 100644
index 0000000..8677e61
--- /dev/null
+++ b/force-app/main/default/lwc/lexOverdueStock/lexOverdueStock.html
@@ -0,0 +1,109 @@
+<template>
+    <template if:true={showSpinner}>
+        <lightning-spinner size="medium" variant="brand"></lightning-spinner>
+    </template>
+    <div style="border: 1px solid #D4D4D4;border-radius:5px;"> 
+        <div style="border-top: 3px solid #51606E;;border-bottom: 1px solid #D4D4D4;padding:3px;">
+            <div>
+                <p style="font-size: 19px;float:left"><strong>杩囨湡搴撳瓨閿�瀛�</strong></p>
+            </div>
+            <div style="margin-left:400px;">
+                <lightning-button label="閿�瀛樼‘璁�" title="閿�瀛樼‘璁�" onclick={saveConfirm}></lightning-button>
+            </div>
+        </div>
+
+        <div style="padding:10px;">
+            <div style="border: 1px solid #D4D4D4;border-radius:5px;margin-bottom:7px;">
+                <div style="border-top: 3px solid #51606E;border-bottom: 1px solid #D4D4D4;padding:3px;">
+                    <table>
+                        <colgroup>
+                            <col width="160px" />
+                            <col width="100px" />
+                            <col width="10px" />
+                            <col width="70px" />
+                            <col width="100px" />
+                            <col width="10px" />
+                            <col width="90px" />
+                            <col width="100px" />
+                            <col width="10px" />
+                            <col width="85px" />
+                            <col width="100px" />
+                            <col width="10px" />
+                            <col width="70px" />
+                            <col width="100px" />
+                        </colgroup>
+                        <tbody>
+                            <tr>
+                                <td></td>
+                                <td align="right">Barcode</td>
+                                <td style="width:600px"><lightning-textarea name="Barcode" label=""
+                                        onchange={handleChange}></lightning-textarea></td>
+                                <td align="right"></td>
+                                <td></td>
+                                <td><lightning-button label="Barcode" title="Barcode褰曞叆" onclick={barcodeEntrys}
+                                        style="width: 150px;"></lightning-button>
+                                </td>
+                            </tr>
+                        </tbody>
+                    </table>
+                </div>
+            </div>
+
+            <div style="border: 1px solid #D4D4D4;border-radius:5px;margin-bottom:7px;">
+                <div style="border-top: 3px solid #51606E;border-bottom: 1px solid #D4D4D4;padding:3px;">
+                    <p style="font-size: 16px;"><strong>杩囨湡搴撳瓨涓�瑙�</strong></p>
+                </div>
+                <div style="padding:10px;">
+
+                    <div style="height: 300px;">
+                        <template if:true={showTable}>
+
+                            <c-lex-custom-lightning-datatable key-field="prodid" data={data} columns={columns}
+                            onrowselection={getSelectedRows}
+                            selected-rows={selectedRows}>
+                                </c-lex-custom-lightning-datatable>
+                        </template>
+                        <!-- 鍔犺浇妗� -->
+
+                           <!-- <div if:true={casesSpinner} class="slds-spinner_inline spinner-padding"
+                            style="margin-top:10px;">
+                            <lightning-spinner variant="brand" alternative-text="Loading Cases" size="medium">
+                            </lightning-spinner>
+                        </div> -->
+
+                    </div>
+
+                </div>
+            </div>
+        </div>
+
+      
+            <div style="border: 1px solid #D4D4D4;border-radius:5px;margin-bottom:7px;margin-top:50px">
+                <div style="border-top: 3px solid #51606E;border-bottom: 1px solid #D4D4D4;padding:3px;">
+                    <table>
+                        <tr>
+                            <td>
+                                <p style="font-size: 16px;"><strong>閿�瀛樻槑缁�</strong></p>
+                            </td>
+                        </tr>
+                    </table>
+                </div>
+ 
+            <div style="padding:10px;">
+                <template if:true={showTables}>
+                    <!-- <c-lwc-datatable-utility records={overduePageRecords} total-records={overduePageRecords.length}
+                        columns={column} key-field="Id" show-search-box="true" max-row-selection={overduePageRecords.length}
+                        onpaginatorchange={handlePaginatorChange}>
+                    </c-lwc-datatable-utility> -->
+                    <c-lex-custom-lightning-datatable key-field="prodid" data={overduePageRecords} columns={column}
+                    onrowselection={getSelectedRows}   hide-checkbox-column="true"
+                   selected-rows={selectedRows}>
+               </c-lex-custom-lightning-datatable>
+                </template>
+
+
+            </div>
+        </div>
+    </div>
+    
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexOverdueStock/lexOverdueStock.js b/force-app/main/default/lwc/lexOverdueStock/lexOverdueStock.js
new file mode 100644
index 0000000..d066ce8
--- /dev/null
+++ b/force-app/main/default/lwc/lexOverdueStock/lexOverdueStock.js
@@ -0,0 +1,265 @@
+import { LightningElement, wire, api, track } from 'lwc';
+import init from '@salesforce/apex/LexOverdueStockController.init';
+import barcodeEntry from '@salesforce/apex/LexOverdueStockController.searchorderBean';
+import save from '@salesforce/apex/LexOverdueStockController.save';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+import { NavigationMixin } from 'lightning/navigation';
+
+
+//杩囨湡搴撳瓨涓�瑙�
+const columns = [
+    {
+      label: '鏄惁鐩樼偣',
+      fieldName: 'iscount',
+      type: 'checkbox',
+      hideDefaultActions: true,
+      initialWidth: 250,
+    },
+    {
+      label: '娑堣�楀搧鍚嶇О',
+      fieldName: 'prodname',
+      type: 'prodname',
+      initialWidth: 350,
+      hideDefaultActions: true
+
+    },
+    {
+      label: '鍗曚綅',
+      fieldName: 'boxPiece',
+      hideDefaultActions: true,
+      initialWidth: 250,
+    
+    },
+    {
+      label: '杩囨湡鏁伴噺',
+      fieldName: 'overlimitCount',
+      hideDefaultActions: true,
+      initialWidth: 250,
+    
+    },
+    {
+      label: '閿�瀛樻暟閲�',
+      fieldName: 'pandian',
+      hideDefaultActions: true,
+      initialWidth: 250,
+    //   cellAttributes: { alignment: 'center' }
+    }
+  ];
+  //杩囨湡搴撳瓨涓�瑙�
+const column = [
+ 
+    {
+      label: '娑堣�楀搧鍚嶇О',
+      fieldName: 'Name__c',
+      type: 'Name',
+      initialWidth : 300,
+      hideDefaultActions: true,
+      cellAttributes: { alignment: 'left' }
+    },
+    {
+      label: '鍗曚綅',
+      fieldName: 'Box_Piece__c',
+      initialWidth : 250,
+      hideDefaultActions: true
+    },
+    {
+      label: 'BarCode',
+      fieldName: 'Bar_Code__c',
+      hideDefaultActions: true,
+      initialWidth : 250
+    },
+    {
+      label: '浣跨敤鏈熼檺',
+      fieldName: 'Sterilization_limit__c',
+      hideDefaultActions: true,
+      initialWidth : 250
+    }
+    ,
+    {
+      label: '閿�瀛樺師鍥�',
+      fieldName: 'diffReason',
+      hideDefaultActions: true,
+      initialWidth: 100
+    }
+  ];
+
+
+export default class LexOverdueStock extends NavigationMixin (LightningElement ){
+    columns = columns
+    column = column
+    @track data =[];
+    @track overduePageRecords = [];
+    @track iSinventory = false
+  
+
+    //鍔犺浇妗�
+    // @track casesSpinner = true;
+    @track showSpinner =true;
+    //鏄剧ず鍙�
+    @track showbutton = false
+    @track showTable = false;
+    @track showTables = false;
+    //閿�瀛樹竴瑙堟暟鎹�
+    @track accountName
+    @track agencyProType
+    @track userWorkLocation
+    @track barcode = ''
+    @track orderDetZaiku
+    @track selectedRows = [];
+    @track codPageRecordsLWC
+    @track Id
+
+
+    //鍒濆鍖�
+    connectedCallback() {
+        console.log('鍒濆鍖�');
+        this.showSpinner = true;
+
+        init().then((result) => {
+            result = JSON.parse(JSON.stringify(result));
+            console.log('result ='+JSON.stringify(result));
+            console.log('result 1='+result.entity.codPageRecords);
+            if(result.status = 'Success'){
+                this.data = JSON.parse(result.entity.codPageRecords);
+                this.codPageRecordsLWC = result.entity.codPageRecords;
+                console.log('this.data'+this.data);
+                this.accountName = result.entity.accountName;
+                this.agencyProType = result.entity.agencyProType;
+                this.userWorkLocation = result.entity.userWorkLocation;
+                this.showTable = true;
+                // this.casesSpinner = false;
+                this.showSpinner = false;
+            }else {
+                console.log('Error:' + result.errorMsg);
+                const evt = new ShowToastEvent({
+                  title: '瑙f瀽澶辫触',
+                  message: result.errorMsg,
+                  variant: 'error'
+                });
+                this.dispatchEvent(evt);
+              }
+        }).catch((error) => {
+            console.log('error = ' + JSON.stringify(error));
+          });
+    }
+    //barcode褰曞叆
+    barcodeEntrys(){
+        this.showSpinner = true;
+        this.showTable = false;
+        console.log('code'+this.barcode);
+        console.log(' this.accountName'+ this.accountName);
+        barcodeEntry({
+            accountNameLWC: this.accountName,
+            agencyProTypeLWC: this.agencyProType,
+            userWorkLocationLWC:this.userWorkLocation,
+            barcodeLWC:this.barcode,
+            codPageRecordsLWC:this.codPageRecordsLWC
+        }).then((result)=>{
+            result = JSON.parse(JSON.stringify(result));
+            if (result.status == 'Success') {
+            this.overduePageRecords = JSON.parse(result.entity.overduePageRecords);
+            this.iSinventory = result.entity.iSinventory;
+            console.log('result褰曞叆'+JSON.stringify( result));
+            console.log(JSON.stringify( this.overduePageRecords ));
+            for(let i in this.overduePageRecords){
+                this.overduePageRecords[i]['Name__c'] = this.overduePageRecords[i].Prod.Name__c;
+                this.overduePageRecords[i]['Bar_Code__c'] = this.overduePageRecords[i].orderdetails2.Bar_Code__c;
+                this.overduePageRecords[i]['Box_Piece__c'] = this.overduePageRecords[i].orderdetails2.Box_Piece__c;
+                this.overduePageRecords[i]['Sterilization_limit__c'] = this.overduePageRecords[i].orderdetails2.Sterilization_limit__c;
+            }
+           this.data = JSON.parse(result.entity.codPageRecords);
+           console.log(' this.data'+ JSON.stringify(this.data));
+           for (var i in this.data) {
+            if (this.data[i]['check']) {
+              this.selectedRows.push(this.data[i].prodid);
+              console.log('selectedRows:' + this.selectedRows);
+            }
+          }
+          this.showSpinner = false;
+          this.showTables = true;
+          this.showTable = true;
+        }else{
+          console.log('result.msg = ' + result.msg);
+          const evt = new ShowToastEvent({
+            title: '褰曞叆澶辫触',
+            message: result.msg,
+            variant: 'error'
+          });
+          this.dispatchEvent(evt);
+
+        }
+
+        }).catch((error) => {
+            console.log('error = ' + JSON.stringify(error));
+          });
+     
+    }
+     //鑾峰彇褰撳墠杈撳叆鍊�
+  handleChange(event) {
+    let value = event.detail.value;
+    console.log('value' + value);
+    this.barcode = value;
+    console.log('this.barcode'+this.barcode);
+  }
+  getSelectedRows(event) {
+    console.log('鎵撳嬀');
+    const selectedRows = event.detail.selectedRows;
+    console.log('this.selectedRows = ' + this.selectedRows);
+    for (var i in this.data) {
+      this.data[i]['check'] = false;
+    }
+    for (var i in this.data) {
+      for (var j in selectedRows) {
+        console.log('this.selectedRows111 = ' + selectedRows[j].prodid);
+        console.log('this.selectedRows1112 = ' + this.data[i].prodid );
+        if (this.data[i].prodid == selectedRows[j].prodid) {
+          this.data[i]['check'] = true;
+        }
+      }
+    }
+  }
+  //淇濆瓨
+  
+  saveConfirm() {
+    console.log('杩涘叆閿�瀛樼‘璁�');
+    var el = this.template.querySelector('c-lex-custom-lightning-datatable');
+    var selected = el.getSelectedRows();
+    this.selectedData = selected;
+    console.log('閫変腑鏁版嵁' + JSON.stringify(this.selectedData));
+    save({
+      iSinventory: this.iSinventory,
+      saveCodPageRecords:  JSON.stringify(this.selectedData)
+    }).then((result) => {
+        result = JSON.parse(JSON.stringify(result));
+        console.log('result淇濆瓨 = ' + JSON.stringify(result));
+        if (result.status == 'Success') {
+            this[NavigationMixin.Navigate]({
+                type: 'standard__recordPage',
+                attributes: {
+                    recordId:result.entity.Id,
+                    objectApiName: 'Consumable_order__c',
+                    actionName: 'view'
+                }
+            });
+        } else {
+          console.log('result.msg = ' + result.msg);
+          const evt = new ShowToastEvent({
+            title: '澶辫触',
+            message: result.msg,
+            variant: 'error'
+          });
+          this.dispatchEvent(evt);
+        }
+      })
+      .catch((error) => {
+        console.log('error = ' + JSON.stringify(error));
+      });
+  }
+
+
+
+
+
+
+
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexOverdueStock/lexOverdueStock.js-meta.xml b/force-app/main/default/lwc/lexOverdueStock/lexOverdueStock.js-meta.xml
new file mode 100644
index 0000000..2acb5e6
--- /dev/null
+++ b/force-app/main/default/lwc/lexOverdueStock/lexOverdueStock.js-meta.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>56.0</apiVersion>
+      <isExposed>true</isExposed>
+    <targets>
+        <target>lightningCommunity__Page</target>
+        <target>lightningCommunity__Default</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexPDFMaintenanceCommission/lexPDFMaintenanceCommission.html b/force-app/main/default/lwc/lexPDFMaintenanceCommission/lexPDFMaintenanceCommission.html
new file mode 100644
index 0000000..d044dbb
--- /dev/null
+++ b/force-app/main/default/lwc/lexPDFMaintenanceCommission/lexPDFMaintenanceCommission.html
@@ -0,0 +1,5 @@
+<template>
+    <div class="exampleHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexPDFMaintenanceCommission/lexPDFMaintenanceCommission.js b/force-app/main/default/lwc/lexPDFMaintenanceCommission/lexPDFMaintenanceCommission.js
new file mode 100644
index 0000000..3f5d7bb
--- /dev/null
+++ b/force-app/main/default/lwc/lexPDFMaintenanceCommission/lexPDFMaintenanceCommission.js
@@ -0,0 +1,54 @@
+import {
+    LightningElement,
+    wire,
+    api
+} from 'lwc';
+import {
+    CurrentPageReference
+} from "lightning/navigation";
+import {
+    CloseActionScreenEvent
+} from 'lightning/actions';
+import init from '@salesforce/apex/otherButtonRepairController.init';
+export default class LexPDFMaintenanceCommission extends LightningElement {
+    @api recordId;
+    str;
+    IsLoading = true;
+    Id;;
+
+    @wire(CurrentPageReference)
+    getStateParameters(currentPageReference) {
+        if (currentPageReference) {
+            const urlValue = currentPageReference.state.recordId;
+            if (urlValue) {
+                let str = `${urlValue}`;
+                this.recordId = str;
+            }
+        }
+    }
+
+    connectedCallback() {
+        console.log(this.recordId);
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            console.log(result);
+            if (result != null) {
+                this.IsLoading = false;
+                this.Id = result.Id;
+
+                this.PDFMaintenanceCommission();
+                this.dispatchEvent(new CloseActionScreenEvent());
+            }
+        }).catch(error => {
+            console.log(error);
+        }).finally(() => {
+
+        });
+    }
+
+    // 鎵撳嵃缁翠慨濮旀墭涔�
+    PDFMaintenanceCommission() {
+        window.open('/apex/MaintenanceCommissionPDF?id=' + this.Id, 'MaintenanceCommissionPDF');
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexPDFMaintenanceCommission/lexPDFMaintenanceCommission.js-meta.xml b/force-app/main/default/lwc/lexPDFMaintenanceCommission/lexPDFMaintenanceCommission.js-meta.xml
new file mode 100644
index 0000000..3392981
--- /dev/null
+++ b/force-app/main/default/lwc/lexPDFMaintenanceCommission/lexPDFMaintenanceCommission.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+	<isExposed>true</isExposed>
+	<targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexPDFQISrequest/lexPDFQISrequest.css b/force-app/main/default/lwc/lexPDFQISrequest/lexPDFQISrequest.css
new file mode 100644
index 0000000..9acb129
--- /dev/null
+++ b/force-app/main/default/lwc/lexPDFQISrequest/lexPDFQISrequest.css
@@ -0,0 +1,22 @@
+.outerBorderCss{
+    border: 1px solid #D4D4D4;
+    border-radius : 5px;
+    border-top : 3px solid #565959;
+}
+.borderCss{
+    border: 1px solid #D4D4D4;
+    border-radius : 5px;
+    margin-bottom : 7px;
+    border-top : 3px solid #565959;
+}
+.headerDorderCss{
+    border-top: 1px solid #565959;
+    border-bottom: 1px solid #D4D4D4;
+    padding:3px;
+}
+.centerCss{
+    text-align: center;
+}
+.centerCss .left{
+    margin-left: 100px;
+}/* sample css file *//* sample css file */
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexPDFQISrequest/lexPDFQISrequest.html b/force-app/main/default/lwc/lexPDFQISrequest/lexPDFQISrequest.html
new file mode 100644
index 0000000..c8bdbfc
--- /dev/null
+++ b/force-app/main/default/lwc/lexPDFQISrequest/lexPDFQISrequest.html
@@ -0,0 +1,5 @@
+<template>
+   <div class="sisToOPDHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexPDFQISrequest/lexPDFQISrequest.js b/force-app/main/default/lwc/lexPDFQISrequest/lexPDFQISrequest.js
new file mode 100644
index 0000000..d442403
--- /dev/null
+++ b/force-app/main/default/lwc/lexPDFQISrequest/lexPDFQISrequest.js
@@ -0,0 +1,47 @@
+import { LightningElement,wire,track,api} from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import { NavigationMixin } from 'lightning/navigation';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+import init  from '@salesforce/apex/QISReportController.initForlexPDFQISrequestButton';
+import UserInfo_Owner from '@salesforce/apex/TaskFeedbackController.UserInfo_Owner';
+import { updateRecord } from 'lightning/uiRecordApi';
+
+export default class lexPDFQISrequest extends LightningElement {
+	@api recordId;
+	IsLoading = true;
+	qisReportId;
+    err;
+
+    @wire(CurrentPageReference)
+     getStateParameters(currentPageReference) {
+             console.log(111);
+             console.log(currentPageReference);
+
+         if (currentPageReference) {
+           const urlValue = currentPageReference.state.recordId;
+           if (urlValue) {
+             let str = `${urlValue}`;
+             console.log("str");
+             console.log(str);
+             this.recordId = str;
+           }
+         }
+    }
+
+    connectedCallback () {
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            this.IsLoading = false;
+            this.qisReportId = result.Id;
+            window.open('/apex/QISPDF?id='+this.qisReportId, 'QISPDF');
+            this.dispatchEvent(new CloseActionScreenEvent());
+        }).catch(error => {
+            console.log('error='+error);
+        }).finally(() => {
+            
+        }); 
+    }
+
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexPDFQISrequest/lexPDFQISrequest.js-meta.xml b/force-app/main/default/lwc/lexPDFQISrequest/lexPDFQISrequest.js-meta.xml
new file mode 100644
index 0000000..0030007
--- /dev/null
+++ b/force-app/main/default/lwc/lexPDFQISrequest/lexPDFQISrequest.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lexPDFQISrequest">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightning__RecordPage</target>
+        <target>lightning__AppPage</target>
+        <target>lightning__HomePage</target>
+        <target>lightning__RecordAction</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexPaymentPlanLoad/lexPaymentPlanLoad.html b/force-app/main/default/lwc/lexPaymentPlanLoad/lexPaymentPlanLoad.html
new file mode 100644
index 0000000..29b6541
--- /dev/null
+++ b/force-app/main/default/lwc/lexPaymentPlanLoad/lexPaymentPlanLoad.html
@@ -0,0 +1,276 @@
+<template>
+    <lightning-card  variant="Narrow">
+        <div style="padding: 0 20px">
+            <div>
+                <lightning-button disabled={statusDisable} label="淇濆瓨"></lightning-button>
+                <lightning-button disabled={statusDisable} label="鍙栨秷"></lightning-button>
+                <lightning-button disabled={statusDisable} onclick={printJs}  label="鎵撳嵃"></lightning-button>
+            </div>
+            <div style="border-bottom:1px solid #e3deb8;padding: 5px 3px;"></div>
+            <div>
+                <lightning-layout horizontal-align={horizontalAlign}>
+                    <lightning-layout-item flexibility="auto" padding="around-small" size=6 style="padding-left:20px;">
+                        <span>鏄惁涓烘爣鍑嗗悎鍚岋細</span>
+                        <lightning-combobox disabled={statusDisable} value={PageMCEElement.Is_Standard_Contract__c}  options={Is_Standard_Contract_Options} onchange={handleIsStandardContract} style="width:80px;display:inline-block;"></lightning-combobox>
+                        <span>&nbsp;&nbsp;(蹇呭~椤癸紝鎵�鏈夊悎鍚屽潎蹇呴』鍕鹃��)</span>
+                    </lightning-layout-item>
+                </lightning-layout>
+            </div> 
+            <div style="border-bottom:1px solid #e3deb8;padding: 5px 3px;"></div>
+            <div>
+                <lightning-accordion allow-multiple-sections-open class="example-accordion"  active-section-name={activeSections}>
+                    <lightning-accordion-section name="paymentPlan" label="浠樻璁″垝(蹇呭~鍐呭)锛�"> 
+                        <template if:true={tabPaymentPlan}> 
+                            <lightning-layout>
+                                <lightning-layout-item flexibility="auto" padding="around-small" size=6  style="padding-left:20px;">
+                                    <span>浠樻鏂瑰紡锛�&nbsp;</span>
+                                    <lightning-combobox disabled={statusDisable} value={PageMCEElement.Term_Of_Payment__c} options={Term_Of_Payment_Options} onchange={handleTermOfPayment} style="width:30%;display:inline-block;"></lightning-combobox>
+                                </lightning-layout-item>
+                            </lightning-layout>
+                            <div style="border-bottom:1px solid #e3deb8;padding: 5px 3px;"></div> 
+                            <div if:true={payOnce} class="slds- slds-p-around_medium slds-text-align_left" style="padding-top:30px">
+                                <h2>涓�娆℃�т粯娆撅細</h2>
+                                <lightning-layout>
+                                    <lightning-layout-item  padding="horizontal-small">
+                                        <span>鏈悎鍚屾寮忕璁箣鏃ヨ捣&nbsp;&nbsp;</span>
+                                        <lightning-combobox disabled={statusDisable} value={PageMCEElement.one_off_payment_agreed_period__c} options={one_off_payment_agreed_period_options} onchange={handleOneoff} style="width:80px;display:inline-block;" ></lightning-combobox>
+                                        <span>&nbsp;&nbsp;鏃ュ唴锛岀敳鏂瑰悜涔欐柟鏀粯鍏ㄩ儴鍚堝悓娆句汉姘戝竵{PageMCEElement.Contract_Amount__c}鍏冿紝澶у啓{PageMCEElement.Total_Contract_Amount_In_Words__c}銆�</span>
+                                    </lightning-layout-item>
+                                    
+                                </lightning-layout> 
+                            </div> 
+                                                
+                            
+                            <div if:true={payTwince} class="slds- slds-p-around_medium slds-text-align_left" style="padding-top:30px">
+                                <p>澶氭浠樻锛�</p>
+                                <lightning-layout>
+                                    <lightning-layout-item size="4" padding="horizontal-small">
+                                        <span>鏈悎鍚屾椤瑰垎&nbsp;&nbsp;</span>
+                                        <lightning-combobox disabled={statusDisable} value={PageMCEElement.Total_Payment_Time__c} options={Total_Payment_Time_Options} onchange={handleTotalPaymentTime} style="width:80px;display:inline-block;"></lightning-combobox>
+                                        <span>&nbsp;鏈熶粯鍑猴紝璇︾粏濡備笅锛�</span>
+                                    </lightning-layout-item>
+                                </lightning-layout>
+
+                                <!-- 绗竴鏈� -->
+                                <lightning-layout>
+                                    <lightning-layout-item  padding="horizontal-small" >
+                                        <span>绗竴鏈熸椤逛粯娆炬椂闂翠负&nbsp;&nbsp;</span>
+                                        <lightning-input  disabled={statusDisable} value={PageMCEElement.Payment_Plan_Date_First__c} type="date" onchange={handleDateFirst} style="width: 180px;display: inline-block;"></lightning-input>
+                                        <!-- <span>&nbsp;&nbsp;[2013/4/19]</span> -->
+                                        <span>&nbsp;&nbsp;鍓嶏紝鐢叉柟鍚戜箼鏂规敮浠樹汉姘戝竵&nbsp;&nbsp;</span>
+                                        <lightning-input disabled={statusDisable}  name="Payment_Plan_Sum_1" type="number"  value={PageMCEElement.Payment_Plan_Sum_First__c} style="width: 220px;display: inline-block;" onchange={Convert_Amount}></lightning-input>
+                                        <span>&nbsp;&nbsp;鍏冿紝澶у啓</span>
+                                        <span>{Payment_Plan_Sum_1_in_Word}</span>锛�
+                                    </lightning-layout-item>
+                                </lightning-layout>
+
+                                <!-- 绗簩鏈� -->
+                                <lightning-layout>
+                                    <lightning-layout-item  padding="horizontal-small" >
+                                        <span>绗簩鏈熸椤逛粯娆炬椂闂翠负&nbsp;&nbsp;</span>
+                                        <lightning-input  disabled={statusDisable}  value={PageMCEElement.Payment_Plan_Date_Second__c} type="date" onchange={handleDateSecond} style="width: 180px;display: inline-block;"></lightning-input>
+                                        <!-- <span>&nbsp;&nbsp;[2013/4/19]</span> -->
+                                        <span>&nbsp;&nbsp;鍓嶏紝鐢叉柟鍚戜箼鏂规敮浠樹汉姘戝竵&nbsp;&nbsp;</span>
+                                        <lightning-input  disabled={statusDisable}  name="Payment_Plan_Sum_2" value={PageMCEElement.Payment_Plan_Sum_Second__c} type="number" style="width: 220px;display: inline-block;" onchange={Convert_Amount}></lightning-input>
+                                        <span>&nbsp;&nbsp;鍏冿紝澶у啓</span>
+                                        <span>{Payment_Plan_Sum_2_in_Word}</span>锛�
+                                    </lightning-layout-item>
+                                </lightning-layout>
+
+                                <!-- 绗笁鏈� -->
+                                <lightning-layout>
+                                    <lightning-layout-item  padding="horizontal-small" >
+                                        <span>绗笁鏈熸椤逛粯娆炬椂闂翠负&nbsp;&nbsp;</span>
+                                        <lightning-input  disabled={statusDisable} value={PageMCEElement.Payment_Plan_Date_Third__c} type="date" onchange={handleDateThird} style="width: 180px;display: inline-block;"></lightning-input>
+                                        <!-- <span>&nbsp;&nbsp;[2013/4/19]</span> -->
+                                        <span>&nbsp;&nbsp;鍓嶏紝鐢叉柟鍚戜箼鏂规敮浠樹汉姘戝竵&nbsp;&nbsp;</span>
+                                        <lightning-input  disabled={statusDisable} name="Payment_Plan_Sum_3" value={PageMCEElement.Payment_Plan_Sum_Third__c} type="number" style="width: 220px;display: inline-block;" onchange={Convert_Amount}></lightning-input>
+                                        <span>&nbsp;&nbsp;鍏冿紝澶у啓</span>
+                                        <span>{Payment_Plan_Sum_3_in_Word}</span>锛�
+                                    </lightning-layout-item>
+                                </lightning-layout>
+
+                                <!-- 绗洓鏈� -->
+                                <lightning-layout>
+                                    <lightning-layout-item  padding="horizontal-small" >
+                                        <span>绗洓鏈熸椤逛粯娆炬椂闂翠负&nbsp;&nbsp;</span>
+                                        <lightning-input  disabled={statusDisable} value={PageMCEElement.Payment_Plan_Date_Forth__c} type="date" onchange={handleDateForth} style="width: 180px;display: inline-block;"></lightning-input>
+                                        <!-- <span>&nbsp;&nbsp;[2013/4/19]</span> -->
+                                        <span>&nbsp;&nbsp;鍓嶏紝鐢叉柟鍚戜箼鏂规敮浠樹汉姘戝竵&nbsp;&nbsp;</span>
+                                        <lightning-input  disabled={statusDisable} name="Payment_Plan_Sum_4" value={PageMCEElement.Payment_Plan_Sum_Forth__c} type="number" style="width: 220px;display: inline-block;" onchange={Convert_Amount}></lightning-input>
+                                        <span>&nbsp;&nbsp;鍏冿紝澶у啓</span>
+                                        <span>{Payment_Plan_Sum_4_in_Word}</span>锛�
+                                    </lightning-layout-item>
+                                </lightning-layout>
+
+                                <!-- 绗簲鏈� -->
+                                <lightning-layout>
+                                    <lightning-layout-item  padding="horizontal-small" >
+                                        <span>绗簲鏈熸椤逛粯娆炬椂闂翠负&nbsp;&nbsp;</span>
+                                        <lightning-input  disabled={statusDisable} value={PageMCEElement.Payment_Plan_Date_Fifth__c} type="date" onchange={handleDateFivth} style="width: 180px;display: inline-block;"></lightning-input>
+                                        <!-- <span>&nbsp;&nbsp;[2013/4/19]</span> -->
+                                        <span>&nbsp;&nbsp;鍓嶏紝鐢叉柟鍚戜箼鏂规敮浠樹汉姘戝竵&nbsp;&nbsp;</span>
+                                        <lightning-input  disabled={statusDisable} name="Payment_Plan_Sum_5" value={PageMCEElement.Payment_Plan_Sum_Fifth__c} type="number" style="width: 220px;display: inline-block;" onchange={Convert_Amount}></lightning-input>
+                                        <span>&nbsp;&nbsp;鍏冿紝澶у啓</span>
+                                        <span>{Payment_Plan_Sum_5_in_Word}</span>锛�
+                                    </lightning-layout-item>
+                                </lightning-layout>
+
+                                <!-- 绗叚鏈� -->
+                                <lightning-layout>
+                                    <lightning-layout-item  padding="horizontal-small" >
+                                        <span>绗叚鏈熸椤逛粯娆炬椂闂翠负&nbsp;&nbsp;</span>
+                                        <lightning-input  disabled={statusDisable} value={PageMCEElement.Payment_Plan_Date_Sixth__c} type="date" onchange={handleDateSixth} style="width: 180px;display: inline-block;"></lightning-input>
+                                        <!-- <span>&nbsp;&nbsp;[2013/4/19]</span> -->
+                                        <span>&nbsp;&nbsp;鍓嶏紝鐢叉柟鍚戜箼鏂规敮浠樹汉姘戝竵&nbsp;&nbsp;</span>
+                                        <lightning-input  disabled={statusDisable} name="Payment_Plan_Sum_6" value={PageMCEElement.Payment_Plan_Sum_Sixth__c}  type="number" style="width: 220px;display: inline-block;" onchange={Convert_Amount}></lightning-input>
+                                        <span>&nbsp;&nbsp;鍏冿紝澶у啓</span>
+                                        <span>{Payment_Plan_Sum_6_in_Word}</span>銆�
+                                    </lightning-layout-item>
+                                </lightning-layout>
+                            </div> 
+                            
+                        </template>
+                    </lightning-accordion-section>
+
+
+
+
+                    <lightning-layout>
+                        <lightning-layout-item size="4" padding="horizontal-small">
+                            <h2 style="margin-left:4%;color:blue;">鎻愮ず淇℃伅锛氭爣鍑嗗悎鍚屼笅杩板唴瀹归渶瑕佸叏閮ㄥ~鍐欍��</h2>
+                        </lightning-layout-item>
+                    </lightning-layout>
+
+
+
+
+                    <lightning-accordion-section name="textInfo" label="鏂囨湰淇℃伅锛�">
+                        <template if:true={tabTextInfo}>
+                        
+                            <lightning-layout>
+                                <lightning-layout-item size="2" padding="horizontal-small">
+                                    <div class="slds- slds-p-around_medium slds-text-align_left" style="padding-top:30px">灏忎慨鐞嗘椂闄愶細</div>
+                                </lightning-layout-item>
+                                <lightning-layout-item size="3" padding="horizontal-small">
+                                    <lightning-combobox  disabled={statusDisable} value={PageMCEElement.Small_Repair_Time__c} options={Small_Repair_Time_Options} onchange={handleSmallRepairTime} style="display: inline-block;"></lightning-combobox>
+                                    <span>&nbsp;&nbsp;灏忔椂</span>
+                                </lightning-layout-item>
+                                <lightning-layout-item size="2" padding="horizontal-small">
+                                    <div class="slds- slds-p-around_medium slds-text-align_left" style="padding-top:30px">澶т慨鐞嗘椂闄愶細</div>
+                                </lightning-layout-item>
+                                <lightning-layout-item size="2" padding="horizontal-small">
+                                    <lightning-combobox  disabled={statusDisable} value={PageMCEElement.Big_Repair_Time__c} options={Big_Repair_Time_Options} onchange={handleBigRepairTime} style="display: inline-block;"></lightning-combobox>
+                                    <span>&nbsp;&nbsp;宸ヤ綔鏃�</span>
+                                </lightning-layout-item>
+                            </lightning-layout>
+
+
+
+                            <lightning-layout>
+                                <lightning-layout-item size="2" padding="horizontal-small">
+                                    <div class="slds- slds-p-around_medium slds-text-align_left" style="padding-top:30px">鐜板満鎶�鏈敮鎸佹椂闄愶細</div>
+                                </lightning-layout-item>
+                                <lightning-layout-item size="3" padding="horizontal-small">
+                                    <lightning-combobox  disabled={statusDisable} value={PageMCEElement.Live_Technical_Support_Time__c} options={Small_Repair_Time_Options} onchange={handleLiveTechnicalSupportTime} style="display: inline-block;"></lightning-combobox>
+                                    <span>&nbsp;&nbsp;灏忔椂</span>
+                                </lightning-layout-item>
+                                <lightning-layout-item size="2" padding="horizontal-small">
+                                    <div class="slds- slds-p-around_medium slds-text-align_left" style="padding-top:30px">宸″洖锛�</div>
+                                </lightning-layout-item>
+                                <lightning-layout-item size="2" padding="horizontal-small">
+                                    <span>姣忓勾&nbsp;&nbsp;</span>
+                                    <lightning-combobox  disabled={statusDisable} value={PageMCEElement.Tour_Check__c} options={Tour_Check_Options} onchange={handleTourCheck} style="display: inline-block;"></lightning-combobox>
+                                    <span>&nbsp;&nbsp;娆�</span>
+                                </lightning-layout-item>
+                                
+                            </lightning-layout>
+
+                            <lightning-layout>
+                                <lightning-layout-item size="2" padding="horizontal-small">
+                                    <div class="slds- slds-p-around_medium slds-text-align_left" style="padding-top:30px">宸ョ▼甯堝鍚嶏細</div>
+                                </lightning-layout-item>
+                                <lightning-layout-item size="3" padding="horizontal-small">
+                                    <lightning-input  disabled={statusDisable} value={PageMCEElement.Engineer_Name__c} style="display: inline-block;"></lightning-input>
+                                </lightning-layout-item>
+                                <lightning-layout-item size="2" padding="horizontal-small">
+                                    <div class="slds- slds-p-around_medium slds-text-align_left" style="padding-top:30px">鎵嬫満鍙风爜锛�</div>
+                                </lightning-layout-item>
+                                <lightning-layout-item size="2" padding="horizontal-small">
+                                    <lightning-input   disabled={statusDisable} type="tel" value={PageMCEElement.Phone_Number__c} style="display: inline-block;"></lightning-input>
+                                </lightning-layout-item>
+                                
+                            </lightning-layout>
+
+                            <lightning-layout>
+                                <lightning-layout-item size="2" padding="horizontal-small">
+                                    <div class="slds- slds-p-around_medium slds-text-align_left" style="padding-top:30px">鐐规锛�</div>
+                                </lightning-layout-item>
+                                <lightning-layout-item size="3" padding="horizontal-small">
+                                    <span>姣忓勾</span>
+                                    <lightning-combobox  disabled={statusDisable} value={PageMCEElement.Inspection_Time__c} options={Tour_Check_Options}  onchange={handleInspectionTime} style="display: inline-block;"></lightning-combobox>
+                                    <span>&nbsp;&nbsp;娆� (蹇呭~椤�)</span>
+                                </lightning-layout-item>
+                                <lightning-layout-item size="2" padding="horizontal-small">
+                                    <div class="slds- slds-p-around_medium slds-text-align_left" style="padding-top:30px">闄ゅ皹锛�</div>
+                                </lightning-layout-item>
+                                <lightning-layout-item size="2" padding="horizontal-small">
+                                    <span>姣忓勾&nbsp;&nbsp;</span>
+                                    <lightning-combobox  disabled={statusDisable} value={PageMCEElement.Dedust__c}  options={Dedust_Options} onchange={handleDedust} style="display: inline-block;"></lightning-combobox>
+                                    <span>&nbsp;&nbsp;娆�</span>
+                                </lightning-layout-item>
+                                
+                            </lightning-layout>
+
+                            <lightning-layout vertical-align="center">
+                                <lightning-layout-item size="2" padding="horizontal-small">
+                                    <div class="slds- slds-p-around_medium slds-text-align_left" style="padding-top:30px">鐐规鎬绘鏁帮細</div>
+                                </lightning-layout-item>
+                                <lightning-layout-item size="3" padding="horizontal-small">
+                                    <p>&nbsp;&nbsp;鍏眥PageMCEElement.Contract_Limit_Times__c}娆�</p>
+                                    
+                                </lightning-layout-item>
+                                
+                                
+                            </lightning-layout>
+
+                            <lightning-layout>
+                                <lightning-layout-item size="2" padding="horizontal-small">
+                                    <div class="slds- slds-p-around_medium slds-text-align_left" style="padding-top:30px">鍚堝悓浠芥暟锛氱敳鏂�:</div>
+                                </lightning-layout-item>
+                                <lightning-layout-item size="3" padding="horizontal-small">
+                                    <lightning-combobox  disabled={statusDisable} value={PageMCEElement.First_Party_Contract_Number__c} options={First_Party_Contract_Number_Options} onchange={handleFirstPartyContractNumber} style="display: inline-block;"></lightning-combobox>
+                                    <span>&nbsp;&nbsp;浠�</span>
+                                </lightning-layout-item>
+                                <lightning-layout-item size="2" padding="horizontal-small">
+                                    <div class="slds- slds-p-around_medium slds-text-align_left" style="padding-top:30px">涔欐柟锛�</div>
+                                </lightning-layout-item>
+                                <lightning-layout-item size="2" padding="horizontal-small">
+                                    <lightning-combobox  disabled={statusDisable} value={PageMCEElement.Second_Party_Contract_Number__c} options={First_Party_Contract_Number_Options} onchange={handleSecondPartyContractNumber} style="display: inline-block;"></lightning-combobox>
+                                    <span>&nbsp;&nbsp; 浠�</span>
+                                </lightning-layout-item>
+                            </lightning-layout>
+
+                            <lightning-layout>
+                                <lightning-layout-item  padding="horizontal-small">
+                                    <span>鍗忓晢鏂瑰紡锛�</span>
+                                    <lightning-combobox  disabled={statusDisable} value={PageMCEElement.Negotiate_Mean__c}  options={Negotiate_Mean_Options} onchange={handleNegotiateMean} style="display: inline-block;"></lightning-combobox>
+                                    <span>&nbsp;&nbsp;鎻愮ず淇℃伅锛�(1)鍚戣鍦ㄥ寳浜殑涓浗鍥介檯缁忔祹璐告槗浠茶濮斿憳浼氱敵璇蜂徊瑁併��(2)鍚戞湁绠¤緰鏉冪殑浜烘皯娉曢櫌鎻愯捣璇夎銆�</span>
+                                </lightning-layout-item>
+                            </lightning-layout>
+                        </template>
+                        
+                    </lightning-accordion-section>
+
+                    <div style="border-top:1px solid #e3deb8;padding: 5px 3px;"></div>
+                </lightning-accordion>
+            </div>
+            <div>
+                <lightning-button  label="淇濆瓨" disabled={statusDisable}></lightning-button>
+                <lightning-button  label="鍙栨秷" disabled={statusDisable}></lightning-button>
+                <lightning-button  label="鎵撳嵃" onclick={printJs} disabled={statusDisable}></lightning-button>
+            </div>
+        </div>
+    </lightning-card>
+
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexPaymentPlanLoad/lexPaymentPlanLoad.js b/force-app/main/default/lwc/lexPaymentPlanLoad/lexPaymentPlanLoad.js
new file mode 100644
index 0000000..cb14491
--- /dev/null
+++ b/force-app/main/default/lwc/lexPaymentPlanLoad/lexPaymentPlanLoad.js
@@ -0,0 +1,404 @@
+import { LightningElement, track, wire, api } from 'lwc';
+import {CurrentPageReference,NavigationMixin} from 'lightning/navigation';
+import { CloseActionScreenEvent } from 'lightning/actions';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+
+
+import initData  from '@salesforce/apex/LexPaymentPlanLoadController.initData';
+
+export default class lexPaymentPlanLoad extends LightningElement {
+
+
+	Term_Of_Payment = "涓�娆℃�т粯娆�";
+	Is_Standard_Contract_Options = [{ label: '--鏃�--', value: '' },
+            						{ label: '鏄�', value: '鏄�' },
+            						{ label: '鍚�', value: '鍚�' }];
+
+    Term_Of_Payment_Options = [{ label: '涓�娆℃�т粯娆�', value: '涓�娆℃�т粯娆�' },
+            				{ label: '澶氭浠樻', value: '澶氭浠樻' }];
+
+    one_off_payment_agreed_period_options = [{ label: '15', value: '15' },
+		            						{ label: '30', value: '30' },
+		            						{ label: '60', value: '60' },
+		            						{ label: '90', value: '90' }];
+
+	Total_Payment_Time_Options = [{ label: '1', value: '1' },
+	        					{ label: '2', value: '2' },
+	        					{ label: '3', value: '3' },
+	        					{ label: '4', value: '4' },
+	        					{ label: '5', value: '5' },
+	        					{ label: '6', value: '6' }];
+
+	Small_Repair_Time_Options = [{ label: '24', value: '24' },
+	        					{ label: '48', value: '48' },
+	        					{ label: '72', value: '72' }];   
+
+	Big_Repair_Time_Options = [{ label: '7', value: '7' },
+	        					{ label: '10', value: '10' },
+	        					{ label: '15', value: '15' },
+	        					{ label: '20', value: '20' },
+	        					{ label: '25', value: '25' },
+	        					{ label: '30', value: '30' }];        						
+
+	Tour_Check_Options = [{ label: '0', value: '0' },
+						{ label: '1', value: '1' },
+    					{ label: '2', value: '2' },
+    					{ label: '3', value: '3' },
+    					{ label: '4', value: '4' }];        						
+
+    Dedust_Options = [{ label: '0', value: '0' },
+					{ label: '1', value: '1' },
+    				{ label: '2', value: '2' }]; 
+
+    First_Party_Contract_Number_Options = [{ label: '1', value: '1' },
+				        					{ label: '2', value: '2' },
+				        					{ label: '3', value: '3' },
+				        					{ label: '4', value: '4' },
+				        					{ label: '5', value: '5' },
+				        					{ label: '6', value: '6' },
+				        					{ label: '7', value: '7' },
+				        					{ label: '8', value: '8' },
+				        					{ label: '9', value: '9' },
+				        					{ label: '10', value: '10'}];
+
+	Negotiate_Mean_Options =  [{ label: '1', value: '1' },
+	        					{ label: '2', value: '2' }] ;
+	activeSections = ['paymentPlan', 'textInfo'];        					
+
+	tabPaymentPlan = true;
+	tabTextInfo = false;
+	payOnce = true;
+	payTwince = false;
+	//鏄惁鏄�"寮曞悎涓�"
+	statusDisable = false;
+
+	Payment_Plan_Sum_1_in_Word;
+	Payment_Plan_Sum_2_in_Word;
+	Payment_Plan_Sum_3_in_Word;
+	Payment_Plan_Sum_4_in_Word;
+	Payment_Plan_Sum_5_in_Word;
+	Payment_Plan_Sum_6_in_Word;
+
+
+	@api recordId;
+
+	
+	@track PageMCEElement = {};
+
+
+	IsLoading=true;
+	
+	@wire(CurrentPageReference)
+	getStateParameters(currentPageReference) {
+		console.log(currentPageReference);
+
+		if(currentPageReference) {
+			const urlValue = currentPageReference.state.recordId;
+			if(urlValue) {
+				let str = `${urlValue}`;
+		        console.log("str");
+		        console.log(str);
+		        this.recordId = str;
+
+			}
+		}
+		
+	}
+
+	connectedCallback() {
+		this.recordId = 'a0H0l000008onsq';
+		console.log('this.recordId:' + this.recordId);
+		initData({
+			recordId : this.recordId
+		}).then(result => {
+			console.log("initPageResult:");
+			console.log(result);
+			if (result.PageMCEElement == null) {
+                    const event = new ShowToastEvent({
+                             title: 'warning',
+                             message: result.msg,
+                             variant:'warning',
+                            });
+                    this.dispatchEvent(event);
+             }
+             this.PageMCEElement = result.PageMCEElement;
+             this.statusSave = result.statusSave;
+             
+             this.initPages();
+             this.initDisabled();
+			
+			console.log(this.PageMCEElement);
+			this.cancelSubmit().then(res=>{
+				this.IsLoading=false;
+				this.dispatchEvent(new CloseActionScreenEvent());
+			});	
+					
+		}).catch( error =>{
+			console.log(error);
+		});
+	}
+
+	initPages(){
+		if(!this.Contract_validMonth) {
+ 			this.Contract_validMonth = parseInt(this.PageMCEElement.Contract_Range__c);
+         }
+			
+		if(!this.PageMCEElement.Is_Standard_Contract__c) {
+			this.PageMCEElement.Is_Standard_Contract__c = "";
+		}
+		if(!this.PageMCEElement.Term_Of_Payment__c) {
+			this.PageMCEElement.Term_Of_Payment__c="涓�娆℃�т粯娆�";
+			this.payOnce = true;
+			this.payTwince = false;
+		} else if(this.PageMCEElement.Term_Of_Payment__c == "涓�娆℃�т粯娆�") {
+			this.payOnce = true;
+			this.payTwince = false;
+		} else {
+			this.payTwince = true;
+			this.payOnce = false;
+		}
+
+		if(!(this.PageMCEElement.one_off_payment_agreed_period__c) && this.payOnce){
+			this.PageMCEElement.one_off_payment_agreed_period__c = "15";
+		}
+
+		if(!this.PageMCEElement.Total_Payment_Time__c) {
+			this.PageMCEElement.Total_Payment_Time__c = '1';
+		}
+		if(!this.PageMCEElement.Inspection_Time__c) {
+			this.PageMCEElement.Inspection_Time__c = '0';
+		}
+		if(!this.PageMCEElement.Tour_Check__c) {
+			this.PageMCEElement.Tour_Check__c = '0';
+		}
+		if(!this.PageMCEElement.Dedust__c) {
+			this.PageMCEElement.Dedust__c = '0';
+		}
+		if(!this.PageMCEElement.First_Party_Contract_Number__c) {
+			this.PageMCEElement.First_Party_Contract_Number__c = '2';
+		}
+		if(!this.PageMCEElement.Second_Party_Contract_Number__c) {
+			this.PageMCEElement.Second_Party_Contract_Number__c = '1';
+		}
+		if(!this.PageMCEElement.Negotiate_Mean__c) {
+			this.PageMCEElement.Negotiate_Mean__c = '1';
+		}
+	}
+
+	initDisabled() {
+		if(this.PageMCEElement.Status__c != '寮曞悎涓�'){
+			this.statusDisable = true;
+		}
+	}
+	//鏄惁鏍囧噯鍚堝悓	
+	handleIsStandardContract(event) {
+        this.PageMCEElement.Is_Standard_Contract__c = event.detail.value;
+        if (this.PageMCEElement.Is_Standard_Contract__c == '鍚�') {
+        	this.tabTextInfo = false;
+        }else{
+        	this.tabTextInfo = true;
+
+        }
+    }
+
+    //涓�娆℃垨澶氭浠樻
+    handleTermOfPayment(event) {
+        this.PageMCEElement.Term_Of_Payment__c = event.detail.value;
+        if(this.PageMCEElement.Term_Of_Payment__c == '涓�娆℃�т粯娆�') {
+    		this.payOnce = true;
+			this.payTwince = false;
+		} else {
+			this.payTwince = true;
+			this.payOnce = false;
+		}
+        
+    }
+
+    handleOneoff(event){
+    	this.PageMCEElement.one_off_payment_agreed_period__c=event.detail.value;
+    }
+
+
+
+    // 澶氭浠樻
+    handleDateFirst(event){
+        this.PageMCEElement.Payment_Plan_Date_First__c = event.detail.value;
+    }
+    handleDateSecond(event){
+        this.PageMCEElement.Payment_Plan_Date_Second__c = event.detail.value;
+    }
+    handleDateThird(event){
+        this.PageMCEElement.Payment_Plan_Date_Third__c = event.detail.value;
+    }
+    handleDateForth(event){
+        this.PageMCEElement.Payment_Plan_Date_Forth__c = event.detail.value;
+    }
+    handleDateFivth(event){
+        this.PageMCEElement.Payment_Plan_Date_Fifth__c = event.detail.value;
+    }
+    handleDateSixth(event){
+        this.PageMCEElement.Payment_Plan_Date_Sixth__c = event.detail.value;
+    }  
+    
+
+    //澶氭浠樻-閲戦
+	Convert_Amount(event) {
+	 	let Amount = event.target.value;
+	 	let plan_name = event.target.name;
+	 	console.log(Amount)
+	 	console.log(plan_name)
+
+	 	if(Amount == null || Amount== undefined || Amount.length == 0)
+			return;
+		let Amount_In_Words = this.smalltoBIG(Amount);
+		if(plan_name =='Payment_Plan_Sum_1') {
+			this.Payment_Plan_Sum_1_in_Word = Amount_In_Words;
+			this.PageMCEElement.Payment_Plan_Sum_First__c = Amount;
+			this.PageMCEElement.Payment_Plan_Sum_First_in_Word__c = Amount_In_Words;
+		} else if(plan_name == 'Payment_Plan_Sum_2') {
+			this.Payment_Plan_Sum_2_in_Word = Amount_In_Words;
+			this.PageMCEElement.Payment_Plan_Sum_Second__c = Amount;
+			this.PageMCEElement.Payment_Plan_Sum_Second_in_Word__c = Amount_In_Words;
+		} else if(plan_name == 'Payment_Plan_Sum_3') {
+			this.Payment_Plan_Sum_3_in_Word = Amount_In_Words;
+			this.PageMCEElement.Payment_Plan_Sum_Third__c = Amount;
+			this.PageMCEElement.Payment_Plan_Sum_Third_in_Word__c = Amount_In_Words;
+		} else if(plan_name == 'Payment_Plan_Sum_4') {
+			this.Payment_Plan_Sum_4_in_Word = Amount_In_Words;
+			this.PageMCEElement.Payment_Plan_Sum_Forth__c = Amount;
+			this.PageMCEElement.Payment_Plan_Sum_Forth_in_Word__c = Amount_In_Words;
+		} else if(plan_name == 'Payment_Plan_Sum_5') {
+			this.Payment_Plan_Sum_5_in_Word = Amount_In_Words;
+			this.PageMCEElement.Payment_Plan_Sum_Fifth__c = Amount;
+			this.PageMCEElement.Payment_Plan_Sum_Fifth_in_Word__c = Amount_In_Words;
+		} else{
+			this.Payment_Plan_Sum_6_in_Word = Amount_In_Words;
+			this.PageMCEElement.Payment_Plan_Sum_Sixth__c = Amount;
+			this.PageMCEElement.Payment_Plan_Sum_Sixth_in_Word__c = Amount_In_Words;
+		} 
+		
+		// alert(Amount_In_Words);
+		// event.target.name+_in_Word = Amount_In_Words;
+		// var Amount = j$(escapeVfId('allPage:allForm:allBlock:paymentPlan:Payment_Plan_Sum_'+number)).val();
+		// if(Amount == null || Amount== undefined || Amount.length == 0)
+		// 	return;
+		// var Amount_In_Words = smalltoBIG(Amount);
+  //       j$(escapeVfId('allPage:allForm:allBlock:paymentPlan:Payment_Plan_Sum_' + number + '_in_Word')).text(Amount_In_Words);
+  //       j$(escapeVfId('allPage:allForm:Payment_Plan_Sum_' + number + '_in_Word_Hidden')).val(Amount_In_Words);
+  //       j$(escapeVfId('allPage:allForm:allBlock:paymentPlan:Payment_Plan_Sum_'+number)).val(toNumComma(Amount));
+    }
+
+
+
+
+
+
+    handleSmallRepairTime(event) {
+        this.PageMCEElement.Small_Repair_Time__c = event.detail.value;
+    }
+    handleBigRepairTime(event) {
+        this.PageMCEElement.Big_Repair_Time__c = event.detail.value;
+    }
+    handleLiveTechnicalSupportTime(event) {
+        this.PageMCEElement.Live_Technical_Support_Time__c = event.detail.value;
+    }
+    handleTourCheck(event) {
+        this.PageMCEElement.Tour_Check__c = event.detail.value;
+    }
+
+
+
+    handleInspectionTime(event) {
+        this.PageMCEElement.Inspection_Time__c = event.detail.value;
+        this.AllChecktime();
+    }
+    handleDedust(event) {
+        this.PageMCEElement.Dedust__c = event.detail.value;
+    }
+
+
+    handleFirstPartyContractNumber(event) {
+        this.PageMCEElement.First_Party_Contract_Number__c = event.detail.value;
+    }
+    handleSecondPartyContractNumber(event) {
+        this.PageMCEElement.Second_Party_Contract_Number__c = event.detail.value;
+    }
+
+    handleTotalPaymentTime(event) {
+        this.PageMCEElement.Total_Payment_Time__c = event.detail.value;
+    }
+
+    handleNegotiateMean(event){
+        this.PageMCEElement.Negotiate_Mean__c = event.detail.value;
+    }
+    // 鏂板鐐规鎬绘鏁帮紙鍙湪椤甸潰涓樉绀猴級fxk 2021/9/2 Star
+    AllChecktime(){
+        var Allchecks;
+        console.log("Contract_validMonth");
+        console.log(this.Contract_validMonth);
+        if((this.PageMCEElement.Inspection_Time__c == '1' && this.Contract_validMonth < 9) 
+            || (this.PageMCEElement.Inspection_Time__c == '2' && this.Contract_validMonth < 6) 
+            || (this.PageMCEElement.Inspection_Time__c == '3' && this.Contract_validMonth < 4)
+            || (this.PageMCEElement.Inspection_Time__c == '4' && this.Contract_validMonth < 3)){
+            Allchecks = '1';
+        }else{
+            if (this.ContractAllMonth - parseInt(this.Contract_validMonth / 12) * 12 >= 6 && this.PageMCEElement.Inspection_Time__c == '1'){
+                Allchecks = ((this.Contract_validMonth * Number(this.PageMCEElement.Inspection_Time__c))/12+1).toString();
+            }else{
+                Allchecks =((this.Contract_validMonth * Number(this.PageMCEElement.Inspection_Time__c))/12).toString();
+            }
+        }
+        console.log(Allchecks);
+        if (Allchecks!=null) {
+            this.PageMCEElement.Contract_Limit_Times__c = Allchecks;  
+        }
+    }
+           					
+	/** 鏁板瓧閲戦澶у啓杞崲(鍙互澶勭悊鏁存暟,灏忔暟,璐熸暟) */    
+    smalltoBIG(n){  
+        let fraction = ['瑙�', '鍒�'];    
+        let digit = ['闆�', '澹�', '璐�', '鍙�', '鑲�', '浼�', '闄�', '鏌�', '鎹�', '鐜�'];    
+        let unit = [ ['鍏�', '涓�', '浜�'], ['', '鎷�', '浣�', '浠�']  ];    
+        let head = n < 0? '娆�': ''; 
+        n = n.replace(/\,/g,"");
+        n = Math.abs(n);    
+        let s = '';    
+        for (let i = 0; i < fraction.length; i++){
+            s += (digit[Math.floor(n * 10 * Math.pow(10, i)) % 10] + fraction[i]).replace(/闆�./, '');    
+        }    
+        s = s || '鏁�';    
+        n = Math.floor(n);    
+        for (let i = 0; i < unit[0].length && n > 0; i++)     {    
+            let p = '';    
+            for (let j = 0; j < unit[1].length && n > 0; j++)     {    
+                p = digit[n % 10] + unit[1][j] + p;    
+                n = Math.floor(n / 10);    
+            }    
+            s = p.replace(/(闆�.)*闆�$/, '').replace(/^$/, '闆�')  + unit[0][i] + s;    
+        }    
+        return head + s.replace(/(闆�.)*闆跺厓/, '鍏�').replace(/(闆�.)+/g, '闆�').replace(/^鏁�$/, '闆跺厓鏁�');    
+    }    					
+    printJs() {	
+		var Rs = this.statusSave;
+		console.log(this.statusSave)
+		alert(Rs);
+		if(Rs == 'Fin'){
+			this.dispatchEvent(new CloseActionScreenEvent());
+			if (this.printContract) {
+			// 鎵撳嵃鍖婚櫌鍚堝悓閰嶇疆
+	    		window.open('/apex/MCHPDF?id='+this.recordId, 'MCHPDF');
+	 		}else if (this.printAgent) {
+	    	//鎵撳嵃缁忛攢鍟嗗悎鍚�
+	    	window.open('/apex/MCAgentPDF?id='+this.recordId, 'MCHPDF');
+			}else {
+				alert('1');
+			}
+		}else{
+			this.dispatchEvent(new CloseActionScreenEvent());
+		}
+	}
+
+
+
+
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexPaymentPlanLoad/lexPaymentPlanLoad.js-meta.xml b/force-app/main/default/lwc/lexPaymentPlanLoad/lexPaymentPlanLoad.js-meta.xml
new file mode 100644
index 0000000..022128c
--- /dev/null
+++ b/force-app/main/default/lwc/lexPaymentPlanLoad/lexPaymentPlanLoad.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lexPaymentPlanLoad">
+    <apiVersion>51.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightning__RecordPage</target>
+        <target>lightning__AppPage</target>
+        <target>lightning__HomePage</target>
+        <target>lightning__RecordAction</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexPreContractSubmit/lexPreContractSubmit.html b/force-app/main/default/lwc/lexPreContractSubmit/lexPreContractSubmit.html
new file mode 100644
index 0000000..87f391a
--- /dev/null
+++ b/force-app/main/default/lwc/lexPreContractSubmit/lexPreContractSubmit.html
@@ -0,0 +1,6 @@
+<template>
+    <div class="exampleHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+        <lightning-button label="Show Toast" onclick={ShowToastEvent}></lightning-button>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexPreContractSubmit/lexPreContractSubmit.js b/force-app/main/default/lwc/lexPreContractSubmit/lexPreContractSubmit.js
new file mode 100644
index 0000000..1340680
--- /dev/null
+++ b/force-app/main/default/lwc/lexPreContractSubmit/lexPreContractSubmit.js
@@ -0,0 +1,116 @@
+import {
+    LightningElement,
+    wire,
+    api
+} from 'lwc';
+import {
+    CurrentPageReference
+} from "lightning/navigation";
+import {
+    CloseActionScreenEvent
+} from 'lightning/actions';
+import init from '@salesforce/apex/otherButtonMaintenanceContractCtl.init';
+import processResults from '@salesforce/apex/otherButtonMaintenanceContractCtl.processResults';
+import {
+    ShowToastEvent
+} from 'lightning/platformShowToastEvent';
+
+export default class LexPreContractSubmit extends LightningElement {
+    @api recordId;
+    str;
+    IsLoading = true;
+    oldIsRecognitionModelC;
+    uploadToRMTimeC;
+    IsRecognitionModelTrueC;
+    MCApprovalStatusC;
+    ContractprintCompletedC;
+    Id;
+
+    @wire(CurrentPageReference)
+    getStateParameters(currentPageReference) {
+        if (currentPageReference) {
+            const urlValue = currentPageReference.state.recordId;
+            if (urlValue) {
+                let str = `${urlValue}`;
+                this.recordId = str;
+            }
+        }
+    }
+
+    connectedCallback() {
+        console.log(this.recordId);
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            console.log(result);
+            if (result != null) {
+                this.IsLoading = false;
+                this.oldIsRecognitionModelC = result.oldIsRecognitionModelC;
+                this.uploadToRMTimeC = result.uploadToRMTimeC;
+                this.IsRecognitionModelTrueC = result.IsRecognitionModelTrueC;
+                this.MCApprovalStatusC = result.MCApprovalStatusC;
+                this.ContractprintCompletedC = result.ContractprintCompletedC;
+                this.Id = result.Id;
+
+                this.preContractSubmit();
+                this.dispatchEvent(new CloseActionScreenEvent());
+            }
+        }).catch(error => {
+            console.log(error);
+        }).finally(() => {
+
+        });
+    }
+
+    // 鍚堝悓澶嶆牳
+    preContractSubmit() {
+        if (this.oldIsRecognitionModelC) {
+            if (this.uploadToRMTimeC == null) {
+                this.ShowToastEvent('褰撳墠缁翠慨鍚堝悓鐨勭粡閿�鍟嗘槸鍏堟瀵硅薄锛岄渶瑕佸厛銆愪笂浼犺娆惧悎鍚屻�戯紝鐒跺悗瀹屾垚璁ゆ浠ュ悗鎵嶈兘澶嶆牳銆�', "error")
+                // alert('褰撳墠缁翠慨鍚堝悓鐨勭粡閿�鍟嗘槸鍏堟瀵硅薄锛岄渶瑕佸厛銆愪笂浼犺娆惧悎鍚屻�戯紝鐒跺悗瀹屾垚璁ゆ浠ュ悗鎵嶈兘澶嶆牳銆�');
+                return;
+            } else {
+                if (!this.IsRecognitionModelTrueC) {
+                    this.ShowToastEvent('褰撳墠缁翠慨鍚堝悓娌℃湁瀹屾垚璁ゆ锛屼笉鑳借繘琛屽鏍搞��', "error")
+                    // alert('褰撳墠缁翠慨鍚堝悓娌℃湁瀹屾垚璁ゆ锛屼笉鑳借繘琛屽鏍搞��');
+                    return;
+                }
+            }
+        }
+        var status = this.MCApprovalStatusC;
+        if (status != 'Draft' && status != 'Reject' && status != undefined) {
+            this.ShowToastEvent('澶嶆牳宸茬粡鎻愪氦锛岃纭鐘舵�併��', "success")
+            // alert('澶嶆牳宸茬粡鎻愪氦锛岃纭鐘舵�併��');
+            return;
+        }
+        var con_no = this.ContractprintCompletedC;
+        if (con_no == '') {
+            this.ShowToastEvent('鍚堝悓鐩栫珷瀹屾瘯涓虹┖锛屼笉鑳芥彁浜ゅ悎鍚屽鏍哥敵璇枫��', "error")
+            // alert('鍚堝悓鐩栫珷瀹屾瘯涓虹┖锛屼笉鑳芥彁浜ゅ悎鍚屽鏍哥敵璇枫��');
+            return;
+        }
+        if (!confirm("涓�鏃︽彁浜ゆ璁板綍浠ュ緟鎵瑰噯锛屾牴鎹偍鐨勮缃偍鍙兘涓嶅啀鑳藉缂栬緫姝よ褰曟垨灏嗕粬浠庢壒鍑嗚繃绋嬩腑璋冨洖銆傛槸鍚︾户缁紵")) {
+            return;
+        }
+        processResults({
+            recordId: this.recordId
+        }).catch(error => {
+            if (error.body.pageErrors[0] != null) {
+                var errmsg = error.body.pageErrors[0].message.toString();
+                // alert(errmsg + '_sys');
+                this.ShowToastEvent(errmsg + '_sys', "error")
+                return;
+            }
+        })
+    }
+
+    // 寮圭獥
+    ShowToastEvent(msg, type) {
+        const event = new ShowToastEvent({
+            title: '',
+            message: msg,
+            variant: type
+        });
+        this.dispatchEvent(event);
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexPreContractSubmit/lexPreContractSubmit.js-meta.xml b/force-app/main/default/lwc/lexPreContractSubmit/lexPreContractSubmit.js-meta.xml
new file mode 100644
index 0000000..3392981
--- /dev/null
+++ b/force-app/main/default/lwc/lexPreContractSubmit/lexPreContractSubmit.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+	<isExposed>true</isExposed>
+	<targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexPredictedDateChange/lexPredictedDateChange.css b/force-app/main/default/lwc/lexPredictedDateChange/lexPredictedDateChange.css
new file mode 100644
index 0000000..548c121
--- /dev/null
+++ b/force-app/main/default/lwc/lexPredictedDateChange/lexPredictedDateChange.css
@@ -0,0 +1,10 @@
+.predictedDateChangeHolder{
+    position: relative;
+    display: inline-block;
+    width: 80px;
+    height: 80px;
+    text-align: center;
+}
+.container .uiContainerManager{
+	display: none !important;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexPredictedDateChange/lexPredictedDateChange.html b/force-app/main/default/lwc/lexPredictedDateChange/lexPredictedDateChange.html
new file mode 100644
index 0000000..621521f
--- /dev/null
+++ b/force-app/main/default/lwc/lexPredictedDateChange/lexPredictedDateChange.html
@@ -0,0 +1,6 @@
+<template>
+    <div class="predictedDateChangeHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+        <lightning-button label="Show Toast" onclick={ShowToastEvent}></lightning-button>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexPredictedDateChange/lexPredictedDateChange.js b/force-app/main/default/lwc/lexPredictedDateChange/lexPredictedDateChange.js
new file mode 100644
index 0000000..c121740
--- /dev/null
+++ b/force-app/main/default/lwc/lexPredictedDateChange/lexPredictedDateChange.js
@@ -0,0 +1,82 @@
+/*
+ * @Description: 
+ * @version: 
+ * @Author: chen jing wu
+ * @Date: 2023-04-12 10:46:24
+ * @LastEditors: chen jing wu
+ * @LastEditTime: 2023-04-12 13:48:26
+ */
+import { api, wire,LightningElement } from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import queryForPredictedDateChangeButton  from '@salesforce/apex/OpportunityLightingButtonController.queryForPredictedDateChangeButton';
+import init  from '@salesforce/apex/OpportunityLightingButtonController.initForPredictedDateChangeButton';
+import { updateRecord } from 'lightning/uiRecordApi';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+export default class LexPredictedDateChange extends LightningElement {
+    @api recordId;
+    IsLoading = true;
+    directLossFLG;
+    createdDay;
+    @wire(CurrentPageReference)
+    getStateParameters(currentPageReference) {
+            console.log(111);
+            console.log(currentPageReference);
+
+        if (currentPageReference) {
+          const urlValue = currentPageReference.state.recordId;
+          if (urlValue) {
+            let str = `${urlValue}`;
+            console.log("str");
+            console.log(str);
+            this.recordId = str;
+          }
+        }
+    }
+    showToast(msg,type) {
+      const event = new ShowToastEvent({
+          title: '',
+          message: msg,
+          variant: type
+      });
+      this.dispatchEvent(event);
+    }
+    updateRecordView(recordId) {
+      updateRecord({fields: { Id: recordId }});
+    }
+    connectedCallback(){
+      init({
+        recordId: this.recordId
+      }).then(result=>{
+        this.directLossFLG = result.directLossFLG;
+        this.createdDay = result.createdDay;
+        this.predictedDateChange();
+      }).catch(error=>{
+        console.log("error");
+        console.log(error);
+      })
+    }
+    predictedDateChange(){
+      // 20221206 ljh DB202212030068 start
+      var DirectLossFLG = this.directLossFLG;
+      var CreatedDay = this.createdDay;
+      var Day =  Date('2022-12-03');
+      if((DirectLossFLG == 'true' || DirectLossFLG == 1 ) && CreatedDay > Day){
+        this.showToast("浠庢嫑鏍囬」鐩偣鍑诲け鍗曟柊寤虹殑璇环锛岄娴婳CSM绛剧害鏃�(KPI)鍜岄娴嬪彂璐ф棩涓嶅厑璁镐慨鏀�","error");
+        return;
+      }
+      // 20221206 ljh DB202212030068 end
+      queryForPredictedDateChangeButton({
+        recordId: this.recordId
+      }).then(result=>{
+        var sqlResult = result;
+        if (sqlResult.size > 0) {
+          this.showToast("宸插瓨鍦ㄥ緟瀹℃壒鐨勫彉鏇寸敵璇凤紒","error");
+          return;
+        } else {
+          window.open('/apex/ImprovedForecastTime?id=' + this.recordId,'','height=500,width=800,top=200,left=250,location=no');
+          this.dispatchEvent(new CloseActionScreenEvent());
+        }
+      })
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexPredictedDateChange/lexPredictedDateChange.js-meta.xml b/force-app/main/default/lwc/lexPredictedDateChange/lexPredictedDateChange.js-meta.xml
new file mode 100644
index 0000000..3392981
--- /dev/null
+++ b/force-app/main/default/lwc/lexPredictedDateChange/lexPredictedDateChange.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+	<isExposed>true</isExposed>
+	<targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexProductRepairQuoteRepair/lexProductRepairQuoteRepair.html b/force-app/main/default/lwc/lexProductRepairQuoteRepair/lexProductRepairQuoteRepair.html
new file mode 100644
index 0000000..d044dbb
--- /dev/null
+++ b/force-app/main/default/lwc/lexProductRepairQuoteRepair/lexProductRepairQuoteRepair.html
@@ -0,0 +1,5 @@
+<template>
+    <div class="exampleHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexProductRepairQuoteRepair/lexProductRepairQuoteRepair.js b/force-app/main/default/lwc/lexProductRepairQuoteRepair/lexProductRepairQuoteRepair.js
new file mode 100644
index 0000000..ef8176d
--- /dev/null
+++ b/force-app/main/default/lwc/lexProductRepairQuoteRepair/lexProductRepairQuoteRepair.js
@@ -0,0 +1,67 @@
+import {
+    LightningElement,
+    wire,
+    api
+} from 'lwc';
+import {
+    CurrentPageReference
+} from "lightning/navigation";
+import {
+    CloseActionScreenEvent
+} from 'lightning/actions';
+
+import init from '@salesforce/apex/otherButtonRepairController.init';
+import selectAssetID from '@salesforce/apex/otherButtonRepairController.selectAssetID';
+
+export default class LexProductRepairQuoteRepair extends LightningElement {
+    @api recordId;
+    str;
+    IsLoading = true;
+    Id;
+    RecordTypeId;
+    AssetOwnerC;
+    DeliveredProductC;
+
+    @wire(CurrentPageReference)
+    getStateParameters(currentPageReference) {
+        if (currentPageReference) {
+            const urlValue = currentPageReference.state.recordId;
+            if (urlValue) {
+                let str = `${urlValue}`;
+                this.recordId = str;
+            }
+        }
+    }
+
+    connectedCallback() {
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            console.log(result);
+            if (result != null) {
+                this.IsLoading = false;
+                this.Id = result.Id;
+                this.RecordTypeId = result.RecordTypeId;
+
+                this.ProductRepairQuoteRepair();
+                this.dispatchEvent(new CloseActionScreenEvent());
+            }
+        }).catch(error => {
+            console.log(error);
+        }).finally(() => {
+
+        });
+    }
+
+    // 淇悊鎶ヤ环棰勪及
+    ProductRepairQuoteRepair() {
+        selectAssetID({
+            recordId: this.Id
+        }).then(result => {
+            this.DeliveredProductC = result;
+            window.open('/apex/ProductRepairQuote?productid=' + this.DeliveredProductC + '&flag=asset', '', 'height=250, width=500, top=300, left=350,location=no')
+        }).catch(error => {
+            console.log(error);
+        })
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexProductRepairQuoteRepair/lexProductRepairQuoteRepair.js-meta.xml b/force-app/main/default/lwc/lexProductRepairQuoteRepair/lexProductRepairQuoteRepair.js-meta.xml
new file mode 100644
index 0000000..3392981
--- /dev/null
+++ b/force-app/main/default/lwc/lexProductRepairQuoteRepair/lexProductRepairQuoteRepair.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+	<isExposed>true</isExposed>
+	<targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexQISAgree/lexQISAgree.css b/force-app/main/default/lwc/lexQISAgree/lexQISAgree.css
new file mode 100644
index 0000000..9acb129
--- /dev/null
+++ b/force-app/main/default/lwc/lexQISAgree/lexQISAgree.css
@@ -0,0 +1,22 @@
+.outerBorderCss{
+    border: 1px solid #D4D4D4;
+    border-radius : 5px;
+    border-top : 3px solid #565959;
+}
+.borderCss{
+    border: 1px solid #D4D4D4;
+    border-radius : 5px;
+    margin-bottom : 7px;
+    border-top : 3px solid #565959;
+}
+.headerDorderCss{
+    border-top: 1px solid #565959;
+    border-bottom: 1px solid #D4D4D4;
+    padding:3px;
+}
+.centerCss{
+    text-align: center;
+}
+.centerCss .left{
+    margin-left: 100px;
+}/* sample css file *//* sample css file */
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexQISAgree/lexQISAgree.html b/force-app/main/default/lwc/lexQISAgree/lexQISAgree.html
new file mode 100644
index 0000000..c8bdbfc
--- /dev/null
+++ b/force-app/main/default/lwc/lexQISAgree/lexQISAgree.html
@@ -0,0 +1,5 @@
+<template>
+   <div class="sisToOPDHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexQISAgree/lexQISAgree.js b/force-app/main/default/lwc/lexQISAgree/lexQISAgree.js
new file mode 100644
index 0000000..da5fd6b
--- /dev/null
+++ b/force-app/main/default/lwc/lexQISAgree/lexQISAgree.js
@@ -0,0 +1,86 @@
+import { LightningElement,wire,track,api} from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import { NavigationMixin } from 'lightning/navigation';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+import init  from '@salesforce/apex/QISReportController.initForQisAgreeButton';
+import updateQis  from '@salesforce/apex/QISReportController.updateQisForQisAgree';
+import UserInfo_Owner from '@salesforce/apex/TaskFeedbackController.UserInfo_Owner';
+import { updateRecord } from 'lightning/uiRecordApi';
+
+export default class lexQISAgree extends LightningElement {
+	@api recordId;
+	IsLoading = true;
+	qisReportId;
+	OwnerId;
+    err;
+
+    @wire(CurrentPageReference)
+     getStateParameters(currentPageReference) {
+             console.log(111);
+             console.log(currentPageReference);
+
+         if (currentPageReference) {
+           const urlValue = currentPageReference.state.recordId;
+           if (urlValue) {
+             let str = `${urlValue}`;
+             console.log("str");
+             console.log(str);
+             this.recordId = str;
+           }
+         }
+    }
+
+    connectedCallback () {
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            this.IsLoading = false;
+            this.qisReportId = result.Id;
+            this.OwnerId = result.ownerId;
+            if (this.OwnerId != UserInfo_Owner.Id) {
+            	const evt = new ShowToastEvent({
+                            title : '鍙湁鎵�鏈夎�呭彲浠ユ寜QIS缁撴灉璺熻繘瀹屾瘯鐨勬寜閽�',
+                            message: '',
+                            variant: 'error'
+                        });
+                        this.dispatchEvent(evt);
+                        this.dispatchEvent(new CloseActionScreenEvent());
+                        return;
+            }else{
+            	this.updateQisSubmit();
+            }
+        }).catch(error => {
+            console.log('error='+error);
+        }).finally(() => {
+            
+        }); 
+    }
+
+    updateRecordView(recordId) {
+        updateRecord({fields: { Id: recordId }});
+    }
+
+    updateQisSubmit(){
+        	updateQis({
+        		 recordId: this.recordId
+        		}).then(result =>{
+        			console.log('result'+result);
+                     this.err = result;
+        			if (result!='鎴愬姛') {
+                        const evt = new ShowToastEvent({
+                            title : '鏇存柊澶辫触',
+                            message: this.err,
+                            variant: 'error'
+                        });
+                        this.dispatchEvent(evt);
+                    }
+                this.dispatchEvent(new CloseActionScreenEvent());
+                this.updateRecordView(this.recordId);
+        		}).catch(error => {
+            console.log('error='+error);
+        }).finally(() => {
+            
+        });
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexQISAgree/lexQISAgree.js-meta.xml b/force-app/main/default/lwc/lexQISAgree/lexQISAgree.js-meta.xml
new file mode 100644
index 0000000..7a4ca36
--- /dev/null
+++ b/force-app/main/default/lwc/lexQISAgree/lexQISAgree.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lexQISAgree">
+  <apiVersion>54.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightning__RecordPage</target>
+        <target>lightning__AppPage</target>
+        <target>lightning__HomePage</target>
+        <target>lightning__RecordAction</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexQISIntakeuniversalcode/lexQISIntakeuniversalcode.css b/force-app/main/default/lwc/lexQISIntakeuniversalcode/lexQISIntakeuniversalcode.css
new file mode 100644
index 0000000..79456f2
--- /dev/null
+++ b/force-app/main/default/lwc/lexQISIntakeuniversalcode/lexQISIntakeuniversalcode.css
@@ -0,0 +1,22 @@
+.outerBorderCss{
+    border: 1px solid #D4D4D4;
+    border-radius : 5px;
+    border-top : 3px solid #565959;
+}
+.borderCss{
+    border: 1px solid #D4D4D4;
+    border-radius : 5px;
+    margin-bottom : 7px;
+    border-top : 3px solid #565959;
+}
+.headerDorderCss{
+    border-top: 1px solid #565959;
+    border-bottom: 1px solid #D4D4D4;
+    padding:3px;
+}
+.centerCss{
+    text-align: center;
+}
+.centerCss .left{
+    margin-left: 100px;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexQISIntakeuniversalcode/lexQISIntakeuniversalcode.html b/force-app/main/default/lwc/lexQISIntakeuniversalcode/lexQISIntakeuniversalcode.html
new file mode 100644
index 0000000..c8bdbfc
--- /dev/null
+++ b/force-app/main/default/lwc/lexQISIntakeuniversalcode/lexQISIntakeuniversalcode.html
@@ -0,0 +1,5 @@
+<template>
+   <div class="sisToOPDHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexQISIntakeuniversalcode/lexQISIntakeuniversalcode.js b/force-app/main/default/lwc/lexQISIntakeuniversalcode/lexQISIntakeuniversalcode.js
new file mode 100644
index 0000000..94c87ab
--- /dev/null
+++ b/force-app/main/default/lwc/lexQISIntakeuniversalcode/lexQISIntakeuniversalcode.js
@@ -0,0 +1,64 @@
+import { LightningElement,wire,track,api} from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import { NavigationMixin } from 'lightning/navigation';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+import init  from '@salesforce/apex/QISReportController.initForlexQISIntakeuniversalcodeButton';
+import sqlForPAE  from '@salesforce/apex/QISReportController.sqlForPAE1';
+
+export default class lexQISIntakeuniversalcode extends LightningElement {
+	@api recordId;
+	IsLoading = true;
+	qisReportId;
+	paeId;
+
+    @wire(CurrentPageReference)
+     getStateParameters(currentPageReference) {
+             console.log(111);
+             console.log(currentPageReference);
+
+         if (currentPageReference) {
+           const urlValue = currentPageReference.state.recordId;
+           if (urlValue) {
+             let str = `${urlValue}`;
+             console.log("str");
+             console.log(str);
+             this.recordId = str;
+           }
+         }
+    }
+
+   connectedCallback () {
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            console.log(result);
+            if (result != null) {
+                this.IsLoading = false;
+                this.qisReportId = result.Id;
+                var RecordTypeId = "ASRCDecision";
+                sqlForPAE({
+                	qisReportId: this.qisReportId
+           		 }).then(result => {
+	            	if (result!=null) {
+	            		this.paeId = result.PAEid;
+	            		console.log('result='+this.paeId);
+	            	}   
+	            	var url = '';
+					if (result!=null&&result.length>0){
+						url = "/apex/PAEDecisionRecord?Id="+this.paeId+"&QISReportId="+this.qisReportId +"&RecordTypeIds="+RecordTypeId ;
+					} else {
+						url = "/apex/PAEDecisionRecord?QISReportId="+this.qisReportId +"&RecordTypeIds="+RecordTypeId;
+					} 
+					console.log('url='+url);
+                    window.location.replace(url);
+		        }); 
+            }
+        }).catch(error => {
+            console.log('error='+error);
+        }).finally(() => {
+            
+        });   
+    }
+
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexQISIntakeuniversalcode/lexQISIntakeuniversalcode.js-meta.xml b/force-app/main/default/lwc/lexQISIntakeuniversalcode/lexQISIntakeuniversalcode.js-meta.xml
new file mode 100644
index 0000000..2ed1142
--- /dev/null
+++ b/force-app/main/default/lwc/lexQISIntakeuniversalcode/lexQISIntakeuniversalcode.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lexQISIntakeuniversalcode">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightning__RecordPage</target>
+        <target>lightning__AppPage</target>
+        <target>lightning__HomePage</target>
+        <target>lightning__RecordAction</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexQISSC/lexQISSC.css b/force-app/main/default/lwc/lexQISSC/lexQISSC.css
new file mode 100644
index 0000000..9acb129
--- /dev/null
+++ b/force-app/main/default/lwc/lexQISSC/lexQISSC.css
@@ -0,0 +1,22 @@
+.outerBorderCss{
+    border: 1px solid #D4D4D4;
+    border-radius : 5px;
+    border-top : 3px solid #565959;
+}
+.borderCss{
+    border: 1px solid #D4D4D4;
+    border-radius : 5px;
+    margin-bottom : 7px;
+    border-top : 3px solid #565959;
+}
+.headerDorderCss{
+    border-top: 1px solid #565959;
+    border-bottom: 1px solid #D4D4D4;
+    padding:3px;
+}
+.centerCss{
+    text-align: center;
+}
+.centerCss .left{
+    margin-left: 100px;
+}/* sample css file *//* sample css file */
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexQISSC/lexQISSC.html b/force-app/main/default/lwc/lexQISSC/lexQISSC.html
new file mode 100644
index 0000000..c8bdbfc
--- /dev/null
+++ b/force-app/main/default/lwc/lexQISSC/lexQISSC.html
@@ -0,0 +1,5 @@
+<template>
+   <div class="sisToOPDHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexQISSC/lexQISSC.js b/force-app/main/default/lwc/lexQISSC/lexQISSC.js
new file mode 100644
index 0000000..2917728
--- /dev/null
+++ b/force-app/main/default/lwc/lexQISSC/lexQISSC.js
@@ -0,0 +1,96 @@
+import { LightningElement,wire,track,api} from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import { NavigationMixin } from 'lightning/navigation';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+import init  from '@salesforce/apex/QISReportController.initForlexQISSCButton';
+import UserInfo_Owner from '@salesforce/apex/TaskFeedbackController.UserInfo_Owner';
+import { updateRecord } from 'lightning/uiRecordApi';
+
+export default class lexQISSC extends LightningElement {
+	@api recordId;
+	IsLoading = true;
+	qisReportId;
+	name;
+	profileName;
+	qISSCId;
+	qISSCReport;
+	nextaction;
+	qISMarketCategory;
+    err;
+
+    @wire(CurrentPageReference)
+     getStateParameters(currentPageReference) {
+             console.log(111);
+             console.log(currentPageReference);
+
+         if (currentPageReference) {
+           const urlValue = currentPageReference.state.recordId;
+           if (urlValue) {
+             let str = `${urlValue}`;
+             console.log("str");
+             console.log(str);
+             this.recordId = str;
+           }
+         }
+    }
+
+    connectedCallback () {
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            this.IsLoading = false;
+            this.qisReportId = result.Id;
+            this.name = result.name;
+            this.qISSCId = result.qISSCId;
+            this.qISSCReport = result.qISSCReport;
+            this.nextaction = result.nextaction;
+            this.qISMarketCategory = result.qISMarketCategory;
+            this.profileName = result.profileName;
+            console.log('profileName='+this.profileName);
+            console.log('qISSCReport='+this.qISSCReport);
+            console.log('nextaction='+this.nextaction);
+            console.log('qISMarketCategory='+this.qISMarketCategory);
+            if (this.profileName == '2F4_鎶�鏈帹杩涢儴' || this.profileName == '2F4_鎶�鏈帹杩涢儴_OSH 闈炲崟鐐�') {
+            	const evt = new ShowToastEvent({
+                            title : '鎮ㄦ病鏈夋柊寤篞IS甯傚満閮ㄦ潈闄愩��',
+                            message: '',
+                            variant: 'error'
+                        });
+                        this.dispatchEvent(evt);
+                        this.dispatchEvent(new CloseActionScreenEvent());
+                        return;
+            }
+            if (this.qISSCReport!=null) {
+            	var url = 'https://ocsm.my.salesforce.com/'+this.qISSCId;
+            	window.open(url);
+            	this.dispatchEvent(new CloseActionScreenEvent());
+                return;
+            }else{
+            	if (this.nextaction == '閫佸洖' && (this.qISMarketCategory == 'ET' || this.qISMarketCategory == 'ENG' || this.qISMarketCategory == 'EndoRapid')) {
+            		var urlStr ='/a3w/e?CF00N100000095xFJ='+this.name+
+							'&CF00N100000095xFJ_lkid='+this.qisReportId+
+							'&retURL='+this.qisReportId+
+							'&Name='+this.name;
+						window.open(urlStr);	
+						
+                        this.dispatchEvent(new CloseActionScreenEvent());
+                        return;
+            	}else{
+            		const evt = new ShowToastEvent({
+                            title : '瀵瑰簲鏂规硶涓鸿繑鍥炰笖瀵瑰簲涓绘満/娑堣�楀搧涓篍T 鎴� ENG 鎴� EndoRapid 鏃讹紝鎵嶅彲浠ユ柊寤恒��',
+                            message: '',
+                            variant: 'error'
+                        });
+                        
+                        this.dispatchEvent(new CloseActionScreenEvent());
+                        return;
+            	}
+            }
+        }).catch(error => {
+            console.log('error='+error);
+        }).finally(() => {
+            
+        }); 
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexQISSC/lexQISSC.js-meta.xml b/force-app/main/default/lwc/lexQISSC/lexQISSC.js-meta.xml
new file mode 100644
index 0000000..5701aa7
--- /dev/null
+++ b/force-app/main/default/lwc/lexQISSC/lexQISSC.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lexQISSC">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightning__RecordPage</target>
+        <target>lightning__AppPage</target>
+        <target>lightning__HomePage</target>
+        <target>lightning__RecordAction</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexQuarterlyReport/lexQuarterlyReport.html b/force-app/main/default/lwc/lexQuarterlyReport/lexQuarterlyReport.html
new file mode 100644
index 0000000..d044dbb
--- /dev/null
+++ b/force-app/main/default/lwc/lexQuarterlyReport/lexQuarterlyReport.html
@@ -0,0 +1,5 @@
+<template>
+    <div class="exampleHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexQuarterlyReport/lexQuarterlyReport.js b/force-app/main/default/lwc/lexQuarterlyReport/lexQuarterlyReport.js
new file mode 100644
index 0000000..fc1f1e2
--- /dev/null
+++ b/force-app/main/default/lwc/lexQuarterlyReport/lexQuarterlyReport.js
@@ -0,0 +1,69 @@
+import {
+    LightningElement,
+    wire,
+    api
+} from 'lwc';
+import {
+    CurrentPageReference
+} from "lightning/navigation";
+import {
+    CloseActionScreenEvent
+} from 'lightning/actions';
+import init from '@salesforce/apex/otherButtonMaintenanceContractCtl.init';
+
+export default class LexQuarterlyReport extends LightningElement {
+    @api recordId;
+    str;
+    IsLoading = true;
+    Id;
+    RecordTypeDeveloperNameC;
+    EstimateTargetC;
+
+    @wire(CurrentPageReference)
+    getStateParameters(currentPageReference) {
+        if (currentPageReference) {
+            const urlValue = currentPageReference.state.recordId;
+            if (urlValue) {
+                let str = `${urlValue}`;
+                this.recordId = str;
+            }
+        }
+    }
+
+    connectedCallback() {
+        console.log(this.recordId);
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            console.log(result);
+            if (result != null) {
+                this.IsLoading = false;
+                this.Id = result.Id;
+                this.RecordTypeDeveloperNameC = result.RecordTypeDeveloperNameC;
+                this.EstimateTargetC = result.EstimateTargetC;
+
+
+                this.QuarterlyReport();
+                this.dispatchEvent(new CloseActionScreenEvent());
+            }
+        }).catch(error => {
+            console.log(error);
+        }).finally(() => {
+
+        });
+    }
+
+    // 鍒朵綔瀛f姤
+    QuarterlyReport() {
+        var MaintenanceContractId = this.Id;
+        var RecordTypeName = this.RecordTypeDeveloperNameC;
+        var EstimateTarget = this.EstimateTargetC;
+        var url = '';
+        if (EstimateTarget == "缁忛攢鍟�" && (RecordTypeName == "NewMaintenance_Contract" || RecordTypeName == "VM_Contract")) {
+            url = "/apex/MoreMaintenanceContractPop?Id=" + MaintenanceContractId + "&RecordTypeName=" + RecordTypeName;
+        } else {
+            url = "http://powerbi.olympus.com.cn/Home/Login";
+        }
+        window.open(url, '_bank');
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexQuarterlyReport/lexQuarterlyReport.js-meta.xml b/force-app/main/default/lwc/lexQuarterlyReport/lexQuarterlyReport.js-meta.xml
new file mode 100644
index 0000000..3392981
--- /dev/null
+++ b/force-app/main/default/lwc/lexQuarterlyReport/lexQuarterlyReport.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+	<isExposed>true</isExposed>
+	<targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexQuotationProductNew/lexQuotationProductNew.html b/force-app/main/default/lwc/lexQuotationProductNew/lexQuotationProductNew.html
new file mode 100644
index 0000000..1ac43b5
--- /dev/null
+++ b/force-app/main/default/lwc/lexQuotationProductNew/lexQuotationProductNew.html
@@ -0,0 +1,6 @@
+<template>
+    <div class="lexQuotationRequestHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+        <lightning-button label="Show Toast" onclick={ShowToastEvent}></lightning-button>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexQuotationProductNew/lexQuotationProductNew.js b/force-app/main/default/lwc/lexQuotationProductNew/lexQuotationProductNew.js
new file mode 100644
index 0000000..6720168
--- /dev/null
+++ b/force-app/main/default/lwc/lexQuotationProductNew/lexQuotationProductNew.js
@@ -0,0 +1,67 @@
+/*
+ * @Description: 
+ * @version: 
+ * @Author: chen jing wu
+ * @Date: 2023-04-14 17:15:33
+ * @LastEditors: chen jing wu
+ * @LastEditTime: 2023-04-14 17:20:45
+ */
+import { api, wire,LightningElement } from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import init  from '@salesforce/apex/OpportunityLightingButtonController.initForQuotationProductNewButton';
+import { updateRecord } from 'lightning/uiRecordApi';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+
+export default class LexQuotationProductNew extends LightningElement {
+    @api recordId;
+    currencyIsoCode;
+    @wire(CurrentPageReference)
+    getStateParameters(currentPageReference) {
+            console.log(111);
+            console.log(currentPageReference);
+
+        if (currentPageReference) {
+          const urlValue = currentPageReference.state.recordId;
+          if (urlValue) {
+            let str = `${urlValue}`;
+            console.log("str");
+            console.log(str);
+            this.recordId = str;
+          }
+        }
+    }
+    connectedCallback(){
+        init({
+            recordId:this.recordId
+        }).then(result=>{
+            this.currencyIsoCode = result.currencyIsoCode;
+            this.quotationProductNew();
+        }).catch(error=>{
+            console.log(error);
+        });
+    }
+    quotationProductNew(){
+        var Currency = this.currencyIsoCode;
+        var OppID = this.recordId;
+        if (Currency == 'CNY'){
+        var url = '/00O10000002jviu?pv0=' + OppID;
+        }
+        else if (Currency == 'USD'){
+        var url = '/00O10000005Ju6L?pv0=' + OppID;
+        }
+        window.open(url);
+        this.dispatchEvent(new CloseActionScreenEvent());
+    }
+    showToast(msg,type) {
+        const event = new ShowToastEvent({
+            title: '',
+            message: msg,
+            variant: type
+        });
+        this.dispatchEvent(event);
+      }
+      updateRecordView(recordId) {
+        updateRecord({fields: { Id: recordId }});
+      }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexQuotationProductNew/lexQuotationProductNew.js-meta.xml b/force-app/main/default/lwc/lexQuotationProductNew/lexQuotationProductNew.js-meta.xml
new file mode 100644
index 0000000..3392981
--- /dev/null
+++ b/force-app/main/default/lwc/lexQuotationProductNew/lexQuotationProductNew.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+	<isExposed>true</isExposed>
+	<targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexQuotationRequest/lexQuotationRequest.css b/force-app/main/default/lwc/lexQuotationRequest/lexQuotationRequest.css
new file mode 100644
index 0000000..e2d6ce2
--- /dev/null
+++ b/force-app/main/default/lwc/lexQuotationRequest/lexQuotationRequest.css
@@ -0,0 +1,10 @@
+.lexQuotationRequestHolder{
+    position: relative;
+    display: inline-block;
+    width: 80px;
+    height: 80px;
+    text-align: center;
+}
+.container .uiContainerManager{
+	display: none !important;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexQuotationRequest/lexQuotationRequest.html b/force-app/main/default/lwc/lexQuotationRequest/lexQuotationRequest.html
new file mode 100644
index 0000000..dff927d
--- /dev/null
+++ b/force-app/main/default/lwc/lexQuotationRequest/lexQuotationRequest.html
@@ -0,0 +1,14 @@
+<!--
+ * @Description: 
+ * @version: 
+ * @Author: chen jing wu
+ * @Date: 2023-04-14 11:09:28
+ * @LastEditors: chen jing wu
+ * @LastEditTime: 2023-04-14 11:10:38
+-->
+<template>
+    <div class="lexQuotationRequestHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+        <lightning-button label="Show Toast" onclick={ShowToastEvent}></lightning-button>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexQuotationRequest/lexQuotationRequest.js b/force-app/main/default/lwc/lexQuotationRequest/lexQuotationRequest.js
new file mode 100644
index 0000000..d968b59
--- /dev/null
+++ b/force-app/main/default/lwc/lexQuotationRequest/lexQuotationRequest.js
@@ -0,0 +1,73 @@
+/*
+ * @Description: 
+ * @version: 
+ * @Author: chen jing wu
+ * @Date: 2023-04-14 11:09:28
+ * @LastEditors: chen jing wu
+ * @LastEditTime: 2023-04-14 11:21:24
+ */
+import { api, wire,LightningElement } from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import queryForQuotationRequestButton  from '@salesforce/apex/OpportunityLightingButtonController.queryForQuotationRequestButton';
+import init  from '@salesforce/apex/OpportunityLightingButtonController.initForQuotationRequestButton';
+import { updateRecord } from 'lightning/uiRecordApi';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+
+export default class LexQuotationRequest extends LightningElement {
+    @api recordId;
+    biddingProjectNameBidId;
+    estimationId;
+    @wire(CurrentPageReference)
+    getStateParameters(currentPageReference) {
+            console.log(111);
+            console.log(currentPageReference);
+
+        if (currentPageReference) {
+          const urlValue = currentPageReference.state.recordId;
+          if (urlValue) {
+            let str = `${urlValue}`;
+            console.log("str");
+            console.log(str);
+            this.recordId = str;
+          }
+        }
+    }
+    connectedCallback(){
+        init({
+            recordId: this.recordId
+        }).then(result=>{
+            this.biddingProjectNameBidId = result.biddingProjectNameBidId;
+            this.estimationId = result.estimationId;
+            this.quotationRequest();
+        })
+    }
+    quotationRequest(){
+        queryForQuotationRequestButton({
+            recordId: this.recordId
+        }).then(result=>{
+            var records = result;
+            var size =records.length;
+            if(size > 1){
+                this.showToast("鏈�2涓垨鑰�2涓互涓婄殑鑽夋涓姤浠峰鎵橈紝璇风‘璁ゃ��","error");
+            }else if(size == 1){
+                var raes = records[0].Id;
+                location.href = "/apex/NewQuoteIrai?id="+ raes+"&tenderid=" + this.biddingProjectNameBidId;
+            }else{
+                location.href = "/apex/NewQuoteIrai?oppid=" + this.recordId + "&oppquoid=" + this.estimationId + "&tenderid=" + this.biddingProjectNameBidId;
+            }
+            this.dispatchEvent(new CloseActionScreenEvent()); 
+        })
+    }
+    showToast(msg,type) {
+      const event = new ShowToastEvent({
+          title: '',
+          message: msg,
+          variant: type
+      });
+      this.dispatchEvent(event);
+    }
+    updateRecordView(recordId) {
+      updateRecord({fields: { Id: recordId }});
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexQuotationRequest/lexQuotationRequest.js-meta.xml b/force-app/main/default/lwc/lexQuotationRequest/lexQuotationRequest.js-meta.xml
new file mode 100644
index 0000000..3392981
--- /dev/null
+++ b/force-app/main/default/lwc/lexQuotationRequest/lexQuotationRequest.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+	<isExposed>true</isExposed>
+	<targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexRCCDScomplete/lexRCCDScomplete.css b/force-app/main/default/lwc/lexRCCDScomplete/lexRCCDScomplete.css
new file mode 100644
index 0000000..79456f2
--- /dev/null
+++ b/force-app/main/default/lwc/lexRCCDScomplete/lexRCCDScomplete.css
@@ -0,0 +1,22 @@
+.outerBorderCss{
+    border: 1px solid #D4D4D4;
+    border-radius : 5px;
+    border-top : 3px solid #565959;
+}
+.borderCss{
+    border: 1px solid #D4D4D4;
+    border-radius : 5px;
+    margin-bottom : 7px;
+    border-top : 3px solid #565959;
+}
+.headerDorderCss{
+    border-top: 1px solid #565959;
+    border-bottom: 1px solid #D4D4D4;
+    padding:3px;
+}
+.centerCss{
+    text-align: center;
+}
+.centerCss .left{
+    margin-left: 100px;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexRCCDScomplete/lexRCCDScomplete.html b/force-app/main/default/lwc/lexRCCDScomplete/lexRCCDScomplete.html
new file mode 100644
index 0000000..c8bdbfc
--- /dev/null
+++ b/force-app/main/default/lwc/lexRCCDScomplete/lexRCCDScomplete.html
@@ -0,0 +1,5 @@
+<template>
+   <div class="sisToOPDHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexRCCDScomplete/lexRCCDScomplete.js b/force-app/main/default/lwc/lexRCCDScomplete/lexRCCDScomplete.js
new file mode 100644
index 0000000..4f7e882
--- /dev/null
+++ b/force-app/main/default/lwc/lexRCCDScomplete/lexRCCDScomplete.js
@@ -0,0 +1,98 @@
+import { LightningElement,wire,track,api} from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import { NavigationMixin } from 'lightning/navigation';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+import init  from '@salesforce/apex/QISReportController.initForRCCDScompleteButton';
+import updateQis  from '@salesforce/apex/QISReportController.updateQisForRCCDScomplete';
+import UserInfo_Owner from '@salesforce/apex/TaskFeedbackController.UserInfo_Owner';
+import { updateRecord } from 'lightning/uiRecordApi';
+
+export default class lexRCCDScomplete extends LightningElement {
+	@api recordId;
+	IsLoading = true;
+	qisReportId;
+	cdsdate;
+	QIStatus;
+    err;
+
+    @wire(CurrentPageReference)
+     getStateParameters(currentPageReference) {
+             console.log(111);
+             console.log(currentPageReference);
+
+         if (currentPageReference) {
+           const urlValue = currentPageReference.state.recordId;
+           if (urlValue) {
+             let str = `${urlValue}`;
+             console.log("str");
+             console.log(str);
+             this.recordId = str;
+           }
+         }
+    }
+
+    connectedCallback () {
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            this.IsLoading = false;
+            this.qisReportId = result.Id;
+            this.cdsdate = result.cdsdate;
+            this.QIStatus = result.qIStatus;
+            if (this.QIStatus == 'RC妫�娴嬬敵璇�') {
+            	const evt = new ShowToastEvent({
+                            title : '闇�瑕佸厛鐐瑰嚮锛籓CM鏈嶅姟鏈儴鏀跺埌瀹炵墿锛�',
+                            message: '',
+                            variant: 'error'
+                        });
+                        this.dispatchEvent(evt);
+                        this.dispatchEvent(new CloseActionScreenEvent());
+                        return;
+            }
+            if (this.cdsdate != null) {
+            	const evt = new ShowToastEvent({
+                            title : 'OCM鏈嶅姟鏈儴CDS宸茬粡瀹屾瘯',
+                            message: '',
+                            variant: 'error'
+                        });
+                        this.dispatchEvent(evt);
+                        this.dispatchEvent(new CloseActionScreenEvent());
+                        return;
+            }
+            this.updateQisSubmit();
+        }).catch(error => {
+            console.log('error='+error);
+        }).finally(() => {
+            
+        }); 
+    }
+
+    updateRecordView(recordId) {
+        updateRecord({fields: { Id: recordId }});
+    }
+
+    updateQisSubmit(){
+        	updateQis({
+        		 recordId: this.recordId
+        		}).then(result =>{
+        			console.log('result'+result);
+                     this.err = result;
+        			if (result!='鎴愬姛') {
+                        const evt = new ShowToastEvent({
+                            title : '鏇存柊澶辫触',
+                            message: this.err,
+                            variant: 'error'
+                        });
+                        this.dispatchEvent(evt);
+                    }
+                this.dispatchEvent(new CloseActionScreenEvent());
+                this.updateRecordView(this.recordId);
+        		}).catch(error => {
+            console.log('error='+error);
+        }).finally(() => {
+            
+        });
+    }
+
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexRCCDScomplete/lexRCCDScomplete.js-meta.xml b/force-app/main/default/lwc/lexRCCDScomplete/lexRCCDScomplete.js-meta.xml
new file mode 100644
index 0000000..b85f028
--- /dev/null
+++ b/force-app/main/default/lwc/lexRCCDScomplete/lexRCCDScomplete.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lexRCCDScomplete">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightning__RecordPage</target>
+        <target>lightning__AppPage</target>
+        <target>lightning__HomePage</target>
+        <target>lightning__RecordAction</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexRCRecieved/lexRCRecieved.css b/force-app/main/default/lwc/lexRCRecieved/lexRCRecieved.css
new file mode 100644
index 0000000..635bc6c
--- /dev/null
+++ b/force-app/main/default/lwc/lexRCRecieved/lexRCRecieved.css
@@ -0,0 +1,22 @@
+.outerBorderCss{
+    border: 1px solid #D4D4D4;
+    border-radius : 5px;
+    border-top : 3px solid #565959;
+}
+.borderCss{
+    border: 1px solid #D4D4D4;
+    border-radius : 5px;
+    margin-bottom : 7px;
+    border-top : 3px solid #565959;
+}
+.headerDorderCss{
+    border-top: 1px solid #565959;
+    border-bottom: 1px solid #D4D4D4;
+    padding:3px;
+}
+.centerCss{
+    text-align: center;
+}
+.centerCss .left{
+    margin-left: 100px;
+}/* sample css file */
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexRCRecieved/lexRCRecieved.html b/force-app/main/default/lwc/lexRCRecieved/lexRCRecieved.html
new file mode 100644
index 0000000..49a10f7
--- /dev/null
+++ b/force-app/main/default/lwc/lexRCRecieved/lexRCRecieved.html
@@ -0,0 +1,5 @@
+<template>
+    <div class="sisToOPDHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexRCRecieved/lexRCRecieved.js b/force-app/main/default/lwc/lexRCRecieved/lexRCRecieved.js
new file mode 100644
index 0000000..2afabee
--- /dev/null
+++ b/force-app/main/default/lwc/lexRCRecieved/lexRCRecieved.js
@@ -0,0 +1,103 @@
+import { LightningElement,wire,track,api} from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import { NavigationMixin } from 'lightning/navigation';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+import { updateRecord } from 'lightning/uiRecordApi';
+import init  from '@salesforce/apex/QISReportController.initForlexRCRecievedButton';
+import updateQis  from '@salesforce/apex/QISReportController.updateQisForRCRecieved';
+
+export default class lexRCRecieved extends LightningElement {
+	@api recordId;
+	err;
+	IsLoading = true;
+	qisReportId;
+	qisStatus;
+	isAEProfile;
+	isPAEProfile;
+	isCNBuy;
+	 @wire(CurrentPageReference)
+     getStateParameters(currentPageReference) {
+             console.log(111);
+             console.log(currentPageReference);
+
+         if (currentPageReference) {
+           const urlValue = currentPageReference.state.recordId;
+           if (urlValue) {
+             let str = `${urlValue}`;
+             console.log("str");
+             console.log(str);
+             this.recordId = str;
+           }
+         }
+     }
+
+     connectedCallback () {
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            this.IsLoading = false;
+            this.qisReportId = result.Id;
+            this.qisStatus = result.qIStatus;
+            this.isAEProfile = result.isAEProfile;
+            this.isPAEProfile = result.isPAEProfile;
+            this.isCNBuy = result.isCNBuy;
+            console.log('this.qisStatus='+this.qisStatus);   
+         	if (this.qisStatus!='RC妫�娴嬬敵璇�') {
+                const evt = new ShowToastEvent({
+                        title : 'OCM鏈嶅姟鏈儴宸茬粡鏀跺埌瀹炵墿',
+                        message: '',
+                        variant: 'error'
+                    });
+                this.dispatchEvent(evt);
+                this.dispatchEvent(new CloseActionScreenEvent());
+                return;
+         	}else{
+         		if (this.isAEProfile == null || this.isPAEProfile == null || this.isCNBuy != 'true') {
+         			const evt = new ShowToastEvent({
+                        title : '瀹夊叏淇℃伅鏈垽瀹氾紝璇疯仈绯昏川閲忔硶瑙勯儴',
+                        message: '',
+                        variant: 'error'
+                    });
+	                this.dispatchEvent(evt);
+	                this.dispatchEvent(new CloseActionScreenEvent());
+	                return;
+         		}else{
+         			this.updateQisSubmit();
+         		}
+         	}
+        }).catch(error => {
+            console.log('error='+error);
+        }).finally(() => {
+            
+        }); 
+    }
+
+    updateRecordView(recordId) {
+        updateRecord({fields: { Id: recordId }});
+    }
+
+    updateQisSubmit(){
+        	updateQis({
+        		 recordId: this.recordId
+        		}).then(result =>{
+                    
+        			console.log('result'+result);
+        			this.err = result;
+        			if (result!='鎴愬姛') {
+                        const evt = new ShowToastEvent({
+                            title : '鏇存柊澶辫触',
+                            message: this.err,
+                            variant: 'error'
+                        });
+                        this.dispatchEvent(evt);
+                    }
+                this.dispatchEvent(new CloseActionScreenEvent());
+                this.updateRecordView(this.recordId);
+        		}).catch(error => {
+           				 console.log('error='+error);
+		        }).finally(() => {
+		            
+		        });
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexRCRecieved/lexRCRecieved.js-meta.xml b/force-app/main/default/lwc/lexRCRecieved/lexRCRecieved.js-meta.xml
new file mode 100644
index 0000000..120b162
--- /dev/null
+++ b/force-app/main/default/lwc/lexRCRecieved/lexRCRecieved.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lexRCRecieved">
+   <apiVersion>54.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightning__RecordPage</target>
+        <target>lightning__AppPage</target>
+        <target>lightning__HomePage</target>
+        <target>lightning__RecordAction</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexRCSubmit/lexRCSubmit.css b/force-app/main/default/lwc/lexRCSubmit/lexRCSubmit.css
new file mode 100644
index 0000000..79456f2
--- /dev/null
+++ b/force-app/main/default/lwc/lexRCSubmit/lexRCSubmit.css
@@ -0,0 +1,22 @@
+.outerBorderCss{
+    border: 1px solid #D4D4D4;
+    border-radius : 5px;
+    border-top : 3px solid #565959;
+}
+.borderCss{
+    border: 1px solid #D4D4D4;
+    border-radius : 5px;
+    margin-bottom : 7px;
+    border-top : 3px solid #565959;
+}
+.headerDorderCss{
+    border-top: 1px solid #565959;
+    border-bottom: 1px solid #D4D4D4;
+    padding:3px;
+}
+.centerCss{
+    text-align: center;
+}
+.centerCss .left{
+    margin-left: 100px;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexRCSubmit/lexRCSubmit.html b/force-app/main/default/lwc/lexRCSubmit/lexRCSubmit.html
new file mode 100644
index 0000000..49a10f7
--- /dev/null
+++ b/force-app/main/default/lwc/lexRCSubmit/lexRCSubmit.html
@@ -0,0 +1,5 @@
+<template>
+    <div class="sisToOPDHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexRCSubmit/lexRCSubmit.js b/force-app/main/default/lwc/lexRCSubmit/lexRCSubmit.js
new file mode 100644
index 0000000..a65405b
--- /dev/null
+++ b/force-app/main/default/lwc/lexRCSubmit/lexRCSubmit.js
@@ -0,0 +1,160 @@
+import { LightningElement,wire,track,api} from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import { NavigationMixin } from 'lightning/navigation';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+import init  from '@salesforce/apex/QISReportController.initForRCSubmitButton';
+import updateQis  from '@salesforce/apex/QISReportController.updateQisWithRC';
+import UserInfo_Owner from '@salesforce/apex/TaskFeedbackController.UserInfo_Owner';
+import { updateRecord } from 'lightning/uiRecordApi';
+
+export default class lexRCSubmit extends LightningElement {
+	@api recordId;
+	IsLoading = true;
+	qisReportId;
+	qisStatus;
+	OSHstaff;
+	OSHstaffEmail;
+	CancelQISReason;
+	Rcid;
+	RCinspectionDate;
+	QISReplyDay;
+	RCproblemnotfound;
+	type;
+    err;
+	@wire(CurrentPageReference)
+     getStateParameters(currentPageReference) {
+             console.log(111);
+             console.log(currentPageReference);
+
+         if (currentPageReference) {
+           const urlValue = currentPageReference.state.recordId;
+           if (urlValue) {
+             let str = `${urlValue}`;
+             console.log("str");
+             console.log(str);
+             this.recordId = str;
+           }
+         }
+    }
+
+     connectedCallback () {
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            this.IsLoading = false;
+            this.qisReportId = result.Id;
+            this.qisStatus = result.qIStatus;
+            this.OSHstaff = result.oSHstaff;
+            this.OSHstaffEmail = result.oSHstaffEmail;
+            this.CancelQISReason = result.cancelQISReason;
+            this.Rcid = result.rCid;
+            this.RCinspectionDate = result.rCinspectionDate;
+            this.QISReplyDay = result.qISReplyDay;
+            this.RCproblemnotfound = result.rCproblemnotfound;
+         	if (this.qisStatus!='RC妫�娴嬩腑') {
+                const evt = new ShowToastEvent({
+                        title : '宸茬粡鎻愪氦瀹℃壒',
+                        message: '',
+                        variant: 'error'
+                    });
+                 this.dispatchEvent(evt);
+                this.dispatchEvent(new CloseActionScreenEvent());
+         		return;
+         	}
+         	if (this.CancelQISReason!=null) {
+         		if (this.qisStatus == 'RC妫�娴嬬敵璇�') {
+                    const evt = new ShowToastEvent({
+                        title : '闇�瑕佸厛鐐瑰嚮锛籓CM鏈嶅姟鏈儴鏀跺埌瀹炵墿锛�',
+                        message: '',
+                        variant: 'error'
+                    });
+                    this.dispatchEvent(evt);
+                    this.dispatchEvent(new CloseActionScreenEvent());
+					return;
+         		}
+         		if (this.Rcid ==null) {
+                    const evt = new ShowToastEvent({
+                        title : '鍒ゅ畾鎷呭綋蹇呴』濉啓',
+                        message: '',
+                        variant: 'error'
+                    });
+                    this.dispatchEvent(evt);
+                    this.dispatchEvent(new CloseActionScreenEvent());
+					return;
+         		}
+         		if (this.RCinspectionDate == null) {
+                    const evt = new ShowToastEvent({
+                        title : 'OCM鏈嶅姟鏈儴杩樻病鏈夋娴嬪畬姣�',
+                        message: '',
+                        variant: 'error'
+                    });
+                    this.dispatchEvent(evt);
+                    this.dispatchEvent(new CloseActionScreenEvent());
+					return;
+         		}
+         		if (this.QISReplyDay!=null  && this.RCproblemnotfound == 'true') {
+                    const evt = new ShowToastEvent({
+                        title : '鏈�缁堝垽瀹氭椂锛岃鍙栨秷[鏁呴殰鏈彂鐜扮暀涓嬬户缁瀵焆骞堕�夋嫨[瀵瑰簲鏂规硶]',
+                        message: '',
+                        variant: 'error'
+                    });
+                    this.dispatchEvent(evt);
+                    this.dispatchEvent(new CloseActionScreenEvent());
+					return;
+         		}
+         		if (confirm("涓�鏃︽彁浜ゆ璁板綍浠ュ緟鎵瑰噯锛屾牴鎹偍鐨勮缃偍鍙兘涓嶅啀鑳藉缂栬緫姝よ褰曟垨灏嗕粬浠庢壒鍑嗚繃绋嬩腑璋冨洖銆傛槸鍚︾户缁紵")) {
+         			this.type = '1';
+				}else{
+                    this.dispatchEvent(new CloseActionScreenEvent());
+                    return;
+                }
+         	}else{
+         		if (confirm("涓�鏃︽彁浜ゅ叧闂璁板綍浠ュ緟鎵瑰噯锛屾牴鎹偍鐨勮缃偍鍙兘涓嶅啀鑳藉缂栬緫姝よ褰曟垨灏嗕粬浠庢壒鍑嗚繃绋嬩腑璋冨洖銆傛槸鍚︾户缁紵")) {
+					this.type = '2';
+				}else{
+                    this.dispatchEvent(new CloseActionScreenEvent());
+                    return;
+                }
+         	}
+         	console.log('this.type='+this.type);
+         	// this.dispatchEvent(new CloseActionScreenEvent());
+         	this.updateQisSubmit();
+        }).catch(error => {
+            console.log('error='+error);
+        }).finally(() => {
+            
+        }); 
+    }
+
+    updateRecordView(recordId) {
+        updateRecord({fields: { Id: recordId }});
+    }
+
+    updateQisSubmit(){
+        	updateQis({
+        		 recordId: this.recordId,
+        		 type: this.type,
+        		 oldQIStatus: this.qisStatus
+        		}).then(result =>{
+        			console.log('result'+result);
+                     this.err = result;
+        			if (result!='鎴愬姛') {
+                        const evt = new ShowToastEvent({
+                            title : '鏇存柊澶辫触',
+                            message: this.err,
+                            variant: 'error'
+                        });
+                        this.dispatchEvent(evt);
+                    }
+                this.dispatchEvent(new CloseActionScreenEvent());
+                this.updateRecordView(this.recordId);
+        		}).catch(error => {
+            console.log('error='+error);
+        }).finally(() => {
+            
+        });
+    }
+
+ 
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexRCSubmit/lexRCSubmit.js-meta.xml b/force-app/main/default/lwc/lexRCSubmit/lexRCSubmit.js-meta.xml
new file mode 100644
index 0000000..87bc598
--- /dev/null
+++ b/force-app/main/default/lwc/lexRCSubmit/lexRCSubmit.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lexRCSubmit">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightning__RecordPage</target>
+        <target>lightning__AppPage</target>
+        <target>lightning__HomePage</target>
+        <target>lightning__RecordAction</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexRCinspectioncompletedate/lexRCinspectioncompletedate.css b/force-app/main/default/lwc/lexRCinspectioncompletedate/lexRCinspectioncompletedate.css
new file mode 100644
index 0000000..635bc6c
--- /dev/null
+++ b/force-app/main/default/lwc/lexRCinspectioncompletedate/lexRCinspectioncompletedate.css
@@ -0,0 +1,22 @@
+.outerBorderCss{
+    border: 1px solid #D4D4D4;
+    border-radius : 5px;
+    border-top : 3px solid #565959;
+}
+.borderCss{
+    border: 1px solid #D4D4D4;
+    border-radius : 5px;
+    margin-bottom : 7px;
+    border-top : 3px solid #565959;
+}
+.headerDorderCss{
+    border-top: 1px solid #565959;
+    border-bottom: 1px solid #D4D4D4;
+    padding:3px;
+}
+.centerCss{
+    text-align: center;
+}
+.centerCss .left{
+    margin-left: 100px;
+}/* sample css file */
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexRCinspectioncompletedate/lexRCinspectioncompletedate.html b/force-app/main/default/lwc/lexRCinspectioncompletedate/lexRCinspectioncompletedate.html
new file mode 100644
index 0000000..49a10f7
--- /dev/null
+++ b/force-app/main/default/lwc/lexRCinspectioncompletedate/lexRCinspectioncompletedate.html
@@ -0,0 +1,5 @@
+<template>
+    <div class="sisToOPDHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexRCinspectioncompletedate/lexRCinspectioncompletedate.js b/force-app/main/default/lwc/lexRCinspectioncompletedate/lexRCinspectioncompletedate.js
new file mode 100644
index 0000000..73d0840
--- /dev/null
+++ b/force-app/main/default/lwc/lexRCinspectioncompletedate/lexRCinspectioncompletedate.js
@@ -0,0 +1,98 @@
+import { LightningElement,wire,track,api} from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import { NavigationMixin } from 'lightning/navigation';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+import { updateRecord } from 'lightning/uiRecordApi';
+import init  from '@salesforce/apex/QISReportController.initForlexRCinspectioncompletedateButton';
+import updateQis  from '@salesforce/apex/QISReportController.updateQisForRCinspectioncompletedate';
+
+export default class lexRCinspectioncompletedate extends LightningElement {
+	@api recordId;
+	err;
+	IsLoading = true;
+	qisReportId;
+	qisStatus;
+	rCinspectionDate;
+
+	 @wire(CurrentPageReference)
+     getStateParameters(currentPageReference) {
+             console.log(111);
+             console.log(currentPageReference);
+
+         if (currentPageReference) {
+           const urlValue = currentPageReference.state.recordId;
+           if (urlValue) {
+             let str = `${urlValue}`;
+             console.log("str");
+             console.log(str);
+             this.recordId = str;
+           }
+         }
+     }
+
+     connectedCallback () {
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            this.IsLoading = false;
+            this.qisReportId = result.Id;
+            this.qisStatus = result.qIStatus;
+            this.rCinspectionDate = result.rCinspectionDate;
+
+         	if (this.qisStatus =='RC妫�娴嬬敵璇�') {
+                const evt = new ShowToastEvent({
+                        title : '闇�瑕佸厛鐐瑰嚮锛籓CM鏈嶅姟鏈儴鏀跺埌瀹炵墿锛�',
+                        message: '',
+                        variant: 'error'
+                    });
+                this.dispatchEvent(evt);
+                this.dispatchEvent(new CloseActionScreenEvent());
+                return;
+         	}else if(this.rCinspectionDate != null){
+         			const evt = new ShowToastEvent({
+                        title : 'OCM鏈嶅姟鏈儴妫�娴嬪凡缁忓畬姣�',
+                        message: '',
+                        variant: 'error'
+                    });
+	                this.dispatchEvent(evt);
+	                this.dispatchEvent(new CloseActionScreenEvent());
+	                return;
+         	}else{
+         		this.updateQisSubmit();
+         	}
+        }).catch(error => {
+            console.log('error='+error);
+        }).finally(() => {
+            
+        }); 
+    }
+
+    updateRecordView(recordId) {
+        updateRecord({fields: { Id: recordId }});
+    }
+
+    updateQisSubmit(){
+        	updateQis({
+        		 recordId: this.recordId
+        		}).then(result =>{
+                    
+        			console.log('result'+result);
+        			this.err = result;
+        			if (result!='鎴愬姛') {
+                        const evt = new ShowToastEvent({
+                            title : '鏇存柊澶辫触',
+                            message: this.err,
+                            variant: 'error'
+                        });
+                        this.dispatchEvent(evt);
+                    }
+                this.dispatchEvent(new CloseActionScreenEvent());
+                this.updateRecordView(this.recordId);
+        		}).catch(error => {
+           				 console.log('error='+error);
+		        }).finally(() => {
+		            
+		        });
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexRCinspectioncompletedate/lexRCinspectioncompletedate.js-meta.xml b/force-app/main/default/lwc/lexRCinspectioncompletedate/lexRCinspectioncompletedate.js-meta.xml
new file mode 100644
index 0000000..1546b5e
--- /dev/null
+++ b/force-app/main/default/lwc/lexRCinspectioncompletedate/lexRCinspectioncompletedate.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lexRCinspectioncompletedate">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightning__RecordPage</target>
+        <target>lightning__AppPage</target>
+        <target>lightning__HomePage</target>
+        <target>lightning__RecordAction</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexRemoveBox/lexRemoveBox.html b/force-app/main/default/lwc/lexRemoveBox/lexRemoveBox.html
new file mode 100644
index 0000000..69358ab
--- /dev/null
+++ b/force-app/main/default/lwc/lexRemoveBox/lexRemoveBox.html
@@ -0,0 +1,107 @@
+<template>
+    <template if:true={showSpinner}>
+        <lightning-spinner size="medium" variant="brand"></lightning-spinner>
+    </template>
+    <div style="border: 1px solid #D4D4D4;border-radius:5px;"> 
+
+        <div style="border-top: 3px solid #51606E;;border-bottom: 1px solid #D4D4D4;padding:3px;">
+            <div>
+                <p style="font-size: 19px;"><strong>鎷嗙洅</strong></p>
+            </div>
+        </div>
+        <div style="padding:10px;">
+            <div style="border: 1px solid #D4D4D4;border-radius:5px;margin-bottom:7px;">
+            <div style="border-top: 3px solid #51606E;border-bottom: 1px solid #D4D4D4;padding:3px;">
+                <lightning-button label="鎷嗙洅纭" title="鎷嗙洅纭" onclick={saveConfirm}></lightning-button></td>
+            </div>
+            </div>
+            <div style="border: 1px solid #D4D4D4;border-radius:5px;margin-bottom:7px;margin-top:5px;">
+                <div style="border-top: 3px solid #51606E;border-bottom: 1px solid #D4D4D4;padding:3px;">
+                    <p style="font-size: 19px;"><strong>BarCode褰曞叆</strong></p>
+                </div>
+               
+                <!-- <div style="border-top: 3px solid #51606E;border-bottom: 1px solid #D4D4D4;padding:3px;"> -->
+                    <table>
+                        <colgroup>
+                            <col width="160px" />
+                            <col width="100px" />
+                            <col width="10px" />
+                            <col width="70px" />
+                            <col width="100px" />
+                            <col width="10px" />
+                            <col width="90px" />
+                            <col width="100px" />
+                            <col width="10px" />
+                            <col width="85px" />
+                            <col width="100px" />
+                            <col width="10px" />
+                            <col width="70px" />
+                            <col width="100px" />
+                        </colgroup>
+                        <tbody>
+                            <tr>
+                                <td></td>
+                                <td align="right">Barcode</td>
+                                <td style="width:600px"><lightning-textarea name="Barcode" label=""
+                                        onchange={handleChange}></lightning-textarea></td>
+                                <td align="right"></td>
+                                <td></td>
+                                <td  style="width: 200px;"><lightning-button label="鑾峰彇鏄庣粏" title="鑾峰彇鏄庣粏" onclick={getDetails}
+                                       ></lightning-button>
+                                </td>
+                            </tr>
+                        </tbody>
+                    </table>
+                <!-- </div> -->
+            </div>
+
+            <div style="border: 1px solid #D4D4D4;border-radius:5px;margin-bottom:7px;">
+                <div style="border-top: 3px solid #51606E;border-bottom: 1px solid #D4D4D4;padding:3px;">
+                    <p style="font-size: 16px;"><strong>鎷嗙洅鏄庣粏</strong></p>
+                </div>
+                <div style="padding:10px;">
+
+                    <div style="height: 300px;">
+                        <template if:true={showTable}>
+                            <c-lex-custom-lightning-datatable key-field="prodid" data={data} columns={columns}
+                            onrowselection={getSelectedRows} hide-checkbox-column="true"
+                            selected-rows={selectedRows}>
+                                </c-lex-custom-lightning-datatable>
+                        </template>
+                    </div>
+
+                </div>
+            </div>
+            <div style="border: 1px solid #D4D4D4;border-radius:5px;margin-bottom:7px;margin-top:20px">
+                <div style="border-top: 3px solid #51606E;border-bottom: 1px solid #D4D4D4;padding:3px;">
+                    <table>
+                        <tr>
+                            <td>
+                                <p style="font-size: 16px;"><strong>閿欒鏄庣粏</strong></p>
+                            </td>
+                        </tr>
+                    </table>
+                </div>
+ 
+            <div style="padding:10px;">
+                <template if:true={showTables}>
+                    <!-- <c-lwc-datatable-utility records={overduePageRecords} total-records={overduePageRecords.length}
+                        columns={column} key-field="Id" show-search-box="true" max-row-selection={overduePageRecords.length}
+                        onpaginatorchange={handlePaginatorChange}>
+                    </c-lwc-datatable-utility> -->
+                    <c-lex-custom-lightning-datatable key-field="id" data={errorDetail} columns={column}
+                    onrowselection={getSelectedRows}   hide-checkbox-column="true"
+                   selected-rows={selectedRows}>
+               </c-lex-custom-lightning-datatable>
+                </template>
+
+
+            </div>
+        </div>
+        </div>
+
+      
+      
+    </div>
+    
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexRemoveBox/lexRemoveBox.js b/force-app/main/default/lwc/lexRemoveBox/lexRemoveBox.js
new file mode 100644
index 0000000..df28e08
--- /dev/null
+++ b/force-app/main/default/lwc/lexRemoveBox/lexRemoveBox.js
@@ -0,0 +1,221 @@
+import { LightningElement, wire, api, track } from 'lwc';
+import init from '@salesforce/apex/LexRemoveBoxController.init';
+import searchDeatail from '@salesforce/apex/LexRemoveBoxController.searchConsumableorderdetails';
+import saveconfirm from '@salesforce/apex/LexRemoveBoxController.removeBoxConfirm';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+// import { NavigationMixin } from 'lightning/navigation';
+
+const columns = [
+  {
+    label: '娑堣�楀搧鍚嶇О',
+    fieldName: 'Name__c',
+    initialWidth: 350,
+
+  },
+  {
+    label: '瑙勬牸',
+    fieldName: 'ProductPacking_list_manual__c',
+    hideDefaultActions: true,
+    initialWidth: 250,
+
+  },
+  {
+    label: 'CFDA鐘舵��',
+    fieldName: 'CFDA_Status__c',
+    hideDefaultActions: true,
+    initialWidth: 250,
+
+  },
+  {
+    label: '娉ㄥ唽璇佺紪鐮佸彿',
+    fieldName: 'Report_Product_Approbation__c',
+    hideDefaultActions: true,
+    initialWidth: 250,
+  },
+  {
+    label: '娉ㄥ唽璇佹晥鏈�',
+    fieldName: 'Report_Product_Expiration__c',
+    hideDefaultActions: true,
+    initialWidth: 250,
+  },
+  {
+    label: 'BarCode',
+    fieldName: 'Bar_Code__c',
+    hideDefaultActions: true,
+    initialWidth: 250,
+  }
+];
+
+const column = [
+  {
+    label: '娑堣�楀搧鍚嶇О',
+    fieldName: 'Name__c',
+
+  },
+  {
+    label: 'BarCode',
+    fieldName: 'Bar_Code__c',
+    hideDefaultActions: true,
+   
+  }
+  ,
+  {
+    label: '閿欒鍘熷洜',
+    fieldName: 'ErrorReason',
+    hideDefaultActions: true,
+  }
+];
+
+
+
+
+export default class LexRemoveBox extends LightningElement {
+  columns = columns;
+  column = column;
+  @track selectedRows = [];
+  @track data = [];
+  @track errorDetail = [];
+
+  // 鏄剧ず
+  @track showTable = false
+  @track accountName
+  @track userWorkLocation
+  @track agencyProType
+  @track barcode = ''
+  @track saveFLGbln = false
+
+  //鍔犺浇妗�
+  @track showSpinner = false
+
+
+
+  //鍒濆鍖�
+  connectedCallback() {
+    console.log('鍒濆鍖�');
+    this.showTable = false;
+
+    init().then((result) => {
+      result = JSON.parse(JSON.stringify(result));
+      console.log('result =' + JSON.stringify(result));
+      if (result.status = 'Success') {
+        console.log('result');
+        this.agencyProType = result.entity.agencyProType;
+        this.userWorkLocation = result.entity.userWorkLocation;
+        this.accountName = result.entity.accountName;
+        // this.data = JSON.parse(result.entity.codPageRecords);
+        // this.showTable = true;
+      } else {
+        console.log('result.msg = ' + result.msg);
+        const evt = new ShowToastEvent({
+          title: '褰曞叆澶辫触',
+          message: result.msg,
+          variant: 'error'
+        });
+        this.dispatchEvent(evt);
+      }
+    }).catch((error) => {
+      console.log('error = ' + JSON.stringify(error));
+    });
+  }
+  //褰曞叆
+  getDetails() {
+    searchDeatail({
+      accountName: this.accountName,
+      userWorkLocation: this.userWorkLocation,
+      agencyProType: this.agencyProType,
+      barcode: this.barcode
+    }).then((result) => {
+      result = JSON.parse(JSON.stringify(result));
+      console.log('result =' + JSON.stringify(result));
+      if (result.status == 'Success') {
+        console.log('鎴愬姛');
+        this.data = JSON.parse(result.entity.ConsumableorderdetailsRecordsdummy);
+        this.errorDetail = JSON.parse(result.entity.ConsumableorderdetailsRecordserror);
+        for (let i in this.data) {
+          this.data[i]['Name__c'] = this.data[i].Prod.Name__c;
+          this.data[i]['ProductPacking_list_manual__c'] = this.data[i].esd.ProductPacking_list_manual__c;
+          this.data[i]['CFDA_Status__c'] = this.data[i].esd.CFDA_Status__c;
+          this.data[i]['Report_Product_Approbation__c'] = this.data[i].esd.Report_Product_Approbation__c;
+          this.data[i]['Report_Product_Expiration__c'] = this.data[i].esd.Report_Product_Expiration__c;
+          this.data[i]['Bar_Code__c'] = this.data[i].esd.Bar_Code__c;
+        }
+        this.showTable = true;
+        for (let i in this.errorDetail) {
+          this.errorDetail[i]['Name__c'] = this.errorDetail[i].Prod.Name__c;
+          this.errorDetail[i]['Bar_Code__c'] = this.errorDetail[i].esd.Bar_Code__c;
+          this.errorDetail[i]['ErrorReason'] = this.errorDetail[i].ErrorReason;
+        }
+        this.showTables = true;
+      } else{
+        console.log('result.msg = ' + result.msg);
+        const evt = new ShowToastEvent({
+          title: '鑾峰彇澶辫触',
+          message: result.msg,
+          variant: 'error'
+        });
+        this.dispatchEvent(evt);
+      }
+    }).catch((error) => {
+      console.log('error = ' + JSON.stringify(error));
+    });
+
+  }
+  //鑾峰彇褰撳墠杈撳叆鍊�
+  handleChange(event) {
+    let value = event.detail.value;
+    console.log('value' + value);
+    this.barcode = value;
+    console.log('this.barcode' + this.barcode);
+  }
+  saveConfirm() {
+    console.log('杩涘叆纭');
+    if(this.data!=''){
+      alert('纭鎷嗙洅鍚�');
+
+    }
+    // this.showSpinner = true;
+    saveconfirm({
+      saveConsumableorderdetailsRecordsdummy: JSON.stringify(this.data),
+      accountName: this.accountName,
+      userWorkLocation: this.userWorkLocation,
+      agencyProType: this.agencyProType
+    }).then((result) => {
+      result = JSON.parse(JSON.stringify(result));
+      console.log('result淇濆瓨 = ' + JSON.stringify(result));
+      if (result.status == 'Success') {
+         this.saveFLGbln = result.entity.saveFLGbln;
+        //  this.showSpinner = false;
+         if(this.saveFLGbln){
+          const evt = new ShowToastEvent({
+            title: '鎴愬姛',
+            message: result.msg,
+            variant: 'Success'
+          });
+          this.dispatchEvent(evt);
+
+
+         }
+      } else {
+        console.log('result.msg = ' + result.msg);
+        const evt = new ShowToastEvent({
+          title: '澶辫触',
+          message: result.msg,
+          variant: 'error'
+        });
+        this.dispatchEvent(evt);
+      }
+    })
+      .catch((error) => {
+        console.log('error = ' + JSON.stringify(error));
+      });
+
+  }
+
+
+
+
+
+
+
+
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexRemoveBox/lexRemoveBox.js-meta.xml b/force-app/main/default/lwc/lexRemoveBox/lexRemoveBox.js-meta.xml
new file mode 100644
index 0000000..0cd2d48
--- /dev/null
+++ b/force-app/main/default/lwc/lexRemoveBox/lexRemoveBox.js-meta.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>56.0</apiVersion>
+   <isExposed>true</isExposed>
+    <targets>
+        <target>lightningCommunity__Page</target>
+        <target>lightningCommunity__Default</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexRentalApplyCanleButton/lexRentalApplyCanleButton.css b/force-app/main/default/lwc/lexRentalApplyCanleButton/lexRentalApplyCanleButton.css
new file mode 100644
index 0000000..fbb1bbe
--- /dev/null
+++ b/force-app/main/default/lwc/lexRentalApplyCanleButton/lexRentalApplyCanleButton.css
@@ -0,0 +1,11 @@
+.rentalApplyCanleButtonHolder{
+ position: relative;
+ display: inline-block;
+ width: 80px;
+ height: 80px;
+ text-align: center;
+}
+
+.container .uiContainerManager{
+ display : none !important;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexRentalApplyCanleButton/lexRentalApplyCanleButton.html b/force-app/main/default/lwc/lexRentalApplyCanleButton/lexRentalApplyCanleButton.html
new file mode 100644
index 0000000..e9bebad
--- /dev/null
+++ b/force-app/main/default/lwc/lexRentalApplyCanleButton/lexRentalApplyCanleButton.html
@@ -0,0 +1,4 @@
+<template>
+<div class="rentalApplyCanleButtonHolder" if:true={IsLoding}>
+<lightning-spinner alternative-text="Loading" size="medium">  </lightning-spinner> </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexRentalApplyCanleButton/lexRentalApplyCanleButton.js b/force-app/main/default/lwc/lexRentalApplyCanleButton/lexRentalApplyCanleButton.js
new file mode 100644
index 0000000..12bcc89
--- /dev/null
+++ b/force-app/main/default/lwc/lexRentalApplyCanleButton/lexRentalApplyCanleButton.js
@@ -0,0 +1,110 @@
+import { LightningElement,api, track, wire } from 'lwc';
+import init from '@salesforce/apex/RentalApplyCancleButtonController.initRentalApplyCanle'
+import {CurrentPageReference} from 'lightning/navigation';
+import { CloseActionScreenEvent } from 'lightning/actions';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+export default class lexRentalApplyCanleButton extends LightningElement {
+
+
+    @api recordId;
+    Yi_loaner_arranged__c;
+    Id;
+    RA_Status__c;
+    IsLoading=true;
+    @wire(CurrentPageReference)
+	getStateParameters(currentPageReference){
+		console.log("杩涘叆椤甸潰");
+		console.log(currentPageReference);
+		if(currentPageReference){
+			const urvalue=currentPageReference.state.recordId;
+			if(urvalue){
+				let str=`${urvalue}`;
+				console.log('str');
+				console.log(str);
+				this.recordId=str;
+			}
+		}
+	}
+
+	    currentDay(){
+	    var date=new Date();	
+		var toDay=new Date();
+		toDay='';
+		toDay+=date.getFullYear()+'/';
+		toDay+=date.getMonth()+1+'/';
+		toDay+=date.getDate();
+		return toDay;
+	}
+
+
+	connectedCallback(){
+		console.log(this.recordId);
+		init({recordId:this.recordId}).then(result=>{
+			console.log(result);
+			if(result!=null){
+				this.IsLoading=false;
+				var a=new Array('a');
+				a.push('12');
+				console.log('a='+a);
+				this.Yi_loaner_arranged__c=result.YiLoanerArranged;
+				this.Id=result.Id;
+				this.RA_Status__c=result.RAStatus;
+				console.log("end");
+				console.log("RA_Status__c="+this.RA_Status__c);
+				console.log("Yi_loaner_arranged__c="+this.Yi_loaner_arranged__c);
+				this.cancelSubmit();	
+			}
+		}).catch(err=>{
+			console.log("error:");
+			console.log(err);
+		}).finally(()=>{
+
+		});
+	}
+
+
+ 
+    cancelSubmit(){
+    	console.log('杩涘叆鏂规硶');
+    	if (this.RA_Status__c  == "鍙栨秷") {
+    		this.dispatchEvent(new CloseActionScreenEvent());
+			// alert("宸茬粡鍙栨秷锛�");
+			const event = new ShowToastEvent({
+	            title: '鎻愮ず淇℃伅',
+	            message:"宸茬粡鍙栨秷锛�"
+            });
+	        this.dispatchEvent(event);
+			console.log('10');
+			return;
+		}
+		console.log("1  if  end ");
+		if (this.RA_Status__c == "鍒犻櫎" ) {
+			this.dispatchEvent(new CloseActionScreenEvent());
+			// alert("宸茬粡鍒犻櫎锛�");
+			const event = new ShowToastEvent({
+	            title: '鎻愮ず淇℃伅',
+	            message:"宸茬粡鍒犻櫎锛�"
+            });
+	        this.dispatchEvent(event);
+			console.log('20');
+			return;
+		}
+		console.log('2  if  end');
+		if(this.RA_Status__c  == "宸插嚭搴�" || this.Yi_loaner_arranged__c > 0) {
+			this.dispatchEvent(new CloseActionScreenEvent());
+			// alert("澶囧搧宸茬粡鍑哄簱锛屼笉鑳藉彇娑堬紒");
+			const event = new ShowToastEvent({
+	            title: '鎻愮ず淇℃伅',
+	            message:"澶囧搧宸茬粡鍑哄簱锛屼笉鑳藉彇娑堬紒"
+            });
+	        this.dispatchEvent(event);
+			console.log('2');
+			return;
+		}
+		console.log("111111111111111111111111");
+		var raid = this.Id;
+		console.log("raid="+raid)
+		window.open("/apex/RentalApplyCancel?objId="+raid, 'RentalApplyCancel', 'width=500,height=250');
+		
+	}
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexRentalApplyCanleButton/lexRentalApplyCanleButton.js-meta.xml b/force-app/main/default/lwc/lexRentalApplyCanleButton/lexRentalApplyCanleButton.js-meta.xml
new file mode 100644
index 0000000..0077841
--- /dev/null
+++ b/force-app/main/default/lwc/lexRentalApplyCanleButton/lexRentalApplyCanleButton.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lexRentalApplyCanleButton">
+    <apiVersion>51.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightning__AppPage</target>
+        <target>lightning__RecordPage</target>
+        <target>lightning__HomePage</target>
+        <target>lightning__RecordAction</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexRentalApplyDiscountApproval/lexRentalApplyDiscountApproval.html b/force-app/main/default/lwc/lexRentalApplyDiscountApproval/lexRentalApplyDiscountApproval.html
new file mode 100644
index 0000000..aaa4cbd
--- /dev/null
+++ b/force-app/main/default/lwc/lexRentalApplyDiscountApproval/lexRentalApplyDiscountApproval.html
@@ -0,0 +1,6 @@
+<template>
+    <div class="toReportHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+        <lightning-button label="Show Toast" onclick={ShowToastEvent}></lightning-button>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexRentalApplyDiscountApproval/lexRentalApplyDiscountApproval.js b/force-app/main/default/lwc/lexRentalApplyDiscountApproval/lexRentalApplyDiscountApproval.js
new file mode 100644
index 0000000..c08a2b4
--- /dev/null
+++ b/force-app/main/default/lwc/lexRentalApplyDiscountApproval/lexRentalApplyDiscountApproval.js
@@ -0,0 +1,108 @@
+import {
+    LightningElement,
+    wire,
+    api
+} from 'lwc';
+import {
+    CurrentPageReference
+} from "lightning/navigation";
+import {
+    CloseActionScreenEvent
+} from 'lightning/actions';
+import init from '@salesforce/apex/buttonRepairQuotationCtl.init';
+import updateRepairQuotation03 from '@salesforce/apex/buttonRepairQuotationCtl.updateRepairQuotation03';
+
+import {
+    ShowToastEvent
+} from 'lightning/platformShowToastEvent';
+
+export default class LexRentalApplyDiscountApproval extends LightningElement {
+    @api recordId;
+    str;
+    IsLoading = true;
+    Id;
+    RentalApplyDiscountStatusC;
+    LoanerRepairSysC;
+    profileId;
+
+    @wire(CurrentPageReference)
+    getStateParameters(currentPageReference) {
+        if (currentPageReference) {
+            const urlValue = currentPageReference.state.recordId;
+            if (urlValue) {
+                let str = `${urlValue}`;
+                this.recordId = str;
+            }
+        }
+    }
+
+    connectedCallback() {
+        console.log(this.recordId);
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            console.log(result);
+            if (result != null) {
+                this.IsLoading = false;
+                this.Id = result.Id;
+                this.profileId = result.profileId;
+                this.RentalApplyDiscountStatusC = result.RentalApplyDiscountStatusC;
+                this.LoanerRepairSysC = result.LoanerRepairSysC;
+
+                this.RentalApplyDiscountApproval();
+                this.dispatchEvent(new CloseActionScreenEvent());
+            }
+        }).catch(error => {
+            console.log(error);
+        })
+    }
+
+    // 澶囧搧鍑忎环鐢宠	
+    RentalApplyDiscountApproval() {
+        var power = this.profileId;
+        // 2B2_澶囧搧涓績妫�娴�&浠撳簱绠$悊 00e10000000xnoY
+        if (power != '00e10000000xnoY') {
+            alert('瀵逛笉璧凤紝鎮ㄦ病鏈夋潈闄愭彁浜ゆ鐢宠锛�');
+            return;
+        }
+
+        var status = this.RentalApplyDiscountStatusC;
+        if (status == '瀹℃壒涓�') {
+            alert("瀹℃壒鎻愪氦鎴愬姛,褰撳墠姝e湪瀹℃壒璇峰嬁鍐嶆彁浜わ紒");
+            return;
+        }
+        if (status == '鎵瑰噯') {
+            alert("瀹℃壒宸叉壒鍑�,璇峰嬁鍐嶆彁浜わ紒");
+            return;
+        }
+        if (status == '鑽夋涓�' || status == undefined || status == '椹冲洖') {
+            if (this.LoanerRepairSysC) {
+                updateRepairQuotation03({
+                    recordId: this.Id
+                }).then(result => {
+                    console.log(result);
+                    if (result.length > 0) {
+                        var indexs = result.indexOf(": ")
+                        var resolves = result.substring(indexs + 1, result.length);
+                        alert("鎻愪氦澶辫触" + resolves);
+                        return;
+                    }
+                })
+            } else {
+                alert("璇峰厛濉啓澶囧搧鍑忎环閲戦锛�");
+                return;
+            }
+        }
+        location.reload();
+    }
+
+    // 寮圭獥
+    ShowToastEvent(msg, type) {
+        const event = new ShowToastEvent({
+            title: '',
+            message: msg,
+            variant: type
+        });
+        this.dispatchEvent(event);
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexRentalApplyDiscountApproval/lexRentalApplyDiscountApproval.js-meta.xml b/force-app/main/default/lwc/lexRentalApplyDiscountApproval/lexRentalApplyDiscountApproval.js-meta.xml
new file mode 100644
index 0000000..3392981
--- /dev/null
+++ b/force-app/main/default/lwc/lexRentalApplyDiscountApproval/lexRentalApplyDiscountApproval.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+	<isExposed>true</isExposed>
+	<targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexRentalApplyESetRefreshStatus/lexRentalApplyESetRefreshStatus.css b/force-app/main/default/lwc/lexRentalApplyESetRefreshStatus/lexRentalApplyESetRefreshStatus.css
new file mode 100644
index 0000000..af18c76
--- /dev/null
+++ b/force-app/main/default/lwc/lexRentalApplyESetRefreshStatus/lexRentalApplyESetRefreshStatus.css
@@ -0,0 +1,11 @@
+.Holder{
+	position: relative;
+	display: inline-block;
+	width: 80px;
+	height: 80px;
+	text-align: center;
+}
+
+.container .uiContainerManager{
+	display : none !important;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexRentalApplyESetRefreshStatus/lexRentalApplyESetRefreshStatus.html b/force-app/main/default/lwc/lexRentalApplyESetRefreshStatus/lexRentalApplyESetRefreshStatus.html
new file mode 100644
index 0000000..f60755f
--- /dev/null
+++ b/force-app/main/default/lwc/lexRentalApplyESetRefreshStatus/lexRentalApplyESetRefreshStatus.html
@@ -0,0 +1,5 @@
+<template>
+    <div class="Holder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+      </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexRentalApplyESetRefreshStatus/lexRentalApplyESetRefreshStatus.js b/force-app/main/default/lwc/lexRentalApplyESetRefreshStatus/lexRentalApplyESetRefreshStatus.js
new file mode 100644
index 0000000..7cd6690
--- /dev/null
+++ b/force-app/main/default/lwc/lexRentalApplyESetRefreshStatus/lexRentalApplyESetRefreshStatus.js
@@ -0,0 +1,91 @@
+import { LightningElement, track, wire, api } from 'lwc';
+import {CurrentPageReference,NavigationMixin} from 'lightning/navigation';
+import { CloseActionScreenEvent } from 'lightning/actions';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+
+
+import eSetRefreshStatus from '@salesforce/apex/RentalApplyESetRefreshStatusController.eSetRefreshStatus';
+export default class lexRentalApplyESetRefreshStatus extends LightningElement {
+	@api raeSetId;
+	IsLoading=true;
+	refreshResult;
+	
+
+	@wire(CurrentPageReference)
+	getStateParameters(currentPageReference) {
+		console.log(currentPageReference);
+
+		if(currentPageReference) {
+			const urlValue = currentPageReference.state.recordId;
+			if(urlValue) {
+				let str = `${urlValue}`;
+		        console.log("str");
+		        console.log(str);
+		        this.recordId = str;
+
+			}
+		}
+	}
+
+	connectedCallback() {
+		console.log('this.raeSetId:' + this.recordId);
+		eSetRefreshStatus({
+			raeSetId : this.recordId
+		}).then(result => {
+			this.refreshResult = result;
+			
+			
+			this.cancelSubmit().then(res=>{
+				this.IsLoading=false;
+				this.dispatchEvent(new CloseActionScreenEvent());
+			});	
+					
+		}).catch( error =>{
+			console.log(error);
+		}).finally(()=>{
+
+			
+		});
+	}
+
+	async cancelSubmit(){
+		if(this.refreshResult == '1') {
+			this.showToast('','鐘舵�佹洿鏂板畬姣�','success');
+			// alert("鐘舵�佹洿鏂板畬姣�!");
+			location.href = "/"+this.recordId; 
+					
+		} else {
+			console.log("result:",this.refreshResult);
+			this.showToast('','鏇存柊澶辫触锛岃鑱旂郴绠$悊鍛橈紒','warning');
+			// alert("鏇存柊澶辫触锛岃鑱旂郴绠$悊鍛橈紒");
+			
+		}
+			
+    }
+    showToast(_title,_message,_variant) {
+        const event = new ShowToastEvent({
+            title: _title,
+            message:_message,
+            variant: _variant,
+        });
+        this.dispatchEvent(event);
+    }
+
+}
+
+// old js浠g爜锛�
+// {!RequireScript("/soap/ajax/51.0/connection.js")}
+// {!RequireScript("/soap/ajax/51.0/apex.js")}
+
+// var raeSet = '{!Rental_Apply_Equipment_Set__c.Id}';
+// try {
+//     var rtn = sforce.apex.execute("RentalApplyWebService", "eSetRefreshStatus", {raeSetId: raeSet});
+//     if (rtn = '1') {
+//         alert("鐘舵�佹洿鏂板畬姣�!");
+//         location.href = "/{!Rental_Apply_Equipment_Set__c.Id}"; 
+//     } else {
+//         alert(rtn);
+//     }
+// } catch(e) {
+//     alert(e);
+// }
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexRentalApplyESetRefreshStatus/lexRentalApplyESetRefreshStatus.js-meta.xml b/force-app/main/default/lwc/lexRentalApplyESetRefreshStatus/lexRentalApplyESetRefreshStatus.js-meta.xml
new file mode 100644
index 0000000..d6ac86f
--- /dev/null
+++ b/force-app/main/default/lwc/lexRentalApplyESetRefreshStatus/lexRentalApplyESetRefreshStatus.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lexRentalApplyESetRefreshStatus">
+    <apiVersion>51.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightning__AppPage</target>
+        <target>lightning__RecordPage</target>
+        <target>lightning__HomePage</target>
+        <target>lightning__RecordAction</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexRentalApplyJump/lexRentalApplyJump.css b/force-app/main/default/lwc/lexRentalApplyJump/lexRentalApplyJump.css
new file mode 100644
index 0000000..af18c76
--- /dev/null
+++ b/force-app/main/default/lwc/lexRentalApplyJump/lexRentalApplyJump.css
@@ -0,0 +1,11 @@
+.Holder{
+	position: relative;
+	display: inline-block;
+	width: 80px;
+	height: 80px;
+	text-align: center;
+}
+
+.container .uiContainerManager{
+	display : none !important;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexRentalApplyJump/lexRentalApplyJump.html b/force-app/main/default/lwc/lexRentalApplyJump/lexRentalApplyJump.html
new file mode 100644
index 0000000..960b41d
--- /dev/null
+++ b/force-app/main/default/lwc/lexRentalApplyJump/lexRentalApplyJump.html
@@ -0,0 +1,5 @@
+<template>
+      <div class="Holder" if:true={IsLoading}>
+              <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+      </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexRentalApplyJump/lexRentalApplyJump.js b/force-app/main/default/lwc/lexRentalApplyJump/lexRentalApplyJump.js
new file mode 100644
index 0000000..70a5d7d
--- /dev/null
+++ b/force-app/main/default/lwc/lexRentalApplyJump/lexRentalApplyJump.js
@@ -0,0 +1,112 @@
+import { LightningElement,api, track, wire } from 'lwc';
+import {CurrentPageReference} from 'lightning/navigation';
+import { CloseActionScreenEvent } from 'lightning/actions';
+import getUserId from '@salesforce/apex/RentalApplyControllerLWT.getUserId';
+import init from '@salesforce/apex/SelectSubstituteControllerLWT.initFromSelectSubstituteButton';
+import selectRentalApplyEquipmentSetByID from '@salesforce/apex/SelectSubstituteControllerLWT.selectRentalApplyEquipmentSetByID';
+import selectRentalApplyEquipmentSetByRACID from '@salesforce/apex/SelectSubstituteControllerLWT.selectRentalApplyEquipmentSetByRACID';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+
+export default class lexRentalApplyJump extends LightningElement {
+
+	@api recordId;
+    id;
+    RentalApplyId;
+    Status;
+    IsLoading=true;
+    @wire(CurrentPageReference)
+	getStateParameters(currentPageReference){
+		alert("杩涘叆椤甸潰")
+		console.log("杩涘叆椤甸潰");
+		console.log(currentPageReference);
+		if(currentPageReference){
+			const urvalue=currentPageReference.state.recordId;
+			if(urvalue){
+				let str=`${urvalue}`;
+				console.log('str');
+				console.log(str);
+				this.recordId=str;
+			}
+		}
+	}
+
+
+
+	connectedCallback(){
+		console.log(this.recordId);
+		init({recordId:this.recordId}).then(result=>{
+			console.log(result);
+			if(result!=null){
+				this.id=result.id;
+			    this.RentalApplyId=result.RentalApplyId;
+			    this.Status=result.Status;
+				this.cancelSubmit().then(res=>{
+					this.IsLoading=false;
+					this.dispatchEvent(new CloseActionScreenEvent());
+				});	
+			}
+		}).catch(err=>{
+			console.log("error:");
+			console.log(err);
+		}).finally(()=>{
+
+		});
+	}
+
+
+ 
+    async cancelSubmit(){
+		// 鍙垎閰嶄唬鏇垮搧鍓嶆彁1 -- 澶囧搧鍊熷嚭鐢宠鐨勭姸鎬侊細鈥滃凡鎵瑰噯鈥濆埌鈥滃凡鍑哄簱鎸囩ず鈥�
+		var userIdArr = ['00510000001O6HoAAK','00510000001O6I2AAK','00510000000gW9pAAE','00510000000gW9BAAU','00510000008pVbWAAU','00510000001OOMjAAO','00510000005sEEMAA2','00510000004pNOtAAM','00510000005QJ2eAAG','00510000007iCmcAAE','00510000006kIg8AAE','00510000004rbkzAAA','00510000003LMHuAAO','00510000000gW92AAE'];
+		//褰撳墠鐢ㄦ埛鐧诲綍id
+		var userId;
+		await getUserId().then(res=>{
+			userId=res;
+		});
+		console.log(userId);
+		if(userIdArr.indexOf(userId)== -1){
+			// alert('瀵逛笉璧蜂綘娌℃湁姝ゆ搷浣滅殑鏉冮檺锛�');
+			const event = new ShowToastEvent({
+	            title: '鎻愮ず淇℃伅',
+	            message:'瀵逛笉璧蜂綘娌℃湁姝ゆ搷浣滅殑鏉冮檺锛�'
+            });
+	        this.dispatchEvent(event);
+		} else {
+			console.log(userId);
+			let raid = this.RentalApplyId;
+			console.log("hh1");
+			await selectRentalApplyEquipmentSetByRACID({recordId:this.RentalApplyId}).then(res=>{
+				console.log(res);
+				if (res==null||res.length==0) {
+					// alert("鏌ヨ缁撴灉涓虹┖");
+					const event = new ShowToastEvent({
+			            title: '鎻愮ず淇℃伅',
+			            message:"鏌ヨ缁撴灉涓虹┖"
+		            });
+			        this.dispatchEvent(event);
+					return;
+				}
+				var allRecords = res;
+				var validSize= allRecords.length;
+				var canJump = false;
+				for(i=0;i<validSize;i++){
+					if(allRecords[i].Allow_Adjust_Queue_Flag__c == true){
+						canJump = true;
+						break;
+					}
+				}
+				if(canJump == true){
+					// alert("閫夋嫨鍊熷嚭澶囧搧涓�瑙堣褰曟湁宸茬粡鍏佽鎻掗槦鐨勶紝璇烽�夋嫨鏈厑璁哥殑涓�瑙�");
+					const event = new ShowToastEvent({
+			            title: '鎻愮ず淇℃伅',
+			            message:"閫夋嫨鍊熷嚭澶囧搧涓�瑙堣褰曟湁宸茬粡鍏佽鎻掗槦鐨勶紝璇烽�夋嫨鏈厑璁哥殑涓�瑙�"
+		            });
+			        this.dispatchEvent(event);
+				}else{
+					let records=[this.recordId];
+					window.open("/apex/RentalApplyJump?objId="+this.RentalApplyId+"&raesIds="+records, 'RentalApplyJump', 'width=700,height=300');
+				}
+			});
+		}
+	}
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexRentalApplyJump/lexRentalApplyJump.js-meta.xml b/force-app/main/default/lwc/lexRentalApplyJump/lexRentalApplyJump.js-meta.xml
new file mode 100644
index 0000000..d96b725
--- /dev/null
+++ b/force-app/main/default/lwc/lexRentalApplyJump/lexRentalApplyJump.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lexRentalApplyJump">
+    <apiVersion>51.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightning__AppPage</target>
+        <target>lightning__RecordPage</target>
+        <target>lightning__HomePage</target>
+        <target>lightning__RecordAction</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexRentalApplySubmitedApprovalButton/lexRentalApplySubmitedApprovalButton.css b/force-app/main/default/lwc/lexRentalApplySubmitedApprovalButton/lexRentalApplySubmitedApprovalButton.css
new file mode 100644
index 0000000..c9f7866
--- /dev/null
+++ b/force-app/main/default/lwc/lexRentalApplySubmitedApprovalButton/lexRentalApplySubmitedApprovalButton.css
@@ -0,0 +1,11 @@
+.SubmitedApprovalHolder{
+ position: relative;
+ display: inline-block;
+ width: 80px;
+ height: 80px;
+ text-align: center;
+}
+
+.container .uiContainerManager{
+ display : none !important;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexRentalApplySubmitedApprovalButton/lexRentalApplySubmitedApprovalButton.html b/force-app/main/default/lwc/lexRentalApplySubmitedApprovalButton/lexRentalApplySubmitedApprovalButton.html
new file mode 100644
index 0000000..5e7ce99
--- /dev/null
+++ b/force-app/main/default/lwc/lexRentalApplySubmitedApprovalButton/lexRentalApplySubmitedApprovalButton.html
@@ -0,0 +1,5 @@
+<template>
+<div class="SubmitedApprovalHolder" if:true={IsLoading}>
+              <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+      </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexRentalApplySubmitedApprovalButton/lexRentalApplySubmitedApprovalButton.js b/force-app/main/default/lwc/lexRentalApplySubmitedApprovalButton/lexRentalApplySubmitedApprovalButton.js
new file mode 100644
index 0000000..c78bec3
--- /dev/null
+++ b/force-app/main/default/lwc/lexRentalApplySubmitedApprovalButton/lexRentalApplySubmitedApprovalButton.js
@@ -0,0 +1,758 @@
+import { LightningElement,api, track, wire } from 'lwc';
+import init from '@salesforce/apex/RentalApplyApprovalButtonController.initRentalApply'
+import select01 from '@salesforce/apex/RentalApplyApprovalButtonController.getRasdList'
+import select02 from '@salesforce/apex/RentalApplyApprovalButtonController.getDeliveryGood1'
+import select03 from '@salesforce/apex/RentalApplyApprovalButtonController.getDeliveryGood2'
+import getProfileId from '@salesforce/apex/RentalApplyApprovalButtonController.getProfileId'
+import select05 from '@salesforce/apex/RentalApplyApprovalButtonController.getDeliveryGood3'
+import select06 from '@salesforce/apex/RentalApplyApprovalButtonController.getDeliveryGood4'
+import select07 from '@salesforce/apex/RentalApplyApprovalButtonController.getRasdList2'
+import select08 from '@salesforce/apex/RentalApplyApprovalButtonController.getRace'
+import getUserId from '@salesforce/apex/RentalApplyApprovalButtonController.getUserId'
+import select09 from '@salesforce/apex/RentalApplyApprovalButtonController.getManagerUers'
+import execute3 from '@salesforce/apex/RentalApplyApprovalButtonController.setSObjectShare'
+import updatedRentalApply from '@salesforce/apex/RentalApplyApprovalButtonController.updatedRentalApply'
+import {CurrentPageReference} from 'lightning/navigation';
+import { CloseActionScreenEvent } from 'lightning/actions';
+/**
+	瀵硅薄锛氬鍝佸�熷嚭鐢宠
+	鎸夐挳锛氭彁浜ゅ緟瀹℃壒
+	author锛歬kbes
+**/
+
+export default class lexRentalApplySubmitedApprovalButton extends LightningElement {
+
+	 @api recordId;
+	 IsLoading=true;
+	 Id;
+	 applyUser__c;
+	 Campaign__c;
+	 Demo_purpose1__c;
+	 demo_purpose2__c;
+     Follow_UP_Opp__c;
+     Statu_Achievements__c;
+     Status__c;
+     Statu_Achievements_ID__c;
+     SupplementCreated__c;
+     Request_shipping_day__c;
+     Repair__c;
+     RecordTypeId;
+     OPDPlan__c;
+     Rental_Apply__c;
+     OwnerId;
+
+
+
+    @wire(CurrentPageReference)
+    getStateParameters(currentPageReference){
+    	if(currentPageReference){
+    		console.log(currentPageReference);
+    		console.log("杩涘叆鑾峰彇page鍙傛暟")
+    		const IdValue=currentPageReference.state.recordId;
+    		if(IdValue){
+    			let str=`${IdValue}`;
+    			this.recordId=str;
+    			console.log("recordId="+str);
+    		}
+    	}
+    }
+
+
+    connectedCallback(){
+    init({recordId:this.recordId}).then(res=>{
+    	if(res!=null){
+    	this.IsLoading=false;
+    	console.log("res");
+    	console.log(res);
+    	console.log("杩涘叆鍒濆鍖栧璞″叾浠栧睘鎬�");
+    	// Rental_Apply__c=res;
+    	// console.log(Rental_Apply__c);
+
+    	this.Id=res.Id;
+    	this.applyUser__c=res.applyUser;    
+        this.Campaign__c=res.Campaign;
+        this.Demo_purpose1__c=res.Demo_purpose1;
+        this.demo_purpose2__c=res.demo_purpose2;
+     
+        this.Follow_UP_Opp__c=res.Follow_UP_Opp;
+       
+        this.Statu_Achievements__c=res.Statu_Achievements;
+      
+        this.Status__c=res.Status;
+      
+        this.Statu_Achievements_ID__c=res.Statu_Achievements_ID;
+      
+        this.SupplementCreated__c=res.SupplementCreated;
+        this.Request_shipping_day__c=res.Request_shipping_day;								
+        this.Repair__c=res.Repair;
+        this.RecordTypeId=res.RecordTypeId;
+        this.OPDPlan__c=res.OPDPlan;
+        this.QIS_number__c=res.QIS_number;
+        this.OwnerId=res.OwnerId;
+        console.log(this);
+        this.submitForReview();
+
+    	}
+    }).catch(error =>{
+    	console.log("error");
+    	console.log(error.message);
+    }).finally(()=>{
+
+    });
+    }
+
+
+ //    currentDay(date){
+	// 	let toDay=new Date();
+	// 	toDay='';
+	// 	toDay+=date.getFullYear()+'/';
+	// 	toDay+=date.getMonth()+1+'/';
+	// 	toDay+=date.getDate();
+	// 	return toDay;
+	// }
+
+
+
+
+	
+
+
+
+
+	 getConnectDMLErrorMessages (results) {
+	let messages = [],
+	i = 0,
+	len = results.length,
+	r;
+	for (; i < len; i++) {
+	r = results[i];
+	if (!r.getBoolean("success")) {
+	messages = messages.concat(getConnectDMLMessagesOfAResult(r));
+	}
+	}
+	return messages;
+	};
+	 getConnectDMLMessagesOfAResult(res) {
+	let messages = [],
+	errors = res.getArray("errors"),
+	i = 0,
+	len = errors.length,
+	e;
+	for (; i < len; i++) {
+	e = errors[i];
+	messages.push(e.message + " " + getConnectDMLErrorFields(e));
+	}
+	return messages;
+	};
+
+
+	 getConnectDMLErrorFields (error) {
+	let fields = error.getArray('fields');
+	if (fields.length > 0) {
+	return "[" + fields.join(",") + "]"
+	} 
+	else {
+	return "";
+	}
+
+	};
+
+
+	async submitForReview(){
+		console.log("杩涘叆submitForReview鍑芥暟")
+	let buttons = document.getElementsByName('submit_approval_process'.toLowerCase());
+	for (let i=0; i<buttons.length; i++) {
+	buttons[i].className = "btnDisabled";
+	buttons[i].disabled = true;
+	}
+
+	console.log("绗竴涓猧f");
+	if (!confirm("涓�鏃︽彁浜ゆ璁板綍浠ュ緟鎵瑰噯锛屾牴鎹偍鐨勮缃偍鍙兘涓嶅啀鑳藉缂栬緫姝よ褰曟垨灏嗕粬浠庢壒鍑嗚繃绋嬩腑璋冨洖銆傛槸鍚︾户缁紵")) {
+	return;
+	}
+	console.log(this.demo_purpose2__c);
+	console.log(this.Follow_UP_Opp__c);
+	console.log("2   if");
+	if(this.demo_purpose2__c=="璇曠敤锛堟棤璇环锛�"
+	&& this.Follow_UP_Opp__c!=null
+	&& this.Follow_UP_Opp__c!=""){
+		alert('璇曠敤锛堟棤璇环锛夌洰鐨勭殑澶囧搧鐢宠鍗曪紝涓嶈兘鍏宠仈璇环淇℃伅锛�');
+		return;
+	}
+
+
+
+
+	console.log(this.Statu_Achievements__c);
+	console.log("3    if");
+	if(this.Statu_Achievements__c!=null){
+		let SaID=this.Statu_Achievements_ID__c;
+		let rtn = sforce.apex.execute("thisWebService","thisCheckForSAoneEle",{SaID:SaID});
+	if(rtn!='Fin'){
+	alert(rtn);
+	return;
+	}
+	}
+
+
+
+
+
+
+	console.log("鏌ョ湅currenDay鍑芥暟鏄惁鍙互浣跨敤");
+	console.log("4   if");
+	let date=new Date();
+	console.log('浠婂ぉ鐨勬棩鏈熸槸锛�'+date);
+	if(this.Request_shipping_day__c< date ){
+		alert('甯屾湜鍒拌揣鏃ヤ笉鑳芥棭浜庣敵璇锋彁浜ゆ棩');
+		return;
+	}
+	console.log("select01");
+	let raesdList=new Array();
+		console.log("select01");
+		await select01({Id : this.Id}).then(equipmentList=>{
+			if(equipmentList!=null){
+
+				console.log("equipmentList");
+				console.log(equipmentList);
+				raesdList=equipmentList;
+			}
+		}).catch(err=>{
+			console.log(err.message);
+		}).finally(()=>{
+
+		});
+	console.log("01  end");
+	console.log("5  for   if");
+	let modelSet = new Set();
+	let stoppedSet = new Set();
+	//鐩稿綋浜庡闀垮害杩涜浜嗗垽鏂�
+	for(let i=0;i<raesdList.length;i++){
+	modelSet.add(raesdList[i].Fixture_Model_No_F__c);
+	if('false' == raesdList[i].Product_Status_Flag_F__c&& (this.demo_purpose2__c == '璇曠敤锛堟湁璇环锛�' || 
+		this.demo_purpose2__c == '璇曠敤锛堟棤璇环锛�')){
+	stoppedSet.add(raesdList[i].Fixture_Model_No_F__c);
+	}	
+	}
+
+
+
+
+
+	console.log("6   if   stoppedSet鍒ゆ柇");
+	if(stoppedSet.size> 0) {
+	alert( Array.from(stoppedSet).join('锛�') + ' 浜у搧娉ㄥ唽璇佺姸鎬佷负鍋滄锛屼笉鍙敵璇�');
+	return;
+	}
+	console.log("7  if");
+	console.log("select2");
+	if( this.demo_purpose2__c == '绱㈣禂QIS'){
+		let DeliveryGood = new Array();
+		await select02({QIS_number : JSENCODE(this.QIS_number__c)}).then(qisList=>{
+				if(qisList!=null){
+					
+					DeliveryGood=qisList;
+					console.log("select2:"+qisList);
+				}
+			}).catch(err=>{
+				console.log("select2 error");
+				console.log(err.message);
+			}).finally(()=>{
+				console.log("2  finally");
+			});
+		let records=DeliveryGood;
+		// let records= DeliveryGood.getArray("records");
+		console.log("8   if");
+		if(records.length == 0 || !modelSet.has(records[0].nonyushohin__r.Product2.Fixture_Model_No_T__c)){
+			alert('鐢宠鐨勫瀷鍙峰繀椤讳笌QIS鐢宠鍨嬪彿涓�鑷�');
+			return;
+		}
+	}
+	console.log('9  if');
+	if (this.Repair__c != "") {
+	  let DeliveryGood;
+	  console.log("99999999999999!");
+	  await select03({
+	    Repair: this.Repair__c
+	  })
+	    .then((result) => {
+	    	console.log("ddddddd");
+	    	console.log(result);
+			if (result != null) {
+				DeliveryGood = result;
+				console.log("result=" + result);
+			}})
+	    .catch((err) => {
+	      console.log("select3 error");
+	      console.log(err.message);
+	    });
+	  console.log("dd");
+	  if(DeliveryGood!=null &&DeliveryGood.length>0){
+	  	let records = DeliveryGood;
+		console.log("select3" + records);
+	  	// 淇悊Data records[0]
+	  	// let records= DeliveryGood.getArray("records");
+	  	if (
+		    this.Demo_purpose1__c == "缁翠慨浠g敤" &&
+		    this.demo_purpose2__c != "绱㈣禂QIS"
+		  ) {
+	    if (
+	      !modelSet.has(
+	        records[0].Delivered_Product__r.Product2.Fixture_Model_No_T__c
+	      )
+	    ) {
+	      alert("鐢宠鐨勫瀷鍙峰繀椤讳笌閫佷慨鐨勫瀷鍙蜂竴鑷�");
+	      return;
+	    }
+	  }
+
+	  if (
+	    this.Demo_purpose1__c == "缁翠慨浠g敤" &&
+	    this.demo_purpose2__c == "涓�鑸敤鎴�"
+	  ) {
+	    if (records[0].Repair_Estimated_date_formula__c == null) {
+	      alert("涓�鑸淮淇棤鎶ヤ环鏃ワ紝涓嶅彲鍊熺敤澶囧搧");
+	      return;
+	    } else if (
+	      records[0].Repair_Estimated_date_formula__c < "2019-07-01" &&
+	      records[0].Agreed_Date__c == null
+	    ) {
+	      alert("鎶ヤ环鏃ュ湪2019/7/1涔嬪墠涓旀埛鍚屾剰鏃ヤ负绌猴紝涓嶅彲鍊熺敤澶囧搧");
+	      return;
+	    }
+	    //20210608 ljh SFDC-C3CCN4 start
+	    if (records[0].Repair_Rank__c == "" || records[0].Repair_Rank__c == null) {
+	      alert("鎶ヤ环绛夌骇涓虹┖涓嶈兘鐢宠澶囧搧");
+	      return;
+	    } else {
+	      if (
+	        records[0].DW_Sign_Txt__c == "false" &&
+	        records[0].Repair_Rank__c == "DW"
+	      ) {
+	        alert("DW鎶ヤ环绛夌骇涓嬫鍨嬪彿涓嶇鍚堝鍝佺敵璇峰�熺敤鏉′欢");
+	        return;
+	      }
+	      if (
+	        records[0].Repair_Rank__c == "D1" ||
+	        records[0].Repair_Rank__c == "D2" ||
+	        records[0].Repair_Rank__c == "D3" ||
+	        records[0].Repair_Rank__c == "E2"
+	      ) {
+	        alert("鎶ヤ环绛夌骇涓嶇鍚堝鍝佺敵璇峰�熺敤鏉′欢");
+	        return;
+	      }
+	    }
+	    //20210608 ljh SFDC-C3CCN4 end
+	  }
+	  if (
+	    this.Demo_purpose1__c == "缁翠慨浠g敤" &&
+	    this.demo_purpose2__c == "甯傚満澶氬勾淇濅慨"
+	  ) {
+	    if (records[0].FSE_ApplyForRepair_Day__c == null) {
+	      alert("甯傚満澶氬勾淇濅慨锛屾病鏈塠FSE淇悊鐢宠鏃锛屼笉鍙�熺敤澶囧搧");
+	      return;
+	    }
+	  }
+	  if (
+	    this.Demo_purpose1__c == "缁翠慨浠g敤" &&
+	    this.demo_purpose2__c == "鏁呴殰鎺掓煡"
+	  ) {
+	    if (records[0].FSE_ApplyForRepair_Day__c == null) {
+	      alert("鏁呴殰鎺掓煡锛屾病鏈塠FSE淇悊鐢宠鏃锛屼笉鍙�熺敤澶囧搧");
+	      return;
+	    }
+	    if (records[0].Repair_Ordered_Date__c != null) {
+	      alert("鏁呴殰鎺掓煡锛孾4.淇悊鍝丷C鍙楃悊鏃蹇呴』涓虹┖");
+	      return;
+	    }
+	    if (records[0].IfCheckFixture__c == "false") {
+	      alert("涓嶆弧瓒虫晠闅滄帓鏌ョ洰鐨�");
+	      return;
+	    }
+	  }
+	  if (
+	    this.RecordTypeId != "01210000000RHIn" &&
+	    getProfileId() != "00e10000000Y3o5" &&
+	    records[0].NewProductGuaranteeObject__c == "8: 甯傚満澶氬勾淇濅慨" &&
+	    this.demo_purpose2__c != "甯傚満澶氬勾淇濅慨"
+	  ) {
+	    alert("鏃犲伩鍖哄埆鏍囧織涓�8: 甯傚満澶氬勾淇濅慨锛屽繀椤婚�夋嫨甯傚満澶氬勾淇濅慨銆�");
+	  }
+	  if (records[0].Repair_Final_Inspection_Date__c != null) {
+	    alert("瀛樺湪淇悊鏈�缁堟娴嬫棩锛屼笉鍙�熺敤澶囧搧");
+	    return;
+	  }
+	  if (records[0].Repair_Shipped_Date__c != null) {
+	    alert("瀛樺湪RC淇悊杩旈�佹棩锛屼笉鍙�熺敤澶囧搧");
+	    return;
+	  }
+	  if (
+	    records[0].Status1__c == "0.鍒犻櫎" ||
+	    records[0].Status1__c == "0.鍙栨秷" ||
+	    records[0].Status1__c == "5.瀹屾瘯"
+	  ) {
+	    alert("淇悊宸茬粡缁撴潫锛屼笉鑳界敵璇峰鍝�");
+	    return;
+	  }
+	  if (
+	    "{!Rental_Apply__c.demo_purpose2__c}" == "鍐嶄慨鐞�" &&
+	    records[0].ReRepairObject_F__c == "false"
+	  ) {
+	    alert("涓嶅睘浜庡啀鍙楃悊鍙傝�冨璞★紝涓嶅彲鍊熺敤澶囧搧");
+	    return;
+	  }
+	  if (
+	    this.RecordTypeId != "01210000000RHIn" &&
+	    this.demo_purpose2__c != "淇濅慨鐢ㄦ埛" &&
+	    this.demo_purpose2__c != "甯傚満澶氬勾淇濅慨" &&
+	    records[0].Number_of_EffectiveContract__c == "鏈�"
+	  ) {
+	    alert("鏈夌淮淇悎鍚�,蹇呴』閫夋嫨淇濅慨鐢ㄦ埛.");
+	    return;
+	  }
+	  let AssetModelNo = records[0].Delivered_Product__r.Product2.Asset_Model_No__c;
+	  if (
+	    this.RecordTypeId != "01210000000RHIn" &&
+	    records[0].Number_of_EffectiveContract__c == "鏃�" &&
+	    records[0].NewProductGuaranteeObject__c == "2: 鏈嶅姟澶氬勾淇濅慨" &&
+	    (AssetModelNo == "LTF-190-10-3D" ||
+	      AssetModelNo == "LTF-S190-5" ||
+	      AssetModelNo == "CYF-VHA" ||
+	      AssetModelNo == "CYF-VA2" ||
+	      AssetModelNo == "CYF-5A" ||
+	      AssetModelNo == "LTF-S190-10" ||
+	      AssetModelNo == "OER-AW" ||
+	      AssetModelNo == "URF-V" ||
+	      AssetModelNo == "URF-V2" ||
+	      AssetModelNo == "URF-P6") &&
+	    this.demo_purpose2__c != "淇濅慨鐢ㄦ埛"
+	  ) {
+	    alert("姝よ澶囧瀷鍙峰骞翠繚淇紝璇烽�夋嫨淇濅慨鐢ㄦ埛.");
+	    return;
+	  }
+
+	  if (
+	    this.RecordTypeId != "01210000000RHIn" &&
+	    records[0].NewProductGuaranteeObject__c == "2: 鏈嶅姟澶氬勾淇濅慨" &&
+	    (AssetModelNo == "CV-V1" ||
+	      AssetModelNo == "CV-V1(A)" ||
+	      AssetModelNo == "CV-V1(B)" ||
+	      AssetModelNo == "GIF-LV1" ||
+	      AssetModelNo == "CF-LV1L" ||
+	      AssetModelNo == "CF-LV1I" ||
+	      AssetModelNo == "MAJ-1910") &&
+	    (this.demo_purpose2__c == "涓�鑸敤鎴�" || this.demo_purpose2__c == "鍐嶄慨鐞�")
+	  ) {
+	    alert("濂ヨ緣璁惧锛屼繚淇湡鍐呬笉鎻愪緵澶囧搧.");
+	    return;
+	  }
+	  }	
+}
+
+
+
+
+
+	//鏈夌枒闂�
+	console.log("10    if");
+if (this.SupplementCreated__c == "1" && this.OPDPlan__c != "") {
+  let Id = this.Id;
+  let raId = "Id";
+  // let raId = "{!Rental_Apply__c.Id}";
+
+  //??????  execute 鍟ユ剰鎬�
+  let raesCountCheck = sforce.apex.execute(
+    "OpdPlanWebService",
+    "raesCountCheck",
+    { thisId: raId }
+  );
+  if (raesCountCheck != "OK") {
+    alert(raesCountCheck);
+    return;
+  }
+}
+
+
+
+
+
+
+console.log("11    if");
+	if(this.Campaign__c != null 
+	&& this.OPDPlan__c != ''){
+		let DeliveryGood = new Array();
+		// 20220324 ljh obpm update start   涓嶇煡閬撴槸浠�涔堜笢瑗�
+		let statusSting = "{!$Label.StatusProcessState}";
+		let statusList = statusSting.split(',');
+		await	select05({CampaignId : this.CampaignId__c}).then(result=>{
+				if(result!=null){
+				
+				DeliveryGood=result;
+				}
+		}).catch(err=>{
+			console.log(err.message);
+		}).finally(()=>{
+
+		});
+	// 20220324 ljh obpm update start
+	// let records= DeliveryGood.getArray("records");
+	let records= DeliveryGood;
+	console.log("select5"+ records);
+	let interval = records[0].Status;
+	let records_Date = records[0].Rental_Apply_Flag__c;
+	if (interval == '鑽夋涓�') {
+	alert('瀛︿細鐘舵�佷负鑽夋涓紝涓嶈兘鎻愪氦');
+	return;
+	}
+	if (interval == '鐢宠涓�') {
+	alert('瀛︿細鐘舵�佷负鐢宠涓紝涓嶈兘鎻愪氦');
+	return;
+	}
+	if (interval == '宸茬粨鏉�') {
+	alert('瀛︿細鐘舵�佷负宸茬粨鏉燂紝涓嶈兘鎻愪氦');
+	return;
+	}
+	if (interval == '宸叉彁浜ゆ姤鍛�') {
+	alert('瀛︿細鐘舵�佷负宸叉彁浜ゆ姤鍛婏紝涓嶈兘鎻愪氦');
+	return;
+	}
+	if (interval == '鍙栨秷鐢宠涓�') {
+	alert('瀛︿細鐘舵�佷负鍙栨秷鐢宠涓紝涓嶈兘鎻愪氦');
+	return;
+	}
+	if (interval == '鍙栨秷') {
+	alert('瀛︿細鐘舵�佷负鍙栨秷锛屼笉鑳芥彁浜�');
+	return;
+	}
+	let today=new Date();
+	if (today >= this.Request_shipping_day__c -7) {
+	alert("蹇呴』鎻愬墠浜庡笇鏈涘埌璐ф棩7澶╀互涓婃彁浜ょ敵璇�");
+	return;
+	}
+	if(records.length>0){
+		// 20220324 ljh obpm add start
+		if (records != null && records[0].IF_Approved__c == "true" && (records[0].Meeting_Approved_No__c == null || records[0].Meeting_Approved_No__c == "") ) {
+		alert("娌℃湁鍐宠鍙风殑锛屾殏涓嶈兘鍑哄��,璇锋洿鏂拌鍐充俊鎭��");
+		return;
+		}
+		if (records != null && records[0].IF_Approved__c == "true" && records[0].Meeting_Approved_No__c != "" && statusList.indexOf(records[0].Approved_Status__c) != -1 && records[0].Approved_Status__c != '鑽夌' ) {
+		alert("宸茬敵璇峰喅瑁佷絾鍐宠鐘舵�佷笉绗﹀悎鏉′欢銆�");
+		return;
+		}
+	}
+
+	// 20220324 ljh obpm add end
+	}
+
+
+
+
+
+
+
+
+
+	console.log("12    if");
+	if(this.QIS_number__c != null && this.QIS_number__c != ''){
+	let DeliveryGood = new Array();
+	
+
+	await	select06({QIS_ID_Line : this.QIS_ID_Line__c}).then(result=>{
+			if(result!=null){
+				
+				DeliveryGood=result;
+			}
+		}).catch(err=>{
+			console.log(err.message);
+		}).finally(()=>{
+
+		});
+	
+	// let records= DeliveryGood.getArray("records");
+	let records= DeliveryGood;
+	console.log("select6"+records);
+	let interval;
+	if(interval.length>0){
+		 interval = records[0].next_action__c;
+	}
+	if (interval == '閫佸洖') {
+	alert("QIS 宸查�佸洖锛屼笉鑳藉啀鐢宠澶囧搧浜�");
+	return;
+	}
+	}
+	console.log("select6   缁撴潫");
+
+
+
+
+
+
+
+
+
+	// share    杩欓噷鐨刾ush鍟ユ剰鎬�
+
+	let userAccess =[];
+
+	//鍚戞暟缁勭殑灞佽偂鍔犲厓绱�
+	// userAccess.push('{!Rental_Apply__c.applyUserId__c}_Edit');
+	let UserId=this.applyUser__c;
+	// userAccess[userAccess.length]=UserId+'_Edit';
+	// console.log("length鍘诲畾涔�");
+	userAccess.push( UserId+'_Edit');
+	// 杩欓噷鐨刾ush鏈夐棶棰�
+	console.log('userAccess='+userAccess);
+	console.log('OwnerId='+this.OwnerId);
+	console.log('Id='+this.Id);
+	let rtn;
+	await	execute3({sobjectName:'Rental_Apply__Share',rowCause:'ApplyUserShare__c',parentId:this.Id,userAccess:userAccess,ownerId:this.OwnerId}).then(result=>{
+			if(result!=null){
+				
+				rtn=result;
+			}
+		}).catch(err=>{
+			console.log("execute3 鍑洪棶棰�");
+			console.log(err.message);
+		}).finally(()=>{
+
+		});
+	if (rtn != 'OK') {
+	alert(rtn);
+	return;
+	}
+	console.log("ssssssssssssssssss");
+	//杩藉姞澶囧搧鐢宠鐘舵�佺‘璁わ紝宸茬粡鎻愪氦杩囩殑鐢宠锛屼笉鑳介噸澶嶆彁浜tatus__c
+	if (this.Status__c == '濉啓瀹屾瘯' ||
+	this.Status__c == '鐢宠涓�' ||
+	this.Status__c == '宸叉壒鍑�' ||
+	//鐜板湪鐢宠涔︾殑Status__c宸茬粡娌℃湁寮曞綋瀹屼簡鐘舵�併�傛墍浠ヨ繖閲屼笉闇�瑕佸垽鏂�
+	//this.Status__c == '寮曞綋瀹屼簡' ||
+	this.Status__c == '宸插嚭搴撴寚绀�' ||
+	this.Status__c == '鍒犻櫎' ||
+	this.Status__c == '鍙栨秷' ) {
+	alert('璇峰鍝佺敵璇风姸鎬佺‘璁わ紝宸茬粡鎻愪氦杩囩殑鐢宠锛屼笉鑳介噸澶嶆彁浜�');
+	return;
+	}
+	
+	// 娌℃湁鏄庣粏鐨勪竴瑙坈heck
+	let records = new Array();
+
+	console.log("select07");
+	console.log(this.Id);
+	await	select07({Id : this.Id}).then(result=>{
+			if(result!=null){
+				
+				records=result;
+				console.log(records);
+			}
+		}).catch(err=>{
+			console.log(err.message);
+		}).finally(()=>{
+
+		});
+	
+	// let records= raesList.getArray('records');
+	
+	if(records.length > 0){
+	alert('鏈夋病鏈夋槑缁嗙殑鍊熷嚭澶囧搧閰嶅涓�瑙堬紝涓嶈兘鎻愪氦');
+	return;
+	}
+
+	let racNew=new Array();
+	
+	await	select08({Id : this.Id}).then(result=>{
+			if(result!=null){
+				
+				racNew=result;
+				console.log(racNew);
+			}
+		}).catch(err=>{
+			console(err.message);
+		}).finally(()=>{
+
+		});
+	
+
+	//鏈夌枒闂�
+	// let racNew = racs.getArray("records")[0];
+	// 20220930 ljh SWAG-CJR8S7 end
+	console.log("sssssssssssssssssssssssssss");
+	console.log("xinbuxxxxxxxx");
+	// let userId = "{!$User.Id}";
+	 let userId= await getUserId();
+	let manageUsers=new Array();
+	let SalesManagerSubmit__c;
+	let OPDManagerApprover__c;
+	let BuchangApprovalManagerSalesSubmit__c;
+	let OPDBuchangApprover__c;
+	await   select09({userId : userId}).then(result=>{
+			if(result!=null){
+				
+				 manageUsers=result;
+				 console.log(manageUsers);
+				 console.log(result);
+			}
+		}).catch(err=>{
+			console.log(err.message);
+		}).finally(()=>{
+
+		});
+		
+		console.log('manageUsers');
+	if(manageUsers.length>0){
+		if(manageUsers[0].JingliEquipmentManager__c != null){
+			SalesManagerSubmit__c = manageUsers[0].JingliEquipmentManager__r.Name;
+			// 20220930 ljh SWAG-CJR8S7 start
+		if(racNew.OPDPlan__c != null){
+			OPDManagerApprover__c = rac.SalesManagerSubmit__c == racNew.OPDPlan__r.SalesManager_Txt__c?rac.SalesManagerSubmit__c:' ';
+		}
+			// 20220930 ljh SWAG-CJR8S7 end
+		}
+		if(manageUsers[0].Buzhang_Equipment_Manager__c != null){
+			BuchangApprovalManagerSalesSubmit__c= manageUsers[0].Buzhang_Equipment_Manager__r.Name; //2022-07-22 zyh
+			// 20220930 ljh SWAG-CJR8S7 start
+		if(racNew.OPDPlan__c != null){
+			OPDBuchangApprover__c = rac.BuchangApprovalManagerSalesSubmit__c == racNew.OPDPlan__r.BuchangApprovalManagerSales_Txt__c?rac.BuchangApprovalManagerSalesSubmit__c:' ';
+		}
+			// 20220930 ljh SWAG-CJR8S7 end
+	}	
+	}
+
+	// 20220704 ljh update SFDC-CFWBBU end
+
+	console.log('update');
+	// let result = sforce.connection.update([rac]);
+
+	// await	updatedRentalApply({Id : this.Id,Status:"濉啓瀹屾瘯",SalesManagerSubmit:SalesManagerSubmit__c,
+	// 		OPDManagerApprover:OPDManagerApprover__c,
+	// 		BuchangApprovalManagerSalesSubmit:BuchangApprovalManagerSalesSubmit__c,
+	// 		OPDBuchangApprover:OPDBuchangApprover__c}).then(result=>{
+	// 		if(result==1){
+				
+	// 			console.log("update  success")
+	// 		}
+	// 	}).catch(err=>{
+	// 		console.log(err.message);
+	// 	}).finally(()=>{
+
+	// 	});
+	let res=await	updatedRentalApply({Id : this.Id,Status:"濉啓瀹屾瘯",SalesManagerSubmit:SalesManagerSubmit__c,
+			OPDManagerApprover:OPDManagerApprover__c,
+			BuchangApprovalManagerSalesSubmit:BuchangApprovalManagerSalesSubmit__c,
+			OPDBuchangApprover:OPDBuchangApprover__c});
+	console.log(res);
+	console.log('getConnectDMLErrorMessages');
+	let message = res.split(",")[1];
+	if(res=="success"){
+		messages.join("\n");
+		return;
+	}
+	window.location.href = window.location;
+	};
+	
+
+
+	
+	
+
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexRentalApplySubmitedApprovalButton/lexRentalApplySubmitedApprovalButton.js-meta.xml b/force-app/main/default/lwc/lexRentalApplySubmitedApprovalButton/lexRentalApplySubmitedApprovalButton.js-meta.xml
new file mode 100644
index 0000000..3ac48e3
--- /dev/null
+++ b/force-app/main/default/lwc/lexRentalApplySubmitedApprovalButton/lexRentalApplySubmitedApprovalButton.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lexRentalApplySubmitedApprovalButton">
+    <apiVersion>51.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightning__AppPage</target>
+        <target>lightning__RecordPage</target>
+        <target>lightning__HomePage</target>
+        <target>lightning__RecordAction</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexRequestDB/lexRequestDB.css b/force-app/main/default/lwc/lexRequestDB/lexRequestDB.css
new file mode 100644
index 0000000..a524923
--- /dev/null
+++ b/force-app/main/default/lwc/lexRequestDB/lexRequestDB.css
@@ -0,0 +1,10 @@
+.lexRequestDBHolder{
+    position: relative;
+    display: inline-block;
+    width: 80px;
+    height: 80px;
+    text-align: center;
+}
+.container .uiContainerManager{
+	display: none !important;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexRequestDB/lexRequestDB.html b/force-app/main/default/lwc/lexRequestDB/lexRequestDB.html
new file mode 100644
index 0000000..b4aff5b
--- /dev/null
+++ b/force-app/main/default/lwc/lexRequestDB/lexRequestDB.html
@@ -0,0 +1,6 @@
+<template>
+    <div class="lexRequestDBHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+        <lightning-button label="Show Toast" onclick={ShowToastEvent}></lightning-button>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexRequestDB/lexRequestDB.js b/force-app/main/default/lwc/lexRequestDB/lexRequestDB.js
new file mode 100644
index 0000000..b3ddb3a
--- /dev/null
+++ b/force-app/main/default/lwc/lexRequestDB/lexRequestDB.js
@@ -0,0 +1,107 @@
+import { api, wire,LightningElement } from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import init  from '@salesforce/apex/OpportunityLightingButtonController.initForRequestDBButton';
+import { updateRecord } from 'lightning/uiRecordApi';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+
+export default class LexRequestDB extends LightningElement {
+    @api recordId;
+    stageName;
+    sapSendOK;
+    cntLostCancelReport;
+    cntLostCancelDraft;
+    agency1;
+    agency1Id;
+    name;
+    bidPlannedDate;
+    salesAssistantName;
+    salesAssistantID;
+    profileId;
+    @wire(CurrentPageReference)
+    getStateParameters(currentPageReference) {
+            console.log(111);
+            console.log(currentPageReference);
+
+        if (currentPageReference) {
+          const urlValue = currentPageReference.state.recordId;
+          if (urlValue) {
+            let str = `${urlValue}`;
+            console.log("str");
+            console.log(str);
+            this.recordId = str;
+          }
+        }
+    }
+    connectedCallback(){
+        init({
+            recordId: this.recordId
+        }).then(result=>{
+            this.stageName = result.stageName;
+            this.sapSendOK = result.sapSendOK;
+            this.cntLostCancelReport = result.cntLostCancelReport;
+            this.cntLostCancelDraft = result.cntLostCancelDraft;
+            this.agency1 = result.agency1;
+            this.agency1Id = result.agency1Id;
+            this.name = result.name;
+            this.bidPlannedDate = result.bidPlannedDate;
+            this.salesAssistantName = result.salesAssistantName;
+            this.salesAssistantID = result.salesAssistantID;
+            this.profileId = result.profileId;
+            this.requestDB();
+        })
+    }
+    requestDB(){
+        var profileId = this.profileId;
+        if (profileId != '00e10000000Y3o5' && profileId != '00e10000000xnp2' &&
+        profileId != '00e10000000xnpH') {
+            this.showToast("鎮ㄦ病鏈夋巿鏉冨鎵樼殑鏉冮檺銆傝鑱旂郴绯荤粺绠$悊鍛樸��","error");
+        }
+        // js銇牬鍚堛�佺炕瑷炽仌銈屻仧鍊ゃ亴銇с倠銇仹銆佽娉ㄦ剰
+        else if (this.stageName != '寮曞悎'
+        && this.stageName != '璇环'
+        ) {
+            this.showToast("鐘舵��1:" + this.stageName + "銆佷笉鑳藉仛鎺堟潈鐢宠锛�","");
+        }
+        else if (this.sapSendOK == '1') {
+            this.showToast("宸茬粡涓婁紶SAP銆佷笉鑳藉仛鎺堟潈鐢宠浜嗭紒","error");
+        }
+        else if (this.cntLostCancelReport - this.cntLostCancelDraft > 0) {
+            this.showToast("璇环宸茬粡鏈夊彇娑堬紡澶卞崟鎶ュ憡浜嗭紒","error");
+        }
+        else {
+        location.href = '/a2C/e?retURL=%2F' + 
+            encodeURI(this.recordId) +
+            '&RecordType=01210000000RNXi' +
+            '&CF00N10000006QdJz=' +
+            encodeURI(this.agency1) +
+            '&CF00N10000006QdJz_lkid=' +
+            encodeURI(this.agency1Id) +
+            '&CF00N10000006QdKn=' +
+            encodeURI(this.name) +
+            '&CF00N10000006QdKn_lkid=' +
+            encodeURI(this.recordId) +
+            '&00N10000006QdK4=' +
+            encodeURI(this.name) +
+            '&00N10000006QdYB=' +
+            encodeURI(this.bidPlannedDate) +
+            '&CF00N10000006QdZT=' +
+            encodeURI(this.salesAssistantName) +
+            '&CF00N10000006QdZT_lkid=' +
+            encodeURI(this.salesAssistantID) +
+            '';
+        };
+        this.dispatchEvent(new CloseActionScreenEvent());
+    }
+    showToast(msg,type) {
+      const event = new ShowToastEvent({
+          title: '',
+          message: msg,
+          variant: type
+      });
+      this.dispatchEvent(event);
+    }
+    updateRecordView(recordId) {
+      updateRecord({fields: { Id: recordId }});
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexRequestDB/lexRequestDB.js-meta.xml b/force-app/main/default/lwc/lexRequestDB/lexRequestDB.js-meta.xml
new file mode 100644
index 0000000..3392981
--- /dev/null
+++ b/force-app/main/default/lwc/lexRequestDB/lexRequestDB.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+	<isExposed>true</isExposed>
+	<targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexReturnDeliverySlip/lexReturnDeliverySlip.css b/force-app/main/default/lwc/lexReturnDeliverySlip/lexReturnDeliverySlip.css
new file mode 100644
index 0000000..635bc6c
--- /dev/null
+++ b/force-app/main/default/lwc/lexReturnDeliverySlip/lexReturnDeliverySlip.css
@@ -0,0 +1,22 @@
+.outerBorderCss{
+    border: 1px solid #D4D4D4;
+    border-radius : 5px;
+    border-top : 3px solid #565959;
+}
+.borderCss{
+    border: 1px solid #D4D4D4;
+    border-radius : 5px;
+    margin-bottom : 7px;
+    border-top : 3px solid #565959;
+}
+.headerDorderCss{
+    border-top: 1px solid #565959;
+    border-bottom: 1px solid #D4D4D4;
+    padding:3px;
+}
+.centerCss{
+    text-align: center;
+}
+.centerCss .left{
+    margin-left: 100px;
+}/* sample css file */
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexReturnDeliverySlip/lexReturnDeliverySlip.html b/force-app/main/default/lwc/lexReturnDeliverySlip/lexReturnDeliverySlip.html
new file mode 100644
index 0000000..49a10f7
--- /dev/null
+++ b/force-app/main/default/lwc/lexReturnDeliverySlip/lexReturnDeliverySlip.html
@@ -0,0 +1,5 @@
+<template>
+    <div class="sisToOPDHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexReturnDeliverySlip/lexReturnDeliverySlip.js b/force-app/main/default/lwc/lexReturnDeliverySlip/lexReturnDeliverySlip.js
new file mode 100644
index 0000000..b8c66e8
--- /dev/null
+++ b/force-app/main/default/lwc/lexReturnDeliverySlip/lexReturnDeliverySlip.js
@@ -0,0 +1,53 @@
+import { LightningElement, track, wire, api } from 'lwc';
+import { CurrentPageReference,NavigationMixin } from 'lightning/navigation';
+import { CloseActionScreenEvent } from 'lightning/actions';
+import { encodeDefaultFieldValues } from 'lightning/pageReferenceUtils';
+import init from '@salesforce/apex/ReturnDeliverySlipController.init';
+
+
+export default class lexReturnDeliverySlip extends LightningElement {
+
+	@api recordId;
+		IsLoading = true;
+		raId;
+		raName;
+
+	@wire(CurrentPageReference)
+	getStateParameters(currentPageReference){
+		if(currentPageReference) {
+			const urlValue = currentPageReference.state.recordId;
+			if(urlValue) {
+				let str = `${urlValue}`;
+		        this.recordId = str;
+			}
+		}
+	}
+
+	connectedCallback(){
+		init({
+			recordId: this.recordId
+		}).then(result =>{
+			if(result.RentalApplyEquipmentSetCnt > 0){
+				console.log(JSON.stringify(result.raeSet));
+				if(JSON.stringify(result.raeSet) != '[]'){
+					var check = result.raeSet && result.raeSet.length>0;					
+					if((check || result.RentalApplyEquipmentSetCnt - result.LoanerReceivedNgNum > 0) && result.RentalApplyEquipmentSetCnt > 0){
+						window.open("/apex/EquipmentSetShippmentReceived4?id=" + result.Name); 
+					}else{
+						alert("娌℃湁鐢宠鑰呮敹鍒扮‘璁ょ殑鍊熷嚭澶囧搧");
+					}
+				}else{
+					alert("娌℃湁绗﹀悎鏉′欢鐨勫鍝佸�熷嚭鐢宠涓�瑙堟槑缁�");
+					console.log('else');
+				}
+			this.dispatchEvent(new CloseActionScreenEvent());
+		}else{
+			this.dispatchEvent(new CloseActionScreenEvent());
+			alert("娌℃湁澶囧搧鍊熷嚭鐢宠涓�瑙堝強涓�瑙堟槑缁�");
+		}
+		}).catch(err=>{
+			this.dispatchEvent(new CloseActionScreenEvent());
+			console.log('err=='+err);
+		})
+	}
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexReturnDeliverySlip/lexReturnDeliverySlip.js-meta.xml b/force-app/main/default/lwc/lexReturnDeliverySlip/lexReturnDeliverySlip.js-meta.xml
new file mode 100644
index 0000000..74849f3
--- /dev/null
+++ b/force-app/main/default/lwc/lexReturnDeliverySlip/lexReturnDeliverySlip.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lexOCMSubmit">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightning__RecordPage</target>
+        <target>lightning__AppPage</target>
+        <target>lightning__HomePage</target>
+        <target>lightning__RecordAction</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSICopyDemand/lexSICopyDemand.html b/force-app/main/default/lwc/lexSICopyDemand/lexSICopyDemand.html
new file mode 100644
index 0000000..978fa09
--- /dev/null
+++ b/force-app/main/default/lwc/lexSICopyDemand/lexSICopyDemand.html
@@ -0,0 +1,5 @@
+<template>
+    <div class="submitHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSICopyDemand/lexSICopyDemand.js b/force-app/main/default/lwc/lexSICopyDemand/lexSICopyDemand.js
new file mode 100644
index 0000000..0cf3d94
--- /dev/null
+++ b/force-app/main/default/lwc/lexSICopyDemand/lexSICopyDemand.js
@@ -0,0 +1,67 @@
+import { LightningElement,wire,track,api} from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import { updateRecord } from 'lightning/uiRecordApi';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+
+// import 聽init 聽from '@salesforce/apex/ISOpportunityDemand.ISOpportunityDemand';
+import 聽ISO_Copy_Func 聽from '@salesforce/apex/ControllerUtil.ISO_Copy_Func';
+
+export default class LexSICopyDemand extends LightningElement {
+    @api recordId;
+    IsLoading = true;
+    @wire(CurrentPageReference)
+     getStateParameters(currentPageReference) {
+             console.log(111);
+             console.log(currentPageReference);
+
+         if (currentPageReference) {
+           const urlValue = currentPageReference.state.recordId;
+           if (urlValue) {
+             let str = `${urlValue}`;
+             console.log("str");
+             console.log(str);
+             this.recordId = str;
+           }
+         }
+     }
+
+     connectedCallback(){
+        this.IsLoading = false;
+        this.submit()
+        
+     }
+
+
+     showToast(msg,type) {
+      const event = new ShowToastEvent({
+          title: '',
+          message: msg,
+          variant: type
+      });
+      this.dispatchEvent(event);
+      this.dispatchEvent(new CloseActionScreenEvent());
+    }
+
+
+     updateRecordView(recordId) {
+        updateRecord({fields: { Id: recordId }});
+    }
+
+     submit(){
+        ISO_Copy_Func({isoID:this.recordId})
+        .then(res=>{
+            if(res=='瀛樺湪鏈粓姝㈢殑SI闇�姹傝〃锛屼笉鑳藉鍒�'){
+                this.showToast(res,'error')
+            }else{
+                var url = "apex/ISO_DemandOperAndDemonsNew?id="+res; 
+                // //window.top.location.reload(); 
+                window.location.href=url; 
+            }
+        })
+        .catch(e=>{
+            console.log(e)
+        })
+        
+     }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSICopyDemand/lexSICopyDemand.js-meta.xml b/force-app/main/default/lwc/lexSICopyDemand/lexSICopyDemand.js-meta.xml
new file mode 100644
index 0000000..329e839
--- /dev/null
+++ b/force-app/main/default/lwc/lexSICopyDemand/lexSICopyDemand.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSINewQuoteEntry/lexSINewQuoteEntry.css b/force-app/main/default/lwc/lexSINewQuoteEntry/lexSINewQuoteEntry.css
new file mode 100644
index 0000000..da958a0
--- /dev/null
+++ b/force-app/main/default/lwc/lexSINewQuoteEntry/lexSINewQuoteEntry.css
@@ -0,0 +1,5 @@
+.diap{
+    font-family: "瀹嬩綋",sans-serif;
+    color: red;
+    opacity: 0.5;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSINewQuoteEntry/lexSINewQuoteEntry.html b/force-app/main/default/lwc/lexSINewQuoteEntry/lexSINewQuoteEntry.html
new file mode 100644
index 0000000..41a40c8
--- /dev/null
+++ b/force-app/main/default/lwc/lexSINewQuoteEntry/lexSINewQuoteEntry.html
@@ -0,0 +1 @@
+<template></template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSINewQuoteEntry/lexSINewQuoteEntry.js b/force-app/main/default/lwc/lexSINewQuoteEntry/lexSINewQuoteEntry.js
new file mode 100644
index 0000000..707ee4e
--- /dev/null
+++ b/force-app/main/default/lwc/lexSINewQuoteEntry/lexSINewQuoteEntry.js
@@ -0,0 +1,869 @@
+import { LightningElement, track, wire } from 'lwc';
+import jQuery from '@salesforce/resourceUrl/jquery183minjs';
+export default class lexSINewQuoteEntry extends LightningElement {
+	renderedCallback() {
+        Promise.all([loadScript(this, jQuery)])
+            .then(() => {
+                // jquery183minjs宸插姞杞芥垚鍔�
+                const $ = jQuery.noConflict();
+                // 鍙互鍦ㄨ繖閲屼娇鐢╦query
+            })
+            .catch(error => {
+                console.error('Error ====> ', error);
+            })
+    }
+
+	// 	//const duration = document.getElementById('dur');
+    //         //娣诲姞琛� html鐗规�у鍔犳粦鍔ㄦ潯 绮剧悽鎶�鏈� wql 2021/02/09 start
+    //     //dialog 寮圭獥 start 
+    //     var popupBox;
+    //     popupBox = new SimpleDialog("SpeedDialogId", false);  // 涓嶅彲鎷栧姩
+    //     popupBox.createDialog();
+    //     //绮剧悽鎶�鏈� 2021/02/08 start
+    //     function openAddMultipleRow(){
+    //         popupBox.setTitle("璇疯緭鍏ラ渶瑕佸鍔犵殑琛屽彿锛�");
+    //         popupBox.importContentNode(document.getElementById("speedDiv"));
+    //         popupBox.show(document.getElementById("speedDiv"));
+    //         document.getElementById("speedDiv").style.display = 'block';
+            
+    //     }
+    //     //dialog 寮圭獥 end 
+    //     // 娣诲姞琛� html鐗规�у鍔犳粦鍔ㄦ潯 绮剧悽鎶�鏈� wql 2021/02/09 end 
+
+    //     var QuoteEntryMaxLine = {!QuoteEntryMaxLine};
+    //     var trade = '{!oppInfo.Trade}';
+    //     var displayCost = '{!displayCost}';
+    //     var quoid = '{!quoid}';
+    //     var Session_ID = '{!$Api.Session_ID}';
+    //     var Price_Valid_Period = '{!$Label.Price_Valid_Period}';
+    //     var Message_001 = '{!$Label.Message_001}';
+    //     var Message_Please_Save_Quote = '{!$Label.Please_Save_Quote}';
+    //     var Message_Check_Your_Clipboard = '{!$Label.Check_Your_Clipboard}';
+    //     var Error_Message3 = '{!$Label.Error_Message3}';
+    //     var Error_Message11 = '{!$Label.Error_Message11}';
+    //     var Error_Message29 = '{!$Label.Error_Message29}';
+    //     var Error_Message33 = '{!$Label.Error_Message33}';
+    //     var Error_Message34 = '{!$Label.Error_Message34}';
+    //     var Error_Message35 = '{!$Label.Error_Message35}';
+    //     var Error_Message36 = '{!$Label.Error_Message36}';
+    //     var Error_Message40 = '{!$Label.Error_Message40}';
+    //     var Confirm_ChangedAfterPrint = '鎵撳嵃鍚庤淇℃伅鏈夊彉鍖栵紝鏄惁缁х画鎿嶄綔锛堟姤浠风紪鐮佷細鍙樻柊锛夛紵';
+    //     var Confirm_ChangedAfterBid = '璇ユ姤浠峰凡鎴愪负false浼犵エ锛屾槸鍚︾户缁搷浣滐紙灏嗕細鍋氬嚭涓�涓柊鐨勬姤浠凤級锛�';
+    //     var Confirm_PriceRefresh = '鎶ヤ环浣滄垚鍚巤!$Label.Price_Valid_Period}澶�,杩樻病鏈夋洿鏂拌繃浠锋牸锛岄渶瑕佹墽琛寋!$Label.Status_Update}锛�';
+    //     window.sfdcPage.appendToOnloadQueue(function() { calonLoad() });
+    //     var openQuoteExcelImportWindow = null;
+        
+    //     function selectAll() {
+    //         var checklist = j$("input[name='checklist']");
+    //         var all = j$(escapeVfId("checkAll"));
+    //         for(var i = 0; i < checklist.length; i++){
+    //             if (all[0].checked == true) {
+    //                 checklist[i].checked = true;
+    //             } else {
+    //                 checklist[i].checked = false;
+    //             }
+    //         }
+    //     }
+    //     // xudan 20140627 鍓婇櫎寰屻伄銉併偋銉冦偗澶栥仚銉偢銉冦偗
+    //     function clearAllCheck() {
+    //         j$(escapeVfId("checkAll"))[0].checked = false;
+    //         var checklist = j$("input[name='checklist']");
+    //         for(var i = 0; i < checklist.length; i++){
+    //             checklist[i].checked = false;
+    //         }
+    //     }
+    // // 鎶ヤ环璇曠畻
+    //     function JumpJs() {
+    //         // console.log(ApexPages.currentPage().getParameters().get('core.apexpages.request.devconsole'));
+    //         // var t = '{!quoId}';
+    //         // window.open('/apex/test02?Id=' + t);
+    //         blockme();
+    //         Jump.call();
+    //         return true;
+    //     }
+    //     function DownloadCsvGet(){
+    //         DownloadCsv();
+    //     }
+    //     function DownloadCsvJs(){
+    //         var a =  j$(escapeVfId("Page:mainForm:oppoidforCSV")).val();
+    //         var b = '{!oppId}';
+    //         //window.open('/apex/SI_CsvModel?'+(a==''?'':'id='+a)+'&'+(a==''?'':'oppId='+b)+'','name','features','replace');
+    //         window.open('/apex/SI_CsvModel?id='+encodeURI(a),'name','features','replace');
+    //     }
+    //     function QuoteConfirmJs() {
+    //         debugger
+    //         // body...
+    //         blockme();
+    //         //SWAG-C5DBAL  銆愬鎵樸�� [绱ф�SI璇环鑲栧瘨鏃犳硶淇敼鎶ヤ环鍗� 绮剧悽鎶�鏈� 2021/07/30 start 
+    //         //鑾峰彇褰撳墠鐧诲綍浜虹畝妗�
+    //         var profileId = '{!$User.profileId}';
+    //         //鑾峰彇鑷畾涔夋爣绛� 绯荤粺绠$悊鍛樼畝妗�
+    //         var adminId = '{!$Label.ProfileId_SystemAdmin}';
+    //         //XLIU-CHRD8P銆愬鎵樸�戙�怬BSAP銆戣缁橭BSAP绠�妗BA2_璇环绠$悊 SI璇环鎶ヤ环鍗曠‘璁ゆ潈闄� fy start 
+    //         var adminId2 = '{!$Label.ProfileId_SystemAdmin2}';
+    //         var flag=true;
+    //         var profileId15=profileId;
+    //         if(profileId&&profileId.length>15){
+    //             profileId15=profileId.substring(0,15);
+    //         }
+    //         if(adminId2.includes(profileId15)){
+    //             flag=false;
+    //         }else{
+    //             flag=true;
+    //         }
+    //         //XLIU-CHRD8P銆愬鎵樸�戙�怬BSAP銆戣缁橭BSAP绠�妗BA2_璇环绠$悊 SI璇环鎶ヤ环鍗曠‘璁ゆ潈闄� fy end 
+    //         //鍙湁绯荤粺绠$悊鍛樺彲浠ョ偣鍑�
+    //         if(profileId!=adminId&&flag){
+    //             alert('鍙湁绯荤粺绠$悊鍛樺拰钀ヤ笟鍔╃悊鏈夋潈闄愮‘璁ゆ姤浠凤紒');
+    //             unblockUI();
+    //         }else{
+    //             QuoteConfirm();
+    //         }
+    //         //SWAG-C5DBAL  銆愬鎵樸�� [绱ф�SI璇环鑲栧瘨鏃犳硶淇敼鎶ヤ环鍗� 绮剧悽鎶�鏈� 2021/07/30 end
+    //         // QuoteConfirm();
+    //     }
+    //     function ReloadPage() {
+    //         // body...
+    //         window.location.reload();
+    //     }
+    //     function submitOppoApplyStockJs(){
+    //         // SI璇环淇敼 update by vivek start 20191129
+    //         var Save_button1 = '{!Save_button1}';
+    //         console.log(Save_button1);
+    //         if(Save_button1 == '111'){
+    //             alert('1銆佽仈绯籗I鏈儴鍋氶厤缃缓璁�俓n2銆佽钀ヤ笟鏈儴鍋氶厤缃缓璁弽棣堛�俓n3銆佽SI鏈儴鍋氶厤缃枃浠舵鏌ャ��');
+    //         }else if(Save_button1 == '211'){
+    //             alert('1銆佽钀ヤ笟鏈儴鍋氶厤缃缓璁弽棣堛�俓n2銆佽SI鏈儴鍋氶厤缃枃浠舵鏌ャ��');
+    //         }else if(Save_button1 == '221'){
+    //             alert('1銆佽SI鏈儴鍋氶厤缃枃浠舵鏌ャ��');
+    //         }else if(Save_button1 == '1'){
+    //             alert('1銆佽SI鏈儴鍋氶厤缃枃浠舵鏌ャ��');
+    //         }else if(Save_button1 == '112'){
+    //             alert('1銆佽仈绯籗I鏈儴鍋氶厤缃缓璁�俓n2銆佽钀ヤ笟鏈儴鍋氶厤缃缓璁弽棣堛��');
+    //         }else if(Save_button1 == '212'){
+    //             alert('1銆佽钀ヤ笟鏈儴鍋氶厤缃缓璁弽棣堛��');
+    //         }else{
+    //             blockme();
+    //             submitOppoApplyStock();
+    //         }
+    //         // SI璇环淇敼 update by vivek end 20191129
+    //         // blockme();
+    //         // submitOppoApplyStock();
+    //     }
+    //     // SI涓氬姟绯荤粺娴佺▼鏀瑰杽鍜屾彁鍗囬」鐩�2019-10-28 by vivek start
+    //     function IfRadioChecker2(){
+    //         var msg = "涓嶈兘鍒犻櫎锛屽鏋滃垹闄ゅ彲鑳藉奖鍝嶈澶囧畨瑁呫�俓n\n璇风‘璁わ紒";
+    //         if(confirm(msg)==true){
+    //             radioChecker2('del');
+    //         }
+    //     }
+    //     // SI涓氬姟绯荤粺娴佺▼鏀瑰杽鍜屾彁鍗囬」鐩�2019-10-28 by vivek end
+
+
+
+
+    //     function changeV() {
+    //         var speed = document.getElementById('speed');
+    //         //durVal = parseFloat(duration.value);
+    //         spdVal = parseFloat(speed.value);
+    //         //const durationPercent = parseFloat(durVal, 2) * 100
+    //         const speedPercent = parseFloat((spdVal / 100), 2)*100;
+    //         //duration.style.backgroundSize = `${durationPercent}%, 100%`
+    //         speed.style.background = `linear-gradient(to right, #ffa200, white ${speedPercent}%, white`
+    //         document.getElementById("addMultipleRow").value= speed.value;
+            
+    //     };
+    //     function changeI() {
+    //         var speed = document.getElementById('speed');
+    //         //durVal = parseFloat(duration.value);
+    //         spdVal = parseFloat(document.getElementById("addMultipleRow").value);
+    //         //const durationPercent = parseFloat(durVal, 2) * 100
+    //         const speedPercent = parseFloat((spdVal / 100), 2)*100;
+    //         //duration.style.backgroundSize = `${durationPercent}%, 100%`
+    //         speed.style.background = `linear-gradient(to right, #ffa200, white ${speedPercent}%, white`
+    //         speed.value = document.getElementById("addMultipleRow").value;
+
+            
+    //     };
+
+    //     //SFDC鍋滄棰勮锛堥璁℃秷鑰楀埌鏈熸棩鏍囩孩锛� lt 20210928 add start
+    //     MarkRed();
+    //     //SFDC鍋滄棰勮锛堥璁℃秷鑰楀埌鏈熸棩鏍囩孩锛� lt 20210928 add end
+        
+}
+
+// <!-- <template>
+// <!--     <link rel="stylesheet" type="text/css" href="{!URLFOR($Resource.blockUIcss)}"/>
+//     <script src="{!URLFOR($Resource.jquery183minjs)}"></script>
+//     <script src="{!URLFOR($Resource.PleaseWaitDialog)}"></script>
+//     <script src="{!URLFOR($Resource.NewQuoteEntryJS)}"></script>
+//     <script src="{!URLFOR($Resource.clipboardminjs)}"></script>
+//     <script src="{!URLFOR($Resource.connection20)}"></script>
+//     <script src="{!URLFOR($Resource.apex20)}"></script>
+//     <script src="{!$Resource.lexSINewQuoteEntry+ '/lexSINewQuoteEntry.js'}"></script>
+//     <link rel="stylesheet" type="text/css" href="{!$Resource.lexSINewQuoteEntry + '/lexSINewQuoteEntry.css'}"/> -->
+//     <form id="mainForm">
+//         <lightning-formatted-text id="hiddenQuoid" value="{!quoid}" style="display:none;"/>
+//         <lightning-input type="hidden" id="oppoidforCSV" value="{!oppoidforCSV}"/>
+//         <lightning-input type="hidden" id="changedAfterPrint" value="{!changedAfterPrint}"/>
+//         <lightning-input type="hidden" id="changedAfterBid" value="{!changedAfterBid}"/>
+//         <lightning-input type="hidden" id="productStatusUpdated" value="{!productStatusUpdated}"/>
+//         <!-- 20211011 lt add MarkRed();-->
+//         <apex:actionFunction action="{!setProductEntry}" name="setProductEntry" reRender="mainForm" oncomplete="unblockUI();calPriceAll();MarkRed();">
+//             <apex:param assignTo="{!    }" name="setProduct_text" value=""/>
+//         </apex:actionFunction>
+//         <!-- 20211011 lt add MarkRed();-->
+//         <apex:actionFunction action="{!excelImport}" name="excelImport" reRender="mainForm" oncomplete="unblockUI();calPriceAll();MarkRed();">
+//             <apex:param assignTo="{!excel_text}" name="select_index" value=""/>
+//         </apex:actionFunction>
+//         <apex:actionFunction action="{!addRow}" name="addRow" reRender="mainForm" oncomplete="unblockUI();calPriceAll();">
+//             <apex:param assignTo="{!rowIdx}" name="rowIdx" value=""/>
+//         </apex:actionFunction>
+//         <!-- 娣诲姞琛� -->
+//         <apex:actionFunction action="{!addMultipleRow}" name="addMultipleRow" reRender="mainForm" oncomplete="unblockUI();calPriceAll();">
+//         <apex:param assignTo="{!rowIdx}" name="rowIdx" value=""/>
+//         </apex:actionFunction>
+//         <apex:actionFunction action="{!DownloadCsv}" name="DownloadCsv" reRender="oppoidforCSV" oncomplete="DownloadCsvJs();"/>
+//         <apex:actionFunction action="{!submitOppoApplyStock}" name="submitOppoApplyStock" reRender="mainForm,message1" oncomplete="unblockUI();"/>
+//         <apex:actionFunction action="{!QuoteConfirm}" name="QuoteConfirm" reRender="mainForm" oncomplete="unblockUI();ReloadPage();"/>
+//         <apex:actionFunction action="{!getSalesId1}" name="getSalesId1" reRender="mainForm"/>
+//         <apex:actionFunction action="{!getSalesId2}" name="getSalesId2" reRender="mainForm"/>
+//           <!--    2018/09/28 CHAN-B4YAB8 缁忛攢鍟嗗崟浠疯绠� start -->
+//         <apex:actionFunction action="{!PriceStatusUpdate}" name="PriceStatusUpdate" reRender="listsTable" oncomplete="unblockUI();calPriceAll();alert('鏇存柊瀹屾瘯锛�');quoteAgencyTotalPriceAction();"/>
+//             <!--    2018/09/28 CHAN-B4YAB8 缁忛攢鍟嗗崟浠疯绠� end -->
+//         <!-- CHAN-B8RCU9 start -->
+//         <apex:actionFunction action="{!QuoteDecision}" name="QuoteDecision" reRender="mainForm" oncomplete="unblockUI();alertUpdatewhenDecide();"/>
+//         <!-- CHAN-B8RCU9 start -->
+
+//         <!-- 鍋滄棰勮  20210930  lt  add  MarkRed(); -->
+//         <apex:actionFunction action="{!Save}" name="Save" reRender="mainForm,message1" oncomplete="unblockUI();MarkRed();"/>
+//         <!-- 鎶ヤ环璇曠畻 -->
+//         <apex:actionFunction action="{!Jump}" name="Jump" reRender="mainForm" oncomplete="unblockUI();" />
+//         <apex:actionFunction action="{!OppReflection}" name="OppReflection" reRender="mainForm" oncomplete="unblockUI();"/>
+//         <apex:actionFunction action="{!Print}" name="Print" reRender="mainForm" oncomplete="openQuotePage('{!quo.Contract__c}','{!errorflg}','{!quoid}');unblockUI();"/>
+//         <lightning-card id="block">
+//             <lightning-input type="hidden" value="{!oppInfo.Direct_Separate}" id="Direct_Separate"/>
+//             <lightning-input type="hidden" value="{!oppInfo.Trade}" id="Trade"/>
+//             <lightning-input type="hidden" value="{!oppId}" id="oppId"/>
+//             <lightning-input type="hidden" value="{!SalesId1}" id="SalesId1"/>
+//             <lightning-input type="hidden" value="{!qb.PriceRefreshPeriod}" id="hidden_PriceRefreshPeriod"/>
+//             <lightning-input type="hidden" value="{!qb.Estimation_List_Price}" id="hidden_Estimation_List" rendered="{!displayFlg}"/>
+//             <lightning-input type="hidden" value="{!DisCalculation}" id="DisCalculationvalue" rendered="{!displayFlg}"/>
+//             <lightning-input type="hidden" value="{!DisAmount}" id="hidden_DisAmountvalue" rendered="{!displayFlg}"/>
+//             <lightning-input type="hidden" value="{!Salesprofit1}" id="Salesprofit1value" rendered="{!displayFlg}"/>
+//             <!--    2018/09/28 CHAN-B4YAB8 缁忛攢鍟嗘姌鎵� start -->
+//             <lightning-input type="hidden" value="{!AgencyDiscount}" id="AgencyDiscountValue" rendered="{!displayFlg}"/>
+//             <!--    2018/09/28 CHAN-B4YAB8 缁忛攢鍟嗘姌鎵� end -->  
+//             <lightning-input type="hidden" value="{!Salesprofit2}" id="Salesprofit2value" rendered="{!displayFlg}"/>
+//             <lightning-input type="hidden" value="{!qb.SalesCalculation1}" id="SalesCalculation1value" rendered="{!displayFlg}"/>
+//             <lightning-input type="hidden" value="{!qb.SalesCalculation2}" id="SalesCalculation2value" rendered="{!displayFlg}"/>
+//             <lightning-input type="hidden" value="{!quoStocking_Price_c}" id="hidden_Stocking_Price" rendered="{!displayFlg}"/>
+//             <lightning-input type="hidden" value="{!oppInfo.Wholesale_Price}" id="hidden_Wholesale_Price" rendered="{!displayFlg}"/>
+//             <!-- 澶氬勾淇濅慨 start -->
+//             <lightning-input type="hidden" id="hidden_MultiYearWarrantyTotalPrice" value="{!quo.MultiYearWarrantyTotalPrice__c}"/>
+//             <!-- 澶氬勾淇濅慨 end -->
+//             <lightning-input type="hidden" value="{!enableSales}" id="SalesRoot_Flg"/>
+//             <lightning-input type="hidden" value="{!oppInfo.CurrencyIsoCode}" id="CurrencyIsoCode"/>
+//             <lightning-input type="hidden" value="{!baseUrl}" id="baseUrl"/>
+//             <lightning-input type="hidden" value="{!WinOrDecideAlert}" id="SFDA_Flg"/>
+//             <!-- LHJ Start -->
+//             <lightning-input type="hidden" value="{!oppInfo.Authorized_DB_No}" id="Authorized_DB_No" rendered="{!displayFlg}"/>
+//             <lightning-input type="hidden" value="{!oppInfo.If_Need_Authorize}" id="If_Need_Authorize" rendered="{!displayFlg}"/>
+//             <!-- LHJ End -->
+//             <template id="message1">
+//                 <apex:messages styleClass="editListError"/>
+//             </template>
+//             <template if:true="{!errorflg}" >
+//                 <table width="100%">
+//                     <tr>
+//                         <td align="left"><div class="errorMsg">{!errorMessage}</div></td>
+//                     </tr>
+//                 </table>
+//             </template>
+//             <template if:true="{!errorflg}" >
+//                 <table width="100%">
+//                     <tr>
+//                         <td align="left"><div style="font-size:22px" class="errorMsg">{!errorMessagechack}</div></td>
+//                     </tr>
+//                 </table>
+//             </template>
+//             <template if:true="{!Messageflg}" >
+//                 <table width="100%">
+//                     <tr>
+//                         <td align="left">{!Message}</td>
+//                     </tr>
+//                 </table>
+//             </template>
+//             <div>
+//                 <table border="0">
+//                     <tr>
+//                         <th style="text-align:right;width:90px;">{Label.Quoto_No}</th>
+//                         <td style="text-align:right;width:130px;"><span>{quo.Quote_No__c}</span></td>
+//                         <th style="text-align:right;width:80px;">{Label.Quoto_Name}</th>
+//                         <td style="width:110px;"><div class="requiredInput"><div class="requiredBlock"></div><lightning-input-field value={quo.QuoteName__c} /></div></td>
+//                         <th style="text-align:right;width:100px;">{Label.HP_Name}</th>
+//                         <td style="width:180px;"><span>{oppInfo.HP_Name}</span></td>
+//                         <th style="text-align:right;width:100px;">{Label.Department_Name}</th>
+//                         <td style="width:130px;"><span>{oppInfo.Department_Name}</span></td>
+//                         <th style="text-align:right;width:90px;">{Label.Currency}</th>
+//                         <td style="width:80px;"><span>{oppInfo.CurrencyIsoCode}</span></td>
+//                     </tr>
+//                     <tr>
+//                         <th style="text-align:right">{displayFlg ? Label.Total_ListPrice : ''}</th>
+//                         <td style="text-align:right;"><lightning-formatted-text id="Estimation_List_Price" style={displayFlg ? '' : 'display:none'} value="{0, number, ###,##0.00}">
+//                             <slot>{qb.Estimation_List_Price}</slot>
+//                         </lightning-formatted-text></td>
+//                         <th style="text-align:right;">{displayFlg ? Label.Total_Price : ''}</th>
+//                         <td><div style={displayFlg ? '' : 'display:none'}><lightning-input-field id="quoTotalPrice" value={quo.QuoteTotal_Page__c} onchange={quoteTotalPriceAction} disabled={true} style="text-align:right;"/></div></td>
+//                         <th style="text-align:right;">{displayFlg ? Label.Contact_Price : ''}</th>
+//                         <td><div class="requiredInput"><div class="requiredBlock"></div><lightning-input-field id="Dealer_Final_Price" value={quo.Dealer_Final_Price_Page__c} onchange={calFromContactPrice} onblur={setOCMAmount} onclick={quoteAgencyTotalPriceAction1} style={displayFlg ? '' : 'display:none'} ></lightning-input-field></div></td>
+//                         <th style="text-align:right;">{displayFlg ? Label.Forecast_Amounts : ''}</th>
+//                         <td style={displayFlg ? '' : 'display:none'}><span id="Wholesale_Price">{oppInfo.Wholesale_Price}</span></td>
+//                         <th style="text-align:right">{Label.Sales_Root}</th>
+//                         <td><span id="Sales_Root">{oppInfo.Sales_Root}</span></td>
+//                     </tr>
+//                 </table>
+//                 <table border="0">
+//                     <tr>
+//                         <th style="text-align:right;width:50px;">&nbsp;</th>
+//                         <td style="text-align:right;width:110px;"><lightning-button onclick={productCompare} label={Label.Status_Update}></lightning-button></td>
+//                         <th style="text-align:right;width:50px;">&nbsp;</th>
+//                         <td style="text-align:right;width:100px;"><lightning-button onclick={updateOtcode} label="鏇挎崲浜у搧otcode" ></lightning-button></td>
+//                         <th style="text-align:right;width:50px;">&nbsp;</th>
+//                         <td style="width:110px;"><lightning-button id="SetProduct" onclick={searchSetProductSI} label={Label.Set_Product}></lightning-button></td>
+//                         <th style="text-align:right;width:50px;">&nbsp;</th>
+//                         <td style="width:130px;"><lightning-button onclick={openQuoteExcelImport} label={Label.Excel_Import}></lightning-button></td>
+//                         <td style="text-align:right;width:50px;"><lightning-button id="Btn_RowDelete" onclick={IfRadioChecker2.bind(this, 'del')} value="{!Label.deleteLabel}" style="width:60px;"></lightning-button></td>
+//                         <!-- 娣诲姞琛� -->
+//                         <td width="40px;">
+//                             <lightning-button onclick={openAddMultipleRow} label="澧炲姞琛�" ></lightning-button>
+//                         </td>
+//                         <td style="width:130px;">
+//                             <lightning-button id="Btn_RowUp" onclick={radioChecker2.bind(this, 'up')} value="{!Label.Row_Up}" style="width:60px;"></lightning-button>
+//                             <lightning-button id="Btn_RowDown" onclick={radioChecker2.bind(this, 'down')} value="{!Label.Row_Down}" style="width:60px;"></lightning-button>
+//                         </td>
+//                         <th style="text-align:right;width:100px;">涓绘満瑁呮満鍦扮偣</th>
+//                         <td><lightning-input-field value={quo.Installation_location__c} /></td>
+//                         <th style="text-align:right;width:90px;">{displayCost && displayFlg ? Label.Cost : ''}</th>
+//                         <td style="text-align:right;width:80px;"><lightning-formatted-text id="Stocking_Price" value="{0, number, ###,##0.00}" style={displayCost && displayFlg ? '' : 'display:none;'}><apex:param value={quoStocking_Price_c}/></lightning-formatted-text></td>
+//                     </tr>
+//                 </table>
+//             </div>
+//              <!-- 澶氬勾淇濅慨 start -->
+//               <!--  鍘熶唬鐮� start
+//             <table>
+//                 <tr>
+//                     <td>&nbsp;</td>
+//                 </tr>
+//             </table>
+//             -->
+//             <!-- 鍘熶唬鐮� end -->
+//             <table>
+//                 <tr>
+//                     <td>&nbsp;</td>
+//                 </tr>
+//                 <tr>
+//                     <th style="text-align:right;width:30px;">&nbsp;</th>
+//                     <th style="text-align:right;width:50px;">鍚堝悓淇濅慨鏈燂紙骞达級:&nbsp;</th>
+//                     <td style="width:190px;">
+//                         <lightning-input-field id="AllGurantee_Period" value={quo.Gurantee_Period__c} onchange={calGuranteePeriod} style="width:50px; text-align:right;"></lightning-input-field>
+//                         <input type="hidden" id="Gurantee_Period_c" value={quo.Gurantee_Period__c}/>
+//                     </td>
+//                     <!-- 澶栬锤澶氬勾淇� 鍙栨秷nodiscount 鍚堣 闅愯棌 绮剧悽鎶�鏈� wql 2021/01/28 start -->
+//                     <template if:true={contractWarranty}>
+//                             <th style="text-align:right;width:50px;">
+//                                 {!quoteObject.fields.MultiYearWarrantyTotalPrice__c.label}&nbsp;
+//                             </th>
+//                             <td style="width:470px;">
+//                                 <lightning-formatted-text id="MultiYearWarrantyTotalPrice_out" value={quo.MultiYearWarrantyTotalPrice__c} style="text-align:right;width:180px;"></lightning-formatted-text>
+//                             </td>
+//                             <th style="text-align:right;width:50px;">
+//                                 {!quoteObject.fields.multiYearWarranty__c.label}&nbsp;
+//                             </th>
+//                             <td style="width:200px;">
+//                                 <lightning-input type="number" min="0" max="99" id="multiYearWarranty" value={quo.multiYearWarranty__c} onchange={callFromCancelgurantee_MD} style="text-align:right;width:30px;"></lightning-input>
+//                             </td>
+//                         </template>
+//                     <!-- 澶栬锤澶氬勾淇� 鍙栨秷nodiscount 鍚堣 闅愯棌 绮剧悽鎶�鏈� wql 2021/01/28 end -->
+//                 </tr>
+//                 <!-- 娣诲姞琛� 鏀惧湪澶栭潰 鍥犱负鍐呭璐镐笉鍚�-->
+//                     <!-- <th style="text-align:right;width:50px;">
+//                         娣诲姞琛�
+//                     :&nbsp;</th> -->
+//                     <!-- 娣诲姞琛� html鐗规�у鍔犳粦鍔ㄦ潯 绮剧悽鎶�鏈� wql 2021/02/09 start -->
+//                     <!-- 鍙兘杈撳叆姝f暣鏁� 杈撳叆鍏跺畠浼氬己鍒舵竻绌� -->
+//                     <td style="width:200px;display: none;">
+//                         <div class="" id="speedDiv" style="">
+//                         <!--  <p>鍛ㄦ湡</p>
+//                         <input type="range" id="dur" value="0.50" min="0" max="1.00" step="0.01" onchange="changeV()"/>
+//                         <p>閫熷害</p> -->
+//                         <p class="diap">鈶犳粦鍔ㄩ�夋嫨琛屾暟!</p>
+//                         <!-- 婊戞潯 -->
+//                         <input type="range" id="speed" value="50" min="0" max="100" step="1" onchange="changeV()" style="background: linear-gradient(to right, rgb(255, 162, 0), white 50%, white);" />
+//                         <p class="diap">鈶¤緭鍏ラ�夋嫨琛屾暟!</p>
+//                         <!-- 杈撳叆妗� -->
+//                         <input id="addMultipleRow" value="50" style="text-align:right;width: 30px;" rendered="{!displayFlg}" class="diaInput" onchange="changeI();" onkeyup="if(this.value.length==1){this.value=this.value.replace(/[^1-9]/g,'')}else{this.value=this.value.replace(/\D/g,'')}" 
+//                         onafterpaste="if(this.value.length==1){this.value=this.value.replace(/[^1-9]/g,'0')}else{this.value=this.value.replace(/\D/g,'')}"/>
+
+//                         <div class="slds-text-align_center">
+//                             <lightning-button label="纭" onclick={addMultipleRowJS} style="margin: 20px 10px 0px 10px;"></lightning-button>
+//                             <lightning-button label="鍙栨秷" onclick={popupBoxHide} style="margin: 20px 10px 0px 10px;"></lightning-button>
+//                         </div>
+//                     </div>
+//                     </td>
+//                     <!-- SWAG-CKDATG 銆愬鎵樸�戙�怬BSAP-鎶ヤ环濮旀墭銆戞姤浠峰鎵橀」鐩敼鍠�1 fy start -->
+//                     <tr>
+//                         <th style="text-align:right;width:30px;">&nbsp;</th>
+//                         <th style="text-align:left;width:50px;">{!$ObjectType.Quote.fields.QuotationChange__c.label}:&nbsp;</th>
+//                         <td style="width:190px;"><lightning-input-field id="QuotationChange" value="{!quo.QuotationChange__c}"  style="width:80px; text-align:right;" />
+//                         </td>
+//                         <th style="text-align:left;width:50px;">{!$ObjectType.Quote.fields.MainEngineWithoutMonitor__c.label}:&nbsp;</th>
+//                         <td style="width:500px;"><lightning-input-field id="RemarksOnChanges" value="{!quo.MainEngineWithoutMonitor__c}"  style="width:450px; text-align:left;" />
+//                         </td>
+//                         <th style="text-align:right;width:50px;">
+//                             {!$ObjectType.Quote.fields.Interdepartmental__c.label}
+//                         :&nbsp;</th>
+//                         <td style="width:200px;"><lightning-input-field id="Interdepartmental" value="{!quo.Interdepartmental__c}"  style="text-align:right;width:30px;" /></td>
+//                     </tr>
+//                     <!-- SWAG-CKDATG 銆愬鎵樸�戙�怬BSAP-鎶ヤ环濮旀墭銆戞姤浠峰鎵橀」鐩敼鍠�1 fy end -->
+//                 <tr>
+//                     <td>&nbsp;</td>
+//                 </tr>
+//             </table>
+//             <!-- 澶氬勾淇濅慨 end -->
+//             <div style="width:1260px;">
+//                 <div style="overflow-x: auto;">
+//                     <!-- 澶栬锤澶氬勾淇� 鍐呭璐歌〃鏍奸暱搴︿竴鑷� 鍘�1635px 绮剧悽鎶�鏈� wql 2021/01/28 start -->
+//                     <table style="width:1935px;" border="0">
+//                     <!-- 澶栬锤澶氬勾淇� 鍐呭璐歌〃鏍奸暱搴︿竴鑷�  绮剧悽鎶�鏈� wql 2021/01/28 end -->
+//                         <tr>
+//                             <th style="text-align:center;width:20px;">&nbsp;<input type="checkbox" id="checkAll" onclick="selectAll()" style="width:10px;"/></th>
+//                             <th style="text-align:center;width:15px;">No</th>
+//                             <th style="text-align:center;width:150px;">{!$Label.Asset_No}</th>
+//                             <th style="text-align:center;width:100px;">{!$Label.SFDA_Status}</th>
+//                             <th style="text-align:center;width:100px;">{!$ObjectType.product2.fields.VenderName__c.label}</th>
+                           
+//                             <th style="text-align:center;width:85px;">{!$Label.ListPrice}</th>
+//                             <th style="text-align:center;width:100px;">{!$Label.Quantity}</th>
+//                             <th style="text-align:center;width:50px;">{!$Label.Specifications}</th>
+//                             <th style="text-align:center;width:100px;">鍖婚櫌鍗曚环</th>
+//                             <th style="text-align:center;width:100px;">鍖婚櫌灏忚</th>
+//                             <!-- 
+//                             <th style="text-align:center;width:50px;">{!$Label.Present}</th>
+//                             --Savebutton-->
+
+//                             <!--    2018/09/28 CHAN-B4YAB8 璧犻�併�佺粡閿�鍟嗕环鏍煎拰灏忚 end -->
+//                             <!-- 澶氬勾淇濅慨 start -->
+//                             <!-- 澶栬锤澶氬勾淇� 鍙栨秷澶氬勾淇濅慨 淇濅慨 闅愯棌 绮剧悽鎶�鏈� wql 2021/01/28 start -->
+//                             <apex:variable value="{!1}" var="abc" >
+//                                 <th style="text-align:center;width:50px;">
+//                                     {!$ObjectType.QuoteLineItem.fields.multiYearWarranty__c.label}
+//                                 </th>
+//                                 <th style="text-align:center;width:150px;">
+//                                     {!$ObjectType.QuoteLineItem.fields.warrantyType__c.label}
+//                                 </th>
+                                
+//                             </apex:variable>
+//                             <!-- 澶栬锤澶氬勾淇� 鍙栨秷澶氬勾淇濅慨 淇濅慨 闅愯棌 绮剧悽鎶�鏈� wql 2021/01/28 end -->
+//                             <th style="text-align:center;width:50px;">
+//                                 {!$ObjectType.QuoteLineItem.fields.GuaranteePeriod__c.label}</th>
+//                             <!-- 澶氬勾淇濅慨 end -->
+//                             <!-- 鏂板姞鐨� -->
+
+//                             <!-- SFDC鍋滄棰勮锛堥璁℃秷鑰楀埌鏈熸棩锛� lt 20210924 add start -->
+//                             <th style="text-align:center;width:130px;">{!$ObjectType.product2.fields.Estimated_ConsumptionDueDate__c.label}</th>
+//                             <!-- SFDC鍋滄棰勮锛堥璁℃秷鑰楀埌鏈熸棩锛� lt 20210924 add end -->
+
+//                             <th style="text-align:center;width:100px;">搴撳瓨鐘舵��</th>
+//                             <th style="text-align:center;width:100px;">浜у搧閰嶅</th>
+//                             <th style="text-align:center;width:350px;">{!$Label.Product_Name}</th>
+                            
+//                             <th style="text-align:center;width:100px;" hidden="hidden">{!$Label.AgencyPrice}</th>
+//                             <th style="text-align:center;width:100px;" hidden="hidden">{!$Label.AgencySum_Total}</th>
+//                             <!-- 澶栬锤澶氬勾淇� 鍙栨秷nodiscount闅愯棌 绮剧悽鎶�鏈� wql 2021/01/28 start -->
+//                             <apex:variable value="{!1}" var="abc" >
+//                                 <th style="text-align:center;width:100px;" hidden="hidden">
+//                                     {!$ObjectType.QuoteLineItem.fields.NoDiscountTotal__c.label}
+//                                 </th>
+//                             </apex:variable>
+//                             <!-- 澶栬锤澶氬勾淇� 鍙栨秷nodiscount闅愯棌 绮剧悽鎶�鏈� wql 2021/01/28 end -->
+//                             <th style="text-align:center;width:20px;"><apex:image id="plusicon" value="{!$Resource.plusicon}" onclick="addRowJs(0);"/></th>
+//                         </tr>
+//                     </table>
+//                     <!-- 澶栬锤澶氬勾淇� 鍐呭璐竧able涓�鑷� 绮剧悽鎶�鏈� wql 2021/01/28 start -->
+//                     <div id="iframelike" style="width:1960px;">
+//                         <input type="hidden" id="ListPriceTotal" value="0" />
+//                         <input type="hidden" id="UnitPriceTotal" value="0" />
+//                         <template id="listsTable">
+//                         <table class="list" style="border-bottom-width: 0px; font-size:11px; border-spacing:0;width:1938px;" border="">
+//                     <!-- 澶栬锤澶氬勾淇� 鍐呭璐竧able涓�鑷� 绮剧悽鎶�鏈� wql 2021/01/28 end -->
+//                             <apex:variable value="{!1}" var="cnt" />
+//                             <apex:variable value="{!0}" var="CntIndex" />
+//                             <colgroup span="11"></colgroup>
+//                             <template for:each={} for:item="" for:index=""> 
+//                             <apex:repeat value="{!activities}" var="s" id="lists">
+//                                 <tr class="dataRow {!IF(MOD(cnt, 2)==0, 'odd', 'even')} {!IF(cnt==1, 'first', '')}" onmouseover="if (window.hiOn){hiOn(this);} " onmouseout="if (window.hiOff){hiOff(this);} " onblur="if (window.hiOff){hiOff(this);}" onfocus="if (window.hiOn){hiOn(this);}">
+//                                     <td class="dataCell" style="width:20px;">
+//                                         <input type="checkbox" name="checklist" value="{!s.lineNo}" style="width:10px;"/>
+//                                     </td>
+//                                     <td class="dataCell" style="width:15px;text-align:right;">
+//                                         <apex:outputLabel id="indexNo" value="{!IF(s.PageObject.Id__c==null,null,s.lineNo + 1)}" style="width:10px;"/>
+//                                     </td>
+//                                     <td class="dataCell" style="text-align:center;width:150px;">
+//                                         <lightning-input id="Assert" style="width:120px;" value="{!s.Asset_Model}" onclick="searchProduct('{!s.lineNo}',this.value, '')" />
+//                                     </td>
+//                                     <td class="dataCell" id="{!Text(cnt-1)}:td_Status__c" style="width:100px;">
+//                                         <lightning-output-field style="width:75px;" id="Status__c" value="{!s.PageObject.SFDA_Status__c}"/>
+//                                         <lightning-input type="hidden" id="SFDA" value="{!s.PageObject.SFDA_Status__c}"/>
+//                                         <template layout="none" rendered="{!IF(ISBLANK(s.PageObject.Product_Sales_Possibility__c) || s.PageObject.Product_Sales_Possibility__c == '鈼�', false, true)}">
+//                                         <script type="text/javascript">
+//                                         //alert(j$(escapeVfId('{!Text(cnt-1)}' + ':td_Status__c')).size());
+//                                         j$(escapeVfId('{!Text(cnt-1)}' + ':td_Status__c')).css({"color":"red"});
+//                                         </script>
+//                                         </template>
+//                                         <template layout="none" rendered="{!IF(s.haveno_Register == true, true, false)}">
+//                                         <script type="text/javascript">
+//                                             j$(escapeVfId('{!Text(cnt-1)}' + ':td_Status__c')).css({"color":"red"});
+//                                         </script>
+//                                     </template>
+//                                     </td>
+//                                     <td class="dataCell" style="width:100px;">
+//                                         <lightning-formatted-text id="VenderName" value="{!s.VenderName}" />
+//                                         <lightning-input type="hidden" id="VenderName__c" value="{!s.VenderName}" />
+//                                         <!-- 浜у搧涓绘暟鎹鍔犫�滀笉鍙彇娑堝骞翠繚鈥� 2020/08/28 绮剧悽鎶�鏈� wql start -->
+//                                         <lightning-input type="hidden" id="CanNotCancelledGurantee__c" value="{!s.CanNotCancelledGurantee}" />
+//                                         <!-- 浜у搧涓绘暟鎹鍔犫�滀笉鍙彇娑堝骞翠繚鈥� 2020/08/28 绮剧悽鎶�鏈� wql end -->
+//                                     </td>
+                                   
+//                                     <td class="dataCell" style="width:85px;text-align:right;">
+//                                         <lightning-formatted-text style="width:85px;display:{!IF(displayFlg, '', 'none')}" id="ListPricetext" value="{0, number, ###,##0.00}">
+//                                             <apex:param value="{!s.ListPrice_Page}" />
+//                                         </lightning-formatted-text>
+//                                         <lightning-input type="hidden" id="ListPrice" rendered="{!displayFlg}" value="{!s.ListPrice_Page}"/>
+//                                     </td>
+//                                     <td class="dataCell" style="text-align:center;width:100px;">
+//                                             <!--    2018/09/28 CHAN-B4YAB8 缁忛攢鍟嗗崟浠疯绠� start -->
+//                                          <lightning-input-field id="Quantity" style="width:30px;text-align:right;" value="{!s.PageObject.Quantity__c}" onChange="calPrice('{!s.lineNo}');quoteAgencyTotalPriceAction();AgencyDiscountCalculation1();"/>
+//                                             <!--    2018/09/28 CHAN-B4YAB8 缁忛攢鍟嗗崟浠疯绠� end -->
+//                                     </td>
+
+//                                     <td class="dataCell" style="width:50px;text-align:center">
+//                                         <lightning-formatted-text style="width:40px;text-align:center;" id="Specifications" value="{!if(s.latestInfo.Specifications=0||s.latestInfo.Specifications=null,'',s.latestInfo.Specifications)}"/>
+//                                     </td>
+
+//                                     <td class="dataCell" style="text-align:center;width:100px;">
+//                                         <lightning-input-field id="UnitPrice" style="width:80px;text-align:right;" rendered="{!displayFlg}" value="{!s.PageObject.UnitPrice_Page__c}" onChange="calPrice('{!s.lineNo}')"/>
+//                                         <!-- &&IF(s.VenderName!='OSH',false,true) -->
+//                                         <script type="text/javascript">
+//                                         var isOSH = j$(escapeVfId('Page:mainForm:block:lists:'+{!CntIndex}+':VenderName')).value();
+//                                         if(isOSH != 'OSH'&&isOSH != ''){
+//                                              j$(escapeVfId('Page:mainForm:block:lists:'+{!CntIndex}+':UnitPrice')).attr('disabled','disabled');
+//                                         }
+//                                         </script>
+//                                         <apex:variable value="{!CntIndex + 1}" var="CntIndex" />
+//                                     </td>
+
+//                                     <td class="dataCell" style="width:100px;text-align:right;">
+//                                         <lightning-formatted-text style="width:80px;display:{!IF(displayFlg, '', 'none')}" id="TotalPrice" value="{0, number, ###,##0.00}">
+//                                             <apex:param value="{!s.PageObject.Subtotal__c}" />
+//                                         </lightning-formatted-text>
+//                                         <lightning-input type="hidden" id="Subtotal__c" value="{!s.PageObject.Subtotal__c}"  rendered="{!displayFlg}"/>
+//                                         <lightning-input type="hidden" id="NameCode" value="{!s.latestInfo.ProductCode}"/>
+//                                         <lightning-input type="hidden" id="Product_Name" value="{!s.latestInfo.ProductName}"/>
+//                                         <lightning-input type="hidden" id="Product_SFDA" value="{!s.latestInfo.SFDA_Status}"/>
+//                                         <lightning-input type="hidden" id="Product_Specifications" value="{!s.latestInfo.Specifications}"/>
+//                                         <lightning-input type="hidden" id="Sales_Possibility" value="{!s.latestInfo.Sales_Possibility}"/>
+//                                         <lightning-input type="hidden" id="Product_ListPrice" value="{!s.latestInfo.ListPrice}" rendered="{!displayFlg}"/>
+//                                         <lightning-input type="hidden" id="Product_Cost" value="{!s.latestInfo.Cost}"/>
+//                                         <lightning-input type="hidden" id="Cost" value="{!s.Cost_c}"/>
+//                                         <lightning-input type="hidden" id="CostSubTotal" value="{!s.Cost_Subtotal_c}"/>
+//                                         <lightning-input type="hidden" id="Bsscategory" value="{!s.PageObject.BSS_Category__c}"/>
+//                                         <lightning-input type="hidden" id="Product_Id" value="{!s.PageObject.Id__c}"/>
+//                                         <lightning-input type="hidden" id="PricebookEntryId" value="{!s.pageObject.PricebookEntryId}"/>
+//                                         <lightning-input type="hidden" id="lineNo" value="{!s.lineNo}"/>
+//                                     </td>
+
+//                                     <!-- CHAN-B4YAB8 2018/9/28 缁忛攢鍟嗗崟浠峰拰灏忚 start -->
+//                                     <!-- <td class="dataCell" style="width:15px;">
+//                                         <lightning-input-field id="Present__c" style="width:10px;" value="{!s.PageObject.Present__c}"
+//                                         onChange="quoteAgencyTotalPriceAction();AgencyDiscountCalculation1();" />
+//                                     </td> -->
+
+//                                     <!-- CHAN-B4YAB8 2018/9/28 缁忛攢鍟嗗崟浠峰拰灏忚 end -->
+//                                     <!-- 澶氬勾淇濅慨 start -->
+//                                     <!-- 澶栬锤澶氬勾淇� 鍙栨秷澶氬勾淇濅慨 淇濅慨鐨勯殣钘� 绮剧悽鎶�鏈� wql 2021/01/28 start rendered="{!IF(trade  == '鍐呰部',true,false)}"-->
+//                                     <apex:variable value="{!1}" id="warranty" var="abc" >
+//                                         <td class="dataCell" style="width:50px;text-align:center;">
+//                                           <lightning-input-field style="width:30px; text-align:center; display:{!IF(displayFlg, '', 'none')}" id="itemMultiYearWarranty" html-disabled="true" value="{!s.PageObject.multiYearWarranty__c}" />
+//                                         </td>
+//                                         <td class="dataCell" style="width:150px;text-align:center;">
+//                                           <lightning-input-field style="width:120px; text-align:center; display:{!IF(displayFlg, '', 'none')}" id="warrantyType" html-disabled="true" value="{!s.PageObject.warrantyType__c}" />
+//                                         </td>
+
+//                                     </apex:variable>
+//                                     <!-- 澶栬锤澶氬勾淇� 鍙栨秷澶氬勾淇濅慨 淇濅慨鐨勯殣钘� 绮剧悽鎶�鏈� wql 2021/01/28 end rendered="{!IF(trade  == '鍐呰部',true,false)}"-->
+
+//                                     <td class="dataCell" style="width:50px;text-align:center;">
+//                                         <lightning-output-field style="width:30px; text-align:center; display:{!IF(displayFlg, '', 'none')}" id="itemGuaranteePeriod" value="{!s.PageObject.GuaranteePeriod__c}" />
+//                                     </td>
+//                                     <!-- 澶氬勾淇濅慨 end -->
+
+//                                     <!-- SFDC鍋滄棰勮锛堥璁℃秷鑰楀埌鏈熸棩锛� lt 20210924 add start -->
+//                                     <td class="dataCell" style="width:130px;text-align: center;">
+//                                         <lightning-formatted-text id="Estimated_ConsumptionDueDate" value="{!s.Estimated_ConsumptionDueDate}" />
+//                                         <lightning-input type="hidden" id="Estimated_ConsumptionDueDate1" value="{!s.Estimated_ConsumptionDueDate}" />
+//                                     </td>   
+//                                     <!-- SFDC鍋滄棰勮锛堥璁℃秷鑰楀埌鏈熸棩锛� lt 20210924 add end -->
+
+//                                     <!-- 鏂板姞鐨� -->
+//                                     <td class="dataCell" style="width:100px;text-align:center;">
+//                                         <apex:outputLabel id="Storagestatustext" value="{!s.StorageStatus}"/>
+//                                         <lightning-input type="hidden" id="Storagestatus" rendered="{!displayFlg}" value="{!s.StorageStatus}"/>
+//                                     </td>
+//                                     <td class="dataCell" style="width:100px;">
+//                                         <lightning-input type="hidden" id="Product_Set_Name__c" value="{!s.Product_Set_Name}" />
+//                                         <lightning-formatted-text id="Product_Set_Name" value="{!s.Product_Set_Name}" />
+//                                     </td>
+//                                     <td class="dataCell" id="{!Text(cnt-1)}:td_Name__c" style="width:350px;">
+//                                         <div id="Page:mainForm:block:lists:{!s.lineNo}:NameLink"><apex:outputLink style="width:300px;" value="{!baseUrl}/{!s.PageObject.Id__c}" id="Nametext1" target="_blank">{!s.PageObject.Name__c}</apex:outputLink></div>
+//                                         <lightning-input type="hidden" id="Name__c" value="{!s.PageObject.Name__c}"/>
+//                                         <template layout="none" rendered="{!IF(s.wrong_Register == true, true, false)}">
+//                                         <script type="text/javascript">
+//                                             j$(escapeVfId('Page:mainForm:block:lists:{!Text(cnt-1)}' + ':Nametext1')).css({"color":"red"});
+//                                         </script>
+//                                     </template>
+//                                     </td>
+
+//                                     <!-- 鎶ヤ环璇曠畻 娉ㄩ噴 -->
+//                                     <td class="dataCell" style="text-align:center;width:100px;" hidden="hidden">
+//                                         <lightning-input-field id="Agency_UnitPrice" html-disabled="true" style="width:80px;text-align:right;" rendered="{!displayFlg}" value="{!s.PageObject.AgencyUnitPrice__c}" onChange="calAgencyPrice('{!s.lineNo}')"/>
+//                                     </td>
+//                                     <!-- 鎶ヤ环璇曠畻 娉ㄩ噴 -->
+//                                     <td class="dataCell" style="width:100px;text-align:right;" hidden="hidden">
+//                                         <lightning-formatted-text style="width:80px;display:{!IF(displayFlg, '', 'none')}" id="Agency_TotalPrice" value="{0, number, ###,##0.0}">
+//                                             <apex:param value="{!IF(s.PageObject.Id__c==null,null,s.PageObject.AgencySubtotal__c)}"/>
+//                                         </lightning-formatted-text>
+//                                          <lightning-input type="hidden" id="AgencySubtotal__c" value="{!s.PageObject.AgencySubtotal__c}" rendered="{!displayFlg}"/>
+
+//                                         <!-- 澶氬勾淇濅慨 start -->
+//                                         <lightning-input type="hidden" id="GuaranteePeriod__c" value="{!s.PageObject.GuaranteePeriod__c}" rendered="{!displayFlg}"/>
+//                                         <lightning-input type="hidden" id="provistonPeriod__c" value="{!s.PageObject.provistonPeriod__c}" rendered="{!displayFlg}"/>
+//                                         <lightning-input type="hidden" id="If_Cancel_Guarantee__c" value="{!s.PageObject.If_Cancel_Guarantee__c}" rendered="{!displayFlg}"/>
+//                                         <lightning-input type="hidden" id="ServicePrice__c" value="{!s.PageObject.ServicePrice__c}" rendered="{!displayFlg}"/>
+//                                         <lightning-input type="hidden" id="GuranteePrice__c" value="{!s.GuranteePrice}" rendered="{!displayFlg}"/>
+//                                         <lightning-input type="hidden" id="Maintenance_Price_Year__c" value="{!s.Maintenance_Price_Year}" rendered="{!displayFlg}"/>
+//                                         <lightning-input type="hidden" id="GuranteeType" value="{!s.PageObject.GuranteeType__c}" rendered="{!displayFlg}"/>
+
+//                                         <lightning-input type="hidden" id="ProductEntend_gurantee_period_all__c" value="{!s.PageObject.ProductEntend_gurantee_period_all__c}" rendered="{!displayFlg}"/>
+//                                         <lightning-input type="hidden" id="ProductGuranteePrice__c" value="{!s.ProductGuranteePrice}" rendered="{!displayFlg}"/>
+//                                         <lightning-input type="hidden" id="productServicePrice__c" value="{!s.PageObject.productServicePrice__c}" rendered="{!displayFlg}"/>
+//                                         <lightning-input type="hidden" id="latestGuranteeType"
+//                                         value="{!s.latestInfo.GuranteeType}" rendered="{!displayFlg}"/>
+//                                         <lightning-input type="hidden" id="latestMaintenance_Price_Year" value="{!s.latestInfo.Maintenance_Price_Year}" rendered="{!displayFlg}"/>
+//                                         <lightning-input type="hidden" id="latestIntra_Trade_Gurantee"
+//                                         value="{!s.latestInfo.Intra_Trade_Gurantee}" rendered="{!displayFlg}"/>
+//                                         <lightning-input type="hidden" id="latestProductEntend_gurantee_period_all"
+//                                         value="{!s.latestInfo.ProductEntend_gurantee_period_all}" rendered="{!displayFlg}"/>
+//                                         <lightning-input type="hidden" id="latestProductIntra_Trade_Service"
+//                                         value="{!s.latestInfo.Intra_Trade_Service}" rendered="{!displayFlg}"/>
+//                                         <!-- 澶氬勾淇濅慨 end -->
+//                                     </td>
+//                                     <!-- 澶栬锤澶氬勾淇� 鍙栨秷nodiscount闅愯棌 绮剧悽鎶�鏈� wql 2021/01/28 start rendered="{!IF(trade  == '鍐呰部',true,false)}"-->
+//                                     <!--鎶ヤ环璇曠畻 娉ㄩ噴  -->
+//                                     <apex:variable value="{!1}" id="warranty2" var="abc" >
+//                                         <td class="dataCell" style="width:100px;text-align:right;" hidden="hidden">
+//                                             <lightning-input-field style="width:80px;display:{!IF(displayFlg, '', 'none')}" html-disabled="true" id="NoDiscountTotal" value="{!s.PageObject.NoDiscountTotal__c}"/>
+//                                         </td>
+//                                     </apex:variable>
+//                                     <!-- 澶栬锤澶氬勾淇� 鍙栨秷nodiscount闅愯棌 绮剧悽鎶�鏈� wql 2021/01/28 end -->
+//                                     <td class="dataCell" style="width:15px;" >
+//                                         <template if:true="{!s.lineNo < 149}" layout="none">
+//                                             <apex:image id="plusicon" value="{!$Resource.plusicon}" onclick="addRowJs({!s.lineNo + 1});"/>
+//                                         </template>
+//                                     </td>
+//                                 </tr>
+//                         <apex:variable value="{!cnt + 1}" var="cnt" />
+//                         </apex:repeat>
+//                         </table>  <!-- /table class="list" -->
+//                         </template>
+//                     </div>
+//                 </div>
+//             </div>
+//             <BR></BR>
+//             <div>
+//                 <table border="0">
+//                     <tr>
+//                         <td>
+//                              <!--澶氬勾淇濅慨 澧炲姞瀹藉害 start -->
+//                             <table border="0" style="background-color:#ffd6c1; width: 878px;">
+//                                 <!--澶氬勾淇濅慨 end -->
+//                                 <tr>
+//                                     <th style="width:100px;">&nbsp;</th>
+//                                     <th style="width:140px;text-align:center;" bgcolor="#ffd6c1">{!$Label.Calculate}</th>
+//                                     <!-- CHAN-B6H4MH  20181114UpdateStart-->
+//                                     <th style="width:120px;text-align:center;" bgcolor="#ffd6c1">{!$Label.AdjustAmount}</th>
+//                                     <!-- <th style="width:120px;" bgcolor="#ffd6c1">&nbsp;</th>
+//                                     <th style="width:120px;" bgcolor="#ffd6c1">&nbsp;</th>
+//                                     <th style="width:120px;text-align:center;" bgcolor="#ffd6c1">{!$Label.Calculate}</th>
+//                                     <th style="width:120px;text-align:center;" bgcolor="#ffd6c1">{!$Label.Amount}</th> -->
+//                                     <!-- CHAN-B6H4MH  20181114UpdateEnd-->
+//                                 </tr>
+//                                 <tr>
+//                                     <th style="width:100px;text-align:right">{!$Label.Quote_Adjustment}</th>
+//                                     <td style="width:140px;"><lightning-input style="width:110px;text-align:right" id="QuoCalculation" rendered="{!displayFlg}" value="{!qb.Quote_Adjust_Calculate}" onchange="UnitPriceUpdate();"/></td>
+//                                     <td style="width:120px;"><lightning-input-field style="width:110px;text-align:right" id="QuoAmount" rendered="{!displayFlg}" value="{!quo.Quote_Adjust_Amount_Page__c}" onchange="calFromQuoAmont();"/></td>
+//                                     <!-- CHAN-B6H4MH  20181114UpdateStart-->
+//                                     <!-- <th style="width:120px;" bgcolor="#ffd6c1">&nbsp;</th>
+//                                     <th style="width:120px;text-align:center">{!$Label.Discount_Amount}</th>
+//                                     <td style="width:120px;text-align:right"><apex:outputLabel style="width:110px;display:{!IF(displayFlg, '', 'none')}" id="DisCalculation" value="{!DisCalculation}"/></td>
+//                                     <td style="width:120px;text-align:right"><lightning-formatted-text style="width:110px;display:{!IF(displayFlg, '', 'none')}" id="DisAmount" value="{0, number, ###,##0.00}"><apex:param value="{!DisAmount}"/></lightning-formatted-text></td> -->
+//                                     <!-- CHAN-B6H4MH  20181114UpdateEnd-->
+//                                     <th style="width:120px;text-align:center;"></th>
+//                                     <td style="width:120px;" align="center">
+//                                         <!-- <lightning-button action="{!Jump}" rerender="hiddenQuoid" value="璺宠浆" style="width:90px;"
+//                                         /> -->
+//                                         <lightning-button onclick="JumpJs();return false;"  style="width:90px;" value="鎶ヤ环璁$畻"
+//                                         />
+//                                     </td>
+//                                     <th style="width:100px;" bgcolor="#ffd6c1">
+//                                         <!-- 鐢ㄨ繖涓� disabled 棰滆壊澶殫 -->
+//                                         鏄惁杩涜杩囨姤浠疯绠楋細<lightning-input-field style="width:20px;text-align:right" id="IsQuoteTrial" rendered="{!displayFlg}" value="{!quo.IsQuoteTrial__c}"  onclick="return false;" />
+//                                     </th>
+//                                 </tr>
+//                                 <tr><!-- style="display:{!IF(oppInfo.Account_RecordType_DeveloperName!='AgencyContract','table-row','none')};" -->
+//                                     <th style="width:100px;">&nbsp;</th>
+//                                     <th colspan="2" style="width:260px;text-align:center;">{!$Label.Sales_Name}</th>
+//                                     <!-- 鎶ヤ环璇曠畻娉ㄩ噴 -->
+//                                     <!-- <th style="width:120px;text-align:center;">{!$Label.Sales_Div}</th> -->
+//                                     <th style="width:120px;text-align:center;"></th>
+//                                     <th style="width:120px;text-align:center;">{!$Label.Amount}</th>
+//                                     <th style="width:120px;text-align:center;">{!$Label.Sales_Profit}</th>
+//                                     <th style="width:120px;text-align:center;">{!$Label.Percent}</th>
+//                                 </tr>
+//                                 <tr>
+//                                     <th style="width:100px;text-align:right;">{!$Label.Sales_Name1}</th>
+//                                      <!--    2018/09/28 CHAN-B4YAB8 鍘绘帀onchange function getID1(); start -->
+//                                     <td colspan="2" style="width:260px;"><lightning-input-field style="width:230px;" id="SalesName1" value="{!quo.Agency1__c}"/></td>
+//                                      <!--    2018/09/28 CHAN-B4YAB8 鍘绘帀onchange function getID1(); end -->
+//                                     <!-- 澶氬勾淇濅慨娉ㄩ噴    2018/09/28 CHAN-B4YAB8 缁忛攢鍟嗘姌鎵� start -->
+//                                     <!--<td style="width:120px;text-align:center">
+//                                         <lightning-formatted-text style="width:110px;text-align:right" id="AgencyDiscount" value="{!AgencyDiscount}"/>
+//                                     </td> -->
+//                                     <!-- 澶氬勾淇濅慨 绗竴缁忛攢鍟� 鎶樻墸鍙樹负 鍙緭鍏� start -->
+//                                     <td style="width:120px;text-align:center" hidden="hidden">
+//                                         <lightning-input style="width:50px;text-align:right" id="AgencyDiscount" value="{!AgencyDiscount}" onchange="callFromAgencyDiscount();"/>
+//                                     </td>
+//                                     <td style="width:120px;text-align:center" >
+//                                     </td>
+//                                     <!-- 澶氬勾淇濅慨 绗竴缁忛攢鍟� 鎶樻墸鍙樹负 鍙緭鍏� end -->
+//                                     <td style="width:120px;"><lightning-input-field style="width:110px;text-align:right" id="SalesAmount1" value="{!quo.OCM_Agent1_Price_Page__c}" rendered="{!displayFlg}" onchange="salesProfit1();setOCMAmount();quoteAgencyTotalPriceAction1('缁忛攢鍟�');AgencyDiscountCalculation1();"/></td>
+//                                     <!--    2018/09/28 CHAN-B4YAB8 缁忛攢鍟嗘姌鎵� end -->  
+//                                     <td style="width:120px;text-align:right"><apex:outputLabel style="width:110px;display:{!IF(displayFlg, '', 'none')}" id="Salesprofit1" value="{!Salesprofit1}"/></td>
+//                                     <td style="width:120px;text-align:right"><apex:outputLabel style="width:110px;display:{!IF(displayFlg, '', 'none')}" id="SalesCalculation1" value="{!qb.SalesCalculation1}" /></td>
+//                                 </tr>
+//                                 <tr>
+//                                     <th style="width:100px;text-align:right;">{!$Label.Sales_Name2}</th>
+//                                     <td colspan="2" style="width:260px;"><lightning-input-field style="width:230px;" id="SalesName2" value="{!quo.Agency2__c}" onChange="getId2();"/></td>
+//                                     <td style="width:120px;"><apex:outputLabel style="width:110px;text-align:right;" id="SalesShopClass2" value="{!SalesShopClass2}" /></td>
+//                                     <td style="width:120px;"><lightning-input-field style="width:110px;text-align:right;" id="SalesAmount2" value="{!quo.Agent1_Agent2_Price_Page__c}" rendered="{!displayFlg}" onchange="salesProfit2();"/></td>
+//                                     <td style="width:120px;text-align:right;"><apex:outputLabel style="width:110px;display:{!IF(displayFlg, '', 'none')}" id="Salesprofit2" value="{!Salesprofit2}" /></td>
+//                                     <td style="width:120px;text-align:right;"><apex:outputLabel style="width:110px;display:{!IF(displayFlg, '', 'none')}" id="SalesCalculation2" value="{!qb.SalesCalculation2}" /></td>
+//                                 </tr>
+//                             </table>
+//                         </td>
+//                         <td>
+//                             <table border="0" style="display:{!IF(hiddenSaveBtn, 'none', '')}">
+//                                 <!-- SI涓氬姟绯荤粺娴佺▼鏀瑰杽鍜屾彁鍗囬」鐩�2019-10-28  by vivek start -->
+//                                 <tr>
+//                                     <td style="width:150px;" align="right"><lightning-button onclick="QuoteConfirmJs();return false;"  rendered="{!UnConfirmQuote}" value="纭鎶ヤ环" style="width:90px;"  /></td>
+//                                 </tr>
+//                                 <!-- SI涓氬姟绯荤粺娴佺▼鏀瑰杽鍜屾彁鍗囬」鐩�2019-10-28 by vivek end -->
+//                                 <tr>
+//                                     <th style="width:150px;" align="right">&nbsp;</th>
+//                                 </tr>
+//                                 <tr>
+//                                     <td style="width:150px;" align="right"><lightning-button onclick="save2btn();return false;" rerender="hiddenQuoid,SFDA_Flg" value="{!$Label.Save_Button}" style="width:90px;" disabled="{!Save_button}" /></td>
+//                                 </tr>
+//                                 <tr>
+//                                     <!-- SI涓氬姟绯荤粺娴佺▼鏀瑰杽鍜屾彁鍗囬」鐩�2019-10-28 by vivek start -->
+//                                     <td style="width:150px;" align="right"><lightning-button onclick="submitOppoApplyStockJs();return false;" rerender="hiddenQuoid,SFDA_Flg" value="澶囪揣纭鐢宠" style="width:90px;" disabled="{!Save_button}" /></td>
+//                                     <!-- <td style="width:150px;" align="right"><lightning-button onclick="submitOppoApplyStockJs();return false;" rerender="hiddenQuoid,SFDA_Flg" value="澶囪揣纭鐢宠" style="width:90px;" disabled="{!Save_button1}" /></td> -->
+//                                     <!-- SI涓氬姟绯荤粺娴佺▼鏀瑰杽鍜屾彁鍗囬」鐩�2019-10-28 by vivek end -->
+//                                 </tr>
+//                                 <tr>
+//                                     <td style="width:150px;" align="right"><lightning-button onclick="oppReflection2btn();return false;" rerender="hiddenQuoid" value="{!$Label.Opp_Button}" style="width:90px;" disabled="{!Save_button}"/></td>
+//                                 </tr>
+//                                 <tr>
+//                                     <!-- 20211029 lt SFDC鍋滄棰勮 add oncomplete="MarkRed();" -->
+//                                     <td style="width:150px;" align="right"><lightning-button onclick="decision2btn();return false;" rerender="errorMsg,hiddenQuoid,SFDA_Flg" value="{!$Label.QuoteDecision_Button}" style="width:90px;" disabled="{!Decision_button}" oncomplete="MarkRed();"/></td>
+//                                     <!--{!Decision_button} --> 
+//                                 </tr>
+//                                 <tr>
+//                                     <!--    2018/09/28 CHAN-B4YAB8 澶嶅埗绮樿创鏉� start -->
+//                                     <td style="width:150px;" align="right"><lightning-button onClick="copyToClipboardNewQuoteEntry(event, displayCost, document.getElementById( 'Page:mainForm:hiddenQuoid').innerHTML, '{!oppInfo.CurrencyIsoCode}');return false;" value="{!$Label.Copy_Detail}" style="width:90px;" rendered="{!displayFlg}" rerender="dummy"/></td>
+//                                     <!--    2018/09/28 CHAN-B4YAB8 澶嶅埗绮樿创鏉� end -->
+//                                 </tr>
+//                                 <tr>
+//                                     <td style="width:150px;" align="right">
+//                                         <lightning-button onclick="DownloadCsvGet()" disabled="{!IF(quoId!=null,false,true)}" value="CSV涓嬭浇" style="width:90px;" reRender="dummy"/>
+//                                     </td>
+//                                 </tr>
+//                             </table>
+//                             <table border="0" >
+//                                 <tr>
+//                                     <td style="width:150px;" align="right"><lightning-button action="{!Back}" rerender="hiddenQuoid" value="杩斿洖璇环" style="width:90px;" /></td>
+//                                 </tr>
+//                                 <!-- 鎶ヤ环璇曠畻 -->
+//                                 <!-- <tr>
+//                                     <td style="width:150px;" align="right">
+                                        
+//                                         <lightning-button onclick="JumpJs();return false;"  style="width:90px;" value="鎶ヤ环璇曠畻"
+//                                         />
+//                                     </td>
+//                                 </tr> -->
+//                             </table>
+//                         </td>
+//                     </tr>
+//                     </table>
+//                 <br></br>
+//                  <!--澶氬勾淇濅慨 澧炲姞瀹藉害 start -->
+//                 <table border="0" style="background-color:#ffd6c1; width: 878px;">
+//                  <!--澶氬勾淇濅慨 澧炲姞瀹藉害 end -->
+//                     <tr>
+//                         <th style="text-align:right;width:80px;">{!$Label.Quote_Print}</th>
+//                         <td style="text-align:center;width:80px;"><lightning-input value="{!quo.Unit_Price__c}"/>{!$Label.Detail_Price}</td>
+//                         <td style="text-align:center;width:80px;"><lightning-input value="{!quo.Offer_Amount__c}"/>{!$Label.Detail_Sum}</td>
+//                         <td style="text-align:center;width:80px;"><lightning-input value="{!quo.TOTAL__c}"/>{!$Label.Total_Price}</td>
+//                         <td style="text-align:center;width:80px;"><lightning-input value="{!quo.Discount__c}"/>{!$Label.Total_Discount_Percent}</td>
+//                         <td style="text-align:center;width:80px;"><lightning-input value="{!quo.Pricing__c}"/>{!$Label.Total_Discount_Amount}</td>
+//                         <td style="text-align:center;"><lightning-input value="{!quo.Preferential_Trading_Price__c}"/>{!$Label.Row_Total_Sum}</td>
+//                         <!-- 澶氬勾淇濅慨 start -->
+//                         <td style="text-align:center;width:80px;"><lightning-input value="{!quo.Preferential_Gurantee_Period__c}"/>{!$ObjectType.Quote.fields.Preferential_Gurantee_Period__c.label}</td>
+//                         <!-- 澶氬勾淇濅慨 end -->
+//                         <td style="width:120px;text-align:right" colspan="2"><lightning-input value="{!quo.Contract__c}" rendered="{!enableContract}"/>{!$Label.Contract_Breakdown}</td>
+//                     </tr>
+//                     <tr>
+//                         <th style="text-align:right;width:100px;">{!$Label.Print_HPName}</th>
+//                         <td colspan="6">
+//                             <lightning-combobox id="selection_hp" value="{!selection_hp}" style="width:400px;" size="1">
+//                                 <apex:sele
+
+//                                 ctOptions value="{!options_hp}"/>
+//                             </lightning-combobox>
+//                         </td>
+//                         <td  colspan="2" align="right" style="display:{!IF(hiddenSaveBtn, 'none', '')}"><lightning-button onclick="print2btn();return false;" value="{!$Label.Print_Button}" style="width:90px;" disabled="{!print_button}" rendered="{!displayFlg}" rerender="dummy"/></td>
+//                     </tr>
+//                 </table>
+//             </div>
+//         </lightning-card>
+//     </form>
+//     <!-- 娣诲姞琛� html鐗规�у鍔犳粦鍔ㄦ潯 绮剧悽鎶�鏈� wql 2021/02/09 start -->
+//     <script type="text/javascript">
+        
+//     </script>
+//     <!-- //娣诲姞琛� html鐗规�у鍔犳粦鍔ㄦ潯 绮剧悽鎶�鏈� wql 2021/02/09 end -->
+
+
+
+
+// </template> -->
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSINewQuoteEntry/lexSINewQuoteEntry.js-meta.xml b/force-app/main/default/lwc/lexSINewQuoteEntry/lexSINewQuoteEntry.js-meta.xml
new file mode 100644
index 0000000..171374b
--- /dev/null
+++ b/force-app/main/default/lwc/lexSINewQuoteEntry/lexSINewQuoteEntry.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lexSINewQuoteEntry">
+    <apiVersion>51.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightning__AppPage</target>
+        <target>lightning__RecordPage</target>
+        <target>lightning__HomePage</target>
+        <target>lightning__RecordAction</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSISearchSetProduct/lexSISearchSetProduct.css b/force-app/main/default/lwc/lexSISearchSetProduct/lexSISearchSetProduct.css
new file mode 100644
index 0000000..5a7c26e
--- /dev/null
+++ b/force-app/main/default/lwc/lexSISearchSetProduct/lexSISearchSetProduct.css
@@ -0,0 +1,6 @@
+/*div {
+    color: #fff;
+    height: 300px;
+    overflow-y: auto;
+    overflow-x: hidden;
+}*/
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSISearchSetProduct/lexSISearchSetProduct.html b/force-app/main/default/lwc/lexSISearchSetProduct/lexSISearchSetProduct.html
new file mode 100644
index 0000000..d0148fd
--- /dev/null
+++ b/force-app/main/default/lwc/lexSISearchSetProduct/lexSISearchSetProduct.html
@@ -0,0 +1,110 @@
+<template>
+<!-- <apex:includeScript value="{!URLFOR($Resource.jquery183minjs)}"/>
+<apex:includeScript value="{!URLFOR($Resource.PleaseWaitDialog)}"/>
+ -->
+    <template if:true={isLoad}>
+        <form id="mainForm" >
+        <!-- <apex:actionFunction action="{!SelectDone}" name="SelectDone" reRender="setPFString,DataStatus" oncomplete="SetMuiltProduct();"/> -->
+        <lightning-input type="hidden" value={data.setPFString} id="setPFString" ></lightning-input>
+        <lightning-input type="hidden" value={data.DataStatus}  id="DataStatus" > </lightning-input>
+        <lightning-card  title={Label.Set_Search}>
+            <!-- <apex:pageBlock id="idSearchSetProduct" title="{Label.Set_Search}"> -->
+                <table width="900" border="0" style="background-color:#DCDCDC;" > 
+                    <colgroup>
+                        <col width="12" />
+                        <col width="20" />
+                        <col width="20" />
+                        <col width="200" />
+                        <col width="200" />
+                        <col width="20" />
+                        <col width="428" />
+                    </colgroup>
+                    
+                    <tr>
+                        <td>&nbsp;</td>
+                        <th>{Label.Search_Condition}</th>
+                        <td>&nbsp;</td>
+                        <th>{Label.Set_Name}</th>
+                        <th>{Label.Set_Code}</th>
+                        <td>&nbsp;</td>
+                        <td>&nbsp;</td>
+                    </tr>
+                    <tr>
+                        <td>&nbsp;</td>
+                        <td>&nbsp;</td>
+                        <td>&nbsp;</td>
+                        <td><lightning-input type="search"  value={SearchName} onchange={searchNameInputChange} style="width:200px" ></lightning-input></td>
+
+                        <td><lightning-input type="search" value={SearchCode} onchange={searchCodeInputChange} style="width:200px" > </lightning-input></td>
+
+                        <td><lightning-button label={Label.Search} onclick={Select}  rerender="idRezultVisitor"  class="slds-m-left_x-small"> </lightning-button></td>
+
+                        <td><lightning-button label="娣诲姞"  onclick={DataPrepare} class="slds-m-left_x-small"></lightning-button></td>
+                    </tr>
+                    <tr>
+                        <td style="border-bottom: 1px solid #888;" colspan="15">&nbsp;</td>
+                    </tr>
+                </table>
+                <table width="900" border="0" style="background-color:#DCDCDC;" >
+                    <tr>
+                        <td width="12">&nbsp;</td>
+                        <th valign="top">{Label.Search_Result}</th>
+                        <td width="20">&nbsp;</td>
+                        <td>
+                            <table border="0">
+                                <tr>
+                                    <td>
+                                    <div id="iframelike" style="width:770px;
+									    height: 300px;
+									    overflow-y: auto;
+									    overflow-x: hidden;">
+                                    	<lightning-datatable
+							                key-field="id"
+							                data={data.activities}
+							                columns = {columns}>
+							        	</lightning-datatable>
+
+                                        <!-- <apex:pageBlockTable id="idRezultVisitor" value="{!activities}" var="c" border="1" columns="7" columnsWidth="30px,300px,120px,90x,200px,50px">
+                                            <apex:column >
+                                                <apex:facet name="header">閫夋嫨</apex:facet>
+                                                <apex:inputCheckbox value="{!c.isSelected}"/>
+                                            </apex:column>
+                                            <apex:column >
+                                                <apex:facet name="header">Report</apex:facet>
+                                                <apex:outputLink value="{!baseUrl}/{!reportid}?pv1={!c.setProductid}" target="_blank">鈼�</apex:outputLink>
+                                            </apex:column>
+                                            <apex:column >
+                                                <apex:facet name="header">{Label.Set_Name}</apex:facet>
+                                                <apex:outputLink value="{!c.Name}" onclick="SetProductId('{!c.setProductidFull}')">{!c.Name}</apex:outputLink>
+                                            </apex:column>
+                                            <apex:column >
+                                                <apex:facet name="header">{Label.Set_Code}</apex:facet>
+                                                <apex:outputText value="{!c.Product_Set_CD_c}" />
+                                            </apex:column>
+                                            <apex:column >
+                                                <apex:facet name="header">{Label.Quantity}</apex:facet>
+                                                <apex:outputText value="{!c.Quantity}" />
+                                            </apex:column>
+                                            <apex:column >
+                                                <apex:facet name="header">{data.LabelI}</apex:facet>
+                                                <apex:outputText value="{!c.Quote_Select_Info_c}" />
+                                            </apex:column>
+                                            <apex:column >
+                                                <apex:facet name="header">{!$Label.Valid_Status}</apex:facet>
+                                                <template layout="inline" rendered={c.Valid_c} >
+                                                    <img width="16" height="16" title="銉併偋銉冦偗" class="checkImg" alt="銉併偋銉冦偗" src="/img/checkbox_checked.gif"/>
+                                                </template>
+                                            </apex:column>
+                                        </apex:pageBlockTable> -->
+                                    </div>
+                                    </td>
+                                </tr>
+                            </table>
+                        </td>
+                    </tr>
+                </table>
+            <!-- </apex:pageBlock> -->
+            </lightning-card>
+        </form>
+    </template>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSISearchSetProduct/lexSISearchSetProduct.js b/force-app/main/default/lwc/lexSISearchSetProduct/lexSISearchSetProduct.js
new file mode 100644
index 0000000..7a4a0a6
--- /dev/null
+++ b/force-app/main/default/lwc/lexSISearchSetProduct/lexSISearchSetProduct.js
@@ -0,0 +1,164 @@
+import { LightningElement, track, wire } from 'lwc';
+
+import Set_Name from '@salesforce/label/c.Set_Name';
+import Search_Condition from '@salesforce/label/c.Search_Condition';
+import Set_Search from '@salesforce/label/c.Set_Search';
+import Set_Code from '@salesforce/label/c.Set_Code';
+import Search from '@salesforce/label/c.Search';
+import Search_Result from '@salesforce/label/c.Search_Result';
+import Quantity from '@salesforce/label/c.Quantity';
+import Valid_Status from '@salesforce/label/c.Valid_Status';
+
+import serContact from '@salesforce/apex/SISearchSetProductController.serContact';
+import SelectDone from '@salesforce/apex/SISearchSetProductController.SelectDone';
+import getFileName from '@salesforce/apex/SISearchSetProductController.getFileName';
+import init from '@salesforce/apex/SISearchSetProductController.init';
+import a from '@salesforce/resourceUrl/jquery183minjs';
+import b from '@salesforce/resourceUrl/PleaseWaitDialog';
+export default class lexSISearchSetProduct extends LightningElement {
+		Label={
+			Set_Name,
+			Search_Condition,
+			Set_Search,
+			Set_Code,
+			Search_Result,
+			Search,
+			Quantity,
+			Valid_Status,
+		};
+		isLoad=false;
+		data;
+		LabelI='';
+		SearchName='';
+		SearchCode='';
+		columns = [
+		    { label: '閫夋嫨', fieldName: 'isSelected' },
+		    { label: 'Report', fieldName: 'setUrl' },
+		    { label: this.Label.Set_Name, fieldName: 'Name' },
+		    { label: this.Label.Set_Code, fieldName: 'Product_Set_CD_c' },
+		    { label: this.Label.Quantity, fieldName: 'Quantity' },
+		    { label: this.Label.Valid_Status, fieldName: 'img' }
+		    // { label: 'Website', fieldName: 'Asset_Model_No_forPrint__c', type: 'url' },
+		    // { label: 'Phone', fieldName: 'phone', type: 'phone' },
+		    // { label: 'Balance', fieldName: 'amount', type: 'currency' },
+		    // { label: 'CloseAt', fieldName: 'closeAt', type: 'date' },
+		];
+		
+
+		async connectedCallback(){
+			// getFileName().then(res=>{
+			// 	console.log("ttt");
+			// 	console.log(res);
+			// 	this.Quote_Select_Info__c_Label=res;
+			// })
+			console.log("jinru");
+			await init().then(res=>{
+				console.log("hhh");
+				console.log("res:");
+				console.log(res);
+				console.log(res.LabelI);
+				this.data=res;
+				this.LabelI=res.LabelI;
+				for (var i = this.data.activities.length - 1; i >= 0; i--) {
+					this.data.activities[i].setUrl= res.baseUrl + '/'+ res.reportid +'?pv1='+ this.data.activities[i].setProductid;
+					if(this.data.activities[i].Valid_c){
+						this.data.activities[i].img='';
+					}
+				}
+				
+				this.columns = [
+				    // { label: '閫夋嫨', fieldName: 'isSelected' },
+				    { label: 'Report', fieldName: 'setUrl', type:'url' },
+				    { label: this.Label.Set_Name, fieldName: 'Name' },
+				    { label: this.Label.Set_Code, fieldName: 'Product_Set_CD_c' },
+				    { label: this.Label.Quantity, fieldName: 'Quantity' },
+				    { label: this.data.LabelI, fieldName: 'Quote_Select_Info_c' },
+				    { label: this.Label.Valid_Status, fieldName: 'img' }
+				];
+				this.isLoad=true;
+			});
+		}
+
+
+		SetProductId(str) {
+            //top.window.opener.setProductEntry(str);
+            top.window.opener.setProductEntryGateway(str);
+            top.window.close();
+        }
+
+        SetMuiltProduct(){
+            var Str = this.data.setPFString;
+            var isPrepared = this.data.DataStatus;
+            if(isPrepared!='Fin'){
+                confirm(isPrepared)
+            }else if(Str==''||Str==null){
+                if(confirm("鎮ㄥ皻鏈�夊彇浠讳綍浜у搧閰嶅锛岀‘璁ゅ畬鎴愪箞锛�")){
+                    top.window.close();
+                }else{
+                }
+            }else{
+                top.window.opener.setProductEntryGateway(Str);
+                top.window.close();
+            }
+        }
+        async DataPrepare() {
+            // body...
+            console.log("娣诲姞:");
+            this.data.DataStatus='鏁版嵁灏氭湭鍑嗗濂斤紝璇风◢绛�';
+            console.log(this.data);
+            let activities=[];
+            let isSelected=[];
+            for (var i = this.data.activities.length - 1; i >= 0; i--) {
+            	activities.push(this.data.activities[i].setProductidFull);
+            	isSelected.push(this.data.activities[i].isSelected);
+            }
+            //j$(escapeVfId("Page:mainForm:DataStatus")).val('鏁版嵁灏氭湭鍑嗗濂斤紝璇风◢绛�');
+            await SelectDone({activities:activities,isSelected:isSelected}).then(res=>{
+            	console.log("SelectDone:");
+            	console.log(res);
+            	if(res!=null){
+            		this.data.setPFString=res.setPFString;
+            		this.data.setProductidFullList=res.setProductidFullList;
+            		this.data.DataStatus=res.DataStatus;
+            		console.log(this.data);
+            	}
+            }).catch(err=>{
+            	console.log("err:");
+            	console.log(err);
+            	console.log(err.message);
+            });
+        }
+
+        Select(){
+        	serContact({searchName:this.data.SearchName,searchCode:this.data.SearchCode}).then(res=>{
+        		console.log("鏌ヨ缁撴灉");
+        		console.log(res);
+        		if(res!=null){
+    				this.data.cl=res.cl;
+    				this.data.activities=res.activities;
+    				for (var i = this.data.activities.length - 1; i >= 0; i--) {
+
+						this.data.activities[i].setUrl= this.data.baseUrl + '/'+ this.data.reportid +'?pv1='+ this.data.activities[i].setProductid;
+						if(this.data.activities[i].Valid_c){
+							this.data.activities[i].img='鈭�';
+						}
+					}
+					console.log("activities!");
+        		}
+        		let t=this.data;
+        		this.data={};
+        		this.data=t;
+        		console.log(this.data);
+        	})
+        }
+        searchNameInputChange(event){
+        	this.data.SearchName = event.detail.value;
+        }
+        searchCodeInputChange(event){
+        	this.data.SearchCode = event.detail.value;
+        }
+        // function DataReady() {
+        //  // body...
+        //  j$(escapeVfId("Page:mainForm:DataStatus")).value()='Fin';
+        // }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSISearchSetProduct/lexSISearchSetProduct.js-meta.xml b/force-app/main/default/lwc/lexSISearchSetProduct/lexSISearchSetProduct.js-meta.xml
new file mode 100644
index 0000000..d0dd8b9
--- /dev/null
+++ b/force-app/main/default/lwc/lexSISearchSetProduct/lexSISearchSetProduct.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lexSISearchSetProduct">
+    <apiVersion>51.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightning__AppPage</target>
+        <target>lightning__RecordPage</target>
+        <target>lightning__HomePage</target>
+        <target>lightning__RecordAction</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSIStoOPD/lexSIStoOPD.css b/force-app/main/default/lwc/lexSIStoOPD/lexSIStoOPD.css
new file mode 100644
index 0000000..eb667c5
--- /dev/null
+++ b/force-app/main/default/lwc/lexSIStoOPD/lexSIStoOPD.css
@@ -0,0 +1,10 @@
+.sisToOPDHolder{
+    position: relative;
+    display: inline-block;
+    width: 80px;
+    height: 80px;
+    text-align: center;
+}
+.container .uiContainerManager{
+	display: none !important;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSIStoOPD/lexSIStoOPD.html b/force-app/main/default/lwc/lexSIStoOPD/lexSIStoOPD.html
new file mode 100644
index 0000000..48f29e0
--- /dev/null
+++ b/force-app/main/default/lwc/lexSIStoOPD/lexSIStoOPD.html
@@ -0,0 +1,6 @@
+<template>
+    <div class="sisToOPDHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+        <lightning-button label="Show Toast" onclick={ShowToastEvent}></lightning-button>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSIStoOPD/lexSIStoOPD.js b/force-app/main/default/lwc/lexSIStoOPD/lexSIStoOPD.js
new file mode 100644
index 0000000..a44bcae
--- /dev/null
+++ b/force-app/main/default/lwc/lexSIStoOPD/lexSIStoOPD.js
@@ -0,0 +1,101 @@
+/*
+ * @Description: 
+ * @version: 
+ * @Author: chen jing wu
+ * @Date: 2023-04-07 09:02:03
+ * @LastEditors: chen jing wu
+ * @LastEditTime: 2023-04-12 10:15:28
+ */
+import { api, wire,LightningElement } from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import updateForSIStoOPDButton  from '@salesforce/apex/ReportController.updateForSIStoOPDButton';
+import init  from '@salesforce/apex/ReportController.initForSIStoOPDButton';
+import { updateRecord } from 'lightning/uiRecordApi';
+import UserInfo_Owner from '@salesforce/apex/TaskFeedbackController.UserInfo_Owner';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+export default class LexSIStoOPD extends LightningElement {
+    @api recordId;
+    IsLoading = true;
+    ownerId;
+    status;
+    userId;
+    @wire(CurrentPageReference)
+    getStateParameters(currentPageReference) {
+            console.log(111);
+            console.log(currentPageReference);
+
+        if (currentPageReference) {
+          const urlValue = currentPageReference.state.recordId;
+          if (urlValue) {
+            let str = `${urlValue}`;
+            console.log("str");
+            console.log(str);
+            this.recordId = str;
+          }
+        }
+    }
+
+
+    connectedCallback(){
+        console.log(this.recordId);
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            console.log(result);
+            if (result != null) {
+                this.ownerId = result.ownerId;
+                this.status = result.status;
+                this.userId = result.userId;
+                this.SIStoOPD();
+            }
+        }).catch(error => {
+            console.log("error");
+            console.log(error);
+        });
+
+    }
+
+    showToast(msg,type) {
+        const event = new ShowToastEvent({
+            title: '',
+            message: msg,
+            variant: type
+        });
+        this.dispatchEvent(event);
+    }
+
+
+    updateRecordView(recordId) {
+        updateRecord({fields: { Id: recordId }});
+    }
+
+    SIStoOPD () {
+        if(this.ownerId == this.userId && this.status == "鑽夋涓�") {
+            updateForSIStoOPDButton({
+                recordId: this.recordId
+            }).then(result=>{
+                console.log(result);
+                if(result){
+                    this.showToast(result,"error");
+                }else{
+                    this.showToast("鎴愬姛","success");
+                    this.updateRecordView(this.recordId);
+                }
+                this.IsLoading = false;
+                this.dispatchEvent(new CloseActionScreenEvent());
+            });              
+    } else {
+        this.showToast("鍙崏妗堜腑鐘舵�佸強OPD/SIS鎶ュ憡涔︾殑鎵�鏈変汉鍙互鎻愪氦","error");
+        this.dispatchEvent(new CloseActionScreenEvent());
+    }
+    
+}
+        // ifError(result){
+        //     console.log(result);
+        //     if(result){
+        //         this.showToast(result,"error");
+        //     }
+            
+        // }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSIStoOPD/lexSIStoOPD.js-meta.xml b/force-app/main/default/lwc/lexSIStoOPD/lexSIStoOPD.js-meta.xml
new file mode 100644
index 0000000..c307012
--- /dev/null
+++ b/force-app/main/default/lwc/lexSIStoOPD/lexSIStoOPD.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+     <apiVersion>54.0</apiVersion>
+	<isExposed>true</isExposed>
+	<targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSISubmit/lexSISubmit.html b/force-app/main/default/lwc/lexSISubmit/lexSISubmit.html
new file mode 100644
index 0000000..978fa09
--- /dev/null
+++ b/force-app/main/default/lwc/lexSISubmit/lexSISubmit.html
@@ -0,0 +1,5 @@
+<template>
+    <div class="submitHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSISubmit/lexSISubmit.js b/force-app/main/default/lwc/lexSISubmit/lexSISubmit.js
new file mode 100644
index 0000000..7b51ea2
--- /dev/null
+++ b/force-app/main/default/lwc/lexSISubmit/lexSISubmit.js
@@ -0,0 +1,97 @@
+import { LightningElement,wire,track,api} from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import updateForSubmitButton  from '@salesforce/apex/ReportController.updateForSubmitButton';
+import { updateRecord } from 'lightning/uiRecordApi';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+
+import init from '@salesforce/apex/ISOpportunityDemand.initISOpportunityController';
+import submit from '@salesforce/apex/ISOpportunityDemand.submit';
+
+export default class LexSiSubmit extends LightningElement {
+    @api recordId;
+    IsLoading = true;
+    @wire(CurrentPageReference)
+     getStateParameters(currentPageReference) {
+             console.log(111);
+             console.log(currentPageReference);
+
+         if (currentPageReference) {
+           const urlValue = currentPageReference.state.recordId;
+           if (urlValue) {
+             let str = `${urlValue}`;
+             console.log("str");
+             console.log(str);
+             this.recordId = str;
+           }
+         }
+     }
+
+     connectedCallback(){
+        this.IsLoading = false;
+        // this.submit();
+        init({recordId:this.recordId})
+        .then(result=>{
+            console.log("lexsubmit------>>>",result)
+            if (!confirm("涓�鏃︽彁浜ゆ璁板綍浠ュ緟鎵瑰噯锛屾牴鎹偍鐨勮缃偍鍙兘涓嶅啀鑳藉缂栬緫姝よ褰曟垨灏嗕粬浠庢壒鍑嗚繃绋嬩腑璋冨洖銆傛槸鍚︾户缁紵")) {
+              return;
+            }
+            if (result.checkTf !=true ) {
+              this.showToast('璇疯惀涓氭媴褰撴彁浜ゅ鎵�','error')
+              return;
+            }
+            //鐘舵�佷负缁堟鐨勪笉鑳芥彁浜ゅ鎵�
+            if(result.sodStatus == '00 宸茬粓姝�'){
+              this.showToast('闇�姹傝〃宸茬粓姝笉鑳芥彁浜ゅ鎵�','error')
+              return;
+            }
+
+            submit({recordId:this.recordId})
+            .then(res=>{
+              if(res != "1"){
+                errMsg = ''
+                if(res.faultstring !=undefined && res.faultstring.indexOf('INVALID_SESSION_ID') != -1) { 
+                    errMsg = '褰撳墠缃戦〉宸茬櫥鍑猴紝璇锋偍閲嶆柊鐧诲綍鍚庡埛鏂拌缃戦〉锛�'; 
+                } else { 
+                    errMsg = res.faultstring; 
+                }
+                errMsg && this.showToast(errMsg,'error')
+              }
+              console.log("submit---->>>",res)
+            })
+            .finally(()=>{
+              window.location.reload();
+            })
+        })
+        .catch(e=>{console.log(e)})
+        .finally(()=>{
+            this.dispatchEvent(new CloseActionScreenEvent());
+        })
+     }
+
+
+     showToast(msg,type) {
+      const event = new ShowToastEvent({
+          title: '',
+          message: msg,
+          variant: type
+      });
+      this.dispatchEvent(event);
+      this.dispatchEvent(new CloseActionScreenEvent());
+    }
+
+
+     updateRecordView(recordId) {
+        updateRecord({fields: { Id: recordId }});
+    }
+
+     submit(){
+        updateForSubmitButton({
+          recordId: this.recordId
+        }).then(result=>{
+          this.updateRecordView(this.recordId);
+          this.showToast("鎻愪氦鎴愬姛","success");
+          this.dispatchEvent(new CloseActionScreenEvent());
+        });
+     }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSISubmit/lexSISubmit.js-meta.xml b/force-app/main/default/lwc/lexSISubmit/lexSISubmit.js-meta.xml
new file mode 100644
index 0000000..329e839
--- /dev/null
+++ b/force-app/main/default/lwc/lexSISubmit/lexSISubmit.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSaleAndDelivery/lexSaleAndDelivery.css b/force-app/main/default/lwc/lexSaleAndDelivery/lexSaleAndDelivery.css
new file mode 100644
index 0000000..79456f2
--- /dev/null
+++ b/force-app/main/default/lwc/lexSaleAndDelivery/lexSaleAndDelivery.css
@@ -0,0 +1,22 @@
+.outerBorderCss{
+    border: 1px solid #D4D4D4;
+    border-radius : 5px;
+    border-top : 3px solid #565959;
+}
+.borderCss{
+    border: 1px solid #D4D4D4;
+    border-radius : 5px;
+    margin-bottom : 7px;
+    border-top : 3px solid #565959;
+}
+.headerDorderCss{
+    border-top: 1px solid #565959;
+    border-bottom: 1px solid #D4D4D4;
+    padding:3px;
+}
+.centerCss{
+    text-align: center;
+}
+.centerCss .left{
+    margin-left: 100px;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSaleAndDelivery/lexSaleAndDelivery.html b/force-app/main/default/lwc/lexSaleAndDelivery/lexSaleAndDelivery.html
new file mode 100644
index 0000000..da463c5
--- /dev/null
+++ b/force-app/main/default/lwc/lexSaleAndDelivery/lexSaleAndDelivery.html
@@ -0,0 +1,187 @@
+<!-- sldsValidatorIgnore -->
+<!-- sldsValidatorIgnore -->
+<template>
+    <div class="outerBorderCss">
+        <div style="padding:5px;">
+            <div class="borderCss">
+                <div style="padding:10px;">
+                    <div lwc:dom="manual" class="resultDiv"></div>
+                    <div draggable="false">
+                        <div class="slds-m-top_small slds-m-bottom_medium">
+                            <lightning-button label="鏂板缓鍑哄簱鍗�" onclick={neworderhead} class="slds-m-left_x-small"></lightning-button>
+                            <lightning-button label="涓婁紶宸插嚭搴撲竴瑙�" onclick={editProductLimit} class="slds-m-left_x-small"></lightning-button>
+                        </div>
+                    </div>
+                </div>
+            </div>
+
+            <div class="borderCss">
+                <div class="headerDorderCss">
+                    <p style="font-size: 16px;"><strong>妫�绱㈡潯浠�</strong></p>
+                </div>
+                <div style="padding:10px;">
+                    <div lwc:dom="manual" class="resultDiv"></div>
+                    <div draggable="false">
+                        <!-- <table>
+                            <colgroup>
+                                <col width="50px" />
+                                <col width="200px" />
+                                <col width="10px" />
+                                <col width="50px" />
+                                <col width="100px" />
+                                <col width="10px" />
+                                <col width="50px" />
+                                <col width="100px" />
+                                <col width="150px" />
+                                <col width="200px" />
+                                <col width="200px" />
+                                <col width="100px" />
+                            </colgroup>
+                            <tr>
+                                <td>鍑哄簱鏃�</td>
+                                <td><lightning-input type="date" variant="label-inline" label="浠�" onchange={dataChange} data-field ="deliveryFromDate" value={deliveryFromDate}></lightning-input></td>
+                                <td></td>
+                                <td>鍑哄簱鍗曞彿</td>
+                                <td><lightning-input type="text" name="deliveryOrderNo" label="deliveryOrderNo"
+                                        variant="label-hidden" onchange={dataChange} data-field ="deliveryOrderNo" value={deliveryOrderNo}></lightning-input></td>
+                                <td></td>
+                                <td>瀹㈡埛鍚�</td>
+                                <td><lightning-input type="text" name="contactName" label="contactName"
+                                        variant="label-hidden" onchange={dataChange} data-field ="contactName" value={contactName}></lightning-input></td>
+                                <td style="text-align: center;"><lightning-button label="杩樻病鍑哄簱鐨勫嚭搴撳崟" onclick={searchConsumableorderdetailsJs}></lightning-button>
+                                </td>
+                                <td style="text-align: center;"><lightning-button label="宸插嚭搴撴湭寮�绁ㄧ殑鍑哄簱鍗�" onclick={searchOrderInstatusJs}></lightning-button>
+                                </td>
+                                <td style="text-align: center;"><lightning-button label="宸插嚭搴撳凡寮�绁ㄧ殑鍑哄簱鍗�" onclick={searchConsumableorFinishJs}></lightning-button>
+                                </td>
+                                <td style="text-align: center;"><lightning-button label="娓呯┖" onclick={clearJs}></lightning-button></td>
+                            </tr>
+                            <tr>
+                                <td></td>
+                                <td><lightning-input type="date" name="toDataInput" variant="label-inline" label="鍒�" onchange={dataChange} data-field ="deliveryToDate" value={deliveryToDate}></lightning-input></td>
+                                <td></td>
+                                <td></td>
+                                <td></td>
+                                <td></td>
+                                <td></td>
+                                <td></td>
+                                <td></td>
+                                <td></td>
+                                <td></td>
+                                <td></td>
+                            </tr>
+                        </table> -->
+                        <lightning-layout multiple-rows>
+                            <lightning-layout-item flexibility="auto">
+                                <div class="slds-text-align_center">
+                                    <div class="slds-grid slds-grid_vertical-align-center">
+                                        <div class="slds-form-element__label">鍑哄簱鏃�&#12288;浠�</div>
+                                        <lightning-input type="date" variant="label-hidden" label="鍑哄簱鏃� 浠�"
+                                            onchange={dataChange} data-field="deliveryFromDate"
+                                            value={deliveryFromDate}></lightning-input>
+                                    </div>
+
+                                    </br>
+                                    <div class="slds-grid slds-grid_vertical-align-center">
+                                        <div class="slds-form-element__label">&#12288;&#12288;&#12288;&#12288;鍒�
+                                        </div>
+                                        <lightning-input type="date" variant="label-hidden" label="鍒�"
+                                            onchange={dataChange} data-field="deliveryToDate"
+                                            value={deliveryToDate}></lightning-input>
+                                    </div>
+                                </div>
+                            </lightning-layout-item>
+                            <lightning-layout-item flexibility="auto">
+                                <div class="slds-grid slds-grid_vertical-align-center">
+                                    <div class="slds-form-element__label">鍑哄簱鍗曞彿</div>
+                                    <lightning-input variant="label-hidden" label="鍑哄簱鍗曞彿" onchange={dataChange}
+                                        data-field="deliveryOrderNo" value={deliveryOrderNo}></lightning-input>
+                                </div>
+                            </lightning-layout-item>
+                            <lightning-layout-item flexibility="auto">
+                                <div class="slds-grid slds-grid_vertical-align-center">
+                                    <div class="slds-form-element__label">瀹㈡埛鍚�</div>
+                                    <lightning-input variant="label-hidden" label="瀹㈡埛鍚�" onchange={dataChange}
+                                        data-field="contactName" value={contactName}></lightning-input>
+                                </div>
+                            </lightning-layout-item>
+                            <lightning-layout-item flexibility="auto">
+                                <div class="slds-grid slds-grid_vertical-align-center">
+                                    <lightning-button label="杩樻病鍑哄簱鐨勫嚭搴撳崟" onclick={searchConsumableorderdetailsJs}></lightning-button>
+                                </div>
+                            </lightning-layout-item>
+                            <lightning-layout-item flexibility="auto">
+                                <div class="slds-grid slds-grid_vertical-align-center">
+                                    <lightning-button label="宸插嚭搴撴湭寮�绁ㄧ殑鍑哄簱鍗�" onclick={searchOrderInstatusJs}></lightning-button>
+                                </div>
+                            </lightning-layout-item>
+                            <lightning-layout-item flexibility="auto">
+                                <div class="slds-grid slds-grid_vertical-align-center">
+                                    <lightning-button label="宸插嚭搴撳凡寮�绁ㄧ殑鍑哄簱鍗�" onclick={searchConsumableorFinishJs}></lightning-button>
+                                </div>
+                            </lightning-layout-item>
+                            <lightning-layout-item flexibility="auto">
+                                <div class="slds-grid slds-grid_vertical-align-center">
+                                    <lightning-button label="娓呯┖" onclick={clearJs}></lightning-button>
+                                </div>
+                            </lightning-layout-item>
+                        </lightning-layout>
+                    </div>
+                </div>
+            </div>
+
+            <div class="borderCss">
+                <template if:true={isShowSpinner}>
+                    <lightning-spinner alternative-text="Loading" size="large"></lightning-spinner>
+                </template>
+                <div class="headerDorderCss">
+                    <p style="font-size: 16px;"><strong>鍑哄簱鍗曚竴瑙堣〃</strong><span> {message}</span></p>
+                </div>
+                <div style="padding:10px;">
+                    <!-- <div style="height: 300px;">
+                        <lightning-datatable
+                                key-field="id"
+                                data={data}
+                                columns={columns}
+                                hide-checkbox-column
+                                default-sort-direction={defaultSortDirection}
+                                sorted-direction={sortDirection}
+                                sorted-by={sortedBy}
+                                onsort={onHandleSort}>
+                        </lightning-datatable>
+                    </div> -->
+                    <template if:true={showTable}>
+                        <!-- <c-lwc-datatable-utility 
+                            hidecheckboxcolumn = {hidecheckboxcolumn}
+                            records={data} 
+                            total-records={data.length} 
+                            columns = {columns}a
+                            key-field="Id"
+                            show-search-box="true"            
+                            max-row-selection={data.length}
+                            onpaginatorchange={handlePaginatorChange}>
+                        </c-lwc-datatable-utility> -->
+                        <lightning-datatable
+                                key-field="id"
+                                data={data}
+                                columns={columns}
+                                hide-checkbox-column
+                                default-sort-direction={defaultSortDirection}
+                                sorted-direction={sortDirection}
+                                sorted-by={sortedBy}
+                                onsort={onHandleSort}>
+                        </lightning-datatable>
+                    </template>
+                    
+
+                    <!-- <c-my-custom-type-datatable
+                        key-field="Id"
+                        data={data}
+                        columns={columns}
+                        show-row-number-column>
+                    </c-my-custom-type-datatable> -->
+                </div>
+            </div>
+        </div>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSaleAndDelivery/lexSaleAndDelivery.js b/force-app/main/default/lwc/lexSaleAndDelivery/lexSaleAndDelivery.js
new file mode 100644
index 0000000..dbbf94c
--- /dev/null
+++ b/force-app/main/default/lwc/lexSaleAndDelivery/lexSaleAndDelivery.js
@@ -0,0 +1,415 @@
+import { LightningElement, wire, api, track } from 'lwc';
+import { NavigationMixin } from 'lightning/navigation';
+import init from '@salesforce/apex/LexSaleAndDeliveryController.init';
+import { ShowToastEvent } from "lightning/platformShowToastEvent";
+import searchOrderInstatus from '@salesforce/apex/LexSaleAndDeliveryController.searchOrderInstatus';
+import searchConsumableorderdetails from '@salesforce/apex/LexSaleAndDeliveryController.searchConsumableorderdetails';
+import searchConsumableorFinish from '@salesforce/apex/LexSaleAndDeliveryController.searchConsumableorFinish';
+
+const columns = [
+    { 
+        label: '鍑哄簱鏃�', 
+        fieldName: 'Outbound_Date__c', 
+        type: 'date',
+        initialWidth : 100, 
+        hideDefaultActions: true ,
+        sortable: true
+    },
+    { 
+        label: '鍑哄簱鍗曞彿', 
+        fieldName: 'url', 
+        type : 'url',
+        initialWidth : 175,
+        typeAttributes: {
+            label: {
+                fieldName: 'Name'
+            },
+            target: '_blank'
+        },
+        hideDefaultActions: true,
+        sortable: true 
+    },
+    { 
+        label: '瀹㈡埛鍚�', 
+        fieldName: 'ShipmentAccount__c', 
+        hideDefaultActions: true ,
+        wrapText:true,
+        sortable: true
+    },
+    { 
+        label: '绉戝', 
+        fieldName: 'Order_ForCustomerText__c', 
+        hideDefaultActions: true
+    },
+    { 
+        label: '鍑哄簱鍗曠姸鎬�', 
+        fieldName: 'SummonsStatus_c__c', 
+        hideDefaultActions: true ,
+        sortable: true,
+        initialWidth : 100
+    },
+    { 
+        label: '寮�绁ㄧ姸鎬�', 
+        fieldName: 'Billed_Status__c', 
+        hideDefaultActions: true,
+        sortable: true,
+        initialWidth : 100
+    },
+    { 
+        label: '鏈彂绁ㄩ噾棰�(鍏�)', 
+        fieldName: 'InvoiceNotPro_money__c', 
+        hideDefaultActions: true,
+        initialWidth : 150
+    },
+    { 
+        label: '鍒涘缓鏃ユ湡', 
+        fieldName: 'CreatedDate',
+        hideDefaultActions: true,
+        sortable: true ,
+        type: "date",
+        typeAttributes:{
+            year: "numeric",
+            month: "long",
+            day: "2-digit",
+            hour: "2-digit",
+            minute: "2-digit"
+        },
+        initialWidth : 200
+    }
+];
+
+const editColumns = [
+    { 
+        label: '鍑哄簱鏃�', 
+        fieldName: 'Outbound_Date__c', 
+        type: 'date', 
+        hideDefaultActions: true ,
+        sortable: true
+    },
+    { 
+        label: '鍑哄簱鍗曞彿', 
+        fieldName: 'url', 
+        type : 'url',
+        typeAttributes: {
+            label: {
+                fieldName: 'Name'
+            },
+            target: '_blank'
+        },
+        hideDefaultActions: true,
+        sortable: true 
+    },
+    { 
+        label: '瀹㈡埛鍚�', 
+        fieldName: 'ShipmentAccount__c', 
+        hideDefaultActions: true ,
+        sortable: true
+    },
+    { 
+        label: '绉戝', 
+        fieldName: 'Order_ForCustomerText__c', 
+        hideDefaultActions: true
+    },
+    { 
+        label: '鍑哄簱鍗曠姸鎬�', 
+        fieldName: 'SummonsStatus_c__c', 
+        hideDefaultActions: true ,
+        sortable: true,
+        initialWidth : 100
+    },
+    { 
+        label: '寮�绁ㄧ姸鎬�', 
+        fieldName: 'Billed_Status__c', 
+        hideDefaultActions: true,
+        sortable: true,
+        initialWidth : 100
+    },
+    { 
+        label: '鏈彂绁ㄩ噾棰�(鍏�)', 
+        fieldName: 'InvoiceNotPro_money__c', 
+        hideDefaultActions: true,
+        initialWidth : 150
+    },
+    { 
+        label: '鍒涘缓鏃ユ湡', 
+        fieldName: 'CreatedDate',
+        hideDefaultActions: true,
+        sortable: true 
+    },
+    // { 
+    //     label: '鍗曚綅', 
+    //     hideDefaultActions: true,
+    //     type:'customUnit',
+    // },
+    // { 
+    //     label: '鍑鸿揣鏁伴噺', 
+    //     hideDefaultActions: true,
+    //     type:'customShipment',
+        
+    // },
+    // { 
+    //     label: '鍑鸿揣鍗曚环(鍏�)', 
+    //     hideDefaultActions: true,
+    //     type:'customShipmentUnitPrice',
+        
+    // }
+];
+export default class LexSaleAndDelivery extends NavigationMixin(LightningElement) {
+    columns = columns;
+    @track isShowSpinner = true;
+    @track message = '';
+    @track deliveryFromDate = '';
+    @track deliveryToDate = '';
+    @track deliveryOrderNo = '';
+    @track contactName = '';
+    @track data = [];
+    @track userinfoId = '';
+    @track accountid = '';
+    @track agencyProType = '';
+    @track userWorkLocation = '';
+    @track showTable = false;
+    @track hidecheckboxcolumn = true;
+
+    //鎺掑簭
+    defaultSortDirection = 'asc';
+    sortDirection = 'asc';
+    sortedBy;
+
+    connectedCallback() {
+        init().then((r) => {
+            r = JSON.parse(JSON.stringify(r));
+            console.log('r = ' + JSON.stringify(r));
+            if (r.status == 'Success') {
+                this.userinfoId = r.entity.userinfoId;
+                this.accountid = r.entity.accountid;
+                this.agencyProType = r.entity.agencyProType;
+                this.userWorkLocation = r.entity.userWorkLocation;
+                this.data = r.entity.raesList;
+                for(var i in this.data){
+                    this.data[i]['url'] = '/s/lexsummonscreat?ESetid='+this.data[i].Id;
+                }
+                console.log('this.data = ' + JSON.stringify(this.data));
+                this.isShowSpinner = false;
+                this.showTable = true;
+            } else {
+                console.log('r = ' + JSON.stringify(r))
+                this.showToast('Error', r.msg);
+            }
+        }).catch((error) => {
+            console.log('error = ' + JSON.stringify(error))
+        })
+    }
+
+    //鏂板缓鍑哄簱鍗�
+    neworderhead(){
+        this[NavigationMixin.Navigate]({
+            type: 'standard__webPage',
+            attributes: {
+                url: '/lexsummonscreat'
+            }
+        });
+    }
+
+    //宸插嚭搴撴湭寮�绁ㄧ殑鍑哄簱鍗�
+    searchOrderInstatusJs() {
+        this.isShowSpinner = true;
+        this.showTable = false;
+        console.log('searchOrderInstatusJs');
+        searchOrderInstatus({
+            orderDate: this.deliveryFromDate,
+            deliverDate: this.deliveryToDate,
+            accountid: this.accountid,
+            agencyProType: this.agencyProType,
+            userWorkLocation: this.userWorkLocation,
+            category1: this.deliveryOrderNo,
+            category2: this.contactName
+        }).then((r) => {
+            r = JSON.parse(JSON.stringify(r));
+            console.log('r = ' + JSON.stringify(r));
+            if (r.status == 'Success') {
+                this.data = r.entity.raesList;
+                for(var i in this.data){
+                    this.data[i]['url'] = '/s/lexsummonscreat?ESetid='+this.data[i].Id;
+                }
+                this.message = r.msg;
+                if(this.message == '娌℃湁鎼滅储鍒扮浉鍏冲嚭搴撳崟銆�'){
+                    this.showToast('Error', this.message);
+                }else{
+                    this.showToast('Success', this.message);
+                }
+                this.isShowSpinner = false;
+                this.showTable = true;
+            } else {
+                this.showToast('Error', r.msg);
+            }
+        }).catch((error) => {
+            console.log('error = ' + JSON.stringify(error))
+        })
+    }
+
+    //杩樻病鍑哄簱鐨勫嚭搴撳崟
+    searchConsumableorderdetailsJs(){
+        this.isShowSpinner = true;
+        this.showTable = false;
+        console.log('searchConsumableorderdetailsJs');
+        searchConsumableorderdetails({
+            orderDate: this.deliveryFromDate,
+            deliverDate: this.deliveryToDate,
+            accountid: this.accountid,
+            agencyProType: this.agencyProType,
+            userWorkLocation: this.userWorkLocation,
+            category1: this.deliveryOrderNo,
+            category2: this.contactName
+        }).then((r) => {
+            r = JSON.parse(JSON.stringify(r));
+            console.log('r = ' + JSON.stringify(r));
+            if (r.status == 'Success') {
+                this.data = r.entity.raesList;
+                for(var i in this.data){
+                    this.data[i]['url'] = '/s/lexsummonscreat?ESetid='+this.data[i].Id;
+                }
+                this.message = r.msg;
+                if(this.message == '娌℃湁鎼滅储鍒扮浉鍏冲嚭搴撳崟銆�'){
+                    this.showToast('Error', this.message);
+                }else{
+                    this.showToast('Success', this.message);
+                }
+                this.isShowSpinner = false;
+                this.showTable = true;
+            } else {
+                this.showToast('Error', r.msg);
+            }
+        }).catch((error) => {
+            console.log('error = ' + JSON.stringify(error))
+        })
+    }
+
+    //宸插嚭搴撳凡寮�绁ㄧ殑鍑哄簱鍗�
+    searchConsumableorFinishJs(){
+        this.isShowSpinner = true;
+        this.showTable = false;
+        console.log('searchConsumableorFinishJs');
+        searchConsumableorFinish({
+            orderDate: this.deliveryFromDate,
+            deliverDate: this.deliveryToDate,
+            accountid: this.accountid,
+            agencyProType: this.agencyProType,
+            userWorkLocation: this.userWorkLocation,
+            category1: this.deliveryOrderNo,
+            category2: this.contactName
+        }).then((r) => {
+            r = JSON.parse(JSON.stringify(r));
+            console.log('r = ' + JSON.stringify(r));
+            if (r.status == 'Success') {
+                this.data = r.entity.raesList;
+                for(var i in this.data){
+                    this.data[i]['url'] = '/s/lexsummonscreat?ESetid='+this.data[i].Id;
+                }
+                this.message = r.msg;
+                if(this.message == '娌℃湁鎼滅储鍒扮浉鍏冲嚭搴撳崟銆�'){
+                    this.showToast('Error', this.message);
+                }else{
+                    this.showToast('Success', this.message);
+                }
+                this.isShowSpinner = false;
+                this.showTable = true;
+            } else {
+                this.showToast('Error', r.msg);
+            }
+        }).catch((error) => {
+            console.log('error = ' + JSON.stringify(error))
+        })
+    }
+
+    //娓呯┖
+    clearJs() {
+        this.deliveryFromDate = '';
+        this.deliveryToDate = '';
+        this.deliveryOrderNo = '';
+        this.contactName = '';
+    }
+
+    //Capture the event fired from the paginator component
+    handlePaginatorChange(event){
+        this.recordsToDisplay = event.detail.recordsToDisplay;
+        this.preSelected = event.detail.preSelected;
+        if(this.recordsToDisplay && this.recordsToDisplay > 0){
+            this.rowNumberOffset = this.recordsToDisplay[0].rowNumber-1;
+        }else{
+            this.rowNumberOffset = 0;
+        } 
+    } 
+
+    //鎺掑簭
+    onHandleSort(event) {
+        const { fieldName: sortedBy, sortDirection } = event.detail;
+        const cloneData = [...this.data];
+        cloneData.sort(this.sortBy(sortedBy, sortDirection === 'asc' ? 1 : -1));
+        this.data = cloneData;
+        this.sortDirection = sortDirection;
+        this.sortedBy = sortedBy;
+    }
+
+    sortBy(field, reverse, primer) {
+        const key = primer
+            ? function (x) {
+                  return primer(x[field]);
+              }
+            : function (x) {
+                  return x[field];
+              };
+
+        return function (a, b) {
+            a = key(a);
+            b = key(b);
+            return reverse * ((a > b) - (b > a));
+        };
+    }
+
+
+    dataChange(event) {
+        let fieldName = event.target.getAttribute("data-field");
+        let value = event.detail.value;
+        switch (fieldName) {
+            case 'deliveryFromDate':
+                this.deliveryFromDate = value;
+                break
+            case 'deliveryToDate':
+                this.deliveryToDate = value;
+                break
+            case 'deliveryOrderNo':
+                this.deliveryOrderNo = value;
+                break
+            case 'contactName':
+                this.contactName = value;
+                break
+            default:
+                console.log('no data');
+        }
+
+    }
+
+    editProductLimit(){
+        this[NavigationMixin.Navigate]({
+            type: 'standard__webPage',
+            attributes: {
+                url: '/lexoutboundorderimport'
+            }
+        });
+    }
+
+    showToast(type, msg) {
+        this.isShowSpinner = false;
+        const event = new ShowToastEvent({
+            title: type,
+            variant: type,
+            message: msg
+        });
+        this.dispatchEvent(event);
+    }
+
+    @track isModalOpen = false;
+    openModal(){
+        this.isModalOpen = true;
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSaleAndDelivery/lexSaleAndDelivery.js-meta.xml b/force-app/main/default/lwc/lexSaleAndDelivery/lexSaleAndDelivery.js-meta.xml
new file mode 100644
index 0000000..d893635
--- /dev/null
+++ b/force-app/main/default/lwc/lexSaleAndDelivery/lexSaleAndDelivery.js-meta.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>56.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightningCommunity__Page</target>
+        <target>lightningCommunity__Default</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSaleAndDelivery/templates/boxorpieceType.html b/force-app/main/default/lwc/lexSaleAndDelivery/templates/boxorpieceType.html
new file mode 100644
index 0000000..8e1a0ae
--- /dev/null
+++ b/force-app/main/default/lwc/lexSaleAndDelivery/templates/boxorpieceType.html
@@ -0,0 +1,4 @@
+<template>
+    <c-boxorpiece-type
+    custom-value-a={typeAttributes.customValueA}></c-boxorpiece-type>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSearchProduct/lexSearchProduct.css b/force-app/main/default/lwc/lexSearchProduct/lexSearchProduct.css
new file mode 100644
index 0000000..66e75cb
--- /dev/null
+++ b/force-app/main/default/lwc/lexSearchProduct/lexSearchProduct.css
@@ -0,0 +1,6 @@
+/*iframelike {
+            color: #fff;
+            height: 300px;
+            overflow-y: auto;
+            overflow-x: hidden;
+        }*/
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSearchProduct/lexSearchProduct.html b/force-app/main/default/lwc/lexSearchProduct/lexSearchProduct.html
new file mode 100644
index 0000000..2007e47
--- /dev/null
+++ b/force-app/main/default/lwc/lexSearchProduct/lexSearchProduct.html
@@ -0,0 +1,76 @@
+<template>
+<!-- <apex:page id="Page" standardController="Product2" extensions="SearchProductController" sidebar="false" showHeader="false"  > -->
+   
+   
+    
+<!--     <apex:outputPanel id="all">
+        <apex:outputPanel id="message1">
+            <apex:messages styleClass="editListError"/>
+        </apex:outputPanel> -->
+        <form id="mainForm">
+            <h2 class="slds-text-heading_medium slds-m-bottom_medium">
+                {Label.Product_Search}
+                </h2>
+                <lightning-input type="hidden" ></lightning-input>
+                <table width="900" border="0" style="background-color:#DCDCDC">
+                    <colgroup>
+                        <col width="12" />
+                        <col width="20" />
+                        <col width="20" />
+                        <col width="200" />
+                        <col width="20" />
+                        <col width="428" />
+                    </colgroup>
+                    <tr>
+                        <td>&nbsp;</td>
+                        <th>{Label.Search_Condition}</th>
+                        <td>&nbsp;</td>
+                        <th>{Label.Asset_No}</th>
+                        <td>&nbsp;</td>
+                        <td>&nbsp;</td>
+                    </tr>
+                    <tr>
+                        <td>&nbsp;</td>
+                        <td>&nbsp;</td>
+                        <td>&nbsp;</td>
+                        <td><lightning-input  onchange={getInput} >
+                            </lightning-input></td>
+                        <td><lightning-button  onclick={serContact} variant="brand-outline" ></lightning-button></td>
+                        <td>&nbsp;<lightning-button   onclick={setProductList}></lightning-button></td>
+                    </tr>
+                    <tr>
+                        <td style="border-bottom: 1px solid #888;" colspan="15">&nbsp;</td>
+                    </tr>
+                </table>
+
+
+
+
+
+                
+                <table width="900" border="0" style="background-color:#DCDCDC">
+                    <tr>
+                        <td width="12">&nbsp;</td>
+                        <th valign="top">{Label.Search_Result}</th>
+                        <td width="20">&nbsp;</td>
+                        <td>
+                            <table border="0">
+                                <tr>
+                                    <td>
+                                    <div id="iframelike" style="width:800px">
+                                    <lightning-datatable 
+                                            key-field="id"
+                                            data={data}
+                                            columns={columns}>
+                                    </lightning-datatable>
+                                    </div>
+                                    </td>
+                                </tr>
+                            </table>
+                        </td>
+                    </tr>
+                </table>
+            
+        </form>
+
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSearchProduct/lexSearchProduct.js b/force-app/main/default/lwc/lexSearchProduct/lexSearchProduct.js
new file mode 100644
index 0000000..13a010d
--- /dev/null
+++ b/force-app/main/default/lwc/lexSearchProduct/lexSearchProduct.js
@@ -0,0 +1,500 @@
+import { LightningElement, track, wire ,api} from 'lwc';
+
+import blockUIcss from '@salesforce/resourceUrl/blockUIcss';
+import jquery183minjs from '@salesforce/resourceUrl/jquery183minjs';
+import PleaseWaitDialog from '@salesforce/resourceUrl/PleaseWaitDialog';
+
+
+
+// import getCl  from "@salesforce/apex/SearchProductController.getCl";
+
+
+import Product_Search from '@salesforce/label/c.Product_Search';
+import Search_Condition from '@salesforce/label/c.Search_Condition';
+import Asset_No  from '@salesforce/label/c.Asset_No';
+import Search  from '@salesforce/label/c.Search';
+import Add_Product  from '@salesforce/label/c.Add_Product';
+import Search_Result  from '@salesforce/label/c.Search_Result';
+import Selected  from '@salesforce/label/c.Selected';
+import SFDA_Status  from '@salesforce/label/c.SFDA_Status';
+import ListPrice_In  from '@salesforce/label/c.ListPrice_In';
+import ListPrice_Out  from '@salesforce/label/c.ListPrice_Out';
+import Unit  from '@salesforce/label/c.Unit';
+
+const columns = [
+    { label: '閫夋嫨', fieldName: 'Selected'  },
+    { label: '浜у搧鍨嬪彿', fieldName: 'Asset_No' },
+    { label: '浜у搧缂栫爜', fieldName: '{!$ObjectType.Product2.fields.OT_CODE_no_link__c.Label}' },
+    { label: '浜у搧鍚嶇О', fieldName: 'Product_Name' },
+    { label: '閫傜敤绉戝', fieldName: '{!$ObjectType.Product2.fields.suitDepartment__c.Label}' },
+    { label: '浠f浛浜у搧', fieldName: '{!$ObjectType.Product2.fields.Alternative_Products__c.Label}' },
+    { label: 'NMPA鐘舵��', fieldName: 'SFDA_Status', },
+    { label: 'ListPrice锛堝唴璐革級', fieldName: 'ListPrice_Out' },
+    { label: 'ListPrice锛堝璐革級', fieldName: 'ListPrice_In' },
+    { label: '瑙勬牸', fieldName: 'Specifications' },
+
+];
+export default class lexSearchProduct extends LightningElement {
+
+
+    Label = {
+        Product_Search,
+        Search_Condition,
+        Asset_No,
+        Search,
+        Add_Product,
+        Search_Result,
+        Selected,
+        SFDA_Status,
+        ListPrice_In,
+        ListPrice_Out,
+        Unit
+    }
+
+
+
+
+    @api recordId;
+    IsLoading=true;
+    inputData;
+	data = [];
+    columns = columns;
+
+    connectedCallback(){
+        // const data = getCl();
+        // this.data = data;
+    }
+
+
+
+    getInput(event){
+        this.inputData=event.detail.value;
+
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+     
+        // var QuoteEntryMaxLine = window.opener.QuoteEntryMaxLine;
+        setProductList() {
+            var nextLine = top.window.opener.getLastLineNoNext(window.opener.document);
+            var hasCheckedCnt = 0;
+            var checklist = j$("input[name='checklist']");
+            for(var i=0; i<checklist.length; i++){
+                if (checklist[i].checked) {
+                    hasCheckedCnt++;
+                    //HWAG-BLWB9F 璇环鎶ヤ环锛氬骞翠繚浜у搧鏈櫥褰曡鎻愰噾棰濇椂涓嶅彲鎶ヤ环 绮剧悽鎶�鏈�  20200224 start
+                     var Intra_Trade_Gurantee_RMB = j$(escapeVfId("Page:mainForm:idSearchSetProduct:idRezultVisitor:"+ i +":Intra_Trade_Gurantee_RMB__c")).val();
+                     var GuranteeType = j$(escapeVfId("Page:mainForm:idSearchSetProduct:idRezultVisitor:"+ i +":GuranteeType")).val();
+
+                     //鏄惁鐧诲綍鎶ヤ环
+                     var Estimation_Entry_Possibility =j$(escapeVfId("Page:mainForm:idSearchSetProduct:idRezultVisitor:"+ i +":Estimation_Entry_Possibility")).val();
+                     //鍐呰锤鎴愭湰
+                     var CostFlag = j$(escapeVfId("Page:mainForm:idSearchSetProduct:idRezultVisitor:"+ i +":CostFlag")).val();
+
+                     //鍐呭璐�
+                     var trade = window.opener.j$(escapeVfId("Page:mainForm:block:CurrencyIsoCode")).val();
+
+                     //鍐呰锤鎶ヤ环閲戦
+                     var Intra_Trade_List_RMB__c = j$(escapeVfId("Page:mainForm:idSearchSetProduct:idRezultVisitor:"+ i +":Intra_Trade_List_RMB__c")).text();
+                     //澶栬锤鎶ヤ环閲戦
+                     var Foreign_Trade_List_US__c = j$(escapeVfId("Page:mainForm:idSearchSetProduct:idRezultVisitor:"+ i +":Foreign_Trade_List_US__c")).text();
+                     //澶栬锤鎴愭湰
+                     var Foreign_Trade_Cost_US__c = j$(escapeVfId("Page:mainForm:idSearchSetProduct:idRezultVisitor:"+ i +":Foreign_Trade_Cost_US__c")).val();
+
+                     //澶栬锤澶氬勾淇� 鍙栦骇鍝佷富鏁版嵁涓婄殑閲戦浠ュ強鎶ヤ环 绮剧悽鎶�鏈� wql  start 
+                     var Intra_Trade_Gurantee_USD = j$(escapeVfId("Page:mainForm:idSearchSetProduct:idRezultVisitor:"+ i +":Intra_Trade_Gurantee_USD__c")).val();
+
+                     var Intra_Trade_Service_USD = j$(escapeVfId("Page:mainForm:idSearchSetProduct:idRezultVisitor:"+ i +":Intra_Trade_Service_USD__c")).val();
+
+                     var Maintenance_Price_Year_USD = j$(escapeVfId("Page:mainForm:idSearchSetProduct:idRezultVisitor:"+ i +":Maintenance_Price_Year_USD__c")).val();
+                     //澶栬锤澶氬勾淇� 鍙栦骇鍝佷富鏁版嵁涓婄殑閲戦浠ュ強鎶ヤ环 绮剧悽鎶�鏈� wql  end
+
+
+                     //鍐呰锤
+                      if(trade == "CNY") {
+                        //WLIG-BXVB6M 銆愬鎵樸�戙�愮揣鎬ャ�戝彇娑堟姤浠峰崟涓骞翠繚璁℃彁閲戦涓�0鐨勬鏌� 绮剧悽鎶�鏈� 2021/02/03 start 
+                        // if((GuranteeType == '甯傚満'||GuranteeType == '鏈嶅姟' ) &&Intra_Trade_Gurantee_RMB <=0){
+                           
+                        //     alert('澶氬勾淇濅骇鍝佹湭鐧诲綍璁℃彁閲戦鏃朵笉鍙姤浠�!');
+                        // }else
+                        //WLIG-BXVB6M 銆愬鎵樸�戙�愮揣鎬ャ�戝彇娑堟姤浠峰崟涓骞翠繚璁℃彁閲戦涓�0鐨勬鏌� 绮剧悽鎶�鏈� 2021/02/03 end
+                        if(Estimation_Entry_Possibility == 'true'){
+                            alert('浜у搧鏈櫥褰曟姤浠锋椂涓嶅彲鎶ヤ环!');
+                        }else if(CostFlag == 'true'){
+                            alert('浜у搧鐨勬垚鏈负绌烘椂涓嶅彲鎶ヤ环锛�');
+                        }else if(Intra_Trade_List_RMB__c == ''||Intra_Trade_List_RMB__c<0){
+                            alert('浜у搧鐨勬姤浠烽噾棰濅负绌烘椂涓嶅彲鎶ヤ环锛�');
+                        }else{
+                            if (nextLine < QuoteEntryMaxLine) {
+                                    SetProductId(nextLine, i);
+                                    nextLine++;
+                                 } else {
+                                         alert('Over Max Line ' + QuoteEntryMaxLine);
+                                             return false;
+                            }
+                        }
+                        //澶栬锤
+                      }else if(trade == "USD"){
+                        //WLIG-BXVB6M 銆愬鎵樸�戙�愮揣鎬ャ�戝彇娑堟姤浠峰崟涓骞翠繚璁℃彁閲戦涓�0鐨勬鏌� 绮剧悽鎶�鏈� 2021/02/03 start 
+                        //澶栬锤澶氬勾淇� 澧炲姞鍒ゆ柇鍚屽唴璐� 绮剧悽鎶�鏈� wql 2021/01/21 start
+                        // if((GuranteeType == '甯傚満'||GuranteeType == '鏈嶅姟' ) &&Intra_Trade_Gurantee_USD <=0){
+                           
+                        //     alert('澶氬勾淇濅骇鍝佹湭鐧诲綍璁℃彁閲戦鏃朵笉鍙姤浠�!');
+                        // }else
+                        //WLIG-BXVB6M 銆愬鎵樸�戙�愮揣鎬ャ�戝彇娑堟姤浠峰崟涓骞翠繚璁℃彁閲戦涓�0鐨勬鏌� 绮剧悽鎶�鏈� 2021/02/03 end 
+                        if(Estimation_Entry_Possibility == 'true'){
+                            alert('浜у搧鏈櫥褰曟姤浠锋椂涓嶅彲鎶ヤ环!');
+                        } 
+                        //澶栬锤澶氬勾淇� 澧炲姞鍒ゆ柇鍚屽唴璐� 绮剧悽鎶�鏈� wql 2021/01/21 end
+                        else if(Foreign_Trade_List_US__c ==''||Foreign_Trade_List_US__c<0 ){
+                                alert('浜у搧鐨勬姤浠烽噾棰濅负绌烘椂涓嶅彲鎶ヤ环锛�');
+                            }else if(Foreign_Trade_Cost_US__c == ''||Foreign_Trade_Cost_US__c<0){
+                                 alert('浜у搧鐨勬垚鏈负绌烘椂涓嶅彲鎶ヤ环锛�');
+                            }else{
+                                if (nextLine < QuoteEntryMaxLine) {
+                                    SetProductId(nextLine, i);
+                                    nextLine++;
+                                 } else {
+                                         alert('Over Max Line ' + QuoteEntryMaxLine);
+                                             return false;
+                            }
+                            }
+                      }
+
+                    
+                    //HWAG-BLWB9F 璇环鎶ヤ环锛氬骞翠繚浜у搧鏈櫥褰曡鎻愰噾棰濇椂涓嶅彲鎶ヤ环 绮剧悽鎶�鏈�  20200224 end
+                }
+            }
+            if (hasCheckedCnt == 0) {
+                alert(top.window.opener.Error_Message34);
+                return false;
+            }
+            top.window.opener.calPriceAll();
+            top.window.close();
+        }
+        setProductOne(lineno, i) {
+            //lineno = getLastLineNo();
+            //HWAG-BLWB9F 璇环鎶ヤ环锛氬骞翠繚浜у搧鏈櫥褰曡鎻愰噾棰濇椂涓嶅彲鎶ヤ环 绮剧悽鎶�鏈�  20200224 start
+            var Intra_Trade_Gurantee_RMB = j$(escapeVfId("Page:mainForm:idSearchSetProduct:idRezultVisitor:"+ i +":Intra_Trade_Gurantee_RMB__c")).val();
+            var GuranteeType = j$(escapeVfId("Page:mainForm:idSearchSetProduct:idRezultVisitor:"+ i +":GuranteeType")).val();
+            //鏄惁鐧诲綍鎶ヤ环
+            var Estimation_Entry_Possibility =j$(escapeVfId("Page:mainForm:idSearchSetProduct:idRezultVisitor:"+ i +":Estimation_Entry_Possibility")).val();
+            //鍐呰锤鎴愭湰
+             var CostFlag = j$(escapeVfId("Page:mainForm:idSearchSetProduct:idRezultVisitor:"+ i +":CostFlag")).val();
+              //鍐呭璐�
+             var trade = window.opener.j$(escapeVfId("Page:mainForm:block:CurrencyIsoCode")).val();
+
+             //鍐呰锤鎶ヤ环閲戦
+             var Intra_Trade_List_RMB__c = j$(escapeVfId("Page:mainForm:idSearchSetProduct:idRezultVisitor:"+ i +":Intra_Trade_List_RMB__c")).text();
+             //澶栬锤鎶ヤ环閲戦
+             var Foreign_Trade_List_US__c = j$(escapeVfId("Page:mainForm:idSearchSetProduct:idRezultVisitor:"+ i +":Foreign_Trade_List_US__c")).text();
+             //澶栬锤鎴愭湰
+             var Foreign_Trade_Cost_US__c = j$(escapeVfId("Page:mainForm:idSearchSetProduct:idRezultVisitor:"+ i +":Foreign_Trade_Cost_US__c")).val();  
+             //澶栬锤澶氬勾淇� 鍙栦骇鍝佷富鏁版嵁涓婄殑閲戦浠ュ強鎶ヤ环 绮剧悽鎶�鏈� wql  start 
+             var Intra_Trade_Gurantee_USD = j$(escapeVfId("Page:mainForm:idSearchSetProduct:idRezultVisitor:"+ i +":Intra_Trade_Gurantee_USD__c")).val();
+
+             var Intra_Trade_Service_USD = j$(escapeVfId("Page:mainForm:idSearchSetProduct:idRezultVisitor:"+ i +":Intra_Trade_Service_USD__c")).val();
+
+             var Maintenance_Price_Year_USD = j$(escapeVfId("Page:mainForm:idSearchSetProduct:idRezultVisitor:"+ i +":Maintenance_Price_Year_USD__c")).val();
+             //澶栬锤澶氬勾淇� 鍙栦骇鍝佷富鏁版嵁涓婄殑閲戦浠ュ強鎶ヤ环 绮剧悽鎶�鏈� wql  end
+
+             //鍐呰锤
+              if(trade == "CNY") {
+                //WLIG-BXVB6M 銆愬鎵樸�戙�愮揣鎬ャ�戝彇娑堟姤浠峰崟涓骞翠繚璁℃彁閲戦涓�0鐨勬鏌� 绮剧悽鎶�鏈� 2021/02/03 start 
+                // if((GuranteeType == '甯傚満'||GuranteeType == '鏈嶅姟' ) &&Intra_Trade_Gurantee_RMB <=0){
+                   
+                //     alert('澶氬勾淇濅骇鍝佹湭鐧诲綍璁℃彁閲戦鏃朵笉鍙姤浠�!');
+                // }else 
+                //WLIG-BXVB6M 銆愬鎵樸�戙�愮揣鎬ャ�戝彇娑堟姤浠峰崟涓骞翠繚璁℃彁閲戦涓�0鐨勬鏌� 绮剧悽鎶�鏈� 2021/02/03 end 
+                if(Estimation_Entry_Possibility == 'true'){
+                    alert('浜у搧鏈櫥褰曟姤浠锋椂涓嶅彲鎶ヤ环!');
+                }else if(CostFlag == 'true'){
+                    alert('浜у搧鐨勬垚鏈负绌烘椂涓嶅彲鎶ヤ环锛�');
+                }else if(Intra_Trade_List_RMB__c == ''||Intra_Trade_List_RMB__c<0){
+                    alert('浜у搧鐨勬姤浠烽噾棰濅负绌烘椂涓嶅彲鎶ヤ环锛�');
+                }else{
+                     SetProductId(lineno, i);
+                }
+                //澶栬锤
+              }else if(trade == "USD"){
+              //澶栬锤澶氬勾淇� 澧炲姞鍒ゆ柇鍚屽唴璐� 绮剧悽鎶�鏈� wql 2021/01/21 start 
+              //WLIG-BXVB6M 銆愬鎵樸�戙�愮揣鎬ャ�戝彇娑堟姤浠峰崟涓骞翠繚璁℃彁閲戦涓�0鐨勬鏌� 绮剧悽鎶�鏈� 2021/02/03 start 
+              // if((GuranteeType == '甯傚満'||GuranteeType == '鏈嶅姟' ) &&Intra_Trade_Gurantee_USD <=0){
+                   
+              //       alert('澶氬勾淇濅骇鍝佹湭鐧诲綍璁℃彁閲戦鏃朵笉鍙姤浠�!');
+              //   }else 
+              //WLIG-BXVB6M 銆愬鎵樸�戙�愮揣鎬ャ�戝彇娑堟姤浠峰崟涓骞翠繚璁℃彁閲戦涓�0鐨勬鏌� 绮剧悽鎶�鏈� 2021/02/03 end 
+                if(Estimation_Entry_Possibility == 'true'){
+                    alert('浜у搧鏈櫥褰曟姤浠锋椂涓嶅彲鎶ヤ环!');
+                }
+              //澶栬锤澶氬勾淇� 澧炲姞鍒ゆ柇鍚屽唴璐� 绮剧悽鎶�鏈� wql 2021/01/21 end 
+                else if(Foreign_Trade_List_US__c ==''||Foreign_Trade_List_US__c<0 ){
+                        alert('浜у搧鐨勬姤浠烽噾棰濅负绌烘椂涓嶅彲鎶ヤ环锛�');
+                    }else if(Foreign_Trade_Cost_US__c == ''||Foreign_Trade_Cost_US__c<0){
+                         alert('浜у搧鐨勬垚鏈负绌烘椂涓嶅彲鎶ヤ环锛�');
+                    }else{
+                         SetProductId(lineno, i);
+                    }
+              }
+           //HWAG-BLWB9F 璇环鎶ヤ环锛氬骞翠繚浜у搧鏈櫥褰曡鎻愰噾棰濇椂涓嶅彲鎶ヤ环 绮剧悽鎶�鏈�  20200224 end
+            top.window.opener.calPriceAll();
+            top.window.close();
+        }
+        SetProductId(lineno, i) {
+            var Asset_Model_No__c = j$(escapeVfId("Page:mainForm:idSearchSetProduct:idRezultVisitor:"+ i +":Asset_Model_No__c")).text();
+            var Product2Id = j$(escapeVfId("Page:mainForm:idSearchSetProduct:idRezultVisitor:"+ i +":Product_Id")).val();
+            var SFDA_Status__c = j$(escapeVfId("Page:mainForm:idSearchSetProduct:idRezultVisitor:"+ i +":SFDA_Status__c")).text();
+            var SFDA_Status = j$(escapeVfId("Page:mainForm:idSearchSetProduct:idRezultVisitor:"+ i +":SFDA_Status")).val();
+
+            //SFDC鍋滄棰勮锛堥璁℃秷鑰楀埌鏈熸棩锛� lt 20210929 add start
+            var Estimated_ConsumptionDueDate__c = j$(escapeVfId("Page:mainForm:idSearchSetProduct:idRezultVisitor:"+ i +":Estimated_ConsumptionDueDate")).text();
+            //SFDC鍋滄棰勮锛堥璁℃秷鑰楀埌鏈熸棩锛� lt 20210929 add end
+
+            var name = j$(escapeVfId("Page:mainForm:idSearchSetProduct:idRezultVisitor:"+ i +":Name")).text();
+            var Intra_Trade_List_RMB__c = j$(escapeVfId("Page:mainForm:idSearchSetProduct:idRezultVisitor:"+ i +":Intra_Trade_List_RMB__c")).text();
+            var Foreign_Trade_List_US__c = j$(escapeVfId("Page:mainForm:idSearchSetProduct:idRezultVisitor:"+ i +":Foreign_Trade_List_US__c")).text();
+            var NameCode = j$(escapeVfId("Page:mainForm:idSearchSetProduct:idRezultVisitor:"+ i +":NameCode")).val();
+            var Sales_Possibility = j$(escapeVfId("Page:mainForm:idSearchSetProduct:idRezultVisitor:"+ i +":Sales_Possibility")).val();
+            var Intra_Trade_Cost_RMB__c = j$(escapeVfId("Page:mainForm:idSearchSetProduct:idRezultVisitor:"+ i +":Intra_Trade_Cost_RMB__c")).val();
+            var Foreign_Trade_Cost_US__c = j$(escapeVfId("Page:mainForm:idSearchSetProduct:idRezultVisitor:"+ i +":Foreign_Trade_Cost_US__c")).val();
+            var Packing_list_manual__c = j$(escapeVfId("Page:mainForm:idSearchSetProduct:idRezultVisitor:"+ i +":Specifications")).value();
+            var Bsscategory = j$(escapeVfId("Page:mainForm:idSearchSetProduct:idRezultVisitor:"+ i +":Bsscategory")).val();
+            var PricebookEntryId = j$(escapeVfId("Page:mainForm:idSearchSetProduct:idRezultVisitor:"+ i +":PricebookEntryId")).val();
+            var trade = window.opener.j$(escapeVfId("Page:mainForm:block:CurrencyIsoCode")).val();
+            var StorageStatus__c = j$(escapeVfId("Page:mainForm:idSearchSetProduct:idRezultVisitor:"+ i +":StorageStatus__c")).val();
+            //澶栬锤澶氬勾淇� 鍙栦骇鍝佷富鏁版嵁涓婄殑閲戦浠ュ強鎶ヤ环 绮剧悽鎶�鏈� wql  start 
+             var Intra_Trade_Gurantee_USD = j$(escapeVfId("Page:mainForm:idSearchSetProduct:idRezultVisitor:"+ i +":Intra_Trade_Gurantee_USD__c")).val();
+
+             var Intra_Trade_Service_USD = j$(escapeVfId("Page:mainForm:idSearchSetProduct:idRezultVisitor:"+ i +":Intra_Trade_Service_USD__c")).val();
+
+             var Maintenance_Price_Year_USD = j$(escapeVfId("Page:mainForm:idSearchSetProduct:idRezultVisitor:"+ i +":Maintenance_Price_Year_USD__c")).val();
+             //澶栬锤澶氬勾淇� 鍙栦骇鍝佷富鏁版嵁涓婄殑閲戦浠ュ強鎶ヤ环 绮剧悽鎶�鏈� wql  end
+            // Packing_list_manual__c = parseFloat(Packing_list_manual__c).toFixed(1);
+
+            //搴撳瓨鐘舵��
+            window.opener.j$(escapeVfId("Page:mainForm:block:lists:"+ lineno +":Storagestatustext")).text(StorageStatus__c);
+
+            window.opener.j$(escapeVfId("Page:mainForm:block:lists:"+ lineno +":Storagestatus")).val(StorageStatus__c);
+
+            //No
+            window.opener.j$(escapeVfId("Page:mainForm:block:lists:"+ lineno +":indexNo")).text(parseInt(lineno)+1);
+
+            //瑁藉搧鍨嬬暘
+            window.opener.j$(escapeVfId("Page:mainForm:block:lists:"+ lineno +":Assert")).val(Asset_Model_No__c);
+
+             //Status__c
+            window.opener.j$(escapeVfId("Page:mainForm:block:lists:"+ lineno +":Status__c")).text(SFDA_Status__c);
+            
+            //SFDC鍋滄棰勮锛堥璁℃秷鑰楀埌鏈熸棩锛� lt 20210929 add start
+            window.opener.j$(escapeVfId("Page:mainForm:block:lists:"+ lineno +":Estimated_ConsumptionDueDate")).text(Estimated_ConsumptionDueDate__c);
+            window.opener.j$(escapeVfId("Page:mainForm:block:lists:"+ lineno +":Estimated_ConsumptionDueDate1")).text(Estimated_ConsumptionDueDate__c);
+            //SFDC鍋滄棰勮锛堥璁℃秷鑰楀埌鏈熸棩锛� lt 20210929 add end
+
+            //SFDA hidden
+            window.opener.j$(escapeVfId("Page:mainForm:block:lists:"+ lineno +":SFDA")).val(SFDA_Status);
+
+            window.opener.j$(escapeVfId("Page:mainForm:block:lists:"+ lineno +":Specifications")).val(Packing_list_manual__c);
+
+            //鍝佺洰鍚�
+            var baseUrl = window.opener.j$(escapeVfId("Page:mainForm:block:baseUrl")).val();
+            window.opener.j$(escapeVfId("Page:mainForm:block:lists:"+ lineno +":Nametext1")).attr("href", baseUrl + "/" + Product2Id);
+            window.opener.j$(escapeVfId("Page:mainForm:block:lists:"+ lineno +":Nametext1")).text(name);
+            //鍝佺洰鍚峢idden
+            window.opener.j$(escapeVfId("Page:mainForm:block:lists:"+ lineno +":Name__c")).val(name);
+
+            //ListPrice
+            var ListPrice = 0;
+            var Cost_c = 0;
+            //澶氬勾淇濅慨 start
+            var Extend_new_product_gurantee = j$(escapeVfId("Page:mainForm:idSearchSetProduct:idRezultVisitor:"+ i +":Extend_new_product_gurantee__c")).val();
+
+            var Extend_new_product_gurantee_MD = j$(escapeVfId("Page:mainForm:idSearchSetProduct:idRezultVisitor:"+ i +":Extend_new_product_gurantee_MD__c")).val();
+
+            var GuranteeType = j$(escapeVfId("Page:mainForm:idSearchSetProduct:idRezultVisitor:"+ i +":GuranteeType")).val();
+
+            var Entend_gurantee_period_all = j$(escapeVfId("Page:mainForm:idSearchSetProduct:idRezultVisitor:"+ i +":Entend_gurantee_period_all__c")).val();
+            var Intra_Trade_Gurantee_RMB = j$(escapeVfId("Page:mainForm:idSearchSetProduct:idRezultVisitor:"+ i +":Intra_Trade_Gurantee_RMB__c")).val();
+
+            var Intra_Trade_Service_RMB = j$(escapeVfId("Page:mainForm:idSearchSetProduct:idRezultVisitor:"+ i +":Intra_Trade_Service_RMB__c")).val();
+
+            var Maintenance_Price_Year  = j$(escapeVfId("Page:mainForm:idSearchSetProduct:idRezultVisitor:"+ i +":Maintenance_Price_Year__c")).val();
+            // 渚涘簲鍟嗗悕绉� 
+            var VenderName = j$(escapeVfId("Page:mainForm:idSearchSetProduct:idRezultVisitor:"+ i +":VenderName")).val();
+            //涓嶅彲鍙栨秷澶氬勾淇�
+            var CanNotCancelledGurantee = j$(escapeVfId("Page:mainForm:idSearchSetProduct:idRezultVisitor:"+ i +":CanNotCancelledGurantee")).val();
+
+            //闃胯タ璧涘
+            var Is_DangerousChemicals = j$(escapeVfId("Page:mainForm:idSearchSetProduct:idRezultVisitor:"+ i +":Is_DangerousChemicals")).val();
+
+            var ProductGuranteePrice = 0;
+            var ProductServicePrice = 0;
+            var productMaintenance_Price_Year = 0;
+            //澶氬勾淇濅慨 end
+            if(trade == "CNY") {
+               //澶氬勾淇濅慨 start
+               ProductGuranteePrice                  = Intra_Trade_Gurantee_RMB;
+               ProductServicePrice                   = Intra_Trade_Service_RMB;
+               productMaintenance_Price_Year         = Maintenance_Price_Year;
+               //澶氬勾淇濅慨 end
+               ListPrice = Intra_Trade_List_RMB__c;
+               Cost_c = Intra_Trade_Cost_RMB__c;
+
+            } else if(trade == "USD"){
+               //澶氬勾淇濅慨 start
+               //澶栬锤澶氬勾淇� 鍙栦骇鍝佷富鏁版嵁涓婄殑閲戦 浠ュ強 鎶ヤ环 绮剧悽鎶�鏈� wql start
+               ProductGuranteePrice                  = Intra_Trade_Gurantee_USD;
+               ProductServicePrice                   = Intra_Trade_Service_USD;
+               productMaintenance_Price_Year         = Maintenance_Price_Year_USD;
+               //澶栬锤澶氬勾淇� 鍙栦骇鍝佷富鏁版嵁涓婄殑閲戦 浠ュ強 鎶ヤ环 绮剧悽鎶�鏈� wql end
+               //澶氬勾淇濅慨 end
+               ListPrice = Foreign_Trade_List_US__c;
+               Cost_c = Foreign_Trade_Cost_US__c;
+            }
+            Cost_c = top.window.opener.toNum(Cost_c);
+            ListPrice = top.window.opener.toNum(ListPrice);
+            window.opener.j$(escapeVfId("Page:mainForm:block:lists:"+ lineno +":ListPricetext")).text(top.window.opener.toNumComma(ListPrice));
+            //ListPrice hidden
+            window.opener.j$(escapeVfId("Page:mainForm:block:lists:"+ lineno +":ListPrice")).val(ListPrice);
+
+            //鏁伴噺
+            window.opener.j$(escapeVfId("Page:mainForm:block:lists:"+ lineno +":Quantity")).val(1);
+
+            //渚℃牸
+            window.opener.j$(escapeVfId("Page:mainForm:block:lists:"+ lineno +":UnitPrice")).val(top.window.opener.toNumComma(ListPrice));
+
+            //瑙勬牸
+            window.opener.j$(escapeVfId("Page:mainForm:block:lists:"+ lineno +":Specifications")).text(Packing_list_manual__c);
+
+            //灏忚▓
+            window.opener.j$(escapeVfId("Page:mainForm:block:lists:"+ lineno +":TotalPrice")).text(top.window.opener.toNumComma(ListPrice));
+
+            //Subtotal__c hidden
+            window.opener.j$(escapeVfId("Page:mainForm:block:lists:"+ lineno +":Subtotal__c")).val(ListPrice);
+
+            //NameCode hidden
+            window.opener.j$(escapeVfId("Page:mainForm:block:lists:"+ lineno +":NameCode")).val(NameCode);
+
+            //Specifications hidden
+            window.opener.j$(escapeVfId("Page:mainForm:block:lists:"+ lineno +":Product_Specifications")).val(Packing_list_manual__c);
+
+            //Product_Name hidden
+            window.opener.j$(escapeVfId("Page:mainForm:block:lists:"+ lineno +":Product_Name")).val(name);
+
+            //SFDC鍋滄棰勮锛堥璁℃秷鑰楀埌鏈熸棩锛� lt 20210929 add start
+            //浜у搧 棰勮娑堣�楁棩
+            window.opener.j$(escapeVfId("Page:mainForm:block:lists:"+ lineno +":Estimated_ConsumptionDueDate")).val(Estimated_ConsumptionDueDate__c);
+            window.opener.j$(escapeVfId("Page:mainForm:block:lists:"+ lineno +":Estimated_ConsumptionDueDate1")).val(Estimated_ConsumptionDueDate__c);
+            MarkRedFLG(lineno,Estimated_ConsumptionDueDate__c);
+            //SFDC鍋滄棰勮锛堥璁℃秷鑰楀埌鏈熸棩锛� lt 20210929 add end
+
+            //Product_SFDA hidden
+            window.opener.j$(escapeVfId("Page:mainForm:block:lists:"+ lineno +":Product_SFDA")).val(SFDA_Status__c);
+
+            //Sales_Possibility hidden
+            window.opener.j$(escapeVfId("Page:mainForm:block:lists:"+ lineno +":Sales_Possibility")).val(Sales_Possibility);
+
+            //Product_ListPrice hidden
+            window.opener.j$(escapeVfId("Page:mainForm:block:lists:"+ lineno +":Product_ListPrice")).val(ListPrice);
+
+            //Product_Cost hidden
+            window.opener.j$(escapeVfId("Page:mainForm:block:lists:"+ lineno +":Product_Cost")).val(Cost_c);
+
+            //Cost hidden
+            window.opener.j$(escapeVfId("Page:mainForm:block:lists:"+ lineno +":Cost")).val(Cost_c);
+
+            //CostSubTotal hidden Cost_c * Quantity;
+            window.opener.j$(escapeVfId("Page:mainForm:block:lists:"+ lineno +":CostSubTotal")).val(Cost_c);
+
+            //Bsscategory hidden
+            window.opener.j$(escapeVfId("Page:mainForm:block:lists:"+ lineno +":Bsscategory")).val(Bsscategory);
+
+            //Product_Id hidden
+            window.opener.j$(escapeVfId("Page:mainForm:block:lists:"+ lineno +":Product_Id")).val(Product2Id);
+
+            //PricebookEntryId hidden
+            window.opener.j$(escapeVfId("Page:mainForm:block:lists:"+ lineno +":PricebookEntryId")).val(PricebookEntryId);
+
+            //lineNo hidden
+            window.opener.j$(escapeVfId("Page:mainForm:block:lists:"+ lineno +":lineNo")).val(parseInt(lineno));
+            // 澶氬勾淇濅慨 2019/07/25 start
+            window.opener.j$(escapeVfId("Page:mainForm:block:lists:"+ lineno
+                +":ProductEntend_gurantee_period_all__c")).val(Entend_gurantee_period_all);
+
+            // 缁翠慨鍚堝悓鎶ヤ环
+            window.opener.j$(escapeVfId("Page:mainForm:block:lists:"+ lineno
+                +":Maintenance_Price_Year__c")).val(productMaintenance_Price_Year);
+            // 鏈�鏂扮淮淇悎鍚屾姤浠�
+            window.opener.j$(escapeVfId("Page:mainForm:block:lists:"+ lineno
+                +":latestMaintenance_Price_Year")).val(productMaintenance_Price_Year);
+            window.opener.j$(escapeVfId("Page:mainForm:block:lists:"+ lineno
+                +":GuranteeType")).val(GuranteeType);
+            // 渚涘簲鍟嗗悕绉�
+            window.opener.j$(escapeVfId("Page:mainForm:block:lists:"+ lineno
+                +":VenderName")).text(VenderName);
+            window.opener.j$(escapeVfId("Page:mainForm:block:lists:"+ lineno
+                +":VenderName__c")).val(VenderName);
+            //涓嶅彲鍙栨秷澶氬勾淇�
+            
+            window.opener.j$(escapeVfId("Page:mainForm:block:lists:"+ lineno
+                +":CanNotCancelledGurantee__c")).val(CanNotCancelledGurantee);
+
+            //闃胯タ璧涘
+            
+            window.opener.j$(escapeVfId("Page:mainForm:block:lists:"+ lineno
+                +":Is_DangerousChemicals__c")).val(Is_DangerousChemicals);
+
+            if(VenderName != 'OSH'&&VenderName != ''){
+                window.opener.j$(escapeVfId('Page:mainForm:block:lists:'+lineno+':UnitPrice')).attr('disabled','disabled');
+            }
+            window.opener.j$(escapeVfId("Page:mainForm:block:lists:"+ lineno
+                + ":ProductGuranteePrice__c")).val(ProductGuranteePrice);
+            window.opener.j$(escapeVfId("Page:mainForm:block:lists:"+ lineno
+                + ":productServicePrice__c")).val(ProductServicePrice);
+            // 澶氬勾淇濅慨 2019/07/25 end
+        }
+
+        // //SFDC鍋滄棰勮 lt 20211008 start
+        MarkRedFLG(lineno,Estimated_ConsumptionDueDate__c){
+            
+            //鑾峰彇褰撳墠鏃ユ湡(currentdate)
+            var date1 = new Date();
+            var seperator = "/";
+            var year = date1.getFullYear();
+            var month = date1.getMonth() + 1;
+            var day = date1.getDate();
+            if (month >= 1 && month <= 9) {
+                month = "0" + month;
+            }
+            if (day >= 0 && day <= 9) {
+                day = "0" + day;
+            }
+            var currentdate = year + seperator + month + seperator + day;
+
+            //棰勮娑堣�楀埌鏈熸棩  -  褰撳墠鏃�  鐩稿樊澶╂暟(difDate)
+            var ndate = new Date(currentdate);
+            var nowDate = ndate.getTime();
+            var edate = new Date(Estimated_ConsumptionDueDate__c);
+            var endDate = edate.getTime();
+            var difDate = (endDate - nowDate)/((1000 * 60 * 60 * 24));
+
+            //鍒ゆ柇
+            if(difDate < 90){
+                window.opener.document.getElementById('Page:mainForm:block:lists:' + lineno + ':Estimated_ConsumptionDueDate').style.color = "red";
+            }
+        }
+        //SFDC鍋滄棰勮 lt 20211008 end
+    
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSearchProduct/lexSearchProduct.js-meta.xml b/force-app/main/default/lwc/lexSearchProduct/lexSearchProduct.js-meta.xml
new file mode 100644
index 0000000..5308418
--- /dev/null
+++ b/force-app/main/default/lwc/lexSearchProduct/lexSearchProduct.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lexSearchProduct">
+    <apiVersion>51.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightning__RecordPage</target>
+        <target>lightning__AppPage</target>
+        <target>lightning__HomePage</target>
+        <target>lightning__RecordAction</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSearchProductCs/lexSearchProductCs.css b/force-app/main/default/lwc/lexSearchProductCs/lexSearchProductCs.css
new file mode 100644
index 0000000..2815dd2
--- /dev/null
+++ b/force-app/main/default/lwc/lexSearchProductCs/lexSearchProductCs.css
@@ -0,0 +1,6 @@
+/*#iframelike {
+     color: #fff;
+     height: 300px;
+     overflow-y: auto;
+     overflow-x: hidden;
+}*/
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSearchProductCs/lexSearchProductCs.html b/force-app/main/default/lwc/lexSearchProductCs/lexSearchProductCs.html
new file mode 100644
index 0000000..5cd6879
--- /dev/null
+++ b/force-app/main/default/lwc/lexSearchProductCs/lexSearchProductCs.html
@@ -0,0 +1,70 @@
+<template>
+        <form id="mainForm">
+          
+             
+                 <h2 class="slds-text-heading_medium slds-m-bottom_medium">
+                {Label.Product_Search}
+                </h2>
+                <lightning-input type="hidden"  id="Trade"  > </lightning-input>
+                <table width="1000" border="0" style="background-color:#DCDCDC">
+                    <colgroup>
+                        <col width="12" />
+                        <col width="20" />
+                        <col width="20" />
+                        <col width="200" />
+                        <col width="20" />
+                        <col width="428" />
+                    </colgroup>
+                    <tr>
+                        <td>&nbsp;</td>
+                        <th>{Label.Search_Condition}</th>
+                        <td>&nbsp;</td>
+                        <th>{Label.Asset_No}</th>
+                        <td>&nbsp;</td>
+                        <td>&nbsp;</td>
+                    </tr>
+                    <tr>
+                        <td>&nbsp;</td>
+                        <td>&nbsp;</td>
+                        <td>&nbsp;</td>
+                        <td><lightning-input id="searchName" onchange={getInputData}   >
+                        </lightning-input></td>
+
+                        <td><lightning-button variant="brand-outline" value={Label.Search} onclick={serContact}  ></lightning-button></td>
+                        <td>&nbsp;<lightning-button variant="brand-outline" value={Label.Add_Product} onclick={setProductList}></lightning-button></td>
+                    </tr>
+                    <tr>
+                        <td style="border-bottom: 1px solid #888;" colspan="15">&nbsp;</td>
+                    </tr>
+                </table>
+                <table width="1000" border="0" style="background-color:#DCDCDC">
+                    <tr>
+                        <td width="12">&nbsp;</td>
+                        <th valign="top">{Label.Search_Result}</th>
+                        <td width="20">&nbsp;</td>
+                        <td>
+                            <table border="0">
+                                <tr>
+                                    <td>
+                                        <div id="iframelike" style="width:900px">
+
+
+
+                                            <lightning-datatable 
+                                            key-field="id"
+                                            data={data}
+                                            columns={columns} >
+                                            </lightning-datatable>
+
+
+                                        </div>
+                                    </td>
+                                </tr>
+                            </table>
+                        </td>
+                    </tr>
+                </table>
+            
+        </form>
+    <!-- </apex:outputPanel> -->
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSearchProductCs/lexSearchProductCs.js b/force-app/main/default/lwc/lexSearchProductCs/lexSearchProductCs.js
new file mode 100644
index 0000000..61c7e05
--- /dev/null
+++ b/force-app/main/default/lwc/lexSearchProductCs/lexSearchProductCs.js
@@ -0,0 +1,279 @@
+import { LightningElement, track, wire,api } from 'lwc';
+import { loadStyle, loadScript } from 'lightning/platformResourceLoader'
+import blockUIcss from '@salesforce/resourceUrl/blockUIcss';
+import jquery183minjs from '@salesforce/resourceUrl/jquery183minjs';
+import PleaseWaitDialog from '@salesforce/resourceUrl/PleaseWaitDialog';
+
+
+
+import getData from'@salesforce/apex/LexSearchProductCsController.getData';
+
+import Product_Search from '@salesforce/label/c.Product_Search';
+import Search_Condition from '@salesforce/label/c.Search_Condition';
+import Asset_No  from '@salesforce/label/c.Asset_No';
+import Search  from '@salesforce/label/c.Search';
+import Add_Product  from '@salesforce/label/c.Add_Product';
+import Search_Result  from '@salesforce/label/c.Search_Result';
+import Selected  from '@salesforce/label/c.Selected';
+import SFDA_Status  from '@salesforce/label/c.SFDA_Status';
+import ListPrice_In  from '@salesforce/label/c.ListPrice_In';
+import ListPrice_Out  from '@salesforce/label/c.ListPrice_Out';
+import Unit  from '@salesforce/label/c.Unit';
+
+
+const columns = [
+    { label: '閫夋嫨', fieldName: 'Selected' },
+    { label: '浜у搧鍨嬪彿', fieldName: 'Asset_Model_No__c' },
+    { label: '浜у搧缂栫爜', fieldName: 'OT_CODE_no_link__c' },
+    { label: '浜у搧鍚嶇О', fieldName: 'Name' },
+    { label: '浠f浛浜у搧', fieldName: 'Alternative_Products__c' },
+    { label: 'NMPA鐘舵��', fieldName: 'SFDA_Status__c' },
+    { label: '璁惧/鑰楁潗鍖哄垎', fieldName: 'Serial_Lot_No__c' },
+    { label: '澶囧搧绠$悊绫诲埆', fieldName: 'Asset_loaner_category__c' },
+    { label: 'ListPrice锛堝唴璐革級', fieldName: 'Intra_Trade_List_RMB__c' },
+    { label: 'ListPrice锛堝璐革級', fieldName: 'Foreign_Trade_List_US__c' },
+    { label: '鍗曚綅', fieldName: 'Qty_Unit__c' },
+                ];
+
+export default class lexSearchProductCs extends LightningElement {
+
+	Label = {
+		Product_Search,
+		Search_Condition,
+		Asset_No,
+		Search,
+		Add_Product,
+		Search_Result,
+		Selected,
+		SFDA_Status,
+		ListPrice_In,
+		ListPrice_Out,
+		Unit
+	}
+
+    @api recordId;
+    dataList=[];
+    IsLoading=true;
+    columns = columns;
+    inputData;
+    ProductLine;
+
+
+    // @wire(CurrentPageReference)
+    // getStateParameters(currentPageReference){
+    //     if(currentPageReference) {
+    //         const urlValue = currentPageReference.state.recordId;
+    //         if(urlValue) {
+    //             let str = `${urlValue}`;
+    //             this.recordId = str;
+    //         }
+    //     }
+    // }
+
+
+    async connectedCallback(){
+
+
+        console.log('杩涘叆callback');
+        // var vlData=new Array();
+        // vlData  = await getData();
+        // if(vlData.size>0){
+        //     this.data=vlData;
+        //     console.log('keyi')
+        //     // console.log(vlData[0]);
+        // }
+        // else{
+        //     console.log('getCs鏂规硶杩斿洖闀垮害涓�0');
+        // }
+        
+        
+    }
+
+
+
+
+    async serContact(event){
+        console.log('into serContact')
+        var search = this.inputData;
+        console.log(search);
+        var trade='CNY';
+
+        var vlData=new Array();
+        console.log('vlData');
+        await getData({SearchName:search,trade:trade}).then(result=>{
+            this.IsLoading=false;
+            this.ProductLine=result;
+            console.log(result);
+            console.log(this.ProductLine[0]);
+            console.log(this.ProductLine[0].pbe.Product2.Asset_Model_No__c);
+            this.DataInColumn();
+        }).catch(error=>{
+            console.log(error);
+        })
+        
+
+    }
+
+
+
+    getInputData(event){
+        this.inputData=event.detail.value;
+
+    }
+
+    DataInColumn(){
+        console.log('in DataInColumn')
+        for(var  i=0;i<this.ProductLine.length-1;i++){
+            this.dataList[i]= [this.ProductLine[i].pbe.Product2];
+            console.log(this.dataList[i]);
+        }
+        
+
+    }
+
+
+
+	    // setProductList(event) {
+     //            var nextLine = top.window.opener.getLastLineNoNext(window.opener.document);
+     //            var hasCheckedCnt = 0;
+     //            var checklist = j$("input[name='checklist']");
+     //            for(var i=0; i<checklist.length; i++){
+     //                if (checklist[i].checked) {
+     //                    hasCheckedCnt++;
+     //                    if (nextLine < 150) {
+     //                    	console.log('杩涘叆setProductList');
+     //                        SetProductId(nextLine, i);
+     //                        nextLine++;
+     //                    }
+     //                }
+     //            }
+     //            if (hasCheckedCnt == 0) {
+     //                alert(top.window.opener.Error_Message34);
+     //                console.log('hasCheckedCnt==0');
+     //            }
+     //            top.window.opener.calPriceAll(window.opener.document);
+     //            top.window.close();
+     //    }
+     //    setProductOne(lineno, i) {
+     //        //lineno = getLastLineNo();
+     //        SetProductId(lineno, i);
+     //        top.window.opener.calPriceAll(window.opener.document);
+     //        top.window.close();
+     //    }
+     //    SetProductId(lineno, i) {
+     //        var Asset_Model_No__c = j$(escapeVfId("Page:mainForm:idSearchSetProduct:idRezultVisitor:"+ i +":Asset_Model_No__c")).text();
+     //        var Product2Id = j$(escapeVfId("Page:mainForm:idSearchSetProduct:idRezultVisitor:"+ i +":Product_Id")).val();
+     //        var SFDA_Status__c = j$(escapeVfId("Page:mainForm:idSearchSetProduct:idRezultVisitor:"+ i +":SFDA_Status__c")).text();
+     //        var Serial_Lot_No__c = j$(escapeVfId("Page:mainForm:idSearchSetProduct:idRezultVisitor:"+ i +":Serial_Lot_No__c")).text();
+     //        var Asset_loaner_category__c = j$(escapeVfId("Page:mainForm:idSearchSetProduct:idRezultVisitor:"+ i +":Asset_loaner_category__c")).text();
+     //        var name = j$(escapeVfId("Page:mainForm:idSearchSetProduct:idRezultVisitor:"+ i +":Name")).text();
+     //        var Intra_Trade_List_RMB__c = j$(escapeVfId("Page:mainForm:idSearchSetProduct:idRezultVisitor:"+ i +":Intra_Trade_List_RMB__c")).text();
+     //        var Foreign_Trade_List_US__c = j$(escapeVfId("Page:mainForm:idSearchSetProduct:idRezultVisitor:"+ i +":Foreign_Trade_List_US__c")).text();
+     //        var NameCode = j$(escapeVfId("Page:mainForm:idSearchSetProduct:idRezultVisitor:"+ i +":NameCode")).val();
+     //        var Sales_Possibility = j$(escapeVfId("Page:mainForm:idSearchSetProduct:idRezultVisitor:"+ i +":Sales_Possibility")).val();
+     //        var Intra_Trade_Cost_RMB__c = j$(escapeVfId("Page:mainForm:idSearchSetProduct:idRezultVisitor:"+ i +":Intra_Trade_Cost_RMB__c")).val();
+     //        var Foreign_Trade_Cost_US__c = j$(escapeVfId("Page:mainForm:idSearchSetProduct:idRezultVisitor:"+ i +":Foreign_Trade_Cost_US__c")).val();
+     //        var Bsscategory = j$(escapeVfId("Page:mainForm:idSearchSetProduct:idRezultVisitor:"+ i +":Bsscategory")).val();
+     //        var PricebookEntryId = j$(escapeVfId("Page:mainForm:idSearchSetProduct:idRezultVisitor:"+ i +":PricebookEntryId")).val();
+     //        var trade = window.opener.j$(escapeVfId("Page:mainForm:block:CurrencyIsoCode")).val();
+     //        var Packing_list_manual__c = j$(escapeVfId("Page:mainForm:idSearchSetProduct:idRezultVisitor:"+ i +":Packing_list_manual__c")).val();
+     //        // 鍚屾⒈鏁板繀銇氥亗銈嬶紵
+     //        if (Packing_list_manual__c == null || Packing_list_manual__c <= 0) {
+     //            Packing_list_manual__c = 1;
+     //        }
+            
+     //        //No
+     //        window.opener.j$(escapeVfId("Page:mainForm:block:lists:"+ lineno +":indexNo")).text(parseInt(lineno)+1);
+
+     //        //瑁藉搧鍨嬬暘
+     //        window.opener.j$(escapeVfId("Page:mainForm:block:lists:"+ lineno +":Assert")).val(Asset_Model_No__c);
+            
+     //        //Serial/Lot鍖哄垎
+     //        window.opener.j$(escapeVfId("Page:mainForm:block:lists:"+ lineno +":Serial_Lot")).text(Serial_Lot_No__c);
+            
+     //        //璧勪骇/鑰楁潗
+     //        window.opener.j$(escapeVfId("Page:mainForm:block:lists:"+ lineno +":Asset_loaner_category")).text(Asset_loaner_category__c);
+ 
+     //         //Status__c
+     //        window.opener.j$(escapeVfId("Page:mainForm:block:lists:"+ lineno +":Status__c")).text(SFDA_Status__c);
+     //        //SFDA hidden
+     //        window.opener.j$(escapeVfId("Page:mainForm:block:lists:"+ lineno +":SFDA")).val(SFDA_Status__c);
+            
+     //        //鍝佺洰鍚�
+     //        var baseUrl = window.opener.j$(escapeVfId("Page:mainForm:block:baseUrl")).val();
+     //        window.opener.j$(escapeVfId("Page:mainForm:block:lists:"+ lineno +":Nametext1")).attr("href", baseUrl + "/" + Product2Id);
+     //        window.opener.j$(escapeVfId("Page:mainForm:block:lists:"+ lineno +":Nametext1")).text(name);
+     //        //鍝佺洰鍚峢idden
+     //        window.opener.j$(escapeVfId("Page:mainForm:block:lists:"+ lineno +":Name__c")).val(name);
+            
+     //        //鍚屾崋鏁�
+     //        window.opener.j$(escapeVfId("Page:mainForm:block:lists:"+ lineno +":Packing_list_manual")).text(Packing_list_manual__c);
+
+     //        //ListPrice
+     //        var ListPrice = 0;
+     //        var Cost_c = 0;
+     //        if(trade == "CNY") {
+     //           ListPrice = Intra_Trade_List_RMB__c;
+     //           Cost_c = Intra_Trade_Cost_RMB__c;
+     //        } else if(trade == "USD"){
+     //           ListPrice = Foreign_Trade_List_US__c;
+     //           Cost_c = Foreign_Trade_Cost_US__c;
+     //        }
+     //        Cost_c = top.window.opener.toNum(Cost_c);
+     //        ListPrice = top.window.opener.toNum(ListPrice);
+     //        window.opener.j$(escapeVfId("Page:mainForm:block:lists:"+ lineno +":ListPricetext")).text(top.window.opener.toNumComma(ListPrice));
+     //        //ListPrice hidden
+     //        window.opener.j$(escapeVfId("Page:mainForm:block:lists:"+ lineno +":ListPrice")).val(ListPrice);
+
+     //        //鏁伴噺 
+     //        window.opener.j$(escapeVfId("Page:mainForm:block:lists:"+ lineno +":Quantity")).val(1);
+            
+     //        //渚℃牸
+     //        window.opener.j$(escapeVfId("Page:mainForm:block:lists:"+ lineno +":UnitPrice")).val(top.window.opener.toNumComma(ListPrice));
+
+     //        //鍗樹綅
+     //        window.opener.j$(escapeVfId("Page:mainForm:block:lists:"+ lineno +":Qty")).text();
+            
+     //        window.opener.j$(escapeVfId("Page:mainForm:block:lists:"+ lineno +":ListPriceTotalText")).text(top.window.opener.toNumComma(ListPrice));
+            
+     //        //ListPriceTotal hidden
+     //        window.opener.j$(escapeVfId("Page:mainForm:block:lists:"+ lineno +":ListPriceTotal")).val(ListPrice);
+
+     //        //NameCode hidden
+     //        window.opener.j$(escapeVfId("Page:mainForm:block:lists:"+ lineno +":NameCode")).val(NameCode);
+            
+     //        //Product_Name hidden
+     //        window.opener.j$(escapeVfId("Page:mainForm:block:lists:"+ lineno +":Product_Name")).val(name);
+            
+     //        //Product_SFDA hidden
+     //        window.opener.j$(escapeVfId("Page:mainForm:block:lists:"+ lineno +":Product_SFDA")).val(SFDA_Status__c);
+            
+     //        //Sales_Possibility hidden
+     //        window.opener.j$(escapeVfId("Page:mainForm:block:lists:"+ lineno +":Sales_Possibility")).val(Sales_Possibility);
+            
+     //        //Product_ListPrice hidden
+     //        window.opener.j$(escapeVfId("Page:mainForm:block:lists:"+ lineno +":Product_ListPrice")).val(ListPrice);
+            
+     //        //Product_Cost hidden
+     //        window.opener.j$(escapeVfId("Page:mainForm:block:lists:"+ lineno +":Product_Cost")).val(Cost_c);
+            
+     //        //Cost hidden
+     //        window.opener.j$(escapeVfId("Page:mainForm:block:lists:"+ lineno +":Cost")).val(Cost_c);
+            
+     //        //CostSubTotal hidden Cost_c * Quantity;
+     //        window.opener.j$(escapeVfId("Page:mainForm:block:lists:"+ lineno +":CostSubTotal")).val(Cost_c);
+            
+     //        //Bsscategory hidden
+     //        window.opener.j$(escapeVfId("Page:mainForm:block:lists:"+ lineno +":Bsscategory")).val(Bsscategory);
+            
+     //        //Product_Id hidden
+     //        window.opener.j$(escapeVfId("Page:mainForm:block:lists:"+ lineno +":Product_Id")).val(Product2Id);
+            
+     //        //PricebookEntryId hidden
+     //        window.opener.j$(escapeVfId("Page:mainForm:block:lists:"+ lineno +":PricebookEntryId")).val(PricebookEntryId);
+            
+     //        //lineNo hidden
+     //        window.opener.j$(escapeVfId("Page:mainForm:block:lists:"+ lineno +":lineNo")).val(parseInt(lineno));
+     //    }
+
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSearchProductCs/lexSearchProductCs.js-meta.xml b/force-app/main/default/lwc/lexSearchProductCs/lexSearchProductCs.js-meta.xml
new file mode 100644
index 0000000..96e6590
--- /dev/null
+++ b/force-app/main/default/lwc/lexSearchProductCs/lexSearchProductCs.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lexSearchProductCs">
+    <apiVersion>51.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightning__RecordPage</target>
+        <target>lightning__AppPage</target>
+        <target>lightning__HomePage</target>
+        <target>lightning__RecordAction</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSelectAssetsMaintenance/lexSelectAssetsMaintenance.html b/force-app/main/default/lwc/lexSelectAssetsMaintenance/lexSelectAssetsMaintenance.html
new file mode 100644
index 0000000..d044dbb
--- /dev/null
+++ b/force-app/main/default/lwc/lexSelectAssetsMaintenance/lexSelectAssetsMaintenance.html
@@ -0,0 +1,5 @@
+<template>
+    <div class="exampleHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSelectAssetsMaintenance/lexSelectAssetsMaintenance.js b/force-app/main/default/lwc/lexSelectAssetsMaintenance/lexSelectAssetsMaintenance.js
new file mode 100644
index 0000000..21cb5c4
--- /dev/null
+++ b/force-app/main/default/lwc/lexSelectAssetsMaintenance/lexSelectAssetsMaintenance.js
@@ -0,0 +1,53 @@
+import {
+    LightningElement,
+    wire,
+    api
+} from 'lwc';
+import {
+    CurrentPageReference
+} from "lightning/navigation";
+import {
+    CloseActionScreenEvent
+} from 'lightning/actions';
+import init from '@salesforce/apex/otherButtonMaintenanceContractCtl.init';
+
+export default class LexSelectAssetsMaintenance extends LightningElement {
+    @api recordId;
+    str;
+    IsLoading = true;
+    Id;
+
+    @wire(CurrentPageReference)
+    getStateParameters(currentPageReference) {
+        if (currentPageReference) {
+            const urlValue = currentPageReference.state.recordId;
+            if (urlValue) {
+                let str = `${urlValue}`;
+                this.recordId = str;
+            }
+        }
+    }
+
+    connectedCallback() {
+        console.log(this.recordId);
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            console.log(result);
+            if (result != null) {
+                this.IsLoading = false;
+                this.Id = result.Id;
+
+                this.SelectAssets();
+                this.dispatchEvent(new CloseActionScreenEvent());
+            }
+        }).catch(error => {
+            console.log(error);
+        })
+    }
+
+    // 銈点兗銉撱偣濂戠磩瀵捐薄瑁藉搧鐧婚尣	
+    SelectAssets() {
+        window.open("/apex/SelectAsset?targetContractId=" + this.Id, "_top");
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSelectAssetsMaintenance/lexSelectAssetsMaintenance.js-meta.xml b/force-app/main/default/lwc/lexSelectAssetsMaintenance/lexSelectAssetsMaintenance.js-meta.xml
new file mode 100644
index 0000000..3392981
--- /dev/null
+++ b/force-app/main/default/lwc/lexSelectAssetsMaintenance/lexSelectAssetsMaintenance.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+	<isExposed>true</isExposed>
+	<targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSelectRental/lexSelectRental.css b/force-app/main/default/lwc/lexSelectRental/lexSelectRental.css
new file mode 100644
index 0000000..89ffcef
--- /dev/null
+++ b/force-app/main/default/lwc/lexSelectRental/lexSelectRental.css
@@ -0,0 +1,11 @@
+.lexSelectRentalHolder{
+ position: relative;
+ display: inline-block;
+ width: 80px;
+ height: 80px;
+ text-align: center;
+}
+
+.container .uiContainerManager{
+ display : none !important;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSelectRental/lexSelectRental.html b/force-app/main/default/lwc/lexSelectRental/lexSelectRental.html
new file mode 100644
index 0000000..c45065c
--- /dev/null
+++ b/force-app/main/default/lwc/lexSelectRental/lexSelectRental.html
@@ -0,0 +1,4 @@
+<template>
+<div class="lexSelectRentalHolder" if:true={IsLoding}>
+<lightning-spinner alternative-text="Loading" size="medium">  </lightning-spinner> </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSelectRental/lexSelectRental.js b/force-app/main/default/lwc/lexSelectRental/lexSelectRental.js
new file mode 100644
index 0000000..5afc145
--- /dev/null
+++ b/force-app/main/default/lwc/lexSelectRental/lexSelectRental.js
@@ -0,0 +1,136 @@
+import { LightningElement,api, track, wire } from 'lwc';
+import getEquipmentSetId  from '@salesforce/apex/SelectRentalButtonController.getEquipmentSetId';
+
+import getEquipmentSet  from '@salesforce/apex/SelectRentalButtonController.getEquipmentSet';
+
+import updateEquipment  from '@salesforce/apex/SelectRentalButtonController.updateEquipment';
+
+import getSessionId  from '@salesforce/apex/SelectRentalButtonController.getSessionId';
+
+import getRecords  from '@salesforce/apex/SelectRentalButtonController.getRecords';
+
+
+import findIdArea   from '@salesforce/apex/SelectRentalButtonController.findIdArea';
+import {CurrentPageReference} from 'lightning/navigation';
+import { CloseActionScreenEvent } from 'lightning/actions';
+export default class lexSelectRental extends LightningElement {
+
+	@api recordId;
+	IsLoading;
+	Equipment_Set_Detail__c;
+
+	@wire(CurrentPageReference)
+    getStateParameters(currentPageReference){
+    	if(currentPageReference){
+    		console.log(currentPageReference);
+    		console.log("杩涘叆鑾峰彇page鍙傛暟")
+    		const IdValue=currentPageReference.state.recordId;
+    		if(IdValue){
+    			let str=`${IdValue}`;
+    			this.recordId=str;
+    			console.log("recordId="+str);
+    		}
+    	}
+    }
+
+    connectedCallback(){
+        getEquipmentSetId({recordId:this.recordId}).then(res=>{
+        	if(res!=null){
+        	this.IsLoading=false;
+        	console.log("res");
+        	console.log(res);
+        	console.log("杩涘叆鍒濆鍖栧璞″叾浠栧睘鎬�");
+        	this.Equipment_Set_Detail__c=res;
+        	console.log(this.Equipment_Set_Detail__c);
+        	console.log(this.Equipment_Set_Detail__c.Select_rental__c);
+        	
+            this.SelectLending();
+        	}
+        	else{
+        		 let a="娌¤繘鏂规硶";
+     			console.log(a);
+        	}
+        }).catch(error =>{
+        	console.log("error");
+        	console.log(error.message);
+        }).finally(()=>{
+
+        });
+    }
+
+
+
+    async SelectLending(){
+
+
+    	try{
+            this.dispatchEvent(new CloseActionScreenEvent());
+            window.sforce = window.sforce || {};
+            window.sforce.connection = window.sforce.connection || {};
+            let a =await getSessionId();
+            window.sforce.connection.sessionId =await getSessionId();
+            console.log(a);
+            let esid = this.Equipment_Set_Detail__c.Equipment_Set__c;
+            console.log(esid);
+            //閫夋嫨鍊熷嚭鏄竴涓閫夋锛岃繖閲屽氨鏄壘澶嶉�夋鍕句笂鐨勬暟鎹甀d锛屼笉鐭ラ亾杩欎釜鎬庝箞鎺ュ彈浠庡墠绔┛鍙傛暟銆�
+            //鎵�浠ユ垜鐩存帴鏌ユ暟鎹簱
+            let esdids =new Array();
+            esdids=await getRecords();
+            console.log(esdids);
+            let hasError = false;
+            //鏇存柊鏁版嵁
+            if (esdids.length > 0) {
+            	console.log('杩涘叆绗竴涓猧f鏂规硶');
+                let sqlResult = await getEquipmentSet({esid:esid});
+                console.log(sqlResult);
+                console.log('杩斿洖瀵硅薄鏁扮粍绗竴涓�'+sqlResult[0]);
+                for (let i = 0; i < sqlResult.length; i++) {
+                    let esd = sqlResult[i];
+                    console.log(i);
+                    esd.Select_rental__c = false;
+                }
+                let result = await updateEquipment({sqlResult : sqlResult});
+                console.log(result);
+                for (let i=0; i<result.length; i++) {
+                    if (result[i]!="success") { 
+                        alert(result[i].errors.message);
+                        hasError = true;
+                        return;
+                    }
+
+      		    }
+                let EqObject = await findIdArea({id : esdids});
+                console.log(EqObject);
+                for (let i = 0; i < EqObject.length; i++) {
+                    let esd = EqObject[i];
+                    esd.Select_rental__c = true;
+                }
+                result = await updateEquipment({sqlResult : EqObject});
+                console.log(result);
+                for (let i=0; i<result.length; i++) {
+                    if (result[i]!="success") { 
+                        alert(result[i].errors.message);
+                        hasError = true;
+                        return;
+                    }
+                }
+        
+            if (!hasError) {
+                //window.top.location.reload;
+                //杩欓噷濂藉儚top涓嶅瓨鍦�
+                window.location.reload();
+
+            }
+        }
+
+        else {
+            alert("璇疯嚦灏戦�夋嫨涓�涓鍝乻et鏄庣粏銆�");
+        }
+    }
+        catch(e){
+            console.log(e);
+            alert(e.message);
+    }
+
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSelectRental/lexSelectRental.js-meta.xml b/force-app/main/default/lwc/lexSelectRental/lexSelectRental.js-meta.xml
new file mode 100644
index 0000000..c0a5ac1
--- /dev/null
+++ b/force-app/main/default/lwc/lexSelectRental/lexSelectRental.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lexSelectRental">
+    <apiVersion>51.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightning__AppPage</target>
+        <target>lightning__RecordPage</target>
+        <target>lightning__HomePage</target>
+        <target>lightning__RecordAction</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSelectSubstitute/lexSelectSubstitute.css b/force-app/main/default/lwc/lexSelectSubstitute/lexSelectSubstitute.css
new file mode 100644
index 0000000..af18c76
--- /dev/null
+++ b/force-app/main/default/lwc/lexSelectSubstitute/lexSelectSubstitute.css
@@ -0,0 +1,11 @@
+.Holder{
+	position: relative;
+	display: inline-block;
+	width: 80px;
+	height: 80px;
+	text-align: center;
+}
+
+.container .uiContainerManager{
+	display : none !important;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSelectSubstitute/lexSelectSubstitute.html b/force-app/main/default/lwc/lexSelectSubstitute/lexSelectSubstitute.html
new file mode 100644
index 0000000..960b41d
--- /dev/null
+++ b/force-app/main/default/lwc/lexSelectSubstitute/lexSelectSubstitute.html
@@ -0,0 +1,5 @@
+<template>
+      <div class="Holder" if:true={IsLoading}>
+              <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+      </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSelectSubstitute/lexSelectSubstitute.js b/force-app/main/default/lwc/lexSelectSubstitute/lexSelectSubstitute.js
new file mode 100644
index 0000000..753abc5
--- /dev/null
+++ b/force-app/main/default/lwc/lexSelectSubstitute/lexSelectSubstitute.js
@@ -0,0 +1,94 @@
+import { LightningElement,api, track, wire } from 'lwc';
+import {CurrentPageReference} from 'lightning/navigation';
+import { CloseActionScreenEvent } from 'lightning/actions';
+import init from '@salesforce/apex/SelectSubstituteControllerLWT.initFromSelectSubstituteButton';
+import selectRentalApplyEquipmentSetByID from '@salesforce/apex/SelectSubstituteControllerLWT.selectRentalApplyEquipmentSetByID';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+export default class selectSubstituteLWC extends LightningElement {
+
+	@api recordId;
+    id;
+    RentalApplyId;
+    Status;
+    IsLoading=true;
+    @wire(CurrentPageReference)
+	getStateParameters(currentPageReference){
+		console.log("杩涘叆椤甸潰");
+		console.log(currentPageReference);
+		if(currentPageReference){
+			const urvalue=currentPageReference.state.recordId;
+			if(urvalue){
+				let str=`${urvalue}`;
+				console.log('str');
+				console.log(str);
+				this.recordId=str;
+			}
+		}
+	}
+
+
+
+	connectedCallback(){
+		console.log(this.recordId);
+		init({recordId:this.recordId}).then(result=>{
+			console.log(result);
+			if(result!=null){
+				this.id=result.id;
+			    this.RentalApplyId=result.RentalApplyId;
+			    this.Status=result.Status;
+				this.cancelSubmit().then(res=>{
+					this.IsLoading=false;
+					this.dispatchEvent(new CloseActionScreenEvent());
+				});	
+			}
+		}).catch(err=>{
+			console.log("error:");
+			console.log(err);
+		}).finally(()=>{
+
+		});
+	}
+
+
+ 
+    async cancelSubmit(){
+		// 鍙垎閰嶄唬鏇垮搧鍓嶆彁1 -- 澶囧搧鍊熷嚭鐢宠鐨勭姸鎬侊細鈥滃凡鎵瑰噯鈥濆埌鈥滃凡鍑哄簱鎸囩ず鈥�
+		if(this.Status != '宸叉壒鍑�' && this.Status != '宸插嚭搴撴寚绀�') {
+			// alert('鐢宠涔︾姸鎬佷笉绗﹀悎鍒嗛厤浠f浛鍝佹潯浠讹紝璇风‘璁ょ敵璇风殑鐘舵��');
+	        const event = new ShowToastEvent({
+	            title: '鎻愮ず淇℃伅',
+	            message:'鐢宠涔︾姸鎬佷笉绗﹀悎鍒嗛厤浠f浛鍝佹潯浠讹紝璇风‘璁ょ敵璇风殑鐘舵��'
+	        });
+	        this.dispatchEvent(event);
+		} else {
+			// 鍙垎閰嶄唬鏇垮搧鍓嶆彁2 -- 鎵�閫夊�熷嚭澶囧搧閰嶅涓�瑙堢殑鐘舵�侊細鈥樺凡鎵瑰噯鈥欏埌鈥樺嚭搴撳墠宸叉娴嬧��
+			var soqlRecord ;
+			await selectRentalApplyEquipmentSetByID({recordId:this.recordId})
+			.then(res=>{
+				soqlRecord=res;
+				var status = soqlRecord.RAES_Status__c;
+				var irreplaceable = soqlRecord.Irreplaceable_flag__c;
+				var shipTime = soqlRecord.Shippment_loaner_time2__c;
+
+				if(status == "鑽夋涓�" || status == "鐢宠涓�" || shipTime != null) {
+					// alert("涓�瑙堢殑鐘舵�佷笉绗﹀悎鍒嗛厤鏇夸唬鍝佹潯浠�");
+			        const event = new ShowToastEvent({
+			            title: '鎻愮ず淇℃伅',
+			            message:"涓�瑙堢殑鐘舵�佷笉绗﹀悎鍒嗛厤鏇夸唬鍝佹潯浠�"
+			        });
+			        this.dispatchEvent(event);
+				} else if(irreplaceable=="true") {
+					// alert("鐢宠浜哄嬀閫変簡浠f浛鍝佷笉鍙�");
+			        const event = new ShowToastEvent({
+			            title: '鎻愮ず淇℃伅',
+			            message:"鐢宠浜哄嬀閫変簡浠f浛鍝佷笉鍙�"
+			        });
+			        this.dispatchEvent(event);
+				} else {
+					window.open("/apex/RentalFixtureSetSelect?pt_recid="+this.RentalApplyId+"&raesid="+this.recordId);
+				}
+			});
+			
+		}
+	}
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSelectSubstitute/lexSelectSubstitute.js-meta.xml b/force-app/main/default/lwc/lexSelectSubstitute/lexSelectSubstitute.js-meta.xml
new file mode 100644
index 0000000..c94e4e2
--- /dev/null
+++ b/force-app/main/default/lwc/lexSelectSubstitute/lexSelectSubstitute.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="selectSubstituteLWC">
+    <apiVersion>51.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightning__AppPage</target>
+        <target>lightning__RecordPage</target>
+        <target>lightning__HomePage</target>
+        <target>lightning__RecordAction</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSendNFM103/lexSendNFM103.html b/force-app/main/default/lwc/lexSendNFM103/lexSendNFM103.html
new file mode 100644
index 0000000..aaa4cbd
--- /dev/null
+++ b/force-app/main/default/lwc/lexSendNFM103/lexSendNFM103.html
@@ -0,0 +1,6 @@
+<template>
+    <div class="toReportHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+        <lightning-button label="Show Toast" onclick={ShowToastEvent}></lightning-button>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSendNFM103/lexSendNFM103.js b/force-app/main/default/lwc/lexSendNFM103/lexSendNFM103.js
new file mode 100644
index 0000000..e6f21ea
--- /dev/null
+++ b/force-app/main/default/lwc/lexSendNFM103/lexSendNFM103.js
@@ -0,0 +1,570 @@
+import getStaticResource from "@salesforce/apex/ButtonJsUtility.getStaticResource";
+import init from "@salesforce/apex/otherButtonRepairController.init";
+import queryForEquipments from "@salesforce/apex/otherButtonRepairController.queryForEquipments";
+import queryForFindInvalidLicense from "@salesforce/apex/otherButtonRepairController.queryForFindInvalidLicense";
+import queryForRds from "@salesforce/apex/otherButtonRepairController.queryForRds";
+import queryForReocrds from "@salesforce/apex/otherButtonRepairController.queryForReocrds";
+import queryForRepairCount from "@salesforce/apex/otherButtonRepairController.queryForRepairCount";
+import queryForUrfAsset from "@salesforce/apex/otherButtonRepairController.queryForUrfAsset";
+import queryForUrfSeriesInfo from "@salesforce/apex/otherButtonRepairController.queryForUrfSeriesInfo";
+import queryForrecords3 from "@salesforce/apex/otherButtonRepairController.queryForrecords3";
+import updateForRepair1 from "@salesforce/apex/otherButtonRepairController.updateForRepair1";
+import updateRepair2 from "@salesforce/apex/otherButtonRepairController.updateRepair2";
+import AWSService from "@salesforce/resourceUrl/AWSService";
+import common from "@salesforce/resourceUrl/CommonUtilJs";
+import apex from "@salesforce/resourceUrl/apex20";
+import con from "@salesforce/resourceUrl/connection20";
+import jqueryurl from "@salesforce/resourceUrl/jquery183minjs";
+import jq from "@salesforce/resourceUrl/jquery_jqplot";
+import {
+  CloseActionScreenEvent
+} from "lightning/actions";
+import {
+  CurrentPageReference
+} from "lightning/navigation";
+import {
+  loadScript
+} from "lightning/platformResourceLoader";
+import {
+  ShowToastEvent
+} from 'lightning/platformShowToastEvent';
+import {
+  updateRecord
+} from "lightning/uiRecordApi";
+import {
+  LightningElement,
+  api,
+  wire
+} from "lwc";
+
+export default class LexSendNFM103 extends LightningElement {
+  @api recordId;
+  detailedAddress;
+  dealer;
+  numberofEffectiveContract;
+  newProductGuaranteTxt;
+  onSiteRepair;
+  maintenanceContract;
+  VMMaintenanceContract;
+  FSEState;
+  dateReceiptQuestions;
+  delayReportReason;
+  repairSource;
+  quickRepairSign;
+  RCCD;
+  returnsProductway;
+  salesDeptHP;
+  isAohuiProduct;
+  stateHospital;
+  assetOwner;
+  deliveredProductId;
+  FSEApplyForRepairTime;
+  maintenanceContractId;
+  URFLimitSerial;
+  status;
+  dealerId;
+  ifDeadHurt;
+  dayLater30;
+  recallCorrespondence;
+  URFReapir;
+  inchargeStaffId;
+  DWSign;
+  DOJStatus;
+  SAPcondition;
+  salesOfficeCodeSelection;
+  profileId;
+  userId;
+  AWSDataId;
+
+  @wire(CurrentPageReference)
+  getStateParameters(currentPageReference) {
+    if (currentPageReference) {
+      const urlValue = currentPageReference.state.recordId;
+      if (urlValue) {
+        let str = `${urlValue}`;
+        this.recordId = str;
+      }
+    }
+  }
+
+  connectedCallback() {
+    init({
+      recordId: this.recordId
+    }).then(result => {
+      console.log(result);
+
+      var btns = document.getElementsByName("send_nfm103");
+      for (var i = 0; i < btns.length; i++) {
+        btns[i].disabled = true;
+        btns[i].className = 'btnDisabled';
+      }
+
+      this.detailedAddress = result.detailedAddress;
+      this.dealer = result.dealer;
+      this.numberofEffectiveContract = result.numberofEffectiveContract;
+      this.newProductGuaranteTxt = result.newProductGuaranteTxt;
+      this.onSiteRepair = result.onSiteRepair;
+      this.maintenanceContract = result.maintenanceContract;
+      this.VMMaintenanceContract = result.VMMaintenanceContract;
+      this.FSEState = result.FSEState;
+      this.dateReceiptQuestions = result.dateReceiptQuestions;
+      this.delayReportReason = result.delayReportReason;
+      this.repairSource = result.repairSource;
+      this.quickRepairSign = result.quickRepairSign;
+      this.RCCD = result.RCCD;
+      this.returnsProductway = result.returnsProductway;
+      this.salesDeptHP = result.salesDeptHP;
+      this.isAohuiProduct = result.isAohuiProduct;
+      this.stateHospital = result.stateHospital;
+      this.assetOwner = result.assetOwner;
+      this.deliveredProductId = result.deliveredProductId;
+      this.FSEApplyForRepairTime = result.FSEApplyForRepairTime;
+      this.maintenanceContractId = result.maintenanceContractId;
+      this.URFLimitSerial = result.URFLimitSerial;
+      this.status = result.status;
+      this.dealerId = result.dealerId;
+      this.ifDeadHurt = result.ifDeadHurt;
+      this.dayLater30 = result.dayLater30;
+      this.recallCorrespondence = result.recallCorrespondence;
+      this.URFReapir = result.URFReapir;
+      this.inchargeStaffId = result.inchargeStaffId;
+      this.DWSign = result.DWSign;
+      this.DOJStatus = result.DOJStatus;
+      this.SAPcondition = result.SAPcondition;
+      this.salesOfficeCodeSelection = result.salesOfficeCodeSelection;
+      this.profileId = result.profileId;
+      this.userId = result.userId;
+      this.AWSDataId = result.AWSDataId;
+      
+      this.logicalJudgmentA();
+    }).catch(error => {
+      console.log("error");
+      console.log(error);
+    });
+  }
+
+
+  showToast(msg, type) {
+    const event = new ShowToastEvent({
+      title: '',
+      message: msg,
+      variant: type
+    });
+    this.dispatchEvent(event);
+  }
+
+  updateRecordView(recordId) {
+    updateRecord({
+      fields: {
+        Id: recordId
+      }
+    });
+  }
+
+  logicalJudgmentA() {
+    try {
+      if (
+        this.numberofEffectiveContract == "鏃�" &&
+        this.newProductGuaranteTxt != "2: 澶氬勾淇濅慨" &&
+        this.newProductGuaranteTxt != "2: 鏈嶅姟澶氬勾淇濅慨" &&
+        this.newProductGuaranteTxt != "8: 甯傚満澶氬勾淇濅慨" &&
+        this.onSiteRepair == "鐩撮�丼ORC淇悊"
+      ) {
+        if (
+          !confirm("璁惧涓洪潪缁翠慨鍚堝悓涓旈潪澶氬勾淇濅慨瀵硅薄鍝侊紝璇风‘璁ゆ槸鍚︾洿閫丼ORC淇悊锛�")
+        ) {
+          this.updateRecordView(this.recordId);
+          this.dispatchEvent(new CloseActionScreenEvent());
+          return;
+        }
+      }
+      console.log("11");
+      if (
+        (this.maintenanceContract != undefined ||
+          this.VMMaintenanceContract != undefined) &&
+        this.onSiteRepair == "RC淇悊" &&
+        this.FSEState == "灞变笢鐪�"
+      ) {
+        if (
+          !confirm("璇ヨ澶囦负缁翠慨鍚堝悓鎴栧骞翠繚淇璞″搧锛岃纭鏄惁閫佽嚦RC淇悊锛�")
+        ) {
+          this.updateRecordView(this.recordId);
+          this.dispatchEvent(new CloseActionScreenEvent());
+          return;
+        }
+      }
+      var today = Date.now();
+      var dateReceiptQuestions = Date.parse(this.dateReceiptQuestions);
+      var dates = (today - dateReceiptQuestions) / (24 * 60 * 60 * 1000);
+      if (
+        this.profileId != "00e10000000Y3o5" &&
+        this.userId != "0051000000AKgzv" &&
+        this.userId != "0051000000AKh05" &&
+        this.userId != "00510000004q1ed" &&
+        this.delayReportReason == "" &&
+        dates > "1" &&
+        this.repairSource != "QIS杞慨鐞�"
+      ) {
+        this.showToast("鐢宠淇悊鏃禨AP淇悊鐢宠鏃ヨ秴杩囬棶棰樿仈缁滄敹鍒版棩1澶╋紝蹇呴』濉啓闂秴鏃舵姤鍛婄殑鐞嗙敱", "error");
+        this.updateRecordView(this.recordId);
+        this.dispatchEvent(new CloseActionScreenEvent());
+        return;
+      }
+      if (
+        this.quickRepairSign == true &&
+        (this.numberofEffectiveContract == "鏈�" ||
+          this.newProductGuaranteTxt == "2: 澶氬勾淇濅慨" ||
+          this.newProductGuaranteTxt == "2: 鏈嶅姟澶氬勾淇濅慨" ||
+          this.newProductGuaranteTxt == "8: 甯傚満澶氬勾淇濅慨") &&
+        (this.onSiteRepair == "RC淇悊" ||
+          this.onSiteRepair == "鍔炰簨澶勪慨鐞�" ||
+          this.onSiteRepair == "鐜板満淇悊")
+      ) {
+        if (this.RCCD == "2.涓滃寳" || this.RCCD == "3.瑗垮寳") {
+          if (
+            !confirm(
+              "璇ュ瀷鍙峰搴斾负鍚堝悓鎴栧骞翠繚瀵硅薄鍝併�傚纭涓哄ぇ淇悊鏁呴殰锛岄渶瑕侀�夋嫨鐩撮�丼ORC淇悊锛岃纭鏄惁缁х画銆�"
+            )
+          ) {
+            this.updateRecordView(this.recordId);
+            this.dispatchEvent(new CloseActionScreenEvent());
+            return;
+          }
+        } else if (
+          this.RCCD == "1.鍗庡寳" ||
+          this.RCCD == "6.鍗庡崡" ||
+          this.RCCD == "4.瑗垮崡"
+        ) {
+          if (
+            !confirm(
+              "璇ュ瀷鍙峰搴斾负鍚堝悓鎴栧骞翠繚瀵硅薄鍝併�傚纭涓哄ぇ淇悊鏁呴殰锛岄渶瑕侀�夋嫨鐩撮�丱GZ淇悊锛岃纭鏄惁缁х画銆�"
+            )
+          ) {
+            this.updateRecordView(this.recordId);
+            this.dispatchEvent(new CloseActionScreenEvent());
+            return;
+          }
+        }
+      }
+      var returnsProductWay = this.returnsProductway;
+      var falg = true;
+      if (returnsProductWay == undefined) {
+        if (!confirm("杩斿搧鏂瑰紡涓虹┖锛屾槸鍚︾户缁敵璇蜂慨鐞嗭紒")) {
+          this.updateRecordView(this.recordId);
+          this.dispatchEvent(new CloseActionScreenEvent());
+          return;
+        }
+      }
+      if (this.assetOwner == "Olympus") {} else {
+        console.log(this.detailedAddress);
+        if (this.detailedAddress != undefined) {
+          var prompt =
+            "褰撳墠鐩磋繑鏀惰揣鍦板潃涓猴細" + this.detailedAddress + ",鎮ㄧ‘璁や笉淇敼浜嗗悧锛�";
+          if (!confirm(prompt)) {
+            this.updateRecordView(this.recordId);
+            this.dispatchEvent(new CloseActionScreenEvent());
+            return;
+          }
+        } else {
+          this.showToast("褰撳墠淇悊娌℃湁褰曞叆鐩磋繑鏀惰揣鐨勮缁嗗湴鍧�锛屼笉鑳界敵璇蜂慨鐞嗭紒", "error");
+          this.updateRecordView(this.recordId);
+          this.dispatchEvent(new CloseActionScreenEvent());
+          return;
+        }
+      }
+
+      queryForEquipments({
+        deliveredProductId: this.deliveredProductId,
+      }).then((result) => {
+        var equipments = result;
+        if (equipments != null && equipments.length > 0) {
+          var equipment = equipments[0];
+          if (equipment.Status == "寤冩") {
+            this.showToast("璁惧搴熷純锛屼笉鑳芥彁浜ょ敵璇�!", "error");
+            this.updateRecordView(this.recordId);
+            this.dispatchEvent(new CloseActionScreenEvent());
+            return;
+          }
+        }
+      });
+      if (this.FSEApplyForRepairTime != undefined) {
+        this.showToast("宸蹭慨鐞嗙敵璇凤紝涓嶅啀淇悊鐢宠浜�", "error");
+        this.updateRecordView(this.recordId);
+        this.dispatchEvent(new CloseActionScreenEvent());
+        return;
+      }
+      var surplusCount = 0;
+      if (this.URFReapir == true) {
+        var urfAsset = null;
+
+        queryForUrfAsset({
+          maintenanceContractId: this.maintenanceContractId,
+          deliveredProductId: this.deliveredProductId,
+        }).then((result) => {
+          urfAsset = result;
+          var seriesMaxRepairCount = 0;
+          var seriesRepairCount = 0;
+          if (urfAsset != null && urfAsset.length > 0) {
+            seriesMaxRepairCount = urfAsset[0].Series_MaxRepairCount_F__c;
+            seriesRepairCount = urfAsset[0].Series_RepairCount_F__c;
+            surplusCount = seriesMaxRepairCount - seriesRepairCount;
+          }
+        });
+        var urfSeriesInfo = null;
+
+        queryForUrfSeriesInfo({
+          URFLimitSerial: this.URFLimitSerial,
+        }).then((result) => {
+          urfSeriesInfo = result;
+          var urfSeries = "";
+          if (urfSeriesInfo != null && urfSeriesInfo.length > 0) {
+            urfSeries = urfSeriesInfo[0].URFLimitSerial__c;
+          }
+          var repairCount = null;
+
+          queryForRepairCount({
+            maintenanceContractId: this.maintenanceContractId,
+            status1: "1.鍙楃悊瀹屾瘯",
+            URFLimitSerial: urfSeries,
+          }).then((result) => {
+            repairCount = result;
+          });
+          if (repairCount.length > 0 && surplusCount == 1) {
+            this.showToast("璇ヨ澶囧叧鑱旈檺娆″悎鍚岋紝鐩墠鍓╀綑娆℃暟灏忎簬閫佷慨璁惧銆傝绛夊緟杩涜涓慨鐞嗗畬鎴愬悗鍐嶈繘琛岀敵璇�", "error");
+            this.updateRecordView(this.recordId);
+            this.dispatchEvent(new CloseActionScreenEvent());
+            return;
+          }
+        });
+      }
+      if (
+        this.status != "鑽夋涓�" &&
+        this.status != "1.鍙楃悊瀹屾瘯(SAP寰呭彂閫�)" &&
+        this.status != "4.淇悊鍝佽繑閫侀樁娈�"
+      ) {
+        this.showToast("涓嶆槸鑽夋涓笉鑳界敵璇�", "error");
+        this.updateRecordView(this.recordId);
+        this.dispatchEvent(new CloseActionScreenEvent());
+      } else {
+        if (this.dealer != undefined) {
+          var findInvalidLicense = null;
+
+          queryForFindInvalidLicense({
+            isValidity: false,
+            dealerId: this.dealerId,
+          }).then((result) => {
+            findInvalidLicense = result;
+            if (findInvalidLicense.size > 0) {
+              this.showToast("缁忛攢鍟嗕笁璇佷笉鍦ㄦ湁鏁堟湡锛屾棤娉曢�佷慨", "error");
+              this.updateRecordView(this.recordId);
+              this.dispatchEvent(new CloseActionScreenEvent());
+              return;
+            }
+          });
+        }
+        if (this.ifDeadHurt == "鏈�") {
+          if (!confirm("鏄惁纭AE瑕佹彁浜わ紵")) {
+            this.updateRecordView(this.recordId);
+            this.dispatchEvent(new CloseActionScreenEvent());
+            return;
+          }
+        }
+        if (this.dayLater30 == "鏄�") {
+          this.showToast("鍒涘缓鍚庤秴杩�30澶╋紝涓嶈兘鐢宠浜�", "error");
+          this.updateRecordView(this.recordId);
+          this.dispatchEvent(new CloseActionScreenEvent());
+          return;
+        }
+        var prompt11 = "鍚堝悓鍐呭ぇ淇鏁板凡鐢ㄥ畬锛屽綋鍓嶄慨鐞嗕负鍚堝悓澶栫殑淇悊锛屾槸鍚︾户缁紵";
+        if (this.URFReapir == true && surplusCount == 0) {
+          var resultTmp = null;
+          if (!confirm(prompt11)) {
+            this.updateRecordView(this.recordId);
+            this.dispatchEvent(new CloseActionScreenEvent());
+            return;
+          }
+
+          updateForRepair1({
+            recordId: this.recordId,
+          }).then((result) => {
+            resultTmp = result;
+            console.log("1111");
+            var messagesTmp = "";
+            if (resultTmp) {
+              messagesTmp = this.getConnectDMLErrorMessages(resultTmp);
+            }
+            if (messagesTmp.length > 0) {
+              this.showToast(messagesTmp.join("\n"), "error");
+              this.updateRecordView(this.recordId);
+              this.dispatchEvent(new CloseActionScreenEvent());
+              return;
+            }
+          });
+        }
+        var records = null;
+
+        queryForReocrds({
+          inchargeStaffId: this.inchargeStaffId,
+        }).then((result) => {
+          records = result;
+          console.log(result);
+          this.logicalJudgmentB(records);
+        });
+      }
+    } catch (error) {
+      console(error);
+    }
+    var staticResource = null;
+
+    getStaticResource({
+      sobj: "Repair__c"
+    }).then(result => {
+      console.log(result);
+      staticResource = JSON.parse(result);
+      Promise.all([
+        loadScript(this, AWSService + '/AWSService.js'),
+        loadScript(this, jqueryurl),
+        loadScript(this, jq + "/dist/jquery.js"),
+        loadScript(this, con),
+        loadScript(this, apex),
+        loadScript(this, common)
+      ]).then(() => {
+        window.AWSService.query(staticResource.queryUrl,
+          this.AWSDataId,
+          function (data) {
+            console.log(data);
+            if (data && data.object) {
+              var DetailedAddress = data.object.detailedAddress;
+            }
+            this.foo();
+          },
+          staticResource.token).then(result => {
+          this.updateRecordView(this.recordId);
+          this.dispatchEvent(new CloseActionScreenEvent());
+        });
+      }).catch(error => {
+        console.log('Failed to load the JQuery : ' + error);
+      });
+    }).catch(error => {
+      console.log('Failed to load the JQuery : ' + error);
+    });
+    console.log('load correctly');
+  }
+
+  foo() {
+    console.log("end");
+    var records3 = null;
+
+    queryForrecords3({
+      recordId: this.recordId,
+    }).then((result) => {
+      records3 = result;
+    });
+    var FirstParagraph__c = "";
+    if (records3.length >= 1) {
+      FirstParagraph__c = records3[0].FirstParagraph__c;
+    }
+    if (FirstParagraph__c == "true") {
+      if (!confirm("璇ョ粡閿�鍟嗕负鍏堟瀵硅薄锛屾槸鍚︾户缁敵璇蜂慨鐞嗭紵")) {
+        this.updateRecordView(this.recordId);
+        this.dispatchEvent(new CloseActionScreenEvent());
+        return;
+      }
+    }
+    console.log("endend");
+  }
+
+  logicalJudgmentB(records) {
+    if (records != null && records.length > 0) {
+      var staff = records[0];
+      var res = null;
+      updateRepair2({
+        recordId: this.recordId,
+        staff: staff,
+        DWSign: this.DWSign,
+        statusc: "1.鍙楃悊瀹屾瘯",
+        DOJStatus: this.DOJStatus,
+        SAPcondition: this.SAPcondition,
+      }).then((result) => {
+        console.log(result + "result");
+        res = result;
+        console.log("start3");
+        var messages = "";
+        if (res) {
+          messages = this.getConnectDMLErrorMessages(res);
+        }
+        if (messages.length > 0) {
+          this.showToast(messages.join("\n"), "error");
+          this.updateRecordView(this.recordId);
+          this.dispatchEvent(new CloseActionScreenEvent());
+        } else {
+          if (this.salesOfficeCodeSelection == "鎴愰兘RC") {
+
+            this.showToast("鐜伴樁娈碉紝鎴愰兘RC浠呭彈鐞嗗洓宸濓紙瑗胯棌锛夊唴闀溿�佽タ鍗楀叏鍩烠V/CLV锛屽叾浣欏疄鐗╄鍙戣嚦骞垮窞RC銆�", "error");
+            this.updateRecordView(this.recordId);
+            this.dispatchEvent(new CloseActionScreenEvent());
+          }
+        }
+        var rds = null;
+        
+        queryForRds({
+          recordId: this.recordId,
+        }).then((result) => {
+          rds = result;
+          if (rds != null && rds.length > 0) {
+            var repairAft = rds[0];
+            if (
+              repairAft.NewProductGuarante_Formula__c !=
+              repairAft.ProductGuarante_Create__c
+            ) {
+              this.showToast("璇ヨ澶囦繚淇俊鎭凡鍙戠敓鍙樺寲锛岃浜嗚В", "error");
+            }
+          }
+        });
+      });
+
+    } else {
+      this.showToast("娌℃湁鎵惧埌 淇悊濮旀墭鑰�", "error");
+      this.updateRecordView(this.recordId);
+      this.dispatchEvent(new CloseActionScreenEvent());
+    }
+  }
+
+  getConnectDMLErrorMessages(results) {
+    console.log(results);
+    var messages = [],
+      i = 0,
+      len = results.length,
+      r;
+    console.log("sos");
+    for (; i < len; i++) {
+      r = results[i];
+      if (!r.getBoolean("success")) {
+        messages = messages.concat(getConnectDMLMessagesOfAResult(r));
+      }
+    }
+    return messages;
+  }
+
+  getConnectDMLMessagesOfAResult(res) {
+    var messages = [],
+      errors = res.getArray("errors"),
+      i = 0,
+      len = errors.length,
+      e;
+    for (; i < len; i++) {
+      e = errors[i];
+      messages.push(e.message + " " + getConnectDMLErrorFields(e));
+    }
+    return messages;
+  }
+
+  getConnectDMLErrorFields(error) {
+    var fields = error.getArray("fields");
+    if (fields.length > 0) {
+      return "[" + fields.join(",") + "]";
+    } else {
+      return "";
+    }
+  }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSendNFM103/lexSendNFM103.js-meta.xml b/force-app/main/default/lwc/lexSendNFM103/lexSendNFM103.js-meta.xml
new file mode 100644
index 0000000..3392981
--- /dev/null
+++ b/force-app/main/default/lwc/lexSendNFM103/lexSendNFM103.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+	<isExposed>true</isExposed>
+	<targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSendQIS/lexSendQIS.css b/force-app/main/default/lwc/lexSendQIS/lexSendQIS.css
new file mode 100644
index 0000000..635bc6c
--- /dev/null
+++ b/force-app/main/default/lwc/lexSendQIS/lexSendQIS.css
@@ -0,0 +1,22 @@
+.outerBorderCss{
+    border: 1px solid #D4D4D4;
+    border-radius : 5px;
+    border-top : 3px solid #565959;
+}
+.borderCss{
+    border: 1px solid #D4D4D4;
+    border-radius : 5px;
+    margin-bottom : 7px;
+    border-top : 3px solid #565959;
+}
+.headerDorderCss{
+    border-top: 1px solid #565959;
+    border-bottom: 1px solid #D4D4D4;
+    padding:3px;
+}
+.centerCss{
+    text-align: center;
+}
+.centerCss .left{
+    margin-left: 100px;
+}/* sample css file */
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSendQIS/lexSendQIS.html b/force-app/main/default/lwc/lexSendQIS/lexSendQIS.html
new file mode 100644
index 0000000..c8bdbfc
--- /dev/null
+++ b/force-app/main/default/lwc/lexSendQIS/lexSendQIS.html
@@ -0,0 +1,5 @@
+<template>
+   <div class="sisToOPDHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSendQIS/lexSendQIS.js b/force-app/main/default/lwc/lexSendQIS/lexSendQIS.js
new file mode 100644
index 0000000..f1ca368
--- /dev/null
+++ b/force-app/main/default/lwc/lexSendQIS/lexSendQIS.js
@@ -0,0 +1,121 @@
+import { LightningElement,wire,track,api} from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import { NavigationMixin } from 'lightning/navigation';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+import init  from '@salesforce/apex/QISReportController.initForlexSendQISButton';
+import sendSPO  from '@salesforce/apex/QISReportController.updateQisForSendQIS';
+import UserInfo_Owner from '@salesforce/apex/TaskFeedbackController.UserInfo_Owner';
+import { updateRecord } from 'lightning/uiRecordApi';
+
+export default class lexSendQIS extends LightningElement {
+	@api recordId;
+    str;
+    err;
+    IsLoading = true;
+    qisReportId;
+    qisRecordTypeId;
+    qisRecordName;
+    ProfileName;
+    IsSendQIS;
+    @wire(CurrentPageReference)
+    getStateParameters(currentPageReference) {
+        if (currentPageReference) {
+            const urlValue = currentPageReference.state.recordId;
+            if (urlValue) {
+                let str = `${urlValue}`;
+                this.recordId = str;
+            }
+        }
+    }
+
+    connectedCallback() {
+        console.log(this.recordId);
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            console.log(result);
+                this.IsLoading = false;
+                this.qisRecordTypeId = result.qisRecordTypeId;
+                this.qisReportId = result.Id;
+                this.qisRecordName = result.qisRecordName;
+                this.ProfileName = result.profileName;
+                this.IsSendQIS = result.isSendQIS;
+                if (this.qisRecordName == '2.OCSM') {
+                	const evt = new ShowToastEvent({
+                            title : '涓嶈兘鎻愪氦鍒癝PO',
+                            message: '璁板綍绫诲瀷涓�'+this.qisRecordName,
+                            variant: 'error'
+                        });
+                        this.dispatchEvent(evt);
+                        this.dispatchEvent(new CloseActionScreenEvent());
+                        return;
+                }
+
+                if (!(this.ProfileName == '绯荤粺绠$悊鍛�' || this.ProfileName == '2F4_鎶�鏈帹杩涢儴' || this.ProfileName == '2F1_鏈嶅姟绐楀彛')) {
+                	const evt = new ShowToastEvent({
+                            title : '娌℃湁鏉冮檺鎻愪氦锛岃鑱旂郴绯荤粺绠$悊鍛�',
+                            message: '',
+                            variant: 'error'
+                        });
+                        this.dispatchEvent(evt);
+                        this.dispatchEvent(new CloseActionScreenEvent());
+                        return;
+                }
+
+                if (this.IsSendQIS) {
+                	const evt = new ShowToastEvent({
+                            title : '宸叉彁浜ゅ埌SPO锛岃涓嶈閲嶅鎻愪氦',
+                            message: '',
+                            variant: 'error'
+                        });
+                        this.dispatchEvent(evt);
+                        this.dispatchEvent(new CloseActionScreenEvent());
+                        return;
+                }
+                this.send2SPO();
+        }).catch(error => {
+            console.log(error.getMessage());
+        }).finally(() => {
+
+        });
+    }
+    updateRecordView(recordId) {
+        updateRecord({fields: { Id: recordId }});
+    }
+
+    send2SPO(){
+        	sendSPO({
+        		 recordId: this.recordId
+        		}).then(result =>{
+        			console.log('result'+result);
+                     this.err = result;
+        			if (result!='鎴愬姛') {
+                        const evt = new ShowToastEvent({
+                            title : '鏇存柊澶辫触',
+                            message: this.err,
+                            variant: 'error'
+                        });
+                        this.dispatchEvent(evt);
+                        this.dispatchEvent(new CloseActionScreenEvent());
+                        return;
+                    }else{
+                    	const evt = new ShowToastEvent({
+                            title : '鎻愪氦鎴愬姛锛佽鍦⊿PO绯荤粺涓畬鎴愰��鎹㈣揣鐢宠',
+                            message: '',
+                            variant: 'success'
+                        });
+		                this.dispatchEvent(evt);   
+		                this.dispatchEvent(new CloseActionScreenEvent());
+		                this.updateRecordView(this.recordId);
+                        window.location.replace("https://olympus.sharepoint.cn/sites/GSPWF/SitePages/HomePage.aspx");
+                    }
+                
+        		}).catch(error => {
+            console.log('error='+error);
+        }).finally(() => {
+            
+        });
+    }
+
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSendQIS/lexSendQIS.js-meta.xml b/force-app/main/default/lwc/lexSendQIS/lexSendQIS.js-meta.xml
new file mode 100644
index 0000000..814503e
--- /dev/null
+++ b/force-app/main/default/lwc/lexSendQIS/lexSendQIS.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lexSendQIS">
+   <apiVersion>54.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightning__RecordPage</target>
+        <target>lightning__AppPage</target>
+        <target>lightning__HomePage</target>
+        <target>lightning__RecordAction</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSendRepairsToEtQ/lexSendRepairsToEtQ.html b/force-app/main/default/lwc/lexSendRepairsToEtQ/lexSendRepairsToEtQ.html
new file mode 100644
index 0000000..87f391a
--- /dev/null
+++ b/force-app/main/default/lwc/lexSendRepairsToEtQ/lexSendRepairsToEtQ.html
@@ -0,0 +1,6 @@
+<template>
+    <div class="exampleHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+        <lightning-button label="Show Toast" onclick={ShowToastEvent}></lightning-button>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSendRepairsToEtQ/lexSendRepairsToEtQ.js b/force-app/main/default/lwc/lexSendRepairsToEtQ/lexSendRepairsToEtQ.js
new file mode 100644
index 0000000..927e6d3
--- /dev/null
+++ b/force-app/main/default/lwc/lexSendRepairsToEtQ/lexSendRepairsToEtQ.js
@@ -0,0 +1,192 @@
+import {
+    LightningElement,
+    wire,
+    api
+} from 'lwc';
+import {
+    CurrentPageReference
+} from "lightning/navigation";
+import {
+    CloseActionScreenEvent
+} from 'lightning/actions';
+import init from '@salesforce/apex/otherButtonRepairController.init';
+import selectRecords from '@salesforce/apex/otherButtonRepairController.selectRecords';
+import sendToETQ from '@salesforce/apex/otherButtonRepairController.sendToETQ';
+import {
+    ShowToastEvent
+} from 'lightning/platformShowToastEvent';
+
+export default class LexSendRepairsToEtQ extends LightningElement {
+    @api recordId;
+    str;
+    IsLoading = true;
+    Id;;
+    PAEDetermineC;
+    ETQUPLOADSTATUSC;
+    AEDetermineResultC;
+    PAEDetermineACC;
+    RepairInspectionDateC;
+    ContainUseRSAC;
+    userID;
+    profileId;
+
+    @wire(CurrentPageReference)
+    getStateParameters(currentPageReference) {
+        if (currentPageReference) {
+            const urlValue = currentPageReference.state.recordId;
+            if (urlValue) {
+                let str = `${urlValue}`;
+                this.recordId = str;
+            }
+        }
+    }
+
+    connectedCallback() {
+        console.log(this.recordId);
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            console.log(result);
+            if (result != null) {
+                this.IsLoading = false;
+                this.Id = result.Id;
+                this.PAEDetermineC = result.PAEDetermineC;
+                this.ETQUPLOADSTATUSC = result.ETQUPLOADSTATUSC;
+                this.AEDetermineResultC = result.AEDetermineResultC;
+                this.PAEDetermineACC = result.PAEDetermineACC;
+                this.RepairInspectionDateC = result.RepairInspectionDateC;
+                this.ContainUseRSAC = result.ContainUseRSAC;
+                this.userID = result.userID;
+                this.profileId = result.profileId;
+
+                this.myDate();
+                this.myReload();
+                this.dispatchEvent(new CloseActionScreenEvent());
+            }
+        }).catch(error => {
+            console.log(error);
+        }).finally(() => {
+
+        });
+    }
+
+    // 鏍规嵁鏃ユ湡鏋勫缓MessageGroupNumber
+    myDate() {
+        let messageNumber = '';
+        let today = new Date();
+        messageNumber = today.getFullYear() + '' + (today.getMonth() + 1) + '' + today.getDate() + '' + today.getHours() + '' +
+            today.getMinutes() + '' + today.getSeconds();
+        return messageNumber;
+    }
+
+    // 鎸夐挳鐐瑰嚮鍚庤Е鍙�,鍒ゆ柇鏄惁鍙戦�佽繃ETQ,濡傛灉鍙戦�佽繃缁欏嚭鎻愮ず骞剁伆鎺夋寜閽�
+    // 濡傛灉娌℃湁鍙戦�佽繃璋冪敤鍙戦�佹柟娉�
+    myReload() {
+        selectRecords({
+            recordId: this.Id
+        }).then(result => {
+            console.log(result);
+            if (result.AsyncData__c == 'true' && result.ETQ_UPLOAD_STATUS__c != '3' || result.Complaint_Number__c != null) {
+                var btns = document.getElementsByName("sendrepairstoetq");
+                for (var i = 0; i < btns.length; i++) {
+                    btns[i].disabled = true;
+                    btns[i].className = 'btnDisabled';
+                }
+                this.ShowToastEvent('璇ヤ慨鐞嗕箣鍓嶅凡缁忓彂閫佽繃浜�', "error");
+                // alert('璇ヤ慨鐞嗕箣鍓嶅凡缁忓彂閫佽繃浜�')
+            } else {
+                this.SendRepairsToEtQ();
+            }
+        }).catch(error => {
+            console.log(error);
+        }).finally(() => {
+
+        });
+    }
+
+    // 鍙戦�丒TQ
+    SendRepairsToEtQ() {
+        console.log(this.userID);
+        console.log(this.profileId);
+
+        var uid = this.userID;
+        if (this.profileId != "00e10000000xnoO" && this.profileId != "00e10000000hl7w" && this.profileId != '00e10000000Y3o5') {
+            this.ShowToastEvent("鎮ㄦ病鏈夊彂閫佷慨鐞嗗埌EtQ鐨勬潈闄愩��", "error");
+            // alert("鎮ㄦ病鏈夊彂閫佷慨鐞嗗埌EtQ鐨勬潈闄愩��");
+            return;
+        }
+        var statu = '';
+        if (this.PAEDetermineC == undefined) {
+            this.ShowToastEvent("OCSM QARA鐨凱AE鍒ゅ畾鏄┖鐨勬椂鍊欙紝涓嶅彲浠ュ彂閫佸埌EtQ銆�", "error");
+            // alert("OCSM QARA鐨凱AE鍒ゅ畾鏄┖鐨勬椂鍊欙紝涓嶅彲浠ュ彂閫佸埌EtQ銆�");
+            return;
+        }
+        if (this.ETQUPLOADSTATUSC == "3") {
+            if (!confirm("鏄惁娓呯┖EtQ鍚屾鐘舵�侊紝閲嶆柊鍚屾鏁版嵁锛�")) {
+                return;
+            }
+        }
+        if (this.PAEDetermineC == "nonPAE" && this.AEDetermineResultC == "nonAE" && this.PAEDetermineACC == "nonPAE" && uid != "005100000068zJ6") {
+            this.ShowToastEvent("Close Complait鐨勬椂鍊欙紝涓嶅彲浠ュ彂閫佸埌EtQ", "error");
+            // alert("Close Complait鐨勬椂鍊欙紝涓嶅彲浠ュ彂閫佸埌EtQ");
+            return;
+        }
+        if (this.PAEDetermineC != undefined && this.AEDetermineResultC != undefined && this.PAEDetermineACC == undefined) {
+            statu = "R1";
+        } else if ((this.AEDetermineResultC != undefined && this.PAEDetermineC != undefined && this.PAEDetermineACC != undefined) &&
+            !(this.PAEDetermineC == "nonPAE" && this.AEDetermineResultC == "nonAE" && this.PAEDetermineACC == "nonPAE")) {
+            statu = "R2";
+            if (this.RepairInspectionDateC == "") {
+                this.ShowToastEvent("5.淇悊妫�娴嬫棩鏄┖鐨勬椂鍊欙紝涓嶅彲浠ュ彂閫佸埌EtQ銆�", "error");
+                // alert("5.淇悊妫�娴嬫棩鏄┖鐨勬椂鍊欙紝涓嶅彲浠ュ彂閫佸埌EtQ銆�");
+                return;
+            }
+            if (this.ContainUseRSAC == 1) {
+                this.ShowToastEvent("Final universal code涓虹┖锛屾垨鑰呭寘鍚玌seRSA锛岃纭銆�", "error");
+                // alert("Final universal code涓虹┖锛屾垨鑰呭寘鍚玌seRSA锛岃纭銆�");
+                return;
+            }
+        }
+
+        var result;
+        try {
+            var repairids = new Array()
+            repairids[0] = this.Id;
+
+            var statuArr = new Array();
+            statuArr.push(statu);
+
+            sendToETQ({
+                iflog_Id: "",
+                rowDataSFDC: "",
+                repairIds: repairids,
+                statu: statuArr[0]
+            }).then(result => {
+                this.ShowToastEvent(result, "error");
+                // alert(result);
+            }).catch(error => {
+                console.log(error);
+            })
+
+            var btns = document.getElementsByName("sendrepairstoetq");
+            for (var i = 0; i < btns.length; i++) {
+                btns[i].disabled = true;
+                btns[i].className = 'btnDisabled';
+            }
+            location.reload();
+        } catch (error) {
+            this.ShowToastEvent("鍙戦�佷慨鐞嗗埌EtQ澶辫触" + error.faultstring + ' code:' + error.faultcode, "error");
+            // alert("鍙戦�佷慨鐞嗗埌EtQ澶辫触" + error.faultstring + ' code:' + error.faultcode);
+        }
+    }
+
+    // 寮圭獥
+    ShowToastEvent(msg, type) {
+        const event = new ShowToastEvent({
+            title: '',
+            message: msg,
+            variant: type
+        });
+        this.dispatchEvent(event);
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSendRepairsToEtQ/lexSendRepairsToEtQ.js-meta.xml b/force-app/main/default/lwc/lexSendRepairsToEtQ/lexSendRepairsToEtQ.js-meta.xml
new file mode 100644
index 0000000..3392981
--- /dev/null
+++ b/force-app/main/default/lwc/lexSendRepairsToEtQ/lexSendRepairsToEtQ.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+	<isExposed>true</isExposed>
+	<targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexServiceCutPriceApply/lexServiceCutPriceApply.html b/force-app/main/default/lwc/lexServiceCutPriceApply/lexServiceCutPriceApply.html
new file mode 100644
index 0000000..aaa4cbd
--- /dev/null
+++ b/force-app/main/default/lwc/lexServiceCutPriceApply/lexServiceCutPriceApply.html
@@ -0,0 +1,6 @@
+<template>
+    <div class="toReportHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+        <lightning-button label="Show Toast" onclick={ShowToastEvent}></lightning-button>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexServiceCutPriceApply/lexServiceCutPriceApply.js b/force-app/main/default/lwc/lexServiceCutPriceApply/lexServiceCutPriceApply.js
new file mode 100644
index 0000000..333aeb7
--- /dev/null
+++ b/force-app/main/default/lwc/lexServiceCutPriceApply/lexServiceCutPriceApply.js
@@ -0,0 +1,113 @@
+import {
+    LightningElement,
+    wire,
+    api
+} from 'lwc';
+import {
+    CurrentPageReference
+} from "lightning/navigation";
+import {
+    CloseActionScreenEvent
+} from 'lightning/actions';
+import init from '@salesforce/apex/buttonRepairQuotationCtl.init';
+import updateRepairQuotation from '@salesforce/apex/buttonRepairQuotationCtl.updateRepairQuotation';
+import updateRepairQuotation02 from '@salesforce/apex/buttonRepairQuotationCtl.updateRepairQuotation02';
+import {
+    ShowToastEvent
+} from 'lightning/platformShowToastEvent';
+
+
+export default class LexServiceCutPriceApply extends LightningElement {
+    @api recordId;
+    str;
+    IsLoading = true;
+    Id;
+    CutPriceStatusServiceC;
+    profileId;
+
+    @wire(CurrentPageReference)
+    getStateParameters(currentPageReference) {
+        if (currentPageReference) {
+            const urlValue = currentPageReference.state.recordId;
+            if (urlValue) {
+                let str = `${urlValue}`;
+                this.recordId = str;
+            }
+        }
+    }
+
+    connectedCallback() {
+        console.log(this.recordId);
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            console.log(result);
+            if (result != null) {
+                this.IsLoading = false;
+                this.Id = result.Id;
+                this.CutPriceStatusServiceC = result.CutPriceStatusServiceC;
+                this.profileId = result.profileId;
+
+                this.ServiceCutPriceApply();
+                this.dispatchEvent(new CloseActionScreenEvent());
+            }
+        }).catch(error => {
+            console.log(error);
+        })
+    }
+
+    //鏈嶅姟鏈儴鍑忎环鐢宠
+    ServiceCutPriceApply() {
+        var power = this.profileId;
+        if (power != '00e10000000xnnz' && power != '00e10000000xno9' && power != '00e10000000NbC4') {
+            alert('瀵逛笉璧凤紝鎮ㄦ病鏈夋潈闄愭彁浜ゆ鐢宠锛�');
+            return;
+        }
+        var status = this.CutPriceStatusServiceC;
+        if (status == '瀹℃壒涓�') {
+            alert("瀹℃壒鎻愪氦鎴愬姛,褰撳墠姝e湪瀹℃壒璇峰嬁鍐嶆彁浜わ紒");
+            return;
+        }
+        if (status == '鎵瑰噯') {
+            alert("瀹℃壒宸叉壒鍑�,璇峰嬁鍐嶆彁浜わ紒");
+            return;
+        }
+        if (status == '鑽夋涓�' || status == undefined || status == '椹冲洖') {
+            updateRepairQuotation({
+                recordId: this.Id
+            }).then(result => {
+                console.log(result);
+                if (result.length > 0) {
+                    var indexs = result.indexOf(": ")
+                    var resolves = result.substring(indexs + 1, result.length);
+                    alert(resolves);
+                    return;
+                }
+            })
+            updateRepairQuotation02({
+                recordId: this.Id
+            }).then(result => {
+                console.log(result);
+                if (result.length > 0) {
+                    var indexs = result.indexOf(": ")
+                    var resolves = result.substring(indexs + 1, result.length);
+                    alert("鎻愪氦澶辫触" + resolves);
+                    return;
+                } else {
+                    alert("瀹℃壒鎻愪氦鎴愬姛锛�");
+                }
+            })
+        }
+        location.reload();
+    }
+
+    // 寮圭獥
+    ShowToastEvent(msg, type) {
+        const event = new ShowToastEvent({
+            title: '',
+            message: msg,
+            variant: type
+        });
+        this.dispatchEvent(event);
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexServiceCutPriceApply/lexServiceCutPriceApply.js-meta.xml b/force-app/main/default/lwc/lexServiceCutPriceApply/lexServiceCutPriceApply.js-meta.xml
new file mode 100644
index 0000000..3392981
--- /dev/null
+++ b/force-app/main/default/lwc/lexServiceCutPriceApply/lexServiceCutPriceApply.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+	<isExposed>true</isExposed>
+	<targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSplitApply/lexSplitApply.css b/force-app/main/default/lwc/lexSplitApply/lexSplitApply.css
new file mode 100644
index 0000000..af18c76
--- /dev/null
+++ b/force-app/main/default/lwc/lexSplitApply/lexSplitApply.css
@@ -0,0 +1,11 @@
+.Holder{
+	position: relative;
+	display: inline-block;
+	width: 80px;
+	height: 80px;
+	text-align: center;
+}
+
+.container .uiContainerManager{
+	display : none !important;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSplitApply/lexSplitApply.html b/force-app/main/default/lwc/lexSplitApply/lexSplitApply.html
new file mode 100644
index 0000000..960b41d
--- /dev/null
+++ b/force-app/main/default/lwc/lexSplitApply/lexSplitApply.html
@@ -0,0 +1,5 @@
+<template>
+      <div class="Holder" if:true={IsLoading}>
+              <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+      </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSplitApply/lexSplitApply.js b/force-app/main/default/lwc/lexSplitApply/lexSplitApply.js
new file mode 100644
index 0000000..25004a1
--- /dev/null
+++ b/force-app/main/default/lwc/lexSplitApply/lexSplitApply.js
@@ -0,0 +1,56 @@
+import { LightningElement,api, track, wire } from 'lwc';
+import {CurrentPageReference} from 'lightning/navigation';
+import { CloseActionScreenEvent } from 'lightning/actions';
+import init from '@salesforce/apex/SelectSubstituteControllerLWT.initFromSelectSubstituteButton';
+
+export default class lexSplitApply extends LightningElement {
+	@api recordId;
+    IsLoading=true;
+    id;
+    RentalApplyId;
+    Status;
+    @wire(CurrentPageReference)
+	getStateParameters(currentPageReference){
+		console.log("杩涘叆椤甸潰");
+		console.log(currentPageReference);
+		if(currentPageReference){
+			const urvalue=currentPageReference.state.recordId;
+			if(urvalue){
+				let str=`${urvalue}`;
+				console.log('str');
+				console.log(str);
+				this.recordId=str;
+			}
+		}
+	}
+
+
+
+	connectedCallback(){
+		console.log(this.recordId);
+		init({recordId:this.recordId}).then(result=>{
+			console.log(result);
+			if(result!=null){
+				this.id=result.id;
+			    this.RentalApplyId=result.RentalApplyId;
+			    this.Status=result.Status;
+				this.cancelSubmit().then(res=>{
+					this.IsLoading=false;
+					this.dispatchEvent(new CloseActionScreenEvent());
+				});	
+			}
+		}).catch(err=>{
+			console.log("error:");
+			console.log(err);
+		}).finally(()=>{
+
+		});
+	}
+
+
+ 
+    async cancelSubmit(){
+    	let records=[this.recordId];
+		window.open("/apex/RentalApplySplit?objId="+this.RentalApplyId+"&raesIds="+records, 'RentalApplySplit', 'width=600,height=200');
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSplitApply/lexSplitApply.js-meta.xml b/force-app/main/default/lwc/lexSplitApply/lexSplitApply.js-meta.xml
new file mode 100644
index 0000000..f4314e5
--- /dev/null
+++ b/force-app/main/default/lwc/lexSplitApply/lexSplitApply.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lexSplitApply">
+    <apiVersion>51.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightning__AppPage</target>
+        <target>lightning__RecordPage</target>
+        <target>lightning__HomePage</target>
+        <target>lightning__RecordAction</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexStockApply/lexStockApply.css b/force-app/main/default/lwc/lexStockApply/lexStockApply.css
new file mode 100644
index 0000000..39dab40
--- /dev/null
+++ b/force-app/main/default/lwc/lexStockApply/lexStockApply.css
@@ -0,0 +1,10 @@
+.lexStockApplyHolder{
+    position: relative;
+    display: inline-block;
+    width: 80px;
+    height: 80px;
+    text-align: center;
+}
+.container .uiContainerManager{
+	display: none !important;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexStockApply/lexStockApply.html b/force-app/main/default/lwc/lexStockApply/lexStockApply.html
new file mode 100644
index 0000000..5674b24
--- /dev/null
+++ b/force-app/main/default/lwc/lexStockApply/lexStockApply.html
@@ -0,0 +1,6 @@
+<template>
+    <div class="lexStockApplyHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+        <lightning-button label="Show Toast" onclick={ShowToastEvent}></lightning-button>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexStockApply/lexStockApply.js b/force-app/main/default/lwc/lexStockApply/lexStockApply.js
new file mode 100644
index 0000000..e82a54a
--- /dev/null
+++ b/force-app/main/default/lwc/lexStockApply/lexStockApply.js
@@ -0,0 +1,114 @@
+/*
+ * @Description: 
+ * @version: 
+ * @Author: chen jing wu
+ * @Date: 2023-04-14 13:04:53
+ * @LastEditors: chen jing wu
+ * @LastEditTime: 2023-04-14 17:54:56
+ */
+import { api, wire,LightningElement } from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import updateForStockApplyButton  from '@salesforce/apex/OpportunityLightingButtonController.updateForStockApplyButton';
+import init  from '@salesforce/apex/OpportunityLightingButtonController.initForStockApplyButton';
+import { updateRecord } from 'lightning/uiRecordApi';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+import { loadScript } from "lightning/platformResourceLoader";
+import connection from '@salesforce/resourceUrl/connection20';
+export default class LexStockApply extends LightningElement {
+    @api recordId;
+    stockApplyStatus;
+    lastOpportunityFileId;
+    IsLoading = true;  
+    @wire(CurrentPageReference)
+    getStateParameters(currentPageReference) {
+            console.log(111);
+            console.log(currentPageReference);
+
+        if (currentPageReference) {
+          const urlValue = currentPageReference.state.recordId;
+          if (urlValue) {
+            let str = `${urlValue}`;
+            console.log("str");
+            console.log(str);
+            this.recordId = str;
+          }
+        }
+    }
+    connectedCallback(){
+        init({
+            recordId: this.recordId
+        }).then(result=>{
+            console.log(result);
+            this.stockApplyStatus = result.stockApplyStatus;
+            this.lastOpportunityFileId = result.lastOpportunityFileId;
+            this.stockApply();
+        })
+    }
+    stockApply(){
+        var status = this.stockApplyStatus;
+        if (status != '鑽夋涓�' && status != '濉啓瀹屾瘯' && status != '涓嶆壒鍑�' && status != '' && status != undefined) {
+            this.showToast("澶囪揣鐢宠鐘舵�佷笉姝g‘锛屼笉鑳芥彁浜ゅ璐х敵璇枫��","error");
+            return;
+        }
+        var oppfile = this.lastOpportunityFileId;
+        if (oppfile == undefined || oppfile == '') {
+            this.showToast("璇蜂笂浼犺浠锋枃浠躲��","error");
+            return;
+        }
+
+        if (!confirm("涓�鏃︽彁浜ゆ璁板綍浠ュ緟鎵瑰噯锛屾牴鎹偍鐨勮缃偍鍙兘涓嶅啀鑳藉缂栬緫姝よ褰曟垨灏嗕粬浠庢壒鍑嗚繃绋嬩腑璋冨洖銆傛槸鍚︾户缁紵")) {
+            this.dispatchEvent(new CloseActionScreenEvent);
+            return;
+        }
+        
+        updateForStockApplyButton({
+            recordId: this.recordId,
+            flag: true
+        }).then(result=>{
+            if(result){
+                this.showToast(result,"error");
+                return;
+            }
+            Promise.all([
+               loadScript(this,connection)
+            ]).then(() =>{
+                var request = new window.sforce.ProcessSubmitRequest();
+                request.objectId = this.recordId;
+                console.log("s");
+                console.log(request);
+                console.log("e");
+                var processResults = window.sforce.Connection.prototype.process([request]);
+                console.log(processResults);
+                if (processResults[0].errors != null) {
+                    updateForStockApplyButton({
+                        recordId: this.recordId,
+                        flag: false
+                    }).then(result=>{
+                        if(result){
+                            this.showToast(result,"error");
+                            return;
+                        }
+                        this.IsLoading = false;
+                        this.updateRecordView(this.recordId);
+                        this.dispatchEvent(new CloseActionScreenEvent);
+                    })
+                }
+            }); 
+        }).catch(error=>{
+            console.log(error);
+        })
+    }
+    showToast(msg,type) {
+        const event = new ShowToastEvent({
+            title: '',
+            message: msg,
+            variant: type
+        });
+        this.dispatchEvent(event);
+        this.dispatchEvent(new CloseActionScreenEvent);
+      }
+      updateRecordView(recordId) {
+        updateRecord({fields: { Id: recordId }});
+      }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexStockApply/lexStockApply.js-meta.xml b/force-app/main/default/lwc/lexStockApply/lexStockApply.js-meta.xml
new file mode 100644
index 0000000..3392981
--- /dev/null
+++ b/force-app/main/default/lwc/lexStockApply/lexStockApply.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+	<isExposed>true</isExposed>
+	<targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSubmit/lexSubmit.css b/force-app/main/default/lwc/lexSubmit/lexSubmit.css
new file mode 100644
index 0000000..4379b62
--- /dev/null
+++ b/force-app/main/default/lwc/lexSubmit/lexSubmit.css
@@ -0,0 +1,10 @@
+.submitHolder{
+    position: relative;
+    display: inline-block;
+    width: 80px;
+    height: 80px;
+    text-align: center;
+}
+.container .uiContainerManager{
+	display: none !important;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSubmit/lexSubmit.html b/force-app/main/default/lwc/lexSubmit/lexSubmit.html
new file mode 100644
index 0000000..b494fe1
--- /dev/null
+++ b/force-app/main/default/lwc/lexSubmit/lexSubmit.html
@@ -0,0 +1,7 @@
+<template>
+    <div class="submitHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+        <lightning-button label="Show Toast" onclick={ShowToastEvent}></lightning-button>
+
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSubmit/lexSubmit.js b/force-app/main/default/lwc/lexSubmit/lexSubmit.js
new file mode 100644
index 0000000..f282667
--- /dev/null
+++ b/force-app/main/default/lwc/lexSubmit/lexSubmit.js
@@ -0,0 +1,68 @@
+/*
+ * @Description: 
+ * @version: 
+ * @Author: chen jing wu
+ * @Date: 2023-04-11 16:46:48
+ * @LastEditors: chen jing wu
+ * @LastEditTime: 2023-04-11 16:48:05
+ */
+import { LightningElement,wire,track,api} from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import updateForSubmitButton  from '@salesforce/apex/ReportController.updateForSubmitButton';
+import { updateRecord } from 'lightning/uiRecordApi';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+export default class LexSubmit extends LightningElement {
+    @api recordId;
+    IsLoading = true;
+    @wire(CurrentPageReference)
+     getStateParameters(currentPageReference) {
+             console.log(111);
+             console.log(currentPageReference);
+
+         if (currentPageReference) {
+           const urlValue = currentPageReference.state.recordId;
+           if (urlValue) {
+             let str = `${urlValue}`;
+             console.log("str");
+             console.log(str);
+             this.recordId = str;
+           }
+         }
+     }
+
+     connectedCallback(){
+        this.submit();
+        
+     }
+
+
+     showToast(msg,type) {
+      const event = new ShowToastEvent({
+          title: '',
+          message: msg,
+          variant: type
+      });
+      this.dispatchEvent(event);
+    }
+
+
+     updateRecordView(recordId) {
+        updateRecord({fields: { Id: recordId }});
+    }
+
+     submit(){
+        updateForSubmitButton({
+          recordId: this.recordId
+        }).then(result=>{
+          if(result){
+            this.showToast(result,"error");
+          }else{
+            this.updateRecordView(this.recordId);
+            this.showToast("鎻愪氦鎴愬姛","success");
+          }
+          this.IsLoading = false;
+          this.dispatchEvent(new CloseActionScreenEvent());
+        });
+     }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSubmit/lexSubmit.js-meta.xml b/force-app/main/default/lwc/lexSubmit/lexSubmit.js-meta.xml
new file mode 100644
index 0000000..329e839
--- /dev/null
+++ b/force-app/main/default/lwc/lexSubmit/lexSubmit.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSubmitApprovalProcess/lexSubmitApprovalProcess.css b/force-app/main/default/lwc/lexSubmitApprovalProcess/lexSubmitApprovalProcess.css
new file mode 100644
index 0000000..af18c76
--- /dev/null
+++ b/force-app/main/default/lwc/lexSubmitApprovalProcess/lexSubmitApprovalProcess.css
@@ -0,0 +1,11 @@
+.Holder{
+	position: relative;
+	display: inline-block;
+	width: 80px;
+	height: 80px;
+	text-align: center;
+}
+
+.container .uiContainerManager{
+	display : none !important;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSubmitApprovalProcess/lexSubmitApprovalProcess.html b/force-app/main/default/lwc/lexSubmitApprovalProcess/lexSubmitApprovalProcess.html
new file mode 100644
index 0000000..404c915
--- /dev/null
+++ b/force-app/main/default/lwc/lexSubmitApprovalProcess/lexSubmitApprovalProcess.html
@@ -0,0 +1,5 @@
+<template>
+	<!-- <div class="Holder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+	</div> -->
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSubmitApprovalProcess/lexSubmitApprovalProcess.js b/force-app/main/default/lwc/lexSubmitApprovalProcess/lexSubmitApprovalProcess.js
new file mode 100644
index 0000000..2a9ab34
--- /dev/null
+++ b/force-app/main/default/lwc/lexSubmitApprovalProcess/lexSubmitApprovalProcess.js
@@ -0,0 +1,101 @@
+import { LightningElement, track, wire,api } from 'lwc';
+import {CurrentPageReference,NavigationMixin} from 'lightning/navigation';
+import { CloseActionScreenEvent } from 'lightning/actions';
+import LightningConfirm from 'lightning/confirm';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+
+
+
+import applyPermission from '@salesforce/apex/TransferApplyController.applyPermission';
+import submitApply from '@salesforce/apex/TransferApplyWebService.submitApply';
+
+export default class lexSubmitApprovalProcess extends LightningElement {
+	@api recordId;
+	transferApplyPermission;
+	IsLoading=true;
+
+	@wire(CurrentPageReference)
+	getStateParameters(currentPageReference) {
+		console.log(currentPageReference);
+
+		if(currentPageReference) {
+			const urlValue = currentPageReference.state.recordId;
+			if(urlValue) {
+				let str = `${urlValue}`;
+		        console.log("str");
+		        console.log(str);
+		        this.recordId = str;
+
+			}
+		}
+	}
+
+	connectedCallback() {
+		console.log('this.transferApplyId:' + this.recordId);
+		applyPermission().then(result => {
+			console.log(result);
+			this.transferApplyPermission = result;			
+			this.cancelSubmit();	
+					
+		}).catch( error =>{
+			console.log(error);
+		});
+	}
+	
+	cancelSubmit(){
+		if (this.transferApplyPermission == false) {
+			this.showToast('','娌℃湁鎻愪氦鐢宠鐨勬潈闄�','warning');
+		} else{
+			LightningConfirm.open({
+	            message: '涓�鏃︽彁浜ゆ璁板綍浠ュ緟鎵瑰噯锛屾牴鎹偍鐨勮缃偍鍙兘涓嶅啀鑳藉缂栬緫姝よ褰曟垨灏嗕粬浠庢壒鍑嗚繃绋嬩腑璋冨洖銆傛槸鍚︾户缁紵',
+	            variant: 'headerless',
+	          
+	        }).then(cancel=>{
+	        	if(cancel) {
+	    			submitApply({taId:this.recordId}).then(submitRes=>{
+						if(submitRes == '1'){
+							this.showToast('','鎻愪氦鎴愬姛','success');
+							window.location.href = window.location;
+						}else{
+							this.showToast("",submitRes,"warning");
+						}
+						this.IsLoading=false;
+						this.dispatchEvent(new CloseActionScreenEvent());
+					});	
+	        	}
+	        });
+			
+		}		
+    }
+    
+    showToast(_title,_message,_variant) {
+        const event = new ShowToastEvent({
+            title: _title,
+            message:_message,
+            variant: _variant,
+        });
+        this.dispatchEvent(event);
+    }
+}
+
+//old js
+/*
+{!REQUIRESCRIPT('/soap/ajax/51.0/connection.js')}
+{!REQUIRESCRIPT('/soap/ajax/51.0/apex.js')}
+var result = sforce.connection.describeSObject('TransferApply__c');
+if (result.createable == 'false') {
+	alert('娌℃湁鎻愪氦鐢宠鐨勬潈闄�');
+}
+else{
+	if (confirm("涓�鏃︽彁浜ゆ璁板綍浠ュ緟鎵瑰噯锛屾牴鎹偍鐨勮缃偍鍙兘涓嶅啀鑳藉缂栬緫姝よ褰曟垨灏嗕粬浠庢壒鍑嗚繃绋嬩腑璋冨洖銆傛槸鍚︾户缁紵")) {
+		var rs = sforce.apex.execute("TransferApplyWebService","submitApply",{taId:'{!TransferApply__c.Id}'});
+		if(rs == '1'){
+			alert('鎻愪氦鎴愬姛');
+			window.location.href = window.location;
+		}
+		else{
+			alert(rs);
+		}
+	}
+}
+*/
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSubmitApprovalProcess/lexSubmitApprovalProcess.js-meta.xml b/force-app/main/default/lwc/lexSubmitApprovalProcess/lexSubmitApprovalProcess.js-meta.xml
new file mode 100644
index 0000000..4fe44a7
--- /dev/null
+++ b/force-app/main/default/lwc/lexSubmitApprovalProcess/lexSubmitApprovalProcess.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lexSubmitApprovalProcess">
+    <apiVersion>51.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightning__RecordPage</target>
+        <target>lightning__AppPage</target>
+        <target>lightning__HomePage</target>
+        <target>lightning__RecordAction</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSubmitCompetitorReport/lexSubmitCompetitorReport.css b/force-app/main/default/lwc/lexSubmitCompetitorReport/lexSubmitCompetitorReport.css
new file mode 100644
index 0000000..4379b62
--- /dev/null
+++ b/force-app/main/default/lwc/lexSubmitCompetitorReport/lexSubmitCompetitorReport.css
@@ -0,0 +1,10 @@
+.submitHolder{
+    position: relative;
+    display: inline-block;
+    width: 80px;
+    height: 80px;
+    text-align: center;
+}
+.container .uiContainerManager{
+	display: none !important;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSubmitCompetitorReport/lexSubmitCompetitorReport.html b/force-app/main/default/lwc/lexSubmitCompetitorReport/lexSubmitCompetitorReport.html
new file mode 100644
index 0000000..9625dc2
--- /dev/null
+++ b/force-app/main/default/lwc/lexSubmitCompetitorReport/lexSubmitCompetitorReport.html
@@ -0,0 +1,6 @@
+<template>
+    <div class="submitHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+        <lightning-button label="Show Toast" onclick={ShowToastEvent}></lightning-button>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSubmitCompetitorReport/lexSubmitCompetitorReport.js b/force-app/main/default/lwc/lexSubmitCompetitorReport/lexSubmitCompetitorReport.js
new file mode 100644
index 0000000..cff5fa6
--- /dev/null
+++ b/force-app/main/default/lwc/lexSubmitCompetitorReport/lexSubmitCompetitorReport.js
@@ -0,0 +1,74 @@
+/*
+ * @Description: 
+ * @version: 
+ * @Author: chen jing wu
+ * @Date: 2023-04-07 09:02:03
+ * @LastEditors: chen jing wu
+ * @LastEditTime: 2023-04-11 11:28:51
+ */
+import { LightningElement,wire,track,api} from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import { NavigationMixin } from 'lightning/navigation';
+import  otherButtonInSubmitCompetitorReport  from '@salesforce/apex/ReportController.updateForSubmitCompetitorReportButton';
+import { updateRecord } from 'lightning/uiRecordApi';
+import init  from '@salesforce/apex/ReportController.initForSubmitCompetitorReportButton';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+export default class LexSubmitCompetitorReport extends LightningElement {
+    @api recordId;
+    IsLoading = true;
+
+    @wire(CurrentPageReference)
+    getStateParameters(currentPageReference) {
+            console.log(111);
+            console.log(currentPageReference);
+
+        if (currentPageReference) {
+          const urlValue = currentPageReference.state.recordId;
+          if (urlValue) {
+            let str = `${urlValue}`;
+            console.log("str");
+            console.log(str);
+            this.recordId = str;
+          }
+        }
+    }
+
+    updateRecordView(recordId) {
+      updateRecord({fields: { Id: recordId }});
+  }
+
+    connectedCallback(){
+          init({
+            recordId: this.recordId
+          }).then(result=>{
+            this.submit();
+          });
+          
+    }
+
+    showToast(msg,type) {
+      const event = new ShowToastEvent({
+          title: '',
+          message: msg,
+          variant: type
+      });
+      this.dispatchEvent(event);
+  }
+    
+
+    submit(){
+      otherButtonInSubmitCompetitorReport({
+        recordId: this.recordId
+    }).then(result=>{
+      if(result){
+        this.showToast(result,"error");
+      }else{
+        this.showToast("鎻愪氦瀵规墜绔炰簤鎶ュ憡鎴愬姛","success")
+        this.updateRecordView(this.recordId);  
+      }
+      this.IsLoading = false;
+      this.dispatchEvent(new CloseActionScreenEvent());
+    });
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSubmitCompetitorReport/lexSubmitCompetitorReport.js-meta.xml b/force-app/main/default/lwc/lexSubmitCompetitorReport/lexSubmitCompetitorReport.js-meta.xml
new file mode 100644
index 0000000..8b2c3d6
--- /dev/null
+++ b/force-app/main/default/lwc/lexSubmitCompetitorReport/lexSubmitCompetitorReport.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+   <apiVersion>54.0</apiVersion>
+	<isExposed>true</isExposed>
+	<targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSubmitExtensionApprovalProcess/lexSubmitExtensionApprovalProcess.css b/force-app/main/default/lwc/lexSubmitExtensionApprovalProcess/lexSubmitExtensionApprovalProcess.css
new file mode 100644
index 0000000..ebb43d9
--- /dev/null
+++ b/force-app/main/default/lwc/lexSubmitExtensionApprovalProcess/lexSubmitExtensionApprovalProcess.css
@@ -0,0 +1,10 @@
+.exampleHolder{
+    position: relative;
+    display: inline-block;
+    width: 80px;
+    height: 80px;
+    text-align: center;
+}
+.container .uiContainerManager{
+	display: none !important;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSubmitExtensionApprovalProcess/lexSubmitExtensionApprovalProcess.html b/force-app/main/default/lwc/lexSubmitExtensionApprovalProcess/lexSubmitExtensionApprovalProcess.html
new file mode 100644
index 0000000..3eff9e8
--- /dev/null
+++ b/force-app/main/default/lwc/lexSubmitExtensionApprovalProcess/lexSubmitExtensionApprovalProcess.html
@@ -0,0 +1,5 @@
+<template>
+    <div class="EquipmentRentalPDF" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSubmitExtensionApprovalProcess/lexSubmitExtensionApprovalProcess.js b/force-app/main/default/lwc/lexSubmitExtensionApprovalProcess/lexSubmitExtensionApprovalProcess.js
new file mode 100644
index 0000000..eefc389
--- /dev/null
+++ b/force-app/main/default/lwc/lexSubmitExtensionApprovalProcess/lexSubmitExtensionApprovalProcess.js
@@ -0,0 +1,76 @@
+import { LightningElement, track, wire, api } from 'lwc';
+import { CurrentPageReference,NavigationMixin } from 'lightning/navigation';
+import { CloseActionScreenEvent } from 'lightning/actions';
+
+import init from '@salesforce/apex/SubmitExtensionApprovalProcessController.init';
+import extension_approval_processCheck from '@salesforce/apex/RentalApplyWebService.extension_approval_processCheck'
+export default class lexSubmitExtensionApprovalProcess extends LightningElement {
+	@api
+	recordId;
+	IsLoading = true;
+
+	@wire(CurrentPageReference)
+	getStateParameters(currentPageReference){
+		if(currentPageReference) {
+			const urlValue = currentPageReference.state.recordId;
+			if(urlValue) {
+				let str = `${urlValue}`;
+		        this.recordId = str;
+			}
+		}
+	}
+
+	connectedCallback(){
+		init({
+			recordId:this.recordId
+		}).then(result=>{
+			console.log(result);
+			var today = new Date();
+			//杩藉姞澶囧搧鐢宠鐘舵�佺‘璁わ紝宸茬粡鎻愪氦杩囩殑鐢宠锛屼笉鑳介噸澶嶆彁浜tatus__c 
+			if(result.ExtensionStatus == '濉啓瀹屾瘯' || result.ExtensionStatus == '鐢宠涓�') {
+				alert('璇风‘璁ゅ欢鏈熺敵璇风姸鎬侊紝宸茬粡鎻愪氦杩囩殑鐢宠锛屼笉鑳介噸澶嶆彁浜�');
+				return; 
+			}
+			extension_approval_processCheck({rentalApplyId:this.recordId}).then( result =>{
+				if(result != '1'){
+					if(result == '2'){
+						//杩斿洖鍊间负2锛屽垽鏂叆鍙d负浠庡崟杩樻槸涓诲崟锛屽鏋滄槸浠庡崟锛岄偅涔堝氨闇�瑕佽烦鍘熸潵鐨勫崟涓欢鏈熼〉闈� 
+						if(result.RootRentalApply == '' || result.RootRentalApply == null){
+							window.open("/apex/RentalApplyMultiPostpone?parentId=" + this.recordId); 
+						}else {
+							window.open("/apex/RentalApplyExtensions?parentId=" + this.recordId); 
+						}
+					}else{
+						alert(result);
+						this.dispatchEvent(new CloseActionScreenEvent());
+						return
+					}
+				}else{
+					if(result.demoPurpose2 == '鍗忚鍊熺敤'){
+						alert('璇峰湪[闄勪欢]鍐呬笂浼犳柊鐨勫悎鍚岄檮浠讹紝骞朵緷鎹悎鍚屽唴鏈熼檺杩涜鏃ユ湡濉啓锛屼箣鍚庢彁浜ゅ鎵�'); 
+						return;
+					}
+					if(result.AgreementBorrowingExtensionDate =='' || result.AgreementBorrowingExtensionDate == null){
+						alert('鍗忚鍊熺敤鐨勫欢鏈熺敵璇风殑銆愬崗璁�熺敤寤舵湡鏃ユ湡銆戜笉鑳戒负绌�'); 
+						return;
+					}
+					if(result.AgreementBorrowingExtensionDate <= result.ReturnDadelineFinal){
+						alert('鍗忚鍊熺敤鐨勫欢鏈熺敵璇风殑銆愬崗璁�熺敤寤舵湡鏃ユ湡銆戝繀椤诲ぇ浜庢渶鏂伴瀹氬綊杩樻棩');
+						return; 
+					}
+					if(result.AgreementBorrowingExtensionDate <= today ){
+						alert('鍗忚鍊熺敤鐨勫欢鏈熺敵璇风殑銆愬崗璁�熺敤寤舵湡鏃ユ湡銆戝繀椤诲ぇ浜庝粖澶�');
+						return; 
+					}
+				}
+				window.open("/apex/RentalApplyExtensions?parentId=" + this.recordId); 
+				this.dispatchEvent(new CloseActionScreenEvent());
+			}).catch(err=>{
+				console.log('extension_approval_processCheckerr==='+err);
+			})
+		})			
+		.catch(err=>{
+			console.log('error====>'+err);
+		})
+	}
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSubmitExtensionApprovalProcess/lexSubmitExtensionApprovalProcess.js-meta.xml b/force-app/main/default/lwc/lexSubmitExtensionApprovalProcess/lexSubmitExtensionApprovalProcess.js-meta.xml
new file mode 100644
index 0000000..e261be9
--- /dev/null
+++ b/force-app/main/default/lwc/lexSubmitExtensionApprovalProcess/lexSubmitExtensionApprovalProcess.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightning__RecordPage</target>
+        <target>lightning__AppPage</target>
+        <target>lightning__HomePage</target>
+        <target>lightning__RecordAction</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSubmitForApproval/lexSubmitForApproval.html b/force-app/main/default/lwc/lexSubmitForApproval/lexSubmitForApproval.html
new file mode 100644
index 0000000..d044dbb
--- /dev/null
+++ b/force-app/main/default/lwc/lexSubmitForApproval/lexSubmitForApproval.html
@@ -0,0 +1,5 @@
+<template>
+    <div class="exampleHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSubmitForApproval/lexSubmitForApproval.js b/force-app/main/default/lwc/lexSubmitForApproval/lexSubmitForApproval.js
new file mode 100644
index 0000000..9de188b
--- /dev/null
+++ b/force-app/main/default/lwc/lexSubmitForApproval/lexSubmitForApproval.js
@@ -0,0 +1,71 @@
+import {
+    LightningElement,
+    wire,
+    api
+} from 'lwc';
+import {
+    CurrentPageReference
+} from "lightning/navigation";
+import {
+    CloseActionScreenEvent
+} from 'lightning/actions';
+import init from '@salesforce/apex/otherButtonMaintenanceContractCtl.init';
+import selectRecords from '@salesforce/apex/otherButtonMaintenanceContractCtl.selectRecords';
+
+export default class LexSubmitForApproval extends LightningElement {
+    @api recordId;
+    str;
+    IsLoading = true;
+    Id;
+
+    @wire(CurrentPageReference)
+    getStateParameters(currentPageReference) {
+        if (currentPageReference) {
+            const urlValue = currentPageReference.state.recordId;
+            if (urlValue) {
+                let str = `${urlValue}`;
+                this.recordId = str;
+            }
+        }
+    }
+
+    connectedCallback() {
+        console.log(this.recordId);
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            console.log(result);
+            if (result != null) {
+                this.IsLoading = false;
+                this.Id = result.Id;
+
+                this.SubmitForApproval();
+                this.dispatchEvent(new CloseActionScreenEvent());
+            }
+        }).catch(error => {
+            console.log(error);
+        }).finally(() => {
+
+        });
+    }
+
+    // 鍏抽棴璇环/鍏抽棴缁
+    SubmitForApproval() {
+        var url = '';
+        selectRecords({
+            recordId: this.Id
+        }).then(result => {
+            console.log(result);
+            if (result.length > 0) {
+                url = "/apex/SubmitForApprovalPage?id=" + result[0].Id;
+            } else {
+                url = "/apex/SubmitForApprovalPage?mcId=" + this.Id;
+            }
+            window.open(url, '', 'height=350, width=600, top=200, left=350,location=no');
+        }).catch(error => {
+            console.log("error");
+        }).finally(() => {
+
+        });
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSubmitForApproval/lexSubmitForApproval.js-meta.xml b/force-app/main/default/lwc/lexSubmitForApproval/lexSubmitForApproval.js-meta.xml
new file mode 100644
index 0000000..3392981
--- /dev/null
+++ b/force-app/main/default/lwc/lexSubmitForApproval/lexSubmitForApproval.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+	<isExposed>true</isExposed>
+	<targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSummonsCreat/lexSummonsCreat.html b/force-app/main/default/lwc/lexSummonsCreat/lexSummonsCreat.html
index 54406f2..fc8aa29 100644
--- a/force-app/main/default/lwc/lexSummonsCreat/lexSummonsCreat.html
+++ b/force-app/main/default/lwc/lexSummonsCreat/lexSummonsCreat.html
@@ -57,112 +57,337 @@
 
     <div class="outerBorderCss">
         <div style="padding: 5px">
-            <!-- 鎸夐挳 -->
-            <div class="borderCss">
-                <div style="padding: 10px">
-                    <div lwc:dom="manual" class="resultDiv"></div>
-                    <div draggable="false">
-                        <!-- <lightning-button label="淇濆瓨" onclick={neworderhead}
-                            style="margin-left: 100px;"></lightning-button> -->
-                        <table>
-                            <colgroup>
-                                <col width="150px" />
-                                <col width="200px" />
-                                <col width="200px" />
-                                <col width="200px" />
-                                <col width="200px" />
-                                <col width="200px" />
-                                <col width="90px" />
-                                <col width="100px" />
-                                <col width="10px" />
-                                <col width="85px" />
-                                <col width="100px" />
-                                <col width="10px" />
-                                <col width="70px" />
-                                <col width="100px" />
-                            </colgroup>
-                            <tr>
-                                <td></td>
-                                <!-- <td  colspan="4"><apex:commandButton onclick="saveConfirmJs('{!coc.SummonsStatus_c__c}');" value="淇濆瓨" style="width:150px" rerender="dummy" rendered="{!(EditDelCommitBtnDisabled||EditAble)}"/></td> -->
-                                <td colspan="4">
-                                    <template if:true={isSaveShow}>
-                                        <lightning-button label="淇濆瓨" onclick={saveConfirmJs}
-                                            style="width: 150px"></lightning-button>
-                                    </template>
-                                </td>
-                            </tr>
-                            <tr>
-                                <td></td>
-                                <td>
-                                    <!-- <apex:commandButton onclick="EditConsumable();"   value="缂栬緫鍑哄簱鍗�" style="width:150px" rerender="dummy" rendered="{!!(EditDelCommitBtnDisabled||EditAble)}" disabled="{!IF(coc.SummonsStatus_c__c='宸插畬鎴�',true,false)}"/> -->
-                                    <template if:true={isEditShow}>
-                                        <lightning-button label="缂栬緫鍑哄簱鍗�" onclick={EditConsumable} style="width: 150px"
-                                            disabled={isEditDisabled}></lightning-button>
-                                    </template>
-                                </td>
-                                <!--CHAN-B65CAZ 20181105 UpdateStart-->
-                                <!-- <td ><apex:commandButton onclick="CommitConsumable();" value="鎻愪氦鍑哄簱鍗�" style="width:150px" rerender="dummy" rendered="{!!(EditDelCommitBtnDisabled||EditAble)}" disabled="{!IF(coc.SummonsStatus_c__c='鎵瑰噯'||coc.SummonsStatus_c__c='宸查攢鍞緟涓婁紶绾冲搧涔�'||coc.SummonsStatus_c__c='鍑哄簱鍗曞凡鎵撳嵃'||coc.SummonsStatus_c__c='宸插畬鎴�',true,false)}"/></td> -->
-                                <td>
-                                    <!-- <apex:commandButton onclick="GoodsDeliveryJs();"  value="鍑鸿揣/閿�鍞�"     style="width:150px" rerender="dummy" rendered="{!!(EditDelCommitBtnDisabled||EditAble)}" disabled="{!IF(coc.SummonsStatus_c__c='宸查攢鍞緟涓婁紶绾冲搧涔�'||coc.SummonsStatus_c__c='宸插畬鎴�'||coc.SummonsStatus_c__c='浠锋牸鏈畾',true,false)}"/> -->
-                                    <template if:true={isDeliveryShow}>
-                                        <lightning-button label="鍑鸿揣/閿�鍞�" onclick={GoodsDeliveryJs} style="width: 150px"
-                                            disabled={isDeliveryDisabled}></lightning-button>
-                                    </template>
-                                </td>
-                                <!-- CHAN-B65CAZ 20181105 UpdateEnd-->
-                                <td>
-                                    <!-- <apex:commandButton onclick="openToInvoiceJs();return false;" value="寮�绁�" style="width:150px" rerender="dummy" rendered="{!!(EditDelCommitBtnDisabled||EditAble)}" disabled="{!IF(((coc.Billed_Status__c !='鍏ㄩ儴寮�绁�' &&coc.SummonsStatus_c__c='宸插畬鎴�') || coc.Onchange_order__c = true) && coc.SummonsForDirction__c!='浜掔浉璋冭揣',false,true)}"/> -->
-                                    <template if:true={isOpenToInvoiceShow}>
-                                        <lightning-button label="寮�绁�" onclick={openToInvoiceJs} style="width: 150px"
-                                            disabled={isOpenToInvoiceDisabled}></lightning-button>
-                                    </template>
-                                </td>
-                            </tr>
-                            <tr>
-                                <td></td>
-                                <!--CHAN-B65CAZ 20181105 UpdateStart-->
-                                <td>
-                                    <!-- <apex:commandButton onclick="PraseToPDFJs();" value="鎵撳嵃鎸囩ず鍗�" style="width:150px" rerender="dummy" rendered="{!!(EditDelCommitBtnDisabled||EditAble)}" disabled="{!IF(coc.SummonsStatus_c__c='宸查攢鍞緟涓婁紶绾冲搧涔�'||coc.SummonsStatus_c__c='鎵瑰噯'||coc.SummonsStatus_c__c='鍑哄簱鍗曞凡鎵撳嵃'||coc.SummonsStatus_c__c='鑽夋涓�',false,true)}"/> -->
-                                    <template if:true={isPraseToPDFShow}>
-                                        <lightning-button label="鎵撳嵃鎸囩ず鍗�" onclick={PraseToPDFJs} style="width: 150px"
-                                            disabled={isPraseToPDFDisabled}></lightning-button>
-                                    </template>
-                                </td>
-                                <!-- CHAN-B65CAZ 20181105 UpdateEnd-->
-                                <td>
-                                    <!-- <apex:commandButton onclick="openReportJs(); return false;" value="鏄剧ず鏄庣粏" style="width:150px" rerender="dummy" rendered="{!!(EditDelCommitBtnDisabled||EditAble)}" disabled="{!IF(coc.Billed_Status__c !='杩樻病寮�绁�' || coc.SummonsStatus_c__c='宸插畬鎴�',false,true)}"/> -->
-                                    <template if:true={isOpenReportShow}>
-                                        <lightning-button label="鏄剧ず鏄庣粏" onclick={openReportJs} style="width: 150px"
-                                            disabled={isOpenReportDisabled}></lightning-button>
-                                    </template>
-                                </td>
-                                <td>
-                                    <!-- <apex:commandButton onclick="DeleteConsumable();" value="鍒犻櫎" style="width:150px" rerender="dummy" rendered="{!!(EditDelCommitBtnDisabled||EditAble)}" disabled="{!IF(coc.SummonsStatus_c__c='宸查攢鍞緟涓婁紶绾冲搧涔�'||coc.SummonsStatus_c__c='浠锋牸鏈畾'||coc.SummonsStatus_c__c='鎵瑰噯'||coc.SummonsStatus_c__c='鍑哄簱鍗曞凡鎵撳嵃'||coc.SummonsStatus_c__c='宸插畬鎴�',true,false)}"/> -->
-                                    <template if:true={isDeleteShow}>
-                                        <lightning-button label="鍒犻櫎" onclick={DeleteConsumable} style="width: 150px"
-                                            disabled={isDeleteDisabled}></lightning-button>
-                                    </template>
-                                </td>
-                                <td></td>
-                            </tr>
-                        </table>
-                    </div>
-                </div>
-            </div>
-
-            <!-- 鍑哄簱鍗曚俊鎭� EditAble = true -->
-            <template if:true={EditAble}>
+            <template if:false={isShippingSales}>
+                <!-- 鎸夐挳 -->
                 <div class="borderCss">
-                    <div class="headerDorderCss">
-                        <p style="font-size: 16px">
-                            <strong>鍑哄簱鍗曚俊鎭�</strong>
-                        </p>
-                    </div>
                     <div style="padding: 10px">
                         <div lwc:dom="manual" class="resultDiv"></div>
                         <div draggable="false">
-                            <!-- SummonsStatus_c__c == '浠锋牸鏈畾' -->
-                            <template if:true={summonsStatusPriceNotDetermined}>
+                            <!-- <lightning-button label="淇濆瓨" onclick={neworderhead}
+                                style="margin-left: 100px;"></lightning-button> -->
+                            <table>
+                                <colgroup>
+                                    <col width="150px" />
+                                    <col width="200px" />
+                                    <col width="200px" />
+                                    <col width="200px" />
+                                    <col width="200px" />
+                                    <col width="200px" />
+                                    <col width="90px" />
+                                    <col width="100px" />
+                                    <col width="10px" />
+                                    <col width="85px" />
+                                    <col width="100px" />
+                                    <col width="10px" />
+                                    <col width="70px" />
+                                    <col width="100px" />
+                                </colgroup>
+                                <tr>
+                                    <td></td>
+                                    <!-- <td  colspan="4"><apex:commandButton onclick="saveConfirmJs('{!coc.SummonsStatus_c__c}');" value="淇濆瓨" style="width:150px" rerender="dummy" rendered="{!(EditDelCommitBtnDisabled||EditAble)}"/></td> -->
+                                    <td colspan="4">
+                                        <template if:true={isSaveShow}>
+                                            <lightning-button label="淇濆瓨" onclick={saveConfirmJs}
+                                                style="width: 150px"></lightning-button>
+                                        </template>
+                                    </td>
+                                </tr>
+                                <tr>
+                                    <td></td>
+                                    <td>
+                                        <!-- <apex:commandButton onclick="EditConsumable();"   value="缂栬緫鍑哄簱鍗�" style="width:150px" rerender="dummy" rendered="{!!(EditDelCommitBtnDisabled||EditAble)}" disabled="{!IF(coc.SummonsStatus_c__c='宸插畬鎴�',true,false)}"/> -->
+                                        <template if:true={isEditShow}>
+                                            <lightning-button label="缂栬緫鍑哄簱鍗�" onclick={EditConsumable}
+                                                style="width: 150px" disabled={isEditDisabled}></lightning-button>
+                                        </template>
+                                    </td>
+                                    <!--CHAN-B65CAZ 20181105 UpdateStart-->
+                                    <!-- <td ><apex:commandButton onclick="CommitConsumable();" value="鎻愪氦鍑哄簱鍗�" style="width:150px" rerender="dummy" rendered="{!!(EditDelCommitBtnDisabled||EditAble)}" disabled="{!IF(coc.SummonsStatus_c__c='鎵瑰噯'||coc.SummonsStatus_c__c='宸查攢鍞緟涓婁紶绾冲搧涔�'||coc.SummonsStatus_c__c='鍑哄簱鍗曞凡鎵撳嵃'||coc.SummonsStatus_c__c='宸插畬鎴�',true,false)}"/></td> -->
+                                    <td>
+                                        <!-- <apex:commandButton onclick="GoodsDeliveryJs();"  value="鍑鸿揣/閿�鍞�"     style="width:150px" rerender="dummy" rendered="{!!(EditDelCommitBtnDisabled||EditAble)}" disabled="{!IF(coc.SummonsStatus_c__c='宸查攢鍞緟涓婁紶绾冲搧涔�'||coc.SummonsStatus_c__c='宸插畬鎴�'||coc.SummonsStatus_c__c='浠锋牸鏈畾',true,false)}"/> -->
+                                        <template if:true={isDeliveryShow}>
+                                            <lightning-button label="鍑鸿揣/閿�鍞�" onclick={GoodsDeliveryJs}
+                                                style="width: 150px" disabled={isDeliveryDisabled}></lightning-button>
+                                        </template>
+                                    </td>
+                                    <!-- CHAN-B65CAZ 20181105 UpdateEnd-->
+                                    <td>
+                                        <!-- <apex:commandButton onclick="openToInvoiceJs();return false;" value="寮�绁�" style="width:150px" rerender="dummy" rendered="{!!(EditDelCommitBtnDisabled||EditAble)}" disabled="{!IF(((coc.Billed_Status__c !='鍏ㄩ儴寮�绁�' &&coc.SummonsStatus_c__c='宸插畬鎴�') || coc.Onchange_order__c = true) && coc.SummonsForDirction__c!='浜掔浉璋冭揣',false,true)}"/> -->
+                                        <template if:true={isOpenToInvoiceShow}>
+                                            <lightning-button label="寮�绁�" onclick={openToInvoiceJs} style="width: 150px"
+                                                disabled={isOpenToInvoiceDisabled}></lightning-button>
+                                        </template>
+                                    </td>
+                                </tr>
+                                <tr>
+                                    <td></td>
+                                    <!--CHAN-B65CAZ 20181105 UpdateStart-->
+                                    <td>
+                                        <!-- <apex:commandButton onclick="PraseToPDFJs();" value="鎵撳嵃鎸囩ず鍗�" style="width:150px" rerender="dummy" rendered="{!!(EditDelCommitBtnDisabled||EditAble)}" disabled="{!IF(coc.SummonsStatus_c__c='宸查攢鍞緟涓婁紶绾冲搧涔�'||coc.SummonsStatus_c__c='鎵瑰噯'||coc.SummonsStatus_c__c='鍑哄簱鍗曞凡鎵撳嵃'||coc.SummonsStatus_c__c='鑽夋涓�',false,true)}"/> -->
+                                        <template if:true={isPraseToPDFShow}>
+                                            <lightning-button label="鎵撳嵃鎸囩ず鍗�" onclick={PraseToPDFJs} style="width: 150px"
+                                                disabled={isPraseToPDFDisabled}></lightning-button>
+                                        </template>
+                                    </td>
+                                    <!-- CHAN-B65CAZ 20181105 UpdateEnd-->
+                                    <td>
+                                        <!-- <apex:commandButton onclick="openReportJs(); return false;" value="鏄剧ず鏄庣粏" style="width:150px" rerender="dummy" rendered="{!!(EditDelCommitBtnDisabled||EditAble)}" disabled="{!IF(coc.Billed_Status__c !='杩樻病寮�绁�' || coc.SummonsStatus_c__c='宸插畬鎴�',false,true)}"/> -->
+                                        <template if:true={isOpenReportShow}>
+                                            <lightning-button label="鏄剧ず鏄庣粏" onclick={openReportJs} style="width: 150px"
+                                                disabled={isOpenReportDisabled}></lightning-button>
+                                        </template>
+                                    </td>
+                                    <td>
+                                        <!-- <apex:commandButton onclick="DeleteConsumable();" value="鍒犻櫎" style="width:150px" rerender="dummy" rendered="{!!(EditDelCommitBtnDisabled||EditAble)}" disabled="{!IF(coc.SummonsStatus_c__c='宸查攢鍞緟涓婁紶绾冲搧涔�'||coc.SummonsStatus_c__c='浠锋牸鏈畾'||coc.SummonsStatus_c__c='鎵瑰噯'||coc.SummonsStatus_c__c='鍑哄簱鍗曞凡鎵撳嵃'||coc.SummonsStatus_c__c='宸插畬鎴�',true,false)}"/> -->
+                                        <template if:true={isDeleteShow}>
+                                            <lightning-button label="鍒犻櫎" onclick={DeleteConsumable} style="width: 150px"
+                                                disabled={isDeleteDisabled}></lightning-button>
+                                            <!-- <lightning-button label="鍒犻櫎" onclick={DeleteConsumable} style="width: 150px"></lightning-button> -->
+                                        </template>
+                                    </td>
+                                    <td></td>
+                                </tr>
+                            </table>
+                        </div>
+                    </div>
+                </div>
+
+                <!-- 鍑哄簱鍗曚俊鎭� EditAble = true -->
+                <template if:true={EditAble}>
+                    <div class="borderCss">
+                        <div class="headerDorderCss">
+                            <p style="font-size: 16px">
+                                <strong>鍑哄簱鍗曚俊鎭�</strong>
+                            </p>
+                        </div>
+                        <div style="padding: 10px">
+                            <div lwc:dom="manual" class="resultDiv"></div>
+                            <div draggable="false">
+                                <!-- SummonsStatus_c__c == '浠锋牸鏈畾' -->
+                                <template if:true={summonsStatusPriceNotDetermined}>
+                                    <lightning-record-edit-form object-api-name="Consumable_order__c" record-id={cocId}>
+                                        <!-- 鍑哄簱鍗曞彿 鍑哄簱鍗曠姸鎬� -->
+                                        <lightning-layout multiple-rows="true">
+                                            <template if:true={isSummonsFlag}>
+                                                <lightning-layout-item class="hehe-layoutItem" size="4">
+                                                    <lightning-output-field field-name="Name"></lightning-output-field>
+                                                </lightning-layout-item>
+                                                <lightning-layout-item class="hehe-layoutItem" size="4">
+                                                    <lightning-output-field
+                                                        field-name="SummonsStatus_c__c"></lightning-output-field>
+                                                </lightning-layout-item>
+                                                <lightning-layout-item class="hehe-layoutItem" size="4">
+                                                </lightning-layout-item>
+                                            </template>
+                                        </lightning-layout>
+
+                                        <!-- 鐩殑   寮�绁ㄧ姸鎬� -->
+                                        <lightning-layout multiple-rows="true">
+                                            <lightning-layout-item class="hehe-layoutItem" size="4">
+                                                <lightning-output-field
+                                                    field-name="SummonsForDirction__c"></lightning-output-field>
+                                            </lightning-layout-item>
+                                            <lightning-layout-item class="hehe-layoutItem" size="4">
+                                                <lightning-output-field
+                                                    field-name="Billed_Status__c"></lightning-output-field>
+                                            </lightning-layout-item>
+                                            <lightning-layout-item class="hehe-layoutItem" size="4">
+                                            </lightning-layout-item>
+                                        </lightning-layout>
+
+                                        <!-- 浜岀骇缁忛攢鍟� -->
+                                        <template if:true={isSummonsForDirctionTwoShow}>
+                                            <lightning-layout multiple-rows="true">
+                                                <lightning-layout-item class="hehe-layoutItem" size="4">
+                                                    <lightning-output-field
+                                                        field-name="Order_Dealer_Info__c"></lightning-output-field>
+                                                </lightning-layout-item>
+                                                <lightning-layout-item class="hehe-layoutItem" size="4">
+                                                </lightning-layout-item>
+                                                <lightning-layout-item class="hehe-layoutItem" size="4">
+                                                </lightning-layout-item>
+                                            </lightning-layout>
+                                        </template>
+
+                                        <!-- 瀹㈡埛鍚� 鍙戠エ-->
+                                        <lightning-layout multiple-rows="true">
+                                            <lightning-layout-item class="hehe-layoutItem" size="4">
+                                                <lightning-output-field
+                                                    field-name="ShipmentAccount__c"></lightning-output-field>
+                                            </lightning-layout-item>
+                                            <lightning-layout-item class="hehe-layoutItem" size="4">
+                                                <lightning-input-field data-field={ConInvoice_Code__c}
+                                                    onchange={invoiceChange}
+                                                    field-name="ConInvoice_Code__c"></lightning-input-field>
+                                            </lightning-layout-item>
+                                            <lightning-layout-item class="hehe-layoutItem" size="4">
+                                            </lightning-layout-item>
+                                        </lightning-layout>
+
+                                        <!-- 绉戝 鍑哄簱閲戦 -->
+                                        <lightning-layout multiple-rows="true">
+                                            <lightning-layout-item class="hehe-layoutItem" size="4">
+                                                <lightning-output-field
+                                                    field-name="Order_ForCustomerText__c"></lightning-output-field>
+                                            </lightning-layout-item>
+                                            <lightning-layout-item class="hehe-layoutItem" size="4">
+                                                <lightning-output-field
+                                                    field-name="Shipment_total_amount__c"></lightning-output-field>
+                                            </lightning-layout-item>
+                                            <lightning-layout-item class="hehe-layoutItem" size="4">
+                                            </lightning-layout-item>
+                                        </lightning-layout>
+
+                                        <!-- 娌℃湁纭畾浠锋牸 -->
+                                        <lightning-layout multiple-rows="true">
+                                            <lightning-layout-item class="hehe-layoutItem" size="4">
+                                                <lightning-output-field
+                                                    field-name="NoConfirmedPrice__c"></lightning-output-field>
+                                            </lightning-layout-item>
+                                            <lightning-layout-item class="hehe-layoutItem" size="4">
+                                            </lightning-layout-item>
+                                            <lightning-layout-item class="hehe-layoutItem" size="4">
+                                            </lightning-layout-item>
+                                        </lightning-layout>
+                                    </lightning-record-edit-form>
+                                </template>
+
+                                <!-- SummonsStatus_c__c != '浠锋牸鏈畾' -->
+                                <template if:false={summonsStatusPriceNotDetermined}>
+                                    <lightning-record-edit-form object-api-name="Consumable_order__c" record-id={cocId}
+                                        onsubmit={handleSubmit}>
+                                        <!-- 鍑哄簱鍗曞彿 鍑哄簱鍗曠姸鎬� -->
+                                        <lightning-layout multiple-rows="true">
+                                            <template if:true={isSummonsFlag}>
+                                                <lightning-layout-item class="hehe-layoutItem" size="4">
+                                                    <lightning-output-field field-name="Name"></lightning-output-field>
+                                                </lightning-layout-item>
+                                                <lightning-layout-item class="hehe-layoutItem" size="4">
+                                                    <lightning-output-field
+                                                        field-name="SummonsStatus_c__c"></lightning-output-field>
+                                                </lightning-layout-item>
+                                                <lightning-layout-item class="hehe-layoutItem" size="4">
+                                                </lightning-layout-item>
+                                            </template>
+                                        </lightning-layout>
+
+                                        <!-- 鐩殑   浜岀骇缁忛攢鍟� -->
+                                        <lightning-layout multiple-rows="true">
+                                            <lightning-layout-item class="hehe-layoutItem" size="4">
+                                                <lightning-input-field data-field="summonsForDirction"
+                                                    value={summonsForDirction} field-name="SummonsForDirction__c"
+                                                    required="true" onchange={ChangeDirction}></lightning-input-field>
+                                            </lightning-layout-item>
+                                            <lightning-layout-item class="hehe-layoutItem" size="4">
+                                                <lightning-combobox data-field="secondaryDistributor"
+                                                    name="secondaryDistributor" label="浜岀骇缁忛攢鍟�"
+                                                    value={secondaryDistributor} placeholder="璇烽�夋嫨..."
+                                                    options={secondaryDistributorOptions} variant="label-inline"
+                                                    onchange={dataChange}
+                                                    disabled={isDisabledSecondaryDistributor}></lightning-combobox>
+                                            </lightning-layout-item>
+                                            <lightning-layout-item class="hehe-layoutItem" size="4">
+                                            </lightning-layout-item>
+                                        </lightning-layout>
+
+                                        <!-- 瀹㈡埛鍚�   缁忛攢鍟嗗綍鍏� -->
+                                        <lightning-layout multiple-rows="true">
+                                            <lightning-layout-item class="hehe-layoutItem" size="4">
+                                                <div
+                                                    class="slds-form-element__control slds-input-has-icon slds-input-has-icon_right">
+                                                    <lightning-icon size="x-small"
+                                                        class="iconMargin slds-icon slds-input__icon slds-input__icon_right slds-icon-text-default"
+                                                        icon-name="utility:search"></lightning-icon>
+                                                    <lightning-input type="text" name="HospitalName" label="瀹㈡埛鍚�"
+                                                        value={HospitalName} variant="label-inline"
+                                                        onclick={searchHospitalNameModal} data-field="HospitalName"
+                                                        disabled={isDisabledHospitalName}
+                                                        onchange={clearAgencyI}></lightning-input>
+                                                </div>
+                                            </lightning-layout-item>
+                                            <lightning-layout-item class="hehe-layoutItem" size="4">
+                                                <!-- <lightning-input-field onfocus={setVisitorPlace} onblur={vpClear2Delay} data-field="ForDealerText"
+                                                    value={ForDealerText} field-name="Order_ForDealerText__c"
+                                                    disabled={isDisabledForDealerText}></lightning-input-field> -->
+                                                <!-- <lightning-input type="text" 
+                                                        name="Order_ForDealerText__c" 
+                                                        label="缁忛攢鍟�(褰曞叆)"
+                                                        value={ForDealerText}
+                                                        onfocus={setVisitorPlace} 
+                                                        onblur={vpClear2Delay}
+                                                        data-field="Order_ForDealerText__c"
+                                                        disabled={isDisabledForDealerText}
+                                                        variant="label-inline">
+                                                    </lightning-input> -->
+                                                <!-- <c-lookup onsearch={handleSearch} onselectionchange={handleSelectionChange}
+                                                    label="缁忛攢鍟�(褰曞叆)" variant="label-inline"  placeholder="鎼滅储缁忛攢鍟�">
+                                                </c-lookup> -->
+                                                <template if:true={isMutualTransferGoods}>
+                                                    <c-lex-lookup onsearch={handleSearch}
+                                                        onselectionchange={handleSelectionChange} label="缁忛攢鍟�(褰曞叆)"
+                                                        variant="label-inline" placeholder="鎼滅储缁忛攢鍟�"
+                                                        onblur={vpClear2Delay} disabled={isDisabledForDealerText}>
+                                                    </c-lex-lookup>
+                                                </template>
+                                                <template if:false={isMutualTransferGoods}>
+                                                    <lightning-input type="text" name="Order_ForDealerText__c"
+                                                        label="缁忛攢鍟�(褰曞叆)" value={ForDealerText} onchange={dataChange}
+                                                        data-field="Order_ForDealerText__c"
+                                                        disabled={isDisabledForDealerText} variant="label-inline">
+                                                    </lightning-input>
+                                                </template>
+                                            </lightning-layout-item>
+                                            <lightning-layout-item class="hehe-layoutItem" size="4">
+                                            </lightning-layout-item>
+                                        </lightning-layout>
+
+                                        <!-- 绉戝   鎬婚噾棰� -->
+                                        <lightning-layout multiple-rows="true">
+                                            <lightning-layout-item class="hehe-layoutItem" size="4">
+                                                <lightning-input-field onchange={dataChange}
+                                                    data-field="ForCustomerText" value={ForCustomerText}
+                                                    field-name="Order_ForCustomerText__c"
+                                                    disabled={isDisabledForCustomerText}></lightning-input-field>
+                                            </lightning-layout-item>
+                                            <lightning-layout-item class="hehe-layoutItem" size="4">
+                                                <lightning-input type="text" name="sumPrice" label="鎬婚噾棰�"
+                                                    value={sumPrice} variant="label-inline" onchange={dataChange}
+                                                    data-field="sumPrice" readonly></lightning-input>
+                                            </lightning-layout-item>
+                                            <lightning-layout-item class="hehe-layoutItem" size="4">
+                                            </lightning-layout-item>
+                                        </lightning-layout>
+
+                                        <!-- 娌℃湁纭畾浠锋牸 -->
+                                        <lightning-layout multiple-rows="true">
+                                            <lightning-layout-item class="hehe-layoutItem" size="4">
+                                                <lightning-input-field value={NoConfirmedPrice}
+                                                    field-name="NoConfirmedPrice__c" data-field="NoConfirmedPrice"
+                                                    onchange={dataChange}></lightning-input-field>
+                                            </lightning-layout-item>
+                                            <lightning-layout-item class="hehe-layoutItem" size="4">
+                                            </lightning-layout-item>
+                                            <lightning-layout-item class="hehe-layoutItem" size="4">
+                                            </lightning-layout-item>
+                                        </lightning-layout>
+                                    </lightning-record-edit-form>
+                                </template>
+                            </div>
+                        </div>
+                    </div>
+                </template>
+
+                <!-- 鍑哄簱鍗曚俊鎭� EditAble = false -->
+                <template if:false={EditAble}>
+                    <div class="borderCss">
+                        <div class="headerDorderCss">
+                            <p style="font-size: 16px">
+                                <strong>鍑哄簱鍗曚俊鎭�</strong>
+                            </p>
+                        </div>
+                        <div style="padding: 10px">
+                            <div lwc:dom="manual" class="resultDiv"></div>
+                            <div draggable="false">
                                 <lightning-record-edit-form object-api-name="Consumable_order__c" record-id={cocId}>
                                     <!-- 鍑哄簱鍗曞彿 鍑哄簱鍗曠姸鎬� -->
                                     <lightning-layout multiple-rows="true">
@@ -213,9 +438,13 @@
                                             <lightning-output-field
                                                 field-name="ShipmentAccount__c"></lightning-output-field>
                                         </lightning-layout-item>
-                                        <lightning-layout-item class="hehe-layoutItem" size="4">
-                                            鍙戠エ 杩橀渶杩涜寮�鍙�1
-                                        </lightning-layout-item>
+                                        <template if:true={isConInvoiceShow}>
+                                            <lightning-layout-item class="hehe-layoutItem" size="4">
+                                                <lightning-input-field data-field={ConInvoice_Code__c}
+                                                    onchange={invoiceChange}
+                                                    field-name="ConInvoice_Code__c"></lightning-input-field>
+                                            </lightning-layout-item>
+                                        </template>
                                         <lightning-layout-item class="hehe-layoutItem" size="4">
                                         </lightning-layout-item>
                                     </lightning-layout>
@@ -246,316 +475,323 @@
                                         </lightning-layout-item>
                                     </lightning-layout>
                                 </lightning-record-edit-form>
-                            </template>
+                            </div>
+                        </div>
+                    </div>
+                </template>
 
-                            <!-- SummonsStatus_c__c != '浠锋牸鏈畾' -->
-                            <template if:false={summonsStatusPriceNotDetermined}>
-                                <lightning-record-edit-form object-api-name="Consumable_order__c" record-id={cocId}
-                                    onsubmit={handleSubmit}>
-                                    <!-- 鍑哄簱鍗曞彿 鍑哄簱鍗曠姸鎬� -->
-                                    <lightning-layout multiple-rows="true">
-                                        <template if:true={isSummonsFlag}>
-                                            <lightning-layout-item class="hehe-layoutItem" size="4">
-                                                <lightning-output-field field-name="Name"></lightning-output-field>
-                                            </lightning-layout-item>
-                                            <lightning-layout-item class="hehe-layoutItem" size="4">
-                                                <lightning-output-field
-                                                    field-name="SummonsStatus_c__c"></lightning-output-field>
-                                            </lightning-layout-item>
-                                            <lightning-layout-item class="hehe-layoutItem" size="4">
-                                            </lightning-layout-item>
-                                        </template>
-                                    </lightning-layout>
+                <!-- 妫�绱� -->
+                <template if:true={isSearchShow}>
+                    <div class="borderCss">
+                        <div style="padding: 10px">
+                            <div lwc:dom="manual" class="resultDiv"></div>
+                            <div draggable="false">
+                                <lightning-layout multiple-rows>
+                                    <lightning-layout-item padding="around-small">
+                                        <div class="slds-grid slds-grid_vertical-align-center">
+                                            <div class="slds-form-element__label">娑堣�楀搧鍚嶇О</div>
+                                            <lightning-input type="text" name="consumableName" label="娑堣�楀搧鍚嶇О"
+                                                value={consumableName} variant="label-hidden" onchange={dataChange}
+                                                data-field="consumableName"></lightning-input>
+                                        </div>
 
-                                    <!-- 鐩殑   浜岀骇缁忛攢鍟� -->
-                                    <lightning-layout multiple-rows="true">
-                                        <lightning-layout-item class="hehe-layoutItem" size="4">
-                                            <lightning-input-field data-field="summonsForDirction"
-                                                value={summonsForDirction} field-name="SummonsForDirction__c"
-                                                required="true" onchange={ChangeDirction}></lightning-input-field>
-                                        </lightning-layout-item>
-                                        <lightning-layout-item class="hehe-layoutItem" size="4">
-                                            <lightning-combobox data-field="secondaryDistributor"
-                                                name="secondaryDistributor" label="浜岀骇缁忛攢鍟�" value={secondaryDistributor}
-                                                placeholder="璇烽�夋嫨..." options={secondaryDistributorOptions}
-                                                variant="label-inline" onchange={dataChange}
-                                                disabled={isDisabledSecondaryDistributor}></lightning-combobox>
-                                        </lightning-layout-item>
-                                        <lightning-layout-item class="hehe-layoutItem" size="4">
-                                        </lightning-layout-item>
-                                    </lightning-layout>
+                                    </lightning-layout-item>
+                                    <lightning-layout-item size="2" padding="around-small">
+                                        <div class="slds-grid slds-grid_vertical-align-center">
+                                            <div class="slds-form-element__label">绗�3鍒嗙被</div>
+                                            <lightning-combobox name="progress" label="绗�3鍒嗙被" value={Category3}
+                                                variant="label-hidden" options={category3Options} onchange={dataChange}
+                                                data-field="Category3" style="min-width: 100px;"></lightning-combobox>
+                                        </div>
+                                    </lightning-layout-item>
+                                    <lightning-layout-item size="2" padding="around-small">
+                                        <div class="slds-grid slds-grid_vertical-align-center">
+                                            <div class="slds-form-element__label">绗�4鍒嗙被</div>
+                                            <lightning-combobox name="progress" label="绗�4鍒嗙被" value={Category4}
+                                                variant="label-hidden" options={category4Options} onchange={dataChange}
+                                                data-field="Category4" style="min-width: 100px;"></lightning-combobox>
+                                        </div>
 
-                                    <!-- 瀹㈡埛鍚�   缁忛攢鍟嗗綍鍏� -->
-                                    <lightning-layout multiple-rows="true">
-                                        <lightning-layout-item class="hehe-layoutItem" size="4">
-                                            <div
-                                                class="slds-form-element__control slds-input-has-icon slds-input-has-icon_right">
-                                                <lightning-icon size="x-small"
-                                                    class="iconMargin slds-icon slds-input__icon slds-input__icon_right slds-icon-text-default"
-                                                    icon-name="utility:search"></lightning-icon>
-                                                <lightning-input type="text" name="HospitalName" label="瀹㈡埛鍚�"
-                                                    value={HospitalName} variant="label-inline"
-                                                    onclick={searchHospitalNameModal} data-field="HospitalName"
-                                                    disabled={isDisabledHospitalName}
-                                                    onchange={clearAgencyI}></lightning-input>
+                                    </lightning-layout-item>
+                                    <lightning-layout-item size="2" padding="around-small">
+                                        <div class="slds-grid slds-grid_vertical-align-center">
+                                            <div class="slds-form-element__label">绗�5鍒嗙被</div>
+                                            <lightning-combobox name="progress" label="绗�5鍒嗙被" value={Category5}
+                                                variant="label-hidden" onchange={dataChange} data-field="Category5"
+                                                options={category5Options} style="min-width: 100px;"></lightning-combobox>
+                                        </div>
+
+                                    </lightning-layout-item>
+                                    <template if:true={hasHosPro}>
+                                        <lightning-layout-item padding="around-small">
+                                            <div class="slds-grid slds-grid_vertical-align-center">
+                                                <div class="slds-form-element__label">鍖婚櫌鐗逛环</div>
+                                                <lightning-combobox name="progress" label="鍖婚櫌鐗逛环" value={outOutPattern}
+                                                    variant="label-hidden" options={outOutPatternOptionList}
+                                                    onchange={handleChange}></lightning-combobox>
                                             </div>
                                         </lightning-layout-item>
-                                        <lightning-layout-item class="hehe-layoutItem" size="4">
-                                            <!-- <lightning-input-field onfocus={setVisitorPlace} onblur={vpClear2Delay} data-field="ForDealerText"
-                                                value={ForDealerText} field-name="Order_ForDealerText__c"
-                                                disabled={isDisabledForDealerText}></lightning-input-field> -->
-                                            <!-- <lightning-input type="text" 
-                                                    name="Order_ForDealerText__c" 
-                                                    label="缁忛攢鍟�(褰曞叆)"
-                                                    value={ForDealerText}
-                                                    onfocus={setVisitorPlace} 
-                                                    onblur={vpClear2Delay}
-                                                    data-field="Order_ForDealerText__c"
-                                                    disabled={isDisabledForDealerText}
-                                                    variant="label-inline">
-                                                </lightning-input> -->
-                                            <c-lookup onsearch={handleSearch} onselectionchange={handleSelectionChange}
-                                                label="缁忛攢鍟�(褰曞叆)" variant="label-inline" placeholder="鎼滅储缁忛攢鍟�">
-                                            </c-lookup>
-                                        </lightning-layout-item>
-                                        <lightning-layout-item class="hehe-layoutItem" size="4">
-                                        </lightning-layout-item>
-                                    </lightning-layout>
+                                    </template>
 
-                                    <!-- 绉戝   鎬婚噾棰� -->
-                                    <lightning-layout multiple-rows="true">
-                                        <lightning-layout-item class="hehe-layoutItem" size="4">
-                                            <lightning-input-field onchange={dataChange} data-field="ForCustomerText"
-                                                value={ForCustomerText} field-name="Order_ForCustomerText__c"
-                                                disabled={isDisabledForCustomerText}></lightning-input-field>
-                                        </lightning-layout-item>
-                                        <lightning-layout-item class="hehe-layoutItem" size="4">
-                                            <lightning-input type="text" name="sumPrice" label="鎬婚噾棰�" value={sumPrice}
-                                                variant="label-inline" onchange={dataChange} data-field="sumPrice"
-                                                readonly></lightning-input>
-                                        </lightning-layout-item>
-                                        <lightning-layout-item class="hehe-layoutItem" size="4">
-                                        </lightning-layout-item>
-                                    </lightning-layout>
-
-                                    <!-- 娌℃湁纭畾浠锋牸 -->
-                                    <lightning-layout multiple-rows="true">
-                                        <lightning-layout-item class="hehe-layoutItem" size="4">
-                                            <lightning-input-field value={NoConfirmedPrice}
-                                                field-name="NoConfirmedPrice__c" data-field="NoConfirmedPrice"
-                                                onchange={dataChange}></lightning-input-field>
-                                        </lightning-layout-item>
-                                        <lightning-layout-item class="hehe-layoutItem" size="4">
-                                        </lightning-layout-item>
-                                        <lightning-layout-item class="hehe-layoutItem" size="4">
-                                        </lightning-layout-item>
-                                    </lightning-layout>
-                                </lightning-record-edit-form>
-                            </template>
+                                    <lightning-layout-item padding="around-small">
+                                        <div class="slds-grid slds-grid_vertical-align-center">
+                                            <lightning-button label="妫�绱�" onclick={searchProductJs}></lightning-button>
+                                        </div>
+                                    </lightning-layout-item>
+                                    <lightning-layout-item padding="around-small">
+                                        <div class="slds-grid slds-grid_vertical-align-center">
+                                            <lightning-button label="娓呯┖" onclick={neworderhead}></lightning-button>
+                                        </div>
+                                    </lightning-layout-item>
+                                </lightning-layout>
+                            </div>
                         </div>
                     </div>
-                </div>
-            </template>
+                </template>
 
-            <!-- 鍑哄簱鍗曚俊鎭� EditAble = false -->
-            <template if:false={EditAble}>
+                <!-- 鍑哄簱鍗曟槑缁� -->
                 <div class="borderCss">
                     <div class="headerDorderCss">
                         <p style="font-size: 16px">
-                            <strong>鍑哄簱鍗曚俊鎭�</strong>
+                            <strong>鍑哄簱鍗曟槑缁�</strong>
+                        </p>
+                    </div>
+                    <div style="padding: 10px">
+                        <template if:true={EditAble}>
+                            <template if:true={showTable}>
+                                <c-lex-custom-lightning-datatable key-field="Id" data={data} columns={columns}
+                                    onunitchange={handleUnitChange} onshipmentnumber={handleShipmentNumber}
+                                    onshipmentunitprice={handleShipmentUnitPrice} onrowselection={getSelectedRows}
+                                    selected-rows={selectedRows} style="word-wrap:break-word; word-break:break-all; ">
+                                </c-lex-custom-lightning-datatable>
+                            </template>
+                        </template>
+
+                        <template if:false={EditAble}>
+                            <template if:true={showTable}>
+                                <c-lex-custom-lightning-datatable hide-checkbox-column key-field="Id" data={data}
+                                    columns={editColumns} onunitchange={handleUnitChange}
+                                    onshipmentnumber={handleShipmentNumber}
+                                    onshipmentunitprice={handleShipmentUnitPrice} onrowselection={getSelectedRows}
+                                    selected-rows={selectedRows} style="word-wrap:break-word; word-break:break-all; ">
+                                </c-lex-custom-lightning-datatable>
+                            </template>
+                        </template>
+                    </div>
+                </div>
+
+                <!-- 鍑哄簱浜у搧鏄庣粏 -->
+                <template if:true={isShowOutboundProductDetails}>
+                    <div class="borderCss">
+                        <div class="headerDorderCss">
+                            <p style="font-size: 16px">
+                                <strong>鍑哄簱浜у搧鏄庣粏</strong>
+                            </p>
+                        </div>
+                        <div style="padding: 10px">
+                            <lightning-datatable key-field="id" data={consumableorderdetails2Records}
+                                columns={consumableorderdetails2RecordsColumns} hide-checkbox-column>
+                            </lightning-datatable>
+                        </div>
+                    </div>
+                </template>
+
+                <!-- 涓婁紶闄勪欢 -->
+                <template if:false={EditAble}>
+                    <div class="borderCss">
+                        <div class="headerDorderCss">
+                            <p style="font-size: 16px">
+                                <strong>闄勪欢</strong>
+                            </p>
+                        </div>
+                        <div style="padding: 10px">
+                            <div lwc:dom="manual" class="resultDiv"></div>
+                            <div draggable="false">
+                                <!-- <lightning-file-upload
+                                    label="涓婁紶闄勪欢"
+                                    name="fileUploader"
+                                    onuploadfinished={handleUploadFinishedEvent}
+                                    record-id={ESetid}
+                                    multiple>
+                                </lightning-file-upload> -->
+                                <!-- <c-poc-custom-comp 
+                                record-id={ESetid}
+                                acceptedformats={acceptedFormats}>
+                                </c-poc-custom-comp> -->
+                                <lightning-card title="">
+                                    <lightning-layout multiple-rows="true" style="margin-top: -20px">
+                                        <lightning-layout-item size="12">
+                                            <lightning-input label="" name="file uploader" onchange={handleFilesChange}
+                                                type="file" accept={acceptedType}></lightning-input><br />
+                                            <div class="slds-text-body_small">
+                                                {fileName}
+                                            </div>
+                                        </lightning-layout-item>
+                                        <lightning-layout-item>
+                                            <lightning-button label={UploadFile}
+                                                onclick={handleSave}></lightning-button>
+                                        </lightning-layout-item>
+                                    </lightning-layout>
+                                    <template if:true={showLoadingSpinner}>
+                                        <lightning-spinner alternative-text="Uploading now"></lightning-spinner>
+                                    </template>
+                                    <footer style="margin-top: 20px">
+                                        <lightning-datatable key-field="id" data={fileData} columns={fileColumns}
+                                            hide-checkbox-column>
+                                        </lightning-datatable>
+                                    </footer>
+                                </lightning-card>
+                            </div>
+                        </div>
+                    </div>
+                </template>
+            </template>
+
+            <!-- 鍑鸿揣/閿�鍞� -->
+            <template if:true={isShippingSales}>
+                <div class="borderCss">
+                    <div class="headerDorderCss">
+                        <p style="font-size: 16px">
+                            <strong>鍑鸿揣绠$悊</strong>
                         </p>
                     </div>
                     <div style="padding: 10px">
                         <div lwc:dom="manual" class="resultDiv"></div>
                         <div draggable="false">
-                            <lightning-record-edit-form object-api-name="Consumable_order__c" record-id={cocId}>
-                                <!-- 鍑哄簱鍗曞彿 鍑哄簱鍗曠姸鎬� -->
-                                <lightning-layout multiple-rows="true">
-                                    <template if:true={isSummonsFlag}>
-                                        <lightning-layout-item class="hehe-layoutItem" size="4">
-                                            <lightning-output-field field-name="Name"></lightning-output-field>
-                                        </lightning-layout-item>
-                                        <lightning-layout-item class="hehe-layoutItem" size="4">
-                                            <lightning-output-field
-                                                field-name="SummonsStatus_c__c"></lightning-output-field>
-                                        </lightning-layout-item>
-                                        <lightning-layout-item class="hehe-layoutItem" size="4">
-                                        </lightning-layout-item>
-                                    </template>
-                                </lightning-layout>
-
-                                <!-- 鐩殑   寮�绁ㄧ姸鎬� -->
-                                <lightning-layout multiple-rows="true">
-                                    <lightning-layout-item class="hehe-layoutItem" size="4">
-                                        <lightning-output-field
-                                            field-name="SummonsForDirction__c"></lightning-output-field>
-                                    </lightning-layout-item>
-                                    <lightning-layout-item class="hehe-layoutItem" size="4">
-                                        <lightning-output-field field-name="Billed_Status__c"></lightning-output-field>
-                                    </lightning-layout-item>
-                                    <lightning-layout-item class="hehe-layoutItem" size="4">
-                                    </lightning-layout-item>
-                                </lightning-layout>
-
-                                <!-- 浜岀骇缁忛攢鍟� -->
-                                <template if:true={isSummonsForDirctionTwoShow}>
-                                    <lightning-layout multiple-rows="true">
-                                        <lightning-layout-item class="hehe-layoutItem" size="4">
-                                            <lightning-output-field
-                                                field-name="Order_Dealer_Info__c"></lightning-output-field>
-                                        </lightning-layout-item>
-                                        <lightning-layout-item class="hehe-layoutItem" size="4">
-                                        </lightning-layout-item>
-                                        <lightning-layout-item class="hehe-layoutItem" size="4">
-                                        </lightning-layout-item>
-                                    </lightning-layout>
-                                </template>
-
-                                <!-- 瀹㈡埛鍚� 鍙戠エ-->
-                                <lightning-layout multiple-rows="true">
-                                    <lightning-layout-item class="hehe-layoutItem" size="4">
-                                        <lightning-output-field
-                                            field-name="ShipmentAccount__c"></lightning-output-field>
-                                    </lightning-layout-item>
-                                    <template if:true={isConInvoiceShow}>
-                                        <lightning-layout-item class="hehe-layoutItem" size="4">
-                                            <lightning-input-field
-                                                field-name="ConInvoice_Code__c"></lightning-input-field>
-                                        </lightning-layout-item>
-                                    </template>
-                                    <lightning-layout-item class="hehe-layoutItem" size="4">
-                                    </lightning-layout-item>
-                                </lightning-layout>
-
-                                <!-- 绉戝 鍑哄簱閲戦 -->
-                                <lightning-layout multiple-rows="true">
-                                    <lightning-layout-item class="hehe-layoutItem" size="4">
-                                        <lightning-output-field
-                                            field-name="Order_ForCustomerText__c"></lightning-output-field>
-                                    </lightning-layout-item>
-                                    <lightning-layout-item class="hehe-layoutItem" size="4">
-                                        <lightning-output-field
-                                            field-name="Shipment_total_amount__c"></lightning-output-field>
-                                    </lightning-layout-item>
-                                    <lightning-layout-item class="hehe-layoutItem" size="4">
-                                    </lightning-layout-item>
-                                </lightning-layout>
-
-                                <!-- 娌℃湁纭畾浠锋牸 -->
-                                <lightning-layout multiple-rows="true">
-                                    <lightning-layout-item class="hehe-layoutItem" size="4">
-                                        <lightning-output-field
-                                            field-name="NoConfirmedPrice__c"></lightning-output-field>
-                                    </lightning-layout-item>
-                                    <lightning-layout-item class="hehe-layoutItem" size="4">
-                                    </lightning-layout-item>
-                                    <lightning-layout-item class="hehe-layoutItem" size="4">
-                                    </lightning-layout-item>
-                                </lightning-layout>
-                            </lightning-record-edit-form>
-                        </div>
-                    </div>
-                </div>
-            </template>
-
-            <!-- 妫�绱� -->
-            <template if:true={isSearchShow}>
-                <div class="borderCss">
-                    <div style="padding: 10px">
-                        <div lwc:dom="manual" class="resultDiv"></div>
-                        <div draggable="false">
-                            <lightning-layout>
-                                <lightning-layout-item flexibility="auto" padding="around-small">
-                                    <lightning-input type="text" name="consumableName" label="娑堣�楀搧鍚嶇О"
-                                        value={consumableName} variant="label-inline" onchange={dataChange}
-                                        data-field="consumableName"></lightning-input>
+                            <lightning-layout multiple-rows="true">
+                                <lightning-layout-item class="hehe-layoutItem" size="4">
                                 </lightning-layout-item>
-                                <lightning-layout-item flexibility="auto" padding="around-small">
-                                    <lightning-combobox name="progress" label="绗�3鍒嗙被" value={Category3}
-                                        variant="label-inline" options={category3Options} onchange={dataChange}
-                                        data-field="Category3"></lightning-combobox>
-                                </lightning-layout-item>
-                                <lightning-layout-item flexibility="auto" padding="around-small">
-                                    <lightning-combobox name="progress" label="绗�4鍒嗙被" value={Category4}
-                                        variant="label-inline" options={category4Options} onchange={dataChange}
-                                        data-field="Category4"></lightning-combobox>
-                                </lightning-layout-item>
-                                <lightning-layout-item flexibility="auto" padding="around-small">
-                                    <lightning-combobox name="progress" label="绗�5鍒嗙被" value={Category5}
-                                        variant="label-inline" onchange={dataChange} data-field="Category5"
-                                        options={category5Options}></lightning-combobox>
-                                </lightning-layout-item>
-                                <template if:true={hasHosPro}>
-                                    <lightning-layout-item flexibility="auto" padding="around-small">
-                                        <lightning-combobox name="progress" label="鍖婚櫌鐗逛环" value={outOutPattern}
-                                            variant="label-inline" options={outOutPatternOptionList}
-                                            onchange={handleChange}></lightning-combobox>
+                                <template if:true={isSales}>
+                                    <lightning-layout-item class="hehe-layoutItem" size="4">
+                                        <lightning-button label="閿�鍞�" onclick={SaveP}></lightning-button>
                                     </lightning-layout-item>
                                 </template>
-
-                                <lightning-layout-item flexibility="auto, no-grow" padding="around-small">
-                                    <lightning-button label="妫�绱�" onclick={searchProductJs}></lightning-button>
-                                </lightning-layout-item>
-                                <lightning-layout-item flexibility="auto, no-grow" padding="around-small">
-                                    <lightning-button label="娓呯┖" onclick={neworderhead}></lightning-button>
+                                <template if:false={isSales}>
+                                    <lightning-layout-item class="hehe-layoutItem" size="4">
+                                        <lightning-button label="鍑鸿揣" onclick={SaveE}></lightning-button>
+                                    </lightning-layout-item>
+                                </template>
+                                <lightning-layout-item class="hehe-layoutItem" size="4">
                                 </lightning-layout-item>
                             </lightning-layout>
+
+                            <template if:true={isShowInformation}>
+                                <div class="borderCss">
+                                    <div class="headerDorderCss">
+                                        <p style="font-size: 16px">
+                                            <strong>鍑哄簱鍗曚俊鎭�</strong>
+                                        </p>
+                                    </div>
+                                    <div style="padding: 10px">
+                                        <div lwc:dom="manual" class="resultDiv"></div>
+                                        <div draggable="false">
+                                            <lightning-record-edit-form object-api-name="Consumable_order__c"
+                                                record-id={cocId}>
+                                                <lightning-layout multiple-rows="true">
+                                                    <lightning-layout-item class="hehe-layoutItem" flexibility="auto">
+                                                        <lightning-output-field
+                                                            field-name="Name"></lightning-output-field>
+                                                    </lightning-layout-item>
+                                                    <lightning-layout-item class="hehe-layoutItem" flexibility="auto">
+                                                        <lightning-output-field
+                                                            field-name="ShipmentAccount__c"></lightning-output-field>
+                                                    </lightning-layout-item>
+                                                    <lightning-layout-item class="hehe-layoutItem" flexibility="auto">
+                                                        <lightning-output-field
+                                                            field-name="Order_ForCustomerText__c"></lightning-output-field>
+                                                    </lightning-layout-item>
+                                                    <lightning-layout-item class="hehe-layoutItem" flexibility="auto">
+                                                        <lightning-output-field
+                                                            field-name="SummonsForDirction__c"></lightning-output-field>
+                                                    </lightning-layout-item>
+                                                </lightning-layout>
+                                            </lightning-record-edit-form>
+                                        </div>
+                                    </div>
+                                </div>
+
+                                <template if:true={isBarcode}>
+                                    <div class="borderCss">
+                                        <div class="headerDorderCss">
+                                            <p style="font-size: 16px">
+                                                <strong>BarCode褰曞叆</strong>
+                                            </p>
+                                        </div>
+                                        <div style="padding: 10px">
+                                            <div lwc:dom="manual" class="resultDiv"></div>
+                                            <div draggable="false">
+                                                <lightning-record-edit-form object-api-name="Consumable_order__c"
+                                                    record-id={cocId}>
+                                                    <lightning-layout multiple-rows="true">
+                                                        <lightning-layout-item class="hehe-layoutItem" size="6">
+                                                            <lightning-textarea name="Barcode" label="BarCode鍙�"
+                                                                onchange={dataChange} variant="label-inline"
+                                                                data-field="Barcode"
+                                                                value={Barcode}></lightning-textarea>
+                                                        </lightning-layout-item>
+                                                        <lightning-layout-item class="hehe-layoutItem"
+                                                            size="1"></lightning-layout-item>
+                                                        <lightning-layout-item class="hehe-layoutItem" size="2">
+                                                            <lightning-button label="纭"
+                                                                onclick={SalesearchProductJs}></lightning-button>
+                                                        </lightning-layout-item>
+                                                    </lightning-layout>
+                                                </lightning-record-edit-form>
+                                            </div>
+                                        </div>
+                                    </div>
+                                </template>
+
+                                <div class="borderCss">
+                                    <div class="headerDorderCss">
+                                        <p style="font-size: 16px">
+                                            <strong>鍑鸿揣鏄庣粏</strong>
+                                        </p>
+                                    </div>
+                                    <div style="padding: 10px">
+                                        <div lwc:dom="manual" class="resultDiv"></div>
+                                        <div draggable="false">
+                                            <lightning-datatable key-field="id" data={salesData} columns={salesColumns}
+                                                hide-checkbox-column>
+                                            </lightning-datatable>
+                                        </div>
+                                    </div>
+                                </div>
+
+                                <div class="borderCss">
+                                    <div class="headerDorderCss">
+                                        <p style="font-size: 16px">
+                                            <strong>鍑鸿揣閿欒鏄庣粏</strong>
+                                        </p>
+                                    </div>
+                                    <div style="padding: 10px">
+                                        <div lwc:dom="manual" class="resultDiv"></div>
+                                        <div draggable="false">
+                                            <lightning-datatable key-field="id" data={salesErrorData}
+                                                columns={salesErrorColumns} hide-checkbox-column>
+                                            </lightning-datatable>
+                                        </div>
+                                    </div>
+                                </div>
+
+                                <lightning-layout multiple-rows="true">
+                                    <lightning-layout-item class="hehe-layoutItem" size="4">
+                                    </lightning-layout-item>
+                                    <template if:true={isSales}>
+                                        <lightning-layout-item class="hehe-layoutItem" size="4">
+                                            <lightning-button label="閿�鍞�" onclick={SaveP}></lightning-button>
+                                        </lightning-layout-item>
+                                    </template>
+                                    <template if:false={isSales}>
+                                        <lightning-layout-item class="hehe-layoutItem" size="4">
+                                            <lightning-button label="鍑鸿揣" onclick={SaveE}></lightning-button>
+                                        </lightning-layout-item>
+                                    </template>
+                                    <lightning-layout-item class="hehe-layoutItem" size="4">
+                                    </lightning-layout-item>
+                                </lightning-layout>
+                            </template>
                         </div>
-                    </div>
-                </div>
-            </template>
-
-            <!-- 鍑哄簱鍗曟槑缁� -->
-            <div class="borderCss">
-                <div class="headerDorderCss">
-                    <p style="font-size: 16px">
-                        <strong>鍑哄簱鍗曟槑缁�</strong>
-                    </p>
-                </div>
-                <div style="padding: 10px">
-                    <template if:true={EditAble}>
-                        <template if:true={showTable}>
-                            <!-- <c-poc-lightning-datatable key-field="Id" data={data} columns={columns}
-                                onunitchange={handleUnitChange} onshipmentnumber={handleShipmentNumber}
-                                onshipmentunitprice={handleShipmentUnitPrice} onrowselection={getSelectedRows}
-                                selected-rows={selectedRows}>
-                            </c-poc-lightning-datatable> -->
-                            <c-lex-custom-lightning-datatable key-field="Id" data={data} columns={columns}
-                                onunitchange={handleUnitChange} onshipmentnumber={handleShipmentNumber}
-                                onshipmentunitprice={handleShipmentUnitPrice} onrowselection={getSelectedRows}
-                                selected-rows={selectedRows}>
-                            </c-lex-custom-lightning-datatable>
-                        </template>
-                    </template>
-
-                    <template if:false={EditAble}>
-                        <template if:true={showTable}>
-                            <!-- <c-poc-lightning-datatable hide-checkbox-column key-field="Id" data={data}
-                                columns={editColumns} onunitchange={handleUnitChange}
-                                onshipmentnumber={handleShipmentNumber} onshipmentunitprice={handleShipmentUnitPrice}
-                                onrowselection={getSelectedRows} selected-rows={selectedRows}>
-                            </c-poc-lightning-datatable> -->
-                            <c-lex-custom-lightning-datatable hide-checkbox-column key-field="Id" data={data}
-                                columns={editColumns} onunitchange={handleUnitChange}
-                                onshipmentnumber={handleShipmentNumber} onshipmentunitprice={handleShipmentUnitPrice}
-                                onrowselection={getSelectedRows} selected-rows={selectedRows}>
-                            </c-lex-custom-lightning-datatable>
-                        </template>
-                    </template>
-                </div>
-            </div>
-
-            <!-- 涓婁紶闄勪欢 -->
-            <template if:true={EditAble}>
-                <div class="borderCss">
-                    <div class="headerDorderCss">
-                        <p style="font-size: 16px">
-                            <strong>鍑哄簱鍗曚俊鎭�</strong>
-                        </p>
-                    </div>
-                    <div style="padding: 10px">
-                        <div lwc:dom="manual" class="resultDiv"></div>
-                        <div draggable="false"></div>
                     </div>
                 </div>
             </template>
diff --git a/force-app/main/default/lwc/lexSummonsCreat/lexSummonsCreat.js b/force-app/main/default/lwc/lexSummonsCreat/lexSummonsCreat.js
index 6a4ab2e..861ade4 100644
--- a/force-app/main/default/lwc/lexSummonsCreat/lexSummonsCreat.js
+++ b/force-app/main/default/lwc/lexSummonsCreat/lexSummonsCreat.js
@@ -1,267 +1,412 @@
-import { LightningElement, wire, api, track } from 'lwc';
-import init from '@salesforce/apex/LexSummonsCreatController.init';
-import { ShowToastEvent } from 'lightning/platformShowToastEvent';
-import searchConsumableorderdetails from '@salesforce/apex/LexSummonsCreatController.searchConsumableorderdetails';
-import PraseToPDF from '@salesforce/apex/LexSummonsCreatController.PraseToPDF';
-import apexSearch from '@salesforce/apex/SampleLookupController.search';
-import save from '@salesforce/apex/LexSummonsCreatController.save';
-import OPPORTUNITY_OBJECT from '@salesforce/schema/Consumable_Orderdetails__c';
-import { getObjectInfo } from 'lightning/uiObjectInfoApi';
-import hospitalInit from '@salesforce/apex/lexSearchAgencyHospitalController.init';
-import serContact from '@salesforce/apex/lexSearchAgencyHospitalController.serContact';
-import { NavigationMixin } from 'lightning/navigation';
-
-
-
-
+import { LightningElement, wire, api, track } from "lwc";
+import init from "@salesforce/apex/LexSummonsCreatController.init";
+import { ShowToastEvent } from "lightning/platformShowToastEvent";
+import searchConsumableorderdetails from "@salesforce/apex/LexSummonsCreatController.searchConsumableorderdetails";
+import PraseToPDF from "@salesforce/apex/LexSummonsCreatController.PraseToPDF";
+import apexSearch from "@salesforce/apex/LexSummonsCreatController.search";
+import saveFile from "@salesforce/apex/LexSummonsCreatController.saveFile";
+import getFiles from "@salesforce/apex/LexSummonsCreatController.getFiles";
+import GoodsDelivery from "@salesforce/apex/LexSummonsCreatController.GoodsDelivery";
+import DelConsumable from "@salesforce/apex/LexSummonsCreatController.DelConsumable";
+import categoryAllload from "@salesforce/apex/LexSummonsCreatController.categoryAllload";
+import categoryload from "@salesforce/apex/LexSummonsCreatController.categoryload";
+import GoodsDeliveryInit from "@salesforce/apex/LexSaleOrderController.GoodsDeliveryInit";
+import SearchPro from "@salesforce/apex/LexSaleOrderController.SearchPro";
+import ProdElivery from "@salesforce/apex/LexSaleOrderController.ProdElivery";
+import ProSale from "@salesforce/apex/LexSaleOrderController.ProSale";
+import save from "@salesforce/apex/LexSummonsCreatController.save";
+import OPPORTUNITY_OBJECT from "@salesforce/schema/Consumable_Orderdetails__c";
+import { getObjectInfo } from "lightning/uiObjectInfoApi";
+import hospitalInit from "@salesforce/apex/lexSearchAgencyHospitalController.init";
+import serContact from "@salesforce/apex/lexSearchAgencyHospitalController.serContact";
+import { NavigationMixin } from "lightning/navigation";
 
 export default class LexSummonsCreat extends NavigationMixin(LightningElement) {
     @track isShowSpinner = true;
     @track showResults = true;
     @track results = [
         {
-            Id:'1',
-            Name : 'z'
+            Id: "1",
+            Name: "z",
         },
         {
-            Id:'2',
-            Name : 'h'
+            Id: "2",
+            Name: "h",
         },
         {
-            Id:'3',
-            Name : 'j'
-        }
+            Id: "3",
+            Name: "j",
+        },
     ];
 
     @track COLS = [
-        { 
-            label: 'Account Name', 
-            type: 'customName',
+        {
+            label: "Account Name",
+            type: "customName",
             typeAttributes: {
-            accountName: { fieldName: 'Name' }
-        }
-    }];
+                accountName: { fieldName: "Name" },
+            },
+        },
+    ];
     @track columns = [
-        { 
-            label: '娑堣�楀搧鍚嶇О', 
-            fieldName: 'Name__c', 
-            hideDefaultActions: true ,
-            wrapText:true,
+        {
+            label: "娑堣�楀搧鍚嶇О",
+            fieldName: "Name__c",
+            //hideDefaultActions: true,
+            wrapText: true,
             //initialWidth : 100,
         },
-        { 
-            label: '瑙勬牸', 
-            fieldName: 'packinglist', 
+        {
+            label: "瑙勬牸",
+            fieldName: "packinglist",
             //initialWidth : 50,
-            wrapText:true,
-            hideDefaultActions: true
+            wrapText: true,
+            hideDefaultActions: true,
         },
-        { 
-            label: 'CFDA鐘舵��', 
-            fieldName: 'SFDA_Status__c', 
+        {
+            label: "CFDA鐘舵��",
+            fieldName: "SFDA_Status__c",
             //initialWidth : 100,
-            wrapText:true,
-            hideDefaultActions: true
+            wrapText: true,
+            hideDefaultActions: true,
         },
-        { 
-            label: '娉ㄥ唽璇佺紪鐮佸彿', 
-            fieldName: 'approbation_No', 
+        {
+            label: "娉ㄥ唽璇佺紪鐮佸彿",
+            fieldName: "approbation_No",
             //initialWidth : 150,
-            wrapText:true,
-            hideDefaultActions: true
+            wrapText: true,
+            hideDefaultActions: true,
         },
-        { 
-            label: '娉ㄥ唽璇佹晥鏈�',
-            //initialWidth : 100, 
-            wrapText:true,
-            fieldName: 'expiration_Date', 
-            hideDefaultActions: true ,
-        },
-        { 
-            label: '绗�3鍒嗙被', 
-            fieldName: 'Category3__c', 
+        {
+            label: "娉ㄥ唽璇佹晥鏈�",
             //initialWidth : 100,
-            wrapText:true,
+            wrapText: true,
+            fieldName: "expiration_Date",
+            hideDefaultActions: true,
+        },
+        {
+            label: "绗�3鍒嗙被",
+            fieldName: "Category3__c",
+            //initialWidth : 100,
+            wrapText: true,
             hideDefaultActions: true,
             sortable: true,
         },
-        { 
-            label: '绗�4鍒嗙被', 
-            fieldName: 'Category4__c', 
+        {
+            label: "绗�4鍒嗙被",
+            fieldName: "Category4__c",
             //initialWidth : 100,
-            wrapText:true,
+            wrapText: true,
             hideDefaultActions: true,
-            sortable: true
+            sortable: true,
         },
-        { 
-            label: '绗�5鍒嗙被', 
-            fieldName: 'Category5__c',
+        {
+            label: "绗�5鍒嗙被",
+            fieldName: "Category5__c",
             //initialWidth : 100,
-            wrapText:true,
+            wrapText: true,
             hideDefaultActions: true,
-            sortable: true 
+            sortable: true,
         },
-        { 
-            label: '鍗曚綅', 
-            type:'customUnit',
+        {
+            label: "鍗曚綅",
+            type: "customUnit",
             //initialWidth : 100,
             hideDefaultActions: true,
             typeAttributes: {
-                unitValue: { fieldName: 'unitValue' },
-                unitOptions: { fieldName: 'unitOptions' },
-                recordId: { fieldName: 'recordId' }
+                unitValue: { fieldName: "unitValue" },
+                unitOptions: { fieldName: "unitOptions" },
+                recordId: { fieldName: "recordId" },
             },
         },
-        { 
-            label: '鍑鸿揣鏁伴噺', 
-            type: 'customShipment',
+        {
+            label: "鍑鸿揣鏁伴噺",
+            type: "customShipment",
             //initialWidth : 150,
             hideDefaultActions: true,
             typeAttributes: {
-                recordId: { fieldName: 'recordId' },
-                shipmentNumber: { fieldName: 'shipmentNumber' },
+                recordId: { fieldName: "recordId" },
+                shipmentNumber: { fieldName: "shipmentNumber" },
             },
         },
-        { 
-            label: '鍑鸿揣鍗曚环(鍏�)', 
-            type: 'customShipmentUnitPrice',
+        {
+            label: "鍑鸿揣鍗曚环(鍏�)",
+            type: "customShipmentUnitPrice",
             //initialWidth : 150,
             hideDefaultActions: true,
             typeAttributes: {
-                recordId: { fieldName: 'recordId' },
-                shippingUnitPrice: { fieldName: 'shippingUnitPrice' }
+                recordId: { fieldName: "recordId" },
+                shippingUnitPrice: { fieldName: "shippingUnitPrice" },
             },
         },
-        { 
-            label: '鍑鸿揣閲戦(鍏�)', 
-            type: 'customShipmentAmount',
+        {
+            label: "鍑鸿揣閲戦(鍏�)",
+            type: "customShipmentAmount",
             //initialWidth : 120,
             hideDefaultActions: true,
             typeAttributes: {
-                shipmentAmount: { fieldName: 'shipmentAmount' }
+                shipmentAmount: { fieldName: "shipmentAmount" },
             },
         },
-        { 
-            label: '鏈夋晥鏈熷唴搴撳瓨(鐩�)', 
-            fieldName: 'Boxnumber',
+        {
+            label: "鏈夋晥鏈熷唴搴撳瓨(鐩�)",
+            fieldName: "Boxnumber",
             //initialWidth : 120,
-            wrapText:true,
+            wrapText: true,
             hideDefaultActions: true,
         },
-        { 
-            label: '鏈夋晥鏈熷唴搴撳瓨(涓�)', 
-            fieldName: 'Piecenumber',
+        {
+            label: "鏈夋晥鏈熷唴搴撳瓨(涓�)",
+            fieldName: "Piecenumber",
             //initialWidth : 120,
-            wrapText:true,
+            wrapText: true,
             hideDefaultActions: true,
-        }
+        },
     ];
     @track editColumns = [
-        { 
-            label: '娑堣�楀搧鍚嶇О', 
-            fieldName: 'Name__c', 
-            hideDefaultActions: true ,
-            initialWidth : 250,
+        {
+            label: "娑堣�楀搧鍚嶇О",
+            fieldName: "Name__c",
+            hideDefaultActions: true,
+            initialWidth: 250,
         },
-        { 
-            label: '瑙勬牸', 
-            fieldName: 'packinglist', 
-            initialWidth : 50,
-            hideDefaultActions: true
+        {
+            label: "瑙勬牸",
+            fieldName: "packinglist",
+            initialWidth: 50,
+            hideDefaultActions: true,
         },
-        { 
-            label: 'CFDA鐘舵��', 
-            fieldName: 'SFDA_Status__c', 
-            initialWidth : 100,
-            hideDefaultActions: true
+        {
+            label: "CFDA鐘舵��",
+            fieldName: "SFDA_Status__c",
+            initialWidth: 100,
+            hideDefaultActions: true,
         },
-        { 
-            label: '娉ㄥ唽璇佺紪鐮佸彿', 
-            fieldName: 'approbation_No', 
-            initialWidth : 150,
-            hideDefaultActions: true
+        {
+            label: "娉ㄥ唽璇佺紪鐮佸彿",
+            fieldName: "approbation_No",
+            initialWidth: 150,
+            hideDefaultActions: true,
         },
-        { 
-            label: '娉ㄥ唽璇佹晥鏈�',
-            initialWidth : 100, 
-            fieldName: 'expiration_Date', 
-            hideDefaultActions: true ,
+        {
+            label: "娉ㄥ唽璇佹晥鏈�",
+            initialWidth: 100,
+            fieldName: "expiration_Date",
+            hideDefaultActions: true,
         },
-        { 
-            label: '绗�3鍒嗙被', 
-            fieldName: 'Category3__c', 
-            initialWidth : 100,
+        {
+            label: "绗�3鍒嗙被",
+            fieldName: "Category3__c",
+            initialWidth: 100,
             hideDefaultActions: true,
             sortable: true,
         },
-        { 
-            label: '绗�4鍒嗙被', 
-            fieldName: 'Category4__c', 
-            initialWidth : 100,
+        {
+            label: "绗�4鍒嗙被",
+            fieldName: "Category4__c",
+            initialWidth: 100,
             hideDefaultActions: true,
-            sortable: true
+            sortable: true,
         },
-        { 
-            label: '绗�5鍒嗙被', 
-            fieldName: 'Category5__c',
-            initialWidth : 100,
+        {
+            label: "绗�5鍒嗙被",
+            fieldName: "Category5__c",
+            initialWidth: 100,
             hideDefaultActions: true,
-            sortable: true 
+            sortable: true,
         },
-        { 
-            label: '鍗曚綅', 
-            fieldName: 'Box_Piece__c',
-            initialWidth : 100,
+        {
+            label: "鍗曚綅",
+            fieldName: "Box_Piece__c",
+            initialWidth: 100,
             hideDefaultActions: true,
         },
-        { 
-            label: '鍑鸿揣鏁伴噺', 
-            fieldName: 'Shipment_Count__c',
-            initialWidth : 150,
+        {
+            label: "鍑鸿揣鏁伴噺",
+            fieldName: "Shipment_Count__c",
+            initialWidth: 150,
             hideDefaultActions: true,
         },
-        { 
-            label: '鍑鸿揣鍗曚环(鍏�)', 
-            fieldName: 'Shipment_amount__c',
-            initialWidth : 150,
+        {
+            label: "鍑鸿揣鍗曚环(鍏�)",
+            fieldName: "Shipment_amount__c",
+            initialWidth: 150,
             hideDefaultActions: true,
-        }
+        },
     ];
 
-
-    @track hospitalList=[];
+    @track hospitalList = [];
     @track hospitalColumns = [
-        { 
-            label: '鍖婚櫌鍚嶇О', 
-            fieldName: 'Name', 
-            initialWidth : 400,
-            hideDefaultActions: true ,
+        {
+            label: "鍖婚櫌鍚嶇О",
+            fieldName: "Name",
+            initialWidth: 400,
+            hideDefaultActions: true,
         },
-        { 
-            label: '鐪佷唤', 
-            fieldName: 'stateMasterName', 
-            hideDefaultActions: true ,
+        {
+            label: "鐪佷唤",
+            fieldName: "stateMasterName",
+            hideDefaultActions: true,
         },
-        { 
-            label: '閫夋嫨', 
-            fieldName : 'Id1',
-            type : 'button',
-            hideDefaultActions: true ,
+        {
+            label: "閫夋嫨",
+            fieldName: "Id1",
+            type: "button",
+            hideDefaultActions: true,
             typeAttributes: {
-                label: '閫夋嫨',
-                name: 'Id2',
-                size: 1
-            }
-        }
+                label: "閫夋嫨",
+                name: "Id2",
+                size: 1,
+            },
+        },
     ];
 
-    @track accountid = '';
+    @track accountid = "";
     @track consumableproductdetailsRecords = [];
-    @track SummonsStatus = '';
-    @track ESetid = '';
+    @track SummonsStatus = "";
+    @track ESetid = "";
+    @track statusEdit = "";
     @track cocLwc = {};
     @track selectedRows = [];
-    @track ConsumableOut_report = '';
+    @track ConsumableOut_report = "";
+    @track isMutualTransferGoods = false;
+    @track Barcode = "";
+    @track summonsForDirction = '';
+
+    @track consumableorderdetails2RecordsColumns = [
+        {
+            label: "娑堣�楀搧鍚嶇О",
+            fieldName: "ProdName",
+            hideDefaultActions: true,
+        },
+        {
+            label: "鎵规鍙�",
+            fieldName: "orderdetails2SerialLotNo__c",
+            hideDefaultActions: true,
+        },
+        {
+            label: "绠$悊缂栫爜",
+            fieldName: "orderdetails2TracingCode__c",
+            hideDefaultActions: true,
+        },
+        {
+            label: "浣跨敤鏈熼檺",
+            fieldName: "orderdetails2Sterilization_limit__c",
+            hideDefaultActions: true,
+        },
+    ];
+    @track consumableorderdetails2Records = [];
+
+    //鍑鸿揣/閿�鍞�
+    @track salesColumns = [
+        {
+            label: "娑堣�楀搧璁㈠崟",
+            fieldName: "Consumable_order_minor__c",
+            hideDefaultActions: true,
+            wrapText: true,
+        },
+        {
+            label: "娑堣�楀搧鏄庣粏2鍚嶇О",
+            fieldName: "orderdetails2NameUrl",
+            type: "url",
+            typeAttributes: {
+                label: { fieldName: "orderdetails2Name" },
+                target: "_blank",
+            },
+            hideDefaultActions: true,
+            wrapText: true,
+        },
+        {
+            label: "鍗曚綅",
+            fieldName: "Box_Piece__c",
+            hideDefaultActions: true,
+            wrapText: true,
+        },
+        {
+            label: "娑堣�楀搧鍚嶇О",
+            fieldName: "ProdName",
+            hideDefaultActions: true,
+            wrapText: true,
+        },
+        {
+            label: "鍙戣揣鏃ユ湡",
+            fieldName: "Deliver_date__c",
+            hideDefaultActions: true,
+            wrapText: true,
+        },
+        {
+            label: "BarCode",
+            fieldName: "Bar_Code__c",
+            hideDefaultActions: true,
+            wrapText: true,
+        },
+        {
+            label: "浣跨敤鏈熼檺",
+            fieldName: "Sterilization_limit__c",
+            hideDefaultActions: true,
+            wrapText: true,
+        },
+        {
+            label: "鍑鸿揣鏁伴噺",
+            fieldName: "outboundCount",
+            hideDefaultActions: true,
+            wrapText: true,
+        },
+    ];
+    @track salesData = [];
+
+    @track salesErrorColumns = [
+        {
+            label: "娑堣�楀搧璁㈠崟",
+            fieldName: "Consumable_order_minor__c",
+            hideDefaultActions: true,
+            wrapText: true,
+        },
+        {
+            label: "娑堣�楀搧鏄庣粏2鍚嶇О",
+            fieldName: "orderdetails2Name",
+            hideDefaultActions: true,
+            wrapText: true,
+        },
+        {
+            label: "娑堣�楀搧鍚嶇О",
+            fieldName: "ProdName",
+            hideDefaultActions: true,
+            wrapText: true,
+        },
+        {
+            label: "鍗曚綅",
+            fieldName: "Box_Piece__c",
+            hideDefaultActions: true,
+            wrapText: true,
+        },
+        {
+            label: "BarCode",
+            fieldName: "Bar_Code__c",
+            hideDefaultActions: true,
+        },
+        {
+            label: "浣跨敤鏈熼檺",
+            fieldName: "Sterilization_limit__c",
+            hideDefaultActions: true,
+            wrapText: true,
+        },
+        {
+            label: "閿欒鍘熷洜",
+            fieldName: "ErrorReason",
+            hideDefaultActions: true,
+            wrapText: true,
+        },
+    ];
+    @track salesErrorData = [];
+    @track salesAccountName = "";
+    @track salesUserWorkLocation = "";
+    @track salesAccountid = "";
+    @track salesOrderdetails = [];
+    @track salesCoc = {};
+    @track salesOrderpieceorboxMap;
+    @track salesOrderpriceMap;
+    @track salesOrderagencypriceMap;
 
     //鏄剧ず鎸夐挳
     @track isSaveShow = false;
@@ -272,6 +417,11 @@
     @track isOpenReportShow = false;
     @track isDeleteShow = false;
     @track isFileShow = false;
+    @track isShippingSales = false;
+    @track isSales = false;
+    @track isBarcode = true;
+    @track isShowInformation = true;
+    @track isShowOutboundProductDetails = false;
 
     //disable鎸夐挳
     @track isEditDisabled = false;
@@ -282,53 +432,55 @@
     @track isDeleteDisabled = false;
 
     //鍑哄簱鍗曚俊鎭�
-    @track cocId = ''
+    @track cocId = "";
     @track EditAble = false;
     @track summonsStatusPriceNotDetermined = false;
     @track isSummonsForDirctionTwoShow = false;
     @track isSummonsFlag = false;
     @track isConInvoiceShow = false;
-    @track sumPrice = '';
+    @track sumPrice = "";
     @track isSearchShow = false;
     @track Existarrive = false;
-    @track Category3 = '';
-    @track category3Options=[];
-    @track Category4 = '';
-    @track category4Options=[];
-    @track Category5 = '';
-    @track category5Options=[];
+    @track Category3 = "";
+    @track category3Options = [];
+    @track Category4 = "";
+    @track category4Options = [];
+    @track Category5 = "";
+    @track category5Options = [];
+    //鍙戠エid
+    @track invoiceId = '';
 
     //浜岀骇缁忛攢鍟�
-    @track secondaryDistributor = '';
+    @track secondaryDistributor = "";
     @track secondaryDistributorOptions = [];
     @track isDisabledSecondaryDistributor = false;
 
     //缁忛攢鍟嗗綍鍏�
-    @track ForDealerText = '';
+    @track ForDealerText = "";
     @track isDisabledForDealerText = false;
 
     //瀹㈡埛鍚�
     @track isModalOpen = false;
-    @track HospitalName = '';
-    @track searchHospitalName = '';
-    @track OECId = '';
+    @track HospitalName = "";
+    @track searchHospitalName = "";
+    @track OECId = "";
     @track isDisabledHospitalName = false;
 
     //绉戝
-    @track ForCustomerText = '';
+    @track ForCustomerText = "";
     @track isDisabledForCustomerText = false;
 
     //娌℃湁纭畾浠锋牸
     @track NoConfirmedPrice = false;
 
     //娑堣�楀搧鍚嶇О
-    @track consumableName = '';
+    @track consumableName = "";
 
-    @track agencyProType = '';
-    @track accountName = '';
-    @track userWorkLocation = '';
+    @track agencyProType = "";
+    @track accountName = "";
+    @track userWorkLocation = "";
     @track OutPattern__c = false;
-    @track outOutPattern = '';
+    @track outOutPattern = "";
 
     //鍑哄簱鍗曟槑缁�
     @track showTable = false;
@@ -336,142 +488,200 @@
     @track isSelectShow = false;
     @track hidecheckboxcolumn = false;
     @track is345Show = false;
-    @track arriveorder = '';
+    @track arriveorder = "";
     @track hasHosPro = false;
-    @track InvoiceProNotLabel = '';
-    @track RrturnProLabel = '';
-    @track InvoicedLabel = '';
+    @track InvoiceProNotLabel = "";
+    @track RrturnProLabel = "";
+    @track InvoicedLabel = "";
     @track outOutPatternOptionList = [];
 
+    //鏂囦欢涓婁紶
+    @track showLoadingSpinner = false;
+    @track UploadFile = "Upload File";
+    @track fileName = "";
+    @track fileData = [];
+    @track fileColumns = [
+        {
+            label: "鏍囬",
+            fieldName: "url",
+            type: "url",
+            typeAttributes: { label: { fieldName: "Title" }, target: "_blank" },
+            hideDefaultActions: true,
+        },
+        {
+            label: "鍒涘缓浜�",
+            fieldName: "CreatedByName",
+            hideDefaultActions: true,
+        },
+    ];
+    filesUploaded = [];
+    fileContents;
+    fileReader;
+    content;
+    MAX_FILE_SIZE = 1500000;
+
+    get acceptedFormats() {
+        return [".xlsx"];
+    }
 
     //InvoiceProNotLabel    RrturnProLabel  InvoicedLabel
     @wire(getObjectInfo, { objectApiName: OPPORTUNITY_OBJECT })
     oppInfo({ data, error }) {
         if (data) {
-            this.InvoiceProNotLabel = data.fields.InvoiceProNot_count__c.label
-            this.RrturnProLabel = data.fields.RrturnPro_count__c.label
-            this.InvoicedLabel = data.fields.Invoiced_Procount__c.label
-            console.log('this.InvoiceProNotLabel = ' + this.InvoiceProNotLabel);
-            console.log('this.RrturnProLabel = ' + this.RrturnProLabel);
-            console.log('this.InvoicedLabel = ' + this.InvoicedLabel);
+            this.InvoiceProNotLabel = data.fields.InvoiceProNot_count__c.label;
+            this.RrturnProLabel = data.fields.RrturnPro_count__c.label;
+            this.InvoicedLabel = data.fields.Invoiced_Procount__c.label;
+            console.log("this.InvoiceProNotLabel = " + this.InvoiceProNotLabel);
+            console.log("this.RrturnProLabel = " + this.RrturnProLabel);
+            console.log("this.InvoicedLabel = " + this.InvoicedLabel);
         }
     }
 
-    // get secondaryDistributorOptions() {
-    //     return this.secondaryDistributorOptions;
-    // }
-
-    // get outOutPatternOptionList() {
-    //     return this.outOutPatternOptionList;
-    // }
-    
-    // // get category3Options() {
-    // //     return this.category3Options;
-    // // }
-    // get category4Options() {
-    //     return this.category4Options;
-    // }
-    // get category5Options() {
-    //     return this.category5Options;
-    // }
-
     //鑾峰彇閾炬帴鍙傛暟
     getQueryString(name) {
-        console.log('getQueryString name ' + name)
+        console.log("getQueryString name " + name);
         let reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
         let r = window.location.search.substr(1).match(reg);
         if (r != null) {
             return decodeURIComponent(r[2]);
-        };
+        }
         return null;
-     }
-    connectedCallback(){
-        this.ESetid = this.getQueryString('ESetid');
-        this.ESetid = this.ESetid == null ? '' : this.ESetid;
+    }
+    connectedCallback() {
+        console.log("connectedCallback LexSummonsCreat");
+        this.ESetid = this.getQueryString("ESetid");
+        this.ESetid = this.ESetid == null ? "" : this.ESetid;
+        //statusEdit
+        this.statusEdit = this.getQueryString("KeyWords");
+        this.statusEdit = this.statusEdit == null ? "" : this.statusEdit;
+        console.log("this.ESetid = " + this.ESetid);
+        console.log("this.statusEdit = " + this.statusEdit);
+        if (this.ESetid == "") {
+            this.isShowInformation = false;
+        }
+        console.log("init LexSummonsCreat");
         init({
-            ESetidJs : this.ESetid
+            ESetidJs: this.ESetid,
+            statusEdit: this.statusEdit
         }).then((r) => {
             r = JSON.parse(JSON.stringify(r));
-            console.log('r = ' + JSON.stringify(r));
-            
-            if (r.status == 'Success') {
+            console.log("r = " + JSON.stringify(r));
+
+            if (r.status == "Success") {
+                this.OECId = r.entity.HospitalInfo == null ? '' : r.entity.HospitalInfo;
+                console.log("this.OECId = " + this.OECId);
                 this.ConsumableOut_report = r.entity.ConsumableOut_report;
-                console.log('this.ConsumableOut_report = ' + this.ConsumableOut_report)
+                console.log("this.ConsumableOut_report = " + this.ConsumableOut_report);
                 this.accountid = r.entity.accountid;
-                this.consumableproductdetailsRecords = r.entity.consumableproductdetailsRecords;
+                this.consumableproductdetailsRecords =
+                    r.entity.consumableproductdetailsRecords;
                 this.accountName = r.entity.accountName;
                 this.agencyProType = r.entity.agencyProType;
                 this.accountName = r.entity.accountName;
                 this.userWorkLocation = r.entity.userWorkLocation;
                 this.EditAble = r.entity.EditAble;
-                console.log('this.agencyProType = ' + this.agencyProType);
-                console.log('this.EditAble = ' + this.EditAble);
+                this.consumableorderdetails2Records =
+                    r.entity.consumableorderdetails2Records;
+                for (var i in this.consumableorderdetails2Records) {
+                    this.consumableorderdetails2Records[i]["ProdName"] =
+                        this.consumableorderdetails2Records[i].Prod.Name;
+                    this.consumableorderdetails2Records[i][
+                        "orderdetails2SerialLotNo__c"
+                    ] =
+                        this.consumableorderdetails2Records[i].orderdetails2.SerialLotNo__c;
+                    this.consumableorderdetails2Records[i][
+                        "orderdetails2TracingCode__c"
+                    ] =
+                        this.consumableorderdetails2Records[i].orderdetails2.TracingCode__c;
+                    this.consumableorderdetails2Records[i][
+                        "orderdetails2Sterilization_limit__c"
+                    ] =
+                        this.consumableorderdetails2Records[
+                            i
+                        ].orderdetails2.Sterilization_limit__c;
+                }
+                this.isShowOutboundProductDetails =
+                    r.entity.consumableorderdetails2Count > 0 ? true : false;
+                console.log("this.agencyProType = " + this.agencyProType);
+                console.log("this.EditAble = " + this.EditAble);
+                //鏌ヨ闄勪欢
+                if (!this.EditAble) this.getFiles();
                 //绗�3鍒嗙被
-                for(var key in r.entity.categoryOptionMap){
+                for (var key in r.entity.categoryOptionMap) {
                     let object = {};
-                    object['label'] = r.entity.categoryOptionMap[key];
-                    object['value'] = key;
+                    object["label"] = r.entity.categoryOptionMap[key];
+                    object["value"] = key;
                     this.category3Options.push(object);
                 }
-                console.log('this.category3Options = ' + this.category3Options)
+                console.log("this.category3Options = " + JSON.stringify(this.category3Options));
                 //绗�4鍒嗙被
-                for(var key in r.entity.category4OptionMap){
+                for (var key in r.entity.category4OptionMap) {
                     let object = {};
-                    object['label'] = r.entity.category4OptionMap[key];
-                    object['value'] = key;
+                    object["label"] = r.entity.category4OptionMap[key];
+                    object["value"] = key;
                     this.category4Options.push(object);
                 }
-                console.log('this.category4Options = ' + this.category4Options)
+                console.log("this.category4Options = " + this.category4Options);
                 //绗�5鍒嗙被
-                for(var key in r.entity.category5OptionMap){
+                for (var key in r.entity.category5OptionMap) {
                     let object = {};
-                    object['label'] = r.entity.category5OptionMap[key];
-                    object['value'] = key;
+                    object["label"] = r.entity.category5OptionMap[key];
+                    object["value"] = key;
                     this.category5Options.push(object);
                 }
-                console.log('this.category5Options = ' + this.category5Options)
+                console.log("this.category5Options = " + this.category5Options);
 
                 this.data = r.entity.pageRecords;
-                for(var i in this.data){
+                console.log("this.data start = " + JSON.stringify(this.data));
+                for (var i in this.data) {
                     let unitOptions = [];
-                    for(var key in this.data[i].boxorpieceMap){
+                    for (var key in this.data[i].boxorpieceMap) {
                         let unitOption = {};
-                        unitOption['label'] = this.data[i].boxorpieceMap[key];
-                        unitOption['value'] = key;
+                        unitOption["label"] = this.data[i].boxorpieceMap[key];
+                        unitOption["value"] = key;
                         unitOptions.push(unitOption);
                     }
-                    this.data[i]['unitOptions'] = unitOptions;
-                    this.data[i]['unitValue'] = unitOptions[0].value;
-                    if(this.EditAble){
-                        this.data[i].orderdetails1['Box_Piece__c'] = unitOptions[0].value;
-                        this.data[i].orderdetails1['Shipment_Count__c'] = 0;
-                        this.data[i].orderdetails1['Delivery_List_RMB__c'] = 0.00;
-                    }else{
-                        this.data[i]['InvoiceProNot_count__c'] = this.data[i].orderdetails1.InvoiceProNot_count__c;
-                        this.data[i]['RrturnPro_count__c'] = this.data[i].orderdetails1.RrturnPro_count__c;
-                        this.data[i]['Invoiced_Procount__c'] = this.data[i].orderdetails1.Invoiced_Procount__c;
+                    this.data[i]["unitOptions"] = unitOptions;
+                    this.data[i]["unitValue"] = this.data[i]["unitValue"] == null ? unitOptions[0].value : this.data[i]["unitValue"];
+                    if (this.EditAble) {
+                        this.data[i].orderdetails1["Box_Piece__c"] = this.data[i].orderdetails1["Box_Piece__c"] == null ? unitOptions[0].value : this.data[i].orderdetails1["Box_Piece__c"];
+                        this.data[i].orderdetails1["Shipment_Count__c"] = this.data[i].orderdetails1["Shipment_Count__c"] == null ? 0 : this.data[i].orderdetails1["Shipment_Count__c"];
+                        this.data[i].orderdetails1["Delivery_List_RMB__c"] = this.data[i].orderdetails1["Delivery_List_RMB__c"] == null ? 0.0 : this.data[i].orderdetails1["Delivery_List_RMB__c"];
+                    } else {
+                        this.data[i]["InvoiceProNot_count__c"] =
+                            this.data[i].orderdetails1.InvoiceProNot_count__c;
+                        this.data[i]["RrturnPro_count__c"] =
+                            this.data[i].orderdetails1.RrturnPro_count__c;
+                        this.data[i]["Invoiced_Procount__c"] =
+                            this.data[i].orderdetails1.Invoiced_Procount__c;
                     }
-                    this.data[i]['shipmentNumber'] = 0;
-                    this.data[i]['shippingUnitPrice'] = 0.00;
+                    // this.data[i]["shipmentNumber"] = 0;
+                    // this.data[i]["shippingUnitPrice"] = 0.0;
+                    this.data[i]["shipmentNumber"] = this.data[i].orderdetails1["Shipment_Count__c"];
+                    this.data[i]["shippingUnitPrice"] = this.data[i].orderdetails1["Delivery_List_RMB__c"];
 
-                    this.data[i]['recordId'] = this.data[i].Prod.Id;
-                    this.data[i]['Id'] = this.data[i].Prod.Id;
-                    this.data[i]['Name__c'] = this.data[i].Prod.Name__c;
-                    this.data[i]['SFDA_Status__c'] = this.data[i].Prod.SFDA_Status__c;
-                    this.data[i]['Category3__c'] = this.data[i].Prod.Category3__c;
-                    this.data[i]['Category4__c'] = this.data[i].Prod.Category4__c;
-                    this.data[i]['Category5__c'] = this.data[i].Prod.Category5__c;
-                    this.data[i]['Box_Piece__c'] = this.data[i].orderdetails1.Box_Piece__c; 
-                    this.data[i]['shipmentAmount'] = this.data[i].orderdetails1.Shipment_amount__c;
-                    this.data[i]['Shipment_amount__c'] = this.data[i].orderdetails1.Shipment_amount__c;
-                    this.data[i]['Shipment_Count__c'] = this.data[i].orderdetails1.Shipment_Count__c;
-                    
+                    this.data[i]["recordId"] = this.data[i].Prod.Id;
+                    this.data[i]["Id"] = this.data[i].Prod.Id;
+                    this.data[i]["Name__c"] = this.data[i].Prod.Name__c;
+                    this.data[i]["SFDA_Status__c"] = this.data[i].Prod.SFDA_Status__c;
+                    this.data[i]["Category3__c"] = this.data[i].Prod.Category3__c;
+                    this.data[i]["Category4__c"] = this.data[i].Prod.Category4__c;
+                    this.data[i]["Category5__c"] = this.data[i].Prod.Category5__c;
+                    this.data[i]["Box_Piece__c"] = this.data[i].orderdetails1.Box_Piece__c;
+                    this.data[i]["shipmentAmount"] = this.data[i].orderdetails1.Shipment_amount__c;
+                    this.data[i]["Shipment_amount__c"] = this.data[i].orderdetails1.Shipment_amount__c;
+                    this.data[i]["Shipment_Count__c"] = this.data[i].orderdetails1.Shipment_Count__c;
+
+                    if (this.data[i]['check']) {
+                        this.selectedRows.push(this.data[i].Id);
+                    }
+
                 }
-                console.log('this.data = ' + JSON.stringify(this.data));
+                console.log("this.data = " + JSON.stringify(this.data));
                 //show
-                if(r.entity.EditDelCommitBtnDisabled || r.entity.EditAble){
+                if (r.entity.EditDelCommitBtnDisabled || r.entity.EditAble) {
                     this.isSaveShow = true;
-                }else{
+                } else {
                     this.isEditShow = true;
                     this.isDeliveryShow = true;
                     this.isOpenToInvoiceShow = true;
@@ -481,171 +691,256 @@
                 }
 
                 this.Existarrive = r.entity.Existarrive;
-                
-                console.log('this.EditAble = ' + this.EditAble);
+
+                console.log("this.EditAble = " + this.EditAble);
                 this.hasHosPro = r.entity.hasHosPro;
                 //disable
-                
-                if(Object.values(r.entity.coc).length > 0){
+
+                if (Object.values(r.entity.coc).length > 0) {
                     this.cocLwc = r.entity.coc;
-                    console.log('this.cocLwc = ' + JSON.stringify(this.cocLwc));
+                    console.log("this.cocLwc = " + JSON.stringify(this.cocLwc));
                     var coc = r.entity.coc;
                     this.cocId = coc.Id;
+                    console.log('cocId = ' + this.cocId);
                     coc.SummonsStatus = coc.SummonsStatus_c__c;
-                    if(coc.SummonsStatus_c__c == '宸插畬鎴�'){
+                    if (coc.SummonsStatus_c__c == "宸插畬鎴�") {
                         this.isEditDisabled = true;
                     }
-                    if(coc.SummonsStatus_c__c == '鎵瑰噯' || coc.SummonsStatus_c__c == '宸查攢鍞緟涓婁紶绾冲搧涔�' || coc.SummonsStatus_c__c == '鍑哄簱鍗曞凡鎵撳嵃' || coc.SummonsStatus_c__c == '宸插畬鎴�'){
+                    if (
+                        coc.SummonsStatus_c__c == "鎵瑰噯" ||
+                        coc.SummonsStatus_c__c == "宸查攢鍞緟涓婁紶绾冲搧涔�" ||
+                        coc.SummonsStatus_c__c == "鍑哄簱鍗曞凡鎵撳嵃" ||
+                        coc.SummonsStatus_c__c == "宸插畬鎴�"
+                    ) {
                         this.isDeliveryDisabled = true;
                     }
-                    if(((coc.Billed_Status__c != '鍏ㄩ儴寮�绁�' && coc.SummonsStatus_c__c == '宸插畬鎴�') || coc.Onchange_order__c == true) && coc.SummonsForDirction__c != '浜掔浉璋冭揣'){
+                    if (
+                        ((coc.Billed_Status__c != "鍏ㄩ儴寮�绁�" &&
+                            coc.SummonsStatus_c__c == "宸插畬鎴�") ||
+                            coc.Onchange_order__c == true) &&
+                        coc.SummonsForDirction__c != "浜掔浉璋冭揣"
+                    ) {
                         this.isOpenToInvoiceDisabled = false;
                     }
-                    if(coc.SummonsStatus_c__c == '宸查攢鍞緟涓婁紶绾冲搧涔�' || coc.SummonsStatus_c__c == '鎵瑰噯' || coc.SummonsStatus_c__c == '鍑哄簱鍗曞凡鎵撳嵃' || coc.SummonsStatus_c__c == '鑽夋涓�'){
+                    if (
+                        coc.SummonsStatus_c__c == "宸查攢鍞緟涓婁紶绾冲搧涔�" ||
+                        coc.SummonsStatus_c__c == "鎵瑰噯" ||
+                        coc.SummonsStatus_c__c == "鍑哄簱鍗曞凡鎵撳嵃" ||
+                        coc.SummonsStatus_c__c == "鑽夋涓�"
+                    ) {
                         this.isPraseToPDFDisabled = false;
                     }
-                    if(coc.Billed_Status__c != '杩樻病寮�绁�' || coc.SummonsStatus_c__c == '宸插畬鎴�'){
+                    if (
+                        coc.Billed_Status__c != "杩樻病寮�绁�" ||
+                        coc.SummonsStatus_c__c == "宸插畬鎴�"
+                    ) {
                         this.isOpenReportDisabled = false;
                     }
-                    if(coc.SummonsStatus_c__c == '宸查攢鍞緟涓婁紶绾冲搧涔�' || coc.SummonsStatus_c__c == '浠锋牸鏈畾' || coc.SummonsStatus_c__c == '鎵瑰噯' || coc.SummonsStatus_c__c == '鍑哄簱鍗曞凡鎵撳嵃' || coc.SummonsStatus_c__c == '宸插畬鎴�'){
+                    if (
+                        coc.SummonsStatus_c__c == "宸查攢鍞緟涓婁紶绾冲搧涔�" ||
+                        coc.SummonsStatus_c__c == "浠锋牸鏈畾" ||
+                        coc.SummonsStatus_c__c == "鎵瑰噯" ||
+                        coc.SummonsStatus_c__c == "鍑哄簱鍗曞凡鎵撳嵃" ||
+                        coc.SummonsStatus_c__c == "宸插畬鎴�"
+                    ) {
                         this.isDeleteDisabled = true;
                     }
-                    this.isConInvoiceShow = (coc.SummonsStatus_c__c == '宸插畬鎴�' && coc.SummonsForDirction__c != '浜掔浉璋冭揣') ? true : false;
-                    this.summonsStatusPriceNotDetermined = coc.SummonsStatus_c__c == '浠锋牸鏈畾' ? true : false;
-                    this.isSummonsForDirctionTwoShow = coc.SummonsForDirction__c == '閿�鍞粰浜岀骇缁忛攢鍟�' ? true : false;
+                    this.isConInvoiceShow =
+                        coc.SummonsStatus_c__c == "宸插畬鎴�" &&
+                            coc.SummonsForDirction__c != "浜掔浉璋冭揣"
+                            ? true
+                            : false;
+                    this.summonsStatusPriceNotDetermined =
+                        coc.SummonsStatus_c__c == "浠锋牸鏈畾" ? true : false;
+                    this.isSummonsForDirctionTwoShow =
+                        coc.SummonsForDirction__c == "閿�鍞粰浜岀骇缁忛攢鍟�" ? true : false;
                 }
-                this.isSearchShow = (!this.Existarrive && r.entity.coc.SummonsStatus_c__c != '浠锋牸鏈畾' && r.entity.EditAble) ? true : false;
+                this.isSearchShow =
+                    !this.Existarrive &&
+                        r.entity.coc.SummonsStatus_c__c != "浠锋牸鏈畾" &&
+                        r.entity.EditAble
+                        ? true
+                        : false;
                 this.hidecheckboxcolumn = !this.isSearchShow;
                 this.arriveorder = r.entity.arriveorder;
-                this.is345Show = (this.arriveorder == '' && this.Existarrive == false && this.EditAble) ? true : false;
+                this.is345Show =
+                    this.arriveorder == "" && this.Existarrive == false && this.EditAble
+                        ? true
+                        : false;
                 //濡傛灉涓嶆樉绀�345鍒嗙被锛宑olumns閲岄潰鍒犻櫎3锛�4锛�5鍒嗙被
-                if(!this.is345Show){
-                    for(var i=0; i<this.columns.length; i++){
-                        if(this.columns[i].label == '绗�3鍒嗙被'){
-                            this.columns.splice(i,1);
+                if (!this.is345Show) {
+                    for (var i = 0; i < this.columns.length; i++) {
+                        if (this.columns[i].label == "绗�3鍒嗙被") {
+                            this.columns.splice(i, 1);
                         }
                     }
-                    for(var i=0; i<this.columns.length; i++){
-                        if(this.columns[i].label == '绗�4鍒嗙被'){
-                            this.columns.splice(i,1);
+                    for (var i = 0; i < this.columns.length; i++) {
+                        if (this.columns[i].label == "绗�4鍒嗙被") {
+                            this.columns.splice(i, 1);
                         }
                     }
-                    for(var i=0; i<this.columns.length; i++){
-                        if(this.columns[i].label == '绗�5鍒嗙被'){
-                            this.columns.splice(i,1);
+                    for (var i = 0; i < this.columns.length; i++) {
+                        if (this.columns[i].label == "绗�5鍒嗙被") {
+                            this.columns.splice(i, 1);
                         }
                     }
-                    for(var i=0; i<this.editColumns.length; i++){
-                        if(this.editColumns[i].label == '绗�3鍒嗙被'){
-                            this.editColumns.splice(i,1);
+                    for (var i = 0; i < this.editColumns.length; i++) {
+                        if (this.editColumns[i].label == "绗�3鍒嗙被") {
+                            this.editColumns.splice(i, 1);
                         }
                     }
-                    for(var i=0; i<this.editColumns.length; i++){
-                        if(this.editColumns[i].label == '绗�4鍒嗙被'){
-                            this.editColumns.splice(i,1);
+                    for (var i = 0; i < this.editColumns.length; i++) {
+                        if (this.editColumns[i].label == "绗�4鍒嗙被") {
+                            this.editColumns.splice(i, 1);
                         }
                     }
-                    for(var i=0; i<this.editColumns.length; i++){
-                        if(this.editColumns[i].label == '绗�5鍒嗙被'){
-                            this.editColumns.splice(i,1);
+                    for (var i = 0; i < this.editColumns.length; i++) {
+                        if (this.editColumns[i].label == "绗�5鍒嗙被") {
+                            this.editColumns.splice(i, 1);
                         }
                     }
                 }
                 //濡傛灉EditAble==false锛屽垹闄� 鍑鸿揣閲戦(鍏�) 鏈夋晥鏈熷唴搴撳瓨(鐩�) 鏈夋晥鏈熷唴搴撳瓨(涓�) 3鍒� 灞曠ず 杩樻病鍙戠エ鏁伴噺 杩斿搧鏁伴噺 宸插彂绁ㄦ暟閲�
-                if(!this.EditAble){
+                if (!this.EditAble) {
                     let object1 = {
-                        label: this.InvoiceProNotLabel, 
-                        fieldName: 'InvoiceProNot_count__c', 
-                        hideDefaultActions: true
+                        label: this.InvoiceProNotLabel,
+                        fieldName: "InvoiceProNot_count__c",
+                        hideDefaultActions: true,
                     };
                     let object2 = {
-                        label: this.RrturnProLabel, 
-                        fieldName: 'RrturnPro_count__c', 
-                        hideDefaultActions: true
+                        label: this.RrturnProLabel,
+                        fieldName: "RrturnPro_count__c",
+                        hideDefaultActions: true,
                     };
                     let object3 = {
-                        label: this.InvoicedLabel, 
-                        fieldName: 'Invoiced_Procount__c', 
-                        hideDefaultActions: true
+                        label: this.InvoicedLabel,
+                        fieldName: "Invoiced_Procount__c",
+                        hideDefaultActions: true,
                     };
                     this.editColumns.push(object1);
                     this.editColumns.push(object2);
                     this.editColumns.push(object3);
+                } else {
+                    this.ForCustomerText = this.cocLwc.Order_ForCustomerText__c;
+                    console.log('EditAble = true this.ForCustomerText = ' + this.ForCustomerText);
+                    this.summonsForDirction = this.cocLwc.SummonsForDirction__c;
+                    console.log('EditAble = true this.summonsForDirction = ' + this.summonsForDirction);
+                    let value = this.summonsForDirction;
+                    switch (value) {
+                        case "鐩存帴閿�鍞粰鍖婚櫌":
+                            this.isDisabledHospitalName = false;
+                            this.isDisabledForCustomerText = false;
+                            this.secondaryDistributor = "";
+                            this.ForDealerText = "";
+                            this.isDisabledForDealerText = true;
+                            this.isDisabledSecondaryDistributor = true;
+                            break;
+                        case "鍖婚櫌璇曠敤":
+                            this.isDisabledHospitalName = false;
+                            this.isDisabledForCustomerText = false;
+                            this.isDisabledForDealerText = false;
+                            this.isDisabledSecondaryDistributor = false;
+                            break;
+                        case "閿�鍞粰浜岀骇缁忛攢鍟�":
+                            this.isDisabledHospitalName = false;
+                            this.isDisabledForCustomerText = false;
+                            this.isDisabledForDealerText = false;
+                            this.isDisabledSecondaryDistributor = false;
+                            break;
+                        case "浜掔浉璋冭揣":
+                            this.isDisabledHospitalName = true;
+                            this.HospitalName = "";
+                            this.OECId = "";
+                            this.isDisabledForCustomerText = true;
+                            this.ForCustomerText = "";
+                            this.isDisabledForDealerText = false;
+                            this.isDisabledSecondaryDistributor = false;
+                            this.isMutualTransferGoods = true;
+                            break;
+                        default:
+                            this.isDisabledHospitalName = false;
+                            this.isDisabledForCustomerText = false;
+                            this.isDisabledForDealerText = false;
+                            this.isDisabledSecondaryDistributor = false;
+                    }
                 }
 
                 //濡傛灉hasHosPro = true 鍖婚櫌鐗逛环
-                if(this.hasHosPro){
+                if (this.hasHosPro) {
                     let object1 = {
-                        label: '鍖婚櫌鐗逛环', 
-                        fieldName: 'InvoiceProNot_count__c', 
-                        hideDefaultActions: true
+                        label: "鍖婚櫌鐗逛环",
+                        fieldName: "InvoiceProNot_count__c",
+                        hideDefaultActions: true,
                     };
                     this.columns.push(object1);
                     this.editColumns.push(object1);
                 }
                 //鍑哄簱鍗曚俊鎭�
-                this.isSummonsFlag = r.entity.SummonsFlag == 'visible' ? true : false;
-                console.log('r.entity.provinceOptsMap = ' + r.entity.provinceOptsMap);
-                for(var key in r.entity.provinceOptsMap){
+                this.isSummonsFlag = r.entity.SummonsFlag == "visible" ? true : false;
+                console.log("r.entity.provinceOptsMap = " + r.entity.provinceOptsMap);
+                for (var key in r.entity.provinceOptsMap) {
                     let object = {};
-                    object['label'] = r.entity.provinceOptsMap[key];
-                    object['value'] = key;
+                    object["label"] = r.entity.provinceOptsMap[key];
+                    object["value"] = key;
                     this.secondaryDistributorOptions.push(object);
                 }
-                for(var key in r.entity.outOutPatternOptionMap){
+                for (var key in r.entity.outOutPatternOptionMap) {
                     let object = {};
-                    object['label'] = r.entity.outOutPatternOptionMap[key];
-                    object['value'] = key;
+                    object["label"] = r.entity.outOutPatternOptionMap[key];
+                    object["value"] = key;
                     this.outOutPatternOptionList.push(object);
                 }
-                console.log('this.secondaryDistributorOptions = '  + JSON.stringify(this.secondaryDistributorOptions));
+                console.log(
+                    "this.secondaryDistributorOptions = " +
+                    JSON.stringify(this.secondaryDistributorOptions)
+                );
                 this.HospitalName = r.entity.HospitalName;
-                this.sumPrice = r.entity.sumPrice + '鍏�';
+                this.sumPrice = r.entity.sumPrice + "鍏�";
                 this.isShowSpinner = false;
                 this.showTable = true;
-                console.log('ESetid = ' + this.ESetid)
+                console.log("ESetid = " + this.ESetid);
             } else {
-                console.log('r = ' + JSON.stringify(r))
-                this.showToast('Error', r.msg);
+                console.log("r = " + JSON.stringify(r));
+                this.showToast("Error", r.msg);
             }
-        })
+        });
     }
 
-
-    ChangeDirction(event){
+    ChangeDirction(event) {
         let value = event.target.value;
         this.summonsForDirction = value;
-        this.cocLwc['SummonsForDirction__c'] = value;
-        console.log('閫夋嫨浜� = ' + value);
-        switch(value){
-            case '鐩存帴閿�鍞粰鍖婚櫌':
+        this.cocLwc["SummonsForDirction__c"] = value;
+        console.log("閫夋嫨浜� = " + value);
+        switch (value) {
+            case "鐩存帴閿�鍞粰鍖婚櫌":
                 this.isDisabledHospitalName = false;
                 this.isDisabledForCustomerText = false;
-                this.secondaryDistributor = '';
-                this.ForDealerText = '';
+                this.secondaryDistributor = "";
+                this.ForDealerText = "";
                 this.isDisabledForDealerText = true;
                 this.isDisabledSecondaryDistributor = true;
                 break;
-            case '鍖婚櫌璇曠敤':
+            case "鍖婚櫌璇曠敤":
                 this.isDisabledHospitalName = false;
                 this.isDisabledForCustomerText = false;
                 this.isDisabledForDealerText = false;
                 this.isDisabledSecondaryDistributor = false;
                 break;
-            case '閿�鍞粰浜岀骇缁忛攢鍟�':
+            case "閿�鍞粰浜岀骇缁忛攢鍟�":
                 this.isDisabledHospitalName = false;
                 this.isDisabledForCustomerText = false;
                 this.isDisabledForDealerText = false;
                 this.isDisabledSecondaryDistributor = false;
                 break;
-            case '浜掔浉璋冭揣':
+            case "浜掔浉璋冭揣":
                 this.isDisabledHospitalName = true;
-                this.HospitalName = '';
-                this.OECId = '';
+                this.HospitalName = "";
+                this.OECId = "";
                 this.isDisabledForCustomerText = true;
-                this.ForCustomerText = '';
+                this.ForCustomerText = "";
                 this.isDisabledForDealerText = false;
                 this.isDisabledSecondaryDistributor = false;
+                this.isMutualTransferGoods = true;
                 break;
             default:
                 this.isDisabledHospitalName = false;
@@ -658,71 +953,161 @@
     dataChange(event) {
         let fieldName = event.target.getAttribute("data-field");
         let value = event.detail.value;
+        console.log("fieldName = " + fieldName + " value = " + value);
         switch (fieldName) {
-            case 'summonsForDirction':   
+            case "summonsForDirction":
                 this.summonsForDirction = value;
-                break
-            case 'secondaryDistributor':
+                break;
+            case "secondaryDistributor":
                 this.secondaryDistributor = value;
-                break
-            case 'HospitalName':
+                break;
+            case "HospitalName":
                 this.HospitalName = value;
-                break
-            case 'ForDealerText':
+                break;
+            case "ForDealerText":
                 this.ForDealerText = value;
-                this.cocLwc['Order_ForDealerText__c'] = value;
-                break
-            case 'ForCustomerText':
-                this.cocLwc['Order_ForCustomerText__c'] = value;
+                this.cocLwc["Order_ForDealerText__c"] = value;
+                break;
+            case "ForCustomerText":
+                this.cocLwc["Order_ForCustomerText__c"] = value;
                 this.ForCustomerText = value;
-                break
-            case 'sumPrice':
+                break;
+            case "sumPrice":
                 this.sumPrice = value;
-                break
-            case 'NoConfirmedPrice':
-                this.NoConfirmedPrice = !this.NoConfirmedPrice
-                this.cocLwc['NoConfirmedPrice__c'] = this.NoConfirmedPrice;
-                console.log('this.NoConfirmedPrice = ' + this.NoConfirmedPrice)
-                break
-            case 'consumableName':
+                break;
+            case "NoConfirmedPrice":
+                this.NoConfirmedPrice = !this.NoConfirmedPrice;
+                this.cocLwc["NoConfirmedPrice__c"] = this.NoConfirmedPrice;
+                console.log("this.NoConfirmedPrice = " + this.NoConfirmedPrice);
+                break;
+            case "consumableName":
                 this.consumableName = value;
-                break
-            case 'Category3':
+                break;
+            case "Category3":
                 this.Category3 = value;
-                break
-            case 'Category4':
+                //璋冪敤鍚庡彴鏄剧ず绗洓浜斿垎绫�
+                this.showAllCate();
+                if(this.Category3 == ''){
+                    this.Category4 = '';
+                    this.Category5 = '';
+                }
+                break;
+            case "Category4":
                 this.Category4 = value;
-                break
-            case 'Category5':
+                //璋冪敤鍚庡彴鏄剧ず绗簲鍒嗙被
+                this.showCate();
+                if(this.Category4 == ''){
+                    this.Category5 = '';
+                }
+                break;
+            case "Category5":
                 this.Category5 = value;
-                break
-            case 'searchHospitalName':
+                break;
+            case "searchHospitalName":
                 this.searchHospitalName = value;
-                break
+                break;
+            case "Barcode":
+                this.Barcode = value;
+                break;
         }
+    }
+
+    showAllCate(){
+        console.log('showAllCate')
+        categoryAllload({
+            category3Lwc : this.Category3
+        }).then((r) => {
+            r = JSON.parse(JSON.stringify(r));
+            console.log("r = " + JSON.stringify(r));
+            if (r.status == "Success") {
+                this.category4Options = [];
+                this.category5Options = [];
+                //绗�4鍒嗙被
+                for (var key in r.entity.category4OptionMap) {
+                    let object = {};
+                    object["label"] = r.entity.category4OptionMap[key];
+                    object["value"] = key;
+                    this.category4Options.push(object);
+                }
+                console.log("this.category4Options = " + this.category4Options);
+                //绗�5鍒嗙被
+                for (var key in r.entity.category5OptionMap) {
+                    let object = {};
+                    object["label"] = r.entity.category5OptionMap[key];
+                    object["value"] = key;
+                    this.category5Options.push(object);
+                }
+            }else {
+                console.log("r = " + JSON.stringify(r));
+                this.showToast("Error", r.msg);
+            }
+        }).catch((error) => {
+            console.log("error" + JSON.stringify(error));
+        });
+    }
+
+    showCate(){
+        console.log('showAllCate')
+        categoryload({
+            category3Lwc : this.Category3,
+            category4Lwc : this.Category4
+        }).then((r) => {
+            r = JSON.parse(JSON.stringify(r));
+            console.log("r = " + JSON.stringify(r));
+            if (r.status == "Success") {
+                this.category4Options = [];
+                this.category5Options = [];
+                //绗�4鍒嗙被
+                for (var key in r.entity.category4OptionMap) {
+                    let object = {};
+                    object["label"] = r.entity.category4OptionMap[key];
+                    object["value"] = key;
+                    this.category4Options.push(object);
+                }
+                console.log("this.category4Options = " + this.category4Options);
+                //绗�5鍒嗙被
+                for (var key in r.entity.category5OptionMap) {
+                    let object = {};
+                    object["label"] = r.entity.category5OptionMap[key];
+                    object["value"] = key;
+                    this.category5Options.push(object);
+                }
+            }else {
+                console.log("r = " + JSON.stringify(r));
+                this.showToast("Error", r.msg);
+            }
+        }).catch((error) => {
+            console.log("error" + JSON.stringify(error));
+        });
+    }
+
+    invoiceChange(event) {
+        this.invoiceId = event.target.value;
+        console.log('this.invoiceId = ' + this.invoiceId);
     }
 
     showToast(type, msg) {
         this.isShowSpinner = false;
+        this.showLoadingSpinner = false;
         const event = new ShowToastEvent({
             title: type,
             variant: type,
-            message: msg
+            message: msg,
         });
         this.dispatchEvent(event);
     }
 
-    searchProductJs(){
+    searchProductJs() {
         this.isShowSpinner = true;
         //this.showTable = false;
 
         let cloneData = this.data;
-        for(var i in cloneData){
-            cloneData[i]['Name'] = cloneData[i].Name__c;
-            cloneData[i]['Category3'] = cloneData[i].Category3__c;
-            cloneData[i]['Category4'] = cloneData[i].Category4__c;
-            cloneData[i]['Category5'] = cloneData[i].Category5__c;
-            cloneData[i]['BoxPiece'] = cloneData[i].Box_Piece__c;
+        for (var i in cloneData) {
+            cloneData[i]["Name"] = cloneData[i].Name__c;
+            cloneData[i]["Category3"] = cloneData[i].Category3__c;
+            cloneData[i]["Category4"] = cloneData[i].Category4__c;
+            cloneData[i]["Category5"] = cloneData[i].Category5__c;
+            cloneData[i]["BoxPiece"] = cloneData[i].Box_Piece__c;
             delete cloneData[i].Name__c;
             delete cloneData[i].Category3__c;
             delete cloneData[i].Category4__c;
@@ -730,380 +1115,795 @@
             delete cloneData[i].Box_Piece__c;
         }
 
-        console.log('cloneData = ' + JSON.stringify(cloneData));
+        console.log("cloneData = " + JSON.stringify(cloneData));
         searchConsumableorderdetails({
-            agencyProTypeLwc : this.agencyProType,
-            accountNameLwc : this.accountName,
-            userWorkLocationLwc : this.userWorkLocation,
-            outOutPattern : this.outOutPattern,
-            category1 : this.consumableName,
-            category3 : this.Category3,
-            category4 : this.Category4,
-            category5 : this.Category5,
-            editAbleLwc : this.EditAble,
-            pageRecordsLwcLwc : cloneData,
-            consumableproductdetailsRecordsLwc : this.consumableproductdetailsRecords,
-            arriveorderLwc : this.arriveorder
+            agencyProTypeLwc: this.agencyProType,
+            accountNameLwc: this.accountName,
+            userWorkLocationLwc: this.userWorkLocation,
+            outOutPattern: this.outOutPattern,
+            category1: this.consumableName,
+            category3: this.Category3,
+            category4: this.Category4,
+            category5: this.Category5,
+            editAbleLwc: this.EditAble,
+            pageRecordsLwcLwc: cloneData,
+            consumableproductdetailsRecordsLwc: this.consumableproductdetailsRecords,
+            arriveorderLwc: this.arriveorder,
         }).then((r) => {
             r = JSON.parse(JSON.stringify(r));
-            console.log('r = ' + JSON.stringify(r));
-            if (r.status == 'Success') {
+            console.log("r = " + JSON.stringify(r));
+            if (r.status == "Success") {
                 let tempData = [];
                 //this.data = r.entity.pageRecords;
                 tempData = r.entity.pageRecords;
-                for(var i in tempData){
+                for (var i in tempData) {
                     let unitOptions = [];
-                    for(var key in tempData[i].boxorpieceMap){
+                    for (var key in tempData[i].boxorpieceMap) {
                         let unitOption = {};
-                        unitOption['label'] = tempData[i].boxorpieceMap[key];
-                        unitOption['value'] = key;
+                        unitOption["label"] = tempData[i].boxorpieceMap[key];
+                        unitOption["value"] = key;
                         unitOptions.push(unitOption);
                     }
-                    tempData[i]['unitOptions'] = unitOptions;
-                    tempData[i]['unitValue'] = unitOptions[0].value;
-                    tempData[i]['recordId'] = tempData[i].Prod.Id;
-                    tempData[i]['Id'] = tempData[i].Prod.Id;
-                    tempData[i]['Name__c'] = tempData[i].Prod.Name__c;
-                    tempData[i]['SFDA_Status__c'] = tempData[i].Prod.SFDA_Status__c;
-                    tempData[i]['Category3__c'] = tempData[i].Prod.Category3__c;
-                    tempData[i]['Category4__c'] = tempData[i].Prod.Category4__c;
-                    tempData[i]['Category5__c'] = tempData[i].Prod.Category5__c;
-                    tempData[i]['Box_Piece__c'] = tempData[i].orderdetails1.Box_Piece__c; 
-                    tempData[i]['shipmentNumber'] = tempData[i].orderdetails1.Shipment_Count__c; 
-                    tempData[i]['shippingUnitPrice'] = tempData[i].orderdetails1.Delivery_List_RMB__c; 
-                    console.log('shippingUnitPrice = ' + tempData[i]['shippingUnitPrice']);
-                    if(tempData[i]['shippingUnitPrice'] && tempData[i]['shipmentNumber'])
-                        tempData[i]['shipmentAmount'] = this.amend(tempData[i]['shipmentNumber'],tempData[i]['shippingUnitPrice'],'*')
+                    tempData[i]["unitOptions"] = unitOptions;
+                    tempData[i]["unitValue"] = unitOptions[0].value;
+                    tempData[i]["recordId"] = tempData[i].Prod.Id;
+                    tempData[i]["Id"] = tempData[i].Prod.Id;
+                    tempData[i]["Name__c"] = tempData[i].Prod.Name__c;
+                    tempData[i]["SFDA_Status__c"] = tempData[i].Prod.SFDA_Status__c;
+                    tempData[i]["Category3__c"] = tempData[i].Prod.Category3__c;
+                    tempData[i]["Category4__c"] = tempData[i].Prod.Category4__c;
+                    tempData[i]["Category5__c"] = tempData[i].Prod.Category5__c;
+                    tempData[i]["Box_Piece__c"] = tempData[i].orderdetails1.Box_Piece__c;
+                    tempData[i]["shipmentNumber"] = tempData[i].orderdetails1.Shipment_Count__c;
+                    tempData[i]["shippingUnitPrice"] = tempData[i].orderdetails1.Delivery_List_RMB__c;
+                    console.log(
+                        "shippingUnitPrice = " + tempData[i]["shippingUnitPrice"]
+                    );
+                    if (tempData[i]["shippingUnitPrice"] && tempData[i]["shipmentNumber"])
+                        tempData[i]["shipmentAmount"] = this.amend(
+                            tempData[i]["shipmentNumber"],
+                            tempData[i]["shippingUnitPrice"],
+                            "*"
+                        );
                 }
                 this.data = tempData;
-                console.log('this.data = ' + JSON.stringify(this.data));
+                console.log("this.data = " + JSON.stringify(this.data));
                 //this.showTable = true;
                 this.isShowSpinner = false;
+            }else {
+                console.log("r = " + JSON.stringify(r));
+                this.showToast("Error", r.msg);
             }
-        })
+        });
     }
 
-    searchHospitalNameModal(){
-        console.log('searchHospitalNameModal')
+    searchHospitalNameModal() {
+        console.log("searchHospitalNameModal");
         hospitalInit({
-            ctype : this.agencyProType
+            ctype: this.agencyProType,
         }).then((r) => {
             r = JSON.parse(JSON.stringify(r));
-            if (r.status == 'Success') {
+            if (r.status == "Success") {
                 this.hospitalList = r.entity.at;
-                for(var i in this.hospitalList){
-                    this.hospitalList[i]['stateMasterName'] = this.hospitalList[i].State_Master__r.Name;
+                for (var i in this.hospitalList) {
+                    this.hospitalList[i]["stateMasterName"] =
+                        this.hospitalList[i].State_Master__r.Name;
                 }
-                console.log('hospitalInit r = ' + JSON.stringify(this.hospitalList));
+                console.log("hospitalInit r = " + JSON.stringify(this.hospitalList));
                 this.isModalOpen = true;
             }
         });
-        
     }
 
-    searchHospital(){
-        console.log('this.searchHospitalName = '  +  this.searchHospitalName);
+    searchHospital() {
+        console.log("this.searchHospitalName = " + this.searchHospitalName);
         serContact({
-            searchName : this.searchHospitalName,
-            ctype : this.agencyProType
+            searchName: this.searchHospitalName,
+            ctype: this.agencyProType,
         }).then((r) => {
             r = JSON.parse(JSON.stringify(r));
-            if (r.status == 'Success') {
+            if (r.status == "Success") {
                 this.hospitalList = r.entity.at;
-                for(var i in this.hospitalList){
-                    this.hospitalList[i]['stateMasterName'] = this.hospitalList[i].State_Master__r.Name;
+                for (var i in this.hospitalList) {
+                    this.hospitalList[i]["stateMasterName"] =
+                        this.hospitalList[i].State_Master__r.Name;
                 }
-                console.log('hospitalInit r = ' + JSON.stringify(this.hospitalList));
+                console.log("hospitalInit r = " + JSON.stringify(this.hospitalList));
             }
         });
     }
 
     searchHandleRowAction(event) {
-        console.log('searchHandleRowAction')
+        console.log("searchHandleRowAction");
         let row = event.detail.row;
         this.OECId = row.Id;
         this.HospitalName = row.Name;
-        console.log('this.OECId = ' + this.OECId + ' this.HospitalName = ' + this.HospitalName);
+        console.log(
+            "this.OECId = " + this.OECId + " this.HospitalName = " + this.HospitalName
+        );
         this.isModalOpen = false;
-        console.log('this.isModalOpen = ' + this.isModalOpen);
+        console.log("this.isModalOpen = " + this.isModalOpen);
     }
 
-    clearAgencyI(event){
+    clearAgencyI(event) {
         this.HospitalName = event.target.value;
-        if(this.HospitalName == '' || this.HospitalName == null){
-            this.OECId = '';
+        if (this.HospitalName == "" || this.HospitalName == null) {
+            this.OECId = "";
         }
-        console.log('this.HospitalName = ' + this.HospitalName);
-        console.log('this.OECId = ' + this.OECId);
-        if (this.OECId != null && this.OECId != '') {
+        console.log("this.HospitalName = " + this.HospitalName);
+        console.log("this.OECId = " + this.OECId);
+        if (this.OECId != null && this.OECId != "") {
             this.checkOutPattern();
         }
     }
 
-    checkOutPattern(){
+    checkOutPattern() {
         //鏍规嵁鐢ㄦ埛閫変腑鐨勪骇鍝佺粰 鍑哄簱鍗曚笂鐨勬槸鍚﹀尰闄㈢壒浠峰嚭搴撳瓧娈佃祴鍊�
         let ishos = 0;
-        for(var i in this.data){
-            if(this.data[i].check == true && this.data[i].hospitalSpecialOffer == true){
-                ishos = ishos +1;
+        for (var i in this.data) {
+            if (
+                this.data[i].check == true &&
+                this.data[i].hospitalSpecialOffer == true
+            ) {
+                ishos = ishos + 1;
             }
         }
         if (ishos > 0) {
-            this.cocLwc['OutPattern__c'] = true;
-        }else{
-            this.cocLwc['OutPattern__c'] = false;
+            this.cocLwc["OutPattern__c"] = true;
+        } else {
+            this.cocLwc["OutPattern__c"] = false;
         }
     }
 
-    closeModal(){
+    closeModal() {
         this.isModalOpen = false;
     }
 
-    handleUnitChange(event){
-        console.log('handleUnitChange')
+    handleUnitChange(event) {
+        console.log("handleUnitChange");
         const unitDetail = event.detail;
-        console.log('unitDetail = ' + JSON.stringify(unitDetail))
-        for(var i in this.data){
-            if(this.data[i].recordId == unitDetail.data.recordId){
+        console.log("unitDetail = " + JSON.stringify(unitDetail));
+        for (var i in this.data) {
+            if (this.data[i].recordId == unitDetail.data.recordId) {
                 this.data[i].unitValue = unitDetail.data.unitValue;
-                this.data[i].orderdetails1['Box_Piece__c'] = unitDetail.data.unitValue;
+                this.data[i].orderdetails1["Box_Piece__c"] = unitDetail.data.unitValue;
             }
         }
-        console.log('this.data = ' + JSON.stringify(this.data))
+        console.log("this.data = " + JSON.stringify(this.data));
     }
 
-    handleShipmentNumber(event){
-        console.log('handleShipmentNumber')
+    handleShipmentNumber(event) {
+        console.log("handleShipmentNumber");
         const numberDetail = event.detail;
-        console.log('numberDetail = ' + JSON.stringify(numberDetail))
+        console.log("numberDetail = " + JSON.stringify(numberDetail));
         let index = 0;
-        for(var i in this.data){
-            if(this.data[i].recordId == numberDetail.data.recordId){
+        for (var i in this.data) {
+            if (this.data[i].recordId == numberDetail.data.recordId) {
                 index = i;
                 this.data[i].shipmentNumber = Number(numberDetail.data.shipmentnumber);
-                this.data[i].orderdetails1['Shipment_Count__c'] = Number(numberDetail.data.shipmentnumber);
-                console.log('this.data[i].shipmentNumber = ' + this.data[i].shipmentNumber)
+                this.data[i].orderdetails1["Shipment_Count__c"] = Number(
+                    numberDetail.data.shipmentnumber
+                );
+                console.log(
+                    "this.data[i].shipmentNumber = " + this.data[i].shipmentNumber
+                );
             }
         }
-        this.ComputePrice(index,this.data[index].shipmentNumber,this.data[index].shippingUnitPrice);
+        this.ComputePrice(
+            index,
+            this.data[index].shipmentNumber,
+            this.data[index].shippingUnitPrice
+        );
     }
 
-    handleShipmentUnitPrice(event){
-        console.log('handleShipmentUnitPrice')
+    handleShipmentUnitPrice(event) {
+        console.log("handleShipmentUnitPrice");
         const priceDetail = event.detail;
         let index = 0;
-        for(var i in this.data){
-            if(this.data[i].recordId == priceDetail.data.recordId){
+        for (var i in this.data) {
+            if (this.data[i].recordId == priceDetail.data.recordId) {
                 index = i;
-                this.data[i].shippingUnitPrice = Number(priceDetail.data.shipmentunitprice);
-                this.data[i].orderdetails1['Delivery_List_RMB__c'] = Number(priceDetail.data.shipmentunitprice);
-                console.log('this.data[i].shippingUnitPrice = ' + this.data[i].shippingUnitPrice)
+                this.data[i].shippingUnitPrice = Number(
+                    priceDetail.data.shipmentunitprice
+                );
+                this.data[i].orderdetails1["Delivery_List_RMB__c"] = Number(
+                    priceDetail.data.shipmentunitprice
+                );
+                console.log(
+                    "this.data[i].shippingUnitPrice = " + this.data[i].shippingUnitPrice
+                );
             }
         }
-        this.ComputePrice(index,this.data[index].shipmentNumber,this.data[index].shippingUnitPrice);
+        this.ComputePrice(
+            index,
+            this.data[index].shipmentNumber,
+            this.data[index].shippingUnitPrice
+        );
     }
 
-    ComputePrice(index,number,price){
-        console.log('index = ' + index);
-        console.log('number = ' + number);
-        console.log('price = ' + price);
-        let shipmentAmount = this.amend(number,price,'*');
-        console.log('shipmentAmount = ' + shipmentAmount);
-        let sumPrice = 0.00;
+    ComputePrice(index, number, price) {
+        console.log("index = " + index);
+        console.log("number = " + number);
+        console.log("price = " + price);
+        let shipmentAmount = this.amend(number, price, "*");
+        console.log("shipmentAmount = " + shipmentAmount);
+        let sumPrice = 0.0;
         this.data[index].shipmentAmount = shipmentAmount;
-        for(var i in this.data){
-            if(this.data[i].shipmentAmount)
-                sumPrice += this.data[i].shipmentAmount;
+        for (var i in this.data) {
+            if (this.data[i].shipmentAmount) sumPrice += this.data[i].shipmentAmount;
         }
-        this.sumPrice = sumPrice + '鍏�';
+        this.sumPrice = sumPrice + "鍏�";
         //瀛樹笅閫夋嫨琛岋紝涓嶄細琚竻绌�
         this.selectedRows = [];
-        for(var i in this.data){
-            if(this.data[i].check){
+        for (var i in this.data) {
+            if (this.data[i].check) {
                 this.selectedRows.push(this.data[i].Id);
             }
         }
         this.data = [...this.data];
-        console.log('this.selectedRows = ' + JSON.stringify(this.selectedRows))
-        console.log('this.data = ' + JSON.stringify(this.data))
+        console.log("this.selectedRows = " + JSON.stringify(this.selectedRows));
+        console.log("this.data = " + JSON.stringify(this.data));
     }
 
     //num1 num2浼犲叆涓や釜鍊�  symbol +-*/绗﹀彿
-    amend(num1,num2,symbol){
-        var str1=num1.toString(),str2=num2.toString(),result,str1Length,str2Length
+    amend(num1, num2, symbol) {
+        var str1 = num1.toString(),
+            str2 = num2.toString(),
+            result,
+            str1Length,
+            str2Length;
         //瑙e喅鏁存暟娌℃湁灏忔暟鐐规柟娉�
-        try {str1Length= str1.split('.')[1].length} catch (error) {str1Length=0}
-        try {str2Length= str2.split('.')[1].length} catch (error) {str2Length=0}
-        var step=Math.pow(10,Math.max(str1Length,str2Length))
-        // 
+        try {
+            str1Length = str1.split(".")[1].length;
+        } catch (error) {
+            str1Length = 0;
+        }
+        try {
+            str2Length = str2.split(".")[1].length;
+        } catch (error) {
+            str2Length = 0;
+        }
+        var step = Math.pow(10, Math.max(str1Length, str2Length));
+        //
         console.log(step);
         switch (symbol) {
             case "+":
-                result= (num1*step+num2*step)/step
+                result = (num1 * step + num2 * step) / step;
                 break;
             case "-":
-                result= (num1*step-num2*step)/step
+                result = (num1 * step - num2 * step) / step;
                 break;
             case "*":
-                result= ((num1*step)*(num2*step)) / step/step
+                result = (num1 * step * (num2 * step)) / step / step;
                 break;
             case "/":
-                result= (num1*step)/(num2*step)
+                result = (num1 * step) / (num2 * step);
                 break;
             default:
                 break;
         }
-        return result
+        return result;
     }
-  
 
     getSelectedRows(event) {
         const selectedRows = event.detail.selectedRows;
-        console.log('this.selectedRows = ' + this.selectedRows);
-        for(var i in this.data){
-            this.data[i]['check'] = false;
+        console.log("this.selectedRows = " + this.selectedRows);
+        for (var i in this.data) {
+            this.data[i]["check"] = false;
         }
-        for(var i in this.data){
-            for(var j in selectedRows){
-                if(this.data[i].Id == selectedRows[j].Id){
-                    this.data[i]['check'] = true;
+        for (var i in this.data) {
+            for (var j in selectedRows) {
+                if (this.data[i].Id == selectedRows[j].Id) {
+                    this.data[i]["check"] = true;
                 }
             }
         }
     }
-    
-    saveConfirmJs(){
+
+    saveConfirmJs() {
         let msg = "鍑哄簱浠锋牸浠呭彲鎿嶄綔涓�娆″彉鏇达紝淇濆瓨鍚庡皢鏃犳硶淇敼銆俓n\n璇风‘璁わ紒";
-        if(this.SummonsStatus == '浠锋牸鏈畾'){
-            if(confirm(msg)==true){
-                this.saveConfirm()
+        if (this.SummonsStatus == "浠锋牸鏈畾") {
+            if (confirm(msg) == true) {
+                this.saveConfirm();
             }
-        }else{
-            this.saveConfirm()
+        } else {
+            this.saveConfirm();
         }
     }
 
-    saveConfirm(){
+    saveConfirm() {
         this.isShowSpinner = true;
         let cloneData = this.data;
-        for(var i in cloneData){
-            cloneData[i]['Name'] = cloneData[i].Name__c;
-            cloneData[i]['Category3'] = cloneData[i].Category3__c;
-            cloneData[i]['Category4'] = cloneData[i].Category4__c;
-            cloneData[i]['Category5'] = cloneData[i].Category5__c;
-            cloneData[i]['BoxPiece'] = cloneData[i].Box_Piece__c;
+        for (var i in cloneData) {
+            cloneData[i]["Name"] = cloneData[i].Name__c;
+            cloneData[i]["Category3"] = cloneData[i].Category3__c;
+            cloneData[i]["Category4"] = cloneData[i].Category4__c;
+            cloneData[i]["Category5"] = cloneData[i].Category5__c;
+            cloneData[i]["BoxPiece"] = cloneData[i].Box_Piece__c;
             delete cloneData[i].Name__c;
             delete cloneData[i].Category3__c;
             delete cloneData[i].Category4__c;
             delete cloneData[i].Category5__c;
             delete cloneData[i].Box_Piece__c;
         }
-        console.log('this.cocLwc = ' + JSON.stringify(this.cocLwc))
-        console.log('this.OECId = ' + this.OECId)
-        console.log('this.HospitalName = ' + this.HospitalName)
-        console.log('this.secondaryDistributor = ' + this.secondaryDistributor)
-        console.log('this.pageRecordsLwc = ' + JSON.stringify(cloneData))
-        console.log('this.accountid = ' + this.accountid)
-        console.log('this.ESetid = ' + this.ESetid)
-        console.log('this.consumableproductdetailsRecords = ' + JSON.stringify(this.consumableproductdetailsRecords))
+        console.log("this.cocLwc = " + JSON.stringify(this.cocLwc));
+        console.log("this.OECId = " + this.OECId);
+        console.log("this.HospitalName = " + this.HospitalName);
+        console.log("this.secondaryDistributor = " + this.secondaryDistributor);
+        console.log("this.pageRecordsLwc = " + JSON.stringify(cloneData));
+        console.log("this.accountid = " + this.accountid);
+        console.log("this.ESetid = " + this.ESetid);
+        console.log(
+            "this.consumableproductdetailsRecords = " +
+            JSON.stringify(this.consumableproductdetailsRecords)
+        );
         save({
-            cocLwc : this.cocLwc,
-            hospitalInfoLwc : this.OECId,
-            hospitalNameLwc : this.HospitalName,
-            secondaryDistributor : this.secondaryDistributor,
-            pageRecordsLwc : cloneData,
-            accountid : this.accountid,
-            ESetId  : this.ESetid,
-            consumableproductdetailsRecordsLwc : this.consumableproductdetailsRecords
-        }).then((r) => {
-            r = JSON.parse(JSON.stringify(r));
-            console.log('r = ' + JSON.stringify(r));
-            
-            if (r.status == 'Success') {
-                let url = '/lexsummonscreat?ESetid=' + r.entity.ESetId;
-                this[NavigationMixin.Navigate]({
-                    type: 'standard__webPage',
-                    attributes: {
-                        url: url
-                    }
-                });
-            }else{
-                console.log('r.msg = ' + r.msg);
-                this.showToast('Error', r.msg);
-            }
-        }).catch((error) => {
-            console.log('error = ' + JSON.stringify(error))
-        });
+            cocLwc: this.cocLwc,
+            hospitalInfoLwc: this.OECId,
+            hospitalNameLwc: this.HospitalName,
+            secondaryDistributor: this.secondaryDistributor,
+            pageRecordsLwc: cloneData,
+            accountid: this.accountid,
+            ESetId: this.ESetid,
+            consumableproductdetailsRecordsLwc: this.consumableproductdetailsRecords,
+        })
+            .then((r) => {
+                r = JSON.parse(JSON.stringify(r));
+                console.log("r = " + JSON.stringify(r));
+
+                if (r.status == "Success") {
+                    let url = "/lexsummonscreat?ESetid=" + r.entity.ESetId;
+                    this[NavigationMixin.Navigate]({
+                        type: "standard__webPage",
+                        attributes: {
+                            url: url,
+                        },
+                    });
+                } else {
+                    console.log("r.msg = " + r.msg);
+                    this.showToast("Error", r.msg);
+                }
+            })
+            .catch((error) => {
+                console.log("error = " + JSON.stringify(error));
+            });
     }
 
     //鎵撳嵃鎸囩ず鍗�
-    PraseToPDFJs(){
-        console.log('this.cocLwc = ' + JSON.stringify(this.cocLwc))
-        console.log('this.ESetId = ' + this.ESetid)
+    PraseToPDFJs() {
+        console.log("this.cocLwc = " + JSON.stringify(this.cocLwc));
+        console.log("this.ESetId = " + this.ESetid);
         PraseToPDF({
-            cocLwc : this.cocLwc,
-            ESetId  : this.ESetid
+            cocLwc: this.cocLwc,
+            ESetId: this.ESetid,
         }).then((r) => {
             r = JSON.parse(JSON.stringify(r));
-            console.log('r = ' + JSON.stringify(r));
-            if (r.status == 'Success') {
-                window.open('/customer/summonsPDF?ESetid=' + r.entity.ESetId);
-            }else{
-                console.log('r.msg = ' + r.msg);
-                this.showToast('Error', r.msg);
+            console.log("r = " + JSON.stringify(r));
+            if (r.status == "Success") {
+                window.open("/customer/summonsPDF?ESetid=" + r.entity.ESetId);
+            } else {
+                console.log("r.msg = " + r.msg);
+                this.showToast("Error", r.msg);
             }
         });
     }
 
-    //鏄剧ず鏄庣粏 
-    openReportJs(){
+    //鏄剧ず鏄庣粏
+    openReportJs() {
+        console.log("openReportJs");
         var reportId = this.ESetid;
-        reportId = reportId.substring(0,15);
-        window.open("/customer/" +this.ConsumableOut_report+ "?pv1="+ reportId);
+        reportId = reportId.substring(0, 15);
+        let url = "/report/00O100000058VzB?fv1=" + reportId;
+        console.log("url = " + url);
+        this[NavigationMixin.Navigate]({
+            type: "standard__webPage",
+            attributes: {
+                url: url,
+            },
+        });
     }
 
-    setVisitorPlace(){
-        console.log('setVisitorPlace')
-        if(this.summonsForDirction == '浜掔浉璋冭揣'){
-
-        }
-    }
-
-    vpClear2Delay(event){
-        console.log('vpClear2Delay')
-        if(this.summonsForDirction != '浜掔浉璋冭揣'){
-            this.cocLwc['Order_ForDealerText__c'] = event.target.value;
-        }else{
-            console.log('Order_ForDealerTextID__c = ' + this.cocLwc['Order_ForDealerTextID__c'])
-            this.cocLwc['Order_ForDealerText__c'] = (this.cocLwc['Order_ForDealerTextID__c'] == '' || this.cocLwc['Order_ForDealerTextID__c'] == null || this.cocLwc['Order_ForDealerTextID__c'] == undefined) ? '' : this.cocLwc['Order_ForDealerText__c'];
-            console.log('this.cocLwc = ' + JSON.stringify(this.cocLwc));
-            this.ForDealerText = this.cocLwc['Order_ForDealerText__c'];
-            event.target.value = this.cocLwc['Order_ForDealerText__c'];
-            console.log('this.ForDealerText = ' + this.ForDealerText);
+    vpClear2Delay(event) {
+        console.log("vpClear2Delay");
+        if (this.summonsForDirction != "浜掔浉璋冭揣") {
+            this.cocLwc["Order_ForDealerText__c"] = event.target.value;
+            console.log("this.cocLwc = " + JSON.stringify(this.cocLwc));
+        } else {
+            //console.log('Order_ForDealerTextID__c = ' + this.cocLwc['Order_ForDealerTextID__c'])
+            this.cocLwc["Order_ForDealerText__c"] =
+                this.cocLwc["Order_ForDealerTextID__c"] == "" ||
+                    this.cocLwc["Order_ForDealerTextID__c"] == null ||
+                    this.cocLwc["Order_ForDealerTextID__c"] == undefined
+                    ? ""
+                    : this.cocLwc["Order_ForDealerText__c"];
+            console.log("this.cocLwc = " + JSON.stringify(this.cocLwc));
+            // console.log('this.cocLwc = ' + JSON.stringify(this.cocLwc));
+            // this.ForDealerText = this.cocLwc['Order_ForDealerText__c'];
+            // event.target.value = this.cocLwc['Order_ForDealerText__c'];
+            // console.log('this.ForDealerText = ' + this.ForDealerText);
         }
     }
     handleSearch(event) {
-        debugger
         const lookupElement = event.target;
-        console.log('event.detail = ' + JSON.stringify(event.detail))
+        console.log("event.detail = " + JSON.stringify(event.detail));
         apexSearch({
-            searchTerm : event.detail.searchTerm,
-            selectedIds : event.detail.selectedIds
+            searchTerm: event.detail.searchTerm,
         })
-            .then(results => {
+            .then((results) => {
                 lookupElement.setSearchResults(results);
             })
-            .catch(error => {
-                // TODO: handle error
-                console.log('error'+JSON.stringify(error));
+            .catch((error) => {
+                console.log("error" + JSON.stringify(error));
             });
     }
 
     handleSelectionChange(event) {
-        // Get the selected ids from the event (same interface as lightning-input-field)
-        const selectedIds = event.detail;
-        // Or, get the selection objects with ids, labels, icons...
         const selection = event.target.getSelection();
-        // TODO: do something with the lookup selection
+        console.log("selection = " + JSON.stringify(selection));
+        this.cocLwc["Order_ForDealerTextID__c"] = selection[0].id;
+        this.cocLwc["Order_ForDealerText__c"] = selection[0].title;
+        console.log("this.cocLwc = " + JSON.stringify(this.cocLwc));
+    }
+
+    handleFilesChange(event) {
+        console.log("handleFilesChange");
+        if (event.target.files.length > 0) {
+            this.filesUploaded = event.target.files;
+            this.fileName = event.target.files[0].name;
+        }
+    }
+
+    handleSave() {
+        console.log("saveFile");
+        if (this.filesUploaded.length > 0) {
+            this.file = this.filesUploaded[0];
+            if (this.file.size > this.MAX_FILE_SIZE) {
+                this.showToast("Error", "鏂囦欢杩囧ぇ");
+                return;
+            }
+            this.showLoadingSpinner = true;
+            this.fileReader = new FileReader();
+
+            this.fileReader.onloadend = () => {
+                this.fileContents = this.fileReader.result;
+                let base64 = "base64,";
+                this.content = this.fileContents.indexOf(base64) + base64.length;
+                this.fileContents = this.fileContents.substring(this.content);
+                this.saveToFile();
+            };
+            this.fileReader.readAsDataURL(this.file);
+        } else {
+            this.fileName = "閫夋嫨涓�涓枃浠朵笂浼�";
+        }
+    }
+
+    saveToFile() {
+        console.log("saveToFile");
+        console.log("base64Data = " + encodeURIComponent(this.fileContents));
+        saveFile({
+            recordId: this.ESetid,
+            fileName: this.fileName,
+            base64Data: encodeURIComponent(this.fileContents),
+        })
+            .then((r) => {
+                r = JSON.parse(JSON.stringify(r));
+                console.log("r = " + JSON.stringify(r));
+                this.showLoadingSpinner = false;
+                this.showToast("Success", "涓婁紶鎴愬姛");
+                this.getFiles();
+            })
+            .catch((error) => {
+                console.log("error = " + error.message);
+                this.showToast("Error", "涓婁紶澶辫触");
+            });
+    }
+
+    getFiles() {
+        console.log("getFiles");
+        this.showLoadingSpinner = true;
+        getFiles({
+            recordId: this.ESetid,
+        })
+            .then((r) => {
+                r = JSON.parse(JSON.stringify(r));
+                console.log("r = " + JSON.stringify(r));
+                this.fileData = r.entity.cvList;
+                for (var i in this.fileData) {
+                    this.fileData[i]["CreatedByName"] = this.fileData[i].CreatedBy.Name;
+                    this.fileData[i]["url"] = "/" + this.fileData[i].Id;
+                }
+                console.log("this.fileData = " + this.fileData);
+                this.showLoadingSpinner = false;
+            })
+            .catch((error) => {
+                console.log("error = " + error.message);
+                this.showToast("Error", "鑾峰彇闄勪欢澶辫触");
+            });
+    }
+
+    GoodsDeliveryJs() {
+        this.isShowSpinner = true;
+        let cloneData = this.data;
+        for (var i in cloneData) {
+            cloneData[i]["Name"] = cloneData[i].Name__c;
+            cloneData[i]["Category3"] = cloneData[i].Category3__c;
+            cloneData[i]["Category4"] = cloneData[i].Category4__c;
+            cloneData[i]["Category5"] = cloneData[i].Category5__c;
+            cloneData[i]["BoxPiece"] = cloneData[i].Box_Piece__c;
+            delete cloneData[i].Name__c;
+            delete cloneData[i].Category3__c;
+            delete cloneData[i].Category4__c;
+            delete cloneData[i].Category5__c;
+            delete cloneData[i].Box_Piece__c;
+        }
+        console.log("cloneData = " + JSON.stringify(cloneData));
+        GoodsDelivery({
+            cocLwc: this.cocLwc,
+            ESetId: this.ESetid,
+            pageRecordsLwcLwc: cloneData,
+        })
+            .then((r) => {
+                r = JSON.parse(JSON.stringify(r));
+                console.log("r = " + JSON.stringify(r));
+                if (r.status == "Success") {
+                    console.log(
+                        "Summons_Order_type__c = " + this.cocLwc["Summons_Order_type__c"]
+                    );
+                    this.isSales =
+                        this.cocLwc["Summons_Order_type__c"] == "閿�鍞�" ? true : false;
+                    this.GoodsDeliveryInit();
+                } else {
+                    console.log("r.msg = " + r.msg);
+                    this.showToast("Error", r.msg);
+                }
+                this.isShippingSales = true;
+            })
+            .catch((error) => {
+                console.log("error = " + error.message);
+                this.showToast("Error", "璺宠浆澶辫触");
+            });
+    }
+
+    GoodsDeliveryInit() {
+        console.log("GoodsDeliveryInit");
+        GoodsDeliveryInit({
+            ESetId: this.ESetid,
+        })
+            .then((r) => {
+                r = JSON.parse(JSON.stringify(r));
+                console.log("r = " + JSON.stringify(r));
+                if (r.status == "Success") {
+                    this.salesCoc = r.entity.coc;
+                    this.salesAccountName = r.entity.accountName;
+                    this.salesUserWorkLocation = r.entity.userWorkLocation;
+                    this.salesAccountid = r.entity.accountid;
+                    this.salesOrderdetails = r.entity.orderdetails;
+                    this.salesData = r.entity.consumableorderdetailsRecords;
+                    this.salesErrorData = r.entity.consumableorderdetailsRecordserror;
+                    this.salesOrderpieceorboxMap = r.entity.orderpieceorboxMap;
+                    this.salesOrderpriceMap = r.entity.orderpriceMap;
+                    this.salesOrderagencypriceMap = r.entity.orderagencypriceMap;
+                    this.isShowSpinner = false;
+                } else {
+                    console.log("r.msg = " + r.msg);
+                    this.showToast("Error", r.msg);
+                }
+            })
+            .catch((error) => {
+                console.log("error = " + error.message);
+                this.showToast("Error", "鍒濆鍖栧け璐�");
+            });
+    }
+
+    SalesearchProductJs() {
+        console.log("this.Barcode = " + this.Barcode);
+        this.isShowSpinner = true;
+        SearchPro({
+            cocLwc: this.salesCoc,
+            barcodeLwc: this.Barcode,
+            accountName: this.salesAccountName,
+            userWorkLocation: this.salesUserWorkLocation,
+            accountid: this.salesAccountid,
+            orderdetails: this.salesOrderdetails,
+            orderpieceorboxMap: this.salesOrderpieceorboxMap,
+        })
+            .then((r) => {
+                r = JSON.parse(JSON.stringify(r));
+                console.log("r = " + JSON.stringify(r));
+                if (r.status == "Success") {
+                    console.log("SearchPro success");
+                    this.salesErrorData = r.entity.consumableorderdetailsRecordserror;
+                    this.salesData = r.entity.consumableorderdetailsRecords;
+                    for (var i in this.salesErrorData) {
+                        this.salesErrorData[i]["Consumable_order_minor__c"] =
+                            this.salesErrorData[i].orderdetails2.Consumable_order_minor__c;
+                        this.salesErrorData[i]["orderdetails2Name"] =
+                            this.salesErrorData[i].orderdetails2.Name;
+                        this.salesErrorData[i]["ProdName"] =
+                            this.salesErrorData[i].Prod.Name;
+                        this.salesErrorData[i]["Box_Piece__c"] =
+                            this.salesErrorData[i].orderdetails2.Box_Piece__c;
+                        this.salesErrorData[i]["Bar_Code__c"] =
+                            this.salesErrorData[i].orderdetails2.Bar_Code__c;
+                        this.salesErrorData[i]["Sterilization_limit__c"] =
+                            this.salesErrorData[i].orderdetails2.Sterilization_limit__c;
+                    }
+                    for (var i in this.salesData) {
+                        this.salesData[i]["Consumable_order_minor__c"] =
+                            this.salesData[i].orderdetails2.Consumable_order_minor__c;
+                        this.salesData[i]["orderdetails2Name"] =
+                            this.salesData[i].orderdetails2.Name;
+                        this.salesData[i]["orderdetails2NameUrl"] =
+                            "/" + this.salesData[i].orderdetails2.Id;
+                        this.salesData[i]["Box_Piece__c"] =
+                            this.salesData[i].orderdetails2.Box_Piece__c;
+                        this.salesData[i]["ProdName"] = this.salesData[i].Prod.Name;
+                        this.salesData[i]["Deliver_date__c"] =
+                            this.salesData[i].orderdetails2.Deliver_date__c;
+                        this.salesData[i]["Bar_Code__c"] =
+                            this.salesData[i].orderdetails2.Bar_Code__c;
+                        this.salesData[i]["Sterilization_limit__c"] =
+                            this.salesData[i].orderdetails2.Sterilization_limit__c;
+                    }
+                    this.isShowSpinner = false;
+                } else {
+                    console.log("r.msg = " + r.msg);
+                    this.showToast("Error", r.msg);
+                }
+            })
+            .catch((error) => {
+                console.log("error = " + JSON.stringify(error.message));
+                this.showToast("Error", "鍒濆鍖栧け璐�");
+            });
+    }
+
+    SaveP() {
+        let cloneSalesData = this.salesData;
+        for (var i in cloneSalesData) {
+            delete cloneSalesData[i].Consumable_order_minor__c;
+            delete cloneSalesData[i].orderdetails2Name;
+            delete cloneSalesData[i].orderdetails2NameUrl;
+            delete cloneSalesData[i].Box_Piece__c;
+            delete cloneSalesData[i].ProdName;
+            delete cloneSalesData[i].Deliver_date__c;
+            delete cloneSalesData[i].Bar_Code__c;
+            delete cloneSalesData[i].Sterilization_limit__c;
+            cloneSalesData[i]["ErrorReason"] = "";
+        }
+        this.isShowSpinner = true;
+        ProSale({
+            ESetId: this.ESetid,
+            cocLwc: this.salesCoc,
+            barcodeLwc: this.Barcode,
+            accountName: this.salesAccountName,
+            userWorkLocation: this.salesUserWorkLocation,
+            consumableorderdetailsRecordsLwc: JSON.stringify(cloneSalesData),
+            orderdetails: this.salesOrderdetails,
+            orderpriceMap: this.salesOrderpriceMap,
+            orderagencypriceMap: this.salesOrderagencypriceMap,
+        })
+            .then((r) => {
+                r = JSON.parse(JSON.stringify(r));
+                console.log("r = " + JSON.stringify(r));
+                if (r.status == "Success") {
+                    console.log("ProdElivery success");
+                    this.isShowSpinner = false;
+                    this[NavigationMixin.Navigate]({
+                        type: "standard__webPage",
+                        attributes: {
+                            url: "/lexsaleanddelivery",
+                        },
+                    });
+                } else {
+                    console.log("r.msg = " + r.msg);
+                    this.showToast("Error", r.msg);
+                }
+            })
+            .catch((error) => {
+                console.log("error = " + JSON.stringify(error.message));
+                this.showToast("Error", "ProSale2澶辫触");
+            });
+    }
+
+    SaveE() {
+        let cloneSalesData = this.salesData;
+        for (var i in cloneSalesData) {
+            delete cloneSalesData[i].Consumable_order_minor__c;
+            delete cloneSalesData[i].orderdetails2Name;
+            delete cloneSalesData[i].orderdetails2NameUrl;
+            delete cloneSalesData[i].Box_Piece__c;
+            delete cloneSalesData[i].ProdName;
+            delete cloneSalesData[i].Deliver_date__c;
+            delete cloneSalesData[i].Bar_Code__c;
+            delete cloneSalesData[i].Sterilization_limit__c;
+            cloneSalesData[i]["ErrorReason"] = "";
+        }
+        this.isShowSpinner = true;
+        ProdElivery({
+            ESetId: this.ESetid,
+            cocLwc: this.salesCoc,
+            barcodeLwc: this.Barcode,
+            accountName: this.salesAccountName,
+            userWorkLocation: this.salesUserWorkLocation,
+            consumableorderdetailsRecordsLwc: JSON.stringify(cloneSalesData),
+            orderdetails: this.salesOrderdetails,
+            orderpriceMap: this.salesOrderpriceMap,
+            orderagencypriceMap: this.salesOrderagencypriceMap,
+        })
+            .then((r) => {
+                r = JSON.parse(JSON.stringify(r));
+                console.log("r = " + JSON.stringify(r));
+                if (r.status == "Success") {
+                    console.log("ProdElivery success");
+                    this.isShowSpinner = false;
+                    this[NavigationMixin.Navigate]({
+                        type: "standard__webPage",
+                        attributes: {
+                            url: "/lexsaleanddelivery",
+                        },
+                    });
+                } else {
+                    console.log("r.msg = " + r.msg);
+                    this.showToast("Error", r.msg);
+                }
+            })
+            .catch((error) => {
+                console.log("error = " + JSON.stringify(error.message));
+                this.showToast("Error", "鍒濆鍖栧け璐�");
+            });
+    }
+
+    //鍙戠エ
+    openToInvoiceJs() {
+        let url = '';
+        console.log('this.invoiceId = ' + this.invoiceId);
+        if (this.invoiceId.length > 0 && this.invoiceId != '000000000000000') {
+            url = "/lexconinvoiceview?deliveryId=" + this.ESetid + "&invoiceId=" + this.invoiceId + "&KeyWords=Redirect";
+        } else {
+            url = "/lexconinvoiceview?deliveryId=" + this.ESetid + "&KeyWords=Redirect";
+        }
+        this[NavigationMixin.Navigate]({
+            type: "standard__webPage",
+            attributes: {
+                url: url,
+            },
+        });
+    }
+
+    //鍒犻櫎
+    DeleteConsumable() {
+        this.isShowSpinner = true;
+        DelConsumable({
+            ESetId: this.ESetid,
+        }).then((r) => {
+            r = JSON.parse(JSON.stringify(r));
+            console.log("r = " + JSON.stringify(r));
+            if (r.status == "Success") {
+                let url = "/lexsaleanddelivery";
+                this[NavigationMixin.Navigate]({
+                    type: "standard__webPage",
+                    attributes: {
+                        url: url,
+                    },
+                });
+            } else {
+                console.log("r.msg = " + r.msg);
+                this.showToast("Error", r.msg);
+            }
+        }).catch((error) => {
+            console.log("error = " + error.message);
+            this.showToast("Error", "璺宠浆澶辫触");
+        });
+    }
+
+    //缂栬緫鍑哄簱鍗�
+    EditConsumable() {
+        let url = "/lexsummonscreat?ESetid=" + this.ESetid + "&KeyWords=Redirect";
+        this[NavigationMixin.Navigate]({
+            type: "standard__webPage",
+            attributes: {
+                url: url,
+            },
+        });
     }
 }
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexTenderingAntiLogicButton/lexTenderingAntiLogicButton.html b/force-app/main/default/lwc/lexTenderingAntiLogicButton/lexTenderingAntiLogicButton.html
new file mode 100644
index 0000000..81a3516
--- /dev/null
+++ b/force-app/main/default/lwc/lexTenderingAntiLogicButton/lexTenderingAntiLogicButton.html
@@ -0,0 +1,5 @@
+<template>
+    <div class="AntiLogicButton" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexTenderingAntiLogicButton/lexTenderingAntiLogicButton.js b/force-app/main/default/lwc/lexTenderingAntiLogicButton/lexTenderingAntiLogicButton.js
new file mode 100644
index 0000000..5df0406
--- /dev/null
+++ b/force-app/main/default/lwc/lexTenderingAntiLogicButton/lexTenderingAntiLogicButton.js
@@ -0,0 +1,65 @@
+import { LightningElement,wire,track,api} from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import  init  from '@salesforce/apex/TenderingButtonController.initTenderingController';
+import  ContraryLogicalDel  from '@salesforce/apex/TenderWebService.ContraryLogicalDel';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+export default class LexTenderingAntiLogicButton extends LightningElement {
+    @api recordId;//褰撳墠杩欐潯鏁版嵁鐨刬d
+    id;//杩斿洖鍊肩殑id  Tender_information__c鎷涙爣椤圭洰鐨刬d
+    IsLoading = true;
+
+    @wire(CurrentPageReference)
+     getStateParameters(currentPageReference) {
+         if (currentPageReference) {
+           const urlValue = currentPageReference.state.recordId;
+           if (urlValue) {
+             let str = `${urlValue}`;
+             this.recordId = str;
+           }
+         }
+     }
+    
+    connectedCallback(){
+        init({
+            recordId: this.recordId
+        }).then(result => {
+                this.IsLoading = false;
+                this.id = result.Id;
+                this.AntiLogicButton();
+                this.dispatchEvent(new CloseActionScreenEvent());
+        }).catch(() => {
+
+        }).finally(() => {
+            
+        });        
+    }
+
+    //鍙嶉�昏緫鍒犻櫎
+    AntiLogicButton(){
+        ContraryLogicalDel({DTenId : this.id}).then(result =>{
+            console.log(result,'鎴愬姛涓庡惁');
+            if(result == 'OK'){
+                this.showToast("鍙嶉�昏緫鍒犻櫎鎴愬姛","success");
+            }
+            this.dispatchEvent(new CloseActionScreenEvent());
+        })
+    }
+
+    showToast(msg,type) {
+        const event = new ShowToastEvent({
+            message: msg,
+            variant: type
+        });
+        this.dispatchEvent(event);
+    }
+}
+
+
+// /var ContraryL = function(){
+//     var DTenId = "{!Tender_information__c.Id}";//鍒犻櫎鐨勬嫑鎶曟爣
+//     var rtn = sforce.apex.execute("TenderWebService", "ContraryLogicalDel", {DTenId : DTenId } );
+//     //閲嶆柊鍔犺浇椤甸潰
+//     window.location.reload();
+//     }
+//     ContraryL();
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexTenderingAntiLogicButton/lexTenderingAntiLogicButton.js-meta.xml b/force-app/main/default/lwc/lexTenderingAntiLogicButton/lexTenderingAntiLogicButton.js-meta.xml
new file mode 100644
index 0000000..2b7649d
--- /dev/null
+++ b/force-app/main/default/lwc/lexTenderingAntiLogicButton/lexTenderingAntiLogicButton.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+	<apiVersion>54.0</apiVersion>
+	<isExposed>true</isExposed>
+	<targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexTenderingAttachmentButton/lexTenderingAttachmentButton.html b/force-app/main/default/lwc/lexTenderingAttachmentButton/lexTenderingAttachmentButton.html
new file mode 100644
index 0000000..edb0a0d
--- /dev/null
+++ b/force-app/main/default/lwc/lexTenderingAttachmentButton/lexTenderingAttachmentButton.html
@@ -0,0 +1,5 @@
+<template>
+    <div class="AttachmentButton" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexTenderingAttachmentButton/lexTenderingAttachmentButton.js b/force-app/main/default/lwc/lexTenderingAttachmentButton/lexTenderingAttachmentButton.js
new file mode 100644
index 0000000..3c58a8d
--- /dev/null
+++ b/force-app/main/default/lwc/lexTenderingAttachmentButton/lexTenderingAttachmentButton.js
@@ -0,0 +1,54 @@
+import { LightningElement,wire,track,api} from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import  init  from '@salesforce/apex/TenderingButtonController.initTenderingController';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+export default class lexTenderingAttachmentButton extends LightningElement {
+    @api recordId;//褰撳墠杩欐潯鏁版嵁鐨刬d
+    id;//杩斿洖鍊肩殑id  Tender_information__c鎷涙爣椤圭洰鐨刬d
+    IsLoading = true;
+
+    @wire(CurrentPageReference)
+     getStateParameters(currentPageReference) {
+         if (currentPageReference) {
+           const urlValue = currentPageReference.state.recordId;
+           if (urlValue) {
+             let str = `${urlValue}`;
+             this.recordId = str;
+           }
+         }
+     }
+    
+    connectedCallback(){
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            this.IsLoading = false;
+            this.id = result.Id;
+            this.AttachmentButton();
+            this.dispatchEvent(new CloseActionScreenEvent());
+        }).catch(error => {
+            console.log("error"+error);
+        }).finally(() => {
+            
+        });        
+    }
+    
+    //鏌ョ湅闄勪欢
+    AttachmentButton(){
+        window.open(`/apex/TenderInformationUploadPdf?id=${this.id}`);
+    }
+
+    showToast(msg,type) {
+        const event = new ShowToastEvent({
+            message: msg,
+            variant: type
+        });
+        this.dispatchEvent(event);
+    }
+}
+
+// var From= function(){
+//     window.open( "/apex/TenderInformationUploadPdf?id={!URLENCODE(Tender_information__c.Id)}");
+//     }
+//     From();
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexTenderingAttachmentButton/lexTenderingAttachmentButton.js-meta.xml b/force-app/main/default/lwc/lexTenderingAttachmentButton/lexTenderingAttachmentButton.js-meta.xml
new file mode 100644
index 0000000..2b7649d
--- /dev/null
+++ b/force-app/main/default/lwc/lexTenderingAttachmentButton/lexTenderingAttachmentButton.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+	<apiVersion>54.0</apiVersion>
+	<isExposed>true</isExposed>
+	<targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexTenderingCopyButton/lexTenderingCopyButton.html b/force-app/main/default/lwc/lexTenderingCopyButton/lexTenderingCopyButton.html
new file mode 100644
index 0000000..b8ea4f3
--- /dev/null
+++ b/force-app/main/default/lwc/lexTenderingCopyButton/lexTenderingCopyButton.html
@@ -0,0 +1,5 @@
+<template>
+    <div class="CopyButton" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexTenderingCopyButton/lexTenderingCopyButton.js b/force-app/main/default/lwc/lexTenderingCopyButton/lexTenderingCopyButton.js
new file mode 100644
index 0000000..8a5b7ec
--- /dev/null
+++ b/force-app/main/default/lwc/lexTenderingCopyButton/lexTenderingCopyButton.js
@@ -0,0 +1,64 @@
+import { LightningElement,wire,track,api} from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import { NavigationMixin } from 'lightning/navigation';
+import  init  from '@salesforce/apex/TenderingButtonController.initTenderingController';
+import { updateRecord } from 'lightning/uiRecordApi';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+export default class Copy extends LightningElement {
+    @api recordId;//褰撳墠杩欐潯鏁版嵁鐨刬d
+    id;//杩斿洖鍊肩殑id  Tender_information__c鎷涙爣椤圭洰鐨刬d
+    IsLoading = true;
+
+    @wire(CurrentPageReference)
+     getStateParameters(currentPageReference) {
+         if (currentPageReference) {
+           const urlValue = currentPageReference.state.recordId;
+           if (urlValue) {
+             let str = `${urlValue}`;
+             this.recordId = str;
+             console.log(this.recordId,'id');
+           }
+         }
+     }
+    
+
+    connectedCallback(){
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            if (result != null) {
+                this.IsLoading = false;
+                this.id = result.Id;
+                this.CopyButton();
+                this.dispatchEvent(new CloseActionScreenEvent());
+            }
+        }).catch(error => {
+            console.log("error"+error);
+        }).finally(() => {
+            
+        });        
+    }
+    //澶嶅埗
+    CopyButton(){
+        window.location.href = '/' + this.id + '/e?newclone=1';
+    }
+
+
+    updateRecordView() {
+        updateRecord({fields: { Id: this.recordId }});
+    }
+
+    showToast(msg,type) {
+        console.log(msg,type);
+        const event = new ShowToastEvent({
+            // title: title,
+            message: msg,
+            variant: type
+        });
+        this.dispatchEvent(event);
+    }
+}
+
+
+// 	window.location.href = '/{!Tender_information__c.Id}/e?newclone=1';
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexTenderingCopyButton/lexTenderingCopyButton.js-meta.xml b/force-app/main/default/lwc/lexTenderingCopyButton/lexTenderingCopyButton.js-meta.xml
new file mode 100644
index 0000000..2b7649d
--- /dev/null
+++ b/force-app/main/default/lwc/lexTenderingCopyButton/lexTenderingCopyButton.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+	<apiVersion>54.0</apiVersion>
+	<isExposed>true</isExposed>
+	<targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexTenderingEnquiryButton/lexTenderingEnquiryButton.html b/force-app/main/default/lwc/lexTenderingEnquiryButton/lexTenderingEnquiryButton.html
new file mode 100644
index 0000000..31d96b3
--- /dev/null
+++ b/force-app/main/default/lwc/lexTenderingEnquiryButton/lexTenderingEnquiryButton.html
@@ -0,0 +1,5 @@
+<template>
+    <div class="EnquiryButton" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexTenderingEnquiryButton/lexTenderingEnquiryButton.js b/force-app/main/default/lwc/lexTenderingEnquiryButton/lexTenderingEnquiryButton.js
new file mode 100644
index 0000000..6aba49e
--- /dev/null
+++ b/force-app/main/default/lwc/lexTenderingEnquiryButton/lexTenderingEnquiryButton.js
@@ -0,0 +1,87 @@
+import { LightningElement,wire,track,api} from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import { NavigationMixin } from 'lightning/navigation';
+import  init  from '@salesforce/apex/TenderingButtonController.initTenderingController';
+import  updateOpportunityInformation  from '@salesforce/apex/UpdateTenderInformationBatch.updateOpportunityInformation';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+export default class lexTenderingEnquiryButton extends LightningElement {
+    @api recordId;//褰撳墠杩欐潯鏁版嵁鐨刬d
+    id;//杩斿洖鍊肩殑id  Tender_information__c鎷涙爣椤圭洰鐨刬d
+    IsLoading = true;
+    isRelateProject;//鍒ゆ柇鏄惁鍙嶅簲
+
+    @wire(CurrentPageReference)
+     getStateParameters(currentPageReference) {
+         if (currentPageReference) {
+           const urlValue = currentPageReference.state.recordId;
+           if (urlValue) {
+             let str = `${urlValue}`;
+             this.recordId = str;
+           }
+         }
+     }
+    
+    connectedCallback(){
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            if (result != null) {
+                this.IsLoading = false;
+                this.id = result.Id;
+                this.isRelateProject = result.isRelateProject;
+                this.EnquiryButton();
+                this.dispatchEvent(new CloseActionScreenEvent());
+            }
+        }).catch(error => {
+            console.log("error"+error);
+        }).finally(() => {
+            
+        });        
+    }
+    //鎷涙爣椤圭洰 鍙嶅簲璇环鐘舵��
+    EnquiryButton(){
+        if(this.isRelateProject == "鍚�"){
+            this.showToast('鎷涙姇鏍囬」鐩笉鐩稿叧鍚庝笉鑳藉弽搴旇浠风姸鎬�!','error');
+            return;
+        }
+        var listss = [];
+        listss.push(this.id);
+        updateOpportunityInformation({TenderIdList : listss}).then(result=>{
+            if(result != 'OK'){
+                this.showToast(result,'error');
+            }else {
+                this.showToast('鍙嶆槧瀹屼簡','success');
+            }
+        })
+    }
+
+    showToast(msg,type) {
+        const event = new ShowToastEvent({
+            message: msg,
+            variant: type
+        });
+        this.dispatchEvent(event);
+        this.dispatchEvent(new CloseActionScreenEvent());
+    }
+}
+
+// var foo = function(){
+//     if('{!Tender_information__c.IsRelateProject__c}'== "鍚�"){
+//     alert('鎷涙姇鏍囬」鐩笉鐩稿叧鍚庝笉鑳藉弽搴旇浠风姸鎬�!');
+//     return;
+//     }
+//     var listss = [];
+//     listss.push('{!Tender_information__c.Id}');
+//     var rtn = sforce.apex.execute("UpdateTenderInformationBatch", "updateOpportunityInformation", {TenderIdList : listss } );
+    
+//     if(rtn != 'OK'){
+//     alert(rtn);
+//     }else {
+//     alert('鍙嶆槧瀹屼簡');
+//     }
+//     //閲嶆柊鍔犺浇椤甸潰
+//     window.location.reload();
+//     }
+    
+//     foo();
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexTenderingEnquiryButton/lexTenderingEnquiryButton.js-meta.xml b/force-app/main/default/lwc/lexTenderingEnquiryButton/lexTenderingEnquiryButton.js-meta.xml
new file mode 100644
index 0000000..2b7649d
--- /dev/null
+++ b/force-app/main/default/lwc/lexTenderingEnquiryButton/lexTenderingEnquiryButton.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+	<apiVersion>54.0</apiVersion>
+	<isExposed>true</isExposed>
+	<targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexTenderingHospitalButton/lexTenderingHospitalButton.html b/force-app/main/default/lwc/lexTenderingHospitalButton/lexTenderingHospitalButton.html
new file mode 100644
index 0000000..dc43ef6
--- /dev/null
+++ b/force-app/main/default/lwc/lexTenderingHospitalButton/lexTenderingHospitalButton.html
@@ -0,0 +1,5 @@
+<template>
+    <div class="HospitalButton" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexTenderingHospitalButton/lexTenderingHospitalButton.js b/force-app/main/default/lwc/lexTenderingHospitalButton/lexTenderingHospitalButton.js
new file mode 100644
index 0000000..6999b54
--- /dev/null
+++ b/force-app/main/default/lwc/lexTenderingHospitalButton/lexTenderingHospitalButton.js
@@ -0,0 +1,69 @@
+import { LightningElement,wire,track,api} from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import  init  from '@salesforce/apex/TenderingButtonController.initTenderingController';
+export default class lexTenderingHospitalButton extends LightningElement {
+    @api recordId;//褰撳墠杩欐潯鏁版嵁鐨刬d
+    id;//杩斿洖鍊肩殑id  Tender_information__c鎷涙爣椤圭洰鐨刬d
+    name;//鎷涙爣椤圭洰鍚�
+    Environment_Url;//鏂板缓鍖婚櫌鍦板潃
+    IsLoading = true;
+
+    @wire(CurrentPageReference)
+     getStateParameters(currentPageReference) {
+         if (currentPageReference) {
+           const urlValue = currentPageReference.state.recordId;
+           if (urlValue) {
+             let str = `${urlValue}`;
+             this.recordId = str;
+           }
+         }
+     }
+    
+    connectedCallback(){
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            console.log(result)
+                this.IsLoading = false;
+                this.id = result.Id;
+                this.name = result.name;
+                this.Environment_Url = result.Environment_Url
+                this.HospitalButton();
+                this.dispatchEvent(new CloseActionScreenEvent());
+        }).catch(error => {
+            console.log("error"+error);
+        }).finally(() => {
+            
+        });        
+    }
+
+    //鏂板缓鍖婚櫌
+    HospitalButton(){
+        var url = this.Environment_Url+'001/e?CF00N10000009I0o7='+encodeURIComponent(this.name)
+        +'&CF00N10000009I0o7_lkid='+encodeURIComponent(this.id)
+        +'&00N10000009HFQT='+encodeURIComponent('鎷涙爣椤圭洰')
+        +'&RecordType=01210000000QemG'
+        +'&retURL='+ encodeURIComponent(this.id);
+        console.log('url',url)
+        window.location.href = url;
+    }
+}
+
+
+// var foo = function() {
+
+//     var TenderId = '{!Tender_information__c.Id}';
+//     var Tendername = '{!Tender_information__c.Name}';
+//     var HospitalSource= '鎷涙爣椤圭洰';
+    
+//     var url = '{!$Label.Environment_Url}'+'001/e?CF00N10000009I0o7='+encodeURIComponent(Tendername)
+//     +'&CF00N10000009I0o7_lkid='+encodeURIComponent(TenderId)
+//     +'&00N10000009HFQT='+encodeURIComponent(HospitalSource)
+    
+//     +'&RecordType=01210000000QemG'
+//     +'&retURL='+ encodeURIComponent(TenderId);
+//     window.top.location.href = url;
+    
+//     }
+//     foo();
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexTenderingHospitalButton/lexTenderingHospitalButton.js-meta.xml b/force-app/main/default/lwc/lexTenderingHospitalButton/lexTenderingHospitalButton.js-meta.xml
new file mode 100644
index 0000000..2b7649d
--- /dev/null
+++ b/force-app/main/default/lwc/lexTenderingHospitalButton/lexTenderingHospitalButton.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+	<apiVersion>54.0</apiVersion>
+	<isExposed>true</isExposed>
+	<targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexTenderingIntentionButton/lexTenderingIntentionButton.html b/force-app/main/default/lwc/lexTenderingIntentionButton/lexTenderingIntentionButton.html
new file mode 100644
index 0000000..8e46b4b
--- /dev/null
+++ b/force-app/main/default/lwc/lexTenderingIntentionButton/lexTenderingIntentionButton.html
@@ -0,0 +1,5 @@
+<template>
+    <div class="IntentionButton" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexTenderingIntentionButton/lexTenderingIntentionButton.js b/force-app/main/default/lwc/lexTenderingIntentionButton/lexTenderingIntentionButton.js
new file mode 100644
index 0000000..49140bd
--- /dev/null
+++ b/force-app/main/default/lwc/lexTenderingIntentionButton/lexTenderingIntentionButton.js
@@ -0,0 +1,75 @@
+import { LightningElement,wire,track,api} from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import { NavigationMixin } from 'lightning/navigation';
+import  init  from '@salesforce/apex/TenderingButtonController.initTenderingController';
+import { updateRecord } from 'lightning/uiRecordApi';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+export default class lexTenderingIntentionButton extends LightningElement {
+    @api recordId;//褰撳墠杩欐潯鏁版嵁鐨刬d
+    id;//杩斿洖鍊肩殑id  Tender_information__c鎷涙爣椤圭洰鐨刬d
+    IsLoading = true;
+
+    @wire(CurrentPageReference)
+     getStateParameters(currentPageReference) {
+         if (currentPageReference) {
+           const urlValue = currentPageReference.state.recordId;
+           if (urlValue) {
+             let str = `${urlValue}`;
+             this.recordId = str;
+             console.log(this.recordId,'id');
+           }
+         }
+     }
+    
+
+    connectedCallback(){
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            if (result != null) {
+                this.IsLoading = false;
+                this.id = result.Id;
+                this.IntentionButton();
+                this.dispatchEvent(new CloseActionScreenEvent());
+            }
+        }).catch(error => {
+            console.log("error"+error);
+        }).finally(() => {
+            
+        });        
+    }
+
+    //鎷涙爣椤圭洰鏂板缓鎰忓悜
+    IntentionButton(){
+            // alert('濉啓澶卞崟鎶ュ憡璇风洿鎺ョ偣鍑绘嫑鏍囬〉闈€�愬け鍗曘�戞寜閽�');
+            this.showToast('濉啓澶卞崟鎶ュ憡璇风洿鎺ョ偣鍑绘嫑鏍囬〉闈€�愬け鍗曘�戞寜閽�','success');
+            var url = '/apex/NewAndEditLead?' + '00N10000009HKS5=' + this.id
+            + '&LeadSource=鎷涙爣缃�' + '&RecordTypeId=01210000000QiRf' + '&retURL=%2F' + this.id ;
+            window.open(url);
+    }
+
+
+    updateRecordView() {
+        updateRecord({fields: { Id: this.recordId }});
+    }
+
+    showToast(msg,type) {
+        console.log(msg,type);
+        const event = new ShowToastEvent({
+            // title: title,
+            message: msg,
+            variant: type
+        });
+        this.dispatchEvent(event);
+    }
+}
+
+
+// var foo = function(){
+//     alert('濉啓澶卞崟鎶ュ憡璇风洿鎺ョ偣鍑绘嫑鏍囬〉闈€�愬け鍗曘�戞寜閽�');
+//     var url = '/apex/NewAndEditLead?' + '00N10000009HKS5=' + '{!Tender_information__c.Id}'
+//     + '&LeadSource=鎷涙爣缃�' + '&RecordTypeId=01210000000QiRf' + '&retURL=%2F' + '{!Tender_information__c.Id}' ;
+//     window.open(url);
+//     }
+//     foo();
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexTenderingIntentionButton/lexTenderingIntentionButton.js-meta.xml b/force-app/main/default/lwc/lexTenderingIntentionButton/lexTenderingIntentionButton.js-meta.xml
new file mode 100644
index 0000000..2b7649d
--- /dev/null
+++ b/force-app/main/default/lwc/lexTenderingIntentionButton/lexTenderingIntentionButton.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+	<apiVersion>54.0</apiVersion>
+	<isExposed>true</isExposed>
+	<targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexTenderingLogicButton/lexTenderingLogicButton.html b/force-app/main/default/lwc/lexTenderingLogicButton/lexTenderingLogicButton.html
new file mode 100644
index 0000000..e7eb872
--- /dev/null
+++ b/force-app/main/default/lwc/lexTenderingLogicButton/lexTenderingLogicButton.html
@@ -0,0 +1,5 @@
+<template>
+    <div class="LogicButton" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexTenderingLogicButton/lexTenderingLogicButton.js b/force-app/main/default/lwc/lexTenderingLogicButton/lexTenderingLogicButton.js
new file mode 100644
index 0000000..8bc074b
--- /dev/null
+++ b/force-app/main/default/lwc/lexTenderingLogicButton/lexTenderingLogicButton.js
@@ -0,0 +1,49 @@
+import { LightningElement,wire,track,api} from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import  init  from '@salesforce/apex/TenderingButtonController.initTenderingController';
+export default class Logic extends LightningElement {
+    @api recordId;//褰撳墠杩欐潯鏁版嵁鐨刬d
+    id;//杩斿洖鍊肩殑id  Tender_information__c鎷涙爣椤圭洰鐨刬d
+    IsLoading = true;
+
+    @wire(CurrentPageReference)
+     getStateParameters(currentPageReference) {
+         if (currentPageReference) {
+           const urlValue = currentPageReference.state.recordId;
+           if (urlValue) {
+             let str = `${urlValue}`;
+             this.recordId = str;
+           }
+         }
+     }
+    
+
+    connectedCallback(){
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            if (result != null) {
+                this.IsLoading = false;
+                this.id = result.Id;
+                this.LogicButton();
+                this.dispatchEvent(new CloseActionScreenEvent());
+            }
+        }).catch(() => {
+            
+        }).finally(() => {
+            
+        });        
+    }
+    
+    //閫昏緫鍒犻櫎
+    LogicButton(){
+        window.open (`/apex/TenderDeletePagelwc?id=${this.id}`, '', 'height=350, width=600, top=200, left=350');
+    }
+}
+
+
+// function IfResponse(){
+//     window.open ('/apex/TenderDeletePagelwc?id={!Tender_information__c.Id}', '', 'height=350, width=600, top=200, left=350');
+//     }
+//     IfResponse();
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexTenderingLogicButton/lexTenderingLogicButton.js-meta.xml b/force-app/main/default/lwc/lexTenderingLogicButton/lexTenderingLogicButton.js-meta.xml
new file mode 100644
index 0000000..2b7649d
--- /dev/null
+++ b/force-app/main/default/lwc/lexTenderingLogicButton/lexTenderingLogicButton.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+	<apiVersion>54.0</apiVersion>
+	<isExposed>true</isExposed>
+	<targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexTenderingLostButton/lexTenderingLostButton.html b/force-app/main/default/lwc/lexTenderingLostButton/lexTenderingLostButton.html
new file mode 100644
index 0000000..e94a2ef
--- /dev/null
+++ b/force-app/main/default/lwc/lexTenderingLostButton/lexTenderingLostButton.html
@@ -0,0 +1,5 @@
+<template>
+    <div class="LostButton" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexTenderingLostButton/lexTenderingLostButton.js b/force-app/main/default/lwc/lexTenderingLostButton/lexTenderingLostButton.js
new file mode 100644
index 0000000..a4576e1
--- /dev/null
+++ b/force-app/main/default/lwc/lexTenderingLostButton/lexTenderingLostButton.js
@@ -0,0 +1,108 @@
+import { LightningElement,wire,track,api} from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import  init  from '@salesforce/apex/TenderingButtonController.initTenderingController';
+import  sqlResult  from '@salesforce/apex/TenderingButtonController.sqlResult';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+export default class lexTenderingLostButton extends LightningElement {
+    @api recordId;//褰撳墠杩欐潯鏁版嵁鐨刬d
+    id;//杩斿洖鍊肩殑id  Tender_information__c鎷涙爣椤圭洰鐨刬d
+    status;//鐘舵��
+    profileId;//profileId id
+    IsLoading = true;
+
+    @wire(CurrentPageReference)
+     getStateParameters(currentPageReference) {
+         if (currentPageReference) {
+           const urlValue = currentPageReference.state.recordId;
+           if (urlValue) {
+             let str = `${urlValue}`;
+             this.recordId = str;
+           }
+         }
+     }
+    
+
+    connectedCallback(){
+        init({
+            recordId: this.recordId
+        }).then(result => {
+                this.IsLoading = false;
+                this.id = result.Id;
+                this.status = result.status;
+                this.profileId = result.profileId.slice(0,15);
+                this.LoseButton();
+                this.dispatchEvent(new CloseActionScreenEvent());
+        }).catch(error => {
+            console.log("error"+error);
+        }).finally(() => {
+            
+        });        
+    }
+
+    //澶卞崟
+    LoseButton(){
+        sqlResult({id: this.id}).then(result=>{
+            //绠�妗f潈闄� 2S1_閿�鍞尰闄㈡媴褰� 2S4_閿�鍞鐞嗚�� 绯荤粺绠$悊鍛�
+            if (this.profileId != '00e10000000xnp2' && this.profileId != '00e10000000xnpH' && this.profileId != '00e10000000Y3o5') {
+                this.showToast("鎮ㄦ病鏈夋潈闄愶紝鏃犳硶鍒涘缓璇环鎻愪氦澶卞崟銆�","error");
+                return;
+            }
+            // 鍒ゆ柇鍐呴儴纭鐘舵��
+            if(this.status == '01.寰呯‘璁�'|| this.status == '02.涓嶇浉鍏�'){ 
+                console.log('娌¤蛋鍚�');
+                this.showToast("鐘舵�佷负寰呯‘璁ゆ垨涓嶇浉鍏筹紝涓嶅彲浠ュ仛澶卞崟銆�","error");
+                return;
+            }
+            // 鍒ゆ柇鏄惁闇�瑕佹柊寤鸿浠�
+            if(this.status == '05.璇环涓�'|| this.status == '06.鎴愪氦' || this.status == '07.閮ㄥ垎鎴愪氦' || this.status == '08.澶卞崟' || result.length > 0){
+                if(confirm('姝ら」鐩凡鍏宠仈璇环锛岃纭疄鏄惁鏂板缓璇环鎻愪氦澶卞崟銆�')) {
+                    
+                }else{
+                    return;
+                }
+            }
+            window.open(`/apex/TenderLostPage?id=${this.id}`,'','height=500,width=800,top=200,left=250,location=no');
+        })
+    }
+    showToast(msg,type) {
+        const event = new ShowToastEvent({
+            message: msg,
+            variant: type
+        });
+        this.dispatchEvent(event);
+    }
+}
+
+
+// var sql = "select id from Tender_Opportunity_Link__c where Tender_information__c='" + '{!Tender_information__c.Id}'+ "'";
+// var sqlResult = sforce.connection.query(sql);
+
+
+// //绠�妗f潈闄� 2S1_閿�鍞尰闄㈡媴褰� 2S4_閿�鍞鐞嗚�� 绯荤粺绠$悊鍛�
+// if ('{!$Profile.Id}' != '00e10000000xnp2' && '{!$Profile.Id}' != '00e10000000xnpH' && '{!$Profile.Id}' != '00e10000000Y3o5') {
+// alert("鎮ㄦ病鏈夋潈闄愶紝鏃犳硶鍒涘缓璇环鎻愪氦澶卞崟銆�");
+// return;
+// }
+
+// // 鍒ゆ柇鍐呴儴纭鐘舵��
+// if({!Tender_information__c.status__c == '01.寰呯‘璁�'|| Tender_information__c.status__c == '02.涓嶇浉鍏�'}){
+// alert('鐘舵�佷负寰呯‘璁ゆ垨涓嶇浉鍏筹紝涓嶅彲浠ュ仛澶卞崟銆�');
+// return;
+// }
+
+// // 鍒ゆ柇鏄惁闇�瑕佹柊寤鸿浠�
+// if({!Tender_information__c.status__c == '05.璇环涓�'|| Tender_information__c.status__c == '06.鎴愪氦' || Tender_information__c.status__c == '07.閮ㄥ垎鎴愪氦' || Tender_information__c.status__c == '08.澶卞崟'} || sqlResult.size > 0){
+// if(!confirm('姝ら」鐩凡鍏宠仈璇环锛岃纭疄鏄惁鏂板缓璇环鎻愪氦澶卞崟銆�')) {
+// return;
+// }
+// }
+
+// // 鍒ゆ柇鏄惁闇�瑕佹柊寤鸿浠�
+// //if(sqlResult.size > 0){
+// //if(!confirm('宸叉湁鍏宠仈璇环锛屾槸鍚﹀垱寤烘柊鐨勮浠枫��')) {
+// //return;
+// //}
+// //}
+
+// window.open('/apex/TenderLostPage?id={!Tender_information__c.Id}','','height=500,width=800,top=200,left=250,location=no');
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexTenderingLostButton/lexTenderingLostButton.js-meta.xml b/force-app/main/default/lwc/lexTenderingLostButton/lexTenderingLostButton.js-meta.xml
new file mode 100644
index 0000000..2b7649d
--- /dev/null
+++ b/force-app/main/default/lwc/lexTenderingLostButton/lexTenderingLostButton.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+	<apiVersion>54.0</apiVersion>
+	<isExposed>true</isExposed>
+	<targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexTenderingNoStandardButton/lexTenderingNoStandardButton.html b/force-app/main/default/lwc/lexTenderingNoStandardButton/lexTenderingNoStandardButton.html
new file mode 100644
index 0000000..0f47a3a
--- /dev/null
+++ b/force-app/main/default/lwc/lexTenderingNoStandardButton/lexTenderingNoStandardButton.html
@@ -0,0 +1,5 @@
+<template>
+    <div class="NoStandardButton" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexTenderingNoStandardButton/lexTenderingNoStandardButton.js b/force-app/main/default/lwc/lexTenderingNoStandardButton/lexTenderingNoStandardButton.js
new file mode 100644
index 0000000..67e16ce
--- /dev/null
+++ b/force-app/main/default/lwc/lexTenderingNoStandardButton/lexTenderingNoStandardButton.js
@@ -0,0 +1,72 @@
+import { LightningElement,wire,track,api} from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import { NavigationMixin } from 'lightning/navigation';
+import  init  from '@salesforce/apex/TenderingButtonController.initTenderingController';
+import { updateRecord } from 'lightning/uiRecordApi';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+export default class lexTenderingNoStandardButton extends LightningElement {
+    @api recordId;//褰撳墠杩欐潯鏁版嵁鐨刬d
+    id;//杩斿洖鍊肩殑id  Tender_information__c鎷涙爣椤圭洰鐨刬d
+    opportunityNum;
+    IsLoading = true;
+
+    @wire(CurrentPageReference)
+     getStateParameters(currentPageReference) {
+         if (currentPageReference) {
+           const urlValue = currentPageReference.state.recordId;
+           if (urlValue) {
+             let str = `${urlValue}`;
+             this.recordId = str;
+           }
+         }
+     }
+    
+
+    connectedCallback(){
+        init({
+            recordId: this.recordId
+        }).then(result => {
+                this.IsLoading = false;
+                this.id = result.Id;
+                this.opportunityNum = result.opportunityNum;
+                this.NoStandardButton();
+                this.dispatchEvent(new CloseActionScreenEvent());
+        }).catch(error => {
+            console.log("error"+error);
+        }).finally(() => {
+        });        
+    }
+
+    //鎷涙爣椤圭洰涓嶅簲鏍囩敵璇�
+    NoStandardButton(){
+        if(Number(this.opportunityNum) > 0) {
+            this.showToast('椤圭洰宸插叧鑱旇繃璇环锛岃鍒拌浠烽噷鍋氫笉搴旀爣鐢宠','error');
+            return;
+        }
+        window.open ('/apex/Bidding?id='+this.id, '', 'height=350, width=600, top=200, left=350,location=no');
+    }
+
+    showToast(msg,type) {
+        const event = new ShowToastEvent({
+            message: msg,
+            variant: type
+        });
+        this.dispatchEvent(event);
+    }
+}
+
+
+// function IfResponse(){
+
+//     // 鍏宠仈璇环涔嬪悗涓嶈兘鍦ㄦ嫑鏍囬噷鐢宠涓嶅簲鏍�
+//     if('{!Tender_information__c.OpportunityNum__c}' > 0) {
+//     alert('椤圭洰宸插叧鑱旇繃璇环锛岃鍒拌浠烽噷鍋氫笉搴旀爣鐢宠');
+//     return;
+//     }
+    
+    
+//     window.open ('/apex/Bidding?id={!Tender_information__c.Id}', '', 'height=350, width=600, top=200, left=350,location=no');
+    
+//     }
+//     IfResponse();
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexTenderingNoStandardButton/lexTenderingNoStandardButton.js-meta.xml b/force-app/main/default/lwc/lexTenderingNoStandardButton/lexTenderingNoStandardButton.js-meta.xml
new file mode 100644
index 0000000..2b7649d
--- /dev/null
+++ b/force-app/main/default/lwc/lexTenderingNoStandardButton/lexTenderingNoStandardButton.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+	<apiVersion>54.0</apiVersion>
+	<isExposed>true</isExposed>
+	<targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexTenderingNotarizeButton/lexTenderingNotarizeButton.html b/force-app/main/default/lwc/lexTenderingNotarizeButton/lexTenderingNotarizeButton.html
new file mode 100644
index 0000000..40c4113
--- /dev/null
+++ b/force-app/main/default/lwc/lexTenderingNotarizeButton/lexTenderingNotarizeButton.html
@@ -0,0 +1,5 @@
+<template>
+    <div class="NotarizeButton" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexTenderingNotarizeButton/lexTenderingNotarizeButton.js b/force-app/main/default/lwc/lexTenderingNotarizeButton/lexTenderingNotarizeButton.js
new file mode 100644
index 0000000..069736c
--- /dev/null
+++ b/force-app/main/default/lwc/lexTenderingNotarizeButton/lexTenderingNotarizeButton.js
@@ -0,0 +1,133 @@
+import { LightningElement,wire,track,api} from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import  init  from '@salesforce/apex/TenderingButtonController.initTenderingController';
+import  sqlResult  from '@salesforce/apex/TenderingButtonController.sqlResult';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+export default class lexTenderingNotarizeButton extends LightningElement {
+    @api recordId;//褰撳墠杩欐潯鏁版嵁鐨刬d
+    id;//杩斿洖鍊肩殑id  Tender_information__c鎷涙爣椤圭洰鐨刬d
+    status;//鐘舵��
+    profileId;//profileId id
+    IsLoading = true;
+
+    @wire(CurrentPageReference)
+     getStateParameters(currentPageReference) {
+         if (currentPageReference) {
+           const urlValue = currentPageReference.state.recordId;
+           if (urlValue) {
+             let str = `${urlValue}`;
+             this.recordId = str;
+           }
+         }
+     }
+    
+
+    connectedCallback(){
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            console.log(result)
+                this.IsLoading = false;
+                this.id = result.Id;
+                this.status = result.status;
+                this.profileId = result.profileId.slice(0,15);
+                this.NotarizeButton();
+                this.dispatchEvent(new CloseActionScreenEvent());
+        }).catch(error => {
+            console.log("error"+error);
+        }).finally(() => {
+            
+        });        
+    }
+
+    //鐩稿叧鎬х‘璁�
+    NotarizeButton(){
+        if( this.ProfileId!= '00e1m000000MSci'
+        // 绯荤粺绠$悊鍛�
+        && this.ProfileId!= '00e10000000Y3o5'
+        // 2s6
+        && this.ProfileId!= '00e10000000xnpR' && this.ProfileId!= '00e10000000xyK6'
+        // 2s7
+        && this.ProfileId!= '00e10000000xnpW'
+        // 2s8
+        && this.ProfileId!= '00e10000000xnpb' && this.ProfileId!= '00e10000000xyKB'
+        // 2s9
+        && this.ProfileId!= '00e10000000a7NY'
+        // OBA1
+        && this.ProfileId!= '00e10000000s2fZ'
+        // OBA7
+        && this.ProfileId!= '00e10000000s3Jp'
+        ){
+            // alert("鍙湁鍔╃悊鎵嶈兘杩涜鐩稿叧鎬х‘璁わ紒");
+            this.showToast("鍙湁鍔╃悊鎵嶈兘杩涜鐩稿叧鎬х‘璁わ紒","error");
+            return;
+        }
+        if(this.status== '01.寰呯‘璁�' ||
+           this.status== '02.涓嶇浉鍏�' ||
+           this.status == '03.涓嶅簲鏍�' ||
+           this.status== '04.寰呭叧鑱旇浠�' 
+        ){
+            window.open (`/apex/Relevance?id=${this.id}`, '', 'height=500, width=800, top=200, left=250,location=no');
+        }
+        else{
+        // alert('鍙湁01.寰呯‘璁ゆ椂闇�瑕佽繘琛岀浉鍏虫�х‘璁わ紒');
+            // alert('鍏宠仈璇环鍚庝笉鑳借繘琛岀浉鍏虫�х‘璁わ紒');
+            this.showToast("鍏宠仈璇环鍚庝笉鑳借繘琛岀浉鍏虫�х‘璁わ紒","error");
+        }
+
+    }
+    showToast(msg,type) {
+        const event = new ShowToastEvent({
+            message: msg,
+            variant: type
+        });
+        this.dispatchEvent(event);
+        this.dispatchEvent(new CloseActionScreenEvent());
+    }
+}
+
+
+// function init(){
+//     var ProfileId = "{!$Profile.Id}";
+//     if( ProfileId!= '00e1m000000MSci'
+//     // 绯荤粺绠$悊鍛�
+//     && ProfileId!= '00e10000000Y3o5'
+//     // 2s1
+//     // && ProfileId!= '00e10000000xnp2' && ProfileId!= '00e10000000xzQ0'
+    
+//     // 2s6
+//     && ProfileId!= '00e10000000xnpR' && ProfileId!= '00e10000000xyK6'
+    
+//     // 2s7
+//     && ProfileId!= '00e10000000xnpW'
+    
+//     // 2s8
+//     && ProfileId!= '00e10000000xnpb' && ProfileId!= '00e10000000xyKB'
+    
+//     // 2s9
+//     && ProfileId!= '00e10000000a7NY'
+//     // OBA1
+//     && ProfileId!= '00e10000000s2fZ'
+//     // OBA7
+//     && ProfileId!= '00e10000000s3Jp'
+//     )
+//     {
+//     alert("鍙湁鍔╃悊鎵嶈兘杩涜鐩稿叧鎬х‘璁わ紒");
+//     return;
+//     }
+    
+    
+//     if('{!Tender_information__c.status__c}' == '01.寰呯‘璁�' ||
+//     '{!Tender_information__c.status__c}' == '02.涓嶇浉鍏�' ||
+//     '{!Tender_information__c.status__c}' == '03.涓嶅簲鏍�' ||
+//     '{!Tender_information__c.status__c}' == '04.寰呭叧鑱旇浠�' )
+//     {
+//     window.open ('/apex/Relevance?id={!Tender_information__c.Id}', '', 'height=500, width=800, top=200, left=250,location=no');
+//     }
+//     else{
+//     // alert('鍙湁01.寰呯‘璁ゆ椂闇�瑕佽繘琛岀浉鍏虫�х‘璁わ紒');
+//     alert('鍏宠仈璇环鍚庝笉鑳借繘琛岀浉鍏虫�х‘璁わ紒');
+//     }
+//     }
+//     init();
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexTenderingNotarizeButton/lexTenderingNotarizeButton.js-meta.xml b/force-app/main/default/lwc/lexTenderingNotarizeButton/lexTenderingNotarizeButton.js-meta.xml
new file mode 100644
index 0000000..2b7649d
--- /dev/null
+++ b/force-app/main/default/lwc/lexTenderingNotarizeButton/lexTenderingNotarizeButton.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+	<apiVersion>54.0</apiVersion>
+	<isExposed>true</isExposed>
+	<targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexTenderingRelevancyButton/lexTenderingRelevancyButton.html b/force-app/main/default/lwc/lexTenderingRelevancyButton/lexTenderingRelevancyButton.html
new file mode 100644
index 0000000..71d8dbe
--- /dev/null
+++ b/force-app/main/default/lwc/lexTenderingRelevancyButton/lexTenderingRelevancyButton.html
@@ -0,0 +1,5 @@
+<template>
+    <div class="RelevancyButton" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexTenderingRelevancyButton/lexTenderingRelevancyButton.js b/force-app/main/default/lwc/lexTenderingRelevancyButton/lexTenderingRelevancyButton.js
new file mode 100644
index 0000000..dbc1eac
--- /dev/null
+++ b/force-app/main/default/lwc/lexTenderingRelevancyButton/lexTenderingRelevancyButton.js
@@ -0,0 +1,115 @@
+import { LightningElement,wire,track,api} from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import { NavigationMixin } from 'lightning/navigation';
+import  init  from '@salesforce/apex/TenderingButtonController.initTenderingController';
+import { updateRecord } from 'lightning/uiRecordApi';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+
+export default class LexTenderingRelevancyButton extends LightningElement {
+    @api recordId;//褰撳墠杩欐潯鏁版嵁鐨刬d
+    id;//杩斿洖鍊肩殑id  Tender_information__c鎷涙爣椤圭洰鐨刬d
+    ProfileId;
+    IsLoading = true;
+
+    @wire(CurrentPageReference)
+    getStateParameters(currentPageReference) {
+        if (currentPageReference) {
+          const urlValue = currentPageReference.state.recordId;
+          if (urlValue) {
+            let str = `${urlValue}`;
+            this.recordId = str;
+          }
+        }
+    }
+
+    connectedCallback(){
+        init({
+            recordId: this.recordId
+        }).then(result => {
+                console.log(result);
+                this.IsLoading = false;
+                this.id = result.Id;
+                this.ProfileId = result.profileId.slice(0,15);
+                this.RelevancyButton();
+                this.dispatchEvent(new CloseActionScreenEvent());
+        }).catch(error => {
+            console.log("error"+error);
+        }).finally(() => {
+            
+        });        
+    }
+    //鎷涙爣椤圭洰 鍏宠仈宸叉湁璇环
+    RelevancyButton(){
+        if( this.ProfileId != '00e1m000000MSci'
+        // 绯荤粺绠$悊鍛�
+        && this.ProfileId != '00e10000000Y3o5'
+        // 2s1
+        && this.ProfileId != '00e10000000xnp2' && this.ProfileId != '00e10000000xzQ0'
+        // 2s2
+        && this.ProfileId != '00e10000000xnp7'&& this.ProfileId != '00e10000001220i'
+        // 2s4
+        && this.ProfileId != '00e10000000xnpH' && this.ProfileId != '00e10000000xzQA'
+        && this.ProfileId != '00e10000000hkas'
+        // 2s6
+        && this.ProfileId != '00e10000000xnpR' && this.ProfileId != '00e10000000xyK6'
+        // 2s7
+        && this.ProfileId != '00e10000000xnpW'
+        // 2M4 20221012 ljh SWAG-CK28WT
+        && this.ProfileId != '00e10000000Nb7i'
+        ){
+        // alert('鍙湁鎷呭綋鍜屽姪鐞嗘墠鑳藉叧鑱旇浠凤紒');
+        this.showToast('鍙湁鎷呭綋鍜屽姪鐞嗘墠鑳藉叧鑱旇浠�','error');
+        return;
+        }
+
+        window.open ('/apex/Enquiry?id='+this.recordId, '_blank');
+    }
+
+    // this.showToast(result,'success');
+    // this.showToast('椤圭洰宸插叧鑱旇繃璇环锛岃鍒拌浠烽噷鍋氫笉搴旀爣鐢宠','error');
+    showToast(msg,type) {
+        const event = new ShowToastEvent({
+            // title: title,
+            message: msg,
+            variant: type
+        });
+        this.dispatchEvent(event);
+    }
+}
+
+// function RelateOpp(){
+
+//     var ProfileId = "{!$Profile.Id}";
+//     if( ProfileId!= '00e1m000000MSci'
+//     // 绯荤粺绠$悊鍛�
+//     && ProfileId!= '00e10000000Y3o5'
+//     // 2s1
+//     && ProfileId!= '00e10000000xnp2' && ProfileId!= '00e10000000xzQ0'
+    
+//     // 2s2
+//     && ProfileId!= '00e10000000xnp7'&& ProfileId!= '00e10000001220i'
+    
+//     // 2s4
+//     && ProfileId!= '00e10000000xnpH' && ProfileId!= '00e10000000xzQA'
+    
+//     && ProfileId!= '00e10000000hkas'
+    
+//     // 2s6
+//     && ProfileId!= '00e10000000xnpR' && ProfileId!= '00e10000000xyK6'
+    
+//     // 2s7
+//     && ProfileId!= '00e10000000xnpW'
+//     // 2M4 20221012 ljh SWAG-CK28WT
+//     && ProfileId!= '00e10000000Nb7i'
+//     ){
+//     alert('鍙湁鎷呭綋鍜屽姪鐞嗘墠鑳藉叧鑱旇浠凤紒');
+//     return;
+//     }
+    
+    
+//     url = window.location.pathname;
+//     url = url.substring(url.lastIndexOf('/') + 1, url.length);
+//     window.open ('/apex/Enquiry?id='+url, '_blank');
+//     }
+//     RelateOpp();
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexTenderingRelevancyButton/lexTenderingRelevancyButton.js-meta.xml b/force-app/main/default/lwc/lexTenderingRelevancyButton/lexTenderingRelevancyButton.js-meta.xml
new file mode 100644
index 0000000..2b7649d
--- /dev/null
+++ b/force-app/main/default/lwc/lexTenderingRelevancyButton/lexTenderingRelevancyButton.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+	<apiVersion>54.0</apiVersion>
+	<isExposed>true</isExposed>
+	<targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexTenderingUsedAttachmentButton/lexTenderingUsedAttachmentButton.html b/force-app/main/default/lwc/lexTenderingUsedAttachmentButton/lexTenderingUsedAttachmentButton.html
new file mode 100644
index 0000000..40c4113
--- /dev/null
+++ b/force-app/main/default/lwc/lexTenderingUsedAttachmentButton/lexTenderingUsedAttachmentButton.html
@@ -0,0 +1,5 @@
+<template>
+    <div class="NotarizeButton" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexTenderingUsedAttachmentButton/lexTenderingUsedAttachmentButton.js b/force-app/main/default/lwc/lexTenderingUsedAttachmentButton/lexTenderingUsedAttachmentButton.js
new file mode 100644
index 0000000..ad4fa58
--- /dev/null
+++ b/force-app/main/default/lwc/lexTenderingUsedAttachmentButton/lexTenderingUsedAttachmentButton.js
@@ -0,0 +1,54 @@
+import { LightningElement,wire,track,api} from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import  init  from '@salesforce/apex/TenderingButtonController.initTenderingController';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+export default class lexTenderingUsedAttachmentButton extends LightningElement {
+    @api recordId;//褰撳墠杩欐潯鏁版嵁鐨刬d
+    id;//杩斿洖鍊肩殑id  Tender_information__c鎷涙爣椤圭洰鐨刬d
+    IsLoading = true;
+
+    @wire(CurrentPageReference)
+     getStateParameters(currentPageReference) {
+         if (currentPageReference) {
+           const urlValue = currentPageReference.state.recordId;
+           if (urlValue) {
+             let str = `${urlValue}`;
+             this.recordId = str;
+           }
+         }
+     }
+    
+    connectedCallback(){
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            this.IsLoading = false;
+            this.id = result.Id;
+            this.AttachmentButton();
+            this.dispatchEvent(new CloseActionScreenEvent());
+        }).catch(error => {
+            console.log("error"+error);
+        }).finally(() => {
+            
+        });        
+    }
+    
+    //鏌ョ湅闄勪欢(鏃�)
+    AttachmentButton(){
+        window.open(`/apex/QLMAttachmentPreview?parentId=${this.id}`);
+    }
+
+    showToast(msg,type) {
+        const event = new ShowToastEvent({
+            message: msg,
+            variant: type
+        });
+        this.dispatchEvent(event);
+    }
+}
+
+// var From= function(){
+//     window.open( "/apex/QLMAttachmentPreview?parentId={!URLENCODE(Tender_information__c.Id)}");
+//     }
+//     From();
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexTenderingUsedAttachmentButton/lexTenderingUsedAttachmentButton.js-meta.xml b/force-app/main/default/lwc/lexTenderingUsedAttachmentButton/lexTenderingUsedAttachmentButton.js-meta.xml
new file mode 100644
index 0000000..2b7649d
--- /dev/null
+++ b/force-app/main/default/lwc/lexTenderingUsedAttachmentButton/lexTenderingUsedAttachmentButton.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+	<apiVersion>54.0</apiVersion>
+	<isExposed>true</isExposed>
+	<targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexTerminalMaintenance/lexTerminalMaintenance.html b/force-app/main/default/lwc/lexTerminalMaintenance/lexTerminalMaintenance.html
new file mode 100644
index 0000000..aaa4cbd
--- /dev/null
+++ b/force-app/main/default/lwc/lexTerminalMaintenance/lexTerminalMaintenance.html
@@ -0,0 +1,6 @@
+<template>
+    <div class="toReportHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+        <lightning-button label="Show Toast" onclick={ShowToastEvent}></lightning-button>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexTerminalMaintenance/lexTerminalMaintenance.js b/force-app/main/default/lwc/lexTerminalMaintenance/lexTerminalMaintenance.js
new file mode 100644
index 0000000..2d3938b
--- /dev/null
+++ b/force-app/main/default/lwc/lexTerminalMaintenance/lexTerminalMaintenance.js
@@ -0,0 +1,88 @@
+import {
+    LightningElement,
+    wire,
+    api
+} from 'lwc';
+import {
+    CurrentPageReference
+} from "lightning/navigation";
+import {
+    CloseActionScreenEvent
+} from 'lightning/actions';
+import init from '@salesforce/apex/buttonMaintenanceContractEstimateCtl.init';
+import updateMaintenanceContract from '@salesforce/apex/buttonMaintenanceContractEstimateCtl.updateMaintenanceContract';
+import {
+    ShowToastEvent
+} from 'lightning/platformShowToastEvent';
+
+export default class LexTerminalMaintenance extends LightningElement {
+    @api recordId;
+    str;
+    IsLoading = true;
+    Id;
+    ProcessStatusC;
+    sessionId;
+
+    @wire(CurrentPageReference)
+    getStateParameters(currentPageReference) {
+        if (currentPageReference) {
+            const urlValue = currentPageReference.state.recordId;
+            if (urlValue) {
+                let str = `${urlValue}`;
+                this.recordId = str;
+            }
+        }
+    }
+
+    connectedCallback() {
+        console.log(this.recordId);
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            console.log(result);
+            if (result != null) {
+                this.IsLoading = false;
+                this.Id = result.Id;
+                this.ProcessStatusC = result.ProcessStatusC;
+                this.sessionId = result.sessionId;
+                this.Terminal();
+                this.dispatchEvent(new CloseActionScreenEvent());
+            }
+        }).catch(error => {
+            console.log(error);
+        })
+    }
+
+    //涓
+    Terminal() {
+        // sforce.connection.sessionId = this.sessionId;
+        if (this.ProcessStatusC == "鑽夋涓�" ||
+            this.ProcessStatusC == "涓嶆壒鍑�" ||
+            this.ProcessStatusC == "鎵瑰噯"
+        ) {
+            updateMaintenanceContract({
+                recordId: this.Id
+            }).then(result => {
+                this.ShowToastEvent("璇ョ淮淇悎鍚屾姤浠蜂腑姝簡锛�", "success");
+                // alert("璇ョ淮淇悎鍚屾姤浠蜂腑姝簡锛�")
+                window.location.reload();
+                
+            }).catch(error => {
+                console.log(error);
+            })
+        } else {
+            this.ShowToastEvent("璇ョ淮淇悎鍚屾姤浠疯繕鍦ㄥ鎵逛腑 鎴� 宸茬粡涓锛屼笉鑳戒腑姝紒", "error");
+            // alert("璇ョ淮淇悎鍚屾姤浠疯繕鍦ㄥ鎵逛腑 鎴� 宸茬粡涓锛屼笉鑳戒腑姝紒")
+        }
+    }
+
+    // 寮圭獥
+    ShowToastEvent(msg, type) {
+        const event = new ShowToastEvent({
+            title: '',
+            message: msg,
+            variant: type
+        });
+        this.dispatchEvent(event);
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexTerminalMaintenance/lexTerminalMaintenance.js-meta.xml b/force-app/main/default/lwc/lexTerminalMaintenance/lexTerminalMaintenance.js-meta.xml
new file mode 100644
index 0000000..3392981
--- /dev/null
+++ b/force-app/main/default/lwc/lexTerminalMaintenance/lexTerminalMaintenance.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+	<isExposed>true</isExposed>
+	<targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexTopInQueue/lexTopInQueue.css b/force-app/main/default/lwc/lexTopInQueue/lexTopInQueue.css
new file mode 100644
index 0000000..635bc6c
--- /dev/null
+++ b/force-app/main/default/lwc/lexTopInQueue/lexTopInQueue.css
@@ -0,0 +1,22 @@
+.outerBorderCss{
+    border: 1px solid #D4D4D4;
+    border-radius : 5px;
+    border-top : 3px solid #565959;
+}
+.borderCss{
+    border: 1px solid #D4D4D4;
+    border-radius : 5px;
+    margin-bottom : 7px;
+    border-top : 3px solid #565959;
+}
+.headerDorderCss{
+    border-top: 1px solid #565959;
+    border-bottom: 1px solid #D4D4D4;
+    padding:3px;
+}
+.centerCss{
+    text-align: center;
+}
+.centerCss .left{
+    margin-left: 100px;
+}/* sample css file */
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexTopInQueue/lexTopInQueue.html b/force-app/main/default/lwc/lexTopInQueue/lexTopInQueue.html
new file mode 100644
index 0000000..49a10f7
--- /dev/null
+++ b/force-app/main/default/lwc/lexTopInQueue/lexTopInQueue.html
@@ -0,0 +1,5 @@
+<template>
+    <div class="sisToOPDHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexTopInQueue/lexTopInQueue.js b/force-app/main/default/lwc/lexTopInQueue/lexTopInQueue.js
new file mode 100644
index 0000000..ca3dd20
--- /dev/null
+++ b/force-app/main/default/lwc/lexTopInQueue/lexTopInQueue.js
@@ -0,0 +1,49 @@
+import { LightningElement, track, wire, api } from 'lwc';
+import { CurrentPageReference,NavigationMixin } from 'lightning/navigation';
+import { CloseActionScreenEvent } from 'lightning/actions';
+import { encodeDefaultFieldValues } from 'lightning/pageReferenceUtils';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+
+import queueTop from '@salesforce/apex/ApplyJsCtl.queueTop';
+export default class lexTopInQueue extends LightningElement {
+
+	@api recordId;
+	IsLoading = true;
+
+	@wire(CurrentPageReference)
+	getStateParameters(currentPageReference){
+		if(currentPageReference) {
+			const urlValue = currentPageReference.state.recordId;
+			if(urlValue) {
+				let str = `${urlValue}`;
+		        this.recordId = str;
+			}
+		}
+	}
+
+	connectedCallback(){
+		queueTop({
+			applyId: this.recordId
+		}).then(res=>{
+			if(res == 'Success'){
+				const evt = new ShowToastEvent({
+                        title : '缃《鎴愬姛',
+                        message: '',
+                        variant: 'success'
+                    });
+                this.dispatchEvent(evt);
+                this.dispatchEvent(new CloseActionScreenEvent());
+			}else{
+				const evterr = new ShowToastEvent({
+                        title : res,
+                        message: '',
+                        variant: 'error'
+                    });
+                this.dispatchEvent(evterr);
+                this.dispatchEvent(new CloseActionScreenEvent());
+			}
+		}).catch(err=>{
+			this.dispatchEvent(new CloseActionScreenEvent());
+		})
+	}
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexTopInQueue/lexTopInQueue.js-meta.xml b/force-app/main/default/lwc/lexTopInQueue/lexTopInQueue.js-meta.xml
new file mode 100644
index 0000000..74849f3
--- /dev/null
+++ b/force-app/main/default/lwc/lexTopInQueue/lexTopInQueue.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lexOCMSubmit">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightning__RecordPage</target>
+        <target>lightning__AppPage</target>
+        <target>lightning__HomePage</target>
+        <target>lightning__RecordAction</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexTransferApplyPDF/lexTransferApplyPDF.css b/force-app/main/default/lwc/lexTransferApplyPDF/lexTransferApplyPDF.css
new file mode 100644
index 0000000..af18c76
--- /dev/null
+++ b/force-app/main/default/lwc/lexTransferApplyPDF/lexTransferApplyPDF.css
@@ -0,0 +1,11 @@
+.Holder{
+	position: relative;
+	display: inline-block;
+	width: 80px;
+	height: 80px;
+	text-align: center;
+}
+
+.container .uiContainerManager{
+	display : none !important;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexTransferApplyPDF/lexTransferApplyPDF.html b/force-app/main/default/lwc/lexTransferApplyPDF/lexTransferApplyPDF.html
new file mode 100644
index 0000000..2688153
--- /dev/null
+++ b/force-app/main/default/lwc/lexTransferApplyPDF/lexTransferApplyPDF.html
@@ -0,0 +1,5 @@
+<template>
+	<div class="Holder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+	</div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexTransferApplyPDF/lexTransferApplyPDF.js b/force-app/main/default/lwc/lexTransferApplyPDF/lexTransferApplyPDF.js
new file mode 100644
index 0000000..c41b11e
--- /dev/null
+++ b/force-app/main/default/lwc/lexTransferApplyPDF/lexTransferApplyPDF.js
@@ -0,0 +1,92 @@
+import { LightningElement, track, wire,api } from 'lwc';
+import {CurrentPageReference,NavigationMixin} from 'lightning/navigation';
+import { CloseActionScreenEvent } from 'lightning/actions';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+
+
+
+import transferApplyPDF from '@salesforce/apex/TransferApplyController.transferApplyPDF';
+export default class lexTransferApplyPDF extends LightningElement {
+	@api recordId;
+	transferApplyPDFRes;
+	IsLoading=true;
+
+	@wire(CurrentPageReference)
+	getStateParameters(currentPageReference) {
+		console.log(currentPageReference);
+
+		if(currentPageReference) {
+			const urlValue = currentPageReference.state.recordId;
+			if(urlValue) {
+				let str = `${urlValue}`;
+		        console.log("str");
+		        console.log(str);
+		        this.recordId = str;
+
+			}
+		}
+	}
+
+	connectedCallback() {
+		console.log('this.transferApplyId:' + this.recordId);
+		transferApplyPDF({
+			transferApplyId : this.recordId
+		}).then(result => {
+			console.log(result);
+			this.transferApplyPDFRes = result;			
+			this.cancelSubmit().then(res=>{
+				this.IsLoading=false;
+				this.dispatchEvent(new CloseActionScreenEvent());
+			});	
+					
+		}).catch( error =>{
+			console.log(error);
+		});
+	}
+	async cancelSubmit(){
+		let records = new Array();
+		records = this.transferApplyPDFRes;
+		var size =records.length;
+		if(size>0){
+			var length = size%10 ==0? size/10 : parseInt(size/10) +1;
+			for(var i =0;i<length;i++){
+				window.open('/apex/TransferApplyPDF?raid='+this.recordId+'&page=' + i);
+			}
+		}else{
+			this.showToast('','褰撳墠鐨勭敵璇峰崟涓病鏈夊凡鎵瑰噯澶囧搧銆�','warning');
+		}			
+    }
+
+    showToast(_title,_message,_variant) {
+        const event = new ShowToastEvent({
+            title: _title,
+            message:_message,
+            variant: _variant,
+        });
+        this.dispatchEvent(event);
+    }
+
+}
+
+//old js'
+/*
+{!RequireScript("/soap/ajax/51.0/connection.js")}
+{!RequireScript("/soap/ajax/51.0/apex.js")}
+var foo = function() {
+
+	var sql = "select Id from TransferApplySummary__c where TransferApply__c = '{!TransferApply__c.Id}' and ApprovalDetails__c > 0 and TAS_Status__c != '鍙栨秷'";
+	//Yi_StockDown__c->ApprovalDetails__c 20210805 ljh SFDC-C56D3K 宸蹭笅鏋�->宸叉壒鍑�
+	var sqlResult = sforce.connection.query(sql);
+	var records = sqlResult.getArray("records");
+	var size =records.length;
+	if(size>0){
+		var length = size%10 ==0? size/10 : parseInt(size/10) +1;
+		for(var i =0;i<length;i++){
+		window.open('/apex/TransferApplyPDF?raid={!TransferApply__c.Id}&page=' + i);
+		}
+	}else{
+		alert('褰撳墠鐨勭敵璇峰崟涓病鏈夊凡鎵瑰噯澶囧搧銆�');
+	}
+}
+foo();
+*/
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexTransferApplyPDF/lexTransferApplyPDF.js-meta.xml b/force-app/main/default/lwc/lexTransferApplyPDF/lexTransferApplyPDF.js-meta.xml
new file mode 100644
index 0000000..0a37c91
--- /dev/null
+++ b/force-app/main/default/lwc/lexTransferApplyPDF/lexTransferApplyPDF.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lexTransferApplyPDF">
+    <apiVersion>51.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightning__RecordPage</target>
+        <target>lightning__AppPage</target>
+        <target>lightning__HomePage</target>
+        <target>lightning__RecordAction</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexUploadToRecognitionModel/lexUploadToRecognitionModel.html b/force-app/main/default/lwc/lexUploadToRecognitionModel/lexUploadToRecognitionModel.html
new file mode 100644
index 0000000..87f391a
--- /dev/null
+++ b/force-app/main/default/lwc/lexUploadToRecognitionModel/lexUploadToRecognitionModel.html
@@ -0,0 +1,6 @@
+<template>
+    <div class="exampleHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+        <lightning-button label="Show Toast" onclick={ShowToastEvent}></lightning-button>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexUploadToRecognitionModel/lexUploadToRecognitionModel.js b/force-app/main/default/lwc/lexUploadToRecognitionModel/lexUploadToRecognitionModel.js
new file mode 100644
index 0000000..6e22dc1
--- /dev/null
+++ b/force-app/main/default/lwc/lexUploadToRecognitionModel/lexUploadToRecognitionModel.js
@@ -0,0 +1,133 @@
+import {
+    LightningElement,
+    wire,
+    api
+} from 'lwc';
+import {
+    CurrentPageReference
+} from "lightning/navigation";
+import {
+    CloseActionScreenEvent
+} from 'lightning/actions';
+import init from '@salesforce/apex/otherButtonMaintenanceContractCtl.init';
+import updateColunm from '@salesforce/apex/MaintenanceContractSetColunmWebService.updateColunm';
+import up2sap from '@salesforce/apex/MaintenanceContractWebService.up2sap';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+
+export default class LexUploadToRecognitionModel extends LightningElement {
+    @api recordId;
+    str;
+    IsLoading = true;
+    Id;
+    ContractQuotationOrNotC;
+    oldIsRecognitionModelC;
+    MaintenanceContractNoC;
+    uploadToRMTimeC;
+    uploadToSapTimeC;
+    PaymentPlanSumFirstC;
+
+    @wire(CurrentPageReference)
+    getStateParameters(currentPageReference) {
+        if (currentPageReference) {
+            const urlValue = currentPageReference.state.recordId;
+            if (urlValue) {
+                let str = `${urlValue}`;
+                this.recordId = str;
+            }
+        }
+    }
+
+    connectedCallback() {
+        console.log(this.recordId);
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            console.log(result);
+            if (result != null) {
+                this.IsLoading = false;
+                this.Id = result.Id;
+                this.ContractQuotationOrNotC = result.ContractQuotationOrNotC;
+                this.oldIsRecognitionModelC = result.oldIsRecognitionModelC;
+                this.MaintenanceContractNoC = result.MaintenanceContractNoC;
+                this.uploadToSapTimeC = result.uploadToSapTimeC;
+                this.uploadToRMTimeC = result.uploadToRMTimeC;
+                this.PaymentPlanSumFirstC = result.PaymentPlanSumFirstC;
+
+                this.uploadToRecognitionModel();
+                this.dispatchEvent(new CloseActionScreenEvent());
+            }
+        }).catch(error => {
+            console.log(error);
+        }).finally(() => {
+
+        });
+    }
+
+    // 涓婁紶璁ゆ鍚堝悓
+    uploadToRecognitionModel() {
+        if (this.ContractQuotationOrNotC == '杩樻病鍋氭姤浠�') {
+            this.ShowToastEvent("鎮ㄨ繕娌℃湁鍋氬悎鍚屾姤浠凤紝涓嶈兘涓婁紶璁ゆ鍚堝悓銆�", "error") 
+            // alert("鎮ㄨ繕娌℃湁鍋氬悎鍚屾姤浠凤紝涓嶈兘涓婁紶璁ゆ鍚堝悓銆�");
+        } else if (this.MaintenanceContractNoC == undefined) {
+            this.ShowToastEvent('鍚堝悓鍙风爜涓虹┖锛屼笉鑳戒笂浼犺娆惧悎鍚屻��', "error") 
+            // alert('鍚堝悓鍙风爜涓虹┖锛屼笉鑳戒笂浼犺娆惧悎鍚屻��');
+        } else if (this.uploadToSapTimeC != undefined) {
+            this.ShowToastEvent('宸茬粡涓婁紶SAP锛屼笉鑳藉啀娆′笂浼犺娆惧悎鍚屻��', "error") 
+            // alert('宸茬粡涓婁紶SAP锛屼笉鑳藉啀娆′笂浼犺娆惧悎鍚屻��');
+        } else if (this.uploadToRMTimeC != undefined) {
+            this.ShowToastEvent('宸茬粡涓婁紶璁ゆ鍚堝悓锛屼笉鑳藉啀娆′笂浼犺娆惧悎鍚屻��', "error") 
+            // alert('宸茬粡涓婁紶璁ゆ鍚堝悓锛屼笉鑳藉啀娆′笂浼犺娆惧悎鍚屻��');
+        } else {
+            if (!this.oldIsRecognitionModelC) {
+                this.ShowToastEvent('缁忛攢鍟嗕负绌烘垨缁忛攢鍟嗕笉鏄厛娆惧璞★紝涓嶉渶瑕佷笂浼犺娆惧悎鍚屻��', "error") 
+                // alert('缁忛攢鍟嗕负绌烘垨缁忛攢鍟嗕笉鏄厛娆惧璞★紝涓嶉渶瑕佷笂浼犺娆惧悎鍚屻��');
+            } else if (this.PaymentPlanSumFirstC == undefined) {
+                this.ShowToastEvent('绗竴娆¤鍒掍粯娆鹃噾棰濅笉鑳戒负绌恒��', "error") 
+                // alert('绗竴娆¤鍒掍粯娆鹃噾棰濅笉鑳戒负绌恒��');
+            } else {
+                if (!confirm('璇风‘璁ゆ槸鍚﹁涓婁紶璁ゆ鍚堝悓銆�')) {
+                    return;
+                }
+                
+                updateColunm({
+                    mcid: this.Id
+                }).then(result => {
+                    console.log(result);
+                    if (result != '1') {
+                        this.ShowToastEvent('涓婁紶璁ゆ鍚堝悓澶辫触,鍥犱负 鏉ュ勾鍚堝悓鐩稿叧淇℃伅淇敼澶辫触', "error") 
+                        // alert('涓婁紶璁ゆ鍚堝悓澶辫触,鍥犱负 鏉ュ勾鍚堝悓鐩稿叧淇℃伅淇敼澶辫触');
+                        location.href = "/" + this.Id;
+                    }
+                }).catch(error => {
+                    console.log(error);
+                })
+
+                up2sap({
+                    mcid: this.Id
+                }).then(rtn => {
+                    console.log(rtn);
+                    if (rtn == '1') {
+                        this.ShowToastEvent("涓婁紶璁ゆ鍚堝悓鎴愬姛", "success") 
+                        // alert("涓婁紶璁ゆ鍚堝悓鎴愬姛");
+                        location.href = "/" + this.Id;
+                    } else {
+                        this.ShowToastEvent(rtn, "error") 
+                        // alert(rtn);
+                    }
+                }).catch(error => {
+                    console.log(error);
+                })
+            }
+        }
+    }
+
+    // 寮圭獥
+    ShowToastEvent(msg, type) {
+        const event = new ShowToastEvent({
+            title: '',
+            message: msg,
+            variant: type
+        });
+        this.dispatchEvent(event);
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexUploadToRecognitionModel/lexUploadToRecognitionModel.js-meta.xml b/force-app/main/default/lwc/lexUploadToRecognitionModel/lexUploadToRecognitionModel.js-meta.xml
new file mode 100644
index 0000000..3392981
--- /dev/null
+++ b/force-app/main/default/lwc/lexUploadToRecognitionModel/lexUploadToRecognitionModel.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+	<isExposed>true</isExposed>
+	<targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexUploadToSap/lexUploadToSap.html b/force-app/main/default/lwc/lexUploadToSap/lexUploadToSap.html
new file mode 100644
index 0000000..87f391a
--- /dev/null
+++ b/force-app/main/default/lwc/lexUploadToSap/lexUploadToSap.html
@@ -0,0 +1,6 @@
+<template>
+    <div class="exampleHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+        <lightning-button label="Show Toast" onclick={ShowToastEvent}></lightning-button>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexUploadToSap/lexUploadToSap.js b/force-app/main/default/lwc/lexUploadToSap/lexUploadToSap.js
new file mode 100644
index 0000000..5bd9188
--- /dev/null
+++ b/force-app/main/default/lwc/lexUploadToSap/lexUploadToSap.js
@@ -0,0 +1,155 @@
+import {
+    LightningElement,
+    wire,
+    api
+} from 'lwc';
+import {
+    CurrentPageReference
+} from "lightning/navigation";
+import {
+    CloseActionScreenEvent
+} from 'lightning/actions';
+import init from '@salesforce/apex/otherButtonMaintenanceContractCtl.init';
+import updateColunm from '@salesforce/apex/MaintenanceContractSetColunmWebService.updateColunm';
+import updateFirstContract from '@salesforce/apex/updateFirstServiceContractWebService.updateFirstContract';
+import Check_plan from '@salesforce/apex/MaintenanceContractWebService.Check_plan';
+import up2sap from '@salesforce/apex/MaintenanceContractWebService.up2sap';
+import {
+    ShowToastEvent
+} from 'lightning/platformShowToastEvent';
+
+export default class LexUploadToSap extends LightningElement {
+    @api recordId;
+    str;
+    IsLoading = true;
+    MCApprovalStatusC;
+    MaintenanceContractNoC;
+    uploadToSapTimeC;
+    oldIsRecognitionModelC;
+    uploadToRMTimeC;
+    IsRecognitionModelTrueC;
+    Id;
+    URFContractFC;
+    urfFlag;
+    rtn1;
+    rtn;
+    @wire(CurrentPageReference)
+    getStateParameters(currentPageReference) {
+        if (currentPageReference) {
+            const urlValue = currentPageReference.state.recordId;
+            if (urlValue) {
+                let str = `${urlValue}`;
+                this.recordId = str;
+            }
+        }
+    }
+
+    connectedCallback() {
+        console.log(this.recordId);
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            console.log(result);
+            if (result != null) {
+                this.IsLoading = false;
+                this.MCApprovalStatusC = result.MCApprovalStatusC;
+                this.MaintenanceContractNoC = result.MaintenanceContractNoC;
+                this.uploadToSapTimeC = result.uploadToSapTimeC;
+                this.oldIsRecognitionModelC = result.oldIsRecognitionModelC;
+                this.uploadToRMTimeC = result.uploadToRMTimeC;
+                this.IsRecognitionModelTrueC = result.IsRecognitionModelTrueC;
+                this.Id = result.Id;
+                this.URFContractFC = result.URFContractFC;
+
+                this.uploadToSap();
+                this.dispatchEvent(new CloseActionScreenEvent());
+            }
+        }).catch(error => {
+            console.log(error);
+        }).finally(() => {
+
+        });
+    }
+
+    // 涓婁紶SAP
+    uploadToSap() {
+        if (this.MCApprovalStatusC != 'Pass') {
+            this.ShowToastEvent("鍚堝悓澶嶆牳鎵瑰噯鍚庢墠鍙互涓婁紶SAP銆�", "error")
+            // alert("鍚堝悓澶嶆牳鎵瑰噯鍚庢墠鍙互涓婁紶SAP銆�");
+        } else if (this.MaintenanceContractNoC == undefined) {
+            this.ShowToastEvent('缁翠慨鍚堝悓绠$悊缂栫爜涓虹┖锛屼笉鑳戒笂浼燬AP銆�', "error")
+            // alert('缁翠慨鍚堝悓绠$悊缂栫爜涓虹┖锛屼笉鑳戒笂浼燬AP銆�');
+        } else if (this.uploadToSapTimeC != undefined) {
+            this.ShowToastEvent('宸茬粡涓婁紶SAP锛屼笉鑳介噸澶嶄笂浼犮��', "error")
+            // alert('宸茬粡涓婁紶SAP锛屼笉鑳介噸澶嶄笂浼犮��');
+        } else {
+            if (this.oldIsRecognitionModelC) {
+                if (this.uploadToRMTimeC == undefined) {
+                    this.ShowToastEvent('褰撳墠缁翠慨鍚堝悓鐨勭粡閿�鍟嗘槸鍏堟瀵硅薄锛岄渶瑕佸厛銆愪笂浼犺娆惧悎鍚屻�戯紝鐒跺悗瀹屾垚璁ゆ浠ュ悗鎵嶈兘涓婁紶SAP銆�', "error")
+                    // alert('褰撳墠缁翠慨鍚堝悓鐨勭粡閿�鍟嗘槸鍏堟瀵硅薄锛岄渶瑕佸厛銆愪笂浼犺娆惧悎鍚屻�戯紝鐒跺悗瀹屾垚璁ゆ浠ュ悗鎵嶈兘涓婁紶SAP銆�');
+                    return;
+                } else {
+                    if (!this.IsRecognitionModelTrueC) {
+                        this.ShowToastEvent('褰撳墠缁翠慨鍚堝悓娌℃湁瀹屾垚璁ゆ锛屼笉鑳戒笂浼燬AP銆�', "error")
+                        // alert('褰撳墠缁翠慨鍚堝悓娌℃湁瀹屾垚璁ゆ锛屼笉鑳戒笂浼燬AP銆�');
+                        return;
+                    }
+                }
+            }
+            updateColunm({
+                mcid: this.Id
+            }).then(result => {
+                if (result != '1') {
+                    this.ShowToastEvent('涓婁紶SAP澶辫触,鍥犱负 鏉ュ勾鍚堝悓鐩稿叧淇℃伅淇敼澶辫触', "error")
+                    // alert('涓婁紶SAP澶辫触,鍥犱负 鏉ュ勾鍚堝悓鐩稿叧淇℃伅淇敼澶辫触');
+                }
+            });
+            updateFirstContract({
+                mcid: this.Id
+            }).then(result => {
+                if (result != '1') {
+                    this.ShowToastEvent(result, "error")
+                    // alert(result);
+                }
+            });
+            this.urfFlag = this.URFContractFC;
+            this.rtn1 = '1';
+            this.rtn = '1';
+            if (this.urfFlag == 'false') {
+                Check_plan({
+                    mcidList: this.Id
+                }).then(result => {
+                    this.rtn1 = result;
+                });
+            }
+            if (this.rtn1 == '1') {
+                up2sap({
+                    mcid: this.Id
+                }).then(result => {
+                    this.rtn = result;
+                });
+                if (this.rtn == '1') {
+                    this.ShowToastEvent("涓婁紶SAP鎴愬姛", "success")
+                    // alert("涓婁紶SAP鎴愬姛");
+                    window.location.replace("https://ocsm--partial.sandbox.lightning.force.com/lightning/r/Maintenance_Contract__c/" + this.recordId + "/view");
+                } else {
+                    this.ShowToastEvent(this.rtn, "error")
+                    // alert(this.rtn);
+                }
+            } else {
+                this.ShowToastEvent(this.rtn1, "error")
+                // alert(this.rtn1);
+            }
+        }
+    }
+
+    // 寮圭獥
+    ShowToastEvent(msg, type) {
+        const event = new ShowToastEvent({
+            title: '',
+            message: msg,
+            variant: type
+        });
+        this.dispatchEvent(event);
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexUploadToSap/lexUploadToSap.js-meta.xml b/force-app/main/default/lwc/lexUploadToSap/lexUploadToSap.js-meta.xml
new file mode 100644
index 0000000..3392981
--- /dev/null
+++ b/force-app/main/default/lwc/lexUploadToSap/lexUploadToSap.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+	<isExposed>true</isExposed>
+	<targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexVOCAnswer/lexVOCAnswer.css b/force-app/main/default/lwc/lexVOCAnswer/lexVOCAnswer.css
new file mode 100644
index 0000000..f2237d1
--- /dev/null
+++ b/force-app/main/default/lwc/lexVOCAnswer/lexVOCAnswer.css
@@ -0,0 +1,10 @@
+.answerHolder{
+    position: relative;
+    display: inline-block;
+    width: 80px;
+    height: 80px;
+    text-align: center;
+}
+.container .uiContainerManager{
+	display: none !important;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexVOCAnswer/lexVOCAnswer.html b/force-app/main/default/lwc/lexVOCAnswer/lexVOCAnswer.html
new file mode 100644
index 0000000..c79d866
--- /dev/null
+++ b/force-app/main/default/lwc/lexVOCAnswer/lexVOCAnswer.html
@@ -0,0 +1,7 @@
+<template>
+    <div class="answerHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+        <lightning-button label="Show Toast" onclick={ShowToastEvent}></lightning-button>
+
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexVOCAnswer/lexVOCAnswer.js b/force-app/main/default/lwc/lexVOCAnswer/lexVOCAnswer.js
new file mode 100644
index 0000000..99cc31c
--- /dev/null
+++ b/force-app/main/default/lwc/lexVOCAnswer/lexVOCAnswer.js
@@ -0,0 +1,90 @@
+/*
+ * @Description: 
+ * @version: 
+ * @Author: chen jing wu
+ * @Date: 2023-03-27 14:05:59
+ * @LastEditors: chen jing wu
+ * @LastEditTime: 2023-04-11 11:30:45
+ */
+import { LightningElement, wire, track, api } from "lwc";
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from "lightning/actions";
+import { NavigationMixin } from "lightning/navigation";
+import init from "@salesforce/apex/ReportController.initForVOCAnswerButton";
+import updateForVOCAnswerButton from "@salesforce/apex/ReportController.updateForVOCAnswerButton";
+import { updateRecord } from "lightning/uiRecordApi";
+import { ShowToastEvent } from "lightning/platformShowToastEvent";
+export default class LexVOCAnswer extends LightningElement {
+  @api recordId;
+  status;
+  Isloading = true;
+
+  @wire(CurrentPageReference)
+  getStateParameters(currentPageReference) {
+          console.log(111);
+          console.log(currentPageReference);
+
+      if (currentPageReference) {
+        const urlValue = currentPageReference.state.recordId;
+        if (urlValue) {
+          let str = `${urlValue}`;
+          console.log("str");
+          console.log(str);
+          this.recordId = str;
+        }
+      }
+  }
+
+  connectedCallback() {
+    console.log(this.recordId);
+    init({
+      recordId: this.recordId,
+    })
+      .then((result) => {
+        console.log(result);
+        if (result != null) {
+          this.status = result.status;
+          this.update();
+        }
+      })
+      .catch((error) => {
+        console.log("error");
+        console.log(error);
+      });
+    //window.location.replace("https://ocsm--partial.sandbox.lightning.force.com/lightning/r/Report__c/" + this.recordId + "/view");
+  }
+
+  showToast(msg, type) {
+    const event = new ShowToastEvent({
+      title: "",
+      message: msg,
+      variant: type
+    });
+    this.dispatchEvent(event);
+  }
+
+  updateRecordView(recordId) {
+    updateRecord({ fields: { Id: recordId } });
+  }
+
+  update() {
+    if (this.status != "宸插垎閰�") {
+      this.showToast("涓嶆槸宸插垎閰嶄笉鑳界偣鍑�", "error");
+      return;
+    }
+    updateForVOCAnswerButton({
+      recordId: this.recordId
+    }).then(result => {
+      if (result) {
+        this.showToast(result,"error");
+      } else {
+        this.showToast("鎴愬姛", "success");
+        this.updateRecordView(this.recordId);
+      }
+      this.Isloading = false;
+      this.dispatchEvent(new CloseActionScreenEvent());
+    }).catch(error=>{
+      console.log(error);
+    });
+  }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexVOCAnswer/lexVOCAnswer.js-meta.xml b/force-app/main/default/lwc/lexVOCAnswer/lexVOCAnswer.js-meta.xml
new file mode 100644
index 0000000..3392981
--- /dev/null
+++ b/force-app/main/default/lwc/lexVOCAnswer/lexVOCAnswer.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+	<isExposed>true</isExposed>
+	<targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexVOCCheck/lexVOCCheck.css b/force-app/main/default/lwc/lexVOCCheck/lexVOCCheck.css
new file mode 100644
index 0000000..c068424
--- /dev/null
+++ b/force-app/main/default/lwc/lexVOCCheck/lexVOCCheck.css
@@ -0,0 +1,10 @@
+.checkHolder{
+    position: relative;
+    display: inline-block;
+    width: 80px;
+    height: 80px;
+    text-align: center;
+}
+.container .uiContainerManager{
+	display: none !important;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexVOCCheck/lexVOCCheck.html b/force-app/main/default/lwc/lexVOCCheck/lexVOCCheck.html
new file mode 100644
index 0000000..592cc85
--- /dev/null
+++ b/force-app/main/default/lwc/lexVOCCheck/lexVOCCheck.html
@@ -0,0 +1,6 @@
+<template>
+    <div class="checkHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+        <lightning-button label="Show Toast" onclick={ShowToastEvent}></lightning-button>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexVOCCheck/lexVOCCheck.js b/force-app/main/default/lwc/lexVOCCheck/lexVOCCheck.js
new file mode 100644
index 0000000..edccdf5
--- /dev/null
+++ b/force-app/main/default/lwc/lexVOCCheck/lexVOCCheck.js
@@ -0,0 +1,108 @@
+import UserInfo_Owner from '@salesforce/apex/TaskFeedbackController.UserInfo_Owner';
+import { api, wire,LightningElement } from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import init  from '@salesforce/apex/ReportController.initForVOCCheckButton';
+import VOCCheck  from '@salesforce/apex/ReportController.updateForVOCCheckButton';
+import { updateRecord } from 'lightning/uiRecordApi';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+
+export default class LexVOCCheck extends LightningElement {
+    
+    @api recordId;
+    status;
+    isVOC;
+    personId;
+    profileId;
+    Isloading = true;
+
+    @wire(CurrentPageReference)
+    getStateParameters(currentPageReference) {
+            console.log(111);
+            console.log(currentPageReference);
+
+        if (currentPageReference) {
+          const urlValue = currentPageReference.state.recordId;
+          if (urlValue) {
+            let str = `${urlValue}`;
+            console.log("str");
+            console.log(str);
+            this.recordId = str;
+          }
+        }
+    }
+
+
+    connectedCallback(){
+        console.log(this.recordId);
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            console.log(result);
+            if (result != null) {  
+          
+                this.status = result.status;
+                this.isVOC = result.isVOC;
+                this.personId = result.personId;
+                this.profileId = result.profileId;
+                console.log(this.status); 
+                this.check();
+                //window.location.replace("https://ocsm--partial.sandbox.lightning.force.com/lightning/r/Report__c/" + this.recordId + "/view");
+            }
+        }).catch(error => {
+            console.log("error");
+            console.log(error);
+        });
+    }
+
+
+    updateRecordView(recordId) {
+        updateRecord({fields: { Id: recordId }});
+    }
+
+    showToast(msg, type) {
+        const event = new ShowToastEvent({
+          title: "",
+          message: msg,
+          variant: type
+        });
+        this.dispatchEvent(event);
+      }
+
+    check (){
+        // 闄嗚儨锛岃儭杩畨锛岀郴缁熺鐞嗗憳鍙偣(闇�瑕佽皟鏁�)
+        if (UserInfo_Owner.Id != "00510000000gWAE" && UserInfo_Owner.Id != "00510000004reg2" && this.profileId != "00e10000000Y3o5AAC") {
+                this.showToast("浣犳病鏈夊垽瀹歏OC鐨勬潈闄�","error");
+                this.dispatchEvent(new CloseActionScreenEvent());
+                return;
+            }
+            if (this.status != "璺熻繘涓�") {
+                this.showToast("涓嶆槸璺熻繘涓笉鑳界偣鍑�","error");
+                this.dispatchEvent(new CloseActionScreenEvent());
+                return;
+            }
+            if (this.isVOC == undefined) {
+                this.showToast("蹇呴』閫夋嫨鏄惁VOC","error");
+                this.dispatchEvent(new CloseActionScreenEvent());
+                return;
+            } 
+            VOCCheck(
+                {
+                    recordId:this.recordId,
+                    isVOC:this.isVOC,
+                    personId:this.personId
+                }
+            ).then(result =>{
+                if(result){
+                    this.showToast(result,"error");
+                }else{
+                    this.showToast("鎴愬姛","success");
+                    this.updateRecordView(this.recordId);
+                }
+                this.Isloading = false;   
+                this.dispatchEvent(new CloseActionScreenEvent());
+            });
+
+            //location.reload();
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexVOCCheck/lexVOCCheck.js-meta.xml b/force-app/main/default/lwc/lexVOCCheck/lexVOCCheck.js-meta.xml
new file mode 100644
index 0000000..3392981
--- /dev/null
+++ b/force-app/main/default/lwc/lexVOCCheck/lexVOCCheck.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+	<isExposed>true</isExposed>
+	<targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexVOCConfirm/lexVOCConfirm.css b/force-app/main/default/lwc/lexVOCConfirm/lexVOCConfirm.css
new file mode 100644
index 0000000..68704c6
--- /dev/null
+++ b/force-app/main/default/lwc/lexVOCConfirm/lexVOCConfirm.css
@@ -0,0 +1,10 @@
+.confirmHolder{
+    position: relative;
+    display: inline-block;
+    width: 80px;
+    height: 80px;
+    text-align: center;
+}
+.container .uiContainerManager{
+	display: none !important;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexVOCConfirm/lexVOCConfirm.html b/force-app/main/default/lwc/lexVOCConfirm/lexVOCConfirm.html
new file mode 100644
index 0000000..fd0bc74
--- /dev/null
+++ b/force-app/main/default/lwc/lexVOCConfirm/lexVOCConfirm.html
@@ -0,0 +1,6 @@
+<template>
+    <div class="confirmHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+        <lightning-button label="Show Toast" onclick={ShowToastEvent}></lightning-button>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexVOCConfirm/lexVOCConfirm.js b/force-app/main/default/lwc/lexVOCConfirm/lexVOCConfirm.js
new file mode 100644
index 0000000..1f3ffdf
--- /dev/null
+++ b/force-app/main/default/lwc/lexVOCConfirm/lexVOCConfirm.js
@@ -0,0 +1,105 @@
+/*
+ * @Description: 
+ * @version: 
+ * @Author: chen jing wu
+ * @Date: 2023-03-27 14:08:56
+ * @LastEditors: chen jing wu
+ * @LastEditTime: 2023-04-11 11:33:01
+ */
+import { LightningElement,wire,track,api} from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import { NavigationMixin } from 'lightning/navigation';
+import init  from '@salesforce/apex/ReportController.initForVOCConfirmButton';
+import  updateForVOCConfirmButton from '@salesforce/apex/ReportController.updateForVOCConfirmButton';
+import { updateRecord } from 'lightning/uiRecordApi';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+export default class LexVOCConfirm extends LightningElement {
+    @api recordId;
+    status;
+    VOCSatisfy;
+    VOCSatisfy1;
+    Isloading = true;
+    @wire(CurrentPageReference)
+    getStateParameters(currentPageReference) {
+            console.log(111);
+            console.log(currentPageReference);
+
+        if (currentPageReference) {
+          const urlValue = currentPageReference.state.recordId;
+          if (urlValue) {
+            let str = `${urlValue}`;
+            console.log("str");
+            console.log(str);
+            this.recordId = str;
+          }
+        }
+    }
+
+
+
+    connectedCallback(){
+        console.log(this.recordId);
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            console.log(result);
+            if (result != null) {
+                this.status = result.status;
+                this.VOCSatisfy = result.Satisfy;
+                this.VOCSatisfy1 = result.Satisfy1;
+                console.log(this.VOCSatisfy);
+                console.log(this.VOCSatisfy1);
+                console.log(this.status);
+                this.update();
+            }
+        }).catch(error => {
+            console.log("error");
+            console.log(error);
+        });
+        //window.location.replace("https://ocsm--partial.sandbox.lightning.force.com/lightning/r/Report__c/" + this.recordId + "/view");
+    }
+
+    updateRecordView(recordId) {
+        updateRecord({fields: { Id: recordId }});
+    }
+
+    showToast(msg,type) {
+        const event = new ShowToastEvent({
+            title: '',
+            message: msg,
+            variant: type
+        });
+        this.dispatchEvent(event);
+    }
+
+
+    update(){
+        if (this.status != "宸插洖绛�") {
+            this.showToast("涓嶆槸宸插洖绛斾笉鑳界偣鍑�","error");
+            this.dispatchEvent(new CloseActionScreenEvent());
+            return;
+            }
+            if (this.VOCSatisfy == undefined) {
+            this.showToast("璇烽�夋嫨鏄惁婊℃剰","error");
+            this.dispatchEvent(new CloseActionScreenEvent());
+            return;
+            }
+        updateForVOCConfirmButton({
+            recordId: this.recordId,
+            Satisfy: this.VOCSatisfy,
+            Satisfy1: this.VOCSatisfy1    
+        }).then(result=>{
+            if(result){
+                this.showToast(result,"error");
+            }else{
+                this.updateRecordView(this.recordId);
+                this.showToast("鎴愬姛","success");
+            }
+            this.Isloading = false;
+            this.dispatchEvent(new CloseActionScreenEvent());
+        });
+
+        
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexVOCConfirm/lexVOCConfirm.js-meta.xml b/force-app/main/default/lwc/lexVOCConfirm/lexVOCConfirm.js-meta.xml
new file mode 100644
index 0000000..8b2c3d6
--- /dev/null
+++ b/force-app/main/default/lwc/lexVOCConfirm/lexVOCConfirm.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+   <apiVersion>54.0</apiVersion>
+	<isExposed>true</isExposed>
+	<targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexVOCFinish/lexVOCFinish.css b/force-app/main/default/lwc/lexVOCFinish/lexVOCFinish.css
new file mode 100644
index 0000000..83026d9
--- /dev/null
+++ b/force-app/main/default/lwc/lexVOCFinish/lexVOCFinish.css
@@ -0,0 +1,10 @@
+.vocFinishHolder{
+    position: relative;
+    display: inline-block;
+    width: 80px;
+    height: 80px;
+    text-align: center;
+}
+.container .uiContainerManager{
+	display: none !important;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexVOCFinish/lexVOCFinish.html b/force-app/main/default/lwc/lexVOCFinish/lexVOCFinish.html
new file mode 100644
index 0000000..308b1e2
--- /dev/null
+++ b/force-app/main/default/lwc/lexVOCFinish/lexVOCFinish.html
@@ -0,0 +1,6 @@
+<template>
+    <div class="vocFinishHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+        <lightning-button label="Show Toast" onclick={ShowToastEvent}></lightning-button>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexVOCFinish/lexVOCFinish.js b/force-app/main/default/lwc/lexVOCFinish/lexVOCFinish.js
new file mode 100644
index 0000000..edcb0f1
--- /dev/null
+++ b/force-app/main/default/lwc/lexVOCFinish/lexVOCFinish.js
@@ -0,0 +1,96 @@
+/*
+ * @Description: 
+ * @version: 
+ * @Author: chen jing wu
+ * @Date: 2023-03-27 14:11:17
+ * @LastEditors: chen jing wu
+ * @LastEditTime: 2023-04-11 11:34:01
+ */
+import { api, wire,LightningElement } from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import init  from '@salesforce/apex/ReportController.initForVOCFinishButton';
+import update  from '@salesforce/apex/ReportController.updateForVOCFinishButton';
+import UserInfo_Owner from '@salesforce/apex/TaskFeedbackController.UserInfo_Owner';
+import { updateRecord } from 'lightning/uiRecordApi';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+export default class LexVOCFinish extends LightningElement {
+    @api recordId;
+    status;
+    IsLoading = true;
+    profileId;
+
+    @wire(CurrentPageReference)
+    getStateParameters(currentPageReference) {
+            console.log(111);
+            console.log(currentPageReference);
+
+        if (currentPageReference) {
+          const urlValue = currentPageReference.state.recordId;
+          if (urlValue) {
+            let str = `${urlValue}`;
+            console.log("str");
+            console.log(str);
+            this.recordId = str;
+          }
+        }
+    }
+
+    connectedCallback(){
+        console.log(this.recordId);
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            console.log(result);
+            if (result != null) {
+                this.status = result.status;
+                this.profileId = result.profileId;
+                this.VOCFinish();
+            }
+        }).catch(error => {
+            console.log("error");
+            console.log(error);
+        });
+        //window.location.replace("https://ocsm--partial.sandbox.lightning.force.com/lightning/r/Report__c/" + this.recordId + "/view");
+        //this.updateRecordView(this.recordId);
+    }
+
+    showToast(msg,type) {
+        const event = new ShowToastEvent({
+            title: '',
+            message: msg,
+            variant: type
+        });
+        this.dispatchEvent(event);
+    }
+
+
+    updateRecordView(recordId) {
+        updateRecord({fields: { Id: recordId }});
+    }
+
+    VOCFinish () {
+        if (UserInfo_Owner.Id != "00510000000gWAE" && UserInfo_Owner.Id != "00510000004reg2" && this.profileId != "00e10000000Y3o5AAC") {
+            this.showToast("浣犳病鏈夊畬姣昖OC鐨勬潈闄�","error");
+            this.dispatchEvent(new CloseActionScreenEvent());
+            return;
+            }
+            if (this.status != "缁撴灉纭瀹屾瘯") {
+            this.showToast("涓嶆槸缁撴灉纭瀹屾瘯涓嶈兘鐐瑰嚮","error");
+            this.dispatchEvent(new CloseActionScreenEvent());
+            return;
+            }
+            update({
+                recordId: this.recordId
+            }).then(result =>{
+                if(result){
+                    this.showToast(result,"error");
+                }else{
+                    this.showToast("鎴愬姛","success");
+                    this.updateRecordView(this.recordId);
+                }
+                this.IsLoading = false;
+                this.dispatchEvent(new CloseActionScreenEvent());
+            });
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexVOCFinish/lexVOCFinish.js-meta.xml b/force-app/main/default/lwc/lexVOCFinish/lexVOCFinish.js-meta.xml
new file mode 100644
index 0000000..3392981
--- /dev/null
+++ b/force-app/main/default/lwc/lexVOCFinish/lexVOCFinish.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+	<isExposed>true</isExposed>
+	<targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexVOCSubmit/lexVOCSubmit.css b/force-app/main/default/lwc/lexVOCSubmit/lexVOCSubmit.css
new file mode 100644
index 0000000..4f256c3
--- /dev/null
+++ b/force-app/main/default/lwc/lexVOCSubmit/lexVOCSubmit.css
@@ -0,0 +1,10 @@
+.vocSubmitHolder{
+    position: relative;
+    display: inline-block;
+    width: 80px;
+    height: 80px;
+    text-align: center;
+}
+.container .uiContainerManager{
+	display: none !important;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexVOCSubmit/lexVOCSubmit.html b/force-app/main/default/lwc/lexVOCSubmit/lexVOCSubmit.html
new file mode 100644
index 0000000..cb84330
--- /dev/null
+++ b/force-app/main/default/lwc/lexVOCSubmit/lexVOCSubmit.html
@@ -0,0 +1,6 @@
+<template>
+    <div class="vocSubmitHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+        <lightning-button label="Show Toast" onclick={ShowToastEvent}></lightning-button>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexVOCSubmit/lexVOCSubmit.js b/force-app/main/default/lwc/lexVOCSubmit/lexVOCSubmit.js
new file mode 100644
index 0000000..62acb75
--- /dev/null
+++ b/force-app/main/default/lwc/lexVOCSubmit/lexVOCSubmit.js
@@ -0,0 +1,91 @@
+/*
+ * @Description: 
+ * @version: 
+ * @Author: chen jing wu
+ * @Date: 2023-03-27 13:39:23
+ * @LastEditors: chen jing wu
+ * @LastEditTime: 2023-04-11 11:35:31
+ */
+import { LightningElement,wire,track,api} from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import init  from '@salesforce/apex/ReportController.initForVOCSubmitButton';
+import VOCSubmit  from '@salesforce/apex/ReportController.updateForVOCSubmitButton';
+import UserInfo_Owner from '@salesforce/apex/TaskFeedbackController.UserInfo_Owner';
+import { updateRecord } from 'lightning/uiRecordApi';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+export default class LexVOCSubmit extends LightningElement {
+    @api recordId;
+    createdById;
+    status;
+    IsLoading = true;
+
+    @wire(CurrentPageReference)
+    getStateParameters(currentPageReference) {
+            console.log(111);
+            console.log(currentPageReference);
+
+        if (currentPageReference) {
+          const urlValue = currentPageReference.state.recordId;
+          if (urlValue) {
+            let str = `${urlValue}`;
+            console.log("str");
+            console.log(str);
+            this.recordId = str;
+          }
+        }
+    }
+    
+    connectedCallback () {
+        console.log(this.recordId);
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            console.log(result);
+            if (result != null) {
+                this.status = result.status;
+                this.createdById = result.createdById;
+                this.Submit();
+                //window.location.replace("https://ocsm--partial.sandbox.lightning.force.com/lightning/r/Report__c/" + this.recordId + "/view");
+            }
+        }).catch(error => {
+            console.log("error");
+            console.log(error);
+        });   
+        //this.updateRecordView(this.recordId);
+    }
+
+    updateRecordView(recordId) {
+        updateRecord({fields: { Id: recordId }});
+    }
+
+    showToast(msg,type) {
+        const event = new ShowToastEvent({
+            title: '',
+            message: msg,
+            variant: type
+        });
+        this.dispatchEvent(event);
+    }
+
+    Submit () {
+        if (this.status != "鑽夋涓�") {
+            this.showToast("涓嶆槸鑽夋涓笉鑳界偣鍑�","error");
+            this.dispatchEvent(new CloseActionScreenEvent());
+            return;
+            }
+            VOCSubmit({
+                recordId: this.recordId,
+                createdById: this.createdById
+            }).then(result =>{
+                if(result){
+                    this.showToast(result,"error");
+                }else{
+                    this.showToast("鎴愬姛","success");
+                    this.updateRecordView(this.recordId);
+                }
+                this.IsLoading = false;
+                this.dispatchEvent(new CloseActionScreenEvent());
+            });
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexVOCSubmit/lexVOCSubmit.js-meta.xml b/force-app/main/default/lwc/lexVOCSubmit/lexVOCSubmit.js-meta.xml
new file mode 100644
index 0000000..329e839
--- /dev/null
+++ b/force-app/main/default/lwc/lexVOCSubmit/lexVOCSubmit.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexXinSearchVisitorPlace/lexXinSearchVisitorPlace.css b/force-app/main/default/lwc/lexXinSearchVisitorPlace/lexXinSearchVisitorPlace.css
new file mode 100644
index 0000000..28fc4ad
--- /dev/null
+++ b/force-app/main/default/lwc/lexXinSearchVisitorPlace/lexXinSearchVisitorPlace.css
@@ -0,0 +1,5 @@
+.slds-popover.slds-nubbin_left{
+    position: absolute;
+    left:0rem;
+    top:-1.3rem;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexXinSearchVisitorPlace/lexXinSearchVisitorPlace.html b/force-app/main/default/lwc/lexXinSearchVisitorPlace/lexXinSearchVisitorPlace.html
new file mode 100644
index 0000000..77461fa
--- /dev/null
+++ b/force-app/main/default/lwc/lexXinSearchVisitorPlace/lexXinSearchVisitorPlace.html
@@ -0,0 +1,17 @@
+<!--
+ * @Description: 
+ * @version: 
+ * @Author: chen jing wu
+ * @Date: 2023-04-19 10:07:12
+ * @LastEditors: chen jing wu
+ * @LastEditTime: 2023-04-19 13:36:27
+-->
+<template>
+    <section if:true={IsOverLimit} class="slds-popover slds-nubbin_left" role="dialog">
+        <span class="result_name" style="color:red;">妫�绱㈢粨鏋滆秴杩囦簡50浠�</span><span class="result_id" style="display:none"></span><br/>
+    </section>
+    <template for:each={results} for:item="result">
+        <span class="result_name" key={result.Id}>{result.Name}</span>
+        <span class="result_id" style="display:none" key={result.Id}>{result.Id}</span>
+    </template>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexXinSearchVisitorPlace/lexXinSearchVisitorPlace.js b/force-app/main/default/lwc/lexXinSearchVisitorPlace/lexXinSearchVisitorPlace.js
new file mode 100644
index 0000000..6341c7c
--- /dev/null
+++ b/force-app/main/default/lwc/lexXinSearchVisitorPlace/lexXinSearchVisitorPlace.js
@@ -0,0 +1,38 @@
+/*
+ * @Description: 
+ * @version: 
+ * @Author: chen jing wu
+ * @Date: 2023-04-19 10:07:12
+ * @LastEditors: chen jing wu
+ * @LastEditTime: 2023-04-20 09:38:37
+ */
+import { LightningElement,wire } from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import getIsOverLimit from '@salesforce/apex/lexXinSearchVisitorPlaceController.getIsOverLimit';
+import getResults from '@salesforce/apex/lexXinSearchVisitorPlaceController.getResults';
+import search from '@salesforce/apex/lexXinSearchVisitorPlaceController.search';
+export default class LexXinSearchVisitorPlace extends LightningElement {
+    IsOverLimit;
+    results;
+    @wire(CurrentPageReference) pageRef;
+    getParamValue(param){
+        return new URLSearchParams(this.pageRef.state.c_-param).get(param);
+    }
+
+    connectedCallback(){
+        const queryParam = this.getParamValue('q');
+        const reporterStateParam = this.getParamValue('r');
+        console.log("start");
+        search({
+            query: queryParam,
+            reporterState: reporterStateParam
+        }).then(()=>{
+            getIsOverLimit().then(result=>{
+                this.IsOverLimit = result;
+            });
+            getResults().then(result=>{
+                this.results = result;
+            });
+        });
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexXinSearchVisitorPlace/lexXinSearchVisitorPlace.js-meta.xml b/force-app/main/default/lwc/lexXinSearchVisitorPlace/lexXinSearchVisitorPlace.js-meta.xml
new file mode 100644
index 0000000..329e839
--- /dev/null
+++ b/force-app/main/default/lwc/lexXinSearchVisitorPlace/lexXinSearchVisitorPlace.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexYanshoudanRequest/lexYanshoudanRequest.html b/force-app/main/default/lwc/lexYanshoudanRequest/lexYanshoudanRequest.html
new file mode 100644
index 0000000..87f391a
--- /dev/null
+++ b/force-app/main/default/lwc/lexYanshoudanRequest/lexYanshoudanRequest.html
@@ -0,0 +1,6 @@
+<template>
+    <div class="exampleHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+        <lightning-button label="Show Toast" onclick={ShowToastEvent}></lightning-button>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexYanshoudanRequest/lexYanshoudanRequest.js b/force-app/main/default/lwc/lexYanshoudanRequest/lexYanshoudanRequest.js
new file mode 100644
index 0000000..84fe55d
--- /dev/null
+++ b/force-app/main/default/lwc/lexYanshoudanRequest/lexYanshoudanRequest.js
@@ -0,0 +1,79 @@
+import {
+    LightningElement,
+    wire,
+    api
+} from 'lwc';
+import {
+    CurrentPageReference
+} from "lightning/navigation";
+import {
+    CloseActionScreenEvent
+} from 'lightning/actions';
+import init from '@salesforce/apex/otherButtonRepairController.init';
+import updateYanshoudan from '@salesforce/apex/otherButtonRepairController.updateYanshoudan';
+import {
+    ShowToastEvent
+} from 'lightning/platformShowToastEvent';
+
+export default class LexYanshoudanRequest extends LightningElement {
+    @api recordId;
+    str;
+    IsLoading = true;
+    Id;
+
+    @wire(CurrentPageReference)
+    getStateParameters(currentPageReference) {
+        if (currentPageReference) {
+            const urlValue = currentPageReference.state.recordId;
+            if (urlValue) {
+                let str = `${urlValue}`;
+                this.recordId = str;
+            }
+        }
+    }
+
+    connectedCallback() {
+        console.log(this.recordId);
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            console.log(result);
+            if (result != null) {
+                this.IsLoading = false;
+                this.Id = result.Id;
+
+                this.YanshoudanRequest();
+                this.dispatchEvent(new CloseActionScreenEvent());
+            }
+        }).catch(error => {
+            console.log(error);
+        }).finally(() => {
+
+        });
+    }
+
+    // 楠屾敹鍗曞洖鏀剁敵璇�
+    YanshoudanRequest() {
+        updateYanshoudan({
+            recordId: this.Id
+        }).then(result => {
+            console.log(result);
+            if (result.length > 0) {
+                var indexs = result.indexOf(": ")
+                var resolves = result.substring(indexs + 1, result.length);
+                alert(resolves);
+            }
+            location.reload();
+        })
+    }
+
+    // 寮圭獥
+    ShowToastEvent(msg, type) {
+        const event = new ShowToastEvent({
+            title: '',
+            message: msg,
+            variant: type
+        });
+        this.dispatchEvent(event);
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexYanshoudanRequest/lexYanshoudanRequest.js-meta.xml b/force-app/main/default/lwc/lexYanshoudanRequest/lexYanshoudanRequest.js-meta.xml
new file mode 100644
index 0000000..3392981
--- /dev/null
+++ b/force-app/main/default/lwc/lexYanshoudanRequest/lexYanshoudanRequest.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+	<isExposed>true</isExposed>
+	<targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexcopyQIS/lexcopyQIS.css b/force-app/main/default/lwc/lexcopyQIS/lexcopyQIS.css
new file mode 100644
index 0000000..9acb129
--- /dev/null
+++ b/force-app/main/default/lwc/lexcopyQIS/lexcopyQIS.css
@@ -0,0 +1,22 @@
+.outerBorderCss{
+    border: 1px solid #D4D4D4;
+    border-radius : 5px;
+    border-top : 3px solid #565959;
+}
+.borderCss{
+    border: 1px solid #D4D4D4;
+    border-radius : 5px;
+    margin-bottom : 7px;
+    border-top : 3px solid #565959;
+}
+.headerDorderCss{
+    border-top: 1px solid #565959;
+    border-bottom: 1px solid #D4D4D4;
+    padding:3px;
+}
+.centerCss{
+    text-align: center;
+}
+.centerCss .left{
+    margin-left: 100px;
+}/* sample css file *//* sample css file */
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexcopyQIS/lexcopyQIS.html b/force-app/main/default/lwc/lexcopyQIS/lexcopyQIS.html
new file mode 100644
index 0000000..c8bdbfc
--- /dev/null
+++ b/force-app/main/default/lwc/lexcopyQIS/lexcopyQIS.html
@@ -0,0 +1,5 @@
+<template>
+   <div class="sisToOPDHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexcopyQIS/lexcopyQIS.js b/force-app/main/default/lwc/lexcopyQIS/lexcopyQIS.js
new file mode 100644
index 0000000..95bfd52
--- /dev/null
+++ b/force-app/main/default/lwc/lexcopyQIS/lexcopyQIS.js
@@ -0,0 +1,52 @@
+import { LightningElement,wire,api} from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+import init  from '@salesforce/apex/QISReportController.initForlexcopyQISButton';
+
+
+export default class lexcopyQIS extends LightningElement {
+	@api recordId;
+	err;
+	IsLoading = true;
+	qisReportId;
+	qisStatus;
+	name;
+	
+	 @wire(CurrentPageReference)
+     getStateParameters(currentPageReference) {
+         if (currentPageReference) {
+           const urlValue = currentPageReference.state.recordId;
+           if (urlValue) {
+             let str = `${urlValue}`;
+             this.recordId = str;
+           }
+         }
+     }
+
+     connectedCallback () {
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            this.IsLoading = false;
+            this.qisReportId = result.Id;
+            this.qisStatus = result.qIStatus;
+            this.name = result.name;
+            if (this.qisStatus != '鍙栨秷') {
+            	const evt = new ShowToastEvent({
+                        title : '鐘舵�佷负鍙栨秷鐨凲IS鎵嶅彲浠ヨ澶嶅埗骞舵柊寤�',
+                        message: '',
+                        variant: 'error'
+                    });
+	                this.dispatchEvent(evt);
+	                this.dispatchEvent(new CloseActionScreenEvent());
+	                return;
+            }
+           	var url = "/"+this.qisReportId+"/e?newclone=1&retURL=%2F"+this.qisReportId+" &CF00N100000073PA0="+this.name+"&CF00N100000073PA0_lkid="+this.qisReportId;
+           	window.open(url);
+           	this.dispatchEvent(new CloseActionScreenEvent());
+        }).catch(error => {
+            console.log('error='+error);
+        })
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexcopyQIS/lexcopyQIS.js-meta.xml b/force-app/main/default/lwc/lexcopyQIS/lexcopyQIS.js-meta.xml
new file mode 100644
index 0000000..c629aee
--- /dev/null
+++ b/force-app/main/default/lwc/lexcopyQIS/lexcopyQIS.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lexcopyQIS">
+   <apiVersion>54.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightning__RecordPage</target>
+        <target>lightning__AppPage</target>
+        <target>lightning__HomePage</target>
+        <target>lightning__RecordAction</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexinventoryViewLWC/lexinventoryViewLWC.html b/force-app/main/default/lwc/lexinventoryViewLWC/lexinventoryViewLWC.html
index 7c503c5..75d091b 100644
--- a/force-app/main/default/lwc/lexinventoryViewLWC/lexinventoryViewLWC.html
+++ b/force-app/main/default/lwc/lexinventoryViewLWC/lexinventoryViewLWC.html
@@ -1,4 +1,7 @@
 <template>
+    <template if:true={showSpinner}>
+        <lightning-spinner size="medium" variant="brand"></lightning-spinner>
+    </template>
     <div style="border: 1px solid #D4D4D4;border-radius:5px;">
         <div style="border-top: 3px solid #51606E;;border-bottom: 1px solid #D4D4D4;padding:3px;">
             <p style="font-size: 19px;"><strong>搴撳瓨绠$悊</strong></p>
@@ -6,7 +9,13 @@
         <div style="padding:10px;">
             <div style="border: 1px solid #D4D4D4;border-radius:5px;margin-bottom:7px;">
                 <div style="border-top: 3px solid #51606E;border-bottom: 1px solid #D4D4D4;padding:3px;">
-                    <table>
+                    <lightning-button style="margin: 5px;" label="搴撳瓨鐩樼偣" title="搴撳瓨鐩樼偣"
+                        onclick={inventoryCount}></lightning-button>
+                    <lightning-button style="margin: 5px;" label="杩囨湡搴撳瓨閿�瀛�" title="杩囨湡搴撳瓨閿�瀛�"
+                        onclick={handleExpired}></lightning-button>
+                    <lightning-button style="margin: 5px;" label="鎷嗙洅" title="鎷嗙洅" onclick={removeBox}></lightning-button>
+                    <lightning-button style="margin: 5px;" label="鍙栨秷鎷嗙洅" title="鍙栨秷鎷嗙洅" onclick={cancelremoveBox}></lightning-button>
+                    <!-- <table>
                         <colgroup>
                             <col width="160px"/>
                             <col width="100px"/>
@@ -25,89 +34,111 @@
                         </colgroup>
                         <tbody>
                             <tr>
-                                <td></td>
-                                <td><lightning-button label="搴撳瓨鐩樼偣" title="搴撳瓨鐩樼偣" onclick={inventoryCount} ></lightning-button></td>
+                                <td style="width:15%;"></td>
+                                <td style="width:15%;"><lightning-button label="搴撳瓨鐩樼偣" title="搴撳瓨鐩樼偣" onclick={inventoryCount} ></lightning-button></td>
                                 <td></td>
                                 <td></td>
-                                <td style="width:100px;"><lightning-button label="杩囨湡搴撳瓨閿�瀛�"  title="杩囨湡搴撳瓨閿�瀛�" onclick={handleExpired} ></lightning-button></td>
+                                <td style="width:15%"><lightning-button label="杩囨湡搴撳瓨閿�瀛�"  title="杩囨湡搴撳瓨閿�瀛�" onclick={handleExpired} ></lightning-button></td>
                                 <td></td>
                                 <td></td>
-                                <td style="width:100px;"><lightning-button label="鎷嗙洅" title="鎷嗙洅" onclick={handleClick} ></lightning-button></td>
+                                <td style="width:15%;"><lightning-button label="鎷嗙洅" title="鎷嗙洅" onclick={removeBox} ></lightning-button></td>
                                 <td></td>
                                 <td></td>
-                                <td style="width:100px;"><lightning-button label="鍙栨秷鎷嗙洅" title="鍙栨秷鎷嗙洅" onclick={handleClick}></lightning-button></td>
+                                <td style="width:15%;"><lightning-button label="鍙栨秷鎷嗙洅" title="鍙栨秷鎷嗙洅" onclick={handleClick}></lightning-button></td>
         
                             </tr>
                         </tbody>  
-                </table>
+                </table> -->
                 </div>
             </div>
 
-                <div style="border: 1px solid #D4D4D4;border-radius:5px;margin-bottom:7px;">
-                    <div style="border-top: 3px solid #51606E;border-bottom: 1px solid #D4D4D4;padding:3px;">
-                        <table>
-                            <colgroup>
-                                <col width="160px"/>
-                                <col width="100px"/>
-                                <col width="10px"/>
-                                <col width="70px"/>
-                                <col width="100px"/>
-                                <col width="10px"/>
-                                <col width="70px"/>
-                                <col width="100px"/>
-                                <col width="10px"/>
-                                <col width="90px"/>
-                                <col width="100px"/>
-                                <col width="85px"/>
-                                <col width="100px"/>
-                                <col width="10px"/>
-                                <col width="70px"/>
-                                <col width="100px"/>
-                            </colgroup>
-                            <tbody>
-                                <tr>
-                                    <td style="width: 21%;">
-                                        <lightning-input type="text" name="Name" label="娑堣�楀搧鍚嶇О"  value={Name}  variant="label-inline" onchange={handleChange} data-field ="Name" ></lightning-input>
-                                    </td>
-                                    <td style="width: 21%;">
-                                        <lightning-combobox   name="CategoryThree" label="绗�3鍒嗙被" value={value} placeholder="璇烽�夋嫨..." options={options1} variant="label-inline" data-field ="CategoryThree" onchange={handleChange}></lightning-combobox>
-                                    </td>
-                                    <td style="width: 21%;">
-                                        <lightning-combobox  name="CategoryFour" label="绗�4鍒嗙被" value={value} placeholder="璇烽�夋嫨..." options={options2} variant="label-inline" data-field ="CategoryFour" onchange={handleChange}></lightning-combobox>
-                                    </td>
-                                    <td style="width: 21%;">
-                                        <lightning-combobox  name="CategoryFive" label="绗�5鍒嗙被" value={value} placeholder="璇烽�夋嫨..." options={options3} variant="label-inline" data-field ="CategoryFive" onchange={handleChange}></lightning-combobox>
-                                    </td>
-                                    <td style="width: 3%;"></td>
-                                    <td style="width: 8%;">
-                                        <lightning-button label="娑堣�楀搧鎼滅储" onclick={searchOrderDetail}></lightning-button>
-                                    </td>
-                                    <td style="width: 8%;">
-                                        <lightning-button label="娓呯┖" onclick={clearAll}></lightning-button>
-                                    </td>
-                                </tr>
-                            </tbody>
-                        </table>
-                    </div>
+            <div style="border: 1px solid #D4D4D4;border-radius:5px;margin-bottom:7px;">
+                <div style="border-top: 3px solid #51606E;border-bottom: 1px solid #D4D4D4;padding:3px;">
+                    <table>
+                        <colgroup>
+                            <col width="160px" />
+                            <col width="100px" />
+                            <col width="10px" />
+                            <col width="70px" />
+                            <col width="100px" />
+                            <col width="10px" />
+                            <col width="70px" />
+                            <col width="100px" />
+                            <col width="10px" />
+                            <col width="90px" />
+                            <col width="100px" />
+                            <col width="85px" />
+                            <col width="100px" />
+                            <col width="10px" />
+                            <col width="70px" />
+                            <col width="100px" />
+                        </colgroup>
+                        <tbody>
+                            <tr>
+                                <td style="width: 21%;">
+                                    <lightning-input type="text" name="Name" label="娑堣�楀搧鍚嶇О" value={Name}
+                                        variant="label-inline" onchange={handleChange}
+                                        data-field="Name"></lightning-input>
+                                </td>
+                                <td style="width: 21%;">
+                                    <lightning-combobox name="CategoryThree" label="绗�3鍒嗙被" value={value}
+                                        placeholder="璇烽�夋嫨..." options={options1} variant="label-inline"
+                                        data-field="CategoryThree" onchange={handleChange}></lightning-combobox>
+                                </td>
+                                <td style="width: 21%;">
+                                    <lightning-combobox name="CategoryFour" label="绗�4鍒嗙被" value={value}
+                                        placeholder="璇烽�夋嫨..." options={options2} variant="label-inline"
+                                        data-field="CategoryFour" onchange={handleChange}></lightning-combobox>
+                                </td>
+                                <td style="width: 21%;">
+                                    <lightning-combobox name="CategoryFive" label="绗�5鍒嗙被" value={value}
+                                        placeholder="璇烽�夋嫨..." options={options3} variant="label-inline"
+                                        data-field="CategoryFive" onchange={handleChange}></lightning-combobox>
+                                </td>
+                                <td style="width: 3%;"></td>
+                                <td style="width: 8%;">
+                                    <lightning-button label="娑堣�楀搧鎼滅储" onclick={searchOrderDetail}></lightning-button>
+                                </td>
+                                <td style="width: 8%;">
+                                    <lightning-button label="娓呯┖" onclick={clearAll}></lightning-button>
+                                </td>
+                            </tr>
+                        </tbody>
+                    </table>
                 </div>
+            </div>
             <div style="border: 1px solid #D4D4D4;border-radius:5px;margin-bottom:7px;">
                 <div style="border-top: 3px solid #51606E;border-bottom: 1px solid #D4D4D4;padding:3px;">
                     <p style="font-size: 16px;"><strong>搴撳瓨璇︽儏</strong></p>
                 </div>
                 <div style="padding:10px;">
                     <template if:true={showTable}>
-                        <c-lwc-datatable-utility 
-                            hidecheckboxcolumn = {hidecheckboxcolumn}
-                            records={data} 
-                            total-records={data.length} 
-                            columns = {columns}
-                            key-field="Id"
-                            show-search-box="true"            
-                            max-row-selection={data.length}
-                            onpaginatorchange={handlePaginatorChange}>
-                        </c-lwc-datatable-utility>
+                        <lightning-datatable 
+                        key-field="id"
+                        data={data} 
+                        columns={columns}
+                        default-sort-direction={defaultSortDirection}
+                        sorted-direction={sortDirection}
+                        sorted-by={sortedBy}
+                        onsort={onHandleSort} 
+                        hidecheckboxcolumn = {hidecheckboxcolumn}>
+                        </lightning-datatable>
+                        <c-paginator    
+                        if:true={paginationVisibility}
+                        onprevious={handlePrevious}
+                        onnext={handleNext}
+                        onpageschange={handlePageschange}
+                        onfirst={handleFirst}
+                        onlast={handleLast}
+                        page-size-options={pageSizeOptions}          
+                        previous-button-disabled={previousButtonDisabled}
+                        next-button-disabled={nextButtonDisabled}
+                        record-start={recordStart}
+                        record-end={recordEnd}
+                        total-records={totalRecords}
+                    ></c-paginator>
                     </template>
-                  
+
 
                     <!-- <table class="list" border="0" cellpadding="0" cellspacing="0" id="example">
                         <thead>
diff --git a/force-app/main/default/lwc/lexinventoryViewLWC/lexinventoryViewLWC.js b/force-app/main/default/lwc/lexinventoryViewLWC/lexinventoryViewLWC.js
index b24100b..74c92c3 100644
--- a/force-app/main/default/lwc/lexinventoryViewLWC/lexinventoryViewLWC.js
+++ b/force-app/main/default/lwc/lexinventoryViewLWC/lexinventoryViewLWC.js
@@ -1,344 +1,420 @@
 import { LightningElement, wire, api, track } from 'lwc';
-import oninit from '@salesforce/apex/LexInventoryViewController.init';
-import { ShowToastEvent } from 'lightning/platformShowToastEvent';
-import searchOrder from '@salesforce/apex/LexInventoryViewController.searchConsumableorderdetails';
-import { NavigationMixin } from 'lightning/navigation';
+import oninit from "@salesforce/apex/LexInventoryViewController.init";
+import oninit2 from "@salesforce/apex/LexInventoryViewController.init2";
+import { ShowToastEvent } from "lightning/platformShowToastEvent";
+import searchOrder from "@salesforce/apex/LexInventoryViewController.searchConsumableorderdetails";
+import { NavigationMixin } from "lightning/navigation";
 const columns = [
-    {
-        label: '娑堣�楀搧鍚嶇О',
-        fieldName: 'Name__c',
-        type: 'Name',
-        sortable: true,
-        initialWidth: 250,
-        cellAttributes: { alignment: 'left' }
-    },
-    {
-        label: '绗笁鍒嗙被',
-        fieldName: 'Category3__c',
-        hideDefaultActions: true,
-        sortable: true,
-        initialWidth: 90
-    },
-    {
-        label: '绗洓鍒嗙被',
-        fieldName: 'Category4__c',
-        hideDefaultActions: true,
-        sortable: true,
-        initialWidth: 90
-    },
-    {
-        label: '绗簲鍒嗙被',
-        fieldName: 'Category5__c',
-        hideDefaultActions: true,
-        initialWidth: 90
-    },
+  {
+    label: "娑堣�楀搧鍚嶇О",
+    fieldName: "Name__c",
+    type: "Name",
+    sortable: true,
+    initialWidth : 250,
+    hideDefaultActions: true,
+    wrapText:true,
+    cellAttributes: { alignment: "left" }
+  },
+  {
+    label: "绗笁鍒嗙被",
+    fieldName: "Category3__c",
+    hideDefaultActions: true,
+    sortable: true,
+    wrapText:true,
+    initialWidth: 90
+  },
+  {
+    label: "绗洓鍒嗙被",
+    fieldName: "Category4__c",
+    hideDefaultActions: true,
+    wrapText:true,
+    sortable: true,
+    initialWidth: 90
+  },
+  {
+    label: "绗簲鍒嗙被",
+    fieldName: "Category5__c",
+    hideDefaultActions: true,
+    wrapText:true,
+    initialWidth: 90
+  },
 
-    {
-        label: '瑙勬牸',
-        fieldName: 'packing_list',
-        hideDefaultActions: true
-    },
-    {
-        label: '鍗曚綅',
-        fieldName: 'BoxPiece',
-        hideDefaultActions: true
-    },
-    {
-        label: '娉ㄥ唽璇佺紪鐮佸彿',
-        fieldName: 'approbation_No',
-        initialWidth: 180,
-        hideDefaultActions: true
-    },
-    {
-        label: '娉ㄥ唽鏈夋晥鏈�',
-        fieldName: 'expiration_Date',
-        hideDefaultActions: true,
-        initialWidth: 150
-    },
-    {
-        label: 'CFDA鐘舵��',
-        fieldName: 'SFDA_Status__c',
-        hideDefaultActions: true,
-        initialWidth: 100
-    },
-    {
-        label: '浣跨敤鏈熼檺',
-        fieldName: 'guaranteeperiod',
-        hideDefaultActions: true,
-        initialWidth: 100
-    },
-    {
-        label: '鏈夋晥鏈熷唴搴撳瓨',
-        fieldName: 'limitCount',
-        hideDefaultActions: true,
-        sortable: true,
-        initialWidth: 100
-    },
-    {
-        label: '杩囨湡搴撳瓨',
-        fieldName: 'overlimitCount',
-        hideDefaultActions: true,
-        initialWidth: 100
-    }
+  {
+    label: "瑙勬牸",
+    fieldName: "packing_list",
+    wrapText:true,
+    hideDefaultActions: true,
+  },
+  {
+    label: "鍗曚綅",
+    fieldName: "BoxPiece",
+    wrapText:true,
+    hideDefaultActions: true,
+  },
+  {
+    label: "娉ㄥ唽璇佺紪鐮佸彿",
+    fieldName: "approbation_No",
+    wrapText:true,
+    initialWidth : 180,
+    hideDefaultActions: true,
+  },
+  {
+    label: "娉ㄥ唽鏈夋晥鏈�",
+    fieldName: "expiration_Date",
+    wrapText:true,
+    hideDefaultActions: true,
+    initialWidth: 150
+  },
+  {
+    label: "CFDA鐘舵��",
+    fieldName: "SFDA_Status__c",
+    hideDefaultActions: true,
+    initialWidth: 100
+  },
+  {
+    label: "浣跨敤鏈熼檺",
+    fieldName: "guaranteeperiod",
+    hideDefaultActions: true,
+    initialWidth: 100
+  },
+  {
+    label: "鏈夋晥鏈熷唴搴撳瓨",
+    fieldName: "limitCount",
+    hideDefaultActions: true,
+    sortable: true,
+    initialWidth: 100
+  },
+  {
+    label: "杩囨湡搴撳瓨",
+    fieldName: "overlimitCount",
+    hideDefaultActions: true,
+    initialWidth: 100
+  }
 ];
 
-export default class LexinventoryViewLWC extends NavigationMixin(
-    LightningElement
-) {
-    @track pageRecords = [];
-    @track data = [];
-    @track message = '';
-    @track Name;
-    @track CategoryThree;
-    @track CategoryFour;
-    @track CategoryFive;
-    @track orderDetZaikuList = [];
-    @track accountName;
-    @track agencyProType;
-    @track userWorkLocation;
-    @track value = '';
-    @track showTable = false;
-    @track hidecheckboxcolumn = true;
-    @track check = false;
-    // @track options1 = [];
-    // @track options2 = [];
-    // @track options3 = [];
+export default class LexinventoryViewLWC extends NavigationMixin(LightningElement) {
+  //鍒嗛〉start
+  // @track sortBy = "";
+  // @track sortDirection = "asc";
+  // @track pageSize = 10;
+  // error;
+  // records;
+  // currentPageToken = 0;
+  // nextPageToken = this.pageSize;
+  // @track loader = false;
+  // @track pageNumber = 1;
+  // @track paginationVisibility = false;
+  // @track totalPages = 1;
+  // @api pageSizeOptions = [10, 25, 50, 75, 100];
+  //end
 
-    columns = columns;
-    defaultSortDirection = 'asc';
-    sortDirection = 'asc';
-    sortedBy;
+  @track data = [];
+  @track message = "";
+  @track Name;
+  @track CategoryThree;
+  @track CategoryFour;
+  @track CategoryFive;
+  @track orderDetZaikuList = [];
+  @track accountName;
+  @track agencyProType;
+  @track userWorkLocation;
+  @track value = "";
+  @track showTable = false;
+  @track hidecheckboxcolumn = true;
+  @track check = false;
+  //鍔犺浇
+  @track showSpinner = false;
 
-    //   columns = columns;
 
-    connectedCallback() {
-        oninit()
-            .then((result) => {
-                result = JSON.parse(JSON.stringify(result));
-                console.log('result.status = ' + result.status);
-                console.log('result = ' + JSON.stringify(result));
-                console.log('result 1= ' + JSON.stringify(result.entity));
-                console.log(
-                    'result 2= ' + JSON.stringify(result.entity.pageRecords)
-                );
-                console.log(
-                    'result.entity.categoryOptionMap 2= ' +
-                        JSON.stringify(result.entity.categoryOptionMap)
-                );
-                console.log(
-                    'result.entity.categoryOptionMap 2= ' +
-                        JSON.stringify(result.entity.category4OptionMap)
-                );
-                console.log(
-                    'result.entity.categoryOptionMap 2= ' +
-                        JSON.stringify(result.entity.category5OptionMap)
-                );
-                if (result.status == 'Success') {
-                    //   this.pageRecords = result.entity.pageRecords;
-                    this.data = result.entity.pageRecords;
-                    for (var i in this.data) {
-                        this.data[i]['Name__c'] = this.data[i].Prod.Name__c;
-                        this.data[i]['Category3__c'] =
-                            this.data[i].Prod.Category3__c;
-                        this.data[i]['Category4__c'] =
-                            this.data[i].Prod.Category3__c;
-                        this.data[i]['Category5__c'] =
-                            this.data[i].Prod.Category3__c;
-                        this.data[i]['SFDA_Status__c'] =
-                            this.data[i].Prod.SFDA_Status__c;
-                    }
-                    console.log();
-                    this.showTable = true;
-                    this.orderDetZaikuList = result.entity.orderDetZaikuList;
-                    this.accountName = result.entity.accountName;
-                    this.agencyProType = result.entity.agencyProType;
-                    this.userWorkLocation = result.entity.userWorkLocation;
-                    let option1ValueTemp = [];
-                    for (var key in result.entity.categoryOptionMap) {
-                        let object = {};
-                        object['label'] = result.entity.categoryOptionMap[key];
-                        object['value'] = key;
-                        option1ValueTemp.push(object);
-                    }
-                    this.options1 = option1ValueTemp;
-                    console.log(
-                        ' this.optionscatone===>' +
-                            JSON.stringify(this.optionscatone)
-                    );
-                    let option2ValueTemp = [];
-                    for (var key in result.entity.category4OptionMap) {
-                        let object = {};
-                        object['label'] = result.entity.category4OptionMap[key];
-                        object['value'] = key;
-                        option2ValueTemp.push(object);
-                    }
-                    this.options2 = option2ValueTemp;
-                    let option3ValueTemp = [];
-                    for (var key in result.entity.category5OptionMap) {
-                        let object = {};
-                        object['label'] = result.entity.category5OptionMap[key];
-                        object['value'] = key;
-                        option3ValueTemp.push(object);
-                    }
-                    this.options3 = option3ValueTemp;
+  columns = columns;
+  defaultSortDirection = "asc";
+  sortDirection = "asc";
+  sortedBy;
 
-                    console.log(' this.data=====>' + this.data);
+  //   columns = columns;
 
-                    console.log('this.accountName=====>' + this.accountName);
-
-                    console.log(
-                        'this.agencyProType=====>' + this.agencyProType
-                    );
-                    console.log(
-                        'this.userWorkLocationt=====>' + this.userWorkLocation
-                    );
-                    console.log(
-                        'orderDetZaikuList=====>' + this.orderDetZaikuList
-                    );
-                } else {
-                    console.log('Error:' + result.errorMsg);
-                    const evt = new ShowToastEvent({
-                        title: '瑙f瀽澶辫触',
-                        message: result.errorMsg,
-                        variant: 'error'
-                    });
-                    this.dispatchEvent(evt);
-                }
-            })
-            .catch((error) => {
-                console.log('error = ' + JSON.stringify(error));
-            });
-    }
-    sortBy(field, reverse, primer) {
-        const key = primer
-            ? function (x) {
-                  return primer(x[field]);
-              }
-            : function (x) {
-                  return x[field];
-              };
-
-        return function (a, b) {
-            a = key(a);
-            b = key(b);
-            return reverse * ((a > b) - (b > a));
-        };
-    }
-
-    onHandleSort(event) {
-        const { fieldName: sortedBy, sortDirection } = event.detail;
-        const cloneData = [...this.data];
-
-        cloneData.sort(this.sortBy(sortedBy, sortDirection === 'asc' ? 1 : -1));
-        this.data = cloneData;
-        this.sortDirection = sortDirection;
-        this.sortedBy = sortedBy;
-    }
-    handlePaginatorChange(event) {
-        this.recordsToDisplay = event.detail.recordsToDisplay;
-        this.preSelected = event.detail.preSelected;
-        if (this.recordsToDisplay && this.recordsToDisplay > 0) {
-            this.rowNumberOffset = this.recordsToDisplay[0].rowNumber - 1;
+  connectedCallback() {
+    console.log('zhj init')
+    // {
+    //   pageSizeLWC: this.pageSize,
+    //   pageTokenLWC: this.currentPageToken,
+    //   sortFieldLWC: this.sortBy,
+    //   sortOrderLWC: this.sortDirection
+    // }
+    oninit().then((result) => {
+        result = JSON.parse(JSON.stringify(result));
+        console.log("result.status = " + result.status);
+        console.log("result = " + JSON.stringify(result));
+        console.log("result 1= " + JSON.stringify(result.entity));
+        console.log("result 2= " + JSON.stringify(result.entity.pageRecords));
+        console.log("result.entity.categoryOptionMap 2= " +JSON.stringify(result.entity.categoryOptionMap));
+        console.log("result.entity.categoryOptionMap 2= " +JSON.stringify(result.entity.category4OptionMap));
+        console.log("result.entity.categoryOptionMap 2= " +JSON.stringify(result.entity.category5OptionMap));
+        if (result.status == "Success") {
+          this.data = result.entity.pageRecords;
+          for (var i in this.data) {
+            this.data[i]["Name__c"] = this.data[i].Prod.Name__c;
+            this.data[i]["Category3__c"] = this.data[i].Prod.Category3__c;
+            this.data[i]["Category4__c"] = this.data[i].Prod.Category3__c;
+            this.data[i]["Category5__c"] = this.data[i].Prod.Category3__c;
+            this.data[i]["SFDA_Status__c"] = this.data[i].Prod.SFDA_Status__c;
+          }
+          console.log();
+          this.showTable = true;
+          this.orderDetZaikuList = result.entity.orderDetZaikuList;
+          this.accountName = result.entity.accountName;
+          this.agencyProType = result.entity.agencyProType;
+          this.userWorkLocation = result.entity.userWorkLocation;
+          let option1ValueTemp = [];
+          for (var key in result.entity.categoryOptionMap) {
+            let object = {};
+            object['label'] = result.entity.categoryOptionMap[key];
+            object['value'] = key;
+            option1ValueTemp.push(object);            
+          }
+          this.options1 = option1ValueTemp;
+          console.log( ' this.optionscatone===>'+JSON.stringify(this.optionscatone));
+          let option2ValueTemp = [];
+          for (var key in result.entity.category4OptionMap) {
+            let object = {};
+            object["label"] = result.entity.category4OptionMap[key];
+            object["value"] = key;
+            option2ValueTemp.push(object);                       
+          }
+          this.options2 = option2ValueTemp;
+          let option3ValueTemp = [];
+          for (var key in result.entity.category5OptionMap) {
+            let object = {};
+            object["label"] = result.entity.category5OptionMap[key];
+            object["value"] = key;
+            option3ValueTemp.push(object);
+          }
+          this.options3 = option3ValueTemp;
         } else {
-            this.rowNumberOffset = 0;
+          console.log("Error:" + result.errorMsg);
+          const evt = new ShowToastEvent({
+            title: "瑙f瀽澶辫触",
+            message: result.errorMsg,
+            variant: "error"
+          });
+          this.dispatchEvent(evt);
         }
-    }
-
-    handleChange(event) {
-        let fieldName = event.target.getAttribute('data-field');
-        let value = event.detail.value;
-        console.log('======>fieldName' + fieldName);
-        console.log('======>value' + value);
-        switch (fieldName) {
-            case 'Name':
-                this.Name = value;
-                break;
-            case 'CategoryThree':
-                this.CategoryThree = value;
-                break;
-            case 'CategoryFour':
-                this.CategoryFour = value;
-                break;
-            case 'CategoryFive':
-                this.CategoryFive = value;
-                break;
-            default:
-                console.log('no data');
+      })
+      .catch((error) => {
+        console.log("error = " + JSON.stringify(error));
+      });
+  }
+  sortBy(field, reverse, primer) {
+    const key = primer
+      ? function (x) {
+          return primer(x[field]);
         }
-    }
+      : function (x) {
+          return x[field];
+        };
 
-    searchOrderDetail() {
-        this.showTable = false;
-        console.log('杩涘叆鎼滅储11111111111111');
-        console.log('杩涘叆鎼滅储');
-        console.log('this.CategoryThree = ' + this.CategoryThree);
-        console.log('this.CategoryFive = ' + this.CategoryFive);
-        searchOrder({
-            category1: this.Name,
-            Category3: this.CategoryThree,
-            Category4: this.CategoryFour,
-            Category5: this.CategoryFive,
-            orderDetZaikuListLWC: JSON.stringify(this.orderDetZaikuList),
-            accountName: this.accountName,
-            agencyProType: this.agencyProType,
-            userWorkLocation: this.userWorkLocation
-        })
-            .then((result) => {
-                result = JSON.parse(JSON.stringify(result));
-                console.log('result鎼滅储 = ' + JSON.stringify(result));
-                console.log(
-                    'result鎼滅储鍒楄〃= ' +
-                        JSON.stringify(result.entity.pageRecords)
-                );
-                if (result.status == 'Success') {
-                    const evt = new ShowToastEvent({
-                        title: '鎼滅储鎴愬姛',
-                        message: result.msg,
-                        variant: 'Success'
-                    });
-                    this.dispatchEvent(evt);
-                    this.data = result.entity.pageRecords;
-                    this.showTable = true;
-                } else {
-                    const evt = new ShowToastEvent({
-                        title: '',
-                        message: result.msg,
-                        variant: 'Success'
-                    });
-                    this.dispatchEvent(evt);
-                    this.pageRecords = [];
-                    console.log('  this.data===>= ' + this.pageRecords);
-                }
-            })
-            .catch((error) => {
-                console.log('error = ' + JSON.stringify(error));
-            });
-    }
+    return function (a, b) {
+      a = key(a);
+      b = key(b);
+      return reverse * ((a > b) - (b > a));
+    };
+  }
 
-    inventoryCount() {
-        console.log('111搴撳瓨鐩樼偣');
-        this[NavigationMixin.Navigate]({
-            type: 'standard__webPage',
-            attributes: {
-                url: '/lexInventoryCount'
-            }
-        });
-    }
+  onHandleSort(event) {
+    const { fieldName: sortedBy, sortDirection } = event.detail;
+    const cloneData = [...this.data];
 
-    handleExpired() {
-        this[NavigationMixin.Navigate]({
-            type: 'standard__webPage',
-            attributes: {
-                url: '/lexOverdueStock'
-            }
-        });
+    cloneData.sort(this.sortBy(sortedBy, sortDirection === "asc" ? 1 : -1));
+    this.data = cloneData;
+    this.sortDirection = sortDirection;
+    this.sortedBy = sortedBy;
+  }
+  handlePaginatorChange(event) {
+    this.recordsToDisplay = event.detail.recordsToDisplay;
+    this.preSelected = event.detail.preSelected;
+    if (this.recordsToDisplay && this.recordsToDisplay > 0) {
+      this.rowNumberOffset = this.recordsToDisplay[0].rowNumber - 1;
+    } else {
+      this.rowNumberOffset = 0;
     }
+  }
 
-    clearAll() {
-        this.Name = '';
-        this.value = '鏃�';
-        this.template.querySelectorAll('lightning-combobox').forEach((each) => {
-            each.value = null;
-        });
+  handleChange(event) {
+    let fieldName = event.target.getAttribute("data-field");
+    let value = event.detail.value;
+    console.log("======>fieldName" + fieldName);
+    console.log("======>value" + value);
+    switch (fieldName) {
+      case "Name":
+        this.Name = value;
+        break;
+      case "CategoryThree":
+        this.CategoryThree = value;
+        break;
+      case "CategoryFour":
+        this.CategoryFour = value;
+        break;
+      case "CategoryFive":
+        this.CategoryFive = value;
+        break;
+      default:
+        console.log("no data");
     }
+  }
+
+  searchOrderDetail() {
+    this.showTable = false;
+    this.showSpinner = true;
+    console.log("杩涘叆鎼滅储11111111111111");
+    console.log("杩涘叆鎼滅储");
+    console.log("this.CategoryThree = " + this.CategoryThree);
+    console.log("this.CategoryFive = " + this.CategoryFive);
+    searchOrder({
+      category1: this.Name,
+      Category3: this.CategoryThree,
+      Category4: this.CategoryFour,
+      Category5: this.CategoryFive,
+      orderDetZaikuListLWC: JSON.stringify(this.orderDetZaikuList),
+      accountName: this.accountName,
+      agencyProType: this.agencyProType,
+      userWorkLocation: this.userWorkLocation
+    })
+      .then((result) => {
+        result = JSON.parse(JSON.stringify(result));
+        console.log("result鎼滅储 = " + JSON.stringify(result));
+        console.log("result鎼滅储鍒楄〃= " + JSON.stringify(result.entity.pageRecords));
+        if (result.status == "Success") {
+          const evt = new ShowToastEvent({
+            title: "鎼滅储鎴愬姛",
+            message: result.msg,
+            variant: "Success"
+          });
+          this.dispatchEvent(evt);
+          this.data = result.entity.pageRecords;
+          for (var i in this.data) {
+            this.data[i]["Name__c"] = this.data[i].Prod.Name__c;
+            this.data[i]["Category3__c"] = this.data[i].Prod.Category3__c;
+            this.data[i]["Category4__c"] = this.data[i].Prod.Category3__c;
+            this.data[i]["Category5__c"] = this.data[i].Prod.Category3__c;
+            this.data[i]["SFDA_Status__c"] = this.data[i].Prod.SFDA_Status__c;
+          }
+
+          this.showTable = true;
+          this.showSpinner = false;
+        } else {
+          const evt = new ShowToastEvent({
+            title: "",
+            message: result.msg,
+            variant: "Success"
+          });
+          this.dispatchEvent(evt);
+        }
+      })
+      .catch((error) => {
+        console.log("error = " + JSON.stringify(error));
+      });
+  }
+
+  inventoryCount(){
+    console.log('111搴撳瓨鐩樼偣');
+    this[NavigationMixin.Navigate]({
+      type: 'standard__webPage',
+      attributes: {
+          url: '/lexInventoryCount'
+      }
+  });
 }
+
+handleExpired(){
+  console.log('杩囨湡搴撳瓨鍛㈤攢瀛�');
+    this[NavigationMixin.Navigate]({
+      type: 'standard__webPage',
+      attributes: {
+          url:'/lexoverdueStock'
+      }
+  });
+
+  }
+  removeBox(){
+    this[NavigationMixin.Navigate]({
+      type: 'standard__webPage',
+      attributes: {
+          url:'/lexremovebox'
+      }
+  });
+
+  }
+  cancelremoveBox(){
+    this[NavigationMixin.Navigate]({
+      type: 'standard__webPage',
+      attributes: {
+          url:'/lexCancelRemoveBox'
+      }
+  });
+
+  }
+
+  clearAll() {
+    this.showSpinner = true;
+    this.showTable = false;
+    this.Name = '';
+    this.CategoryThree = '';
+    this.CategoryFour = '';
+    this.CategoryFive = '';
+    this.template.querySelectorAll("lightning-combobox").forEach((each) => {
+      each.value = null;
+    });
+    console.log(' this.CategoryThree'+ this.CategoryThree);
+    console.log('鏁版嵁鍒楄〃'+this.data);
+    searchOrder({
+      category1: this.Name,
+      Category3: this.CategoryThree,
+      Category4: this.CategoryFour,
+      Category5: this.CategoryFive,
+      orderDetZaikuListLWC: JSON.stringify(this.orderDetZaikuList),
+      accountName: this.accountName,
+      agencyProType: this.agencyProType,
+      userWorkLocation: this.userWorkLocation
+    })
+      .then((result) => {
+        console.log("result鎼滅储 = " + JSON.stringify(result));
+        result = JSON.parse(JSON.stringify(result));
+        if (result.status == "Success") {
+          this.data = result.entity.pageRecords;
+      
+          for (var i in this.data) {
+            this.data[i]["Name__c"] = this.data[i].Prod.Name__c;
+            this.data[i]["Category3__c"] = this.data[i].Prod.Category3__c;
+            this.data[i]["Category4__c"] = this.data[i].Prod.Category3__c;
+            this.data[i]["Category5__c"] = this.data[i].Prod.Category3__c;
+            this.data[i]["SFDA_Status__c"] = this.data[i].Prod.SFDA_Status__c;
+          }
+          this.showSpinner = false;
+          this.showTable = true;
+          const evt = new ShowToastEvent({
+            title: "鎼滅储鎴愬姛",
+            message: result.msg,
+            variant: "Success"
+          });
+          this.dispatchEvent(evt);
+          this.showSpinner = false;
+        } else {
+          const evt = new ShowToastEvent({
+            title: "",
+            message: result.msg,
+            variant: "Success"
+          });
+          this.dispatchEvent(evt);
+        }
+      })
+      .catch((error) => {
+        console.log("error = " + JSON.stringify(error));
+      });
+  }
+
+  
+
+
+
+
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/listInfiniteScrolling/listInfiniteScrolling.css b/force-app/main/default/lwc/listInfiniteScrolling/listInfiniteScrolling.css
new file mode 100644
index 0000000..3e6b5c2
--- /dev/null
+++ b/force-app/main/default/lwc/listInfiniteScrolling/listInfiniteScrolling.css
@@ -0,0 +1,3 @@
+.table-container {
+    height: 150px;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/listInfiniteScrolling/listInfiniteScrolling.html b/force-app/main/default/lwc/listInfiniteScrolling/listInfiniteScrolling.html
new file mode 100644
index 0000000..97b5510
--- /dev/null
+++ b/force-app/main/default/lwc/listInfiniteScrolling/listInfiniteScrolling.html
@@ -0,0 +1,17 @@
+<template>
+    <template if:true={records}>
+        <div class="table-container">
+            <lightning-datatable
+                key-field="id"
+                data={records}
+                columns={columns}
+                enable-infinite-loading
+                onloadmore={loadMoreData}
+            >
+            </lightning-datatable>
+        </div>
+    </template>
+    <template if:true={error}>
+        <c-error-panel errors={error}></c-error-panel>
+    </template>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/listInfiniteScrolling/listInfiniteScrolling.js b/force-app/main/default/lwc/listInfiniteScrolling/listInfiniteScrolling.js
new file mode 100644
index 0000000..d27d299
--- /dev/null
+++ b/force-app/main/default/lwc/listInfiniteScrolling/listInfiniteScrolling.js
@@ -0,0 +1,54 @@
+import { LightningElement, wire } from 'lwc';
+import getAccountsPaginated from '@salesforce/apex/PaginatedListControllerLwc.getAccountsPaginated';
+import ACCOUNT_NAME_FIELD from '@salesforce/schema/Account.Name';
+import ACCOUNT_TYPE_FIELD from '@salesforce/schema/Account.Type';
+import ACCOUNT_PHONE_FIELD from '@salesforce/schema/Account.Phone';
+import ACCOUNT_EMPLOYEES_FIELD from '@salesforce/schema/Account.NumberOfEmployees';
+
+const COLUMNS = [
+    {
+        label: 'Account Name',
+        fieldName: ACCOUNT_NAME_FIELD.fieldApiName,
+        type: 'text'
+    },
+    { label: 'Type', fieldName: ACCOUNT_TYPE_FIELD.fieldApiName, type: 'text' },
+    {
+        label: 'Phone',
+        fieldName: ACCOUNT_PHONE_FIELD.fieldApiName,
+        type: 'phone'
+    },
+    {
+        label: 'Employees',
+        fieldName: ACCOUNT_EMPLOYEES_FIELD.fieldApiName,
+        type: 'number'
+    }
+];
+const PAGE_SIZE = 5;
+
+export default class ListInfiniteScrolling extends LightningElement {
+    columns = COLUMNS;
+    error;
+    records = [];
+    _currentPageToken = 0;
+    _nextPageToken = PAGE_SIZE;
+
+    @wire(getAccountsPaginated, {
+        pageSize: PAGE_SIZE,
+        pageToken: '$_currentPageToken'
+    })
+    wiredAccounts({ data, error }) {
+        if (data) {
+            this.records = this.records.concat(data.records);
+            this._nextPageToken = data.nextPageToken;
+        } else if (error) {
+            this.records = null;
+            this.error = error;
+        }
+    }
+
+    loadMoreData() {
+        if (this._nextPageToken) {
+            this._currentPageToken = this._nextPageToken;
+        }
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/listInfiniteScrolling/listInfiniteScrolling.js-meta.xml b/force-app/main/default/lwc/listInfiniteScrolling/listInfiniteScrolling.js-meta.xml
new file mode 100644
index 0000000..b9a3113
--- /dev/null
+++ b/force-app/main/default/lwc/listInfiniteScrolling/listInfiniteScrolling.js-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>false</isExposed>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/listInfiniteScrollingWrapper/listInfiniteScrollingWrapper.html b/force-app/main/default/lwc/listInfiniteScrollingWrapper/listInfiniteScrollingWrapper.html
new file mode 100644
index 0000000..c33083d
--- /dev/null
+++ b/force-app/main/default/lwc/listInfiniteScrollingWrapper/listInfiniteScrollingWrapper.html
@@ -0,0 +1,18 @@
+<template>
+    <c-example-wrapper
+        icon-name="custom:custom62"
+        lwc="listInfiniteScrolling"
+        title="Infinite Scrolled List"
+        visualforce="paginatedList"
+        visualforce-height="190px"
+    >
+        <c-list-infinite-scrolling slot="lwc"></c-list-infinite-scrolling>
+
+        <!-- prettier-ignore -->
+        <p>
+            Use <a target="_blank" href="https://developer.salesforce.com/docs/component-library/bundle/lightning-datatable">
+            lightning-datatable</a> with infinite scrolling to replace an apex:pageBlockTable with
+            pagination. Infinite scrolling gives a better User Experience in most of the cases.
+        </p>
+    </c-example-wrapper>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/listInfiniteScrollingWrapper/listInfiniteScrollingWrapper.js b/force-app/main/default/lwc/listInfiniteScrollingWrapper/listInfiniteScrollingWrapper.js
new file mode 100644
index 0000000..4e1b675
--- /dev/null
+++ b/force-app/main/default/lwc/listInfiniteScrollingWrapper/listInfiniteScrollingWrapper.js
@@ -0,0 +1,3 @@
+import { LightningElement } from 'lwc';
+
+export default class ListInfiniteScrollingWrapper extends LightningElement {}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/listInfiniteScrollingWrapper/listInfiniteScrollingWrapper.js-meta.xml b/force-app/main/default/lwc/listInfiniteScrollingWrapper/listInfiniteScrollingWrapper.js-meta.xml
new file mode 100644
index 0000000..6646900
--- /dev/null
+++ b/force-app/main/default/lwc/listInfiniteScrollingWrapper/listInfiniteScrollingWrapper.js-meta.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightning__AppPage</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/listRecordLinks/__mocks__/listRecordLinks.js b/force-app/main/default/lwc/listRecordLinks/__mocks__/listRecordLinks.js
new file mode 100644
index 0000000..d17e677
--- /dev/null
+++ b/force-app/main/default/lwc/listRecordLinks/__mocks__/listRecordLinks.js
@@ -0,0 +1,3 @@
+import { LightningElement } from 'lwc';
+
+export default class ListRecordLinks extends LightningElement {}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/listRecordLinks/listRecordLinks.css b/force-app/main/default/lwc/listRecordLinks/listRecordLinks.css
new file mode 100644
index 0000000..4b57e95
--- /dev/null
+++ b/force-app/main/default/lwc/listRecordLinks/listRecordLinks.css
@@ -0,0 +1,3 @@
+.table-container {
+    height: var(--lwc-sizeMedium, 320px);
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/listRecordLinks/listRecordLinks.html b/force-app/main/default/lwc/listRecordLinks/listRecordLinks.html
new file mode 100644
index 0000000..8a67af1
--- /dev/null
+++ b/force-app/main/default/lwc/listRecordLinks/listRecordLinks.html
@@ -0,0 +1,15 @@
+<template>
+    <template if:true={accounts.data}>
+        <div class="table-container">
+            <c-datatable-with-custom-types
+                key-field="Id"
+                data={accounts.data}
+                columns={columns}
+            >
+            </c-datatable-with-custom-types>
+        </div>
+    </template>
+    <template if:true={accounts.error}>
+        <c-error-panel errors={accounts.error}></c-error-panel>
+    </template>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/listRecordLinks/listRecordLinks.js b/force-app/main/default/lwc/listRecordLinks/listRecordLinks.js
new file mode 100644
index 0000000..b3fc5db
--- /dev/null
+++ b/force-app/main/default/lwc/listRecordLinks/listRecordLinks.js
@@ -0,0 +1,37 @@
+import { LightningElement, wire } from 'lwc';
+import { NavigationMixin } from 'lightning/navigation';
+import getAccounts from '@salesforce/apex/ListControllerLwc.getAccounts';
+import ACCOUNT_ID_FIELD from '@salesforce/schema/Account.Id';
+import ACCOUNT_NAME_FIELD from '@salesforce/schema/Account.Name';
+import ACCOUNT_TYPE_FIELD from '@salesforce/schema/Account.Type';
+import ACCOUNT_PHONE_FIELD from '@salesforce/schema/Account.Phone';
+import ACCOUNT_EMPLOYEES_FIELD from '@salesforce/schema/Account.NumberOfEmployees';
+
+const COLUMNS = [
+    {
+        label: 'Account Name',
+        type: 'navigateToRecord',
+        fieldName: ACCOUNT_ID_FIELD.fieldApiName,
+        typeAttributes: {
+            label: { fieldName: ACCOUNT_NAME_FIELD.fieldApiName }
+        }
+    },
+    { label: 'Type', fieldName: ACCOUNT_TYPE_FIELD.fieldApiName, type: 'text' },
+    {
+        label: 'Phone',
+        fieldName: ACCOUNT_PHONE_FIELD.fieldApiName,
+        type: 'phone'
+    },
+    {
+        label: 'Employees',
+        fieldName: ACCOUNT_EMPLOYEES_FIELD.fieldApiName,
+        type: 'number'
+    }
+];
+
+export default class ListRecordLinks extends NavigationMixin(LightningElement) {
+    columns = COLUMNS;
+
+    @wire(getAccounts)
+    accounts;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/listRecordLinks/listRecordLinks.js-meta.xml b/force-app/main/default/lwc/listRecordLinks/listRecordLinks.js-meta.xml
new file mode 100644
index 0000000..b9a3113
--- /dev/null
+++ b/force-app/main/default/lwc/listRecordLinks/listRecordLinks.js-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>false</isExposed>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/listRecordLinksWrapper/listRecordLinksWrapper.html b/force-app/main/default/lwc/listRecordLinksWrapper/listRecordLinksWrapper.html
new file mode 100644
index 0000000..d7f8ad1
--- /dev/null
+++ b/force-app/main/default/lwc/listRecordLinksWrapper/listRecordLinksWrapper.html
@@ -0,0 +1,17 @@
+<template>
+    <c-example-wrapper
+        icon-name="custom:custom62"
+        lwc="listRecordLinks"
+        title="List with Record Links"
+        visualforce="listRecordLinks"
+        visualforce-height="285px"
+    >
+        <c-list-record-links slot="lwc"></c-list-record-links>
+
+        <!-- prettier-ignore -->
+        <p>
+            Use <a target="_blank" href="https://developer.salesforce.com/docs/component-library/bundle/lightning-datatable">
+            lightning-datatable</a> with a custom type column to create record hyperlinks.
+        </p>
+    </c-example-wrapper>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/listRecordLinksWrapper/listRecordLinksWrapper.js b/force-app/main/default/lwc/listRecordLinksWrapper/listRecordLinksWrapper.js
new file mode 100644
index 0000000..d991a41
--- /dev/null
+++ b/force-app/main/default/lwc/listRecordLinksWrapper/listRecordLinksWrapper.js
@@ -0,0 +1,3 @@
+import { LightningElement } from 'lwc';
+
+export default class ListRecordLinksWrapper extends LightningElement {}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/listRecordLinksWrapper/listRecordLinksWrapper.js-meta.xml b/force-app/main/default/lwc/listRecordLinksWrapper/listRecordLinksWrapper.js-meta.xml
new file mode 100644
index 0000000..6646900
--- /dev/null
+++ b/force-app/main/default/lwc/listRecordLinksWrapper/listRecordLinksWrapper.js-meta.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightning__AppPage</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/listWithParentRecordData/__mocks__/listWithParentRecordData.js b/force-app/main/default/lwc/listWithParentRecordData/__mocks__/listWithParentRecordData.js
new file mode 100644
index 0000000..f67815f
--- /dev/null
+++ b/force-app/main/default/lwc/listWithParentRecordData/__mocks__/listWithParentRecordData.js
@@ -0,0 +1,3 @@
+import { LightningElement } from 'lwc';
+
+export default class ListWithParentRecordData extends LightningElement {}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/listWithParentRecordData/listWithParentRecordData.css b/force-app/main/default/lwc/listWithParentRecordData/listWithParentRecordData.css
new file mode 100644
index 0000000..4b57e95
--- /dev/null
+++ b/force-app/main/default/lwc/listWithParentRecordData/listWithParentRecordData.css
@@ -0,0 +1,3 @@
+.table-container {
+    height: var(--lwc-sizeMedium, 320px);
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/listWithParentRecordData/listWithParentRecordData.html b/force-app/main/default/lwc/listWithParentRecordData/listWithParentRecordData.html
new file mode 100644
index 0000000..8d5a9c4
--- /dev/null
+++ b/force-app/main/default/lwc/listWithParentRecordData/listWithParentRecordData.html
@@ -0,0 +1,15 @@
+<template>
+    <template if:true={accounts.data}>
+        <div class="table-container">
+            <lightning-datatable
+                key-field="id"
+                data={formattedAccounts}
+                columns={columns}
+            >
+            </lightning-datatable>
+        </div>
+    </template>
+    <template if:true={accounts.error}>
+        <c-error-panel errors={accounts.error}></c-error-panel>
+    </template>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/listWithParentRecordData/listWithParentRecordData.js b/force-app/main/default/lwc/listWithParentRecordData/listWithParentRecordData.js
new file mode 100644
index 0000000..a71fbde
--- /dev/null
+++ b/force-app/main/default/lwc/listWithParentRecordData/listWithParentRecordData.js
@@ -0,0 +1,38 @@
+import { LightningElement, wire } from 'lwc';
+import { formatApexSObjects } from 'c/apexUtils';
+import getAccounts from '@salesforce/apex/ListWithParentRecordDataControllerLwc.getAccounts';
+import ACCOUNT_NAME_FIELD from '@salesforce/schema/Account.Name';
+import ACCOUNT_TYPE_FIELD from '@salesforce/schema/Account.Type';
+import ACCOUNT_PHONE_FIELD from '@salesforce/schema/Account.Phone';
+import ACCOUNT_OWNER_NAME_FIELD from '@salesforce/schema/Account.Owner.Name';
+
+const COLUMNS = [
+    {
+        label: 'Account Name',
+        fieldName: ACCOUNT_NAME_FIELD.fieldApiName,
+        type: 'text'
+    },
+    { label: 'Type', fieldName: ACCOUNT_TYPE_FIELD.fieldApiName, type: 'text' },
+    {
+        label: 'Phone',
+        fieldName: ACCOUNT_PHONE_FIELD.fieldApiName,
+        type: 'phone'
+    },
+    {
+        label: 'Owner Name',
+        fieldName: ACCOUNT_OWNER_NAME_FIELD.fieldApiName,
+        type: 'text'
+    }
+];
+
+export default class ListWithParentRecordData extends LightningElement {
+    columns = COLUMNS;
+
+    @wire(getAccounts)
+    accounts;
+
+    // Needed only when bringing parent records data
+    get formattedAccounts() {
+        return this.accounts.data ? formatApexSObjects(this.accounts.data) : [];
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/listWithParentRecordData/listWithParentRecordData.js-meta.xml b/force-app/main/default/lwc/listWithParentRecordData/listWithParentRecordData.js-meta.xml
new file mode 100644
index 0000000..b9a3113
--- /dev/null
+++ b/force-app/main/default/lwc/listWithParentRecordData/listWithParentRecordData.js-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>false</isExposed>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/listWithParentRecordDataWrapper/listWithParentRecordDataWrapper.html b/force-app/main/default/lwc/listWithParentRecordDataWrapper/listWithParentRecordDataWrapper.html
new file mode 100644
index 0000000..f68bb54
--- /dev/null
+++ b/force-app/main/default/lwc/listWithParentRecordDataWrapper/listWithParentRecordDataWrapper.html
@@ -0,0 +1,19 @@
+<template>
+    <c-example-wrapper
+        icon-name="custom:custom62"
+        lwc="listWithParentRecordData"
+        title="List with Parent Record Data"
+        visualforce="listWithParentRecordData"
+        visualforce-height="285px"
+    >
+        <c-list-with-parent-record-data
+            slot="lwc"
+        ></c-list-with-parent-record-data>
+
+        <!-- prettier-ignore -->
+        <p>
+            Include parent record data on a <a target="_blank" href="https://developer.salesforce.com/docs/component-library/bundle/lightning-datatable">
+            lightning-datatable</a> by using spanning fields in Apex and transforming the result to lightning-datatable expected format.
+        </p>
+    </c-example-wrapper>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/listWithParentRecordDataWrapper/listWithParentRecordDataWrapper.js b/force-app/main/default/lwc/listWithParentRecordDataWrapper/listWithParentRecordDataWrapper.js
new file mode 100644
index 0000000..181a303
--- /dev/null
+++ b/force-app/main/default/lwc/listWithParentRecordDataWrapper/listWithParentRecordDataWrapper.js
@@ -0,0 +1,3 @@
+import { LightningElement } from 'lwc';
+
+export default class ListWithParentRecordDataWrapper extends LightningElement {}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/listWithParentRecordDataWrapper/listWithParentRecordDataWrapper.js-meta.xml b/force-app/main/default/lwc/listWithParentRecordDataWrapper/listWithParentRecordDataWrapper.js-meta.xml
new file mode 100644
index 0000000..6646900
--- /dev/null
+++ b/force-app/main/default/lwc/listWithParentRecordDataWrapper/listWithParentRecordDataWrapper.js-meta.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightning__AppPage</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/ll/ll.html b/force-app/main/default/lwc/ll/ll.html
new file mode 100644
index 0000000..af9fa97
--- /dev/null
+++ b/force-app/main/default/lwc/ll/ll.html
@@ -0,0 +1,3 @@
+<template>
+
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/ll/ll.js b/force-app/main/default/lwc/ll/ll.js
new file mode 100644
index 0000000..3cc1b8d
--- /dev/null
+++ b/force-app/main/default/lwc/ll/ll.js
@@ -0,0 +1,5 @@
+import { LightningElement, track, wire } from 'lwc';
+
+export default class ll extends LightningElement {
+
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/ll/ll.js-meta.xml b/force-app/main/default/lwc/ll/ll.js-meta.xml
new file mode 100644
index 0000000..f4752da
--- /dev/null
+++ b/force-app/main/default/lwc/ll/ll.js-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="ll">
+    <apiVersion>51.0</apiVersion>
+    <isExposed>true</isExposed>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/loanerArrangedEmailLWC/loanerArrangedEmailLWC.css b/force-app/main/default/lwc/loanerArrangedEmailLWC/loanerArrangedEmailLWC.css
new file mode 100644
index 0000000..af18c76
--- /dev/null
+++ b/force-app/main/default/lwc/loanerArrangedEmailLWC/loanerArrangedEmailLWC.css
@@ -0,0 +1,11 @@
+.Holder{
+	position: relative;
+	display: inline-block;
+	width: 80px;
+	height: 80px;
+	text-align: center;
+}
+
+.container .uiContainerManager{
+	display : none !important;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/loanerArrangedEmailLWC/loanerArrangedEmailLWC.html b/force-app/main/default/lwc/loanerArrangedEmailLWC/loanerArrangedEmailLWC.html
new file mode 100644
index 0000000..bf9cadc
--- /dev/null
+++ b/force-app/main/default/lwc/loanerArrangedEmailLWC/loanerArrangedEmailLWC.html
@@ -0,0 +1,5 @@
+<template>
+    <div class="Holder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/loanerArrangedEmailLWC/loanerArrangedEmailLWC.js b/force-app/main/default/lwc/loanerArrangedEmailLWC/loanerArrangedEmailLWC.js
new file mode 100644
index 0000000..bf2ac0c
--- /dev/null
+++ b/force-app/main/default/lwc/loanerArrangedEmailLWC/loanerArrangedEmailLWC.js
@@ -0,0 +1,258 @@
+import { LightningElement,api, track, wire } from 'lwc';
+import {CurrentPageReference} from 'lightning/navigation';
+import { CloseActionScreenEvent } from 'lightning/actions';
+import init from '@salesforce/apex/SelectSubstituteControllerLWT.initFromLoanerArrangedEmailLButton';
+import selectRentalApplyCByName from '@salesforce/apex/SelectSubstituteControllerLWT.selectRentalApplyCByName';
+import selectRaesById1 from '@salesforce/apex/SelectSubstituteControllerLWT.selectRaesById1';
+import selectRaesById2 from '@salesforce/apex/SelectSubstituteControllerLWT.selectRaesById2';
+import getSessionId from '@salesforce/apex/SelectSubstituteControllerLWT.getSessionId';
+import approvalCheck from '@salesforce/apex/SelectSubstituteControllerLWT.approvalCheck';
+import setShipment_requests from '@salesforce/apex/SelectSubstituteControllerLWT.setShipment_requests';
+// import { label } from '@salesforce/label';
+import STATUS_PROCESS_STATE from '@salesforce/label/c.StatusProcessState';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+export default class loanerArrangedEmailLWC extends LightningElement {
+
+	@api recordId;
+    id;
+    RentalApplyC;
+    Status;
+    Wei_Assigned_Cnt__c;
+    Bollow_Date__c;
+    Assigned_Not_Shipment__c;
+    IsLoading=true;
+    @track statusStringg = STATUS_PROCESS_STATE;
+    @wire(CurrentPageReference)
+	getStateParameters(currentPageReference){
+		console.log("杩涘叆椤甸潰");
+		console.log(currentPageReference);
+		if(currentPageReference){
+			const urvalue=currentPageReference.state.recordId;
+			if(urvalue){
+				let str=`${urvalue}`;
+				console.log('str');
+				console.log(str);
+				this.recordId=str;
+			}
+		}
+	}
+
+
+
+	connectedCallback(){
+		console.log(this.recordId);
+		init({recordId:this.recordId}).then(result=>{
+			console.log(result);
+			if(result!=null){
+				this.id=result.id;
+			    this.RentalApplyC=result.RentalApplyC;
+			    this.Status=result.Status;
+			    this.Wei_Assigned_Cnt__c=result.WeiAssignedCntC;
+	            this.Bollow_Date__c=result.BollowDateC;
+	            this.Assigned_Not_Shipment__c=result.AssignedNotShipmentC;
+				this.cancelSubmit().then(res=>{
+					this.IsLoading=false;
+					this.dispatchEvent(new CloseActionScreenEvent());
+				});	
+			}
+		}).catch(err=>{
+			console.log("error:");
+			console.log(err);
+		}).finally(()=>{
+
+		});
+	}
+
+
+ 
+    async cancelSubmit(){
+		let campaignStatus = '';
+		let records = null; // 20220217 ljh OBPM甯傚満娲诲姩鑱斿姩
+		console.log("Ff");
+		let statusSting = "{!$Label.StatusProcessState}"; // 20220322 ljh add
+		let statusList = statusSting.split(',');
+		console.log(statusSting);
+		console.log(statusList);
+		console.log(this.statusStringg);
+		let raliveryGood;
+		await selectRentalApplyCByName({recordId:this.RentalApplyC})
+		.then(res=>{
+			console.log(res);
+			if (res!=null) {
+				raliveryGood=res;
+			}
+		}).catch(err=>{
+			console.log("selectRentalApplyCByName err:")
+			console.log(err.message);
+		});
+		console.log(statusSting);
+		console.log(raliveryGood);
+		console.log("ddd");
+		let RentalApply = raliveryGood[0];
+		console.log(RentalApply);
+
+		if(RentalApply.Campaign__c != null&&RentalApply.Campaign__c != '' ) {
+			console.log();
+			let DeliveryGood;
+			// 20220217 ljh update OBPM甯傚満娲诲姩鑱斿姩 start
+			// DeliveryGood = sforce.connection.query("select Status, Rental_Apply_Flag__c from Campaign where id ='" + RentalApply.Campaign__c + "'");
+			// let records= DeliveryGood.getArray("records");
+			await selectCampaignById({recordId:RentalApply.Campaign__c}).then(res=>{
+				console.log(res);
+				DeliveryGood=res;
+			});
+			console.log(RentalApply);
+			records = DeliveryGood;
+			console.log(DeliveryGood);
+			// 20220217 ljh update OBPM甯傚満娲诲姩鑱斿姩 end
+
+			campaignStatus = records[0].Status;
+			console.log("hh3");
+		}
+		if(this.Wei_Assigned_Cnt__c > "0") {
+			// alert("鐢宠鍗曞唴瀛樺湪鏈垎閰嶇殑閰嶅锛岃鍒嗛厤澶囧搧鎴栧垎鍓茬敵璇峰崟");
+			const event = new ShowToastEvent({
+	            title: '鎻愮ず淇℃伅',
+	            message:"鐢宠鍗曞唴瀛樺湪鏈垎閰嶇殑閰嶅锛岃鍒嗛厤澶囧搧鎴栧垎鍓茬敵璇峰崟"
+            });
+        	this.dispatchEvent(event);
+		}else if(campaignStatus == '鍙栨秷'){
+			// alert("瀛︿細鍙栨秷锛屼笉鍙嚭搴撴寚绀�");
+			const event = new ShowToastEvent({
+	            title: '鎻愮ず淇℃伅',
+	            message:"瀛︿細鍙栨秷锛屼笉鍙嚭搴撴寚绀�"
+            });
+        	this.dispatchEvent(event);
+		}else if (this.Assigned_Not_Shipment__c == "0") {
+			// alert("娌℃湁鍙互鍑哄簱鎸囩ず鐨勬槑缁�");
+			const event = new ShowToastEvent({
+	            title: '鎻愮ず淇℃伅',
+	            message:"娌℃湁鍙互鍑哄簱鎸囩ず鐨勬槑缁�"
+            });
+        	this.dispatchEvent(event);
+		} else if (RentalApply.Demo_purpose1__c == "闀挎湡鍊熷嚭" && RentalApply.Contract_pdf_updated__c == "0") {
+			// alert("闀挎湡鍊熷嚭鏃讹紝蹇呴』鍏堜笂浼犲绾︿功");
+			const event = new ShowToastEvent({
+	            title: '鎻愮ず淇℃伅',
+	            message:"闀挎湡鍊熷嚭鏃讹紝蹇呴』鍏堜笂浼犲绾︿功"
+            });
+        	this.dispatchEvent(event);
+		} else if(RentalApply.Repair__c != '' && RentalApply.Repair__c != null && (RentalApply.Repair_Final_Inspection_Date_F__c != null && RentalApply.Repair_Final_Inspection_Date_F__c != '') || (RentalApply.RC_return_to_office__c != null && RentalApply.RC_return_to_office__c != '')) {
+			// alert("淇悊鏈夋渶缁堟娴嬫棩鎴栦慨鐞嗗搧杩旈�佹棩锛屼笉鍙嚭搴撴寚绀�");
+			const event = new ShowToastEvent({
+	            title: '鎻愮ず淇℃伅',
+	            message:"淇悊鏈夋渶缁堟娴嬫棩鎴栦慨鐞嗗搧杩旈�佹棩锛屼笉鍙嚭搴撴寚绀�"
+            });
+        	this.dispatchEvent(event);
+		// 20220217 ljh add OBPM甯傚満娲诲姩鑱斿姩 start
+		} else if (records != null && records[0].IF_Approved__c == "true" && (records[0].Meeting_Approved_No__c == null || records[0].Meeting_Approved_No__c == "") ) {
+			// alert("娌℃湁鍐宠鍙风殑锛屾殏涓嶈兘鍑哄��,璇锋洿鏂拌鍐充俊鎭��");
+			const event = new ShowToastEvent({
+	            title: '鎻愮ず淇℃伅',
+	            message:"娌℃湁鍐宠鍙风殑锛屾殏涓嶈兘鍑哄��,璇锋洿鏂拌鍐充俊鎭��"
+            });
+        	this.dispatchEvent(event);
+		} else if (records != null && records[0].IF_Approved__c == "true" && records[0].Meeting_Approved_No__c != "" && statusList.indexOf(records[0].Approved_Status__c) != -1 ) {
+			// alert("宸茬敵璇峰喅瑁佷絾鍐宠鐘舵�佷笉绗﹀悎鏉′欢銆�");
+			const event = new ShowToastEvent({
+	            title: '鎻愮ず淇℃伅',
+	            message:"宸茬敵璇峰喅瑁佷絾鍐宠鐘舵�佷笉绗﹀悎鏉′欢銆�"
+            });
+        	this.dispatchEvent(event);
+		// 20220217 ljh add OBPM甯傚満娲诲姩鑱斿姩 end
+		} else {
+			console.log("hhhh3");
+			let t=await getSessionId();
+			console.log(t);
+			window.sforce = window.sforce || {};
+        	window.sforce.connection = window.sforce.connection || {};
+        	window.sforce.connection.sessionId =t;
+			//154p 1388 yc 20211020
+			console.log("hhhh4");
+			let raid = RentalApply.Id+";"+this.id;
+			console.log(raid);
+			let rs1 = await approvalCheck({rentalApplyId:raid});
+			console.log(rs1);
+			if (rs1 != '1') {
+				// alert(rs1);
+				const event = new ShowToastEvent({
+		            title: '鎻愮ず淇℃伅',
+		            message:rs1
+	            });
+	        	this.dispatchEvent(event);
+			} else {
+				//bp2 let rs2 = sforce.apex.execute("RentalApplyWebService", "reserve", {rentalApplyId: raid});
+				//bp2 if (rs2 != '1') {
+				//bp2 alert(rs2);
+				//bp2 } else {
+				setShipment_requests({raid:null,raesid: this.id}).then(res=>{
+					if (res == "鐘舵�佹洿鏂板埌宸插嚭搴撴寚绀�") {
+						// alert("鐘舵�佹洿鏂板埌宸插嚭搴撴寚绀�");
+						const event = new ShowToastEvent({
+				            title: '鎻愮ず淇℃伅',
+				            message:"鐘舵�佹洿鏂板埌宸插嚭搴撴寚绀�"
+			            });
+			        	this.dispatchEvent(event);
+						print().then(res=>{
+							setTimeout(function() {location.href = "/"+this.RentalApplyC;}, 100);
+						});
+					} else {
+						// alert(res);
+						const event = new ShowToastEvent({
+				            title: '鎻愮ず淇℃伅',
+				            message:res
+			            });
+			        	this.dispatchEvent(event);
+					}
+				})
+				// sforce.apex.execute("RentalApplyWebService", "setRaesShipment_request",
+				//  {raesid: this.id}
+				// 	,function(res) {
+				// 		if (res == "鐘舵�佹洿鏂板埌宸插嚭搴撴寚绀�") {
+				// 			alert("鐘舵�佹洿鏂板埌宸插嚭搴撴寚绀�");
+				// 			print().then(res=>{
+				// 				setTimeout(function() {location.href = "/"+this.RentalApplyC;}, 100);
+				// 			});
+				// 		} else {
+				// 			alert(res);
+				// 		}
+				// });
+			}
+		}
+
+		async function print(){
+			let sqlResult;
+			if(this.Bollow_Date__c != ''){
+				await selectRaesById1({recordId:RentalApply.Id}).then(res=>{
+					sqlResult=res;
+				});
+			}else{
+				await selectRaesById2({recordId:RentalApply.Id}).then(res=>{
+					sqlResult=res;
+				});
+			}
+			let records = sqlResult;
+			let size =records.length;
+			let length = size%10 ==0? size/10 : parseInt(size/10) +1;
+			for(let i =0;i<length;i++){
+				window.open('/apex/FixtureRentalPDF?raid=' + RentalApply.Id + '&page=' + i);
+			}
+		}
+
+
+		// function fixTime(time){
+		// 	if(time < 10) {time = "0" + time};
+		// 		return time;
+		// }
+
+		// function fixDate(date){
+		// 	let Month = fixTime(date.getMonth() + 1);
+		// 	let Day = fixTime(date.getDate());
+		// 	let UTC = date.toUTCString();
+		// 	let Time = UTC.substring(UTC.indexOf(':')-2, UTC.indexOf(':')+6);
+		// 	let Minutes = fixTime(date.getMinutes());
+		// 	let Seconds = fixTime(date.getSeconds());
+		// 	return date.getFullYear() + "-" + Month + "-" + Day + "T" + Time;
+		// }
+	}
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/loanerArrangedEmailLWC/loanerArrangedEmailLWC.js-meta.xml b/force-app/main/default/lwc/loanerArrangedEmailLWC/loanerArrangedEmailLWC.js-meta.xml
new file mode 100644
index 0000000..b772b46
--- /dev/null
+++ b/force-app/main/default/lwc/loanerArrangedEmailLWC/loanerArrangedEmailLWC.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="loanerArrangedEmailLWC">
+    <apiVersion>51.0</apiVersion>
+    <isExposed>true</isExposed>    
+    <targets>
+        <target>lightning__AppPage</target>
+        <target>lightning__RecordPage</target>
+        <target>lightning__HomePage</target>
+        <target>lightning__RecordAction</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lwcDatatableUtility/lwcDatatableUtility.css b/force-app/main/default/lwc/lwcDatatableUtility/lwcDatatableUtility.css
index 97ec122..021bb90 100644
--- a/force-app/main/default/lwc/lwcDatatableUtility/lwcDatatableUtility.css
+++ b/force-app/main/default/lwc/lwcDatatableUtility/lwcDatatableUtility.css
@@ -1,4 +1,3 @@
-
 .customSelect select {
     padding-right: 1.25rem;
     min-height: inherit;
diff --git a/force-app/main/default/lwc/maintenanceContract/maintenanceContract.js b/force-app/main/default/lwc/maintenanceContract/maintenanceContract.js
index 2891246..219c89f 100644
--- a/force-app/main/default/lwc/maintenanceContract/maintenanceContract.js
+++ b/force-app/main/default/lwc/maintenanceContract/maintenanceContract.js
@@ -70,12 +70,8 @@
     connectedCallback()
     {
         this.getTableData();
-        // debugger
-        // var windowsheight=(window.screen.availHeight-255);
-        // var windowsheight=(window.innerHeight-255);
-        // this.tab="height:"+windowsheight+"px;overflow:scroll;margin-left: 5px;margin-top: 5px;";
-        this.tab="px;overflow:scroll;margin-left: 5px;margin-top: 5px;";
-
+        var windowsheight=(window.screen.availHeight-255);
+        this.tab="height:"+windowsheight+"px;overflow:scroll;margin-left: 5px;margin-top: 5px;";
         this.iftab=true;
         this.InitPorpsData();
     }
diff --git a/force-app/main/default/lwc/navigateToRecord/navigateToRecord.html b/force-app/main/default/lwc/navigateToRecord/navigateToRecord.html
new file mode 100644
index 0000000..d1cb4b2
--- /dev/null
+++ b/force-app/main/default/lwc/navigateToRecord/navigateToRecord.html
@@ -0,0 +1,3 @@
+<template>
+    <a href="#" onclick={navigate}>{label}</a>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/navigateToRecord/navigateToRecord.js b/force-app/main/default/lwc/navigateToRecord/navigateToRecord.js
new file mode 100644
index 0000000..7d499a1
--- /dev/null
+++ b/force-app/main/default/lwc/navigateToRecord/navigateToRecord.js
@@ -0,0 +1,20 @@
+import { LightningElement, api } from 'lwc';
+import { NavigationMixin } from 'lightning/navigation';
+
+export default class NavigateToRecord extends NavigationMixin(
+    LightningElement
+) {
+    @api recordId;
+    @api label;
+
+    navigate(event) {
+        event.preventDefault();
+        this[NavigationMixin.Navigate]({
+            type: 'standard__recordPage',
+            attributes: {
+                recordId: this.recordId,
+                actionName: 'view'
+            }
+        });
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/navigateToRecord/navigateToRecord.js-meta.xml b/force-app/main/default/lwc/navigateToRecord/navigateToRecord.js-meta.xml
new file mode 100644
index 0000000..b9a3113
--- /dev/null
+++ b/force-app/main/default/lwc/navigateToRecord/navigateToRecord.js-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>false</isExposed>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/newOrderButton/newOrderButton.html b/force-app/main/default/lwc/newOrderButton/newOrderButton.html
new file mode 100644
index 0000000..3239f2d
--- /dev/null
+++ b/force-app/main/default/lwc/newOrderButton/newOrderButton.html
@@ -0,0 +1,4 @@
+<template>
+    <!-- <lightning-button label="鏂板缓娑堣�楀搧璁㈠崟"  onclick={handleClick} style="background-color:#515151"></lightning-button> -->
+    <div onclick={handleClick} style="width:200px;height:30px;background:#515151;font-weight:bold;font-size:16px Arial;color:white;border-radius: 5px 10px 10px 5px;;padding:5px 9px;cursor:pointer">鏂板缓娑堣�楀搧璁㈠崟</div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/newOrderButton/newOrderButton.js b/force-app/main/default/lwc/newOrderButton/newOrderButton.js
new file mode 100644
index 0000000..f106862
--- /dev/null
+++ b/force-app/main/default/lwc/newOrderButton/newOrderButton.js
@@ -0,0 +1,24 @@
+import { LightningElement, track } from 'lwc';
+import { NavigationMixin } from 'lightning/navigation';
+
+export default class NewOrderButton extends NavigationMixin(LightningElement) {
+    
+    // clickedButtonLabel;
+
+
+    handleClick(event) {
+        var rtId = event.target.id;
+        // this.clickedButtonLabel = event.target.label;
+        this[NavigationMixin.Navigate]({
+            type: 'standard__objectPage',
+            attributes: {
+              objectApiName: 'Consumable_order__c',
+              actionName: 'new'
+            },
+            state: {
+                useRecordTypeCheck: 1
+              }
+        });
+    }
+    
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/newOrderButton/newOrderButton.js-meta.xml b/force-app/main/default/lwc/newOrderButton/newOrderButton.js-meta.xml
new file mode 100644
index 0000000..ac620f2
--- /dev/null
+++ b/force-app/main/default/lwc/newOrderButton/newOrderButton.js-meta.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>56.0</apiVersion>
+       <isExposed>true</isExposed>
+     <targets>
+        <target>lightning__AppPage</target>
+        <target>lightning__RecordPage</target>
+        <target>lightning__HomePage</target>
+        <target>lightningCommunity__Page</target>
+        <target>lightningCommunity__Default</target>
+        <target>lightning__Tab</target>
+        <target>lightning__RecordAction</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/newOrderLWC/newOrderLWC.html b/force-app/main/default/lwc/newOrderLWC/newOrderLWC.html
new file mode 100644
index 0000000..b019895
--- /dev/null
+++ b/force-app/main/default/lwc/newOrderLWC/newOrderLWC.html
@@ -0,0 +1,3 @@
+<template>
+     <lightning-button label="Neutral" title="Non-primary action" onclick={handleClick} class="slds-m-left_x-small"></lightning-button>
+ </template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/newOrderLWC/newOrderLWC.js b/force-app/main/default/lwc/newOrderLWC/newOrderLWC.js
new file mode 100644
index 0000000..7e249b5
--- /dev/null
+++ b/force-app/main/default/lwc/newOrderLWC/newOrderLWC.js
@@ -0,0 +1,39 @@
+import { LightningElement,track,api } from 'lwc';
+import { NavigationMixin } from 'lightning/navigation';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+
+export default class NewOrderLWC extends LightningElement(LightningElement) {
+    @track
+    show = false
+    showModal() {
+        this.show = true
+    }
+    Navigate(event) {
+        let recordId = event.detail.id
+        this.openOrder = false
+        this[NavigationMixin.Navigate]({
+            type: 'standard__recordPage',
+            attributes: {
+                recordId: recordId,
+                objectApiName: 'Opportunity',
+                actionName: 'view',
+            },
+        });
+        this.showSuccessNotification('Saved','New opportunity saved','success')
+    }
+
+    // toast util method
+    showSuccessNotification(_title, _message, _variant) {
+        const evt = new ShowToastEvent({
+            title: _title,
+            message: _message,
+            variant: _variant,
+        });
+        this.dispatchEvent(evt);
+    }
+
+    cancel() {
+        this.show = false
+    }
+
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/newOrderLWC/newOrderLWC.js-meta.xml b/force-app/main/default/lwc/newOrderLWC/newOrderLWC.js-meta.xml
new file mode 100644
index 0000000..41e5138
--- /dev/null
+++ b/force-app/main/default/lwc/newOrderLWC/newOrderLWC.js-meta.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>56.0</apiVersion>
+     <isExposed>true</isExposed>
+     <targets>
+        <target>lightning__AppPage</target>
+        <target>lightning__RecordPage</target>
+        <target>lightning__HomePage</target>
+        <target>lightningCommunity__Page</target>
+        <target>lightningCommunity__Default</target>
+        <target>lightning__Tab</target>
+        <target>lightning__RecordAction</target>
+
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/newOrderList/newOrderList.html b/force-app/main/default/lwc/newOrderList/newOrderList.html
new file mode 100644
index 0000000..9c879ef
--- /dev/null
+++ b/force-app/main/default/lwc/newOrderList/newOrderList.html
@@ -0,0 +1,19 @@
+<template>
+    <div style="border-top: 3px solid #51606E;;border-bottom: 1px solid #D4D4D4;padding:3px;">
+        <p style="font-size: 19px;"><strong>搴撳瓨璇︽儏</strong></p>
+    </div>
+    <div style="padding:10px;">
+        <div style="height: 300px;">
+            <lightning-datatable
+                    key-field="id"
+                    data={data}
+                    columns={columns}
+                    hide-checkbox-column
+                    default-sort-direction={defaultSortDirection}
+                    sorted-direction={sortDirection}
+                    sorted-by={sortedBy}
+                    onsort={onHandleSort}>
+            </lightning-datatable>
+        </div>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/newOrderList/newOrderList.js b/force-app/main/default/lwc/newOrderList/newOrderList.js
new file mode 100644
index 0000000..e585d5c
--- /dev/null
+++ b/force-app/main/default/lwc/newOrderList/newOrderList.js
@@ -0,0 +1,65 @@
+import { LightningElement,track } from 'lwc';
+
+
+
+export default class NewOrderList  extends NavigationMixin(LightningElement) {
+    @track data = [];
+       //鎺掑簭
+       defaultSortDirection = 'asc';
+       sortDirection = 'asc';
+       sortedBy;
+
+
+       onHandleSort(event) {
+        console.log('===>杩涘叆鏂规硶');
+        const { fieldName: sortedBy, sortDirection } = event.detail;
+        const cloneData = [...this.data];
+        cloneData.sort(this.sortBy(sortedBy, sortDirection === 'asc' ? 1 : -1));
+        this.data = cloneData;
+        this.sortDirection = sortDirection;
+        this.sortedBy = sortedBy;
+    }
+
+    sortBy(field, reverse, primer) {
+        const key = primer
+            ? function (x) {
+                  return primer(x[field]);
+              }
+            : function (x) {
+                  return x[field];
+              };
+
+        return function (a, b) {
+            a = key(a);
+            b = key(b);
+            return reverse * ((a > b) - (b > a));
+        };
+    }
+    
+
+    // @track orderList =[];
+    // @wire(getOrderList)
+    // result({error,data}){
+    //     if(data){
+    //        this.orderList = data;
+    //        console.log("return is "+this.record);
+    //        JSON.stringify("===>data",data);
+    //     }
+    //     if(error){
+    //        this.error= error;
+    //        console.log("retrun is "+this.error);
+    //     }
+    // }
+    // showDetail(event){
+    //     var orderdetailUrl = event.currentTarget.dataset.name;
+    //     console.log('===>orderdetailUrl'+orderdetailUrl);
+    //     this[NavigationMixin.Navigate]({
+    //         type: 'standard__recordPage',
+    //         attributes: {
+    //             recordId: orderdetailUrl,
+    //             objectApiName: 'Consumable_order__c',
+    //             actionName: 'view'
+    //         }
+    //     });
+    // }
+    }
\ No newline at end of file
diff --git a/force-app/main/default/lwc/newOrderList/newOrderList.js-meta.xml b/force-app/main/default/lwc/newOrderList/newOrderList.js-meta.xml
new file mode 100644
index 0000000..5df8676
--- /dev/null
+++ b/force-app/main/default/lwc/newOrderList/newOrderList.js-meta.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>56.0</apiVersion>
+       <isExposed>true</isExposed>
+     <targets>
+        <target>lightning__AppPage</target>
+        <target>lightning__RecordPage</target>
+        <target>lightning__HomePage</target>
+        <target>lightningCommunity__Page</target>
+        <target>lightningCommunity__Default</target>
+        <target>lightning__Tab</target>
+        <target>lightning__RecordAction</target>
+
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/newPaymentPlanLoadLWC/newPaymentPlanLoadLWC.css b/force-app/main/default/lwc/newPaymentPlanLoadLWC/newPaymentPlanLoadLWC.css
new file mode 100644
index 0000000..571ad53
--- /dev/null
+++ b/force-app/main/default/lwc/newPaymentPlanLoadLWC/newPaymentPlanLoadLWC.css
@@ -0,0 +1,14 @@
+.Narrow{
+	padding: 20px;
+}
+.searchField,.searchField .input-text{
+	/*display: flex;*/
+}
+.searchField .slds-combobox_container{
+    width: 160px !important;
+}
+.Firstaccordion { 
+	--slds-c-accordion-heading-text-color: white;
+	--slds-c-accordion-summary-color-background: Black;
+    --slds-c-accordion-heading-font-size: 20px;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/newPaymentPlanLoadLWC/newPaymentPlanLoadLWC.html b/force-app/main/default/lwc/newPaymentPlanLoadLWC/newPaymentPlanLoadLWC.html
new file mode 100644
index 0000000..d55cb06
--- /dev/null
+++ b/force-app/main/default/lwc/newPaymentPlanLoadLWC/newPaymentPlanLoadLWC.html
@@ -0,0 +1,228 @@
+<template>
+	<lightning-card  variant="Narrow">
+    <div style="padding: 0 20px">    
+      <div>
+          <lightning-button label="淇濆瓨" onclick={handlesave} onload ={CloseJs} disabled = {dis29}></lightning-button>
+          <lightning-button label="鍙栨秷" onclick ={CloseJs} disabled = {dis30}></lightning-button>
+          <lightning-button label="鎵撳嵃"  onclick={handlePrint} disabled = {dis28} onload ={PrintJs}></lightning-button>
+          <lightning-layout>
+                  <lightning-combobox
+                    name="progress"
+                    label="鏄惁涓烘爣鍑嗗悎鍚岋細"
+                    value={PageMCEElement.Is_Standard_Contract__c}
+                    placeholder=""
+                    options={IsStandardContractoptions}
+                    required
+                    disabled = {dis1}
+                    onchange={handleIsStandardContract} ></lightning-combobox>
+                    <lightning-layout-item flexibility="auto" padding="around-small">
+                    </lightning-layout-item>
+                    <lightning-layout-item flexibility="auto" padding="around-small">
+                    </lightning-layout-item>
+                    <lightning-layout-item flexibility="auto" padding="around-small">
+                    </lightning-layout-item>
+          </lightning-layout>
+          <p>(蹇呭~椤癸紝鎵�鏈夊悎鍚屽潎蹇呴』鍕鹃��) </p>
+        
+      </div>
+         <lightning-accordion allow-multiple-sections-open
+                              active-section-name={activeSections} class="Firstaccordion">
+            <lightning-accordion-section name="paymentPlan" label="浠樻璁″垝(蹇呭~鍐呭)锛�">
+              <lightning-layout>
+                  <lightning-layout-item flexibility="auto" padding="around-small">
+                        <lightning-combobox
+                name="progress"
+                label="浠樻鏂瑰紡锛�"
+                value={PageMCEElement.Term_Of_Payment__c}
+                options={TermOfPaymentoptions}
+                onchange={handleTermOfPayment}
+                class="searchField"
+                disabled = {dis2}
+                ></lightning-combobox>
+                    </lightning-layout-item>
+                    <lightning-layout-item flexibility="auto" padding="around-small">
+                    </lightning-layout-item>
+                    <lightning-layout-item flexibility="auto" padding="around-small">
+                    </lightning-layout-item>
+                    <lightning-layout-item flexibility="auto" padding="around-small">
+                    </lightning-layout-item>
+                </lightning-layout>
+                <template if:true={showTabOnce}>
+                  <lightning-layout >
+                     <div style="padding: 10px 3px;border-bottom: 1px solid;font: 16px;font-size: 20px;">涓�娆℃�т粯娆�</div>
+                  </lightning-layout>
+                  <lightning-layout vertical-align="center">
+                     <p style="font-size: 15px;">鏈悎鍚屾寮忕璁箣鏃ヨ捣&nbsp;&nbsp;</p>
+                      <lightning-combobox name="progress" label="" disabled = {dis3} value={PageMCEElement.one_off_payment_agreed_period__c} options={oneoffpaymentagreedperiodOptions}
+                          onchange={handleOneoff} class="searchField" style = "width:60px" variant="label-hidden"></lightning-combobox>
+                     <p style="font-size: 15px;">&nbsp;&nbsp;鏃ュ唴锛岀敳鏂瑰悜涔欐柟鏀粯鍏ㄩ儴鍚堝悓娆句汉姘戝竵</p>{PageMCEElement.Contract_Amount__c}<p style="font-size: 15px;">&nbsp;&nbsp;鍏冿紝澶у啓</p>{PageMCEElement.Total_Contract_Amount_In_Words__c}<p style="font-size: 15px;">銆�</p>
+                  </lightning-layout>
+                </template>
+                <template if:true={showTabTwice}>
+                  <lightning-layout>
+                     <div style="padding: 10px 3px;border-bottom: 1px solid;font: 16px;font-size: 20px;">澶氭浠樻</div>
+                  </lightning-layout>
+                  <lightning-layout vertical-align="center">
+                     <p style="font-size: 15px;">鏈悎鍚屾椤瑰垎&nbsp;&nbsp;</p>
+                      <lightning-combobox name="progress" label="" disabled = {dis4} value={PageMCEElement.Total_Payment_Time__c} options={TotalPaymentTimeOption}
+                          onchange={handleTotalPaymentTime} class="searchField" style = "width:60px" variant="label-hidden"></lightning-combobox>
+                     <p style="font-size: 15px;">&nbsp;&nbsp;鏈熶粯鍑猴紝璇︾粏濡備笅锛�</p>
+                  </lightning-layout>
+                  <lightning-layout vertical-align="center">
+                     <p style="font-size: 15px;">绗竴鏈熸椤逛粯娆炬椂闂翠负&nbsp;&nbsp;</p>
+                      <lightning-input disabled = {dis5} type="date" variant="label-hidden" label="" value={PageMCEElement.Payment_Plan_Date_First__c} onchange={handleDateFirst} ></lightning-input>
+                     <p style="font-size: 15px;">&nbsp;&nbsp;鍓�,鐢叉柟鍚戜箼鏂规敮浠樹汉姘戝竵&nbsp;&nbsp;</p>
+                     <lightning-input disabled = {dis6} value={PageMCEElement.Payment_Plan_Sum_First__c} type="text" variant="label-hidden" label="" class="searchField" onchange={handleSumFirst}></lightning-input>
+                     <p style="font-size: 15px;">&nbsp;&nbsp;鍏冿紝澶у啓</p>{PageMCEElement.Payment_Plan_Sum_First_in_Word__c}<p style="font-size: 15px;">;</p>
+                  </lightning-layout>
+                  <lightning-layout vertical-align="center">
+                     <p style="font-size: 15px;">绗簩鏈熸椤逛粯娆炬椂闂翠负&nbsp;&nbsp;</p>
+                      <lightning-input disabled = {dis7} type="date" variant="label-hidden" label="" value={PageMCEElement.Payment_Plan_Date_Second__c} onchange={handleDateSecond}></lightning-input>
+                     <p style="font-size: 15px;">&nbsp;&nbsp;鍓�,鐢叉柟鍚戜箼鏂规敮浠樹汉姘戝竵&nbsp;&nbsp;</p>
+                     <lightning-input disabled = {dis8} value={PageMCEElement.Payment_Plan_Sum_Second__c} type="text" variant="label-hidden" label="" class="searchField" onchange={handleSumSecond}></lightning-input>
+                     <p style="font-size: 15px;">&nbsp;&nbsp;鍏冿紝澶у啓</p>{PageMCEElement.Payment_Plan_Sum_Second_in_Word__c}<p style="font-size: 15px;">;</p>
+                  </lightning-layout>
+                  <lightning-layout vertical-align="center">
+                     <p style="font-size: 15px;">绗笁鏈熸椤逛粯娆炬椂闂翠负&nbsp;&nbsp;</p>
+                      <lightning-input disabled = {dis9} type="date" variant="label-hidden" label="" value={PageMCEElement.Payment_Plan_Date_Third__c} onchange={handleDateThird}></lightning-input>
+                     <p style="font-size: 15px;">&nbsp;&nbsp;鍓�,鐢叉柟鍚戜箼鏂规敮浠樹汉姘戝竵&nbsp;&nbsp;</p>
+                     <lightning-input disabled = {dis10} value={PageMCEElement.Payment_Plan_Sum_Third__c} type="text" variant="label-hidden" label="" class="searchField" onchange={handleSumThird}></lightning-input>
+                     <p style="font-size: 15px;">&nbsp;&nbsp;鍏冿紝澶у啓</p>{PageMCEElement.Payment_Plan_Sum_Third_in_Word__c}<p style="font-size: 15px;">;</p>
+                  </lightning-layout>
+                  <lightning-layout vertical-align="center">
+                     <p style="font-size: 15px;">绗洓鏈熸椤逛粯娆炬椂闂翠负&nbsp;&nbsp;</p>
+                      <lightning-input disabled = {dis11} type="date" variant="label-hidden" label="" value={PageMCEElement.Payment_Plan_Date_Forth__c} onchange={handleDateForth}></lightning-input>
+                     <p style="font-size: 15px;">&nbsp;&nbsp;鍓�,鐢叉柟鍚戜箼鏂规敮浠樹汉姘戝竵&nbsp;&nbsp;</p>
+                     <lightning-input disabled = {dis12} value={PageMCEElement.Payment_Plan_Sum_Forth__c} type="text" variant="label-hidden" label="" class="searchField" onchange={handleSumForth}></lightning-input>
+                     <p style="font-size: 15px;">&nbsp;&nbsp;鍏冿紝澶у啓</p>{PageMCEElement.Payment_Plan_Sum_Forth_in_Word__c}<p style="font-size: 15px;">;</p>
+                  </lightning-layout>
+                  <lightning-layout vertical-align="center">
+                     <p style="font-size: 15px;">绗簲鏈熸椤逛粯娆炬椂闂翠负&nbsp;&nbsp;</p>
+                      <lightning-input disabled = {dis13} type="date" variant="label-hidden" label="" value={PageMCEElement.Payment_Plan_Date_Fivth__c} onchange={handleDateFivth}></lightning-input>
+                     <p style="font-size: 15px;">&nbsp;&nbsp;鍓�,鐢叉柟鍚戜箼鏂规敮浠樹汉姘戝竵&nbsp;&nbsp;</p>
+                     <lightning-input disabled = {dis14} value={PageMCEElement.Payment_Plan_Sum_Fivth__c} type="text" variant="label-hidden" label="" class="searchField" onchange={handleSumFivth}></lightning-input>
+                     <p style="font-size: 15px;">&nbsp;&nbsp;鍏冿紝澶у啓</p>{PageMCEElement.Payment_Plan_Sum_Fivth_in_Word__c}<p style="font-size: 15px;">;</p>
+                  </lightning-layout>
+                  <lightning-layout vertical-align="center">
+                     <p style="font-size: 15px;">绗叚鏈熸椤逛粯娆炬椂闂翠负&nbsp;&nbsp;</p>
+                      <lightning-input disabled = {dis15} type="date" variant="label-hidden" label="" value={PageMCEElement.Payment_Plan_Date_Sixth__c} onchange={handleDateSixth}></lightning-input>
+                     <p style="font-size: 15px;">&nbsp;&nbsp;鍓�,鐢叉柟鍚戜箼鏂规敮浠樹汉姘戝竵&nbsp;&nbsp;</p>
+                     <lightning-input disabled = {dis16} value={PageMCEElement.Payment_Plan_Sum_Sixth__c} type="text" variant="label-hidden" label="" class="searchField" onchange={handleSumSixth}></lightning-input>
+                     <p style="font-size: 15px;">&nbsp;&nbsp;鍏冿紝澶у啓</p>{PageMCEElement.Payment_Plan_Sum_Sixth_in_Word__c}<p style="font-size: 15px;">;</p>
+                  </lightning-layout>
+                </template>
+            </lightning-accordion-section>
+            <div style="margin-left:5%; color:Blue ;font-size:25px">
+            <p>鎻愮ず淇℃伅锛氭爣鍑嗗悎鍚屼笅杩板唴瀹归渶瑕佸叏閮ㄥ~鍐欍��</p>
+            </div>
+            <lightning-accordion-section name="TextInformation" label="鏂囨湰淇℃伅锛�">
+              <template if:true={showTabOne}>
+                <lightning-layout>
+                  <lightning-layout-item flexibility="auto" padding="around-small">
+                      <lightning-combobox disabled = {dis17} name="progress" label="灏忎慨鐞嗘椂闄愶細锛堝伐浣滄棩锛�" value={PageMCEElement.Small_Repair_Time__c} options={SmallRepairTimeOptions}
+                          onchange={handleSmallRepairTime} class="searchField"></lightning-combobox>
+                  </lightning-layout-item>
+                  <lightning-layout-item flexibility="auto" padding="around-small">
+                      <lightning-combobox
+                      name="progress" disabled = {dis18} label="澶т慨鐞嗘椂闄愶細锛堝伐浣滄棩锛�" value={PageMCEElement.Big_Repair_Time__c} options={BigRepairTimeOptions} onchange={handleBigRepairTime} 
+                      class="searchField"></lightning-combobox>
+                  </lightning-layout-item> 
+                  <lightning-layout-item flexibility="auto" padding="around-small">
+                      <lightning-combobox
+                      name="progress" disabled = {dis19}  label="鐜板満鎶�鏈敮鎸佹椂闄愶細锛堝皬鏃讹級" value={PageMCEElement.Live_Technical_Support_Time__c} options={LiveTechnicalSupportTimeOptions} onchange={handleLiveTechnicalSupportTime}
+                      class="searchField"></lightning-combobox>
+                  </lightning-layout-item>
+                  <lightning-layout-item flexibility="auto" padding="around-small">
+                      <lightning-combobox disabled = {dis20}
+                      name="progress" label="宸″洖锛氾紙姣忓勾锛�" value={PageMCEElement.Tour_Check__c} options={TourCheckOptions} onchange={handleTourCheck}
+                      class="searchField"></lightning-combobox>
+                  </lightning-layout-item>  
+                </lightning-layout>
+              
+                <lightning-layout>
+                    <lightning-layout-item flexibility="auto" padding="around-small">
+                        <lightning-combobox disabled = {dis21}
+                        name="progress" label="闄ゅ皹锛氾紙姣忓勾锛�" value={PageMCEElement.Dedust__c} options={DedustOptions} onchange={handleDedust}
+                        class="searchField" ></lightning-combobox>
+                    </lightning-layout-item>
+                    <lightning-layout-item flexibility="auto" padding="around-small">
+                        <lightning-combobox disabled = {dis22}
+                        name="progress" label="鍚堝悓浠芥暟锛氱敳鏂�:" value={PageMCEElement.First_Party_Contract_Number__c} options={FirstPartyContractNumberOptions} onchange={handleFirstPartyContractNumber}
+                        class="searchField"></lightning-combobox>
+                    </lightning-layout-item>
+                    <lightning-layout-item flexibility="auto" padding="around-small">
+                        <lightning-combobox disabled = {dis23}
+                        name="progress" label="鍚堝悓浠芥暟锛氫箼鏂�:" value={PageMCEElement.Second_Party_Contract_Number__c} options={SecondPartyContractNumberOptions} onchange={handleSecondPartyContractNumber}
+                        class="searchField" ></lightning-combobox>
+                    </lightning-layout-item>  
+                    <lightning-layout-item flexibility="auto" padding="around-small">
+                    </lightning-layout-item>
+                </lightning-layout>
+
+                <lightning-layout>
+                    <lightning-layout-item flexibility="auto" padding="around-small">
+                        <lightning-textarea disabled = {dis24} name="EngineerName" label="宸ョ▼甯堝鍚嶏細" value={PageMCEElement.Engineer_Name__c} onchange={handleEngineerName}></lightning-textarea>
+                    </lightning-layout-item>
+                    <lightning-layout-item flexibility="auto" padding="around-small">
+                        <lightning-textarea  disabled = {dis25} name="Tel" label="鎵嬫満鍙风爜锛�"  onchange={handlephoneNumber} value={PageMCEElement.Phone_Number__c}></lightning-textarea>
+                    </lightning-layout-item>  
+                </lightning-layout>
+              </template>
+              
+                <lightning-layout>
+                  <lightning-layout-item flexibility="auto" padding="around-small">
+                        <lightning-combobox disabled = {dis26}
+                        name="progress" label="鐐规锛氾紙姣忓勾锛夈�愬繀濉」銆�" value={PageMCEElement.Inspection_Time__c} options={InspectionTimeOptions} onchange={handleInspectionTime}
+                        class="searchField" required></lightning-combobox>
+                    </lightning-layout-item>
+                    <lightning-layout-item flexibility="auto" padding="around-small">
+                    </lightning-layout-item>
+                    <lightning-layout-item flexibility="auto" padding="around-small">
+                    </lightning-layout-item>
+                    <lightning-layout-item flexibility="auto" padding="around-small">
+                    </lightning-layout-item>
+                </lightning-layout>
+                <lightning-layout>
+                    <lightning-layout-item flexibility="auto" padding="around-small">
+                         <p>鐐规鎬绘鏁帮細 鍏� {PageMCEElement.Inspection_Time__c} 娆�</p>
+                    </lightning-layout-item>
+                   <lightning-layout-item flexibility="auto" padding="around-small">
+                    </lightning-layout-item>
+                    <lightning-layout-item flexibility="auto" padding="around-small">
+                    </lightning-layout-item>
+                    <lightning-layout-item flexibility="auto" padding="around-small">
+                    </lightning-layout-item>
+                </lightning-layout>
+                <lightning-layout>
+                    <lightning-layout-item flexibility="auto" padding="around-small">
+                        <lightning-combobox disabled = {dis27}
+                        name="progress" label="鍗忓晢鏂瑰紡" value={PageMCEElement.Negotiate_Mean__c} options={NegotiateMeanOptions} onchange={handleNegotiateMean}
+                        class="searchField"></lightning-combobox>
+                    </lightning-layout-item>
+                    <lightning-layout-item flexibility="auto" padding="around-small">
+                    </lightning-layout-item>
+                    <lightning-layout-item flexibility="auto" padding="around-small">
+                    </lightning-layout-item>
+                    <lightning-layout-item flexibility="auto" padding="around-small">
+                    </lightning-layout-item>
+                </lightning-layout>
+                <lightning-layout>
+                    <lightning-layout-item flexibility="auto" padding="around-small">
+                        <p>鎻愮ず淇℃伅锛�(1)浠讳綍涓�鏂规湁鏉冨悜璁惧湪鍖椾含鐨勪腑鍥藉浗闄呯粡娴庤锤鏄撲徊瑁佸鍛樹細鐢宠浠茶锛屼徊瑁佺殑瑁佸喅鏄粓灞�鎬х殑锛屽鍙屾柟鍧囨湁绾︽潫鍔涖��(2)鍚戠敳鏂规墍鍦ㄥ湴鏈夌杈栨潈鐨勪汉姘戞硶闄㈡彁璧疯瘔璁笺��(3)鍚戜箼鏂规墍鍦ㄥ湴鏈夌杈栨潈鐨勪汉姘戞硶闄㈡彁璧疯瘔璁笺��</p>
+                    </lightning-layout-item>
+                    <lightning-layout-item flexibility="auto" padding="around-small">
+                    </lightning-layout-item>
+                    <lightning-layout-item flexibility="auto" padding="around-small">
+                    </lightning-layout-item>
+                    <lightning-layout-item flexibility="auto" padding="around-small">
+                    </lightning-layout-item>
+                </lightning-layout>
+                 <lightning-button label="淇濆瓨" onclick={handlesave} onload ={CloseJs} disabled = {dis29}></lightning-button>
+                <lightning-button label="鍙栨秷" onclick ={CloseJs} disabled = {dis30}></lightning-button>
+                <lightning-button label="鎵撳嵃"  onclick={handlePrint} disabled = {dis28} onload ={PrintJs}></lightning-button>
+            </lightning-accordion-section>
+          </lightning-accordion>
+    </div>
+  </lightning-card>
+
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/newPaymentPlanLoadLWC/newPaymentPlanLoadLWC.js b/force-app/main/default/lwc/newPaymentPlanLoadLWC/newPaymentPlanLoadLWC.js
new file mode 100644
index 0000000..4f88117
--- /dev/null
+++ b/force-app/main/default/lwc/newPaymentPlanLoadLWC/newPaymentPlanLoadLWC.js
@@ -0,0 +1,521 @@
+import { LightningElement,wire,track,api} from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import { NavigationMixin } from 'lightning/navigation';
+import { updateRecord } from 'lightning/uiRecordApi';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+import print from '@salesforce/apex/NewPaymentPlanLoadLWCController.print';
+import init from '@salesforce/apex/NewPaymentPlanLoadLWCController.init';
+import save from '@salesforce/apex/NewPaymentPlanLoadLWCController.save';
+
+export default class newPaymentPlanLoadLWC extends LightningElement {
+	@api recordId;
+    PageMCEElement = {
+        Id: '',
+        Phone_Number__c: '',
+        Status__c: '',
+        old_Is_RecognitionModel__c: '',
+        Engineer_Name__c: '',
+        Is_Standard_Contract__c: '',
+        Term_Of_Payment__c: '',
+        one_off_payment_agreed_period__c: '',
+        Total_Payment_Time__c: '',
+        Payment_Plan_Date_First__c: '',
+        Payment_Plan_Date_Second__c: '',
+        Payment_Plan_Date_Third__c: '',
+        Payment_Plan_Date_Forth__c: '',
+        Payment_Plan_Date_Fivth__c: '',
+        Payment_Plan_Date_Sixth__c: '',
+        Payment_Plan_Sum_First__c: '',
+        Payment_Plan_Sum_Second__c: '',
+        Payment_Plan_Sum_Third__c: '',
+        Payment_Plan_Sum_Forth__c: '',
+        Payment_Plan_Sum_Fivth__c: '',
+        Payment_Plan_Sum_Sixth__c: '',
+        Small_Repair_Time__c: '',
+        Big_Repair_Time__c: '',
+        Live_Technical_Support_Time__c: '',
+        Tour_Check__c: '',
+        Dedust__c: '',
+        First_Party_Contract_Number__c: '',
+        Second_Party_Contract_Number__c: '',
+        Contract_Amount__c: '',
+        Total_Contract_Amount_In_Words__c: '',
+        Payment_Plan_Sum_First_in_Word__c: '',
+        Payment_Plan_Sum_Second_in_Word__c: '',
+        Payment_Plan_Sum_Third_in_Word__c: '',
+        Payment_Plan_Sum_Forth_in_Word__c: '',
+        Payment_Plan_Sum_Fivth_in_Word__c: '',
+        Payment_Plan_Sum_Sixth_in_Word__c: '',
+        Negotiate_Mean__c: '',
+        Amount_Warranty_Coverage_In_Word__c: '',
+        Amount_Warranty_Coverage__c: '',
+        Inspection_Time__c :''
+    };
+    printContract;
+    printAgent;
+    agreeUpperLimit;
+    ContractAllMonth;
+    statusSave;
+	activeSections = ['paymentPlan', 'TextInformation'];
+	showTabOne = true;
+    showTabTwice = false;
+    showTabOnce = true;
+    // 椤甸潰disable
+    dis1;
+    dis2;
+    dis3;
+    dis4;
+    dis5;
+    dis6;
+    dis7;
+    dis8;
+    dis9;
+    dis10;
+    dis11;
+    dis12;
+    dis13;
+    dis14;
+    dis15;
+    dis16;
+    dis17;
+    dis18;
+    dis19;
+    dis21;
+    dis22;
+    dis23;
+    dis24;
+    dis25;
+    dis26;
+    dis27;
+    dis28;
+    dis29;
+    dis30;
+	//鏄惁涓烘爣鍑嗗悎鍚�
+	get IsStandardContractoptions() {
+        return[{ label: '--鏃�--', value: '' },
+                    { label: '鏄�', value: '鏄�' },
+                    { label: '鍚�', value: '鍚�' }];
+    }
+    
+     // 浠樻鏂瑰紡              
+    TermOfPaymentoptions = [{ label: '涓�娆℃�т粯娆�', value: '涓�娆℃�т粯娆�' },
+                    { label: '澶氭浠樻', value: '澶氭浠樻' }]; 
+
+     //涓�娆℃�т粯娆�
+     oneoffpaymentagreedperiodOptions = [{ label: '15', value: '15' },
+                    { label: '30', value: '30' },
+                    { label: '60', value: '60' }]; 
+      //澶氭浠樻                 
+    TotalPaymentTimeOption = [
+                    { label: '1', value: '1' },
+                    { label: '2', value: '2' },
+                    { label: '3', value: '3' },
+                    { label: '4', value: '4' },
+                    { label: '5', value: '5' },
+                    { label: '6', value: '6' }];                
+      //灏忎慨鐞嗘椂闄愶細             
+    SmallRepairTimeOptions = [{ label: '5', value: '5' },
+                    { label: '7', value: '7' },
+                    { label: '10', value: '10' }]; 
+       //澶т慨鐞嗘椂闄愶細             
+    BigRepairTimeOptions = [{ label: '7', value: '7' },
+                    { label: '10', value: '10' },
+                    { label: '15', value: '15' },
+                    { label: '20', value: '20' },
+                    { label: '25', value: '25' },
+                    { label: '30', value: '30' }];
+       //鐜板満鎶�鏈敮鎸佹椂闄愶細             
+    LiveTechnicalSupportTimeOptions = [{ label: '24', value: '24' },
+                    { label: '48', value: '48' },
+                    { label: '72', value: '72' }];
+      //宸″洖锛�                 
+    TourCheckOptions = [{ label: '0', value: '0' },
+                    { label: '1', value: '1' },
+                    { label: '2', value: '2' },
+                    { label: '3', value: '3' },
+                    { label: '4', value: '4' }];
+   //鐐规1                 
+    InspectionTimeOptions = [
+                    { label: '1', value: '1' },
+                    { label: '2', value: '2' },
+                    { label: '3', value: '3' },
+                    { label: '4', value: '4' }];
+
+    //闄ゅ皹                 
+    DedustOptions = [{ label: '0', value: '0' },
+                    { label: '1', value: '1' },
+                    { label: '2', value: '2' }];
+     //鍚堝悓浠芥暟锛氱敳鏂�:                 
+    FirstPartyContractNumberOptions = [
+                    { label: '1', value: '1' },
+                    { label: '2', value: '2' },
+                    { label: '3', value: '3' },
+                    { label: '4', value: '4' },
+                    { label: '5', value: '5' },
+                    { label: '6', value: '6' },
+                    { label: '7', value: '7' },
+                    { label: '8', value: '8' },
+                    { label: '9', value: '9' },
+                    { label: '10', value: '10' }];  
+    //鍚堝悓浠芥暟锛氫箼鏂�:                 
+    SecondPartyContractNumberOptions = [
+                    { label: '1', value: '1' },
+                    { label: '2', value: '2' },
+                    { label: '3', value: '3' },
+                    { label: '4', value: '4' },
+                    { label: '5', value: '5' },
+                    { label: '6', value: '6' },
+                    { label: '7', value: '7' },
+                    { label: '8', value: '8' },
+                    { label: '9', value: '9' },
+                    { label: '10', value: '10' }];  
+    // 鍗忓晢鏂瑰紡
+    NegotiateMeanOptions = [
+                    { label: '1', value: '1' },
+                    { label: '2', value: '2' },
+                    { label: '3', value: '3' }];                                                                                           
+	 @wire(CurrentPageReference)
+    getStateParameters(currentPageReference) {
+        if (currentPageReference) {
+          const urlValue = currentPageReference.state.recordId;
+          if (urlValue) {
+            let str = `${urlValue}`;
+            this.recordId = str;
+          }
+        }
+    }
+
+	connectedCallback(){
+		this.recordId = 'a0H1000001DV1cp';
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            if (result.PageMCE == null) {
+                    const event = new ShowToastEvent({
+                             title: 'warning',
+                             message: result.status,
+                             variant:'warning',
+                            });
+                    this.dispatchEvent(event);
+             }
+             this.PageMCEElement.Status__c                          = result.PageMCE.Status__c;
+             this.ContractAllMonth                                  = result.Contract_validMonth;
+             this.statusSave                                        = result.statusSave;
+             this.PageMCEElement.old_Is_RecognitionModel__c         = result.PageMCE.old_Is_RecognitionModel__c;
+             this.PageMCEElement.Engineer_Name__c                   = result.PageMCE.Engineer_Name__c;
+             this.PageMCEElement.Is_Standard_Contract__c            = result.PageMCE.Is_Standard_Contract__c;
+             this.PageMCEElement.Term_Of_Payment__c                 = result.PageMCE.Term_Of_Payment__c;
+             this.PageMCEElement.one_off_payment_agreed_period__c   = result.PageMCE.one_off_payment_agreed_period__c;
+             this.PageMCEElement.Total_Payment_Time__c              = result.PageMCE.Total_Payment_Time__c;
+             this.PageMCEElement.Payment_Plan_Date_First__c         = result.PageMCE.Payment_Plan_Date_First__c;
+             this.PageMCEElement.Payment_Plan_Date_Second__c        = result.PageMCE.Payment_Plan_Date_Second__c;
+             this.PageMCEElement.Payment_Plan_Date_Third__c         = result.PageMCE.Payment_Plan_Date_Third__c;
+             this.PageMCEElement.Payment_Plan_Date_Forth__c         = result.PageMCE.Payment_Plan_Date_Forth__c;
+             this.PageMCEElement.Payment_Plan_Date_Fivth__c         = result.PageMCE.Payment_Plan_Date_Fivth__c;
+             this.PageMCEElement.Payment_Plan_Date_Sixth__c         = result.PageMCE.Payment_Plan_Date_Sixth__c;
+             this.PageMCEElement.Payment_Plan_Sum_First__c          = result.PageMCE.Payment_Plan_Sum_First__c;
+             this.PageMCEElement.Payment_Plan_Sum_Second__c         = result.PageMCE.Payment_Plan_Sum_Second__c;
+             this.PageMCEElement.Payment_Plan_Sum_Third__c          = result.PageMCE.Payment_Plan_Sum_Third__c;
+             this.PageMCEElement.Payment_Plan_Sum_Forth__c          = result.PageMCE.Payment_Plan_Sum_Forth__c;
+             this.PageMCEElement.Payment_Plan_Sum_Fivth__c          = result.PageMCE.Payment_Plan_Sum_Fivth__c;
+             this.PageMCEElement.Payment_Plan_Sum_Sixth__c          = result.PageMCE.Payment_Plan_Sum_Sixth__c;
+             this.PageMCEElement.Small_Repair_Time__c               = result.PageMCE.Small_Repair_Time__c;
+             this.PageMCEElement.Big_Repair_Time__c                 = result.PageMCE.Big_Repair_Time__c;
+             this.PageMCEElement.Live_Technical_Support_Time__c     = result.PageMCE.Live_Technical_Support_Time__c;
+             this.PageMCEElement.Tour_Check__c                      = result.PageMCE.Tour_Check__c;
+             this.PageMCEElement.Phone_Number__c                    = result.PageMCE.Phone_Number__c;
+             this.PageMCEElement.Dedust__c                          = result.PageMCE.Dedust__c;
+             this.PageMCEElement.First_Party_Contract_Number__c     = result.PageMCE.First_Party_Contract_Number__c;
+             this.PageMCEElement.Second_Party_Contract_Number__c    = result.PageMCE.Second_Party_Contract_Number__c;
+             this.PageMCEElement.Contract_Amount__c                 = result.PageMCE.Contract_Amount__c;
+             this.PageMCEElement.Total_Contract_Amount_In_Words__c  = result.PageMCE.Total_Contract_Amount_In_Words__c;
+             this.PageMCEElement.Payment_Plan_Sum_First_in_Word__c  = result.PageMCE.Payment_Plan_Sum_First_in_Word__c;
+             this.PageMCEElement.Payment_Plan_Sum_Second_in_Word__c = result.PageMCE.Payment_Plan_Sum_Second_in_Word__c;
+             this.PageMCEElement.Payment_Plan_Sum_Third_in_Word__c  = result.PageMCE.Payment_Plan_Sum_Third_in_Word__c;
+             this.PageMCEElement.Payment_Plan_Sum_Forth_in_Word__c  = result.PageMCE.Payment_Plan_Sum_Forth_in_Word__c;
+             this.PageMCEElement.Payment_Plan_Sum_Fivth_in_Word__c  = result.PageMCE.Payment_Plan_Sum_Fivth_in_Word__c;
+             this.PageMCEElement.Payment_Plan_Sum_Sixth_in_Word__c  = result.PageMCE.Payment_Plan_Sum_Sixth_in_Word__c;
+             this.PageMCEElement.Negotiate_Mean__c                  = result.PageMCE.Negotiate_Mean__c;
+             this.PageMCEElement.Inspection_Time__c                 = result.PageMCE.Inspection_Time__c;
+             this.PageMCEElement.Amount_Warranty_Coverage__c    = (result.PageMCE.Contract_Amount__c*1.3).toString();
+             this.PageMCEElement.Amount_Warranty_Coverage_In_Word__c = this.smalltoBIG(this.PageMCEElement.Amount_Warranty_Coverage__c);
+             this.AllChecktime();
+             this.Initdisabled();
+        }).catch(error => {
+            console.log("error");
+            console.log(error.message());
+        });
+    }
+    handleIsStandardContract(event) {
+        console.log('鎵ц');
+        this.PageMCEElement.Is_Standard_Contract__c = event.detail.value;
+        if (this.PageMCEElement.Is_Standard_Contract__c == '鍚�') {
+        	this.showTabOne = false;
+        }else{
+        	this.showTabOne = true;
+        }
+        this.AllChecktime();
+    }
+    handleTermOfPayment(event) {
+        this.PageMCEElement.Term_Of_Payment__c  = event.detail.value;
+        if (this.PageMCEElement.Term_Of_Payment__c  == '澶氭浠樻') {
+            this.showTabOnce = false;
+            this.showTabTwice = true;
+        }else{
+            this.showTabOnce = true;
+            this.showTabTwice = false;
+        }
+    }
+    handleOneoff(event) {
+        this.PageMCEElement.one_off_payment_agreed_period__c = event.detail.value;
+    }
+    handleSmallRepairTime(event) {
+        this.PageMCEElement.Small_Repair_Time__c = event.detail.value;
+    }
+    handleBigRepairTime(event) {
+        this.PageMCEElement.Big_Repair_Time__c = event.detail.value;
+    }
+    handleLiveTechnicalSupportTime(event) {
+        this.PageMCEElement.Live_Technical_Support_Time__c = event.detail.value;
+    }
+    handleTourCheck(event) {
+        this.PageMCEElement.Tour_Check__c = event.detail.value;
+    }
+    handleInspectionTime(event) {
+         this.PageMCEElement.Inspection_Time__c = event.detail.value;
+        this.AllChecktime();
+    }
+    handleDedust(event) {
+        this.PageMCEElement.Dedust__c  = event.detail.value;
+    }
+    handleFirstPartyContractNumber(event) {
+        this.PageMCEElement.First_Party_Contract_Number__c = event.detail.value;
+    }
+    handleSecondPartyContractNumber(event) {
+        this.PageMCEElement.Second_Party_Contract_Number__c = event.detail.value;
+    }
+
+    handleTotalPaymentTime(event) {
+        this.PageMCEElement.Total_Payment_Time__c = event.detail.value;
+    }
+    // 澶氭浠樻鍒�
+    handleDateFirst(event){
+        this.PageMCEElement.Payment_Plan_Date_First__c = event.detail.value;
+    }
+    handleDateSecond(event){
+        this.PageMCEElement.Payment_Plan_Date_Second__c = event.detail.value;
+    }
+    handleDateThird(event){
+        this.PageMCEElement.Payment_Plan_Date_Third__c = event.detail.value;
+    }
+    handleDateForth(event){
+        this.PageMCEElement.Payment_Plan_Date_Forth__c = event.detail.value;
+    }
+    handleDateFivth(event){
+        this.PageMCEElement.Payment_Plan_Date_Fivth__c  = event.detail.value;
+    }
+    handleDateSixth(event){
+        this.PageMCEElement.Payment_Plan_Date_Sixth__c = event.detail.value;
+    }
+    handleSumFirst(event){
+        this.PageMCEElement.Payment_Plan_Sum_First__c = event.detail.value;
+        this.PageMCEElement.Payment_Plan_Sum_First_in_Word__c = this.smalltoBIG(this.PageMCEElement.Payment_Plan_Sum_First__c);
+    }
+    handleSumSecond(event){
+        this.PageMCEElement.Payment_Plan_Sum_Second__c  = event.detail.value;
+        this.PageMCEElement.Payment_Plan_Sum_Second_in_Word__c = this.smalltoBIG(this.PageMCEElement.Payment_Plan_Sum_Second__c);
+    }
+    handleSumThird(event){
+        this.PageMCEElement.Payment_Plan_Sum_Third__c = event.detail.value;
+        this.PageMCEElement.Payment_Plan_Sum_Third_in_Word__c = this.smalltoBIG(this.PageMCEElement.Payment_Plan_Sum_Third__c);
+    }
+    handleSumForth(event){
+        this.PageMCEElement.Payment_Plan_Sum_Forth__c  = event.detail.value;
+        this.PageMCEElement.Payment_Plan_Sum_Forth_in_Word__c = this.smalltoBIG(this.PageMCEElement.Payment_Plan_Sum_Forth__c);
+    }
+    handleSumFivth(event){
+        this.PageMCEElement.Payment_Plan_Sum_Fivth__c = event.detail.value;
+        this.PageMCEElement.Payment_Plan_Sum_Fivth_in_Word__c = this.smalltoBIG(this.PageMCEElement.Payment_Plan_Sum_Fivth__c);
+    }
+    handleSumSixth(event){
+        this.PageMCEElement.Payment_Plan_Sum_Sixth__c = event.detail.value;
+        this.PageMCEElement.Payment_Plan_Sum_Sixth_in_Word__c = this.smalltoBIG(this.PageMCEElement.Payment_Plan_Sum_Sixth__c);
+    }
+    handleNegotiateMean(event){
+        this.PageMCEElement.Negotiate_Mean__c  = event.detail.value;
+    }
+    handleEngineerName(event){
+        this.PageMCEElement.Engineer_Name__c  = event.detail.value;
+    }
+    handlephoneNumber(event){
+        // this.phoneNumber = event.detail.value;
+        this.PageMCEElement.Phone_Number__c = event.detail.value;
+    }
+    handlePrint(event){
+        print().then(result =>{
+                 this.printContract = result.printContract;
+                 this.printAgent = result.printAgent;
+                 this.agreeUpperLimit = result.agreeUpperLimit;
+                 if (result.statusSave == 'Denied') {
+                    const event = new ShowToastEvent({
+                             title: 'warning',
+                             message: result.status,
+                             variant:'warning',
+                            });
+                    this.dispatchEvent(event);
+                 }
+        }).catch(error => {
+            console.log("error");
+            console.log(error.message());
+        });;
+    }
+     handlesave(event){
+       
+        save({
+            PageMCEElement:this.PageMCEElement
+         }).then(result =>{
+                 if (result.statusSave == 'Denied') {
+                    const event = new ShowToastEvent({
+                             title: 'warning',
+                             message: result.status,
+                             variant:'warning',
+                            });
+                    this.dispatchEvent(event);
+                 }
+        }).catch(error => {
+            console.log("error"+error.message());
+        });
+    }
+
+
+    /** 鏁板瓧閲戦澶у啓杞崲(鍙互澶勭悊鏁存暟,灏忔暟,璐熸暟) */    
+    smalltoBIG(n)
+    {    
+
+        var fraction = ['瑙�', '鍒�'];    
+        var digit = ['闆�', '澹�', '璐�', '鍙�', '鑲�', '浼�', '闄�', '鏌�', '鎹�', '鐜�'];    
+        var unit = [ ['鍏�', '涓�', '浜�'], ['', '鎷�', '浣�', '浠�']  ];    
+        var head = n < 0? '娆�': ''; 
+        n = n.replace(/\,/g,"");
+        n = Math.abs(n);   
+        var s = '';    
+        for (var i = 0; i < fraction.length; i++){
+            s += (digit[Math.floor(n * 10 * Math.pow(10, i)) % 10] + fraction[i]).replace(/闆�./, '');    
+        }    
+        s = s || '鏁�';    
+        n = Math.floor(n);  
+        for (var i = 0; i < unit[0].length && n > 0; i++)     {    
+            var p = '';    
+            for (var j = 0; j < unit[1].length && n > 0; j++)     {    
+                p = digit[n % 10] + unit[1][j] + p;    
+                n = Math.floor(n / 10);    
+            }    
+            s = p.replace(/(闆�.)*闆�$/, '').replace(/^$/, '闆�')  + unit[0][i] + s;    
+        }  
+        return head + s.replace(/(闆�.)*闆跺厓/, '鍏�').replace(/(闆�.)+/g, '闆�').replace(/^鏁�$/, '闆跺厓鏁�');    
+    }
+    Initdisabled(){
+        if(this.PageMCEElement.Status__c != '寮曞悎涓�'){
+            this.dis1 = true;
+            this.dis2 = true;
+            this.dis3 = true;
+            this.dis4 = true;
+            this.dis5 = true;
+            this.dis6 = true;
+            this.dis7 = true;
+            this.dis8 = true;
+            this.dis9 = true;
+            this.dis10 = true;
+            this.dis11 = true;
+            this.dis12 = true;
+            this.dis13 = true;
+            this.dis14 = true;
+            this.dis15 = true;
+            this.dis16 = true;
+            this.dis17 = true;
+            this.dis18 = true;
+            this.dis19 = true;
+            this.dis20 = true;
+            this.dis21 = true;
+            this.dis22 = true;
+            this.dis23 = true;
+            this.dis24 = true;
+            this.dis25 = true;
+            this.dis26 = true;
+            this.dis27 = true;
+            this.dis28 = true;
+            this.dis29 = true;
+            this.dis30 = true;
+        }
+        if (this.PageMCEElement.old_Is_RecognitionModel__c == 'true' && this.PageMCEElement.Term_Of_Payment__c == '澶氭浠樻') {
+            this.dis28 = true;
+        }
+    } 
+
+    CloseJs() {
+        if(this.statusSave == 'Fin'){
+            window.opener.top.location.href = '/'+this.recordId;
+            window.close();
+            this.dispatchEvent(new CloseActionScreenEvent());
+        }else{
+            this.dispatchEvent(new CloseActionScreenEvent());
+        }
+    }
+
+    // 鏂板鐐规鎬绘鏁帮紙鍙湪椤甸潰涓樉绀猴級fxk 2021/9/2 Star
+    AllChecktime(){
+        var Allchecks;
+        if(( this.PageMCEElement.Inspection_Time__c == '1' && this.ContractAllMonth < 9) 
+            || ( this.PageMCEElement.Inspection_Time__c == '2' && this.ContractAllMonth < 6) 
+            || ( this.PageMCEElement.Inspection_Time__c == '3' && this.ContractAllMonth < 4)
+            || ( this.PageMCEElement.Inspection_Time__c == '4' && this.ContractAllMonth < 3)){
+            Allchecks = '1';
+        }else{
+            if (this.ContractAllMonth - parseInt(this.ContractAllMonth / 12) * 12 >= 6 &&  this.PageMCEElement.Inspection_Time__c == '1'){
+                Allchecks = ((this.ContractAllMonth * Number( this.PageMCEElement.Inspection_Time__c))/12+1).toString();
+            }else{
+                Allchecks =((this.ContractAllMonth * Number( this.PageMCEElement.Inspection_Time__c))/12).toString();
+            }
+        }
+        if (Allchecks!=null) {
+             this.PageMCEElement.Inspection_Time__c = Allchecks;  
+        }
+    }
+
+
+    PrintJs() {    
+        if(this.statusSave == 'Fin'){
+            this.dispatchEvent(new CloseActionScreenEvent());
+            if (this.printContract == 'true') {
+                //HWAG-BHT7XX 2019/11/26 START
+                if(this.agreeUpperLimit == 'true'){
+                // 鎵撳嵃鍖婚櫌闄愭鍚堝悓閰嶇疆
+                window.open('/apex/NewMCHPDFLimit?id='+this.recordId, 'MCHLimitPDF');
+                window.close();
+                }else{
+                // 鎵撳嵃鍖婚櫌鍚堝悓閰嶇疆
+                window.open('/apex/NewMCHPDF?id='+this.recordId, 'MCHPDF');
+                window.close();
+                }
+                //HWAG-BHT7XX 2019/11/26 END
+            }else if (this.printAgent == 'true') {
+                if(this.agreeUpperLimit == 'true'){
+                //鎵撳嵃缁忛攢鍟嗛檺娆″悎鍚�
+                window.open('/apex/NewMCAgentPDFLimit?id='+this.recordId, 'MCAgentLimitPDF');
+                window.close()
+                }else{
+                //鎵撳嵃缁忛攢鍟嗗悎鍚�
+                window.open('/apex/NewMCAgentPDF?id='+this.recordId, 'MCHPDF');
+                window.close();
+                }
+            }else {
+                alert('1');
+            }
+        }else{
+            this.dispatchEvent(new CloseActionScreenEvent());
+        }
+    }
+
+
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/newPaymentPlanLoadLWC/newPaymentPlanLoadLWC.js-meta.xml b/force-app/main/default/lwc/newPaymentPlanLoadLWC/newPaymentPlanLoadLWC.js-meta.xml
new file mode 100644
index 0000000..803bed5
--- /dev/null
+++ b/force-app/main/default/lwc/newPaymentPlanLoadLWC/newPaymentPlanLoadLWC.js-meta.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="newPaymentPlanLoadLWC">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightning__RecordPage</target>
+        <target>lightning__AppPage</target>
+        <target>lightning__HomePage</target>
+        <target>lightning__RecordAction</target>
+        <target>lightning__Tab</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/newRepairLWC/newRepairLWC.css b/force-app/main/default/lwc/newRepairLWC/newRepairLWC.css
new file mode 100644
index 0000000..fa4ac70
--- /dev/null
+++ b/force-app/main/default/lwc/newRepairLWC/newRepairLWC.css
@@ -0,0 +1,9 @@
+.Narrow{
+	padding: 20px;
+}
+.searchField,.searchField .input-text{
+	/*display: flex;*/
+}
+.searchField .slds-combobox_container{
+    width: 160px !important;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/newRepairLWC/newRepairLWC.html b/force-app/main/default/lwc/newRepairLWC/newRepairLWC.html
new file mode 100644
index 0000000..e179ff8
--- /dev/null
+++ b/force-app/main/default/lwc/newRepairLWC/newRepairLWC.html
@@ -0,0 +1,106 @@
+<template>
+  <!-- <lightning-card  variant="Narrow"> -->
+  	<div class="exampleHolder" if:true={isLoading}>
+        <lightning-spinner alternative-text="Loading" size="small"></lightning-spinner>
+    </div>
+	<!-- slds-modal__container -->
+	<div class="">
+		<!-- <header class="slds-modal__header">
+			<button class="slds-button slds-button_icon slds-modal__close slds-button_icon-inverse"
+			title="Close" onclick={closeNewObjectModal}>
+				<lightning-icon icon-name="utility:close" alternative-text="close"
+				variant="inverse" size="small"></lightning-icon>
+				<span class="slds-assistive-text">Close</span>
+			</button>
+			<h2 id="modal-heading-01" class="slds-text-heading_medium slds-hyphenate">
+			{modalHeader} : {selectedRecordType}
+			</h2>
+		</header> -->
+		<div class="slds-modal__content slds-p-around_medium" id="modal-content-id-2">
+			<!-- Repair__c -->
+			<lightning-record-edit-form onload={handleRecordEditFormLoad} onsuccess={successNewRecordInsert} object-api-name='{objectName}'
+			record-type-id={recordId}>
+				<lightning-messages></lightning-messages>
+				<template if:true={uiPageLayoutView}>
+					<lightning-layout multiple-rows="true">
+						<lightning-layout-item size="12">
+							<template for:each={uiPageLayoutView.sections} for:item="section">
+								<!-- slds-grid -->
+								<div key={section.id} class="slds-wrap">
+									<div class="row slds-gutters row-width">
+									<h3 class="slds-p-vertical_xx-small slds-p-left_medium" style="font-size: 16px;width: 100%;border: 3px outset #d0d9e1;">{section.heading}</h3>
+									</div>
+									<lightning-layout multiple-rows="true">
+										<template for:each={section.layoutRows} for:item="layoutRow">
+											<template for:each={layoutRow.layoutItems} for:item="layoutItem">
+												<template for:each={layoutItem.layoutComponents} for:item="layoutComponent">
+													<lightning-layout-item key={layoutComponent.apiName} size="6" padding="horizontal-small">
+														<template if:true={layoutItem.editableForNew}>
+														<lightning-input-field data-fieldname={layoutComponent.apiName}
+														field-name={layoutComponent.apiName} name={layoutComponent.apiName} required={layoutItem.required}>
+														</lightning-input-field>
+														</template>
+														<!-- <template if:false={layoutItem.editableForNew}> -->
+															<!-- 淇悊鍙椾粯鐣彿 -->
+															<!-- <template if:true={layoutComponent.apiName}>
+															<lightning-output-field field-name={layoutComponent.apiName}>
+															</lightning-output-field>
+															</template> -->
+														<!-- </template> -->
+													</lightning-layout-item>
+												</template>
+											</template>
+										</template>
+									</lightning-layout>
+								</div>
+							</template>
+						</lightning-layout-item>
+					</lightning-layout>
+				</template>
+				<lightning-messages></lightning-messages>
+				<!-- slds-m-top_medium  slds-m-top_small-->
+				<div class="" style="text-align: center;">
+		            <lightning-button
+		                class=""
+		                label="鍙栨秷"
+		                onclick={handleReset}
+		            ></lightning-button>
+		            <lightning-button
+		                class=""
+		                type="submit"
+		                name="save"
+		                label="淇濆瓨"
+		            ></lightning-button>
+		            <!-- <lightning-button
+		                class="slds-m-top_small"
+		                type="submit"
+		                name="saveAndNew"
+		                label="淇濆瓨鏂板缓"
+		            ></lightning-button> -->
+		        </div>
+			</lightning-record-edit-form>
+		</div>
+		<!-- <div class="footer-background-class">
+			<div class="slds-align_absolute-center slds-p-around_xx-small">
+				<lightning-button class="slds-m-around_xx-small"
+				title="Cancel" label="Cancel"
+				onclick={closeNewObjectModal}>
+				</lightning-button>
+				<lightning-button variant="brand" title="Save"
+				onclick={submitRecordForm} name="Save" label="Save">
+				</lightning-button>
+			</div>
+		</div> -->
+	</div>
+
+  <!-- <lightning-record-edit-form record-id={recordId} object-api-name='{objectName}'>
+    <lightning-input-field field-name="Delivered_Product__c"> </lightning-input-field>
+    <lightning-button
+        class="slds-m-top_small"
+        variant="brand"
+        type="submit"
+        label="Update"
+    >
+    </lightning-button>
+</lightning-record-edit-form> -->
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/newRepairLWC/newRepairLWC.js b/force-app/main/default/lwc/newRepairLWC/newRepairLWC.js
new file mode 100644
index 0000000..305fbf7
--- /dev/null
+++ b/force-app/main/default/lwc/newRepairLWC/newRepairLWC.js
@@ -0,0 +1,124 @@
+import { LightningElement,wire,track,api} from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import { NavigationMixin } from 'lightning/navigation';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+
+// import { getRecordUi } from 'lightning/uiRecordApi';
+
+// import NAME_FIELD from '@salesforce/schema/Repair__c.Incharge_Staff__c';
+import MY_CUSTOM_OBJECT from '@salesforce/schema/Repair__c';
+
+import init from '@salesforce/apex/NewRepairAuraController.init';
+
+export default class newRepairLWC extends LightningElement {
+    // Expose a field to make it available in the template
+    // nameField = NAME_FIELD;
+
+    // Flexipage provides recordId and objectApiName
+    // @api recordId = 'a0J0l00000EouAT';
+    @api recordId;
+    @api urlStr;
+    @api objectApiName;
+
+    /* @wire(CurrentPageReference)
+     getStateParameters(currentPageReference) {
+             console.log(111);
+             console.log(currentPageReference);
+
+         if (currentPageReference) {
+           const urlValue = currentPageReference.state.recordId;
+           if (urlValue) {
+             let str = `${urlValue}`;
+             console.log("str");
+             console.log(str);
+             this.recordId = str;
+           }
+         }
+     }*/
+
+    objectName = 'Repair__c';
+    uiPageLayoutView;
+    isNewMode;
+    //榛樿鍊艰祴鍊兼爣璁�
+    // defaultFlag = true;
+    defaultValue;
+    isLoading = true;
+
+
+    connectedCallback(){ 
+        console.log(this.recordId); 
+        console.log(JSON.parse(this.urlStr)); 
+        console.log(333);  
+    }
+    //鑾峰彇Layout瀛楁
+    handleRecordEditFormLoad(event) {
+        console.log('Layout => ', JSON.stringify(event.detail.layout));
+        this.uiPageLayoutView = event.detail.layout;
+        console.log('Layout1 => ',this.uiPageLayoutView);
+        // urlStr 浼犲弬澶勭悊
+       init({
+            recordId : this.recordId,urlStr : this.urlStr
+        }).then(result => {
+            console.log("result");
+            console.log(result);
+            this.defaultValue = result;
+            this.defaultValue['Delivered_Product'] = '02i10000004tNXIAA2';
+            if (!result.status) {
+                const inputFields = this.template.querySelectorAll(
+               'lightning-input-field'
+                );
+                if (inputFields) {
+                   inputFields.forEach(field => {
+                    /*console.log('fieldsif => ',field);
+                    console.log('fieldsif => ',field.name);
+                    console.log('fieldsif => ',field.name.replace("__c",""));*/
+                    let fieldName = field.name.replace("__c","");
+                    if (this.defaultValue.hasOwnProperty(fieldName)) {
+                        console.log('fieldsif => ',field);
+                        // field.value= this.defaultValue[fieldName];
+                    }
+                   });
+               }
+            }
+        }).catch(error => {
+            console.log("error");
+            console.log(error);
+        }).finally(() => {
+            this.isLoading = false;
+        });  
+        
+    }
+    //
+
+    handleSubmit(event){
+        console.log("handleSubmit");
+       event.preventDefault();       // stop the form from submitting
+       const fields = event.detail.fields;
+       console.log("fields");
+       console.log(fields);
+       console.log(event.detail);
+       // this.template.querySelector('lightning-record-edit-form').submit(fields);
+    }
+    //鎴愬姛鍚庤烦杞�
+    handleSucess(event){
+       const updatedRecord = event.detail.id;
+       console.log('onsuccess: ', updatedRecord);
+    }
+    handleReset(event) {
+        const fields = event.detail.fields;
+        console.log('fields => ',fields);
+       const inputFields = this.template.querySelectorAll(
+           'lightning-input-field'
+       );
+       if (inputFields) {
+           inputFields.forEach(field => {
+
+                console.log('fieldsif => ',field);
+                console.log('fieldsif => ',field.name);
+               // field.reset();
+           });
+       }
+    }
+
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/newRepairLWC/newRepairLWC.js-meta.xml b/force-app/main/default/lwc/newRepairLWC/newRepairLWC.js-meta.xml
new file mode 100644
index 0000000..2b7649d
--- /dev/null
+++ b/force-app/main/default/lwc/newRepairLWC/newRepairLWC.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+	<apiVersion>54.0</apiVersion>
+	<isExposed>true</isExposed>
+	<targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/opdCancelSubmit/opdCancelSubmit.css b/force-app/main/default/lwc/opdCancelSubmit/opdCancelSubmit.css
new file mode 100644
index 0000000..ebb43d9
--- /dev/null
+++ b/force-app/main/default/lwc/opdCancelSubmit/opdCancelSubmit.css
@@ -0,0 +1,10 @@
+.exampleHolder{
+    position: relative;
+    display: inline-block;
+    width: 80px;
+    height: 80px;
+    text-align: center;
+}
+.container .uiContainerManager{
+	display: none !important;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/opdCancelSubmit/opdCancelSubmit.html b/force-app/main/default/lwc/opdCancelSubmit/opdCancelSubmit.html
new file mode 100644
index 0000000..6e573d9
--- /dev/null
+++ b/force-app/main/default/lwc/opdCancelSubmit/opdCancelSubmit.html
@@ -0,0 +1,5 @@
+<template>
+    <div class="CreateEmailHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/opdCancelSubmit/opdCancelSubmit.js b/force-app/main/default/lwc/opdCancelSubmit/opdCancelSubmit.js
new file mode 100644
index 0000000..f6773c7
--- /dev/null
+++ b/force-app/main/default/lwc/opdCancelSubmit/opdCancelSubmit.js
@@ -0,0 +1,99 @@
+/*
+ * @Date: 2023-03-23 16:51:04
+ * @Author: @zyh
+ * @LastEditTime: 2023-03-28 10:39:30
+ * @Descripttion: 
+ */
+import { LightningElement,wire,track,api } from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import { NavigationMixin } from 'lightning/navigation';
+import init from '@salesforce/apex/OPDLwcController.initOPDCancelSubmit';
+import changeTrade from '@salesforce/apex/OpdPlanWebService.changeTrade';
+
+export default class OpdCancelSubmit extends NavigationMixin(LightningElement)  {
+    @api recordId;
+    Status;
+    Name;
+    Id;
+    IsLoading = true;
+    
+    @wire(CurrentPageReference)
+    getStateParmeters(currentPageReference) {
+        console.log(111);
+        console.log(currentPageReference);
+
+        if (currentPageReference) {
+          const urlValue = currentPageReference.state.recordId;
+          if (urlValue) {
+            let str = `${urlValue}`;
+            console.log("str");
+            console.log(str);
+            this.recordId = str;
+          }
+        }
+    }
+    connectedCallback(){
+        console.log('zheli'+this.recordId);
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            console.log('zheli11'+result);
+
+            console.log(result);
+            if(result != null) {
+                this.IsLoading = false;
+                this.Id = result.Id;
+                this.Status = result.Status;
+                this.Name = result.Name;
+                console.log("123");
+                console.log(this.Id);
+                console.log(this.Status);
+                console.log(this.Name);
+                this.cancleSubmit();
+                this.dispatchEvent(new CloseActionScreenEvent());
+            }
+        }).catch(error => {
+            console.log("error");
+            console.log(error);
+        }).finally(() => {
+            
+        });
+    }
+    cancleSubmit(){
+        console.log('zheli11'+this.Status);
+        var rtn = '';
+        if(this.Status == '鍙栨秷' || this.Status == '瀹屾瘯' ){
+            alert('OPD璁″垝鐨勭姸鎬佷负鍙栨秷鎴栧畬姣曟椂锛屼笉鑳藉彇娑�');
+            return;
+        }
+        // alert('122');
+        // var rtn = sforce.apex.execute("OpdPlanWebService", "changeTrade",this.Id);
+        changeTrade({
+            opdplanId: this.Id
+        }).then(result => {
+            rtn = result;
+            
+            // alert(rtn);
+            if (rtn != 'OK') {
+            alert(rtn);
+            return;
+            }
+            // window.open('/a3D/e?CF00N10000008ps4s='+ this.Name +'&00N10000008ps4u=鍙栨秷&RecordType=01210000000gQyL');
+            // alert('111');
+            // window.open('/lightning/o/CancelPostponePlan__c/new?recordTypeId=01210000000gQyL&additionalParams=CF00N10000008ps4s=' + this.Name + '&count=1');
+            // window.location.replace('/lightning/o/CancelPostponePlan__c/new?recordTypeId=01210000000gQyL&additionalParams=CF00N10000008ps4s=' + this.Name + '&count=1====');
+            this[NavigationMixin.Navigate]({
+                type: 'standard__objectPage',
+                attributes: {
+                    objectApiName: 'CancelPostponePlan__c', // 瑕佹柊寤虹殑瀵硅薄API
+                    actionName: 'new'
+                },
+                state:{
+                    defaultFieldValues:'CancelOPDPlan__c='+this.Id // 瑕佸鍒剁殑瀛楁API
+                }
+            });
+        });
+        
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/opdCancelSubmit/opdCancelSubmit.js-meta.xml b/force-app/main/default/lwc/opdCancelSubmit/opdCancelSubmit.js-meta.xml
new file mode 100644
index 0000000..fafbfc5
--- /dev/null
+++ b/force-app/main/default/lwc/opdCancelSubmit/opdCancelSubmit.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>56.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/opdNewSparePartsLoanApplication/opdNewSparePartsLoanApplication.css b/force-app/main/default/lwc/opdNewSparePartsLoanApplication/opdNewSparePartsLoanApplication.css
new file mode 100644
index 0000000..ebb43d9
--- /dev/null
+++ b/force-app/main/default/lwc/opdNewSparePartsLoanApplication/opdNewSparePartsLoanApplication.css
@@ -0,0 +1,10 @@
+.exampleHolder{
+    position: relative;
+    display: inline-block;
+    width: 80px;
+    height: 80px;
+    text-align: center;
+}
+.container .uiContainerManager{
+	display: none !important;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/opdNewSparePartsLoanApplication/opdNewSparePartsLoanApplication.html b/force-app/main/default/lwc/opdNewSparePartsLoanApplication/opdNewSparePartsLoanApplication.html
new file mode 100644
index 0000000..6e573d9
--- /dev/null
+++ b/force-app/main/default/lwc/opdNewSparePartsLoanApplication/opdNewSparePartsLoanApplication.html
@@ -0,0 +1,5 @@
+<template>
+    <div class="CreateEmailHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/opdNewSparePartsLoanApplication/opdNewSparePartsLoanApplication.js b/force-app/main/default/lwc/opdNewSparePartsLoanApplication/opdNewSparePartsLoanApplication.js
new file mode 100644
index 0000000..95f2519
--- /dev/null
+++ b/force-app/main/default/lwc/opdNewSparePartsLoanApplication/opdNewSparePartsLoanApplication.js
@@ -0,0 +1,346 @@
+/*
+ * @Date: 2023-04-06 13:41:29
+ * @Author: @zyh
+ * @LastEditTime: 2023-04-17 15:52:15
+ * @Descripttion: 
+ */
+import { LightningElement,wire,track,api } from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import { NavigationMixin } from 'lightning/navigation';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+import UserInfo_Owner from '@salesforce/apex/TaskFeedbackController.UserInfo_Owner';
+import init from '@salesforce/apex/OPDLwcController.initOPDCancelSubmit';
+import RecordType from '@salesforce/apex/OPDLwcController.RecordType';
+// import applySelect from '@salesforce/apex/OPDLwcController.applySelect';
+import changeTrade from '@salesforce/apex/OpdPlanWebService.changeTrade';
+import { encodeDefaultFieldValues } from 'lightning/pageReferenceUtils';
+
+export default class OpdNewSparePartsLoanApplication extends LightningElement {
+    @api recordId;
+    Status;
+    Name;
+    Days;
+    OPDType;
+    CampaignId;
+    CampaignStatus;
+    CampaignTypeId;
+    cp;
+    StayOrNot;
+    OriginalOpdPlanApplication;
+    IFApproved;
+    ApprovedNo;
+    ApprovedStatus;
+    HaveValue;
+    OriginalOpdPlan;
+    OpportunityId;
+    accountLaboratory;
+    OCMcategoryID;
+    HospitalID;
+    isJump;
+    jumpCause;
+    Id;
+    userId;
+    userName;
+    IsLoading = true;
+    @wire(CurrentPageReference)
+    getStateParameters(currentPageReference) {
+            console.log(111);
+            console.log(currentPageReference);
+
+        if (currentPageReference) {
+        const urlValue = currentPageReference.state.recordId;
+        if (urlValue) {
+            let str = `${urlValue}`;
+            console.log("str");
+            console.log(str);
+            this.recordId = str;
+        }
+        }
+    }
+    connectedCallback () {
+        console.log(this.recordId);
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            console.log(result);
+            if (result != null) {
+                this.IsLoading = false;
+                this.ownerId = result.ownerId;
+                this.monthlyReportId = result.Id;
+                this.Days = result.rentalApplyFlag;
+                this.OPDType = result.oPDType;
+                this.CampaignId = result.campaignId;
+                this.CampaignStatus = result.campaignStatus;
+                this.CampaignTypeId = result.campaignRecodeTypeId;
+                this.cp = result.internalinchargeprovince;
+                this.StayOrNot = result.stayOrNot;
+                this.OriginalOpdPlanApplication = result.originalOpdPlanApplication;
+                this.IFApproved = result.iFApproved;
+                this.ApprovedNo = result.approvedNo;
+                this.ApprovedStatus = result.approvedStatus;
+                this.HaveValue = result.Rental_Apply2;
+                this.OriginalOpdPlan = result.originalOpdPlan;
+                this.OpportunityId = result.Related_Opportunity1_ID;
+                this.accountLaboratory = result.accountLaboratory;
+                this.OCMcategoryID = result.OCM_category_ID;
+                this.HospitalID = result.HospitalID;
+                this.isJump = result.isJump;
+                this.jumpCause = result.jumpCause;
+                this.newSpa();
+                console.log("end");
+            //  this.handleSuccess();
+            //  this.dispatchEvent(new CloseActionScreenEvent());
+            //  this.updateRecordView(this.recordId);
+
+                //window.location.replace("https://ocsm--partial.sandbox.lightning.force.com/lightning/r/Monthly_Report__c/" + this.monthlyReportId + "/view");
+            }
+        }).catch(error => {
+            console.log("error");
+            console.log(error);
+        }).finally(() => {
+            
+        });   
+    }
+    newSpa(){
+        UserInfo_Owner({
+
+        }).then(result => {
+            console.log(result);
+
+        })
+        if (this.StayOrNot == '宸茬鑱�') {
+            const evt = new ShowToastEvent({
+                title : 'Error',
+                message : '鎵�鏈変汉宸茬粡绂昏亴锛岃鑱旂郴绯荤粺绠$悊鍛樹慨鏀规墍鏈変汉銆�',
+                variant : 'error'
+            });
+            this.dispatchEvent(evt);
+            // alert('鎵�鏈変汉宸茬粡绂昏亴锛岃鑱旂郴绯荤粺绠$悊鍛樹慨鏀规墍鏈変汉銆�');
+            return;
+        }
+        if (this.IFApproved == true && this.ApprovedNo == ''){
+            const evt = new ShowToastEvent({
+                title : 'Error',
+                message : '闇�瑕佸喅瑁佹椂锛屽喅瑁佺紪鐮佷笉鑳戒负绌�',
+                variant : 'error'
+            });
+            this.dispatchEvent(evt);
+            // alert('闇�瑕佸喅瑁佹椂锛屽喅瑁佺紪鐮佷笉鑳戒负绌�');
+            return;
+        }
+        var statusSting = "{!$Label.StatusProcessState}"; 
+        console.log(statusSting+'=====statusSting');
+        if (this.IFApproved == true && this.ApprovedNo != '' && statusSting.indexOf(this.ApprovedStatus)!= -1 && this.ApprovedStatus != '鑽夌' ){
+            const evt = new ShowToastEvent({
+                title : 'Error',
+                message : '宸茬敵璇峰喅瑁佷絾鍐宠鐘舵�佷笉绗﹀悎鏉′欢',
+                variant : 'error'
+            });
+            this.dispatchEvent(evt);
+            // alert('宸茬敵璇峰喅瑁佷絾鍐宠鐘舵�佷笉绗﹀悎鏉′欢');
+            return;
+        }
+        if (this.HaveValue != '' && this.OPDType != '瀛︿細') {
+            const evt = new ShowToastEvent({
+                title : 'Error',
+                message : '涓�涓狾PD璁″垝鍙彲鍏宠仈鍒涘缓涓�涓鍝佺敵璇峰崟',
+                variant : 'error'
+            });
+            this.dispatchEvent(evt);
+            // alert('涓�涓狾PD璁″垝鍙彲鍏宠仈鍒涘缓涓�涓鍝佺敵璇峰崟');
+            return;
+        }
+        if (this.Status != '璁″垝涓�') {
+            const evt = new ShowToastEvent({
+                title : 'Error',
+                message : 'OPD璁″垝鐨勭姸鎬佷笉鏄鍒掍腑锛屼笉鑳芥柊寤哄鍝佸�熷嚭鐢宠',
+                variant : 'error'
+            });
+            this.dispatchEvent(evt);
+            // alert('OPD璁″垝鐨勭姸鎬佷笉鏄鍒掍腑锛屼笉鑳芥柊寤哄鍝佸�熷嚭鐢宠');
+            return;
+        }
+        if (UserInfo_Owner.isFormal_Stuff__c == 'true') {
+            const evt = new ShowToastEvent({
+                title : 'Error',
+                message : '璇曠敤鏈熷唴锛屼笉鑳界敵璇�',
+                variant : 'error'
+            });
+            this.dispatchEvent(evt);
+            // alert('璇曠敤鏈熷唴锛屼笉鑳界敵璇�');
+            return;
+        }
+        if (this.Status != '璁″垝涓�') {
+            const evt = new ShowToastEvent({
+                title : 'Error',
+                message : 'OPD璁″垝鐨勭姸鎬佷笉鏄鍒掍腑锛屼笉鑳芥柊寤哄鍝佸�熷嚭鐢宠',
+                variant : 'error'
+            });
+            this.dispatchEvent(evt);
+            // alert('OPD璁″垝鐨勭姸鎬佷笉鏄鍒掍腑锛屼笉鑳芥柊寤哄鍝佸�熷嚭鐢宠');
+            return;
+        }
+        if (UserInfo_Owner.isFormal_Stuff__c == 'true') {
+            const evt = new ShowToastEvent({
+                title : 'Error',
+                message : '璇曠敤鏈熷唴锛屼笉鑳界敵璇�',
+                variant : 'error'
+            });
+            this.dispatchEvent(evt);
+            // alert('璇曠敤鏈熷唴锛屼笉鑳界敵璇�');
+            return;
+        }
+        
+        if (this.OPDType == '瀛︿細' && this.CampaignId != '') {
+            if (this.Days < 7) {
+                const evt = new ShowToastEvent({
+                    title : 'Error',
+                    message : '鐢宠鎻愪氦蹇呴』鍦�7澶�(鍚�)浠ヤ笂鎵嶅彲浠�',
+                    variant : 'error'
+                });
+                this.dispatchEvent(evt);
+                // alert("鐢宠鎻愪氦蹇呴』鍦�7澶�(鍚�)浠ヤ笂鎵嶅彲浠�");
+                return;
+            }
+            if (this.CampaignTypeId != '01210000000R26P' && UserInfo_Owner.Job_Category__c == '閿�鍞湇鍔�' ) {
+                const evt = new ShowToastEvent({
+                    title : 'Error',
+                    message : 'FSE涓嶈兘鐢宠璇ュ浼氱被鍨嬪鍝�',
+                    variant : 'error'
+                });
+                this.dispatchEvent(evt);
+                // alert('FSE涓嶈兘鐢宠璇ュ浼氱被鍨嬪鍝�');
+                return;
+            } else if (('{!Text($User.Job_Category__c)}' == '閿�鍞湇鍔�' || '{!Text($User.Job_Category__c)}' == '鏀彺') && this.CampaignTypeId == '01210000000R26P' && this.cp.indexOf(ups) == -1) {
+                const evt = new ShowToastEvent({
+                    title : 'Error',
+                    message : '涓嶧SE鎵�鍦ㄧ渷涓�鑷达紝鎵嶅彲浣跨敤澶囧搧',
+                    variant : 'error'
+                });
+                this.dispatchEvent(evt);
+                // alert("涓嶧SE鎵�鍦ㄧ渷涓�鑷达紝鎵嶅彲浣跨敤澶囧搧");
+                return;
+            } else if (this.CampaignStatus == '宸茬粨鏉�') {
+                const evt = new ShowToastEvent({
+                    title : 'Error',
+                    message : '宸茬粨鏉燂紝涓嶈兘鐢宠',
+                    variant : 'error'
+                });
+                this.dispatchEvent(evt);
+                // alert("宸茬粨鏉燂紝涓嶈兘鐢宠");
+                return;
+            } else if (this.CampaignStatus == '宸叉彁浜ゆ姤鍛�') {
+                const evt = new ShowToastEvent({
+                    title : 'Error',
+                    message : '宸叉彁浜ゆ姤鍛婏紝涓嶈兘鐢宠',
+                    variant : 'error'
+                });
+                this.dispatchEvent(evt);
+                // alert("宸叉彁浜ゆ姤鍛婏紝涓嶈兘鐢宠");
+                return;
+            } else if (this.CampaignStatus == '鍙栨秷鐢宠涓�') {
+                const evt = new ShowToastEvent({
+                    title : 'Error',
+                    message : '鍙栨秷鐢宠涓紝涓嶈兘鐢宠',
+                    variant : 'error'
+                });
+                this.dispatchEvent(evt);
+                // alert("鍙栨秷鐢宠涓紝涓嶈兘鐢宠");
+                return;
+            } else if (this.CampaignStatus == '鍙栨秷') {
+                const evt = new ShowToastEvent({
+                    title : 'Error',
+                    message : '宸茬粡鍙栨秷锛屼笉鑳界敵璇�',
+                    variant : 'error'
+                });
+                this.dispatchEvent(evt);
+                // alert("宸茬粡鍙栨秷锛屼笉鑳界敵璇�");
+                return;
+            }
+        }
+
+        if (this.OriginalOpdPlan == '') {
+            // SWAG-BZL695 you 20210413 end
+            if (this.OriginalOpdPlanApplication == '') {
+                if (this.OPDType == '瀛︿細' && this.CampaignId != '') {
+                    // var purposeStr = '&00N10000003Msk0=浜у搧璇曠敤' +
+                    // '&00N10000003Msk5=瀛︿細灞曚細' +
+                    // '&CF00N10000003Mp2q_lkid={!URLENCODE(OPDPlan__c.CampaignId__c)}' +
+                    // '&CF00N10000003Mp2q={!URLENCODE(OPDPlan__c.CampaignName__c)}';
+                    const defaultValues = encodeDefaultFieldValues({
+                        Demo_purpose1__c: '浜у搧璇曠敤',
+                        demo_purpose2__c: '瀛︿細灞曚細',
+                        Campaign__c: this.CampaignId
+                    });
+                    console.log(defaultValues);
+                } else if (this.OpportunityId != '') {
+                    // var purposeStr = '&00N10000003Msk0=浜у搧璇曠敤' +
+                    // '&00N10000003Msk5=璇曠敤锛堟湁璇环锛�' +
+                    // '&CF00N10000003O3VB_lkid={!OPDPlan__c.Related_Opportunity1_IDId__c}' +
+                    // '&CF00N10000003O3VB={!HTMLENCODE(OPDPlan__c.Related_Opportunity1_Name__c)}';
+                    const defaultValues = encodeDefaultFieldValues({
+                        Demo_purpose1__c: '浜у搧璇曠敤',
+                        demo_purpose2__c: '璇曠敤锛堟湁璇环锛�',
+                        Follow_UP_Opp__c: this.OpportunityId
+                    });
+                    console.log(defaultValues);
+                } else {
+                    // var purposeStr = '&00N10000003Msk0=浜у搧璇曠敤' +
+                    // '&00N10000003Msk5=璇曠敤锛堟棤璇环锛�' +
+                    // '&00N100000098amW={!OPDPlan__c.NoOpp_Reason__c}';
+                    const defaultValues = encodeDefaultFieldValues({
+                        Demo_purpose1__c: '浜у搧璇曠敤',
+                        demo_purpose2__c: '璇曠敤锛堟湁璇环锛�',
+                        NoOpp_Reason__c: this.noOppReason
+                    });
+                    console.log(defaultValues);
+                }
+            
+                // var urlStr = '&CF00N10000003Mp2R={!HTMLENCODE(OPDPlan__c.Account_Laboratory__c)}' +
+                // '&CF00N10000003Mp2R_lkid={!OPDPlan__c.Account_LaboratoryId__c}' +
+                // '&CF00N10000003O3V6_lkid={!OPDPlan__c.OCM_category_ID__c}' +
+                // '&CF00N10000003O3V6={!HTMLENCODE(OPDPlan__c.OCM_category_Name__c)}' +
+                // '&CF00N10000003Mp1d_lkid={!OPDPlan__c.HospitalID__c}' +
+                // '&CF00N10000003Mp1d={!HTMLENCODE(OPDPlan__c.HospitalName__c)}' +
+                // '&CF00N10000008ps61={!HTMLENCODE(OPDPlan__c.Name)}' +
+                // '&CF00N10000008ps61_lkid={!OPDPlan__c.Id}' +
+                // '&CF00N10000005HzRr={!URLENCODE($User.LastName&' '&$User.FirstName)}' +
+                // '&CF00N10000005HzRr_lkid={!URLENCODE($User.Id)}' +
+                // '&CF00N10000005HzRz={!URLENCODE($User.LastName&' '&$User.FirstName)}' +
+                // '&CF00N10000005HzRz_lkid={!URLENCODE($User.Id)}' +
+                // '&00N10000003OJzc={!URLENCODE($User.LastName&' '&$User.FirstName)}' +
+                // '&00N100000098dmS={!OPDPlan__c.IsJump__c}' +
+                // '&00N100000098dmI={!HTMLENCODE(OPDPlan__c.JumpCause__c)}' +
+                // '&Name=*'+
+                // '&00N10000009HBWg= {!OPDPlan__c.Approved_Status__c} ' +
+                // '&00N10000009HBXK= {!OPDPlan__c.Approved_No__c} '; //// 20220211 sx add 澶囧搧鍊熷嚭鐢宠-鍐宠鎺у埗 No.2
+                const defaultValues1 = encodeDefaultFieldValues({
+                    Account__c: this.accountLaboratory,
+                    Strategic_dept__c: this.OCMcategoryID,
+                    Hospital__c : this.HospitalID,
+                    OPDPlan__c : this.Id,
+                    Person_In_Charge__c : $User.Id,
+                    applyUser__c : $User.Id,
+                    Loaner_received_staff__c : $User.Name,
+                    IsJump__c : this.isJump,
+                    JumpCause__c : this.jumpCause,
+                    Approved_State_Create__c : this.ApprovedStatus,
+                    ApprovedNo_Create__c : this.ApprovedNo
+                });
+                console.log(defaultValues1);
+                // window.open('/a0t/e?retURL=%2F{!OPDPlan__c.Id}' + purposeStr + urlStr );
+            } else {
+                //SWAG-C4H67U XHL 20210726 Start
+                var url = "/{!OPDPlan__c.originalOpdRentalApply__c}/e?newclone=1&retURL=%2F{!OPDPlan__c.originalOpdRentalApply__c}&common.udd.actions.ActionsUtilORIG_URI=%2F{!OPDPlan__c.RentalApplyId__c}%2Fe&cloneli=1&00N10000007MNF8=&00N100000098uKJ=&00N10000004oFTC=&00N10000003O1JF=&00N10000003O1JK=&00N10000006pvpZ=&00N10000003O1JU=&00N10000006gY9x=&00N10000003Mp2H=鑽夋涓�&CF00N10000009EKKp_lkid={!OPDPlan__c.RentalApplyId__c}&CF00N10000009EKKp={!OPDPlan__c.RentalApplyName__c}&CF00N10000008ps61={!OPDPlan__c.Name}&CF00N10000008ps61_lkid={!OPDPlan__c.Id}&CF00N10000008poFM=&CF00N10000008poFM_lkid=&CF00N10000005HzRq=&CF00N10000005HzRq_lkid=&00N10000007oQKh=";
+                window.open(url);
+                //SWAG-C4H67U XHL 20210726 End
+            }
+        } else {
+            // SWAG-BZL695 you 20210413 start
+            var url = "/{!OPDPlan__c.RentalApplyId__c}/e?newclone=1&retURL=%2F{!OPDPlan__c.RentalApplyId__c}&common.udd.actions.ActionsUtilORIG_URI=%2F{!OPDPlan__c.RentalApplyId__c}%2Fe&cloneli=1&00N10000007MNF8=&00N100000098uKJ=&00N10000004oFTC=&00N10000003Ntz7=&00N10000008rG1M=&00N10000005HzRw=&00N10000003Mp2H=鑽夋涓�&CF00N10000009EKKp_lkid={!OPDPlan__c.RentalApplyId__c}&CF00N10000009EKKp={!OPDPlan__c.RentalApplyName__c}&CF00N10000008ps61={!OPDPlan__c.Name}&CF00N10000008ps61_lkid={!OPDPlan__c.Id}&CF00N10000008poFM=&CF00N10000008poFM_lkid=&CF00N10000005HzRq=&CF00N10000005HzRq_lkid=&00N10000007oQKh=";
+            window.open(url);
+            // SWAG-BZL695 you 20210413 end
+        }
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/opdNewSparePartsLoanApplication/opdNewSparePartsLoanApplication.js-meta.xml b/force-app/main/default/lwc/opdNewSparePartsLoanApplication/opdNewSparePartsLoanApplication.js-meta.xml
new file mode 100644
index 0000000..fafbfc5
--- /dev/null
+++ b/force-app/main/default/lwc/opdNewSparePartsLoanApplication/opdNewSparePartsLoanApplication.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>56.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/opdReportSubmit/opdReportSubmit.css b/force-app/main/default/lwc/opdReportSubmit/opdReportSubmit.css
new file mode 100644
index 0000000..ebb43d9
--- /dev/null
+++ b/force-app/main/default/lwc/opdReportSubmit/opdReportSubmit.css
@@ -0,0 +1,10 @@
+.exampleHolder{
+    position: relative;
+    display: inline-block;
+    width: 80px;
+    height: 80px;
+    text-align: center;
+}
+.container .uiContainerManager{
+	display: none !important;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/opdReportSubmit/opdReportSubmit.html b/force-app/main/default/lwc/opdReportSubmit/opdReportSubmit.html
new file mode 100644
index 0000000..6e573d9
--- /dev/null
+++ b/force-app/main/default/lwc/opdReportSubmit/opdReportSubmit.html
@@ -0,0 +1,5 @@
+<template>
+    <div class="CreateEmailHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/opdReportSubmit/opdReportSubmit.js b/force-app/main/default/lwc/opdReportSubmit/opdReportSubmit.js
new file mode 100644
index 0000000..3d2af51
--- /dev/null
+++ b/force-app/main/default/lwc/opdReportSubmit/opdReportSubmit.js
@@ -0,0 +1,159 @@
+/*
+ * @Date: 2023-03-28 13:58:54
+ * @Author: @zyh
+ * @LastEditTime: 2023-04-17 16:40:08
+ * @Descripttion: 
+ */
+import { LightningElement,wire,track,api } from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import { NavigationMixin } from 'lightning/navigation';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+import init from '@salesforce/apex/OPDLwcController.initOPDCancelSubmit';
+import changeTrade from '@salesforce/apex/OpdPlanWebService.changeTrade';
+
+export default class OpdReportSubmit extends LightningElement {
+    @api recordId;
+    Status;
+    Name;
+    Id;
+    Rental_Apply1_Status_New;
+    Rental_Apply2_Status_New;
+    Rental_Apply3_Status_New;
+    Rental_Apply4_Status_New;
+    Rental_Apply5_Status_New;
+    Related_Opportunity1_ID;
+    Related_Opportunity1_Name;
+    Related_Opportunity2_ID;
+    Related_Opportunity2_Name;
+    Activity_Type2;
+    Account_Laboratory;
+    OCM_category_ID;
+    OCM_category_Name;
+    HospitalID;
+    HospitalName;
+    Rental_Apply2;
+    IsLoading = true;
+
+    @wire(CurrentPageReference)
+    getStateParmeters(currentPageReference) {
+        console.log(111);
+        console.log(currentPageReference);
+
+        if (currentPageReference) {
+          const urlValue = currentPageReference.state.recordId;
+          if (urlValue) {
+            let str = `${urlValue}`;
+            console.log("str");
+            console.log(str);
+            this.recordId = str;
+          }
+        }
+    }
+
+    
+    connectedCallback(){
+        console.log('zheli'+this.recordId);
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            console.log('zheli11'+result);
+
+            console.log(result);
+            console.log('123123111' + result.Related_Opportunity1_ID);
+            if(result != null) {
+                this.IsLoading = false;
+                this.Id = result.Id;
+                this.Status = result.Status;
+                this.Name = result.Name;
+                this.Rental_Apply1_Status_New = result.Rental_Apply1_Status_New;
+                this.Rental_Apply2_Status_New = result.Rental_Apply2_Status_New;
+                this.Rental_Apply3_Status_New = result.Rental_Apply3_Status_New;
+                this.Rental_Apply4_Status_New = result.Rental_Apply4_Status_New;
+                this.Rental_Apply5_Status_New = result.Rental_Apply5_Status_New;
+                this.Related_Opportunity1_ID = result.Related_Opportunity1_ID;
+                this.Related_Opportunity1_Name = result.Related_Opportunity1_Name;
+                this.Related_Opportunity2_ID = result.Related_Opportunity2_ID;
+                this.Related_Opportunity2_Name = result.Related_Opportunity2_Name;
+                this.Activity_Type2 = result.Activity_Type2;
+                this.Account_Laboratory = result.Account_Laboratory;
+                this.OCM_category_ID = result.OCM_category_ID;
+                this.OCM_category_Name = result.OCM_category_Name;
+                this.HospitalID = result.HospitalID;
+                this.HospitalName = result.HospitalName;
+                this.Rental_Apply2 = result.Rental_Apply2;
+                console.log("123");
+                console.log(this.Id);
+                console.log(this.Status);
+                console.log(this.Name);
+                console.log(this.Rental_Apply2_Status_New);
+                this.opdReportSubmit();
+                this.dispatchEvent(new CloseActionScreenEvent());
+            }
+        }).catch(error => {
+            console.log("error");
+            console.log(error);
+        }).finally(() => {
+            
+        });
+    }
+    opdReportSubmit(){
+        if(this.Status == '鍙栨秷' || this.Status == '瀹屾瘯' ){
+            const evt = new ShowToastEvent({
+                title : 'Error',
+                message : 'OPD璁″垝鐨勭姸鎬佷负鍙栨秷鎴栧畬姣曟椂锛屼笉鑳芥柊寤篛PD鎶ュ憡',
+                variant : 'error'
+            });
+            this.dispatchEvent(evt);
+            // alert('OPD璁″垝鐨勭姸鎬佷负鍙栨秷鎴栧畬姣曟椂锛屼笉鑳芥柊寤篛PD鎶ュ憡');
+            return;
+        }
+        if( this.Rental_Apply1_Status_New != "宸插嚭搴�" && this.Rental_Apply1_Status_New != "鐢宠鑰呭凡鏀惰揣" && 
+            this.Rental_Apply1_Status_New != "鍖婚櫌宸茶鏈虹‘璁�" && this.Rental_Apply1_Status_New != "宸插洖瀵�" && 
+            this.Rental_Apply1_Status_New != "宸插洖鏀�" && this.Rental_Apply1_Status_New != "瀹屼簡" && this.Rental_Apply1_Status_New != "娆犲搧涓�" && 
+            this.Rental_Apply2_Status_New != "宸插嚭搴�" && this.Rental_Apply2_Status_New != "鐢宠鑰呭凡鏀惰揣" && 
+            this.Rental_Apply2_Status_New != "鍖婚櫌宸茶鏈虹‘璁�" && this.Rental_Apply2_Status_New != "宸插洖瀵�" && 
+            this.Rental_Apply2_Status_New != "宸插洖鏀�" && this.Rental_Apply2_Status_New != "瀹屼簡" && this.Rental_Apply2_Status_New != "娆犲搧涓�" && 
+            this.Rental_Apply3_Status_New != "宸插嚭搴�" && this.Rental_Apply3_Status_New != "鐢宠鑰呭凡鏀惰揣" && 
+            this.Rental_Apply3_Status_New != "鍖婚櫌宸茶鏈虹‘璁�" && this.Rental_Apply3_Status_New != "宸插洖瀵�" && 
+            this.Rental_Apply3_Status_New != "宸插洖鏀�" && this.Rental_Apply3_Status_New != "瀹屼簡" && this.Rental_Apply3_Status_New != "娆犲搧涓�" && 
+            this.Rental_Apply4_Status_New != "宸插嚭搴�" && this.Rental_Apply4_Status_New != "鐢宠鑰呭凡鏀惰揣" && 
+            this.Rental_Apply4_Status_New != "鍖婚櫌宸茶鏈虹‘璁�" && this.Rental_Apply4_Status_New != "宸插洖瀵�" && 
+            this.Rental_Apply4_Status_New != "宸插洖鏀�" && this.Rental_Apply4_Status_New != "瀹屼簡" && this.Rental_Apply4_Status_New != "娆犲搧涓�" && 
+            this.Rental_Apply5_Status_New != "宸插嚭搴�" && this.Rental_Apply5_Status_New != "鐢宠鑰呭凡鏀惰揣" && 
+            this.Rental_Apply5_Status_New != "鍖婚櫌宸茶鏈虹‘璁�" && this.Rental_Apply5_Status_New != "宸插洖瀵�" && 
+            this.Rental_Apply5_Status_New != "宸插洖鏀�" && this.Rental_Apply5_Status_New != "瀹屼簡" && this.Rental_Apply5_Status_New != "娆犲搧涓�"
+            ){
+            const evt = new ShowToastEvent({
+                title : 'Error',
+                message : '娌℃湁鍑哄簱鐨勭敵璇蜂笉鍏佽鍒涘缓OPD鎶ュ憡锛�',
+                variant : 'error'
+            });
+            this.dispatchEvent(evt);
+            // alert("娌℃湁鍑哄簱鐨勭敵璇蜂笉鍏佽鍒涘缓OPD鎶ュ憡锛�");
+            // return;
+        }
+        var strs='';
+        if(""!=this.Related_Opportunity1_ID && null!=this.Related_Opportunity1_ID){
+            strs='&CF00N10000002DT68='+this.Related_Opportunity1_Name +
+            '&CF00N10000002DT68_lkid='+ this.Related_Opportunity1_ID +
+            '&CF00N10000002DYCZ=' + this.Related_Opportunity2_Name +
+            '&CF00N10000002DYCZ_lkid=' + this.Related_Opportunity2_ID +
+            '&00N10000002DHk5=璺熻繘璇环'
+            // alert('123');
+        }
+        var urlStr = '';
+
+        urlStr += '&CF00N10000002CWW4='+ this.Account_Laboratory +
+        '&CF00N10000002CWW4_lkid='+ this.Account_Laboratory +
+        '&CF00N10000002Dh0f_lkid='+ this.OCM_category_ID +
+        '&CF00N10000002Dh0f='+ this.OCM_category_Name +
+        '&CF00N10000002DPUD_lkid='+ this.HospitalID +
+        '&CF00N10000002DPUD='+ this.HospitalName;
+
+        urlStr += '&CF00N10000004maf3='+ this.Rental_Apply2 +
+        '&CF00N10000008ps6d='+ this.Name +
+        '&CF00N10000008ps6d_lkid=' + this.Id;
+        window.open('/setup/ui/recordtypeselect.jsp?ent=01I10000000SWfe&retURL=%2F'+ this.Id +'&save_new_url=%2Fa0B%2Fe%3FretURL%3D%252Fa0B%252Fo'+urlStr +strs)
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/opdReportSubmit/opdReportSubmit.js-meta.xml b/force-app/main/default/lwc/opdReportSubmit/opdReportSubmit.js-meta.xml
new file mode 100644
index 0000000..fafbfc5
--- /dev/null
+++ b/force-app/main/default/lwc/opdReportSubmit/opdReportSubmit.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>56.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/opdSupplementaryApplication/opdSupplementaryApplication.css b/force-app/main/default/lwc/opdSupplementaryApplication/opdSupplementaryApplication.css
new file mode 100644
index 0000000..ebb43d9
--- /dev/null
+++ b/force-app/main/default/lwc/opdSupplementaryApplication/opdSupplementaryApplication.css
@@ -0,0 +1,10 @@
+.exampleHolder{
+    position: relative;
+    display: inline-block;
+    width: 80px;
+    height: 80px;
+    text-align: center;
+}
+.container .uiContainerManager{
+	display: none !important;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/opdSupplementaryApplication/opdSupplementaryApplication.html b/force-app/main/default/lwc/opdSupplementaryApplication/opdSupplementaryApplication.html
new file mode 100644
index 0000000..6e573d9
--- /dev/null
+++ b/force-app/main/default/lwc/opdSupplementaryApplication/opdSupplementaryApplication.html
@@ -0,0 +1,5 @@
+<template>
+    <div class="CreateEmailHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/opdSupplementaryApplication/opdSupplementaryApplication.js b/force-app/main/default/lwc/opdSupplementaryApplication/opdSupplementaryApplication.js
new file mode 100644
index 0000000..1e87a02
--- /dev/null
+++ b/force-app/main/default/lwc/opdSupplementaryApplication/opdSupplementaryApplication.js
@@ -0,0 +1,110 @@
+/*
+ * @Date: 2023-04-03 14:21:56
+ * @Author: @zyh
+ * @LastEditTime: 2023-04-04 15:15:17
+ * @Descripttion: 
+ */
+import { LightningElement,wire,track,api } from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import { NavigationMixin } from 'lightning/navigation';
+import init from '@salesforce/apex/OPDLwcController.initOPDCancelSubmit';
+import RecordType from '@salesforce/apex/OPDLwcController.RecordType';
+import opdSelect from '@salesforce/apex/OPDLwcController.opdSelect';
+// import applySelect from '@salesforce/apex/OPDLwcController.applySelect';
+import changeTrade from '@salesforce/apex/OpdPlanWebService.changeTrade';
+import datacheck from '@salesforce/apex/OpdPlanWebService.dataCheck';
+import { encodeDefaultFieldValues } from 'lightning/pageReferenceUtils';
+
+export default class OpdSupplementaryApplication extends NavigationMixin(LightningElement) {
+    @api recordId;
+    Status;
+    Name;
+    Id;
+    supplementaryApplication;
+    OriginalOpdPlanRental;
+    Rental_Apply2;
+    @wire(CurrentPageReference)
+    getStateParmeters(currentPageReference) {
+        console.log(111);
+        console.log(currentPageReference);
+
+        if (currentPageReference) {
+          const urlValue = currentPageReference.state.recordId;
+          if (urlValue) {
+            let str = `${urlValue}`;
+            console.log("str");
+            console.log(str);
+            this.recordId = str;
+          }
+        }
+    }
+    connectedCallback(){
+        console.log('zheli'+this.recordId);
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            console.log('zheli11'+result);
+
+            console.log(result);
+            if(result != null) {
+                this.IsLoading = false;
+                this.Id = result.Id;
+                this.Status = result.Status;
+                this.Name = result.Name;
+                this.supplementaryApplication = result.supplementaryApplication;
+                this.OriginalOpdPlanRental = result.OriginalOpdPlanRental;
+                this.Rental_Apply2 = result.Rental_Apply2;
+                console.log("123");
+                console.log(this.Id);
+                console.log(this.Status);
+                console.log(this.Name);
+                console.log(this.supplementaryApplication);
+                console.log(this.OriginalOpdPlanRental);
+                this.SupApplication();
+                // this.updateDateSubmit();
+                this.dispatchEvent(new CloseActionScreenEvent());
+            }
+        }).catch(error => {
+            console.log("error");
+            console.log(error);
+        }).finally(() => {
+            
+        });
+    }
+    SupApplication(){
+        var opdList = [];
+        if(this.Status != '璁″垝涓�'){
+            alert("鍙湁OPD璁″垝鐘舵�佷负璁″垝涓紝鎵嶈兘杩涜OPD琛ュ厖鐢宠");
+            return;
+        }
+        if(this.supplementaryApplication == '1'){
+            alert('OPD璁″垝鏃犳硶杩涜琛ュ厖鐢宠');
+            return;
+        }
+        if(this.OriginalOpdPlanRental != ''){
+            alert('璇疯浆鑷砄PD璁″垝鍘熷崟杩涜鐢宠');
+            return;
+        }
+        datacheck({
+            rentalApplyId : this.Rental_Apply2
+        }).then( result => {
+            console.log(result);
+            if(result != 'OK'){
+                alert(result);
+                return;
+            }
+        });
+        opdSelect({
+            OpdId : this.Id
+        }).then( result => {
+            console.log(result);
+            opdList = result;
+            var records = opdList.getArray("records");
+            if(records != null && records.length > 0){
+                alert('OPD璁″垝宸茶繘琛岃繃琛ュ厖鐢宠锛屾棤娉曞啀娆¤繘琛岃ˉ鍏呯敵璇�');
+                return;
+            }
+        });
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/opdSupplementaryApplication/opdSupplementaryApplication.js-meta.xml b/force-app/main/default/lwc/opdSupplementaryApplication/opdSupplementaryApplication.js-meta.xml
new file mode 100644
index 0000000..fafbfc5
--- /dev/null
+++ b/force-app/main/default/lwc/opdSupplementaryApplication/opdSupplementaryApplication.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>56.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/opdUpdateDate/opdUpdateDate.css b/force-app/main/default/lwc/opdUpdateDate/opdUpdateDate.css
new file mode 100644
index 0000000..ebb43d9
--- /dev/null
+++ b/force-app/main/default/lwc/opdUpdateDate/opdUpdateDate.css
@@ -0,0 +1,10 @@
+.exampleHolder{
+    position: relative;
+    display: inline-block;
+    width: 80px;
+    height: 80px;
+    text-align: center;
+}
+.container .uiContainerManager{
+	display: none !important;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/opdUpdateDate/opdUpdateDate.html b/force-app/main/default/lwc/opdUpdateDate/opdUpdateDate.html
new file mode 100644
index 0000000..6e573d9
--- /dev/null
+++ b/force-app/main/default/lwc/opdUpdateDate/opdUpdateDate.html
@@ -0,0 +1,5 @@
+<template>
+    <div class="CreateEmailHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/opdUpdateDate/opdUpdateDate.js b/force-app/main/default/lwc/opdUpdateDate/opdUpdateDate.js
new file mode 100644
index 0000000..f75fb6b
--- /dev/null
+++ b/force-app/main/default/lwc/opdUpdateDate/opdUpdateDate.js
@@ -0,0 +1,134 @@
+/*
+ * @Date: 2023-03-28 16:47:34
+ * @Author: @zyh
+ * @LastEditTime: 2023-04-17 10:33:27
+ * @Descripttion: 
+ */
+import { LightningElement,wire,track,api } from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import { NavigationMixin } from 'lightning/navigation';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+import init from '@salesforce/apex/OPDLwcController.initOPDCancelSubmit';
+import RecordType from '@salesforce/apex/OPDLwcController.RecordType';
+// import applySelect from '@salesforce/apex/OPDLwcController.applySelect';
+import changeTrade from '@salesforce/apex/OpdPlanWebService.changeTrade';
+import { encodeDefaultFieldValues } from 'lightning/pageReferenceUtils';
+
+export default class OpdUpdateDate extends NavigationMixin(LightningElement) {
+    @api recordId;
+    Status;
+    Name;
+    Id;
+    rtnRecordType;
+
+    @wire(CurrentPageReference)
+    getStateParmeters(currentPageReference) {
+        console.log(111);
+        console.log(currentPageReference);
+
+        if (currentPageReference) {
+          const urlValue = currentPageReference.state.recordId;
+          if (urlValue) {
+            let str = `${urlValue}`;
+            console.log("str");
+            console.log(str);
+            this.recordId = str;
+          }
+        }
+    }
+    connectedCallback(){
+        console.log('zheli'+this.recordId);
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            console.log('zheli11'+result);
+
+            console.log(result);
+            if(result != null) {
+                this.IsLoading = false;
+                this.Id = result.Id;
+                this.Status = result.Status;
+                this.Name = result.Name;
+                console.log("123");
+                console.log(this.Id);
+                console.log(this.Status);
+                console.log(this.Name);
+                this.testupdate();
+                this.updateDateSubmit();
+                this.dispatchEvent(new CloseActionScreenEvent());
+                // this.dispatchEvent(new ShowToastEvent({
+                //     title: '1111',
+                //     message: 'message',
+                //     variant: 'success'
+                // }));
+            }
+        }).catch(error => {
+            console.log("error");
+            console.log(error);
+        }).finally(() => {
+            
+        });
+    }
+    testupdate(){
+        var typertn = [];
+        RecordType({
+            RecordType : '01210000000gQyMAAU'
+        }).then(result => {
+            console.log(result);
+            const defaultValues = encodeDefaultFieldValues({
+                RecordTypeId: result,
+                Status__c: '寤舵湡鎶ュ憡',
+                CancelOPDPlan__c: this.Id
+            });
+            console.log(defaultValues);
+            this.rtnRecordType = defaultValues;
+            console.log(this.rtnRecordType+'======123131typertn');
+            
+        });
+    }
+    updateDateSubmit(){
+        var rtn = [];
+        changeTrade({
+            opdplanId: this.Id
+        }).then(result => {
+            console.log(result);
+            console.log('typertn+++++'+this.rtnRecordType);
+            rtn = result;
+            console.log('4-14');
+            if (rtn.lenth > 0) {
+            //     alert('鍙湁褰揙PD璁″垝涓殑澶囧搧鐢宠鍗曟棤/鑽夋/澶囧搧鐢宠鐨勫嚭搴撴寚绀轰负绌烘椂,鎵嶅彲浠ヨ繘琛屾敼鏈熸搷浣�!');
+            //     return;
+                const evt = new ShowToastEvent({
+                    title : 'Error',
+                    message : '鍙湁褰揙PD璁″垝涓殑澶囧搧鐢宠鍗曟棤/鑽夋/澶囧搧鐢宠鐨勫嚭搴撴寚绀轰负绌烘椂,鎵嶅彲浠ヨ繘琛屾敼鏈熸搷浣�!',
+                    variant : 'error'
+                });
+                this.dispatchEvent(evt);
+                return;
+            }
+            if (rtn != 'OK') {
+                alert(rtn);
+                return;
+            }
+            // window.open('/a3D/e?CF00N10000008ps4s='+this.Name +'&00N10000008ps4u=寤舵湡鎶ュ憡&RecordType=01210000000gQyM');
+            
+            this[NavigationMixin.Navigate]({
+                type: 'standard__objectPage',
+                attributes: {
+                    objectApiName: 'CancelPostponePlan__c', // 瑕佹柊寤虹殑瀵硅薄API
+                    actionName: 'new'//,
+                    // RecordTypeId: '01210000000gQyM'
+                },
+                state:{
+                    // defaultFieldValues:'CancelOPDPlan__c='+this.Id// 瑕佸鍒剁殑瀛楁API
+                    defaultFieldValues:this.rtnRecordType// 瑕佸鍒剁殑瀛楁API
+                    
+                }
+            });
+            
+        });
+    }
+
+
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/opdUpdateDate/opdUpdateDate.js-meta.xml b/force-app/main/default/lwc/opdUpdateDate/opdUpdateDate.js-meta.xml
new file mode 100644
index 0000000..fafbfc5
--- /dev/null
+++ b/force-app/main/default/lwc/opdUpdateDate/opdUpdateDate.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>56.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/oppLoseButton/oppLoseButton.html b/force-app/main/default/lwc/oppLoseButton/oppLoseButton.html
new file mode 100644
index 0000000..c26c6e8
--- /dev/null
+++ b/force-app/main/default/lwc/oppLoseButton/oppLoseButton.html
@@ -0,0 +1,8 @@
+<template>
+    <div class="slds-is-relative">
+        <template if:true={showSpinner}>
+            <lightning-spinner size="medium" variant="brand"></lightning-spinner>
+        </template>
+    </div>
+    
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/oppLoseButton/oppLoseButton.js b/force-app/main/default/lwc/oppLoseButton/oppLoseButton.js
new file mode 100644
index 0000000..b7100e8
--- /dev/null
+++ b/force-app/main/default/lwc/oppLoseButton/oppLoseButton.js
@@ -0,0 +1,86 @@
+import { LightningElement,wire,track,api} from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import { NavigationMixin } from 'lightning/navigation';
+import  init  from '@salesforce/apex/OppLoseController.init';
+
+export default class OppLoseButton extends LightningElement {
+    @api
+    taskId;
+    opp;
+    stageName;
+    SAP_Send_OK;
+    Cnt_Lost_cancel_report;
+    Name;
+    Sales_assistant_name;
+    Sales_assistant_ID;
+    Manager_name;
+    Sales_manager_departmentID;
+    Sales_owner_buchang;
+    Sales_owner_buchangID;
+    OpportunityId;
+    task;
+
+    connectedCallback(){
+        console.log(this.taskId);
+        init({
+            taskId: this.taskId
+        }).then(result => {
+            console.log(result);
+            if (result != null) {
+                
+                this.IsLoading = false;
+                this.opp = result.opp;
+                this.stageName = result.stageName;
+                this.SAP_Send_OK = result.SAP_Send_OK;
+                this.Cnt_Lost_cancel_report = result.Cnt_Lost_cancel_report;
+                this.Name = result.Name;
+                this.Sales_assistant_name = result.Sales_assistant_name;
+                this.Sales_assistant_ID = result.Sales_assistant_ID;
+                this.Manager_name = result.Manager_name;
+                this.Sales_manager_departmentID = result.Sales_manager_departmentID;
+                this.Sales_owner_buchang = result.Sales_owner_buchang;
+                this.Sales_owner_buchangID = result.Sales_owner_buchangID;
+                this.OpportunityId = result.OpportunityId;
+                this.task = result.task;
+
+                this.changeContractType();
+                this.dispatchEvent(new CloseActionScreenEvent());
+                // window.location.reload();
+            }
+        }).catch(error => {
+            console.log("error");
+            console.log(error);
+        }).finally(() => {
+            
+        });        
+    }
+
+    changeContractType(){
+        if(this.StageName != '寮曞悎' && this.StageName != '璇环'){
+            alert('鐘舵��1: '+ this.StageName + '銆佷笉鑳藉仛 澶卞崟 浜嗭紒');
+        }
+        else if(this.SAP_Send_OK == '1'){
+            alert('宸茬粡涓婁紶SAP銆佷笉鑳藉仛 澶卞崟 浜嗭紒');
+        }
+        else if(this.Cnt_Lost_cancel_report__c > 0){
+            alert('璇环宸茬粡鏈� 鍙栨秷锛忓け鍗曟姤鍛� 浜嗭紒');
+             // window.location.reload();
+        }else{
+            location.href =
+            '/a1U/e?retURL=%2F' + this.OpportunityId + 
+            '&RecordType=01210000000R4hM' +
+            '&CF00N10000004lbGT={!URLENCODE('+this.Name+')}' +
+            '&CF00N10000004lbGT_lkid=' + this.OpportunityId + 
+
+            '&CF00N10000006QShg={!URLENCODE('+this.Sales_assistant_name+')}' +
+            '&CF00N10000006QShg_lkid={!URLENCODE('+this.Sales_assistant_ID+')}' +
+            '&CF00N10000006QShq={!URLENCODE('+this.Manager_name+')}' +
+            '&CF00N10000006QShq_lkid={!URLENCODE('+this.Sales_manager_departmentID+')}' +
+            '&CF00N10000006QShb={!URLENCODE('+this.Sales_owner_buchang+')}' +
+            '&CF00N10000006QShb_lkid={!URLENCODE('+this.Sales_owner_buchangID+')}' +
+            '';
+        }
+    }
+
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/oppLoseButton/oppLoseButton.js-meta.xml b/force-app/main/default/lwc/oppLoseButton/oppLoseButton.js-meta.xml
new file mode 100644
index 0000000..2b7649d
--- /dev/null
+++ b/force-app/main/default/lwc/oppLoseButton/oppLoseButton.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+	<apiVersion>54.0</apiVersion>
+	<isExposed>true</isExposed>
+	<targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/oshRecieved/oshRecieved.css b/force-app/main/default/lwc/oshRecieved/oshRecieved.css
new file mode 100644
index 0000000..a612ca7
--- /dev/null
+++ b/force-app/main/default/lwc/oshRecieved/oshRecieved.css
@@ -0,0 +1,10 @@
+.VOCSubmitHolder{
+    position: relative;
+    display: inline-block;
+    width: 80px;
+    height: 80px;
+    text-align: center;
+}
+.container .uiContainerManager{
+	display: none !important;
+}/* sample css file */
\ No newline at end of file
diff --git a/force-app/main/default/lwc/oshRecieved/oshRecieved.html b/force-app/main/default/lwc/oshRecieved/oshRecieved.html
new file mode 100644
index 0000000..1d3b62c
--- /dev/null
+++ b/force-app/main/default/lwc/oshRecieved/oshRecieved.html
@@ -0,0 +1,5 @@
+<template>
+    <div class="VOCSubmitHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/oshRecieved/oshRecieved.js b/force-app/main/default/lwc/oshRecieved/oshRecieved.js
new file mode 100644
index 0000000..12ad641
--- /dev/null
+++ b/force-app/main/default/lwc/oshRecieved/oshRecieved.js
@@ -0,0 +1,83 @@
+import { LightningElement,wire,track,api} from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import { NavigationMixin } from 'lightning/navigation';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+import { updateRecord } from 'lightning/uiRecordApi';
+import init  from '@salesforce/apex/QISReportController.initForOSHRecievedButton';
+import updateQis  from '@salesforce/apex/QISReportController.updateQis';
+export default class oshRecieved extends LightningElement {
+	@api recordId;
+	IsLoading = true;
+	qisReportId;
+	qisStatus;
+	 @wire(CurrentPageReference)
+     getStateParameters(currentPageReference) {
+             console.log(111);
+             console.log(currentPageReference);
+
+         if (currentPageReference) {
+           const urlValue = currentPageReference.state.recordId;
+           if (urlValue) {
+             let str = `${urlValue}`;
+             console.log("str");
+             console.log(str);
+             this.recordId = str;
+           }
+         }
+     }
+
+     connectedCallback () {
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            this.IsLoading = false;
+            this.qisReportId = result.Id;
+            this.qisStatus = result.qIStatus;
+            console.log('this.qisStatus='+this.qisStatus);
+         	if (this.qisStatus!='OSH妫�娴嬬敵璇�' && this.qisStatus!='瀹屾瘯') {
+                const evt = new ShowToastEvent({
+                        title : 'OSH宸茬粡鏀跺埌瀹炵墿',
+                        message: '',
+                        variant: 'error'
+                    });
+                this.dispatchEvent(evt);
+                this.dispatchEvent(new CloseActionScreenEvent());
+                return;
+         	}else{
+         		this.updateQisSubmit();
+         	}
+        }).catch(error => {
+            console.log('error='+error);
+        }).finally(() => {
+            
+        }); 
+    }
+
+    updateRecordView(recordId) {
+        updateRecord({fields: { Id: recordId }});
+    }
+
+    updateQisSubmit(){
+        	updateQis({
+        		 recordId: this.recordId
+        		}).then(result =>{
+                    
+        			console.log('result'+result);
+        			if (result!='鎴愬姛') {
+                        const evt = new ShowToastEvent({
+                            title : '鏇存柊澶辫触',
+                            message: result,
+                            variant: 'error'
+                        });
+                        this.dispatchEvent(evt);
+                    }
+                this.dispatchEvent(new CloseActionScreenEvent());
+                this.updateRecordView(this.recordId);
+        		}).catch(error => {
+            console.log('error='+error);
+        }).finally(() => {
+            
+        });
+        }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/oshRecieved/oshRecieved.js-meta.xml b/force-app/main/default/lwc/oshRecieved/oshRecieved.js-meta.xml
new file mode 100644
index 0000000..35ad9fc
--- /dev/null
+++ b/force-app/main/default/lwc/oshRecieved/oshRecieved.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="oshRecieved">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightning__RecordPage</target>
+        <target>lightning__AppPage</target>
+        <target>lightning__HomePage</target>
+        <target>lightning__RecordAction</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/otherButtonInASACEditor/otherButtonInASACEditor.css b/force-app/main/default/lwc/otherButtonInASACEditor/otherButtonInASACEditor.css
new file mode 100644
index 0000000..689c97d
--- /dev/null
+++ b/force-app/main/default/lwc/otherButtonInASACEditor/otherButtonInASACEditor.css
@@ -0,0 +1,10 @@
+.inASACEditorHolder{
+    position: relative;
+    display: inline-block;
+    width: 80px;
+    height: 80px;
+    text-align: center;
+}
+.container .uiContainerManager{
+	display: none !important;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/otherButtonInASACEditor/otherButtonInASACEditor.html b/force-app/main/default/lwc/otherButtonInASACEditor/otherButtonInASACEditor.html
new file mode 100644
index 0000000..19263b7
--- /dev/null
+++ b/force-app/main/default/lwc/otherButtonInASACEditor/otherButtonInASACEditor.html
@@ -0,0 +1,5 @@
+<template>
+    <div class="inASACEditorHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/otherButtonInASACEditor/otherButtonInASACEditor.js b/force-app/main/default/lwc/otherButtonInASACEditor/otherButtonInASACEditor.js
new file mode 100644
index 0000000..b5d86e5
--- /dev/null
+++ b/force-app/main/default/lwc/otherButtonInASACEditor/otherButtonInASACEditor.js
@@ -0,0 +1,74 @@
+import { LightningElement,wire,track,api} from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import init  from '@salesforce/apex/ReportController.initForASACEditorButton';
+export default class OtherButtonInASACEditor extends LightningElement {
+    
+    @api recordId;
+    LastModifiedDate
+    Id
+    Name
+    LastModifiedById
+    DeveloperName
+    IsLoading = true;
+    url;
+    @wire(CurrentPageReference)
+     getStateParameters(currentPageReference) {
+             console.log(111);
+             console.log(currentPageReference);
+
+         if (currentPageReference) {
+           const urlValue = currentPageReference.state.recordId;
+           if (urlValue) {
+             let str = `${urlValue}`;
+             console.log("str");
+             console.log(str);
+             this.recordId = str;
+           }
+         }
+     }
+    
+    connectedCallback () {
+        console.log(this.recordId);
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            console.log(result);
+            if (result != undefined) {
+                console.log("if");
+                this.LastModifiedById = result.LastModifiedById;
+                this.LastModifiedDate = result.LastModifiedDate;
+                this.Id = result.Id;
+                this.Name = result.Name;
+                this.DeveloperName = result.DeveloperName;
+                console.log(this.Id);
+                this.editor();
+                this.dispatchEvent(new CloseActionScreenEvent());
+                //window.location.replace("https://ocsm--partial.sandbox.lightning.force.com/lightning/r/Report__c/" + this.recordId + "/view");
+            }else{
+                console.log("else");
+                this.IsLoading = false;
+                this.editor();
+                this.dispatchEvent(new CloseActionScreenEvent());
+            }
+        }).catch(error => {
+            console.log("error");
+            console.log(error);
+        }).finally(() => {
+            
+        });   
+        //this.updateRecordView(this.recordId);
+
+    }
+
+    editor(){
+        if (this.Id != undefined){
+            this.url = "/apex/RepPAEDecisionRecord?Id="+this.Id+"&ReportId="+this.recordId+"&RecordTypeIds="+"ASACDecision";
+            console.log(this.url);
+            } else {
+            this.url = "/apex/RepPAEDecisionRecord?ReportId="+this.recordId+"&RecordTypeIds="+"ASACDecision";
+            console.log(this.url);
+            }
+        window.open(this.url,"_self");
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/otherButtonInASACEditor/otherButtonInASACEditor.js-meta.xml b/force-app/main/default/lwc/otherButtonInASACEditor/otherButtonInASACEditor.js-meta.xml
new file mode 100644
index 0000000..709c8f7
--- /dev/null
+++ b/force-app/main/default/lwc/otherButtonInASACEditor/otherButtonInASACEditor.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+     <apiVersion>54.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/otherButtonInCancelSubmit/OtherButtonInCancelSubmit.css b/force-app/main/default/lwc/otherButtonInCancelSubmit/OtherButtonInCancelSubmit.css
new file mode 100644
index 0000000..9c466ab
--- /dev/null
+++ b/force-app/main/default/lwc/otherButtonInCancelSubmit/OtherButtonInCancelSubmit.css
@@ -0,0 +1,10 @@
+.CancelSubmitHolder{
+    position: relative;
+    display: inline-block;
+    width: 80px;
+    height: 80px;
+    text-align: center;
+}
+.container .uiContainerManager{
+	display: none !important;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/otherButtonInCancelSubmit/otherButtonInCancelSubmit.html b/force-app/main/default/lwc/otherButtonInCancelSubmit/otherButtonInCancelSubmit.html
new file mode 100644
index 0000000..c30bb90
--- /dev/null
+++ b/force-app/main/default/lwc/otherButtonInCancelSubmit/otherButtonInCancelSubmit.html
@@ -0,0 +1,7 @@
+<template>
+    <div class="CancelSubmitHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+        <lightning-button label="Show Toast" onclick={handleSuccess}></lightning-button>
+    </div>
+    
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/otherButtonInCancelSubmit/otherButtonInCancelSubmit.js b/force-app/main/default/lwc/otherButtonInCancelSubmit/otherButtonInCancelSubmit.js
new file mode 100644
index 0000000..a9b799c
--- /dev/null
+++ b/force-app/main/default/lwc/otherButtonInCancelSubmit/otherButtonInCancelSubmit.js
@@ -0,0 +1,82 @@
+import { LightningElement,wire,track,api} from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import { NavigationMixin } from 'lightning/navigation';
+import init  from '@salesforce/apex/MonthlyReportController.initForCancelSubmitButton';
+import cancel  from '@salesforce/apex/MonthlyReportController.cancel';
+import UserInfo_Owner from '@salesforce/apex/TaskFeedbackController.UserInfo_Owner';
+import { updateRecord } from 'lightning/uiRecordApi';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+export default class OtherButtonInCancelSubmit extends LightningElement {
+
+    @api recordId;//OwnerId
+    ownerId;
+    monthlyReportId;
+    IsLoading = true;
+
+    @wire(CurrentPageReference)
+     getStateParameters(currentPageReference) {
+             console.log(111);
+             console.log(currentPageReference);
+
+         if (currentPageReference) {
+           const urlValue = currentPageReference.state.recordId;
+           if (urlValue) {
+             let str = `${urlValue}`;
+             console.log("str");
+             console.log(str);
+             this.recordId = str;
+           }
+         }
+     }
+    
+    connectedCallback () {
+        console.log(this.recordId);
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            console.log(result);
+            if (result != null) {
+                this.IsLoading = false;
+                this.ownerId = result.ownerId;
+                this.monthlyReportId = result.Id;
+                this.cancelSubmit();
+                console.log("end");
+                this.handleSuccess();
+                this.dispatchEvent(new CloseActionScreenEvent());
+                this.updateRecordView(this.recordId);
+
+                //window.location.replace("https://ocsm--partial.sandbox.lightning.force.com/lightning/r/Monthly_Report__c/" + this.monthlyReportId + "/view");
+            }
+        }).catch(error => {
+            console.log("error");
+            console.log(error);
+        }).finally(() => {
+            
+        });   
+    }
+
+    handleSuccess(){
+        const event = new ShowToastEvent({
+            title: 'Success',
+            message: '鍙栨秷鎻愪氦鎴愬姛锛�',
+        });
+        this.dispatchEvent(event);
+        
+    }
+
+    updateRecordView(recordId) {
+        updateRecord({fields: { Id: recordId }});
+    }
+    cancelSubmit () {
+        //闇�瑕佸畬鍠�
+        if(this.ownerId == UserInfo_Owner.Id) {
+            cancel({
+                recordId: this.recordId
+            });
+            console.log("321");
+            } else {
+            alert("鍙懆鎶ョ殑鎵�鏈変汉鍙互鍙栨秷");
+            }
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/otherButtonInCancelSubmit/otherButtonInCancelSubmit.js-meta.xml b/force-app/main/default/lwc/otherButtonInCancelSubmit/otherButtonInCancelSubmit.js-meta.xml
new file mode 100644
index 0000000..36ce96d
--- /dev/null
+++ b/force-app/main/default/lwc/otherButtonInCancelSubmit/otherButtonInCancelSubmit.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/otherButtonInOpportunity/otherButtonInOpportunity.css b/force-app/main/default/lwc/otherButtonInOpportunity/otherButtonInOpportunity.css
index e6bf091..ebb43d9 100644
--- a/force-app/main/default/lwc/otherButtonInOpportunity/otherButtonInOpportunity.css
+++ b/force-app/main/default/lwc/otherButtonInOpportunity/otherButtonInOpportunity.css
@@ -1,3 +1,10 @@
-.bodyFont{
-  font-size: 12px;
+.exampleHolder{
+    position: relative;
+    display: inline-block;
+    width: 80px;
+    height: 80px;
+    text-align: center;
+}
+.container .uiContainerManager{
+	display: none !important;
 }
\ No newline at end of file
diff --git a/force-app/main/default/lwc/otherButtonInOpportunity/otherButtonInOpportunity.html b/force-app/main/default/lwc/otherButtonInOpportunity/otherButtonInOpportunity.html
index fefe06f..f69803e 100644
--- a/force-app/main/default/lwc/otherButtonInOpportunity/otherButtonInOpportunity.html
+++ b/force-app/main/default/lwc/otherButtonInOpportunity/otherButtonInOpportunity.html
@@ -1,44 +1,17 @@
 <template>
-  <div style="text-align: right;margin-right: 10px;">
+  <div class="exampleHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+  <!-- <div style="text-align: right;margin-right: 10px;"> -->
   	<!-- Button group: simple buttons -->
-     <lightning-button-group>
+     <!-- <lightning-button-group>
      	<lightning-button label="鎶ヤ环浜у搧" onclick={navigateReportDetail}></lightning-button>
      	<lightning-button label="鍙樻洿鍚堝悓绫诲瀷" onclick={changeContractType}></lightning-button>
      	<lightning-button label="鍏变韩缁欑粡閿�鍟�" onclick={sharedToDealers}></lightning-button>
      	<lightning-button label="鎺堟潈鐢宠" onclick={authorisationRequest}></lightning-button>
      	<lightning-button label="鍚堝悓鐢宠" onclick={contractApply}></lightning-button>
-        <!-- <lightning-button label="Refresh"></lightning-button>
-        <lightning-button label="Edit"></lightning-button>
-        <lightning-button label="Save" icon-name="utility:save"></lightning-button>
-        <lightning-button-icon icon-name="utility:delete" variant="border-filled" alternative-text="Delete"></lightning-button-icon>
-        <lightning-button-icon icon-name="utility:settings" variant="border-filled" alternative-text="Settings"></lightning-button-icon>
-        <lightning-button-stateful
-            selected={buttonStatefulState}
-            label-when-off="Follow"
-            label-when-on="Following"
-            label-when-hover="Unfollow"
-            icon-name-when-off="utility:add"
-            icon-name-when-on="utility:check"
-            icon-name-when-hover="utility:close"
-            onclick={handleButtonStatefulClick}
-        ></lightning-button-stateful>
-        <lightning-button-icon-stateful
-            icon-name="utility:like"
-            selected={buttonIconStatefulState}
-            alternative-text="Like"
-            onclick={handleButtonIconStatefulClick}>
-        </lightning-button-icon-stateful>
-        <lightning-button-menu alternative-text="Show menu">
-            <lightning-menu-item label="Menu Item One" value="item1"></lightning-menu-item>
-            <lightning-menu-item label="Menu Item Two" value="item2"></lightning-menu-item>
-            <lightning-menu-item label="Menu Item Three" value="item3"></lightning-menu-item>
-        </lightning-button-menu> -->
-    </lightning-button-group>
-    <!-- <button class="slds-button slds-button_success" onclick={navigateReportDetail} >鎶ヤ环浜у搧</button>
-    <button class="slds-button slds-button_success"  onclick={changeContractType} >鍙樻洿鍚堝悓绫诲瀷</button>
-    <button class="slds-button slds-button_success"  onclick={sharedToDealers} >鍏变韩缁欑粡閿�鍟�</button>
-    <button class="slds-button slds-button_success"  onclick={assign} >鎺堟潈鐢宠</button>
-    <button class="slds-button slds-button_success"  onclick={contractApply} >鍚堝悓鐢宠</button> -->
-  </div>
+        
+    </lightning-button-group> -->
+  <!-- </div> -->
 
 </template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/otherButtonInOpportunity/otherButtonInOpportunity.js b/force-app/main/default/lwc/otherButtonInOpportunity/otherButtonInOpportunity.js
index 748b8b1..52b1885 100644
--- a/force-app/main/default/lwc/otherButtonInOpportunity/otherButtonInOpportunity.js
+++ b/force-app/main/default/lwc/otherButtonInOpportunity/otherButtonInOpportunity.js
@@ -1,4 +1,6 @@
 import { LightningElement,wire,track,api} from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
 import { NavigationMixin } from 'lightning/navigation';
 import  init  from '@salesforce/apex/OtherButtonOppCtl.init';
 import  changeTrade  from '@salesforce/apex/OpportunityWebService.changeTrade';
@@ -21,6 +23,23 @@
     trade;
     oppName;
     opp;
+    IsLoading = true;
+
+     @wire(CurrentPageReference)
+     getStateParameters(currentPageReference) {
+             console.log(111);
+             console.log(currentPageReference);
+
+         if (currentPageReference) {
+           const urlValue = currentPageReference.state.recordId;
+           if (urlValue) {
+             let str = `${urlValue}`;
+             console.log("str");
+             console.log(str);
+             this.recordId = str;
+           }
+         }
+     }
 
     connectedCallback(){
         console.log(this.recordId);
@@ -29,6 +48,8 @@
         }).then(result => {
             console.log(result);
             if (result != null) {
+                
+                this.IsLoading = false;
                 this.currencyIsoCode = result.currencyIsoCode;
                 this.status = result.stageName;
                 this.quostatus = result.estimationDecision;
@@ -39,9 +60,14 @@
                 this.trade = result.trade;
                 this.oppName = result.oppName;
                 this.opp = result.opp;
+
+                this.changeContractType();
+                this.dispatchEvent(new CloseActionScreenEvent());
+                // window.location.reload();
             }
         }).catch(error => {
             console.log("error");
+            console.log(error);
         }).finally(() => {
             
         });        
@@ -81,6 +107,7 @@
         }
         if(this.quostatus == 'true' || this.quostatus == true){
             alert('宸插喅瀹氭姤浠凤紝涓嶈兘淇敼鍐呰锤/澶栬锤');
+             // window.location.reload();
             return null;
         }
         if(this.win == 'true' || this.win == true){
@@ -100,7 +127,7 @@
             }).catch(error => {
                 console.log("error");
             }).finally(() => {
-                
+                // $A.get("e.force:closeQuickAction").fire();
             });
         }else{
             return null;
@@ -396,6 +423,195 @@
     }
     contractApply(){
 
+       /* var btns = document.getElementsByName("contract_authorize");
+for (var i=0; i<btns.length; i++) {
+btns[i].disabled = true;
+btns[i].className = 'btnDisabled';
+}
+
+{!REQUIRESCRIPT("/soap/ajax/51.0/connection.js")};
+{!REQUIRESCRIPT("/soap/ajax/51.0/apex.js")};
+{!RequireScript("/resource/CommonUtilJs")};
+//2021-10-21 gwy 鐗堟湰鏇存敼涓�51.0
+
+
+var foo = function() {
+    var oppid = '{!Opportunity.Id}';
+    var decide_quote = '{!Opportunity.Estimation_Decision__c}';
+    var complete_day = '{!Opportunity.Contract_DB_complite_day__c}';
+    var if_contract_auth = '{!Opportunity.Contract_Authorize__c}';
+    var if_contract_lock = '{!Opportunity.Contract_Authorize_Lock__c}';
+    var If_Need_Authorize = '{!Opportunity.If_Need_Authorize__c}';
+    var Authorized_DB_No = '{!Opportunity.Authorized_DB_No__c}';
+    var profileId = '{!$User.ProfileId}';
+    var spoURL = '{!Opportunity.SPO_URL__c}';
+    //SWAG-CG88AG銆愬鎵樸�戞彁鍑轰环鏍肩敵璇锋槸鍦ㄥ崗璁湁鏁堟湡鍐咃紝鍏佽WIN fy start
+    var DecidedQuoteNo = '{!Opportunity.Estimation_No__c}';
+    //SWAG-CG88AG銆愬鎵樸�戞彁鍑轰环鏍肩敵璇锋槸鍦ㄥ崗璁湁鏁堟湡鍐咃紝鍏佽WIN fy end
+    //2022-03-22 yjk SWAG-CCL6R7
+    var Closing_Bid_Date = '{!Opportunity.Closing_Bid_Date__c}';//13.涓爣鏃�
+    var Closing_Bid_Date_Bid = '{!Opportunity.Closing_Bid_Date_Bid__c}';
+
+    var AccDealerBlacklist = '{!Opportunity.AccDealerBlacklist__c}';//鍒ゆ柇瀹㈡埛/缁忛攢鍟嗘槸鍚︿负榛戝悕鍗�
+    var angency1 = '{!Opportunity.Agency1__c}';
+    var angency2 = '{!Opportunity.Agency2__c}';
+    var accname = '{!Opportunity.Hospital__c}';
+    var ownerids = '{!Opportunity.OwnerId}';
+    var ddid = '{!Opportunity.Opportunity_sub_ownerId__c}';
+
+    if (profileId != '00e10000000Y3o5' && profileId != '00e10000000Nab7' &&
+    profileId != '00e10000000xnpR' && profileId != '00e10000000xyK6' && profileId != '00e10000000xnpW' && profileId != '00e10000000NbCE' && profileId != '00e10000000Nb7i'
+    && profileId != '00e10000000xyK6') {
+    alert("鎮ㄦ病鏈夊悎鍚岀敵璇风殑鏉冮檺銆傝鑱旂郴绯荤粺绠$悊鍛樸��");
+    return;
+    }
+
+    //璐告槗鍚堣 you
+    var oppflag=false;
+    if (AccDealerBlacklist=='123') {
+    alert('瀹㈡埛,缁忛攢鍟�1锛岀粡閿�鍟�2閮戒负榛戝悕鍗曪紝涓嶈兘鍋氭巿鏉冪敵璇凤紒');
+    oppflag=true;
+
+    }else if(AccDealerBlacklist=='12'){
+    alert('瀹㈡埛,缁忛攢鍟�1閮戒负榛戝悕鍗曪紝涓嶈兘鍋氭巿鏉冪敵璇凤紒');
+    oppflag=true;
+    }else if(AccDealerBlacklist=='23'){
+    alert('缁忛攢鍟�1锛岀粡閿�鍟�2閮戒负榛戝悕鍗曪紝涓嶈兘鍋氭巿鏉冪敵璇凤紒');
+    oppflag=true;
+    }else if(AccDealerBlacklist=='13'){
+    alert('瀹㈡埛,缁忛攢鍟�1閮戒负榛戝悕鍗曪紝涓嶈兘鍋氭巿鏉冪敵璇凤紒');
+    oppflag=true;
+    }else if(AccDealerBlacklist=='1'){
+    alert('瀹㈡埛涓洪粦鍚嶅崟锛屼笉鑳藉仛鎺堟潈鐢宠锛�');
+    oppflag=true;
+    }else if(AccDealerBlacklist=='2'){
+    alert('缁忛攢鍟�1涓洪粦鍚嶅崟锛屼笉鑳藉仛鎺堟潈鐢宠锛�');
+    oppflag=true;
+    }else if(AccDealerBlacklist=='3'){
+    alert('缁忛攢鍟�2涓洪粦鍚嶅崟锛屼笉鑳藉仛鎺堟潈鐢宠锛�');
+    oppflag=true;
+    }
+    if(oppflag){
+    var opprtn = sforce.apex.execute("OpportunityWebService", "accSendEmail",{"AccDealerBlacklist":AccDealerBlacklist,"accname":accname,"angency1":angency1,"angency2":angency2,"ownerids":ownerids,"angency2":angency2,"oppid":oppid});
+    if (opprtn = true) {
+    return;
+    }
+    }
+    //璐告槗鍚堣 you
+
+    if(!Closing_Bid_Date){
+    alert("璇峰~鍐�13.涓爣鏃ャ��");
+    return;
+    }
+
+    if (decide_quote != '1') {
+    alert('璇峰厛鍐冲畾鎶ヤ环銆�');
+    return;
+    }
+    //SWAG-CG88AG銆愬鎵樸�戞彁鍑轰环鏍肩敵璇锋槸鍦ㄥ崗璁湁鏁堟湡鍐咃紝鍏佽WIN fy start
+    if (DecidedQuoteNo !="") {
+    var judg=sforce.apex.execute("OpportunityWebService","judgeIsAssistantAppliedOutTime",{Quoteid:DecidedQuoteNo});
+    // alert('judg寰楀�硷細'+judg);
+    // return;
+    if(judg == 'false'){
+    alert('缁忛攢鍟嗗崗璁凡杩囨湡锛岃閲嶆柊鍋氭姤浠疯绠椼��');
+    return;
+    }
+    }
+    //SWAG-CG88AG銆愬鎵樸�戞彁鍑轰环鏍肩敵璇锋槸鍦ㄥ崗璁湁鏁堟湡鍐咃紝鍏佽WIN fy end
+    // 20221009 ljh SWAG-CK29AJ start
+    var ClosingBidDate = '{!Opportunity.Closing_Bid_Date__c}';
+    var BidDate = '{!Opportunity.Bid_Date__c}';
+    if( ClosingBidDate < BidDate){
+    alert('13.涓爣鏃ヤ笉鑳芥棭浜�12.鎷涙爣鏃�');
+    return;
+    }
+        // 20221009 ljh SWAG-CK29AJ end
+    if(If_Need_Authorize == '1' && (Authorized_DB_No == null || Authorized_DB_No == '')){
+    alert('璇峰厛鍋氭巿鏉冪敵璇枫��');
+    return;
+    }
+
+    if ('{!Opportunity.Cnt_Lost_cancel_Draft__c}' > 0) {
+    if(!confirm('璇环鏈夎崏妗堜腑鐨勫彇娑�/澶卞崟鎶ュ憡锛屾槸鍚︾户缁紵')){
+    return ;
+    }
+    } else if ('{!Opportunity.Cnt_Lost_cancel_report__c}' - '{!Opportunity.Cnt_Lost_cancel_Draft__c}' > 0) {
+    alert('璇环鏈夊凡鎻愪氦鐨勫彇娑�/澶卞崟鎶ュ憡銆�');
+    return;
+    }
+
+
+
+// 2022-03-31 鏂拌储骞翠环鏍艰皟鏁� start
+    var decide_date = '{!Opportunity.DecideQuoteDate__c}';
+    if (decide_date != null && decide_date < {!DATE(2022,4,1)}) {
+    alert('鎶ヤ环鍙樻洿锛岃閲嶆柊鍋欴ecide銆�');
+    return;
+    }
+
+    // 2022-03-31 鏂拌储骞翠环鏍艰皟鏁� end
+    var sql = "select Id,Contract_Authorize_Lock__c from Opportunity where Id ='" + oppid + "'";
+    var sqlResult = sforce.connection.query(sql);
+    var records = sqlResult.getArray("records");
+
+    if ((complete_day != null && complete_day != '') && records[0].Contract_Authorize_Lock__c== 'true') {
+    alert('鍚堝悓鐢宠宸茬粡瀹屾垚锛岃涓嶈閲嶅鎻愪氦銆�');
+    return;
+    }
+    // if ('{!Opportunity.AcecideCntCheck__c}' != '1') {
+    // alert('闃胯タ璧涘璇环鍙兘鍖呭惈鍗卞寲鍝侊紝鎴栬�咃紝鏅�氳浠蜂笉鑳藉寘鍚嵄鍖栧搧銆�');
+    // return;
+    // }
+    if ((complete_day == null || complete_day == '') && records[0].Contract_Authorize_Lock__c== 'true') {
+    alert('鍚堝悓姝e湪鐢宠涓紝璇蜂笉瑕侀噸澶嶆彁浜ゃ��');
+    return;
+    }
+
+    if ('{!Opportunity.IF_Submit__c }' == '1') {
+    alert('涓婁紶澶辫触锛岃鑱旂郴绯荤粺绠$悊鍛�!');
+    return;
+    }
+
+    var angency = '{!Opportunity.Agency1Id__c}';
+    if('{!Opportunity.Trade__c}' == '澶栬部' || '{!Opportunity.Sales_Root__c}' == 'OCM鐩存帴璨╁2'){
+    var rtn = sforce.apex.execute("OpportunityWebService", "updReg",{oppid:oppid});
+    } else {
+    if('{!Opportunity.Is_Corrosion__c}' == '1'){
+    var rtn1 = sforce.apex.execute("OpportunityWebService", "checkDangerItem",{agency1:angency });
+    if (rtn1 != 'OK') {
+    alert(rtn1);
+    return;
+    }
+    }else{
+    var rtn = sforce.apex.execute("OpportunityWebService", "oppCheck",{oppid:oppid, saveFlg:'1'});
+
+    if (rtn != 'OK') {
+    alert(rtn);
+    return;
+    }
+    }
+
+
+}
+
+var opp = new sforce.SObject('Opportunity');
+opp.Id = '{!Opportunity.Id}';
+opp.Contract_Authorize__c = '1';
+opp.if_Interface_Lock__c = '1';
+opp.IF_Submit__c = '1';
+var result = sforce.connection.update([opp]);
+var messages = getConnectDMLErrorMessages(result);
+if (messages.length > 0) {
+alert(messages.join("\n"));
+return;
+}
+alert('鎻愪氦鎴愬姛锛佽鍦⊿PO绯荤粺涓畬鎴愬悎鍚岀敵璇枫��');
+
+//window.location.reload();
+window.open(spoURL);
+};
+foo();*/
     }
 
 }
\ No newline at end of file
diff --git a/force-app/main/default/lwc/otherButtonInOpportunity/otherButtonInOpportunity.js-meta.xml b/force-app/main/default/lwc/otherButtonInOpportunity/otherButtonInOpportunity.js-meta.xml
index ea41701..2b7649d 100644
--- a/force-app/main/default/lwc/otherButtonInOpportunity/otherButtonInOpportunity.js-meta.xml
+++ b/force-app/main/default/lwc/otherButtonInOpportunity/otherButtonInOpportunity.js-meta.xml
@@ -6,5 +6,6 @@
 		<target>lightning__RecordPage</target>
 		<target>lightning__AppPage</target>
 		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
 	</targets>
 </LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/pageBlocks/pageBlocks.html b/force-app/main/default/lwc/pageBlocks/pageBlocks.html
new file mode 100644
index 0000000..95944b9
--- /dev/null
+++ b/force-app/main/default/lwc/pageBlocks/pageBlocks.html
@@ -0,0 +1,47 @@
+<template>
+    <lightning-card title="Course Details">
+        <lightning-accordion
+            allow-multiple-sections-open
+            active-section-name={activeSections}
+        >
+            <lightning-accordion-section name="A" label="Contents">
+                <lightning-layout multiple-rows="true">
+                    <lightning-layout-item size="6">
+                        Irrigation systems
+                    </lightning-layout-item>
+
+                    <lightning-layout-item size="6">
+                        Soils
+                    </lightning-layout-item>
+
+                    <lightning-layout-item size="6">
+                        Organic crops
+                    </lightning-layout-item>
+
+                    <lightning-layout-item size="6">
+                        Sustainable pest control
+                    </lightning-layout-item>
+                </lightning-layout>
+            </lightning-accordion-section>
+            <lightning-accordion-section name="B" label="Instructors">
+                <lightning-layout multiple-rows="true">
+                    <lightning-layout-item size="6">
+                        Anna Perez
+                    </lightning-layout-item>
+
+                    <lightning-layout-item size="6">
+                        Mark Kingston
+                    </lightning-layout-item>
+
+                    <lightning-layout-item size="6">
+                        Tom Davis
+                    </lightning-layout-item>
+
+                    <lightning-layout-item size="6">
+                        Rachel Morris
+                    </lightning-layout-item>
+                </lightning-layout>
+            </lightning-accordion-section>
+        </lightning-accordion>
+    </lightning-card>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/pageBlocks/pageBlocks.js b/force-app/main/default/lwc/pageBlocks/pageBlocks.js
new file mode 100644
index 0000000..c3037fb
--- /dev/null
+++ b/force-app/main/default/lwc/pageBlocks/pageBlocks.js
@@ -0,0 +1,5 @@
+import { LightningElement } from 'lwc';
+
+export default class PageBlocks extends LightningElement {
+    activeSections = ['A', 'B'];
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/pageBlocks/pageBlocks.js-meta.xml b/force-app/main/default/lwc/pageBlocks/pageBlocks.js-meta.xml
new file mode 100644
index 0000000..b9a3113
--- /dev/null
+++ b/force-app/main/default/lwc/pageBlocks/pageBlocks.js-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>false</isExposed>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/pageBlocksWrapper/pageBlocksWrapper.html b/force-app/main/default/lwc/pageBlocksWrapper/pageBlocksWrapper.html
new file mode 100644
index 0000000..a6e916d
--- /dev/null
+++ b/force-app/main/default/lwc/pageBlocksWrapper/pageBlocksWrapper.html
@@ -0,0 +1,19 @@
+<template>
+    <c-example-wrapper
+        icon-name="custom:custom44"
+        lwc="pageBlocks"
+        title="Page Blocks"
+        visualforce="pageBlocks"
+        visualforce-height="230px"
+    >
+        <c-page-blocks slot="lwc"></c-page-blocks>
+
+        <!-- prettier-ignore -->
+        <p>
+            Use <a target="_blank" href="https://developer.salesforce.com/docs/component-library/bundle/lightning-card">
+            lightning-card</a>, <a target="_blank" href="https://developer.salesforce.com/docs/component-library/bundle/lightning-layout">
+            lightning-layout</a> and <a target="_blank" href="https://developer.salesforce.com/docs/component-library/bundle/lightning-layout-item">
+            lightning-layout-item </a> to replace apex:pageBlock, apex:pageBlockSection and apex:pageBlockSectionItem.
+        </p>
+    </c-example-wrapper>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/pageBlocksWrapper/pageBlocksWrapper.js b/force-app/main/default/lwc/pageBlocksWrapper/pageBlocksWrapper.js
new file mode 100644
index 0000000..c749c28
--- /dev/null
+++ b/force-app/main/default/lwc/pageBlocksWrapper/pageBlocksWrapper.js
@@ -0,0 +1,3 @@
+import { LightningElement } from 'lwc';
+
+export default class PageBlocksWrapper extends LightningElement {}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/pageBlocksWrapper/pageBlocksWrapper.js-meta.xml b/force-app/main/default/lwc/pageBlocksWrapper/pageBlocksWrapper.js-meta.xml
new file mode 100644
index 0000000..6646900
--- /dev/null
+++ b/force-app/main/default/lwc/pageBlocksWrapper/pageBlocksWrapper.js-meta.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightning__AppPage</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/pageMessagesDataRetrieval/__mocks__/pageMessagesDataRetrieval.js b/force-app/main/default/lwc/pageMessagesDataRetrieval/__mocks__/pageMessagesDataRetrieval.js
new file mode 100644
index 0000000..afde693
--- /dev/null
+++ b/force-app/main/default/lwc/pageMessagesDataRetrieval/__mocks__/pageMessagesDataRetrieval.js
@@ -0,0 +1,3 @@
+import { LightningElement } from 'lwc';
+
+export default class PageMessagesDataRetrieval extends LightningElement {}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/pageMessagesDataRetrieval/pageMessagesDataRetrieval.html b/force-app/main/default/lwc/pageMessagesDataRetrieval/pageMessagesDataRetrieval.html
new file mode 100644
index 0000000..b970684
--- /dev/null
+++ b/force-app/main/default/lwc/pageMessagesDataRetrieval/pageMessagesDataRetrieval.html
@@ -0,0 +1,8 @@
+<template>
+    <template if:true={accounts.data}>
+        <p>{accounts.data}</p>
+    </template>
+    <template if:true={accounts.error}>
+        <c-error-panel errors={accounts.error}></c-error-panel>
+    </template>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/pageMessagesDataRetrieval/pageMessagesDataRetrieval.js b/force-app/main/default/lwc/pageMessagesDataRetrieval/pageMessagesDataRetrieval.js
new file mode 100644
index 0000000..30a4e92
--- /dev/null
+++ b/force-app/main/default/lwc/pageMessagesDataRetrieval/pageMessagesDataRetrieval.js
@@ -0,0 +1,7 @@
+import { LightningElement, wire } from 'lwc';
+import getAccounts from '@salesforce/apex/PageMessagesDataRetrievalControllerLwc.getAccounts';
+
+export default class PageMessagesDataRetrieval extends LightningElement {
+    @wire(getAccounts)
+    accounts;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/pageMessagesDataRetrieval/pageMessagesDataRetrieval.js-meta.xml b/force-app/main/default/lwc/pageMessagesDataRetrieval/pageMessagesDataRetrieval.js-meta.xml
new file mode 100644
index 0000000..b9a3113
--- /dev/null
+++ b/force-app/main/default/lwc/pageMessagesDataRetrieval/pageMessagesDataRetrieval.js-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>false</isExposed>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/pageMessagesDataRetrievalWrapper/pageMessagesDataRetrievalWrapper.html b/force-app/main/default/lwc/pageMessagesDataRetrievalWrapper/pageMessagesDataRetrievalWrapper.html
new file mode 100644
index 0000000..f97fa3d
--- /dev/null
+++ b/force-app/main/default/lwc/pageMessagesDataRetrievalWrapper/pageMessagesDataRetrievalWrapper.html
@@ -0,0 +1,20 @@
+<template>
+    <c-example-wrapper
+        icon-name="custom:custom86"
+        lwc="pageMessagesDataRetrieval"
+        title="Data Retrieval Error Message"
+        visualforce="pageMessagesDataRetrieval"
+        visualforce-height="120px"
+    >
+        <c-page-messages-data-retrieval
+            slot="lwc"
+        ></c-page-messages-data-retrieval>
+        <!-- prettier-ignore -->
+        <p>
+            Let exceptions propagate instead of using apex:pageMessages. Show
+            error messages if no data is found by using
+            a <a target="_blank" href="https://www.lightningdesignsystem.com/components/illustration/#No-Data">
+            no data</a> error panel.
+        </p>
+    </c-example-wrapper>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/pageMessagesDataRetrievalWrapper/pageMessagesDataRetrievalWrapper.js b/force-app/main/default/lwc/pageMessagesDataRetrievalWrapper/pageMessagesDataRetrievalWrapper.js
new file mode 100644
index 0000000..0d98ac9
--- /dev/null
+++ b/force-app/main/default/lwc/pageMessagesDataRetrievalWrapper/pageMessagesDataRetrievalWrapper.js
@@ -0,0 +1,3 @@
+import { LightningElement } from 'lwc';
+
+export default class PageMessagesDataRetrievalWrapper extends LightningElement {}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/pageMessagesDataRetrievalWrapper/pageMessagesDataRetrievalWrapper.js-meta.xml b/force-app/main/default/lwc/pageMessagesDataRetrievalWrapper/pageMessagesDataRetrievalWrapper.js-meta.xml
new file mode 100644
index 0000000..6646900
--- /dev/null
+++ b/force-app/main/default/lwc/pageMessagesDataRetrievalWrapper/pageMessagesDataRetrievalWrapper.js-meta.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightning__AppPage</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/pageMessagesForm/pageMessagesForm.html b/force-app/main/default/lwc/pageMessagesForm/pageMessagesForm.html
new file mode 100644
index 0000000..3d6be17
--- /dev/null
+++ b/force-app/main/default/lwc/pageMessagesForm/pageMessagesForm.html
@@ -0,0 +1,33 @@
+<template>
+    <lightning-input
+        label="Enter City Name:"
+        onchange={handleInputChange}
+        value={cityName}
+    ></lightning-input>
+    <div class="slds-align_absolute-center slds-var-p-around_medium">
+        <template if:true={errors}>
+            <div style="position: relative">
+                <lightning-button-icon
+                    icon-class="slds-button_icon-error"
+                    variant="bare"
+                    size="large"
+                    icon-name="utility:error"
+                    alternative-text="Resolve Error"
+                    onclick={handleErrorButtonIconClick}
+                ></lightning-button-icon>
+                <c-error-popover errors={errors}></c-error-popover>
+            </div>
+        </template>
+        <lightning-button
+            class="cancel"
+            onclick={handleCancelButtonClick}
+            label="Cancel"
+        ></lightning-button>
+        <lightning-button
+            class="save slds-var-m-left_x-small"
+            onclick={handleSaveButtonClick}
+            label="Save"
+            variant="brand"
+        ></lightning-button>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/pageMessagesForm/pageMessagesForm.js b/force-app/main/default/lwc/pageMessagesForm/pageMessagesForm.js
new file mode 100644
index 0000000..a83a29f
--- /dev/null
+++ b/force-app/main/default/lwc/pageMessagesForm/pageMessagesForm.js
@@ -0,0 +1,35 @@
+import { LightningElement } from 'lwc';
+import { reduceErrors } from 'c/ldsUtils';
+import createCity from '@salesforce/apex/PageMessagesFormControllerLwc.createCity';
+
+export default class PageMessagesForm extends LightningElement {
+    errors;
+    cityName;
+
+    handleSaveButtonClick() {
+        createCity({ cityName: this.cityName })
+            .then(() => {
+                // Handle successful result
+            })
+            .catch((error) => {
+                this.errors = reduceErrors(error).join(', ');
+                // Optionally highlight fields errors
+                this.template
+                    .querySelector('lightning-input')
+                    .setCustomValidity('Incorrect input');
+                this.template.querySelector('lightning-input').reportValidity();
+            });
+    }
+
+    handleInputChange(event) {
+        this.cityName = event.detail.value;
+    }
+
+    handleCancelButtonClick() {
+        this.cityName = '';
+    }
+
+    handleErrorButtonIconClick() {
+        this.template.querySelector('c-error-popover').toggle();
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/pageMessagesForm/pageMessagesForm.js-meta.xml b/force-app/main/default/lwc/pageMessagesForm/pageMessagesForm.js-meta.xml
new file mode 100644
index 0000000..b9a3113
--- /dev/null
+++ b/force-app/main/default/lwc/pageMessagesForm/pageMessagesForm.js-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>false</isExposed>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/pageMessagesFormWrapper/pageMessagesFormWrapper.html b/force-app/main/default/lwc/pageMessagesFormWrapper/pageMessagesFormWrapper.html
new file mode 100644
index 0000000..3fbb4e9
--- /dev/null
+++ b/force-app/main/default/lwc/pageMessagesFormWrapper/pageMessagesFormWrapper.html
@@ -0,0 +1,20 @@
+<template>
+    <c-example-wrapper
+        icon-name="custom:custom86"
+        lwc="pageMessagesForm"
+        title="Form Error Message"
+        visualforce="pageMessagesForm"
+        visualforce-height="155px"
+    >
+        <c-page-messages-form slot="lwc"></c-page-messages-form>
+        <!-- prettier-ignore -->
+        <p>
+            Let exceptions propagate instead of using apex:pageMessages. Show
+            error messages after a form submission using 
+            a <a target="_blank" href="https://www.lightningdesignsystem.com/components/popovers/">
+            popover</a> and optionally highlight the field with
+            an <a target="_blank" href="https://www.lightningdesignsystem.com/guidelines/messaging/components/inline-text/#flavor-variants-state">
+            error state</a>.
+        </p>
+    </c-example-wrapper>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/pageMessagesFormWrapper/pageMessagesFormWrapper.js b/force-app/main/default/lwc/pageMessagesFormWrapper/pageMessagesFormWrapper.js
new file mode 100644
index 0000000..7a08e05
--- /dev/null
+++ b/force-app/main/default/lwc/pageMessagesFormWrapper/pageMessagesFormWrapper.js
@@ -0,0 +1,3 @@
+import { LightningElement } from 'lwc';
+
+export default class PageMessagesFormWrapper extends LightningElement {}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/pageMessagesFormWrapper/pageMessagesFormWrapper.js-meta.xml b/force-app/main/default/lwc/pageMessagesFormWrapper/pageMessagesFormWrapper.js-meta.xml
new file mode 100644
index 0000000..6646900
--- /dev/null
+++ b/force-app/main/default/lwc/pageMessagesFormWrapper/pageMessagesFormWrapper.js-meta.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightning__AppPage</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/pageMessagesToast/pageMessagesToast.html b/force-app/main/default/lwc/pageMessagesToast/pageMessagesToast.html
new file mode 100644
index 0000000..b476037
--- /dev/null
+++ b/force-app/main/default/lwc/pageMessagesToast/pageMessagesToast.html
@@ -0,0 +1,8 @@
+<template>
+    <p>Click the next button to generate and send the document:</p>
+    <lightning-button
+        onclick={handleButtonClick}
+        label="Send PDF"
+        class="slds-var-m-top_small"
+    ></lightning-button>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/pageMessagesToast/pageMessagesToast.js b/force-app/main/default/lwc/pageMessagesToast/pageMessagesToast.js
new file mode 100644
index 0000000..633e82f
--- /dev/null
+++ b/force-app/main/default/lwc/pageMessagesToast/pageMessagesToast.js
@@ -0,0 +1,21 @@
+import { LightningElement } from 'lwc';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+import { reduceErrors } from 'c/ldsUtils';
+import callApex from '@salesforce/apex/PageMessagesControllerLwc.callApex';
+
+export default class PageMessagesToast extends LightningElement {
+    handleButtonClick() {
+        callApex()
+            .then(() => {
+                // Handle successful result
+            })
+            .catch((error) => {
+                const evt = new ShowToastEvent({
+                    title: 'Error',
+                    message: reduceErrors(error).join(', '),
+                    variant: 'error'
+                });
+                this.dispatchEvent(evt);
+            });
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/pageMessagesToast/pageMessagesToast.js-meta.xml b/force-app/main/default/lwc/pageMessagesToast/pageMessagesToast.js-meta.xml
new file mode 100644
index 0000000..b9a3113
--- /dev/null
+++ b/force-app/main/default/lwc/pageMessagesToast/pageMessagesToast.js-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>false</isExposed>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/pageMessagesToastWrapper/pageMessagesToastWrapper.html b/force-app/main/default/lwc/pageMessagesToastWrapper/pageMessagesToastWrapper.html
new file mode 100644
index 0000000..b984a3f
--- /dev/null
+++ b/force-app/main/default/lwc/pageMessagesToastWrapper/pageMessagesToastWrapper.html
@@ -0,0 +1,18 @@
+<template>
+    <c-example-wrapper
+        icon-name="custom:custom86"
+        lwc="pageMessagesToast"
+        title="Toast Error Message"
+        visualforce="pageMessages"
+        visualforce-height="70px"
+    >
+        <c-page-messages-toast slot="lwc"></c-page-messages-toast>
+
+        <!-- prettier-ignore -->
+        <p>
+            Let exceptions propagate instead of using apex:pageMessages.
+            Fire a <a target="_blank" href="https://developer.salesforce.com/docs/component-library/bundle/lightning-platform-show-toast-event/documentation">
+            lightning-platform-show-toast-event</a> to show an error toast message.
+        </p>
+    </c-example-wrapper>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/pageMessagesToastWrapper/pageMessagesToastWrapper.js b/force-app/main/default/lwc/pageMessagesToastWrapper/pageMessagesToastWrapper.js
new file mode 100644
index 0000000..b5970f0
--- /dev/null
+++ b/force-app/main/default/lwc/pageMessagesToastWrapper/pageMessagesToastWrapper.js
@@ -0,0 +1,3 @@
+import { LightningElement } from 'lwc';
+
+export default class PageMessagesToastWrapper extends LightningElement {}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/pageMessagesToastWrapper/pageMessagesToastWrapper.js-meta.xml b/force-app/main/default/lwc/pageMessagesToastWrapper/pageMessagesToastWrapper.js-meta.xml
new file mode 100644
index 0000000..6646900
--- /dev/null
+++ b/force-app/main/default/lwc/pageMessagesToastWrapper/pageMessagesToastWrapper.js-meta.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightning__AppPage</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/paginatedList/paginatedList.js b/force-app/main/default/lwc/paginatedList/paginatedList.js
index b35c510..b016d13 100644
--- a/force-app/main/default/lwc/paginatedList/paginatedList.js
+++ b/force-app/main/default/lwc/paginatedList/paginatedList.js
@@ -117,4 +117,4 @@
     get nextButtonDisabled() {
         return this.nextPageToken === undefined;
     }
-}
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/paginatedListWrapper/paginatedListWrapper.html b/force-app/main/default/lwc/paginatedListWrapper/paginatedListWrapper.html
new file mode 100644
index 0000000..ca7ddc5
--- /dev/null
+++ b/force-app/main/default/lwc/paginatedListWrapper/paginatedListWrapper.html
@@ -0,0 +1,18 @@
+<template>
+    <c-example-wrapper
+        icon-name="custom:custom62"
+        lwc="paginatedList"
+        title="Paginated List"
+        visualforce="paginatedList"
+        visualforce-height="190px"
+    >
+        <c-paginated-list slot="lwc"></c-paginated-list>
+
+        <!-- prettier-ignore -->
+        <p>
+            Implement pagination for <a target="_blank" href="https://developer.salesforce.com/docs/component-library/bundle/lightning-datatable">
+            lightning-datatable</a> calling Apex in this way. Note that infinite scrolling
+            is preferred, as it usually results in a better user experience. 
+        </p>
+    </c-example-wrapper>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/paginatedListWrapper/paginatedListWrapper.js b/force-app/main/default/lwc/paginatedListWrapper/paginatedListWrapper.js
new file mode 100644
index 0000000..4245492
--- /dev/null
+++ b/force-app/main/default/lwc/paginatedListWrapper/paginatedListWrapper.js
@@ -0,0 +1,3 @@
+import { LightningElement } from 'lwc';
+
+export default class PaginatedListWrapper extends LightningElement {}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/paginatedListWrapper/paginatedListWrapper.js-meta.xml b/force-app/main/default/lwc/paginatedListWrapper/paginatedListWrapper.js-meta.xml
new file mode 100644
index 0000000..6646900
--- /dev/null
+++ b/force-app/main/default/lwc/paginatedListWrapper/paginatedListWrapper.js-meta.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightning__AppPage</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/paginator/paginator.css b/force-app/main/default/lwc/paginator/paginator.css
index 7022ad9..12cf97d 100644
--- a/force-app/main/default/lwc/paginator/paginator.css
+++ b/force-app/main/default/lwc/paginator/paginator.css
@@ -1,4 +1,3 @@
-
 .customSelect select {
     padding-right: 1.25rem;
     min-height: inherit;
diff --git a/force-app/main/default/lwc/panelBar/panelBar.html b/force-app/main/default/lwc/panelBar/panelBar.html
new file mode 100644
index 0000000..c022506
--- /dev/null
+++ b/force-app/main/default/lwc/panelBar/panelBar.html
@@ -0,0 +1,13 @@
+<template>
+    <lightning-accordion>
+        <lightning-accordion-section name="AnnaPerez" label="Anna Perez">
+            London, UK.
+        </lightning-accordion-section>
+        <lightning-accordion-section name="MarkKingston" label="Mark Kingston">
+            Madrid, Spain.
+        </lightning-accordion-section>
+        <lightning-accordion-section name="TomDavis" label="Tom Davis">
+            San Francisco, USA.
+        </lightning-accordion-section>
+    </lightning-accordion>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/panelBar/panelBar.js b/force-app/main/default/lwc/panelBar/panelBar.js
new file mode 100644
index 0000000..b314fb5
--- /dev/null
+++ b/force-app/main/default/lwc/panelBar/panelBar.js
@@ -0,0 +1,3 @@
+import { LightningElement } from 'lwc';
+
+export default class PanelBar extends LightningElement {}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/panelBar/panelBar.js-meta.xml b/force-app/main/default/lwc/panelBar/panelBar.js-meta.xml
new file mode 100644
index 0000000..0a946b5
--- /dev/null
+++ b/force-app/main/default/lwc/panelBar/panelBar.js-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>true</isExposed>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/panelBarWrapper/panelBarWrapper.html b/force-app/main/default/lwc/panelBarWrapper/panelBarWrapper.html
new file mode 100644
index 0000000..525fd37
--- /dev/null
+++ b/force-app/main/default/lwc/panelBarWrapper/panelBarWrapper.html
@@ -0,0 +1,18 @@
+<template>
+    <c-example-wrapper
+        icon-name="custom:custom44"
+        lwc="panelBar"
+        title="Panel Bar"
+        visualforce="panelBar"
+        visualforce-height="90px"
+    >
+        <c-panel-bar slot="lwc"></c-panel-bar>
+
+        <!-- prettier-ignore -->
+        <p>
+            Use <a target="_blank" href="https://developer.salesforce.com/docs/component-library/bundle/lightning-accordion">
+            lightning-accordion</a> and <a target="_blank" href="https://developer.salesforce.com/docs/component-library/bundle/lightning-accordion-section">
+            lightning-accordion-section</a> to replace apex:panelBar and apex:panelBarItem.
+        </p>
+    </c-example-wrapper>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/panelBarWrapper/panelBarWrapper.js b/force-app/main/default/lwc/panelBarWrapper/panelBarWrapper.js
new file mode 100644
index 0000000..cf0031f
--- /dev/null
+++ b/force-app/main/default/lwc/panelBarWrapper/panelBarWrapper.js
@@ -0,0 +1,3 @@
+import { LightningElement } from 'lwc';
+
+export default class PanelBarWrapper extends LightningElement {}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/panelBarWrapper/panelBarWrapper.js-meta.xml b/force-app/main/default/lwc/panelBarWrapper/panelBarWrapper.js-meta.xml
new file mode 100644
index 0000000..6646900
--- /dev/null
+++ b/force-app/main/default/lwc/panelBarWrapper/panelBarWrapper.js-meta.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightning__AppPage</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/panelGrid/panelGrid.html b/force-app/main/default/lwc/panelGrid/panelGrid.html
new file mode 100644
index 0000000..431b864
--- /dev/null
+++ b/force-app/main/default/lwc/panelGrid/panelGrid.html
@@ -0,0 +1,19 @@
+<template>
+    <lightning-layout multiple-rows="true">
+        <lightning-layout-item size="6">
+            <lightning-formatted-text value="London"></lightning-formatted-text>
+        </lightning-layout-item>
+        <lightning-layout-item size="6">
+            <lightning-formatted-text value="Madrid"></lightning-formatted-text>
+        </lightning-layout-item>
+        <lightning-layout-item size="6">
+            <lightning-formatted-text
+                value="San Francisco"
+            ></lightning-formatted-text>
+            <lightning-formatted-text value="Tokio"></lightning-formatted-text>
+        </lightning-layout-item>
+        <lightning-layout-item size="6">
+            <lightning-formatted-text value="Dublin"></lightning-formatted-text>
+        </lightning-layout-item>
+    </lightning-layout>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/panelGrid/panelGrid.js b/force-app/main/default/lwc/panelGrid/panelGrid.js
new file mode 100644
index 0000000..ce4b155
--- /dev/null
+++ b/force-app/main/default/lwc/panelGrid/panelGrid.js
@@ -0,0 +1,3 @@
+import { LightningElement } from 'lwc';
+
+export default class PanelGrid extends LightningElement {}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/panelGrid/panelGrid.js-meta.xml b/force-app/main/default/lwc/panelGrid/panelGrid.js-meta.xml
new file mode 100644
index 0000000..0a946b5
--- /dev/null
+++ b/force-app/main/default/lwc/panelGrid/panelGrid.js-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>true</isExposed>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/panelGridWrapper/panelGridWrapper.html b/force-app/main/default/lwc/panelGridWrapper/panelGridWrapper.html
new file mode 100644
index 0000000..675b760
--- /dev/null
+++ b/force-app/main/default/lwc/panelGridWrapper/panelGridWrapper.html
@@ -0,0 +1,18 @@
+<template>
+    <c-example-wrapper
+        icon-name="custom:custom44"
+        lwc="panelGrid"
+        title="Panel Grid"
+        visualforce="panelGrid"
+        visualforce-height="40px"
+    >
+        <c-panel-grid slot="lwc"></c-panel-grid>
+        <!-- prettier-ignore -->
+        <p>
+            Use <a target="_blank" href="https://developer.salesforce.com/docs/component-library/bundle/lightning-layout">
+            lightning-layout</a> and <a target="_blank" href="https://developer.salesforce.com/docs/component-library/bundle/lightning-layout-item">
+            lightning-layout-item </a> to replace apex:panelGrid and apex:panelGroup. These components follow
+            the flexbox model and are very configurable and powerful.
+        </p>
+    </c-example-wrapper>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/panelGridWrapper/panelGridWrapper.js b/force-app/main/default/lwc/panelGridWrapper/panelGridWrapper.js
new file mode 100644
index 0000000..a991724
--- /dev/null
+++ b/force-app/main/default/lwc/panelGridWrapper/panelGridWrapper.js
@@ -0,0 +1,3 @@
+import { LightningElement } from 'lwc';
+
+export default class PanelGridWrapper extends LightningElement {}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/panelGridWrapper/panelGridWrapper.js-meta.xml b/force-app/main/default/lwc/panelGridWrapper/panelGridWrapper.js-meta.xml
new file mode 100644
index 0000000..6646900
--- /dev/null
+++ b/force-app/main/default/lwc/panelGridWrapper/panelGridWrapper.js-meta.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightning__AppPage</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/parentComponentTest/parentComponentTest.html b/force-app/main/default/lwc/parentComponentTest/parentComponentTest.html
index 7ed80b6..572df46 100644
--- a/force-app/main/default/lwc/parentComponentTest/parentComponentTest.html
+++ b/force-app/main/default/lwc/parentComponentTest/parentComponentTest.html
@@ -41,4 +41,4 @@
         </lightning-vertical-navigation>
         <p>Current Page is <strong>{newPageId}</strong></p>
     </lightning-card>
-</template>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/parentComponentTest/parentComponentTest.js b/force-app/main/default/lwc/parentComponentTest/parentComponentTest.js
index 3fd8c41..30c8595 100644
--- a/force-app/main/default/lwc/parentComponentTest/parentComponentTest.js
+++ b/force-app/main/default/lwc/parentComponentTest/parentComponentTest.js
@@ -59,4 +59,4 @@
         this.newPageId = this.currentPageReference.state.c__ids;
     }
     ////Navigation End
-}
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/parentComponentTest/parentComponentTest.js-meta.xml b/force-app/main/default/lwc/parentComponentTest/parentComponentTest.js-meta.xml
index bf0508f..78dd1e6 100644
--- a/force-app/main/default/lwc/parentComponentTest/parentComponentTest.js-meta.xml
+++ b/force-app/main/default/lwc/parentComponentTest/parentComponentTest.js-meta.xml
@@ -6,4 +6,4 @@
       <target>lightning__AppPage</target>
       <target>lightning__Tab</target>
     </targets>
-</LightningComponentBundle>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/pocCustomComp/pocCustomComp.html b/force-app/main/default/lwc/pocCustomComp/pocCustomComp.html
new file mode 100644
index 0000000..aa3a73f
--- /dev/null
+++ b/force-app/main/default/lwc/pocCustomComp/pocCustomComp.html
@@ -0,0 +1,11 @@
+<template>
+    <div>
+        Id: {recordId}
+    </div>
+    <lightning-file-upload label="Upload"
+                           name="fileUploader"
+                           accept={acceptedFormats}
+                           record-id={recordId}
+                           onuploadfinished={handleUploadFinished}>
+    </lightning-file-upload>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/pocCustomComp/pocCustomComp.js b/force-app/main/default/lwc/pocCustomComp/pocCustomComp.js
new file mode 100644
index 0000000..a73f9b3
--- /dev/null
+++ b/force-app/main/default/lwc/pocCustomComp/pocCustomComp.js
@@ -0,0 +1,25 @@
+import { api,LightningElement } from 'lwc';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+
+export default class PocCustomComp extends LightningElement {
+    @api recordId;
+    @api acceptedFormats;
+
+    connectedCallback(){
+        console.log('recordId =' + this.recordId);
+    }
+    handleUploadFinished() {
+        this.dispatchEvent(new CustomEvent('uploadfinished', {
+            composed: true,
+            bubbles: true,
+            cancelable: true,
+            detail: {
+                data: { name: 'some data', recordId: this.recordId }
+            }
+        }));
+        this.dispatchEvent(new ShowToastEvent({
+            title: 'Completed',
+            message: 'File has been uploaded',
+        }));
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/pocCustomComp/pocCustomComp.js-meta.xml b/force-app/main/default/lwc/pocCustomComp/pocCustomComp.js-meta.xml
new file mode 100644
index 0000000..f8c5cb4
--- /dev/null
+++ b/force-app/main/default/lwc/pocCustomComp/pocCustomComp.js-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>56.0</apiVersion>
+    <isExposed>false</isExposed>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/pocFileUpload/pocFileUpload.html b/force-app/main/default/lwc/pocFileUpload/pocFileUpload.html
new file mode 100644
index 0000000..deebcf7
--- /dev/null
+++ b/force-app/main/default/lwc/pocFileUpload/pocFileUpload.html
@@ -0,0 +1,5 @@
+<template>
+    <c-poc-custom-comp record-id={value}
+                       accepted-formats={typeAttributes.acceptedFormats}>
+    </c-poc-custom-comp>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/pocFileUpload/pocFileUpload.js b/force-app/main/default/lwc/pocFileUpload/pocFileUpload.js
new file mode 100644
index 0000000..cbb38f9
--- /dev/null
+++ b/force-app/main/default/lwc/pocFileUpload/pocFileUpload.js
@@ -0,0 +1,3 @@
+import { LightningElement } from 'lwc';
+
+export default class PocFileUpload extends LightningElement {}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/pocFileUpload/pocFileUpload.js-meta.xml b/force-app/main/default/lwc/pocFileUpload/pocFileUpload.js-meta.xml
new file mode 100644
index 0000000..f8c5cb4
--- /dev/null
+++ b/force-app/main/default/lwc/pocFileUpload/pocFileUpload.js-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>56.0</apiVersion>
+    <isExposed>false</isExposed>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/qisUniversalFailureCode/qisUniversalFailureCode.css b/force-app/main/default/lwc/qisUniversalFailureCode/qisUniversalFailureCode.css
new file mode 100644
index 0000000..66b51b5
--- /dev/null
+++ b/force-app/main/default/lwc/qisUniversalFailureCode/qisUniversalFailureCode.css
@@ -0,0 +1,10 @@
+.exampleHolder{
+    position: relative;
+    display: inline-block;
+    width: 80px;
+    height: 80px;
+    text-align: center;
+}
+.container .uiContainerManager{
+	display: none !important;
+}/* sample css file */
\ No newline at end of file
diff --git a/force-app/main/default/lwc/qisUniversalFailureCode/qisUniversalFailureCode.html b/force-app/main/default/lwc/qisUniversalFailureCode/qisUniversalFailureCode.html
new file mode 100644
index 0000000..33549d5
--- /dev/null
+++ b/force-app/main/default/lwc/qisUniversalFailureCode/qisUniversalFailureCode.html
@@ -0,0 +1,5 @@
+<template>
+ <div class="exampleHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/qisUniversalFailureCode/qisUniversalFailureCode.js b/force-app/main/default/lwc/qisUniversalFailureCode/qisUniversalFailureCode.js
new file mode 100644
index 0000000..4e4a05c
--- /dev/null
+++ b/force-app/main/default/lwc/qisUniversalFailureCode/qisUniversalFailureCode.js
@@ -0,0 +1,63 @@
+import { LightningElement,wire,track,api} from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import { NavigationMixin } from 'lightning/navigation';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+import init  from '@salesforce/apex/QISReportController.initForQisUniversalFailureCodeButton';
+import sqlForPAE  from '@salesforce/apex/QISReportController.sqlForPAE';
+
+export default class qisUniversalFailureCode extends LightningElement {
+	@api recordId;
+	IsLoading = true;
+	qisReportId;
+	paeId;
+	 @wire(CurrentPageReference)
+     getStateParameters(currentPageReference) {
+             console.log(111);
+             console.log(currentPageReference);
+
+         if (currentPageReference) {
+           const urlValue = currentPageReference.state.recordId;
+           if (urlValue) {
+             let str = `${urlValue}`;
+             console.log("str");
+             console.log(str);
+             this.recordId = str;
+           }
+         }
+     }
+
+    connectedCallback () {
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            console.log(result);
+            if (result != null) {
+                this.IsLoading = false;
+                this.qisReportId = result.Id;
+                var RecordTypeId = "ASACDecision";
+                sqlForPAE({
+                	qisReportId: this.qisReportId
+           		 }).then(result => {
+	            	if (result!=null) {
+	            		this.paeId = result.PAEid;
+	            		console.log('result='+this.paeId);
+	            	}   
+	            	var url = '';
+					if (result!=null&&result.length>0){
+						url = "/apex/PAEDecisionRecord?Id="+this.paeId+"&QISReportId="+this.qisReportId +"&RecordTypeIds="+RecordTypeId ;
+					} else {
+						url = "/apex/PAEDecisionRecord?QISReportId="+this.qisReportId +"&RecordTypeIds="+RecordTypeId;
+					} 
+					console.log('url='+url);
+					// window.open(url,'_self');
+                    window.location.replace(url);
+		        }); 
+            }
+        }).catch(error => {
+            console.log('error='+error);
+        }).finally(() => {
+            
+        });   
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/qisUniversalFailureCode/qisUniversalFailureCode.js-meta.xml b/force-app/main/default/lwc/qisUniversalFailureCode/qisUniversalFailureCode.js-meta.xml
new file mode 100644
index 0000000..f9e530d
--- /dev/null
+++ b/force-app/main/default/lwc/qisUniversalFailureCode/qisUniversalFailureCode.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="qisUniversalFailureCode">
+   <apiVersion>54.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightning__RecordPage</target>
+        <target>lightning__AppPage</target>
+        <target>lightning__HomePage</target>
+        <target>lightning__RecordAction</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/quoteTrial/quoteTrial.html b/force-app/main/default/lwc/quoteTrial/quoteTrial.html
index 13d2040..8c74d58 100644
--- a/force-app/main/default/lwc/quoteTrial/quoteTrial.html
+++ b/force-app/main/default/lwc/quoteTrial/quoteTrial.html
@@ -301,16 +301,6 @@
                         <c-jz-data-table onrowselection={SelectedFnOtherData}  data-parent-id="parent-div-idOtherData"    name="jzDataTableOtherData" ongettabledata={getTableDataOtherData} table-data={jzDataOtherData} table-is-loding={tableIsLodingOtherData} options={initDataTableOtherData} onsave={SaveSpecialDiscount} if:true={jzshows5}></c-jz-data-table>
                       </div>
                 </div>
-                <!-- <footer class="slds-modal__footer">
-                  <div if:true= {Teyuebuttonflag}>
-                  <button class="slds-button slds-button_neutral" onclick={cancelSpecial}>鍏抽棴</button>
-                  <button class="slds-button slds-button_brand" disabled="">纭畾</button>
-                  </div>
-                  <div if:true= {Teyuebuttonflag2}>
-                    <button class="slds-button slds-button_neutral" onclick={cancelSpecial}>鍏抽棴</button>
-                    <button class="slds-button slds-button_brand" onclick={SavesSpecial} >纭畾</button>
-                  </div>
-                </footer> -->
                 <footer class="slds-modal__footer">
                   <button class="slds-button slds-button_neutral" onclick={cancelSpecial}>鍏抽棴</button>
                   <button class="slds-button slds-button_brand" onclick={SavesSpecial} >纭畾</button>
diff --git a/force-app/main/default/lwc/quoteTrial/quoteTrial.js b/force-app/main/default/lwc/quoteTrial/quoteTrial.js
index dbdd832..27b3b9d 100644
--- a/force-app/main/default/lwc/quoteTrial/quoteTrial.js
+++ b/force-app/main/default/lwc/quoteTrial/quoteTrial.js
@@ -203,8 +203,7 @@
                     this.OnLoadSaveProduct.push(item);
                 }
             })
-            // var arrss = [...[], ...this.OnLoadSaveProduct];//20230214
-            var arrss = [].concat(this.OnLoadSaveProduct);//20230214
+            var arrss = [...[], ...this.OnLoadSaveProduct];
             //鍚堝苟涓婁竴娆¤瘯绠楃殑鎶ヤ环琛�
             this.addOffer(arrss);
             //澶勭悊鎶ヤ环鏁版嵁鏀瑰姩鍚庤瘯绠楃晫闈㈢殑鍙樺寲
@@ -264,8 +263,7 @@
     //鍚堝苟涓婁竴娆$殑鎶ヤ环琛�
     lastQuotation = [];
     addOffer(TrialLine) {
-        // this.lastQuotation = [...[], ...addOfferLogic(TrialLine)]; //鍚堝苟涓婁竴娆$殑鎶ヤ环琛岀殑閫昏緫//20230214
-        this.lastQuotation = [].concat(addOfferLogic(TrialLine));//20230214
+        this.lastQuotation = [...[], ...addOfferLogic(TrialLine)]; //鍚堝苟涓婁竴娆$殑鎶ヤ环琛岀殑閫昏緫
     }
     Complate = false;
     //浠庢暟鎹簱鏇存柊宸蹭繚瀛樼殑鏁版嵁 鏂规  UpdateBy 2021 06 29
@@ -391,11 +389,7 @@
         var newDicountData = [];
         newDicountData=SpecialSavesChangePartLogic(jzDataDefaultList,SaveName, SelectedData, IdStr, CompareId,DefalutQuantity,newDicountData,jzDataDiscountList);
         this.jzDataDefault = NewDefaultDatass;
-        // this.jzDataProduct = [...this.jzDataProduct, ...AddProductDatass]; //浜у搧鏄庣粏//20230213
-        this.jzDataProduct =this.jzDataProduct.concat(AddProductDatass);//20230213
-        console.warn('newDicountData'+ newDicountData[0].Id);
-        console.warn('AddProductDatass'+AddProductDatass[0]);
-        console.warn('this.jzDataProduct'+this.jzDataProduct[0]);
+        this.jzDataProduct = [...this.jzDataProduct, ...AddProductDatass]; //浜у搧鏄庣粏
         //鍚堝悓浠锋牸姹囨��
         this.ContractPriceCompute();
         this.jzDataDiscount = newDicountData;
@@ -413,8 +407,7 @@
                 ...jzDataProductParam
             }
             jzDataProductParam = this.countListAndNod(tempObject, result);
-            // arrData = [...[], jzDataProductParam];//20230214
-            arrData = [].concat(jzDataProductParam);//20230214
+            arrData = [...[], jzDataProductParam];
             //杩斿洖鏁版嵁姣旇緝瑙勫垯
             this.CompareData(result, idStr, jzDataProductParam, TypeName, jzDataDefaultToTemps, arrData, isShow);
         })
@@ -439,8 +432,7 @@
     CompareData(list, idStr, jzDataProductParam, TypeName, jzDataDefaultToTemps, arrData, isShow) {
         var isChange = false;
         var TempsJzData = []
-        // TempsJzData = [...[], ...this.jzDataDefault]; //寰呴�変骇鍝�//20230214
-        TempsJzData = [].concat(this.jzDataDefault);//20230214
+        TempsJzData = [...[], ...this.jzDataDefault]; //寰呴�変骇鍝�
         var TempsJzDataToCompare = []
         TempsJzData.forEach(item => {
             list.forEach(element => { //淇冮攢鏂规涓绘暟鎹叧鑱斾骇鍝�
@@ -483,8 +475,7 @@
             newObj.element = newElement;
             newTempsJzDataToCompare.push(newObj);
         })
-        // TempsJzDataToCompare = [...[], ...newTempsJzDataToCompare];//20230214
-        TempsJzDataToCompare = [].concat(newTempsJzDataToCompare);//20230214
+        TempsJzDataToCompare = [...[], ...newTempsJzDataToCompare];
         //End
         if (TempsJzDataToCompare.length == list.length&&list.length!=0) {
             TempsJzDataToCompare.forEach(TempsItems => {
@@ -516,8 +507,7 @@
         //鏇存柊娆℃暟
         this.updatesNums();
         //鍚堝苟閲嶅浠锋牸鏀跨瓥鏂规
-        // var jzarr = [...[], ...this.jzDataFixedPrice];//20230214
-        var jzarr = [].concat(this.jzDataFixedPrice);//20230214
+        var jzarr = [...[], ...this.jzDataFixedPrice];
         this.MergeDuplicateSchemes(jzarr);
         //淇濆瓨鏈�澶ф鏁�
         this.savecount(idStr);
@@ -548,8 +538,7 @@
                         CompareFullDataedit.push(editnum);
                     }
                 });
-                // this.CompareFullData = [...[], ...CompareFullDataedit];//20230214
-                this.CompareFullData = [].concat(CompareFullDataedit);//20230214
+                this.CompareFullData = [...[], ...CompareFullDataedit];
                 Setmap.set(arrs.Id, object);
             } else {
                 object = {
@@ -562,14 +551,12 @@
         for (let [k, v] of Setmap) {
             arr.push(v);
         }
-        // this.jzDataFixedPrice = [...[], ...arr]//20230214
-        this.jzDataFixedPrice = [].concat(arr);//20230214
+        this.jzDataFixedPrice = [...[], ...arr]
         this.ConsolidationProgramProducts(arr);
     }
     //褰掑苟鐩稿悓浠锋牸鏀跨瓥鏂规鐨勪骇鍝�
     ConsolidationProgramProducts(arrSchemes) {
-        // var jzdataList = [...[], ...this.jzDataProduct];//20230214
-        var jzdataList = [].concat(this.jzDataProduct);//20230214
+        var jzdataList = [...[], ...this.jzDataProduct];
         this.jzDataProduct = PriceConsolidation(arrSchemes, jzdataList);
     }
     //淇濆瓨鏈�澶ф鏁�
@@ -588,10 +575,8 @@
     //鏇挎崲listprice鍗曚环
     ReplacementUnitPrice() {
         var ifTrade = this.QuoteData[0].Opportunity.Trade__c; //鍐呭璐�
-        // var arr = [...[], ...this.jzDataProduct];//20230214
-        var arr = [].concat(this.jzDataProduct);//20230214
-        // this.jzDataProduct = [...[], ...ReplacementUnitPriceLogic(arr, ifTrade)]; //鏇挎崲listprice鍗曚环閫昏緫//20230214
-        this.jzDataProduct = [].concat(ReplacementUnitPriceLogic(arr, ifTrade));//20230214
+        var arr = [...[], ...this.jzDataProduct];
+        this.jzDataProduct = [...[], ...ReplacementUnitPriceLogic(arr, ifTrade)]; //鏇挎崲listprice鍗曚环閫昏緫
         //鍚堝悓浠锋牸姹囨��
         this.ContractPriceCompute();
     }
@@ -678,8 +663,7 @@
                                     newArrsTemp6.push(itsss);
                                 }
                             });
-                            // newArrsTemp5 = [...[], ...newArrsTemp6];//20230214
-                            newArrsTemp5 = [].concat(newArrsTemp6);//20230214
+                            newArrsTemp5 = [...[], ...newArrsTemp6];
                             this.jzDataDefault = newArrsTemp5;
                         }
                         this.jzDataProduct = arrProductTemp;
@@ -747,8 +731,7 @@
                                     newArrsTemp6.push(itsss);
                                 }
                             });
-                            // newArrsTemp5 = [...[], ...newArrsTemp6];//20230214
-                            newArrsTemp5 = [].concat(newArrsTemp6);//20230214
+                            newArrsTemp5 = [...[], ...newArrsTemp6];
                             this.jzDataDefault = newArrsTemp5;
                         }
                         this.jzDataProduct = arrProductTemp;
@@ -757,8 +740,7 @@
                     }
                 }
             });
-            // this.jzDataFixedPrice = [...[], ...arrTemp];//20230214
-            this.jzDataFixedPrice = [].concat(arrTemp);//20230214
+            this.jzDataFixedPrice = [...[], ...arrTemp];
         }
 
     }
@@ -839,14 +821,11 @@
                 }
             }
         });
-        this.jzDataDiscount = [...[], ...arrTemp1];//20230214
-        // this.jzDataDiscount = [].concat(arrTemp1);//20230214
-        console.warn('this.jzDataDiscountceshi1234567890'+this.jzDataDiscount);
+        this.jzDataDiscount = [...[], ...arrTemp1];
     }
     //涓�鑸姌鎵f洿鏀硅繃鍚堝悓浠锋牸璁$畻
     updateCommonlyDiscountLogic(Id,JxsType,GuaranteeDiscount__c_Input,NormalDiscount__c_Input,Category__c,jzDataDiscount) {
         //todu13
-        console.warn('jzDataDiscount'+jzDataDiscount);
         this.updateIdStr("1");
         var arrProductTemp = this.jzDataProduct; // PromotionId   浜у搧鏄庣粏
         this.jzDataProduct=updateCDLogic(Id,JxsType,GuaranteeDiscount__c_Input,NormalDiscount__c_Input,Category__c,jzDataDiscount,arrProductTemp);
@@ -855,23 +834,14 @@
     //璁$畻涓�鑸姌鎵i潪瀵硅薄鍝佹姌鎵�
     ComouteProductDiscount(Id,Category__c,GuaranteeDiscount__c_Input, NormalDiscount__c_Input,GuaranteeDiscount_H_Money__c, NormalDiscount_H_Money__c, item) {
         //todu12
-        console.warn('this.jzDataDiscountxxx1'+this.jzDataDiscount);
         this.updateIdStr("2");
         var arrTemp1 = this.jzDataDiscount; //鎶樻墸鏀跨瓥
-        console.warn('this.jzDataDiscountxxx2'+this.jzDataDiscount);
         this.updateIdStr("1");
         var arrProductTemp = this.jzDataProduct; // PromotionId   浜у搧鏄庣粏
     
         var reslut=ReverseCalculationModifyDiscountLogic(arrTemp1,arrProductTemp,Id,Category__c,GuaranteeDiscount__c_Input, NormalDiscount__c_Input,GuaranteeDiscount_H_Money__c, NormalDiscount_H_Money__c, item);
-        // var ceshi = arrTempsss;//20230214
-        // this.jzDataDiscount=[...[], ...ceshi];//20230214
-        this.jzDataDiscount=[...[], ...arrTempsss];//20230214
-        // this.jzDataDiscount=[].concat(arrTempsss);//20230214
-        // console.warn('ceshi'+ceshi);
-        console.warn('this.jzDataDiscountxxx3+++'+this.jzDataDiscount);
-        var ceshi2 = arrProductTempsss;
-        this.jzDataProduct =[...[], ...ceshi2];//20230214
-        // this.jzDataProduct=[].concat(arrProductTempsss);//20230214
+        this.jzDataDiscount=[...[], ...arrTempsss];
+        this.jzDataProduct =[...[], ...arrProductTempsss];
         return reslut;
     }
     //todu
@@ -888,10 +858,7 @@
     //鍒犻櫎浠锋牸璁$畻
     delectComputeData(item) { //item 浜у搧鏄庣粏鐨勪竴鏉℃暟鎹�
         var sum = this.ComputeListPrice(item.PromotionId);
-        // var jzProductarry = [...[], ...this.jzDataProduct];//20230214
-        var jzProductarry = [].concat(this.jzDataProduct);//20230214
-        console.warn('ceshiasdfasdfsdfasdjzProductarry'+arrss);
-            console.warn('sfgssgfgthis.jzDataProduct'+this.jzDataProduct);
+        var jzProductarry = [...[], ...this.jzDataProduct];
         jzProductarry.forEach(japdt => { //japdt浜у搧鏄庣粏
             if (item.PromotionId == japdt.PromotionId) {
                 japdt.AgencySubtotal__c = japdt.AgencySubtotal__c + item.AgencySubtotal__c * (japdt.ListPrice * japdt.Quantity / sum);
@@ -900,8 +867,7 @@
                 japdt.AgencyUnitPrice__c = Math.round(japdt.AgencyUnitPrice__c * 100) / 100;
             }
         });
-        // this.jzDataProduct = [...[], ...jzProductarry];//20230214
-        this.jzDataProduct = [].concat(jzProductarry);//20230214
+        this.jzDataProduct = [...[], ...jzProductarry];
         //鍚堝悓浠锋牸姹囨��
         this.ContractPriceCompute();
     }
@@ -910,8 +876,7 @@
         //淇敼 浜у搧鏄庣粏
         let num = parseInt(length / Quantity);
         let addArr = [];
-        // var newss = [...[], ...this.jzDataDefault];//20230214
-        var newss = [].concat(this.jzDataDefault);//20230214
+        var newss = [...[], ...this.jzDataDefault];
         var newDataDefault = newss.map(item => {
             if (item == undefined) {
                 console.warn("undefined!!");
@@ -931,8 +896,7 @@
             }
             return item;
         })
-        // this.jzDataProduct = [...this.jzDataProduct, ...addArr];//20230213
-        this.jzDataProduct = this.jzDataProduct.concat(addArr);//20230213
+        this.jzDataProduct = [...this.jzDataProduct, ...addArr];
         //鍚堝悓浠锋牸姹囨��
         this.ContractPriceCompute();
         this.jzDataDefault = newDataDefault;
@@ -969,10 +933,8 @@
     }
     // =======鏇存柊淇冮攢鏂规娆℃暟鏁版嵁
     updatesNums() {
-        // var jzDataFixedPriceTemp = [...[], ...this.jzDataFixedPrice];//20230214
-        var jzDataFixedPriceTemp = [].concat(this.jzDataFixedPrice);//20230214
-        // var jzDataDiscountTemp = [...[], ...this.jzDataDiscount];//20230214
-        var jzDataDiscountTemp = [].concat(this.jzDataDiscount);//20230214
+        var jzDataFixedPriceTemp = [...[], ...this.jzDataFixedPrice];
+        var jzDataDiscountTemp = [...[], ...this.jzDataDiscount];
         var CompareFullData = this.CompareFullData;
         updatesNumsLogic(jzDataFixedPriceTemp,jzDataDiscountTemp,CompareFullData);
         this.jzDataFixedPrice = jzDataFixedPriceTemps;
@@ -981,8 +943,7 @@
     // ====================== 鍒ゆ柇鏄惁涓�0 
     ChangeNumZeroTrueData = []
     ChangeNumZeroTrue() {
-        // this.ChangeNumZeroTrueData = [...[], ...this.jzDataDefault];//20230214
-        this.ChangeNumZeroTrueData = [].concat(this.jzDataDefault);//20230214
+        this.ChangeNumZeroTrueData = [...[], ...this.jzDataDefault];
         var newJzDataDefault = this.ChangeNumZeroTrueData.filter(item => {
             if (item.Quantity > 0) {
                 return true;
@@ -1108,8 +1069,7 @@
             var falg = true;
             if (item.TypeName == "浠锋牸鏀跨瓥") {
                 this.DeleteIsChangelogic(item, item.TypeName, num, list);
-                // var arrTemp = [...[], ...this.jzDataFixedPrice]; //浠锋牸鏀跨瓥//20230214
-                var arrTemp = [].concat(this.jzDataFixedPrice);//20230214
+                var arrTemp = [...[], ...this.jzDataFixedPrice]; //浠锋牸鏀跨瓥
                 var TempItem = {};
                 arrTemp.forEach(atItem => {
                     if (atItem.Id == item.PromotionId) {
@@ -1128,8 +1088,7 @@
                 }
             } else if (item.TypeName == "鎶樻墸鏀跨瓥") {
                 this.DeleteIsChangelogic(item, item.TypeName, num, list);
-                // var arrTempTOName = [...[], ...this.jzDataDiscount]; //鎶樻墸鏀跨瓥//20230214
-                var arrTempTOName = [].concat(this.jzDataDiscount);//20230214
+                var arrTempTOName = [...[], ...this.jzDataDiscount]; //鎶樻墸鏀跨瓥
                 var TempItemTOName = {};
                 var PromotionHeadRecordId = item.recordTypeName__c;
                 if (PromotionHeadRecordId == "Authorizer") {
@@ -1214,8 +1173,7 @@
             }
         });
         if (flg) {
-            // this.jzDataProduct = [...[], ...jzdatas];//20230214
-            this.jzDataProduct = [].concat(jzdatas);//20230214
+            this.jzDataProduct = [...[], ...jzdatas];
             if (TypeName == "浠锋牸鏀跨瓥") {
                 //鍒犻櫎浠锋牸璁$畻
                 this.delectComputeData(item);
@@ -1239,8 +1197,7 @@
                     }
                 });
             }
-            // this.jzDataDefault = [...[], ...arr];//20230214
-            this.jzDataDefault = [].concat(arr);//20230214
+            this.jzDataDefault = [...[], ...arr];
         }
     }
     // ==================閫氱煡鏄剧ず ======================
@@ -1366,12 +1323,10 @@
                             newarrjdf.push(jdf);
                         }
                     });
-                    // this.jzDataFixedPrice = [...[], ...newarrjdf];//20230214
-                    this.jzDataFixedPrice = [].concat(newarrjdf);//20230214
+                    this.jzDataFixedPrice = [...[], ...newarrjdf];
                 });
             });
-            // this.jzData = [...[], ...responseObj.records];//20230214
-            this.jzData = [].concat(responseObj.records);//20230214
+            this.jzData = [...[], ...responseObj.records];
             // this.index=this.jzData.length;
             this.tableIsLoding = false;
         })
@@ -1437,17 +1392,14 @@
         if (this.index == 0) {
             if (this.flagall) {
                if (this.jzDataDefaultCopy.length < this.lastQuotation.length) { //1銆佹潯鏁板皬浜�
-                    // this.jzDataDefault = [...[], ...this.jzDataDefaultCopy];//20230214
-                    this.jzDataDefault = [].concat(this.jzDataDefaultCopy);//20230214
+                    this.jzDataDefault = [...[], ...this.jzDataDefaultCopy];
                     this.jzDataProduct = [];
                     this.jzDataFixedPrice = [];
                     this.jzDataDiscount = [];
                     return;
                 } else { //2銆�
-                    // var lastQuotation = [...[], ...this.lastQuotation];//20230214
-                    var lastQuotation = [].concat(this.lastQuotation);//20230214
-                    // var DefaultCopy = [...[], ...this.jzDataDefaultCopy];//20230214
-                    var DefaultCopy = [].concat(this.jzDataDefaultCopy);//20230214
+                    var lastQuotation = [...[], ...this.lastQuotation];
+                    var DefaultCopy = [...[], ...this.jzDataDefaultCopy];
                     var Default = [];
                     for (var j = 0; j < DefaultCopy.length; j++) {
                         var arrList = [];
@@ -1456,8 +1408,7 @@
                             for (var i = 0; i < lastQuotation.length; i++) {
                                 if (DefaultCopy[j].Id == lastQuotation[i].Id) {
                                     if (DefaultCopy[j].Quantity < lastQuotation[i].Quantity) { //2-1-1 鏁伴噺灏忎簬 clear
-                                        // this.jzDataDefault = [...[], ...this.jzDataDefaultCopy];//20230214
-                                        this.jzDataDefault = [].concat(this.jzDataDefaultCopy);//20230214
+                                        this.jzDataDefault = [...[], ...this.jzDataDefaultCopy];
                                         this.jzDataProduct = [];
                                         this.jzDataFixedPrice = [];
                                         this.jzDataDiscount = [];
@@ -1483,15 +1434,13 @@
                         }
                     }
                     if (lastQuotation.length != 0) { //2-2  鍚堟垚鏁版嵁鏈夊墿浣�
-                        // this.jzDataDefault = [...[], ...this.jzDataDefaultCopy];//20230214
-                        this.jzDataDefault = [].concat(this.jzDataDefaultCopy);//20230214
+                        this.jzDataDefault = [...[], ...this.jzDataDefaultCopy];
                         this.jzDataProduct = [];
                         this.jzDataFixedPrice = [];
                         this.jzDataDiscount = [];
                         return;
                     }
-                    // this.jzDataDefault = [...[], ...Default];//20230214
-                    this.jzDataDefault = [].concat(Default);//20230214
+                    this.jzDataDefault = [...[], ...Default];
                 }
             }
         }
@@ -1677,8 +1626,7 @@
                                     CompareFullDataedit.push(editnum);
                                 }
                             });
-                            // this.CompareFullData = [...[], ...CompareFullDataedit];//20230214
-                            this.CompareFullData = [].concat(CompareFullDataedit);//20230214
+                            this.CompareFullData = [...[], ...CompareFullDataedit];
                             // }
                         }
                     } else {
@@ -1712,8 +1660,7 @@
             }
         }
         //haha
-        // var newArrs = [...[], ...editnewDate];//20230214
-        var newArrs = [].concat(editnewDate);//20230214
+        var newArrs = [...[], ...editnewDate];
         if (boolean == 1) {
             this.jzDataFixedPrice = newData;
             newArrs.forEach(item => {
@@ -1723,8 +1670,7 @@
                     this.CloseAlert();
                 }, 2000);
             });
-            // this.jzDataProduct = [...this.newArrsTemp3, ...this.newArrsTemp4];//20230213
-            this.jzDataProduct = this.newArrsTemp3.concat(this.newArrsTemp4);//20230213
+            this.jzDataProduct = [...this.newArrsTemp3, ...this.newArrsTemp4];
             //鍚堝悓浠锋牸姹囨��
             this.ContractPriceCompute();
         } else if (boolean == 3) {
@@ -1754,8 +1700,7 @@
         if (this.jzDataFixedPrice == null || this.jzDataFixedPrice.length <= 0) {
             this.jzDataFixedPrice = arrs;
         } else {
-            // this.jzDataFixedPrice = [...this.jzDataFixedPrice, ...arrs];//20230213
-            this.jzDataFixedPrice = this.jzDataFixedPrice.concat(arrs);//20230213
+            this.jzDataFixedPrice = [...this.jzDataFixedPrice, ...arrs];
         };
     }
     //浠锋牸鏀跨瓥閫変腑
@@ -1792,12 +1737,10 @@
                         compareFu.push(deletId);
                     }
                 });
-                // this.CompareFullData = [...[], ...compareFu];//20230214
-                this.CompareFullData = [].concat(compareFu);//20230214
+                this.CompareFullData = [...[], ...compareFu];
             }
         }
-        // this.SelectedFnDataFixedPrice = [...[], ...select];//20230214
-        this.SelectedFnDataFixedPrice = [].concat(select);//20230214
+        this.SelectedFnDataFixedPrice = [...[], ...select];
         if (fag) {
             //鍒犻櫎鎵�閫夋柟妗堝尮閰嶇殑浜у搧
             this.DeleteChangesFn(ids, "浠锋牸鏀跨瓥");
@@ -1821,8 +1764,7 @@
                         compareFu.push(deletId);
                     }
                 });
-                // this.CompareFullData = [...[], ...compareFu];//20230214
-                this.CompareFullData = [].concat(compareFu);//20230214
+                this.CompareFullData = [...[], ...compareFu];
                 if (this.SelectedFnDataFixedPrice[j].Id == this.jzDataFixedPrice[i].Id) {
                     this.jzDataFixedPrice.splice(i, 1); // 灏嗕娇鍚庨潰鐨勫厓绱犱緷娆″墠绉伙紝鏁扮粍闀垮害鍑�1
                     i--;
@@ -1935,8 +1877,7 @@
                             newarrjdf.push(jdf);
                         }
                     });
-                    // this.jzDataFixedPrice = [...[], ...newarrjdf];//20230214
-                    this.jzDataFixedPrice = [].concat(newarrjdf);//20230214
+                    this.jzDataFixedPrice = [...[], ...newarrjdf];
                     if (event.fag && iflag) {
                         var newArr = [];
                         newArr.push(item);
@@ -1953,8 +1894,7 @@
                     }
                 })
             })
-            // this.jzDataFix = [...[], ...respons];//20230214
-            this.jzDataFix = [].concat(respons);//20230214
+            this.jzDataFix = [...[], ...respons];
             this.tableIsLodingFix = false;
         })
     }
@@ -1991,8 +1931,7 @@
         if (this.jzDataDiscount == null || this.jzDataDiscount.length <= 0) {
             this.jzDataDiscount = arrs;
         } else {
-            // this.jzDataDiscount = [...this.jzDataDiscount, ...arrs];//20230213
-            this.jzDataDiscount = this.jzDataDiscount.concat(arrs);//20230213
+            this.jzDataDiscount = [...this.jzDataDiscount, ...arrs];
         }
     }
     //鎶樻墸鏀跨瓥閫変腑
@@ -2329,16 +2268,14 @@
         debugger
         if (boolean == 0) {
             this.jzDataDiscount = newData;
-            // var newArrs = [...[], ...editnewDate];//20230214
-            var newArrs = [].concat(editnewDate);//20230214
+            var newArrs = [...[], ...editnewDate];
             newArrs.forEach(item => {
                 // this.ComputeData(item.Id, '鎶樻墸鏀跨瓥');
                 //鍚堝苟鎶樻墸鏀跨瓥閲嶅鏂规
                 this.ConsolidatedDiscountPolicy(this.jzDataDiscount);
                 this.ComputeDiscount(item.Id, item.NormalDiscount__c_Input, item.GuaranteeDiscount__c_Input, item.Category__c, item.JxsType);
             });
-            // this.jzDataProduct = [...this.newArrsTemp2, ...this.newArrsTemp];//20230213
-            this.jzDataProduct = this.newArrsTemp2.concat(this.newArrsTemp);//20230213
+            this.jzDataProduct = [...this.newArrsTemp2, ...this.newArrsTemp];
             //鍚堝悓浠锋牸姹囨��
             this.ContractPriceCompute();
             this.Alert("鏁版嵁淇敼鎴愬姛", false, true);
@@ -2356,8 +2293,6 @@
         } else if (boolean == 4) {
             this.jzDataDiscount = newData;
             var ffgg=0;
-            console.warn('newData'+newData);
-            console.warn('this.jzDataDiscount'+this.jzDataDiscount);
             if(boolean3){
                 newData2.forEach(HeTo => {
                     //鏍规嵁鍚堝悓浠锋牸璁$畻涓�鑸姌鎵�
@@ -2366,13 +2301,8 @@
                         ffgg=HeTo;
                         return ;
                     }
-                    console.warn('HeTo'+HeTo);
                     //鍚堝苟鎶樻墸鏀跨瓥閲嶅鏂规
-                    // let jzDataDiscountx = [...[], ...this.jzDataDiscount];//20230214
-                    let jzDataDiscountx = [].concat(this.jzDataDiscount);//20230214
-                    console.warn('jzDataDiscountx'+jzDataDiscountx);
-                    console.warn('this.jzDataDiscountxxx'+this.jzDataDiscount);
-                    this.ConsolidatedDiscountPolicy(jzDataDiscountx);
+                    this.ConsolidatedDiscountPolicy(this.jzDataDiscount);
                     //涓�鑸姌鎵f洿鏀硅繃鍚堝悓浠锋牸璁$畻
                     this.updateCommonlyDiscountLogic(HeTo.Id,HeTo.JxsType,HeTo.GuaranteeDiscount__c_Input,HeTo.NormalDiscount__c_Input,HeTo.Category__c,this.jzDataDiscount);
                 });
@@ -2484,21 +2414,15 @@
     }
     //鍚堝苟鎶樻墸鏀跨瓥閲嶅鏂规
     ConsolidatedDiscountPolicy(SchemeSet) {
-        console.warn('SchemeSet'+SchemeSet);
         var arr = [];
         arr = ConsolidatedDiscountPolicyLogic(SchemeSet, arr); //鍚堝苟鎶樻墸鏀跨瓥閲嶅鏂规閫昏緫
-        console.warn('arr'+arr);
-        // this.jzDataDiscount = [...[], ...arr];//20230214
-        this.jzDataDiscount = [].concat(arr);//20230214
-        console.warn('this.jzDataDiscount2'+this.jzDataDiscount);
+        this.jzDataDiscount = [...[], ...arr];
         // this.ConsolidationProgramProducts(arr);
         this.ConsolidatedDiscountDetails(arr); //鍚堝苟鎶樻墸鏀跨瓥浜у搧鏄庣粏
     }
     //鍚堝苟鎶樻墸鏀跨瓥浜у搧鏄庣粏
     ConsolidatedDiscountDetails(arrSchemes) {
-        // var jzdataList = [...[], ...this.jzDataProduct];//20230214
-        var jzdataList = [].concat(this.jzDataProduct);//20230214
-        console.warn('jzdataList'+jzdataList);
+        var jzdataList = [...[], ...this.jzDataProduct];
         this.jzDataProduct = ConsolidatedDiscountDetailsLogic(arrSchemes, jzdataList); //鍚堝苟鎶樻墸鏀跨瓥浜у搧鏄庣粏閫昏緫
     }
     @track
@@ -2538,8 +2462,7 @@
                                 arr.push(jzdsc);
                             }
                         });
-                        // this.jzDataSpecial = [...[], ...arr];//20230214
-                        this.jzDataSpecial = [].concat(arr);//20230214
+                        this.jzDataSpecial = [...[], ...arr];
                     }
                 });
             })
@@ -2608,8 +2531,7 @@
             }
         }
         //haha4
-        // var newArrs = [...[], ...editnewDate];//20230214
-        var newArrs = [].concat(editnewDate);//20230214
+        var newArrs = [...[], ...editnewDate];
         newArrs.forEach(item => {
             if (item.Quantity < item.SplitQuantity) {
                 boolean = 2;
@@ -2679,7 +2601,6 @@
         this.ShowCommonly = true
     }
     //淇濆瓨浣跨敤鏁伴噺
-    @track
     IsLoading4 = false;
     jzshows4 = true;
     IsLoadingFlag = true;
@@ -2723,8 +2644,7 @@
             }
         }
         //haha3
-        // var newArrs = [...[], ...editnewDate];//20230214
-        var newArrs = [].concat(editnewDate);//20230214
+        var newArrs = [...[], ...editnewDate];
         newArrs.forEach(item => {
             if (item.Quantity < item.SplitQuantity) {
                 boolean = 2;
@@ -2924,8 +2844,7 @@
             itemTemp.typess = "鎶樻墸鏀跨瓥";
             newTemp2.push(itemTemp);
         });
-        // var data = [...newTemp, ...newTemp2];//20230213
-        var data = newTemp.concat(newTemp2);//20230213
+        var data = [...newTemp, ...newTemp2];
         var ParamIdStr = this.ParamIdStr;
         var Trade__c = this.QuoteData[0].Opportunity.Trade__c;
         var NewData = ConsolidationScheme(data, ParamIdStr, Trade__c);
@@ -3036,14 +2955,11 @@
         var indexNum = 0;
         var jzdpdc = [];
         if (str == "1") {
-            // jzdpdc = [...[], ...this.jzDataProduct]; //淇冮攢浜у搧//20230214
-            jzdpdc = [].concat(this.jzDataProduct);//20230214
+            jzdpdc = [...[], ...this.jzDataProduct]; //淇冮攢浜у搧
         } else if (str == "2") {
-            // jzdpdc = [...[], ...this.jzDataDiscount]; //鎶樻墸鏀跨瓥//20230214
-            jzdpdc = [].concat(this.jzDataDiscount);//20230214
+            jzdpdc = [...[], ...this.jzDataDiscount]; //鎶樻墸鏀跨瓥
         } else if (str == "3") {
-            // jzdpdc = [...[], ...this.jzDataFixedPrice]; //浠锋牸鏀跨瓥//20230214
-            jzdpdc = [].concat(this.jzDataFixedPrice);//20230214
+            jzdpdc = [...[], ...this.jzDataFixedPrice]; //浠锋牸鏀跨瓥
         }
         jzdpdc.forEach(item => {
             indexNum++;
@@ -3054,14 +2970,11 @@
             newArr.push(temp);
         })
         if (str == "1") {
-            // this.jzDataProduct = [...[], ...newArr]; //淇冮攢浜у搧//20230214
-            this.jzDataProduct = [].concat(newArr);//20230214
+            this.jzDataProduct = [...[], ...newArr]; //淇冮攢浜у搧
         } else if (str == "2") {
-            // this.jzDataDiscount = [...[], ...newArr]; //鎶樻墸鏀跨瓥//20230214
-            this.jzDataDiscount = [].concat(newArr);//20230214
+            this.jzDataDiscount = [...[], ...newArr]; //鎶樻墸鏀跨瓥
         } else if (str == "3") {
-            // this.jzDataFixedPrice = [...[], ...newArr]; //浠锋牸鏀跨瓥//20230214
-            this.jzDataFixedPrice = [].concat(newArr);//20230214
+            this.jzDataFixedPrice = [...[], ...newArr]; //浠锋牸鏀跨瓥
         }
         //TODU
     }
diff --git a/force-app/main/default/lwc/quoteTrial/quoteTrialUtil.js b/force-app/main/default/lwc/quoteTrial/quoteTrialUtil.js
index 98765f6..81660c0 100644
--- a/force-app/main/default/lwc/quoteTrial/quoteTrialUtil.js
+++ b/force-app/main/default/lwc/quoteTrial/quoteTrialUtil.js
@@ -442,8 +442,7 @@
         for (let [k, v] of Setmap) {
             arrList.push(v);
         }
-        // jzdataList=[...[],...arrList];//20230214
-        jzdataList = [].concat(arrList);//20230214
+        jzdataList=[...[],...arrList];
     });
     return jzdataList;
 }
@@ -536,8 +535,7 @@
         for (let [k, v] of Setmap) {
             arrList.push(v);
         }
-        // jzdataList=[...[],...arrList];//20230214
-        jzdataList = [].concat(arrList);//20230214
+        jzdataList=[...[],...arrList];
     });
     return jzdataList;
 }
@@ -923,8 +921,7 @@
         itemTemp.ismatch = '0';
         newTemp4.push(itemTemp);
     });
-    // var data2 = [...newTemp3, ...newTemp4];//20230213
-    var data2 = newTemp3.concat(newTemp4);//20230213
+    var data2 = [...newTemp3, ...newTemp4];
     data2.forEach(itmss => { //浜у搧鏄庣粏鍜屽緟閫変骇鍝�
         let Temp1 = {};
         Temp1.Id = itmss.Id;
@@ -1047,8 +1044,6 @@
 }
 //涓�鑸姌鎵f洿鏀硅繃鍚堝悓浠锋牸璁$畻閫昏緫
 export function updateCDLogic(Id,JxsType,GuaranteeDiscount__c_Input,NormalDiscount__c_Input,Category__c,jzDataDiscount,arrProductTemp){
-    console.warn('JxsType'+JxsType);
-    console.warn('jzDataDiscount'+jzDataDiscount);
     var newArrsTempplus1=[];
     var newArrsTempplus2=[];
     var jzDataProductlast=[];
@@ -1102,18 +1097,13 @@
                             newArrsplusN[0].AgencySubtotal__c =newArrsplusN[0].AgencySubtotal__c+chazhiN;
                             newArrsplusN[0].AgencyUnitPrice__c =newArrsplusN[0].AgencyUnitPrice__c+dangechazhiN;
                         }
-                        // newArrsTempplus1=[...newArrsplusG,...newArrsplusN];//20230213
-                        newArrsTempplus1=newArrsplusG.concat(newArrsplusN);//20230213
-                        // jzDataProductlast = [...newArrsTempplus1,...newArrsTempplus2];//20230213
-                        jzDataProductlast = newArrsTempplus1.concat(newArrsTempplus2);//20230213
+                        newArrsTempplus1=[...newArrsplusG,...newArrsplusN];
+                        jzDataProductlast = [...newArrsTempplus1,...newArrsTempplus2];
                     }
                 }
             }
         }else if(JxsType=="涓�鑸姌鎵�"){
-            console.warn('item.JxsType'+item.JxsType);
             if(item.JxsType=="涓�鑸姌鎵�"){
-                console.warn('NormalDiscount__c_Input'+NormalDiscount__c_Input);
-                console.warn('NormalDiscount__c_Input'+NormalDiscount__c_Input);
                 if (NormalDiscount__c_Input == item.NormalDiscount__c_Input &&
                     Category__c == item.Category__c){
                     arrProductTemp.forEach(itemss => { //itemss浜у搧鏄庣粏
@@ -1131,10 +1121,7 @@
                     var dangechazhi=Math.round((chazhi/newArrsTempplus1[0].Quantity) * 100) / 100;
                     newArrsTempplus1[0].AgencySubtotal__c =newArrsTempplus1[0].AgencySubtotal__c+chazhi;
                     newArrsTempplus1[0].AgencyUnitPrice__c =newArrsTempplus1[0].AgencyUnitPrice__c+dangechazhi;
-                    // jzDataProductlast = [...newArrsTempplus1,...newArrsTempplus2];//20230213
-                    jzDataProductlast =newArrsTempplus1.concat(newArrsTempplus2);//20230213
-                    console.warn('newArrsTempplus2'+newArrsTempplus2);
-                    console.warn('jzDataProductlast'+jzDataProductlast);
+                    jzDataProductlast = [...newArrsTempplus1,...newArrsTempplus2];
                 }
             }
         }
diff --git a/force-app/main/default/lwc/recentProjectsLWC/recentProjectsLWC.html b/force-app/main/default/lwc/recentProjectsLWC/recentProjectsLWC.html
new file mode 100644
index 0000000..5bdfa2b
--- /dev/null
+++ b/force-app/main/default/lwc/recentProjectsLWC/recentProjectsLWC.html
@@ -0,0 +1,9 @@
+<template>
+         <div style="width:200px;height:30px;background:#515151;font-weight:bold;font-size:16px Arial;color:white;border-radius: 5px 10px 10px 5px;;padding:5px 9px">鏈�杩戦」鐩�</div>
+        <template for:each={orderList} for:item="ord">
+            <div key={ord.id}>
+              <a data-name={ord.Id} onclick = {showDetail} style="color:#515151;font-size:14px">{ord.Name}</a>
+            </div>
+          </template>
+     
+    </template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/recentProjectsLWC/recentProjectsLWC.js b/force-app/main/default/lwc/recentProjectsLWC/recentProjectsLWC.js
new file mode 100644
index 0000000..6e27647
--- /dev/null
+++ b/force-app/main/default/lwc/recentProjectsLWC/recentProjectsLWC.js
@@ -0,0 +1,31 @@
+import {LightningElement, wire,track} from 'lwc';
+import getOrderList from '@salesforce/apex/OrderListController.getOrderList';
+import { NavigationMixin } from 'lightning/navigation';
+
+export default class RecentProjectsLWC extends NavigationMixin(LightningElement) {
+    @track orderList =[];
+    @wire(getOrderList)
+    result({error,data}){
+        if(data){
+           this.orderList = data;
+           console.log("return is "+this.record);
+           JSON.stringify("===>data",data);
+        }
+        if(error){
+           this.error= error;
+           console.log("retrun is "+this.error);
+        }
+    }
+    showDetail(event){
+        var orderdetailUrl = event.currentTarget.dataset.name;
+        console.log('===>orderdetailUrl'+orderdetailUrl);
+        this[NavigationMixin.Navigate]({
+            type: 'standard__recordPage',
+            attributes: {
+                recordId: orderdetailUrl,
+                objectApiName: 'Consumable_order__c',
+                actionName: 'view'
+            }
+        });
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/recentProjectsLWC/recentProjectsLWC.js-meta.xml b/force-app/main/default/lwc/recentProjectsLWC/recentProjectsLWC.js-meta.xml
new file mode 100644
index 0000000..f1d5986
--- /dev/null
+++ b/force-app/main/default/lwc/recentProjectsLWC/recentProjectsLWC.js-meta.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>56.0</apiVersion>
+      <isExposed>true</isExposed>
+     <targets>
+        <target>lightning__AppPage</target>
+        <target>lightning__RecordPage</target>
+        <target>lightning__HomePage</target>
+        <target>lightningCommunity__Page</target>
+        <target>lightningCommunity__Default</target>
+        <target>lightning__Tab</target>
+        <target>lightning__RecordAction</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/rentalApplyEquipmentRentalPDF/rentalApplyEquipmentRentalPDF.css b/force-app/main/default/lwc/rentalApplyEquipmentRentalPDF/rentalApplyEquipmentRentalPDF.css
new file mode 100644
index 0000000..ebb43d9
--- /dev/null
+++ b/force-app/main/default/lwc/rentalApplyEquipmentRentalPDF/rentalApplyEquipmentRentalPDF.css
@@ -0,0 +1,10 @@
+.exampleHolder{
+    position: relative;
+    display: inline-block;
+    width: 80px;
+    height: 80px;
+    text-align: center;
+}
+.container .uiContainerManager{
+	display: none !important;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/rentalApplyEquipmentRentalPDF/rentalApplyEquipmentRentalPDF.html b/force-app/main/default/lwc/rentalApplyEquipmentRentalPDF/rentalApplyEquipmentRentalPDF.html
new file mode 100644
index 0000000..3eff9e8
--- /dev/null
+++ b/force-app/main/default/lwc/rentalApplyEquipmentRentalPDF/rentalApplyEquipmentRentalPDF.html
@@ -0,0 +1,5 @@
+<template>
+    <div class="EquipmentRentalPDF" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/rentalApplyEquipmentRentalPDF/rentalApplyEquipmentRentalPDF.js b/force-app/main/default/lwc/rentalApplyEquipmentRentalPDF/rentalApplyEquipmentRentalPDF.js
new file mode 100644
index 0000000..12d6d76
--- /dev/null
+++ b/force-app/main/default/lwc/rentalApplyEquipmentRentalPDF/rentalApplyEquipmentRentalPDF.js
@@ -0,0 +1,44 @@
+import { LightningElement, track, wire, api } from 'lwc';
+import {CurrentPageReference,NavigationMixin} from 'lightning/navigation';
+import { CloseActionScreenEvent } from 'lightning/actions';
+
+import init from '@salesforce/apex/rentalApplyEquipmentRentalPDFController.initJumptoPDFButton';
+
+export default class rentalApplyEquipmentRentalPDF extends LightningElement {
+	@api recordId;
+	IsLoading = true;
+
+	@wire(CurrentPageReference)
+	getStateParameters(currentPageReference) {
+		console.log(currentPageReference);
+
+		if(currentPageReference) {
+			const urlValue = currentPageReference.state.recordId;
+			if(urlValue) {
+				let str = `${urlValue}`;
+		        console.log("str");
+		        console.log(str);
+		        this.recordId = str;
+			}
+		}
+	}
+
+	connectedCallback() {
+		console.log('this.recordId' + this.recordId);
+		init({
+			recordId : this.recordId
+		}).then(result => {
+			if(result != null) {
+				this.IsLoading = false;
+				let num = result.pageLength;
+				console.log("======"+this.recordId + '   ' +num);
+				console.log("https://ocsm--partial.sandbox.lightning.force.com/lightning/r/FixtureRentalPDF?raid=" + this.recordId + "&page=" + num)
+				window.location.replace("https://ocsm--partial.sandbox.lightning.force.com/apex/FixtureRentalPDF?raid=" + this.recordId + "&page=" + num);
+			}
+		})
+		.catch( error =>{
+			console.log(error);
+		})
+	}
+
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/rentalApplyEquipmentRentalPDF/rentalApplyEquipmentRentalPDF.js-meta.xml b/force-app/main/default/lwc/rentalApplyEquipmentRentalPDF/rentalApplyEquipmentRentalPDF.js-meta.xml
new file mode 100644
index 0000000..36ce96d
--- /dev/null
+++ b/force-app/main/default/lwc/rentalApplyEquipmentRentalPDF/rentalApplyEquipmentRentalPDF.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/rentalApplyLWT/rentalApplyLWT.css b/force-app/main/default/lwc/rentalApplyLWT/rentalApplyLWT.css
new file mode 100644
index 0000000..af18c76
--- /dev/null
+++ b/force-app/main/default/lwc/rentalApplyLWT/rentalApplyLWT.css
@@ -0,0 +1,11 @@
+.Holder{
+	position: relative;
+	display: inline-block;
+	width: 80px;
+	height: 80px;
+	text-align: center;
+}
+
+.container .uiContainerManager{
+	display : none !important;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/rentalApplyLWT/rentalApplyLWT.html b/force-app/main/default/lwc/rentalApplyLWT/rentalApplyLWT.html
new file mode 100644
index 0000000..960b41d
--- /dev/null
+++ b/force-app/main/default/lwc/rentalApplyLWT/rentalApplyLWT.html
@@ -0,0 +1,5 @@
+<template>
+      <div class="Holder" if:true={IsLoading}>
+              <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+      </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/rentalApplyLWT/rentalApplyLWT.js b/force-app/main/default/lwc/rentalApplyLWT/rentalApplyLWT.js
new file mode 100644
index 0000000..3a73263
--- /dev/null
+++ b/force-app/main/default/lwc/rentalApplyLWT/rentalApplyLWT.js
@@ -0,0 +1,854 @@
+import { LightningElement,api, track, wire } from 'lwc';
+import getUserId from '@salesforce/apex/RentalApplyControllerLWT.getUserId';
+import getProfileId from '@salesforce/apex/RentalApplyControllerLWT.getProfileId';
+import init from '@salesforce/apex/RentalApplyControllerLWT.initFromCancelSubmitButton';
+import selectRentalApplyEquipmentSetDetailByRacId from '@salesforce/apex/RentalApplyControllerLWT.selectRentalApplyEquipmentSetDetailByRacId';
+import selectQISReportById from '@salesforce/apex/RentalApplyControllerLWT.selectQISReportById';
+import selectRepairById from '@salesforce/apex/RentalApplyControllerLWT.selectRepairById';
+import selectCampaignById from '@salesforce/apex/RentalApplyControllerLWT.selectCampaignById';
+import selectRentalApplyEquipmentSetByRacId from '@salesforce/apex/RentalApplyControllerLWT.selectRentalApplyEquipmentSetByRacId';
+import selectRentalApplyById from '@salesforce/apex/RentalApplyControllerLWT.selectRentalApplyById';
+import selectUserById from '@salesforce/apex/RentalApplyControllerLWT.selectUserById';
+import selectQISreportById2 from '@salesforce/apex/RentalApplyControllerLWT.selectQISreportById2';
+import setSObjectShare from '@salesforce/apex/RentalApplyControllerLWT.setSObjectShare';
+import updateRentalApplyC from '@salesforce/apex/RentalApplyControllerLWT.updateRentalApplyC';
+import {CurrentPageReference} from 'lightning/navigation';
+import { CloseActionScreenEvent } from 'lightning/actions';
+import STATUS_PROCESS_STATE from '@salesforce/label/c.StatusProcessState';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+import LightningConfirm from 'lightning/confirm';
+import Id from '@salesforce/user/Id';
+export default class rentalApplyLWT extends LightningElement {
+
+    contactFirstName = 'Yan';
+    contactLastName = 'Khang';
+    opportunityName = 'Possible deal';
+    clickedButtonLabel;
+
+    @api recordId;
+    @track StatusProcessState=STATUS_PROCESS_STATE;
+    Rental_Apply__c;
+    Status__c;
+    Id;
+    Yi_loaner_arranged__c;
+    RA_Status__c;
+    IsLoading=true;
+    demo_purpose2__c;
+    Follow_UP_Opp__c;
+    Statu_Achievements__c;
+    Statu_Achievements_ID__c;
+    Request_shipping_day__c;
+    Demo_purpose1__c;
+    Repair__c;
+    RecordTypeId;
+    SupplementCreated__c;
+    OPDPlan__c;
+    Campaign__c;
+    QIS_number__c;
+	RepairId__c;
+    @wire(CurrentPageReference)
+	getStateParameters(currentPageReference){
+		console.log("杩涘叆椤甸潰");
+		console.log(currentPageReference);
+		if(currentPageReference){
+			const urvalue=currentPageReference.state.recordId;
+			if(urvalue){
+				let str=`${urvalue}`;
+				console.log('str');
+				console.log(str);
+				this.recordId=str;
+			}
+		}
+	}
+
+
+	async connectedCallback(){
+		console.log(this.recordId);
+		await init({recordId:this.recordId}).then(result=>{
+			console.log(result);
+			if(result!=null){
+				this.Rental_Apply__c=result;
+				this.Status__c=result.Status__c;
+				this.Yi_loaner_arranged__c=result.Yi_loaner_arranged__c;
+				this.Id=result.Id;
+				this.RA_Status__c=result.RA_Status__c;
+			    // this.Rental_Apply__c.demo_purpose2__c=result.DemoPurpose2C;
+			    // this..Follow_UP_Opp__c=result.FollowUPOppC;
+			    // this.Rental_Apply__c.Statu_Achievements__c=result.StatuAchievementsC;
+			    // this.Rental_Apply__c.Statu_Achievements_ID__c=result.StatuAchievementsIDC;
+			    // this.Rental_Apply__c.Request_shipping_day__c=result.RequestShippingDayC;
+			    // this.Rental_Apply__c.Demo_purpose1__c=result.DemoPurpose1C;
+			    // this.Rental_Apply__c.Repair__c=result.RepairC;
+			    // this.Rental_Apply__c.RecordTypeId=result.RecordTypeId;
+			    // this.Rental_Apply__c.SupplementCreated__c=result.SupplementCreatedC;
+			    // this.Rental_Apply__c.OPDPlan__c=result.OPDPlanC;
+			    // this.Rental_Apply__c.Campaign__c=result.CampaignC;
+			    // this.Rental_Apply__c.QIS_number__c=result.QISNumberC;
+				
+				this.sumit().then(res=>{
+					console.log("鍏抽棴绐楀彛");
+					this.IsLoading=false;
+					this.dispatchEvent(new CloseActionScreenEvent());
+				}).catch(err=>{
+					console.log("error:");
+					console.log(err.message);
+					const event = new ShowToastEvent({
+			            title: '鎻愮ず淇℃伅',
+			            message:"鎿嶄綔澶辫触,鎻愮ず淇℃伅:"+err.message,
+			        });
+			        this.dispatchEvent(event);
+					//alert("鎿嶄綔澶辫触,鎻愮ず淇℃伅:"+err.message);
+				});
+				console.log("end");
+			}
+		}).catch(err=>{
+			console.log("error:");
+			console.log(err.message);
+			console.log("鎶ラ敊缁撴潫");
+		}).finally(()=>{
+			console.log("finally");
+			
+		});
+		
+	}
+
+
+	async sumit(){
+		let buttons = document.getElementsByName('submit_approval_process'.toLowerCase());
+		for (let i=0; i<buttons.length; i++) {
+			buttons[i].className = "btnDisabled";
+			buttons[i].disabled = true;
+		}
+		//kk
+
+		const result = await LightningConfirm.open({
+            message: "涓�鏃︽彁浜ゆ璁板綍浠ュ緟鎵瑰噯锛屾牴鎹偍鐨勮缃偍鍙兘涓嶅啀鑳藉缂栬緫姝よ褰曟垨灏嗕粬浠庢壒鍑嗚繃绋嬩腑璋冨洖銆傛槸鍚︾户缁紵",
+            variant: 'headerless',
+            label: 'this is the aria-label value',
+            // setting theme would have no effect
+        });
+		if (result==false) {
+			return;
+		}
+		//1540 you 璇曠敤锛堟棤璇环锛夌洰鐨勭殑澶囧搧鐢宠鍗曪紝涓嶈兘鍏宠仈璇环淇℃伅锛�
+		if(this.Rental_Apply__c.demo_purpose2__c == '璇曠敤锛堟棤璇环锛�' && this.Rental_Apply__c.Follow_UP_Opp__c !=null && this.Rental_Apply__c.Follow_UP_Opp__c != ''){
+			//alert('璇曠敤锛堟棤璇环锛夌洰鐨勭殑澶囧搧鐢宠鍗曪紝涓嶈兘鍏宠仈璇环淇℃伅锛�');
+			const event = new ShowToastEvent({
+	            title: '鎻愮ず淇℃伅',
+	            message:'璇曠敤锛堟棤璇环锛夌洰鐨勭殑澶囧搧鐢宠鍗曪紝涓嶈兘鍏宠仈璇环淇℃伅锛�',
+	        });
+	        this.dispatchEvent(event);	
+			return;
+		}
+		// 宸茶喘寰呰揣鐨勭敵璇峰崟瀹℃壒鏃讹紝闇�瑕乧heck娉ㄦ畫鐨勭姸鎬�
+		if (this.Rental_Apply__c.Statu_Achievements__c!=null&&this.Rental_Apply__c.Statu_Achievements__c!='') {
+
+			let SaID=this.Rental_Apply__c.Statu_Achievements_ID__c;
+			let rtn = sforce.apex.execute("RentalApplyWebService","RentalApplyCheckForSAoneEle",{SaID:SaID});
+			if(rtn!='Fin'){
+				//alert(rtn);
+				const event = new ShowToastEvent({
+		            title: '鎻愮ず淇℃伅',
+		            message:rtn,
+		        });
+		        this.dispatchEvent(event);	
+				return;
+			}
+		}
+		// 甯屾湜鍒拌揣鏃ヤ笉鑳芥棭浜庣敵璇锋彁浜ゆ棩-0418杩藉姞
+		let d=new Date();
+		if (this.Rental_Apply__c.Request_shipping_day__c < d ) {
+			//alert('甯屾湜鍒拌揣鏃ヤ笉鑳芥棭浜庣敵璇锋彁浜ゆ棩');
+			const event = new ShowToastEvent({
+	            title: '鎻愮ず淇℃伅',
+	            message:'甯屾湜鍒拌揣鏃ヤ笉鑳芥棭浜庣敵璇锋彁浜ゆ棩',
+	        });
+	        this.dispatchEvent(event);	
+			return;
+		}
+		let raesdList = new Array();
+		await selectRentalApplyEquipmentSetDetailByRacId({recordId:this.recordId}).then(result=>{
+			console.log(result);
+			if(result!=null){
+				raesdList=result;
+				let modelSet = new Set();
+				let stoppedSet = new Set();
+				for(let i=0;i<raesdList.length;i++){
+					modelSet.add(raesdList[i].Fixture_Model_No_F__c);
+					if('false' == raesdList[i].Product_Status_Flag_F__c
+					&& (this.Rental_Apply__c.demo_purpose2__c == '璇曠敤锛堟湁璇环锛�' || this.Rental_Apply__c.demo_purpose2__c == '璇曠敤锛堟棤璇环锛�')){
+						stoppedSet.add(raesdList[i].Fixture_Model_No_F__c);
+					}
+				}
+				if(stoppedSet.size> 0) {
+					//alert( Array.from(stoppedSet).join('锛�') + ' 浜у搧娉ㄥ唽璇佺姸鎬佷负鍋滄锛屼笉鍙敵璇�');
+					const event = new ShowToastEvent({
+			            title: '鎻愮ず淇℃伅',
+			            message:Array.from(stoppedSet).join('锛�') + ' 浜у搧娉ㄥ唽璇佺姸鎬佷负鍋滄锛屼笉鍙敵璇�',
+			        });	
+			        this.dispatchEvent(event);					
+					return;
+				}
+			}
+		}).catch(err=>{
+			console.log("select1 error:");
+			console.log(err.message);
+			console.log("鎶ラ敊缁撴潫");
+		}).finally(()=>{
+		});
+
+
+
+		if(this.Rental_Apply__c.demo_purpose2__c == '绱㈣禂QIS'){
+			let DeliveryGood = new Array();
+			await selectQISReportById({recordId:this.Rental_Apply__c.QIS_number__c}).then(result=>{
+				console.log(result);
+				DeliveryGood=result;	
+			}).catch(err=>{
+				console.log("select1 error:");
+				console.log(err.message);
+			}).finally(()=>{
+			});
+			console.log(DeliveryGood);	
+			let records= DeliveryGood;
+			if(records.length == 0 || !modelSet.has(records[0].nonyushohin__r.Product2.Fixture_Model_No_T__c)){
+				//alert('鐢宠鐨勫瀷鍙峰繀椤讳笌QIS鐢宠鍨嬪彿涓�鑷�');
+				const event = new ShowToastEvent({
+		            title: '鎻愮ず淇℃伅',
+		            message:'鐢宠鐨勫瀷鍙峰繀椤讳笌QIS鐢宠鍨嬪彿涓�鑷�',
+		        });	
+		        this.dispatchEvent(event);	
+				return;
+			}
+		}
+		if(this.Rental_Apply__c.Repair__c==null){
+			console.log("Repair__c涓虹┖")
+		}else{
+			if( this.Rental_Apply__c.Repair__c != ''){
+				console.log("hhh7.1.1");
+				let DeliveryGood ;
+				let records;
+				await selectRepairById({recordId:this.Rental_Apply__c.Repair__c}).then(result=>{
+					console.log(result);
+					DeliveryGood=result;	
+					records=result;
+				}).catch(err=>{
+					console.log("select1 error:");
+					console.log(err.message);
+				}).finally(()=>{
+				});
+				if(records==null||records.length==0){
+					console.log("records涓虹┖");
+				}else{
+					if(this.Rental_Apply__c.Demo_purpose1__c == '缁翠慨浠g敤' && this.Rental_Apply__c.demo_purpose2__c != '绱㈣禂QIS') {
+						if(!modelSet.has(records[0].Delivered_Product__r.Product2.Fixture_Model_No_T__c)){
+							//alert('鐢宠鐨勫瀷鍙峰繀椤讳笌閫佷慨鐨勫瀷鍙蜂竴鑷�');
+							const event = new ShowToastEvent({
+					            title: '鎻愮ず淇℃伅',
+					            message:'鐢宠鐨勫瀷鍙峰繀椤讳笌閫佷慨鐨勫瀷鍙蜂竴鑷�',
+					        });				
+					        this.dispatchEvent(event);					
+							return;
+						}
+					}
+					if(this.Rental_Apply__c.Demo_purpose1__c==null){
+						console.log("Demo_purpose1__c涓虹┖");
+					}else if(this.Rental_Apply__c.Demo_purpose1__c == '缁翠慨浠g敤' && this.Rental_Apply__c.demo_purpose2__c == '涓�鑸敤鎴�' ){
+						if (records[0].Repair_Estimated_date_formula__c == null) {
+							//alert('涓�鑸淮淇棤鎶ヤ环鏃ワ紝涓嶅彲鍊熺敤澶囧搧');
+							const event = new ShowToastEvent({
+					            title: '鎻愮ず淇℃伅',
+					            message:'涓�鑸淮淇棤鎶ヤ环鏃ワ紝涓嶅彲鍊熺敤澶囧搧',
+					        });			
+					        this.dispatchEvent(event);						
+							return;
+						}
+
+						else if (records[0].Repair_Estimated_date_formula__c < '2019-07-01' && records[0].Agreed_Date__c == null) {
+							//alert('鎶ヤ环鏃ュ湪2019/7/1涔嬪墠涓旀埛鍚屾剰鏃ヤ负绌猴紝涓嶅彲鍊熺敤澶囧搧');
+							const event = new ShowToastEvent({
+					            title: '鎻愮ず淇℃伅',
+					            message:'鎶ヤ环鏃ュ湪2019/7/1涔嬪墠涓旀埛鍚屾剰鏃ヤ负绌猴紝涓嶅彲鍊熺敤澶囧搧',
+					        });		
+					        this.dispatchEvent(event);							
+							return;
+						}
+						//20210608 ljh SFDC-C3CCN4 start
+						if(records[0].Repair_Rank__c == '' || records[0].Repair_Rank__c == null){
+							//alert('鎶ヤ环绛夌骇涓虹┖涓嶈兘鐢宠澶囧搧');
+							const event = new ShowToastEvent({
+					            title: '鎻愮ず淇℃伅',
+					            message:'鎶ヤ环绛夌骇涓虹┖涓嶈兘鐢宠澶囧搧',
+					        });		
+					        this.dispatchEvent(event);								
+							return;
+						}else{
+							if(records[0].DW_Sign_Txt__c == 'false' && records[0].Repair_Rank__c == 'DW'){
+								//alert('DW鎶ヤ环绛夌骇涓嬫鍨嬪彿涓嶇鍚堝鍝佺敵璇峰�熺敤鏉′欢');
+								const event = new ShowToastEvent({
+						            title: '鎻愮ず淇℃伅',
+						            message:'DW鎶ヤ环绛夌骇涓嬫鍨嬪彿涓嶇鍚堝鍝佺敵璇峰�熺敤鏉′欢',
+						        });		
+						        this.dispatchEvent(event);								
+								return;
+							}
+							if(records[0].Repair_Rank__c == 'D1'
+								||records[0].Repair_Rank__c == 'D2'
+								||records[0].Repair_Rank__c == 'D3'
+								||records[0].Repair_Rank__c == 'E2'){
+								//alert('鎶ヤ环绛夌骇涓嶇鍚堝鍝佺敵璇峰�熺敤鏉′欢');
+								const event = new ShowToastEvent({
+						            title: '鎻愮ず淇℃伅',
+						            message:'鎶ヤ环绛夌骇涓嶇鍚堝鍝佺敵璇峰�熺敤鏉′欢',
+						        });		
+						        this.dispatchEvent(event);	
+								return;
+							}
+						}
+					//20210608 ljh SFDC-C3CCN4 end
+					}
+					if(this.Rental_Apply__c.Demo_purpose1__c ==null){
+						console.log("Demo_purpose1__c涓虹┖");
+					}else if(this.Rental_Apply__c.Demo_purpose1__c == '缁翠慨浠g敤' && this.Rental_Apply__c.demo_purpose2__c == '甯傚満澶氬勾淇濅慨' ){
+						if (records[0].FSE_ApplyForRepair_Day__c == null) {
+							// alert('甯傚満澶氬勾淇濅慨锛屾病鏈塠FSE淇悊鐢宠鏃锛屼笉鍙�熺敤澶囧搧');
+							const event = new ShowToastEvent({
+					            title: '鎻愮ず淇℃伅',
+					            message:'甯傚満澶氬勾淇濅慨锛屾病鏈塠FSE淇悊鐢宠鏃锛屼笉鍙�熺敤澶囧搧',
+					        });		
+					        this.dispatchEvent(event);	
+							return;
+						}
+					}
+					if(this.Rental_Apply__c.Demo_purpose1__c == '缁翠慨浠g敤' && this.Rental_Apply__c.demo_purpose2__c == '鏁呴殰鎺掓煡' ){
+						if (records[0].FSE_ApplyForRepair_Day__c == null) {
+							//alert('鏁呴殰鎺掓煡锛屾病鏈塠FSE淇悊鐢宠鏃锛屼笉鍙�熺敤澶囧搧');
+							const event = new ShowToastEvent({
+					            title: '鎻愮ず淇℃伅',
+					            message:'甯傚満澶氬勾淇濅慨锛屾病鏈塠FSE淇悊鐢宠鏃锛屼笉鍙�熺敤澶囧搧',
+					        });		
+					        this.dispatchEvent(event);								
+							return;
+						}
+						if(records[0].Repair_Ordered_Date__c != null) {
+							//alert('鏁呴殰鎺掓煡锛孾4.淇悊鍝丷C鍙楃悊鏃蹇呴』涓虹┖');
+							const event = new ShowToastEvent({
+					            title: '鎻愮ず淇℃伅',
+					            message:'甯傚満澶氬勾淇濅慨锛屾病鏈塠FSE淇悊鐢宠鏃锛屼笉鍙�熺敤澶囧搧',
+					        });		
+					        this.dispatchEvent(event);								
+							return;
+						}
+						if(records[0].IfCheckFixture__c == 'false'){
+							//alert('涓嶆弧瓒虫晠闅滄帓鏌ョ洰鐨�');
+							const event = new ShowToastEvent({
+					            title: '鎻愮ず淇℃伅',
+					            message:'甯傚満澶氬勾淇濅慨锛屾病鏈塠FSE淇悊鐢宠鏃锛屼笉鍙�熺敤澶囧搧',
+					        });		
+					        this.dispatchEvent(event);								
+							return;
+						}
+					}
+					let profileId="";
+					await getProfileId().then(result=>{
+						console.log(result);
+						profileId=result;	
+					}).catch(err=>{
+						console.log("getProfileId error:");
+						console.log(err.message);
+					}).finally(()=>{
+					});
+					if(this.Rental_Apply__c.RecordTypeId==null){
+						console.log("RecordTypeId涓虹┖");
+					}else if (this.Rental_Apply__c.RecordTypeId != "01210000000RHIn"
+						&& profileId != '00e10000000Y3o5'
+						&& records[0].NewProductGuaranteeObject__c == '8: 甯傚満澶氬勾淇濅慨'
+						&& this.Rental_Apply__c.demo_purpose2__c != '甯傚満澶氬勾淇濅慨') {
+						//alert('鏃犲伩鍖哄埆鏍囧織涓�8: 甯傚満澶氬勾淇濅慨锛屽繀椤婚�夋嫨甯傚満澶氬勾淇濅慨銆�');
+						const event = new ShowToastEvent({
+				            title: '鎻愮ず淇℃伅',
+				            message:'甯傚満澶氬勾淇濅慨锛屾病鏈塠FSE淇悊鐢宠鏃锛屼笉鍙�熺敤澶囧搧',
+				        });		
+				        this.dispatchEvent(event);						
+					}
+					if(records[0].Repair_Final_Inspection_Date__c != null){
+						//alert('瀛樺湪淇悊鏈�缁堟娴嬫棩锛屼笉鍙�熺敤澶囧搧');
+							const event = new ShowToastEvent({
+					            title: '鎻愮ず淇℃伅',
+					            message:'甯傚満澶氬勾淇濅慨锛屾病鏈塠FSE淇悊鐢宠鏃锛屼笉鍙�熺敤澶囧搧',
+					        });		
+					        this.dispatchEvent(event);							
+						return;
+					}
+					if(records[0].Repair_Shipped_Date__c != null){
+						//alert('瀛樺湪RC淇悊杩旈�佹棩锛屼笉鍙�熺敤澶囧搧');
+							const event = new ShowToastEvent({
+					            title: '鎻愮ず淇℃伅',
+					            message:'甯傚満澶氬勾淇濅慨锛屾病鏈塠FSE淇悊鐢宠鏃锛屼笉鍙�熺敤澶囧搧',
+					        });		
+					        this.dispatchEvent(event);							
+						return;
+					}
+					if(records[0].Status1__c =='0.鍒犻櫎' ||records[0].Status1__c =='0.鍙栨秷' ||records[0].Status1__c =='5.瀹屾瘯' ){
+						//alert('淇悊宸茬粡缁撴潫锛屼笉鑳界敵璇峰鍝�');
+							const event = new ShowToastEvent({
+					            title: '鎻愮ず淇℃伅',
+					            message:'甯傚満澶氬勾淇濅慨锛屾病鏈塠FSE淇悊鐢宠鏃锛屼笉鍙�熺敤澶囧搧',
+					        });		
+					        this.dispatchEvent(event);							
+						return;
+					}
+					if ( this.Rental_Apply__c.demo_purpose2__c == '鍐嶄慨鐞�' && records[0].ReRepairObject_F__c == 'false') {
+						//alert('涓嶅睘浜庡啀鍙楃悊鍙傝�冨璞★紝涓嶅彲鍊熺敤澶囧搧');
+							const event = new ShowToastEvent({
+					            title: '鎻愮ず淇℃伅',
+					            message:'甯傚満澶氬勾淇濅慨锛屾病鏈塠FSE淇悊鐢宠鏃锛屼笉鍙�熺敤澶囧搧',
+					        });		
+					        this.dispatchEvent(event);							
+						return;
+					}
+					if (this.Rental_Apply__c.RecordTypeId != '01210000000RHIn'
+						&& this.Rental_Apply__c.demo_purpose2__c != '淇濅慨鐢ㄦ埛'
+						&& this.Rental_Apply__c.demo_purpose2__c != '甯傚満澶氬勾淇濅慨'
+						&& records[0].Number_of_EffectiveContract__c == '鏈�' ) {
+						//alert('鏈夌淮淇悎鍚�,蹇呴』閫夋嫨淇濅慨鐢ㄦ埛.');
+							const event = new ShowToastEvent({
+					            title: '鎻愮ず淇℃伅',
+					            message:'甯傚満澶氬勾淇濅慨锛屾病鏈塠FSE淇悊鐢宠鏃锛屼笉鍙�熺敤澶囧搧',
+					        });		
+					        this.dispatchEvent(event);	
+						return;
+					}
+					let AssetModelNo = records[0].Delivered_Product__r.Product2.Asset_Model_No__c;
+					if (this.Rental_Apply__c.RecordTypeId != '01210000000RHIn' && records[0].Number_of_EffectiveContract__c == '鏃�'
+						&& (records[0].NewProductGuaranteeObject__c == '2: 鏈嶅姟澶氬勾淇濅慨'
+						&& (AssetModelNo == 'LTF-190-10-3D' || AssetModelNo == 'LTF-S190-5' || AssetModelNo == 'CYF-VHA' || AssetModelNo == 'CYF-VA2' || AssetModelNo == 'CYF-5A'|| AssetModelNo == 'LTF-S190-10'|| AssetModelNo == 'OER-AW'|| AssetModelNo == 'URF-V'|| AssetModelNo == 'URF-V2'|| AssetModelNo == 'URF-P6'))
+						&& this.Rental_Apply__c.demo_purpose2__c != '淇濅慨鐢ㄦ埛' ) {
+						//alert('姝よ澶囧瀷鍙峰骞翠繚淇紝璇烽�夋嫨淇濅慨鐢ㄦ埛.');
+							const event = new ShowToastEvent({
+					            title: '鎻愮ず淇℃伅',
+					            message:'甯傚満澶氬勾淇濅慨锛屾病鏈塠FSE淇悊鐢宠鏃锛屼笉鍙�熺敤澶囧搧',
+					        });		
+					        this.dispatchEvent(event);						
+						return;
+					}
+
+					if (this.Rental_Apply__c.RecordTypeId != '01210000000RHIn'
+						&& records[0].NewProductGuaranteeObject__c == '2: 鏈嶅姟澶氬勾淇濅慨'
+						&& (AssetModelNo == 'CV-V1' || AssetModelNo == 'CV-V1(A)' || AssetModelNo == 'CV-V1(B)' || AssetModelNo == 'GIF-LV1' || AssetModelNo == 'CF-LV1L' || AssetModelNo == 'CF-LV1I' || AssetModelNo == 'MAJ-1910')
+						&& (this.Rental_Apply__c.demo_purpose2__c == '涓�鑸敤鎴�' || this.Rental_Apply__c.demo_purpose2__c == '鍐嶄慨鐞�')
+						) {
+							//alert('濂ヨ緣璁惧锛屼繚淇湡鍐呬笉鎻愪緵澶囧搧.');
+							const event = new ShowToastEvent({
+					            title: '鎻愮ず淇℃伅',
+					            message:'甯傚満澶氬勾淇濅慨锛屾病鏈塠FSE淇悊鐢宠鏃锛屼笉鍙�熺敤澶囧搧',
+					        });		
+					        this.dispatchEvent(event);							
+							return;
+					}
+				}
+				
+			}
+		} 
+
+		if(this.Rental_Apply__c.SupplementCreated__c==null){
+			console.log("SupplementCreated__c涓虹┖");
+		}else if (this.Rental_Apply__c.SupplementCreated__c == '1' && this.Rental_Apply__c.OPDPlan__c != '') {
+			let raId = this.Id;
+			//kk
+			let raesCountCheck = sforce.apex.execute("OpdPlanWebService", "raesCountCheck", {rentalApplyId: raId});
+			if(raesCountCheck != 'OK'){
+				//alert(raesCountCheck);
+				const event = new ShowToastEvent({
+		            title: '鎻愮ず淇℃伅',
+		            message:raesCountCheck,
+		        });		
+		        this.dispatchEvent(event);					
+				return;
+			}
+		}
+		console.log("hhh10");
+		if(this.Rental_Apply__c.Campaign__c==null){
+			console.log("Campaign__c涓虹┖");
+		}else if( this.Rental_Apply__c.Campaign__c != ''){
+			let DeliveryGood = new Array();
+			// 20220324 ljh obpm update start
+			//kk1
+			let statusSting = this.StatusProcessState;
+			let statusList = statusSting.split(',');
+			// DeliveryGood = sforce.connection.query("select Status, Rental_Apply_Flag__c from Campaign where id ='{!Rental_Apply__c.Campaign__c}'");
+			// DeliveryGood = await selectCampaignById(this.Rental_Apply__c.Campaign__c);
+			await selectCampaignById({recordId:this.Rental_Apply__c.Campaign__c}).then(result=>{
+				console.log(result);
+				DeliveryGood=result;	
+			}).catch(err=>{
+				console.log("selectCampaignById error:");
+				console.log(err.message);
+			}).finally(()=>{
+			});
+			// 20220324 ljh obpm update start
+			//kk
+			let records= DeliveryGood;
+
+			let interval = records[0].Status;
+			let records_Date = records[0].Rental_Apply_Flag__c;
+			if (interval==null ) {
+				//alert("璇风‘璁ゅ浼氱姸鎬�");
+				const event = new ShowToastEvent({
+		            title: '鎻愮ず淇℃伅',
+		            message:"璇风‘璁ゅ浼氱姸鎬�",
+		        });		
+		        this.dispatchEvent(event);					
+				return;
+			}
+			else if (interval == '鑽夋涓�') {
+				//alert('瀛︿細鐘舵�佷负鑽夋涓紝涓嶈兘鎻愪氦');
+				const event = new ShowToastEvent({
+		            title: '鎻愮ず淇℃伅',
+		            message:'瀛︿細鐘舵�佷负鑽夋涓紝涓嶈兘鎻愪氦',
+		        });		
+		        this.dispatchEvent(event);
+				return;
+			}
+			else if (interval == '鐢宠涓�') {
+				//alert('瀛︿細鐘舵�佷负鐢宠涓紝涓嶈兘鎻愪氦');
+				const event = new ShowToastEvent({
+		            title: '鎻愮ず淇℃伅',
+		            message:'瀛︿細鐘舵�佷负鐢宠涓紝涓嶈兘鎻愪氦',
+		        });		
+		        this.dispatchEvent(event);
+				return;
+			}
+			else if (interval == '宸茬粨鏉�') {
+				// alert('瀛︿細鐘舵�佷负宸茬粨鏉燂紝涓嶈兘鎻愪氦');
+				const event = new ShowToastEvent({
+		            title: '鎻愮ず淇℃伅',
+		            message:'瀛︿細鐘舵�佷负宸茬粨鏉燂紝涓嶈兘鎻愪氦',
+		        });		
+		        this.dispatchEvent(event);
+				return;
+			}
+			else if (interval == '宸叉彁浜ゆ姤鍛�') {
+				// alert('瀛︿細鐘舵�佷负宸叉彁浜ゆ姤鍛婏紝涓嶈兘鎻愪氦');
+				const event = new ShowToastEvent({
+		            title: '鎻愮ず淇℃伅',
+		            message:'瀛︿細鐘舵�佷负宸叉彁浜ゆ姤鍛婏紝涓嶈兘鎻愪氦',
+		        });		
+		        this.dispatchEvent(event);
+				return;
+			}
+			else if (interval == '鍙栨秷鐢宠涓�') {
+				// alert('瀛︿細鐘舵�佷负鍙栨秷鐢宠涓紝涓嶈兘鎻愪氦');
+				const event = new ShowToastEvent({
+		            title: '鎻愮ず淇℃伅',
+		            message:'瀛︿細鐘舵�佷负鍙栨秷鐢宠涓紝涓嶈兘鎻愪氦',
+		        });		
+		        this.dispatchEvent(event);
+				return;
+			}
+			else if (interval == '鍙栨秷') {
+				// alert('瀛︿細鐘舵�佷负鍙栨秷锛屼笉鑳芥彁浜�');
+				const event = new ShowToastEvent({
+		            title: '鎻愮ず淇℃伅',
+		            message:'瀛︿細鐘舵�佷负鍙栨秷锛屼笉鑳芥彁浜�',
+		        });		
+		        this.dispatchEvent(event);
+				return;
+			}
+			//kk
+			if(this.Rental_Apply__c.Request_shipping_day__c==null){
+				// alert("璇风‘璁ゅ笇鏈涘埌璐ф棩鏈�");
+				const event = new ShowToastEvent({
+		            title: '鎻愮ず淇℃伅',
+		            message:"璇风‘璁ゅ笇鏈涘埌璐ф棩鏈�",
+		        });		
+		        this.dispatchEvent(event);
+				return;
+			}else{
+				if (d >= this.Rental_Apply__c.Request_shipping_day__c -7) {
+					// alert("蹇呴』鎻愬墠浜庡笇鏈涘埌璐ф棩7澶╀互涓婃彁浜ょ敵璇�");
+					const event = new ShowToastEvent({
+			            title: '鎻愮ず淇℃伅',
+			            message:"蹇呴』鎻愬墠浜庡笇鏈涘埌璐ф棩7澶╀互涓婃彁浜ょ敵璇�",
+			        });		
+			        this.dispatchEvent(event);
+					return;
+				}
+				// 20220324 ljh obpm add start
+				if (records != null && records[0].IF_Approved__c == "true" && (records[0].Meeting_Approved_No__c == null || records[0].Meeting_Approved_No__c == "") ) {
+					// alert("娌℃湁鍐宠鍙风殑锛屾殏涓嶈兘鍑哄��,璇锋洿鏂拌鍐充俊鎭��");
+					const event = new ShowToastEvent({
+			            title: '鎻愮ず淇℃伅',
+			            message:"娌℃湁鍐宠鍙风殑锛屾殏涓嶈兘鍑哄��,璇锋洿鏂拌鍐充俊鎭��",
+			        });		
+			        this.dispatchEvent(event);
+					return;
+				}
+				if (records != null && records[0].IF_Approved__c == "true" && records[0].Meeting_Approved_No__c != "" && statusList.indexOf(records[0].Approved_Status__c) != -1 && records[0].Approved_Status__c != '鑽夌' ) {
+					// alert("宸茬敵璇峰喅瑁佷絾鍐宠鐘舵�佷笉绗﹀悎鏉′欢銆�");
+					const event = new ShowToastEvent({
+			            title: '鎻愮ず淇℃伅',
+			            message:"宸茬敵璇峰喅瑁佷絾鍐宠鐘舵�佷笉绗﹀悎鏉′欢銆�",
+			        });		
+			        this.dispatchEvent(event);
+					return;
+				}
+			}
+			
+			// 20220324 ljh obpm add end
+		}
+
+		if (this.Rental_Apply__c.QIS_number__c == null) {
+			console.log("QIS_number__c 鏄┖鐨�");
+		}else{
+			if( this.Rental_Apply__c.QIS_number__c != ''){
+				let DeliveryGood = new Array();
+				// DeliveryGood =await selectQISreportById2(this.Rental_Apply__c.QIS_ID_Line__c);
+				await selectQISreportById2({recordId:this.Rental_Apply__c.QIS_ID_Line__c}).then(result=>{
+					console.log(result);
+					DeliveryGood=result;	
+				}).catch(err=>{
+					console.log("selectCampaignById error:");
+					console.log(err.message);
+				}).finally(()=>{
+				});
+				let records= DeliveryGood;
+				let interval = records[0].next_action__c;
+				if (interval == '閫佸洖') {
+					// alert("QIS 宸查�佸洖锛屼笉鑳藉啀鐢宠澶囧搧浜�");
+					const event = new ShowToastEvent({
+			            title: '鎻愮ず淇℃伅',
+			            message:"QIS 宸查�佸洖锛屼笉鑳藉啀鐢宠澶囧搧浜�",
+			        });		
+			        this.dispatchEvent(event);
+					return;
+				}
+			}
+		}
+		// share
+		let userAccess = new Array();
+		//kk
+		let t=this.Rental_Apply__c.applyUser__c+'_Edit';
+		userAccess.push(t);
+		let rtn ;
+		await setSObjectShare({sobjectName:'Rental_Apply__Share',rowCause:'ApplyUserShare__c',parentId:this.Rental_Apply__c.Id,userAccess:userAccess,ownerId:this.Rental_Apply__c.OwnerId}).then(result=>{
+			console.log(result);
+			rtn=result;	
+		}).catch(err=>{
+			console.log("setSObjectShare error:");
+			console.log(err.message);
+		}).finally(()=>{
+		});
+
+		if(rtn==null){
+			// alert("rtn涓虹┖");
+			const event = new ShowToastEvent({
+	            title: '鎻愮ず淇℃伅',
+	            message:"rtn涓虹┖",
+	        });		
+	        this.dispatchEvent(event);
+			return;
+		}else{
+			if (rtn != 'OK') {
+				// alert(rtn);
+				const event = new ShowToastEvent({
+		            title: '鎻愮ず淇℃伅',
+		            message:rtn,
+		        });		
+		        this.dispatchEvent(event);
+				return;
+			}	
+		}
+		if(this.Rental_Apply__c.Status__c == null){
+			// alert('璇峰鍝佺敵璇风姸鎬佺‘璁わ紝涓嶈兘涓虹┖');
+			const event = new ShowToastEvent({
+	            title: '鎻愮ず淇℃伅',
+	            message:'璇峰鍝佺敵璇风姸鎬佺‘璁わ紝涓嶈兘涓虹┖',
+	        });		
+	        this.dispatchEvent(event);
+			return;
+		}else{
+			if (this.Rental_Apply__c.Status__c == '濉啓瀹屾瘯' ||
+				this.Rental_Apply__c.Status__c == '鐢宠涓�' ||
+				this.Rental_Apply__c.Status__c == '宸叉壒鍑�' ||
+				//鐜板湪鐢宠涔︾殑Status__c宸茬粡娌℃湁寮曞綋瀹屼簡鐘舵�併�傛墍浠ヨ繖閲屼笉闇�瑕佸垽鏂�
+				//'{!Rental_Apply__c.Status__c}' == '寮曞綋瀹屼簡' ||
+				this.Rental_Apply__c.Status__c == '宸插嚭搴撴寚绀�' ||
+				this.Rental_Apply__c.Status__c == '鍒犻櫎' ||
+				this.Rental_Apply__c.Status__c == '鍙栨秷' ) {
+					// alert('璇峰鍝佺敵璇风姸鎬佺‘璁わ紝宸茬粡鎻愪氦杩囩殑鐢宠锛屼笉鑳介噸澶嶆彁浜�');
+					const event = new ShowToastEvent({
+			            title: 'Get Help',
+			            message:'璇峰鍝佺敵璇风姸鎬佺‘璁わ紝宸茬粡鎻愪氦杩囩殑鐢宠锛屼笉鑳介噸澶嶆彁浜�'
+			        });
+			        this.dispatchEvent(event);
+					return;
+			}
+		}
+			// 娌℃湁鏄庣粏鐨勪竴瑙坈heck
+		let raesList = new Array();
+		// raesList = selectRentalApplyEquipmentSetByRacId(this.recordId);
+		await selectRentalApplyEquipmentSetByRacId({recordId:this.recordId}).then(result=>{
+			console.log(result);
+			raesList=result;	
+		}).catch(err=>{
+			console.log("selectCampaignById error:");
+			console.log(err.message);
+		}).finally(()=>{
+		});
+		let records= raesList;
+
+		if(records.length > 0){
+			// alert('鏈夋病鏈夋槑缁嗙殑鍊熷嚭澶囧搧閰嶅涓�瑙堬紝涓嶈兘鎻愪氦');
+			const event = new ShowToastEvent({
+	            title: '鎻愮ず淇℃伅',
+	            message:'鏈夋病鏈夋槑缁嗙殑鍊熷嚭澶囧搧閰嶅涓�瑙堬紝涓嶈兘鎻愪氦',
+	        });		
+	        this.dispatchEvent(event);
+			return;
+		}
+		
+		let racs ;
+		await selectRentalApplyById({recordId:this.recordId}).then(result=>{
+			console.log(result);
+			racs=result;	
+		}).catch(err=>{
+			console.log("selectCampaignById error:");
+			console.log(err.message);
+		}).finally(()=>{
+		});
+		let racNew = racs[0];
+		let id=this.Rental_Apply__c.Id;
+		let Status__c="濉啓瀹屾瘯";
+		let userId;
+		await getUserId().then(result=>{
+			console.log(result);
+			userId=result;	
+		}).catch(err=>{
+			console.log("selectCampaignById error:");
+			console.log(err.message);
+		}).finally(()=>{
+		});
+		let manageUsers;
+		await selectUserById({recordId:userId}).then(result=>{
+			console.log(result);
+			manageUsers=result;	
+		}).catch(err=>{
+			console.log("selectCampaignById error:");
+			console.log(err.message);
+		}).finally(()=>{
+		});
+		let SalesManagerSubmit__c;
+		let OPDManagerApprover__c;
+		let BuchangApprovalManagerSalesSubmit__c;
+		let OPDBuchangApprover__c;
+		if(manageUsers[0].JingliEquipmentManager__c != null){
+			SalesManagerSubmit__c = manageUsers[0].JingliEquipmentManager__r.Name;
+		// 20220930 ljh SWAG-CJR8S7 start
+			if(racNew.OPDPlan__c != null){
+				OPDManagerApprover__c = SalesManagerSubmit__c == racNew.OPDPlan__r.SalesManager_Txt__c?SalesManagerSubmit__c:' ';
+			}
+		// 20220930 ljh SWAG-CJR8S7 end
+		}
+		if(manageUsers[0].Buzhang_Equipment_Manager__c != null){
+			BuchangApprovalManagerSalesSubmit__c = manageUsers[0].Buzhang_Equipment_Manager__r.Name; //2022-07-22 zyh
+		// 20220930 ljh SWAG-CJR8S7 start
+			if(racNew.OPDPlan__c != null){
+				OPDBuchangApprover__c = BuchangApprovalManagerSalesSubmit__c == racNew.OPDPlan__r.BuchangApprovalManagerSales_Txt__c?BuchangApprovalManagerSalesSubmit__c:' ';
+			}
+		// 20220930 ljh SWAG-CJR8S7 end
+		}
+		let resultt;
+		await updateRentalApplyC({
+			recordId:id,
+			SalesManagerSubmitC:SalesManagerSubmit__c,
+			StatusC:Status__c,
+			OPDManagerApproverC:OPDManagerApprover__c,
+			BuchangApprovalManagerSalesSubmitC:BuchangApprovalManagerSalesSubmit__c,
+			OPDBuchangApproverC:OPDBuchangApprover__c
+		}).then(res=>{
+			console.log(res);
+			if(res!=null&&res.success==false){
+				resultt=res;
+				let messages ="";
+				messages=resultt.errors[0].split(',')[1];
+				if (messages!=null&&messages!="") {
+					console.log("hhh26");
+					// alert("鎿嶄綔澶辫触,鎻愮ず淇℃伅:"+messages);
+					const event = new ShowToastEvent({
+			            title: '鎻愮ず淇℃伅',
+			            message:"鎿嶄綔澶辫触,鎻愮ず淇℃伅:"+messages,
+			        });		
+			        this.dispatchEvent(event);
+					return;
+				}
+			}
+		}).catch(err=>{
+			console.log("updateRentalApplyC error:");
+			console.log(err.message);
+		}).finally(()=>{
+			console.log("finally");
+			console.log(resultt);
+		});
+
+		this.dispatchEvent(new CloseActionScreenEvent());
+	};
+
+	getConnectDMLErrorMessages (results) {
+		console.log("in 1");
+		console.log(results);
+		let messages = [];
+		let	i = 0;
+		let	len = results.length;
+		let	r;
+		console.log("in 1.1");
+		for (; i < len; i++) {
+			console.log("in 1.2");
+			r = results[i];
+			console.log("in 1.3");
+			if (r.success==false) {
+				console.log("in 1.4");
+				messages = messages.concat(this.getConnectDMLMessagesOfAResult(r));
+			}
+		}
+		console.log("in 1");
+		console.log("1缁撴灉");
+		console.log(messages);
+		return messages;
+	};
+	getConnectDMLMessagesOfAResult(res) {
+		console.log("in 2");
+		console.log(res);
+		let messages = [];
+		let	errors = res.errors;
+		let	i = 0;
+		let	len = errors.length;
+		let	e;
+		for (; i < len; i++) {
+			e = errors[i];
+			console.log("in 2.1");
+			messages.push(e + " " + this.getConnectDMLErrorFields(errors));
+			console.log("3缁撴灉");
+			console.log(this.getConnectDMLErrorFields(errors));
+			console.log("in 2.2");
+		}
+		console.log("in 2");
+		console.log("2缁撴灉");
+		console.log(messages);
+		return messages;
+	};
+	
+	getConnectDMLErrorFields (error) {
+		console.log("in 3");
+		console.log(error);
+		let fields = error;
+		if (fields.length > 0) {
+			console.log("in 3");
+			return "[" + fields + ",]"
+		} 
+		else {
+			console.log("in 3");
+			return "";
+		}
+	};
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/rentalApplyLWT/rentalApplyLWT.js-meta.xml b/force-app/main/default/lwc/rentalApplyLWT/rentalApplyLWT.js-meta.xml
new file mode 100644
index 0000000..9ac5a4a
--- /dev/null
+++ b/force-app/main/default/lwc/rentalApplyLWT/rentalApplyLWT.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="rentalApplyLWT">
+    <apiVersion>51.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightning__AppPage</target>
+        <target>lightning__RecordPage</target>
+        <target>lightning__HomePage</target>
+        <target>lightning__RecordAction</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/selectSubstituteLWC/selectSubstituteLWC.css b/force-app/main/default/lwc/selectSubstituteLWC/selectSubstituteLWC.css
new file mode 100644
index 0000000..af18c76
--- /dev/null
+++ b/force-app/main/default/lwc/selectSubstituteLWC/selectSubstituteLWC.css
@@ -0,0 +1,11 @@
+.Holder{
+	position: relative;
+	display: inline-block;
+	width: 80px;
+	height: 80px;
+	text-align: center;
+}
+
+.container .uiContainerManager{
+	display : none !important;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/selectSubstituteLWC/selectSubstituteLWC.html b/force-app/main/default/lwc/selectSubstituteLWC/selectSubstituteLWC.html
new file mode 100644
index 0000000..960b41d
--- /dev/null
+++ b/force-app/main/default/lwc/selectSubstituteLWC/selectSubstituteLWC.html
@@ -0,0 +1,5 @@
+<template>
+      <div class="Holder" if:true={IsLoading}>
+              <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+      </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/selectSubstituteLWC/selectSubstituteLWC.js b/force-app/main/default/lwc/selectSubstituteLWC/selectSubstituteLWC.js
new file mode 100644
index 0000000..1b59e91
--- /dev/null
+++ b/force-app/main/default/lwc/selectSubstituteLWC/selectSubstituteLWC.js
@@ -0,0 +1,78 @@
+import { LightningElement,api, track, wire } from 'lwc';
+import {CurrentPageReference} from 'lightning/navigation';
+import { CloseActionScreenEvent } from 'lightning/actions';
+import init from '@salesforce/apex/SelectSubstituteControllerLWT.initFromSelectSubstituteButton';
+import selectRentalApplyEquipmentSetByID from '@salesforce/apex/SelectSubstituteControllerLWT.selectRentalApplyEquipmentSetByID';
+export default class selectSubstituteLWC extends LightningElement {
+
+	@api recordId;
+    id;
+    RentalApplyId;
+    Status;
+    IsLoading=true;
+    @wire(CurrentPageReference)
+	getStateParameters(currentPageReference){
+		console.log("杩涘叆椤甸潰");
+		console.log(currentPageReference);
+		if(currentPageReference){
+			const urvalue=currentPageReference.state.recordId;
+			if(urvalue){
+				let str=`${urvalue}`;
+				console.log('str');
+				console.log(str);
+				this.recordId=str;
+			}
+		}
+	}
+
+
+
+	connectedCallback(){
+		console.log(this.recordId);
+		init({recordId:this.recordId}).then(result=>{
+			console.log(result);
+			if(result!=null){
+				this.id=result.id;
+			    this.RentalApplyId=result.RentalApplyId;
+			    this.Status=result.Status;
+				this.cancelSubmit().then(res=>{
+					this.IsLoading=false;
+					this.dispatchEvent(new CloseActionScreenEvent());
+				});	
+			}
+		}).catch(err=>{
+			console.log("error:");
+			console.log(err);
+		}).finally(()=>{
+
+		});
+	}
+
+
+ 
+    async cancelSubmit(){
+		// 鍙垎閰嶄唬鏇垮搧鍓嶆彁1 -- 澶囧搧鍊熷嚭鐢宠鐨勭姸鎬侊細鈥滃凡鎵瑰噯鈥濆埌鈥滃凡鍑哄簱鎸囩ず鈥�
+		if(this.Status != '宸叉壒鍑�' && this.Status != '宸插嚭搴撴寚绀�') {
+			alert('鐢宠涔︾姸鎬佷笉绗﹀悎鍒嗛厤浠f浛鍝佹潯浠讹紝璇风‘璁ょ敵璇风殑鐘舵��');
+		} else {
+			// 鍙垎閰嶄唬鏇垮搧鍓嶆彁2 -- 鎵�閫夊�熷嚭澶囧搧閰嶅涓�瑙堢殑鐘舵�侊細鈥樺凡鎵瑰噯鈥欏埌鈥樺嚭搴撳墠宸叉娴嬧��
+			var soqlRecord ;
+			await selectRentalApplyEquipmentSetByID({recordId:this.recordId})
+			.then(res=>{
+				soqlRecord=res;
+				var status = soqlRecord.RAES_Status__c;
+				var irreplaceable = soqlRecord.Irreplaceable_flag__c;
+				var shipTime = soqlRecord.Shippment_loaner_time2__c;
+
+				if(status == "鑽夋涓�" || status == "鐢宠涓�" || shipTime != null) {
+					alert("涓�瑙堢殑鐘舵�佷笉绗﹀悎鍒嗛厤鏇夸唬鍝佹潯浠�");
+				} else if(irreplaceable=="true") {
+					alert("鐢宠浜哄嬀閫変簡浠f浛鍝佷笉鍙�");
+				} else {
+					window.open("/apex/RentalFixtureSetSelect?pt_recid="+this.RentalApplyId+"&raesid="+this.recordId);
+				}
+			});
+			
+		}
+	}
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/selectSubstituteLWC/selectSubstituteLWC.js-meta.xml b/force-app/main/default/lwc/selectSubstituteLWC/selectSubstituteLWC.js-meta.xml
new file mode 100644
index 0000000..c94e4e2
--- /dev/null
+++ b/force-app/main/default/lwc/selectSubstituteLWC/selectSubstituteLWC.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="selectSubstituteLWC">
+    <apiVersion>51.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightning__AppPage</target>
+        <target>lightning__RecordPage</target>
+        <target>lightning__HomePage</target>
+        <target>lightning__RecordAction</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/singleRecords/singleRecords.html b/force-app/main/default/lwc/singleRecords/singleRecords.html
new file mode 100644
index 0000000..3263110
--- /dev/null
+++ b/force-app/main/default/lwc/singleRecords/singleRecords.html
@@ -0,0 +1,23 @@
+<template>
+    <lightning-card title="Single Records" icon-name="custom:custom26">
+        <template if:true={account.data}>
+            <div class="slds-var-m-around_medium slds-text-align_center">
+                Check examples on how to implement single record patterns on the
+                Account record page.
+                <p class="slds-var-m-around_medium">
+                    <lightning-button
+                        label="Take me there!"
+                        onclick={handleButtonClick}
+                    ></lightning-button>
+                </p>
+                <!-- prettier-ignore -->
+                <p>
+                    (You can also select an account in the <strong>Accounts</strong> tab)
+                </p>
+            </div>
+        </template>
+        <template if:true={account.error}>
+            <c-error-panel errors={account.error}></c-error-panel>
+        </template>
+    </lightning-card>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/singleRecords/singleRecords.js b/force-app/main/default/lwc/singleRecords/singleRecords.js
new file mode 100644
index 0000000..feb4d4f
--- /dev/null
+++ b/force-app/main/default/lwc/singleRecords/singleRecords.js
@@ -0,0 +1,18 @@
+import { LightningElement, wire } from 'lwc';
+import { NavigationMixin } from 'lightning/navigation';
+import getSingleAccountViaSOQL from '@salesforce/apex/RecordPagesController.getSingleAccountViaSOQL';
+
+export default class SingleRecords extends NavigationMixin(LightningElement) {
+    @wire(getSingleAccountViaSOQL) account;
+
+    handleButtonClick() {
+        this[NavigationMixin.Navigate]({
+            type: 'standard__recordPage',
+            attributes: {
+                recordId: this.account.data.Id,
+                objectApiName: 'Account',
+                actionName: 'view'
+            }
+        });
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/singleRecords/singleRecords.js-meta.xml b/force-app/main/default/lwc/singleRecords/singleRecords.js-meta.xml
new file mode 100644
index 0000000..6646900
--- /dev/null
+++ b/force-app/main/default/lwc/singleRecords/singleRecords.js-meta.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightning__AppPage</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/splitApplyLWC/splitApplyLWC.css b/force-app/main/default/lwc/splitApplyLWC/splitApplyLWC.css
new file mode 100644
index 0000000..af18c76
--- /dev/null
+++ b/force-app/main/default/lwc/splitApplyLWC/splitApplyLWC.css
@@ -0,0 +1,11 @@
+.Holder{
+	position: relative;
+	display: inline-block;
+	width: 80px;
+	height: 80px;
+	text-align: center;
+}
+
+.container .uiContainerManager{
+	display : none !important;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/splitApplyLWC/splitApplyLWC.html b/force-app/main/default/lwc/splitApplyLWC/splitApplyLWC.html
new file mode 100644
index 0000000..960b41d
--- /dev/null
+++ b/force-app/main/default/lwc/splitApplyLWC/splitApplyLWC.html
@@ -0,0 +1,5 @@
+<template>
+      <div class="Holder" if:true={IsLoading}>
+              <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+      </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/splitApplyLWC/splitApplyLWC.js b/force-app/main/default/lwc/splitApplyLWC/splitApplyLWC.js
new file mode 100644
index 0000000..d692df9
--- /dev/null
+++ b/force-app/main/default/lwc/splitApplyLWC/splitApplyLWC.js
@@ -0,0 +1,56 @@
+import { LightningElement,api, track, wire } from 'lwc';
+import {CurrentPageReference} from 'lightning/navigation';
+import { CloseActionScreenEvent } from 'lightning/actions';
+import init from '@salesforce/apex/SelectSubstituteControllerLWT.initFromSelectSubstituteButton';
+
+export default class splitApplyLWC extends LightningElement {
+	@api recordId;
+    IsLoading=true;
+    id;
+    RentalApplyId;
+    Status;
+    @wire(CurrentPageReference)
+	getStateParameters(currentPageReference){
+		console.log("杩涘叆椤甸潰");
+		console.log(currentPageReference);
+		if(currentPageReference){
+			const urvalue=currentPageReference.state.recordId;
+			if(urvalue){
+				let str=`${urvalue}`;
+				console.log('str');
+				console.log(str);
+				this.recordId=str;
+			}
+		}
+	}
+
+
+
+	connectedCallback(){
+		console.log(this.recordId);
+		init({recordId:this.recordId}).then(result=>{
+			console.log(result);
+			if(result!=null){
+				this.id=result.id;
+			    this.RentalApplyId=result.RentalApplyId;
+			    this.Status=result.Status;
+				this.cancelSubmit().then(res=>{
+					this.IsLoading=false;
+					this.dispatchEvent(new CloseActionScreenEvent());
+				});	
+			}
+		}).catch(err=>{
+			console.log("error:");
+			console.log(err);
+		}).finally(()=>{
+
+		});
+	}
+
+
+ 
+    async cancelSubmit(){
+    	let records=[this.recordId];
+		window.open("/apex/RentalApplySplit?objId="+this.RentalApplyId+"&raesIds="+records, 'RentalApplySplit', 'width=600,height=200');
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/splitApplyLWC/splitApplyLWC.js-meta.xml b/force-app/main/default/lwc/splitApplyLWC/splitApplyLWC.js-meta.xml
new file mode 100644
index 0000000..ed92fa4
--- /dev/null
+++ b/force-app/main/default/lwc/splitApplyLWC/splitApplyLWC.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="splitApplyLWC">
+    <apiVersion>51.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightning__AppPage</target>
+        <target>lightning__RecordPage</target>
+        <target>lightning__HomePage</target>
+        <target>lightning__RecordAction</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/tEnquiry/tEnquiry.html b/force-app/main/default/lwc/tEnquiry/tEnquiry.html
index 46f13e5..c620a8b 100644
--- a/force-app/main/default/lwc/tEnquiry/tEnquiry.html
+++ b/force-app/main/default/lwc/tEnquiry/tEnquiry.html
@@ -45,7 +45,7 @@
           <!-- <div style="width: 450px;float: left;margin-left: 10px;"> -->
           <!-- <c-jzlookupv3  data-parent-id="lookup1" label="鍏宠仈鍖婚櫌" placeholder="璇烽�夋嫨鍏宠仈鍖婚櫌.."  onsearchchange={onsearchchange} searchdata={searchdata} option={option} onselected={selectedFn}>  </c-jzlookupv3> -->
 
-          <c-jzlookuplightning   data-parent-id="lookup1"  onsearchchange={onsearchchange1} objectname="Tender_information__c" fieldname="Hospital__c" >   </c-jzlookuplightning>
+          <c-jzlookuplightning   data-parent-id="lookup1"  onsearchchange={onsearchchange1} objectname="Tender_information__c" fieldname="Hospital__c"  >   </c-jzlookuplightning>
    
         </div>
        
diff --git a/force-app/main/default/lwc/tabs/tabs.html b/force-app/main/default/lwc/tabs/tabs.html
new file mode 100644
index 0000000..208e475
--- /dev/null
+++ b/force-app/main/default/lwc/tabs/tabs.html
@@ -0,0 +1,15 @@
+<template>
+    <div class="slds-var-m-around_medium">
+        <lightning-tabset active-tab-value="tab2">
+            <lightning-tab label="Irrigation systems" value="tab1">
+                5 days, 1000 USD.
+            </lightning-tab>
+            <lightning-tab label="Organic crops" value="tab2">
+                7 days, 1200 USD.
+            </lightning-tab>
+            <lightning-tab label="Soils" value="tab3">
+                2 days, 500 USD.
+            </lightning-tab>
+        </lightning-tabset>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/tabs/tabs.js b/force-app/main/default/lwc/tabs/tabs.js
new file mode 100644
index 0000000..b5c0a14
--- /dev/null
+++ b/force-app/main/default/lwc/tabs/tabs.js
@@ -0,0 +1,3 @@
+import { LightningElement } from 'lwc';
+
+export default class Tabs extends LightningElement {}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/tabs/tabs.js-meta.xml b/force-app/main/default/lwc/tabs/tabs.js-meta.xml
new file mode 100644
index 0000000..b9a3113
--- /dev/null
+++ b/force-app/main/default/lwc/tabs/tabs.js-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>false</isExposed>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/tabsWrapper/tabsWrapper.html b/force-app/main/default/lwc/tabsWrapper/tabsWrapper.html
new file mode 100644
index 0000000..cab93c5
--- /dev/null
+++ b/force-app/main/default/lwc/tabsWrapper/tabsWrapper.html
@@ -0,0 +1,18 @@
+<template>
+    <c-example-wrapper
+        icon-name="custom:custom44"
+        lwc="tabs"
+        title="Tabs"
+        visualforce="tabs"
+        visualforce-height="60px"
+    >
+        <c-tabs slot="lwc"></c-tabs>
+
+        <!-- prettier-ignore -->
+        <p>
+            Use <a target="_blank" href="https://developer.salesforce.com/docs/component-library/bundle/lightning-tabset">
+            lightning-tabset</a> and <a target="_blank" href="https://developer.salesforce.com/docs/component-library/bundle/lightning-tab">
+            lightning-tab</a> to replace apex:tabPanel and apex:tab.
+        </p>
+    </c-example-wrapper>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/tabsWrapper/tabsWrapper.js b/force-app/main/default/lwc/tabsWrapper/tabsWrapper.js
new file mode 100644
index 0000000..8e5d2bd
--- /dev/null
+++ b/force-app/main/default/lwc/tabsWrapper/tabsWrapper.js
@@ -0,0 +1,3 @@
+import { LightningElement } from 'lwc';
+
+export default class TabsWrapper extends LightningElement {}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/tabsWrapper/tabsWrapper.js-meta.xml b/force-app/main/default/lwc/tabsWrapper/tabsWrapper.js-meta.xml
new file mode 100644
index 0000000..6646900
--- /dev/null
+++ b/force-app/main/default/lwc/tabsWrapper/tabsWrapper.js-meta.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightning__AppPage</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/tenderLost/tenderLost.js b/force-app/main/default/lwc/tenderLost/tenderLost.js
index 62ce018..6530e03 100644
--- a/force-app/main/default/lwc/tenderLost/tenderLost.js
+++ b/force-app/main/default/lwc/tenderLost/tenderLost.js
@@ -78,9 +78,6 @@
     
     onsearchchangePTKS(event){
     var searchContentStr = event.detail.searchContent;
-    if(!searchContentStr){
-        this.opp.AccountId = ""; 
-    }
     console.log('hospitals: ' + this.hospitals);
        SearchPTKS({content:searchContentStr, hospitals:this.hospitals}).then(response=>{
             var datas = JSON.parse(response);
@@ -91,7 +88,6 @@
     PTKSId = '';
     selectedPTKS(event)
     {
-        debugger
         console.warn(event.detail.selectdata.Id);
         this.opp.AccountId = event.detail.selectdata.Id;
     }
@@ -108,7 +104,7 @@
 
     //淇濆瓨鏁版嵁閫昏緫
     saveFn(){
-        if(this.opp.Fund_Basis__c == undefined || this.opp.Sales_Method__c == undefined || this.opp.AccountId == undefined ||this.opp.Fund_Basis__c == "" || this.opp.Sales_Method__c == "" || this.opp.AccountId == "" ){
+        if(this.opp.Fund_Basis__c == undefined || this.opp.Sales_Method__c == undefined || this.opp.AccountId == undefined){
             this.Alert("璇蜂笉瑕佽緭鍏ョ┖鍝︺��",false,true);
         }else{
             this.OnLoading(true);
diff --git a/force-app/main/default/lwc/test/test.html b/force-app/main/default/lwc/test/test.html
new file mode 100644
index 0000000..af9fa97
--- /dev/null
+++ b/force-app/main/default/lwc/test/test.html
@@ -0,0 +1,3 @@
+<template>
+
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/test/test.js b/force-app/main/default/lwc/test/test.js
new file mode 100644
index 0000000..3c5b666
--- /dev/null
+++ b/force-app/main/default/lwc/test/test.js
@@ -0,0 +1,5 @@
+import { LightningElement, track, wire } from 'lwc';
+
+export default class test extends LightningElement {
+
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/test/test.js-meta.xml b/force-app/main/default/lwc/test/test.js-meta.xml
new file mode 100644
index 0000000..cd860f7
--- /dev/null
+++ b/force-app/main/default/lwc/test/test.js-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="test">
+    <apiVersion>51.0</apiVersion>
+    <isExposed>true</isExposed>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/toolbar/toolbar.css b/force-app/main/default/lwc/toolbar/toolbar.css
new file mode 100644
index 0000000..49f9811
--- /dev/null
+++ b/force-app/main/default/lwc/toolbar/toolbar.css
@@ -0,0 +1,3 @@
+lightning-input {
+    max-width: 130px;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/toolbar/toolbar.html b/force-app/main/default/lwc/toolbar/toolbar.html
new file mode 100644
index 0000000..7206446
--- /dev/null
+++ b/force-app/main/default/lwc/toolbar/toolbar.html
@@ -0,0 +1,31 @@
+<template>
+    <div class="slds-var-page-header">
+        <lightning-layout vertical-align="center" multiple-rows="true">
+            <lightning-layout-item>
+                <ul
+                    class="slds-list_horizontal slds-has-dividers_left slds-has-block-links"
+                >
+                    <template for:each={links} for:item="link">
+                        <li class="slds-item" key={link.value}>
+                            <lightning-formatted-url
+                                value={link.value}
+                                label={link.label}
+                            >
+                            </lightning-formatted-url>
+                        </li>
+                    </template>
+                </ul>
+            </lightning-layout-item>
+            <lightning-layout-item alignment-bump="left">
+                <lightning-input
+                    label="Search"
+                    type="search"
+                    variant="label-hidden"
+                    placeholder="Search..."
+                    onchange={handleInputChange}
+                >
+                </lightning-input>
+            </lightning-layout-item>
+        </lightning-layout>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/toolbar/toolbar.js b/force-app/main/default/lwc/toolbar/toolbar.js
new file mode 100644
index 0000000..eb64a92
--- /dev/null
+++ b/force-app/main/default/lwc/toolbar/toolbar.js
@@ -0,0 +1,19 @@
+import { LightningElement } from 'lwc';
+
+export default class Toolbar extends LightningElement {
+    links = [
+        {
+            value: 'https://www.salesforce.com',
+            label: 'Salesforce'
+        },
+        {
+            value: 'https://developer.salesforce.com',
+            label: 'Devs'
+        }
+    ];
+
+    handleInputChange(event) {
+        // eslint-disable-next-line no-console
+        console.log(event.target.value);
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/toolbar/toolbar.js-meta.xml b/force-app/main/default/lwc/toolbar/toolbar.js-meta.xml
new file mode 100644
index 0000000..b9a3113
--- /dev/null
+++ b/force-app/main/default/lwc/toolbar/toolbar.js-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>false</isExposed>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/toolbarWrapper/toolbarWrapper.html b/force-app/main/default/lwc/toolbarWrapper/toolbarWrapper.html
new file mode 100644
index 0000000..9eb31ab
--- /dev/null
+++ b/force-app/main/default/lwc/toolbarWrapper/toolbarWrapper.html
@@ -0,0 +1,18 @@
+<template>
+    <c-example-wrapper
+        icon-name="custom:custom44"
+        lwc="toolbar"
+        title="Toolbar"
+        visualforce="toolbar"
+        visualforce-height="30px"
+    >
+        <c-toolbar slot="lwc"></c-toolbar>
+
+        <!-- prettier-ignore -->
+        <p>
+            Use <a target="_blank" href="https://developer.salesforce.com/docs/component-library/bundle/lightning-layout">
+            lightning-layout</a> and <a target="_blank" href="https://developer.salesforce.com/docs/component-library/bundle/lightning-layout-item">
+            lightning-layout-item</a> to replace apex:toolbarGroup and apex:toolbar.
+        </p>
+    </c-example-wrapper>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/toolbarWrapper/toolbarWrapper.js b/force-app/main/default/lwc/toolbarWrapper/toolbarWrapper.js
new file mode 100644
index 0000000..bb13cbf
--- /dev/null
+++ b/force-app/main/default/lwc/toolbarWrapper/toolbarWrapper.js
@@ -0,0 +1,3 @@
+import { LightningElement } from 'lwc';
+
+export default class ToolbarWrapper extends LightningElement {}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/toolbarWrapper/toolbarWrapper.js-meta.xml b/force-app/main/default/lwc/toolbarWrapper/toolbarWrapper.js-meta.xml
new file mode 100644
index 0000000..6646900
--- /dev/null
+++ b/force-app/main/default/lwc/toolbarWrapper/toolbarWrapper.js-meta.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightning__AppPage</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/topPageLwc/topPageLwc.html b/force-app/main/default/lwc/topPageLwc/topPageLwc.html
new file mode 100644
index 0000000..0c219ae
--- /dev/null
+++ b/force-app/main/default/lwc/topPageLwc/topPageLwc.html
@@ -0,0 +1,237 @@
+<template>
+    <div style="border: 1px solid #D4D4D4;border-radius:5px;">
+        <div style="border-top: 3px solid #51606E;;border-bottom: 1px solid #D4D4D4;padding:3px;">
+            <p style="font-size: 19px;"><strong>棣栭〉</strong></p>
+        </div>
+        <div style="padding:10px;">
+            <template if:true={over_view}>
+                <div style="border: 1px solid #D4D4D4;border-radius:5px;margin-bottom:7px;">
+                    <div style="border-top: 3px solid #51606E;border-bottom: 1px solid #D4D4D4;padding:3px;">
+                        <p style="font-size: 16px;"><strong>鏈叏閮ㄥ彂璐ц鍗曟槑缁�</strong></p>
+                    </div>
+                    <div style="padding:10px;">
+                        <table>
+                            <thead>
+                                <tr>
+                                    <template for:each={title} for:item="t">
+                                        <th key={t} scope="col" >
+                                            <div class="slds-truncate">{t}</div>
+                                        </th>
+                                    </template>
+                                </tr>
+                            </thead>
+                            <tbody>
+                                <template for:each={raesList} for:item="raes">
+                                    <tr key={raes.Id}>
+                                        <td>{raes.Name}</td>
+                                        <td>{raes.ContractNo__c}</td>
+                                        <td>{raes.Total_num__c}</td>
+                                        <td>{raes.OrderNumber_arrived__c}</td>
+                                        <td>{raes.Delivery_detail_count__c}</td>
+                                        <td>{raes.OrderNumber_notarrive__c}</td>
+                                        <td>{raes.More_than_seven_days__c}</td>
+                                        <td>{raes.Shipment_date__c}</td>
+                                        <td>{raes.First_Delivery__c}</td>
+                                    </tr>
+                                </template>
+                                <!-- <tr>
+                                    <td style="text-align: center;" class="dataCell">寰呮搷浣滃叆搴撹鍗曟眹鎬�</td>
+                                    <td style="text-align: center;" class="dataCell"></td>
+                                </tr> -->
+                            </tbody>
+                        </table>
+                    </div>
+                </div>
+            </template>
+            <template if:true={overlimit}>
+                <div style="border: 1px solid #D4D4D4;border-radius:5px;margin-bottom:7px;">
+                    <div style="border-top: 3px solid #51606E;border-bottom: 1px solid #D4D4D4;padding:3px;">
+                        <p style="font-size: 16px;"><strong>浣跨敤鏈熼檺灏忎簬涓�骞寸殑浜у搧</strong></p>
+                    </div>
+                    <div style="padding:10px;">
+                        <table class="list" border="0" style="border-collapse:collapse;table-layout:fixed;border: 1px solid #e0e3e5;border-spacing:0;width:100%" >
+                            <tr class="headerRow">
+                                <th>浜у搧鍨嬪彿</th>
+                                <th style="text-align: center;">鏁伴噺</th>
+                                <th>鍗曚綅</th>
+                            </tr>
+                            <tbody>
+                                <template for:each={overlimitdateorderdetails} for:item="cases">
+                                    <tr key={cases.prodName}>
+                                        <td class="dataCell" style="width: 300px;">{cases.prodName}</td>
+                                        <td class="dataCell" style="text-align: center;width: 100px;">{cases.countid}</td>
+                                        <td class="dataCell" style="width: 300px;">{cases.BoxPiece}</td>
+                                    </tr>
+                                </template>
+                            </tbody>
+                        </table>
+                    </div>
+                </div>
+            </template>
+            <div style="border: 1px solid #D4D4D4;border-radius:5px;margin-bottom:7px;">
+                <div style="border-top: 3px solid #51606E;border-bottom: 1px solid #D4D4D4;padding:3px;">
+                    <p style="font-size: 16px;"><strong>缁忛攢鍟嗕俊鎭�</strong></p>
+                </div>
+                <div style="padding:10px;">
+                    <lightning-accordion allow-multiple-sections-open active-section-name={activeSections}>
+                        <lightning-record-view-form record-id={accountId} object-api-name="Account">
+                            <lightning-accordion-section label="缁忛攢鍟嗚缁嗕俊鎭�" name="A">
+                                <lightning-layout multiple-rows="true">
+                                    <lightning-layout-item size="6">
+                                        <lightning-output-field field-name="Management_Code__c"></lightning-output-field>
+                                    </lightning-layout-item>
+                                    <lightning-layout-item size="6">
+                                        <lightning-output-field field-name="Name"></lightning-output-field>
+                                    </lightning-layout-item>
+                                    <lightning-layout-item size="6">
+                                        <lightning-output-field field-name="Ban_On_Use_Date__c"></lightning-output-field>
+                                    </lightning-layout-item>
+                                    <lightning-layout-item size="6">
+                                        <lightning-output-field field-name="Ban_On_Use_Reason__c"></lightning-output-field>
+                                    </lightning-layout-item>
+                                    <lightning-layout-item size="6">
+                                        <lightning-output-field field-name="Dealer_discount__c"></lightning-output-field>
+                                    </lightning-layout-item>
+                                    <lightning-layout-item size="6">
+                                        <lightning-output-field field-name="Sales_Shop_Class__c"></lightning-output-field>
+                                    </lightning-layout-item>
+                                    <lightning-layout-item size="6">
+                                        <lightning-output-field field-name="Deposit_Receipt_Finished__c"></lightning-output-field>
+                                    </lightning-layout-item>
+                                    <lightning-layout-item size="6">
+                                        <lightning-output-field field-name="Deposit_Receipt_Completion_Day__c"></lightning-output-field>
+                                    </lightning-layout-item>
+                                </lightning-layout>
+                            </lightning-accordion-section>
+                            <lightning-accordion-section label="钀ヤ笟璁稿彲璇佷功鐘跺喌" name="B">
+                                <lightning-layout multiple-rows="true">
+                                    <lightning-layout-item size="6">
+                                        <lightning-output-field field-name="Business_Authorization_No__c"></lightning-output-field>
+                                    </lightning-layout-item>
+                                    <lightning-layout-item size="6">
+                                        <lightning-output-field field-name="Business_Paper_Expiration_Date__c"></lightning-output-field>
+                                    </lightning-layout-item>
+                                    <lightning-layout-item size="6">
+                                        <lightning-output-field field-name="Tax_Practice_No__c"></lightning-output-field>
+                                    </lightning-layout-item>
+                                    <lightning-layout-item size="6">
+                                        <lightning-output-field field-name="Tax_Practice_Expiration_Date__c"></lightning-output-field>
+                                    </lightning-layout-item>
+                                    <lightning-layout-item size="6">
+                                        <lightning-output-field field-name="Medical_Equipment_Num__c"></lightning-output-field>
+                                    </lightning-layout-item>
+                                    <lightning-layout-item size="6">
+                                        <lightning-output-field field-name="Medical_Equipment_Expiration_Date__c"></lightning-output-field>
+                                    </lightning-layout-item>
+                                </lightning-layout>
+                            </lightning-accordion-section>
+                            <lightning-accordion-section label="鍦板潃淇℃伅" name="C">
+                                <lightning-layout multiple-rows="true">
+                                    <lightning-layout-item size="6">
+                                        <lightning-output-field field-name="Postal_Code__c"></lightning-output-field>
+                                    </lightning-layout-item>
+                                    <lightning-layout-item size="6">
+                                        <lightning-output-field field-name="Phone"></lightning-output-field>
+                                    </lightning-layout-item>
+                                    <lightning-layout-item size="6">
+                                        <lightning-output-field field-name="Address_Together__c"></lightning-output-field>
+                                    </lightning-layout-item>
+                                    <lightning-layout-item size="6">
+                                        <lightning-output-field field-name="Fax"></lightning-output-field>
+                                    </lightning-layout-item>
+                                </lightning-layout>
+                            </lightning-accordion-section>
+                        </lightning-record-view-form>
+                    </lightning-accordion>
+                </div>
+            </div>
+            <div style="border: 1px solid #D4D4D4;border-radius:5px;margin-bottom:7px;">
+                <div style="border-top: 3px solid #51606E;border-bottom: 1px solid #D4D4D4;padding:3px;">
+                    <p style="font-size: 16px;"><strong>缁忛攢鍟嗗簱瀛樹笂涓嬮檺</strong></p>
+                </div>
+                <div style="padding:10px;">
+                    <div lwc:dom="manual" id="resultDiv" class="resultDiv"></div>
+                    <div draggable="false" >
+                        <lightning-button label="缁忛攢鍟嗕骇鍝佷笂涓嬮檺缂栬緫" style="width: 200px;" onclick={editProductLimit}></lightning-button>
+                        <!-- <lightning-button label="鏌ヨ閲嶅鐨勪骇鍝�" style="width: 200px;"></lightning-button> -->
+                        <!-- <apex:commandButton value="缁忛攢鍟嗕骇鍝佷笂涓嬮檺缂栬緫" style="width: 200px;" onclick="EditProductLimitJs(); return false;" />
+                        <apex:commandButton value="鏌ヨ閲嶅鐨勪骇鍝�" style="width: 200px;" onclick="ProfilterJs(); return false;" rendered="false" /> -->
+                    </div>
+                </div>
+            </div>
+            <!-- <apex:outputPanel id="message">
+                <apex:pageMessages />
+             </apex:outputPanel> -->
+            <div style="border: 1px solid #D4D4D4;border-radius:5px;margin-bottom:7px;">
+                <div style="border-top: 3px solid #51606E;border-bottom: 1px solid #D4D4D4;padding:3px;">
+                    <p style="font-size: 16px;"><strong>鍦ㄥ簱鍟嗗搧搴撳瓨涓�瑙�</strong></p>
+                </div>
+                <div style="padding:10px;">
+                    <table class="list" border="0" cellpadding="0" cellspacing="0" id="example">
+                        <thead>
+                            <tr class="headerRow">
+                                <th>娑堣�楀搧鍚嶇О</th>
+                                <th>瑙勬牸</th>
+                                <th>绗�3鍒嗙被</th>
+                                <th>绗�4鍒嗙被</th>
+                                <th>绗�5鍒嗙被</th>
+                                <th>CFDA鐘舵��</th>
+                                <th>娉ㄥ唽璇佺紪鐮佸彿</th>
+                                <th>娉ㄥ唽璇佹晥鏈�</th>
+                                <th>浜у搧鏁伴噺涓嬮檺</th>
+                                <th>浣跨敤鏈熼檺</th>
+                                <th>鏈夋晥鏈熷唴搴撳瓨</th>
+                                <th>杩囨湡搴撳瓨</th>
+                                <th>鍗曚綅</th>
+                                <template if:true={hasHos}>
+                                    <th>鍖婚櫌鐗逛环</th>
+                                </template>
+                            </tr>
+                        </thead>
+                        <tbody>
+                            <template for:each={pageRecords} for:item="m">
+                                <tr key={m.Prod.Name__c}>
+                                    <td>{m.Prod.Name__c}</td>
+                                    <td>{m.packing_list}</td>
+                                    <td>{m.Prod.Category3__c}</td>
+                                    <td>{m.Prod.Category4__c}</td>
+                                    <td>{m.Prod.Category5__c}</td>
+                                    <td>{m.Prod.SFDA_Status__c}</td>
+                                    <td>{m.approbation_No}</td>
+                                    <td>{m.expiration_Date}</td>
+                                    <td>{m.lowerlimit}</td>
+                                    <td>{m.guaranteeperiod}</td>
+                                    <td>{m.limitCount}</td>
+                                    <td>{m.overlimitCount}</td>
+                                    <td>{m.BoxPiece}</td>
+                                    <template if:true={hasHos}>
+                                        <td>
+                                            <template if:true={m.hospitalSpecialOffer}>
+                                                鈭�
+                                            </template>
+                                        </td>
+                                    </template>
+                                </tr>
+                            </template>
+                        </tbody>
+                    </table>
+                    <!-- <table style="width: 100%">
+                        <tbody>
+                           <tr>  
+                               <td width="20%">
+                                  1-0 鍏� 0 
+                               </td>
+                               <td align="center" width="60%">
+                                   <lightning-button-icon style="margin: 3px;" icon-name="utility:jump_to_left"></lightning-button-icon>
+                                   <lightning-button-icon style="margin: 3px;" icon-name="utility:chevronleft"></lightning-button-icon>
+                                   <lightning-button-icon style="margin: 3px;" icon-name="utility:chevronright"></lightning-button-icon>
+                                   <lightning-button-icon style="margin: 3px;" icon-name="utility:jump_to_right"></lightning-button-icon>
+                               </td>
+                          </tr>
+                       </tbody>
+                   </table> -->
+                </div>
+            </div>
+        </div>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/topPageLwc/topPageLwc.js b/force-app/main/default/lwc/topPageLwc/topPageLwc.js
new file mode 100644
index 0000000..06acd8a
--- /dev/null
+++ b/force-app/main/default/lwc/topPageLwc/topPageLwc.js
@@ -0,0 +1,138 @@
+import { LightningElement,wire,api,track } from 'lwc';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+import { NavigationMixin } from 'lightning/navigation';
+import initPage from '@salesforce/apex/TopPageLwcController.initPage';
+
+export default class TopPageLwc extends NavigationMixin(LightningElement) {
+
+    @track title = [];
+    @track raesList = [];
+    @track column = [];
+    @track overlimitdateorderdetails = [];
+    @track accountInfo;
+    @track accountId;
+    @track pageRecords = [];
+    @track csvData = [];
+    @track product_Limit;
+    @track over_view = false;
+    @track overlimit = false;
+    @track hasHos = false;
+    @track activeSections = ['A', 'B','C'];
+    @track isRender = false;
+    @track consumableorderdetailsRecordsview;
+
+
+    connectedCallback(){
+        initPage()
+            .then(result=>{
+                if(result.result == 'Success'){
+                    this.title = result.title;
+                    this.raesList = result.raesList;
+                    this.column = result.column;
+                    this.accountInfo = result.accountInfo;
+                    this.accountId = result.accountInfo.Id;
+                    this.pageRecords = result.pageRecords;
+                    this.overlimitdateorderdetails = result.overlimitdateorderdetails;
+                    this.over_view = result.over_view;
+                    this.overlimit = result.overlimit;
+                    this.hasHos = result.hasHos;
+                    this.product_Limit = result.product_Limit;
+                    this.consumableorderdetailsRecordsview = result.consumableorderdetailsRecordsview;
+                    console.log('this.accountId:'+this.accountId);
+                    console.log('this.accountInfo:'+JSON.stringify(this.accountInfo));
+                }else{
+                    console.log("Error:"+result.errorMsg);
+                    const evt = new ShowToastEvent({
+                        title : '鍒濆鍖栭〉闈㈠け璐�',
+                        message: result.errorMsg,
+                        variant: 'error'
+                    });
+                    this.dispatchEvent(evt);
+                }
+            });
+    }
+
+    renderedCallback(){
+        if(!this.isRender){
+            this.isRender = true;
+            var tableStr = productLimitTableJs(this.product_Limit);
+            const container = this.template.querySelector('div.resultDiv');
+            container.innerHTML = tableStr;
+        }
+
+        function productLimitTableJs(str){
+            var csv_data = new Array();
+            if(str != null && str != ''){
+                csv_data = productlist(str);
+            }
+            var table = '<table border="0" cellpadding="0" cellspacing="0" class="list" Id = "tab1"><tr class="headerRow"><th>浜у搧鍨嬪彿</th><th>搴撳瓨涓嬮檺</th><th>搴撳瓨涓婇檺</th></tr>';
+            for (var i = 0; i < csv_data.length; i++) {
+                table = table + '<tr class="dataRow">';
+                var row = csv_data[i];
+                for (var j = 0; j < row.length; j++) {
+                    table = table + '<td class="dataCell" style="text-align: center" id = "input' + j +'">';
+                    var colu = row[j];
+                    table = table + colu + '</td>';
+                }
+                table = table + '</tr>';
+            }
+            var table = table + '</table>';
+            return table;
+        }
+
+        function productlist(text_data) {
+            var records = new Array();
+            var record = new Array();
+            var column = new Array();
+            var quot_flg = false;
+            for (var i = 0; i < text_data.size(); i++) {
+                var ch = text_data.charAt(i);
+                if (ch == ',') {
+                    if (quot_flg) {
+                        column.push(',');
+                    } else {
+                        record.push(column.join(''));
+                        column = new Array();
+                        records.push(record);
+                        record = new Array();
+                    }
+                } else if (ch == '|') {
+                    if (quot_flg) {
+                        column.push('|');
+                    } else {
+                        record.push(column.join(''));
+                        column = new Array();
+                    }
+                } else if (ch == '"') {
+                    if (quot_flg) {
+                        if ((i + 1) < text_data.size() && text_data.charAt((i + 1)) == '"') {
+                            i++;
+                            column.push('"');
+                        } else {
+                            quot_flg = false;
+                        }
+                    } else {
+                        quot_flg = true;
+                    }
+                } else {
+                    column.push(ch);
+                }
+            }
+            if (record.length != 0) {
+                record.push(column.join(''));
+                records.push(record);
+            }
+            return records;
+        }
+    }
+
+    editProductLimit(event){
+        const config = {
+            type: 'standard__webPage',
+            attributes: {
+                url: '/LexProductLimitEdit'
+            }
+        };
+        this[NavigationMixin.Navigate](config);
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/topPageLwc/topPageLwc.js-meta.xml b/force-app/main/default/lwc/topPageLwc/topPageLwc.js-meta.xml
new file mode 100644
index 0000000..d893635
--- /dev/null
+++ b/force-app/main/default/lwc/topPageLwc/topPageLwc.js-meta.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>56.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightningCommunity__Page</target>
+        <target>lightningCommunity__Default</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/viewRecord/viewRecord.html b/force-app/main/default/lwc/viewRecord/viewRecord.html
new file mode 100644
index 0000000..aae491a
--- /dev/null
+++ b/force-app/main/default/lwc/viewRecord/viewRecord.html
@@ -0,0 +1,10 @@
+<template>
+    <lightning-record-form
+        record-id={recordId}
+        object-api-name={objectApiName}
+        columns="2"
+        mode="readonly"
+        fields={fields}
+    >
+    </lightning-record-form>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/viewRecord/viewRecord.js b/force-app/main/default/lwc/viewRecord/viewRecord.js
new file mode 100644
index 0000000..154a104
--- /dev/null
+++ b/force-app/main/default/lwc/viewRecord/viewRecord.js
@@ -0,0 +1,18 @@
+import { LightningElement, api } from 'lwc';
+import ACCOUNT_OBJECT from '@salesforce/schema/Account';
+import ACCOUNT_NAME_FIELD from '@salesforce/schema/Account.Name';
+import ACCOUNT_TYPE_FIELD from '@salesforce/schema/Account.Type';
+import ACCOUNT_PHONE_FIELD from '@salesforce/schema/Account.Phone';
+import ACCOUNT_EMPLOYEES_FIELD from '@salesforce/schema/Account.NumberOfEmployees';
+
+export default class ViewRecord extends LightningElement {
+    @api recordId;
+    objectApiName = ACCOUNT_OBJECT;
+
+    fields = [
+        ACCOUNT_NAME_FIELD,
+        ACCOUNT_TYPE_FIELD,
+        ACCOUNT_PHONE_FIELD,
+        ACCOUNT_EMPLOYEES_FIELD
+    ];
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/viewRecord/viewRecord.js-meta.xml b/force-app/main/default/lwc/viewRecord/viewRecord.js-meta.xml
new file mode 100644
index 0000000..b9a3113
--- /dev/null
+++ b/force-app/main/default/lwc/viewRecord/viewRecord.js-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>false</isExposed>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/viewRecordWithParentRecordData/viewRecordWithParentRecordData.html b/force-app/main/default/lwc/viewRecordWithParentRecordData/viewRecordWithParentRecordData.html
new file mode 100644
index 0000000..56f574c
--- /dev/null
+++ b/force-app/main/default/lwc/viewRecordWithParentRecordData/viewRecordWithParentRecordData.html
@@ -0,0 +1,30 @@
+<template>
+    <lightning-record-view-form
+        record-id={recordId}
+        object-api-name={accountObject}
+    >
+        <div class="slds-grid slds-wrap">
+            <div class="slds-col slds-size_1-of-2">
+                <lightning-output-field field-name={accountNameField}>
+                </lightning-output-field>
+            </div>
+            <div class="slds-col slds-size_1-of-2">
+                <lightning-output-field field-name={accountTypeField}>
+                </lightning-output-field>
+            </div>
+            <div class="slds-col slds-size_1-of-2">
+                <lightning-output-field field-name={accountPhoneField}>
+                </lightning-output-field>
+            </div>
+            <div class="slds-col slds-size_1-of-2">
+                <div class="slds-form-element">
+                    <span class="slds-form-element__label">Owner Name</span>
+                    <div class="slds-form-element__control">
+                        <lightning-formatted-text value={ownerNameValue}>
+                        </lightning-formatted-text>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </lightning-record-view-form>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/viewRecordWithParentRecordData/viewRecordWithParentRecordData.js b/force-app/main/default/lwc/viewRecordWithParentRecordData/viewRecordWithParentRecordData.js
new file mode 100644
index 0000000..54e77af
--- /dev/null
+++ b/force-app/main/default/lwc/viewRecordWithParentRecordData/viewRecordWithParentRecordData.js
@@ -0,0 +1,28 @@
+import { LightningElement, api, wire } from 'lwc';
+import { getRecord, getFieldValue } from 'lightning/uiRecordApi';
+import ACCOUNT_OBJECT from '@salesforce/schema/Account';
+import ACCOUNT_NAME_FIELD from '@salesforce/schema/Account.Name';
+import ACCOUNT_TYPE_FIELD from '@salesforce/schema/Account.Type';
+import ACCOUNT_PHONE_FIELD from '@salesforce/schema/Account.Phone';
+import ACCOUNT_OWNER_NAME_FIELD from '@salesforce/schema/Account.Owner.Name';
+
+export default class ViewRecordWithParentRecordData extends LightningElement {
+    @api recordId;
+
+    accountObject = ACCOUNT_OBJECT;
+    accountNameField = ACCOUNT_NAME_FIELD;
+    accountTypeField = ACCOUNT_TYPE_FIELD;
+    accountPhoneField = ACCOUNT_PHONE_FIELD;
+
+    @wire(getRecord, {
+        recordId: '$recordId',
+        fields: [ACCOUNT_OWNER_NAME_FIELD]
+    })
+    record;
+
+    get ownerNameValue() {
+        return this.record && this.record.data
+            ? getFieldValue(this.record.data, ACCOUNT_OWNER_NAME_FIELD)
+            : '';
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/viewRecordWithParentRecordData/viewRecordWithParentRecordData.js-meta.xml b/force-app/main/default/lwc/viewRecordWithParentRecordData/viewRecordWithParentRecordData.js-meta.xml
new file mode 100644
index 0000000..b9a3113
--- /dev/null
+++ b/force-app/main/default/lwc/viewRecordWithParentRecordData/viewRecordWithParentRecordData.js-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>false</isExposed>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/viewRecordWithParentRecordDataWrapper/viewRecordWithParentRecordDataWrapper.html b/force-app/main/default/lwc/viewRecordWithParentRecordDataWrapper/viewRecordWithParentRecordDataWrapper.html
new file mode 100644
index 0000000..83f7816
--- /dev/null
+++ b/force-app/main/default/lwc/viewRecordWithParentRecordDataWrapper/viewRecordWithParentRecordDataWrapper.html
@@ -0,0 +1,22 @@
+<template>
+    <c-example-wrapper
+        icon-name="standard:account"
+        lwc="viewRecordWithParentRecordData"
+        title="View Record with Parent Record Data"
+        visualforce="viewRecordWithParentRecordData"
+        record-id={recordId}
+        visualforce-height="180px"
+    >
+        <c-view-record-with-parent-record-data
+            record-id={recordId}
+            slot="lwc"
+        ></c-view-record-with-parent-record-data>
+
+        <!-- prettier-ignore -->
+        <p>
+            Combine <a target="_blank" href="https://developer.salesforce.com/docs/component-library/documentation/lwc/data_load_record">
+            base form components</a> with the <a target="_blank" href="https://developer.salesforce.com/docs/component-library/documentation/lwc/reference_wire_adapters_record.html">
+            getRecord</a> LDS wire adapter to read single records and include parent record data.
+        </p>
+    </c-example-wrapper>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/viewRecordWithParentRecordDataWrapper/viewRecordWithParentRecordDataWrapper.js b/force-app/main/default/lwc/viewRecordWithParentRecordDataWrapper/viewRecordWithParentRecordDataWrapper.js
new file mode 100644
index 0000000..bf3f038
--- /dev/null
+++ b/force-app/main/default/lwc/viewRecordWithParentRecordDataWrapper/viewRecordWithParentRecordDataWrapper.js
@@ -0,0 +1,5 @@
+import { LightningElement, api } from 'lwc';
+
+export default class ViewRecordWithParentRecordDataWrapper extends LightningElement {
+    @api recordId;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/viewRecordWithParentRecordDataWrapper/viewRecordWithParentRecordDataWrapper.js-meta.xml b/force-app/main/default/lwc/viewRecordWithParentRecordDataWrapper/viewRecordWithParentRecordDataWrapper.js-meta.xml
new file mode 100644
index 0000000..08bfebb
--- /dev/null
+++ b/force-app/main/default/lwc/viewRecordWithParentRecordDataWrapper/viewRecordWithParentRecordDataWrapper.js-meta.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightning__RecordPage</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/viewRecordWrapper/viewRecordWrapper.html b/force-app/main/default/lwc/viewRecordWrapper/viewRecordWrapper.html
new file mode 100644
index 0000000..c7ce6f4
--- /dev/null
+++ b/force-app/main/default/lwc/viewRecordWrapper/viewRecordWrapper.html
@@ -0,0 +1,20 @@
+<template>
+    <c-example-wrapper
+        icon-name="standard:account"
+        lwc="viewRecord"
+        title="View Record"
+        visualforce="viewRecord"
+        record-id={recordId}
+        visualforce-height="170px"
+    >
+        <c-view-record record-id={recordId} slot="lwc"></c-view-record>
+
+        <!-- prettier-ignore -->
+        <p>
+            Use <a target="_blank" href="https://developer.salesforce.com/docs/component-library/bundle/lightning-record-form">
+            lightning-record-form</a>  in view mode to read records as first option.
+            Use <a target="_blank" href="https://developer.salesforce.com/docs/component-library/bundle/lightning-record-view-form">
+            lightning-record-view-form</a> if you want to use a custom layout.
+        </p>
+    </c-example-wrapper>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/viewRecordWrapper/viewRecordWrapper.js b/force-app/main/default/lwc/viewRecordWrapper/viewRecordWrapper.js
new file mode 100644
index 0000000..56cede6
--- /dev/null
+++ b/force-app/main/default/lwc/viewRecordWrapper/viewRecordWrapper.js
@@ -0,0 +1,5 @@
+import { LightningElement, api } from 'lwc';
+
+export default class ViewRecordWrapper extends LightningElement {
+    @api recordId;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/viewRecordWrapper/viewRecordWrapper.js-meta.xml b/force-app/main/default/lwc/viewRecordWrapper/viewRecordWrapper.js-meta.xml
new file mode 100644
index 0000000..08bfebb
--- /dev/null
+++ b/force-app/main/default/lwc/viewRecordWrapper/viewRecordWrapper.js-meta.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightning__RecordPage</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/viewVfLwcSource/viewVfLwcSource.css b/force-app/main/default/lwc/viewVfLwcSource/viewVfLwcSource.css
new file mode 100644
index 0000000..8e7eaba
--- /dev/null
+++ b/force-app/main/default/lwc/viewVfLwcSource/viewVfLwcSource.css
@@ -0,0 +1,3 @@
+:host {
+    text-align: left;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/viewVfLwcSource/viewVfLwcSource.html b/force-app/main/default/lwc/viewVfLwcSource/viewVfLwcSource.html
new file mode 100644
index 0000000..6285a20
--- /dev/null
+++ b/force-app/main/default/lwc/viewVfLwcSource/viewVfLwcSource.html
@@ -0,0 +1,21 @@
+<template>
+    <div class="slds-color__text_gray-9 slds-var-m-bottom_small">
+        <slot></slot>
+    </div>
+    <lightning-layout>
+        <lightning-layout-item>
+            <lightning-formatted-url
+                value={visualforceSourceURL}
+                label="View Visualforce source"
+            >
+            </lightning-formatted-url>
+        </lightning-layout-item>
+        <lightning-layout-item alignment-bump="left">
+            <lightning-formatted-url
+                value={lwcSourceURL}
+                label="View LWC source"
+            >
+            </lightning-formatted-url>
+        </lightning-layout-item>
+    </lightning-layout>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/viewVfLwcSource/viewVfLwcSource.js b/force-app/main/default/lwc/viewVfLwcSource/viewVfLwcSource.js
new file mode 100644
index 0000000..02547a8
--- /dev/null
+++ b/force-app/main/default/lwc/viewVfLwcSource/viewVfLwcSource.js
@@ -0,0 +1,17 @@
+import { LightningElement, api } from 'lwc';
+
+export default class ViewSource extends LightningElement {
+    _baseURL =
+        'https://github.com/trailheadapps/visualforce-to-lwc/tree/master/force-app/main/default/';
+
+    @api lwcSource;
+    @api visualforceSource;
+
+    get lwcSourceURL() {
+        return this._baseURL + this.lwcSource;
+    }
+
+    get visualforceSourceURL() {
+        return this._baseURL + this.visualforceSource;
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/viewVfLwcSource/viewVfLwcSource.js-meta.xml b/force-app/main/default/lwc/viewVfLwcSource/viewVfLwcSource.js-meta.xml
new file mode 100644
index 0000000..b9a3113
--- /dev/null
+++ b/force-app/main/default/lwc/viewVfLwcSource/viewVfLwcSource.js-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>false</isExposed>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/manifest/packageForLex copy.xml b/manifest/packageForLex copy.xml
new file mode 100644
index 0000000..25a1a2e
--- /dev/null
+++ b/manifest/packageForLex copy.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
+<Package xmlns="http://soap.sforce.com/2006/04/metadata">
+    <types>
+        <members>*</members>
+        <name>LightningComponentBundle</name>
+    </types>
+    <version>52.0</version>
+</Package>
diff --git a/manifest/packageForLex.xml b/manifest/packageForLex.xml
deleted file mode 100644
index b3315a7..0000000
--- a/manifest/packageForLex.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
-<Package xmlns="http://soap.sforce.com/2006/04/metadata">
-    <types>
-        <members>lexConsumable</members>
-        <name>LightningComponentBundle</name>
-    </types>
-    <types>
-        <members>LexConsumableController</members>
-        <name>ApexClass</name>
-    </types>   
-    <version>52.0</version>
-</Package>
diff --git a/manifest/packageForSign.xml b/manifest/packageForSign.xml
new file mode 100644
index 0000000..d9db94a
--- /dev/null
+++ b/manifest/packageForSign.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
+<Package xmlns="http://soap.sforce.com/2006/04/metadata">
+    <types>
+        <members>updateESignBatch</members>
+        <members>DNUpsertBatch</members>
+        <members>OCMManagementProvinceBatch</members>
+        <name>ApexClass</name>
+    </types>   
+    <version>52.0</version>
+</Package>

--
Gitblit v1.9.1