From 50b39c4b52bf5fd61ec46ada365c51e05a16d2ae Mon Sep 17 00:00:00 2001
From: buli <137736985@qq.com>
Date: 星期四, 04 五月 2023 09:11:54 +0800
Subject: [PATCH] Backup0504
---
force-app/main/default/lwc/lexOCSMToReportLighting/lexOCSMToReportLighting.html | 5
force-app/main/default/lwc/lexSaleAndDelivery/lexSaleAndDelivery.js | 452
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/customShipmentAmountComp/customShipmentAmountComp.html | 10
force-app/main/default/lwc/quoteTrial/quoteTrial.css | 26
force-app/main/default/lwc/lexClearReturnDeliverySlip/lexClearReturnDeliverySlip.html | 5
force-app/main/default/lwc/lexPDFQISrequest/lexPDFQISrequest.js | 47
force-app/main/default/lwc/rentalApplyEquipmentRentalPDF/rentalApplyEquipmentRentalPDF.js | 44
force-app/main/default/lwc/lexcopyQIS/lexcopyQIS.js | 52
force-app/main/default/lwc/lexPrintInspectupReport/lexPrintInspectupReport.js | 54
force-app/main/default/classes/LexOutboundorderImportController.cls | 113
force-app/main/default/aura/test01App/test01App.app-meta.xml | 5
force-app/main/default/lwc/lexTenderingLostButton/lexTenderingLostButton.html | 5
force-app/main/default/lwc/lexCustomNewMaintenance/lexCustomNewMaintenance.js-meta.xml | 11
force-app/main/default/lwc/lexCopyPIInspectionReport/lexCopyPIInspectionReport.html | 5
force-app/main/default/lwc/lexCreateNewServiceContract/lexCreateNewServiceContract.js-meta.xml | 11
force-app/main/default/aura/test02App/test02App.auradoc | 6
force-app/main/default/lwc/lexRentalApplySubmitedApprovalButton/lexRentalApplySubmitedApprovalButton.html | 5
force-app/main/default/classes/buttonQISSCReportCtl.cls-meta.xml | 5
force-app/main/default/lwc/lexSearchProductCs/lexSearchProductCs.js-meta.xml | 11
force-app/main/default/lwc/ldsUtils/ldsUtils.js | 35
force-app/main/default/aura/EnquiryNoBiddingApp/EnquiryNoBiddingApp.svg | 7
force-app/main/default/lwc/lexInventory/lexInventory.js | 631
force-app/main/default/lwc/pageMessagesDataRetrieval/pageMessagesDataRetrieval.html | 8
force-app/main/default/lwc/productsh/productsh.html | 321
force-app/main/default/lwc/lexQuarterlyReport/lexQuarterlyReport.js-meta.xml | 11
force-app/main/default/aura/DealerPersonnelInformationImportApp/DealerPersonnelInformationImportApp.css | 2
force-app/main/default/lwc/lexBatchSelectRepairLWC/lexBatchSelectRepairLWC.js | 576
force-app/main/default/lwc/lexSaleAndDelivery/templates/boxorpieceType.html | 4
force-app/main/default/lwc/lexSendQISToEtQ/lexSendQISToEtQ.js-meta.xml | 11
force-app/main/default/lwc/listRecordLinksWrapper/listRecordLinksWrapper.js-meta.xml | 8
force-app/main/default/lwc/inventoryViewLWC/inventoryViewLWC.html | 117
force-app/main/default/lwc/lexCreateReportMaintenanceContract/lexCreateReportMaintenanceContract.html | 5
force-app/main/default/lwc/paginatedList/paginatedList.js | 120
force-app/main/default/aura/AgencyAccount/AgencyAccountRenderer.js | 3
force-app/main/default/lwc/lexRemoveBox/lexRemoveBox.js | 233
force-app/main/default/lwc/lexContractdetailpdf/lexContractdetailpdf.html | 350
force-app/main/default/aura/test01App/test01App.svg | 7
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/lexEnquiryNoBidding/lexEnquiryNoBidding.js-meta.xml | 11
force-app/main/default/lwc/lexSearchProduct/lexSearchProduct.js-meta.xml | 11
force-app/main/default/lwc/singleRecords/singleRecords.js-meta.xml | 8
force-app/main/default/lwc/lexServiceCutPriceApply/lexServiceCutPriceApply.js-meta.xml | 11
force-app/main/default/lwc/lexASACEditor/lexASACEditor.html | 5
force-app/main/default/lwc/navigateToRecord/navigateToRecord.html | 3
force-app/main/default/aura/eSignAgencyConfirmReadOnlyPage/eSignAgencyConfirmReadOnlyPage.cmp-meta.xml | 5
force-app/main/default/aura/RetrospectiveWeeklyReportApp/RetrospectiveWeeklyReportApp.auradoc | 6
force-app/main/default/lwc/lexASRCEditor/lexASRCEditor.js | 74
force-app/main/default/lwc/tenderDeletePage/tenderDeletePage.js-meta.xml | 5
force-app/main/default/classes/LexPrintInspectupReportController.cls | 124
force-app/main/default/aura/CopyPILightning/CopyPILightningController.js | 6
force-app/main/default/aura/lexNewRepairAura/lexNewRepairAura.cmp-meta.xml | 5
force-app/main/default/lwc/lexCancelSubmit/lexCancelSubmit.html | 6
force-app/main/default/lwc/lexOCSMToReport/lexOCSMToReport.js-meta.xml | 11
force-app/main/default/lwc/lexStockApply/lexStockApply.html | 6
force-app/main/default/lwc/lexInputTableCell/lexInputTableCell.js-meta.xml | 15
force-app/main/default/lwc/cancelApplyLWC/cancelApplyLWC.js | 90
force-app/main/default/lwc/createRecordWithPrepopulatedValues/createRecordWithPrepopulatedValues.js | 24
force-app/main/default/aura/ImprovedForecastTimeApp/ImprovedForecastTimeApp.auradoc | 6
force-app/main/default/lwc/opdUpdateDate/opdUpdateDate.js-meta.xml | 11
force-app/main/default/classes/LexRemoveBoxController.cls | 2
force-app/main/default/lwc/lexMainFixtureSelect/lexMainFixtureSelect.js-meta.xml | 11
force-app/main/default/lwc/lexRentalApplyDiscountApproval/lexRentalApplyDiscountApproval.html | 6
force-app/main/default/staticresources/SNA_Demo1_sf_default_cdn_PqhAN/maintenance.html | 50
force-app/main/default/lwc/opdSupplementaryApplication/opdSupplementaryApplication.js-meta.xml | 11
force-app/main/default/aura/MaintenanceContractNotOpenApp/MaintenanceContractNotOpenApp.css | 2
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/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/lexApplyForRepair/lexApplyForRepair.html | 6
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/pages/CampaignMemberBMEEditAndDelete.page | 2
force-app/main/default/lwc/lexSubmitExtensionApprovalProcess/lexSubmitExtensionApprovalProcess.js-meta.xml | 11
force-app/main/default/aura/NewAgencyContact/NewAgencyContact.cmp-meta.xml | 5
force-app/main/default/lwc/lexCustomClone/lexCustomClone.css | 10
force-app/main/default/lwc/rentalApplyLWT/rentalApplyLWT.css | 11
force-app/main/default/lwc/lexStockApply/lexStockApply.js | 127
force-app/main/default/lwc/lexReturnGoodCusInput/lexReturnGoodCusInput.html | 8
force-app/main/default/lwc/customOutputGood/customOutputGood.js | 42
force-app/main/default/aura/DealerPersonnelInformationImport/DealerPersonnelInformationImportController.js | 12
force-app/main/default/lwc/toolbar/toolbar.js-meta.xml | 5
force-app/main/default/lwc/lexFinLibrary3/lexFinLibrary3.html | 4
force-app/main/default/classes/OpportunityLightingButtonController.cls | 170
force-app/main/default/aura/RetrospectiveWeeklyReportApp/RetrospectiveWeeklyReportApp.svg | 7
force-app/main/default/lwc/lexESignAcceptanceHospital/lexESignAcceptanceHospital.js-meta.xml | 11
force-app/main/default/pages/Maintenance.page | 2
force-app/main/default/lwc/lexInputPickListCell/lexInputPickListCell.js-meta.xml | 15
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 | 8
force-app/main/default/lwc/lexBeforeOPDPDFBtnSIS/lexBeforeOPDPDFBtnSIS.js | 97
force-app/main/default/lwc/lexPreContractSubmit/lexPreContractSubmit.html | 6
force-app/main/default/aura/TenderDeletePageApp/TenderDeletePageAppRenderer.js | 5
force-app/main/default/lwc/lexFinLibrary3/lexFinLibrary3.js | 58
force-app/main/default/aura/eSignHospitalDirectSalesHomePage/eSignHospitalDirectSalesHomePage.cmp-meta.xml | 5
force-app/main/default/aura/lexCustomDeleteAura/lexCustomDeleteAura.cmp-meta.xml | 5
force-app/main/default/aura/CopyPILightning/CopyPILightning.cmp | 8
force-app/main/default/lwc/opdCancelSubmit/opdCancelSubmit.js-meta.xml | 11
force-app/main/default/pages/RepPAEDecisionRecord.page | 53
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/lexBidAnnouncementRejectButton/lexBidAnnouncementRejectButton.html | 5
force-app/main/default/aura/NewAgencyContact2/NewAgencyContact2.auradoc | 6
force-app/main/default/lwc/lexSearchProductIrai/lexSearchProductIrai.js | 297
force-app/main/default/lwc/listWithParentRecordDataWrapper/listWithParentRecordDataWrapper.html | 19
force-app/main/default/aura/ybApp/ybApp.svg | 7
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/customShipmentNumberComp/customShipmentNumberComp.html | 8
force-app/main/default/lwc/opdCancelSubmit/opdCancelSubmit.js | 99
force-app/main/default/lwc/tEnquiry/tEnquiry.js-meta.xml | 5
force-app/main/default/classes/lexRepPAEDecisionRecordController.cls-meta.xml | 5
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/lexApplyForRepair/lexApplyForRepair.js-meta.xml | 11
force-app/main/default/lwc/demoLWC/demoLWC.js-meta.xml | 5
force-app/main/default/aura/eSignAgencyPage/eSignAgencyPage.css | 137
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/pages/NewPaymentPlanLoad.page | 13
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/singleRecords/singleRecords.js | 18
force-app/main/default/lwc/lexRCSubmit/lexRCSubmit.js-meta.xml | 11
force-app/main/default/aura/NewAgencyContact/NewAgencyContactController.js | 381
force-app/main/default/lwc/listRecordLinks/listRecordLinks.css | 3
force-app/main/default/lwc/lexCreateEvent/lexCreateEvent.html | 6
force-app/main/default/lwc/lexContractAuthorize/lexContractAuthorize.html | 5
force-app/main/default/lwc/exampleWrapper/exampleWrapper.html | 36
force-app/main/default/lwc/lexRepPAEDecisionRecord/lexRepPAEDecisionRecord.css | 9
force-app/main/default/pages/ConsumAssignCancel.page | 3
force-app/main/default/lwc/lexCancelSubmitReport/lexCancelSubmitReport.css | 10
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/createMixedRecordsWireFunctions/createMixedRecordsWireFunctions.js-meta.xml | 5
force-app/main/default/lwc/childComponentTest/childComponentTest.js-meta.xml | 5
force-app/main/default/aura/LwcTesst/LwcTesst.cmp | 3
force-app/main/default/lwc/opdSupplementaryApplication/opdSupplementaryApplication.js | 110
force-app/main/default/aura/TransferApplyNew/TransferApplyNewController.js | 28
force-app/main/default/lwc/lexConInvoiceView/lexConInvoiceView.js | 1565
force-app/main/default/lwc/lWtTEST/lWtTEST.js | 5
force-app/main/default/lwc/lexASRCEditorRepair/lexASRCEditorRepair.html | 5
force-app/main/default/lwc/listInfiniteScrolling/listInfiniteScrolling.js | 54
force-app/main/default/aura/eSignAgencyPage/eSignAgencyPage.cmp | 634
force-app/main/default/lwc/lexSCSubmit/lexSCSubmit.html | 6
force-app/main/default/lwc/productsh/productsh.js | 460
force-app/main/default/lwc/jzlookuplightning/jzlookuplightning.html | 13
force-app/main/default/aura/test02App/test02App.app | 3
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/listRecordLinksWrapper/listRecordLinksWrapper.js | 3
force-app/main/default/lwc/myCustomTypeDatatable/customName.html | 6
force-app/main/default/lwc/jzlookupv2/jzlookupv2.html | 43
force-app/main/default/aura/eSignHospitalConfirmReadOnlyPage/eSignHospitalConfirmReadOnlyPage.cmp-meta.xml | 5
force-app/main/default/lwc/lexSICopyDemand/lexSICopyDemand.js | 67
force-app/main/default/lwc/viewRecordWithParentRecordData/viewRecordWithParentRecordData.js | 28
force-app/main/default/lwc/lexPrintInspectupReport/lexPrintInspectupReport.js-meta.xml | 11
force-app/main/default/lwc/inventoryEditingLWC/inventoryEditingLWC.js-meta.xml | 9
force-app/main/default/aura/eSignHospitalDirectSalesPage/eSignHospitalDirectSalesPage.css | 164
force-app/main/default/aura/eSignHospitalDirectSalesHomePage/eSignHospitalDirectSalesHomePage.cmp | 170
force-app/main/default/lwc/lexConsumableOrderManage/lexConsumableOrderManage.js | 178
force-app/main/default/lwc/lexFinLibrary/lexFinLibrary.css | 11
force-app/main/default/lwc/lexAppCancelSubmit/lexAppCancelSubmit.html | 5
force-app/main/default/lwc/oshRecieved/oshRecieved.js-meta.xml | 11
force-app/main/default/lwc/lexOPDtoSIS/lexOPDtoSIS.html | 6
force-app/main/default/lwc/lexInputLookupCell/lexInputLookupCell.html | 18
force-app/main/default/lwc/pageBlocks/pageBlocks.html | 47
force-app/main/default/lwc/lexConsumableOrderManage/lexConsumableOrderManage.html | 66
force-app/main/default/lwc/tabsWrapper/tabsWrapper.html | 18
force-app/main/default/aura/eSignHospitalPage/eSignHospitalPageHelper.js | 1226
force-app/main/default/lwc/errorPanel/templates/inlineMessage.html | 19
force-app/main/default/aura/NewAgencyContactEvent/NewAgencyContactEvent.evt-meta.xml | 5
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/aura/productshContainer/productshContainerRenderer.js | 5
force-app/main/default/lwc/lexRentalApplySubmitedApprovalButton/lexRentalApplySubmitedApprovalButton.js | 758
force-app/main/default/lwc/panelGridWrapper/panelGridWrapper.js-meta.xml | 8
force-app/main/default/lwc/lexRentalApplyJump/lexRentalApplyJump.js-meta.xml | 11
force-app/main/default/aura/MaintenanceContractNotOpenApp/MaintenanceContractNotOpenApp.app-meta.xml | 5
force-app/main/default/lwc/lexRentalApplyCanleButton/lexRentalApplyCanleButton.js | 110
force-app/main/default/lwc/jzSearchForm/jzSearchForm.html | 26
force-app/main/default/lwc/lexSendNFM103/lexSendNFM103.js-meta.xml | 11
force-app/main/default/lwc/pageMessagesToast/pageMessagesToast.js-meta.xml | 5
force-app/main/default/aura/eSignHospitalDirectSalesPage/eSignHospitalDirectSalesPage.cmp-meta.xml | 5
force-app/main/default/lwc/lexCustomNewMaintenance/lexCustomNewMaintenance.js | 79
force-app/main/default/lwc/otherButtonInASACEditor/otherButtonInASACEditor.js-meta.xml | 11
force-app/main/default/aura/eSignHospitalDirectSalesPage/eSignHospitalDirectSalesPageHelper.js | 1217
force-app/main/default/lwc/lexCancelSelect/lexCancelSelect.html | 5
force-app/main/default/lwc/paginator/paginator.html | 42
force-app/main/default/lwc/lexTransferApplyPDF/lexTransferApplyPDF.html | 5
force-app/main/default/aura/QuoteTrialApp/QuoteTrialApp.app | 3
force-app/main/default/lwc/lexOpporSplite/lexOpporSplite.html | 6
force-app/main/default/lwc/lexComplete/lexComplete.js | 96
force-app/main/default/lwc/oppLoseButton/oppLoseButton.js | 86
force-app/main/default/aura/strike_tooltip/strike_tooltip.cmp | 56
force-app/main/default/lwc/lexBidAnnouncementRejectButton/lexBidAnnouncementRejectButton.js | 93
force-app/main/default/lwc/lwcDatatableUtility/lwcDatatableUtility.js | 273
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/lexOLYwinBid/lexOLYwinBid.js-meta.xml | 11
force-app/main/default/lwc/lexLookup/lexLookup.html | 139
force-app/main/default/lwc/pocLightningDatatable/customUnit.html | 12
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/classes/LexArriveGoodsMainController.cls | 21
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/interoperability/interoperability.html | 11
force-app/main/default/lwc/relevant/relevant.html | 196
force-app/main/default/pages/SelectAsset.page | 2
force-app/main/default/aura/loginForm/loginForm.css | 103
force-app/main/default/lwc/editableList/editableList.js | 40
force-app/main/default/lwc/lexQISIntakeuniversalcode/lexQISIntakeuniversalcode.html | 5
force-app/main/default/pages/NewRentalApply.page | 7
force-app/main/default/lwc/lexContractAuthorize/lexContractAuthorize.js-meta.xml | 11
force-app/main/default/lwc/lexPDFQISrequest/lexPDFQISrequest.css | 22
force-app/main/default/lwc/lexASACEditor/lexASACEditor.js | 73
force-app/main/default/aura/DealerPersonnelInformationImport/DealerPersonnelInformationImport.cmp-meta.xml | 5
force-app/main/default/aura/eSignAgencyConfirmPage/eSignAgencyConfirmPage.cmp | 747
force-app/main/default/aura/eSignHospitalConfirmReadOnlyPage/eSignHospitalConfirmReadOnlyPageHelper.js | 500
force-app/main/default/lwc/listInfiniteScrollingWrapper/listInfiniteScrollingWrapper.html | 18
force-app/main/default/pages/RepairPCL.page | 116
force-app/main/default/lwc/lexVisitReportCancel/lexVisitReportCancel.html | 5
force-app/main/default/lwc/lexAssetMaintainHeaderAbandon/lexAssetMaintainHeaderAbandon.css | 22
force-app/main/default/lwc/lexComplete/lexComplete.css | 10
force-app/main/default/lwc/lexQuotationRequest/lexQuotationRequest.css | 10
force-app/main/default/pages/MCLastMContract.page | 2
force-app/main/default/pages/ChoiceAsset.page | 26
force-app/main/default/lwc/lexOSHInspect/lexOSHInspect.css | 10
force-app/main/default/lwc/lexVOCCheck/lexVOCCheck.css | 10
force-app/main/default/aura/eSignAgencyConfirmPage/eSignAgencyConfirmPageController.js | 696
force-app/main/default/lwc/lexAppCancelSubmit/lexAppCancelSubmit.js | 85
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/pages/FixtureSetManage.page | 17
force-app/main/default/aura/eSignHospitalDirectSalesPage/eSignHospitalDirectSalesPage.cmp | 711
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/aura/loginForm/loginForm.cmp | 62
force-app/main/default/lwc/boxorpieceType/boxorpieceType.js | 21
force-app/main/default/lwc/pageMessagesFormWrapper/pageMessagesFormWrapper.js | 3
force-app/main/default/lwc/lexSelectAssetsMaintenance/lexSelectAssetsMaintenance.html | 5
force-app/main/default/classes/overrideStandabuttonwithLC.cls | 15
force-app/main/default/lwc/lexESignFormAttachment/lexESignFormAttachment.html | 5
force-app/main/default/lwc/inventoryEditingLWC/inventoryEditingLWC.js | 76
force-app/main/default/lwc/gzwbtest/gzwbtest.js | 3
force-app/main/default/lwc/lwcDatatableUtility/lwcDatatableUtility.html | 80
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/aura/DealerPersonnelInformationImport/DealerPersonnelInformationImport.auradoc | 6
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/lexCreateNewServiceContract/lexCreateNewServiceContract.js | 77
force-app/main/default/lwc/lexOCSMNoToReportForReport/lexOCSMNoToReportForReport.html | 6
force-app/main/default/lwc/otherButtonInCancelSubmit/otherButtonInCancelSubmit.html | 7
force-app/main/default/lwc/lexDiscountRequest/lexDiscountRequest.html | 6
force-app/main/default/lwc/editableListWrapper/editableListWrapper.html | 18
force-app/main/default/lwc/pageBlocksWrapper/pageBlocksWrapper.js | 3
force-app/main/default/lwc/lexSummonsCreat/lexSummonsCreat.css | 29
force-app/main/default/lwc/lexDeleteQuotePage/lexDeleteQuotePage.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/lexAppSubmitButton/lexAppSubmitButton.html | 5
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/lexEnquiryNoBidding/lexEnquiryNoBidding.html | 6
force-app/main/default/lwc/lexOverdueStock/lexOverdueStock.html | 110
force-app/main/default/lwc/lexCreateNotesEmail/lexCreateNotesEmail.css | 10
force-app/main/default/aura/defaultTokens/defaultTokens.tokens | 45
force-app/main/default/lwc/newOrderList/newOrderList.js | 65
force-app/main/default/aura/AgencyPerson/AgencyPerson.cmp-meta.xml | 5
force-app/main/default/aura/strike_tooltip/strike_tooltip.css | 47
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/lexPaymentPlanLoad/lexPaymentPlanLoad.css | 10
force-app/main/default/lwc/lexVOCAnswer/lexVOCAnswer.js | 90
force-app/main/default/lwc/lexYanshoudanRequest/lexYanshoudanRequest.js | 112
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/pages/RentalApplySplit.page | 7
force-app/main/default/aura/RetrospectiveWeeklyReportApp/RetrospectiveWeeklyReportApp.app-meta.xml | 5
force-app/main/default/aura/taskManage/taskManage.cmp | 713
force-app/main/default/lwc/lexPaymentPlanLoad/lexPaymentPlanLoad.js-meta.xml | 11
force-app/main/default/lwc/lexTenderingNoStandardButton/lexTenderingNoStandardButton.html | 5
force-app/main/default/aura/CreateTarget/CreateTarget.cmp-meta.xml | 5
force-app/main/default/lwc/demoWrapper/demoWrapper.html | 16
force-app/main/default/classes/LexArriveGsDetailsController.cls | 168
force-app/main/default/lwc/lexRCRecieved/lexRCRecieved.html | 5
force-app/main/default/aura/ybApp/ybAppRenderer.js | 5
force-app/main/default/lwc/tabs/tabs.js | 3
force-app/main/default/aura/ImprovedForecastTimeApp/ImprovedForecastTimeApp.svg | 7
force-app/main/default/lwc/lexNewPaymentPlanLoadLWC/lexNewPaymentPlanLoadLWC.html | 229
force-app/main/default/classes/LexSISearchSetProductController.cls | 173
force-app/main/default/lwc/lookup/lookup.js | 468
force-app/main/default/lwc/lexOCSMNoToReport/lexOCSMNoToReport.js | 82
force-app/main/default/classes/lexAddressCtl.cls | 25
force-app/main/default/classes/LexConInvoiceViewController.cls | 211
force-app/main/default/lwc/listWithParentRecordData/__mocks__/listWithParentRecordData.js | 3
force-app/main/default/lwc/relevant/relevant.css | 3
force-app/main/default/lwc/createMixedRecordsWireFunctionsWrapper/createMixedRecordsWireFunctionsWrapper.js-meta.xml | 8
force-app/main/default/lwc/lexRCSubmit/lexRCSubmit.js | 160
force-app/main/default/classes/AssetMaintainHeaderWebService.cls | 8
force-app/main/default/lwc/lexXinSearchVisitorPlace/lexXinSearchVisitorPlace.html | 17
force-app/main/default/lwc/lexQISSC/lexQISSC.js | 96
force-app/main/default/lwc/paginatedList/paginatedList.html | 34
force-app/main/default/aura/TenderLostApp/TenderLostApp.auradoc | 6
force-app/main/default/aura/setExpId/setExpId.evt-meta.xml | 5
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/lexCustomDelete/lexCopyRepair.html | 6
force-app/main/default/lwc/quoteTrial/quoteTrial.js | 3017 +
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/lexInventoryCount/lexInventoryCount.js-meta.xml | 9
force-app/main/default/lwc/lexNewTransferApply/lexNewTransferApply.js | 126
force-app/main/default/lwc/lexVOCCheck/lexVOCCheck.js | 108
force-app/main/default/pages/InventoryView.page | 1
force-app/main/default/aura/TaskManageApp/TaskManageApp.app | 3
force-app/main/default/lwc/customUnitComp/customUnitComp.js-meta.xml | 5
force-app/main/default/lwc/lexTenderingEnquiryButton/lexTenderingEnquiryButton.js-meta.xml | 11
force-app/main/default/lwc/lexSISearchSetProduct/lexSISearchSetProduct.js | 181
force-app/main/default/lwc/lexVOCConfirm/lexVOCConfirm.js-meta.xml | 11
force-app/main/default/lwc/lexSummonsCreat/lexSummonsCreat.js | 2336 +
force-app/main/default/lwc/errorPopover/errorPopover.js-meta.xml | 5
force-app/main/default/aura/DealerPersonnelInformationImport/DealerPersonnelInformationImport.css | 129
force-app/main/default/aura/eSignAgencyHomePage/eSignAgencyHomePage.cmp | 170
force-app/main/default/pages/NewQuoteEntry.page | 216
force-app/main/default/classes/buttonQISReportCtl.cls-meta.xml | 5
force-app/main/default/lwc/editRecordWrapper/editRecordWrapper.js | 5
force-app/main/default/lwc/panelGrid/panelGrid.js-meta.xml | 5
force-app/main/default/lwc/lexLoseReport/lexLoseReport.css | 10
force-app/main/default/aura/TenderLostApp/TenderLostApp.css | 2
force-app/main/default/lwc/createRecordWithPrepopulatedValues/createRecordWithPrepopulatedValues.js-meta.xml | 5
force-app/main/default/lwc/lexQISSC/lexQISSC.css | 22
force-app/main/default/pages/SelectAssetEstimateJumpPage2.page | 2
force-app/main/default/lwc/lexSubmitCompetitorReport/lexSubmitCompetitorReport.js-meta.xml | 11
force-app/main/default/classes/otherButtonRepairController.cls | 7
force-app/main/default/aura/MaintenanceContractApp/MaintenanceContractApp.css | 2
force-app/main/default/lwc/afterRenderHook/afterRenderHook.js | 13
force-app/main/default/aura/WeeklyReport/WeeklyReportHelper.js | 2382 +
force-app/main/default/lwc/lexCancelSelect/lexCancelSelect.css | 11
force-app/main/default/lwc/lexRepPAEDecisionRecord/lexRepPAEDecisionRecord.js-meta.xml | 11
force-app/main/default/classes/InventoryViewController.cls | 2
force-app/main/default/pages/OFSRepairConsignPDFOuter.page | 3
force-app/main/default/lwc/opdCancelSubmit/opdCancelSubmit.html | 5
force-app/main/default/lwc/lexOutboundorderImport/lexOutboundorderImport.js | 244
force-app/main/default/lwc/otherButtonInOpportunity/otherButtonInOpportunity.js | 617
force-app/main/default/lwc/paginator/paginator.css | 12
force-app/main/default/lwc/jzSearchForm/jzSearchForm.css | 14
force-app/main/default/lwc/lexSearchProduct/lexSearchProduct.js | 472
force-app/main/default/lwc/lexBatchSelectRepairLWC/lexBatchSelectRepairLWC.html | 107
force-app/main/default/lwc/lexOCSMToReportRepair/lexOCSMToReportRepair.html | 6
force-app/main/default/lwc/lexCustomLightningDatatable/customAttachmentType.html | 10
force-app/main/default/aura/taskManage/taskManage.css | 16
force-app/main/default/lwc/lexArriveGoods/lexArriveGoods.html | 166
force-app/main/default/lwc/loanerArrangedEmailLWC/loanerArrangedEmailLWC.js-meta.xml | 11
force-app/main/default/lwc/lexArriveGoods/lexArriveGoods.js | 425
force-app/main/default/lwc/lexSubmitForApproval/lexSubmitForApproval.js | 69
force-app/main/default/lwc/childComponentTest/childComponentTest.html | 8
force-app/main/default/lwc/lexTenderingAntiLogicButton/lexTenderingAntiLogicButton.js-meta.xml | 11
force-app/main/default/lwc/lexNewOpportunityAgency/lexNewOpportunityAgency.html | 6
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 | 499
force-app/main/default/aura/ybApp/ybAppHelper.js | 5
force-app/main/default/lwc/lexTopInQueue/lexTopInQueue.html | 5
force-app/main/default/aura/NewAgencyContact2/NewAgencyContact2Renderer.js | 5
force-app/main/default/lwc/lexAssetMaintainPage/lexAssetMaintainPage.html | 3
force-app/main/default/lwc/lexCustomAnewMaintenance/lexCustomAnewMaintenance.js | 96
force-app/main/default/aura/selfRegister/selfRegisterController.js | 33
force-app/main/default/lwc/lexCreateNotesEmail/lexCreateNotesEmail.js | 97
force-app/main/default/lwc/lexOLYwinBid/lexOLYwinBid.css | 10
force-app/main/default/aura/DealerPersonnelInformationImportApp/DealerPersonnelInformationImportApp.svg | 7
force-app/main/default/lwc/opdCancelSubmit/opdCancelSubmit.css | 10
force-app/main/default/lwc/lexCustomLightningDatatable/lexCustomLightningDatatable.js | 59
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/lexOLYwinBid/lexOLYwinBid.js | 97
force-app/main/default/classes/RepPAEDecisionRecordController.cls | 2
force-app/main/default/lwc/jzTable/jzTable.js | 585
force-app/main/default/lwc/lexNewRepairLWC/lexNewRepairLWC.html | 93
force-app/main/default/lwc/testSearchProductPage/testSearchProductPage.css | 6
force-app/main/default/aura/CreateTarget/CreateTargetHelper.js | 579
force-app/main/default/lwc/jzlookuplightning/jzlookuplightning.js-meta.xml | 5
force-app/main/default/lwc/lexInputTableCell/lexInputTableCell.js | 31
force-app/main/default/pages/SearchProductIrai.page | 2
force-app/main/default/lwc/lexRCinspectioncompletedate/lexRCinspectioncompletedate.css | 22
force-app/main/default/aura/eSignHospitalDirectSalesPage/eSignHospitalDirectSalesPageController.js | 708
force-app/main/default/lwc/pocFileUpload/pocFileUpload.js | 3
force-app/main/default/classes/LexContractAuthorizeController.cls | 454
force-app/main/default/lwc/lexQuarterlyReport/lexQuarterlyReport.html | 5
force-app/main/default/aura/test01App/test01App.app | 3
force-app/main/default/classes/LexCancelRemoveBoxController.cls-meta.xml | 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/improvedForecastTime/improvedForecastTime.js | 250
force-app/main/default/lwc/lexOSHInspect/lexOSHInspect.js | 100
force-app/main/default/lwc/pocCustomComp/pocCustomComp.html | 11
force-app/main/default/aura/EnquiryNoBiddingApp/EnquiryNoBiddingApp.app-meta.xml | 5
force-app/main/default/aura/taskFeedback/taskFeedback.cmp-meta.xml | 5
force-app/main/default/lwc/lexXinSearchVisitorPlace/lexXinSearchVisitorPlace.js-meta.xml | 11
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 | 229
force-app/main/default/lwc/demoWrapper/demoWrapper.js | 3
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/lexCreateReportMaintenanceTask/lexCreateReportMaintenanceTask.js-meta.xml | 11
force-app/main/default/aura/productshContainer/productshContainer.css | 2
force-app/main/default/lwc/qisUniversalFailureCode/qisUniversalFailureCode.html | 5
force-app/main/default/lwc/testPaginated/testPaginated.js | 3
force-app/main/default/pages/ChangeDealerApproval.page | 2
force-app/main/default/classes/lexNewOnCall.cls | 5
force-app/main/default/pages/PAEDecisionRecordjump.page | 2
force-app/main/default/lwc/lexCustomDiffReasonComp/lexCustomDiffReasonComp.js-meta.xml | 5
force-app/main/default/lwc/quoteTrial/quoteTrial.html | 433
force-app/main/default/lwc/lexPCLLostReportPage/lexPCLLostReportPage.js-meta.xml | 11
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/exampleWrapper/__mocks__/exampleWrapper.js | 15
force-app/main/default/lwc/panelGridWrapper/panelGridWrapper.html | 18
force-app/main/default/lwc/lexUploadToRecognitionModel/lexUploadToRecognitionModel.js-meta.xml | 11
force-app/main/default/lwc/lexCustomLightningDatatable/customOutputGoods.html | 3
force-app/main/default/lwc/lexEquipmentSetRental_Order/lexEquipmentSetRental_Order.js | 83
force-app/main/default/lwc/pocLightningDatatable/pocFileUpload.html | 5
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/lexContractAuthorize/lexContractAuthorize.js | 264
force-app/main/default/lwc/lexAssetMaintainDetail/lexAssetMaintainDetail.js-meta.xml | 11
force-app/main/default/lwc/pocLightningDatatable/customShippingUnitPrice.html | 6
force-app/main/default/aura/MaintenanceContractApp/MaintenanceContractApp.app-meta.xml | 5
force-app/main/default/aura/eSignHospitalConfirmReadOnlyPage/eSignHospitalConfirmReadOnlyPage.css | 91
force-app/main/default/lwc/lexTenderingAttachmentButton/lexTenderingAttachmentButton.js-meta.xml | 11
force-app/main/default/lwc/lexRequestDB/lexRequestDB.css | 10
force-app/main/default/lwc/lexRCCDScomplete/lexRCCDScomplete.js-meta.xml | 11
force-app/main/default/lwc/lexRCSubmit/lexRCSubmit.css | 22
force-app/main/default/aura/EnquiryNoBiddingApp/EnquiryNoBiddingApp.css | 2
force-app/main/default/aura/test02App/test02AppHelper.js | 5
force-app/main/default/lwc/customOutputGood/customOutputGood.js-meta.xml | 5
force-app/main/default/lwc/viewRecordWrapper/viewRecordWrapper.js-meta.xml | 8
force-app/main/default/aura/RetrospectiveWeeklyReportApp/RetrospectiveWeeklyReportApp.app | 3
force-app/main/default/aura/TenderDeletePageApp/TenderDeletePageAppHelper.js | 5
force-app/main/default/lwc/customLightningDatatable/templates/boxorpieceType.html | 4
force-app/main/default/classes/buttonAccountCtl.cls-meta.xml | 5
force-app/main/default/aura/AgencyAccount/AgencyAccount.css | 21
force-app/main/default/lwc/lexClearReturnDeliverySlip/lexClearReturnDeliverySlip.js | 107
force-app/main/default/lwc/lexRentalApplyESetRefreshStatus/lexRentalApplyESetRefreshStatus.html | 5
force-app/main/default/pages/EquipmentRentalCancel.page | 4
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/gzwbtest/gzwbtest.js-meta.xml | 5
force-app/main/default/lwc/lexinventoryViewLWC/lexinventoryViewLWC.js | 583
force-app/main/default/lwc/panelBarWrapper/panelBarWrapper.js-meta.xml | 8
force-app/main/default/aura/test01App/test01AppController.js | 5
force-app/main/default/lwc/newOrderLWC/newOrderLWC.js | 39
force-app/main/default/lwc/lexProductRepairQuoteRepair/lexProductRepairQuoteRepair.html | 5
force-app/main/default/pages/ConsumApplySplit.page | 3
force-app/main/default/aura/strike_lookup/strike_lookupRenderer.js | 32
force-app/main/default/lwc/createRecordWithPrepopulatedValuesWrapper/createRecordWithPrepopulatedValuesWrapper.js | 3
force-app/main/default/classes/LexVisitReportCancelController.cls | 52
force-app/main/default/pages/Inventory.page | 1
force-app/main/default/lwc/lexLoseBid/lexLoseBid.html | 6
force-app/main/default/lwc/ldsUtils/ldsUtils.js-meta.xml | 5
force-app/main/default/aura/QuoteTrialApp/QuoteTrialAppHelper.js | 5
force-app/main/default/lwc/lexSendQISToEtQ/lexSendQISToEtQ.html | 6
force-app/main/default/lwc/lookup/lookup.css | 30
force-app/main/default/aura/eSignAgencyHomePage/eSignAgencyHomePage.cmp-meta.xml | 5
force-app/main/default/lwc/beforeRenderHookWrapper/beforeRenderHookWrapper.html | 18
force-app/main/default/classes/LexConInvoicedetailsController.cls-meta.xml | 5
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 | 156
force-app/main/default/lwc/lexOLYwinBid/lexOLYwinBid.html | 6
force-app/main/default/lwc/lexQISSC/lexQISSC.html | 5
force-app/main/default/aura/TenderDeletePageApp/TenderDeletePageApp.css | 2
force-app/main/default/aura/QuoteTrialApp/QuoteTrialAppController.js | 5
force-app/main/default/lwc/editableList/editableList.html | 15
force-app/main/default/lwc/lexTenderingHospitalButton/lexTenderingHospitalButton.js | 69
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/lexOCSMNoToReportRepair/lexOCSMNoToReportRepair.js-meta.xml | 11
force-app/main/default/aura/taskFeedback/taskFeedback.css | 21
force-app/main/default/aura/BackToHomePage/BackToHomePage.evt | 14
force-app/main/default/aura/ybApp/ybApp.css | 2
force-app/main/default/lwc/lexAssetMaintainDetail/lexAssetMaintainDetail.css | 11
force-app/main/default/lwc/navigateToRecord/navigateToRecord.js | 20
force-app/main/default/lwc/lexOutboundorderImport/lexOutboundorderImport.css | 29
force-app/main/default/lwc/lexQuotationProductNew/lexQuotationProductNew.html | 6
force-app/main/default/aura/productshContainer/productshContainer.app-meta.xml | 5
force-app/main/default/pages/SelectAssetEstimateJumpPage.page | 2
force-app/main/default/lwc/lexDetailBulkUpdate/lexDetailBulkUpdate.js-meta.xml | 11
force-app/main/default/classes/lexPCLLostReportLwcController.cls | 288
force-app/main/default/pages/EquipmentSetShippmentReceived4.page | 7
force-app/main/default/lwc/lexASRCEditor/lexASRCEditor.css | 10
force-app/main/default/lwc/customUnitComp/customUnitComp.html | 21
force-app/main/default/aura/AgencyPerson/AgencyPersonController.js | 13
force-app/main/default/lwc/lexEquipmentRentalPicturePDF/lexEquipmentRentalPicturePDF.css | 22
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/pages/MaintenanceProductDataManage.page | 2
force-app/main/default/lwc/binding/binding.js-meta.xml | 5
force-app/main/default/pages/FixtureRemind.page | 2
force-app/main/default/lwc/lexTenderingAntiLogicButton/lexTenderingAntiLogicButton.html | 5
force-app/main/default/lwc/improvedForecastTime/improvedForecastTime.js-meta.xml | 5
force-app/main/default/lwc/pageMessagesFormWrapper/pageMessagesFormWrapper.html | 20
force-app/main/default/pages/NewQuoteIrai.page | 97
force-app/main/default/aura/RetrospectiveWeeklyReport/RetrospectiveWeeklyReportRenderer.js | 5
force-app/main/default/lwc/gzwbtest/gzwbtest.html | 5
force-app/main/default/lwc/listInfiniteScrolling/listInfiniteScrolling.html | 17
force-app/main/default/lwc/lexOSHNogoods/lexOSHNogoods.html | 6
force-app/main/default/lwc/lexQISIntakeuniversalcode/lexQISIntakeuniversalcode.js-meta.xml | 11
force-app/main/default/lwc/tBidding/tBidding.js | 429
force-app/main/default/lwc/lexEquipmentSetRental_Order/lexEquipmentSetRental_Order.html | 5
force-app/main/default/aura/MaintenanceContractNotOpenApp/MaintenanceContractNotOpenAppRenderer.js | 5
force-app/main/default/lwc/viewRecordWrapper/viewRecordWrapper.js | 5
force-app/main/default/lwc/pageMessagesToastWrapper/pageMessagesToastWrapper.js | 3
force-app/main/default/aura/QuoteTrialApp/QuoteTrialApp.css | 2
force-app/main/default/pages/TransferAgencyReceived.page | 3
force-app/main/default/lwc/lexPDFMaintenanceCommission/lexPDFMaintenanceCommission.html | 5
force-app/main/default/lwc/lexReturnGoodCusInput/lexReturnGoodCusInput.js-meta.xml | 5
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/aura/ImprovedForecastTimeApp/ImprovedForecastTimeApp.app-meta.xml | 5
force-app/main/default/lwc/lexCancelSubmit/lexCancelSubmit.js | 92
force-app/main/default/lwc/tenderLost/tenderLost.js-meta.xml | 5
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/lexQuotationProductNew/lexQuotationProductNew.js | 67
force-app/main/default/lwc/pageMessagesFormWrapper/pageMessagesFormWrapper.js-meta.xml | 8
force-app/main/default/aura/DealerPersonnelInformationImportApp/DealerPersonnelInformationImportApp.app-meta.xml | 5
force-app/main/default/lwc/paginatedListWrapper/paginatedListWrapper.js-meta.xml | 8
force-app/main/default/aura/test02App/test02App.svg | 7
force-app/main/default/lwc/paginator/paginator.js-meta.xml | 5
force-app/main/default/aura/eSignHospitalConfirmReadOnlyPage/eSignHospitalConfirmReadOnlyPage.cmp | 619
force-app/main/default/lwc/lexCustomClone/lexCustomClone.html | 5
force-app/main/default/aura/EnquiryNoBiddingApp/EnquiryNoBiddingAppHelper.js | 5
force-app/main/default/lwc/lexPCLLostReportPage/lexPCLLostReportPage.html | 180
force-app/main/default/aura/eSignHomePage/eSignHomePageController.js | 86
force-app/main/default/lwc/lexOSHNogoods/lexOSHNogoods.js-meta.xml | 11
force-app/main/default/lwc/testPaginated/testPaginated.js-meta.xml | 8
force-app/main/default/lwc/lexVOCCheck/lexVOCCheck.js-meta.xml | 11
force-app/main/default/aura/eSignAgencyConfirmReadOnlyPage/eSignAgencyConfirmReadOnlyPageHelper.js | 480
force-app/main/default/lwc/lookup/lookup.html | 139
force-app/main/default/aura/TenderLostApp/TenderLostApp.app-meta.xml | 5
force-app/main/default/lwc/lexAssetMaintainHeaderAbandon/lexAssetMaintainHeaderAbandon.js | 58
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/lexTerminalMaintenance/lexTerminalMaintenance.js | 88
force-app/main/default/lwc/lexArriveGoodsMain/lexArriveGoodsMain.html | 81
force-app/main/default/pages/AL_MobileApp_Send.page | 3
force-app/main/default/aura/forgotPassword/forgotPassword.css | 76
force-app/main/default/lwc/lexStockCancel/lexStockCancel.js-meta.xml | 11
force-app/main/default/lwc/lexCancel/lexCancel.js-meta.xml | 11
force-app/main/default/lwc/lexmultiSelectComboboxItem/lexmultiSelectComboboxItem.js | 29
force-app/main/default/lwc/lexEquipmentRentalPDF/lexEquipmentRentalPDF.css | 10
force-app/main/default/aura/TaskFeedbackApp/TaskFeedbackApp.app | 3
force-app/main/default/lwc/jzDataTable/jzDataTable.js-meta.xml | 20
force-app/main/default/lwc/lexOverdueStock/lexOverdueStock.js-meta.xml | 9
force-app/main/default/lwc/lexSINewQuoteEntry/lexSINewQuoteEntry.css | 5
force-app/main/default/lwc/lexBidAnnouncementApplyForButton/lexBidAnnouncementApplyForButton.js-meta.xml | 11
force-app/main/default/aura/selfRegister/selfRegister.cmp-meta.xml | 5
force-app/main/default/lwc/editableList/__mocks__/editableList.js | 3
force-app/main/default/aura/strike_tooltip/strike_tooltip.cmp-meta.xml | 5
force-app/main/default/lwc/lexOCSMNoToReportLighting/lexOCSMNoToReportLighting.js-meta.xml | 11
force-app/main/default/aura/lexCustomDeleteAura/lexCustomDeleteAura.auradoc | 6
force-app/main/default/aura/strike_evt/strike_evt.evt | 32
force-app/main/default/lwc/lexDetailBulkUpdate/lexDetailBulkUpdate.html | 5
force-app/main/default/lwc/lexCustomSubmit/lexCustomSubmit.js | 158
force-app/main/default/lwc/maintenanceContractNotOpen/maintenanceContractNotOpen.js | 898
force-app/main/default/lwc/pocLightningDatatable/customShipmentAmount.html | 7
force-app/main/default/lwc/relevant/relevant.js | 1204
force-app/main/default/lwc/lexCustomNewMaintenance/lexCustomNewMaintenance.html | 6
force-app/main/default/aura/TaskFeedbackApp/TaskFeedbackApp.auradoc | 6
force-app/main/default/lwc/lexSubmitForApproval/lexSubmitForApproval.html | 5
force-app/main/default/aura/LWCContainerApp/LWCContainerApp.app-meta.xml | 5
force-app/main/default/lwc/lexSICopyDemand/lexSICopyDemand.js-meta.xml | 11
force-app/main/default/pages/AccessoryAdd.page | 14
force-app/main/default/lwc/bindingWrapper/bindingWrapper.js-meta.xml | 8
force-app/main/default/aura/DealerPersonnelInformationImport/DealerPersonnelInformationImportRenderer.js | 5
force-app/main/default/lwc/lexOCSMNoToReportLighting/lexOCSMNoToReportLighting.css | 22
force-app/main/default/lwc/lexTenderingLostButton/lexTenderingLostButton.js | 108
force-app/main/default/lwc/pageBlocksWrapper/pageBlocksWrapper.html | 19
force-app/main/default/lwc/jzlookupv3/jzlookupv3.js | 243
force-app/main/default/aura/QuoteTrialApp/QuoteTrialApp.svg | 7
force-app/main/default/lwc/lexFinLibrary/lexFinLibrary.js | 57
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/aura/TenderLostApp/TenderLostApp.svg | 7
force-app/main/default/lwc/splitApplyLWC/splitApplyLWC.css | 11
force-app/main/default/lwc/viewRecordWrapper/viewRecordWrapper.html | 20
force-app/main/default/aura/testPage/testPage.cmp | 3
force-app/main/default/lwc/otherButtonInCancelSubmit/OtherButtonInCancelSubmit.css | 10
force-app/main/default/lwc/interoperability/interoperability.js | 21
force-app/main/default/aura/TransferApplyNew/TransferApplyNew.cmp-meta.xml | 5
force-app/main/default/lwc/pageMessagesForm/pageMessagesForm.js | 35
force-app/main/default/lwc/lexcopyQIS/lexcopyQIS.css | 22
force-app/main/default/aura/eSignAgencyConfirmPage/eSignAgencyConfirmPageHelper.js | 1069
force-app/main/default/lwc/lexRepPAEDecisionRecord/lexRepPAEDecisionRecord.js | 108
force-app/main/default/classes/buttonQISSCReportCtl.cls | 41
force-app/main/default/lwc/otherButtonInOpportunity/otherButtonInOpportunity.css | 10
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/classes/LexInventoryController.cls | 117
force-app/main/default/lwc/lexTenderingAttachmentButton/lexTenderingAttachmentButton.js | 54
force-app/main/default/aura/MaintenanceContractApp/MaintenanceContractAppRenderer.js | 5
force-app/main/default/aura/eSignAgencyConfirmReadOnlyPage/eSignAgencyConfirmReadOnlyPageController.js | 99
force-app/main/default/lwc/lexOCMSubmit/lexOCMSubmit.js-meta.xml | 11
force-app/main/default/aura/strike_evt/strike_evt.evt-meta.xml | 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/lexmultiSelectCombobox/lexmultiSelectCombobox.css | 29
force-app/main/default/lwc/toolbarWrapper/toolbarWrapper.js | 3
force-app/main/default/lwc/lexInventoryCount/lexInventoryCount.js | 553
force-app/main/default/aura/ttt/ttt.app-meta.xml | 5
force-app/main/default/lwc/lexSendRepairsToEtQ/lexSendRepairsToEtQ.html | 6
force-app/main/default/aura/TenderLostApp/TenderLostAppController.js | 5
force-app/main/default/lwc/lexPredictedDateChange/lexPredictedDateChange.js | 82
force-app/main/default/lwc/lexCustomTableInput/lexCustomTableInput.js | 28
force-app/main/default/lwc/customShipmentAmountComp/customShipmentAmountComp.js | 9
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/aura/forgotPassword/forgotPassword.cmp | 29
force-app/main/default/classes/lexNewRepairAuraController.cls | 57
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 | 10
force-app/main/default/classes/CPL003Rest.cls | 2
force-app/main/default/lwc/lexVOCConfirm/lexVOCConfirm.html | 6
force-app/main/default/pages/PrintInspectupReport.page | 28
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/newPaymentPlanLoadLWC/newPaymentPlanLoadLWC.js-meta.xml | 12
force-app/main/default/lwc/viewVfLwcSource/viewVfLwcSource.js-meta.xml | 5
force-app/main/default/lwc/lexTopInQueue/lexTopInQueue.js | 49
force-app/main/default/lwc/lexVOCFinish/lexVOCFinish.html | 6
force-app/main/default/aura/eSignHospitalQR/eSignHospitalQR.cmp-meta.xml | 5
force-app/main/default/lwc/createMixedRecordsWireFunctions/createMixedRecordsWireFunctions.html | 27
force-app/main/default/aura/QuoteTrialApp/QuoteTrialApp.app-meta.xml | 5
force-app/main/default/lwc/lexAddSubmitApprovalProcess/lexAddSubmitApprovalProcess.js | 197
force-app/main/default/classes/lexNewOnCall.cls-meta.xml | 5
force-app/main/default/lwc/lexCustomLightningDatatable/customShipmentAmount.html | 7
force-app/main/default/lwc/lexSubmitCompetitorReport/lexSubmitCompetitorReport.css | 10
force-app/main/default/lwc/lexServiceCutPriceApply/lexServiceCutPriceApply.js | 115
force-app/main/default/lwc/lexLoseBid/lexLoseBid.js | 89
force-app/main/default/lwc/lexCustomLightningDatatable/customUnit.html | 11
force-app/main/default/lwc/afterRenderHook/afterRenderHook.html | 5
force-app/main/default/lwc/navigateToRecord/navigateToRecord.js-meta.xml | 5
force-app/main/default/lwc/lexApplyForRepair/lexApplyForRepair.js | 75
force-app/main/default/lwc/lexFinLibrary3/lexFinLibrary3.css | 11
force-app/main/default/pages/TransferEquipmentSetSRList.page | 2
force-app/main/default/aura/MaintenanceContractApp/MaintenanceContractApp.svg | 7
force-app/main/default/lwc/datatableWithCustomTypes/datatableWithCustomTypes.js | 11
force-app/main/default/aura/eSignHomePage/eSignHomePage.css | 116
force-app/main/default/aura/taskFeedback/taskFeedback.auradoc | 6
force-app/main/default/lwc/lexSearchProductIrai/lexSearchProductIrai.js-meta.xml | 11
force-app/main/default/lwc/lexSelectRental/lexSelectRental.css | 11
force-app/main/default/aura/condensedThemeLayout/condensedThemeLayout.cmp | 25
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/aura/productshContainer/productshContainerController.js | 5
force-app/main/default/lwc/lexServiceCutPriceApply/lexServiceCutPriceApply.html | 6
force-app/main/default/lwc/tabs/tabs.html | 15
force-app/main/default/aura/EnquiryNoBiddingApp/EnquiryNoBiddingApp.auradoc | 6
force-app/main/default/lwc/lexOSHSubmit/lexOSHSubmit.css | 10
force-app/main/default/aura/lexCustomDeleteAura/lexCustomDeleteAuraController.js | 10
force-app/main/default/lwc/myCustomTypeDatatable/customShippingUnitPrice.html | 11
force-app/main/default/classes/buttonRepairSubOrderCtl.cls-meta.xml | 5
force-app/main/default/lwc/opdUpdateDate/opdUpdateDate.html | 5
force-app/main/default/lwc/lexPCLLostReportPage/lexPCLLostReportPage.js | 302
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/pocFileUpload/pocFileUpload.html | 5
force-app/main/default/lwc/lexInputPickListCell/lexInputPickListCell.js | 63
force-app/main/default/aura/strike_lookup/strike_lookupHelper.js | 310
force-app/main/default/classes/LexArriveGoodsController.cls-meta.xml | 5
force-app/main/default/lwc/otherButtonInCancelSubmit/otherButtonInCancelSubmit.js | 82
force-app/main/default/staticresources/SNA_Demo1_sf_default_cdn_PqhAN/toomanyrequests.html | 50
force-app/main/default/lwc/maintenanceContract/maintenanceContract.js-meta.xml | 5
force-app/main/default/aura/AgencyAccount/AgencyAccount.cmp | 135
force-app/main/default/lwc/lexNewOnCall/lexNewOnCall.js | 71
force-app/main/default/classes/PAEDecisionRecordController.cls | 2
force-app/main/default/aura/ImprovedForecastTimeApp/ImprovedForecastTimeApp.app | 3
force-app/main/default/lwc/lexCopyPIAddress/lexCopyPIAddress.js | 52
force-app/main/default/classes/LexPrintInspectupReportController.cls-meta.xml | 5
force-app/main/default/aura/NewAgencyContactEvent/NewAgencyContactEvent.evt | 3
force-app/main/default/lwc/myCustomTypeDatatable/myCustomTypeDatatable.js-meta.xml | 5
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/multiSelectCombobox/multiSelectCombobox.js-meta.xml | 5
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/aura/eSignHospitalQR/eSignHospitalQRController.js | 7
force-app/main/default/lwc/testSearchProductPage/testSearchProductPage.js-meta.xml | 11
force-app/main/default/lwc/oppLoseButton/oppLoseButton.html | 8
force-app/main/default/aura/lexNewRepairAura/lexNewRepairAuraController.js | 106
force-app/main/default/aura/TenderDeletePageApp/TenderDeletePageAppController.js | 5
force-app/main/default/lwc/lexDynamicTable/lexDynamicTable.html | 41
force-app/main/default/aura/AgencyAccount/AgencyAccount.auradoc | 6
force-app/main/default/aura/selfRegister/selfRegister.design | 12
force-app/main/default/lwc/listWithParentRecordDataWrapper/listWithParentRecordDataWrapper.js | 3
force-app/main/default/aura/DealerPersonnelInformationImportApp/DealerPersonnelInformationImportAppController.js | 5
force-app/main/default/lwc/lexStockApply/lexStockApply.css | 10
force-app/main/default/lwc/lexCancelSubmitReport/lexCancelSubmitReport.js-meta.xml | 11
force-app/main/default/pages/AL_MobileApp_Index.page | 2
force-app/main/default/lwc/lexAllReceivedFse/lexAllReceivedFse.js-meta.xml | 11
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/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 | 62
force-app/main/default/lwc/lexSIStoOPD/lexSIStoOPD.html | 6
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/aura/strike_tooltip/strike_tooltipController.js | 50
force-app/main/default/aura/eSignHomePage/eSignHomePage.cmp | 669
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 | 108
force-app/main/default/lwc/lexTerminalMaintenance/lexTerminalMaintenance.js-meta.xml | 11
force-app/main/default/lwc/lexCreateReportMaintenanceTask/lexCreateReportMaintenanceTask.js | 69
force-app/main/default/lwc/lexTenderingLogicButton/lexTenderingLogicButton.js | 49
force-app/main/default/aura/TransferApplyNew/TransferApplyNew.cmp | 25
force-app/main/default/lwc/lexSISubmit/lexSISubmit.js-meta.xml | 11
force-app/main/default/lwc/lexTenderingAttachmentButton/lexTenderingAttachmentButton.html | 5
force-app/main/default/aura/condensedThemeLayout/condensedThemeLayout.css | 15
force-app/main/default/aura/QuoteTrialApp/QuoteTrialAppRenderer.js | 5
force-app/main/default/lwc/lexmultiSelectCombobox/lexmultiSelectCombobox.html | 61
force-app/main/default/lwc/lexVOCSubmit/lexVOCSubmit.css | 10
force-app/main/default/aura/taskFeedback/taskFeedbackHelper.js | 900
force-app/main/default/lwc/lexPDFQISrequest/lexPDFQISrequest.html | 5
force-app/main/default/aura/BackToHomePage/BackToHomePage.evt-meta.xml | 5
force-app/main/default/lwc/beforeRenderHook/beforeRenderHook.js | 9
force-app/main/default/lwc/editableListWrapper/editableListWrapper.js | 3
force-app/main/default/lwc/customLightningDatatable/customLightningDatatable.html | 3
force-app/main/default/aura/productshContainer/productshContainer.svg | 7
force-app/main/default/aura/eSignAgencyConfirmReadOnlyPage/eSignAgencyConfirmReadOnlyPage.css | 91
force-app/main/default/lwc/lexCustomDeleteLWC/lexCustomDeleteLWC.js-meta.xml | 5
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/lexConsumableOrderManage/lexConsumableOrderManage.js-meta.xml | 9
force-app/main/default/lwc/lexCopyPIOnCall/lexCopyPIOnCall.js | 52
force-app/main/default/pages/PAEListjump.page | 2
force-app/main/default/classes/lexNewPaymentPlanLoadLWCController.cls | 502
force-app/main/default/lwc/lexESignFormAttachment/lexESignFormAttachment.js-meta.xml | 11
force-app/main/default/aura/eSignHospitalPage/eSignHospitalPage.cmp | 709
force-app/main/default/aura/EnquiryNoBiddingApp/EnquiryNoBiddingAppController.js | 5
force-app/main/default/lwc/lexcopyQIS/lexcopyQIS.html | 5
force-app/main/default/aura/NewAgencyOpportunity/NewAgencyOpportunityRenderer.js | 5
force-app/main/default/lwc/lexOCSMToReportRepair/lexOCSMToReportRepair.js | 91
force-app/main/default/lwc/exampleWrapper/exampleWrapper.js-meta.xml | 5
force-app/main/default/lwc/createMixedRecordsApexWrapper/createMixedRecordsApexWrapper.js-meta.xml | 8
force-app/main/default/lwc/lwcDatatableUtility/templates/customUnit.html | 8
force-app/main/default/lwc/lexCancelSubmitReport/lexCancelSubmitReport.html | 6
force-app/main/default/aura/NewAgencyContact/NewAgencyContact.cmp | 70
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/aura/DealerPersonnelInformationImportApp/DealerPersonnelInformationImportApp.app | 3
force-app/main/default/aura/loginForm/loginForm.cmp-meta.xml | 5
force-app/main/default/lwc/lexArriveGoodsMain/lexArriveGoodsMain.js-meta.xml | 9
force-app/main/default/lwc/customShippingUnitPriceComp/customShippingUnitPriceComp.js | 24
force-app/main/default/lwc/apexUtils/apexUtils.js-meta.xml | 5
force-app/main/default/pages/TransferApplyResponse.page | 3
force-app/main/default/classes/summonsCreatController.cls | 11
force-app/main/default/pages/TransferShippmentReceived3.page | 16
force-app/main/default/lwc/lexBeforeOPDPDFBtnSIS/lexBeforeOPDPDFBtnSIS.html | 14
force-app/main/default/lwc/lexSIStoOPD/lexSIStoOPD.js | 101
force-app/main/default/aura/eSignHospitalHomePage/eSignHospitalHomePage.cmp | 100
force-app/main/default/aura/ybApp/ybApp.auradoc | 6
force-app/main/default/lwc/recentProjectsLWC/recentProjectsLWC.js-meta.xml | 14
force-app/main/default/lwc/lexSaleAndDelivery/lexSaleAndDelivery.html | 138
force-app/main/default/lwc/lexSubmitForApproval/lexSubmitForApproval.js-meta.xml | 11
force-app/main/default/aura/NewAgencyOpportunity/NewAgencyOpportunityHelper.js | 233
force-app/main/default/aura/eSignHomePage/eSignHomePage.cmp-meta.xml | 5
force-app/main/default/lwc/lexRentalApplyCanleButton/lexRentalApplyCanleButton.html | 4
force-app/main/default/lwc/topPageLwc/topPageLwc.js | 138
force-app/main/default/lwc/lexDetailBulkUpdate/lexDetailBulkUpdate.js | 39
force-app/main/default/aura/TaskFeedbackApp/TaskFeedbackAppRenderer.js | 5
force-app/main/default/lwc/lexRCinspectioncompletedate/lexRCinspectioncompletedate.html | 5
force-app/main/default/aura/DealerPersonnelInformationImportApp/DealerPersonnelInformationImportAppHelper.js | 5
force-app/main/default/lwc/lexLoanerArrangedEmail/lexLoanerArrangedEmail.html | 5
force-app/main/default/lwc/multiSelectCombobox/multiSelectCombobox.js | 177
force-app/main/default/aura/TenderDeletePageApp/TenderDeletePageApp.auradoc | 6
force-app/main/default/lwc/lexEquipmentRentalPicturePDF/lexEquipmentRentalPicturePDF.js | 41
force-app/main/default/aura/TenderLostApp/TenderLostAppHelper.js | 5
force-app/main/default/lwc/lexCopyWithAsset/lexCopyWithAsset.js-meta.xml | 11
force-app/main/default/lwc/lexCopyRepair/lexCopyRepair.html | 6
force-app/main/default/lwc/editableListWrapper/editableListWrapper.js-meta.xml | 8
force-app/main/default/aura/NewAgencyContact2/NewAgencyContact2Controller.js | 387
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/lexQuotationRequest/lexQuotationRequest.js | 73
force-app/main/default/lwc/lexPCLLostReportPage/lexPCLLostReportPage.css | 56
force-app/main/default/pages/ViewRentalApplyDecrypt.page | 3
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/lexEquipmentSetRental_Order/lexEquipmentSetRental_Order.css | 11
force-app/main/default/lwc/jzlookup/jzlookup.js-meta.xml | 5
force-app/main/default/lwc/tEnquiry/tEnquiry.js | 487
force-app/main/default/lwc/lexCreateNotesEmail/lexCreateNotesEmail.js-meta.xml | 11
force-app/main/default/aura/eSignHospitalConfirmPage/eSignHospitalConfirmPage.cmp-meta.xml | 5
force-app/main/default/lwc/binding/binding.js | 9
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/aura/MaintenanceContractNotOpenApp/MaintenanceContractNotOpenApp.app | 3
force-app/main/default/aura/WeeklyReport/WeeklyReport.cmp-meta.xml | 5
force-app/main/default/lwc/lexSummonsCreat/lexSummonsCreat.js-meta.xml | 9
force-app/main/default/lwc/lexRentalApplyDiscountApproval/lexRentalApplyDiscountApproval.js-meta.xml | 11
force-app/main/default/aura/NewAgencyContact2/NewAgencyContact2.cmp | 70
force-app/main/default/lwc/jzlookup/jzlookup.html | 45
force-app/main/default/lwc/lexSelectRental/lexSelectRental.html | 4
force-app/main/default/lwc/lexAppCancelSubmit/lexAppCancelSubmit.js-meta.xml | 11
force-app/main/default/lwc/lexStockCancel/lexStockCancel.js | 166
force-app/main/default/lwc/rentalApplyLWT/rentalApplyLWT.html | 5
force-app/main/default/lwc/lexAddress/lexAddress.js | 80
force-app/main/default/lwc/lexRentalApplyJump/lexRentalApplyJump.js | 112
force-app/main/default/lwc/maintenanceContract/maintenanceContract.css | 11
force-app/main/default/lwc/lexSendQIS/lexSendQIS.css | 22
force-app/main/default/lwc/lexQuotationRequest/lexQuotationRequest.js-meta.xml | 11
force-app/main/default/pages/UnderConstruct.page | 2
force-app/main/default/lwc/lexSearchProductCs/lexSearchProductCs.css | 6
force-app/main/default/aura/taskFeedback/taskFeedback.svg | 7
force-app/main/default/lwc/lexAgencyAuthorize/lexAgencyAuthorize.html | 6
force-app/main/default/pages/RentalAgencyReceived.page | 3
force-app/main/default/lwc/lexTopInQueue/lexTopInQueue.css | 22
force-app/main/default/lwc/jzlookupv3/jzlookupv3.js-meta.xml | 5
force-app/main/default/pages/ConsumTrial.page | 3
force-app/main/default/aura/MaintenanceContractApp/MaintenanceContractAppController.js | 5
force-app/main/default/pages/SearchProduct.page-meta.xml | 2
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/lexCustomLightningDatatable/lexCustomLightningDatatable.html | 3
force-app/main/default/lwc/testSearchProductPage/testSearchProductPage.html | 70
force-app/main/default/pages/MaintenanceContractPCL.page | 158
force-app/main/default/lwc/lwcDatatableUtility/lwcDatatableUtility.css | 24
force-app/main/default/lwc/selectSubstituteLWC/selectSubstituteLWC.css | 11
force-app/main/default/lwc/jzSearchForm/jzSearchForm.js | 56
force-app/main/default/lwc/lexLostReturnDeliverySlip/lexLostReturnDeliverySlip.html | 5
force-app/main/default/aura/RetrospectiveWeeklyReport/RetrospectiveWeeklyReport.design | 3
force-app/main/default/lwc/lexAgencyAuthorize/lexAgencyAuthorize.js-meta.xml | 11
force-app/main/default/lwc/lexVOCConfirm/lexVOCConfirm.js | 105
force-app/main/default/lwc/maintenanceContract/maintenanceContract.html | 301
force-app/main/default/lwc/lexTenderingLogicButton/lexTenderingLogicButton.js-meta.xml | 11
force-app/main/default/lwc/lexCustomDiffReasonComp/lexCustomDiffReasonComp.html | 9
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/aura/ImprovedForecastTimeApp/ImprovedForecastTimeAppRenderer.js | 5
force-app/main/default/lwc/lexLookup/LexLookup.css | 30
force-app/main/default/lwc/lexAddSubmitApprovalProcess/lexAddSubmitApprovalProcess.html | 5
force-app/main/default/pages/SearchProduct.page | 20
force-app/main/default/lwc/lexASACEditorRepair/lexASACEditorRepair.js-meta.xml | 11
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/aura/DealerPersonnelInformationImportApp/DealerPersonnelInformationImportApp.auradoc | 6
force-app/main/default/lwc/parentComponentTest/parentComponentTest.js | 62
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/lexCancelSelect/lexCancelSelect.js-meta.xml | 11
force-app/main/default/pages/ConsumEquipmentRentalResponse.page | 3
force-app/main/default/classes/LexInventoryViewController.cls | 117
force-app/main/default/aura/TenderDeletePageApp/TenderDeletePageApp.app-meta.xml | 5
force-app/main/default/lwc/lexCopyRepair/lexCopyRepair.js-meta.xml | 11
force-app/main/default/lwc/lexDispatchOCSMQARA/lexDispatchOCSMQARA.css | 10
force-app/main/default/aura/WeeklyReport/WeeklyReport.css | 141
force-app/main/default/lwc/multiSelectCombobox/multiSelectCombobox.html | 56
force-app/main/default/aura/RetrospectiveWeeklyReport/RetrospectiveWeeklyReportController.js | 343
force-app/main/default/lwc/lexSubmitExtensionApprovalProcess/lexSubmitExtensionApprovalProcess.js | 76
force-app/main/default/pages/RepairAndQISToPDF.page | 2
force-app/main/default/lwc/lexCreateReportMaintenanceTask/lexCreateReportMaintenanceTask.html | 5
force-app/main/default/lwc/lexReturnDeliverySlip/lexReturnDeliverySlip.js | 53
force-app/main/default/lwc/lexSubmit/lexSubmit.js | 68
force-app/main/default/classes/LexOverdueStockController.cls | 7
force-app/main/default/lwc/lexQISIntakeuniversalcode/lexQISIntakeuniversalcode.js | 64
force-app/main/default/aura/eSignHospitalPage/eSignHospitalPage.cmp-meta.xml | 5
force-app/main/default/aura/TaskFeedbackApp/TaskFeedbackAppHelper.js | 5
force-app/main/default/aura/test02App/test02App.css | 2
force-app/main/default/lwc/lexStockCancel/lexStockCancel.html | 5
force-app/main/default/lwc/errorPanel/errorPanel.js-meta.xml | 5
force-app/main/default/lwc/lexinventoryViewLWC/lexinventoryViewLWC.html | 194
force-app/main/default/lwc/lexCustomNewCopy2/lexCustomNewCopy2.html | 6
force-app/main/default/aura/strike_svg/strike_svgRenderer.js | 62
force-app/main/default/aura/MaintenanceContractNotOpenApp/MaintenanceContractNotOpenApp.auradoc | 6
force-app/main/default/lwc/lexASACEditor/lexASACEditor.js-meta.xml | 11
force-app/main/default/lwc/lexContractAuthorize/lexContractAuthorize.css | 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/pages/EquipmentSetShippmentReceived6.page | 5
force-app/main/default/aura/AgencyPerson/AgencyPerson.cmp | 19
force-app/main/default/lwc/lexReturnGoodCusInput/lexReturnGoodCusInput.js | 30
force-app/main/default/pages/PAEDecisionRecord.page | 148
force-app/main/default/pages/RentalApplyExtensions.page | 3
force-app/main/default/aura/test02App/test02AppController.js | 5
force-app/main/default/lwc/lexOpporSplite/lexOpporSplite.js | 88
force-app/main/default/aura/MaintenanceContractApp/MaintenanceContractAppHelper.js | 5
force-app/main/default/lwc/lexRCRecieved/lexRCRecieved.js-meta.xml | 11
force-app/main/default/classes/LexSaleAndDeliveryController.cls | 151
force-app/main/default/lwc/qisUniversalFailureCode/qisUniversalFailureCode.css | 10
force-app/main/default/lwc/lexContractdetailpdf/lexContractdetailpdf.css | 88
force-app/main/default/lwc/lexNewOpportunityAgency/lexNewOpportunityAgency.js-meta.xml | 11
force-app/main/default/lwc/lexVOCSubmit/lexVOCSubmit.js-meta.xml | 11
force-app/main/default/aura/taskManage/taskManageHelper.js | 1394
force-app/main/default/aura/strike_lookup/strike_lookup.cmp-meta.xml | 5
force-app/main/default/lwc/maintenanceContractNotOpen/maintenanceContractNotOpen.html | 174
force-app/main/default/aura/eSignAgencyConfirmReadOnlyPage/eSignAgencyConfirmReadOnlyPage.cmp | 658
force-app/main/default/lwc/lexRCCDScomplete/lexRCCDScomplete.css | 22
force-app/main/default/pages/OpportunityPCLNew.page | 2
force-app/main/default/aura/TenderDeletePageApp/TenderDeletePageApp.svg | 7
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/aura/eSignHospitalPage/eSignHospitalPage.css | 165
force-app/main/default/aura/productshContainer/productshContainerHelper.js | 5
force-app/main/default/lwc/listWithParentRecordData/listWithParentRecordData.css | 3
force-app/main/default/lwc/ll/ll.html | 3
force-app/main/default/lwc/lexYanshoudanRequest/lexYanshoudanRequest.js-meta.xml | 11
force-app/main/default/lwc/lexRentalApplyESetRefreshStatus/lexRentalApplyESetRefreshStatus.css | 11
force-app/main/default/aura/QuoteTrialApp/QuoteTrialApp.auradoc | 6
force-app/main/default/lwc/newOrderLWC/newOrderLWC.html | 3
force-app/main/default/lwc/lexPreContractSubmit/lexPreContractSubmit.js | 116
force-app/main/default/lwc/lexAssetMaintainHeaderDeleteApply/lexAssetMaintainHeaderDeleteApply.js-meta.xml | 11
force-app/main/default/lwc/toolbar/toolbar.html | 31
force-app/main/default/lwc/lexVOCAnswer/lexVOCAnswer.html | 7
force-app/main/default/lwc/lexCustomDeleteLWC/lexCustomDeleteLWC.html | 2
force-app/main/default/lwc/listInfiniteScrolling/listInfiniteScrolling.css | 3
force-app/main/default/lwc/lexEquipmentRentalPDF/lexEquipmentRentalPDF.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/staticresources/OpportunityPCLJs.js | 1
force-app/main/default/aura/taskFeedback/taskFeedback.cmp | 416
force-app/main/default/lwc/lexcopyQIS/lexcopyQIS.js-meta.xml | 11
force-app/main/default/classes/SearchProductController.cls | 17
force-app/main/default/lwc/lexRCRecieved/lexRCRecieved.css | 22
force-app/main/default/lwc/lexAssetMaintainHeaderDeleteApply/lexAssetMaintainHeaderDeleteApply.js | 57
force-app/main/default/lwc/lexCustomDelete/lexCustomDelete.js | 100
force-app/main/default/lwc/lexPaymentPlanLoad/lexPaymentPlanLoad.html | 269
force-app/main/default/lwc/createMixedRecordsWireFunctionsWrapper/createMixedRecordsWireFunctionsWrapper.js | 3
force-app/main/default/lwc/relevant/relevant.js-meta.xml | 5
force-app/main/default/lwc/parentComponentTest/parentComponentTest.html | 44
force-app/main/default/lwc/lexTerminalMaintenance/lexTerminalMaintenance.html | 6
force-app/main/default/lwc/lexSearchProduct/lexSearchProduct.html | 79
force-app/main/default/lwc/viewVfLwcSource/viewVfLwcSource.css | 3
force-app/main/default/aura/strike_tooltip/strike_tooltipHelper.js | 151
force-app/main/default/lwc/lexVisitReportCancel/lexVisitReportCancel.js | 51
force-app/main/default/lwc/lexTransferApplyPDF/lexTransferApplyPDF.js | 92
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/lexOCSMNoToReport/lexOCSMNoToReport.js-meta.xml | 11
force-app/main/default/lwc/lexCustomDeleteLWC/lexCustomDeleteLWC.js | 144
force-app/main/default/lwc/lexDynamicTable/lexDynamicTable.js-meta.xml | 14
force-app/main/default/aura/lexCustomDeleteAura/lexCustomDeleteAura.svg | 7
force-app/main/default/lwc/lexCancelRemoveBox/lexCancelRemoveBox.js | 235
force-app/main/default/pages/PersonalEvaluationClipEdit.page | 10
force-app/main/default/lwc/paginatedListWrapper/paginatedListWrapper.html | 18
force-app/main/default/aura/WeeklyReport/WeeklyReport.cmp | 578
force-app/main/default/lwc/errorPanel/errorPanel.js | 28
force-app/main/default/lwc/listWithParentRecordData/listWithParentRecordData.js | 38
force-app/main/default/lwc/myCustomTypeDatatable/customNumber.html | 6
force-app/main/default/lwc/pageBlocks/pageBlocks.js-meta.xml | 5
force-app/main/default/lwc/maintenanceContract/maintenanceContract.js | 988
force-app/main/default/lwc/jzlookupv3/jzlookupv3.html | 43
force-app/main/default/lwc/lexCustomLightningDatatable/customReturnGoodInput.html | 3
force-app/main/default/lwc/lexRentalApplyJump/lexRentalApplyJump.html | 5
force-app/main/default/lwc/lexInputLookupCell/lexInputLookupCell.js | 39
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/lexmultiSelectComboboxItem/lexmultiSelectComboboxItem.html | 33
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/aura/TaskFeedbackApp/TaskFeedbackApp.svg | 7
force-app/main/default/lwc/lexSelectRental/lexSelectRental.js-meta.xml | 11
force-app/main/default/aura/NewAgencyContact2/NewAgencyContact2.cmp-meta.xml | 5
force-app/main/default/aura/RetrospectiveWeeklyReportApp/RetrospectiveWeeklyReportAppRenderer.js | 5
force-app/main/default/lwc/lexRequestDB/lexRequestDB.js | 107
force-app/main/default/aura/eSignHospitalPage/eSignHospitalPageController.js | 720
force-app/main/default/lwc/lexCustomAttachmentTypeComp/lexCustomAttachmentTypeComp.js-meta.xml | 5
force-app/main/default/aura/NewAgencyOpportunity/NewAgencyOpportunity.cmp-meta.xml | 5
force-app/main/default/lwc/lexEquipmentRentalPDF/lexEquipmentRentalPDF.html | 5
force-app/main/default/lwc/lexSendQISToEtQ/lexSendQISToEtQ.js | 183
force-app/main/default/lwc/lexQISSC/lexQISSC.js-meta.xml | 11
force-app/main/default/lwc/listWithParentRecordDataWrapper/listWithParentRecordDataWrapper.js-meta.xml | 8
force-app/main/default/lwc/lexAppSubmitButton/lexAppSubmitButton.js | 108
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/lexSearchProductCs/lexSearchProductCs.html | 70
force-app/main/default/lwc/listRecordLinks/listRecordLinks.js-meta.xml | 5
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/newOrderButton/newOrderButton.js | 24
force-app/main/default/aura/AgencyPerson/AgencyPersonHelper.js | 110
force-app/main/default/lwc/lexUploadToSap/lexUploadToSap.js-meta.xml | 11
force-app/main/default/lwc/lexRCCDScomplete/lexRCCDScomplete.html | 5
force-app/main/default/lwc/singleRecords/singleRecords.html | 23
force-app/main/default/lwc/lexOSHNogoods/lexOSHNogoods.js | 90
force-app/main/default/aura/loginForm/loginFormController.js | 70
force-app/main/default/lwc/lexCancelApply/lexCancelApply.js-meta.xml | 11
force-app/main/default/lwc/lexDynamicTable/lexDynamicTable.js | 64
force-app/main/default/lwc/oshRecieved/oshRecieved.html | 5
force-app/main/default/lwc/lexNewPaymentPlanLoadLWC/lexNewPaymentPlanLoadLWC.css | 14
force-app/main/default/aura/eSignHospitalQR/eSignHospitalQRHelper.js | 57
force-app/main/default/lwc/lexInventory/lexInventory.html | 162
force-app/main/default/lwc/lexRentalApplyJump/lexRentalApplyJump.css | 11
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/testSearchProductPage/testSearchProductPage.js | 433
force-app/main/default/lwc/toolbar/toolbar.css | 3
force-app/main/default/lwc/tabsWrapper/tabsWrapper.js | 3
force-app/main/default/lwc/lexOCSMNoToReportForReport/lexOCSMNoToReportForReport.js-meta.xml | 11
force-app/main/default/lwc/lexBidAnnouncementConsentButton/lexBidAnnouncementConsentButton.html | 5
force-app/main/default/lwc/lexCustomClone/lexCustomClone.js-meta.xml | 11
force-app/main/default/aura/AgencyPerson/AgencyPerson.css | 2
force-app/main/default/aura/MaintenanceContractNotOpenApp/MaintenanceContractNotOpenAppHelper.js | 5
force-app/main/default/aura/NewAgencyContact2/NewAgencyContact2.design | 3
force-app/main/default/lwc/lexRCinspectioncompletedate/lexRCinspectioncompletedate.js | 98
force-app/main/default/lwc/splitApplyLWC/splitApplyLWC.js-meta.xml | 11
force-app/main/default/classes/ChangeDealerApprovalController.cls | 2
force-app/main/default/lwc/tenderLost/tenderLost.js | 172
force-app/main/default/lwc/afterRenderHook/afterRenderHook.js-meta.xml | 5
force-app/main/default/lwc/lexOverdueStock/lexOverdueStock.js | 275
force-app/main/default/lwc/loanerArrangedEmailLWC/loanerArrangedEmailLWC.js | 258
force-app/main/default/lwc/lexFinLibrary2/lexFinLibrary2.js | 62
force-app/main/default/aura/lexCustomDeleteAura/lexCustomDeleteAuraHelper.js | 5
force-app/main/default/lwc/lexXinSearchVisitorPlace/lexXinSearchVisitorPlace.js | 38
force-app/main/default/lwc/lexTenderingCopyButton/lexTenderingCopyButton.js | 64
force-app/main/default/aura/NewAgencyContact2/NewAgencyContact2.css | 15
force-app/main/default/lwc/lexAssetMaintainHeaderAbandon/lexAssetMaintainHeaderAbandon.html | 5
force-app/main/default/aura/strike_lookup/strike_lookup.cmp | 208
force-app/main/default/classes/TestSearchProductController.cls | 16
force-app/main/default/aura/eSignHospitalConfirmPage/eSignHospitalConfirmPageHelper.js | 1155
force-app/main/default/lwc/maintenanceContractNotOpen/maintenanceContractNotOpen.js-meta.xml | 5
force-app/main/default/lwc/lexSCSubmit/lexSCSubmit.js-meta.xml | 11
force-app/main/default/lwc/lookup/lookup.js-meta.xml | 5
force-app/main/default/lwc/lexVisitReportCancel/lexVisitReportCancel.js-meta.xml | 11
force-app/main/default/lwc/lexSubmitApprovalProcess/lexSubmitApprovalProcess.html | 5
force-app/main/default/lwc/tEnquiryNoBidding/tEnquiryNoBidding.html | 81
force-app/main/default/lwc/lexPDFMaintenanceCommission/lexPDFMaintenanceCommission.js | 54
force-app/main/default/lwc/lexInventory/lexInventory.js-meta.xml | 9
force-app/main/default/lwc/lexStockCancel/lexStockCancel.css | 11
force-app/main/default/lwc/customLightningDatatable/customLightningDatatable.js | 11
force-app/main/default/lwc/lexTenderingCopyButton/lexTenderingCopyButton.js-meta.xml | 11
force-app/main/default/aura/CreateTarget/CreateTargetController.js | 230
force-app/main/default/lwc/lexmultiSelectCombobox/lexmultiSelectCombobox.js | 166
force-app/main/default/lwc/lexArriveGoods/lexArriveGoods.js-meta.xml | 9
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/viewRecordWithParentRecordData/viewRecordWithParentRecordData.html | 30
force-app/main/default/lwc/panelBarWrapper/panelBarWrapper.html | 18
force-app/main/default/aura/RetrospectiveWeeklyReport/RetrospectiveWeeklyReport.svg | 7
force-app/main/default/lwc/lexSearchProductIrai/lexSearchProductIrai.html | 145
force-app/main/default/lwc/lexCreateNewServiceContract/lexCreateNewServiceContract.html | 5
force-app/main/default/lwc/lexLoseReport/lexLoseReport.js | 112
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/lexSendNFM103/lexSendNFM103.js | 570
force-app/main/default/aura/WeeklyReport/WeeklyReportController.js | 318
force-app/main/default/lwc/lexASACEditorRepair/lexASACEditorRepair.html | 5
force-app/main/default/lwc/viewRecord/viewRecord.js | 18
force-app/main/default/lwc/pageMessagesForm/pageMessagesForm.html | 33
force-app/main/default/lwc/maintenanceContractNotOpen/maintenanceContractNotOpen.css | 11
force-app/main/default/lwc/listInfiniteScrollingWrapper/listInfiniteScrollingWrapper.js-meta.xml | 8
force-app/main/default/aura/strike_svg/strike_svg.cmp-meta.xml | 5
force-app/main/default/lwc/myCustomTypeDatatable/myCustomTypeDatatable.html | 2
force-app/main/default/lwc/lexSubmitExtensionApprovalProcess/lexSubmitExtensionApprovalProcess.html | 5
force-app/main/default/classes/LexSummonsCreatController.cls | 300
force-app/main/default/lwc/interoperability/interoperability.css | 12
force-app/main/default/lwc/lexVOCConfirm/lexVOCConfirm.css | 10
force-app/main/default/aura/TenderLostApp/TenderLostApp.app | 3
force-app/main/default/lwc/lexCancelReport/lexCancelReport.js | 116
force-app/main/default/aura/ImprovedForecastTimeApp/ImprovedForecastTimeAppController.js | 5
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/aura/MaintenanceContractApp/MaintenanceContractApp.auradoc | 6
force-app/main/default/lwc/lexConsumable/lexConsumable.css | 9
force-app/main/default/aura/CopyPILightning/CopyPILightningHelper.js | 5
force-app/main/default/lwc/lexDiscountRequest/lexDiscountRequest.js-meta.xml | 11
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/lexOCSMToReportLighting/lexOCSMToReportLighting.js | 89
force-app/main/default/lwc/lexInventoryCount/lexInventoryCount.html | 162
force-app/main/default/aura/taskFeedback/taskFeedback.design | 3
force-app/main/default/lwc/lexSISearchSetProduct/lexSISearchSetProduct.html | 117
force-app/main/default/aura/loginForm/loginForm.design | 10
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/customUnitComp/customUnitComp.js | 23
force-app/main/default/lwc/lexArriveGsDetails/lexArriveGsDetails.js-meta.xml | 9
force-app/main/default/lwc/opdNewSparePartsLoanApplication/opdNewSparePartsLoanApplication.css | 10
force-app/main/default/classes/buttonAccountCtl.cls | 40
force-app/main/default/lwc/editRecordWrapper/editRecordWrapper.html | 26
force-app/main/default/lwc/lexNewOpportunityAgency/lexNewOpportunityAgency.js | 225
force-app/main/default/aura/MaintenanceContractNotOpenApp/MaintenanceContractNotOpenAppController.js | 5
force-app/main/default/aura/eSignHomePage/eSignHomePageHelper.js | 1439
force-app/main/default/lwc/lexQISAgree/lexQISAgree.html | 5
force-app/main/default/aura/setStartUrl/setStartUrl.evt | 3
force-app/main/default/classes/LogAutoSendBatch.cls | 14
force-app/main/default/lwc/lexLoanerArrangedEmail/lexLoanerArrangedEmail.js | 102
force-app/main/default/lwc/lexInputPickListCell/lexInputPickListCell.html | 11
force-app/main/default/lwc/lexReturnDeliverySlip/lexReturnDeliverySlip.js-meta.xml | 11
force-app/main/default/aura/MaintenanceContractApp/MaintenanceContractApp.app | 3
force-app/main/default/aura/taskFeedback/taskFeedbackController.js | 149
force-app/main/default/lwc/datatableWithCustomTypes/datatableWithCustomTypes.js-meta.xml | 5
force-app/main/default/lwc/lexBeforeOPDPDFBtnSIS/lexBeforeOPDPDFBtnSIS.css | 10
force-app/main/default/aura/TaskManageApp/TaskManageApp.app-meta.xml | 5
force-app/main/default/aura/strike_lookup/strike_lookup.css | 236
force-app/main/default/lwc/lexClearReturnDeliverySlip/lexClearReturnDeliverySlip.js-meta.xml | 11
force-app/main/default/aura/forgotPassword/forgotPassword.design | 5
force-app/main/default/lwc/recentProjectsLWC/recentProjectsLWC.html | 9
force-app/main/default/lwc/lexOCSMNoToReportLighting/lexOCSMNoToReportLighting.js | 105
force-app/main/default/aura/ybApp/ybAppController.js | 5
force-app/main/default/lwc/lexNewRepairLWC/lexNewRepairLWC.css | 12
force-app/main/default/aura/taskFeedback/taskFeedbackRenderer.js | 5
force-app/main/default/lwc/lexDiscountRequest/lexDiscountRequest.js | 109
force-app/main/default/aura/forgotPassword/forgotPasswordHelper.js | 30
force-app/main/default/aura/test02App/test02AppRenderer.js | 5
force-app/main/default/lwc/lexCustomNewCopy2/lexCustomNewCopy2.js-meta.xml | 11
force-app/main/default/aura/NewAgencyContact/NewAgencyContact.css | 15
force-app/main/default/lwc/lexLoseReport/lexLoseReport.js-meta.xml | 11
force-app/main/default/aura/test02App/test02App.app-meta.xml | 5
force-app/main/default/aura/RetrospectiveWeeklyReport/RetrospectiveWeeklyReport.cmp-meta.xml | 5
force-app/main/default/classes/LexArriveGoodsController.cls | 301
force-app/main/default/lwc/otherButtonInOpportunity/otherButtonInOpportunity.js-meta.xml | 11
force-app/main/default/lwc/lexConsumable/lexConsumable.js-meta.xml | 9
force-app/main/default/aura/lexCustomDeleteAura/lexCustomDeleteAuraRenderer.js | 5
force-app/main/default/lwc/lexAddress/lexAddress.html | 6
force-app/main/default/lwc/lexEnquiryNoBidding/lexEnquiryNoBidding.js | 34
force-app/main/default/aura/AgencyAccount/AgencyAccount.cmp-meta.xml | 5
force-app/main/default/lwc/lexNewPaymentPlanLoadLWC/lexNewPaymentPlanLoadLWC.js | 575
force-app/main/default/pages/EquipmentRentalExtend.page | 31
force-app/main/default/pages/TransferAgencyShipment.page | 5
force-app/main/default/lwc/lexASACEditorRepair/lexASACEditorRepair.js | 74
force-app/main/default/lwc/lexRequestDB/lexRequestDB.js-meta.xml | 11
force-app/main/default/lwc/lexNewOpportunityAgency/lexNewOpportunityAgency.css | 10
force-app/main/default/aura/test01App/test01App.css | 2
force-app/main/default/aura/RetrospectiveWeeklyReport/RetrospectiveWeeklyReport.auradoc | 6
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/aura/defaultTokens/defaultTokens.tokens-meta.xml | 5
force-app/main/default/lwc/splitApplyLWC/splitApplyLWC.html | 5
force-app/main/default/lwc/lexSCSubmit/lexSCSubmit.js | 89
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/newPaymentPlanLoadLWC/newPaymentPlanLoadLWC.js | 575
force-app/main/default/lwc/tenderLost/tenderLost.html | 75
force-app/main/default/lwc/lexSelectSubstitute/lexSelectSubstitute.js | 94
force-app/main/default/lwc/pocLightningDatatable/pocLightningDatatable.js-meta.xml | 5
force-app/main/default/aura/productshContainer/productshContainer.app | 3
force-app/main/default/lwc/lexFinLibrary/lexFinLibrary.html | 4
force-app/main/default/lwc/oshRecieved/oshRecieved.js | 83
force-app/main/default/aura/eSignAgencyPage/eSignAgencyPageHelper.js | 1304
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/lexVisitReportCancel/lexVisitReportCancel.css | 22
force-app/main/default/lwc/paginator/paginator.js | 32
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/pages/PCLLostReportPage.page | 2
force-app/main/default/lwc/lexCancel/lexCancel.css | 10
force-app/main/default/classes/lexNewPaymentPlanLoadLWCController.cls-meta.xml | 5
force-app/main/default/lwc/myCustomTypeDatatable/myCustomTypeDatatable.js | 41
force-app/main/default/classes/NewPaymentPlanLoadLWCController.cls | 46
force-app/main/default/lwc/tBidding/tBidding.html | 167
force-app/main/default/aura/RetrospectiveWeeklyReport/RetrospectiveWeeklyReport.cmp | 777
force-app/main/default/aura/selfRegister/selfRegister.cmp | 74
force-app/main/default/lwc/lexBeforeOPDPDFBtn/lexBeforeOPDPDFBtn.html | 15
force-app/main/default/pages/CICReport.page | 2
force-app/main/default/classes/LexArriveGsDetailsController.cls-meta.xml | 5
force-app/main/default/lwc/opdReportSubmit/opdReportSubmit.html | 5
force-app/main/default/lwc/lexPrintInspectupReport/lexPrintInspectupReport.html | 5
force-app/main/default/lwc/lexLostReturnDeliverySlip/lexLostReturnDeliverySlip.css | 11
force-app/main/default/lwc/lexinventoryViewLWC/lexinventoryViewLWC.js-meta.xml | 9
force-app/main/default/aura/strike_svg/strike_svg.cmp | 35
force-app/main/default/aura/LwcTesst/LwcTesst.cmp-meta.xml | 5
force-app/main/default/lwc/lexArriveGsDetails/lexArriveGsDetails.js | 123
force-app/main/default/classes/LexSISearchSetProductController.cls-meta.xml | 5
force-app/main/default/lwc/lexDetailBulkUpdate/lexDetailBulkUpdate.css | 11
force-app/main/default/lwc/tEnquiryNoBidding/tEnquiryNoBidding.js-meta.xml | 5
force-app/main/default/aura/NewAgencyOpportunity/NewAgencyOpportunity.auradoc | 6
force-app/main/default/aura/eSignHospitalConfirmReadOnlyPage/eSignHospitalConfirmReadOnlyPageController.js | 95
force-app/main/default/lwc/lexASRCEditorRepair/lexASRCEditorRepair.js-meta.xml | 11
force-app/main/default/aura/ImprovedForecastTimeApp/ImprovedForecastTimeAppHelper.js | 5
force-app/main/default/lwc/jzSearchForm/jzSearchForm.js-meta.xml | 20
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/lexOCSMNogoods/lexOCSMNogoods.html | 5
force-app/main/default/aura/LWCContainerApp/LWCContainerApp.app | 3
force-app/main/default/classes/LexConsumableGoodsInfo.cls-meta.xml | 5
force-app/main/default/aura/EnquiryNoBiddingApp/EnquiryNoBiddingApp.app | 3
force-app/main/default/lwc/lexCopyRepair/lexCopyRepair.js | 218
force-app/main/default/aura/condensedThemeLayout/condensedThemeLayoutController.js | 5
force-app/main/default/lwc/lexCustomLightningDatatable/customTableInput.html | 3
force-app/main/default/lwc/lexESignAcceptanceHospital/lexESignAcceptanceHospital.js | 186
force-app/main/default/aura/selfRegister/selfRegister.css | 174
force-app/main/default/aura/test01App/test01AppHelper.js | 5
force-app/main/default/lwc/lexTenderingRelevancyButton/lexTenderingRelevancyButton.js | 115
force-app/main/default/pages/EquipmentSetShippmentReceived3.page | 21
force-app/main/default/lwc/paginatedListWrapper/paginatedListWrapper.js | 3
force-app/main/default/lwc/lexNewPaymentPlanLoadLWC/lexNewPaymentPlanLoadLWC.js-meta.xml | 12
force-app/main/default/pages/ListShip.page | 24
force-app/main/default/lwc/lexArriveGsDetails/lexArriveGsDetails.html | 67
force-app/main/default/lwc/lexRCCDScomplete/lexRCCDScomplete.js | 98
force-app/main/default/aura/MaintenanceContractNotOpenApp/MaintenanceContractNotOpenApp.svg | 7
force-app/main/default/lwc/newOrderButton/newOrderButton.html | 4
force-app/main/default/lwc/panelBar/panelBar.html | 13
force-app/main/default/lwc/lexTenderingEnquiryButton/lexTenderingEnquiryButton.js | 92
force-app/main/default/aura/DealerPersonnelInformationImportApp/DealerPersonnelInformationImportAppRenderer.js | 5
force-app/main/default/lwc/selectSubstituteLWC/selectSubstituteLWC.html | 5
force-app/main/default/aura/CreateTarget/CreateTarget.css | 6
force-app/main/default/lwc/opdReportSubmit/opdReportSubmit.css | 10
force-app/main/default/lwc/lexEquipmentRentalPDF/lexEquipmentRentalPDF.js | 44
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/myCustomTypeDatatable/customUnit.html | 8
force-app/main/default/aura/DealerPersonnelInformationImport/DealerPersonnelInformationImport.cmp | 90
force-app/main/default/aura/eSignHospitalQR/eSignHospitalQR.cmp | 30
force-app/main/default/lwc/lexAssetMaintainPage/lexAssetMaintainPage.js | 35
force-app/main/default/lwc/tEnquiryNoBidding/tEnquiryNoBidding.js | 336
force-app/main/default/lwc/otherButtonInASACEditor/otherButtonInASACEditor.css | 10
force-app/main/default/aura/RetrospectiveWeeklyReportApp/RetrospectiveWeeklyReportAppController.js | 5
force-app/main/default/aura/lexCustomDeleteAura/lexCustomDeleteAura.cmp | 9
force-app/main/default/classes/LexContractAuthorizeController.cls-meta.xml | 5
force-app/main/default/lwc/lexConInvoiceView/lexConInvoiceView.html | 641
force-app/main/default/aura/DealerPersonnelInformationImport/DealerPersonnelInformationImport.design | 3
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/lexTenderingHospitalButton/lexTenderingHospitalButton.html | 5
force-app/main/default/lwc/selectSubstituteLWC/selectSubstituteLWC.js | 78
force-app/main/default/aura/RetrospectiveWeeklyReportApp/RetrospectiveWeeklyReportApp.css | 2
force-app/main/default/lwc/lexBidAnnouncementApplyForButton/lexBidAnnouncementApplyForButton.html | 5
force-app/main/default/lwc/lexCustomTableInput/lexCustomTableInput.html | 8
force-app/main/default/lwc/lexCopyPIAddress/lexCopyPIAddress.html | 5
force-app/main/default/lwc/lexYanshoudanRequest/lexYanshoudanRequest.html | 6
force-app/main/default/lwc/createMixedRecordsApex/createMixedRecordsApex.html | 27
force-app/main/default/lwc/lexNewOnCall/lexNewOnCall.js-meta.xml | 12
force-app/main/default/lwc/lexCustomSubmit/lexCustomSubmit.html | 5
force-app/main/default/aura/NewAgencyOpportunity/NewAgencyOpportunityController.js | 297
force-app/main/default/classes/LexSearchProductIraiController.cls-meta.xml | 5
force-app/main/default/classes/LexConInvoicedetailsController.cls | 392
force-app/main/default/lwc/lexOutboundorderImport/lexOutboundorderImport.html | 74
force-app/main/default/lwc/multiSelectCombobox/multiSelectCombobox .css | 35
force-app/main/default/pages/SaleAndDelivery.page | 2
force-app/main/default/lwc/otherButtonInOpportunity/otherButtonInOpportunity.html | 17
force-app/main/default/lwc/lexCustomClone/lexCustomClone.js | 49
force-app/main/default/lwc/lexNewTransferApply/lexNewTransferApply.css | 22
force-app/main/default/lwc/lexOpporSplite/lexOpporSplite.js-meta.xml | 11
force-app/main/default/lwc/errorPopover/errorPopover.html | 43
force-app/main/default/aura/forgotPassword/forgotPasswordController.js | 23
force-app/main/default/lwc/customShippingUnitPriceComp/customShippingUnitPriceComp.html | 5
force-app/main/default/lwc/lexEquipmentRentalPicturePDF/lexEquipmentRentalPicturePDF.html | 5
force-app/main/default/aura/NewAgencyContact/NewAgencyContactHelper.js | 50
force-app/main/default/lwc/lexCustomAnewMaintenance/lexCustomAnewMaintenance.html | 6
force-app/main/default/aura/TenderDeletePageApp/TenderDeletePageApp.app | 3
force-app/main/default/lwc/lexCancelSelect/lexCancelSelect.js | 53
force-app/main/default/lwc/lexRentalApplyESetRefreshStatus/lexRentalApplyESetRefreshStatus.js-meta.xml | 11
force-app/main/default/aura/ybApp/ybApp.app-meta.xml | 5
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/tenderDeletePage/tenderDeletePage.js | 133
force-app/main/default/aura/eSignAgencyPage/eSignAgencyPageController.js | 720
force-app/main/default/aura/eSignAgencyConfirmPage/eSignAgencyConfirmPage.css | 163
force-app/main/default/lwc/lexBidAnnouncementConsentButton/lexBidAnnouncementConsentButton.js | 83
force-app/main/default/lwc/otherButtonInASACEditor/otherButtonInASACEditor.js | 74
force-app/main/default/aura/NewAgencyOpportunity/NewAgencyOpportunity.cmp | 155
force-app/main/default/lwc/lexSaleAndDelivery/lexSaleAndDelivery.css | 22
force-app/main/default/lwc/lexmultiSelectComboboxItem/lexmultiSelectComboboxItem.js-meta.xml | 13
force-app/main/default/lwc/recentProjectsLWC/recentProjectsLWC.js | 31
force-app/main/default/aura/eSignHospitalHomePage/eSignHospitalHomePage.cmp-meta.xml | 5
force-app/main/default/lwc/lexCancelSubmitReport/lexCancelSubmitReport.js | 68
force-app/main/default/lwc/lexSplitApply/lexSplitApply.css | 11
force-app/main/default/lwc/lexMainFixtureSelect/lexMainFixtureSelect.css | 22
force-app/main/default/pages/AL_MobileApp_Land.page | 3
force-app/main/default/lwc/lexContractdetailpdf/lexContractdetailpdf.js | 50
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/lexAssetMaintainHeaderDeleteApply/lexAssetMaintainHeaderDeleteApply.html | 5
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/aura/TaskFeedbackApp/TaskFeedbackAppController.js | 5
force-app/main/default/lwc/lexMainFixtureSelect/lexMainFixtureSelect.html | 5
force-app/main/default/pages/RentalFixtureSetDetilSelect.page | 190
force-app/main/default/aura/ybApp/ybApp.app | 3
force-app/main/default/aura/setStartUrl/setStartUrl.evt-meta.xml | 5
force-app/main/default/lwc/lexMailMessege/lexMailMessege.html | 5
force-app/main/default/classes/TestSearchProductController.cls-meta.xml | 5
force-app/main/default/lwc/lexSubmitCompetitorReport/lexSubmitCompetitorReport.html | 6
force-app/main/default/pages/AL_MobileApp_Photos.page | 3
force-app/main/default/lwc/createMixedRecordsWireFunctionsWrapper/createMixedRecordsWireFunctionsWrapper.html | 23
force-app/main/default/lwc/lexStockApply/lexStockApply.js-meta.xml | 11
force-app/main/default/lwc/lexAddress/lexAddress.js-meta.xml | 11
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/lexInputTableCell/lexInputTableCell.html | 13
force-app/main/default/aura/eSignHospitalQR/eSignHospitalQR.css | 6
force-app/main/default/lwc/lexTransferApplyPDF/lexTransferApplyPDF.css | 11
force-app/main/default/lwc/rentalApplyLWT/rentalApplyLWT.js | 854
force-app/main/default/lwc/lexInputSolution/lexInputSolution.js | 49
force-app/main/default/lwc/lexUploadToSap/lexUploadToSap.js | 155
force-app/main/default/classes/LexStockCancelController.cls-meta.xml | 5
force-app/main/default/lwc/tBidding/tBidding.js-meta.xml | 5
force-app/main/default/pages/EquipmentSetSRList2.page | 2
force-app/main/default/aura/productshContainer/productshContainer.auradoc | 6
force-app/main/default/lwc/lexCopyWithAsset/lexCopyWithAsset.js | 69
force-app/main/default/lwc/lexSISubmit/lexSISubmit.html | 5
force-app/main/default/lwc/lexOCSMToReport/lexOCSMToReport.html | 6
force-app/main/default/lwc/customShippingUnitPriceComp/customShippingUnitPriceComp.js-meta.xml | 5
force-app/main/default/classes/LexCancelRemoveBoxController.cls | 645
force-app/main/default/classes/LexVisitReportCancelController.cls-meta.xml | 5
force-app/main/default/pages/MoreMaintenanceContractPop.page | 2
force-app/main/default/lwc/panelBarWrapper/panelBarWrapper.js | 3
force-app/main/default/lwc/viewVfLwcSource/viewVfLwcSource.html | 21
force-app/main/default/lwc/lexVOCAnswer/lexVOCAnswer.js-meta.xml | 11
force-app/main/default/lwc/myCustomTypeDatatable/customShipmentNumber.html | 11
force-app/main/default/aura/NewAgencyContact2/NewAgencyContact2Helper.js | 56
force-app/main/default/lwc/lexAllReceivedFse/lexAllReceivedFse.js | 65
force-app/main/default/lwc/inventoryEditingLWC/inventoryEditingLWC.html | 67
force-app/main/default/lwc/lexBatchSelectRepairLWC/lexBatchSelectRepairLWC.css | 9
force-app/main/default/aura/eSignAgencyConfirmPage/eSignAgencyConfirmPage.cmp-meta.xml | 5
force-app/main/default/lwc/lexPaymentPlanLoad/lexPaymentPlanLoad.js | 442
force-app/main/default/pages/NewOnCall.page | 2
force-app/main/default/lwc/parentComponentTest/parentComponentTest.js-meta.xml | 9
force-app/main/default/lwc/jzlookupv2/jzlookupv2.js | 152
force-app/main/default/pages/ConsumEquipmentRentalResponsePopUp.page | 6
force-app/main/default/lwc/lexAssetMaintainHeaderAbandon/lexAssetMaintainHeaderAbandon.js-meta.xml | 11
force-app/main/default/pages/FixtureRemindForAgencyRequest.page | 2
force-app/main/default/lwc/lexVOCSubmit/lexVOCSubmit.html | 6
force-app/main/default/aura/CreateTarget/CreateTarget.cmp | 318
force-app/main/default/lwc/lexSubmitExtensionApprovalProcess/lexSubmitExtensionApprovalProcess.css | 10
force-app/main/default/aura/TaskFeedbackApp/TaskFeedbackApp.css | 2
force-app/main/default/lwc/customShipmentAmountComp/customShipmentAmountComp.js-meta.xml | 5
force-app/main/default/pages/ConInvoiceView.page | 2
force-app/main/default/staticresources/SNA_Demo1_sf_default_cdn_PqhAN/assets/css/fonts-and-custom.css | 56
force-app/main/default/lwc/lexDispatchOCSMQARA/lexDispatchOCSMQARA.html | 6
force-app/main/default/lwc/lexCancelReport/lexCancelReport.css | 10
force-app/main/default/lwc/lwcDatatableUtility/lwcDatatableUtility.js-meta.xml | 8
force-app/main/default/lwc/lexOCSMNoToReport/lexOCSMNoToReport.css | 10
force-app/main/default/lwc/lexAssetMaintainHeaderDeleteApply/lexAssetMaintainHeaderDeleteApply.css | 22
force-app/main/default/lwc/lexVOCSubmit/lexVOCSubmit.js | 91
force-app/main/default/lwc/createRecordWithPrepopulatedValuesWrapper/createRecordWithPrepopulatedValuesWrapper.html | 19
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/lexCustomAttachmentTypeComp/lexCustomAttachmentTypeComp.js | 25
force-app/main/default/lwc/jzlookupv2/jzlookupv2.js-meta.xml | 5
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/pages/SelectAssetEstimate.page | 2
force-app/main/default/lwc/customShipmentNumberComp/customShipmentNumberComp.js | 24
force-app/main/default/pages/SISearchSetProduct.page | 2
force-app/main/default/lwc/lexOCSMNogoods/lexOCSMNogoods.css | 22
force-app/main/default/lwc/lexRemoveBox/lexRemoveBox.html | 114
force-app/main/default/aura/RetrospectiveWeeklyReport/RetrospectiveWeeklyReportHelper.js | 2569 +
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/classes/LexSearchProductController.cls | 74
force-app/main/default/lwc/lexSubmitApprovalProcess/lexSubmitApprovalProcess.js | 101
force-app/main/default/lwc/childComponentTest/childComponentTest.js | 18
force-app/main/default/lwc/lexOCSMToReportLighting/lexOCSMToReportLighting.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 | 171
force-app/main/default/lwc/lexBidAnnouncementApplyForButton/lexBidAnnouncementApplyForButton.js | 74
force-app/main/default/lwc/lexLoanerArrangedEmail/lexLoanerArrangedEmail.css | 10
force-app/main/default/lwc/viewRecordWithParentRecordDataWrapper/viewRecordWithParentRecordDataWrapper.js-meta.xml | 8
force-app/main/default/lwc/productsh/productsh.js-meta.xml | 5
force-app/main/default/classes/buttonQISReportCtl.cls | 162
force-app/main/default/lwc/splitApplyLWC/splitApplyLWC.js | 56
force-app/main/default/aura/eSignHospitalConfirmPage/eSignHospitalConfirmPage.css | 163
force-app/main/default/aura/taskManage/taskManage.cmp-meta.xml | 5
force-app/main/default/lwc/listInfiniteScrolling/listInfiniteScrolling.js-meta.xml | 5
force-app/main/default/aura/NewAgencyOpportunity/NewAgencyOpportunity.css | 63
force-app/main/default/lwc/lexInputLookupCell/lexInputLookupCell.js-meta.xml | 15
force-app/main/default/lwc/lexRentalApplyCanleButton/lexRentalApplyCanleButton.js-meta.xml | 11
force-app/main/default/lwc/lexRentalApplyDiscountApproval/lexRentalApplyDiscountApproval.js | 111
force-app/main/default/lwc/lexCancelApply/lexCancelApply.js | 100
force-app/main/default/classes/lexAddressCtl.cls-meta.xml | 5
force-app/main/default/lwc/test/test.html | 3
force-app/main/default/pages/CheckPlanDeleteButton.page | 2
force-app/main/default/aura/test01App/test01App.auradoc | 6
force-app/main/default/lwc/jzDataTable/jzDataTable.js | 132
force-app/main/default/lwc/pocLightningDatatable/customShipmentNumber.html | 6
force-app/main/default/lwc/exampleWrapper/exampleWrapper.css | 3
force-app/main/default/lwc/editRecord/editRecord.html | 12
force-app/main/default/aura/EnquiryNoBiddingApp/EnquiryNoBiddingAppRenderer.js | 5
force-app/main/default/lwc/productsh/productsh.css | 3
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/aura/RetrospectiveWeeklyReportApp/RetrospectiveWeeklyReportAppHelper.js | 5
force-app/main/default/lwc/lexCreateRepair/lexCreateRepair.js | 231
force-app/main/default/classes/lexRepPAEDecisionRecordController.cls | 29
force-app/main/default/lwc/lexQuotationProductNew/lexQuotationProductNew.js-meta.xml | 11
force-app/main/default/aura/condensedThemeLayout/condensedThemeLayout.cmp-meta.xml | 5
force-app/main/default/aura/test01App/test01AppRenderer.js | 5
force-app/main/default/lwc/lexOCSMToReport/lexOCSMToReport.css | 10
force-app/main/default/lwc/lexCustomLightningDatatable/lexCustomLightningDatatable.js-meta.xml | 5
force-app/main/default/lwc/pocCustomComp/pocCustomComp.js | 25
force-app/main/default/lwc/errorPopover/errorPopover.js | 15
force-app/main/default/aura/lexNewRepairAura/lexNewRepairAura.cmp | 78
force-app/main/default/pages/EquipmentRentalResponse.page | 3
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/classes/LexConsumableController.cls | 44
force-app/main/default/aura/strike_lookup/strike_lookupController.js | 242
force-app/main/default/lwc/createMixedRecordsWireFunctions/createMixedRecordsWireFunctions.js | 91
force-app/main/default/aura/eSignHospitalConfirmPage/eSignHospitalConfirmPageController.js | 720
force-app/main/default/lwc/lexAssetMaintainDetail/lexAssetMaintainDetail.html | 5
force-app/main/default/lwc/lwcDatatableUtility/templates/customShippingUnitPrice.html | 11
force-app/main/default/lwc/lexCopyWithAsset/lexCopyWithAsset.html | 14
force-app/main/default/lwc/oshRecieved/oshRecieved.css | 10
force-app/main/default/lwc/lexFinLibrary/lexFinLibrary.js-meta.xml | 11
force-app/main/default/lwc/lexCustomLightningDatatable/customShipmentNumber.html | 9
force-app/main/default/lwc/lexBeforeOPDPDFBtnSIS/lexBeforeOPDPDFBtnSIS.js-meta.xml | 11
force-app/main/default/lwc/lexSubmitApprovalProcess/lexSubmitApprovalProcess.css | 11
force-app/main/default/lwc/tabs/tabs.js-meta.xml | 5
force-app/main/default/classes/buttonRepairSubOrderCtl.cls | 28
force-app/main/default/aura/TenderLostApp/TenderLostAppRenderer.js | 5
force-app/main/default/lwc/lexArriveGoodsMain/lexArriveGoodsMain.js | 367
force-app/main/default/lwc/lexTenderingEnquiryButton/lexTenderingEnquiryButton.html | 5
force-app/main/default/lwc/lexPDFMaintenanceCommission/lexPDFMaintenanceCommission.js-meta.xml | 11
force-app/main/default/aura/loginForm/loginFormHelper.js | 83
force-app/main/default/lwc/lexOCSMNoToReport/lexOCSMNoToReport.html | 5
force-app/main/default/aura/AgencyAccount/AgencyAccountController.js | 17
force-app/main/default/lwc/lexESignAcceptanceHospital/lexESignAcceptanceHospital.html | 4
force-app/main/default/lwc/tenderDeletePage/tenderDeletePage.html | 36
force-app/main/default/lwc/lexOPDtoSIS/lexOPDtoSIS.js | 95
force-app/main/default/aura/lexNewRepairAura/lexNewRepairAuraHelper.js | 20
force-app/main/default/lwc/binding/binding.css | 3
force-app/main/default/lwc/lexLoseReport/lexLoseReport.html | 6
force-app/main/default/lwc/lexPredictedDateChange/lexPredictedDateChange.html | 6
force-app/main/default/aura/DealerPersonnelInformationImport/DealerPersonnelInformationImportHelper.js | 180
force-app/main/default/lwc/lexAddSubmitApprovalProcess/lexAddSubmitApprovalProcess.css | 22
force-app/main/default/aura/TaskFeedbackApp/TaskFeedbackApp.app-meta.xml | 5
force-app/main/default/lwc/createRecordWithPrepopulatedValues/createRecordWithPrepopulatedValues.html | 22
force-app/main/default/lwc/customOutputGood/customOutputGood.html | 20
force-app/main/default/lwc/afterRenderHookWrapper/afterRenderHookWrapper.js | 3
force-app/main/default/lwc/lexCreateRepair/lexCreateRepair.html | 5
force-app/main/default/lwc/paginatedList/paginatedList.js-meta.xml | 9
force-app/main/default/aura/DealerPersonnelInformationImport/DealerPersonnelInformationImport.svg | 7
force-app/main/default/aura/RetrospectiveWeeklyReport/RetrospectiveWeeklyReport.css | 141
force-app/main/default/lwc/lexTenderingIntentionButton/lexTenderingIntentionButton.js | 75
force-app/main/default/lwc/pocLightningDatatable/pocLightningDatatable.html | 3
force-app/main/default/aura/AgencyAccount/AgencyAccountHelper.js | 197
force-app/main/default/lwc/beforeRenderHook/beforeRenderHook.html | 5
force-app/main/default/lwc/lexOCMSubmit/lexOCMSubmit.css | 22
force-app/main/default/lwc/lexSINewQuoteEntry/lexSINewQuoteEntry.js-meta.xml | 11
force-app/main/default/aura/lexCustomDeleteAura/lexCustomDeleteAura.design | 3
force-app/main/default/lwc/lexCustomSubmit/lexCustomSubmit.css | 11
force-app/main/default/aura/eSignAgencyPage/eSignAgencyPage.cmp-meta.xml | 5
force-app/main/default/lwc/lexDeleteQuotePage/lexDeleteQuotePage.html | 20
force-app/main/default/lwc/improvedForecastTime/improvedForecastTime.html | 108
force-app/main/default/classes/overrideStandabuttonwithLC.cls-meta.xml | 5
force-app/main/default/lwc/lexRepPAEDecisionRecord/lexRepPAEDecisionRecord.html | 56
force-app/main/default/lwc/lexSendRepairsToEtQ/lexSendRepairsToEtQ.js | 192
force-app/main/default/lwc/lexClearReturnDeliverySlip/lexClearReturnDeliverySlip.css | 11
force-app/main/default/lwc/lexTenderingNotarizeButton/lexTenderingNotarizeButton.js | 134
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/lexLookup/lexLookup.js-meta.xml | 5
force-app/main/default/lwc/lexmultiSelectCombobox/lexmultiSelectCombobox.js-meta.xml | 13
force-app/main/default/lwc/jzTable/jzTable.html | 461
force-app/main/default/aura/ImprovedForecastTimeApp/ImprovedForecastTimeApp.css | 2
force-app/main/default/lwc/pocLightningDatatable/pocLightningDatatable.js | 28
force-app/main/default/classes/LexConsumableGoodsInfo.cls | 642
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/jzlookuplightning/jzlookuplightning.js | 62
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/lexCopyPIAddress/lexCopyPIAddress.js-meta.xml | 11
force-app/main/default/lwc/lexBeforeOPDPDFBtn/lexBeforeOPDPDFBtn.js | 108
force-app/main/default/lwc/testPaginated/testPaginated.html | 3
force-app/main/default/lwc/lexMailMessege/lexMailMessege.js-meta.xml | 11
force-app/main/default/lwc/lexNewOnCall/lexNewOnCall.css | 17
force-app/main/default/aura/setExpId/setExpId.evt | 3
force-app/main/default/aura/CopyPILightning/CopyPILightning.cmp-meta.xml | 5
force-app/main/default/lwc/listRecordLinks/listRecordLinks.html | 15
force-app/main/default/lwc/jzTable/jzTable.js-meta.xml | 5
force-app/main/default/aura/ttt/ttt.app | 3
force-app/main/default/lwc/viewRecord/viewRecord.js-meta.xml | 5
force-app/main/default/aura/lexCustomDeleteAura/lexCustomDeleteAura.css | 2
force-app/main/default/classes/ArriveGoodsController.cls | 455
force-app/main/default/lwc/lwcDatatableUtility/templates/customShipmentNumber.html | 11
force-app/main/default/lwc/lexAssetMaintainDetail/lexAssetMaintainDetail.js | 38
force-app/main/default/pages/MoreMaintenanceContract.page | 10
force-app/main/default/lwc/bindingWrapper/bindingWrapper.html | 22
force-app/main/default/lwc/lexRCRecieved/lexRCRecieved.js | 103
force-app/main/default/classes/LexStockCancelController.cls | 65
force-app/main/default/lwc/jzDataTable/jzDataTable.html | 18
force-app/main/default/lwc/panelBar/panelBar.js-meta.xml | 5
force-app/main/default/aura/eSignHospitalConfirmPage/eSignHospitalConfirmPage.cmp | 750
force-app/main/default/classes/LexSearchProductIraiController.cls | 314
force-app/main/default/pages/PaymentPlanLoad.page | 14
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/datatableWithCustomTypes/navigateToRecordTemplate.html | 8
force-app/main/default/lwc/lexLookup/lexLookup.js | 483
force-app/main/default/lwc/lexNewOnCall/lexNewOnCall.html | 124
force-app/main/default/lwc/lexCancel/lexCancel.js | 104
force-app/main/default/lwc/newPaymentPlanLoadLWC/newPaymentPlanLoadLWC.css | 14
force-app/main/default/lwc/quoteTrial/quoteTrialUtil.js | 1916 +
force-app/main/default/lwc/lexCopyPIInspectionReport/lexCopyPIInspectionReport.js | 57
force-app/main/default/lwc/lexSIStoOPD/lexSIStoOPD.js-meta.xml | 11
force-app/main/default/classes/ConInvoiceViewController.cls | 13
force-app/main/default/lwc/toolbarWrapper/toolbarWrapper.html | 18
force-app/main/default/pages/LostViewPage1.page | 2
force-app/main/default/lwc/lexDispatchOCSMQARA/lexDispatchOCSMQARA.js | 71
force-app/main/default/lwc/lexSearchProduct/lexSearchProduct.css | 6
force-app/main/default/aura/selfRegister/selfRegisterHelper.js | 58
force-app/main/default/lwc/lexSISearchSetProduct/lexSISearchSetProduct.js-meta.xml | 11
force-app/main/default/aura/NewAgencyContact2/NewAgencyContact2.svg | 7
force-app/main/default/lwc/lexConsumable/lexConsumable.js | 1064
force-app/main/default/lwc/customLightningDatatable/customLightningDatatable.js-meta.xml | 5
force-app/main/default/lwc/lexSummonsCreat/lexSummonsCreat.html | 912
force-app/main/default/aura/taskManage/taskManageController.js | 181
force-app/main/default/aura/testPage/testPage.cmp-meta.xml | 5
force-app/main/default/aura/forgotPassword/forgotPassword.cmp-meta.xml | 5
force-app/main/default/lwc/lexVOCFinish/lexVOCFinish.css | 10
force-app/main/default/lwc/quoteTrial/quoteTrial.js-meta.xml | 20
1,586 files changed, 110,469 insertions(+), 1,153 deletions(-)
diff --git a/force-app/main/default/aura/AgencyAccount/AgencyAccount.auradoc b/force-app/main/default/aura/AgencyAccount/AgencyAccount.auradoc
new file mode 100644
index 0000000..d0d6eb5
--- /dev/null
+++ b/force-app/main/default/aura/AgencyAccount/AgencyAccount.auradoc
@@ -0,0 +1,6 @@
+<aura:documentation>
+ <aura:description>Documentation</aura:description>
+ <aura:example name="ExampleName" ref="exampleComponentName" label="Label">
+ Example Description
+ </aura:example>
+</aura:documentation>
\ No newline at end of file
diff --git a/force-app/main/default/aura/AgencyAccount/AgencyAccount.cmp b/force-app/main/default/aura/AgencyAccount/AgencyAccount.cmp
new file mode 100644
index 0000000..6f7d3c8
--- /dev/null
+++ b/force-app/main/default/aura/AgencyAccount/AgencyAccount.cmp
@@ -0,0 +1,135 @@
+<aura:component controller="AgencyAccountCmp" implements="forceCommunity:availableForAllPageTypes" access="global" >
+ <aura:handler name="init" value="{!this}" action="{!c.doInit}"/>
+ <aura:attribute name="login" type="Boolean" default="false"/>
+ <aura:attribute name="accounts" type="List"/>
+ <aura:attribute name="hosStr" type="String"/>
+ <aura:attribute name="conStr" type="String"/>
+ <aura:attribute name="filedsmap" type="Map"/>
+ <aura:attribute name="awsdata" type="Map"/>
+ <aura:attribute name="temp_aws_id" type="String"/>
+ <aura:attribute name="staticResource" type="Map"/>
+
+ <ltng:require scripts="{! $Resource.jquery183minjs }" />
+ <ltng:require scripts="{! $Resource.AWSService+'/AWSService.js' }" afterScriptsLoaded="{!c.scriptsLoaded}" />
+ <aura:renderIf isTrue="{!v.login}">
+ <div class="slds-spinner_container height100vh">
+ <div class="slds-spinner--brand slds-spinner slds-spinner--medium" role="alert">
+ <span class="slds-assistive-text">Loading</span>
+ <div class="slds-spinner__dot-a"></div>
+ <div class="slds-spinner__dot-b"></div>
+ </div>
+ </div>
+ </aura:renderIf>
+ <form class="slds-form--inline">
+ <div class="slds-form-element">
+ <label class="slds-form-element__label">{!v.filedsmap.Hospital_DC_Name__c}</label>
+ <div class="slds-form-element__control">
+ <ui:inputText class="slds-input" value="{!v.hosStr}"/>
+ </div>
+ </div>
+ <div class="slds-form-element">
+ <label class="slds-form-element__label">{!v.filedsmap.Name}</label>
+ <div class="slds-form-element__control">
+ <ui:inputText class="slds-input" value="{!v.conStr}"/>
+ </div>
+ </div>
+ <div class="slds-form-element">
+ <button type="button" class="slds-button slds-button--brand" onclick="{!c.searchContact}">妫�绱�</button>
+ </div>
+ <div class="slds-form-element">
+ <button type="button" class="slds-button slds-button--brand" onclick="{!c.clearContact}">娓呴櫎</button>
+ </div>
+ </form>
+ <div class="contents_wrapper">
+ <table class="slds-table slds-table--bordered slds-table--cell-buffer">
+ <thead>
+ <tr class="slds-text-title--caps">
+ <th scope="col">
+ <div class="slds-truncate" title="{!v.filedsmap.Name}">{!v.filedsmap.Name}</div>
+ </th>
+ <!-- 绮剧悽绉戞妧 zxk SWAG-C8F8TU start -->
+ <th scope="col" style = "width:5px;">
+ <div class="slds-truncate" title="{!v.filedsmap.Hospital_Name__c}">{!v.filedsmap.Hospital_Name__c}</div>
+ </th>
+ <th scope="col" style="width: 150px;">
+ <div class="slds-truncate" title="{!v.filedsmap.Department_Cateogy_F__c}">{!v.filedsmap.Department_Cateogy_F__c}</div>
+ </th>
+ <!-- 绮剧悽绉戞妧 zxk SWAG-C8F8TU end -->
+ <!-- <th scope="col">
+ <div class="slds-truncate" title="{!v.filedsmap.Hospital_DC_Name__c}">{!v.filedsmap.Hospital_DC_Name__c}</div>
+ </th> -->
+ <th scope="col" style="width: 150px;">
+ <div class="slds-truncate" title="{!v.filedsmap.Type__c}">{!v.filedsmap.Type__c}</div>
+ </th>
+ <th scope="col" style="width: 150px;">
+ <div class="slds-truncate" title="{!v.filedsmap.Doctor_Division1__c}">{!v.filedsmap.Doctor_Division1__c}</div>
+ </th>
+ <th scope="col">
+ <div class="slds-truncate" title="{!v.filedsmap.IsOlympusContact__c}">{!v.filedsmap.IsOlympusContact__c}</div>
+ </th>
+ </tr>
+ </thead>
+ <tbody>
+ <aura:iteration items="{!v.accounts}" var="item" indexVar="index">
+ <tr>
+ <th scope="row" data-label="Opportunity Name">
+ <aura:set attribute="temp_aws_id" value="{! item.AWS_Data_Id__c }" />
+
+ <div class="slds-truncate">
+ <a href="{!'/partner/s/agency-contact/' + item.Id}" style="position: relative;">
+ <span class="encrypt">{!item.Name}</span>
+ <span class="decrypt">{!item.awsdata.name}</span>
+ </a>
+ </div>
+ </th>
+ <!-- 绮剧悽绉戞妧 zxk SWAG-C8F8TU start -->
+ <td data-label="Account Name">
+ <aura:renderIf isTrue="{!item.IsOlympusContact__c == false}">
+ <div class="slds-truncate" title="{!item.Hospital_Name__c}"><a href="{!'/partner/s/agency-hospital-link/' + item.Agency_Hospital__c}">{!item.Hospital_Name__c}</a></div>
+ </aura:renderIf>
+ <aura:renderIf isTrue="{!item.IsOlympusContact__c}">
+ <div class="slds-truncate" title="{!item.Hospital_Name__c}">{!item.Hospital_Name__c}</div>
+ </aura:renderIf>
+ </td>
+ <td data-label="Account Name01">
+ <div class="slds-truncate" title="{!item.Department_Cateogy_F__c}">{!item.Department_Cateogy_F__c}</div>
+ </td>
+ <!-- 绮剧悽绉戞妧 zxk SWAG-C8F8TU end -->
+
+ <!-- <td data-label="Account Name">
+ <aura:renderIf isTrue="{!item.IsOlympusContact__c == false}">
+ <div class="slds-truncate" title="{!item.Hospital_DC_Name__c}"><a href="{!'/partner/s/agency-hospital-link/' + item.Agency_Hospital__c}">{!item.Hospital_DC_Name__c}</a></div>
+ </aura:renderIf>
+ <aura:renderIf isTrue="{!item.IsOlympusContact__c}">
+ <div class="slds-truncate" title="{!item.Hospital_DC_Name__c}">{!item.Hospital_DC_Name__c}</div>
+ </aura:renderIf>
+ </td> -->
+
+ <td data-label="Close Date">
+ <div class="slds-truncate" title="{!item.Type__c}">
+ <span class="encrypt">{!item.Type__c}</span>
+ <span class="decrypt">{!item.awsdata.type}</span>
+ </div>
+ </td>
+ <td data-label="Stage">
+ <div class="slds-truncate" title="{!item.Doctor_Division1__c}">
+ <span class="encrypt">{!item.Doctor_Division1__c}</span>
+ <span class="decrypt">{!item.awsdata.doctorDivision1}</span>
+ </div>
+ </td>
+ <td data-label="IsOlympusContact__c">
+ <ui:outputCheckbox value="{!item.IsOlympusContact__c}" />
+ </td>
+ </tr>
+ </aura:iteration>
+ </tbody>
+ </table>
+ </div>
+ <!-- <aura:renderIf isTrue="{!v.report_count > 0}">
+ <aura:set attribute="else">
+ <div class="no_data_area">
+ {!v.list_message}
+ </div>
+ </aura:set>
+ </aura:renderIf> -->
+</aura:component>
\ No newline at end of file
diff --git a/force-app/main/default/aura/AgencyAccount/AgencyAccount.cmp-meta.xml b/force-app/main/default/aura/AgencyAccount/AgencyAccount.cmp-meta.xml
new file mode 100644
index 0000000..7996257
--- /dev/null
+++ b/force-app/main/default/aura/AgencyAccount/AgencyAccount.cmp-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<AuraDefinitionBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>39.0</apiVersion>
+ <description>AgencyAccount view</description>
+</AuraDefinitionBundle>
diff --git a/force-app/main/default/aura/AgencyAccount/AgencyAccount.css b/force-app/main/default/aura/AgencyAccount/AgencyAccount.css
new file mode 100644
index 0000000..c5abf53
--- /dev/null
+++ b/force-app/main/default/aura/AgencyAccount/AgencyAccount.css
@@ -0,0 +1,21 @@
+.THIS.contents_wrapper {
+ padding-top: 10px;
+}
+
+.THIS tr .decrypt{
+ /* position: absolute;
+ top: 0;
+ left: 100%;
+ display: none;
+ text-align: left;
+ padding-left: 5px; */
+ display: none;
+}
+
+.THIS tr:hover .decrypt{
+ display: unset;
+}
+
+.THIS tr:hover .encrypt{
+ display: none;
+}
\ No newline at end of file
diff --git a/force-app/main/default/aura/AgencyAccount/AgencyAccountController.js b/force-app/main/default/aura/AgencyAccount/AgencyAccountController.js
new file mode 100644
index 0000000..73c1a6c
--- /dev/null
+++ b/force-app/main/default/aura/AgencyAccount/AgencyAccountController.js
@@ -0,0 +1,17 @@
+({
+ doInit : function(component, event, helper) {
+ helper.doinit(component, event, helper);
+ },
+
+ searchContact: function(component, event, helper) {
+ helper.searchContact(component, event, helper);
+ },
+
+ clearContact: function(component, event, helper) {
+ helper.clearContact(component, event, helper);
+ },
+ scriptsLoaded:function(component, event, helper) {
+ // AWSService.logFun = helper.saveLog;
+ // AWSService.component = component;
+ }
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/AgencyAccount/AgencyAccountHelper.js b/force-app/main/default/aura/AgencyAccount/AgencyAccountHelper.js
new file mode 100644
index 0000000..0e1d348
--- /dev/null
+++ b/force-app/main/default/aura/AgencyAccount/AgencyAccountHelper.js
@@ -0,0 +1,197 @@
+({
+ doinit : function(component, event, helper) {
+ component.set('v.login',true);
+ component.set("v.awsdata",{});
+
+ var action = component.get("c.getfiledsmap");
+ action.setCallback(this, function(response) {
+ var state = response.getState();
+ if(state === "SUCCESS") {
+ var res = response.getReturnValue();
+
+ component.set("v.filedsmap", res);
+ } else if (state === "ERROR") {
+ var errors = response.getError();
+ var toastEvent = $A.get("e.force:showToast");
+ toastEvent.setParams({
+ "title": "閿欒",
+ "type":"error",
+ "message": errors[0].message
+ });
+ toastEvent.fire();
+ }
+ });
+ $A.enqueueAction(action);
+
+ var action2 = component.get("c.getAccounts");
+ action2.setCallback(this, function(response) {
+ var state = response.getState();
+ if(state === "SUCCESS") {
+ var acList = response.getReturnValue();
+ component.set("v.accounts", acList);
+ helper.Decrypt(component,helper,function(){
+ component.set('v.login',false);
+ })
+
+
+ } else if (state === "ERROR") {
+ var errors = response.getError();
+ var toastEvent = $A.get("e.force:showToast");
+ toastEvent.setParams({
+ "title": "閿欒",
+ "type":"error",
+ "message": errors[0].message
+ });
+ toastEvent.fire();
+ component.set('v.login',false);
+ }
+ });
+
+
+ var action3 = component.get("c.GetConfig");
+ action3.setCallback(this, function(response) {
+ var state = response.getState();
+ if(state === "SUCCESS") {
+ var res = response.getReturnValue();
+ //AWSService.sfSessionId = res.sessionId;
+ component.set("v.staticResource",JSON.parse(res.staticResource));
+ $A.enqueueAction(action2);
+
+ } else if (state === "ERROR") {
+ var errors = response.getError();
+ var toastEvent = $A.get("e.force:showToast");
+ toastEvent.setParams({
+ "title": "閿欒",
+ "type":"error",
+ "message": errors[0].message
+ });
+ toastEvent.fire();
+ }
+ });
+ $A.enqueueAction(action3);
+
+
+ },
+
+ clearContact: function(component, event, helper) {
+ component.set('v.hosStr','');
+ component.set('v.conStr','');
+ this.searchContact(component, event, helper);
+ },
+
+ searchContact: function(component, event, helper) {
+ component.set('v.login',true);
+ var hosStr = component.get("v.hosStr");
+ var conStr = component.get("v.conStr");
+ var action = component.get("c.searchAccounts2");
+ let awsdata = component.get("v.awsdata");
+ let staticResource = component.get("v.staticResource");
+ action.setCallback(this, function(response) {
+ var state = response.getState();
+ if(state === "SUCCESS") {
+ var acList = response.getReturnValue();
+ component.set("v.accounts", acList);
+ helper.Decrypt(component,helper,function(){
+ component.set('v.login',false);
+ })
+ } else if (state === "ERROR") {
+ var errors = response.getError();
+ var toastEvent = $A.get("e.force:showToast");
+ toastEvent.setParams({
+ "title": "閿欒",
+ "type":"error",
+ "message": errors[0].message
+ });
+ toastEvent.fire();
+ component.set('v.login',false);
+ }
+ });
+
+ if (conStr) {
+ AWSService.search(staticResource.searchUrl,JSON.stringify({
+ "name":conStr
+ }),function(data){
+ $A.getCallback(function(){
+ let dataIds = [];
+ if(data.object && data.object.length > 0){
+ for(let d of data.object){
+ if(d.dataId){
+ dataIds.push(d.dataId);
+ awsdata[d.dataId] = d;
+ }
+ }
+ }
+
+ action.setParams({"hosStr": hosStr, awsids:dataIds});
+ $A.enqueueAction(action);
+ })()
+
+ },staticResource.token);
+ }else{
+ action.setParams({"hosStr": hosStr});
+ $A.enqueueAction(action);
+ }
+
+
+
+
+
+
+
+
+ },
+ Decrypt :function(component, helper, callback){
+ let awsdata = component.get("v.awsdata");
+ let need_query = [];
+ let acList = component.get("v.accounts");
+ let staticResource = component.get("v.staticResource");
+ for (const acc of acList) {
+ if(acc.AWS_Data_Id__c &&
+ (!awsdata.hasOwnProperty(acc.AWS_Data_Id__c) || !awsdata[acc.AWS_Data_Id__c])
+ ){
+ need_query.push(acc.AWS_Data_Id__c);
+ }
+ }
+ let Foo = function(){
+ for (const acc of acList) {
+ if(acc.AWS_Data_Id__c && awsdata.hasOwnProperty(acc.AWS_Data_Id__c)){
+ acc.awsdata = awsdata[acc.AWS_Data_Id__c];
+ }
+ }
+ component.set("v.accounts", acList);
+ if(callback)callback();
+ }
+
+ if(need_query.length>0){
+ AWSService.search(staticResource.searchUrl,JSON.stringify({
+ "dataIds":need_query
+ }),function(data){
+ $A.getCallback(function(){
+ if(data.object && data.object.length > 0){
+ for(let d of data.object){
+ if(d.dataId){
+ awsdata[d.dataId] = d;
+ }
+ }
+ }
+
+ Foo();
+ })()
+
+ },staticResource.token);
+ }else{
+ Foo();
+ }
+ },
+ saveLog:function(component,module,url,request,response,status){
+ var action = component.get("c.SaveLog");
+ action.setParams({
+ "module": hosStr,
+ "content": content,
+ "status": status,
+ "respMsg": respMsg
+ });
+
+ $A.enqueueAction(action);
+ }
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/AgencyAccount/AgencyAccountRenderer.js b/force-app/main/default/aura/AgencyAccount/AgencyAccountRenderer.js
new file mode 100644
index 0000000..1310805
--- /dev/null
+++ b/force-app/main/default/aura/AgencyAccount/AgencyAccountRenderer.js
@@ -0,0 +1,3 @@
+({
+ // Your renderer method overrides go here
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/AgencyPerson/AgencyPerson.cmp b/force-app/main/default/aura/AgencyPerson/AgencyPerson.cmp
new file mode 100644
index 0000000..6df540c
--- /dev/null
+++ b/force-app/main/default/aura/AgencyPerson/AgencyPerson.cmp
@@ -0,0 +1,19 @@
+<aura:component controller="AgencyPersonCmp" implements="force:appHostable,flexipage:availableForAllPageTypes,flexipage:availableForRecordHome,forceCommunity:availableForAllPageTypes,force:hasRecordId" access="global">
+ <aura:handler name="init" value="{!this}" action="{!c.doInit}"/>
+ <!-- <aura:handler event="c:strike_evt" action="{!c.createAopp}" name="strike_evt_addNewRecord"/> -->
+ <!-- <aura:attribute name="contacts" type="List"/> -->
+ <aura:attribute name="allselectlist" type="Map"/>
+ <aura:attribute name="selected_agency_person" type="String"/>
+ <aura:attribute name="recordId" type="Id" />
+ <div class="slds-grid slds-wrap">
+ <div class="tr mt5 slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-12 slds-large-size--1-of-12">
+ 閿�鍞媴褰�
+ </div>
+ <div class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--3-of-12 slds-large-size--3-of-12">
+ <ui:inputSelect aura:id="select_agency_person" class="slds-select agency_person_select" change="{!c.select_agency_change}"/>
+ </div>
+ <div class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--2-of-12 slds-large-size--2-of-12">
+ <ui:button aura:id="save_button" label="淇濆瓨" press="{!c.save_record}"/>
+ </div>
+ </div>
+ </aura:component>
\ No newline at end of file
diff --git a/force-app/main/default/aura/AgencyPerson/AgencyPerson.cmp-meta.xml b/force-app/main/default/aura/AgencyPerson/AgencyPerson.cmp-meta.xml
new file mode 100644
index 0000000..b21a18e
--- /dev/null
+++ b/force-app/main/default/aura/AgencyPerson/AgencyPerson.cmp-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<AuraDefinitionBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>46.0</apiVersion>
+ <description>DESCRIPTION</description>
+</AuraDefinitionBundle>
diff --git a/force-app/main/default/aura/AgencyPerson/AgencyPerson.css b/force-app/main/default/aura/AgencyPerson/AgencyPerson.css
new file mode 100644
index 0000000..a5839d4
--- /dev/null
+++ b/force-app/main/default/aura/AgencyPerson/AgencyPerson.css
@@ -0,0 +1,2 @@
+.THIS {
+}
\ No newline at end of file
diff --git a/force-app/main/default/aura/AgencyPerson/AgencyPersonController.js b/force-app/main/default/aura/AgencyPerson/AgencyPersonController.js
new file mode 100644
index 0000000..0ba74c0
--- /dev/null
+++ b/force-app/main/default/aura/AgencyPerson/AgencyPersonController.js
@@ -0,0 +1,13 @@
+({
+ doInit : function(component, event, helper) {
+
+ helper.doinit(component, event, helper);
+
+ },
+ save_record : function(component, event, helper) {
+ helper.save_record(component, event, helper);
+ },
+ select_agency_change : function(component, event, helper) {
+ helper.select_agency_change(component, event, helper);
+ }
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/AgencyPerson/AgencyPersonHelper.js b/force-app/main/default/aura/AgencyPerson/AgencyPersonHelper.js
new file mode 100644
index 0000000..eab91a4
--- /dev/null
+++ b/force-app/main/default/aura/AgencyPerson/AgencyPersonHelper.js
@@ -0,0 +1,110 @@
+({
+ doinit : function(component, event, helper) {
+ // this.report_date_list(component, event, helper, 10);
+
+ component.set('v.login',true);
+ var recordId = component.get('v.recordId');
+ var action = component.get('c.getcontactdata');
+ action.setParams({
+ "recordId" : recordId
+ });
+ action.setCallback(this,function(response){
+ var state = response.getState();
+ if(state == 'SUCCESS'){
+ var res = response.getReturnValue();
+ // component.set('v.alldata',res.reports);
+ // component.set('v.fieldsmap',res.fieldsMap);
+ component.set('v.allselectlist',res.allselectlist);
+ console.log('res.allselectlist:'+res.allselectlist);
+ // component.set('v.doclist',res.doclist);
+ component.find('select_agency_person').set('v.options', this.conv_selected(res.allselectlist.AgencyPerson__c));
+ // component.find('select_department').set('v.options', this.conv_selected(res.allselectlist.Department_Cateogy__c));
+ // component.find('select_purpose_type').set('v.options', this.conv_selected(res.allselectlist.Purpose_Type__c));
+ // component.find('select_result').set('v.options', this.conv_selected(res.allselectlist.Result__c));
+ // component.find('select_stageName').set('v.options', this.conv_selected(res.allselectlist.StageName__c));
+ // component.set('v.selected_agency_person', res.allselectlist.AgencyPerson__c[0].label);
+ // component.set('v.dialog_type', '鏂板缓');
+
+ //this.get_reports(component, event, helper, component.find('select_date').get('v.value'), component.find('select_agency_person').get('v.value'));
+
+ component.set('v.login',false);
+ }
+ else{
+ this.error('doinit failed.');
+ component.set('v.login',false);
+ }
+ });
+ $A.enqueueAction(action);
+ },
+ select_agency_change : function(component, event, helper) {
+ var select_value = component.find('select_agency_person').get('v.value');
+ var new_label = this.get_agency_person_name(component, select_value);
+ component.set('v.selected_agency_person', new_label);
+
+ // this.get_reports(component, event, helper, component.find('select_date').get('v.value'), select_value);
+ // this.new_button_disabled(component, event, helper);
+
+ // component.set('v.select_report_data_radio', '');
+ // component.find('copy_button').set('v.disabled', true);
+ },
+
+ save_record : function(component, event, helper) {
+ // component.find('save_button').set('v.disabled', true);
+ // 淇濆瓨鍑︾悊
+ component.set('v.login',true);
+ var contactId = component.find('select_agency_person').get('v.value');
+ var recordId = component.get('v.recordId');
+ var action = component.get('c.saveagencyOppContact');
+ action.setParams({
+ "recordId" : recordId,
+ "contactId" : contactId
+ });
+
+ action.setCallback(this,function(response){
+ var state = response.getState();
+ if(state == 'SUCCESS'){
+ this.success('淇濆瓨鎴愬姛');
+ $A.get('e.force:refreshView').fire();
+ // component.find('save_button').set('v.disabled', false);
+ component.set('v.login',false);
+ }
+ else{
+ this.error('save_record failed.');
+ component.find('save_button').set('v.disabled', false);
+ component.set('v.login',false);
+ }
+ });
+ $A.enqueueAction(action);
+ },
+
+ conv_selected : function(obj) {
+ for (var i = 0; i < obj.length; i++) {
+ if (obj[i].selected) {
+ if (obj[i].selected == 'true') {
+ obj[i].selected = true;
+ } else {
+ obj[i].selected = false;
+ }
+ }
+ }
+
+ return obj;
+ },
+ success : function(message) {
+ var toastEvent = $A.get("e.force:showToast");
+ toastEvent.setParams({
+ "title" : "鎴愬姛!",
+ "message" : message,
+ "type" : "success",
+ "duration" : "5000"
+ });
+ toastEvent.fire();
+ },
+
+ hideCmp : function(component, event, helper) {
+ var div1 = component.find('report')
+ var div2 = component.find('report_list')
+ $A.util.addClass(div1, 'disp_none');
+ $A.util.addClass(div2, 'disp_none');
+ }
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/BackToHomePage/BackToHomePage.evt b/force-app/main/default/aura/BackToHomePage/BackToHomePage.evt
new file mode 100644
index 0000000..4f391c6
--- /dev/null
+++ b/force-app/main/default/aura/BackToHomePage/BackToHomePage.evt
@@ -0,0 +1,14 @@
+<aura:event type="COMPONENT" description="Event template">
+ <!-- 瀹氫箟涓�涓彉閲� -->
+ <aura:attribute name="DNName" type="String"/>
+ <aura:attribute name="IsAgencyShow" type="Boolean" />
+ <aura:attribute name="ShowDNNameQR" type="String" />
+ <!-- DN绛炬敹鐘舵��(缁忛攢鍟�) -->
+ <aura:attribute name="agencyDNSignUpStatus" type="String" />
+ <!-- DN绛炬敹鐘舵��(鍖婚櫌) -->
+ <aura:attribute name="HPDNSignUpStatus" type="String" />
+ <!-- 缁忛攢鍟嗙鏀舵棩鏈� -->
+ <aura:attribute name="agencySubmit" type="Date" />
+ <!-- 澶囩敤DN鍙� -->
+ <aura:attribute name="DNNameSpare" type="String" />
+</aura:event>
\ No newline at end of file
diff --git a/force-app/main/default/aura/BackToHomePage/BackToHomePage.evt-meta.xml b/force-app/main/default/aura/BackToHomePage/BackToHomePage.evt-meta.xml
new file mode 100644
index 0000000..4076603
--- /dev/null
+++ b/force-app/main/default/aura/BackToHomePage/BackToHomePage.evt-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<AuraDefinitionBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>49.0</apiVersion>
+ <description>DESCRIPTION</description>
+</AuraDefinitionBundle>
diff --git a/force-app/main/default/aura/CopyPILightning/CopyPILightning.cmp b/force-app/main/default/aura/CopyPILightning/CopyPILightning.cmp
new file mode 100644
index 0000000..0d231a3
--- /dev/null
+++ b/force-app/main/default/aura/CopyPILightning/CopyPILightning.cmp
@@ -0,0 +1,8 @@
+<aura:component implements="force:lightningQuickActionWithoutHeader,force:hasRecordId,lightning:isUrlAddressable" >
+ <aura:attribute name = "recordId" type = "Id" default = ""/>
+ <aura:handler name="init" value="{!this}" action="{!c.doInit}" />
+ <c:NewAgencyContact>
+ <aura:set attribute="isClone" value="true"/>
+ <aura:set attribute="recordId" value="{!v.recordId}"/>
+ </c:NewAgencyContact>
+</aura:component>
\ No newline at end of file
diff --git a/force-app/main/default/aura/CopyPILightning/CopyPILightning.cmp-meta.xml b/force-app/main/default/aura/CopyPILightning/CopyPILightning.cmp-meta.xml
new file mode 100644
index 0000000..30e17e8
--- /dev/null
+++ b/force-app/main/default/aura/CopyPILightning/CopyPILightning.cmp-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<AuraDefinitionBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>50.0</apiVersion>
+ <description>A Lightning Component Bundle</description>
+</AuraDefinitionBundle>
diff --git a/force-app/main/default/aura/CopyPILightning/CopyPILightningController.js b/force-app/main/default/aura/CopyPILightning/CopyPILightningController.js
new file mode 100644
index 0000000..7574763
--- /dev/null
+++ b/force-app/main/default/aura/CopyPILightning/CopyPILightningController.js
@@ -0,0 +1,6 @@
+({
+ doInit : function(component, event, helper) {
+
+
+ }
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/CopyPILightning/CopyPILightningHelper.js b/force-app/main/default/aura/CopyPILightning/CopyPILightningHelper.js
new file mode 100644
index 0000000..24be77e
--- /dev/null
+++ b/force-app/main/default/aura/CopyPILightning/CopyPILightningHelper.js
@@ -0,0 +1,5 @@
+({
+ helperMethod : function() {
+
+ }
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/CreateTarget/CreateTarget.cmp b/force-app/main/default/aura/CreateTarget/CreateTarget.cmp
new file mode 100644
index 0000000..cd40cf4
--- /dev/null
+++ b/force-app/main/default/aura/CreateTarget/CreateTarget.cmp
@@ -0,0 +1,318 @@
+<aura:component controller="CreateTargetCmp" implements="forceCommunity:availableForAllPageTypes,force:hasRecordId" access="global" >
+ <aura:handler name="init" value="{!this}" action="{!c.doInit}"/>
+ <aura:attribute name="recordId" type="Id" />
+ <aura:attribute name="hospital" type="string" default=""/>
+ <aura:attribute name="test" type="string" default="1"/>
+ <aura:handler event="force:refreshView" action="{!c.isRefreshed}" />
+ <aura:attribute name="hospitalId" type="string" default=""/>
+ <aura:attribute name="GIAmount" type="string" default="0.00"/>
+ <aura:attribute name="BFAmount" type="string" default="0.00"/>
+ <aura:attribute name="ETAmount" type="string" default="0.00"/>
+ <aura:attribute name="GSAmount" type="string" default="0.00"/>
+ <aura:attribute name="UROAmount" type="string" default="0.00"/>
+ <aura:attribute name="GYNAmount" type="string" default="0.00"/>
+ <aura:attribute name="ENTAmount" type="string" default="0.00"/>
+ <aura:attribute name="OTHAmount" type="string" default="0.00"/>
+ <aura:attribute name="OCMTerm" type="string" default=""/>
+ <aura:attribute name="button_text" type="string" default="鏂板缓"/>
+ <aura:handler name="change" value="{!v.record.Agency_Hospital__c}" action="{!c.hosChange}"/>
+ <aura:attribute name="hospitalList" type="sobject[]" />
+ <aura:attribute name="record" type="Agency_Opportunity__c" default="{'sobjectType':'Agency_Opportunity__c'}"/>
+ <aura:handler name="change" value="{!v.recordET.Product_Category1__c}" action="{!c.productcategoryETChange1}"/>
+ <aura:handler name="change" value="{!v.recordET.Product_Category2__c}" action="{!c.productcategoryETChange2}"/>
+ <aura:handler name="change" value="{!v.recordET.Product_Category3__c}" action="{!c.productcategoryETChange3}"/>
+
+
+ <aura:handler name="change" value="{!v.recordBF.Product_Category1__c}" action="{!c.productcategoryBFChange1}"/>
+ <aura:handler name="change" value="{!v.recordBF.Product_Category2__c}" action="{!c.productcategoryBFChange2}"/>
+ <aura:handler name="change" value="{!v.recordBF.Product_Category3__c}" action="{!c.productcategoryBFChange3}"/>
+ <aura:handler name="change" value="{!v.recordGS.Product_Category1__c}" action="{!c.productcategoryGSChange1}"/>
+ <aura:handler name="change" value="{!v.recordGS.Product_Category2__c}" action="{!c.productcategoryGSChange2}"/>
+ <aura:handler name="change" value="{!v.recordGS.Product_Category3__c}" action="{!c.productcategoryGSChange3}"/>
+ <aura:handler name="change" value="{!v.recordURO.Product_Category1__c}" action="{!c.productcategoryUROChange1}"/>
+ <aura:handler name="change" value="{!v.recordURO.Product_Category2__c}" action="{!c.productcategoryUROChange2}"/>
+ <aura:handler name="change" value="{!v.recordURO.Product_Category3__c}" action="{!c.productcategoryUROChange3}"/>
+ <aura:handler name="change" value="{!v.recordGYN.Product_Category1__c}" action="{!c.productcategoryGYNChange1}"/>
+ <aura:handler name="change" value="{!v.recordGYN.Product_Category2__c}" action="{!c.productcategoryGYNChange2}"/>
+ <aura:handler name="change" value="{!v.recordGYN.Product_Category3__c}" action="{!c.productcategoryGYNChange3}"/>
+ <aura:handler name="change" value="{!v.recordENT.Product_Category1__c}" action="{!c.productcategoryENTChange1}"/>
+ <aura:handler name="change" value="{!v.recordENT.Product_Category2__c}" action="{!c.productcategoryENTChange2}"/>
+ <aura:handler name="change" value="{!v.recordENT.Product_Category3__c}" action="{!c.productcategoryENTChange3}"/>
+ <aura:handler name="change" value="{!v.recordOTH.Product_Category1__c}" action="{!c.productcategoryOTHChange1}"/>
+ <aura:handler name="change" value="{!v.recordOTH.Product_Category2__c}" action="{!c.productcategoryOTHChange2}"/>
+ <aura:handler name="change" value="{!v.recordOTH.Product_Category3__c}" action="{!c.productcategoryOTHChange3}"/>
+ <div class="button_area">
+ <ui:button label="{!v.button_text}" press="{!c.toggle_report}"/>
+ </div>
+ <div aura:id="modal_window" role="dialog" tabindex="-1" class="disp_none slds-modal slds-fade-in-open slds-modal--large" aria-labelledby="headerTarget">
+ <div class="slds-modal__container">
+ <div class="slds-modal__header">
+ <button class="slds-button slds-modal__close slds-button--icon-inverse" title="Close" onclick="{!c.toggle_report}">
+ <lightning:icon class="close_icn" iconName="utility:close" size="medium" alternativeText="Indicates approval"/>
+ <span class="slds-assistive-text">Close</span>
+ </button>
+ <h2 id="headerTarget" class="slds-text-heading--medium">鐩爣({!v.OCMTerm})</h2>
+ </div>
+ <div class="slds-modal__content slds-grow slds-p-around--medium">
+ <div class="slds-box slds-theme--shade ">
+ <fieldset class="slds-form--compound">
+ <div class="slds-form-element__group">
+ <div class="slds-form-element__row">
+ <div class="slds-form-element slds-size--1-of-2">
+ <label class="slds-form-element__label" for="input-hos">鍖婚櫌</label>
+ <force:inputField value="{!v.record.Agency_Hospital__c}" aura:id="input-hos"/>
+ </div>
+ </div>
+ <!-- <h4 class="slds-section__title">璁块棶鐩爣</h4>
+ <div class="slds-form-element__row">
+ <div class="slds-form-element slds-size-1-of-2">
+ <label class="slds-form-element__label" for="input-target">鐩爣鍖婚櫌</label>
+ <force:inputField value="{!v.record2.TargetHospital__c}" aura:id="input-target"/>
+ </div>
+ </div> -->
+ <h4 class="slds-section__title">浜у搧鐩爣</h4>
+ <div class="slds-form-element__row">
+ <div class="slds-size--1-of-7 slds-grid--align-center">
+ <div style="margin-top: 32px;">娑堝寲绉�</div>
+ </div>
+ <div class="slds-form-element slds-size--1-of-7">
+ <label class="slds-form-element__label" for="input-hos">浜у搧鍖哄垎1</label>
+ <ui:inputSelect aura:id="select_GI1" class="slds-select" change="{!c.productcategoryGIChange1}"/>
+ </div>
+ <div class="slds-form-element slds-size--1-of-7">
+ <label class="slds-form-element__label" for="input-hos">閲戦鐩爣(涓嶅惈绋�)</label>
+ <ui:inputText aura:id="select_GI4_1" class="slds-select"/>
+ </div>
+ <div class="slds-form-element slds-size--1-of-7">
+ <label class="slds-form-element__label" for="input-hos">浜у搧鍖哄垎2</label>
+ <ui:inputSelect aura:id="select_GI2" class="slds-select" change="{!c.productcategoryGIChange2}"/>
+ </div>
+ <div class="slds-form-element slds-size--1-of-7">
+ <label class="slds-form-element__label" for="input-hos">閲戦鐩爣(涓嶅惈绋�)</label>
+ <ui:inputText aura:id="select_GI4_2" class="slds-select" />
+ </div>
+ <div class="slds-form-element slds-size--1-of-7">
+ <label class="slds-form-element__label" for="input-hos">浜у搧鍖哄垎3</label>
+ <ui:inputSelect aura:id="select_GI3" class="slds-select" change="{!c.productcategoryGIChange3}"/>
+ </div>
+ <div class="slds-form-element slds-size--1-of-7">
+ <label class="slds-form-element__label" for="input-hos">閲戦鐩爣(涓嶅惈绋�)</label>
+ <ui:inputText aura:id="select_GI4_3" class="slds-select"/>
+ </div>
+ </div>
+ <div class="slds-form-element__row">
+ <div class="slds-size--1-of-7 slds-grid--align-center">
+ <div style="margin-top: 32px;">ET鑰楁潗</div>
+ </div>
+ <div class="slds-form-element slds-size--1-of-7">
+ <label class="slds-form-element__label" for="input-hos">浜у搧鍖哄垎1</label>
+ <ui:inputSelect aura:id="select_ET1" class="slds-select" change="{!c.productcategoryETChange1}"/>
+ </div>
+ <div class="slds-form-element slds-size--1-of-7">
+ <label class="slds-form-element__label" for="input-hos">閲戦鐩爣(涓嶅惈绋�)</label>
+ <ui:inputText aura:id="select_ET4_1" class="slds-select"/>
+ </div>
+ <div class="slds-form-element slds-size--1-of-7">
+ <label class="slds-form-element__label" for="input-hos">浜у搧鍖哄垎2</label>
+ <ui:inputSelect aura:id="select_ET2" class="slds-select" change="{!c.productcategoryETChange2}"/>
+ </div>
+ <div class="slds-form-element slds-size--1-of-7">
+ <label class="slds-form-element__label" for="input-hos">閲戦鐩爣(涓嶅惈绋�)</label>
+ <ui:inputText aura:id="select_ET4_2" class="slds-select"/>
+ </div>
+ <div class="slds-form-element slds-size--1-of-7">
+ <label class="slds-form-element__label" for="input-hos">浜у搧鍖哄垎3</label>
+ <ui:inputSelect aura:id="select_ET3" class="slds-select" change="{!c.productcategoryETChange3}"/>
+ </div>
+ <div class="slds-form-element slds-size--1-of-7">
+ <label class="slds-form-element__label" for="input-hos">閲戦鐩爣(涓嶅惈绋�)</label>
+ <ui:inputText aura:id="select_ET4_3" class="slds-select" />
+ </div>
+ </div>
+ <div class="slds-form-element__row">
+ <div class="slds-size--1-of-7 slds-grid--align-center">
+ <div style="margin-top: 32px;">鍛煎惛绉�</div>
+ </div>
+ <div class="slds-form-element slds-size--1-of-7">
+ <label class="slds-form-element__label" for="input-hos">浜у搧鍖哄垎1</label>
+ <ui:inputSelect aura:id="select_BF1" class="slds-select" change="{!c.productcategoryBFChange1}"/>
+ </div>
+ <div class="slds-form-element slds-size--1-of-7">
+ <label class="slds-form-element__label" for="input-hos">閲戦鐩爣(涓嶅惈绋�)</label>
+ <ui:inputText aura:id="select_BF4_1" class="slds-select" />
+ </div>
+ <div class="slds-form-element slds-size--1-of-7">
+ <label class="slds-form-element__label" for="input-hos">浜у搧鍖哄垎2</label>
+ <ui:inputSelect aura:id="select_BF2" class="slds-select" change="{!c.productcategoryBFChange2}"/>
+ </div>
+ <div class="slds-form-element slds-size--1-of-7">
+ <label class="slds-form-element__label" for="input-hos">閲戦鐩爣(涓嶅惈绋�)</label>
+ <ui:inputText aura:id="select_BF4_2" class="slds-select" />
+ </div>
+ <div class="slds-form-element slds-size--1-of-7">
+ <label class="slds-form-element__label" for="input-hos">浜у搧鍖哄垎3</label>
+ <ui:inputSelect aura:id="select_BF3" class="slds-select" change="{!c.productcategoryBFChange3}"/>
+ </div>
+ <div class="slds-form-element slds-size--1-of-7">
+ <label class="slds-form-element__label" for="input-hos">閲戦鐩爣(涓嶅惈绋�)</label>
+ <ui:inputText aura:id="select_BF4_3" class="slds-select" />
+ </div>
+ </div>
+ <div class="slds-form-element__row">
+ <div class="slds-size--1-of-7 slds-grid--align-center">
+ <div style="margin-top: 32px;">鏅绉�</div>
+ </div>
+ <div class="slds-form-element slds-size--1-of-7">
+ <label class="slds-form-element__label" for="input-hos">浜у搧鍖哄垎1</label>
+ <ui:inputSelect aura:id="select_GS1" class="slds-select" change="{!c.productcategoryGSChange1}"/>
+ </div>
+ <div class="slds-form-element slds-size--1-of-7">
+ <label class="slds-form-element__label" for="input-hos">閲戦鐩爣(涓嶅惈绋�)</label>
+ <ui:inputText aura:id="select_GS4_1" class="slds-select" />
+ </div>
+ <div class="slds-form-element slds-size--1-of-7">
+ <label class="slds-form-element__label" for="input-hos">浜у搧鍖哄垎2</label>
+ <ui:inputSelect aura:id="select_GS2" class="slds-select" change="{!c.productcategoryGSChange2}"/>
+ </div>
+ <div class="slds-form-element slds-size--1-of-7">
+ <label class="slds-form-element__label" for="input-hos">閲戦鐩爣(涓嶅惈绋�)</label>
+ <ui:inputText aura:id="select_GS4_2" class="slds-select" />
+ </div>
+ <div class="slds-form-element slds-size--1-of-7">
+ <label class="slds-form-element__label" for="input-hos">浜у搧鍖哄垎3</label>
+ <ui:inputSelect aura:id="select_GS3" class="slds-select" change="{!c.productcategoryGSChange3}"/>
+ </div>
+ <div class="slds-form-element slds-size--1-of-7">
+ <label class="slds-form-element__label" for="input-hos">閲戦鐩爣(涓嶅惈绋�)</label>
+ <ui:inputText aura:id="select_GS4_3" class="slds-select" />
+ </div>
+ </div>
+ <div class="slds-form-element__row">
+ <div class="slds-size--1-of-7 slds-grid--align-center">
+ <div style="margin-top: 32px;">娉屽翱绉�</div>
+ </div>
+ <div class="slds-form-element slds-size--1-of-7">
+ <label class="slds-form-element__label" for="input-hos">浜у搧鍖哄垎1</label>
+ <ui:inputSelect aura:id="select_URO1" class="slds-select" change="{!c.productcategoryUROChange1}"/>
+ </div>
+ <div class="slds-form-element slds-size--1-of-7">
+ <label class="slds-form-element__label" for="input-hos">閲戦鐩爣(涓嶅惈绋�)</label>
+ <ui:inputText aura:id="select_URO4_1" class="slds-select" />
+ </div>
+ <div class="slds-form-element slds-size--1-of-7">
+ <label class="slds-form-element__label" for="input-hos">浜у搧鍖哄垎2</label>
+ <ui:inputSelect aura:id="select_URO2" class="slds-select" change="{!c.productcategoryUROChange2}"/>
+ </div>
+ <div class="slds-form-element slds-size--1-of-7">
+ <label class="slds-form-element__label" for="input-hos">閲戦鐩爣(涓嶅惈绋�)</label>
+ <ui:inputText aura:id="select_URO4_2" class="slds-select" />
+ </div>
+ <div class="slds-form-element slds-size--1-of-7">
+ <label class="slds-form-element__label" for="input-hos">浜у搧鍖哄垎3</label>
+ <ui:inputSelect aura:id="select_URO3" class="slds-select" change="{!c.productcategoryUROChange3}"/>
+ </div>
+ <div class="slds-form-element slds-size--1-of-7">
+ <label class="slds-form-element__label" for="input-hos">閲戦鐩爣(涓嶅惈绋�)</label>
+ <ui:inputText aura:id="select_URO4_3" class="slds-select" />
+ </div>
+ </div>
+ <div class="slds-form-element__row">
+ <div class="slds-size--1-of-7 slds-grid--align-center">
+ <div style="margin-top: 32px;">濡囩</div>
+ </div>
+ <div class="slds-form-element slds-size--1-of-7">
+ <label class="slds-form-element__label" for="input-hos">浜у搧鍖哄垎1</label>
+ <ui:inputSelect aura:id="select_GYN1" class="slds-select" change="{!c.productcategoryGYNChange1}"/>
+ </div>
+ <div class="slds-form-element slds-size--1-of-7">
+ <label class="slds-form-element__label" for="input-hos">閲戦鐩爣(涓嶅惈绋�)</label>
+ <ui:inputText aura:id="select_GYN4_1" class="slds-select" />
+ </div>
+ <div class="slds-form-element slds-size--1-of-7">
+ <label class="slds-form-element__label" for="input-hos">浜у搧鍖哄垎2</label>
+ <ui:inputSelect aura:id="select_GYN2" class="slds-select" change="{!c.productcategoryGYNChange2}"/>
+ </div>
+ <div class="slds-form-element slds-size--1-of-7">
+ <label class="slds-form-element__label" for="input-hos">閲戦鐩爣(涓嶅惈绋�)</label>
+ <ui:inputText aura:id="select_GYN4_2" class="slds-select" />
+ </div>
+ <div class="slds-form-element slds-size--1-of-7">
+ <label class="slds-form-element__label" for="input-hos">浜у搧鍖哄垎3</label>
+ <ui:inputSelect aura:id="select_GYN3" class="slds-select" change="{!c.productcategoryGYNChange3}"/>
+ </div>
+ <div class="slds-form-element slds-size--1-of-7">
+ <label class="slds-form-element__label" for="input-hos">閲戦鐩爣(涓嶅惈绋�)</label>
+ <ui:inputText aura:id="select_GYN4_3" class="slds-select" />
+ </div>
+ </div>
+ <div class="slds-form-element__row">
+ <div class="slds-size--1-of-7 slds-grid--align-center">
+ <div style="margin-top: 32px;">鑰抽蓟鍠夌</div>
+ </div>
+ <div class="slds-form-element slds-size--1-of-7">
+ <label class="slds-form-element__label" for="input-hos">浜у搧鍖哄垎1</label>
+ <ui:inputSelect aura:id="select_ENT1" class="slds-select" change="{!c.productcategoryENTChange1}"/>
+ </div>
+ <div class="slds-form-element slds-size--1-of-7">
+ <label class="slds-form-element__label" for="input-hos">閲戦鐩爣(涓嶅惈绋�)</label>
+ <ui:inputText aura:id="select_ENT4_1" class="slds-select" />
+ </div>
+ <div class="slds-form-element slds-size--1-of-7">
+ <label class="slds-form-element__label" for="input-hos">浜у搧鍖哄垎2</label>
+ <ui:inputSelect aura:id="select_ENT2" class="slds-select" change="{!c.productcategoryENTChange2}"/>
+ </div>
+ <div class="slds-form-element slds-size--1-of-7">
+ <label class="slds-form-element__label" for="input-hos">閲戦鐩爣(涓嶅惈绋�)</label>
+ <ui:inputText aura:id="select_ENT4_2" class="slds-select" />
+ </div>
+ <div class="slds-form-element slds-size--1-of-7">
+ <label class="slds-form-element__label" for="input-hos">浜у搧鍖哄垎3</label>
+ <ui:inputSelect aura:id="select_ENT3" class="slds-select" change="{!c.productcategoryENTChange3}"/>
+ </div>
+ <div class="slds-form-element slds-size--1-of-7">
+ <label class="slds-form-element__label" for="input-hos">閲戦鐩爣(涓嶅惈绋�)</label>
+ <ui:inputText aura:id="select_ENT4_3" class="slds-select" />
+ </div>
+ </div>
+ <div class="slds-form-element__row">
+ <div class="slds-size--1-of-7 slds-grid--align-center">
+ <div style="margin-top: 32px;">鍏朵粬</div>
+ </div>
+ <div class="slds-form-element slds-size--1-of-7">
+ <label class="slds-form-element__label" for="input-hos">浜у搧鍖哄垎1</label>
+ <ui:inputSelect aura:id="select_OTH1" class="slds-select" change="{!c.productcategoryOTHChange1}"/>
+ </div>
+ <div class="slds-form-element slds-size--1-of-7">
+ <label class="slds-form-element__label" for="input-hos">閲戦鐩爣(涓嶅惈绋�)</label>
+ <ui:inputText aura:id="select_OTH4_1" class="slds-select" />
+ </div>
+ <div class="slds-form-element slds-size--1-of-7">
+ <label class="slds-form-element__label" for="input-hos">浜у搧鍖哄垎2</label>
+ <ui:inputSelect aura:id="select_OTH2" class="slds-select" change="{!c.productcategoryOTHChange2}"/>
+ </div>
+ <div class="slds-form-element slds-size--1-of-7">
+ <label class="slds-form-element__label" for="input-hos">閲戦鐩爣(涓嶅惈绋�)</label>
+ <ui:inputText aura:id="select_OTH4_2" class="slds-select" />
+ </div>
+ <div class="slds-form-element slds-size--1-of-7">
+ <label class="slds-form-element__label" for="input-hos">浜у搧鍖哄垎3</label>
+ <ui:inputSelect aura:id="select_OTH3" class="slds-select" change="{!c.productcategoryOTHChange3}"/>
+ </div>
+ <div class="slds-form-element slds-size--1-of-7">
+ <label class="slds-form-element__label" for="input-hos">閲戦鐩爣(涓嶅惈绋�)</label>
+ <ui:inputText aura:id="select_OTH4_3" class="slds-select" />
+ </div>
+ </div>
+ </div>
+ </fieldset>
+ </div>
+ </div>
+ <div class="slds-modal__footer slds-grid slds-grid--align-spread">
+ <div class="slds-order--1" />
+ <ui:button aura:id="save_button" label="淇濆瓨" class="slds-button slds-button--brand slds-order--2" press="{!c.createTarget}"/>
+ <div class="slds-order--3" />
+ </div>
+ </div>
+ </div>
+ <div aura:id="modal_bg" class="disp_none slds-backdrop slds-backdrop--open"></div>
+</aura:component>
\ No newline at end of file
diff --git a/force-app/main/default/aura/CreateTarget/CreateTarget.cmp-meta.xml b/force-app/main/default/aura/CreateTarget/CreateTarget.cmp-meta.xml
new file mode 100644
index 0000000..17a8a42
--- /dev/null
+++ b/force-app/main/default/aura/CreateTarget/CreateTarget.cmp-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<AuraDefinitionBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>39.0</apiVersion>
+ <description>A Lightning Component Bundle</description>
+</AuraDefinitionBundle>
diff --git a/force-app/main/default/aura/CreateTarget/CreateTarget.css b/force-app/main/default/aura/CreateTarget/CreateTarget.css
new file mode 100644
index 0000000..9365600
--- /dev/null
+++ b/force-app/main/default/aura/CreateTarget/CreateTarget.css
@@ -0,0 +1,6 @@
+.THIS.button_area {
+ text-align: right;
+}
+.THIS.disp_none {
+ display: none;
+}
\ No newline at end of file
diff --git a/force-app/main/default/aura/CreateTarget/CreateTargetController.js b/force-app/main/default/aura/CreateTarget/CreateTargetController.js
new file mode 100644
index 0000000..ac84a14
--- /dev/null
+++ b/force-app/main/default/aura/CreateTarget/CreateTargetController.js
@@ -0,0 +1,230 @@
+({
+ doInit : function(component, event, helper) {
+ helper.doinit(component, event, helper);
+ },
+ toggle_report : function(component, event, helper) {
+ helper.toggle_report(component, event, helper);
+ },
+ createTarget : function (component, event, helper) {
+ helper.createTarget(component, event, helper);
+ },
+ hosChange : function(component, event, helper) {
+ // var hospital_name = event.getParam("value");
+ // if (hospital_name.match(/(\S+\s)+/)) {
+ // helper.searchHos(component, event, helper);
+ // } else {
+ // helper.hideSearch(component, event, helper);
+ // }
+ var hosId = component.get("v.record.Agency_Hospital__c");
+ if (hosId != null && hosId != '' && hosId != 'MALFORMED_ID') {
+ helper.selectHos(component, event, helper);
+ }
+
+ },
+ productcategoryGIChange1 : function(component, event, helper) {
+ var hosId = component.find("select_GI1").get("v.value");
+ if (hosId != null && hosId != '' && hosId != 'MALFORMED_ID') {
+ helper.productcategoryChange(component, event, helper, 'GI', 1);
+ }
+ },
+ productcategoryGIChange2 : function(component, event, helper) {
+ var hosId = component.find("select_GI2").get("v.value");
+ if (hosId != null && hosId != '' && hosId != 'MALFORMED_ID') {
+ helper.productcategoryChange(component, event, helper, 'GI', 2);
+ }
+ },
+ productcategoryGIChange3 : function(component, event, helper) {
+ var hosId = component.find("select_GI3").get("v.value");
+ if (hosId != null && hosId != '' && hosId != 'MALFORMED_ID') {
+ helper.productcategoryChange(component, event, helper, 'GI', 3);
+ }
+ },
+ aimpricGIChange4 : function(component, event, helper) {
+ var hosId = component.find("select_GI4_2").get("v.value");
+ if (hosId != null && hosId != '' && hosId != 'MALFORMED_ID') {
+ helper.productcategoryChange(component, event, helper, 'GI', 3);
+ }
+ },
+
+
+ productcategoryGSChange1 : function(component, event, helper) {
+ var hosId = component.find("select_GS1").get("v.value");
+ if (hosId != null && hosId != '' && hosId != 'MALFORMED_ID') {
+ helper.productcategoryChange(component, event, helper, 'GS', 1);
+ }
+ },
+ productcategoryGSChange2 : function(component, event, helper) {
+ var hosId = component.find("select_GS2").get("v.value");
+ if (hosId != null && hosId != '' && hosId != 'MALFORMED_ID') {
+ helper.productcategoryChange(component, event, helper, 'GS', 2);
+ }
+ },
+ productcategoryGSChange3 : function(component, event, helper) {
+ var hosId = component.find("select_GS3").get("v.value");
+ if (hosId != null && hosId != '' && hosId != 'MALFORMED_ID') {
+ helper.productcategoryChange(component, event, helper, 'GS', 3);
+ }
+ },
+ aimpricGSChange4 : function(component, event, helper) {
+ var hosId = component.find("select_GS4").get("v.value");
+ if (hosId != null && hosId != '' && hosId != 'MALFORMED_ID') {
+ helper.productcategoryChange(component, event, helper, 'GS', 3);
+ }
+ },
+
+
+ productcategoryETChange1 : function(component, event, helper) {
+ var hosId = component.find("select_ET1").get("v.value");
+ if (hosId != null && hosId != '' && hosId != 'MALFORMED_ID') {
+ helper.productcategoryChange(component, event, helper, 'ET', 1);
+ }
+ },
+ productcategoryETChange2 : function(component, event, helper) {
+ var hosId = component.find("select_ET2").get("v.value");
+ if (hosId != null && hosId != '' && hosId != 'MALFORMED_ID') {
+ helper.productcategoryChange(component, event, helper, 'ET', 2);
+ }
+ },
+ productcategoryETChange3 : function(component, event, helper) {
+ var hosId = component.find("select_ET3").get("v.value");
+ if (hosId != null && hosId != '' && hosId != 'MALFORMED_ID') {
+ helper.productcategoryChange(component, event, helper, 'ET', 3);
+ }
+ },
+ aimpricETChange4 : function(component, event, helper) {
+ var hosId = component.find("select_ET4").get("v.value");
+ if (hosId != null && hosId != '' && hosId != 'MALFORMED_ID') {
+ helper.productcategoryChange(component, event, helper, 'ET', 3);
+ }
+ },
+
+ productcategoryBFChange1 : function(component, event, helper) {
+ var hosId = component.find("select_BF1").get("v.value");
+ if (hosId != null && hosId != '' && hosId != 'MALFORMED_ID') {
+ helper.productcategoryChange(component, event, helper, 'BF', 1);
+ }
+ },
+ productcategoryBFChange2 : function(component, event, helper) {
+ var hosId = component.find("select_BF2").get("v.value");
+ if (hosId != null && hosId != '' && hosId != 'MALFORMED_ID') {
+ helper.productcategoryChange(component, event, helper, 'BF', 2);
+ }
+ },
+ productcategoryBFChange3 : function(component, event, helper) {
+ var hosId = component.find("select_BF3").get("v.value");
+ if (hosId != null && hosId != '' && hosId != 'MALFORMED_ID') {
+ helper.productcategoryChange(component, event, helper, 'BF', 3);
+ }
+ },
+ aimpricBFChange4 : function(component, event, helper) {
+ var hosId = component.find("select_BF4").get("v.value");
+ if (hosId != null && hosId != '' && hosId != 'MALFORMED_ID') {
+ helper.productcategoryChange(component, event, helper, 'BF', 3);
+ }
+ },
+
+
+ productcategoryOTHChange1 : function(component, event, helper) {
+ var hosId = component.find("select_OTH1").get("v.value");
+ if (hosId != null && hosId != '' && hosId != 'MALFORMED_ID') {
+ helper.productcategoryChange(component, event, helper, 'OTH', 1);
+ }
+ },
+ productcategoryOTHChange2 : function(component, event, helper) {
+ var hosId = component.find("select_OTH1").get("v.value");
+ if (hosId != null && hosId != '' && hosId != 'MALFORMED_ID') {
+ helper.productcategoryChange(component, event, helper, 'OTH', 2);
+ }
+ },
+ productcategoryOTHChange3 : function(component, event, helper) {
+ var hosId = component.find("select_OTH3").get("v.value");
+ if (hosId != null && hosId != '' && hosId != 'MALFORMED_ID') {
+ helper.productcategoryChange(component, event, helper, 'OTH', 3);
+ }
+ },
+ aimpricOTHChange4 : function(component, event, helper) {
+ var hosId = component.find("select_OTH4").get("v.value");
+ if (hosId != null && hosId != '' && hosId != 'MALFORMED_ID') {
+ helper.productcategoryChange(component, event, helper, 'OTH', 3);
+ }
+ },
+
+ productcategoryENTChange1 : function(component, event, helper) {
+ var hosId = component.find("select_ENT1").get("v.value");
+ if (hosId != null && hosId != '' && hosId != 'MALFORMED_ID') {
+ helper.productcategoryChange(component, event, helper, 'ENT', 1);
+ }
+ },
+ productcategoryENTChange2 : function(component, event, helper) {
+ var hosId = component.find("select_ENT2").get("v.value");
+ if (hosId != null && hosId != '' && hosId != 'MALFORMED_ID') {
+ helper.productcategoryChange(component, event, helper, 'ENT', 2);
+ }
+ },
+ productcategoryENTChange3 : function(component, event, helper) {
+ var hosId = component.find("select_ENT3").get("v.value");
+ if (hosId != null && hosId != '' && hosId != 'MALFORMED_ID') {
+ helper.productcategoryChange(component, event, helper, 'ENT', 3);
+ }
+ },
+ aimpricENTChange4 : function(component, event, helper) {
+ var hosId = component.find("select_ENT4").get("v.value");
+ if (hosId != null && hosId != '' && hosId != 'MALFORMED_ID') {
+ helper.productcategoryChange(component, event, helper, 'ENT', 3);
+ }
+ },
+
+ productcategoryUROChange1 : function(component, event, helper) {
+ var hosId = component.find("select_URO1").get("v.value");
+ if (hosId != null && hosId != '' && hosId != 'MALFORMED_ID') {
+ helper.productcategoryChange(component, event, helper, 'URO', 1);
+ }
+ },
+ productcategoryUROChange2 : function(component, event, helper) {
+ var hosId = component.find("select_URO2").get("v.value");
+ if (hosId != null && hosId != '' && hosId != 'MALFORMED_ID') {
+ helper.productcategoryChange(component, event, helper, 'URO', 2);
+ }
+ },
+ productcategoryUROChange3 : function(component, event, helper) {
+ var hosId = component.find("select_URO3").get("v.value");
+ if (hosId != null && hosId != '' && hosId != 'MALFORMED_ID') {
+ helper.productcategoryChange(component, event, helper, 'URO', 3);
+ }
+ },
+ aimpricUROChange4 : function(component, event, helper) {
+ var hosId = component.find("select_URO4").get("v.value");
+ if (hosId != null && hosId != '' && hosId != 'MALFORMED_ID') {
+ helper.productcategoryChange(component, event, helper, 'URO', 3);
+ }
+ },
+
+ productcategoryGYNChange1 : function(component, event, helper) {
+ var hosId = component.find("select_GYN1").get("v.value");
+ if (hosId != null && hosId != '' && hosId != 'MALFORMED_ID') {
+ helper.productcategoryChange(component, event, helper, 'GYN', 1);
+ }
+ },
+ productcategoryGYNChange2 : function(component, event, helper) {
+ var hosId = component.find("select_GYN2").get("v.value");
+ if (hosId != null && hosId != '' && hosId != 'MALFORMED_ID') {
+ helper.productcategoryChange(component, event, helper, 'GYN', 2);
+ }
+ },
+ productcategoryGYNChange3 : function(component, event, helper) {
+ var hosId = component.find("select_GYN3").get("v.value");
+ if (hosId != null && hosId != '' && hosId != 'MALFORMED_ID') {
+ helper.productcategoryChange(component, event, helper, 'GYN', 3);
+ }
+ },
+ aimpricGYNChange4 : function(component, event, helper) {
+ var hosId = component.find("select_GYN4").get("v.value");
+ if (hosId != null && hosId != '' && hosId != 'MALFORMED_ID') {
+ helper.productcategoryChange(component, event, helper, 'GYN', 3);
+ }
+ },
+
+ // selectHos : function(component, event, helper) {
+ // helper.selectHos(component, event, helper);
+ // },
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/CreateTarget/CreateTargetHelper.js b/force-app/main/default/aura/CreateTarget/CreateTargetHelper.js
new file mode 100644
index 0000000..e28ad09
--- /dev/null
+++ b/force-app/main/default/aura/CreateTarget/CreateTargetHelper.js
@@ -0,0 +1,579 @@
+({
+ doinit : function(component, event, helper) {
+ component.set("v.OCMTerm", this.getOCMTerm());
+ if (component.get("v.recordId")) {
+ component.set("v.button_text", "缂栬緫");
+ var recordId = component.get("v.recordId");
+ var action = component.get("c.getHospital");
+ action.setParams({"recordId": recordId});
+ action.setCallback(this, function(response) {
+ var state = response.getState();
+ if(state === "SUCCESS") {
+ var ah = response.getReturnValue();
+ var select_ah = ah.Id;
+ var select_ah_name = ah.Name;
+
+ component.set('v.record.Agency_Hospital__c', select_ah);
+ // alert(JSON.stringify(component.find('input-hos').get("v.body")[0].get('v.values')));
+ if ($A.get("$Browser.formFactor") == 'DESKTOP') {
+ var values = [{
+ type: 'Agency_Hospital_Link__c',
+ id: select_ah,
+ label: select_ah_name,
+ icon : {
+ url:'/img/icon/t4v35/custom/custom24_120.png',
+ backgroundColor:'dc71d1',
+ alt:'Agency_Hospital_Link__c'
+ }
+ }];
+ component.find('input-hos').get("v.body")[0].set('v.values', values);
+ } else {
+ component.find('input-hos').get("v.body")[0].set('v.selectedLabel', select_ah_name);
+ }
+
+ } else if (state === "ERROR") {
+ var errors = response.getError();
+ var toastEvent = $A.get("e.force:showToast");
+ toastEvent.setParams({
+ "title": "閿欒",
+ "type":"error",
+ "message": errors[0].message
+ });
+ toastEvent.fire();
+
+ }
+ });
+ $A.enqueueAction(action);
+ }
+
+ var action = component.get("c.getProductList");
+ action.setCallback(this, function(response) {
+ var state = response.getState();
+ if(state === "SUCCESS") {
+ var opts = response.getReturnValue();
+ // alert(JSON.stringify(opts["GI"]));
+ component.find("select_GI1").set("v.options", JSON.parse(JSON.stringify(opts["GI"])));
+ component.find("select_GI2").set("v.options", JSON.parse(JSON.stringify(opts["GI"])));
+ component.find("select_GI3").set("v.options", JSON.parse(JSON.stringify(opts["GI"])));
+
+ component.find("select_GS1").set("v.options", JSON.parse(JSON.stringify(opts["GS"])));
+ component.find("select_GS2").set("v.options", JSON.parse(JSON.stringify(opts["GS"])));
+ component.find("select_GS3").set("v.options", JSON.parse(JSON.stringify(opts["GS"])));
+
+ component.find("select_GYN1").set("v.options", JSON.parse(JSON.stringify(opts["GYN"])));
+ component.find("select_GYN2").set("v.options", JSON.parse(JSON.stringify(opts["GYN"])));
+ component.find("select_GYN3").set("v.options", JSON.parse(JSON.stringify(opts["GYN"])));
+
+ component.find("select_URO1").set("v.options", JSON.parse(JSON.stringify(opts["URO"])));
+ component.find("select_URO2").set("v.options", JSON.parse(JSON.stringify(opts["URO"])));
+ component.find("select_URO3").set("v.options", JSON.parse(JSON.stringify(opts["URO"])));
+
+ component.find("select_ENT1").set("v.options", JSON.parse(JSON.stringify(opts["ENT"])));
+ component.find("select_ENT2").set("v.options", JSON.parse(JSON.stringify(opts["ENT"])));
+ component.find("select_ENT3").set("v.options", JSON.parse(JSON.stringify(opts["ENT"])));
+
+ component.find("select_OTH1").set("v.options", JSON.parse(JSON.stringify(opts["OTH"])));
+ component.find("select_OTH2").set("v.options", JSON.parse(JSON.stringify(opts["OTH"])));
+ component.find("select_OTH3").set("v.options", JSON.parse(JSON.stringify(opts["OTH"])));
+
+ component.find("select_ET1").set("v.options", JSON.parse(JSON.stringify(opts["ET"])));
+ component.find("select_ET2").set("v.options", JSON.parse(JSON.stringify(opts["ET"])));
+ component.find("select_ET3").set("v.options", JSON.parse(JSON.stringify(opts["ET"])));
+
+ component.find("select_BF1").set("v.options", JSON.parse(JSON.stringify(opts["BF"])));
+ component.find("select_BF2").set("v.options", JSON.parse(JSON.stringify(opts["BF"])));
+ component.find("select_BF3").set("v.options", JSON.parse(JSON.stringify(opts["BF"])));
+ } else if (state === "ERROR") {
+ var errors = response.getError();
+ var toastEvent = $A.get("e.force:showToast");
+ toastEvent.setParams({
+ "title": "閿欒",
+ "type":"error",
+ "message": errors[0].message
+ });
+ toastEvent.fire();
+
+ }
+ });
+ $A.enqueueAction(action);
+ },
+
+ toggle_report : function(component, event, helper) {
+ var modal_window = component.find('modal_window');
+ var modal_bg = component.find('modal_bg');
+ $A.util.toggleClass(modal_window, 'disp_none');
+ $A.util.toggleClass(modal_bg, 'disp_none');
+
+ if ($A.util.hasClass(modal_window, 'disp_none') && !component.get("v.recordId")) {
+ $A.get('e.force:refreshView').fire();
+ }
+ },
+
+ productcategoryChange : function(component, event, helper, dept, index) {
+ var cmpId = 'select_'+dept;
+ var myId;
+ var o1Id;
+ var o2Id;
+ if (index == 1) {
+ myId = cmpId + '1';
+ o1Id = cmpId + '2';
+ o2Id = cmpId + '3';
+ } else if (index == 2){
+ myId = cmpId + '2';
+ o1Id = cmpId + '1';
+ o2Id = cmpId + '3';
+ } else {
+ myId = cmpId + '3';
+ o1Id = cmpId + '1';
+ o2Id = cmpId + '2';
+ }
+
+ var product_category_id = component.find(myId).get('v.value');
+ var pcId1 = component.find(o1Id).get('v.value');
+ var pcId2 = component.find(o2Id).get('v.value');
+ var p1bool = pcId1 != '' && pcId1 != null && pcId1 != undefined;
+ var p2bool = pcId2 != '' && pcId2 != null && pcId2 != undefined;
+ var p0bool = product_category_id != '' && product_category_id != null && product_category_id != undefined;
+ if ((p1bool && p0bool && product_category_id == pcId1) || (p2bool && p0bool && product_category_id == pcId2)) {
+ this.warning('涓嶈兘閫夋嫨鍚屾牱鐨勪骇鍝佸尯鍒�');
+ component.find(myId).set('v.value','');
+ }
+ },
+
+ selectHos : function(component, event, helper) {
+
+ var accid = component.get("v.record.Agency_Hospital__c");
+ var action = component.get("c.getDeptAmount");
+ action.setParams({ "hospitalId" : accid });
+ action.setCallback(this, function(response) {
+ var state = response.getState();
+ if (state === "SUCCESS") {
+ var amountMap = response.getReturnValue();
+ var GIProduct_Category1 = '';
+ var GIProduct_Category2 = '';
+ var GIProduct_Category3 = '';
+ var GIAim_Price__c1 = '';
+ var GIAim_Price__c2 = '';
+ var GIAim_Price__c3 = '';
+ if (amountMap.GI.length > 0) {
+ GIProduct_Category1 = amountMap.GI[0].Product_Category__c;
+ if (amountMap.GI.length > 1) {
+ GIProduct_Category2 = amountMap.GI[1].Product_Category__c;
+ }
+ if (amountMap.GI.length > 2) {
+ GIProduct_Category3 = amountMap.GI[2].Product_Category__c;
+ }
+ GIAim_Price__c1 = amountMap.GI[0].Aim_Price__c;
+ GIAim_Price__c2 = amountMap.GI[1].Aim_Price__c;
+ GIAim_Price__c3 = amountMap.GI[2].Aim_Price__c;
+ console.warn(GIAim_Price__c1+"-"+GIAim_Price__c2+"-"+GIAim_Price__c3);
+
+ }
+ component.find('select_GI1').set('v.value',GIProduct_Category1);
+ component.find('select_GI2').set('v.value',GIProduct_Category2);
+ component.find('select_GI3').set('v.value',GIProduct_Category3);
+ component.find('select_GI4_1').set('v.value',GIAim_Price__c1);
+ component.find('select_GI4_2').set('v.value',GIAim_Price__c2);
+ component.find('select_GI4_3').set('v.value',GIAim_Price__c3);
+
+
+ var ETProduct_Category1 = '';
+ var ETProduct_Category2 = '';
+ var ETProduct_Category3 = '';
+ var ETAim_Price__c1 = '';
+ var ETAim_Price__c2 = '';
+ var ETAim_Price__c3 = '';
+ if (amountMap.ET.length > 0) {
+ ETProduct_Category1 = amountMap.ET[0].Product_Category__c;
+ if (amountMap.ET.length > 1) {
+ ETProduct_Category2 = amountMap.ET[1].Product_Category__c;
+ }
+ if (amountMap.ET.length > 2) {
+ ETProduct_Category3 = amountMap.ET[2].Product_Category__c;
+ }
+ ETAim_Price__c1 = amountMap.ET[0].Aim_Price__c;
+ ETAim_Price__c2 = amountMap.ET[1].Aim_Price__c;
+ ETAim_Price__c3 = amountMap.ET[2].Aim_Price__c;
+ }
+ component.find('select_ET1').set('v.value',ETProduct_Category1);
+ component.find('select_ET2').set('v.value',ETProduct_Category2);
+ component.find('select_ET3').set('v.value',ETProduct_Category3);
+ component.find('select_ET4_1').set('v.value',ETAim_Price__c1);
+ component.find('select_ET4_2').set('v.value',ETAim_Price__c2);
+ component.find('select_ET4_3').set('v.value',ETAim_Price__c3);
+
+
+ var BFProduct_Category1 = '';
+ var BFProduct_Category2 = '';
+ var BFProduct_Category3 = '';
+ var BFAim_Price__c1 = '';
+ var BFAim_Price__c2 = '';
+ var BFAim_Price__c3 = '';
+ if (amountMap.BF.length > 0) {
+ BFProduct_Category1 = amountMap.BF[0].Product_Category__c;
+ if (amountMap.BF.length > 1) {
+ BFProduct_Category2 = amountMap.BF[1].Product_Category__c;
+ }
+ if (amountMap.BF.length > 2) {
+ BFProduct_Category3 = amountMap.BF[2].Product_Category__c;
+ }
+ BFAim_Price__c1 = amountMap.BF[0].Aim_Price__c;
+ BFAim_Price__c2 = amountMap.BF[1].Aim_Price__c;
+ BFAim_Price__c3 = amountMap.BF[2].Aim_Price__c;
+ }
+ component.find('select_BF1').set('v.value',BFProduct_Category1);
+ component.find('select_BF2').set('v.value',BFProduct_Category2);
+ component.find('select_BF3').set('v.value',BFProduct_Category3);
+ component.find('select_BF4_1').set('v.value',BFAim_Price__c1);
+ component.find('select_BF4_2').set('v.value',BFAim_Price__c2);
+ component.find('select_BF4_3').set('v.value',BFAim_Price__c3);
+
+
+ var OTHProduct_Category1 = '';
+ var OTHProduct_Category2 = '';
+ var OTHProduct_Category3 = '';
+ var OTHAim_Price__c1 = '';
+ var OTHAim_Price__c2 = '';
+ var OTHAim_Price__c3 = '';
+ if (amountMap.OTH.length > 0) {
+
+ OTHProduct_Category1 = amountMap.OTH[0].Product_Category__c;
+ if (amountMap.OTH.length > 1) {
+ OTHProduct_Category2 = amountMap.OTH[1].Product_Category__c;
+ }
+ if (amountMap.OTH.length > 2) {
+ OTHProduct_Category3 = amountMap.OTH[2].Product_Category__c;
+ }
+ OTHAim_Price__c1 = amountMap.OTH[0].Aim_Price__c;
+ OTHAim_Price__c2 = amountMap.OTH[1].Aim_Price__c;
+ OTHAim_Price__c3 = amountMap.OTH[2].Aim_Price__c;
+ }
+ component.find('select_OTH1').set('v.value',OTHProduct_Category1);
+ component.find('select_OTH2').set('v.value',OTHProduct_Category2);
+ component.find('select_OTH3').set('v.value',OTHProduct_Category3);
+ component.find('select_OTH4_1').set('v.value',OTHAim_Price__c1);
+ component.find('select_OTH4_2').set('v.value',OTHAim_Price__c2);
+ component.find('select_OTH4_3').set('v.value',OTHAim_Price__c3);
+
+ var GSProduct_Category1 = '';
+ var GSProduct_Category2 = '';
+ var GSProduct_Category3 = '';
+ var GSPAim_Price__c1 = '';
+ var GSPAim_Price__c2 = '';
+ var GSPAim_Price__c3 = '';
+ if (amountMap.GS.length > 0) {
+ GSProduct_Category1 = amountMap.GS[0].Product_Category__c;
+ if (amountMap.GS.length > 1) {
+ GSProduct_Category2 = amountMap.GS[1].Product_Category__c;
+ }
+ if (amountMap.GS.length > 2) {
+ GSProduct_Category3 = amountMap.GS[2].Product_Category__c;
+ }
+ GSPAim_Price__c1 = amountMap.GS[0].Aim_Price__c;
+ GSPAim_Price__c2 = amountMap.GS[1].Aim_Price__c;
+ GSPAim_Price__c3= amountMap.GS[2].Aim_Price__c;
+ }
+ component.find('select_GS1').set('v.value',GSProduct_Category1);
+ component.find('select_GS2').set('v.value',GSProduct_Category2);
+ component.find('select_GS3').set('v.value',GSProduct_Category3);
+ component.find('select_GS4_1').set('v.value',GSPAim_Price__c1);
+ component.find('select_GS4_2').set('v.value',GSPAim_Price__c2);
+ component.find('select_GS4_3').set('v.value',GSPAim_Price__c3);
+
+ var UROProduct_Category1 = '';
+ var UROProduct_Category2 = '';
+ var UROProduct_Category3 = '';
+ var UROAim_Price__c1 = '';
+ var UROAim_Price__c2 = '';
+ var UROAim_Price__c3 = '';
+ if (amountMap.URO.length > 0) {
+
+ UROProduct_Category1 = amountMap.URO[0].Product_Category__c;
+ if (amountMap.URO.length > 1) {
+ UROProduct_Category2 = amountMap.URO[1].Product_Category__c;
+ }
+ if (amountMap.URO.length > 2) {
+ UROProduct_Category3 = amountMap.URO[2].Product_Category__c;
+ }
+ UROAim_Price__c1 = amountMap.URO[0].Aim_Price__c;
+ UROAim_Price__c2 = amountMap.URO[1].Aim_Price__c;
+ UROAim_Price__c3 = amountMap.URO[2].Aim_Price__c;
+ }
+ component.find('select_URO1').set('v.value',UROProduct_Category1);
+ component.find('select_URO2').set('v.value',UROProduct_Category2);
+ component.find('select_URO3').set('v.value',UROProduct_Category3);
+ component.find('select_URO4_1').set('v.value',UROAim_Price__c1);
+ component.find('select_URO4_2').set('v.value',UROAim_Price__c2);
+ component.find('select_URO4_3').set('v.value',UROAim_Price__c3);
+
+
+ var GYNProduct_Category1 = '';
+ var GYNProduct_Category2 = '';
+ var GYNProduct_Category3 = '';
+ var GYNAim_Price__c1 = '';
+ var GYNAim_Price__c2 = '';
+ var GYNAim_Price__c3 = '';
+ if (amountMap.GYN.length > 0) {
+
+ GYNProduct_Category1 = amountMap.GYN[0].Product_Category__c;
+ if (amountMap.GYN.length > 1) {
+ GYNProduct_Category2 = amountMap.GYN[1].Product_Category__c;
+ }
+ if (amountMap.GYN.length > 2) {
+ GYNProduct_Category3 = amountMap.GYN[2].Product_Category__c;
+ }
+ GYNAim_Price__c1= amountMap.GYN[0].Aim_Price__c;
+ GYNAim_Price__c2 = amountMap.GYN[1].Aim_Price__c;
+ GYNAim_Price__c3 = amountMap.GYN[2].Aim_Price__c;
+ }
+ component.find('select_GYN1').set('v.value',GYNProduct_Category1);
+ component.find('select_GYN2').set('v.value',GYNProduct_Category2);
+ component.find('select_GYN3').set('v.value',GYNProduct_Category3);
+ component.find('select_GYN4_1').set('v.value',GYNAim_Price__c1);
+ component.find('select_GYN4_2').set('v.value',GYNAim_Price__c2);
+ component.find('select_GYN4_3').set('v.value',GYNAim_Price__c3);
+
+
+ var ENTProduct_Category1 = '';
+ var ENTProduct_Category2 = '';
+ var ENTProduct_Category3 = '';
+ var ENTAim_Price__c1 = '';
+ var ENTAim_Price__c2 = '';
+ var ENTAim_Price__c3 = '';
+ if (amountMap.ENT.length > 0) {
+
+ ENTProduct_Category1 = amountMap.ENT[0].Product_Category__c;
+ if (amountMap.ENT.length > 1) {
+ ENTProduct_Category2 = amountMap.ENT[1].Product_Category__c;
+ }
+ if (amountMap.ENT.length > 2) {
+ ENTProduct_Category3 = amountMap.ENT[2].Product_Category__c;
+ }
+ ENTAim_Price__c1 = amountMap.ENT[0].Aim_Price__c;
+ ENTAim_Price__c2 = amountMap.ENT[1].Aim_Price__c;
+ ENTAim_Price__c3 = amountMap.ENT[2].Aim_Price__c;
+ }
+ component.find('select_ENT1').set('v.value',ENTProduct_Category1);
+ component.find('select_ENT2').set('v.value',ENTProduct_Category2);
+ component.find('select_ENT3').set('v.value',ENTProduct_Category3);
+ component.find('select_ENT4_1').set('v.value',ENTAim_Price__c1);
+ component.find('select_ENT4_2').set('v.value',ENTAim_Price__c2);
+ component.find('select_ENT4_3').set('v.value',ENTAim_Price__c3);
+
+ }
+ });
+ $A.enqueueAction(action);
+ console.log(JSON.stringify(component.find('input-hos').get("v.body")[0].get('v')));
+ },
+
+ getOCMTerm : function() {
+ var today = new Date();
+ var year = today.getFullYear();
+ var month = today.getMonth();
+
+ if (month < 3) year -= 1;
+ var thisYearOCMPeriod = String(year - 1867) + 'P';
+
+ return thisYearOCMPeriod;
+ },
+
+ createTarget : function(component, event, helper) {
+ var action = component.get("c.createSFTarget");
+ // alert(component.get("v.GIAmount"));
+
+
+
+ var p1_1 = component.find('select_GI4_1').get('v.value') ;
+ var p1_2 = component.find('select_GI4_2').get('v.value') ;
+ var p1_3 = component.find('select_GI4_3').get('v.value') ;
+
+ if (p1_1 == undefined || p1_1 == "") {
+ p1_1 = 0;
+ }
+ if (p1_2 == undefined || p1_2 == "") {
+ p1_2 = 0;
+ }
+ if (p1_3 == undefined || p1_3 == "") {
+ p1_3 = 0;
+ }
+ console.warn(p1_1+"-"+p1_2+"-"+p1_3);
+
+ var p2_1 = component.find('select_ET4_1').get('v.value') ;
+ var p2_2 = component.find('select_ET4_2').get('v.value') ;
+ var p2_3 = component.find('select_ET4_3').get('v.value') ;
+ if (p2_1 == undefined || p2_1 == "") {
+ p2_1 = 0;
+ }
+ if (p2_2 == undefined || p2_2 == "") {
+ p2_2 = 0;
+ }
+ if (p2_3 == undefined || p2_3 == "") {
+ p2_3 = 0;
+ }
+
+
+ var p3_1 = component.find('select_BF4_1').get('v.value') ;
+ var p3_2 = component.find('select_BF4_2').get('v.value') ;
+ var p3_3 = component.find('select_BF4_3').get('v.value') ;
+ if (p3_1 == undefined || p3_1 == "") {
+ p3_1 = 0;
+ }
+ if (p3_2 == undefined || p3_2 == "") {
+ p3_2 = 0;
+ }
+ if (p3_3 == undefined || p3_3 == "") {
+ p3_3 = 0;
+ }
+
+
+
+ var p4_1 = component.find('select_OTH4_1').get('v.value') ;
+ var p4_2 = component.find('select_OTH4_2').get('v.value') ;
+ var p4_3 = component.find('select_OTH4_3').get('v.value') ;
+ if (p4_1 == undefined || p4_1 == "") {
+ p4_1 = 0;
+ }
+ if (p4_2 == undefined || p4_2 == "") {
+ p4_2 = 0;
+ }
+ if (p4_3 == undefined || p4_3 == "") {
+ p4_3 = 0;
+ }
+
+
+
+ var p5_1 = component.find('select_GS4_1').get('v.value') ;
+ var p5_2 = component.find('select_GS4_2').get('v.value') ;
+ var p5_3 = component.find('select_GS4_3').get('v.value') ;
+ if (p5_1 == undefined || p5_1 == "") {
+ p5_1 = 0;
+ }
+ if (p5_2 == undefined || p5_2 == "") {
+ p5_2 = 0;
+ }
+ if (p5_3 == undefined || p5_3 == "") {
+ p5_3 = 0;
+ }
+
+
+
+ var p6_1 = component.find('select_URO4_1').get('v.value') ;
+ var p6_2 = component.find('select_URO4_2').get('v.value') ;
+ var p6_3 = component.find('select_URO4_3').get('v.value') ;
+ if (p6_1 == undefined || p6_1 == "") {
+ p6_1 = 0;
+ }
+ if (p6_2 == undefined || p6_2 == "") {
+ p6_2 = 0;
+ }
+ if (p6_3 == undefined || p6_3 == "") {
+ p6_3 = 0;
+ }
+
+ var p7_1 = component.find('select_GYN4_1').get('v.value') ;
+ var p7_2 = component.find('select_GYN4_2').get('v.value') ;
+ var p7_3 = component.find('select_GYN4_3').get('v.value') ;
+ if (p7_1 == undefined || p7_1 == "") {
+ p7_1 = 0;
+ }
+ if (p7_2 == undefined || p7_2 == "") {
+ p7_2 = 0;
+ }
+ if (p7_3 == undefined || p7_3 == "") {
+ p7_3 = 0;
+ }
+
+
+
+ var p8_1 = component.find('select_ENT4_1').get('v.value') ;
+ var p8_2 = component.find('select_ENT4_2').get('v.value') ;
+ var p8_3 = component.find('select_ENT4_3').get('v.value') ;
+ if (p8_1 == undefined || p8_1 == "") {
+ p8_1 = 0;
+ }
+ if (p8_2 == undefined || p8_2 == "") {
+ p8_2 = 0;
+ }
+ if (p8_3 == undefined || p8_3 == "") {
+ p8_3 = 0;
+ }
+
+
+
+
+ action.setParams({
+ "hospitalId" : component.get("v.record.Agency_Hospital__c"),
+ "GIProduct" : [component.find('select_GI1').get('v.value'),component.find('select_GI2').get('v.value'),component.find('select_GI3').get('v.value'),p1_1,p1_2,p1_3],
+ "ETProduct" : [component.find('select_ET1').get('v.value'),component.find('select_ET2').get('v.value'),component.find('select_ET3').get('v.value'),p2_1, p2_2,p2_3 ],
+ "BFProduct" : [component.find('select_BF1').get('v.value'),component.find('select_BF2').get('v.value'),component.find('select_BF3').get('v.value'),p3_1 ,p3_2 ,p3_3 ],
+ "OTHProduct" : [component.find('select_OTH1').get('v.value'),component.find('select_OTH2').get('v.value'),component.find('select_OTH3').get('v.value'),p4_1,p4_2 ,p4_3],
+ "GSProduct" : [component.find('select_GS1').get('v.value'),component.find('select_GS2').get('v.value'),component.find('select_GS3').get('v.value'),p5_1,p5_2,p5_3],
+ "UROProduct" : [component.find('select_URO1').get('v.value'),component.find('select_URO2').get('v.value'),component.find('select_URO3').get('v.value'),p6_1,p6_2 ,p6_2 ],
+ "GYNProduct" : [component.find('select_GYN1').get('v.value'),component.find('select_GYN2').get('v.value'),component.find('select_GYN3').get('v.value'),p7_1,p7_2 ,p7_3 ],
+ "ENTProduct" : [component.find('select_ENT1').get('v.value'),component.find('select_ENT2').get('v.value'),component.find('select_ENT3').get('v.value'),p8_1 ,p8_2 ,p8_3],
+ "OCMTerm" : component.get("v.OCMTerm")
+ });
+ action.setCallback(this, function(response) {
+ console.warn(response);
+ var state = response.getState();
+ if (state === "SUCCESS") {
+ var modal_window = component.find('modal_window');
+ var modal_bg = component.find('modal_bg');
+ $A.util.toggleClass(modal_window, 'disp_none');
+ $A.util.toggleClass(modal_bg, 'disp_none');
+
+ var toastEvent = $A.get("e.force:showToast");
+ toastEvent.setParams({
+ "title": "鎴愬姛",
+ "type":"success",
+ "message": "淇濆瓨鎴愬姛"
+ });
+ toastEvent.fire();
+
+ $A.get('e.force:refreshView').fire();
+ } else if (state === "INCOMPLETE") {
+ var toastEvent = $A.get("e.force:showToast");
+ toastEvent.setParams({
+ "title": "鏈畬鎴�!",
+ "type":"error",
+ "message": "鏈畬鎴�"
+ });
+ toastEvent.fire();
+ } else if (state === "ERROR") {
+ var errors = response.getError();
+ var toastEvent = $A.get("e.force:showToast");
+ toastEvent.setParams({
+ "title": "閿欒",
+ "type":"error",
+ "message": errors[0].message
+ });
+ toastEvent.fire();
+
+ }
+ });
+ $A.enqueueAction(action);
+ },
+
+ warning : function(message) {
+ var toastEvent = $A.get("e.force:showToast");
+ toastEvent.setParams({
+ "title": "璀﹀憡!",
+ "message": message,
+ "type":"warning",
+ "duration" : "10000"
+ });
+ toastEvent.fire();
+ },
+
+ error : function(message) {
+ var toastEvent = $A.get("e.force:showToast");
+ toastEvent.setParams({
+ "title": "閿欒!",
+ "message": message,
+ "type":"error",
+ "duration" : "10000"
+ });
+ toastEvent.fire();
+ },
+
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/DealerPersonnelInformationImport/DealerPersonnelInformationImport.auradoc b/force-app/main/default/aura/DealerPersonnelInformationImport/DealerPersonnelInformationImport.auradoc
new file mode 100644
index 0000000..d0d6eb5
--- /dev/null
+++ b/force-app/main/default/aura/DealerPersonnelInformationImport/DealerPersonnelInformationImport.auradoc
@@ -0,0 +1,6 @@
+<aura:documentation>
+ <aura:description>Documentation</aura:description>
+ <aura:example name="ExampleName" ref="exampleComponentName" label="Label">
+ Example Description
+ </aura:example>
+</aura:documentation>
\ No newline at end of file
diff --git a/force-app/main/default/aura/DealerPersonnelInformationImport/DealerPersonnelInformationImport.cmp b/force-app/main/default/aura/DealerPersonnelInformationImport/DealerPersonnelInformationImport.cmp
new file mode 100644
index 0000000..fa5fcff
--- /dev/null
+++ b/force-app/main/default/aura/DealerPersonnelInformationImport/DealerPersonnelInformationImport.cmp
@@ -0,0 +1,90 @@
+<aura:component controller="DealerPersonnelController"
+implements="force:appHostable,flexipage:availableForAllPageTypes,flexipage:availableForRecordHome,force:hasRecordId,force:lightningQuickAction,forceCommunity:availableForAllPageTypes"
+access="global">
+<!-- 鎵归噺娣诲姞鍛ㄦ姤 start-->
+<!-- <aura:handler name="init" value="{!this}" action="{!c.doInit}" /> -->
+<aura:attribute name="reports_date" type="List" />
+<aura:attribute name="errorMessage" type="String" />
+<aura:attribute name="TableContent" type="String" description=" Show the Result class" />
+<aura:attribute name="TableContent2" type="String" description=" Show the Result class" />
+<aura:attribute name="TargetFileName" type="String" description="Name of the file" />
+<aura:attribute name="tableheaders" type="Object[]" />
+<aura:attribute name="fileContentData" type="String" />
+<aura:attribute name="filename" type="String" />
+<aura:attribute name="NumOfRecords" type="Integer" default="1000" />
+<aura:attribute name="showMain" type="Boolean" default="true" />
+<aura:attribute name="IsEventDefault" type="Boolean" default="true" />
+<aura:attribute name="login" type="Boolean" default="false" />
+<aura:attribute name="successMessage" type="String" />
+<!-- 鎵归噺娣诲姞鍛ㄦ姤 end-->
+<aura:renderIf isTrue="{!v.login}">
+ <div class="slds-spinner_container height100vh">
+ <div class="slds-spinner--brand slds-spinner slds-spinner--medium" role="alert">
+ <span class="slds-assistive-text">Loading</span>
+ <div class="slds-spinner__dot-a"></div>
+ <div class="slds-spinner__dot-b"></div>
+ </div>
+ </div>
+ </aura:renderIf>
+<!-- 鎵归噺娣诲姞鍛ㄦ姤 start-->
+<div class="slds-modal slds-fade-in-open slds-hide" aura:id="errorDiv" style="z-index: 10001">
+ <ui:inputText aura:id="articleURL" />
+ <div class="demo-only" style="height: 8rem;">
+ <div class="slds-notify_container slds-is-relative">
+ <div class="slds-notify slds-notify_toast slds-theme_error" role="status">
+ <div class=" slds-m-left_xx-large">
+ <div
+ class="slds-notify__content slds-m-left_small slds-align_absolute-center slds-m-left_xx-large">
+ <lightning:icon alternativeText="error" iconName="utility:error" size="small"
+ class="buttonColor slds-m-right_small" />
+ <h2 class="slds-text-heading_small ">{!v.errorMessage}</h2>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+</div>
+<div class="slds-modal slds-fade-in-open slds-hide" aura:id="successDiv01">
+ <ui:inputText aura:id="articleURL" />
+ <div class="demo-only" style="height: 8rem;">
+ <div class="slds-notify_container slds-is-relative">
+ <div class="slds-notify slds-notify_toast slds-theme_success" role="alert">
+ <div class=" slds-m-left_xx-large">
+ <div
+ class="slds-notify__content slds-m-left_small slds-align_absolute-center slds-m-left_xx-large">
+ <lightning:icon alternativeText="Success" iconName="utility:success" size="small"
+ class="buttonColor slds-m-right_small" />
+ <h2 class="slds-text-heading_small ">{!v.successMessage}</h2>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+</div>
+<div >
+ <div class="slds-modal__header ">
+ <h4 id="headerTarget" class="slds-float--left"></h4>
+ <h2 id="headerTarget" class="slds-text-heading--medium">瀹㈡埛浜哄憳鎵归噺瀵煎叆</h2>
+ </div>
+ <div class="slds-modal__content slds-scrollable slds-grow slds-p-around--medium ">
+ <aura:if isTrue="{!v.showMain}">
+ <div>
+ <center>
+ <lightning:input type="file" class="file" uara:id="file" onchange="{!c.CreateRecord}" />
+ </center>
+ </div>
+ <aura:set attribute="else">
+ <ui:outputRichText class="uiOutputRichText slds-m--around-large" value="{!v.TableContent}" />
+ <div class="slds-p-around--large slds-align--absolute-center">
+ <lightning:button label="淇濆瓨" variant="brand" onclick="{!c.processFileContent}" />
+ <lightning:button label="鍙栨秷" variant="brand" onclick="{!c.cancel}" />
+ </div>
+
+ </aura:set>
+ </aura:if>
+ </div>
+
+</div>
+<!-- 鎵归噺娣诲姞鍛ㄦ姤 end-->
+
+</aura:component>
\ No newline at end of file
diff --git a/force-app/main/default/aura/DealerPersonnelInformationImport/DealerPersonnelInformationImport.cmp-meta.xml b/force-app/main/default/aura/DealerPersonnelInformationImport/DealerPersonnelInformationImport.cmp-meta.xml
new file mode 100644
index 0000000..809f48b
--- /dev/null
+++ b/force-app/main/default/aura/DealerPersonnelInformationImport/DealerPersonnelInformationImport.cmp-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<AuraDefinitionBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>52.0</apiVersion>
+ <description>A Lightning Component Bundle</description>
+</AuraDefinitionBundle>
diff --git a/force-app/main/default/aura/DealerPersonnelInformationImport/DealerPersonnelInformationImport.css b/force-app/main/default/aura/DealerPersonnelInformationImport/DealerPersonnelInformationImport.css
new file mode 100644
index 0000000..2c09747
--- /dev/null
+++ b/force-app/main/default/aura/DealerPersonnelInformationImport/DealerPersonnelInformationImport.css
@@ -0,0 +1,129 @@
+.THIS .bcolor {
+ color: #333;
+}
+.THIS.height100vh {
+ height: 100vh;
+}
+.THIS.contents_wrapper {
+ padding-top: 50px;
+}
+.THIS .mt5 {
+ margin-top: 5px;
+}
+.THIS .mt40 {
+ margin-top: 40px;
+}
+.THIS .edit_button {
+ float: right;
+ margin: -1.5em 0.5em 0 0;
+ border: 0;
+}
+.THIS .no_data_area {
+ text-align: center;
+ margin: .5em 0;
+}
+.THIS.report_list_area {
+ margin: 40px 0 20px 100px;
+ height: 60vh;
+ overflow-y: scroll;
+}
+.THIS .report_radio {
+ float: left;
+}
+.THIS .table_header {
+ width: 9.4rem;
+ height: 2em;
+}
+.THIS.disp_none {
+ display: none;
+}
+.THIS .disp_none {
+ display: none;
+}
+.THIS .tr {
+ text-align: right;
+}
+.THIS .close_button {
+ float: right;
+ margin-top: -2em;
+}
+.THIS .close_icn svg {
+ fill: #fefefe;
+}
+.THIS .slds-progress__marker {
+ cursor: default;
+}
+.THIS .progress_0 {
+ width: 0%;
+}
+.THIS .progress_100 {
+ width: 100%;
+}
+.THIS .new_btn_area {
+ text-align: center;
+ margin-top: 22px;
+}
+.THIS .new_btn {
+ width: 100%;
+}
+.THIS .save_button_area {
+ margin: 1em 0;
+ text-align: right;
+}
+.THIS .save_button {
+ background-color: #ffa500;
+ border: 1px solid #ff8c00;
+}
+.THIS .report_data_header {
+ border-bottom: 2px solid #ccc;
+}
+.THIS .report_data_area {
+ border-bottom: 1px solid #ccc;
+}
+.THIS.fade {
+ transition: 5s opacity linear;
+}
+.THIS.animation_off {
+ opacity: 0;
+}
+.THIS.animation_on {
+ opacity: 1;
+}
+.THIS .fade {
+ transition: 5s opacity linear;
+}
+.THIS .animation_off {
+ opacity: 0;
+}
+.THIS .animation_on {
+ opacity: 1;
+}
+.THIS .divbotuser{
+ width:fit-content;
+}
+
+.THIS .toastMessage.forceActionsText{
+ white-space : pre-line !important;
+}
+
+.THIS .slds-file-selector__dropzone .slds-file-selector__text{
+ display: none;
+}
+
+.THIS .slds-input:focus, .THIS .slds-input:active {
+ border-color: rgb(216, 221, 230);
+ box-shadow: none;
+}
+
+.THIS .customRequired{
+ font-weight: 400;
+}
+.THIS .customRequired:before{
+ content: "*";
+ margin: 0 0.125rem 0 0.125rem;
+ color: rgb(194, 57, 52);
+ float: left;
+}
+.THIS .none{
+ display:none;
+}
\ No newline at end of file
diff --git a/force-app/main/default/aura/DealerPersonnelInformationImport/DealerPersonnelInformationImport.design b/force-app/main/default/aura/DealerPersonnelInformationImport/DealerPersonnelInformationImport.design
new file mode 100644
index 0000000..d247163
--- /dev/null
+++ b/force-app/main/default/aura/DealerPersonnelInformationImport/DealerPersonnelInformationImport.design
@@ -0,0 +1,3 @@
+<design:component >
+
+</design:component>
\ No newline at end of file
diff --git a/force-app/main/default/aura/DealerPersonnelInformationImport/DealerPersonnelInformationImport.svg b/force-app/main/default/aura/DealerPersonnelInformationImport/DealerPersonnelInformationImport.svg
new file mode 100644
index 0000000..e201ae9
--- /dev/null
+++ b/force-app/main/default/aura/DealerPersonnelInformationImport/DealerPersonnelInformationImport.svg
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
+<svg width="120px" height="120px" viewBox="0 0 120 120" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+ <path d="M120,108 C120,114.6 114.6,120 108,120 L12,120 C5.4,120 0,114.6 0,108 L0,12 C0,5.4 5.4,0 12,0 L108,0 C114.6,0 120,5.4 120,12 L120,108 L120,108 Z" id="Shape" fill="#2A739E" />
+ <path d="M77.7383308,20 L61.1640113,20 L44.7300055,63.2000173 L56.0543288,63.2000173 L40,99.623291 L72.7458388,54.5871812 L60.907727,54.5871812 L77.7383308,20 Z" id="Path-1" fill="#FFFFFF" />
+ </g>
+</svg>
\ No newline at end of file
diff --git a/force-app/main/default/aura/DealerPersonnelInformationImport/DealerPersonnelInformationImportController.js b/force-app/main/default/aura/DealerPersonnelInformationImport/DealerPersonnelInformationImportController.js
new file mode 100644
index 0000000..f521073
--- /dev/null
+++ b/force-app/main/default/aura/DealerPersonnelInformationImport/DealerPersonnelInformationImportController.js
@@ -0,0 +1,12 @@
+({
+ CreateRecord : function(component, event, helper){
+ var files = event.getSource().get("v.files");
+ helper.readFile(component,helper,files[0]);
+ },
+ processFileContent : function(component,event,helper){
+ helper.saveRecords(component,event,helper);
+ },
+ cancel : function(component,event,helper){
+ component.set("v.showMain",true);
+ }
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/DealerPersonnelInformationImport/DealerPersonnelInformationImportHelper.js b/force-app/main/default/aura/DealerPersonnelInformationImport/DealerPersonnelInformationImportHelper.js
new file mode 100644
index 0000000..b538b04
--- /dev/null
+++ b/force-app/main/default/aura/DealerPersonnelInformationImport/DealerPersonnelInformationImportHelper.js
@@ -0,0 +1,180 @@
+({
+ readFile: function (component, helper, file) {
+ if (!file) return;
+ if (!file.name.match(/\.(csv||CSV)$/)) {
+ return alert('only support csv files');
+ } else {
+ reader = new FileReader();
+ reader.onerror = function errorHandler(evt) {
+ switch (evt.target.error.code) {
+ case evt.target.error.NOT_FOUND_ERR:
+ alert('File Not Found!');
+ break;
+ case evt.target.error.NOT_READABLE_ERR:
+ alert('File is not readable');
+ break;
+ case evt.target.error.ABORT_ERR:
+ break; // noop
+ default:
+ alert('An error occurred reading this file.');
+ };
+ }
+ reader.onabort = function (e) {
+ alert('File read cancelled');
+ };
+ reader.onloadstart = function (e) {
+ var output = '<ui type=\"disc\"><li><strong>' + file.name + '</strong> (' + file.type + ')- ' + file.size + 'bytes, last modified: ' + file.lastModifiedDate.toLocaleDateString() + '</li></ui>';
+ component.set("v.filename", file.name);
+ component.set("v.TargetFileName", output);
+ };
+ reader.onload = function (e) {
+ var data = e.target.result;
+ // data.replace(/\n/,"")
+ var allTextLines11 = data.split(/\r/);
+ var s = allTextLines11.toString();
+ component.set("v.fileContentData", s);
+ console.log("file dataqqq" + JSON.stringify(s));
+ var allTextLines = data.split(/\r\n|\n/);
+ var dataRows = allTextLines.length - 1;
+ var headers = allTextLines[0].split(',');
+ var numOfRows = component.get("v.NumOfRecords");
+ if (dataRows > numOfRows + 1 || dataRows == 1 || dataRows == 0) {
+ alert("File Rows between 1 to " + numOfRows + " .");
+ component.set("v.showMain", true);
+ }
+ else {
+ var lines = [];
+ var filecontentdata;
+ var content = "<table class=\"table slds-table slds-table--bordered slds-table--cell-buffer\">";
+ content += "<thead><tr class=\"slds-text-title--caps\">";
+ content += '<th scope=\"col"\>' + '琛屽彿' + '</th>';
+ for (i = 0; i < headers.length; i++) {
+ content += '<th scope=\"col"\>' + headers[i] + '</th>';
+ }
+ content += "</tr></thead>";
+ for (var i = 1; i < allTextLines.length; i++) {
+ filecontentdata = allTextLines[i].split(',');
+ if (filecontentdata[0] != '') {
+ content += "<tr>";
+ content += "<td>" + i + "</td>";
+ for (var j = 0; j < filecontentdata.length; j++) {
+ content += '<td>' + filecontentdata[j] + '</td>';
+ }
+ content += "</tr>";
+ }
+ }
+ content += "</table>";
+ console.log(content);
+ component.set("v.TableContent", content);
+ component.set("v.showMain", false);
+ }
+ }
+ reader.readAsText(file, 'gb2312');
+
+ }
+ var reader = new FileReader();
+ reader.onloadend = function () {
+ };
+ reader.readAsDataURL(file);
+ },
+ saveRecords: function (component, event, helper) {
+ component.set('v.login', true);
+ var action = component.get("c.processData");
+ var fieldsList = ['Name', 'Phone', 'AccountNumber']; //Please write your code dynamic fields
+ action.setParams({
+ fileData: component.get("v.fileContentData"),
+ sobjectName: 'Account', //Any object
+ fields: fieldsList
+ });
+ action.setCallback(this, function (response) {
+ var state = response.getState();
+ if (state === "SUCCESS") {
+ var res = response.getReturnValue();
+ var res1 = '';
+ if (res != 'success') {
+ var ress = res.split('=');
+ console.log(ress);
+ for (var i = 0; i < ress.length; i++) {
+ res1 += ress[i].substr(7) + '\n';
+ }
+ console.log("==" + res1);
+ // this.error( "璇蜂慨鏀瑰悗閲嶆柊涓婁紶");
+ component.set('v.errorMessage', res1 + "璇蜂慨鏀瑰悗閲嶆柊涓婁紶");
+ this.showErrorToast(component);
+ component.set('v.login', false);
+ } else {
+ // this.success('瀵煎叆鎴愬姛');
+ component.set('v.successMessage', '瀵煎叆鎴愬姛');
+ this.showSuccessToast01(component);
+ component.set("v.showMain", true);
+ component.set('v.login', false);
+ }
+ }
+ else if (state === "INCOMPLETE") {
+ component.set('v.login', false);
+ }
+ else if (state === "ERROR") {
+ var errors = response.getError();
+ if (errors) {
+ if (errors[0] && errors[0].message) {
+ console.log("Error message: " +
+ errors[0].message);
+ component.set('v.login', false);
+ }
+ } else {
+ console.log("Unknown error");
+ component.set('v.login', false);
+ }
+ }
+ });
+ $A.enqueueAction(action);
+
+ },
+ //寮瑰嚭 鎴愬姛鎻愮ず
+ showSuccessToast01: function (component) {
+ $A.util.removeClass(component.find('successDiv01'), 'slds-hide');
+ window.setTimeout($A.getCallback(function () {
+ $A.util.addClass(component.find('successDiv01'), 'slds-hide');
+ }),
+ 3000
+ );
+ },
+ //寮瑰嚭 閿欒鎻愮ず
+ showErrorToast: function (component) {
+ $A.util.removeClass(component.find('errorDiv'), 'slds-hide');
+ window.setTimeout($A.getCallback(function () {
+ $A.util.addClass(component.find('errorDiv'), 'slds-hide');
+ }),
+ 4000
+ );
+ },
+ success : function(message) {
+ var toastEvent = $A.get("e.force:showToast");
+ toastEvent.setParams({
+ "title" : "鎴愬姛!",
+ "message" : message,
+ "duration" : "5000"
+ });
+ toastEvent.fire();
+ },
+
+ warning : function(message) {
+ var toastEvent = $A.get("e.force:showToast");
+ toastEvent.setParams({
+ "title": "璀﹀憡!",
+ "message": message,
+ "duration" : "10000"
+ });
+ toastEvent.fire();
+ },
+
+ error : function(message) {
+ var toastEvent = $A.get("e.force:showToast");
+ toastEvent.setParams({
+ "title": "閿欒!",
+ "message": message,
+ "duration" : "sticky"
+ });
+ toastEvent.fire();
+ },
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/DealerPersonnelInformationImport/DealerPersonnelInformationImportRenderer.js b/force-app/main/default/aura/DealerPersonnelInformationImport/DealerPersonnelInformationImportRenderer.js
new file mode 100644
index 0000000..f1f0c75
--- /dev/null
+++ b/force-app/main/default/aura/DealerPersonnelInformationImport/DealerPersonnelInformationImportRenderer.js
@@ -0,0 +1,5 @@
+({
+
+// Your renderer method overrides go here
+
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/DealerPersonnelInformationImportApp/DealerPersonnelInformationImportApp.app b/force-app/main/default/aura/DealerPersonnelInformationImportApp/DealerPersonnelInformationImportApp.app
new file mode 100644
index 0000000..32b2c67
--- /dev/null
+++ b/force-app/main/default/aura/DealerPersonnelInformationImportApp/DealerPersonnelInformationImportApp.app
@@ -0,0 +1,3 @@
+<aura:application access="public" extends="ltng:outApp" >
+ <aura:dependency resource="c:DealerPersonnelInformationImport"/>
+</aura:application>
\ No newline at end of file
diff --git a/force-app/main/default/aura/DealerPersonnelInformationImportApp/DealerPersonnelInformationImportApp.app-meta.xml b/force-app/main/default/aura/DealerPersonnelInformationImportApp/DealerPersonnelInformationImportApp.app-meta.xml
new file mode 100644
index 0000000..fcabbf8
--- /dev/null
+++ b/force-app/main/default/aura/DealerPersonnelInformationImportApp/DealerPersonnelInformationImportApp.app-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<AuraDefinitionBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>52.0</apiVersion>
+ <description>A Lightning Application Bundle</description>
+</AuraDefinitionBundle>
diff --git a/force-app/main/default/aura/DealerPersonnelInformationImportApp/DealerPersonnelInformationImportApp.auradoc b/force-app/main/default/aura/DealerPersonnelInformationImportApp/DealerPersonnelInformationImportApp.auradoc
new file mode 100644
index 0000000..d0d6eb5
--- /dev/null
+++ b/force-app/main/default/aura/DealerPersonnelInformationImportApp/DealerPersonnelInformationImportApp.auradoc
@@ -0,0 +1,6 @@
+<aura:documentation>
+ <aura:description>Documentation</aura:description>
+ <aura:example name="ExampleName" ref="exampleComponentName" label="Label">
+ Example Description
+ </aura:example>
+</aura:documentation>
\ No newline at end of file
diff --git a/force-app/main/default/aura/DealerPersonnelInformationImportApp/DealerPersonnelInformationImportApp.css b/force-app/main/default/aura/DealerPersonnelInformationImportApp/DealerPersonnelInformationImportApp.css
new file mode 100644
index 0000000..a5839d4
--- /dev/null
+++ b/force-app/main/default/aura/DealerPersonnelInformationImportApp/DealerPersonnelInformationImportApp.css
@@ -0,0 +1,2 @@
+.THIS {
+}
\ No newline at end of file
diff --git a/force-app/main/default/aura/DealerPersonnelInformationImportApp/DealerPersonnelInformationImportApp.svg b/force-app/main/default/aura/DealerPersonnelInformationImportApp/DealerPersonnelInformationImportApp.svg
new file mode 100644
index 0000000..791b3c7
--- /dev/null
+++ b/force-app/main/default/aura/DealerPersonnelInformationImportApp/DealerPersonnelInformationImportApp.svg
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="120px" height="120px" viewBox="0 0 120 120" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+ <path d="M120,108 C120,114.6 114.6,120 108,120 L12,120 C5.4,120 0,114.6 0,108 L0,12 C0,5.4 5.4,0 12,0 L108,0 C114.6,0 120,5.4 120,12 L120,108 L120,108 Z" id="Shape" fill="#2A739E"/>
+ <path d="M77.7383308,20 L61.1640113,20 L44.7300055,63.2000173 L56.0543288,63.2000173 L40,99.623291 L72.7458388,54.5871812 L60.907727,54.5871812 L77.7383308,20 Z" id="Path-1" fill="#FFFFFF"/>
+ </g>
+</svg>
\ No newline at end of file
diff --git a/force-app/main/default/aura/DealerPersonnelInformationImportApp/DealerPersonnelInformationImportAppController.js b/force-app/main/default/aura/DealerPersonnelInformationImportApp/DealerPersonnelInformationImportAppController.js
new file mode 100644
index 0000000..77e406b
--- /dev/null
+++ b/force-app/main/default/aura/DealerPersonnelInformationImportApp/DealerPersonnelInformationImportAppController.js
@@ -0,0 +1,5 @@
+({
+ myAction : function(component, event, helper) {
+
+ }
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/DealerPersonnelInformationImportApp/DealerPersonnelInformationImportAppHelper.js b/force-app/main/default/aura/DealerPersonnelInformationImportApp/DealerPersonnelInformationImportAppHelper.js
new file mode 100644
index 0000000..ba7f386
--- /dev/null
+++ b/force-app/main/default/aura/DealerPersonnelInformationImportApp/DealerPersonnelInformationImportAppHelper.js
@@ -0,0 +1,5 @@
+({
+ helperMethod : function() {
+
+ }
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/DealerPersonnelInformationImportApp/DealerPersonnelInformationImportAppRenderer.js b/force-app/main/default/aura/DealerPersonnelInformationImportApp/DealerPersonnelInformationImportAppRenderer.js
new file mode 100644
index 0000000..f1f0c75
--- /dev/null
+++ b/force-app/main/default/aura/DealerPersonnelInformationImportApp/DealerPersonnelInformationImportAppRenderer.js
@@ -0,0 +1,5 @@
+({
+
+// Your renderer method overrides go here
+
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/EnquiryNoBiddingApp/EnquiryNoBiddingApp.app b/force-app/main/default/aura/EnquiryNoBiddingApp/EnquiryNoBiddingApp.app
new file mode 100644
index 0000000..67b8696
--- /dev/null
+++ b/force-app/main/default/aura/EnquiryNoBiddingApp/EnquiryNoBiddingApp.app
@@ -0,0 +1,3 @@
+<aura:application access="public" extends="ltng:outApp">
+ <aura:dependency resource="c:tEnquiryNoBidding"/>
+</aura:application>
\ No newline at end of file
diff --git a/force-app/main/default/aura/EnquiryNoBiddingApp/EnquiryNoBiddingApp.app-meta.xml b/force-app/main/default/aura/EnquiryNoBiddingApp/EnquiryNoBiddingApp.app-meta.xml
new file mode 100644
index 0000000..aa49e4d
--- /dev/null
+++ b/force-app/main/default/aura/EnquiryNoBiddingApp/EnquiryNoBiddingApp.app-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<AuraDefinitionBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>51.0</apiVersion>
+ <description>A Lightning Application Bundle</description>
+</AuraDefinitionBundle>
diff --git a/force-app/main/default/aura/EnquiryNoBiddingApp/EnquiryNoBiddingApp.auradoc b/force-app/main/default/aura/EnquiryNoBiddingApp/EnquiryNoBiddingApp.auradoc
new file mode 100644
index 0000000..d0d6eb5
--- /dev/null
+++ b/force-app/main/default/aura/EnquiryNoBiddingApp/EnquiryNoBiddingApp.auradoc
@@ -0,0 +1,6 @@
+<aura:documentation>
+ <aura:description>Documentation</aura:description>
+ <aura:example name="ExampleName" ref="exampleComponentName" label="Label">
+ Example Description
+ </aura:example>
+</aura:documentation>
\ No newline at end of file
diff --git a/force-app/main/default/aura/EnquiryNoBiddingApp/EnquiryNoBiddingApp.css b/force-app/main/default/aura/EnquiryNoBiddingApp/EnquiryNoBiddingApp.css
new file mode 100644
index 0000000..a5839d4
--- /dev/null
+++ b/force-app/main/default/aura/EnquiryNoBiddingApp/EnquiryNoBiddingApp.css
@@ -0,0 +1,2 @@
+.THIS {
+}
\ No newline at end of file
diff --git a/force-app/main/default/aura/EnquiryNoBiddingApp/EnquiryNoBiddingApp.svg b/force-app/main/default/aura/EnquiryNoBiddingApp/EnquiryNoBiddingApp.svg
new file mode 100644
index 0000000..791b3c7
--- /dev/null
+++ b/force-app/main/default/aura/EnquiryNoBiddingApp/EnquiryNoBiddingApp.svg
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="120px" height="120px" viewBox="0 0 120 120" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+ <path d="M120,108 C120,114.6 114.6,120 108,120 L12,120 C5.4,120 0,114.6 0,108 L0,12 C0,5.4 5.4,0 12,0 L108,0 C114.6,0 120,5.4 120,12 L120,108 L120,108 Z" id="Shape" fill="#2A739E"/>
+ <path d="M77.7383308,20 L61.1640113,20 L44.7300055,63.2000173 L56.0543288,63.2000173 L40,99.623291 L72.7458388,54.5871812 L60.907727,54.5871812 L77.7383308,20 Z" id="Path-1" fill="#FFFFFF"/>
+ </g>
+</svg>
\ No newline at end of file
diff --git a/force-app/main/default/aura/EnquiryNoBiddingApp/EnquiryNoBiddingAppController.js b/force-app/main/default/aura/EnquiryNoBiddingApp/EnquiryNoBiddingAppController.js
new file mode 100644
index 0000000..77e406b
--- /dev/null
+++ b/force-app/main/default/aura/EnquiryNoBiddingApp/EnquiryNoBiddingAppController.js
@@ -0,0 +1,5 @@
+({
+ myAction : function(component, event, helper) {
+
+ }
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/EnquiryNoBiddingApp/EnquiryNoBiddingAppHelper.js b/force-app/main/default/aura/EnquiryNoBiddingApp/EnquiryNoBiddingAppHelper.js
new file mode 100644
index 0000000..ba7f386
--- /dev/null
+++ b/force-app/main/default/aura/EnquiryNoBiddingApp/EnquiryNoBiddingAppHelper.js
@@ -0,0 +1,5 @@
+({
+ helperMethod : function() {
+
+ }
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/EnquiryNoBiddingApp/EnquiryNoBiddingAppRenderer.js b/force-app/main/default/aura/EnquiryNoBiddingApp/EnquiryNoBiddingAppRenderer.js
new file mode 100644
index 0000000..f1f0c75
--- /dev/null
+++ b/force-app/main/default/aura/EnquiryNoBiddingApp/EnquiryNoBiddingAppRenderer.js
@@ -0,0 +1,5 @@
+({
+
+// Your renderer method overrides go here
+
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/ImprovedForecastTimeApp/ImprovedForecastTimeApp.app b/force-app/main/default/aura/ImprovedForecastTimeApp/ImprovedForecastTimeApp.app
new file mode 100644
index 0000000..28a657f
--- /dev/null
+++ b/force-app/main/default/aura/ImprovedForecastTimeApp/ImprovedForecastTimeApp.app
@@ -0,0 +1,3 @@
+<aura:application access="public" extends="ltng:outApp">
+ <aura:dependency resource="c:ImprovedForecastTimeApp"/>
+</aura:application>
\ No newline at end of file
diff --git a/force-app/main/default/aura/ImprovedForecastTimeApp/ImprovedForecastTimeApp.app-meta.xml b/force-app/main/default/aura/ImprovedForecastTimeApp/ImprovedForecastTimeApp.app-meta.xml
new file mode 100644
index 0000000..b497bd6
--- /dev/null
+++ b/force-app/main/default/aura/ImprovedForecastTimeApp/ImprovedForecastTimeApp.app-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<AuraDefinitionBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>55.0</apiVersion>
+ <description>A Lightning Application Bundle</description>
+</AuraDefinitionBundle>
diff --git a/force-app/main/default/aura/ImprovedForecastTimeApp/ImprovedForecastTimeApp.auradoc b/force-app/main/default/aura/ImprovedForecastTimeApp/ImprovedForecastTimeApp.auradoc
new file mode 100644
index 0000000..d0d6eb5
--- /dev/null
+++ b/force-app/main/default/aura/ImprovedForecastTimeApp/ImprovedForecastTimeApp.auradoc
@@ -0,0 +1,6 @@
+<aura:documentation>
+ <aura:description>Documentation</aura:description>
+ <aura:example name="ExampleName" ref="exampleComponentName" label="Label">
+ Example Description
+ </aura:example>
+</aura:documentation>
\ No newline at end of file
diff --git a/force-app/main/default/aura/ImprovedForecastTimeApp/ImprovedForecastTimeApp.css b/force-app/main/default/aura/ImprovedForecastTimeApp/ImprovedForecastTimeApp.css
new file mode 100644
index 0000000..a5839d4
--- /dev/null
+++ b/force-app/main/default/aura/ImprovedForecastTimeApp/ImprovedForecastTimeApp.css
@@ -0,0 +1,2 @@
+.THIS {
+}
\ No newline at end of file
diff --git a/force-app/main/default/aura/ImprovedForecastTimeApp/ImprovedForecastTimeApp.svg b/force-app/main/default/aura/ImprovedForecastTimeApp/ImprovedForecastTimeApp.svg
new file mode 100644
index 0000000..791b3c7
--- /dev/null
+++ b/force-app/main/default/aura/ImprovedForecastTimeApp/ImprovedForecastTimeApp.svg
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="120px" height="120px" viewBox="0 0 120 120" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+ <path d="M120,108 C120,114.6 114.6,120 108,120 L12,120 C5.4,120 0,114.6 0,108 L0,12 C0,5.4 5.4,0 12,0 L108,0 C114.6,0 120,5.4 120,12 L120,108 L120,108 Z" id="Shape" fill="#2A739E"/>
+ <path d="M77.7383308,20 L61.1640113,20 L44.7300055,63.2000173 L56.0543288,63.2000173 L40,99.623291 L72.7458388,54.5871812 L60.907727,54.5871812 L77.7383308,20 Z" id="Path-1" fill="#FFFFFF"/>
+ </g>
+</svg>
\ No newline at end of file
diff --git a/force-app/main/default/aura/ImprovedForecastTimeApp/ImprovedForecastTimeAppController.js b/force-app/main/default/aura/ImprovedForecastTimeApp/ImprovedForecastTimeAppController.js
new file mode 100644
index 0000000..77e406b
--- /dev/null
+++ b/force-app/main/default/aura/ImprovedForecastTimeApp/ImprovedForecastTimeAppController.js
@@ -0,0 +1,5 @@
+({
+ myAction : function(component, event, helper) {
+
+ }
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/ImprovedForecastTimeApp/ImprovedForecastTimeAppHelper.js b/force-app/main/default/aura/ImprovedForecastTimeApp/ImprovedForecastTimeAppHelper.js
new file mode 100644
index 0000000..ba7f386
--- /dev/null
+++ b/force-app/main/default/aura/ImprovedForecastTimeApp/ImprovedForecastTimeAppHelper.js
@@ -0,0 +1,5 @@
+({
+ helperMethod : function() {
+
+ }
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/ImprovedForecastTimeApp/ImprovedForecastTimeAppRenderer.js b/force-app/main/default/aura/ImprovedForecastTimeApp/ImprovedForecastTimeAppRenderer.js
new file mode 100644
index 0000000..f1f0c75
--- /dev/null
+++ b/force-app/main/default/aura/ImprovedForecastTimeApp/ImprovedForecastTimeAppRenderer.js
@@ -0,0 +1,5 @@
+({
+
+// Your renderer method overrides go here
+
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/LWCContainerApp/LWCContainerApp.app b/force-app/main/default/aura/LWCContainerApp/LWCContainerApp.app
new file mode 100644
index 0000000..385fcb1
--- /dev/null
+++ b/force-app/main/default/aura/LWCContainerApp/LWCContainerApp.app
@@ -0,0 +1,3 @@
+<aura:application access="GLOBAL" extends="ltng:outApp">
+ <aura:dependency resource="c:interoperability" />
+</aura:application>
\ No newline at end of file
diff --git a/force-app/main/default/aura/LWCContainerApp/LWCContainerApp.app-meta.xml b/force-app/main/default/aura/LWCContainerApp/LWCContainerApp.app-meta.xml
new file mode 100644
index 0000000..f405492
--- /dev/null
+++ b/force-app/main/default/aura/LWCContainerApp/LWCContainerApp.app-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<AuraDefinitionBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>54.0</apiVersion>
+ <description>A Lightning Application Bundle</description>
+</AuraDefinitionBundle>
diff --git a/force-app/main/default/aura/LwcTesst/LwcTesst.cmp b/force-app/main/default/aura/LwcTesst/LwcTesst.cmp
new file mode 100644
index 0000000..cc8e1d1
--- /dev/null
+++ b/force-app/main/default/aura/LwcTesst/LwcTesst.cmp
@@ -0,0 +1,3 @@
+<aura:component>
+
+</aura:component>
\ No newline at end of file
diff --git a/force-app/main/default/aura/LwcTesst/LwcTesst.cmp-meta.xml b/force-app/main/default/aura/LwcTesst/LwcTesst.cmp-meta.xml
new file mode 100644
index 0000000..4e6c418
--- /dev/null
+++ b/force-app/main/default/aura/LwcTesst/LwcTesst.cmp-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<AuraDefinitionBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>57.0</apiVersion>
+ <description>DESCRIPTION</description>
+</AuraDefinitionBundle>
diff --git a/force-app/main/default/aura/MaintenanceContractApp/MaintenanceContractApp.app b/force-app/main/default/aura/MaintenanceContractApp/MaintenanceContractApp.app
new file mode 100644
index 0000000..ad242f1
--- /dev/null
+++ b/force-app/main/default/aura/MaintenanceContractApp/MaintenanceContractApp.app
@@ -0,0 +1,3 @@
+<aura:application access="public" extends="ltng:outApp">
+ <aura:dependency resource="c:MaintenanceContractApp"/>
+</aura:application>
\ No newline at end of file
diff --git a/force-app/main/default/aura/MaintenanceContractApp/MaintenanceContractApp.app-meta.xml b/force-app/main/default/aura/MaintenanceContractApp/MaintenanceContractApp.app-meta.xml
new file mode 100644
index 0000000..aa49e4d
--- /dev/null
+++ b/force-app/main/default/aura/MaintenanceContractApp/MaintenanceContractApp.app-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<AuraDefinitionBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>51.0</apiVersion>
+ <description>A Lightning Application Bundle</description>
+</AuraDefinitionBundle>
diff --git a/force-app/main/default/aura/MaintenanceContractApp/MaintenanceContractApp.auradoc b/force-app/main/default/aura/MaintenanceContractApp/MaintenanceContractApp.auradoc
new file mode 100644
index 0000000..d0d6eb5
--- /dev/null
+++ b/force-app/main/default/aura/MaintenanceContractApp/MaintenanceContractApp.auradoc
@@ -0,0 +1,6 @@
+<aura:documentation>
+ <aura:description>Documentation</aura:description>
+ <aura:example name="ExampleName" ref="exampleComponentName" label="Label">
+ Example Description
+ </aura:example>
+</aura:documentation>
\ No newline at end of file
diff --git a/force-app/main/default/aura/MaintenanceContractApp/MaintenanceContractApp.css b/force-app/main/default/aura/MaintenanceContractApp/MaintenanceContractApp.css
new file mode 100644
index 0000000..a5839d4
--- /dev/null
+++ b/force-app/main/default/aura/MaintenanceContractApp/MaintenanceContractApp.css
@@ -0,0 +1,2 @@
+.THIS {
+}
\ No newline at end of file
diff --git a/force-app/main/default/aura/MaintenanceContractApp/MaintenanceContractApp.svg b/force-app/main/default/aura/MaintenanceContractApp/MaintenanceContractApp.svg
new file mode 100644
index 0000000..791b3c7
--- /dev/null
+++ b/force-app/main/default/aura/MaintenanceContractApp/MaintenanceContractApp.svg
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="120px" height="120px" viewBox="0 0 120 120" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+ <path d="M120,108 C120,114.6 114.6,120 108,120 L12,120 C5.4,120 0,114.6 0,108 L0,12 C0,5.4 5.4,0 12,0 L108,0 C114.6,0 120,5.4 120,12 L120,108 L120,108 Z" id="Shape" fill="#2A739E"/>
+ <path d="M77.7383308,20 L61.1640113,20 L44.7300055,63.2000173 L56.0543288,63.2000173 L40,99.623291 L72.7458388,54.5871812 L60.907727,54.5871812 L77.7383308,20 Z" id="Path-1" fill="#FFFFFF"/>
+ </g>
+</svg>
\ No newline at end of file
diff --git a/force-app/main/default/aura/MaintenanceContractApp/MaintenanceContractAppController.js b/force-app/main/default/aura/MaintenanceContractApp/MaintenanceContractAppController.js
new file mode 100644
index 0000000..77e406b
--- /dev/null
+++ b/force-app/main/default/aura/MaintenanceContractApp/MaintenanceContractAppController.js
@@ -0,0 +1,5 @@
+({
+ myAction : function(component, event, helper) {
+
+ }
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/MaintenanceContractApp/MaintenanceContractAppHelper.js b/force-app/main/default/aura/MaintenanceContractApp/MaintenanceContractAppHelper.js
new file mode 100644
index 0000000..ba7f386
--- /dev/null
+++ b/force-app/main/default/aura/MaintenanceContractApp/MaintenanceContractAppHelper.js
@@ -0,0 +1,5 @@
+({
+ helperMethod : function() {
+
+ }
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/MaintenanceContractApp/MaintenanceContractAppRenderer.js b/force-app/main/default/aura/MaintenanceContractApp/MaintenanceContractAppRenderer.js
new file mode 100644
index 0000000..f1f0c75
--- /dev/null
+++ b/force-app/main/default/aura/MaintenanceContractApp/MaintenanceContractAppRenderer.js
@@ -0,0 +1,5 @@
+({
+
+// Your renderer method overrides go here
+
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/MaintenanceContractNotOpenApp/MaintenanceContractNotOpenApp.app b/force-app/main/default/aura/MaintenanceContractNotOpenApp/MaintenanceContractNotOpenApp.app
new file mode 100644
index 0000000..ab84b87
--- /dev/null
+++ b/force-app/main/default/aura/MaintenanceContractNotOpenApp/MaintenanceContractNotOpenApp.app
@@ -0,0 +1,3 @@
+<aura:application access="public" extends="ltng:outApp">
+ <aura:dependency resource="c:MaintenanceContractNotOpenApp"/>
+</aura:application>
\ No newline at end of file
diff --git a/force-app/main/default/aura/MaintenanceContractNotOpenApp/MaintenanceContractNotOpenApp.app-meta.xml b/force-app/main/default/aura/MaintenanceContractNotOpenApp/MaintenanceContractNotOpenApp.app-meta.xml
new file mode 100644
index 0000000..aa49e4d
--- /dev/null
+++ b/force-app/main/default/aura/MaintenanceContractNotOpenApp/MaintenanceContractNotOpenApp.app-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<AuraDefinitionBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>51.0</apiVersion>
+ <description>A Lightning Application Bundle</description>
+</AuraDefinitionBundle>
diff --git a/force-app/main/default/aura/MaintenanceContractNotOpenApp/MaintenanceContractNotOpenApp.auradoc b/force-app/main/default/aura/MaintenanceContractNotOpenApp/MaintenanceContractNotOpenApp.auradoc
new file mode 100644
index 0000000..d0d6eb5
--- /dev/null
+++ b/force-app/main/default/aura/MaintenanceContractNotOpenApp/MaintenanceContractNotOpenApp.auradoc
@@ -0,0 +1,6 @@
+<aura:documentation>
+ <aura:description>Documentation</aura:description>
+ <aura:example name="ExampleName" ref="exampleComponentName" label="Label">
+ Example Description
+ </aura:example>
+</aura:documentation>
\ No newline at end of file
diff --git a/force-app/main/default/aura/MaintenanceContractNotOpenApp/MaintenanceContractNotOpenApp.css b/force-app/main/default/aura/MaintenanceContractNotOpenApp/MaintenanceContractNotOpenApp.css
new file mode 100644
index 0000000..a5839d4
--- /dev/null
+++ b/force-app/main/default/aura/MaintenanceContractNotOpenApp/MaintenanceContractNotOpenApp.css
@@ -0,0 +1,2 @@
+.THIS {
+}
\ No newline at end of file
diff --git a/force-app/main/default/aura/MaintenanceContractNotOpenApp/MaintenanceContractNotOpenApp.svg b/force-app/main/default/aura/MaintenanceContractNotOpenApp/MaintenanceContractNotOpenApp.svg
new file mode 100644
index 0000000..791b3c7
--- /dev/null
+++ b/force-app/main/default/aura/MaintenanceContractNotOpenApp/MaintenanceContractNotOpenApp.svg
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="120px" height="120px" viewBox="0 0 120 120" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+ <path d="M120,108 C120,114.6 114.6,120 108,120 L12,120 C5.4,120 0,114.6 0,108 L0,12 C0,5.4 5.4,0 12,0 L108,0 C114.6,0 120,5.4 120,12 L120,108 L120,108 Z" id="Shape" fill="#2A739E"/>
+ <path d="M77.7383308,20 L61.1640113,20 L44.7300055,63.2000173 L56.0543288,63.2000173 L40,99.623291 L72.7458388,54.5871812 L60.907727,54.5871812 L77.7383308,20 Z" id="Path-1" fill="#FFFFFF"/>
+ </g>
+</svg>
\ No newline at end of file
diff --git a/force-app/main/default/aura/MaintenanceContractNotOpenApp/MaintenanceContractNotOpenAppController.js b/force-app/main/default/aura/MaintenanceContractNotOpenApp/MaintenanceContractNotOpenAppController.js
new file mode 100644
index 0000000..77e406b
--- /dev/null
+++ b/force-app/main/default/aura/MaintenanceContractNotOpenApp/MaintenanceContractNotOpenAppController.js
@@ -0,0 +1,5 @@
+({
+ myAction : function(component, event, helper) {
+
+ }
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/MaintenanceContractNotOpenApp/MaintenanceContractNotOpenAppHelper.js b/force-app/main/default/aura/MaintenanceContractNotOpenApp/MaintenanceContractNotOpenAppHelper.js
new file mode 100644
index 0000000..ba7f386
--- /dev/null
+++ b/force-app/main/default/aura/MaintenanceContractNotOpenApp/MaintenanceContractNotOpenAppHelper.js
@@ -0,0 +1,5 @@
+({
+ helperMethod : function() {
+
+ }
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/MaintenanceContractNotOpenApp/MaintenanceContractNotOpenAppRenderer.js b/force-app/main/default/aura/MaintenanceContractNotOpenApp/MaintenanceContractNotOpenAppRenderer.js
new file mode 100644
index 0000000..f1f0c75
--- /dev/null
+++ b/force-app/main/default/aura/MaintenanceContractNotOpenApp/MaintenanceContractNotOpenAppRenderer.js
@@ -0,0 +1,5 @@
+({
+
+// Your renderer method overrides go here
+
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/NewAgencyContact/NewAgencyContact.cmp b/force-app/main/default/aura/NewAgencyContact/NewAgencyContact.cmp
new file mode 100644
index 0000000..728038d
--- /dev/null
+++ b/force-app/main/default/aura/NewAgencyContact/NewAgencyContact.cmp
@@ -0,0 +1,70 @@
+<!--
+ @description :
+ @author : ChangeMeIn@UserSettingsUnder.SFDoc
+ @group :
+ @last modified on : 07-08-2022
+ @last modified by : ChangeMeIn@UserSettingsUnder.SFDoc
+-->
+<aura:component implements="force:lightningQuickActionWithoutHeader,force:hasRecordId,lightning:actionOverride,lightning:isUrlAddressable" access="global"
+ controller="NewAgencyContactController">
+
+ <aura:attribute name = "recordId" type = "Id" default = ""/>
+ <aura:attribute name="title" type="string"/>
+ <aura:handler name="init" value="{!this}" action="{!c.doInit}" />
+ <aura:attribute name="layout" type="LayoutDescriberHelper.LayoutWrapper"/>
+ <aura:attribute name="record_data" type="Map"/>
+ <aura:attribute name="section_names" type="List"/>
+ <aura:attribute name="showSpinner" type="Boolean" default = "False"/>
+ <aura:attribute name="staticResource" type="Map"/>
+ <aura:attribute name="pi_fields_map" type="Map"/>
+ <aura:attribute name="isClone" type="Boolean" default = "False"/>
+ <ltng:require scripts="{! $Resource.AWSService+'/AWSService.js' }" />
+ <ltng:require scripts="{! $Resource.jquery183minjs }" />
+ <aura:registerEvent name="NewAgencyContactEvent" type="c:NewAgencyContactEvent"/>
+
+ <div class="{! v.container_class}">
+ <!-- header -->
+ <header class="slds-modal__header">
+ <h2 id="modal-heading-01" class="slds-modal__title slds-hyphenate">
+ {!v.title}
+ </h2>
+ </header>
+
+ <div class="slds-modal__content slds-p-around_medium">
+ <aura:if isTrue="{!v.showSpinner}">
+ <lightning:spinner alternativeText="Loading" size="medium" />
+ </aura:if>
+
+
+ <lightning:recordEditForm objectApiName="Agency_Contact__c">
+
+ <lightning:accordion activeSectionName="{! v.section_names }" allowMultipleSectionsOpen="true" class="greyyyy" >
+ <aura:iteration items="{!v.layout}" var="section">
+ <aura:if isTrue="{! section.editHeading }">
+ <lightning:accordionSection name="{! section.label }" label="{! section.label }">
+
+ <aura:iteration items="{! section.layoutColumns}" var="col">
+ <aura:iteration items="{! col.layoutItems}" var="field">
+ <aura:if isTrue="{! field.behavior != 'Readonly' }">
+ <lightning:inputField required="{! field.behavior == 'Required' }" aura:id="field" fieldName="{! field.field}" value="{! field.value}" />
+
+ </aura:if>
+ </aura:iteration>
+
+ </aura:iteration>
+
+
+ </lightning:accordionSection>
+ </aura:if>
+ </aura:iteration>
+ </lightning:accordion>
+ </lightning:recordEditForm>
+
+ <div style="text-align:center;margin: 5px;">
+ <lightning:button class="slds-button slds-button_neutral" label="鍙栨秷" onclick="{! c.cancelClick }" />
+ <lightning:button class="slds-button slds-button_brand" variant="brand" label="淇濆瓨" onclick="{! c.saveClick }" />
+
+ </div>
+ </div>
+ </div>
+</aura:component>
\ No newline at end of file
diff --git a/force-app/main/default/aura/NewAgencyContact/NewAgencyContact.cmp-meta.xml b/force-app/main/default/aura/NewAgencyContact/NewAgencyContact.cmp-meta.xml
new file mode 100644
index 0000000..632b900
--- /dev/null
+++ b/force-app/main/default/aura/NewAgencyContact/NewAgencyContact.cmp-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<AuraDefinitionBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>54.0</apiVersion>
+ <description>A Lightning Component Bundle</description>
+</AuraDefinitionBundle>
diff --git a/force-app/main/default/aura/NewAgencyContact/NewAgencyContact.css b/force-app/main/default/aura/NewAgencyContact/NewAgencyContact.css
new file mode 100644
index 0000000..919a7e5
--- /dev/null
+++ b/force-app/main/default/aura/NewAgencyContact/NewAgencyContact.css
@@ -0,0 +1,15 @@
+.THIS {
+}
+
+.THIS .greyyyy .slds-button_reset{
+ display: flex;
+ align-items: center;
+ background: var(--lwc-colorBackground,rgb(243, 242, 242));
+ cursor: pointer;
+ width: 100%;
+ height: 2rem;
+ text-align: left;
+ color: currentColor;
+ font-size: inherit;
+ padding: 0 var(--lwc-spacingXSmall,0.5rem);
+}
\ No newline at end of file
diff --git a/force-app/main/default/aura/NewAgencyContact/NewAgencyContactController.js b/force-app/main/default/aura/NewAgencyContact/NewAgencyContactController.js
new file mode 100644
index 0000000..5c76bf6
--- /dev/null
+++ b/force-app/main/default/aura/NewAgencyContact/NewAgencyContactController.js
@@ -0,0 +1,381 @@
+({
+ doInit : function(component, event, helper) {
+ let rid = component.get('v.recordId');
+ let pid = null;
+ if(!rid){
+ pid = window.location.href.replace("https://","").split("/")[4];
+ }
+ let isClone = component.get('v.isClone');
+ if(!rid || isClone){
+ component.set('v.title',$A.get("$Label.c.New")+'.瀹㈡埛浜哄憳');
+ }else{
+ component.set('v.title',$A.get("$Label.c.Edit")+'.瀹㈡埛浜哄憳');
+ }
+
+ let record_type_id = null;
+ let pageref = component.get("v.pageReference")
+ if(!record_type_id && pageref){
+ record_type_id = pageref.state.recordTypeId
+ }
+ component.set("v.showSpinner", true);
+ helper.CallBackAction(component,'Init',{
+ rid : rid,
+ pid : pid,
+ //rid : component.get('v.recordId'),
+ record_type_id : record_type_id,
+ },function(data){
+ component.set("v.showSpinner", false);
+
+
+ if(data.getState() == "SUCCESS"){
+ var rv = data.getReturnValue();
+ console.log(rv);
+ if(rv.IsSuccess){
+ let layout = JSON.parse(rv.Data.layout);
+ let fields = rv.Data.fields;
+ let staticResource = JSON.parse(rv.Data.staticResource)
+ let section_names = [];
+ section_names = layout.map(s=>s.label);
+ component.set('v.section_names',section_names);
+
+ let m = {};
+ for(let f of staticResource.PIDetails){
+ m[f.SF_Field_API_Name__c] = f;
+ }
+ component.set('v.pi_fields_map',m);
+
+
+
+ if(rv.Data && rv.Data.data && rv.Data.data.AWS_Data_Id__c){
+ helper.AwsGet(staticResource.queryUrl, {
+ dataId : rv.Data.data.AWS_Data_Id__c
+ }, function(data){
+ console.log('data = ' + data);
+
+ for(let f of staticResource.PIDetails){
+
+ if(data.object && data.object.hasOwnProperty(f.AWS_Field_API__c)){
+ rv.Data.data[f.SF_Field_API_Name__c] = data.object[f.AWS_Field_API__c];
+ if(data.object.hasOwnProperty(f.AWS_Encrypted_Field_API__c) && data.object[f.AWS_Encrypted_Field_API__c]){
+ rv.Data.data[f.SF_Field_Encrypted_API__c] = data.object[f.AWS_Encrypted_Field_API__c];
+ }
+ }
+ }
+
+ for(let s of layout){
+ for(let c of s.layoutColumns){
+ for(let item of c.layoutItems){
+ console.log('item.field = ' + item.field);
+ if(rv.Data.data.hasOwnProperty(item.field)){
+ item.value = rv.Data.data[item.field];
+ }
+
+ if(fields.hasOwnProperty(item.field)){
+ item.fi = fields[item.field];
+ }
+ }
+ }
+ }
+
+ component.set('v.record_data',rv.Data.data);
+ component.set('v.layout',layout);
+ }, staticResource.token);
+ }else{
+
+ for(let s of layout){
+ for(let c of s.layoutColumns){
+ for(let item of c.layoutItems){
+ if(rv.Data && fields.hasOwnProperty(item.field) && fields[item.field].References && fields[item.field].References.map(m=>m.value).indexOf(rv.Data.pidType) > -1){
+ item.value = pid;
+ }
+ }
+ }
+ }
+ component.set('v.layout',layout);
+ }
+
+
+ component.set('v.fields',fields);
+ component.set('v.staticResource',staticResource);
+ }else{
+ helper.ShowToast({
+ "message" : rv.Message,
+ "type" : "error"
+ });
+ }
+
+ }else{
+ helper.ShowToast({
+ "message" : "Init error",
+ "type" : "error"
+ });
+
+ }
+ });
+ },
+ saveClick : function(component, event, helper){
+
+ let staticResource = component.get('v.staticResource');
+ let record_id = component.get('v.recordId');
+ let record_type_id = component.get('v.recordTypeId');
+
+ let isClone = component.get('v.isClone');
+ let url = staticResource.newUrl;
+ let payloadPi = {};
+ if (record_id && !isClone) {
+ url = staticResource.updateUrl;
+ payloadPi['dataId'] = component.get('v.record_data').AWS_Data_Id__c;
+ }
+ let layout = component.get('v.layout');
+
+ let pi_fields_map = component.get('v.pi_fields_map');
+
+ let hospitalId = '';
+ for(let s of layout){
+ for(let c of s.layoutColumns){
+ for(let item of c.layoutItems){
+ if(item.field == 'Agency_Hospital__c'){
+ hospitalId = item.value;
+ }
+ if(pi_fields_map.hasOwnProperty(item.field)){
+
+ payloadPi[pi_fields_map[item.field].AWS_Field_API__c] = item.value;
+ }
+
+ if (item.behavior == "Required" && !item.value ) {
+ let fs = component.find("field");
+ for(let fi in fs){
+ let f = fs[fi];
+ if(!f.get('v.value')){
+ f.reset();
+ }
+ }
+ return;
+ }
+ }
+ }
+ }
+
+ component.set("v.showSpinner", true);
+ //zhj MEBG鏂版柟妗堟敼閫� 2022-11-29 start
+ debugger
+ let hospitalName = '';
+ //璋冪敤鍚庣searchAgencyDataId鏂规硶鏌ヨ鍑哄尰闄笅闈㈡墍鏈夊鎴蜂汉鍛榙ataid
+ helper.CallBackAction(component,'searchAgencyDataId',{
+ hospitalId : hospitalId
+ },function(data){
+ if(data.getState() == "SUCCESS"){
+ var data = data.getReturnValue();
+ if(data.IsSuccess == true){
+ let agencyContactIds = ''
+ if(data.Message == '' && data.Data && data.Data.length > 0){
+ hospitalName = data.Data[0].Agency_Hospital__r.Name;
+ for(var i=0;i<data.Data.length;i++){
+ if(data.Data[i].AWS_Data_Id__c)
+ agencyContactIds += ','+data.Data[i].AWS_Data_Id__c;
+ }
+ agencyContactIds = agencyContactIds.substring(1);
+ payloadPi['agencyContactIds'] = agencyContactIds;
+ }else{
+ payloadPi['agencyContactIds'] = agencyContactIds;
+ }
+ helper.AwsPost(url+'V2', [payloadPi], function(result){
+ //濡傛灉杩斿洖鏄�129琛ㄧず閲嶅浜嗭紝鎶ラ敊
+ if(result.status == '129'){
+ helper.ShowToast({
+ "message" : '璇ュ鎴蜂汉鍛樺悕瀛楀凡瀛樺湪锛屽湪'+hospitalName+'鍖婚櫌锛岃淇敼',
+ "type" : "error"
+ });
+ component.set("v.showSpinner", false);
+ return
+ }
+
+ let obj = result.object[0];
+ let data = {};
+ if(record_id && !isClone){
+ data.Id = record_id;
+ }else{
+ data.AWS_Data_Id__c = obj.dataId;
+ }
+ for(let s of layout){
+ for(let c of s.layoutColumns){
+ for(let item of c.layoutItems){
+ if(item.field && item.behavior != "Readonly"){
+ if(pi_fields_map.hasOwnProperty(item.field)){
+ data[item.field] = obj[pi_fields_map[item.field].AWS_Field_API__c];
+ //data[pi_fields_map[item.field].SF_Field_Encrypted_API__c] = obj[pi_fields_map[item.field].AWS_Encrypted_Field_API__c];
+ }else{
+ data[item.field] = item.value;
+ }
+ }
+
+ }
+ }
+ }
+
+
+ $A.getCallback(function(){
+ helper.CallBackAction(component,'Save',{
+ data : data,
+ transId : result.txId
+ },function(data){
+ component.set("v.showSpinner", false);
+ if(data.getState() == "SUCCESS"){
+ var rv = data.getReturnValue();
+ console.log(rv);
+ var sfId = null;
+ if(rv.IsSuccess){
+ sfId = rv.Data.recordId;
+ }
+
+ helper.AwsPost(staticResource.transactionUrl,{
+ txId: result.txId,
+ sfRecordId:sfId,
+ isSuccess: rv.IsSuccess ? 1 : 0
+ },function(data){
+ if(rv.IsSuccess){
+ helper.ShowToast({
+ "message" : "鎴愬姛",
+ "type" : "success"
+ });
+ if (record_id && !isClone){
+
+ helper.closeAgencyContact(component);
+ //$A.get('e.force:refreshView').fire();
+ }else{
+ var sObjectEvent = $A.get("e.force:navigateToSObject");
+ sObjectEvent.setParams({
+ "recordId": sfId
+ })
+ sObjectEvent.fire();
+ }
+ }else{
+ helper.ShowToast({
+ "message" : rv.Message,
+ "type" : "error"
+ });
+ }
+ },staticResource.token);
+
+
+ }else{
+
+ helper.ShowToast({
+ "message" : "Init error",
+ "type" : "error"
+ });
+
+ }
+ });
+ })();
+
+ }, staticResource.token);
+ }else{
+ helper.ShowToast({
+ "message" : data.message,
+ "type" : "error"
+ });
+ component.set("v.showSpinner", false);
+ }
+ }else{
+ helper.ShowToast({
+ "message" : 'searchAgency澶辫触',
+ "type" : "error"
+ });
+ component.set("v.showSpinner", false);
+ }
+ });
+ //zhj MEBG鏂版柟妗堟敼閫� 2022-11-29 end
+
+ // helper.AwsPost(url, [payloadPi], function(result){
+
+ // let obj = result.object[0];
+ // let data = {};
+ // if(record_id && !isClone){
+ // data.Id = record_id;
+ // }else{
+ // data.AWS_Data_Id__c = obj.dataId;
+ // }
+ // for(let s of layout){
+ // for(let c of s.layoutColumns){
+ // for(let item of c.layoutItems){
+ // if(item.field && item.behavior != "Readonly"){
+ // if(pi_fields_map.hasOwnProperty(item.field)){
+ // data[item.field] = obj[pi_fields_map[item.field].AWS_Field_API__c];
+ // data[pi_fields_map[item.field].SF_Field_Encrypted_API__c] = obj[pi_fields_map[item.field].AWS_Encrypted_Field_API__c];
+ // }else{
+ // data[item.field] = item.value;
+ // }
+ // }
+
+ // }
+ // }
+ // }
+
+
+ // $A.getCallback(function(){
+ // helper.CallBackAction(component,'Save',{
+ // data : data,
+ // transId : result.txId
+ // },function(data){
+ // component.set("v.showSpinner", false);
+ // if(data.getState() == "SUCCESS"){
+ // var rv = data.getReturnValue();
+ // console.log(rv);
+ // var sfId = null;
+ // if(rv.IsSuccess){
+ // sfId = rv.Data.recordId;
+ // }
+
+ // helper.AwsPost(staticResource.transactionUrl,{
+ // txId: result.txId,
+ // sfRecordId:sfId,
+ // isSuccess: rv.IsSuccess ? 1 : 0
+ // },function(data){
+ // if(rv.IsSuccess){
+ // helper.ShowToast({
+ // "message" : "鎴愬姛",
+ // "type" : "success"
+ // });
+
+ // if (record_id && !isClone){
+
+ // $A.get("e.force:closeQuickAction").fire();
+ // $A.get('e.force:refreshView').fire();
+ // }else{
+ // var sObjectEvent = $A.get("e.force:navigateToSObject");
+ // sObjectEvent.setParams({
+ // "recordId": sfId
+ // })
+ // sObjectEvent.fire();
+ // }
+ // }else{
+ // helper.ShowToast({
+ // "message" : rv.Message,
+ // "type" : "error"
+ // });
+ // }
+ // },staticResource.token);
+
+
+ // }else{
+
+ // helper.ShowToast({
+ // "message" : "Init error",
+ // "type" : "error"
+ // });
+
+ // }
+ // });
+ // })();
+
+ // }, staticResource.token);
+ },
+ cancelClick : function(component, event, helper){
+ $A.get("e.force:closeQuickAction").fire();
+ //document.getElementById('NewAgencyContact').remove();
+ //component.set('v.showNewAgencyContact', false);
+ },
+
+ scriptsLoaded : function(component, event, helper){}
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/NewAgencyContact/NewAgencyContactHelper.js b/force-app/main/default/aura/NewAgencyContact/NewAgencyContactHelper.js
new file mode 100644
index 0000000..9ca0c00
--- /dev/null
+++ b/force-app/main/default/aura/NewAgencyContact/NewAgencyContactHelper.js
@@ -0,0 +1,50 @@
+({
+ CallBackAction : function(component,action_name,para,callback) {
+ var action = component.get("c." + action_name.trimStart().replace("c.",""));
+ if(para){
+ action.setParams(para);
+ }
+ if(callback){
+ action.setCallback(this,function(data){
+ callback(data);
+ });
+ }
+
+ $A.enqueueAction(action);
+ },
+ ShowToast : function(paras){
+ var toastEvent = $A.get("e.force:showToast");
+ toastEvent.setParams(paras);
+ toastEvent.fire();
+ },
+ AwsPost : function(postURL, data ,callback,token){
+ let payloadForNewPI = '';
+ if(typeof(data) == 'string'){
+ payloadForNewPI = data;
+ }else{
+ payloadForNewPI = JSON.stringify(data);
+ }
+
+ AWSService.post(postURL,payloadForNewPI,function(result) {
+ //this.insertCalloutLog(this.insertModule,postURL,JSON.stringify(payloadForNewPI),JSON.stringify(result),this.successStatus);
+ if(callback) callback(result);
+ },token);
+ },
+ AwsGet : function(url, data ,callback,token){
+
+ if(typeof(data) == 'string'){
+ url += data;
+ }else{
+ let i = 0;
+ for(let p in data){
+ url += (i++) ? '&' : '?';
+ url += p + '=' + data[p];
+ }
+ }
+
+ AWSService.get(url,function(result){
+ //this.insertCalloutLog(this.insertModule,postURL,JSON.stringify(payloadForNewPI),JSON.stringify(result),this.successStatus);
+ if(callback) callback(result);
+ },token);
+ }
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/NewAgencyContact2/NewAgencyContact2.auradoc b/force-app/main/default/aura/NewAgencyContact2/NewAgencyContact2.auradoc
new file mode 100644
index 0000000..d0d6eb5
--- /dev/null
+++ b/force-app/main/default/aura/NewAgencyContact2/NewAgencyContact2.auradoc
@@ -0,0 +1,6 @@
+<aura:documentation>
+ <aura:description>Documentation</aura:description>
+ <aura:example name="ExampleName" ref="exampleComponentName" label="Label">
+ Example Description
+ </aura:example>
+</aura:documentation>
\ No newline at end of file
diff --git a/force-app/main/default/aura/NewAgencyContact2/NewAgencyContact2.cmp b/force-app/main/default/aura/NewAgencyContact2/NewAgencyContact2.cmp
new file mode 100644
index 0000000..728038d
--- /dev/null
+++ b/force-app/main/default/aura/NewAgencyContact2/NewAgencyContact2.cmp
@@ -0,0 +1,70 @@
+<!--
+ @description :
+ @author : ChangeMeIn@UserSettingsUnder.SFDoc
+ @group :
+ @last modified on : 07-08-2022
+ @last modified by : ChangeMeIn@UserSettingsUnder.SFDoc
+-->
+<aura:component implements="force:lightningQuickActionWithoutHeader,force:hasRecordId,lightning:actionOverride,lightning:isUrlAddressable" access="global"
+ controller="NewAgencyContactController">
+
+ <aura:attribute name = "recordId" type = "Id" default = ""/>
+ <aura:attribute name="title" type="string"/>
+ <aura:handler name="init" value="{!this}" action="{!c.doInit}" />
+ <aura:attribute name="layout" type="LayoutDescriberHelper.LayoutWrapper"/>
+ <aura:attribute name="record_data" type="Map"/>
+ <aura:attribute name="section_names" type="List"/>
+ <aura:attribute name="showSpinner" type="Boolean" default = "False"/>
+ <aura:attribute name="staticResource" type="Map"/>
+ <aura:attribute name="pi_fields_map" type="Map"/>
+ <aura:attribute name="isClone" type="Boolean" default = "False"/>
+ <ltng:require scripts="{! $Resource.AWSService+'/AWSService.js' }" />
+ <ltng:require scripts="{! $Resource.jquery183minjs }" />
+ <aura:registerEvent name="NewAgencyContactEvent" type="c:NewAgencyContactEvent"/>
+
+ <div class="{! v.container_class}">
+ <!-- header -->
+ <header class="slds-modal__header">
+ <h2 id="modal-heading-01" class="slds-modal__title slds-hyphenate">
+ {!v.title}
+ </h2>
+ </header>
+
+ <div class="slds-modal__content slds-p-around_medium">
+ <aura:if isTrue="{!v.showSpinner}">
+ <lightning:spinner alternativeText="Loading" size="medium" />
+ </aura:if>
+
+
+ <lightning:recordEditForm objectApiName="Agency_Contact__c">
+
+ <lightning:accordion activeSectionName="{! v.section_names }" allowMultipleSectionsOpen="true" class="greyyyy" >
+ <aura:iteration items="{!v.layout}" var="section">
+ <aura:if isTrue="{! section.editHeading }">
+ <lightning:accordionSection name="{! section.label }" label="{! section.label }">
+
+ <aura:iteration items="{! section.layoutColumns}" var="col">
+ <aura:iteration items="{! col.layoutItems}" var="field">
+ <aura:if isTrue="{! field.behavior != 'Readonly' }">
+ <lightning:inputField required="{! field.behavior == 'Required' }" aura:id="field" fieldName="{! field.field}" value="{! field.value}" />
+
+ </aura:if>
+ </aura:iteration>
+
+ </aura:iteration>
+
+
+ </lightning:accordionSection>
+ </aura:if>
+ </aura:iteration>
+ </lightning:accordion>
+ </lightning:recordEditForm>
+
+ <div style="text-align:center;margin: 5px;">
+ <lightning:button class="slds-button slds-button_neutral" label="鍙栨秷" onclick="{! c.cancelClick }" />
+ <lightning:button class="slds-button slds-button_brand" variant="brand" label="淇濆瓨" onclick="{! c.saveClick }" />
+
+ </div>
+ </div>
+ </div>
+</aura:component>
\ No newline at end of file
diff --git a/force-app/main/default/aura/NewAgencyContact2/NewAgencyContact2.cmp-meta.xml b/force-app/main/default/aura/NewAgencyContact2/NewAgencyContact2.cmp-meta.xml
new file mode 100644
index 0000000..119345a
--- /dev/null
+++ b/force-app/main/default/aura/NewAgencyContact2/NewAgencyContact2.cmp-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<AuraDefinitionBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>55.0</apiVersion>
+ <description>A Lightning Component Bundle</description>
+</AuraDefinitionBundle>
diff --git a/force-app/main/default/aura/NewAgencyContact2/NewAgencyContact2.css b/force-app/main/default/aura/NewAgencyContact2/NewAgencyContact2.css
new file mode 100644
index 0000000..919a7e5
--- /dev/null
+++ b/force-app/main/default/aura/NewAgencyContact2/NewAgencyContact2.css
@@ -0,0 +1,15 @@
+.THIS {
+}
+
+.THIS .greyyyy .slds-button_reset{
+ display: flex;
+ align-items: center;
+ background: var(--lwc-colorBackground,rgb(243, 242, 242));
+ cursor: pointer;
+ width: 100%;
+ height: 2rem;
+ text-align: left;
+ color: currentColor;
+ font-size: inherit;
+ padding: 0 var(--lwc-spacingXSmall,0.5rem);
+}
\ No newline at end of file
diff --git a/force-app/main/default/aura/NewAgencyContact2/NewAgencyContact2.design b/force-app/main/default/aura/NewAgencyContact2/NewAgencyContact2.design
new file mode 100644
index 0000000..d247163
--- /dev/null
+++ b/force-app/main/default/aura/NewAgencyContact2/NewAgencyContact2.design
@@ -0,0 +1,3 @@
+<design:component >
+
+</design:component>
\ No newline at end of file
diff --git a/force-app/main/default/aura/NewAgencyContact2/NewAgencyContact2.svg b/force-app/main/default/aura/NewAgencyContact2/NewAgencyContact2.svg
new file mode 100644
index 0000000..e201ae9
--- /dev/null
+++ b/force-app/main/default/aura/NewAgencyContact2/NewAgencyContact2.svg
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
+<svg width="120px" height="120px" viewBox="0 0 120 120" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+ <path d="M120,108 C120,114.6 114.6,120 108,120 L12,120 C5.4,120 0,114.6 0,108 L0,12 C0,5.4 5.4,0 12,0 L108,0 C114.6,0 120,5.4 120,12 L120,108 L120,108 Z" id="Shape" fill="#2A739E" />
+ <path d="M77.7383308,20 L61.1640113,20 L44.7300055,63.2000173 L56.0543288,63.2000173 L40,99.623291 L72.7458388,54.5871812 L60.907727,54.5871812 L77.7383308,20 Z" id="Path-1" fill="#FFFFFF" />
+ </g>
+</svg>
\ No newline at end of file
diff --git a/force-app/main/default/aura/NewAgencyContact2/NewAgencyContact2Controller.js b/force-app/main/default/aura/NewAgencyContact2/NewAgencyContact2Controller.js
new file mode 100644
index 0000000..c836f6d
--- /dev/null
+++ b/force-app/main/default/aura/NewAgencyContact2/NewAgencyContact2Controller.js
@@ -0,0 +1,387 @@
+({
+ doInit : function(component, event, helper) {
+ let rid = component.get('v.recordId');
+ let pid = null;
+ if(!rid){
+ pid = window.location.href.replace("https://","").split("/")[4];
+ }
+ let isClone = component.get('v.isClone');
+ if(!rid || isClone){
+ component.set('v.title',$A.get("$Label.c.New")+'.瀹㈡埛浜哄憳');
+ }else{
+ component.set('v.title',$A.get("$Label.c.Edit")+'.瀹㈡埛浜哄憳');
+ }
+
+ let record_type_id = null;
+ let pageref = component.get("v.pageReference")
+ if(!record_type_id && pageref){
+ record_type_id = pageref.state.recordTypeId
+ }
+ component.set("v.showSpinner", true);
+ helper.CallBackAction(component,'Init',{
+ rid : rid,
+ pid : null,
+ //rid : component.get('v.recordId'),
+ record_type_id : record_type_id,
+ },function(data){
+ debugger
+ component.set("v.showSpinner", false);
+
+ console.log('data = ' + JSON.stringify(data));
+ if(data.getState() == "SUCCESS"){
+ var rv = data.getReturnValue();
+ console.log(rv);
+ if(rv.IsSuccess){
+ let layout = JSON.parse(rv.Data.layout);
+ let fields = rv.Data.fields;
+ let staticResource = JSON.parse(rv.Data.staticResource);
+ let staticResourceV2 = JSON.parse(rv.Data.staticResourceV2);
+ let section_names = [];
+ section_names = layout.map(s=>s.label);
+ component.set('v.section_names',section_names);
+
+ let m = {};
+ for(let f of staticResource.PIDetails){
+ m[f.SF_Field_API_Name__c] = f;
+ }
+ component.set('v.pi_fields_map',m);
+
+
+
+ if(rv.Data && rv.Data.data && rv.Data.data.AWS_Data_Id__c){
+ helper.AwsGet(staticResource.queryUrl, {
+ dataId : rv.Data.data.AWS_Data_Id__c
+ }, function(data){
+ console.log('data = ' + data);
+
+ for(let f of staticResource.PIDetails){
+
+ if(data.object && data.object.hasOwnProperty(f.AWS_Field_API__c)){
+ rv.Data.data[f.SF_Field_API_Name__c] = data.object[f.AWS_Field_API__c];
+ if(data.object.hasOwnProperty(f.AWS_Encrypted_Field_API__c) && data.object[f.AWS_Encrypted_Field_API__c]){
+ rv.Data.data[f.SF_Field_Encrypted_API__c] = data.object[f.AWS_Encrypted_Field_API__c];
+ }
+ }
+ }
+
+ for(let s of layout){
+ for(let c of s.layoutColumns){
+ for(let item of c.layoutItems){
+ if(rv.Data.data.hasOwnProperty(item.field)){
+ item.value = rv.Data.data[item.field];
+ }
+
+ if(fields.hasOwnProperty(item.field)){
+ item.fi = fields[item.field];
+ }
+ }
+ }
+ }
+
+ component.set('v.record_data',rv.Data.data);
+ component.set('v.layout',layout);
+ }, staticResource.token);
+ }else{
+
+ for(let s of layout){
+ for(let c of s.layoutColumns){
+ for(let item of c.layoutItems){
+ if(rv.Data && fields.hasOwnProperty(item.field) && fields[item.field].References && fields[item.field].References.map(m=>m.value).indexOf(rv.Data.pidType) > -1){
+ item.value = pid;
+ }
+ }
+ }
+ }
+ component.set('v.layout',layout);
+ }
+
+
+ component.set('v.fields',fields);
+ component.set('v.staticResource',staticResource);
+ component.set('v.staticResourceV2',staticResourceV2);
+ }else{
+ helper.ShowToast({
+ "message" : rv.Message,
+ "type" : "error"
+ });
+ }
+
+ }else{
+
+ helper.ShowToast({
+ "message" : "Init error",
+ "type" : "error"
+ });
+
+ }
+ });
+ },
+ saveClick : function(component, event, helper){
+
+ let staticResource = component.get('v.staticResource');
+ //let staticResourceV2 = component.get('v.staticResourceV2');
+ let record_id = component.get('v.recordId');
+ let record_type_id = component.get('v.recordTypeId');
+
+ let isClone = component.get('v.isClone');
+ let url = staticResource.newUrl;
+ //let urlV2 = staticResourceV2.newUrl;
+ let payloadPi = {};
+ if (record_id && !isClone) {
+ url = staticResource.updateUrl;
+ //urlV2 = staticResourceV2.updateUrl;
+ payloadPi['dataId'] = component.get('v.record_data').AWS_Data_Id__c;
+ }
+ let layout = component.get('v.layout');
+
+ let pi_fields_map = component.get('v.pi_fields_map');
+
+ let hospitalId = '';
+ for(let s of layout){
+ for(let c of s.layoutColumns){
+ for(let item of c.layoutItems){
+ if(item.field == 'Agency_Hospital__c'){
+ hospitalId = item.value;
+ }
+ if(pi_fields_map.hasOwnProperty(item.field)){
+
+ payloadPi[pi_fields_map[item.field].AWS_Field_API__c] = item.value;
+ }
+
+ if (item.behavior == "Required" && !item.value ) {
+ let fs = component.find("field");
+ for(let fi in fs){
+ let f = fs[fi];
+ if(!f.get('v.value')){
+ f.reset();
+ }
+ }
+ return;
+ }
+ }
+ }
+ }
+
+ component.set("v.showSpinner", true);
+ //zhj MEBG鏂版柟妗堟敼閫� 2022-11-29 start
+ debugger
+ let hospitalName = '';
+ //璋冪敤鍚庣searchAgencyDataId鏂规硶鏌ヨ鍑哄尰闄笅闈㈡墍鏈夊鎴蜂汉鍛榙ataid
+ helper.CallBackAction(component,'searchAgencyDataId',{
+ hospitalId : hospitalId
+ },function(data){
+ if(data.getState() == "SUCCESS"){
+ var data = data.getReturnValue();
+ if(data.IsSuccess == true){
+ let agencyContactIds = ''
+ if(data.Message == '' && data.Data && data.Data.length > 0){
+ hospitalName = data.Data[0].Agency_Hospital__r.Name;
+ for(var i=0;i<data.Data.length;i++){
+ if(data.Data[i].AWS_Data_Id__c)
+ agencyContactIds += ','+data.Data[i].AWS_Data_Id__c;
+ }
+ agencyContactIds = agencyContactIds.substring(1);
+ payloadPi['agencyContactIds'] = agencyContactIds;
+ }else{
+ payloadPi['agencyContactIds'] = agencyContactIds;
+ }
+ helper.AwsPost(url+'V2', [payloadPi], function(result){
+ //濡傛灉杩斿洖鏄�129琛ㄧず閲嶅浜嗭紝鎶ラ敊
+ if(result.status == '129'){
+ helper.ShowToast({
+ "message" : '璇ュ鎴蜂汉鍛樺悕瀛楀凡瀛樺湪锛屽湪'+hospitalName+'鍖婚櫌锛岃淇敼',
+ "type" : "error"
+ });
+ component.set("v.showSpinner", false);
+ return
+ }
+
+ let obj = result.object[0];
+ let data = {};
+ if(record_id && !isClone){
+ data.Id = record_id;
+ }else{
+ data.AWS_Data_Id__c = obj.dataId;
+ }
+ for(let s of layout){
+ for(let c of s.layoutColumns){
+ for(let item of c.layoutItems){
+ if(item.field && item.behavior != "Readonly"){
+ if(pi_fields_map.hasOwnProperty(item.field)){
+ data[item.field] = obj[pi_fields_map[item.field].AWS_Field_API__c];
+ //data[pi_fields_map[item.field].SF_Field_Encrypted_API__c] = obj[pi_fields_map[item.field].AWS_Encrypted_Field_API__c];
+ }else{
+ data[item.field] = item.value;
+ }
+ }
+
+ }
+ }
+ }
+
+
+ $A.getCallback(function(){
+ helper.CallBackAction(component,'Save',{
+ data : data,
+ transId : result.txId
+ },function(data){
+ component.set("v.showSpinner", false);
+ if(data.getState() == "SUCCESS"){
+ var rv = data.getReturnValue();
+ console.log(rv);
+ var sfId = null;
+ if(rv.IsSuccess){
+ sfId = rv.Data.recordId;
+ }
+
+ helper.AwsPost(staticResource.transactionUrl,{
+ txId: result.txId,
+ sfRecordId:sfId,
+ isSuccess: rv.IsSuccess ? 1 : 0
+ },function(data){
+ if(rv.IsSuccess){
+ helper.ShowToast({
+ "message" : "鎴愬姛",
+ "type" : "success"
+ });
+ helper.closeAgencyContact(component);
+
+ // if (record_id && !isClone){
+
+ // helper.closeAgencyContact(component);
+ // //$A.get('e.force:refreshView').fire();
+ // }else{
+ // var sObjectEvent = $A.get("e.force:navigateToSObject");
+ // sObjectEvent.setParams({
+ // "recordId": sfId
+ // })
+ // sObjectEvent.fire();
+ // }
+ }else{
+ helper.ShowToast({
+ "message" : rv.Message,
+ "type" : "error"
+ });
+ }
+ },staticResource.token);
+
+
+ }else{
+
+ helper.ShowToast({
+ "message" : "Init error",
+ "type" : "error"
+ });
+
+ }
+ });
+ })();
+
+ }, staticResource.token);
+ }else{
+ helper.ShowToast({
+ "message" : data.message,
+ "type" : "error"
+ });
+ component.set("v.showSpinner", false);
+ }
+ }else{
+ helper.ShowToast({
+ "message" : 'searchAgency澶辫触',
+ "type" : "error"
+ });
+ component.set("v.showSpinner", false);
+ }
+ });
+ //zhj MEBG鏂版柟妗堟敼閫� 2022-11-29 end
+ // helper.AwsPost(urlV2, [payloadPi], function(result){
+
+ // let obj = result.object[0];
+ // let data = {};
+ // if(record_id && !isClone){
+ // data.Id = record_id;
+ // }else{
+ // data.AWS_Data_Id__c = obj.dataId;
+ // }
+ // for(let s of layout){
+ // for(let c of s.layoutColumns){
+ // for(let item of c.layoutItems){
+ // if(item.field && item.behavior != "Readonly"){
+ // if(pi_fields_map.hasOwnProperty(item.field)){
+ // data[item.field] = obj[pi_fields_map[item.field].AWS_Field_API__c];
+ // data[pi_fields_map[item.field].SF_Field_Encrypted_API__c] = obj[pi_fields_map[item.field].AWS_Encrypted_Field_API__c];
+ // }else{
+ // data[item.field] = item.value;
+ // }
+ // }
+
+ // }
+ // }
+ // }
+
+
+ // $A.getCallback(function(){
+ // helper.CallBackAction(component,'Save',{
+ // data : data,
+ // transId : result.txId
+ // },function(data){
+ // component.set("v.showSpinner", false);
+ // if(data.getState() == "SUCCESS"){
+ // var rv = data.getReturnValue();
+ // console.log(rv);
+ // var sfId = null;
+ // if(rv.IsSuccess){
+ // sfId = rv.Data.recordId;
+ // }
+
+ // helper.AwsPost(staticResource.transactionUrl,{
+ // txId: result.txId,
+ // sfRecordId:sfId,
+ // isSuccess: rv.IsSuccess ? 1 : 0
+ // },function(data){
+ // if(rv.IsSuccess){
+ // helper.ShowToast({
+ // "message" : "鎴愬姛",
+ // "type" : "success"
+ // });
+ // helper.closeAgencyContact(component);
+
+ // // if (record_id && !isClone){
+
+ // // helper.closeAgencyContact(component);
+ // // //$A.get('e.force:refreshView').fire();
+ // // }else{
+ // // var sObjectEvent = $A.get("e.force:navigateToSObject");
+ // // sObjectEvent.setParams({
+ // // "recordId": sfId
+ // // })
+ // // sObjectEvent.fire();
+ // // }
+ // }else{
+ // helper.ShowToast({
+ // "message" : rv.Message,
+ // "type" : "error"
+ // });
+ // }
+ // },staticResource.token);
+
+
+ // }else{
+
+ // helper.ShowToast({
+ // "message" : "Init error",
+ // "type" : "error"
+ // });
+
+ // }
+ // });
+ // })();
+
+ // }, staticResource.token);
+ },
+ cancelClick : function(component, event, helper){
+ helper.closeAgencyContact(component);
+ },
+
+ scriptsLoaded : function(component, event, helper){}
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/NewAgencyContact2/NewAgencyContact2Helper.js b/force-app/main/default/aura/NewAgencyContact2/NewAgencyContact2Helper.js
new file mode 100644
index 0000000..043120b
--- /dev/null
+++ b/force-app/main/default/aura/NewAgencyContact2/NewAgencyContact2Helper.js
@@ -0,0 +1,56 @@
+({
+ CallBackAction : function(component,action_name,para,callback) {
+ var action = component.get("c." + action_name.trimStart().replace("c.",""));
+ if(para){
+ action.setParams(para);
+ }
+ if(callback){
+ action.setCallback(this,function(data){
+ callback(data);
+ });
+ }
+
+ $A.enqueueAction(action);
+ },
+ ShowToast : function(paras){
+ var toastEvent = $A.get("e.force:showToast");
+ toastEvent.setParams(paras);
+ toastEvent.fire();
+ },
+ AwsPost : function(postURL, data ,callback,token){
+ let payloadForNewPI = '';
+ if(typeof(data) == 'string'){
+ payloadForNewPI = data;
+ }else{
+ payloadForNewPI = JSON.stringify(data);
+ }
+
+ AWSService.post(postURL,payloadForNewPI,function(result) {
+ //this.insertCalloutLog(this.insertModule,postURL,JSON.stringify(payloadForNewPI),JSON.stringify(result),this.successStatus);
+ if(callback) callback(result);
+ },token);
+ },
+ AwsGet : function(url, data ,callback,token){
+
+ if(typeof(data) == 'string'){
+ url += data;
+ }else{
+ let i = 0;
+ for(let p in data){
+ url += (i++) ? '&' : '?';
+ url += p + '=' + data[p];
+ }
+ }
+
+ AWSService.get(url,function(result){
+ //this.insertCalloutLog(this.insertModule,postURL,JSON.stringify(payloadForNewPI),JSON.stringify(result),this.successStatus);
+ if(callback) callback(result);
+ },token);
+ },
+ closeAgencyContact : function(component){
+ var cmpEvent = component.getEvent("NewAgencyContactEvent");
+ cmpEvent.setParams({
+ "showNewAgencyContact":false});
+ cmpEvent.fire();
+ }
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/NewAgencyContact2/NewAgencyContact2Renderer.js b/force-app/main/default/aura/NewAgencyContact2/NewAgencyContact2Renderer.js
new file mode 100644
index 0000000..f1f0c75
--- /dev/null
+++ b/force-app/main/default/aura/NewAgencyContact2/NewAgencyContact2Renderer.js
@@ -0,0 +1,5 @@
+({
+
+// Your renderer method overrides go here
+
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/NewAgencyContactEvent/NewAgencyContactEvent.evt b/force-app/main/default/aura/NewAgencyContactEvent/NewAgencyContactEvent.evt
new file mode 100644
index 0000000..91091f0
--- /dev/null
+++ b/force-app/main/default/aura/NewAgencyContactEvent/NewAgencyContactEvent.evt
@@ -0,0 +1,3 @@
+<aura:event type="APPLICATION" description="Event template">
+ <aura:attribute name="showNewAgencyContact" type="Boolean" default="false"/>
+</aura:event>
\ No newline at end of file
diff --git a/force-app/main/default/aura/NewAgencyContactEvent/NewAgencyContactEvent.evt-meta.xml b/force-app/main/default/aura/NewAgencyContactEvent/NewAgencyContactEvent.evt-meta.xml
new file mode 100644
index 0000000..3ced97b
--- /dev/null
+++ b/force-app/main/default/aura/NewAgencyContactEvent/NewAgencyContactEvent.evt-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<AuraDefinitionBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>55.0</apiVersion>
+ <description>A Lightning Event Bundle</description>
+</AuraDefinitionBundle>
diff --git a/force-app/main/default/aura/NewAgencyOpportunity/NewAgencyOpportunity.auradoc b/force-app/main/default/aura/NewAgencyOpportunity/NewAgencyOpportunity.auradoc
new file mode 100644
index 0000000..d0d6eb5
--- /dev/null
+++ b/force-app/main/default/aura/NewAgencyOpportunity/NewAgencyOpportunity.auradoc
@@ -0,0 +1,6 @@
+<aura:documentation>
+ <aura:description>Documentation</aura:description>
+ <aura:example name="ExampleName" ref="exampleComponentName" label="Label">
+ Example Description
+ </aura:example>
+</aura:documentation>
\ No newline at end of file
diff --git a/force-app/main/default/aura/NewAgencyOpportunity/NewAgencyOpportunity.cmp b/force-app/main/default/aura/NewAgencyOpportunity/NewAgencyOpportunity.cmp
new file mode 100644
index 0000000..48ae940
--- /dev/null
+++ b/force-app/main/default/aura/NewAgencyOpportunity/NewAgencyOpportunity.cmp
@@ -0,0 +1,155 @@
+<!--
+ @description :
+ @author : ChangeMeIn@UserSettingsUnder.SFDoc
+ @group :
+ @last modified on : 07-08-2022
+ @last modified by : ChangeMeIn@UserSettingsUnder.SFDoc
+-->
+<aura:component implements="force:lightningQuickActionWithoutHeader,force:hasRecordId,lightning:actionOverride,lightning:isUrlAddressable" access="global"
+ controller="NewAgencyOpportunityController">
+
+ <aura:attribute name = "recordId" type = "Id" default = ""/>
+ <aura:attribute name = "recordTypeId" type = "Id" default = ""/>
+ <aura:attribute name="ac_name" type="string"/>
+ <aura:attribute name="title" type="string"/>
+ <aura:handler name="init" value="{!this}" action="{!c.doInit}" />
+ <aura:attribute name="layout" type="LayoutDescriberHelper.LayoutWrapper"/>
+ <aura:attribute name="record_data" type="Map"/>
+ <aura:attribute name="section_names" type="List"/>
+ <aura:attribute name="showSpinner" type="Boolean" default = "False"/>
+ <aura:attribute name="showSpinner2" type="Boolean" default = "False"/>
+ <aura:attribute name="staticResource" type="Map"/>
+ <aura:attribute name="pi_fields_map" type="Map"/>
+ <aura:attribute name="isClone" type="Boolean" default = "False"/>
+ <ltng:require scripts="{! $Resource.AWSService+'/AWSService.js' }" />
+ <ltng:require scripts="{! $Resource.jquery183minjs }" />
+ <aura:attribute name="isModalOpen" type="boolean" default="false"/>
+ <aura:attribute name="searchKeyWord" type="string" default=""/>
+ <aura:attribute name="contactAWSIds" type="List"/>
+ <aura:attribute name="login" type="Boolean" default="false"/>
+ <aura:attribute name="show" type="Boolean" default="false"/>
+ <aura:attribute name="showNewAgencyContact" type="Boolean" default="false"/>
+ <aura:handler name="NewAgencyContactEvent" event="c:NewAgencyContactEvent" action="{!c.closeAgencyContact}"/>
+
+
+
+ <div class="{! v.container_class}">
+ <!-- header -->
+ <header class="slds-modal__header">
+ <h2 id="modal-heading-01" class="slds-modal__title slds-hyphenate">
+ {!v.title}
+ </h2>
+ </header>
+
+ <div class="slds-modal__content slds-p-around_medium">
+ <aura:if isTrue="{!v.showSpinner}">
+ <lightning:spinner alternativeText="Loading" size="medium" />
+ </aura:if>
+
+
+ <lightning:recordEditForm objectApiName="Agency_Opportunity__c">
+
+ <lightning:accordion activeSectionName="{! v.section_names }" allowMultipleSectionsOpen="true" class="greyyyy" >
+ <aura:iteration items="{!v.layout}" var="section">
+ <aura:if isTrue="{! section.editHeading }">
+ <lightning:accordionSection name="{! section.label }" label="缁忛攢鍟嗚浠蜂俊鎭�">
+
+ <aura:iteration items="{! section.layoutColumns}" var="col">
+ <aura:iteration items="{! col.layoutItems}" var="field">
+ <aura:if isTrue="{! and(field.behavior != 'Readonly', field.field != 'Agency_Contact__c')}">
+ <lightning:inputField required="{! field.behavior == 'Required' }" aura:id="field" fieldName="{! field.field}" value="{! field.value}" />
+
+ </aura:if>
+ <aura:if isTrue="{! field.field == 'Agency_Contact__c' }">
+ <lightning:layout>
+ <lightning:layoutItem size="12">
+ <lightning:input required="{! field.behavior == 'Required' }" label="瀹㈡埛浜哄憳" value = "{! field.value}" variant = "label-inline" style="margin-left: 0cm; display: none;" onclick="{! c.openModel }"/>
+ <lightning:input required="{! field.behavior == 'Required' }" label="瀹㈡埛浜哄憳" value = "{! v.ac_name}" variant = "label-inline" style="margin-left: 0cm; " onclick="{! c.openModel }"/>
+ </lightning:layoutItem>
+ <!-- <lightning:layoutItem size="1">
+ <lightning:buttonIcon iconName="utility:settings" variant="container" alternativeText="Settings" title="Settings" class = "name" />
+ </lightning:layoutItem> -->
+ </lightning:layout>
+ </aura:if>
+ </aura:iteration>
+
+ </aura:iteration>
+
+ </lightning:accordionSection>
+ </aura:if>
+ </aura:iteration>
+ </lightning:accordion>
+ </lightning:recordEditForm>
+
+ <div style="text-align:center;margin: 5px;">
+ <lightning:button class="slds-button slds-button_neutral" label="鍙栨秷" onclick="{! c.cancelClick }" />
+ <lightning:button class="slds-button slds-button_brand" variant="brand" label="淇濆瓨" onclick="{! c.saveClick }" />
+ </div>
+ </div>
+ <aura:if isTrue="{!v.isModalOpen}">
+
+ <!-- Modal/Popup Box 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" >
+
+
+
+ <aura:renderIf isTrue="{!v.login}">
+ <div class="slds-spinner_container height100vh">
+ <div class="slds-spinner--brand slds-spinner slds-spinner--medium" role="alert">
+ <span id="aa" class="slds-assistive-text">Loading</span>
+ <div class="slds-spinner__dot-a"></div>
+ <div class="slds-spinner__dot-b"></div>
+ </div>
+ </div>
+ </aura:renderIf>
+
+
+
+ <div class="slds-modal__container">
+ <!-- Modal/Popup Box Header Starts here-->
+ <header class="slds-modal__header">
+ <lightning:buttonIcon iconName="utility:close"
+ onclick="{! c.closeModel }"
+ alternativeText="close"
+ variant="bare-inverse"
+ class="slds-modal__close"/>
+ <h2 id="modal-heading-01" class="slds-text-heading_medium slds-hyphenate">
+ 鎼滅储瀹㈡埛浜哄憳
+ </h2>
+ </header>
+
+ <!--Modal Body Start here-->
+ <div class="slds-modal__content slds-p-around_medium modal-body" id="modal-content-id-1">
+ <lightning:layout>
+ <lightning:layoutItem size="7">
+ <ui:inputText label="璇疯緭鍏ュ鎴峰鍚�" class="field" value="{!v.searchKeyWord}"/>
+ </lightning:layoutItem>
+ <lightning:layoutItem size="2" class = "searchButton">
+ <ui:button aura:id="button" buttonTitle="Click to see agency contact" class="button" label="鎼滅储" press="{!c.searchAgencyContact}" disabled="false"/>
+ </lightning:layoutItem>
+ <lightning:layoutItem size="3" class = "searchButton">
+ <ui:button aura:id="newAgencyContact" buttonTitle="Click to see agency contact" class="newAgencyContact" label="鏂板缓.瀹㈡埛浜哄憳" disabled="false" press="{!c.showNewAgency}"/>
+ </lightning:layoutItem>
+ </lightning:layout>
+ <div id="QueryResult" style = "margin-top:20px;">
+ </div>
+ </div>
+
+ <aura:if isTrue="{!v.showNewAgencyContact}">
+ <section role="dialog" tabindex="-1" aria-modal="true" aria-labelledby="modal-heading-01" class="slds-modal slds-fade-in-open" aura:id="NewAgencyContact" id="NewAgencyContact">
+ <c:NewAgencyContact2 />
+ </section>
+ </aura:if>
+
+ </div>
+
+ </section>
+ <div class="slds-backdrop slds-backdrop_open"></div>
+
+
+ </aura:if>
+
+ </div>
+</aura:component>
\ No newline at end of file
diff --git a/force-app/main/default/aura/NewAgencyOpportunity/NewAgencyOpportunity.cmp-meta.xml b/force-app/main/default/aura/NewAgencyOpportunity/NewAgencyOpportunity.cmp-meta.xml
new file mode 100644
index 0000000..632b900
--- /dev/null
+++ b/force-app/main/default/aura/NewAgencyOpportunity/NewAgencyOpportunity.cmp-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<AuraDefinitionBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>54.0</apiVersion>
+ <description>A Lightning Component Bundle</description>
+</AuraDefinitionBundle>
diff --git a/force-app/main/default/aura/NewAgencyOpportunity/NewAgencyOpportunity.css b/force-app/main/default/aura/NewAgencyOpportunity/NewAgencyOpportunity.css
new file mode 100644
index 0000000..b3ee5dc
--- /dev/null
+++ b/force-app/main/default/aura/NewAgencyOpportunity/NewAgencyOpportunity.css
@@ -0,0 +1,63 @@
+.THIS {
+}
+
+.THIS .name{
+ margin-right:0.5cm;
+}
+
+.THIS .wh{
+ width: 670px;
+ height: 500px;
+}
+
+.THIS .slds-modal__container{
+ max-width:70rem !important;
+ width:90% !important;
+}
+
+.THIS .modal-body{
+ height : 500px !important;
+ max-height: 500px !important;
+}
+
+.THIS table{
+ border-collapse: collapse;
+ border-spacing: 0;
+ width: 98%;
+ margin-left: 5px;
+ border: 1px solid #000000;
+ text-align: center;
+}
+.THIS tr{
+ border: 1px solid #000000;
+ text-align: center;
+}
+.THIS td{
+ border: 1px solid #000000;
+ text-align: center;
+}
+
+.THIS th{
+ border: 1px solid #000000;
+ text-align: center;
+}
+
+.THIS.backgroundInverse {
+ position: relative;
+ background-color: #16325c;
+ height: 80px;
+}
+
+.THIS.exampleHolder{
+ position: relative;
+ display: inline-block;
+ margin-left: 15px;
+ width: 55px;
+ vertical-align: middle;
+ white-space: nowrap;
+}
+
+.THIS .searchButton{
+ margin-top:20px;
+ margin-left:20px;
+}
\ No newline at end of file
diff --git a/force-app/main/default/aura/NewAgencyOpportunity/NewAgencyOpportunityController.js b/force-app/main/default/aura/NewAgencyOpportunity/NewAgencyOpportunityController.js
new file mode 100644
index 0000000..e73f4ff
--- /dev/null
+++ b/force-app/main/default/aura/NewAgencyOpportunity/NewAgencyOpportunityController.js
@@ -0,0 +1,297 @@
+({
+
+ doInit : function(component, event, helper) {
+ let rid = component.get('v.recordId');
+ let pid = null;
+ if(!rid){
+ pid = window.location.href.replace("https://","").split("/")[4];
+ }
+
+ let record_type_id = '';
+ let pageref = component.get("v.pageReference")
+ if(!record_type_id && pageref){
+ record_type_id = pageref.state.recordTypeId ? pageref.state.recordTypeId : '';
+ }
+
+ let isClone = component.get('v.isClone');
+ if(!rid || isClone){
+ component.set('v.title',$A.get("$Label.c.New")+'缁忛攢鍟嗚浠�');
+ component.set("v.recordTypeId", record_type_id);
+ }else{
+ component.set('v.title',$A.get("$Label.c.Edit")+'缁忛攢鍟嗚浠�');
+ }
+ console.log('rid: ' + rid);
+ console.log('pid: ' + pid);
+ console.log('record_type_id: ' + record_type_id);
+ component.set("v.showSpinner", true);
+ helper.CallBackAction(component,'Init',{
+ rid : rid,
+ pid : pid,
+ //rid : component.get('v.recordId'),
+ record_type_id : record_type_id
+ },function(data){
+
+
+ console.log('data: ' + data);
+ if(data.getState() == "SUCCESS"){
+ var rv = data.getReturnValue();
+ console.log(rv);
+ if(rv.IsSuccess){
+ debugger
+ let layout = JSON.parse(rv.Data.layout);
+ let fields = rv.Data.fields;
+ let staticResource = JSON.parse(rv.Data.staticResource)
+ let section_names = [];
+ // let awsData = rv.Data.awsDataIds;
+ section_names = layout.map(s=>s.label);
+ component.set('v.section_names',section_names);
+
+ let m = {};
+ for(let f of staticResource.PIDetails){
+ m[f.SF_Field_API_Name__c] = f;
+ }
+ component.set('v.pi_fields_map',m);
+
+
+
+ if(rv.Data && rv.Data.data ){
+ console.log('rv.Data.data = ' + rv.Data.data);
+ for(let s of layout){
+ for(let c of s.layoutColumns){
+ for(let item of c.layoutItems){
+ if(rv.Data.data.hasOwnProperty(item.field)){
+ item.value = rv.Data.data[item.field];
+ }
+
+ if(fields.hasOwnProperty(item.field)){
+ item.fi = fields[item.field];
+ }
+ }
+ }
+ }
+
+ component.set('v.layout',layout);
+ component.set('v.record_data',rv.Data.data);
+
+ if(rv.Data.data.Agency_Contact__r){
+ if (rv.Data.data.Agency_Contact__r.AWS_Data_Id__c) {
+ helper.AwsGet(staticResource.queryUrl, {
+ dataId : rv.Data.data.Agency_Contact__r.AWS_Data_Id__c
+ }, function(data){
+ console.log('data = ' + data);
+ if (data.object) {
+ component.set('v.ac_name',data.object.name);
+ }
+ }, staticResource.token);
+ }
+ }
+
+
+ // }, staticResource.token);
+ }else{
+
+ for(let s of layout){
+ for(let c of s.layoutColumns){
+ for(let item of c.layoutItems){
+ if(rv.Data && fields.hasOwnProperty(item.field) && fields[item.field].References && fields[item.field].References.map(m=>m.value).indexOf(rv.Data.pidType) > -1){
+ item.value = pid;
+ }
+ }
+ }
+ }
+ component.set('v.layout',layout);
+ }
+
+
+ component.set('v.fields',fields);
+ component.set('v.staticResource',staticResource);
+ component.set("v.showSpinner", false);
+ }else{
+ component.set("v.showSpinner", false);
+ helper.ShowToast({
+ "message" : rv.Message,
+ "type" : "error"
+ });
+ }
+
+ }else{
+ component.set("v.showSpinner", false);
+ helper.ShowToast({
+ "message" : "Init error",
+ "type" : "error"
+ });
+
+ }
+ });
+ },
+ saveClick : function(component, event, helper){
+
+ let staticResource = component.get('v.staticResource');
+ let record_id = component.get('v.recordId');
+ let record_type_id = component.get('v.recordTypeId');
+
+ let isClone = component.get('v.isClone');
+ let url = staticResource.newUrl;
+ let payloadPi = {};
+ if (record_id && !isClone) {
+ url = staticResource.updateUrl
+ payloadPi['dataId'] = component.get('v.record_data').AWS_Data_Id__c;
+ }
+ let layout = component.get('v.layout');
+
+ let pi_fields_map = component.get('v.pi_fields_map');
+
+ for(let s of layout){
+ for(let c of s.layoutColumns){
+ for(let item of c.layoutItems){
+ if(pi_fields_map.hasOwnProperty(item.field)){
+
+ payloadPi[pi_fields_map[item.field].AWS_Field_API__c] = item.value;
+ }
+
+ if (item.behavior == "Required" && !item.value ) {
+ let fs = component.find("field");
+ for(let fi in fs){
+ let f = fs[fi];
+ if(!f.get('v.value')){
+ f.reset();
+ }
+ }
+ return;
+ }
+ }
+ }
+ }
+
+ component.set("v.showSpinner", true);
+ debugger
+ let data = {};
+ if(record_id && !isClone){
+ data.Id = record_id;
+ }
+ for(let s of layout){
+ for(let c of s.layoutColumns){
+ for(let item of c.layoutItems){
+ if(item.field && item.behavior != "Readonly"){
+ data[item.field] = item.value;
+ }
+ }
+ }
+ }
+ let x = 1;
+ helper.CallBackAction(component,'Save',{
+ data : data,
+ transId :'1',
+ recordTypeId:record_type_id
+ },function(data){
+ component.set("v.showSpinner", false);
+ if(data.getState() == "SUCCESS"){
+ var rv = data.getReturnValue();
+ console.log(rv);
+ var sfId = null;
+ if(rv.IsSuccess){
+ sfId = rv.Data.recordId;
+ helper.ShowToast({
+ "message" : "鎴愬姛",
+ "type" : "success"
+ });
+ if (record_id){
+ $A.get("e.force:closeQuickAction").fire();
+ $A.get('e.force:refreshView').fire();
+ }else{
+ var sObjectEvent = $A.get("e.force:navigateToSObject");
+ sObjectEvent.setParams({
+ "recordId": sfId
+ })
+ sObjectEvent.fire();
+ }
+ }else{
+ helper.ShowToast({
+ "message" : rv.Message,
+ "type" : "error"
+ });
+ }
+ }else{
+ helper.ShowToast({
+ "message" : "Init error",
+ "type" : "error"
+ });
+ }
+ })
+ },
+ cancelClick : function(component, event, helper){
+ $A.get("e.force:closeQuickAction").fire();
+ //component.set("v.showNewAgencyContact", false);
+ },
+ searchAgencyContact : function(component, event, helper){
+ component.find('button').set('v.disabled', true);
+ helper.resetTable();
+ helper.preparePayloadForSearchAgencyContact(component, event, helper);
+ },
+ initContactTable : function(component, event, helper){
+ let cols = ['Name','AgencyHospital', 'DoctorDivision1','Type'];
+ let contactInfoList = [];
+ let awsDataIds = [];
+ let data = component.get('v.result');
+ if(data.object){
+ for(var i=0;i<data.object.length;i++){
+ if(data.object[i].dataId){
+ let contactInfo = new Object();
+ //闇�瑕佷慨鏀�
+ contactInfo.Name = data.object[i].name;
+ contactInfo.DoctorDivision1 = data.object[i].doctorDivision1;
+ contactInfo.AWSDataId = data.object[i].dataId;
+ contactInfo.Type = data.object[i].type;
+ contactInfo.pi = true;
+ awsDataIds.push(contactInfo.AWSDataId);
+ contactInfo.sfRecordId = '';
+ contactInfoList.push(contactInfo);
+ }
+ }
+ }
+ let AWSIdToSFIdMapValue = {};
+ },
+ openModel: function(component, event, helper) {
+ let layout = component.get('v.layout');
+ for(let s of layout){
+ for(let c of s.layoutColumns){
+ for(let item of c.layoutItems){
+ if(item.field == 'Agency_Hospital__c' && !item.value){
+ console.log('item.value = ' + item.value)
+ helper.ShowToast({
+ "message" : "璇峰厛閫夋嫨缁忛攢鍟嗗尰闄�",
+ "type" : "warning"
+ });
+ return
+ }
+ }
+ }
+ }
+ // Set isModalOpen true
+ component.set("v.isModalOpen", true);
+ component.find('button').set('v.disabled', true);
+ helper.preparePayloadForSearchAgencyContact(component, event, helper);
+ },
+
+ closeModel: function(component, event, helper) {
+ // Set isModalOpen false
+ component.set("v.isModalOpen", false);
+ },
+
+ saveDetails: function(component, event, helper) {
+ //do something
+ component.set("v.isModalOpen", false);
+ },
+
+ showNewAgency: function(component, event, helper) {
+ //do something
+ component.set("v.showNewAgencyContact", true);
+ },
+ closeAgencyContact: function(component, event, helper) {
+ var message = event.getParam("showNewAgencyContact");
+ component.set("v.showNewAgencyContact", message);
+ component.find('button').set('v.disabled', true);
+ helper.resetTable();
+ helper.preparePayloadForSearchAgencyContact(component, event, helper);
+ },
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/NewAgencyOpportunity/NewAgencyOpportunityHelper.js b/force-app/main/default/aura/NewAgencyOpportunity/NewAgencyOpportunityHelper.js
new file mode 100644
index 0000000..90dba09
--- /dev/null
+++ b/force-app/main/default/aura/NewAgencyOpportunity/NewAgencyOpportunityHelper.js
@@ -0,0 +1,233 @@
+({
+ CallBackAction : function(component,action_name,para,callback) {
+ var action = component.get("c." + action_name.trimStart().replace("c.",""));
+ if(para){
+ action.setParams(para);
+ }
+ if(callback){
+ action.setCallback(this,function(data){
+ callback(data);
+ });
+ }
+
+ $A.enqueueAction(action);
+ },
+ ShowToast : function(paras){
+ var toastEvent = $A.get("e.force:showToast");
+ toastEvent.setParams(paras);
+ toastEvent.fire();
+ },
+ AwsPost : function(postURL, data ,callback,token){
+ let payloadForNewPI = '';
+ if(typeof(data) == 'string'){
+ payloadForNewPI = data;
+ }else{
+ payloadForNewPI = JSON.stringify(data);
+ }
+
+ AWSService.post(postURL,payloadForNewPI,function(result) {
+ //this.insertCalloutLog(this.insertModule,postURL,JSON.stringify(payloadForNewPI),JSON.stringify(result),this.successStatus);
+ if(callback) callback(result);
+ },token);
+ },
+ AwsGet : function(url, data ,callback,token){
+
+ if(typeof(data) == 'string'){
+ url += data;
+ }else{
+ let i = 0;
+ for(let p in data){
+ url += (i++) ? '&' : '?';
+ url += p + '=' + data[p];
+ }
+ }
+
+ AWSService.get(url,function(result){
+ //this.insertCalloutLog(this.insertModule,postURL,JSON.stringify(payloadForNewPI),JSON.stringify(result),this.successStatus);
+ if(callback) callback(result);
+ },token);
+ },
+ refreshTable : function(component, event, helper,cols,contactInfoList,contactsInfo){
+ let that = this;
+ let myTableDiv = document.getElementById("QueryResult");
+ let table = document.createElement('TABLE');
+ table.border = '1';
+ table.id = 'table'
+ let tableBody = document.createElement('TBODY');
+ table.appendChild(tableBody);
+ let headerTR = document.createElement('TR');
+ let colsHeader = ['濮撳悕','鍖婚櫌', '鍖荤敓鍖哄垎(鑱屽姟)','鍒嗙被'];
+ tableBody.appendChild(headerTR);
+ for (let i = 0; i < colsHeader.length; i++) {
+ let td = document.createElement('TH');
+ td.width = '75';
+ td.appendChild(document.createTextNode(colsHeader[i]));
+ headerTR.appendChild(td);
+ }
+ //3. Init the AWS data
+ for (let i = 0; i < contactInfoList.length; i++) {
+ let tr = document.createElement('TR');
+ tableBody.appendChild(tr);
+ let contactInfoTemp = contactInfoList[i]
+ for (let j = 0; j < cols.length; j++) {
+ let td = document.createElement('TD');
+ td.width = '75';
+ if(contactInfoTemp.pi){
+ if (!contactsInfo.hasOwnProperty(contactInfoTemp.AWSDataId)) {
+ continue;
+ }
+ if(j == 0 && contactsInfo[contactInfoTemp.AWSDataId] ){
+ td.id = contactsInfo[contactInfoTemp.AWSDataId].Id;
+ }
+ }else{
+ td.id = contactInfoTemp.sfRecordId;
+ }
+ td.appendChild(document.createTextNode(contactInfoTemp[cols[j]]!=null?contactInfoTemp[cols[j]]:''));
+ if (cols[j] == 'Name') {
+ td.addEventListener("click", function (obj) {
+ that.redirectToParentPage(component, event, helper,obj);
+ });
+ }
+ tr.appendChild(td);
+ }
+ }
+ myTableDiv.appendChild(table);
+ component.find('button').set('v.disabled', false);
+ },
+ redirectToParentPage : function(component, event, helper,obj){
+ let agencyContactName = obj.currentTarget.innerText;
+ let id = obj.currentTarget.id;
+ component.set('v.ac_name',agencyContactName);
+ let layout = component.get('v.layout');
+ for(let s of layout){
+ for(let c of s.layoutColumns){
+ for(let item of c.layoutItems){
+ if(item.field == 'Agency_Contact__c'){
+ item.value = id;
+ }
+ }
+ }
+ }
+ component.set("v.isModalOpen", false);
+ },
+ resetTable : function(){
+ let queryResult = document.getElementById('QueryResult');
+ let table = document.getElementsByTagName('table');
+ if(table.length > 1){
+ for(var i=1;i<table.length;i++){
+ queryResult.removeChild(table[i])
+ }
+ }
+ },
+ preparePayloadForSearchAgencyContact : function(component, event, helper){
+ let that = this;
+ let agencyHospitalId = '';
+ let accountId = '';
+ let layout = component.get('v.layout');
+ for(let s of layout){
+ for(let c of s.layoutColumns){
+ for(let item of c.layoutItems){
+ if(item.field == 'Agency_Hospital__c'){
+ agencyHospitalId = item.value;
+ }
+ if(item.field == 'Account_Opp__c'){
+ accountId = item.value;
+ }
+ }
+ }
+ }
+ var action = component.get('c.getAWSDataIds');
+ action.setParams({
+ "agencyHospitalId" : agencyHospitalId,
+ "accountId" : accountId
+ });
+ action.setCallback(this,function(response){
+ var state = response.getState();
+ if(state == 'SUCCESS'){
+ var rv = response.getReturnValue();
+ if(rv.Data.length == 0){
+ component.find('button').set('v.disabled', false);
+ helper.ShowToast({
+ "message" : "璇ョ粡閿�鍟嗗尰闄笅闈㈡病鏈夊鎴蜂汉鍛�",
+ "type" : "warning"
+ });
+ return
+ }
+ let searchPayload = new Object();
+ let searchAgencyContactName = component.get('v.searchKeyWord');
+ searchPayload.dataIds = rv.Data;
+ searchPayload.name = searchAgencyContactName;
+ component.set('v.contactAWSIds',rv.Data);
+ let staticResource = component.get('v.staticResource');
+ let url = staticResource.searchUrl;
+ let token = staticResource.token;
+ this.AwsPost(url,searchPayload,function(data){
+ if(data.success){
+ let cols = ['Name','AgencyHospital', 'DoctorDivision1','Type'];
+ let contactInfoList = [];
+ let awsDataIds = [];
+ if(data.object.length == 0){
+ component.find('button').set('v.disabled', false);
+ that.ShowToast({
+ "message" : '娌℃湁鏌ヨ鍒拌瀹㈡埛浜哄憳',
+ "type" : "warning"
+ });
+ return
+ }
+ for(var i=0;i<data.object.length;i++){
+ if(data.object[i].dataId){
+ let contactInfo = new Object();
+ //闇�瑕佷慨鏀�
+ contactInfo.Name = data.object[i].name;
+ contactInfo.AgencyHospital = '';
+ contactInfo.DoctorDivision1 = data.object[i].doctorDivision1;
+ contactInfo.AWSDataId = data.object[i].dataId;
+ contactInfo.Type = data.object[i].type;
+ contactInfo.pi = true;
+ awsDataIds.push(contactInfo.AWSDataId);
+ contactInfo.sfRecordId = '';
+ contactInfoList.push(contactInfo);
+ }
+ }
+ //let AWSIdToSFIdMapValue = {};
+ var searchAgencyContacts = component.get('c.searchAgencyContacts');
+ searchAgencyContacts.setParams({
+ "awsAgencyContactIds" : JSON.stringify(awsDataIds),
+ "agencyHospitalId" : agencyHospitalId,
+ "accountId" : accountId
+ });
+ searchAgencyContacts.setCallback(this,function(response){
+ var state = response.getState();
+ if(state == 'SUCCESS'){
+ var rv = response.getReturnValue();
+ if(rv.IsSuccess){
+ let contactsInfo = '';
+ if(rv.Data){
+ contactsInfo = JSON.parse(rv.Data.replace(/("\;)/g,"\""));
+ if(Object.keys(contactsInfo).length>0){
+ for(let i=0;i<contactInfoList.length;i++){
+ let contactFromSF = contactsInfo[contactInfoList[i]['AWSDataId']];
+ if(contactFromSF){
+ contactInfoList[i].sfRecordId = contactFromSF['Id'];
+ if(contactFromSF['Agency_Hospital__r']){
+ contactInfoList[i].AgencyHospital = contactFromSF['Agency_Hospital__r']['Name'];
+ }
+ if(contactFromSF['Department_Class__r']){
+ contactInfoList[i].AgencyHospital = contactFromSF['Department_Class__r']['Parent']['Name'];
+ }
+ }
+ }
+ }
+ }
+ that.refreshTable(component, event, helper,cols,contactInfoList,contactsInfo);
+ }
+ }
+ });
+ $A.enqueueAction(searchAgencyContacts);
+ }
+ },token);
+ }
+ });
+ $A.enqueueAction(action);
+ }
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/NewAgencyOpportunity/NewAgencyOpportunityRenderer.js b/force-app/main/default/aura/NewAgencyOpportunity/NewAgencyOpportunityRenderer.js
new file mode 100644
index 0000000..f1f0c75
--- /dev/null
+++ b/force-app/main/default/aura/NewAgencyOpportunity/NewAgencyOpportunityRenderer.js
@@ -0,0 +1,5 @@
+({
+
+// Your renderer method overrides go here
+
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/QuoteTrialApp/QuoteTrialApp.app b/force-app/main/default/aura/QuoteTrialApp/QuoteTrialApp.app
new file mode 100644
index 0000000..172288d
--- /dev/null
+++ b/force-app/main/default/aura/QuoteTrialApp/QuoteTrialApp.app
@@ -0,0 +1,3 @@
+<aura:application access="public" extends="ltng:outApp">
+ <aura:dependency resource="c:quoteTrial"/>
+</aura:application>
\ No newline at end of file
diff --git a/force-app/main/default/aura/QuoteTrialApp/QuoteTrialApp.app-meta.xml b/force-app/main/default/aura/QuoteTrialApp/QuoteTrialApp.app-meta.xml
new file mode 100644
index 0000000..fcabbf8
--- /dev/null
+++ b/force-app/main/default/aura/QuoteTrialApp/QuoteTrialApp.app-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<AuraDefinitionBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>52.0</apiVersion>
+ <description>A Lightning Application Bundle</description>
+</AuraDefinitionBundle>
diff --git a/force-app/main/default/aura/QuoteTrialApp/QuoteTrialApp.auradoc b/force-app/main/default/aura/QuoteTrialApp/QuoteTrialApp.auradoc
new file mode 100644
index 0000000..d0d6eb5
--- /dev/null
+++ b/force-app/main/default/aura/QuoteTrialApp/QuoteTrialApp.auradoc
@@ -0,0 +1,6 @@
+<aura:documentation>
+ <aura:description>Documentation</aura:description>
+ <aura:example name="ExampleName" ref="exampleComponentName" label="Label">
+ Example Description
+ </aura:example>
+</aura:documentation>
\ No newline at end of file
diff --git a/force-app/main/default/aura/QuoteTrialApp/QuoteTrialApp.css b/force-app/main/default/aura/QuoteTrialApp/QuoteTrialApp.css
new file mode 100644
index 0000000..a5839d4
--- /dev/null
+++ b/force-app/main/default/aura/QuoteTrialApp/QuoteTrialApp.css
@@ -0,0 +1,2 @@
+.THIS {
+}
\ No newline at end of file
diff --git a/force-app/main/default/aura/QuoteTrialApp/QuoteTrialApp.svg b/force-app/main/default/aura/QuoteTrialApp/QuoteTrialApp.svg
new file mode 100644
index 0000000..791b3c7
--- /dev/null
+++ b/force-app/main/default/aura/QuoteTrialApp/QuoteTrialApp.svg
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="120px" height="120px" viewBox="0 0 120 120" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+ <path d="M120,108 C120,114.6 114.6,120 108,120 L12,120 C5.4,120 0,114.6 0,108 L0,12 C0,5.4 5.4,0 12,0 L108,0 C114.6,0 120,5.4 120,12 L120,108 L120,108 Z" id="Shape" fill="#2A739E"/>
+ <path d="M77.7383308,20 L61.1640113,20 L44.7300055,63.2000173 L56.0543288,63.2000173 L40,99.623291 L72.7458388,54.5871812 L60.907727,54.5871812 L77.7383308,20 Z" id="Path-1" fill="#FFFFFF"/>
+ </g>
+</svg>
\ No newline at end of file
diff --git a/force-app/main/default/aura/QuoteTrialApp/QuoteTrialAppController.js b/force-app/main/default/aura/QuoteTrialApp/QuoteTrialAppController.js
new file mode 100644
index 0000000..77e406b
--- /dev/null
+++ b/force-app/main/default/aura/QuoteTrialApp/QuoteTrialAppController.js
@@ -0,0 +1,5 @@
+({
+ myAction : function(component, event, helper) {
+
+ }
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/QuoteTrialApp/QuoteTrialAppHelper.js b/force-app/main/default/aura/QuoteTrialApp/QuoteTrialAppHelper.js
new file mode 100644
index 0000000..ba7f386
--- /dev/null
+++ b/force-app/main/default/aura/QuoteTrialApp/QuoteTrialAppHelper.js
@@ -0,0 +1,5 @@
+({
+ helperMethod : function() {
+
+ }
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/QuoteTrialApp/QuoteTrialAppRenderer.js b/force-app/main/default/aura/QuoteTrialApp/QuoteTrialAppRenderer.js
new file mode 100644
index 0000000..f1f0c75
--- /dev/null
+++ b/force-app/main/default/aura/QuoteTrialApp/QuoteTrialAppRenderer.js
@@ -0,0 +1,5 @@
+({
+
+// Your renderer method overrides go here
+
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/RetrospectiveWeeklyReport/RetrospectiveWeeklyReport.auradoc b/force-app/main/default/aura/RetrospectiveWeeklyReport/RetrospectiveWeeklyReport.auradoc
new file mode 100644
index 0000000..d0d6eb5
--- /dev/null
+++ b/force-app/main/default/aura/RetrospectiveWeeklyReport/RetrospectiveWeeklyReport.auradoc
@@ -0,0 +1,6 @@
+<aura:documentation>
+ <aura:description>Documentation</aura:description>
+ <aura:example name="ExampleName" ref="exampleComponentName" label="Label">
+ Example Description
+ </aura:example>
+</aura:documentation>
\ No newline at end of file
diff --git a/force-app/main/default/aura/RetrospectiveWeeklyReport/RetrospectiveWeeklyReport.cmp b/force-app/main/default/aura/RetrospectiveWeeklyReport/RetrospectiveWeeklyReport.cmp
new file mode 100644
index 0000000..41acd45
--- /dev/null
+++ b/force-app/main/default/aura/RetrospectiveWeeklyReport/RetrospectiveWeeklyReport.cmp
@@ -0,0 +1,777 @@
+<aura:component controller="RetrospectiveWeeklyReportController"
+ implements="force:appHostable,flexipage:availableForAllPageTypes,flexipage:availableForRecordHome,force:hasRecordId,force:lightningQuickAction,forceCommunity:availableForAllPageTypes"
+ access="global">
+ <ltng:require styles="{!$Resource.multilineToastCSS}" />聽
+ <aura:handler name="init" value="{!this}" action="{!c.doInit}" />
+ <aura:handler event="c:strike_evt" action="{!c.createAopp}" name="strike_evt_addNewRecord" />
+ <aura:attribute name="data" type="Agency_Report__c" default="{sobjectType:'Agency_Report__c'}" />
+ <aura:attribute name="oppdata" type="Agency_Opportunity__c" default="{sobjectType:'Agency_Opportunity__c'}" />
+ <aura:attribute name="acondata" type="Agency_Contact__c" default="{sobjectType:'Ag
+ ency_Contact__c'}" />
+ <aura:attribute name="successMessage" type="String" />
+ <aura:attribute name="etEng" type="String" />
+ <aura:attribute name="errorMessage" type="String" />
+ <aura:attribute name="Close_Forecasted_Date__c_o" type="Date" />
+ <aura:attribute name="Amount__c_o" type="String" />
+ <aura:attribute name="OCMSale_Price__c_o" type="String" />
+ <aura:attribute name="StageName__c_o" type="String" />
+ <aura:attribute name="fieldsmap" type="Map" />
+ <aura:attribute name="AgencyReportMap" type="Boolean" default="false" />
+ <!-- 鏃ユ姤鍒嗙被 -->
+
+ <aura:attribute name="alldata" type="List" />
+ <aura:attribute name="setdoctorlisthos" type="Boolean" default="false" />
+ <aura:attribute name="allselectlist" type="Map" />
+ <aura:attribute name="doclist" type="List" />
+ <aura:attribute name="docmap" type="Map" />
+ <aura:attribute name="login" type="Boolean" default="false" />
+ <aura:attribute name="loadOpp" type="Boolean" default="false" />
+ <aura:attribute name="reportPageData" type="Map" />
+ <aura:attribute name="selectbody" type="String" />
+ <aura:attribute name="report_date_list" type="Map" />
+ <aura:attribute name="selected_date" type="String" />
+ <aura:attribute name="selected_agency_person" type="String" />
+ <aura:attribute name="agency_report_header" type="String" />
+ <aura:attribute name="agency_report_header_id" type="String" />
+ <aura:attribute name="result" type="String" default="" />
+ <!-- //鍖婚櫌 鐐归�夐渶瑕� -->
+ <aura:attribute name="hospital" type="string" default="" />
+ <aura:attribute name="hospitalId" type="string" default="" />
+ <aura:attribute name="hospitals" type="string" default="" />
+ <aura:attribute name="hospitalLinkId" type="string" default="" />
+ <aura:handler name="change" value="{!v.hospital}" action="{!c.hosChange}" />
+ <aura:attribute name="hospitalList" type="Map" />
+ <!-- 浣跨敤浜у搧1(浜у搧鍨嬪彿) -->
+ <aura:attribute name="UseProduct1" type="string" default="" />
+ <aura:attribute name="UseProduct1s" type="string" default="" />
+ <aura:handler name="change" value="{!v.UseProduct1}" action="{!c.UseProduct1Change}" />
+ <aura:attribute name="UseProduct1List" type="Map" />
+ <aura:attribute name="UseProduct1Id" type="string" default="" />
+ <!-- 浣跨敤浜у搧2 -->
+ <aura:attribute name="UseProduct2" type="string" default="" />
+ <aura:attribute name="UseProduct2s" type="string" default="" />
+ <aura:handler name="change" value="{!v.UseProduct2}" action="{!c.UseProduct2Change}" />
+ <aura:attribute name="UseProduct2List" type="Map" />
+ <aura:attribute name="UseProduct2Id" type="string" default="" />
+ <!-- 浣跨敤浜у搧3 -->
+ <aura:attribute name="UseProduct3" type="string" default="" />
+ <aura:attribute name="UseProduct3s" type="string" default="" />
+ <aura:handler name="change" value="{!v.UseProduct3}" action="{!c.UseProduct3Change}" />
+ <aura:attribute name="UseProduct3List" type="Map" />
+ <aura:attribute name="UseProduct3Id" type="string" default="" />
+ <!--SWAG-CF58C3 fy start -->
+ <aura:attribute name="AWStoken" type="String"/>
+ <aura:attribute name="AWSsearch" type="String"/>
+ <aura:attribute name="AWSinsert" type="String"/>
+ <aura:attribute name="AWStransactionURL" type="String"/>
+ <aura:attribute name="AWSDoctor2Map" type="String"/>
+ <aura:attribute name="awsurl" type="Map"/>
+ <aura:attribute name="contactawsurl" type="Map"/>
+ <aura:attribute name="allselectlistAgencyPerson" type="Map"/>
+ <!--SWAG-CF58C3 fy end -->
+
+
+ <aura:attribute name="doctor_list" type="Map" />
+ <!-- <aura:attribute name="doctor_title" type="String" /> -->
+ <aura:attribute name="opportunity_list" type="Map" />
+ <aura:attribute name="edit_copy_select_report_id" type="String" />
+ <aura:attribute name="create_agency_report_id" type="String" />
+ <aura:attribute name="reports" type="List" />
+ <aura:attribute name="reports_now" type="List" />
+ <aura:attribute name="reports_now_count" type="Integer" />
+ <aura:attribute name="mode" type="String" />
+ <aura:attribute name="select_report_data" type="Map" />
+ <aura:attribute name="select_report_data_radio" type="Map" />
+ <aura:attribute name="default_select_doctor_id" type="String" />
+ <aura:attribute name="default_select_doctor_id2" type="String" />
+ <aura:attribute name="default_select_opportunity_id" type="String" />
+ <aura:attribute name="report_count" type="Integer" />
+ <aura:attribute name="dialog_type" type="String" />
+ <aura:attribute name="truthy" type="Boolean" default="false" />
+ <aura:attribute name="list_message" type="String" default="鎼滅储" />
+ <aura:attribute name="confirm_status" type="Integer" default="0" />
+ <aura:attribute name="modal_confirm_title" type="String" />
+ <aura:attribute name="modal_confirm_text" type="String" />
+ <!-- <aura:attribute name="new_falg" type="String" /> -->
+ <!-- fy -->
+ <aura:attribute name="UserProType" type="String" />
+ <!-- 绉戝 -->
+ <aura:attribute name="opportunity_cfilter" type="String" />
+ <aura:attribute name="update_select_report_data_id" type="String" default="" />
+ <!-- 鎵归噺娣诲姞鏃ユ姤 start-->
+ <aura:attribute name="reports_date" type="List" />
+ <aura:attribute name="TableContent" type="String" description=" Show the Result class" />
+ <aura:attribute name="TableContent2" type="String" description=" Show the Result class" />
+ <aura:attribute name="TargetFileName" type="String" description="Name of the file" />
+ <aura:attribute name="tableheaders" type="Object[]" />
+ <aura:attribute name="fileContentData" type="String" />
+ <aura:attribute name="filename" type="String" />
+ <aura:attribute name="NumOfRecords" type="Integer" default="1000" />
+ <aura:attribute name="showMain" type="Boolean" default="true" />
+ <aura:attribute name="IsEventDefault" type="Boolean" default="true" />
+
+ <aura:attribute name="PIConfig" type="Map"/>
+
+ <ltng:require scripts="{! $Resource.AWSService+'/AWSService.js' }" />
+ <ltng:require scripts="{! $Resource.jquery183minjs }" />
+
+ <!-- 鎵归噺娣诲姞鏃ユ姤 end-->
+ <!--銉兗銉変腑...-->
+ <aura:renderIf isTrue="{!v.login}">
+ <div class="slds-spinner_container height100vh">
+ <div class="slds-spinner--brand slds-spinner slds-spinner--medium" role="alert">
+ <span class="slds-assistive-text">Loading</span>
+ <div class="slds-spinner__dot-a"></div>
+ <div class="slds-spinner__dot-b"></div>
+ </div>
+ </div>
+ </aura:renderIf>
+ <div aura:id="report" id="report" class="contents_wrapper">
+ <div class="slds-grid slds-wrap slds-grid--pull-padded">
+ <div style="width: 200px;"></div>
+ <div
+ class="tr mt5 slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-12 slds-large-size--1-of-12">
+ 鍛�
+ </div>
+ <div class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--3-of-12 slds-large-size--3-of-12">
+ <ui:inputSelect aura:id="select_date" class="slds-select" change="{!c.select_date_change}" />
+ </div>
+ <!-- 浠g悊搴楁媴褰撹�� -->
+ <div class="tr mt5 slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-12 slds-large-size--1-of-12"
+ style="display: none;">
+ {!v.fieldsmap.Person_In_Charge2__c}
+ </div>
+ <div class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--3-of-12 slds-large-size--3-of-12"
+ style="display: none;">
+ <ui:inputSelect aura:id="select_agency_person" class="slds-select agency_person_select"
+ change="{!c.select_agency_change}" />
+ </div>
+ <div style="width: 100px;">
+ </div>
+ <div class="tr slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--2-of-12 slds-large-size--2-of-12"
+ style="display: contents;">
+ <ui:button aura:id="new_button" label="鏂板缓" press="{!c.new_report}" />
+ </div>
+ <div style="width: 350px;" class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--2-of-12 slds-large-size--2-of-12">
+ <ui:button aura:id="copy_button" label="澶嶅埗" press="{!c.copy_button}" disabled="true" />
+ <ui:button aura:id="delete_button" label="鍒犻櫎" press="{!c.delete_button}" disabled="true"/>
+ <ui:button aura:id="import" label="瀵煎叆" press="{!c.import}" />
+ <ui:button aura:id="export" label="瀵煎嚭" press="{!c.export_condition}" />
+ <ui:button aura:id="returnbutton" label="杩斿洖" press="{!c.return_main_page}" />
+ </div>
+ </div>
+ </div>
+ <div aura:id="report_list" class="report_list_area">
+ <div class="slds-table--edit_container slds-is-relative" style="padding-left: 50px;">
+ <table class="slds-table slds-table--edit slds-table--bordered slds-table--fixed-layout slds-no-cell-focus"
+ role="grid" style="width:66.75rem;">
+ <thead>
+ <tr class="slds-line-height--reset">
+ <th class="table_header slds-text-title--caps">
+ </th>
+ <th class="table_header slds-text-title--caps">
+ <span class="slds-truncate" title="Name">{!v.fieldsmap.Person_In_Charge2__c}</span>
+ <!-- {!v.fieldsmap.Person_In_Charge2__c} 鎷呭綋-->
+ </th>
+ <th class="table_header slds-text-title--caps">
+ <span class="slds-truncate" title="Name">鍖婚櫌</span>
+ </th>
+ <th class="table_header slds-text-title--caps">
+ <span class="slds-truncate" title="Name">{!v.fieldsmap.Department_Cateogy__c}</span>
+ <!-- {!v.fieldsmap.Department_Cateogy__c} 绉戝-->
+ </th>
+ <th class="table_header slds-text-title--caps">
+ <span class="slds-truncate" title="Name">鎷滆浜�</span>
+ <!-- {!v.fieldsmap.doctor2__c} 鎷滆浜� -->
+ </th>
+ <th class="table_header slds-text-title--caps">
+ <span class="slds-truncate" title="Name">{!v.fieldsmap.DealerPersonnel__c}</span>
+ <!-- {!v.fieldsmap.visitor_title__c} 鑱屼綅-->
+ </th>
+ <th class="table_header slds-text-title--caps">
+ <span class="slds-truncate" title="Name">{!v.fieldsmap.WorkMark__c}</span>
+ <!-- {!v.fieldsmap.visitor_title__c} 鑱屼綅-->
+ </th>
+ </tr>
+ </thead>
+ <tbody>
+ <aura:iteration items="{!v.reports}" var="item" indexVar="index">
+ <tr class="slds-hint-parent">
+ <td role="gridcell" class="slds-cell-edit">
+ <ui:inputRadio class="report_radio" name="report_radio" label="{!item.Name}"
+ change="{!c.change_report_radio}" />
+ <lightning:buttonIcon class="edit_button" iconName="utility:edit" size="small"
+ alternativeText="edit" value="{!index}" onclick="{!c.edit_button}" />
+ </td>
+ <td role="gridcell" class="slds-cell-edit">
+ <span class="slds-grid slds-grid--align-spread">
+ <span class="slds-truncate"
+ title="{!item.Person_In_Charge2__r.Name}">{!item.Person_In_Charge2__r.Name}</span>
+ </span>
+ </td>
+ <th scope="row" tabindex="0" class="slds-cell-edit">
+ <span class="slds-grid slds-grid--align-spread">
+ {!item.Agency_Hospital__r.Name}
+ </span>
+ </th>
+ <td role="gridcell" class="slds-cell-edit">
+ <span class="slds-grid slds-grid--align-spread">
+ <span class="slds-truncate"
+ title="{!item.Department_Cateogy_text__c}">{!item.Department_Cateogy_text__c}</span>
+ </span>
+ </td>
+ <td role="gridcell" class="slds-cell-edit">
+ <span class="slds-grid slds-grid--align-spread">
+ <span class="slds-truncate"
+ title="{!item.doctor2__r.Name}">
+ <span class="encrypt">{!item.doctor2__r.Name}</span>
+ <span class="decrypt">{!item.doctor2__r.awsdata.name}</span>
+ </span>
+ </span>
+ </td>
+ <td role="gridcell" class="slds-cell-edit">
+ <span class="slds-grid slds-grid--align-spread">
+ <span class="slds-truncate"
+ title="{!item.DealerPersonnel__r.Name}">{!item.DealerPersonnel__r.Name}</span>
+ </span>
+ </td>
+ <td role="gridcell" class="slds-cell-edit" >
+ <span class="slds-grid slds-grid--align-spread" >
+ <span class="slds-truncate"
+ title="{!item.WorkMark__c}" >
+ <lightning:input type="checkbox" checked="{!item.WorkMark__c}" disabled="true"/>
+ </span>
+ </span>
+ </td>
+ </tr>
+ </aura:iteration>
+ </tbody>
+ </table>
+ </div>
+ <aura:renderIf isTrue="{!v.report_count > 0}">
+ <aura:set attribute="else">
+ <div class="no_data_area">
+ {!v.list_message}
+ </div>
+ </aura:set>
+ </aura:renderIf>
+ </div>
+ <!-- 鎵归噺娣诲姞鏃ユ姤 start-->
+ <div aura:id="modal_import" role="dialog" tabindex="-1"
+ class="disp_none slds-modal slds-fade-in-open slds-modal--large" aria-labelledby="headerTarget">
+ <div class="slds-modal slds-fade-in-open slds-hide" aura:id="successDiv01">
+ <!-- <ui:inputText aura:id="articleURL" /> -->
+ <div class="demo-only" style="height: 8rem;">
+ <div class="slds-notify_container slds-is-relative">
+ <div class="slds-notify slds-notify_toast slds-theme_success" role="alert">
+ <div class=" slds-m-left_xx-large">
+ <div
+ class="slds-notify__content slds-m-left_small slds-align_absolute-center slds-m-left_xx-large">
+ <lightning:icon alternativeText="Success" iconName="utility:success" size="small"
+ class="buttonColor slds-m-right_small" />
+ <h2 class="slds-text-heading_small ">{!v.successMessage}</h2>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="slds-modal slds-fade-in-open slds-hide" aura:id="errorDiv01" style="z-index: 10001">
+ <!-- <ui:inputText aura:id="articleURL" /> -->
+ <div class="demo-only" style="height: 8rem;">
+ <div class="slds-notify_container slds-is-relative">
+ <div class="slds-notify slds-notify_toast slds-theme_error" role="status">
+ <div class=" slds-m-left_xx-large">
+ <div
+ class="slds-notify__content slds-m-left_small slds-align_absolute-center slds-m-left_xx-large">
+ <lightning:icon alternativeText="error" iconName="utility:error" size="small"
+ class="buttonColor slds-m-right_small" />
+ <h2 class="slds-text-heading_small " >{!v.errorMessage}</h2>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="slds-modal__container ">
+ <div class="slds-modal__header ">
+ <h4 id="headerTarget" class="slds-float--left"></h4>
+ <h2 id="headerTarget" class="slds-text-heading--medium">鏃ユ姤鎵归噺瀵煎叆</h2>
+ <ui:button aura:id="close_button" label="鍏抽棴"
+ class="close_button slds-button slds-button--neutral slds-order--1" press="{!c.close_import}" />
+ </div>
+ <div class="slds-modal__content slds-scrollable slds-grow slds-p-around--medium ">
+ <aura:if isTrue="{!v.showMain}">
+ <div>
+ <lightning:input type="file" class="file" uara:id="file" onchange="{!c.CreateRecord}" />
+ </div>
+ <aura:set attribute="else">
+ <ui:outputRichText class="uiOutputRichText slds-m--around-large" value="{!v.TableContent}" />
+ <div class="slds-p-around--large slds-align--absolute-center">
+ <lightning:button label="淇濆瓨" variant="brand" onclick="{!c.processFileContent}" />
+ <lightning:button label="鍙栨秷" variant="brand" onclick="{!c.cancel}" />
+ </div>
+
+ </aura:set>
+ </aura:if>
+ </div>
+ </div>
+ </div>
+ <div aura:id="modal_importbg" class="disp_none slds-backdrop slds-backdrop--open"></div>
+ <!-- 鎵归噺娣诲姞鏃ユ姤 end-->
+
+ <!-- 鎵归噺瀵煎嚭鏃ユ姤 start-->
+ <div aura:id="modal_export" role="dialog" tabindex="-1"
+ class="disp_none slds-modal slds-fade-in-open slds-modal--large">
+ <div class="slds-modal__container">
+ <div class="slds-modal__header">
+ <h4 id="headerTarget" class="slds-float--left"></h4>
+ <h2 id="headerTarget" class="slds-text-heading--medium">鏃ユ姤鎵归噺瀵煎嚭</h2>
+ <ui:button aura:id="close_button" label="鍏抽棴"
+ class="close_button slds-button slds-button--neutral slds-order--1" press="{!c.close_export}" />
+ </div>
+ <div class="slds-modal__content slds-scrollable slds-grow slds-p-around--medium">
+ <aura:if isTrue="{!v.showMain}">
+ <div class="slds-grid slds-wrap slds-grid--pull-padded">
+ <div
+ class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-4">
+ </div>
+ <div
+ class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-4">
+ 娲诲姩鏃ュ紑濮嬫棩鏈�
+ <lightning:input type="Date" class="slds-input slds-input_bare "
+ aura:id="input-report-date1" />
+ </div>
+ <div
+ class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-4">
+ 娲诲姩鏃ョ粨鏉熸棩鏈�
+ <lightning:input type="Date" class="slds-input slds-input_bare "
+ aura:id="input-report-date2" />
+ </div>
+ <div
+ class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-4">
+ </div>
+ <div class="slds-p-around--large slds-align--absolute-center">
+ <lightning:button label="纭" variant="brand" onclick="{!c.select_repores_date}" />
+ <lightning:button label="鍙栨秷" variant="brand" onclick="{!c.close_export}" />
+ </div>
+ </div>
+ <aura:set attribute="else">
+ <ui:outputRichText class="uiOutputRichText slds-m--around-large" value="{!v.TableContent2}" />
+ <div class="slds-p-around--large slds-align--absolute-center">
+ <lightning:button label="纭" variant="brand" onclick="{!c.exportDate}" />
+ <lightning:button label="鍙栨秷" variant="brand" onclick="{!c.close_export}" />
+ </div>
+ </aura:set>
+ </aura:if>
+ </div>
+ </div>
+ </div>
+ <div aura:id="modal_exportbg" class="disp_none slds-backdrop slds-backdrop--open"></div>
+ <!-- 鎵归噺瀵煎嚭鏃ユ姤 end-->
+ <div aura:id="modal_window" role="dialog" tabindex="-1"
+ class="disp_none slds-modal slds-fade-in-open slds-modal--large" aria-labelledby="headerTarget">
+ <div class="slds-modal__container">
+ <div class="slds-modal slds-fade-in-open slds-hide" aura:id="successDiv">
+ <!-- <ui:inputText aura:id="articleURL" /> -->
+ <div class="demo-only" style="height: 8rem;">
+ <div class="slds-notify_container slds-is-relative">
+ <div class="slds-notify slds-notify_toast slds-theme_success" role="alert">
+ <div class=" slds-m-left_xx-large">
+ <div
+ class="slds-notify__content slds-m-left_small slds-align_absolute-center slds-m-left_xx-large">
+ <lightning:icon alternativeText="Success" iconName="utility:success" size="small"
+ class="buttonColor slds-m-right_small" />
+ <h2 class="slds-text-heading_small ">{!v.successMessage}</h2>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="slds-modal slds-fade-in-open slds-hide" aura:id="errorDiv" style="z-index: 10001">
+ <!-- <ui:inputText aura:id="articleURL" /> -->
+ <div class="demo-only" style="height: 8rem;">
+ <div class="slds-notify_container slds-is-relative">
+ <div class="slds-notify slds-notify_toast slds-theme_error" role="status">
+ <div class=" slds-m-left_xx-large">
+ <div
+ class="slds-notify__content slds-m-left_small slds-align_absolute-center slds-m-left_xx-large">
+ <lightning:icon alternativeText="error" iconName="utility:error" size="small"
+ class="buttonColor slds-m-right_small" />
+ <h2 class="slds-text-heading_small ">{!v.errorMessage}</h2>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="slds-modal__header">
+ <h4 id="headerTarget" class="slds-float--left">{!v.dialog_type}</h4>
+ <h2 id="headerTarget" class="slds-text-heading--medium">
+ 鏃ユ姤({!v.selected_date} {!v.selected_agency_person})</h2>
+ <ui:button aura:id="close_button" label="鍏抽棴"
+ class="close_button slds-button slds-button--neutral slds-order--1" press="{!c.toggle_report}" />
+ </div>
+ <div class="slds-modal__content slds-grow slds-p-around--medium">
+ <div class="slds-box slds-theme--shade">
+ <div class="slds-grid slds-wrap slds-grid--pull-padded">
+ <div
+ class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-6">
+ 娲诲姩鏃�
+ <lightning:input type="date" value="{!v.data.Report_Date__c}" aura:id="input-report-date" />
+ </div>
+ <!-- 鍖婚櫌 -->
+ <div aura:id="hospital_list"
+ class="slds-form-element slds-lookup slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-6"
+ data-select="single">
+ <!-- label="鍖婚櫌" -->
+ 鍖婚櫌
+ <lightning:input aura:id="hospital_input_text" class="field"
+ value="{!v.hospital}" updateOn="keyup" />
+ <div class="slds-lookup__menu" id="lookup-66">
+ <ul class="slds-lookup__list" role="listbox">
+ <aura:iteration var="hospital" items="{!v.hospitalList}">
+ <li role="presentation" onclick="{!c.selectHos}"
+ data-accName="{!hospital.Hospital_Name_readonly__c}"
+ data-accId="{!hospital.Hospital__c}">
+ <span class="slds-lookup__item-action slds-media" id="lookup-option-498"
+ role="option">
+ <div class="slds-media__body">
+ <div class="slds-lookup__result-text">
+ {!hospital.Hospital_Name_readonly__c}</div>
+ </div>
+ </span>
+ </li>
+ </aura:iteration>
+ </ul>
+ </div>
+ </div>
+ <!-- 绉戝鍒嗙被 -->
+ <div
+ class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-6">
+ {!v.fieldsmap.Department_Cateogy__c}
+ <ui:inputText aura:id="select_department" class="slds-select"
+ change="{!c.select_department}" />
+ </div>
+ <!-- 缁忛攢鍟嗕汉鍛� change="{!c.select_DealerPersonnel}" -->
+ <div
+ class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-6" style="width: 145px;">
+ {!v.fieldsmap.DealerPersonnel__c}
+ <ui:inputSelect aura:id="select_DealerPersonnel" class="slds-select" />
+ </div>
+ <!-- 娲诲姩鍖哄垎 -->
+ <div
+ class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-6">
+ {!v.fieldsmap.WorkRecord__c}
+ <ui:inputSelect aura:id="select_purpose_type" class="slds-select"
+ change="{!c.select_purpose_type}" />
+ </div>
+ <!-- 鎷滆浜� {!v.fieldsmap.doctor2__c}-->
+ <div
+ class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-6" style="width: 145px;">
+ 鎷滆浜�
+ <ui:inputSelect aura:id="select_doctor" class="slds-select" change="{!c.doctor_change}" />
+ </div>
+ <!-- <p hidden="hidden"> -->
+
+ <div
+ class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-12">
+ <br />
+ <ui:button label="鏂板缓" class="slds-button" press="{!c.createCon}" disabled="true"
+ aura:id="new_con" />
+ </div>
+
+ <!-- </p> -->
+ <hr />
+ <!-- 浜у搧鍒嗙被(绗笁鍒嗙被) change="{!c.select_ProductClassification}" -->
+ <div
+ class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-6">
+ 浜у搧鍒嗙被(绗笁鍒嗙被)
+ <ui:inputSelect aura:id="select_ProductClassification" class="slds-select"
+ change="{!c.selectProductClassification}" />
+ </div>
+ <!-- 浣跨敤浜у搧1(浜у搧鍨嬪彿) UseProduct1__c -->
+ <div aura:id="UseProduct1_List"
+ class="slds-form-element slds-lookup slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-6"
+ data-select="single">
+ <!-- label="浣跨敤浜у搧1(浜у搧鍨嬪彿)" -->
+ 浣跨敤浜у搧1(浜у搧鍨嬪彿)
+ <lightning:input aura:id="UseProduct1_TEXT" class="field"
+ value="{!v.UseProduct1}" updateOn="keyup" />
+ <div class="slds-lookup__menu" id="lookup-11">
+ <ul class="slds-lookup__list" role="listbox" style="max-height:230px;">
+ <aura:iteration var="UseProduct1" items="{!v.UseProduct1List}">
+ <li role="presentation" onclick="{!c.seletUseProduct1Change}"
+ data-accid="{!UseProduct1.Id}" data-accName="{!UseProduct1.Asset_Model_No__c}">
+ <span class="slds-lookup__item-action slds-media" id="lookup-option-498"
+ role="option">
+ <div class="slds-media__body">
+ <div class="slds-lookup__result-text">{!UseProduct1.Asset_Model_No__c}</div>
+ </div>
+ </span>
+ </li>
+ </aura:iteration>
+ </ul>
+ </div>
+ </div>
+ <!-- 浣跨敤浜у搧2 UseProduct2__c -->
+ <div aura:id="UseProduct2_List"
+ class="slds-form-element slds-lookup slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-6"
+ data-select="single">
+ <!-- label="浣跨敤浜у搧2" -->
+ 浣跨敤浜у搧2
+ <lightning:input aura:id="UseProduct2_TEXT" class="field"
+ value="{!v.UseProduct2}" updateOn="keyup" />
+ <div class="slds-lookup__menu" id="lookup-22">
+ <ul class="slds-lookup__list" role="listbox" style="max-height:230px;">
+ <aura:iteration var="UseProduct2" items="{!v.UseProduct2List}">
+ <li role="presentation" onclick="{!c.seletUseProduct2Change}"
+ data-accid="{!UseProduct2.Id}" data-accName="{!UseProduct2.Asset_Model_No__c}">
+ <span class="slds-lookup__item-action slds-media" id="lookup-option-498"
+ role="option">
+ <div class="slds-media__body">
+ <div class="slds-lookup__result-text">{!UseProduct2.Asset_Model_No__c}</div>
+ </div>
+ </span>
+ </li>
+ </aura:iteration>
+ </ul>
+ </div>
+ </div>
+ <!-- 浣跨敤浜у搧3 UseProduct3__c -->
+ <div aura:id="UseProduct3_List"
+ class="slds-form-element slds-lookup slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-6"
+ data-select="single">
+ <!-- label="浣跨敤浜у搧3" -->
+ 浣跨敤浜у搧3
+ <lightning:input aura:id="UseProduct3_TEXT" class="field"
+ value="{!v.UseProduct3}" updateOn="keyup" />
+ <div class="slds-lookup__menu" id="lookup-33">
+ <ul class="slds-lookup__list" role="listbox" style="max-height:230px;">
+ <aura:iteration var="UseProduct3" items="{!v.UseProduct3List}">
+ <li role="presentation" onclick="{!c.seletUseProduct3Change}"
+ data-accid="{!UseProduct3.Id}" data-accName="{!UseProduct3.Asset_Model_No__c}">
+ <span class="slds-lookup__item-action slds-media" id="lookup-option-498"
+ role="option">
+ <div class="slds-media__body">
+ <div class="slds-lookup__result-text">{!UseProduct3.Asset_Model_No__c}</div>
+ </div>
+ </span>
+ </li>
+ </aura:iteration>
+ </ul>
+ </div>
+ </div>
+ <!-- 鏁堟灉/杩涘害 EffectProgress__c-->
+ <div aura:id="product_category_select1"
+ class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-6">
+ {!v.fieldsmap.EffectProgress__c}
+ <ui:inputSelect aura:id="select_EffectProgress" class="slds-select" />
+ </div>
+ <hr />
+ <!-- 浜у搧1鍚岀被鑰楁潗绉戝鏈堜娇鐢ㄩ噺 ConsumptionOfConsumables__c-->
+ <div
+ class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-6">
+ {!v.fieldsmap.ConsumptionOfConsumables__c}
+ <ui:inputText aura:id="select_ConsumptionOfConsumables" class="slds-select"
+ change="{!c.select_ConsumptionOfConsumables}" />
+ </div>
+ <!-- 鏈+鍒嗙被 WarlockClassification__c -->
+ <div
+ class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-6">
+ {!v.fieldsmap.WarlockClassification__c}
+ <ui:inputSelect aura:id="select_OtherBrandConsumables" class="slds-select" />
+ </div>
+ <!-- 宸查噰鐢ㄥ叾浠栧搧鐗� ProductCcategory__c -->
+ <div
+ class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-6">
+ {!v.fieldsmap.ProductCcategory__c}
+ <ui:inputSelect aura:id="select_ProductCcategory" class="slds-select"
+ change="{!c.selectpurposetype}" />
+ </div>
+ <!-- 鍏朵粬鍝佺墝浜у搧绫诲埆 -->
+ <div aura:id="result"
+ class="disp_none slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-6">
+ {!v.fieldsmap.productCategories__c}
+ <ui:inputSelect aura:id="select_productCategories" class="slds-select" />
+ </div>
+ <!-- 浜у搧鐢ㄩ噺 warlocksNumber__c -->
+ <div
+ class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-6">
+ {!v.fieldsmap.warlocksNumber__c}
+ <ui:inputText aura:id="select_warlocksNumber" class="slds-select"
+ change="{!c.select_warlocksNumber}" />
+ </div>
+ <!-- 鏀彺闇�姹� WorkMark__c-->
+ <div style="padding-left: 20px;">
+ {!v.fieldsmap.WorkMark__c}
+ <lightning:input type="checkbox" aura:id="select_WorkMark" />
+ </div>
+ <div aura:id="input-opportunity-stage"
+ class="disp_none slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--2-of-12 slds-large-size--2-of-12">
+ {!v.fieldsmap.StageName__c}
+ <ui:inputSelect aura:id="select_stageName" class="slds-select" />
+ </div>
+ <div aura:id="input-opportunity-amount1"
+ class="disp_none slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--2-of-12 slds-large-size--2-of-12">
+ {!v.fieldsmap.Amount__c}
+ <!-- <ui:inputSelect aura:id="select_opportunity" class="slds-select"/> 鍖婚櫌閲囪喘棰勭畻(涓嶅惈绋�,鍏�)-->
+ <lightning:inputField value="{!v.oppdata.Amount__c}" class="" />
+
+ </div>
+ <div aura:id="input-opportunity-amount2"
+ class="disp_none slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--2-of-12 slds-large-size--2-of-12">
+ {!v.fieldsmap.OCMSale_Price__c}
+ <!-- <ui:inputSelect aura:id="select_opportunity" class="slds-select"/> 璁㈣揣閲戦(涓嶅惈绋�,鍏�) -->
+ <lightning:inputField value="{!v.oppdata.OCMSale_Price__c}" class="" />
+ </div>
+ <div aura:id="input-opportunity-date"
+ class="disp_none slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--2-of-12 slds-large-size--2-of-12">
+ {!v.fieldsmap.Close_Forecasted_Date__c}
+ <!-- <ui:inputSelect aura:id="select_opportunity" class="slds-select"/> 棰勬祴涓嶰CSM绛剧害鏃� -->
+ <lightning:inputField value="{!v.oppdata.Close_Forecasted_Date__c}" class="" />
+ </div>
+ <hr />
+ </div>
+ </div>
+ <div class="save_button_area">
+ <ui:button aura:id="save_button" label="淇濆瓨骞舵柊寤�"
+ class="save_button slds-button slds-button--brand slds-order--3" press="{!c.save_report}" />
+ </div>
+ <aura:renderIf isTrue="{!v.reports_now_count > 0}">
+ <div class="mt40 slds-box slds-theme--shade">
+ <div class="slds-table--edit_container slds-is-relative">
+ <table
+ class="slds-table slds-table--edit slds-table--bordered slds-table--fixed-layout slds-no-cell-focus"
+ role="grid">
+ <thead>
+ <tr class="slds-line-height--reset">
+ <th class="table_header slds-text-title--caps">
+ <span class="slds-truncate" title="Name"></span>
+ </th>
+ <th class="table_header slds-text-title--caps">
+ <span class="slds-truncate" title="Name">鍖婚櫌</span>
+ </th>
+ <th class="table_header slds-text-title--caps">
+ <span class="slds-truncate"
+ title="Name">{!v.fieldsmap.Department_Cateogy__c}</span>
+ </th>
+ <th class="table_header slds-text-title--caps">
+ <span class="slds-truncate" title="Name">{!v.fieldsmap.doctor2__c}</span>
+ <!-- 瀹㈡埛浜哄憳 -->
+ </th>
+ <th class="table_header slds-text-title--caps">
+ <span class="slds-truncate"
+ title="Name">{!v.fieldsmap.visitor_title__c}</span>
+ </th>
+ <th class="table_header slds-text-title--caps">
+ <span class="slds-truncate" title="Name">{!v.fieldsmap.WorkRecord__c}</span>
+ </th>
+ </tr>
+ </thead>
+ <tbody>
+ <aura:iteration items="{!v.reports_now}" var="item" indexVar="index">
+ <tr aura:id="modal_data_list_tr" class="slds-hint-parent">
+ <td role="gridcell" class="slds-cell-edit">
+ <span class="slds-grid slds-grid--align-spread">
+ <span class="slds-truncate"
+ title="{!item.Department_Cateogy_text__c}">{!item.Name}</span>
+ </span>
+ </td>
+ <td role="gridcell" class="slds-cell-edit">
+ <span class="slds-grid slds-grid--align-spread">
+ <span class="slds-truncate"
+ title="{!item.Agency_Hospital__r.Name}">{!item.Agency_Hospital__r.Name}</span>
+ </span>
+ </td>
+ <td role="gridcell" class="slds-cell-edit">
+ <span class="slds-grid slds-grid--align-spread">
+ <span class="slds-truncate"
+ title="{!item.Department_Cateogy_text__c}">{!item.Department_Cateogy_text__c}</span>
+ </span>
+ </td>
+ <td role="gridcell" class="slds-cell-edit">
+ <span class="slds-grid slds-grid--align-spread">
+ <span class="slds-truncate"
+ title="{!item.doctor2__r.Name}">{!item.doctor2__r.Name}</span>
+ </span>
+ </td>
+ <td role="gridcell" class="slds-cell-edit">
+ <span class="slds-grid slds-grid--align-spread">
+ <span class="slds-truncate"
+ title="{!item.visitor_title__c}">{!item.visitor_title__c}</span>
+ </span>
+ </td>
+ <td role="gridcell" class="slds-cell-edit">
+ <span class="slds-grid slds-grid--align-spread">
+ <span class="slds-truncate"
+ title="{!item.WorkRecord__c}">{!item.WorkRecord__c}</span>
+ </span>
+ </td>
+ </tr>
+ </aura:iteration>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ </aura:renderIf>
+ </div>
+ </div>
+ </div>
+
+
+
+ <div aura:id="modal_bg" class="disp_none slds-backdrop slds-backdrop--open"></div>
+
+ <div aura:id="modal_confirm" role="dialog" tabindex="-2" aria-labelledby="header43"
+ class="disp_none slds-modal slds-fade-in-open">
+ <div class="slds-modal__container">
+ <div class="slds-modal__header">
+ <h2 id="header43" class="slds-text-heading--medium">{!v.modal_confirm_title}</h2>
+ </div>
+ <div class="slds-modal__content slds-p-around--medium">
+ <p>{!v.modal_confirm_text}</p>
+ </div>
+ <div class="slds-modal__footer">
+ <ui:button label="鏄�" class="slds-button slds-button--brand" press="{!c.yes_button}" />
+ <ui:button label="鍚�" class="slds-button slds-button--neutral" press="{!c.no_button}" />
+ </div>
+ </div>
+ </div>
+ <div aura:id="modal_confirm_bg" class="disp_none slds-backdrop slds-backdrop--open"></div>
+
+ <div aura:id="modal_newAC" role="dialog" tabindex="-3" aria-labelledby="headertest"
+ class="disp_none slds-modal slds-fade-in-open">
+ <div class="slds-modal__container">
+ <div class="slds-modal__header">
+ <h2 id="headertest" class="slds-text-heading--medium">鏂板缓.鎷滆浜�</h2>
+ </div>
+ <div class="slds-modal__content slds-p-around--medium">
+ <lightning:recordEditForm aura:id="recordEditForm" objectApiName="Agency_Contact__c"
+ onsuccess="{!c.handleSuccess}" onload="{!c.showRequiredFields}" onsubmit="{!c.handleSubmit}">
+ <lightning:messages aura:id="OppMessage" />
+ <!-- onload="{!c.showRequiredFields}" -->
+ <aura:renderIf isTrue="{!v.truthy}">
+ <lightning:inputField fieldName="Name" aura:id="newOpportunityField" />
+ <lightning:inputField fieldName="Type__c" aura:id="newOpportunityField" />
+ <lightning:inputField fieldName="Doctor_Division1__c" aura:id="newOpportunityField" />
+ </aura:renderIf>
+ <br />
+ <br />
+ <br />
+ <br />
+ <br />
+ <div class="save_button_area">
+ <lightning:button class="slds-m-top_small" type="button" label="鍙栨秷"
+ onclick="{!c.createCancel}" />
+ <lightning:button class="slds-m-top_small" type="button" label="淇濆瓨"
+ onclick="{!c.handleSubmit}" />
+ </div>
+ </lightning:recordEditForm>
+ </div>
+ </div>
+ </div>
+
+
+</aura:component>
\ No newline at end of file
diff --git a/force-app/main/default/aura/RetrospectiveWeeklyReport/RetrospectiveWeeklyReport.cmp-meta.xml b/force-app/main/default/aura/RetrospectiveWeeklyReport/RetrospectiveWeeklyReport.cmp-meta.xml
new file mode 100644
index 0000000..809f48b
--- /dev/null
+++ b/force-app/main/default/aura/RetrospectiveWeeklyReport/RetrospectiveWeeklyReport.cmp-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<AuraDefinitionBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>52.0</apiVersion>
+ <description>A Lightning Component Bundle</description>
+</AuraDefinitionBundle>
diff --git a/force-app/main/default/aura/RetrospectiveWeeklyReport/RetrospectiveWeeklyReport.css b/force-app/main/default/aura/RetrospectiveWeeklyReport/RetrospectiveWeeklyReport.css
new file mode 100644
index 0000000..2cf535d
--- /dev/null
+++ b/force-app/main/default/aura/RetrospectiveWeeklyReport/RetrospectiveWeeklyReport.css
@@ -0,0 +1,141 @@
+.THIS .bcolor {
+ color: #333;
+}
+.THIS.height100vh {
+ height: 100vh;
+}
+.THIS.contents_wrapper {
+ padding-top: 50px;
+}
+.THIS .mt5 {
+ margin-top: 5px;
+}
+.THIS .mt40 {
+ margin-top: 40px;
+}
+.THIS .edit_button {
+ float: right;
+ margin: -1.5em 0.5em 0 0;
+ border: 0;
+}
+.THIS .no_data_area {
+ text-align: center;
+ margin: .5em 0;
+}
+.THIS.report_list_area {
+ margin: 40px 0 20px 100px;
+ height: 60vh;
+ overflow-y: scroll;
+}
+.THIS .report_radio {
+ float: left;
+}
+.THIS .table_header {
+ width: 9.4rem;
+ height: 2em;
+}
+.THIS.disp_none {
+ display: none;
+}
+.THIS .disp_none {
+ display: none;
+}
+.THIS .tr {
+ text-align: right;
+}
+.THIS .close_button {
+ float: right;
+ margin-top: -2em;
+}
+.THIS .close_icn svg {
+ fill: #fefefe;
+}
+.THIS .slds-progress__marker {
+ cursor: default;
+}
+.THIS .progress_0 {
+ width: 0%;
+}
+.THIS .progress_100 {
+ width: 100%;
+}
+.THIS .new_btn_area {
+ text-align: center;
+ margin-top: 22px;
+}
+.THIS .new_btn {
+ width: 100%;
+}
+.THIS .save_button_area {
+ margin: 1em 0;
+ text-align: right;
+}
+.THIS .save_button {
+ background-color: #ffa500;
+ border: 1px solid #ff8c00;
+}
+.THIS .report_data_header {
+ border-bottom: 2px solid #ccc;
+}
+.THIS .report_data_area {
+ border-bottom: 1px solid #ccc;
+}
+.THIS.fade {
+ transition: 5s opacity linear;
+}
+.THIS.animation_off {
+ opacity: 0;
+}
+.THIS.animation_on {
+ opacity: 1;
+}
+.THIS .fade {
+ transition: 5s opacity linear;
+}
+.THIS .animation_off {
+ opacity: 0;
+}
+.THIS .animation_on {
+ opacity: 1;
+}
+.THIS .divbotuser{
+ width:fit-content;
+}
+
+.THIS .toastMessage.forceActionsText{
+ white-space : pre-line !important;
+}
+
+.THIS .slds-file-selector__dropzone .slds-file-selector__text{
+ display: none;
+}
+
+.THIS .slds-input:focus, .THIS .slds-input:active {
+ border-color: rgb(216, 221, 230);
+ box-shadow: none;
+}
+
+.THIS .customRequired{
+ font-weight: 400;
+}
+.THIS .customRequired:before{
+ content: "*";
+ margin: 0 0.125rem 0 0.125rem;
+ color: rgb(194, 57, 52);
+ float: left;
+}
+.THIS .none{
+ display:none;
+}
+
+.THIS tr .decrypt{
+ display: none;
+}
+
+.THIS tr:hover .decrypt{
+ display: unset;
+}
+
+.THIS tr:hover .encrypt{
+ display: none;
+}
\ No newline at end of file
diff --git a/force-app/main/default/aura/RetrospectiveWeeklyReport/RetrospectiveWeeklyReport.design b/force-app/main/default/aura/RetrospectiveWeeklyReport/RetrospectiveWeeklyReport.design
new file mode 100644
index 0000000..d247163
--- /dev/null
+++ b/force-app/main/default/aura/RetrospectiveWeeklyReport/RetrospectiveWeeklyReport.design
@@ -0,0 +1,3 @@
+<design:component >
+
+</design:component>
\ No newline at end of file
diff --git a/force-app/main/default/aura/RetrospectiveWeeklyReport/RetrospectiveWeeklyReport.svg b/force-app/main/default/aura/RetrospectiveWeeklyReport/RetrospectiveWeeklyReport.svg
new file mode 100644
index 0000000..e201ae9
--- /dev/null
+++ b/force-app/main/default/aura/RetrospectiveWeeklyReport/RetrospectiveWeeklyReport.svg
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
+<svg width="120px" height="120px" viewBox="0 0 120 120" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+ <path d="M120,108 C120,114.6 114.6,120 108,120 L12,120 C5.4,120 0,114.6 0,108 L0,12 C0,5.4 5.4,0 12,0 L108,0 C114.6,0 120,5.4 120,12 L120,108 L120,108 Z" id="Shape" fill="#2A739E" />
+ <path d="M77.7383308,20 L61.1640113,20 L44.7300055,63.2000173 L56.0543288,63.2000173 L40,99.623291 L72.7458388,54.5871812 L60.907727,54.5871812 L77.7383308,20 Z" id="Path-1" fill="#FFFFFF" />
+ </g>
+</svg>
\ No newline at end of file
diff --git a/force-app/main/default/aura/RetrospectiveWeeklyReport/RetrospectiveWeeklyReportController.js b/force-app/main/default/aura/RetrospectiveWeeklyReport/RetrospectiveWeeklyReportController.js
new file mode 100644
index 0000000..1764619
--- /dev/null
+++ b/force-app/main/default/aura/RetrospectiveWeeklyReport/RetrospectiveWeeklyReportController.js
@@ -0,0 +1,343 @@
+({
+ doInit : function(component, event, helper) {
+ helper.doinit(component, event, helper);
+ },
+
+ createAopp : function(component, event, helper) {
+ var addRecordEvent = $A.get('e.force:createRecord');
+ addRecordEvent.setParams({
+ entityApiName: 'Agency_Opportunity__c',
+ recordTypeId: '012100000006KW7'
+ });
+ addRecordEvent.fire();
+ },
+
+ new_report : function(component, event, helper) {
+ component.find('save_button').set('v.label', '淇濆瓨骞舵柊寤�');
+ helper.new_report(component, event, helper);
+ },
+
+ copy_button : function(component, event, helper) {
+ component.find('save_button').set('v.label', '淇濆瓨骞舵柊寤�');
+ helper.copy_button(component, event, helper);
+ },
+ delete_button : function(component, event, helper) {
+ helper.delete_button(component, event, helper);
+ },
+ change_report_radio : function(component, event, helper) {
+ helper.change_report_radio(component, event, helper);
+ },
+
+ edit_button : function(component, event, helper) {
+ component.find('save_button').set('v.label', '淇濆瓨');
+ helper.edit_button(component, event, helper);
+ },
+
+ createCon : function(component, event, helper) {
+ helper.createCon(component, event, helper);
+ },
+
+ showRequiredFields: function(component, event, helper){
+ $A.util.removeClass(component.find("newOpportunityField"), "none");
+ $A.util.removeClass(component.find("newOpportunityField"), "none");
+ },
+
+ handleSuccess : function(component, event, helper) {
+ helper.handleSuccess(component, event, helper);
+ },
+
+ handleSubmit : function(component, event, helper) {
+ event.preventDefault(); // stop form submission
+ var showValidationError = false;
+ var fields = component.find("newOpportunityField");
+ var vaildationFailReason = '';
+ let agencyReport = Object.create(null);
+ fields.forEach(function (field) {
+ if(field.get("v.fieldName") === 'Type__c' && $A.util.isEmpty(field.get("v.value"))){
+ showValidationError = true;
+ vaildationFailReason = "鍒嗙被涓嶈兘涓虹┖锛�";
+ }else if(field.get("v.fieldName") === 'Doctor_Division1__c' && $A.util.isEmpty(field.get("v.value"))){
+ showValidationError = true;
+ if(vaildationFailReason != ''){
+ vaildationFailReason += "鍖荤敓鍖哄垎(鑱屽姟)涓嶈兘涓虹┖锛�";
+ }else{
+ vaildationFailReason = "鍖荤敓鍖哄垎(鑱屽姟)涓嶈兘涓虹┖锛�";
+ }
+
+ }
+ //SWAG-CF58C3 fy start
+ if(field.get("v.fieldName") === 'Name'){
+ agencyReport['name'] = field.get("v.value");
+ }else if(field.get("v.fieldName") === 'Type__c'){
+ agencyReport['type'] = field.get("v.value");
+ }else if(field.get("v.fieldName") === 'Doctor_Division1__c'){
+ agencyReport['doctorDivision1'] = field.get("v.value");
+ }
+ //SWAG-CF58C3 fy end
+ });
+ if (!showValidationError) {
+ //SWAG-CF58C3 fy start
+ var agencyHospitalid = component.get('v.hospitalLinkId');
+ //zhj MEBG鏂版柟妗堟敼閫� 2022-11-29 start
+ debugger
+ let hospitalName = '';
+ //璋冪敤鍚庣searchAgencyDataId鏂规硶鏌ヨ鍑哄尰闄笅闈㈡墍鏈夊鎴蜂汉鍛榙ataid
+ helper.CallBackAction(component,'searchAgencyDataId',{
+ hospitalId : agencyHospitalid
+ },function(data){
+ if(data.getState() == "SUCCESS"){
+ var data = data.getReturnValue();
+ if(data.IsSuccess == true){
+ let agencyContactIds = ''
+ if(data.Message == '' && data.Data && data.Data.length > 0){
+ hospitalName = data.Data[0].Agency_Hospital__r.Name;
+ for(var i=0;i<data.Data.length;i++){
+ if(data.Data[i].AWS_Data_Id__c)
+ agencyContactIds += ','+data.Data[i].AWS_Data_Id__c;
+ }
+ agencyContactIds = agencyContactIds.substring(1);
+ agencyReport['agencyContactIds'] = agencyContactIds;
+ }else{
+ agencyReport['agencyContactIds'] = agencyContactIds;
+ }
+ var arr = new Array();
+ arr.push(agencyReport);
+ var requestData = JSON.stringify(arr);
+ // helper.set_aws_url(component,data,agencyHospitalid);
+
+ var token = component.get('v.AWStoken');
+ var newUrl = component.get('v.AWSinsert') + 'V2';
+
+ component.set('v.login',true);
+ helper.insert_agencycontact(component,token,newUrl,requestData,agencyHospitalid,helper,hospitalName);
+ }else{
+ helper.ShowToast({
+ "message" : data.message,
+ "type" : "error"
+ });
+ }
+ }else{
+ helper.ShowToast({
+ "message" : 'searchAgency澶辫触',
+ "type" : "error"
+ });
+ }
+ })
+ //zhj MEBG鏂版柟妗堟敼閫� 2022-11-29 end
+ // var arr = new Array();
+ // arr.push(agencyReport);
+ // var data = JSON.stringify(arr);
+ // var token = component.get('v.AWStoken');
+ // var newUrl = component.get('v.AWSinsert');
+ // component.set('v.login',true);
+ // helper.insert_agencycontact(component,token,newUrl,data,agencyHospitalid,helper);
+ //SWAG-CF58C3 fy end
+ // helper.newlyBuild(component, event, helper);
+ }else{
+ component.find('OppMessage').setError(vaildationFailReason);
+ }
+ },
+
+ createCancel : function(component, event, helper) {
+ helper.createCancel(component, event, helper);
+ },
+
+ yes_button : function(component, event, helper) {
+ component.set('v.confirm_status', 1);
+ helper.close_confirm(component, component.get('v.modal_confirm_title'), component.get('v.modal_confirm_text'));
+ },
+
+ no_button : function(component, event, helper) {
+ component.set('v.confirm_status', 2);
+ helper.close_confirm(component, component.get('v.modal_confirm_title'), component.get('v.modal_confirm_text'));
+ },
+
+ toggle_report : function(component, event, helper) {
+ helper.toggle_report(component, event, helper);
+ },
+
+ save_report : function(component, event, helper) {
+ helper.save_report(component, event, helper);
+ },
+
+ select_date_change : function(component, event, helper) {
+ helper.select_date_change(component, event, helper);
+ },
+
+ select_agency_change : function(component, event, helper) {
+ debugger
+ helper.select_agency_change(component, event, helper);
+ },
+
+ hosChange : function(component, event, helper) {
+ var hospital_name = event.getParam("value");
+ var hospital_nameld = component.get("v.UseProduct1s");
+ if (hospital_name.match(/(\S+\s)+/)) {
+ if(hospital_nameld!=hospital_name){
+ helper.searchHos(component, event, helper);
+ }
+ } else {
+ if(hospital_name==''){
+ helper.hideSearchs(component, event, helper);
+ }else{
+ helper.hideSearch(component, event, helper);
+ }
+ }
+ },
+ selectHos : function(component, event, helper) {
+ helper.selectHos(component, event, helper);
+ helper.setOpportunity_cfilter(component);
+ },
+ //浣跨敤浜у搧1
+ UseProduct1Change : function(component, event, helper) {
+ var UseProduct1Name = event.getParam("value");
+ var UseProduct1Nameold = component.get("v.UseProduct1s");
+ debugger
+ if (UseProduct1Name.match(/(\S+\s)+/)) {
+ if(UseProduct1Name!=UseProduct1Nameold){
+ helper.searchUseProduct1(component, event, helper);
+ }
+ } else {
+ if(UseProduct1Name==''){
+ helper.hideSearchUseProduct1s(component, event, helper);
+ }else{
+ helper.hideSearchUseProduct1(component, event, helper);
+ }
+ }
+ },
+ seletUseProduct1Change : function(component, event, helper) {
+ helper.seletUseProduct1Change(component, event, helper);
+ },
+ //浣跨敤浜у搧2
+ UseProduct2Change : function(component, event, helper) {
+ var UseProduct2Name = event.getParam("value");
+ var UseProduct2Nameold = component.get("v.UseProduct2s");
+ if (UseProduct2Name.match(/(\S+\s)+/)) {
+ if(UseProduct2Name!=UseProduct2Nameold){
+ helper.searchUseProduct2(component, event, helper);
+ }
+ } else {
+ if(UseProduct2Name==''){
+ helper.hideSearchUseProduct2s(component, event, helper);
+ }else{
+ helper.hideSearchUseProduct2(component, event, helper);
+ }
+ }
+ },
+ seletUseProduct2Change : function(component, event, helper) {
+ helper.seletUseProduct2Change(component, event, helper);
+ },
+ productcategoryChange2 : function(component, event, helper) {
+ helper.productcategoryChange2(component, event, helper);
+ },
+ //浣跨敤浜у搧3
+ UseProduct3Change : function(component, event, helper) {
+ var UseProduct3Name = event.getParam("value");
+ var UseProduct3Nameold = component.get("v.UseProduct3s");
+ if (UseProduct3Name.match(/(\S+\s)+/)) {
+ if(UseProduct3Name!=UseProduct3Nameold){
+ helper.searchUseProduct3(component, event, helper);
+ }
+ } else {
+ if(UseProduct3Name==''){
+ helper.hideSearchUseProduct3s(component, event, helper);
+ }else{
+ helper.hideSearchUseProduct3(component, event, helper);
+ }
+ }
+ },
+ seletUseProduct3Change : function(component, event, helper) {
+ helper.seletUseProduct3Change(component, event, helper);
+ },
+
+
+ select_department : function(component, event, helper) {
+ helper.setOpportunity_cfilter(component);
+ },
+ doctor_change : function(component, event, helper) {
+ helper.doctor_change(component, event, helper);
+ },
+ stageNameChange : function(component, event, helper) {
+ helper.stageNameChange(component, event, helper);
+ },
+ onDragOver : function(component, event, helper) {
+ event.preventDefault();
+ },
+
+ onDrop : function(component, event, helper) {
+ event.stopPropagation();
+ event.preventDefault();
+ event.dataTransfer.dropEffect='copy';
+ var files=event.dataTransfer.files;
+ helper.readFile(component,helper,files[0]);
+ },
+ CreateRecord : function(component, event, helper){
+ var files = event.getSource().get("v.files");
+ helper.readFile(component,helper,files[0]);
+ },
+
+ processFileContent : function(component,event,helper){
+ helper.saveRecords(component,event,helper);
+ },
+
+ cancel : function(component,event,helper){
+ component.set("v.showMain",true);
+ },
+
+ import : function(component,event,helper){
+ helper.showImport(component);
+ },
+ exportDate : function(component,event,helper){
+ var stockData = component.get("v.reports_date");
+ console.log('瀵煎嚭鏁版嵁'+stockData);
+ var csv = helper.convertArrayOfObjectsToCSV(component,stockData);
+ if (csv == null){return;}
+
+ var universalBOM = "\uFEFF";
+ var hiddenElement = document.createElement('a');
+ hiddenElement.href = 'data:text/csv;charset=utf-8,' + encodeURI(universalBOM+csv);
+ hiddenElement.target = '_self'; //
+ hiddenElement.download = 'ExportData.csv'; // CSV file Name* you can change it.[only name not .csv]
+ document.body.appendChild(hiddenElement); // Required for FireFox browser
+ hiddenElement.click(); // using click() js function to download csv file
+
+ },
+ export_condition : function(component,event,helper){
+ helper.showExport(component);
+ },
+
+ select_repores_date : function(component,event,helper){
+ helper.select_repores_date(component,event,helper);
+ },
+ export : function(component,event,helper){
+ console.log('杩涘叆export');
+ var stockData = component.get("v.reports_date");
+ console.log('鏌ュ嚭鐨勬暟鎹�'+stockData);
+ },
+ close_import : function(component,event,helper){
+ component.set("v.showMain",true);
+ helper.close_import(component);
+ },
+ close_export : function(component,event,helper){
+ component.set("v.showMain",true);
+ helper.close_export(component);
+ },
+ select_ConsumptionOfConsumables : function(component,event,helper){
+ helper.select_ConsumptionOfConsumables(component,event,helper);
+ },
+ select_purpose_type : function(component,event,helper){
+ helper.selectPurposeType(component,event,helper);
+ },
+ select_warlocksNumber : function(component,event,helper){
+ helper.select_warlocksNumber(component,event,helper);
+ },
+ selectProductClassification : function(component,event,helper){
+ helper.selectProductClassification(component,event,helper);
+ },
+ selectpurposetype : function(component,event,helper){
+ helper.selectpurposetype(component,event,helper);
+ },
+ return_main_page: function(component,event,helper){
+ window.open('/customer/','_self');
+ }
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/RetrospectiveWeeklyReport/RetrospectiveWeeklyReportHelper.js b/force-app/main/default/aura/RetrospectiveWeeklyReport/RetrospectiveWeeklyReportHelper.js
new file mode 100644
index 0000000..b3fc46d
--- /dev/null
+++ b/force-app/main/default/aura/RetrospectiveWeeklyReport/RetrospectiveWeeklyReportHelper.js
@@ -0,0 +1,2569 @@
+({
+ doinit: function (component, event, helper) {
+ debugger
+ this.report_date_list(component, event, helper, 5);
+ component.set('v.login', true);
+ var action = component.get('c.getalldata');
+ action.setCallback(this, function (response) {
+ var state = response.getState();
+ if (state == 'SUCCESS') {
+ var res = response.getReturnValue();
+ component.set('v.alldata', res.reports);
+ component.set('v.fieldsmap', res.fieldsMap);
+ component.set('v.allselectlist', res.allselectlist);
+ component.set('v.doclist', res.doclist);
+ //fy
+ debugger
+ var xx=res.UserProType;
+ component.set('v.UserProType', res.UserProType);
+ var gg=component.get('v.UserProType');
+ //fy
+ component.find('select_agency_person').set('v.options', this.conv_selected(res.allselectlist.AgencyPerson__c));
+ component.find('select_DealerPersonnel').set('v.options', this.conv_selected(res.allselectlist.DealerPersonnel__c));
+ component.find('select_purpose_type').set('v.options', this.conv_selected(res.allselectlist.WorkRecord__c));
+ component.find('select_ProductClassification').set('v.options', this.conv_selected(res.allselectlist.ProductClassification__c));
+ component.find('select_stageName').set('v.options', this.conv_selected(res.allselectlist.StageName__c));
+ component.set('v.selected_agency_person', res.allselectlist.AgencyPerson__c[0].label);
+ component.set('v.dialog_type', '鏂板缓');
+ this.get_reports(component, event, helper, component.find('select_date').get('v.value'), component.find('select_agency_person').get('v.value'));
+
+ component.set('v.PIConfig', res.PIConfig);// 20220222 PI鏀归�� by Bright
+ component.set('v.login', false);
+ }
+ else {
+ component.set('v.errorMessage', 'doinit failed.');
+ this.showErrorToast(component);
+ component.set('v.login', false);
+ }
+ });
+ $A.enqueueAction(action);
+ },
+ //鍏朵粬鍝佺墝浜у搧绫诲埆 涓嬫媺妗嗚祴鍊�
+ selectProductCcategory : function(component){
+ var select_ProductClassification = component.find('select_ProductClassification').get('v.value');
+ if(select_ProductClassification != ''){
+ var action = component.get('c.selectProductCcategory');
+ action.setCallback(this,function( response){
+ var state = response.getState();
+ if (state == 'SUCCESS') {
+ var res = response.getReturnValue();
+ component.find('select_ProductCcategory').set('v.options', JSON.parse(JSON.stringify(res)));
+ }
+ });
+ $A.enqueueAction(action);
+ }else{
+ component.find('select_ProductCcategory').set('v.options', []);
+ }
+ },
+ //鏍规嵁鍛ㄥ拰鎷呭綋鏌ヨ鏁版嵁缁欏垵濮嬮〉闈㈣祴鏁版嵁
+ get_reports: function (component, event, helper, date_str, person_str) {
+ if (!date_str) {
+ return false;
+ }
+
+ if(person_str){
+ var person_str2= person_str.split(';');
+ if(person_str2.length>1){
+ person_str=person_str2[0];
+ }
+ }
+ date_str = this.get_date_string(date_str);
+ var action = component.get('c.getReports');
+ action.setParams({
+ "date_str": date_str,
+ "person_str": person_str,
+ });
+ component.set('v.login', true);
+ action.setCallback(this, function (response) {
+ debugger
+ var state = response.getState();
+ if (state == 'SUCCESS') {
+ var res = response.getReturnValue();
+ component.set('v.reports', res.reports);
+ component.set('v.report_count', res.reports.length);
+ // 鏇存柊淇濆瓨寰屻伄select_data鐢�
+ var report_id = component.get('v.update_select_report_data_id');
+ if (report_id != "") {
+ for (var i = 0; i < res.reports.length; i++) {
+ if (res.reports[i]['Id'] == report_id) {
+ component.set('v.select_report_data', res.reports[i]);
+ break;
+ }
+ }
+ component.set('v.update_select_report_data_id', '');
+ }
+ if (res.reports.length > 0) {
+ component.set('v.list_message', '');
+ var flag2=res.reports.length;
+ //fy 20220414 start
+ var report1 =[];
+ var report2 =[];
+ res.reports.forEach(item => {
+ if((item.WorkRecord__c == '绉戝浼�'&&item.doctor3__c != undefined)||
+ ((item.doctor3__c == undefined||item.doctor3__c == ''||item.doctor3__c=="")
+ && (item.doctor2__r== undefined||item.doctor2__r==''||item.doctor2__r==""))){
+ report1.push(item);
+ }else{
+ report2.push(item);
+ }
+ });
+ res.reports=report2;
+ //fy 20220414 end
+ // PI 鏀归�� By Bright 20220328
+ if(true){
+ let doctor_awsids = res.reports.map(function(d){return d.doctor2__r.AWS_Data_Id__c;});
+ let PIConfig = component.get('v.PIConfig');
+ let staticResourceAgencyContact = JSON.parse(PIConfig.staticResourceAgencyContact);
+ if(doctor_awsids.length > 0){
+ AWSService.search(staticResourceAgencyContact.searchUrl,{
+ dataIds:doctor_awsids
+ }, function(data){
+ if(data && data.object && data.object.length){
+ let m = {};
+ for(let di in data.object){
+ if(data.object[di] && data.object[di].dataId){
+ m[data.object[di].dataId] = data.object[di];
+ }
+ }
+ debugger
+ for(let ri in res.reports){
+ if(res.reports[ri] && res.reports[ri].doctor2__r && res.reports[ri].doctor2__r.AWS_Data_Id__c && m.hasOwnProperty(res.reports[ri].doctor2__r.AWS_Data_Id__c)){
+ res.reports[ri].doctor2__r.awsdata = m[res.reports[ri].doctor2__r.AWS_Data_Id__c];
+ }
+ }
+ component.set('v.reports', res.reports);
+ component.set('v.report_count', res.reports.length);
+ }
+ //fy 20220414 start
+ var reports3=component.get('v.reports');
+ if(reports3.length<flag2){
+ res.reports = [...report1, ...reports3];
+ component.set('v.reports', res.reports);
+ component.set('v.report_count', res.reports.length);
+ }
+ //fy 20220414 end
+ component.set('v.login', false);
+ }, staticResourceAgencyContact.token);
+ }else{
+ component.set('v.login', false);
+ }
+ }
+ } else {
+ component.set('v.list_message', 'no_data');
+ component.set('v.login', false);
+ }
+
+ }
+ else {
+ component.set('v.errorMessage', 'get_reports failed.');
+ this.showErrorToast(component);
+ component.set('v.login', false);
+ }
+ });
+ $A.enqueueAction(action);
+ },
+ //澶嶅埗鎸夐挳鍙樼伆鑹�
+ select_date_change: function (component, event, helper) {
+ this.get_reports(component, event, helper, component.find('select_date').get('v.value'), component.find('select_agency_person').get('v.value'));
+ component.set('v.select_report_data_radio', '');
+ component.find('copy_button').set('v.disabled', true);
+ component.find('delete_button').set('v.disabled', true);
+ },
+
+ select_agency_change: function (component, event, helper) {
+ var select_value = component.find('select_agency_person').get('v.value');
+ var new_label = this.get_agency_person_name(component, select_value);
+ component.set('v.selected_agency_person', new_label);
+ this.get_reports(component, event, helper, component.find('select_date').get('v.value'), select_value);
+ component.set('v.select_report_data_radio', '');
+ component.find('copy_button').set('v.disabled', true);
+ component.find('delete_button').set('v.disabled', true);
+ },
+
+ get_agency_person_name: function (component, agency_person_value) {
+ var allselectlist = component.get('v.allselectlist.AgencyPerson__c');
+ var new_label = '';
+ for (var i = 0; i < allselectlist.length; i++) {
+ if (agency_person_value == allselectlist[i].value) {
+ new_label = allselectlist[i].label;
+ break;
+ }
+ }
+ return new_label;
+ },
+ //澶嶅埗鍜岀紪杈戝洖鏄剧殑浣嶇疆
+ toggle_report: function (component) {
+ debugger
+ var modal_window = component.find('modal_window');
+ var modal_bg = component.find('modal_bg');
+ if ($A.util.hasClass(modal_window, 'disp_none')) {
+ // OPEN
+ $A.util.removeClass(modal_window, 'disp_none');
+ $A.util.removeClass(modal_bg, 'disp_none');
+ //澶嶅埗 鍜岀紪杈� 鍥炴樉闂鍦ㄨ繖閲岄潰
+ if (component.get('v.mode') == 'edit' || component.get('v.mode') == 'copy') {
+ var select_data = '';
+ if (component.get('v.mode') == 'edit') {
+ select_data = component.get('v.select_report_data');
+ } else if (component.get('v.mode') == 'copy') {
+ select_data = component.get('v.select_report_data_radio');
+ }
+ var reports = component.get('v.reports');
+ var Agency_Hospital_text = '';
+ var Agency_Hospital_parent_id = '';
+ // 鍖婚櫌鍚�
+ if (select_data['Agency_Hospital__c'] != '') {
+ for (var i = 0; i < reports.length; i++) {
+ if (reports[i]['Agency_Hospital__c'] == select_data['Agency_Hospital__c']) {
+ Agency_Hospital_text = reports[i]['Agency_Hospital__r']['Name'];
+ Agency_Hospital_parent_id = reports[i]['Agency_Hospital__r']['Hospital__c'];
+ }
+ }
+ component.set('v.hospital', Agency_Hospital_text);
+ component.set('v.hospitalId', Agency_Hospital_parent_id);
+ component.set('v.hospitalLinkId', select_data['Agency_Hospital__c']);
+ component.find('new_con').set('v.disabled', false);
+ }
+ //浣跨敤浜у搧1(浜у搧鍨嬪彿)
+ var UseProduct1Text = '';
+ var UseProduct1Id = '';
+ if (select_data['UseProduct1__c'] != '' && select_data['UseProduct1__c'] != undefined) {
+ for (var i = 0; i < reports.length; i++) {
+ if (reports[i]['UseProduct1__c'] == select_data['UseProduct1__c']) {
+ UseProduct1Text = reports[i]['UseProduct1__r']['Asset_Model_No__c'];
+ UseProduct1Id = reports[i]['UseProduct1__c'];
+ }
+ }
+ component.set('v.UseProduct1', UseProduct1Text);
+ component.set('v.UseProduct1Id', select_data['UseProduct1__c']);
+ }
+ //浣跨敤浜у搧2
+ var UseProduct2Text = '';
+ var UseProduct2Id = '';
+ if (select_data['UseProduct2__c'] != ''&&select_data['UseProduct2__c'] != undefined) {
+ for (var i = 0; i < reports.length; i++) {
+ if (reports[i]['UseProduct2__c'] == select_data['UseProduct2__c']) {
+ UseProduct2Text = reports[i]['UseProduct2__r']['Asset_Model_No__c'];
+ UseProduct2Id = reports[i]['UseProduct2__c'];
+ }
+ }
+ component.set('v.UseProduct2', UseProduct2Text);
+ component.set('v.UseProduct2Id', select_data['UseProduct2__c']);
+ }
+ //浣跨敤浜у搧3
+ var UseProduct3Text = '';
+ var UseProduct3Id = '';
+ if (select_data['UseProduct3__c'] != ''&&select_data['UseProduct3__c'] != undefined) {
+ for (var i = 0; i < reports.length; i++) {
+ if (reports[i]['UseProduct3__c'] == select_data['UseProduct3__c']) {
+ UseProduct3Text = reports[i]['UseProduct3__r']['Asset_Model_No__c'];
+ UseProduct3Id = reports[i]['UseProduct3__c'];
+ }
+ }
+ component.set('v.UseProduct3', UseProduct3Text);
+ component.set('v.UseProduct3Id', select_data['UseProduct3__c']);
+ }
+ //娲诲姩鏃�
+ var reportDate;
+ if (select_data['Report_Date__c'] != '') {
+ for (var i = 0; i < reports.length; i++) {
+ if (reports[i]['Report_Date__c'] == select_data['Report_Date__c']) {
+ reportDate = reports[i]["Report_Date__c"];
+ }
+ }
+ component.set('v.data.Report_Date__c', reportDate);
+ }
+ // 绉戝
+ // if (select_data['Department_Cateogy__c'] != '') {
+ // component.find('select_department').set('v.value',select_data['Department_Cateogy__c']);
+ // }
+ //fy Department_Cateogy_text__c
+ if (select_data['Department_Cateogy_text__c'] != '') {
+ component.find('select_department').set('v.value',select_data['Department_Cateogy_text__c']);
+ }
+ //缁忛攢鍟嗕汉鍛�
+ if (select_data['DealerPersonnel__c'] != '') {
+ this.set_selected(component, 'select_DealerPersonnel', select_data['DealerPersonnel__c']);
+ }
+ // 娲诲姩鍖哄垎
+ if (select_data['WorkRecord__c'] != '') {
+ this.set_selected(component, 'select_purpose_type', select_data['WorkRecord__c']);
+ this.selectPurposeType(component);
+ }
+ // 鎷滆浜�
+ if(select_data['WorkRecord__c'] == '绉戝浼�'){
+ component.set('v.default_select_doctor_id2', select_data['doctor3__c']);
+ var a =component.get('v.default_select_doctor_id2');
+ this.set_doctor_list(component);
+ }else{
+ component.set('v.default_select_doctor_id', select_data['doctor2__c']);
+ this.set_doctor_list(component);
+ }
+ //浜у搧鍒嗙被(绗笁鍒嗙被)
+ if (select_data['ProductClassification__c'] != null) {
+ this.set_selected(component, 'select_ProductClassification', select_data['ProductClassification__c']);
+ this.selectProductClassification(component);
+ }
+ // 浜у搧1鍚岀被鑰楁潗绉戝鏈堜娇鐢ㄩ噺
+ if (select_data['ConsumptionOfConsumables__c'] != '') {
+ component.find('select_ConsumptionOfConsumables').set('v.value',select_data['ConsumptionOfConsumables__c']);
+ }
+ // 浜у搧鐢ㄩ噺
+ if (select_data['warlocksNumber__c'] != '') {
+ component.find('select_warlocksNumber').set('v.value',select_data['warlocksNumber__c']);
+ }
+ // 鏀彺闇�姹�
+ if (select_data['WorkMark__c'] != false) {
+ component.find('select_WorkMark').set('v.checked',select_data['WorkMark__c']);
+ }
+ debugger;
+
+ var report_id = component.get('v.edit_copy_select_report_id');
+ if (report_id != "") {
+ var select_EffectProgress1 = '';
+ var WarlockClassification = '';
+ var ProductCcategory = '';
+ var productCategories = '';
+ var i = 0;
+ for (i = 0; i < reports.length; i++) {
+ if (report_id == reports[i]["Id"]) {
+ select_EffectProgress1 = reports[i]["EffectProgress__c"];
+ WarlockClassification = reports[i]["WarlockClassification__c"];
+ ProductCcategory = reports[i]["ProductCcategory__c"];
+ productCategories = reports[i]["productCategories__c"];
+ break;
+ }
+ }
+ //鏁堟灉/杩涘害
+ if (select_EffectProgress1 != null && select_EffectProgress1 != '') {
+ component.find('select_EffectProgress').set('v.value', select_EffectProgress1);
+ }
+ //鏈+鍒嗙被
+ if (WarlockClassification != null && WarlockClassification != '') {
+ component.find('select_OtherBrandConsumables').set('v.value', WarlockClassification);
+ }
+ //宸查噰鐢ㄥ叾浠栧搧鐗�
+ if (ProductCcategory != null && ProductCcategory != '') {
+ component.find('select_ProductCcategory').set('v.value', ProductCcategory);
+ this.selectpurposetype(component);
+ }
+ //鍏朵粬鍝佺墝浜у搧绫诲埆
+ if (productCategories != null && productCategories != '') {
+ component.find('select_productCategories').set('v.value', productCategories);
+ }
+ component.set('v.edit_copy_select_report_id', "");
+ }
+ }
+ } else {
+ var select_report_data = component.get('v.select_report_data');
+ var Report_Date__c = component.get('v.data.Report_Date__c');
+ var Agency_Hospital__c = component.get('v.hospitalLinkId');
+ var UseProduct1__c = component.get('v.UseProduct1Id');
+ var UseProduct2__c = component.get('v.UseProduct2Id');
+ var UseProduct3__c = component.get('v.UseProduct3Id');
+ var Department_Cateogy__c = component.find('select_department').get('v.value');
+ var ConsumptionOfConsumables__c = component.find('select_ConsumptionOfConsumables').get('v.value');
+ var DealerPersonnel__c = component.find('select_DealerPersonnel').get('v.value');
+ var doctor2__c = component.find('select_doctor').get('v.value');
+ var WorkRecord__c = component.find('select_purpose_type').get('v.value');
+ var EffectProgress__c = component.find('select_EffectProgress').get('v.value');
+ var WarlockClassification__c = component.find('select_OtherBrandConsumables').get('v.value');
+ var ProductCcategory__c = component.find('select_ProductCcategory').get('v.value');
+ var productCategories__c = component.find('select_productCategories').get('v.value');
+ var warlocksNumber__c = component.find('select_warlocksNumber').get('v.value');
+ var WorkMark__c = component.find('select_WorkMark').get('v.checked');
+ if (component.get('v.mode') == 'new') {
+ var confirm_title = '璀﹀憡!'
+ var confirm_text = '鏀惧純鏂板缓鏃ユ姤锛�';
+ if (!Report_Date__c &&
+ !Agency_Hospital__c &&
+ !UseProduct1__c &&
+ !UseProduct2__c &&
+ !UseProduct3__c &&
+ !Department_Cateogy__c &&
+ !ConsumptionOfConsumables__c &&
+ !DealerPersonnel__c &&
+ !doctor2__c &&
+ !EffectProgress__c &&
+ !WarlockClassification__c &&
+ !ProductCcategory__c &&
+ !productCategories__c &&
+ !warlocksNumber__c &&
+ !WorkMark__c &&
+ !WorkRecord__c
+ ) {
+ this.allclear(component);
+ $A.util.addClass(modal_window, 'disp_none');
+ $A.util.addClass(modal_bg, 'disp_none');
+ this.close_confirm(component, confirm_title, confirm_text);
+ } else {
+ this.close_confirm(component, confirm_title, confirm_text);
+ }
+ } else if (component.get('v.mode') == 'copy') {
+ var confirm_title = '璀﹀憡!'
+ var confirm_text = '鏀惧純鏂板缓鏃ユ姤锛�';
+ if (select_report_data['Report_Date__c'] == Report_Date__c &&
+ select_report_data['Agency_Hospital__c'] == Agency_Hospital__c &&
+ select_report_data['UseProduct1__c'] == UseProduct1__c &&
+ select_report_data['UseProduct2__c'] == UseProduct2__c &&
+ select_report_data['UseProduct3__c'] == UseProduct3__c &&
+ select_report_data['Department_Cateogy__c'] == Department_Cateogy__c &&
+ select_report_data['ConsumptionOfConsumables__c'] == ConsumptionOfConsumables__c &&
+ select_report_data['DealerPersonnel__c'] == DealerPersonnel__c &&
+ select_report_data['doctor2__c'] == doctor2__c &&
+ select_report_data['EffectProgress__c'] == EffectProgress__c &&
+ select_report_data['WarlockClassification__c'] == WarlockClassification__c &&
+ select_report_data['ProductCcategory__c'] == ProductCcategory__c &&
+ select_report_data['productCategories__c'] == productCategories__c &&
+ select_report_data['warlocksNumber__c'] == warlocksNumber__c &&
+ select_report_data['WorkMark__c'] == WorkMark__c &&
+ select_report_data['WorkRecord__c'] == WorkRecord__c ) {
+ this.allclear(component);
+ $A.util.addClass(modal_window, 'disp_none');
+ $A.util.addClass(modal_bg, 'disp_none');
+ } else {
+ this.close_confirm(component, confirm_title, confirm_text);
+ }
+ } else if (component.get('v.mode') == 'edit') {
+ var confirm_title = '璀﹀憡!'
+ var confirm_text = '鏀惧純缂栬緫鏃ユ姤锛�';
+ if (select_report_data['Report_Date__c'] == Report_Date__c &&
+ select_report_data['Agency_Hospital__c'] == Agency_Hospital__c &&
+ select_report_data['UseProduct1__c'] == UseProduct1__c &&
+ select_report_data['UseProduct2__c'] == UseProduct2__c &&
+ select_report_data['UseProduct3__c'] == UseProduct3__c &&
+ select_report_data['Department_Cateogy__c'] == Department_Cateogy__c &&
+ select_report_data['ConsumptionOfConsumables__c'] == ConsumptionOfConsumables__c &&
+ select_report_data['DealerPersonnel__c'] == DealerPersonnel__c &&
+ select_report_data['doctor2__c'] == doctor2__c &&
+ select_report_data['EffectProgress__c'] == EffectProgress__c &&
+ select_report_data['WarlockClassification__c'] == WarlockClassification__c &&
+ select_report_data['ProductCcategory__c'] == ProductCcategory__c &&
+ select_report_data['productCategories__c'] == productCategories__c &&
+ select_report_data['warlocksNumber__c'] == warlocksNumber__c &&
+ select_report_data['WorkMark__c'] == WorkMark__c &&
+ select_report_data['WorkRecord__c'] == WorkRecord__c ) {
+ this.allclear(component);
+ $A.util.addClass(modal_window, 'disp_none');
+ $A.util.addClass(modal_bg, 'disp_none');
+ } else {
+ this.close_confirm(component, confirm_title, confirm_text);
+ }
+ }
+ }
+ },
+ //鍏抽棴椤甸潰鏄� 灏忕殑鎻愮ず妗嗘槸鍚︽斁寮冩柊寤烘棩鎶�
+ close_confirm: function (component, title, text) {
+ var confirm_status = component.get('v.confirm_status');
+ component.set('v.modal_confirm_title', title);
+ component.set('v.modal_confirm_text', text);
+ var modal_window = component.find('modal_window');
+ var modal_bg = component.find('modal_bg');
+ var modal_confirm = component.find('modal_confirm');
+ var modal_confirm_bg = component.find('modal_confirm_bg');
+ debugger
+ if (confirm_status == 0) {
+ $A.util.addClass(modal_window, 'disp_none');
+ $A.util.addClass(modal_bg, 'disp_none');
+ $A.util.removeClass(modal_confirm, 'disp_none');
+ $A.util.removeClass(modal_confirm_bg, 'disp_none');
+ } else if (confirm_status == 1) {
+ // 鏄�
+ $A.util.addClass(modal_confirm, 'disp_none');
+ $A.util.addClass(modal_confirm_bg, 'disp_none');
+ component.set('v.mode', '');
+ this.allclear(component);
+ component.set('v.reports_now', "");
+ component.set('v.reports_now_count', 0);
+ component.set('v.confirm_status', 0);
+ } else if (confirm_status == 2) {
+ // 鍚�
+ $A.util.removeClass(modal_window, 'disp_none');
+ $A.util.removeClass(modal_bg, 'disp_none');
+ $A.util.addClass(modal_confirm, 'disp_none');
+ $A.util.addClass(modal_confirm_bg, 'disp_none');
+ component.set('v.confirm_status', 0);
+ }
+ },
+ //鏂板缓鎸夐挳
+ new_report: function (component, event, helper) {
+
+ component.set('v.mode', 'new');
+ component.set('v.dialog_type', '鏂板缓');
+ // 鍛�
+ var select_date = component.find('select_date').get('v.value');
+ // 鎷呭綋
+ var select_agency = component.find('select_agency_person').get('v.value');
+ var cm = 0;
+ if(select_agency.indexOf(";") != -1){
+ select_agency = select_agency.split(";")[0];
+ }
+ component.set('v.selected_date', select_date);
+ // 鎷呭綋
+ var name = component.get('v.selected_agency_person');
+ var ret = this.create_report_header(component, event, helper, name, select_agency, select_date);
+ component.set('v.default_select_doctor_id2', '');
+
+ // SWAG-CF58C3 fy start
+ this.set_aws_url(component,'Agency_Contact__c')
+ // SWAG-CF58C3 fy end
+ },
+ // 澶嶅埗鎸夐挳
+ copy_button: function (component, event, helper) {
+ debugger
+ this.allclear(component);
+ component.set('v.mode', 'copy');
+ component.set('v.dialog_type', '鏂板缓');
+ var select_report_data = component.get('v.select_report_data_radio');
+ component.set('v.loadOpp', true);
+ // 閫�
+ var now = new Date();
+ var start_day = new Date(now.getFullYear(), now.getMonth(), (now.getDate() - now.getDay() + 1));
+ var select_date = start_day.getFullYear() + '/' + (start_day.getMonth() + 1) + '/' + start_day.getDate();
+ this.set_selected(component, 'select_date', select_date);
+ component.set('v.selected_date', select_date);
+ // 鎷呭綋
+ var select_agency = select_report_data['Person_In_Charge2__c'];
+ var new_label = this.get_agency_person_name(component, select_agency);
+ component.set('v.selected_agency_person', new_label);
+ this.set_selected(component, 'select_agency_person', select_agency);
+ var name = component.get('v.selected_agency_person');
+ component.set('v.edit_copy_select_report_id', select_report_data['Id']);
+ component.set('v.select_report_data', select_report_data);
+
+ var ret = this.create_report_header(component, event, helper, name, select_agency, select_date);
+ // SWAG-CF58C3 fy start
+ this.set_aws_url(component,'Agency_Contact__c')
+ // SWAG-CF58C3 fy end
+
+ },
+ //鍒犻櫎鎸夐挳
+ delete_button: function (component, event, helper) {
+ debugger
+ var select_report_data = component.get('v.select_report_data_radio');
+ if(confirm('鏄惁鍒犻櫎璇ユ暟鎹紵')){
+ debugger
+ component.set('v.login', true);
+ var action = component.get('c.deleteAgencyReport');
+ action.setParams({
+ "agencyReport_id": select_report_data.Id,
+ });
+ action.setCallback(this, function (response) {
+ var state = response.getState();
+ if (state == 'SUCCESS') {
+ var result = response.getReturnValue();
+ if(result=='success'){
+ this.select_agency_change(component, event, helper);
+ }
+ component.set('v.login', false);
+ }else {
+ component.set('v.login', false);
+ }
+ });
+ $A.enqueueAction(action);
+ }
+ },
+ //澶嶅埗鎸夐挳鍙敤
+ change_report_radio: function (component, event, helper) {
+ debugger
+ var reports = component.get('v.reports');
+ for (var i = 0; i < reports.length; i++) {
+ if (reports[i].Name == event.getSource().get('v.label')) {
+ component.set('v.select_report_data_radio', reports[i]);
+ component.find('copy_button').set('v.disabled', false);
+ component.find('delete_button').set('v.disabled', false);
+ break;
+ }
+ }
+ },
+ //缂栬緫鎸夐挳
+ edit_button: function (component, event, helper) {
+ this.allclear(component);
+ debugger
+ component.set('v.loadOpp', true);
+ var index = event.getSource().get('v.value');
+ component.set('v.select_report_data', component.get('v.reports')[index]);
+ component.set('v.mode', 'edit');
+ component.set('v.dialog_type', '缂栬緫');
+ var select_date = component.get('v.reports')[index].Submit_date__c;
+ var select_agency = component.get('v.reports')[index].Person_In_Charge2__c;
+ var text_tmp = select_date.split('-');
+ var select_date_text = text_tmp[0] + '/' + Number(text_tmp[1]) + '/' + Number(text_tmp[2]);
+ component.set('v.selected_date', select_date_text);
+ var name = component.get('v.reports')[index].Person_In_Charge2__r.Name;
+ this.set_selected(component, 'select_agency_person', select_agency);
+ var new_label = this.get_agency_person_name(component, select_agency);
+ component.set('v.selected_agency_person', new_label);
+ component.set('v.edit_copy_select_report_id', component.get('v.reports')[index].Id);
+ var ret = this.create_report_header(component, event, helper, name, select_agency, select_date);
+ // SWAG-CF58C3 fy start
+ this.set_aws_url(component,'Agency_Contact__c')
+ // SWAG-CF58C3 fy end
+ },
+ //淇濆瓨
+ save_report: function (component, event, helper) {
+ var UserProType = component.get('v.UserProType');
+ component.find('save_button').set('v.disabled', true);
+ var etEng = component.get('v.etEng');
+ var Report_Date__c = component.get('v.data.Report_Date__c');
+ var Person_In_Charge2__c = "";
+ var Submit_date__c = "";
+ if (component.get('v.mode') == 'edit') {
+ // 鍛� Submit_date__c
+ Submit_date__c = component.get('v.select_report_data').Submit_date__c;
+ // 鎷呭綋 Person_In_Charge2__c
+ Person_In_Charge2__c = component.get('v.select_report_data').Person_In_Charge2__c;
+ } else {
+ // 鍛� Submit_date__c
+ Submit_date__c = this.get_date_string(component.find('select_date').get('v.value'));
+ // 鎷呭綋 Person_In_Charge2__c
+ Person_In_Charge2__c = component.find('select_agency_person').get('v.value');
+ }
+ debugger
+ // Agency_Report_Header__c
+ var Agency_Report_Header__c = component.get('v.agency_report_header_id');
+ // 鍖婚櫌
+ var Agency_Hospital__c = component.get('v.hospitalLinkId');
+ // 浜у搧鍒嗙被(绗笁鍒嗙被)
+ var ProductClassification__c = component.find('select_ProductClassification').get('v.value');
+ // 浣跨敤浜у搧1(浜у搧鍨嬪彿) UseProduct1__c
+ var UseProduct1__c = component.get('v.UseProduct1Id');
+ // 浣跨敤浜у搧2 UseProduct2__c
+ var UseProduct2__c = component.get('v.UseProduct2Id');
+ // 浣跨敤浜у搧3 UseProduct3__c
+ var UseProduct3__c = component.get('v.UseProduct3Id');
+ // 绉戝 Department_Cateogy__c
+ var Department_Cateogy__c = component.find('select_department').get('v.value');
+ // 缁忛攢鍟嗕汉鍛� DealerPersonnel__c
+ var DealerPersonnel__c = component.find('select_DealerPersonnel').get('v.value');
+ // 鎷滆浜� doctor2__c
+ var doctor2__c = component.find('select_doctor').get('v.value');
+ // 娲诲姩鍖哄垎浼� WorkRecord__c
+ var WorkRecord__c = component.find('select_purpose_type').get('v.value');
+ // 鏁堟灉/杩涘害 EffectProgress__c
+ var EffectProgress__c = component.find('select_EffectProgress').get('v.value');
+ // alert(EffectProgress__c);
+ // 绉戝鍚屾潵鑰楁潗鏈堜娇鐢ㄩ噺 ConsumptionOfConsumables__c
+ var ConsumptionOfConsumables__c = component.find('select_ConsumptionOfConsumables').get('v.value');
+ // 鏈+鍒嗙被 WarlockClassification__c
+ var WarlockClassification__c = component.find('select_OtherBrandConsumables').get('v.value');
+ // 宸查噰鐢ㄥ叾浠栧搧鐗� ProductCcategory__c
+ var ProductCcategory__c = component.find('select_ProductCcategory').get('v.value');
+ // 鍏朵粬鍝佺墝浜у搧绫诲埆 productCategories__c
+ var productCategories__c = component.find('select_productCategories').get('v.value');
+ // 浜у搧鐢ㄩ噺 warlocksNumber__c
+ var warlocksNumber__c = component.find('select_warlocksNumber').get('v.value');
+ // 鏀彺闇�姹� WorkMark__c
+ var WorkMark__c = component.find('select_WorkMark').get('v.checked');
+ var StageName__c = component.find('select_stageName').get('v.value');
+ var Amount__c = component.get('v.oppdata.Amount__c') != null ? component.get('v.oppdata.Amount__c').toString() : '';
+ var OCMSale_Price__c = component.get('v.oppdata.OCMSale_Price__c') != null ? component.get('v.oppdata.OCMSale_Price__c').toString() : '';
+ var Close_Forecasted_Date__c = component.get('v.oppdata.Close_Forecasted_Date__c');
+ var StageName__c_o = component.get('v.StageName__c_o');
+ var Amount__c_o = component.get('v.Amount__c_o');
+ var OCMSale_Price__c_o = component.get('v.OCMSale_Price__c_o');
+ var Close_Forecasted_Date__c_o = component.get('v.Close_Forecasted_Date__c_o');
+ if (StageName__c_o == undefined) StageName__c_o = '';
+ if (Amount__c_o == undefined) Amount__c_o = '';
+ if (OCMSale_Price__c_o == undefined) OCMSale_Price__c_o = '';
+ if (Close_Forecasted_Date__c_o == undefined) Close_Forecasted_Date__c_o = '';
+ if (StageName__c == StageName__c_o && OCMSale_Price__c_o == OCMSale_Price__c && Amount__c == Amount__c_o && Close_Forecasted_Date__c == Close_Forecasted_Date__c_o) {
+ StageName__c = '';
+ Amount__c = '';
+ OCMSale_Price__c = '';
+ Close_Forecasted_Date__c = '';
+ }
+ // 銉愩儶銉囥兗銈枫儳銉�
+ var error = [];
+ //fy start
+ // if(WorkRecord__c != 'SIS'&&WorkRecord__c != '绉戝浼�'){
+ if(WorkRecord__c == '涓村簥淇℃伅(浣跨敤閲�)鏀堕泦'){
+ if (warlocksNumber__c==''||warlocksNumber__c==""||warlocksNumber__c==undefined) { error.push("浜у搧鐢ㄩ噺 涓嶈兘涓虹┖"); }
+ }
+ //fy end
+ if(WorkRecord__c == '涓村簥淇℃伅(浣跨敤閲�)鏀堕泦'&&UserProType=='ENG'){
+ if (productCategories__c==''||productCategories__c==""||productCategories__c==undefined) { error.push("鍏朵粬鍝佺墝浜у搧绫诲埆 涓嶅瓨鍦�"); }
+ }
+ if(WorkRecord__c == '涓村簥淇℃伅(浣跨敤閲�)鏀堕泦'){
+ if (ProductCcategory__c==''||ProductCcategory__c==""||ProductCcategory__c==undefined) { error.push("宸查噰鐢ㄥ叾浠栧搧鐗� 涓嶅瓨鍦�"); }
+ }
+ if(WorkRecord__c == '涓村簥淇℃伅(浣跨敤閲�)鏀堕泦'){
+ if (WarlockClassification__c==''||WarlockClassification__c==""||WarlockClassification__c==undefined) { error.push("浜у搧1瀵瑰簲OLY浜у搧绾� 涓嶅瓨鍦�"); }
+ }
+ if(WorkRecord__c == '涓村簥淇℃伅(浣跨敤閲�)鏀堕泦'){
+ if (ConsumptionOfConsumables__c==''||ConsumptionOfConsumables__c==""||ConsumptionOfConsumables__c==undefined) { error.push("浜у搧1鍚岀被鑰楁潗绉戝鏈堜娇鐢ㄩ噺 涓嶈兘涓虹┖"); }
+ }
+ if(WorkRecord__c != '涓村簥淇℃伅(浣跨敤閲�)鏀堕泦'&&WorkRecord__c != '甯傚満鎺ㄥ箍绫绘椿鍔�'){
+ if (EffectProgress__c==''||EffectProgress__c==""||EffectProgress__c==undefined) { error.push("鏁堟灉/杩涘害 涓嶅瓨鍦�"); }
+ }
+ // if(WorkRecord__c != '涓村簥淇℃伅(浣跨敤閲�)鏀堕泦'&&WorkRecord__c != 'QIS澶勭悊'){
+ if(WorkRecord__c != '涓村簥淇℃伅(浣跨敤閲�)鏀堕泦'){
+ if (UseProduct1__c==''||UseProduct1__c==""||UseProduct1__c==undefined) { error.push("浣跨敤浜у搧1(浜у搧鍨嬪彿) 涓嶅瓨鍦�"); }
+ }
+ if (ProductClassification__c==''||ProductClassification__c==""||ProductClassification__c==undefined) { error.push("浜у搧鍒嗙被(绗笁鍒嗙被) 涓嶅瓨鍦�"); }
+ if(WorkRecord__c == 'SIS'||WorkRecord__c == '绉戝浼�'||WorkRecord__c == '闄㈠唴鍏ラ櫌鐢宠'||WorkRecord__c == '鏀惰垂椤圭洰鐢宠'){
+ if (doctor2__c==''||doctor2__c==""||doctor2__c==undefined) { error.push("鎷滆浜� 涓嶅瓨鍦�"); }
+ }
+ if (WorkRecord__c==''||WorkRecord__c==""||WorkRecord__c==undefined) { error.push("娲诲姩鍖哄垎 涓嶅瓨鍦�"); }
+ if (DealerPersonnel__c==''||DealerPersonnel__c==""||DealerPersonnel__c==undefined) { error.push("缁忛攢鍟嗕汉鍛� 涓嶅瓨鍦�"); }
+ if (Department_Cateogy__c==''||Department_Cateogy__c==""||Department_Cateogy__c==undefined) { error.push("绉戝 涓嶅瓨鍦�"); }
+ if (Agency_Hospital__c==''||Agency_Hospital__c==""||Agency_Hospital__c==undefined) { error.push("鍖婚櫌 涓嶅瓨鍦�"); }
+
+
+
+
+ if (Report_Date__c==''||Report_Date__c==""||Report_Date__c==undefined) { error.push("娲诲姩鏃� 涓嶅瓨鍦�"); }
+ if (Submit_date__c==''||Submit_date__c==""||Submit_date__c==undefined) { error.push("鍛� 涓嶅瓨鍦�"); }
+ var rDate = new Date(Report_Date__c);
+ var sDate = new Date(Submit_date__c);
+ sDate.setDate(sDate.getDate() - 1);
+ if (rDate < sDate) { error.push('娲诲姩鏃ュ繀椤绘槸鏈懆锛�'); }
+ sDate.setDate(sDate.getDate() + 7);
+ if (rDate >= sDate) { error.push('娲诲姩鏃ュ繀椤绘槸鏈懆锛�'); }
+ if (Person_In_Charge2__c==''||Person_In_Charge2__c==""||Person_In_Charge2__c==undefined) { error.push("鎷呭綋 涓嶅瓨鍦�"); }
+ if (Agency_Report_Header__c==''||Agency_Report_Header__c==""||Agency_Report_Header__c==undefined) { this.error("Report Header Id 涓嶅瓨鍦�"); }
+
+
+ // if (!UseProduct2__c) { error.push("浣跨敤浜у搧2 涓嶅瓨鍦�"); }
+ // if (!UseProduct3__c) { error.push("浣跨敤浜у搧3 涓嶅瓨鍦�"); }
+
+
+
+
+
+
+
+
+ // if (!productCategories__c) { error.push("鍏朵粬鍝佺墝浜у搧绫诲埆 涓嶅瓨鍦�"); }
+
+ for (var i = 0; i < error.length; i++) {
+ component.set('v.errorMessage', error[i]);
+ this.showErrorToast(component);
+ }
+ if (error.length > 0) {
+ component.find('save_button').set('v.disabled', false);
+ return false;
+ }
+ // 淇濆瓨鍑︾悊
+ component.set('v.login', true);
+ if (component.get('v.mode') == 'edit') {
+ var Agency_Report__c = component.get('v.select_report_data').Id;
+ var action = component.get('c.editAgencyReport');
+ action.setParams({
+ "Agency_Report_Id": Agency_Report__c,
+ "Department_Cateogy": Department_Cateogy__c,
+ "ConsumptionOfConsumables": ConsumptionOfConsumables__c,
+ "WorkRecord": WorkRecord__c,
+ "EffectProgress": EffectProgress__c,
+ "WarlockClassification" : WarlockClassification__c,
+ "ProductCcategory" : ProductCcategory__c,
+ "productCategories" : productCategories__c,
+ "warlocksNumber" : warlocksNumber__c,
+ "WorkMark" : WorkMark__c,
+ "ProductClassification": ProductClassification__c,
+ "DealerPersonnel": DealerPersonnel__c,
+ "Agency_Report_Header": Agency_Report_Header__c,
+ "Agency_Hospital": Agency_Hospital__c,
+ "UseProduct1": UseProduct1__c,
+ "UseProduct2": UseProduct2__c,
+ "UseProduct3": UseProduct3__c,
+ "Person_In_Charge2": Person_In_Charge2__c,
+ "doctor": doctor2__c,
+ "Submit_date": Submit_date__c,
+ "StageName": StageName__c,
+ "oppAmount": Amount__c,
+ "oppOCMPrice": OCMSale_Price__c,
+ "Close_Forecasted_Date": Close_Forecasted_Date__c,
+ "Report_Date": Report_Date__c
+ });
+ action.setCallback(this, function (response) {
+ var state = response.getState();
+ if (state == 'SUCCESS') {
+ component.set('v.successMessage', '缂栬緫淇濆瓨鎴愬姛');
+ this.showSuccessToast(component);
+ var report_id = response.getReturnValue();
+ component.set('v.create_agency_report_id', report_id);
+ var select_agency_list = component.get('v.allselectlist').AgencyPerson__c;
+ for (var i = 0; i < select_agency_list.length; i++) {
+ if (select_agency_list[i].value == component.get('v.select_report_data').Person_In_Charge2__c) {
+ select_agency_list[i].selected = true;
+ } else {
+ select_agency_list[i].selected = false;
+ }
+ }
+ component.find('select_agency_person').set('v.options', select_agency_list);
+ component.set('v.update_select_report_data_id', report_id);
+ this.get_reports(component, event, helper, component.get('v.select_report_data').Submit_date__c, component.get('v.select_report_data').Person_In_Charge2__c);
+ component.find('save_button').set('v.disabled', false);
+ component.set('v.login', false);
+ }
+ else {
+ component.set('v.errorMessage', 'save_report failed.');
+ this.showErrorToast(component);
+ component.find('save_button').set('v.disabled', false);
+ component.set('v.login', false);
+ }
+ });
+ $A.enqueueAction(action);
+ } else {
+ /* Save (New & Copy) */
+ var action = component.get('c.saveAgencyReport');
+ action.setParams({
+ "Department_Cateogy": Department_Cateogy__c,
+ "ConsumptionOfConsumables": ConsumptionOfConsumables__c,
+ "WorkMark" : WorkMark__c,
+ "warlocksNumber" : warlocksNumber__c,
+ "DealerPersonnel": DealerPersonnel__c,
+ "ProductCcategory" : ProductCcategory__c,
+ "productCategories" : productCategories__c,
+ "WarlockClassification" : WarlockClassification__c,
+ "ProductClassification": ProductClassification__c,
+ "WorkRecord": WorkRecord__c,
+ "EffectProgress": EffectProgress__c,
+ "Agency_Report_Header": Agency_Report_Header__c,
+ "Agency_Hospital": Agency_Hospital__c,
+ "Person_In_Charge2": Person_In_Charge2__c,
+ "doctor": doctor2__c,
+ "Submit_date": Submit_date__c,
+ "UseProduct1": UseProduct1__c,
+ "UseProduct2": UseProduct2__c,
+ "UseProduct3": UseProduct3__c,
+ "StageName": StageName__c,
+ "oppAmount": Amount__c,
+ "oppOCMPrice": OCMSale_Price__c,
+ "Close_Forecasted_Date": Close_Forecasted_Date__c,
+ "Report_Date": Report_Date__c
+ });
+ action.setCallback(this, function (response) {
+ var state = response.getState();
+ if (state == 'SUCCESS') {
+ component.set('v.successMessage', '淇濆瓨鎴愬姛');
+ this.showSuccessToast(component);
+ var report_id = response.getReturnValue();
+ component.set('v.create_agency_report_id', report_id);
+ this.get_reports(component, event, helper, component.find('select_date').get('v.value'), component.find('select_agency_person').get('v.value'));
+ // 銉€兗銉�銉偊銈c兂銉夈偊鍐呫伄涓�瑕х敤
+ var action2 = component.get('c.getReportsById');
+ action2.setParams({
+ "report_id": report_id,
+ });
+ action2.setCallback(this, function (response) {
+ var state = response.getState();
+ if (state == 'SUCCESS') {
+ var res = response.getReturnValue();
+ var reports_now = component.get('v.reports_now');
+ var reports_now_count = 0;
+ if (reports_now.length > 0 && reports_now != "") {
+ reports_now_count = reports_now.length;
+ }
+ // Save&New鏅傘伄銈︺偅銉炽儔銈﹀唴銉囥兗銈夸竴瑕�
+ if (res.length > 0) {
+ reports_now[reports_now_count] = res[0];
+ reports_now.sort(function (a, b) {
+ if (a.Name > b.Name) return -1;
+ if (a.Name < b.Name) return 1;
+ return 0;
+ });
+ component.set('v.reports_now', reports_now);
+ component.set('v.reports_now_count', reports_now.length);
+ var data_list = component.find('modal_data_list_tr');
+ }
+ }
+ else {
+ component.set('v.errorMessage', 'get_reports_now failed.');
+ this.showErrorToast(component);
+ component.find('save_button').set('v.disabled', false);
+ component.set('v.login', false);
+ }
+ });
+ $A.enqueueAction(action2);
+ this.allclear(component);
+ component.find('select_WorkMark').set('v.value', false);
+ component.find('save_button').set('v.disabled', false);
+ component.set('v.login', false);
+ this.doinit(component, event, helper);
+ }
+ else {
+ var error = response.getError();
+ component.set('v.errorMessage', 'saveAgencyReport failed.');
+ this.showErrorToast(component);
+ component.find('save_button').set('v.disabled', false);
+ component.set('v.login', false);
+ }
+ });
+ $A.enqueueAction(action);
+ }
+ },
+
+ allclear: function (component) {
+ var clear = [{ label: '', value: '', selected: true }];
+ component.set('v.hospital', '');
+ component.set('v.hospitalId', '');
+ component.set('v.hospitalLinkId', '');
+ component.set('v.UseProduct1', '');
+ component.set('v.UseProduct1Id', '');
+ component.set('v.UseProduct2', '');
+ component.set('v.UseProduct2Id', '');
+ component.set('v.UseProduct3', '');
+ component.set('v.UseProduct3Id', '');
+ component.find('select_ProductClassification').set('v.value', '');
+ component.find('select_warlocksNumber').set('v.value', null);
+ component.find('select_department').set('v.value', '');
+ component.find('select_ConsumptionOfConsumables').set('v.value', null);
+ component.find('select_WorkMark').set('v.checked', false);
+ component.find('new_con').set('v.disabled', true);
+ component.find('select_doctor').set('v.options', clear);
+ component.find('select_DealerPersonnel').set('v.options', this.conv_selected(component.get('v.allselectlist.DealerPersonnel__c')));
+ component.find('select_purpose_type').set('v.options', this.conv_selected(component.get('v.allselectlist.WorkRecord__c')));
+ // component.find('select_ProductCcategory').set('v.options', this.conv_selected(component.get('v.allselectlist.ProductCcategory__c')));
+ component.find('select_EffectProgress').set('v.value', '');
+ component.find('select_OtherBrandConsumables').set('v.value', '');
+ component.find('select_ProductCcategory').set('v.value', '');
+ component.find('select_productCategories').set('v.value', '');
+ // ToDo闇�瑕佹祴璇曟墜鏈轰笂鑳借繍琛屼笉
+ component.set('v.data.Report_Date__c', '');
+ component.set('v.oppdata.Close_Forecasted_Date__c', '');
+ component.set('v.oppdata.Amount__c', '');
+ component.set('v.oppdata.OCMSale_Price__c', '');
+ component.set('v.oppdata.StageName__c', '');
+ component.set('v.Close_Forecasted_Date__c_o', '');
+ component.set('v.Amount__c_o', '');
+ component.set('v.OCMSale_Price__c_o', '');
+ component.set('v.StageName__c_o', '');
+ $A.util.addClass(component.find('input-opportunity-stage'), 'disp_none');
+ $A.util.addClass(component.find('input-opportunity-amount1'), 'disp_none');
+ $A.util.addClass(component.find('input-opportunity-amount2'), 'disp_none');
+ $A.util.addClass(component.find('input-opportunity-date'), 'disp_none');
+ this.selectPurposeType(component);
+ this.selectProductClassification(component);
+ this.selectpurposetype(component);
+ },
+
+ report_date_list: function (component, event, helper, count) {
+ var ret_obj = [];
+ var now = new Date();
+ for (var i = 0; i < count; i++) {
+ var start_day = new Date(now.getFullYear(), now.getMonth(), (now.getDate() - now.getDay() + 1 - (i * 7)));
+ var end_day = new Date(now.getFullYear(), now.getMonth(), now.getDate() + (7 - now.getDay()) - (i * 7));
+ var start_day_show = new Date(now.getFullYear(), now.getMonth(), (now.getDate() - now.getDay() - (i * 7)));
+ var end_day_show = new Date(now.getFullYear(), now.getMonth(), now.getDate() + (6 - now.getDay()) - (i * 7));
+ var date_text = start_day.getFullYear() + '/' + (start_day.getMonth() + 1) + '/' + start_day.getDate() + '~' + end_day.getFullYear() + '/' + (end_day.getMonth() + 1) + '/' + end_day.getDate();
+ if (i == 0) {
+ ret_obj.push({
+ selected: true,
+ value: start_day.getFullYear() + '/' + (start_day.getMonth() + 1) + '/' + start_day.getDate(),
+ label: start_day_show.getFullYear() + '/' + (start_day_show.getMonth() + 1) + '/' + start_day_show.getDate() + '~' + end_day_show.getFullYear() + '/' + (end_day_show.getMonth() + 1) + '/' + end_day_show.getDate(),
+ });
+ } else {
+ ret_obj.push({
+ selected: false,
+ value: start_day.getFullYear() + '/' + (start_day.getMonth() + 1) + '/' + start_day.getDate(),
+ label: start_day_show.getFullYear() + '/' + (start_day_show.getMonth() + 1) + '/' + start_day_show.getDate() + '~' + end_day_show.getFullYear() + '/' + (end_day_show.getMonth() + 1) + '/' + end_day_show.getDate(),
+ });
+ }
+ }
+ component.find('select_date').set('v.options', ret_obj);
+ component.set('v.report_date_list', ret_obj);
+ },
+ create_report_header: function (component, event, helper, name, s_agency, s_date) {
+ s_date = this.get_date_string(s_date);
+ if (s_date == false) {
+ component.set('v.errorMessage', 'get_date_string failed.');
+ this.showErrorToast(component);
+ return false;
+ }
+ var head_key = this.create_header_input_key(s_agency, s_date);
+ component.set('v.agency_report_header', head_key);
+ if (head_key == false) {
+ component.set('v.errorMessage', 'create_header_input_key failed.');
+ this.showErrorToast(component);
+ return false;
+ }
+ var key2 = s_date.replace(/-/g, '');
+ var action = component.get('c.createReportHeader');
+ action.setParams({
+ "name": name,
+ "s_date": s_date,
+ "s_agency": s_agency,
+ "head_key": head_key,
+ });
+ component.set('v.login', true);
+ action.setCallback(this, function (response) {
+ var state = response.getState();
+ if (state == 'SUCCESS') {
+ var res = response.getReturnValue();
+ component.set('v.agency_report_header_id', res);
+ component.set('v.login', false);
+ this.toggle_report(component, event, helper);
+ }
+ else {
+ component.set('v.errorMessage', 'createReportHeader callback failed.');
+ this.showErrorToast(component);
+ component.set('v.login', false);
+ }
+ });
+ $A.enqueueAction(action);
+ },
+ create_header_input_key: function (agency_id, s_date) {
+ if (typeof (s_date) != 'string') {
+ s_date = this.get_date_string(s_date);
+ if (s_date == false) {
+ component.set('v.errorMessage', 'get_date_string in create_header_input_key.');
+ this.showErrorToast(component);
+ return false;
+ }
+ }
+ if (!agency_id || !s_date) {
+ return false;
+ }
+ s_date = s_date.replace(/-/g, '');
+ var headkey = agency_id + ":" + s_date;
+ return headkey;
+ },
+
+ /* typeof is not cool
+ * @ret : String, Boolean, Date, Error, Array, Function, Null, Undefined, etc
+ */
+ object_type: function (obj) {
+ var obj_type = Object.prototype.toString.call(obj).slice(8, -1);
+ return obj_type;
+ },
+ // create yyyy-mm-dd string
+ get_date_string: function (val) {
+ if (typeof (val) == 'string') {
+ if (val.match(/^\d{4}\/\d{1,2}\/\d{1,2}$/)) {
+ val = val.replace(/[\/]/g, '-');
+ var tmp = val.split('-');
+ if (tmp[1].length == 1) {
+ tmp[1] = '0' + tmp[1];
+ }
+ if (tmp[2].length == 1) {
+ tmp[2] = '0' + tmp[2];
+ }
+ val = tmp[0] + '-' + tmp[1] + '-' + tmp[2];
+ } else if (val.match(/^\d{4}-\d{1,2}-\d{1,2}$/)) {
+ //ok
+ } else {
+ return false;
+ }
+ } else if (this.object_type(val) == 'Date') {
+ var mm = val.getMonth() + 1;
+ if (String(mm).length == 1) {
+ mm = '0' + mm;
+ }
+ var dd = '';
+ if (String(val.getDate()).length == 1) {
+ dd = '0' + val.getDate();
+ } else {
+ dd = val.getDate();
+ }
+ val = val.getFullYear() + '-' + mm + '-' + dd;
+ } else {
+ return false;
+ }
+ return val;
+ },
+ // Controller 鏍规嵁椤甸潰鍖婚櫌鏌ヨ绗﹀悎鐨勫尰闄�
+ searchHos: function (component, event, helper) {
+ var hospital_name = event.getParam("value");
+ var action = component.get("c.getHospitalList");
+ action.setParams({
+ "hospital_name": hospital_name
+ });
+ action.setCallback(this, function (response) {
+ var state = response.getState();
+ if (state === "SUCCESS") {
+ var hospital_list = component.find('hospital_list');
+ var hosList = response.getReturnValue();
+ if (hosList.length > 0) {
+ $A.util.addClass(hospital_list, 'slds-is-open');
+ } else {
+ $A.util.removeClass(hospital_list, 'slds-is-open');
+ }
+ component.set("v.hospitalList", response.getReturnValue());
+ } else {
+ $A.util.removeClass(hospital_list, 'slds-is-open');
+ }
+ });
+ $A.enqueueAction(action);
+ },
+ hideSearch: function (component, event, helper) {
+ var hospital_list = component.find('hospital_list');
+ $A.util.removeClass(hospital_list, 'slds-is-open');
+ },
+ hideSearchs: function (component, event, helper) {
+ var hospital_list = component.find('hospital_list');
+ $A.util.removeClass(hospital_list, 'slds-is-open');
+ component.set("v.hospital", '');
+ component.set("v.hospitals", '');
+ component.set('v.hospitalLinkId', '');
+ component.set('v.data.Agency_Hospital__c', '');
+ component.set("v.hospitalId", '');
+ },
+ selectHos: function (component, event, helper) {
+ debugger
+ var hospital_list = component.find('hospital_list');
+ $A.util.removeClass(hospital_list, 'slds-is-open');
+ var accname = event.currentTarget.dataset.accname;
+ var accid = event.currentTarget.dataset.accid;
+ var hospital_data = component.get('v.hospitalList');
+ var select_purpose_type = component.find('select_purpose_type').get('v.value');
+ for (var i = 0; i < hospital_data.length; i++) {
+ if (hospital_data[i].Hospital__c == accid) {
+ component.set('v.hospitalLinkId', hospital_data[i].Id);
+ component.set('v.data.Agency_Hospital__c', hospital_data[i].Id);
+ if(select_purpose_type!='绉戝浼�'&&hospital_data[i].Hospital__c){
+ component.find('new_con').set('v.disabled', false);
+ }else{
+ component.find('new_con').set('v.disabled', true);
+ }
+ }
+ }
+ component.set("v.hospitals", accname);
+ component.set("v.hospital", accname);
+ component.set("v.hospitalId", accid);
+ debugger
+ component.set('v.setdoctorlisthos', true);
+ this.set_doctor_list(component, event, helper);
+ },
+
+
+ //妯$硦鏌ヨ浣跨敤浜у搧1(浜у搧鍨嬪彿)
+ searchUseProduct1: function (component, event, helper) {
+ var UseProduct1Name = event.getParam("value");
+ var select_ProductClassification = component.find('select_ProductClassification').get('v.value');
+ var action = component.get("c.getUseProduct1");
+ action.setParams({
+ "UseProduct1Name": UseProduct1Name,
+ "select_ProductClassification" : select_ProductClassification
+ });
+ action.setCallback(this, function (response) {
+ var state = response.getState();
+ if (state === "SUCCESS") {
+ var UseProduct1_List = component.find('UseProduct1_List');
+ var UseProduct1ListValue = response.getReturnValue();
+ if (UseProduct1ListValue.length > 0) {
+ $A.util.addClass(UseProduct1_List, 'slds-is-open');
+ } else {
+ $A.util.removeClass(UseProduct1_List, 'slds-is-open');
+ }
+ component.set("v.UseProduct1List", UseProduct1ListValue);
+ } else {
+ $A.util.removeClass(UseProduct1_List, 'slds-is-open');
+ }
+ });
+ $A.enqueueAction(action);
+ },
+ hideSearchUseProduct1: function (component, event, helper) {
+ var UseProduct1_List = component.find('UseProduct1_List');
+ $A.util.removeClass(UseProduct1_List, 'slds-is-open');
+ },
+ hideSearchUseProduct1s: function (component, event, helper) {
+ var UseProduct1_List = component.find('UseProduct1_List');
+ $A.util.removeClass(UseProduct1_List, 'slds-is-open');
+ component.set("v.UseProduct1", '');
+ component.set("v.UseProduct1s", '');
+ component.set('v.UseProduct1Id', '');
+ component.set('v.data.UseProduct1__c', '');
+ },
+ seletUseProduct1Change: function (component, event, helper) {
+ debugger
+ var UseProduct1_List = component.find('UseProduct1_List');
+ $A.util.removeClass(UseProduct1_List, 'slds-is-open');
+ var accname = event.currentTarget.dataset.accname;
+ var accid = event.currentTarget.dataset.accid;
+ var UseProduct1ListDate = component.get('v.UseProduct1List');
+ for (var i = 0; i < UseProduct1ListDate.length; i++) {
+ if (UseProduct1ListDate[i].Id == accid) {
+ component.set('v.UseProduct1Id', UseProduct1ListDate[i].Id);
+ component.set('v.data.UseProduct1__c', UseProduct1ListDate[i].Id);
+ }
+ }
+ var UseProduct2_TEXT = component.find('UseProduct2_TEXT').get('v.value');
+ var UseProduct3_TEXT = component.find('UseProduct3_TEXT').get('v.value');
+ if(UseProduct2_TEXT != accname && UseProduct3_TEXT != accname){
+ component.set("v.UseProduct1s", accname);
+ component.set("v.UseProduct1", accname);
+ }else{
+ component.set('v.errorMessage', '涓嶈兘閫夋嫨鍚屾牱鐨勪骇鍝�');
+ this.showErrorToast(component);
+ }
+ },
+ //妯$硦鏌ヨ浣跨敤浜у搧2
+ searchUseProduct2: function (component, event, helper) {
+ var UseProduct2Name = event.getParam("value");
+ var select_ProductClassification = component.find('select_ProductClassification').get('v.value');
+ var action = component.get("c.getUseProduct1");
+ action.setParams({
+ "UseProduct1Name": UseProduct2Name,
+ "select_ProductClassification" : select_ProductClassification
+ });
+ action.setCallback(this, function (response) {
+ var state = response.getState();
+ if (state === "SUCCESS") {
+ var UseProduct2_List = component.find('UseProduct2_List');
+ var UseProduct2List = response.getReturnValue();
+ if (UseProduct2List.length > 0) {
+ $A.util.addClass(UseProduct2_List, 'slds-is-open');
+ } else {
+ $A.util.removeClass(UseProduct2_List, 'slds-is-open');
+ }
+ component.set("v.UseProduct2List", response.getReturnValue());
+ } else {
+ $A.util.removeClass(UseProduct2_List, 'slds-is-open');
+ }
+ });
+ $A.enqueueAction(action);
+ },
+ hideSearchUseProduct2: function (component, event, helper) {
+ var UseProduct2_List = component.find('UseProduct2_List');
+ $A.util.removeClass(UseProduct2_List, 'slds-is-open');
+ },
+ hideSearchUseProduct2s: function (component, event, helper) {
+ var UseProduct2_List = component.find('UseProduct2_List');
+ $A.util.removeClass(UseProduct2_List, 'slds-is-open');
+ component.set("v.UseProduct2", '');
+ component.set("v.UseProduct2s", '');
+ component.set('v.UseProduct2Id', '');
+ component.set('v.data.UseProduct2__c', '');
+ },
+ seletUseProduct2Change: function (component, event, helper) {
+ var UseProduct2_List = component.find('UseProduct2_List');
+ $A.util.removeClass(UseProduct2_List, 'slds-is-open');
+ var accname = event.currentTarget.dataset.accname;
+ var accid = event.currentTarget.dataset.accid;
+ var UseProduct2ListDate = component.get('v.UseProduct2List');
+ for (var i = 0; i < UseProduct2ListDate.length; i++) {
+ if (UseProduct2ListDate[i].Id == accid) {
+ component.set('v.UseProduct2Id', UseProduct2ListDate[i].Id);
+ component.set('v.data.UseProduct2__c', UseProduct2ListDate[i].Id);
+ }
+ }
+ var UseProduct1_TEXT = component.find('UseProduct1_TEXT').get('v.value');
+ var UseProduct3_TEXT = component.find('UseProduct3_TEXT').get('v.value');
+ if(UseProduct1_TEXT != accname && UseProduct3_TEXT != accname){
+ component.set("v.UseProduct2s", accname);
+ component.set("v.UseProduct2", accname);
+ }else{
+ component.set('v.errorMessage', '涓嶈兘閫夋嫨鍚屾牱鐨勪骇鍝�');
+ this.showErrorToast(component);
+ }
+
+ },
+ //妯$硦鏌ヨ浣跨敤浜у搧3
+ searchUseProduct3: function (component, event, helper) {
+ var UseProduct3Name = event.getParam("value");
+ var select_ProductClassification = component.find('select_ProductClassification').get('v.value');
+ var action = component.get("c.getUseProduct1");
+ action.setParams({
+ "UseProduct1Name": UseProduct3Name,
+ "select_ProductClassification" :select_ProductClassification
+ });
+ action.setCallback(this, function (response) {
+ var state = response.getState();
+ if (state === "SUCCESS") {
+ var UseProduct3_List = component.find('UseProduct3_List');
+ var UseProduct3List = response.getReturnValue();
+ if (UseProduct3List.length > 0) {
+ $A.util.addClass(UseProduct3_List, 'slds-is-open');
+ } else {
+ $A.util.removeClass(UseProduct3_List, 'slds-is-open');
+ }
+ component.set("v.UseProduct3List", response.getReturnValue());
+ } else {
+ $A.util.removeClass(UseProduct3_List, 'slds-is-open');
+ }
+ });
+ $A.enqueueAction(action);
+ },
+ hideSearchUseProduct3: function (component, event, helper) {
+ var UseProduct3_List = component.find('UseProduct3_List');
+ $A.util.removeClass(UseProduct3_List, 'slds-is-open');
+ },
+ hideSearchUseProduct3s: function (component, event, helper) {
+ var UseProduct3_List = component.find('UseProduct3_List');
+ $A.util.removeClass(UseProduct3_List, 'slds-is-open');
+ component.set("v.UseProduct3", '');
+ component.set("v.UseProduct3s", '');
+ component.set('v.UseProduct3Id', '');
+ component.set('v.data.UseProduct3__c', '');
+ },
+ seletUseProduct3Change: function (component, event, helper) {
+ var UseProduct3_List = component.find('UseProduct3_List');
+ $A.util.removeClass(UseProduct3_List, 'slds-is-open');
+ var accname = event.currentTarget.dataset.accname;
+ var accid = event.currentTarget.dataset.accid;
+ var UseProduct3ListDate = component.get('v.UseProduct3List');
+ for (var i = 0; i < UseProduct3ListDate.length; i++) {
+ if (UseProduct3ListDate[i].Id == accid) {
+ component.set('v.UseProduct3Id', UseProduct3ListDate[i].Id);
+ component.set('v.data.UseProduct3__c', UseProduct3ListDate[i].Id);
+ }
+ }
+ var UseProduct1_TEXT = component.find('UseProduct1_TEXT').get('v.value');
+ var UseProduct2_TEXT = component.find('UseProduct2_TEXT').get('v.value');
+ if(UseProduct1_TEXT != accname && UseProduct2_TEXT != accname ){
+ component.set("v.UseProduct3s", accname);
+ component.set("v.UseProduct3", accname);
+ }else{
+ component.set('v.errorMessage', '涓嶈兘閫夋嫨鍚屾牱鐨勪骇鍝�');
+ this.showErrorToast(component);
+ }
+
+ },
+ //hospitalLinkId 缁忛攢鍟嗗尰闄㈢殑ID 鎷滆浜哄鍒剁殑鍦版柟
+ doctor_change: function (component, event, helper) {
+ debugger
+ var doctorurpose = component.find('select_purpose_type').get('v.value');
+ var doctor_value = component.find('select_doctor').get('v.value');
+ var doctor_list = component.get('v.doctor_list');
+ var flg = false;
+ if(doctor_list){
+ for (var i = 0; i < doctor_list.length; i++) {
+ if (doctor_list[i].value == doctor_value) {
+ if(doctorurpose == '绉戝浼�'){
+ // component.set('v.doctor_title', doctor_list[i].Doctor_Division1__c);
+ }else{
+ component.set('v.doctor_title', doctor_list[i].Doctor_Division1__c);
+ }
+ flg = true;
+ break;
+ }
+ }
+ }
+ if (flg == false) {
+ component.set('v.doctor_title', '');
+ }
+ },
+ //SWAG-CF58C3 fy start 璋冪敤pi
+ set_aws_url : function(component,sobject) {
+ var action = component.get('c.getAwsurl');
+ action.setParams({
+ "sobj" : sobject,
+ });
+ action.setCallback(this,function(response){
+ var state = response.getState();
+ if(state == 'SUCCESS'){
+ var awsmap = this.conv_selected(response.getReturnValue());
+ component.set('v.AWStoken',awsmap.token);
+ component.set('v.AWSinsert',awsmap.newUrl);
+ component.set('v.AWSsearch',awsmap.searchUrl);
+ component.set('v.AWStransactionURL',awsmap.transactionURL);
+ }
+ else{
+ component.set('v.errorMessage', 'AWS url/token error.');
+ this.showErrorToast(component);
+ component.set('v.login',false);
+ }
+ });
+ $A.enqueueAction(action);
+ },
+
+ insert_agencycontact : function(component,token,newUrl,payload,agencyHospitalid,helper,hospitalName) {
+ fetch(newUrl, {
+ method: 'POST',
+ body: payload,
+ headers: {
+ 'Content-Type': 'application/json',
+ 'pi-token': token
+ }
+ }).then((data) => {
+ return data.json();
+ }).then((result) => {
+ if(result.status == '0'){
+ $A.getCallback(function(){
+ helper.to_agencycontact(component,result,agencyHospitalid);
+ })();
+ }else{
+ console.log('AWS status error:' + result)
+ component.set('v.login',false);
+ if(result.status == '129'){
+ component.find('OppMessage').setError('璇ュ鎴蜂汉鍛樺悕瀛楀凡瀛樺湪锛屽湪'+hospitalName+'鍖婚櫌锛岃淇敼');
+ }else{
+ component.find('OppMessage').setError('AWS insert error.');
+ }
+ }
+ }).catch(error => {
+ console.log('AWS insert error:' + error)
+ component.set('v.login',false);
+ component.find('OppMessage').setError('AWS insert error.');
+ });
+
+ },
+
+ to_agencycontact : function(component,result,agencyHospitalid) {
+ var action = component.get('c.saveAgencyContact');
+ action.setParams({
+ "name" : result.object[0].name,
+ //"nameEncrypt" : result.object[0].nameEncrypt, //zhj 鏂版柟妗堟敼閫� 2023-12-21
+ "type" : result.object[0].type,
+ //"typeEncrypt" : result.object[0].typeEncrypt, //zhj 鏂版柟妗堟敼閫� 2023-12-21
+ "doctorDivision1" : result.object[0].doctorDivision1,
+ //"doctorDivision1Encrypt" : result.object[0].doctorDivision1Encrypt, //zhj 鏂版柟妗堟敼閫� 2023-12-21
+ "agencyHospitalid" : agencyHospitalid,
+ "awsid" : result.object[0].dataId,
+ });
+ action.setCallback(this,function(response){
+ var state = response.getState();
+ if(state == 'SUCCESS'){
+ var acMap = this.conv_selected(response.getReturnValue());
+ console.log(acMap);
+ if(acMap.AgencyContactId != ''){
+ //纭浜嬪姟
+ var token = component.get('v.AWStoken');
+ var confirmUrl = component.get('v.AWStransactionURL');
+
+ let data = Object.create(null);
+ data['isSuccess'] = 1;
+ data['sfRecordId'] = '';
+ data['txId'] = result.txId;
+
+ this.to_confirm(component,token,confirmUrl,JSON.stringify(data));
+ }else if(acMap.errormsg != ''){
+ component.set('v.errorMessage', acMap.errormsg);
+ this.showErrorToast(component);
+ component.set('v.login',false);
+ }else {
+ component.set('v.errorMessage', 'agency contact insert id error.');
+ this.showErrorToast(component);
+ component.set('v.login',false);
+ }
+ }
+ else{
+ component.set('v.errorMessage', 'agency contact insert error.');
+ this.showErrorToast(component);
+ component.set('v.login',false);
+ }
+ });
+ $A.enqueueAction(action);
+ },
+
+ to_confirm : function(component,token,confirmUrl,payload,event) {
+ fetch(confirmUrl, {
+ method: 'POST',
+ body: payload,
+ headers: {
+ 'Content-Type': 'application/json',
+ 'pi-token': token
+ }
+ }).then((data) => {
+ return data.json();
+ }).then((result) => {
+ if(result.status == '0' && result.hasOwnProperty('success') && result.success){
+ // component.set('v.truthy', false);
+ // var modal_newAC = component.find('modal_newAC')
+ // $A.util.addClass(modal_newAC, 'disp_none');
+ // this.success('.瀹㈡埛浜哄憳宸插垱寤恒��');
+ // this.set_doctor_list(component);
+
+ component.set('v.truthy', false);
+ var modal_newAC = component.find('modal_newAC')
+ $A.util.addClass(modal_newAC, 'disp_none');
+ component.set('v.successMessage', '.鎷滆浜哄凡鍒涘缓銆�');
+ this.showSuccessToast(component);
+ this.set_doctor_list(component);
+ }else {
+ component.set('v.errorMessage', 'AWS confirm error.');
+ this.showErrorToast(component);
+ component.set('v.login',false);
+ }
+ }).catch(error => {
+ component.set('v.errorMessage', 'AWS confirm error.');
+ this.showErrorToast(component);
+ component.set('v.login',false);
+ });
+ },
+ //SWAG-CF58C3 fy end 璋冪敤pi
+
+ set_doctor_list: function (component) {
+ var doctor_value = component.find('select_purpose_type').get('v.value');
+ var hospital_id = component.get('v.hospitalLinkId');
+ if (hospital_id) {
+ if(doctor_value == '绉戝浼�'){
+ component.set('v.login', true);
+ this.set_doctor_list2(component);
+ }else{
+ component.set('v.login', true);
+ var action = component.get('c.getDoctorList');
+ action.setParams({
+ "hospital_id": hospital_id,
+ });
+ action.setCallback(this, function (response) {
+ var state = response.getState();
+ if (state == 'SUCCESS') {
+ debugger;
+ var res = this.conv_selected(response.getReturnValue());
+ //fy
+ var setdoctorlisthos = component.get('v.setdoctorlisthos');
+ if(setdoctorlisthos){
+ component.set('v.default_select_doctor_id', '');
+ component.set('v.setdoctorlisthos', false);
+ }
+ //fy
+ var default_doctor = component.get('v.default_select_doctor_id');
+ if (default_doctor != '' && res.length > 0) {
+ var doctor_title = '';
+ let awsids = [];
+ for (var i = 0; i < res.length; i++) {
+ if (res[i].value == default_doctor) {
+ res[i].selected = true;
+ doctor_title = res[i].Doctor_Division1__c;
+ } else {
+ res[i].selected = false;
+ }
+ if(res[i].AWS_Data_Id__c){
+ awsids.push(res[i].AWS_Data_Id__c);
+ }
+ }
+ component.find('select_doctor').set('v.options', res);
+ component.set('v.doctor_title', doctor_title);
+
+ if(awsids.length > 0){
+ let PIConfig = component.get('v.PIConfig');
+ let staticResourceAgencyContact = JSON.parse(PIConfig.staticResourceAgencyContact);
+ AWSService.search(staticResourceAgencyContact.searchUrl,{
+ dataIds:awsids
+ }, function(data){
+ if(data && data.object && data.object.length){
+ let m = {};
+ for(let di in data.object){
+ if(data.object[di] && data.object[di].dataId){
+ m[data.object[di].dataId] = data.object[di];
+ }
+ }
+
+ for(let ri in res){
+ if(res[ri] && res[ri].AWS_Data_Id__c && m.hasOwnProperty(res[ri].AWS_Data_Id__c)){
+ res[ri].label = m[res[ri].AWS_Data_Id__c].name;
+ }
+ }
+ component.find('select_doctor').set('v.options', res);
+ }
+
+ component.set('v.login', false);
+ }, staticResourceAgencyContact.token);
+ }
+ } else {
+ let awsids = [];
+ for (var i = 0; i < res.length; i++) {
+ if(res[i].AWS_Data_Id__c){
+ awsids.push(res[i].AWS_Data_Id__c);
+ }
+ }
+ component.find('select_doctor').set('v.options', res);
+ if(awsids.length > 0){
+ let PIConfig = component.get('v.PIConfig');
+ let staticResourceAgencyContact = JSON.parse(PIConfig.staticResourceAgencyContact);
+ AWSService.search(staticResourceAgencyContact.searchUrl,{
+ dataIds:awsids
+ }, function(data){
+ if(data && data.object && data.object.length){
+ let m = {};
+ for(let di in data.object){
+ if(data.object[di] && data.object[di].dataId){
+ m[data.object[di].dataId] = data.object[di];
+ }
+ }
+
+ for(let ri in res){
+ if(res[ri] && res[ri].AWS_Data_Id__c && m.hasOwnProperty(res[ri].AWS_Data_Id__c)){
+ res[ri].label = m[res[ri].AWS_Data_Id__c].name;
+ }
+ }
+ component.find('select_doctor').set('v.options', res);
+ }
+
+ component.set('v.login', false);
+ }, staticResourceAgencyContact.token);
+ }
+ // component.find('select_doctor').set('v.options', res);
+ if (res.length > 0) {
+ component.set('v.doctor_title', res[0].Doctor_Division1__c);
+ }
+ }
+ // component.set('v.default_select_doctor_id', '');
+ debugger
+ component.set('v.doctor_list', res);
+ component.set('v.login', false);
+ }
+ else {
+ component.set('v.errorMessage', 'set_doctor_list failed.');
+ this.showErrorToast(component);
+ component.set('v.login', false);
+ }
+ });
+ $A.enqueueAction(action);
+ }
+
+ }else{
+ if(doctor_value == '绉戝浼�'){
+ this.set_doctor_list2(component);
+ }else{
+ component.find('select_doctor').set('v.options', '');
+ }
+ }
+ },//fy 20220414
+ set_doctor_list2:function (component) {
+ var action1 = component.get('c.selectdoctor3c');
+ action1.setCallback(this, function (response) {
+ var state = response.getState();
+ if (state == 'SUCCESS') {
+ var res = response.getReturnValue();
+ debugger
+ for (var i = 0; i < res.length; i++) {
+ if (res[i].selected == 'true') {
+ res[i].selected = true;
+ } else {
+ res[i].selected = false;
+ }
+ }
+ debugger
+ component.find('select_doctor').set('v.options', res);
+ var doctor3value = component.get('v.default_select_doctor_id2');
+ this.set_selected(component, 'select_doctor', doctor3value);
+ component.set('v.login', false);
+ }
+ });
+ $A.enqueueAction(action1);
+ },
+ productcategoryChange1: function (component, event, helper) {
+ var product_category_id = component.find('select_Product1').get('v.value');
+ var pcId1 = component.find('select_Product2').get('v.value');
+ var pcId2 = component.find('select_Product3').get('v.value');
+ var p1bool = pcId1 != '' && pcId1 != null && pcId1 != undefined;
+ var p2bool = pcId2 != '' && pcId2 != null && pcId2 != undefined;
+ var p0bool = product_category_id != '' && product_category_id != null && product_category_id != undefined;
+ if ((p1bool && p0bool && product_category_id == pcId1) || (p2bool && p0bool && product_category_id == pcId2)) {
+ component.set('v.errorMessage', '涓嶈兘閫夋嫨鍚屾牱鐨勪骇鍝佸尯鍒�');
+ this.showErrorToast(component);
+ component.find('select_Product1').set('v.value', '');
+ }
+ },
+ productcategoryChange2: function (component, event, helper) {
+ var product_category_id = component.find('UseProduct2_TEXT').get('v.value');
+ var pcId1 = component.find('UseProduct1_TEXT').get('v.value');
+ var pcId2 = component.find('UseProduct3_TEXT').get('v.value');
+ var p1bool = pcId1 != '' && pcId1 != null ;
+ var p2bool = pcId2 != '' && pcId2 != null ;
+ var p0bool = product_category_id != '' && product_category_id != null;
+ if ((p1bool && p0bool && product_category_id == pcId1) || (p2bool && p0bool && product_category_id == pcId2)) {
+ component.set('v.errorMessage', '涓嶈兘閫夋嫨鍚屾牱鐨勪骇鍝佸尯鍒�');
+ this.showErrorToast(component);
+ component.set('v.UseProduct2_TEXT','');
+ }
+ },
+ productcategoryChange3: function (component, event, helper) {
+ var product_category_id = component.find('select_Product3').get('v.value');
+ var pcId1 = component.find('select_Product1').get('v.value');
+ var pcId2 = component.find('select_Product2').get('v.value');
+ var p1bool = pcId1 != '' && pcId1 != null && pcId1 != undefined;
+ var p2bool = pcId2 != '' && pcId2 != null && pcId2 != undefined;
+ var p0bool = product_category_id != '' && product_category_id != null && product_category_id != undefined;
+ if ((p1bool && p0bool && product_category_id == pcId1) || (p2bool && p0bool && product_category_id == pcId2)) {
+ component.set('v.errorMessage', '涓嶈兘閫夋嫨鍚屾牱鐨勪骇鍝佸尯鍒�');
+ this.showErrorToast(component);
+ component.find('select_Product3').set('v.value', '');
+ }
+ },
+ conv_selected: function (obj) {
+ for (var i = 0; i < obj.length; i++) {
+ if (obj[i].selected) {
+ if (obj[i].selected == 'true') {
+ obj[i].selected = true;
+ } else {
+ obj[i].selected = false;
+ }
+ }
+ }
+ return obj;
+ },
+ set_selected: function (component, aura_id_name, value) {
+ debugger;
+ var select_tmp = component.find(aura_id_name).get('v.options');
+ if (select_tmp) {
+ for (var i = 0; i < select_tmp.length; i++) {
+ if (select_tmp[i].value == value) {
+ select_tmp[i].selected = true;
+ } else {
+ select_tmp[i].selected = false;
+ }
+ }
+ component.find(aura_id_name).set('v.options', select_tmp);
+ return true;
+ } else {
+ return false;
+ }
+ },
+ //寮瑰嚭 鎴愬姛鎻愮ず
+ showSuccessToast: function (component) {
+ debugger
+ $A.util.removeClass(component.find('successDiv'), 'slds-hide');
+ window.setTimeout($A.getCallback(function () {
+ $A.util.addClass(component.find('successDiv'), 'slds-hide');
+ }),
+ 3000
+ );
+ },
+ //寮瑰嚭 鎴愬姛鎻愮ず
+ showSuccessToast01: function (component) {
+ debugger
+ $A.util.removeClass(component.find('successDiv01'), 'slds-hide');
+ window.setTimeout($A.getCallback(function () {
+ $A.util.addClass(component.find('successDiv01'), 'slds-hide');
+ }),
+ 3000
+ );
+ },
+ //寮瑰嚭 閿欒鎻愮ず
+ showErrorToast: function (component) {
+ debugger
+ $A.util.removeClass(component.find('errorDiv'), 'slds-hide');
+ window.setTimeout($A.getCallback(function () {
+ $A.util.addClass(component.find('errorDiv'), 'slds-hide');
+ }),
+ 3000
+ );
+ },
+ //寮瑰嚭 閿欒鎻愮ず
+ showErrorToast01: function (component) {
+ debugger
+ $A.util.removeClass(component.find('errorDiv01'), 'slds-hide');
+ window.setTimeout($A.getCallback(function () {
+ $A.util.addClass(component.find('errorDiv01'), 'slds-hide');
+ }),
+ 6000
+ );
+ },
+ error: function (message) {
+ var toastEvent = $A.get("e.force:showToast");
+ toastEvent.setParams({
+ "title": "閿欒!",
+ "message": message,
+ "type": "error",
+ "duration": "sticky"
+ });
+ toastEvent.fire();
+ },
+ createCon: function (component, event, helper) {
+ var modal_newAC = component.find('modal_newAC');
+ $A.util.removeClass(modal_newAC, 'disp_none');
+ component.set('v.truthy', true);
+ },
+ hideCmp: function (component, event, helper) {
+ var div1 = component.find('report')
+ var div2 = component.find('report_list')
+ $A.util.addClass(div1, 'disp_none');
+ $A.util.addClass(div2, 'disp_none');
+ },
+ handleSuccess: function (component, event, helper) {
+ var insertId = event.getParams().response.Id;
+ var displayValue = event.getParams().response.fields.Name.value;
+ event.setParams({});
+ component.set('v.truthy', false);
+ var modal_newAC = component.find('modal_newAC')
+ $A.util.addClass(modal_newAC, 'disp_none');
+ component.set('v.successMessage', '.鎷滆浜哄凡鍒涘缓銆�');
+ this.showSuccessToast(component);
+ this.set_doctor_list(component, event, helper);
+ },
+ createCancel: function (component, event, helper) {
+ component.set('v.truthy', false);
+ var modal_newAC = component.find('modal_newAC')
+ $A.util.addClass(modal_newAC, 'disp_none');
+ component.find('OppMessage').setError('');
+ },
+ //绉戝璧嬪��
+ setOpportunity_cfilter: function (component) {
+ var hosId = component.get('v.hospitalId');
+ var Department_Cateogy__c = component.find('select_department').get('v.value');
+ var opportunity_cfilter = '';
+ if (hosId != '' && hosId != null) {
+ opportunity_cfilter = ' Agency_Hospital__r.Hospital__c=' + '\'' + hosId + '\'';
+ }
+ if (Department_Cateogy__c != '' && Department_Cateogy__c != null) {
+ if (opportunity_cfilter != '' && opportunity_cfilter != null) {
+ opportunity_cfilter += ' AND ';
+ }
+ // fy Department_Cateogy_text__c
+ opportunity_cfilter += 'Department_Cateogy__c=' + '\'' + Department_Cateogy__c + '\'';
+ // opportunity_cfilter += 'Department_Cateogy_text__c=' + '\'' + Department_Cateogy__c + '\'';
+ }
+ component.set('v.opportunity_cfilter', opportunity_cfilter);
+ },
+ readFile: function (component, helper, file) {
+ if (!file) return;
+ if (!file.name.match(/\.(csv||CSV)$/)) {
+ return alert('only support csv files');
+ } else {
+ reader = new FileReader();
+ reader.onerror = function errorHandler(evt) {
+ switch (evt.target.error.code) {
+ case evt.target.error.NOT_FOUND_ERR:
+ alert('File Not Found!');
+ break;
+ case evt.target.error.NOT_READABLE_ERR:
+ alert('File is not readable');
+ break;
+ case evt.target.error.ABORT_ERR:
+ break; // noop
+ default:
+ alert('An error occurred reading this file.');
+ };
+ }
+ reader.onabort = function (e) {
+ alert('File read cancelled');
+ };
+ reader.onloadstart = function (e) {
+ var output = '<ui type=\"disc\"><li><strong>' + file.name + '</strong> (' + file.type + ')- ' + file.size + 'bytes, last modified: ' + file.lastModifiedDate.toLocaleDateString() + '</li></ui>';
+ component.set("v.filename", file.name);
+ component.set("v.TargetFileName", output);
+ };
+ reader.onload = function (e) {
+ debugger;
+ var data = e.target.result;
+
+ component.set("v.fileContentData", data);
+ console.log("file data" + JSON.stringify(data));
+ var allTextLines = data.split(/\r\n|\n/);
+ console.log("qqqqqqqqqqqqqqqqqqq" + allTextLines);
+ var dataRows = allTextLines.length - 1;
+ var headers = allTextLines[0].split(',');
+ var numOfRows = component.get("v.NumOfRecords");
+ if (dataRows > numOfRows + 1 || dataRows == 1 || dataRows == 0) {
+ alert("File Rows between 1 to " + numOfRows + " .");
+ component.set("v.showMain", true);
+ }
+ else {
+ var lines = [];
+ var filecontentdata;
+ var content = "<table class=\"table slds-table slds-table--bordered slds-table--cell-buffer\">";
+ content += "<thead><tr class=\"slds-text-title--caps\">";
+ content += '<th scope=\"col"\>' + '琛屽彿' + '</th>';
+ for (i = 0; i < headers.length; i++) {
+ content += '<th scope=\"col"\>' + headers[i] + '</th>';
+ }
+ content += "</tr></thead>";
+ for (var i = 1; i < allTextLines.length; i++) {
+ filecontentdata = allTextLines[i].split(',');
+ if (filecontentdata[0] != '') {
+ content += "<tr>";
+ content += "<td>" + i + "</td>";
+ for (var j = 0; j < filecontentdata.length; j++) {
+ content += '<td>' + filecontentdata[j] + '</td>';
+ }
+ content += "</tr>";
+ }
+ }
+ content += "</table>";
+ console.log(content);
+ component.set("v.TableContent", content);
+ component.set("v.showMain", false);
+ }
+ }
+ reader.readAsText(file, 'gb2312');
+
+ }
+ var reader = new FileReader();
+ reader.onloadend = function () {
+ };
+ reader.readAsDataURL(file);
+ },
+ // fy 璋冪敤pi鏀归�犵殑 鑾峰彇url 鍜� token鐨勬柟娉�
+ search_contact_url : function(component, sobject, callback) {
+ var action = component.get("c.getAwsurl");
+ action.setParams({
+ sobj : sobject
+ });
+ action.setCallback(this,function(response){
+ var state = response.getState();
+ if(state == 'SUCCESS'){
+ var result = response.getReturnValue();
+ if(callback)callback(result);
+ }
+ else{
+ component.set('v.errorMessage', 'AWS url/token error.');
+ this.showErrorToast01(component);
+ component.set('v.login',false);
+ }
+ });
+ $A.enqueueAction(action);
+ },
+ // fy 璋冪敤pi鏀归�犵殑 鑾峰彇.瀹㈡埛浜哄憳鐨勬柟娉�
+ search_core: function (token, searchUrl, payload, callback, component) {
+ console.log('searchUrl = ' + searchUrl);
+ fetch(searchUrl, {
+ method: 'POST',
+ body: payload,
+ headers: {
+ 'Content-Type': 'application/json',
+ 'pi-token': token
+ }
+ }).then((data) => {
+ return data.json();
+ }).then((result) => {
+ component.set('v.login',false);
+ if(callback)callback(result);
+ }).catch(error => {
+ console.log('AWS search error = ' + JSON.stringify(error));
+ component.set('v.errorMessage', 'AWS search error.');
+ this.showErrorToast01(component);
+ component.set('v.login',false);
+ });
+ },
+ saveRecords: function (component, event, helper) {
+ component.set('v.login', true);
+ //fy 瀵煎叆 202200506 start
+ var action1 = component.get("c.processDataAWSId");
+ action1.setParams({
+ fileData : component.get("v.fileContentData"),
+ });
+ action1.setCallback(this, function(response) {
+ var state = response.getState();
+ if (state === "SUCCESS") {
+ debugger
+ var ress = response.getReturnValue();
+ if(ress){
+ var valur =ress.split('error1');
+ if(valur.length<=1){
+ var res = JSON.parse(response.getReturnValue());
+ debugger
+ var dataArr = new Array();
+ var dataMap = new Map();
+ res.forEach(item => {
+ if(item.AWS_Data_Id__c){
+ dataArr.push(item.AWS_Data_Id__c);
+ //dataMap.set(item.AWS_Data_Id__c,item.Name_Encrypted__c); //zhj 鏂版柟妗堟敼閫� 2022-12-21
+ dataMap.set(item.AWS_Data_Id__c,item.AWS_Data_Id__c);
+ }
+ });
+ debugger
+ let obj= Object.create(null);
+ obj['dataIds'] = dataArr;
+ var payload = JSON.stringify(obj);
+ this.search_contact_url(component, 'Agency_Contact__c', (result)=>{
+ var token = result.token;
+ var searchUrl = result.searchUrl;
+ this.search_core(token,searchUrl,payload,(result)=>{
+ if(result.status == '0'){
+ if(result.object != null&&result.object.length != 0){
+ component.set('v.login',true);
+ this.saveRecordsEditFile(component,dataMap,result.object,helper);
+ }else{
+ component.set('v.errorMessage', 'AWS search status ');
+ this.showErrorToast01(component);
+ component.set('v.login',false);
+ }
+ }else{
+ component.set('v.errorMessage', 'AWS search status : ' + result.status);
+ this.showErrorToast01(component);
+ component.set('v.login',false);
+ }
+ },component);
+ });
+ }else{
+ component.set('v.errorMessage', valur[1]+'\n'+"璇蜂慨鏀瑰悗閲嶆柊涓婁紶");
+ this.showErrorToast01(component);
+ component.set('v.login',false);
+ }
+ }
+ }
+ });
+ $A.enqueueAction(action1);
+ // var action = component.get("c.processData");
+ // var fieldsList = ['Name', 'Phone', 'AccountNumber']; //Please write your code dynamic fields
+ // var filedata =component.get("v.fileContentData");
+ // action.setParams({
+ // fileData: filedata,
+ // sobjectName: 'Account', //Any object
+ // fields: fieldsList
+ // });
+ // action.setCallback(this, function (response) {
+ // var state = response.getState();
+ // if (state === "SUCCESS") {
+ // var res = response.getReturnValue();
+ // var res1 = '';
+ // if (res != 'success') {
+ // var ress = res.split('=');
+ // console.log(ress);
+ // for (var i = 0; i < ress.length; i++) {
+ // res1 += ress[i].substr(7) + '\n';
+ // }
+ // console.log("==" + res1);
+ // component.set('v.errorMessage', res1 + "璇蜂慨鏀瑰悗閲嶆柊涓婁紶");
+ // this.showErrorToast01(component);
+ // component.set('v.login', false);
+ // } else {
+ // component.set('v.successMessage', '瀵煎叆鎴愬姛');
+ // this.showSuccessToast01(component);
+ // component.set("v.showMain", true);
+ // component.set('v.login', false);
+ // this.doinit(component, event, helper);
+ // }
+ // }
+ // else if (state === "INCOMPLETE") {
+ // component.set('v.login', false);
+ // }
+ // else if (state === "ERROR") {
+ // var errors = response.getError();
+ // if (errors) {
+ // if (errors[0] && errors[0].message) {
+ // console.log("Error message: " +
+ // errors[0].message);
+ // component.set('v.login', false);
+ // }
+ // } else {
+ // console.log("Unknown error");
+ // component.set('v.login', false);
+ // }
+ // }
+ // });
+ // $A.enqueueAction(action);
+
+ },
+ saveRecordsEditFile : function(component,dataMap,searchData,helper){
+ var searchDataMap = new Map();
+ for (var i = 0; i < searchData.length; i++) {
+ var sd = searchData[i];
+ searchDataMap.set(sd.name.replace(' ',''),sd.dataId);
+ }
+ console.log('searchDataMap='+searchDataMap);
+ var error = '';
+ var fileData = component.get("v.fileContentData");
+ fileData=this.ToCDB(fileData);//鍏ㄨ杞崐瑙�
+ var files = fileData.split('\n');
+
+ var fileStr = files[0];
+ fileStr += '\n';
+
+ for (var i = 1; i < files.length-1; i++) {
+ if(files[i]){
+ var filelist = files[i].split(',');
+ var fileName = filelist[5];
+ var WorkRecord = filelist[4];
+ if(WorkRecord == 'SIS'||WorkRecord == '闄㈠唴鍏ラ櫌鐢宠'||WorkRecord == '鏀惰垂椤圭洰鐢宠'||WorkRecord == '绉戝浼�'){
+ if(fileName){
+ if(WorkRecord != '绉戝浼�'){
+ if (searchDataMap.get(fileName.replace(' ',''))) {
+ var nameDataId = searchDataMap.get(fileName.replace(' ',''));
+ if (dataMap.get(nameDataId)) {
+ filelist[5] = dataMap.get(nameDataId); //zhj 鏂版柟妗堟敼閫� filelist[5]涓嶅啀瀛樼殑nameEncrpt 2022-12-21
+ }else {
+ error += 'error1 绗�'+i+'琛屾暟鎹嫓璁夸汉SF涓嶅瓨鍦�';
+ }
+ }else {
+ error += 'error1 绗�'+i+'琛屾暟鎹嫓璁夸汉AWS涓嶅瓨鍦�';
+ }
+ }else{
+ if(filelist[5]!='鍖荤敓'&&filelist[5]!='鍖荤敓+鎶ゅ+'){//&&filelist[5]!='鍖荤敓锛嬫姢澹�'
+ error += 'error1 绗�'+i+'琛屾暟鎹嫓璁夸汉涓嶅瓨鍦�';
+ }
+ }
+ }else{
+ error += 'error1 绗�'+i+'琛屾暟鎹嫓璁夸汉涓嶈兘涓虹┖';
+ }
+ }else{
+ if(fileName){
+ if(WorkRecord != '绉戝浼�'){
+ if (searchDataMap.get(fileName.replace(' ',''))) {
+ var nameDataId = searchDataMap.get(fileName.replace(' ',''));
+ if (dataMap.get(nameDataId)) {
+ filelist[5] = dataMap.get(nameDataId);
+ }else {
+ error += 'error1 绗�'+i+'琛屾暟鎹嫓璁夸汉SF涓嶅瓨鍦�';
+ }
+ }else {
+ error += 'error1 绗�'+i+'琛屾暟鎹嫓璁夸汉AWS涓嶅瓨鍦�';
+ }
+ }else{
+ if(filelist[5]!='鍖荤敓'&&filelist[5]!='鍖荤敓+鎶ゅ+'){//&&filelist[5]!='鍖荤敓锛嬫姢澹�'
+ error += 'error1 绗�'+i+'琛屾暟鎹嫓璁夸汉涓嶅瓨鍦�';
+ }
+ }
+ }
+ }
+ fileStr += filelist.toString();
+ fileStr += '\n';
+ }
+ }
+
+ if (error != '') {
+ component.set('v.errorMessage', error);
+ this.showErrorToast01(component);
+ console.log('error='+error);
+ component.set('v.login',false);
+ return;
+ }
+
+ console.log('fileStr='+fileStr);
+ $A.getCallback(function(){
+ debugger
+ helper.ImportMethod(component,fileStr,helper);
+ })();
+
+ },ImportMethod : function(component,fileStr,helper){
+ var action = component.get("c.processData");
+ var fieldsList = ['Name', 'Phone', 'AccountNumber']; //Please write your code dynamic fields
+ // var filedata =component.get("v.fileContentData");
+ action.setParams({
+ fileData: fileStr,
+ sobjectName: 'Account', //Any object
+ fields: fieldsList
+ });
+ action.setCallback(this, function (response) {
+ var state = response.getState();
+ if (state === "SUCCESS") {
+ var res = response.getReturnValue();
+ var res1 = '';
+ if (res != 'success') {
+ var ress = res.split('=');
+ console.log(ress);
+ for (var i = 0; i < ress.length; i++) {
+ res1 += ress[i].substr(7) + '\n';
+ }
+ console.log("==" + res1);
+ component.set('v.errorMessage', res1 + "璇蜂慨鏀瑰悗閲嶆柊涓婁紶");
+ this.showErrorToast01(component);
+ component.set('v.login', false);
+ } else {
+ component.set('v.successMessage', '瀵煎叆鎴愬姛');
+ this.showSuccessToast01(component);
+ component.set("v.showMain", true);
+ component.set('v.login', false);
+ this.doinit(component, event, helper);
+ }
+ }
+ else if (state === "INCOMPLETE") {
+ component.set('v.login', false);
+ }
+ else if (state === "ERROR") {
+ var errors = response.getError();
+ if (errors) {
+ if (errors[0] && errors[0].message) {
+ console.log("Error message: " +
+ errors[0].message);
+ component.set('v.login', false);
+ }
+ } else {
+ console.log("Unknown error");
+ component.set('v.login', false);
+ }
+ }
+ });
+ $A.enqueueAction(action);
+ },//鍏ㄨ杞崐瑙�
+ ToCDB: function (str) {
+ var tmp = "";
+ for (var i = 0; i < str.length; i++) {
+ if (str.charCodeAt(i) > 65248 && str.charCodeAt(i) < 65375) {
+ tmp += String.fromCharCode(str.charCodeAt(i) - 65248);
+ }
+ else {
+ tmp += String.fromCharCode(str.charCodeAt(i));
+ }
+ }
+ return tmp
+ },
+ //瀵煎嚭鐨凜SV鏂囦欢
+ convertArrayOfObjectsToCSV: function (component, objectRecords) {
+ var csvStringResult, counter, keys, columnDivider, lineDivider, thkeys;
+ if (objectRecords == null || !objectRecords.length) {
+ return null;
+ }
+ columnDivider = ',';
+ lineDivider = '\n';
+ keys = [ 'Report_Date__c', 'Agency_Hospital__c','Department_Cateogy_text__c','DealerPersonnel__c','WorkRecord__c','doctor2__c','ProductClassification__c','UseProduct1__c', 'UseProduct2__c','UseProduct3__c', 'EffectProgress__c','ConsumptionOfConsumables__c', 'WarlockClassification__c', 'ProductCcategory__c', 'productCategories__c','warlocksNumber__c','WorkMark__c'];
+ thkeys = ['娲诲姩鏃�', '鍖婚櫌', '绉戝', '缁忛攢鍟嗕汉鍛�', '娲诲姩鍖哄垎', '鎷滆浜�','浜у搧鍒嗙被(绗笁鍒嗙被)', '浣跨敤浜у搧1(浜у搧鍨嬪彿)', '浣跨敤浜у搧2','浣跨敤浜у搧3','鏁堟灉/杩涘害','浜у搧1鍚岀被鑰楁潗绉戝鏈堜娇鐢ㄩ噺','浜у搧1瀵瑰簲鏈紡鍒嗙被','宸查噰鐢ㄥ叾浠栧搧鐗�','鍏朵粬鍝佺墝浜у搧绫诲埆','浜у搧鐢ㄩ噺','鏀彺闇�姹�']
+ csvStringResult = '';
+ csvStringResult += thkeys.join(columnDivider);
+ csvStringResult += lineDivider;
+ console.log("杩涘叆瀵煎嚭helper");
+ for (var i = 0; i < objectRecords.length; i++) {
+ counter = 0;
+ for (var sTempkey in keys) {
+ var skey = keys[sTempkey];
+ if (counter > 0) {
+ csvStringResult += columnDivider;
+ }
+ if (typeof objectRecords[i][skey] === "undefined") {
+ csvStringResult += '' + '' + '';
+ continue;
+ }
+ if (skey == 'Person_In_Charge2__c') {
+ csvStringResult += objectRecords[i].Person_In_Charge2__r.Name;
+ } else if (skey == 'Agency_Hospital__c') {
+ csvStringResult += objectRecords[i].Agency_Hospital__r.Name;
+ } else if (skey == 'DealerPersonnel__c') {
+ csvStringResult += objectRecords[i].DealerPersonnel__r.Name;
+ } else if (skey == 'doctor2__c') {
+ csvStringResult += objectRecords[i].doctor2__r.Name;
+ } else if (skey == 'UseProduct1__c') {
+ csvStringResult += objectRecords[i].UseProduct1__r.Asset_Model_No__c;
+ } else if (skey == 'UseProduct2__c') {
+ csvStringResult += objectRecords[i].UseProduct2__r.Asset_Model_No__c;
+ } else if (skey == 'UseProduct3__c') {
+ csvStringResult += objectRecords[i].UseProduct3__r.Asset_Model_No__c;
+ }else{
+ csvStringResult += objectRecords[i][skey] ;
+ }
+ counter++;
+ }
+ console.log("瀵煎嚭寰幆缁撴潫");
+ csvStringResult += lineDivider;
+ }
+ return csvStringResult;
+ },
+ // 瀵煎嚭椤甸潰鏄剧ず鐨勬ā鏉�
+ showExportDate: function (component, objectRecords) {
+ console.log('杩涘叆showexceportdate' + objectRecords);
+ var keys = ['Report_Date__c', 'Agency_Hospital__c','Department_Cateogy_text__c','DealerPersonnel__c','WorkRecord__c','doctor2__c','ProductClassification__c','UseProduct1__c', 'UseProduct2__c','UseProduct3__c', 'EffectProgress__c','ConsumptionOfConsumables__c', 'WarlockClassification__c', 'ProductCcategory__c','productCategories__c', 'warlocksNumber__c','WorkMark__c'];
+ var headers = ['娲诲姩鏃�', '鍖婚櫌', '绉戝', '缁忛攢鍟嗕汉鍛�', '娲诲姩鍖哄垎', '鎷滆浜�','浜у搧鍒嗙被(绗笁鍒嗙被)', '浣跨敤浜у搧1(浜у搧鍨嬪彿)', '浣跨敤浜у搧2','浣跨敤浜у搧3','鏁堟灉/杩涘害','浜у搧1鍚岀被鑰楁潗绉戝鏈堜娇鐢ㄩ噺','浜у搧1瀵瑰簲鏈紡鍒嗙被','宸查噰鐢ㄥ叾浠栧搧鐗�','鍏朵粬鍝佺墝浜у搧绫诲埆','浜у搧鐢ㄩ噺','鏀彺闇�姹�']
+ var content = "<table class=\"table slds-table slds-table--bordered slds-table--cell-buffer\">";
+ content += "<thead><tr class=\"slds-text-title--caps\">";
+ for (i = 0; i < headers.length; i++) {
+ content += '<th scope=\"col"\>' + headers[i] + '</th>';
+ }
+ content += "</tr></thead>";
+ for (var i = 0; i < objectRecords.length; i++) {
+ console.log('for' + content);
+ content += '<tr>';
+ for (var sTempkey in keys) {
+ console.log('for1' + sTempkey);
+ var skey = keys[sTempkey];
+ if (typeof objectRecords[i][skey] === "undefined") {
+ content += '<td>' + '' + '</td>';
+ continue;
+ }
+ console.log('for2' + objectRecords[i].Person_In_Charge2__r.Name);
+ if (skey == 'Person_In_Charge2__c') {
+ content += '<td>' + objectRecords[i].Person_In_Charge2__r.Name + '</td>';
+ } else if (skey == 'Agency_Hospital__c') {
+ content += '<td>' + objectRecords[i].Agency_Hospital__r.Name + '</td>';
+ } else if (skey == 'DealerPersonnel__c') {
+ content += '<td>' + objectRecords[i].DealerPersonnel__r.Name + '</td>';
+ } else if (skey == 'doctor2__c') {
+ content += '<td>' + objectRecords[i].doctor2__r.Name + '</td>';
+ } else if (skey == 'UseProduct1__c') {
+ content += '<td>' + objectRecords[i].UseProduct1__r.Asset_Model_No__c + '</td>';
+ } else if (skey == 'UseProduct2__c') {
+ content += '<td>' + objectRecords[i].UseProduct2__r.Asset_Model_No__c + '</td>';
+ } else if (skey == 'UseProduct3__c') {
+ content += '<td>' + objectRecords[i].UseProduct3__r.Asset_Model_No__c + '</td>';
+ }else{
+ content += '<td>' + objectRecords[i][skey] + '</td>';
+ }
+ }
+ content += '</tr>'
+ }
+ content += '</table>';
+ console.log("helper寰幆缁撴潫" + content);
+ component.set("v.TableContent2", content);
+ component.set("v.showMain", false);
+ },
+
+ select_repores_date: function (component, event, helper) {
+ component.set('v.login', true);
+ var reportsdate1 = component.find('input-report-date1').get('v.value');
+ var reportsdate2 = component.find('input-report-date2').get('v.value');
+ console.log('杈撳叆鐨勫紑濮嬫棩鏈�' + reportsdate1 + '杈撳叆鐨勭粨鏉熸棩鏈�' + reportsdate2);
+ var action = component.get("c.getReportsByDate");
+ console.log('杈撳叆鐨勫紑濮嬫棩鏈�1');
+ action.setParams({
+ date1: reportsdate1,
+ date2: reportsdate2
+ });
+ console.log('杈撳叆鐨勫紑濮嬫棩鏈�2');
+ action.setCallback(this, function (response) {
+ var state = response.getState();
+ if (state === "SUCCESS") {
+ var res = response.getReturnValue();
+ console.log('杈撳叆鐨勫紑濮嬫棩鏈�3' + res);
+ component.set('v.login', false);
+
+ // PI 鏀归�� By Bright 20220328
+ if(true){
+ let awsids = [];
+ for (let ri in res) {
+ if(res[ri] && res[ri].doctor2__r && res[ri].doctor2__r.AWS_Data_Id__c){
+ awsids.push(res[ri].doctor2__r.AWS_Data_Id__c);
+ }
+ }
+ if(awsids.length > 0){
+ let PIConfig = component.get('v.PIConfig');
+ let staticResourceAgencyContact = JSON.parse(PIConfig.staticResourceAgencyContact);
+ AWSService.search(staticResourceAgencyContact.searchUrl,{
+ dataIds:awsids
+ }, function(data){
+ if(data && data.object && data.object.length){
+ let m = {};
+ for(let di in data.object){
+ if(data.object[di] && data.object[di].dataId){
+ m[data.object[di].dataId] = data.object[di];
+ }
+ }
+
+ for(let ri in res){
+ if(res[ri] && res[ri].doctor2__r && res[ri].doctor2__r.AWS_Data_Id__c && m.hasOwnProperty(res[ri].doctor2__r.AWS_Data_Id__c)){
+ res[ri].doctor2__r.Name = m[res[ri].doctor2__r.AWS_Data_Id__c].name;
+ }
+ }
+ }
+ helper.showExportDate(component, res);
+
+ component.set('v.login', false);
+ }, staticResourceAgencyContact.token);
+ }else{
+ helper.showExportDate(component, res);
+ }
+ }
+
+
+ component.set('v.reports_date', res);
+ } else {
+ alert('瀵煎嚭澶辫触,璇锋鏌ユ椿鍔ㄦ棩');
+ component.set('v.login', false);
+ }
+ });
+ $A.enqueueAction(action);
+
+ },
+
+ showImport: function (component) {
+ var modalimport = component.find('modal_import');
+ var modalimportbg = component.find('modal_importbg');
+ $A.util.removeClass(modalimport, 'disp_none');
+ $A.util.removeClass(modalimportbg, 'disp_none');
+ },
+
+ showExport: function (component) {
+ var modalimport = component.find('modal_export');
+ var modalimportbg = component.find('modal_exportbg');
+ $A.util.removeClass(modalimport, 'disp_none');
+ $A.util.removeClass(modalimportbg, 'disp_none');
+ },
+
+ close_import: function (component) {
+ var modalimport = component.find('modal_import');
+ var modalimportbg = component.find('modal_importbg');
+ $A.util.addClass(modalimport, 'disp_none');
+ $A.util.addClass(modalimportbg, 'disp_none');
+ },
+
+ close_export: function (component) {
+ var modalimport = component.find('modal_export');
+ var modalimportbg = component.find('modal_exportbg');
+ $A.util.addClass(modalimport, 'disp_none');
+ $A.util.addClass(modalimportbg, 'disp_none');
+ },
+ //椤甸潰涓殑鏂板缓鑱屼綅鎸夐挳
+ newlyBuild: function (component, event, helper) {
+ var hospital_id = component.get('v.hospitalLinkId');
+ event.preventDefault(); // stop form submission
+ var fields = component.find("newOpportunityField");
+ var nameer = '';
+ var type = '';
+ var doctorDivision1 = '';
+ fields.forEach(function (field) {
+ if (field.get("v.fieldName") === 'Name') {
+ nameer = field.get("v.value");
+ }
+ if (field.get("v.fieldName") === 'Type__c') {
+ type = field.get("v.value");
+ }
+ if (field.get("v.fieldName") === 'Doctor_Division1__c') {
+ doctorDivision1 = field.get("v.value");
+ }
+ });
+ if (hospital_id) {
+ component.set('v.login', true);
+ var action = component.get('c.newlyBuild');
+ action.setParams({
+ "hospital_id": hospital_id,
+ "nameer": nameer,
+ "type": type,
+ "doctorDivision1": doctorDivision1,
+ });
+ action.setCallback(this, function (response) {
+ var state = response.getState();
+ if (state == 'SUCCESS') {
+ var res = this.conv_selected(response.getReturnValue());
+ var default_doctor = component.get('v.default_select_doctor_id');
+ if (default_doctor != '' && res.length > 0) {
+ var doctor_title = '';
+ for (var i = 0; i < res.length; i++) {
+ if (res[i].value == default_doctor) {
+ res[i].selected = true;
+ doctor_title = res[i].Doctor_Division1__c;
+ } else {
+ res[i].selected = false;
+ }
+ }
+ component.find('select_doctor').set('v.options', res);
+ component.set('v.doctor_title', doctor_title);
+ } else {
+ component.find('select_doctor').set('v.options', res);
+ if (res.length > 0) {
+ component.set('v.doctor_title', res[0].Doctor_Division1__c);
+ }
+ }
+ component.set('v.default_select_doctor_id', '');
+ component.set('v.doctor_list', res);
+ component.set('v.login', false);
+ }
+ else {
+ component.set('v.errorMessage', 'newlyBuild failed.');
+ this.showErrorToast(component);
+ component.set('v.login', false);
+ }
+ });
+ $A.enqueueAction(action);
+ }
+ },
+ //绉戝鍚岀被鑰楁潗楠岃瘉蹇呴』杈撳叆鏁板瓧
+ select_ConsumptionOfConsumables : function(component, event, helper) {
+ var sc = event.getSource().get('v.value');
+ if(sc != null){
+ if(sc.length <= 14){
+ if(sc.replace(/\D/gi,"")){
+ component.set("v.select_ConsumptionOfConsumables",sc);
+ }else{
+ component.set('v.errorMessage', '浜у搧1鍚岀被鑰楁潗绉戝鏈堜娇鐢ㄩ噺蹇呴』杈撳叆鏁板瓧!');
+ this.showErrorToast(component);
+ }
+ }else{
+ component.set('v.errorMessage', '浜у搧1鍚岀被鑰楁潗绉戝鏈堜娇鐢ㄩ噺鏈�澶氳緭鍏�14浣嶆暟瀛�!');
+ this.showErrorToast(component);
+ }
+ }
+ },
+ //浜у搧鐢ㄩ噺楠岃瘉蹇呴』杈撳叆鏁板瓧
+ select_warlocksNumber : function(component, event, helper) {
+ var sc = event.getSource().get('v.value');
+ if(sc != null){
+ if(sc.length <= 14){
+ if(sc.replace(/\D/gi,"")){
+ component.set("v.select_warlocksNumber",sc);
+ }else{
+ component.set('v.errorMessage', '浜у搧鐢ㄩ噺蹇呴』杈撳叆鏁板瓧!');
+ this.showErrorToast(component);
+ }
+ }else{
+ component.set('v.errorMessage', '浜у搧鐢ㄩ噺鏈�澶氳緭鍏�14浣嶆暟瀛�!');
+ this.showErrorToast(component);
+ }
+ }
+ },
+ //宸ヤ綔浼氳褰�
+ selectPurposeType: function (component,event,helper) {
+ debugger
+ var doctor_value = component.find('select_purpose_type').get('v.value');
+ // alert(doctor_value);
+ if(doctor_value!='绉戝浼�'){
+ component.find('new_con').set('v.disabled', false);
+ }else{
+ component.find('new_con').set('v.disabled', true);
+ }
+ if(doctor_value != ''){
+ this.set_doctor_list(component);
+ var action = component.get('c.selectPurposeTypes');
+ action.setParams({
+ 'doctor_value': doctor_value
+ });
+ action.setCallback(this, function (response) {
+ var state = response.getState();
+ if (state == 'SUCCESS') {
+ var res = response.getReturnValue();
+ component.find('select_EffectProgress').set("v.options", JSON.parse(JSON.stringify(res)));
+ }
+ });
+ $A.enqueueAction(action);
+ }else{
+ component.find('select_EffectProgress').set('v.options', []);
+ }
+ },
+
+ selectProductClassification: function (component,event,helper) {
+ debugger
+ var select_ProductClassification = component.find('select_ProductClassification').get('v.value');
+ if(select_ProductClassification != ''){
+ var action = component.get('c.selectProductClassificationc');
+ action.setParams({
+ "select_ProductClassification": select_ProductClassification
+ });
+ action.setCallback(this, function (response) {
+ var state = response.getState();
+ if (state == 'SUCCESS') {
+ var res = response.getReturnValue();
+ component.find('select_OtherBrandConsumables').set("v.options", JSON.parse(JSON.stringify(res)));
+ }
+ });
+ $A.enqueueAction(action);
+ }else{
+ component.find('select_OtherBrandConsumables').set('v.options', []);
+ }
+ this.selectProductCcategory(component);
+ },
+ select_ProductCcategory: function (component,event,helper) {
+ var select_ProductCcategory = component.find('select_ProductCcategory').get('v.value');
+ debugger
+ if(select_ProductCcategory != ''){
+ var result = component.find('result');
+ var UserProType = component.get('v.UserProType');
+ //fy
+ $A.util.removeClass(result, 'disp_none');
+ if(UserProType=='ENG'){
+ $A.util.removeClass(result, 'disp_none');
+ }else{
+ $A.util.addClass(result, 'disp_none');
+ }
+ var action = component.get('c.selectProductCcategory01');
+ action.setParams({
+ "select_ProductCcategory": select_ProductCcategory
+ });
+ action.setCallback(this, function (response) {
+ var state = response.getState();
+ if (state == 'SUCCESS') {
+ var res = response.getReturnValue();
+ component.find('select_productCategories').set("v.options", JSON.parse(JSON.stringify(res)));
+ }
+ });
+ $A.enqueueAction(action);
+ }else{
+ component.find('select_productCategories').set('v.options', []);
+ var result = component.find('result');
+ $A.util.addClass(result, 'disp_none');
+ }
+ },
+ selectpurposetype : function(component,event,helper){
+ var select_ProductCcategory = component.find('select_ProductCcategory').get('v.value');
+ if (select_ProductCcategory == null && select_ProductCcategory == undefined && select_ProductCcategory == '') {
+ var result = component.find('result');
+ // $A.util.removeClass(result, 'disp_none');
+ if(UserProType=='ENG'){
+ $A.util.removeClass(result, 'disp_none');
+ }else{
+ $A.util.addClass(result, 'disp_none');
+ }
+ } else {
+ debugger
+ component.find('select_productCategories').set('v.value', '');
+ var result = component.find('result');
+ $A.util.addClass(result, 'disp_none');
+ this.select_ProductCcategory(component);
+ }
+ },
+ //zhj MEBG鏂版柟妗堟敼閫� 2022-11-29 start
+ CallBackAction : function(component,action_name,para,callback) {
+ var action = component.get("c." + action_name.trimStart().replace("c.",""));
+ if(para){
+ action.setParams(para);
+ }
+ if(callback){
+ action.setCallback(this,function(data){
+ callback(data);
+ });
+ }
+
+ $A.enqueueAction(action);
+ },
+ //zhj MEBG鏂版柟妗堟敼閫� 2022-11-29 end
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/RetrospectiveWeeklyReport/RetrospectiveWeeklyReportRenderer.js b/force-app/main/default/aura/RetrospectiveWeeklyReport/RetrospectiveWeeklyReportRenderer.js
new file mode 100644
index 0000000..f1f0c75
--- /dev/null
+++ b/force-app/main/default/aura/RetrospectiveWeeklyReport/RetrospectiveWeeklyReportRenderer.js
@@ -0,0 +1,5 @@
+({
+
+// Your renderer method overrides go here
+
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/RetrospectiveWeeklyReportApp/RetrospectiveWeeklyReportApp.app b/force-app/main/default/aura/RetrospectiveWeeklyReportApp/RetrospectiveWeeklyReportApp.app
new file mode 100644
index 0000000..2338584
--- /dev/null
+++ b/force-app/main/default/aura/RetrospectiveWeeklyReportApp/RetrospectiveWeeklyReportApp.app
@@ -0,0 +1,3 @@
+<aura:application access="public" extends="ltng:outApp" >
+ <aura:dependency resource="c:RetrospectiveWeeklyReport"/>
+</aura:application>
\ No newline at end of file
diff --git a/force-app/main/default/aura/RetrospectiveWeeklyReportApp/RetrospectiveWeeklyReportApp.app-meta.xml b/force-app/main/default/aura/RetrospectiveWeeklyReportApp/RetrospectiveWeeklyReportApp.app-meta.xml
new file mode 100644
index 0000000..fcabbf8
--- /dev/null
+++ b/force-app/main/default/aura/RetrospectiveWeeklyReportApp/RetrospectiveWeeklyReportApp.app-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<AuraDefinitionBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>52.0</apiVersion>
+ <description>A Lightning Application Bundle</description>
+</AuraDefinitionBundle>
diff --git a/force-app/main/default/aura/RetrospectiveWeeklyReportApp/RetrospectiveWeeklyReportApp.auradoc b/force-app/main/default/aura/RetrospectiveWeeklyReportApp/RetrospectiveWeeklyReportApp.auradoc
new file mode 100644
index 0000000..d0d6eb5
--- /dev/null
+++ b/force-app/main/default/aura/RetrospectiveWeeklyReportApp/RetrospectiveWeeklyReportApp.auradoc
@@ -0,0 +1,6 @@
+<aura:documentation>
+ <aura:description>Documentation</aura:description>
+ <aura:example name="ExampleName" ref="exampleComponentName" label="Label">
+ Example Description
+ </aura:example>
+</aura:documentation>
\ No newline at end of file
diff --git a/force-app/main/default/aura/RetrospectiveWeeklyReportApp/RetrospectiveWeeklyReportApp.css b/force-app/main/default/aura/RetrospectiveWeeklyReportApp/RetrospectiveWeeklyReportApp.css
new file mode 100644
index 0000000..a5839d4
--- /dev/null
+++ b/force-app/main/default/aura/RetrospectiveWeeklyReportApp/RetrospectiveWeeklyReportApp.css
@@ -0,0 +1,2 @@
+.THIS {
+}
\ No newline at end of file
diff --git a/force-app/main/default/aura/RetrospectiveWeeklyReportApp/RetrospectiveWeeklyReportApp.svg b/force-app/main/default/aura/RetrospectiveWeeklyReportApp/RetrospectiveWeeklyReportApp.svg
new file mode 100644
index 0000000..791b3c7
--- /dev/null
+++ b/force-app/main/default/aura/RetrospectiveWeeklyReportApp/RetrospectiveWeeklyReportApp.svg
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="120px" height="120px" viewBox="0 0 120 120" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+ <path d="M120,108 C120,114.6 114.6,120 108,120 L12,120 C5.4,120 0,114.6 0,108 L0,12 C0,5.4 5.4,0 12,0 L108,0 C114.6,0 120,5.4 120,12 L120,108 L120,108 Z" id="Shape" fill="#2A739E"/>
+ <path d="M77.7383308,20 L61.1640113,20 L44.7300055,63.2000173 L56.0543288,63.2000173 L40,99.623291 L72.7458388,54.5871812 L60.907727,54.5871812 L77.7383308,20 Z" id="Path-1" fill="#FFFFFF"/>
+ </g>
+</svg>
\ No newline at end of file
diff --git a/force-app/main/default/aura/RetrospectiveWeeklyReportApp/RetrospectiveWeeklyReportAppController.js b/force-app/main/default/aura/RetrospectiveWeeklyReportApp/RetrospectiveWeeklyReportAppController.js
new file mode 100644
index 0000000..77e406b
--- /dev/null
+++ b/force-app/main/default/aura/RetrospectiveWeeklyReportApp/RetrospectiveWeeklyReportAppController.js
@@ -0,0 +1,5 @@
+({
+ myAction : function(component, event, helper) {
+
+ }
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/RetrospectiveWeeklyReportApp/RetrospectiveWeeklyReportAppHelper.js b/force-app/main/default/aura/RetrospectiveWeeklyReportApp/RetrospectiveWeeklyReportAppHelper.js
new file mode 100644
index 0000000..ba7f386
--- /dev/null
+++ b/force-app/main/default/aura/RetrospectiveWeeklyReportApp/RetrospectiveWeeklyReportAppHelper.js
@@ -0,0 +1,5 @@
+({
+ helperMethod : function() {
+
+ }
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/RetrospectiveWeeklyReportApp/RetrospectiveWeeklyReportAppRenderer.js b/force-app/main/default/aura/RetrospectiveWeeklyReportApp/RetrospectiveWeeklyReportAppRenderer.js
new file mode 100644
index 0000000..f1f0c75
--- /dev/null
+++ b/force-app/main/default/aura/RetrospectiveWeeklyReportApp/RetrospectiveWeeklyReportAppRenderer.js
@@ -0,0 +1,5 @@
+({
+
+// Your renderer method overrides go here
+
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/TaskFeedbackApp/TaskFeedbackApp.app b/force-app/main/default/aura/TaskFeedbackApp/TaskFeedbackApp.app
new file mode 100644
index 0000000..5a0e4a8
--- /dev/null
+++ b/force-app/main/default/aura/TaskFeedbackApp/TaskFeedbackApp.app
@@ -0,0 +1,3 @@
+<aura:application access="public" extends="ltng:outApp" >
+ <aura:dependency resource="c:taskFeedback"/>
+</aura:application>
\ No newline at end of file
diff --git a/force-app/main/default/aura/TaskFeedbackApp/TaskFeedbackApp.app-meta.xml b/force-app/main/default/aura/TaskFeedbackApp/TaskFeedbackApp.app-meta.xml
new file mode 100644
index 0000000..fcabbf8
--- /dev/null
+++ b/force-app/main/default/aura/TaskFeedbackApp/TaskFeedbackApp.app-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<AuraDefinitionBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>52.0</apiVersion>
+ <description>A Lightning Application Bundle</description>
+</AuraDefinitionBundle>
diff --git a/force-app/main/default/aura/TaskFeedbackApp/TaskFeedbackApp.auradoc b/force-app/main/default/aura/TaskFeedbackApp/TaskFeedbackApp.auradoc
new file mode 100644
index 0000000..d0d6eb5
--- /dev/null
+++ b/force-app/main/default/aura/TaskFeedbackApp/TaskFeedbackApp.auradoc
@@ -0,0 +1,6 @@
+<aura:documentation>
+ <aura:description>Documentation</aura:description>
+ <aura:example name="ExampleName" ref="exampleComponentName" label="Label">
+ Example Description
+ </aura:example>
+</aura:documentation>
\ No newline at end of file
diff --git a/force-app/main/default/aura/TaskFeedbackApp/TaskFeedbackApp.css b/force-app/main/default/aura/TaskFeedbackApp/TaskFeedbackApp.css
new file mode 100644
index 0000000..a5839d4
--- /dev/null
+++ b/force-app/main/default/aura/TaskFeedbackApp/TaskFeedbackApp.css
@@ -0,0 +1,2 @@
+.THIS {
+}
\ No newline at end of file
diff --git a/force-app/main/default/aura/TaskFeedbackApp/TaskFeedbackApp.svg b/force-app/main/default/aura/TaskFeedbackApp/TaskFeedbackApp.svg
new file mode 100644
index 0000000..791b3c7
--- /dev/null
+++ b/force-app/main/default/aura/TaskFeedbackApp/TaskFeedbackApp.svg
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="120px" height="120px" viewBox="0 0 120 120" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+ <path d="M120,108 C120,114.6 114.6,120 108,120 L12,120 C5.4,120 0,114.6 0,108 L0,12 C0,5.4 5.4,0 12,0 L108,0 C114.6,0 120,5.4 120,12 L120,108 L120,108 Z" id="Shape" fill="#2A739E"/>
+ <path d="M77.7383308,20 L61.1640113,20 L44.7300055,63.2000173 L56.0543288,63.2000173 L40,99.623291 L72.7458388,54.5871812 L60.907727,54.5871812 L77.7383308,20 Z" id="Path-1" fill="#FFFFFF"/>
+ </g>
+</svg>
\ No newline at end of file
diff --git a/force-app/main/default/aura/TaskFeedbackApp/TaskFeedbackAppController.js b/force-app/main/default/aura/TaskFeedbackApp/TaskFeedbackAppController.js
new file mode 100644
index 0000000..77e406b
--- /dev/null
+++ b/force-app/main/default/aura/TaskFeedbackApp/TaskFeedbackAppController.js
@@ -0,0 +1,5 @@
+({
+ myAction : function(component, event, helper) {
+
+ }
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/TaskFeedbackApp/TaskFeedbackAppHelper.js b/force-app/main/default/aura/TaskFeedbackApp/TaskFeedbackAppHelper.js
new file mode 100644
index 0000000..ba7f386
--- /dev/null
+++ b/force-app/main/default/aura/TaskFeedbackApp/TaskFeedbackAppHelper.js
@@ -0,0 +1,5 @@
+({
+ helperMethod : function() {
+
+ }
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/TaskFeedbackApp/TaskFeedbackAppRenderer.js b/force-app/main/default/aura/TaskFeedbackApp/TaskFeedbackAppRenderer.js
new file mode 100644
index 0000000..f1f0c75
--- /dev/null
+++ b/force-app/main/default/aura/TaskFeedbackApp/TaskFeedbackAppRenderer.js
@@ -0,0 +1,5 @@
+({
+
+// Your renderer method overrides go here
+
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/TaskManageApp/TaskManageApp.app b/force-app/main/default/aura/TaskManageApp/TaskManageApp.app
new file mode 100644
index 0000000..5a0e4a8
--- /dev/null
+++ b/force-app/main/default/aura/TaskManageApp/TaskManageApp.app
@@ -0,0 +1,3 @@
+<aura:application access="public" extends="ltng:outApp" >
+ <aura:dependency resource="c:taskFeedback"/>
+</aura:application>
\ No newline at end of file
diff --git a/force-app/main/default/aura/TaskManageApp/TaskManageApp.app-meta.xml b/force-app/main/default/aura/TaskManageApp/TaskManageApp.app-meta.xml
new file mode 100644
index 0000000..4f7ebcc
--- /dev/null
+++ b/force-app/main/default/aura/TaskManageApp/TaskManageApp.app-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<AuraDefinitionBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>48.0</apiVersion>
+ <description>A Lightning Component Bundle</description>
+</AuraDefinitionBundle>
diff --git a/force-app/main/default/aura/TenderDeletePageApp/TenderDeletePageApp.app b/force-app/main/default/aura/TenderDeletePageApp/TenderDeletePageApp.app
new file mode 100644
index 0000000..d154fee
--- /dev/null
+++ b/force-app/main/default/aura/TenderDeletePageApp/TenderDeletePageApp.app
@@ -0,0 +1,3 @@
+<aura:application access="public" extends="ltng:outApp">
+ <aura:dependency resource="c:TenderDeletePageApp"/>
+</aura:application>
\ No newline at end of file
diff --git a/force-app/main/default/aura/TenderDeletePageApp/TenderDeletePageApp.app-meta.xml b/force-app/main/default/aura/TenderDeletePageApp/TenderDeletePageApp.app-meta.xml
new file mode 100644
index 0000000..fcabbf8
--- /dev/null
+++ b/force-app/main/default/aura/TenderDeletePageApp/TenderDeletePageApp.app-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<AuraDefinitionBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>52.0</apiVersion>
+ <description>A Lightning Application Bundle</description>
+</AuraDefinitionBundle>
diff --git a/force-app/main/default/aura/TenderDeletePageApp/TenderDeletePageApp.auradoc b/force-app/main/default/aura/TenderDeletePageApp/TenderDeletePageApp.auradoc
new file mode 100644
index 0000000..d0d6eb5
--- /dev/null
+++ b/force-app/main/default/aura/TenderDeletePageApp/TenderDeletePageApp.auradoc
@@ -0,0 +1,6 @@
+<aura:documentation>
+ <aura:description>Documentation</aura:description>
+ <aura:example name="ExampleName" ref="exampleComponentName" label="Label">
+ Example Description
+ </aura:example>
+</aura:documentation>
\ No newline at end of file
diff --git a/force-app/main/default/aura/TenderDeletePageApp/TenderDeletePageApp.css b/force-app/main/default/aura/TenderDeletePageApp/TenderDeletePageApp.css
new file mode 100644
index 0000000..a5839d4
--- /dev/null
+++ b/force-app/main/default/aura/TenderDeletePageApp/TenderDeletePageApp.css
@@ -0,0 +1,2 @@
+.THIS {
+}
\ No newline at end of file
diff --git a/force-app/main/default/aura/TenderDeletePageApp/TenderDeletePageApp.svg b/force-app/main/default/aura/TenderDeletePageApp/TenderDeletePageApp.svg
new file mode 100644
index 0000000..791b3c7
--- /dev/null
+++ b/force-app/main/default/aura/TenderDeletePageApp/TenderDeletePageApp.svg
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="120px" height="120px" viewBox="0 0 120 120" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+ <path d="M120,108 C120,114.6 114.6,120 108,120 L12,120 C5.4,120 0,114.6 0,108 L0,12 C0,5.4 5.4,0 12,0 L108,0 C114.6,0 120,5.4 120,12 L120,108 L120,108 Z" id="Shape" fill="#2A739E"/>
+ <path d="M77.7383308,20 L61.1640113,20 L44.7300055,63.2000173 L56.0543288,63.2000173 L40,99.623291 L72.7458388,54.5871812 L60.907727,54.5871812 L77.7383308,20 Z" id="Path-1" fill="#FFFFFF"/>
+ </g>
+</svg>
\ No newline at end of file
diff --git a/force-app/main/default/aura/TenderDeletePageApp/TenderDeletePageAppController.js b/force-app/main/default/aura/TenderDeletePageApp/TenderDeletePageAppController.js
new file mode 100644
index 0000000..77e406b
--- /dev/null
+++ b/force-app/main/default/aura/TenderDeletePageApp/TenderDeletePageAppController.js
@@ -0,0 +1,5 @@
+({
+ myAction : function(component, event, helper) {
+
+ }
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/TenderDeletePageApp/TenderDeletePageAppHelper.js b/force-app/main/default/aura/TenderDeletePageApp/TenderDeletePageAppHelper.js
new file mode 100644
index 0000000..ba7f386
--- /dev/null
+++ b/force-app/main/default/aura/TenderDeletePageApp/TenderDeletePageAppHelper.js
@@ -0,0 +1,5 @@
+({
+ helperMethod : function() {
+
+ }
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/TenderDeletePageApp/TenderDeletePageAppRenderer.js b/force-app/main/default/aura/TenderDeletePageApp/TenderDeletePageAppRenderer.js
new file mode 100644
index 0000000..f1f0c75
--- /dev/null
+++ b/force-app/main/default/aura/TenderDeletePageApp/TenderDeletePageAppRenderer.js
@@ -0,0 +1,5 @@
+({
+
+// Your renderer method overrides go here
+
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/TenderLostApp/TenderLostApp.app b/force-app/main/default/aura/TenderLostApp/TenderLostApp.app
new file mode 100644
index 0000000..1080c02
--- /dev/null
+++ b/force-app/main/default/aura/TenderLostApp/TenderLostApp.app
@@ -0,0 +1,3 @@
+<aura:application access="public" extends="ltng:outApp">
+ <aura:dependency resource="c:TenderLostApp"/>
+</aura:application>
\ No newline at end of file
diff --git a/force-app/main/default/aura/TenderLostApp/TenderLostApp.app-meta.xml b/force-app/main/default/aura/TenderLostApp/TenderLostApp.app-meta.xml
new file mode 100644
index 0000000..b497bd6
--- /dev/null
+++ b/force-app/main/default/aura/TenderLostApp/TenderLostApp.app-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<AuraDefinitionBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>55.0</apiVersion>
+ <description>A Lightning Application Bundle</description>
+</AuraDefinitionBundle>
diff --git a/force-app/main/default/aura/TenderLostApp/TenderLostApp.auradoc b/force-app/main/default/aura/TenderLostApp/TenderLostApp.auradoc
new file mode 100644
index 0000000..d0d6eb5
--- /dev/null
+++ b/force-app/main/default/aura/TenderLostApp/TenderLostApp.auradoc
@@ -0,0 +1,6 @@
+<aura:documentation>
+ <aura:description>Documentation</aura:description>
+ <aura:example name="ExampleName" ref="exampleComponentName" label="Label">
+ Example Description
+ </aura:example>
+</aura:documentation>
\ No newline at end of file
diff --git a/force-app/main/default/aura/TenderLostApp/TenderLostApp.css b/force-app/main/default/aura/TenderLostApp/TenderLostApp.css
new file mode 100644
index 0000000..a5839d4
--- /dev/null
+++ b/force-app/main/default/aura/TenderLostApp/TenderLostApp.css
@@ -0,0 +1,2 @@
+.THIS {
+}
\ No newline at end of file
diff --git a/force-app/main/default/aura/TenderLostApp/TenderLostApp.svg b/force-app/main/default/aura/TenderLostApp/TenderLostApp.svg
new file mode 100644
index 0000000..791b3c7
--- /dev/null
+++ b/force-app/main/default/aura/TenderLostApp/TenderLostApp.svg
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="120px" height="120px" viewBox="0 0 120 120" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+ <path d="M120,108 C120,114.6 114.6,120 108,120 L12,120 C5.4,120 0,114.6 0,108 L0,12 C0,5.4 5.4,0 12,0 L108,0 C114.6,0 120,5.4 120,12 L120,108 L120,108 Z" id="Shape" fill="#2A739E"/>
+ <path d="M77.7383308,20 L61.1640113,20 L44.7300055,63.2000173 L56.0543288,63.2000173 L40,99.623291 L72.7458388,54.5871812 L60.907727,54.5871812 L77.7383308,20 Z" id="Path-1" fill="#FFFFFF"/>
+ </g>
+</svg>
\ No newline at end of file
diff --git a/force-app/main/default/aura/TenderLostApp/TenderLostAppController.js b/force-app/main/default/aura/TenderLostApp/TenderLostAppController.js
new file mode 100644
index 0000000..77e406b
--- /dev/null
+++ b/force-app/main/default/aura/TenderLostApp/TenderLostAppController.js
@@ -0,0 +1,5 @@
+({
+ myAction : function(component, event, helper) {
+
+ }
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/TenderLostApp/TenderLostAppHelper.js b/force-app/main/default/aura/TenderLostApp/TenderLostAppHelper.js
new file mode 100644
index 0000000..ba7f386
--- /dev/null
+++ b/force-app/main/default/aura/TenderLostApp/TenderLostAppHelper.js
@@ -0,0 +1,5 @@
+({
+ helperMethod : function() {
+
+ }
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/TenderLostApp/TenderLostAppRenderer.js b/force-app/main/default/aura/TenderLostApp/TenderLostAppRenderer.js
new file mode 100644
index 0000000..f1f0c75
--- /dev/null
+++ b/force-app/main/default/aura/TenderLostApp/TenderLostAppRenderer.js
@@ -0,0 +1,5 @@
+({
+
+// Your renderer method overrides go here
+
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/TransferApplyNew/TransferApplyNew.cmp b/force-app/main/default/aura/TransferApplyNew/TransferApplyNew.cmp
new file mode 100644
index 0000000..b2fb667
--- /dev/null
+++ b/force-app/main/default/aura/TransferApplyNew/TransferApplyNew.cmp
@@ -0,0 +1,25 @@
+<!--
+ * @Description:
+ * @Author: [lijinhuan]
+ * @Date: 2023-04-26 17:25:35
+ * @LastEditors: [lijinhuan]
+ * @LastEditTime: 2023-04-26 17:38:46
+-->
+<aura:component implements="lightning:actionOverride" access="global" controller="overrideStandabuttonwithLC">
+ <aura:attribute name="ta" type="TransferApply__c" default="{'sobjectType': 'TransferApply__c',
+ 'Name':'*'
+ }" />
+ <div class="slds-m-around--xx-large">
+ <div class="slds-form--stacked">
+ <div class="slds-form-element">
+ <div class="slds-form-element__control">
+ <ui:inputText aura:id="taName" label="Name" value="{!v.ta.Name}" class="slds-input"/>
+ <!-- <ui:inputText aura:id="accDescription" label="Description" value="{!v.acc.Description}" class="slds-input"/> -->
+ </div>
+ </div>
+ <div class="slds-m-around--medium">
+ <button class="slds-button slds-button--brand" onclick="{!c.createTransferApply}">Save</button>
+ </div>
+ </div>
+ </div>
+</aura:component>
\ No newline at end of file
diff --git a/force-app/main/default/aura/TransferApplyNew/TransferApplyNew.cmp-meta.xml b/force-app/main/default/aura/TransferApplyNew/TransferApplyNew.cmp-meta.xml
new file mode 100644
index 0000000..838df43
--- /dev/null
+++ b/force-app/main/default/aura/TransferApplyNew/TransferApplyNew.cmp-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<AuraDefinitionBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>56.0</apiVersion>
+ <description>A Lightning Component Bundle</description>
+</AuraDefinitionBundle>
diff --git a/force-app/main/default/aura/TransferApplyNew/TransferApplyNewController.js b/force-app/main/default/aura/TransferApplyNew/TransferApplyNewController.js
new file mode 100644
index 0000000..5852d22
--- /dev/null
+++ b/force-app/main/default/aura/TransferApplyNew/TransferApplyNewController.js
@@ -0,0 +1,28 @@
+({
+ createTransferApply : function(component, event, helper) {
+ var action = component.get("c.saveTransferApply");
+ action.setParams({
+ "taRec":component.get("v.ta")
+ });
+ action.setCallback(this, function(response){
+ if(response.getState()==='SUCCESS'){
+ var taId = response.getReturnValue();
+ var toastEvent = $A.get("e.force:showToast");
+ toastEvent.setParams({
+ "title": "Success!",
+ "type":"Success",
+ "message": "TransferApply created successfully."
+ });
+ toastEvent.fire();
+
+ var navEvt = $A.get("e.force:navigateToSObject");
+ navEvt.setParams({
+ "recordId": taId,
+ "slideDevName": "related"
+ });
+ navEvt.fire();
+ }
+ });
+ $A.enqueueAction(action);
+ },
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/WeeklyReport/WeeklyReport.cmp b/force-app/main/default/aura/WeeklyReport/WeeklyReport.cmp
new file mode 100644
index 0000000..7700999
--- /dev/null
+++ b/force-app/main/default/aura/WeeklyReport/WeeklyReport.cmp
@@ -0,0 +1,578 @@
+<aura:component controller="WeeklyReportCmp" implements="force:appHostable,flexipage:availableForAllPageTypes,flexipage:availableForRecordHome,force:hasRecordId,force:lightningQuickAction,forceCommunity:availableForAllPageTypes" access="global" >
+ <ltng:require styles="{!$Resource.multilineToastCSS}" />聽
+ <aura:handler name="init" value="{!this}" action="{!c.doInit}"/>
+ <aura:handler event="c:strike_evt" action="{!c.createAopp}" name="strike_evt_addNewRecord"/>
+ <aura:attribute name="data" type="Agency_Report__c" default="{sobjectType:'Agency_Report__c'}"/>
+ <aura:attribute name="oppdata" type="Agency_Opportunity__c" default="{sobjectType:'Agency_Opportunity__c'}"/>
+ <aura:attribute name="acondata" type="Agency_Contact__c" default="{sobjectType:'Agency_Contact__c'}"/>
+ <!-- <aura:attribute name="oppdata_old" type="Agency_Opportunity__c" default="{sobjectType:'Agency_Opportunity__c'}"/> -->
+ <aura:attribute name="Close_Forecasted_Date__c_o" type="Date"/>
+ <aura:attribute name="Amount__c_o" type="String"/>
+ <aura:attribute name="OCMSale_Price__c_o" type="String"/>
+ <aura:attribute name="StageName__c_o" type="String"/>
+ <aura:attribute name="fieldsmap" type="Map"/>
+ <aura:attribute name="alldata" type="List"/>
+ <aura:attribute name="allselectlist" type="Map"/>
+ <aura:attribute name="doclist" type="List"/>
+ <aura:attribute name="docmap" type="Map"/>
+ <aura:attribute name="login" type="Boolean" default="false"/>
+ <aura:attribute name="loadOpp" type="Boolean" default="false"/>
+ <aura:attribute name="reportPageData" type="Map"/>
+ <aura:attribute name="selectbody" type="String"/>
+ <aura:attribute name="report_date_list" type="Map"/>
+ <aura:attribute name="selected_date" type="String"/>
+ <aura:attribute name="selected_agency_person" type="String"/>
+ <aura:attribute name="agency_report_header" type="String"/>
+ <aura:attribute name="agency_report_header_id" type="String"/>
+ <aura:attribute name="result" type="String" default=""/>
+ <aura:attribute name="hospital" type="string" default=""/>
+ <aura:attribute name="hospitalId" type="string" default=""/>
+ <aura:attribute name="hospitalLinkId" type="string" default=""/>
+ <aura:handler name="change" value="{!v.hospital}" action="{!c.hosChange}"/>
+ <aura:attribute name="hospitalList" type="Map" />
+ <aura:attribute name="doctor_list" type="Map"/>
+ <aura:attribute name="doctor_title" type="String"/>
+ <aura:attribute name="opportunity_list" type="Map"/>
+ <aura:handler name="change" value="{!v.data.Opportunity__c}" action="{!c.opportunityChange}"/>
+ <aura:attribute name="edit_copy_select_report_id" type="String"/>
+ <aura:attribute name="create_agency_report_id" type="String"/>
+ <aura:attribute name="reports" type="List"/>
+ <aura:attribute name="reports_now" type="List"/>
+ <aura:attribute name="reports_now_count" type="Integer"/>
+ <aura:attribute name="mode" type="String"/>
+ <aura:attribute name="select_report_data" type="Map"/>
+ <aura:attribute name="select_report_data_radio" type="Map"/>
+ <aura:attribute name="default_select_doctor_id" type="String"/>
+ <aura:attribute name="default_select_opportunity_id" type="String"/>
+ <aura:attribute name="report_count" type="Integer"/>
+ <aura:attribute name="dialog_type" type="String"/>
+ <aura:attribute name="truthy" type="Boolean" default="false"/>
+ <aura:attribute name="list_message" type="String" default="鎼滅储" />
+ <aura:attribute name="confirm_status" type="Integer" default="0" />
+ <aura:attribute name="modal_confirm_title" type="String" />
+ <aura:attribute name="modal_confirm_text" type="String" />
+ <aura:attribute name="opportunity_cfilter" type="String" />
+ <!-- <aura:handler name="change" value="{!v.data.Product_Category1__c}" action="{!c.productcategoryChange1}"/>
+ <aura:handler name="change" value="{!v.data.Product_Category2__c}" action="{!c.productcategoryChange2}"/>
+ <aura:handler name="change" value="{!v.data.Product_Category3__c}" action="{!c.productcategoryChange3}"/> -->
+ <!-- <aura:handler name="change" value="{!v.oppdata.StageName__c}" action="{!c.stageNameChange}"/> -->
+ <aura:attribute name="update_select_report_data_id" type="String" default=""/>
+
+ <!-- 鎵归噺娣诲姞鍛ㄦ姤 start-->
+ <aura:attribute name="reports_date" type="List" />
+ <!-- <aura:attribute name="reports_date1" type="Date" />
+ <aura:attribute name="reports_date2" type="Date" /> -->
+ <aura:attribute name="TableContent" type="String" description=" Show the Result class"/>
+ <aura:attribute name="TableContent2" type="String" description=" Show the Result class"/>
+ <aura:attribute name="TargetFileName" type="String" description="Name of the file"/>
+ <aura:attribute name="tableheaders" type="Object[]" />
+ <aura:attribute name="fileContentData" type="String"/>
+ <aura:attribute name="filename" type="String"/>
+ <!-- It will display 100 records . Change for your requirement-->
+ <aura:attribute name="NumOfRecords" type="Integer" default="1000"/>
+ <aura:attribute name="showMain" type="Boolean" default="true"/>
+ <!-- PIPL update Yin Mingjie 21/02/2022 start -->
+ <aura:attribute name="AWStoken" type="String"/>
+ <aura:attribute name="AWSsearch" type="String"/>
+ <aura:attribute name="AWSinsert" type="String"/>
+ <aura:attribute name="AWStransactionURL" type="String"/>
+ <aura:attribute name="AWSDoctor2Map" type="String"/>
+ <aura:attribute name="awsurl" type="Map"/>
+ <aura:attribute name="contactawsurl" type="Map"/>
+ <aura:attribute name="allselectlistAgencyPerson" type="Map"/>
+ <!-- PIPL update Yin Mingjie 21/02/2022 end -->
+ <!-- 鎵归噺娣诲姞鍛ㄦ姤 end-->
+ <ltng:require scripts="{! $Resource.AWSService+'/AWSService.js' }" />
+ <ltng:require scripts="{! $Resource.jquery183minjs }" />
+
+ <!--銉兗銉変腑...-->
+ <aura:renderIf isTrue="{!v.login}">
+ <div class="slds-spinner_container height100vh">
+ <div class="slds-spinner--brand slds-spinner slds-spinner--medium" role="alert">
+ <span id="aa" class="slds-assistive-text">Loading</span>
+ <div class="slds-spinner__dot-a"></div>
+ <div class="slds-spinner__dot-b"></div>
+ </div>
+ </div>
+ </aura:renderIf>
+
+ <div aura:id="report" id="report" class="contents_wrapper">
+ <div class="slds-grid slds-wrap slds-grid--pull-padded">
+ <div class="tr mt5 slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-12 slds-large-size--1-of-12">
+ 鍛�
+ </div>
+ <div class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--3-of-12 slds-large-size--3-of-12">
+ <ui:inputSelect aura:id="select_date" class="slds-select" change="{!c.select_date_change}"/>
+ </div>
+
+ <!-- 浠g悊搴楁媴褰撹�� -->
+ <div class="tr mt5 slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-12 slds-large-size--1-of-12">
+ {!v.fieldsmap.Person_In_Charge2__c}
+ </div>
+ <div class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--3-of-12 slds-large-size--3-of-12">
+ <ui:inputSelect aura:id="select_agency_person" class="slds-select agency_person_select" change="{!c.select_agency_change}"/>
+ </div>
+ <div class="tr slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--2-of-12 slds-large-size--2-of-12">
+ <ui:button aura:id="new_button" label="鏂板缓" press="{!c.new_report}" disabled="true"/>
+ </div>
+ <div class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--2-of-12 slds-large-size--2-of-12">
+ <ui:button aura:id="copy_button" label="澶嶅埗" press="{!c.copy_button}" disabled="true"/>
+ <!-- <ui:button aura:id="import" label="瀵煎叆" press="{!c.import}" /> -->
+ <ui:button aura:id="import" label="瀵煎叆" press="{!c.import}" />
+
+ <!-- <input type="file" class="file" aura:id="file" onchange="{!c.CreateRecord}" style="position:absolute;filter:alpha(opacity=0);" size="1" hidden="true" /> -->
+ <!-- <ui:button aura:id="import" label="瀵煎嚭" press="{!c.export}"/> -->
+ <ui:button aura:id="export" label="瀵煎嚭" press="{!c.export_condition}"/>
+ </div>
+
+ </div>
+ </div>
+
+ <div aura:id="report_list" class="report_list_area">
+ <div class="slds-table--edit_container slds-is-relative">
+ <table class="slds-table slds-table--edit slds-table--bordered slds-table--fixed-layout slds-no-cell-focus" role="grid" style="width:66.75rem;">
+ <thead>
+ <tr class="slds-line-height--reset">
+ <th class="table_header slds-text-title--caps">
+
+ </th>
+ <th class="table_header slds-text-title--caps">
+ <span class="slds-truncate" title="Name">{!v.fieldsmap.Person_In_Charge2__c}</span>
+ </th>
+ <th class="table_header slds-text-title--caps">
+ <span class="slds-truncate" title="Name">鍖婚櫌</span>
+ </th>
+ <th class="table_header slds-text-title--caps">
+ <span class="slds-truncate" title="Name">{!v.fieldsmap.Department_Cateogy__c}</span>
+ </th>
+ <th class="table_header slds-text-title--caps">
+ <!-- PIPL update Yin Mingjie 21/02/2022 start
+ <span class="slds-truncate" title="Name">{!v.fieldsmap.doctor2__r}</span>
+ PIPL update Yin Mingjie 21/02/2022 end-->
+ <span class="slds-truncate" title="Name">{!v.fieldsmap.Agency_Contact__c}</span>
+
+ </th>
+ <th class="table_header slds-text-title--caps">
+ <span class="slds-truncate" title="Name">{!v.fieldsmap.visitor_title__c}</span>
+ </th>
+ <th class="table_header slds-text-title--caps">
+ <span class="slds-truncate" title="Name">{!v.fieldsmap.Purpose_Type__c}</span>
+ </th>
+ </tr>
+ </thead>
+ <tbody>
+ <aura:iteration items="{!v.reports}" var="item" indexVar="index">
+ <tr class="slds-hint-parent">
+ <td role="gridcell" class="slds-cell-edit">
+ <ui:inputRadio class="report_radio" name="report_radio" label="{!item.Name}" change="{!c.change_report_radio}"/>
+ <lightning:buttonIcon class="edit_button" iconName="utility:edit" size="small" alternativeText="edit" value="{!index}" onclick="{!c.edit_button}"/>
+ </td>
+ <td role="gridcell" class="slds-cell-edit">
+ <span class="slds-grid slds-grid--align-spread">
+ <span class="slds-truncate" title="{!item.Person_In_Charge2__r.Name}">
+ {!item.Person_In_Charge2__r.Name}
+ <!-- <span class="decrypt">{!item.Person_In_Charge2__r.awsdata.lastName}</span> -->
+ </span>
+ </span>
+ </td>
+ <th scope="row" tabindex="0" class="slds-cell-edit">
+ <span class="slds-grid slds-grid--align-spread">
+ {!item.Agency_Hospital__r.Name}
+ </span>
+ </th>
+ <td role="gridcell" class="slds-cell-edit">
+ <span class="slds-grid slds-grid--align-spread">
+ <span class="slds-truncate" title="{!item.Department_Cateogy__c}">{!item.Department_Cateogy__c}</span>
+ </span>
+ </td>
+ <td role="gridcell" class="slds-cell-edit">
+ <span class="slds-grid slds-grid--align-spread">
+ <span class="slds-truncate" title="{!item.doctor2__r.Name}">
+ <span class="encrypt">{!item.doctor2__r.Name}</span>
+ <span class="decrypt">{!item.doctor2__r.awsdata.name}</span>
+ </span>
+ </span>
+ </td>
+ <td role="gridcell" class="slds-cell-edit">
+ <span class="slds-grid slds-grid--align-spread">
+ <span class="slds-truncate" title="{!item.visitor_title__c}">
+ <span class="encrypt">{!item.visitor_title__c}</span>
+ <span class="decrypt">{!item.doctor2__r.awsdata.doctorDivision1}</span>
+ </span>
+ </span>
+ </td>
+ <td role="gridcell" class="slds-cell-edit">
+ <span class="slds-grid slds-grid--align-spread">
+ <span class="slds-truncate" title="{!item.Purpose_Type__c}">{!item.Purpose_Type__c}</span>
+ </span>
+ </td>
+ </tr>
+ </aura:iteration>
+ </tbody>
+ </table>
+ </div>
+ <aura:renderIf isTrue="{!v.report_count > 0}">
+ <aura:set attribute="else">
+ <div class="no_data_area">
+ {!v.list_message}
+ </div>
+ </aura:set>
+ </aura:renderIf>
+ </div>
+
+<!-- <ui:button aura:id="test_button" label="test" class="fade animation_on" press="{!c.test}"/>-->
+ <!-- 鎵归噺娣诲姞鍛ㄦ姤 start-->
+ <div aura:id="modal_import" role="dialog" tabindex="-1" class="disp_none slds-modal slds-fade-in-open slds-modal--large" aria-labelledby="headerTarget">
+ <div class="slds-modal__container ">
+ <div class="slds-modal__header ">
+ <h4 id="headerTarget" class="slds-float--left"></h4>
+ <h2 id="headerTarget" class="slds-text-heading--medium">鍛ㄦ姤鎵归噺瀵煎叆</h2>
+ <ui:button aura:id="close_button" label="鍏抽棴" class="close_button slds-button slds-button--neutral slds-order--1" press="{!c.close_import}"/>
+ </div>
+ <div class="slds-modal__content slds-scrollable slds-grow slds-p-around--medium " >
+ <aura:if isTrue="{!v.showMain}">
+ <div>
+ <!-- <input type="file" class="file" aura:id="file" onchange="{!c.CreateRecord}" value="瀵煎叆" /> -->
+ <lightning:input type="file" class="file" uara:id="file" onchange="{!c.CreateRecord}" />
+ <!-- <ui:button label="Create Accounts" press="{!c.CreateRecord}"/> -->
+ </div>
+ <aura:set attribute="else">
+ <!-- <ui:outputRichText class="uiOutputRichText slds-m-around-large" value="{!v.TargetFileName}"/> -->
+ <ui:outputRichText class="uiOutputRichText slds-m--around-large" value="{!v.TableContent}"/>
+ <div class="slds-p-around--large slds-align--absolute-center">
+ <lightning:button label="淇濆瓨" variant="brand" onclick="{!c.processFileContent}"
+ />
+ <lightning:button label="鍙栨秷" variant="brand"
+ onclick="{!c.cancel}" />
+ </div>
+
+ </aura:set>
+ </aura:if>
+ </div>
+ </div>
+ </div>
+ <div aura:id="modal_importbg" class="disp_none slds-backdrop slds-backdrop--open"></div>
+ <!-- 鎵归噺娣诲姞鍛ㄦ姤 end-->
+
+ <!-- 鎵归噺瀵煎嚭鍛ㄦ姤 start-->
+ <div aura:id="modal_export" role="dialog" tabindex="-1" class="disp_none slds-modal slds-fade-in-open slds-modal--large" >
+ <div class="slds-modal__container">
+ <div class="slds-modal__header">
+ <h4 id="headerTarget" class="slds-float--left"></h4>
+ <h2 id="headerTarget" class="slds-text-heading--medium">鍛ㄦ姤鎵归噺瀵煎嚭</h2>
+ <ui:button aura:id="close_button" label="鍏抽棴" class="close_button slds-button slds-button--neutral slds-order--1" press="{!c.close_export}"/>
+ </div>
+ <div class="slds-modal__content slds-scrollable slds-grow slds-p-around--medium">
+ <aura:if isTrue="{!v.showMain}">
+ <div class="slds-grid slds-wrap slds-grid--pull-padded" >
+ <div class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-4">
+ </div>
+ <div class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-4">
+ 娲诲姩鏃ュ紑濮嬫棩鏈�
+
+ <lightning:input type="Date" class="slds-input slds-input_bare " aura:id="input-report-date1" />
+ </div>
+ <div class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-4">
+ 娲诲姩鏃ョ粨鏉熸棩鏈�
+ <lightning:input type="Date" class="slds-input slds-input_bare " aura:id="input-report-date2" />
+ </div>
+ <div class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-4">
+ </div>
+
+ <div class="slds-p-around--large slds-align--absolute-center">
+ <lightning:button label="纭" variant="brand" onclick="{!c.select_repores_date}"
+ />
+ <lightning:button label="鍙栨秷" variant="brand"
+ onclick="{!c.close_export}" />
+ </div>
+ </div>
+ <!-- <div>
+ 璇疯緭鍏ヨ瀵煎嚭鏃ユ姤鐨勬姤娲诲姩鏃ョ殑寮�濮嬪拰缁撴潫鏃ユ湡
+ <force:inputField aura:id="input-report-date1"/>鍒�
+ <force:inputField aura:id="input-report-date2"/>
+ <lightning:button label="纭" variant="brand" onclick="{!c.select_repores_date}"
+ />
+ <lightning:button label="鍙栨秷" variant="brand"
+ onclick="{!c.close_export}" />
+ </div> -->
+ <aura:set attribute="else">
+ <ui:outputRichText class="uiOutputRichText slds-m--around-large" value="{!v.TableContent2}"/>
+ <div class="slds-p-around--large slds-align--absolute-center">
+ <lightning:button label="纭" variant="brand" onclick="{!c.exportDate}"
+ />
+ <lightning:button label="鍙栨秷" variant="brand"
+ onclick="{!c.close_export}" />
+ </div>
+
+ </aura:set>
+ </aura:if>
+ </div>
+ </div>
+ </div>
+ <div aura:id="modal_exportbg" class="disp_none slds-backdrop slds-backdrop--open"></div>
+ <!-- 鎵归噺瀵煎嚭鍛ㄦ姤 end-->
+
+ <div aura:id="modal_window" role="dialog" tabindex="-1" class="disp_none slds-modal slds-fade-in-open slds-modal--large" aria-labelledby="headerTarget">
+ <div class="slds-modal__container">
+ <div class="slds-modal__header">
+ <h4 id="headerTarget" class="slds-float--left">{!v.dialog_type}</h4>
+ <h2 id="headerTarget" class="slds-text-heading--medium">鍛ㄦ姤({!v.selected_date} {!v.selected_agency_person})</h2>
+ <ui:button aura:id="close_button" label="鍏抽棴" class="close_button slds-button slds-button--neutral slds-order--1" press="{!c.toggle_report}"/>
+ </div>
+ <div class="slds-modal__content slds-grow slds-p-around--medium">
+ <div class="slds-box slds-theme--shade">
+ <div class="slds-grid slds-wrap slds-grid--pull-padded" >
+ <div class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-6">
+ 娲诲姩鏃�
+ <!-- <ui:inputSelect aura:id="select_opportunity" class="slds-select"/> -->
+ <force:inputField value="{!v.data.Report_Date__c}" aura:id="input-report-date"/>
+ </div>
+ <!-- 鍖婚櫌 -->
+ <div aura:id="hospital_list" class="slds-form-element slds-lookup slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-5" data-select="single">
+ <ui:inputText aura:id="hospital_input_text" label="鍖婚櫌" class="field" value="{!v.hospital}" updateOn="keyup"/>
+ <div class="slds-lookup__menu" id="lookup-66">
+ <ul class="slds-lookup__list" role="listbox">
+ <aura:iteration var="hospital" items="{!v.hospitalList}">
+ <li role="presentation" onclick="{!c.selectHos}" data-accName="{!hospital.Hospital_Name_readonly__c}" data-accId="{!hospital.Hospital__c}">
+ <span class="slds-lookup__item-action slds-media" id="lookup-option-498" role="option">
+ <div class="slds-media__body">
+ <div class="slds-lookup__result-text">{!hospital.Hospital_Name_readonly__c}</div>
+ </div>
+ </span>
+ </li>
+ </aura:iteration>
+ </ul>
+ </div>
+ </div>
+
+ <!-- 绉戝鍒嗙被 -->
+ <div class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-8">
+ {!v.fieldsmap.Department_Cateogy__c}
+ <ui:inputSelect aura:id="select_department" class="slds-select" change="{!c.select_department}"/>
+ </div>
+
+ <!-- 鍏堢敓 -->
+ <div class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-8">
+ {!v.fieldsmap.doctor2__c}
+ <ui:inputSelect aura:id="select_doctor" class="slds-select" change="{!c.doctor_change}"/>
+ </div>
+
+ <div class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-12">
+ <br/>
+ <ui:button label="鏂板缓" class="slds-button" press="{!c.createCon}" disabled="true" aura:id="new_con"/>
+ </div>
+
+ <!-- 鑱屼綅 -->
+ <div class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-8">
+ {!v.fieldsmap.visitor_title__c}
+ <div>{!v.doctor_title}</div>
+ </div>
+ <!-- 娲诲姩鍖哄垎 -->
+ <div class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-6">
+ {!v.fieldsmap.Purpose_Type__c}
+ <ui:inputSelect aura:id="select_purpose_type" class="slds-select" change="{!c.select_purpose_type}"/>
+ </div>
+ <!-- 璇环 -->
+ <div aura:id="input-opportunity-opp" class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--4-of-12 slds-large-size--4-of-12">
+ {!v.fieldsmap.Opportunity__c}
+ <!-- <ui:inputSelect aura:id="select_opportunity" class="slds-select"/> -->
+ <!-- <force:inputField value="{!v.data.Opportunity__c}" aura:id="input-opportunity"/> -->
+ <c:strike_lookup label=""
+ object="Agency_Opportunity__c"
+ searchField="Name"
+ placeholder="鎼滅储缁忛攢鍟嗚浠�..."
+ iconName="standard:opportunity"
+ subtitleField="Department_Cateogy__c,Agency_Opportunity_No__c,Change_To_Opportunity__r.Name"
+ order="StageName__c"
+ limit="5"
+ loadingMessage="Loading..."
+ errorMessage="Invalid input"
+ allowNewRecords = "true"
+ overrideNewEvent = "true"
+ showRecentRecords ="true"
+ value="{!v.data.Opportunity__c}"
+ filter="{!v.opportunity_cfilter}"
+ subTitleFormat="{0}+{1}+{2}"/>
+ </div>
+ <div aura:id="input-opportunity-blank" class="lds-p-horizontal--small slds-size--1-of-1 slds-medium-size--8-of-12 slds-large-size--8-of-12">
+ </div>
+ <div aura:id="input-opportunity-stage" class="disp_none slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--2-of-12 slds-large-size--2-of-12">
+ {!v.fieldsmap.StageName__c}
+ <!-- <ui:inputSelect aura:id="select_opportunity" class="slds-select"/> -->
+ <ui:inputSelect aura:id="select_stageName" class="slds-select"/>
+ <!-- <force:inputField value="{!v.oppdata.StageName__c}" aura:id="input-oppstage" /> -->
+ </div>
+ <div aura:id="input-opportunity-amount1" class="disp_none slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--2-of-12 slds-large-size--2-of-12">
+ {!v.fieldsmap.Amount__c}
+ <!-- <ui:inputSelect aura:id="select_opportunity" class="slds-select"/> -->
+ <force:inputField value="{!v.oppdata.Amount__c}" class=""/>
+ </div>
+ <div aura:id="input-opportunity-amount2" class="disp_none slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--2-of-12 slds-large-size--2-of-12">
+ {!v.fieldsmap.OCMSale_Price__c}
+ <!-- <ui:inputSelect aura:id="select_opportunity" class="slds-select"/> -->
+ <force:inputField value="{!v.oppdata.OCMSale_Price__c}" class=""/>
+ </div>
+ <div aura:id="input-opportunity-date" class="disp_none slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--2-of-12 slds-large-size--2-of-12">
+ {!v.fieldsmap.Close_Forecasted_Date__c}
+ <!-- <ui:inputSelect aura:id="select_opportunity" class="slds-select"/> -->
+ <force:inputField value="{!v.oppdata.Close_Forecasted_Date__c}" class=""/>
+ </div>
+ <!-- 瑁藉搧鍒嗛 -->
+ <div aura:id="product_category_select1" class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--3-of-12 slds-large-size--3-of-12">
+ {!v.fieldsmap.Product_Category1__c}
+ <!-- <force:inputField value="{!v.data.Product_Category1__c}" aura:id="input-product-category1"/> -->
+ <ui:inputSelect aura:id="select_Product1" class="slds-select" change="{!c.productcategoryChange1}"/>
+ </div>
+ <div aura:id="product_category_select2" class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--3-of-12 slds-large-size--3-of-12">
+ {!v.fieldsmap.Product_Category2__c}
+ <!-- <force:inputField value="{!v.data.Product_Category2__c}" aura:id="input-product-category2"/> -->
+ <ui:inputSelect aura:id="select_Product2" class="slds-select" change="{!c.productcategoryChange2}"/>
+ </div>
+ <div aura:id="product_category_select3" class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--3-of-12 slds-large-size--3-of-12">
+ {!v.fieldsmap.Product_Category3__c}
+ <!-- <force:inputField value="{!v.data.Product_Category3__c}" aura:id="input-product-category3"/> -->
+ <ui:inputSelect aura:id="select_Product3" class="slds-select" change="{!c.productcategoryChange3}"/>
+ </div>
+ <!--SWAG-CBX68C fy 銆愬鎵樸�慏AMS绯荤粺鍛ㄦ姤妯″潡鍐呭闇�姹傚鍔� start-->
+ <!-- 鏀彺闇�姹� change="{!c.SupportNeeds__c}"-->
+ <div class="slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-5 slds-large-size--1-of-6">
+ {!v.fieldsmap.SupportNeeds__c}
+ <ui:inputSelect aura:id="SupportNeeds__c" class="slds-select" />
+ </div>
+ <!--SWAG-CBX68C fy 銆愬鎵樸�慏AMS绯荤粺鍛ㄦ姤妯″潡鍐呭闇�姹傚鍔� end-->
+ <div aura:id="result" class="disp_none slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--3-of-12 slds-large-size--3-of-12">
+ {!v.fieldsmap.Result__c}
+ <ui:inputSelect aura:id="select_result" class="slds-select"/>
+ <!-- <ui:inputText label="缁撴灉" class="bcolor" value="{!v.result}"/> -->
+ </div>
+ </div>
+ </div>
+ <div class="save_button_area">
+ <ui:button aura:id="save_button" label="淇濆瓨骞舵柊寤�" class="save_button slds-button slds-button--brand slds-order--3" press="{!c.save_report}"/>
+ </div>
+
+ <aura:renderIf isTrue="{!v.reports_now_count > 0}">
+ <div class="mt40 slds-box slds-theme--shade">
+ <div class="slds-table--edit_container slds-is-relative">
+ <table class="slds-table slds-table--edit slds-table--bordered slds-table--fixed-layout slds-no-cell-focus" role="grid">
+ <thead>
+ <tr class="slds-line-height--reset">
+ <th class="table_header slds-text-title--caps">
+ <span class="slds-truncate" title="Name"></span>
+ </th>
+ <th class="table_header slds-text-title--caps">
+ <span class="slds-truncate" title="Name">鍖婚櫌</span>
+ </th>
+ <th class="table_header slds-text-title--caps">
+ <span class="slds-truncate" title="Name">{!v.fieldsmap.Department_Cateogy__c}</span>
+ </th>
+ <th class="table_header slds-text-title--caps">
+ <span class="slds-truncate" title="Name">{!v.fieldsmap.doctor2__c}</span>
+ </th>
+ <th class="table_header slds-text-title--caps">
+ <span class="slds-truncate" title="Name">{!v.fieldsmap.visitor_title__c}</span>
+ </th>
+ <th class="table_header slds-text-title--caps">
+ <span class="slds-truncate" title="Name">{!v.fieldsmap.Purpose_Type__c}</span>
+ </th>
+ </tr>
+ </thead>
+ <tbody>
+ <aura:iteration items="{!v.reports_now}" var="item" indexVar="index">
+ <tr aura:id="modal_data_list_tr" class="slds-hint-parent">
+ <td role="gridcell" class="slds-cell-edit">
+ <span class="slds-grid slds-grid--align-spread">
+ <span class="slds-truncate" title="{!item.Department_Cateogy__c}">{!item.Name}</span>
+ </span>
+ </td>
+ <td role="gridcell" class="slds-cell-edit">
+ <span class="slds-grid slds-grid--align-spread">
+ <span class="slds-truncate" title="{!item.Agency_Hospital__r.Name}">{!item.Agency_Hospital__r.Name}</span>
+ </span>
+ </td>
+ <td role="gridcell" class="slds-cell-edit">
+ <span class="slds-grid slds-grid--align-spread">
+ <span class="slds-truncate" title="{!item.Department_Cateogy__c}">{!item.Department_Cateogy__c}</span>
+ </span>
+ </td>
+ <td role="gridcell" class="slds-cell-edit">
+ <span class="slds-grid slds-grid--align-spread">
+ <span class="slds-truncate" title="{!item.doctor2__r.Name}">
+ <span class="encrypt">{!item.doctor2__r.Name}</span>
+ <span class="decrypt">{!item.doctor2NameOrigin}</span>
+ </span>
+ </span>
+ </td>
+ <td role="gridcell" class="slds-cell-edit">
+ <span class="slds-grid slds-grid--align-spread">
+ <span class="slds-truncate" title="{!item.visitor_title__c}">
+ <span class="encrypt">{!item.visitor_title__c}</span>
+ <span class="decrypt">{!item.visitorTitleOrigin}</span>
+ </span>
+ </span>
+ </td>
+ <td role="gridcell" class="slds-cell-edit">
+ <span class="slds-grid slds-grid--align-spread">
+ <span class="slds-truncate" title="{!item.Purpose_Type__c}">{!item.Purpose_Type__c}</span>
+ </span>
+ </td>
+ </tr>
+ </aura:iteration>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ </aura:renderIf>
+ </div>
+ </div>
+ </div>
+ <div aura:id="modal_bg" class="disp_none slds-backdrop slds-backdrop--open"></div>
+
+ <div aura:id="modal_confirm" role="dialog" tabindex="-2" aria-labelledby="header43" class="disp_none slds-modal slds-fade-in-open">
+ <div class="slds-modal__container">
+ <div class="slds-modal__header">
+ <h2 id="header43" class="slds-text-heading--medium">{!v.modal_confirm_title}</h2>
+ </div>
+ <div class="slds-modal__content slds-p-around--medium">
+ <p>{!v.modal_confirm_text}</p>
+ </div>
+ <div class="slds-modal__footer">
+ <ui:button label="鏄�" class="slds-button slds-button--brand" press="{!c.yes_button}"/>
+ <ui:button label="鍚�" class="slds-button slds-button--neutral" press="{!c.no_button}" />
+ </div>
+ </div>
+ </div>
+ <div aura:id="modal_confirm_bg" class="disp_none slds-backdrop slds-backdrop--open"></div>
+
+ <div aura:id="modal_newAC" role="dialog" tabindex="-3" aria-labelledby="headertest" class="disp_none slds-modal slds-fade-in-open">
+ <div class="slds-modal__container">
+ <div class="slds-modal__header">
+ <h2 id="headertest" class="slds-text-heading--medium">鏂板缓.瀹㈡埛浜哄憳</h2>
+ </div>
+ <div class="slds-modal__content slds-p-around--medium">
+ <lightning:recordEditForm aura:id="recordEditForm" objectApiName="Agency_Contact__c" onsuccess="{!c.handleSuccess}" onload="{!c.showRequiredFields}" onsubmit="{!c.handleSubmit}">
+ <lightning:messages aura:id="OppMessage" />
+ <!-- onload="{!c.showRequiredFields}" -->
+ <aura:renderIf isTrue="{!v.truthy}">
+ <lightning:inputField fieldName="Name" aura:id="newOpportunityField" />
+ <lightning:inputField fieldName="Type__c" aura:id="newOpportunityField" />
+ <lightning:inputField fieldName="Doctor_Division1__c" aura:id="newOpportunityField" />
+ <!-- <lightning:inputField class="customRequired none" aura:id="Input_type__c" fieldName="Type__c"/>
+ <lightning:inputField class="customRequired none" aura:id="Input_Doctor_Division1__c" fieldName="Doctor_Division1__c"/> -->
+ </aura:renderIf>
+ <br/>
+ <br/>
+ <br/>
+ <br/>
+ <br/>
+ <div class="save_button_area">
+ <lightning:button class="slds-m-top_small" type="button" label="鍙栨秷" onclick="{!c.createCancel}"/>
+ <lightning:button class="slds-m-top_small" type="submit" label="淇濆瓨" />
+ </div>
+ </lightning:recordEditForm>
+ </div>
+ </div>
+ </div>
+
+
+</aura:component>
\ No newline at end of file
diff --git a/force-app/main/default/aura/WeeklyReport/WeeklyReport.cmp-meta.xml b/force-app/main/default/aura/WeeklyReport/WeeklyReport.cmp-meta.xml
new file mode 100644
index 0000000..e7c0133
--- /dev/null
+++ b/force-app/main/default/aura/WeeklyReport/WeeklyReport.cmp-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<AuraDefinitionBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>42.0</apiVersion>
+ <description>A Lightning Component Bundle</description>
+</AuraDefinitionBundle>
diff --git a/force-app/main/default/aura/WeeklyReport/WeeklyReport.css b/force-app/main/default/aura/WeeklyReport/WeeklyReport.css
new file mode 100644
index 0000000..2cf535d
--- /dev/null
+++ b/force-app/main/default/aura/WeeklyReport/WeeklyReport.css
@@ -0,0 +1,141 @@
+.THIS .bcolor {
+ color: #333;
+}
+.THIS.height100vh {
+ height: 100vh;
+}
+.THIS.contents_wrapper {
+ padding-top: 50px;
+}
+.THIS .mt5 {
+ margin-top: 5px;
+}
+.THIS .mt40 {
+ margin-top: 40px;
+}
+.THIS .edit_button {
+ float: right;
+ margin: -1.5em 0.5em 0 0;
+ border: 0;
+}
+.THIS .no_data_area {
+ text-align: center;
+ margin: .5em 0;
+}
+.THIS.report_list_area {
+ margin: 40px 0 20px 100px;
+ height: 60vh;
+ overflow-y: scroll;
+}
+.THIS .report_radio {
+ float: left;
+}
+.THIS .table_header {
+ width: 9.4rem;
+ height: 2em;
+}
+.THIS.disp_none {
+ display: none;
+}
+.THIS .disp_none {
+ display: none;
+}
+.THIS .tr {
+ text-align: right;
+}
+.THIS .close_button {
+ float: right;
+ margin-top: -2em;
+}
+.THIS .close_icn svg {
+ fill: #fefefe;
+}
+.THIS .slds-progress__marker {
+ cursor: default;
+}
+.THIS .progress_0 {
+ width: 0%;
+}
+.THIS .progress_100 {
+ width: 100%;
+}
+.THIS .new_btn_area {
+ text-align: center;
+ margin-top: 22px;
+}
+.THIS .new_btn {
+ width: 100%;
+}
+.THIS .save_button_area {
+ margin: 1em 0;
+ text-align: right;
+}
+.THIS .save_button {
+ background-color: #ffa500;
+ border: 1px solid #ff8c00;
+}
+.THIS .report_data_header {
+ border-bottom: 2px solid #ccc;
+}
+.THIS .report_data_area {
+ border-bottom: 1px solid #ccc;
+}
+.THIS.fade {
+ transition: 5s opacity linear;
+}
+.THIS.animation_off {
+ opacity: 0;
+}
+.THIS.animation_on {
+ opacity: 1;
+}
+.THIS .fade {
+ transition: 5s opacity linear;
+}
+.THIS .animation_off {
+ opacity: 0;
+}
+.THIS .animation_on {
+ opacity: 1;
+}
+.THIS .divbotuser{
+ width:fit-content;
+}
+
+.THIS .toastMessage.forceActionsText{
+ white-space : pre-line !important;
+}
+
+.THIS .slds-file-selector__dropzone .slds-file-selector__text{
+ display: none;
+}
+
+.THIS .slds-input:focus, .THIS .slds-input:active {
+ border-color: rgb(216, 221, 230);
+ box-shadow: none;
+}
+
+.THIS .customRequired{
+ font-weight: 400;
+}
+.THIS .customRequired:before{
+ content: "*";
+ margin: 0 0.125rem 0 0.125rem;
+ color: rgb(194, 57, 52);
+ float: left;
+}
+.THIS .none{
+ display:none;
+}
+
+.THIS tr .decrypt{
+ display: none;
+}
+
+.THIS tr:hover .decrypt{
+ display: unset;
+}
+
+.THIS tr:hover .encrypt{
+ display: none;
+}
\ No newline at end of file
diff --git a/force-app/main/default/aura/WeeklyReport/WeeklyReportController.js b/force-app/main/default/aura/WeeklyReport/WeeklyReportController.js
new file mode 100644
index 0000000..1b97f08
--- /dev/null
+++ b/force-app/main/default/aura/WeeklyReport/WeeklyReportController.js
@@ -0,0 +1,318 @@
+({
+ doInit : function(component, event, helper) {
+ console.log('zhj 鏂版柟妗�');
+ if (window.location.href.endsWith("weekly-report")) {
+ helper.doinit(component, event, helper);
+ } else {
+ helper.hideCmp(component, event, helper);
+ }
+ },
+
+ createAopp : function(component, event, helper) {
+ var addRecordEvent = $A.get('e.force:createRecord');
+ addRecordEvent.setParams({
+ entityApiName: 'Agency_Opportunity__c',
+ recordTypeId: '012100000006KW7'
+ });
+ addRecordEvent.fire();
+ },
+
+ new_report : function(component, event, helper) {
+ component.find('save_button').set('v.label', '淇濆瓨骞舵柊寤�');
+ helper.new_report(component, event, helper);
+ },
+
+ copy_button : function(component, event, helper) {
+ component.find('save_button').set('v.label', '淇濆瓨骞舵柊寤�');
+ helper.copy_button(component, event, helper);
+ },
+
+ change_report_radio : function(component, event, helper) {
+ helper.change_report_radio(component, event, helper);
+ },
+
+ edit_button : function(component, event, helper) {
+ component.find('save_button').set('v.label', '淇濆瓨');
+ helper.edit_button(component, event, helper);
+ },
+
+ createCon : function(component, event, helper) {
+ helper.createCon(component, event, helper);
+ },
+
+ showRequiredFields: function(component, event, helper){
+ $A.util.removeClass(component.find("newOpportunityField"), "none");
+ $A.util.removeClass(component.find("newOpportunityField"), "none");
+ },
+
+ handleSuccess : function(component, event, helper) {
+ helper.handleSuccess(component, event, helper);
+ },
+
+ handleSubmit : function(component, event, helper) {
+ /*
+ var params = event.getParams();
+ params.fields["Agency_Hospital__c"] = component.get('v.hospitalLinkId');
+ console.log(params);
+ event.setParams(params);
+ */
+ event.preventDefault(); // stop form submission
+ // vivek 娣诲姞楠岃瘉 start
+ // helper.handleFormSubmit(component);
+ var showValidationError = false;
+ var fields = component.find("newOpportunityField");
+ var vaildationFailReason = '';
+ // var vaildationFailReason2 = '';
+ // var currentDate = new Date().toJSON().slice(0,10);
+
+ // PIPL update Yin Mingjie 21/02/2022 start
+ let agencyReport = Object.create(null);
+ // PIPL update Yin Mingjie 21/02/2022 end
+
+ fields.forEach(function (field) {
+ if(field.get("v.fieldName") === 'Type__c' && $A.util.isEmpty(field.get("v.value"))){
+ showValidationError = true;
+ vaildationFailReason = "鍒嗙被涓嶈兘涓虹┖锛�";
+ }else if(field.get("v.fieldName") === 'Doctor_Division1__c' && $A.util.isEmpty(field.get("v.value"))){
+ showValidationError = true;
+ if(vaildationFailReason != ''){
+ vaildationFailReason += "鍖荤敓鍖哄垎(鑱屽姟)涓嶈兘涓虹┖锛�";
+ }else{
+ vaildationFailReason = "鍖荤敓鍖哄垎(鑱屽姟)涓嶈兘涓虹┖锛�";
+ }
+
+ }
+ // PIPL update Yin Mingjie 21/02/2022 start
+ if(field.get("v.fieldName") === 'Name'){
+ agencyReport['name'] = field.get("v.value");
+ }else if(field.get("v.fieldName") === 'Type__c'){
+ agencyReport['type'] = field.get("v.value");
+ }else if(field.get("v.fieldName") === 'Doctor_Division1__c'){
+ agencyReport['doctorDivision1'] = field.get("v.value");
+ }
+ // PIPL update Yin Mingjie 21/02/2022 end
+ });
+
+ if (!showValidationError) {
+ // PIPL update Yin Mingjie 21/02/2022 start
+ /*
+ var eventFields = event.getParam("fields");
+ eventFields["Agency_Hospital__c"] = component.get('v.hospitalLinkId');
+ component.find('recordEditForm').submit(eventFields);
+ */
+
+ var agencyHospitalid = component.get('v.hospitalLinkId');
+ //zhj MEBG鏂版柟妗堟敼閫� 2022-11-29 start
+ debugger
+ let hospitalName = '';
+ //璋冪敤鍚庣searchAgencyDataId鏂规硶鏌ヨ鍑哄尰闄笅闈㈡墍鏈夊鎴蜂汉鍛榙ataid
+ helper.CallBackAction(component,'searchAgencyDataId',{
+ hospitalId : agencyHospitalid
+ },function(data){
+ if(data.getState() == "SUCCESS"){
+ var data = data.getReturnValue();
+ if(data.IsSuccess == true){
+ let agencyContactIds = ''
+ if(data.Message == '' && data.Data && data.Data.length > 0){
+ hospitalName = data.Data[0].Agency_Hospital__r.Name;
+ for(var i=0;i<data.Data.length;i++){
+ if(data.Data[i].AWS_Data_Id__c)
+ agencyContactIds += ','+data.Data[i].AWS_Data_Id__c;
+ }
+ agencyContactIds = agencyContactIds.substring(1);
+ agencyReport['agencyContactIds'] = agencyContactIds;
+ }else{
+ agencyReport['agencyContactIds'] = agencyContactIds;
+ }
+ var arr = new Array();
+ arr.push(agencyReport);
+ var requestData = JSON.stringify(arr);
+ // helper.set_aws_url(component,data,agencyHospitalid);
+
+ var token = component.get('v.AWStoken');
+ var newUrl = component.get('v.AWSinsert') + 'V2';
+
+ component.set('v.login',true);
+ helper.insert_agencycontact(component,token,newUrl,requestData,agencyHospitalid,helper,hospitalName);
+ }else{
+ helper.ShowToast({
+ "message" : data.message,
+ "type" : "error"
+ });
+ }
+ }else{
+ helper.ShowToast({
+ "message" : 'searchAgency澶辫触',
+ "type" : "error"
+ });
+ }
+ })
+ //zhj MEBG鏂版柟妗堟敼閫� 2022-11-29 end
+ // var arr = new Array();
+ // arr.push(agencyReport);
+ // var data = JSON.stringify(arr);
+ // // helper.set_aws_url(component,data,agencyHospitalid);
+
+ // var token = component.get('v.AWStoken');
+ // var newUrl = component.get('v.AWSinsert');
+
+ // component.set('v.login',true);
+ // helper.insert_agencycontact(component,token,newUrl,data,agencyHospitalid,helper);
+
+ // PIPL update Yin Mingjie 21/02/2022 end
+ }else{
+ component.find('OppMessage').setError(vaildationFailReason);
+ }
+ // var eventFields = event.getParam("fields");
+ // eventFields["Agency_Hospital__c"] = component.get('v.hospitalLinkId');
+ // component.find('recordEditForm').submit(eventFields);
+ // vivek 娣诲姞楠岃瘉 end
+ },
+
+ createCancel : function(component, event, helper) {
+ helper.createCancel(component, event, helper);
+ },
+
+ yes_button : function(component, event, helper) {
+ component.set('v.confirm_status', 1);
+ helper.close_confirm(component, component.get('v.modal_confirm_title'), component.get('v.modal_confirm_text'));
+ },
+
+ no_button : function(component, event, helper) {
+ component.set('v.confirm_status', 2);
+ helper.close_confirm(component, component.get('v.modal_confirm_title'), component.get('v.modal_confirm_text'));
+ },
+
+ toggle_report : function(component, event, helper) {
+ helper.toggle_report(component);
+ },
+
+ save_report : function(component, event, helper) {
+ helper.save_report(component, event, helper);
+ },
+
+ select_date_change : function(component, event, helper) {
+ helper.select_date_change(component, event, helper);
+ },
+
+ select_agency_change : function(component, event, helper) {
+ helper.select_agency_change(component, event, helper);
+ },
+
+ hosChange : function(component, event, helper) {
+ var hospital_name = event.getParam("value");
+ if (hospital_name.match(/(\S+\s)+/)) {
+ helper.searchHos(component, event, helper);
+ } else {
+ helper.hideSearch(component, event, helper);
+ }
+ },
+
+ selectHos : function(component, event, helper) {
+ helper.selectHos(component, event, helper);
+ helper.setOpportunity_cfilter(component);
+ },
+ select_department : function(component, event, helper) {
+ helper.select_department(component, event, helper);
+ helper.setOpportunity_cfilter(component);
+ },
+ select_purpose_type : function(component, event, helper) {
+ helper.select_purpose_type(component, event, helper);
+ },
+
+ doctor_change : function(component, event, helper) {
+ helper.doctor_change(component, event, helper);
+ },
+
+ opportunityChange : function(component, event, helper) {
+ helper.opportunityChange(component, event, helper);
+ },
+
+ productcategoryChange1 : function(component, event, helper) {
+ helper.productcategoryChange1(component, event, helper);
+ },
+ productcategoryChange2 : function(component, event, helper) {
+ helper.productcategoryChange2(component, event, helper);
+ },
+ productcategoryChange3 : function(component, event, helper) {
+ helper.productcategoryChange3(component, event, helper);
+ },
+ stageNameChange : function(component, event, helper) {
+ helper.stageNameChange(component, event, helper);
+ },
+ onDragOver : function(component, event, helper) {
+ event.preventDefault();
+ },
+
+ onDrop : function(component, event, helper) {
+ event.stopPropagation();
+ event.preventDefault();
+ event.dataTransfer.dropEffect='copy';
+ var files=event.dataTransfer.files;
+ helper.readFile(component,helper,files[0]);
+ },
+ CreateRecord : function(component, event, helper){
+ var files = event.getSource().get("v.files");
+ // var fileInput = component.find("file").getElement();
+ // var file = fileInput.files[0];
+ helper.readFile(component,helper,files[0]);
+ },
+
+ processFileContent : function(component,event,helper){
+ helper.saveRecords(component,event,helper);
+ },
+
+ cancel : function(component,event,helper){
+ component.set("v.showMain",true);
+ },
+
+ import : function(component,event,helper){
+ // component.find('file').click();
+ // console.log('lll'+component.find('file'));
+ helper.showImport(component);
+ },
+ exportDate : function(component,event,helper){
+ var stockData = component.get("v.reports_date");
+ console.log('瀵煎嚭鏁版嵁'+stockData);
+ var csv = helper.convertArrayOfObjectsToCSV(component,stockData);
+ if (csv == null){return;}
+
+ // ####--code for create a temp. <a> html tag [link tag] for download the CSV file--####
+ var universalBOM = "\uFEFF";
+ var hiddenElement = document.createElement('a');
+ hiddenElement.href = 'data:text/csv;charset=utf-8,' + encodeURI(universalBOM+csv);
+ hiddenElement.target = '_self'; //
+ hiddenElement.download = 'ExportData.csv'; // CSV file Name* you can change it.[only name not .csv]
+ document.body.appendChild(hiddenElement); // Required for FireFox browser
+ hiddenElement.click(); // using click() js function to download csv file
+ // helper.showExport(component);
+
+ },
+
+ export_condition : function(component,event,helper){
+ helper.showExport(component);
+ },
+
+ select_repores_date : function(component,event,helper){
+ helper.select_repores_date(component,event,helper);
+ // var stockData = component.get("v.reports_date");
+ // console.log('鏌ュ嚭鐨勬暟鎹�'+stockData);
+ // helper.showExportDate(component,stockData);
+ // this.export(component,event,helper);
+ },
+ export : function(component,event,helper){
+ console.log('杩涘叆export');
+ var stockData = component.get("v.reports_date");
+ console.log('鏌ュ嚭鐨勬暟鎹�'+stockData);
+ // helper.showExportDate(component,stockData);
+ // helper.showExport(component);
+ },
+ close_import : function(component,event,helper){
+ component.set("v.showMain",true);
+ helper.close_import(component);
+ },
+ close_export : function(component,event,helper){
+ component.set("v.showMain",true);
+ helper.close_export(component);
+ }
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/WeeklyReport/WeeklyReportHelper.js b/force-app/main/default/aura/WeeklyReport/WeeklyReportHelper.js
new file mode 100644
index 0000000..4122f49
--- /dev/null
+++ b/force-app/main/default/aura/WeeklyReport/WeeklyReportHelper.js
@@ -0,0 +1,2382 @@
+({
+ doinit : function(component, event, helper) {
+ this.report_date_list(component, event, helper, 5);
+ component.set('v.login',true);
+ var action = component.get('c.getalldata');
+ action.setCallback(this,function(response){
+ var state = response.getState();
+ if(state == 'SUCCESS'){
+ var res = response.getReturnValue();
+ component.set('v.alldata',res.reports);
+ component.set('v.fieldsmap',res.fieldsMap);
+ component.set('v.allselectlist',res.allselectlist);
+ component.set('v.doclist',res.doclist);
+ // PIPL update Yin Mingjie 21/02/2022 start
+ component.find('select_agency_person').set('v.options', this.conv_selected(res.allselectlist.AgencyPerson__c));
+ // this.search_contact(component, event, helper,res.allselectlist.AgencyPerson__c);
+ // PIPL update Yin Mingjie 21/02/2022 end
+ component.find('select_department').set('v.options', this.conv_selected(res.allselectlist.Department_Cateogy__c));
+ component.find('select_purpose_type').set('v.options', this.conv_selected(res.allselectlist.Purpose_Type__c));
+ component.find('select_result').set('v.options', this.conv_selected(res.allselectlist.Result__c));
+ component.find('select_stageName').set('v.options', this.conv_selected(res.allselectlist.StageName__c));
+ //SWAG-CBX68C fy 銆愬鎵樸�慏AMS绯荤粺鍛ㄦ姤妯″潡鍐呭闇�姹傚鍔� start
+ component.find('SupportNeeds__c').set('v.options', this.conv_selected(res.allselectlist.SupportNeeds__c));
+ //SWAG-CBX68C fy 銆愬鎵樸�慏AMS绯荤粺鍛ㄦ姤妯″潡鍐呭闇�姹傚鍔� end
+ component.set('v.selected_agency_person', res.allselectlist.AgencyPerson__c[0].label);
+ component.set('v.dialog_type', '鏂板缓');
+ component.set('v.awsurl', res.awsurl);// 20220222 PI鏀归�� by Bright
+ component.set('v.contactawsurl', res.contactawsurl);// 20220222 PI鏀归�� by Bright
+
+ this.get_reports(component, event, helper, component.find('select_date').get('v.value'), component.find('select_agency_person').get('v.value'));
+
+ component.set('v.login',false);
+ }
+ else{
+ this.error('doinit failed.');
+ component.set('v.login',false);
+ }
+ });
+ $A.enqueueAction(action);
+ },
+
+ // PIPL update Yin Mingjie 21/02/2022 start
+ search_contact : function(component, event, helper, resobj) {
+ let contactData = Object.create(null);
+ var dataArr = new Array();
+ for (let i = 0; i < resobj.length; i++) {
+ if (resobj[i].awsid != null && resobj[i].awsid != ''){
+ contactData[resobj[i].awsid] = resobj[i];
+ dataArr.push(resobj[i].awsid);
+ }
+ }
+ let obj= Object.create(null);
+ obj['dataIds'] = dataArr;
+ var payload = JSON.stringify(obj);
+ this.search_contact_url(component, 'Contact', (result)=>{
+ var token = result.token;
+ var searchUrl = result.searchUrl;
+ this.search_core(token,searchUrl,payload,(result)=>{
+ if(result.status == '0'){
+ if(result.object != null){
+ this.to_contact_list(result,contactData,component);
+ }else{
+ component.set('v.login',false);
+ }
+ }else{
+ this.error('AWS search status1 : ' + result.status);
+ component.set('v.login',false);
+ }
+ },component);
+
+ });
+ },
+
+ to_contact_list : function(result,retMap,component) {
+ var resls = result.object;
+ var res = [];
+ var space = {};
+ space['label'] = '';
+ space['selected'] = true;
+ space['value'] = '';
+ res.push(space);
+
+ for (var i = 0; i < resls.length; i++) {
+ var t = {};
+ t['label'] = resls[i].lastName;
+ t['selected'] = false;
+ t['Doctor_Division1__c'] = resls[i].doctorDivision1;
+ t['value'] = retMap[resls[i].dataId].value;
+ res.push(t);
+ }
+ component.find('select_agency_person').set('v.options',res);
+ component.set('v.allselectlistAgencyPerson',res);
+ component.set('v.login',false);
+ },
+
+ search_contact_url : function(component, sobject, callback) {
+ var action = component.get('c.getAwsurl');
+ action.setParams({
+ "sobj" : sobject,
+ });
+ action.setCallback(this,function(response){
+ var state = response.getState();
+ if(state == 'SUCCESS'){
+ var result = response.getReturnValue();
+ if(callback)callback(result);
+ }
+ else{
+ this.error('AWS url/token error.');
+ component.set('v.login',false);
+ }
+ });
+ $A.enqueueAction(action);
+ },
+ // PIPL update Yin Mingjie 21/02/2022 end
+
+ select_department : function(component, event, helper) {
+ var dc = component.find("select_department").get("v.value");
+ dc = dc ? '%'+dc+'%' : '';
+ var purpose_type = component.find("select_purpose_type").get("v.value");
+ if (purpose_type) {
+ if (purpose_type.substr(-3) == 'OPD') {
+ purpose_type = 'OPD';
+ } else if (purpose_type.substr(-3) == 'SIS') {
+ purpose_type = 'SIS';
+ } else {
+ purpose_type = '';
+ }
+ }
+ if (dc != '' || purpose_type != '') {
+
+ var action = component.get('c.getProductList');
+ action.setParams({
+ "dc" : dc,
+ "opdsis" : purpose_type,
+ });
+ action.setCallback(this,function(response){
+ var state = response.getState();
+ if(state == 'SUCCESS'){
+
+ var res = response.getReturnValue();
+ component.find('select_Product1').set("v.options", JSON.parse(JSON.stringify(res)));
+ component.find('select_Product2').set("v.options", JSON.parse(JSON.stringify(res)));
+ component.find('select_Product3').set("v.options", JSON.parse(JSON.stringify(res)));
+ }
+ else{
+ this.error('getProductList failed.');
+ }
+ });
+ $A.enqueueAction(action);
+ } else {
+ component.find('select_Product1').set('v.options', []);
+ component.find('select_Product2').set('v.options', []);
+ component.find('select_Product3').set('v.options', []);
+ }
+ },
+
+ get_reports : function(component, event, helper, date_str, person_str) {
+ if (!date_str) {
+ return false;
+ }
+
+ date_str = this.get_date_string(date_str);
+
+ var action = component.get('c.getReports');
+ action.setParams({
+ "date_str" : date_str,
+ "person_str" : person_str,
+ });
+
+ component.set('v.login',true);
+ action.setCallback(this,function(response){
+ var state = response.getState();
+ if(state == 'SUCCESS'){
+ var res = response.getReturnValue();
+ component.set('v.reports', res.reports);
+
+ // 20220222 PI鏀归�� by Bright--start
+ let dataIds = [];
+ let dataIds1 = [];
+ let mm = {};
+ let b = false;
+ let b1 = false;
+ for (const rep of res.reports) {
+ if (rep.doctor2__r && rep.doctor2__r.AWS_Data_Id__c) {
+ dataIds.push(rep.doctor2__r.AWS_Data_Id__c);
+ }
+
+ if (rep.Person_In_Charge2__r && rep.Person_In_Charge2__r.AWS_Data_Id__c) {
+ dataIds1.push(rep.Person_In_Charge2__r.AWS_Data_Id__c);
+ }
+ }
+ let Foo = null;
+ Foo = function(){
+ if(b && b1){
+ for (const rep of res.reports) {
+ if (rep.doctor2__r && rep.doctor2__r.AWS_Data_Id__c && mm.hasOwnProperty(rep.doctor2__r.AWS_Data_Id__c)) {
+ rep.doctor2__r.awsdata = mm[rep.doctor2__r.AWS_Data_Id__c];
+ }
+ if (rep.Person_In_Charge2__r && rep.Person_In_Charge2__r.AWS_Data_Id__c && mm.hasOwnProperty(rep.Person_In_Charge2__r.AWS_Data_Id__c)) {
+ rep.Person_In_Charge2__r.awsdata = mm[rep.Person_In_Charge2__r.AWS_Data_Id__c];
+ }
+ }
+
+ $A.getCallback(()=>component.set('v.reports', res.reports))();
+ }else{
+ console.log('b='+b + ',b1='+b1+',continue');
+ setTimeout(Foo,100);
+ }
+ }
+
+ if(dataIds.length > 0){
+ let awsurl = component.get('v.awsurl');
+ helper.search_core(awsurl.token,awsurl.searchUrl,JSON.stringify({
+ "dataIds":dataIds
+ }),(result)=>{
+ if(result.status == '0'){
+
+ for (const m of result.object) {
+ mm[m.dataId] = m;
+ }
+ b = true;
+ Foo();
+ }else{
+ this.error('AWS search status2 : ' + result.status);
+ }
+ },component);
+ }else{
+ b = true;
+ }
+
+
+
+ if(dataIds1.length > 0){
+ let contactawsurl = component.get('v.contactawsurl');
+ helper.search_core(contactawsurl.token,contactawsurl.searchUrl,JSON.stringify({
+ "dataIds":dataIds1
+ }),(result)=>{
+ if(result.status == '0'){
+
+ for (const m of result.object) {
+ mm[m.dataId] = m;
+ }
+ b1 = true;
+ Foo();
+ }else{
+ this.error('AWS search status3 : ' + result.status);
+ }
+ },component);
+ }else{
+ b1 = true;
+ }
+ // 20220222 PI鏀归�� by Bright--end
+
+ component.set('v.report_count', res.reports.length);
+
+ // 鏇存柊淇濆瓨寰屻伄select_data鐢�
+ var report_id = component.get('v.update_select_report_data_id');
+
+ if (report_id != "") {
+ for (i = 0; i < res.reports.length; i++) {
+ if (res.reports[i]['Id'] == report_id) {
+ component.set('v.select_report_data', res.reports[i]);
+ break;
+ }
+ }
+ component.set('v.update_select_report_data_id', '');
+ }
+
+ if (res.reports.length > 0) {
+ component.set('v.list_message', '');
+ } else {
+ component.set('v.list_message', 'no_data');
+ }
+ component.set('v.login',false);
+ }
+ else{
+ this.error('get_reports failed.');
+ component.set('v.login',false);
+ }
+ });
+ $A.enqueueAction(action);
+ },
+
+ select_date_change : function(component, event, helper) {
+ this.get_reports(component, event, helper, component.find('select_date').get('v.value'), component.find('select_agency_person').get('v.value'));
+ this.new_button_disabled(component, event, helper);
+
+ component.set('v.select_report_data_radio', '');
+ component.find('copy_button').set('v.disabled', true);
+ },
+
+ select_agency_change : function(component, event, helper) {
+ var select_value = component.find('select_agency_person').get('v.value');
+ var new_label = this.get_agency_person_name(component, select_value);
+ component.set('v.selected_agency_person', new_label);
+
+ this.get_reports(component, event, helper, component.find('select_date').get('v.value'), select_value);
+ this.new_button_disabled(component, event, helper);
+
+ component.set('v.select_report_data_radio', '');
+ component.find('copy_button').set('v.disabled', true);
+ },
+
+ get_agency_person_name : function(component, agency_person_value) {
+ // PIPL update Yin Mingjie 21/02/2022 start
+ var allselectlist = component.get('v.allselectlist.AgencyPerson__c');
+ // var allselectlist = component.get('v.allselectlistAgencyPerson');
+ // PIPL update Yin Mingjie 21/02/2022 end
+ var new_label = '';
+ for (var i = 0; i < allselectlist.length; i++) {
+ if (agency_person_value == allselectlist[i].value) {
+ new_label = allselectlist[i].label;
+ break;
+ }
+ }
+ return new_label;
+ },
+
+ new_button_disabled : function(component, event, helper) {
+ var select_date = component.find('select_date').get('v.value');
+ var select_agency = component.find('select_agency_person').get('v.value');
+ if (select_date && select_agency) {
+ component.find('new_button').set('v.disabled', false);
+ } else {
+ component.find('new_button').set('v.disabled', true);
+ }
+ },
+
+ toggle_report : function(component) {
+ var modal_window = component.find('modal_window');
+ var modal_bg = component.find('modal_bg');
+ if ($A.util.hasClass(modal_window, 'disp_none')) {
+ // OPEN
+ $A.util.removeClass(modal_window, 'disp_none');
+ $A.util.removeClass(modal_bg, 'disp_none');
+
+ if (component.get('v.mode') == 'edit' || component.get('v.mode') == 'copy') {
+ var select_data = '';
+ if (component.get('v.mode') == 'edit') {
+ select_data = component.get('v.select_report_data');
+ } else if (component.get('v.mode') == 'copy') {
+ select_data = component.get('v.select_report_data_radio');
+ }
+
+ var reports = component.get('v.reports');
+ var Agency_Hospital_text = '';
+ var Agency_Hospital_parent_id = '';
+ debugger
+ // 鍖婚櫌鍚�
+ if (select_data['Agency_Hospital__c'] != '') {
+ for (var i = 0; i < reports.length; i++) {
+ if (reports[i]['Agency_Hospital__c'] == select_data['Agency_Hospital__c']) {
+ Agency_Hospital_text = reports[i]['Agency_Hospital__r']['Name'];
+ Agency_Hospital_parent_id = reports[i]['Agency_Hospital__r']['Hospital__c'];
+ }
+ }
+ component.set('v.hospital', Agency_Hospital_text);
+ component.set('v.hospitalId', Agency_Hospital_parent_id);
+ component.set('v.hospitalLinkId', select_data['Agency_Hospital__c']);
+ component.find('new_con').set('v.disabled', false);
+ }
+
+ // 绉戝
+ if (select_data['Department_Cateogy__c'] != '') {
+ this.set_selected(component, 'select_department', select_data['Department_Cateogy__c']);
+ }
+ // 鎷滆浜�
+ component.set('v.default_select_doctor_id', select_data['doctor2__c']);
+ this.set_doctor_list(component);
+
+ // 娲诲姩鍖哄垎
+ if (select_data['Purpose_Type__c'] != '') {
+ this.set_selected(component, 'select_purpose_type', select_data['Purpose_Type__c']);
+ this.select_purpose_type(component);
+ }
+ //SWAG-CBX68C fy 銆愬鎵樸�慏AMS绯荤粺鍛ㄦ姤妯″潡鍐呭闇�姹傚鍔� start
+ // 鏀彺闇�姹�
+ if (select_data['SupportNeeds__c'] != '') {
+ this.set_selected(component, 'SupportNeeds__c', select_data['SupportNeeds__c']);
+ }
+ //SWAG-CBX68C fy 銆愬鎵樸�慏AMS绯荤粺鍛ㄦ姤妯″潡鍐呭闇�姹傚鍔� end
+ // 绲愭灉
+ if (select_data['Result__c'] != '' && typeof select_data['Result__c'] !== "undefined") {
+ component.find('select_result').set('v.value', select_data['Result__c']);
+ }
+
+ // 璇环
+ var report_id = component.get('v.edit_copy_select_report_id');
+ if (report_id != "") {
+ var select_opp = '';
+ var select_product_category1 = '';
+ var select_product_category2 = '';
+ var select_product_category3 = '';
+ var reportDate;
+ var i = 0;
+ for (i = 0; i < reports.length; i++) {
+ if (report_id == reports[i]["Id"]) {
+ select_opp = reports[i]["Opportunity__c"];
+ select_product_category1 = reports[i]["Product_Category1__c"];
+ select_product_category2 = reports[i]["Product_Category2__c"];
+ select_product_category3 = reports[i]["Product_Category3__c"];
+ reportDate = reports[i]["Report_Date__c"];
+ break;
+ }
+ }
+
+ // 璇环
+ if (select_opp != null && select_opp != '') {
+ var select_opp_name = component.get('v.reports')[i].OppName__c;
+ component.set('v.data.Opportunity__c', select_opp);
+ if ($A.get("$Browser.formFactor") == 'DESKTOP') {
+ var values = [{
+ type: 'Agency_Opportunity__c',
+ id: select_opp,
+ label: select_opp_name,
+ icon : {
+ url:'/img/icon/t4v35/custom/custom12_120.png',
+ backgroundColor:'dc71d1',
+ alt:'Agency_Opportunity__c'
+ }
+ }];
+ component.set('v.data.Opportunity__c', select_opp);
+ // component.find('input-opportunity').get("v.body")[0].set('v.values', values);
+ } else {
+ component.find('input-opportunity').get("v.body")[0].set('v.selectedLabel', select_opp_name);
+ }
+ }
+
+ // 浜у搧鍖哄垎
+ if (select_product_category1 != null && select_product_category1 != '') {
+ component.find('select_Product1').set('v.value', select_product_category1);
+ }
+ if (select_product_category2 != null && select_product_category2 != '') {
+ component.find('select_Product2').set('v.value', select_product_category2);
+ }
+ if (select_product_category3 != null && select_product_category3 != '') {
+ component.find('select_Product3').set('v.value', select_product_category3);
+ }
+
+ if (reportDate != null) {
+ component.set('v.data.Report_Date__c', reportDate);
+ }
+
+ component.set('v.edit_copy_select_report_id', "");
+ }
+ }
+ } else {
+ // CLOSE
+
+ var select_report_data = component.get('v.select_report_data');
+ var Report_Date__c = component.get('v.data.Report_Date__c');
+ var Agency_Hospital__c = component.get('v.hospitalLinkId');
+ var Department_Cateogy__c = component.find('select_department').get('v.value');
+ var doctor2__c = component.find('select_doctor').get('v.value');
+ var Purpose_Type__c = component.find('select_purpose_type').get('v.value');
+ var SupportNeeds__c = component.find('SupportNeeds__c').get('v.value');
+ var Opportunity__c = component.get('v.data.Opportunity__c');
+ var Product_Category1__c = component.find('select_Product1').get('v.value');
+ var Product_Category2__c = component.find('select_Product2').get('v.value');
+ var Product_Category3__c = component.find('select_Product3').get('v.value');
+ var Result__c = component.find('select_result').get('v.value');
+
+ if (select_report_data !== null) {
+ if (typeof select_report_data['Opportunity__c'] === "undefined") {
+ select_report_data['Opportunity__c'] = "";
+ }
+ if (typeof select_report_data['Product_Category1__c'] === "undefined") {
+ select_report_data['Product_Category1__c'] = "";
+ }
+ if (typeof select_report_data['Product_Category2__c'] === "undefined") {
+ select_report_data['Product_Category2__c'] = "";
+ }
+ if (typeof select_report_data['Product_Category3__c'] === "undefined") {
+ select_report_data['Product_Category3__c'] = "";
+ }
+ if (typeof select_report_data['Result__c'] === "undefined") {
+ select_report_data['Result__c'] = "";
+ }
+ }
+
+ if (component.get('v.mode') == 'new') {
+ var confirm_title = '璀﹀憡!'
+ var confirm_text = '鏀惧純鏂板缓鍛ㄦ姤锛�';
+
+ if (!Report_Date__c &&
+ !Agency_Hospital__c &&
+ !Department_Cateogy__c &&
+ !doctor2__c &&
+ !Purpose_Type__c &&
+ !SupportNeeds__c&&//WAG-CBX68C fy 銆愬鎵樸�慏AMS绯荤粺鍛ㄦ姤妯″潡鍐呭闇�姹傚鍔�
+ !Opportunity__c &&
+ !Product_Category1__c &&
+ !Product_Category2__c &&
+ !Product_Category3__c &&
+ !Result__c)
+ {
+ this.allclear(component);
+ $A.util.addClass(modal_window, 'disp_none');
+ $A.util.addClass(modal_bg, 'disp_none');
+ } else {
+ this.close_confirm(component, confirm_title, confirm_text);
+ }
+ } else if (component.get('v.mode') == 'copy') {
+ var confirm_title = '璀﹀憡!'
+ var confirm_text = '鏀惧純鏂板缓鍛ㄦ姤锛�';
+
+ if (select_report_data['Report_Date__c'] == Report_Date__c &&
+ select_report_data['Agency_Hospital__c'] == Agency_Hospital__c &&
+ select_report_data['Department_Cateogy__c'] == Department_Cateogy__c &&
+ select_report_data['doctor2__c'] == doctor2__c &&
+ select_report_data['Purpose_Type__c'] == Purpose_Type__c &&
+ select_report_data['SupportNeeds__c'] == SupportNeeds__c &&//WAG-CBX68C fy 銆愬鎵樸�慏AMS绯荤粺鍛ㄦ姤妯″潡鍐呭闇�姹傚鍔�
+ select_report_data['Opportunity__c'] == Opportunity__c &&
+ select_report_data['Product_Category1__c'] == Product_Category1__c &&
+ select_report_data['Product_Category2__c'] == Product_Category2__c &&
+ select_report_data['Product_Category3__c'] == Product_Category3__c &&
+ select_report_data['Result__c'] == Result__c)
+ {
+ this.allclear(component);
+ $A.util.addClass(modal_window, 'disp_none');
+ $A.util.addClass(modal_bg, 'disp_none');
+ } else {
+ this.close_confirm(component, confirm_title, confirm_text);
+ }
+ } else if (component.get('v.mode') == 'edit') {
+ var confirm_title = '璀﹀憡!'
+ var confirm_text = '鏀惧純缂栬緫鍛ㄦ姤锛�';
+
+ if (select_report_data['Report_Date__c'] == Report_Date__c &&
+ select_report_data['Agency_Hospital__c'] == Agency_Hospital__c &&
+ select_report_data['Department_Cateogy__c'] == Department_Cateogy__c &&
+ select_report_data['doctor2__c'] == doctor2__c &&
+ select_report_data['Purpose_Type__c'] == Purpose_Type__c &&
+ select_report_data['SupportNeeds__c'] == SupportNeeds__c &&//WAG-CBX68C fy 銆愬鎵樸�慏AMS绯荤粺鍛ㄦ姤妯″潡鍐呭闇�姹傚鍔�
+ select_report_data['Opportunity__c'] == Opportunity__c &&
+ select_report_data['Product_Category1__c'] == Product_Category1__c &&
+ select_report_data['Product_Category2__c'] == Product_Category2__c &&
+ select_report_data['Product_Category3__c'] == Product_Category3__c &&
+ select_report_data['Result__c'] == Result__c)
+ {
+ this.allclear(component);
+ $A.util.addClass(modal_window, 'disp_none');
+ $A.util.addClass(modal_bg, 'disp_none');
+ } else {
+ this.close_confirm(component, confirm_title, confirm_text);
+ }
+ }
+
+ }
+ },
+
+ close_confirm : function(component, title, text) {
+ var confirm_status = component.get('v.confirm_status');
+ component.set('v.modal_confirm_title', title);
+ component.set('v.modal_confirm_text', text);
+ var modal_window = component.find('modal_window');
+ var modal_bg = component.find('modal_bg');
+ var modal_confirm = component.find('modal_confirm');
+ var modal_confirm_bg = component.find('modal_confirm_bg');
+
+ if (confirm_status == 0) {
+ $A.util.addClass(modal_window, 'disp_none');
+ $A.util.addClass(modal_bg, 'disp_none');
+ $A.util.removeClass(modal_confirm, 'disp_none');
+ $A.util.removeClass(modal_confirm_bg, 'disp_none');
+ } else if (confirm_status == 1) {
+ // 鏄�
+ $A.util.addClass(modal_confirm, 'disp_none');
+ $A.util.addClass(modal_confirm_bg, 'disp_none');
+ component.set('v.mode', '');
+ this.allclear(component);
+ component.set('v.reports_now', "");
+ component.set('v.reports_now_count', 0);
+ component.set('v.confirm_status', 0);
+ } else if (confirm_status == 2) {
+ // 鍚�
+ $A.util.removeClass(modal_window, 'disp_none');
+ $A.util.removeClass(modal_bg, 'disp_none');
+ $A.util.addClass(modal_confirm, 'disp_none');
+ $A.util.addClass(modal_confirm_bg, 'disp_none');
+ component.set('v.confirm_status', 0);
+ }
+ },
+
+ new_report : function(component, event, helper) {
+ component.set('v.mode', 'new');
+ component.set('v.dialog_type', '鏂板缓');
+ var select_date = component.find('select_date').get('v.value');
+ var select_agency = component.find('select_agency_person').get('v.value');
+ component.set('v.selected_date', select_date);
+ var name = component.get('v.selected_agency_person');
+ var ret = this.create_report_header(component, name, select_agency, select_date);
+ // PIPL update Yin Mingjie 21/02/2022 start
+ this.set_aws_url(component,'Agency_Contact__c')
+ // PIPL update Yin Mingjie 21/02/2022 end
+ },
+
+ copy_button : function(component, event, helper) {
+ this.allclear(component);
+ component.set('v.mode', 'copy');
+ component.set('v.dialog_type', '鏂板缓');
+ var select_report_data = component.get('v.select_report_data_radio');
+ component.set('v.loadOpp', true);
+ // 閫�
+ var now = new Date();
+ var start_day = new Date(now.getFullYear(), now.getMonth(), (now.getDate() - now.getDay() + 1));
+ var select_date = start_day.getFullYear() + '/' + (start_day.getMonth() + 1) + '/' + start_day.getDate();
+ this.set_selected(component, 'select_date', select_date);
+ component.set('v.selected_date', select_date);
+
+ // 鎷呭綋
+ var select_agency = select_report_data['Person_In_Charge2__c'];
+ var new_label = this.get_agency_person_name(component, select_agency);
+ component.set('v.selected_agency_person', new_label);
+ this.set_selected(component, 'select_agency_person', select_agency);
+
+ this.new_button_disabled(component, event, helper);
+
+ var name = component.get('v.selected_agency_person');
+
+ component.set('v.edit_copy_select_report_id', select_report_data['Id']);
+ component.set('v.select_report_data', select_report_data);
+
+ var ret = this.create_report_header(component, name, select_agency, select_date);
+ },
+
+ change_report_radio : function(component, event, helper) {
+ var reports = component.get('v.reports');
+ for (var i = 0; i < reports.length; i++) {
+ if (reports[i].Name == event.getSource().get('v.label')) {
+ component.set('v.select_report_data_radio', reports[i]);
+ component.find('copy_button').set('v.disabled', false);
+ break;
+ }
+ }
+ },
+
+ edit_button : function(component, event, helper) {
+ this.allclear(component);
+ component.set('v.loadOpp', true);
+ var index = event.getSource().get('v.value');
+ component.set('v.select_report_data', component.get('v.reports')[index]);
+ component.set('v.mode', 'edit');
+ component.set('v.dialog_type', '缂栬緫');
+
+ var select_date = component.get('v.reports')[index].Submit_date__c;
+ var select_agency = component.get('v.reports')[index].Person_In_Charge2__c;
+ var text_tmp = select_date.split('-');
+ var select_date_text = text_tmp[0] + '/' + Number(text_tmp[1]) + '/' + Number(text_tmp[2]);
+ component.set('v.selected_date', select_date_text);
+ var name = component.get('v.reports')[index].Person_In_Charge2__r.Name;
+
+ this.set_selected(component, 'select_agency_person', select_agency);
+ this.new_button_disabled(component, event, helper);
+
+ var new_label = this.get_agency_person_name(component, select_agency);
+ component.set('v.selected_agency_person', new_label);
+
+ component.set('v.edit_copy_select_report_id', component.get('v.reports')[index].Id);
+
+ var ret = this.create_report_header(component, name, select_agency, select_date);
+ },
+
+ save_report : function(component, event, helper) {
+
+ // 20220222 PI鏀归�� by Bright--start
+ let doctor2Name = '';
+ let visitortitle = '';
+ for(let op of component.find('select_doctor').get('v.options')){
+ if (op.selected) {
+ doctor2Name = op.label;
+ visitortitle = op.Doctor_Division1__c;
+ }
+ }
+ // 20220222 PI鏀归�� by Bright--end
+
+
+ component.find('save_button').set('v.disabled', true);
+
+ var Report_Date__c = component.get('v.data.Report_Date__c');
+ // alert('Report_Date__c'+Report_Date__c);
+ var Person_In_Charge2__c = "";
+ var Submit_date__c = "";
+ if (component.get('v.mode') == 'edit') {
+ // 鍛� Submit_date__c
+ Submit_date__c = component.get('v.select_report_data').Submit_date__c;
+ // alert('Submit_date__c'+Submit_date__c);
+
+
+ // 鎷呭綋 Person_In_Charge2__c
+ Person_In_Charge2__c = component.get('v.select_report_data').Person_In_Charge2__c;
+ } else {
+ // 鍛� Submit_date__c
+ Submit_date__c = this.get_date_string(component.find('select_date').get('v.value'));
+ // alert('Submit_date__c'+Submit_date__c);
+
+ // 鎷呭綋 Person_In_Charge2__c
+ Person_In_Charge2__c = component.find('select_agency_person').get('v.value');
+ }
+ // Agency_Report_Header__c
+ var Agency_Report_Header__c = component.get('v.agency_report_header_id');
+
+ // 鍖婚櫌 Agency_Hospital__c (Agency_Hospital_Link__c)
+ var Agency_Hospital__c = component.get('v.hospitalLinkId');
+
+ // 绉戝 Department_Cateogy__c
+ var Department_Cateogy__c = component.find('select_department').get('v.value');
+
+ // 鎷滆浜� doctor2__c
+ var doctor2__c = component.find('select_doctor').get('v.value');
+
+ // 娲诲姩鍖哄垎 Purpose_Type__c
+ var Purpose_Type__c = component.find('select_purpose_type').get('v.value');
+ //SWAG-CBX68C fy 銆愬鎵樸�慏AMS绯荤粺鍛ㄦ姤妯″潡鍐呭闇�姹傚鍔� start
+ // 鏀彺闇�姹� SupportNeeds__c
+ var SupportNeeds__c = component.find('SupportNeeds__c').get('v.value');
+ //SWAG-CBX68C fy 銆愬鎵樸�慏AMS绯荤粺鍛ㄦ姤妯″潡鍐呭闇�姹傚鍔� end
+ // 璇环 Opportunity__c
+ var Opportunity__c = component.get('v.data.Opportunity__c');
+
+ var StageName__c = component.find('select_stageName').get('v.value');
+ var Amount__c = component.get('v.oppdata.Amount__c') != null ? component.get('v.oppdata.Amount__c').toString() : '';
+ var OCMSale_Price__c = component.get('v.oppdata.OCMSale_Price__c') != null ? component.get('v.oppdata.OCMSale_Price__c').toString() : '';
+ var Close_Forecasted_Date__c = component.get('v.oppdata.Close_Forecasted_Date__c');
+
+ var StageName__c_o = component.get('v.StageName__c_o');
+ var Amount__c_o = component.get('v.Amount__c_o');
+ var OCMSale_Price__c_o = component.get('v.OCMSale_Price__c_o');
+ var Close_Forecasted_Date__c_o = component.get('v.Close_Forecasted_Date__c_o');
+ if (StageName__c_o == undefined) StageName__c_o = '';
+ if (Amount__c_o == undefined) Amount__c_o = '';
+ if (OCMSale_Price__c_o == undefined) OCMSale_Price__c_o = '';
+ if (Close_Forecasted_Date__c_o == undefined) Close_Forecasted_Date__c_o = '';
+ if (StageName__c == StageName__c_o && OCMSale_Price__c_o == OCMSale_Price__c && Amount__c == Amount__c_o && Close_Forecasted_Date__c == Close_Forecasted_Date__c_o) {
+ StageName__c = '';
+ Amount__c = '';
+ OCMSale_Price__c = '';
+ Close_Forecasted_Date__c = '';
+ }
+
+ // 浜у搧鍖哄垎 Product_Category__c (ProductTypes__c)
+ var Product_Category1__c = component.find('select_Product1').get('v.value');
+ var Product_Category2__c = component.find('select_Product2').get('v.value');
+ var Product_Category3__c = component.find('select_Product3').get('v.value');
+
+ // 绲愭灉 Result__c
+ var Result__c = component.find('select_result').get('v.value');
+
+ // 銉愩儶銉囥兗銈枫儳銉�
+ var error = [];
+ if (!Report_Date__c) { error.push("娲诲姩鏃� 涓嶅瓨鍦�"); }
+ if (!Submit_date__c) { error.push("鍛� 涓嶅瓨鍦�"); }
+ var rDate = new Date(Report_Date__c);
+ var sDate = new Date(Submit_date__c);
+ sDate.setDate(sDate.getDate() - 1);
+ if (rDate < sDate) {error.push('娲诲姩鏃ュ繀椤绘槸鏈懆锛�'); }
+ sDate.setDate(sDate.getDate() + 7);
+ if (rDate >= sDate) {error.push('娲诲姩鏃ュ繀椤绘槸鏈懆锛�'); }
+
+ if (!Person_In_Charge2__c) { error.push("鎷呭綋 涓嶅瓨鍦�"); }
+ if (!Agency_Report_Header__c) { this.error("Report Header Id 涓嶅瓨鍦�"); }
+ if (!Agency_Hospital__c) { error.push("鍖婚櫌 涓嶅瓨鍦�"); }
+ if (!Department_Cateogy__c) { error.push("绉戝 涓嶅瓨鍦�"); }
+ if (!doctor2__c) { error.push("鎷滆浜� 涓嶅瓨鍦�"); }
+ if (!Purpose_Type__c) { error.push("娲诲姩鍖哄垎 涓嶅瓨鍦�"); }
+ // if (!SupportNeeds__c) { error.push("鏀彺闇�姹� 涓嶅瓨鍦�"); }
+ if (!Opportunity__c) { Opportunity__c = ""; }
+ if (!Product_Category1__c) { error.push("浜у搧鍖哄垎1 涓嶅瓨鍦�"); }
+ if (Purpose_Type__c && (Purpose_Type__c.substr(-3) == 'SIS' || Purpose_Type__c.substr(-3) == 'OPD')) {
+ if (!Result__c) { error.push("缁撴灉 涓嶅瓨鍦�"); }
+ }
+ for (var i = 0; i < error.length; i++) {
+ this.warning(error[i]);
+ }
+ if (error.length > 0) {
+ component.find('save_button').set('v.disabled', false);
+ return false;
+ }
+
+
+ // 淇濆瓨鍑︾悊
+ component.set('v.login',true);
+ if (component.get('v.mode') == 'edit') {
+ var Agency_Report__c = component.get('v.select_report_data').Id;
+ var action = component.get('c.editAgencyReport');
+ debugger
+ // alert("Purpose_Type:"+Purpose_Type__c+","+"SupportNeedsc:"+SupportNeeds__c);
+ action.setParams({
+ "Agency_Report_Id" : Agency_Report__c,
+ "Department_Cateogy" : Department_Cateogy__c,
+ "Purpose_Type" : Purpose_Type__c,
+ //SWAG-CBX68C fy 銆愬鎵樸�慏AMS绯荤粺鍛ㄦ姤妯″潡鍐呭闇�姹傚鍔� start
+ "SupportNeedsc" : SupportNeeds__c,
+ //SWAG-CBX68C fy 銆愬鎵樸�慏AMS绯荤粺鍛ㄦ姤妯″潡鍐呭闇�姹傚鍔� end
+ "Agency_Report_Header" : Agency_Report_Header__c,
+ "Agency_Hospital" : Agency_Hospital__c,
+ "Person_In_Charge2" : Person_In_Charge2__c,
+ "doctor" : doctor2__c,
+ "Submit_date" : Submit_date__c,
+ "Product_Category1" : Product_Category1__c,
+ "Product_Category2" : Product_Category2__c,
+ "Product_Category3" : Product_Category3__c,
+ "Result" : Result__c,
+ "Opportunity" : Opportunity__c,
+ "StageName" : StageName__c,
+ "oppAmount" : Amount__c,
+ "oppOCMPrice" : OCMSale_Price__c,
+ "Close_Forecasted_Date" : Close_Forecasted_Date__c,
+ "Report_Date" : Report_Date__c,
+ });
+
+ action.setCallback(this,function(response){
+ var state = response.getState();
+ if(state == 'SUCCESS'){
+ this.success('缂栬緫淇濆瓨鎴愬姛');
+ var report_id = response.getReturnValue();
+ component.set('v.create_agency_report_id', report_id);
+
+ var select_agency_list = component.get('v.allselectlist').AgencyPerson__c;
+ for (var i = 0; i < select_agency_list.length; i++) {
+ if (select_agency_list[i].value == component.get('v.select_report_data').Person_In_Charge2__c) {
+ select_agency_list[i].selected = true;
+ } else {
+ select_agency_list[i].selected = false;
+ }
+ }
+ component.find('select_agency_person').set('v.options', select_agency_list);
+
+ component.set('v.update_select_report_data_id', report_id);
+ this.get_reports(component, event, helper, component.get('v.select_report_data').Submit_date__c, component.get('v.select_report_data').Person_In_Charge2__c);
+
+ component.find('save_button').set('v.disabled', false);
+ component.set('v.login',false);
+ }
+ else{
+ // var error = response.getError();
+ // alert(JSON.stringify(error));
+ // alert(JSON.stringify(error[0].fieldErrors));
+ // alert(JSON.stringify(error[0].fieldErrors.next()));
+ // alert(JSON.stringify(error[0].fieldErrors.next()[0]));
+ // if (this.error(response.getError()[0].message))
+ // else () {
+ // error[0].fieldErrors[0]
+ // }
+ this.error('save_report failed.');
+ component.find('save_button').set('v.disabled', false);
+ component.set('v.login',false);
+ }
+ });
+ $A.enqueueAction(action);
+ } else {
+ /* Save (New & Copy) */
+
+ var action = component.get('c.saveAgencyReport');
+ debugger;
+ // alert(SupportNeeds__c);
+ action.setParams({
+ "Department_Cateogy" : Department_Cateogy__c,
+ "Purpose_Type" : Purpose_Type__c,
+ //SWAG-CBX68C fy 銆愬鎵樸�慏AMS绯荤粺鍛ㄦ姤妯″潡鍐呭闇�姹傚鍔� start
+ "SupportNeedsc" : SupportNeeds__c,
+ //SWAG-CBX68C fy 銆愬鎵樸�慏AMS绯荤粺鍛ㄦ姤妯″潡鍐呭闇�姹傚鍔� end
+ "Agency_Report_Header" : Agency_Report_Header__c,
+ "Agency_Hospital" : Agency_Hospital__c,
+ "Person_In_Charge2" : Person_In_Charge2__c,
+ "doctor" : doctor2__c,
+ "Submit_date" : Submit_date__c,
+ "Product_Category1" : Product_Category1__c,
+ "Product_Category2" : Product_Category2__c,
+ "Product_Category3" : Product_Category3__c,
+ "Result" : Result__c,
+ "Opportunity" : Opportunity__c,
+ "StageName" : StageName__c,
+ "oppAmount" : Amount__c,
+ "oppOCMPrice" : OCMSale_Price__c,
+ "Close_Forecasted_Date" : Close_Forecasted_Date__c,
+ "Report_Date" : Report_Date__c,
+ });
+
+ action.setCallback(this,function(response){
+ var state = response.getState();
+ if(state == 'SUCCESS'){
+ this.success('淇濆瓨鎴愬姛');
+ var report_id = response.getReturnValue();
+ component.set('v.create_agency_report_id', report_id);
+
+ this.get_reports(component, event, helper, component.find('select_date').get('v.value'), component.find('select_agency_person').get('v.value'));
+
+ // 銉€兗銉�銉偊銈c兂銉夈偊鍐呫伄涓�瑕х敤
+ var action2 = component.get('c.getReportsById');
+ action2.setParams({
+ "report_id" : report_id,
+ });
+ action2.setCallback(this,function(response){
+ var state = response.getState();
+ if(state == 'SUCCESS'){
+ var res = response.getReturnValue();
+ var reports_now = component.get('v.reports_now');
+ var reports_now_count = 0;
+ if (reports_now.length > 0 && reports_now != "") {
+ reports_now_count = reports_now.length;
+ }
+
+ // Save&New鏅傘伄銈︺偅銉炽儔銈﹀唴銉囥兗銈夸竴瑕�
+ if (res.length > 0) {
+ // 20220222 PI鏀归�� by Bright--start
+ res[0].doctor2NameOrigin = doctor2Name;
+ res[0].visitorTitleOrigin = visitortitle;
+ // 20220222 PI鏀归�� by Bright--end
+ reports_now[reports_now_count] = res[0];
+
+ reports_now.sort(function(a,b) {
+ if(a.Name>b.Name) return -1;
+ if(a.Name < b.Name) return 1;
+ return 0;
+ });
+
+ component.set('v.reports_now', reports_now);
+ component.set('v.reports_now_count', reports_now.length);
+ var data_list = component.find('modal_data_list_tr');
+ }
+ }
+ else{
+ this.error('get_reports_now failed.');
+ component.find('save_button').set('v.disabled', false);
+ component.set('v.login',false);
+ }
+ });
+ $A.enqueueAction(action2);
+
+ this.allclear(component);
+ component.find('save_button').set('v.disabled', false);
+ component.set('v.login',false);
+ }
+ else{
+ var error = response.getError();
+ // alert(JSON.stringify(error));
+ this.error('saveAgencyReport failed.');
+ component.find('save_button').set('v.disabled', false);
+ component.set('v.login',false);
+ }
+ });
+ $A.enqueueAction(action);
+ }
+ },
+
+ allclear : function(component) {
+ var clear = [{label:'', value:'', selected:true}];
+ component.set('v.hospital', '');
+ component.set('v.hospitalId', '');
+ component.set('v.hospitalLinkId', '');
+ component.find('new_con').set('v.disabled', true);
+ component.find('select_doctor').set('v.options', clear);
+ component.set('v.doctor_title', '');
+ component.find('select_department').set('v.options', this.conv_selected(component.get('v.allselectlist.Department_Cateogy__c')));
+ component.find('select_purpose_type').set('v.options', this.conv_selected(component.get('v.allselectlist.Purpose_Type__c')));
+ //SWAG-CBX68C fy 銆愬鎵樸�慏AMS绯荤粺鍛ㄦ姤妯″潡鍐呭闇�姹傚鍔� start
+ component.find('SupportNeeds__c').set('v.options', this.conv_selected(component.get('v.allselectlist.SupportNeeds__c')));
+ //SWAG-CBX68C fy 銆愬鎵樸�慏AMS绯荤粺鍛ㄦ姤妯″潡鍐呭闇�姹傚鍔� end
+ // ToDo闇�瑕佹祴璇曟墜鏈轰笂鑳借繍琛屼笉
+ component.set('v.data.Opportunity__c', '');
+ component.find('select_Product1').set('v.value','');
+ component.find('select_Product2').set('v.value','');
+ component.find('select_Product3').set('v.value','');
+ component.set('v.data.Report_Date__c', '');
+ component.set('v.oppdata.Close_Forecasted_Date__c', '');
+ component.set('v.oppdata.Amount__c', '');
+ component.set('v.oppdata.OCMSale_Price__c', '');
+ component.set('v.oppdata.StageName__c', '');
+ // component.set('v.oppdata', '');
+ component.set('v.Close_Forecasted_Date__c_o', '');
+ component.set('v.Amount__c_o', '');
+ component.set('v.OCMSale_Price__c_o', '');
+ component.set('v.StageName__c_o', '');
+ $A.util.addClass(component.find('input-opportunity-stage'), 'disp_none');
+ $A.util.addClass(component.find('input-opportunity-amount1'), 'disp_none');
+ $A.util.addClass(component.find('input-opportunity-amount2'), 'disp_none');
+ $A.util.addClass(component.find('input-opportunity-date'), 'disp_none');
+ $A.util.removeClass(component.find('input-opportunity-blank'), 'disp_none');
+ // if ($A.get("$Browser.formFactor") == 'DESKTOP') {
+ // var values = [];
+ // component.find('input-opportunity').get("v.body")[0].set('v.values', values);
+ // } else {
+ // component.find('input-opportunity').get("v.body")[0].set('v.selectedLabel', '');
+ // }
+ // component.find('input-opportunity').set("v.body",[]);
+ // if (component.find('input-product-category1'))
+ // component.find('input-product-category1').get("v.body")[0].set('v.values', values);
+ // if (component.find('input-product-category2'))
+ // component.find('input-product-category2').get("v.body")[0].set('v.values', values);
+ // if (component.find('input-product-category3'))
+ // component.find('input-product-category3').get("v.body")[0].set('v.values', values);
+ component.find('select_result').set('v.value', '');
+ this.select_purpose_type(component);
+ },
+
+ report_date_list : function(component, event, helper, count) {
+ var ret_obj = [];
+ var now = new Date();
+ for (var i = 0; i < count; i++) {
+
+ var start_day = new Date(now.getFullYear(), now.getMonth(), (now.getDate() - now.getDay() + 1 - (i * 7)));
+ var end_day = new Date(now.getFullYear(), now.getMonth(), now.getDate() + (7 - now.getDay()) - (i * 7));
+
+ var start_day_show = new Date(now.getFullYear(), now.getMonth(), (now.getDate() - now.getDay() - (i * 7)));
+ var end_day_show = new Date(now.getFullYear(), now.getMonth(), now.getDate() + (6 - now.getDay()) - (i * 7));
+ var date_text = start_day.getFullYear() + '/' + (start_day.getMonth() + 1) + '/' + start_day.getDate() + '~' + end_day.getFullYear() + '/' + (end_day.getMonth() + 1) + '/' + end_day.getDate();
+ if (i == 0) {
+ ret_obj.push({
+ selected : true,
+ value : start_day.getFullYear() + '/' + (start_day.getMonth() + 1) + '/' + start_day.getDate(),
+ label : start_day_show.getFullYear() + '/' + (start_day_show.getMonth() + 1) + '/' + start_day_show.getDate() + '~' + end_day_show.getFullYear() + '/' + (end_day_show.getMonth() + 1) + '/' + end_day_show.getDate(),
+ });
+ } else {
+ ret_obj.push({
+ selected : false,
+ value : start_day.getFullYear() + '/' + (start_day.getMonth() + 1) + '/' + start_day.getDate(),
+ label : start_day_show.getFullYear() + '/' + (start_day_show.getMonth() + 1) + '/' + start_day_show.getDate() + '~' + end_day_show.getFullYear() + '/' + (end_day_show.getMonth() + 1) + '/' + end_day_show.getDate(),
+ });
+ }
+ }
+
+ component.find('select_date').set('v.options', ret_obj);
+ component.set('v.report_date_list', ret_obj);
+ },
+
+ create_report_header : function(component, name, s_agency, s_date) {
+ s_date = this.get_date_string(s_date);
+ if (s_date == false) {
+ this.error('get_date_string failed.');
+ return false;
+ }
+
+ var head_key = this.create_header_input_key(s_agency, s_date);
+ component.set('v.agency_report_header', head_key);
+ if (head_key == false) {
+ this.error('create_header_input_key failed.');
+ return false;
+ }
+
+ var key2 = s_date.replace(/-/g, '');
+ var action = component.get('c.createReportHeader');
+
+ action.setParams({
+ "name" : name,
+ "s_date" : s_date,
+ "s_agency" : s_agency,
+ "head_key" : head_key,
+ });
+
+ component.set('v.login',true);
+ action.setCallback(this,function(response){
+ var state = response.getState();
+ if(state == 'SUCCESS'){
+ var res = response.getReturnValue();
+ component.set('v.agency_report_header_id', res);
+ component.set('v.login',false);
+ this.toggle_report(component);
+ }
+ else{
+ this.error('createReportHeader callback failed.');
+ component.set('v.login',false);
+ }
+ });
+ $A.enqueueAction(action);
+ },
+
+ create_header_input_key : function(agency_id, s_date) {
+ if (typeof(s_date) != 'string') {
+ s_date = this.get_date_string(s_date);
+ if (s_date == false) {
+ this.error('get_date_string in create_header_input_key.')
+ return false;
+ }
+ }
+ if (!agency_id || !s_date) {
+ return false;
+ }
+
+ s_date = s_date.replace(/-/g, '');
+ var headkey = agency_id + ":" + s_date;
+
+ return headkey;
+ },
+
+ /* typeof is not cool
+ * @ret : String, Boolean, Date, Error, Array, Function, Null, Undefined, etc
+ */
+ object_type : function(obj) {
+ var obj_type = Object.prototype.toString.call(obj).slice(8, -1);
+ return obj_type;
+ },
+
+ // create yyyy-mm-dd string
+ get_date_string : function(val) {
+ if (typeof(val) == 'string') {
+ if (val.match(/^\d{4}\/\d{1,2}\/\d{1,2}$/)) {
+ val = val.replace(/[\/]/g, '-');
+ var tmp = val.split('-');
+ if (tmp[1].length == 1) {
+ tmp[1] = '0' + tmp[1];
+ }
+ if (tmp[2].length == 1) {
+ tmp[2] = '0' + tmp[2];
+ }
+ val = tmp[0] + '-' + tmp[1] + '-' + tmp[2];
+ } else if (val.match(/^\d{4}-\d{1,2}-\d{1,2}$/)) {
+ //ok
+ } else {
+ return false;
+ }
+ } else if (this.object_type(val) == 'Date') {
+ var mm = val.getMonth() + 1;
+ if (String(mm).length == 1) {
+ mm = '0' + mm;
+ }
+
+ var dd = '';
+ if (String(val.getDate()).length == 1) {
+ dd = '0' + val.getDate();
+ } else {
+ dd = val.getDate();
+ }
+
+ val = val.getFullYear() + '-' + mm + '-' + dd;
+ } else {
+ return false;
+ }
+
+ return val;
+ },
+
+ searchHos : function(component, event, helper) {
+ var hospital_name = event.getParam("value");
+ var action = component.get("c.getHospitalList");
+ debugger;
+ action.setParams({"hospital_name": hospital_name});
+
+ action.setCallback(this, function(response) {
+ var state = response.getState();
+ if(state === "SUCCESS") {
+ var hospital_list = component.find('hospital_list');
+ var hosList = response.getReturnValue();
+ if (hosList.length > 0) {
+ $A.util.addClass(hospital_list, 'slds-is-open');
+ } else {
+ $A.util.removeClass(hospital_list, 'slds-is-open');
+ }
+ component.set("v.hospitalList", response.getReturnValue());
+ } else {
+ $A.util.removeClass(hospital_list, 'slds-is-open');
+ }
+ });
+ $A.enqueueAction(action);
+ },
+
+ hideSearch : function(component, event, helper) {
+ var hospital_list = component.find('hospital_list');
+ $A.util.removeClass(hospital_list, 'slds-is-open');
+ },
+
+ selectHos : function(component, event, helper) {
+ debugger
+ var hospital_list = component.find('hospital_list');
+ $A.util.removeClass(hospital_list, 'slds-is-open');
+ var accname = event.currentTarget.dataset.accname;
+ var accid = event.currentTarget.dataset.accid;
+ var hospital_data = component.get('v.hospitalList');
+ for (var i = 0; i < hospital_data.length; i++) {
+ if (hospital_data[i].Hospital__c == accid) {
+ component.set('v.hospitalLinkId', hospital_data[i].Id);
+ component.set('v.data.Agency_Hospital__c', hospital_data[i].Id);
+ component.find('new_con').set('v.disabled', false);
+ }
+ }
+ component.set("v.hospital", accname);
+ component.set("v.hospitalId", accid);
+ this.set_doctor_list(component);
+ this.opportunityChange(component, event, helper);
+ },
+
+ select_purpose_type : function(component) {
+ var purpose_type = component.find('select_purpose_type').get('v.value');
+ if (purpose_type != null && purpose_type != undefined && purpose_type.substr(-3) == 'OPD' || purpose_type.substr(-3) == 'SIS') {
+ var result = component.find('result');
+ $A.util.removeClass(result, 'disp_none');
+ } else {
+ component.find('select_result').set('v.value', '');
+ var result = component.find('result');
+ $A.util.addClass(result, 'disp_none');
+ }
+ this.select_department(component, null, null);
+ },
+
+ doctor_change : function(component, event, helper) {
+ var doctor_value = component.find('select_doctor').get('v.value');
+ var doctor_list = component.get('v.doctor_list');
+ var flg = false;
+ for (var i = 0; i < doctor_list.length; i++) {
+ if (doctor_list[i].value == doctor_value) {
+ component.set('v.doctor_title', doctor_list[i].Doctor_Division1__c);
+ flg = true;
+ break;
+ }
+ }
+ if (flg == false) {
+ component.set('v.doctor_title', '');
+ }
+ },
+ // PIPL update Yin Mingjie 21/02/2022 start
+ set_aws_url : function(component,sobject) {
+ var action = component.get('c.getAwsurl');
+ action.setParams({
+ "sobj" : sobject,
+ });
+ action.setCallback(this,function(response){
+ var state = response.getState();
+ if(state == 'SUCCESS'){
+ var awsmap = this.conv_selected(response.getReturnValue());
+ component.set('v.AWStoken',awsmap.token);
+ component.set('v.AWSinsert',awsmap.newUrl);
+ component.set('v.AWSsearch',awsmap.searchUrl);
+ component.set('v.AWStransactionURL',awsmap.transactionURL);
+ }
+ else{
+ this.error('AWS url/token error.');
+ component.set('v.login',false);
+ }
+ });
+ $A.enqueueAction(action);
+ },
+
+ insert_agencycontact : function(component,token,newUrl,payload,agencyHospitalid,helper,hospitalName) {
+
+ // AWSService.insert(newUrl,payload,function(result){
+ // if(result.status == '0'){
+ // $A.getCallback(function(){
+ // helper.to_agencycontact(component,result,agencyHospitalid);
+ // })();
+
+ // }else{
+ // console.log('AWS status error:' + result)
+ // component.set('v.login',false);
+ // component.find('OppMessage').setError('AWS insert error.');
+ // }
+ // },token);
+
+ fetch(newUrl, {
+ method: 'POST',
+ body: payload,
+ headers: {
+ 'Content-Type': 'application/json',
+ 'pi-token': token
+ }
+ }).then((data) => {
+ return data.json();
+ }).then((result) => {
+ if(result.status == '0'){
+ $A.getCallback(function(){
+ helper.to_agencycontact(component,result,agencyHospitalid);
+ })();
+ }else{
+ console.log('AWS status error:' + result)
+ component.set('v.login',false);
+ if(result.status == '129'){
+ component.find('OppMessage').setError('璇ュ鎴蜂汉鍛樺悕瀛楀凡瀛樺湪锛屽湪'+hospitalName+'鍖婚櫌锛岃淇敼');
+ }else{
+ component.find('OppMessage').setError('AWS insert error.');
+ }
+ }
+ }).catch(error => {
+ console.log('AWS insert error:' + error)
+ component.set('v.login',false);
+ component.find('OppMessage').setError('AWS insert error.');
+ });
+
+ },
+
+ to_agencycontact : function(component,result,agencyHospitalid) {
+ var action = component.get('c.saveAgencyContact');
+ action.setParams({
+ "name" : result.object[0].name,
+ //"nameEncrypt" : result.object[0].nameEncrypt,
+ "type" : result.object[0].type,
+ //"typeEncrypt" : result.object[0].typeEncrypt,
+ "doctorDivision1" : result.object[0].doctorDivision1,
+ //"doctorDivision1Encrypt" : result.object[0].doctorDivision1Encrypt,
+ "agencyHospitalid" : agencyHospitalid,
+ "awsid" : result.object[0].dataId,
+ });
+ action.setCallback(this,function(response){
+ var state = response.getState();
+ if(state == 'SUCCESS'){
+ var acMap = this.conv_selected(response.getReturnValue());
+ console.log(acMap);
+ if(acMap.AgencyContactId != ''){
+ //纭浜嬪姟
+ var token = component.get('v.AWStoken');
+ var confirmUrl = component.get('v.AWStransactionURL');
+
+ let data = Object.create(null);
+ data['isSuccess'] = 1;
+ data['sfRecordId'] = '';
+ data['txId'] = result.txId;
+
+ this.to_confirm(component,token,confirmUrl,JSON.stringify(data));
+ }else if(acMap.errormsg != ''){
+ this.error(acMap.errormsg);
+ component.set('v.login',false);
+ }else {
+ this.error('agency contact insert id error.');
+ component.set('v.login',false);
+ }
+ }
+ else{
+ this.error('agency contact insert error.');
+ component.set('v.login',false);
+ }
+ });
+ $A.enqueueAction(action);
+ },
+
+ to_confirm : function(component,token,confirmUrl,payload) {
+ fetch(confirmUrl, {
+ method: 'POST',
+ body: payload,
+ headers: {
+ 'Content-Type': 'application/json',
+ 'pi-token': token
+ }
+ }).then((data) => {
+ return data.json();
+ }).then((result) => {
+ if(result.status == '0' && result.hasOwnProperty('success') && result.success){
+ component.set('v.truthy', false);
+ var modal_newAC = component.find('modal_newAC')
+ $A.util.addClass(modal_newAC, 'disp_none');
+ this.success('.瀹㈡埛浜哄憳宸插垱寤恒��');
+ this.set_doctor_list(component);
+ }else {
+ this.error('AWS confirm error.');
+ component.set('v.login',false);
+ }
+ }).catch(error => {
+ this.error('AWS confirm error.');
+ component.set('v.login',false);
+ });
+ },
+ // PIPL update Yin Mingjie 21/02/2022 end
+
+ set_doctor_list : function(component) {
+ var hospital_id = component.get('v.hospitalLinkId');
+ if (hospital_id) {
+ component.set('v.login',true);
+ var action = component.get('c.getDoctorList');
+ action.setParams({
+ "hospital_id" : hospital_id,
+ });
+ action.setCallback(this,function(response){
+ var state = response.getState();
+ if(state == 'SUCCESS'){
+ var retMap = this.conv_selected(response.getReturnValue());
+ // PIPL update Yin Mingjie 21/02/2022 start
+ this.AWS_search(retMap,component);
+ /*
+ var default_doctor = component.get('v.default_select_doctor_id');
+ if (default_doctor != '' && res.length > 0) {
+ var doctor_title = '';
+ for (var i = 0; i < res.length; i++) {
+ if (res[i].value == default_doctor) {
+ res[i].selected = true;
+ doctor_title = res[i].Doctor_Division1__c;
+ } else {
+ res[i].selected = false;
+ }
+ }
+
+ component.find('select_doctor').set('v.options', res);
+ component.set('v.doctor_title', doctor_title);
+ } else {
+ component.find('select_doctor').set('v.options', res);
+ if (res.length > 0) {
+ component.set('v.doctor_title', res[0].Doctor_Division1__c);
+ }
+ }
+
+ component.set('v.default_select_doctor_id', '');
+ component.set('v.doctor_list', res);
+ component.set('v.login',false);
+ */
+ // PIPL update Yin Mingjie 21/02/2022 end
+ }
+ else{
+ this.error('set_doctor_list failed.');
+ component.set('v.login',false);
+ }
+ });
+ $A.enqueueAction(action);
+ }
+ },
+
+ // PIPL update Yin Mingjie 21/02/2022 start
+ AWS_search : function(retMap,component) {
+ var token = retMap.sre.token;
+ var searchUrl = retMap.sre.searchUrl;
+
+ var dataArr = new Array();
+ for (const key in retMap) {
+ if (key == 'sre') {continue;}
+ dataArr.push(key);
+ }
+ if(dataArr.length == 0){
+ component.set('v.login',false);
+ this.warning('娌℃湁鎵惧埌绗﹀悎鏉′欢鐨勫鎴蜂汉鍛�');
+ return;
+ }
+ let obj= Object.create(null);
+ obj['dataIds'] = dataArr;
+ var data = JSON.stringify(obj);
+ this.search_agency_contact(token,searchUrl,data,retMap,component);
+ },
+
+ search_agency_contact : function(token,searchUrl,payload,retMap,component) {
+ this.search_core(token,searchUrl,payload,(result)=>{
+ if(result.status == '0'){
+ this.to_doctor_list(result,retMap,component);
+ }else{
+ this.error('AWS search status4 : ' + result.status);
+ component.set('v.login',false);
+ }
+ },component);
+ // fetch(searchUrl, {
+ // method: 'POST',
+ // body: payload,
+ // headers: {
+ // 'Content-Type': 'application/json',
+ // 'pi-token': token
+ // }
+ // }).then((data) => {
+ // return data.json();
+ // }).then((result) => {
+
+ // }).catch(error => {
+ // this.error('AWS search error.');
+ // component.set('v.login',false);
+ // });
+ },
+ search_core : function(token,searchUrl,payload,callback,component) {
+ fetch(searchUrl, {
+ method: 'POST',
+ body: payload,
+ headers: {
+ 'Content-Type': 'application/json',
+ 'pi-token': token
+ }
+ }).then((data) => {
+ return data.json();
+ }).then((result) => {
+ component.set('v.login',false);
+ if(callback)callback(result);
+ }).catch(error => {
+ this.error('AWS search error.');
+ component.set('v.login',false);
+ });
+ },
+
+ to_doctor_list : function(result,retMap,component) {
+ var resls = result.object;
+ var res = [];
+ var space = {};
+ space['label'] = '';
+ space['selected'] = true;
+ space['value'] = '';
+ res.push(space);
+
+ for (var i = 0; i < resls.length; i++) {
+ var t = {};
+ t['label'] = resls[i].name;
+ t['selected'] = false;
+ t['Doctor_Division1__c'] = resls[i].doctorDivision1;
+ t['value'] = retMap[resls[i].dataId].value;
+ res.push(t);
+ }
+
+ var default_doctor = component.get('v.default_select_doctor_id');
+ if (default_doctor != '' && res.length > 0) {
+ var doctor_title = '';
+ for (var i = 0; i < res.length; i++) {
+ if (res[i].value == default_doctor) {
+ res[i].selected = true;
+ doctor_title = res[i].Doctor_Division1__c;
+ } else {
+ res[i].selected = false;
+ }
+ }
+
+ component.find('select_doctor').set('v.options', res);
+ component.set('v.doctor_title', doctor_title);
+ } else {
+ component.find('select_doctor').set('v.options', res);
+ if (res.length > 0) {
+ component.set('v.doctor_title', res[0].Doctor_Division1__c);
+ }
+ }
+
+ component.set('v.default_select_doctor_id', '');
+ component.set('v.doctor_list', res);
+ component.set('v.login',false);
+ },
+ // PIPL update Yin Mingjie 21/02/2022 end
+
+ // stageNameChange : function(component, event, helper) {
+ // var options = component.find('input-oppstage').get("v.body")[0].get('v.options');
+ // var remove;
+ // for (var i = 0; i < options.length; i++) {
+ // if (options[i].label == '鐩爣') {
+ // remove = i;
+ // break;
+ // }
+ // }
+ // options.splice(remove,1);
+ // },
+
+ opportunityChange : function(component, event, helper) {
+ debugger
+ var opp_id = component.get('v.data.Opportunity__c');
+ if (opp_id == '') {
+ $A.util.addClass(component.find('input-opportunity-stage'), 'disp_none');
+ $A.util.addClass(component.find('input-opportunity-amount1'), 'disp_none');
+ $A.util.addClass(component.find('input-opportunity-amount2'), 'disp_none');
+ $A.util.addClass(component.find('input-opportunity-date'), 'disp_none');
+ $A.util.removeClass(component.find('input-opportunity-blank'), 'disp_none');
+ } else if (opp_id == 'MALFORMED_ID') {
+ component.set('v.data.Opportunity__c', '');
+ $A.util.addClass(component.find('input-opportunity-stage'), 'disp_none');
+ $A.util.addClass(component.find('input-opportunity-amount1'), 'disp_none');
+ $A.util.addClass(component.find('input-opportunity-amount2'), 'disp_none');
+ $A.util.addClass(component.find('input-opportunity-date'), 'disp_none');
+ $A.util.removeClass(component.find('input-opportunity-blank'), 'disp_none');
+ } else if (opp_id != "") {
+ var hospital_link_id = component.get('v.hospitalLinkId');
+ if (hospital_link_id == '') {
+ this.warning('鍖婚櫌涓嶅瓨鍦�');
+ // ToDo闇�瑕佹祴璇曟墜鏈轰笂鑳借繍琛屼笉
+ component.set('v.data.Opportunity__c', '');
+ $A.util.addClass(component.find('input-opportunity-stage'), 'disp_none');
+ $A.util.addClass(component.find('input-opportunity-amount1'), 'disp_none');
+ $A.util.addClass(component.find('input-opportunity-amount2'), 'disp_none');
+ $A.util.addClass(component.find('input-opportunity-date'), 'disp_none');
+ $A.util.removeClass(component.find('input-opportunity-blank'), 'disp_none');
+ // if ($A.get("$Browser.formFactor") == 'DESKTOP') {
+ // var values = [];
+ // // component.find('input-opportunity').get("v.body")[0].set('v.values', values);
+ // } else {
+ // component.find('input-opportunity').get("v.body")[0].set('v.selectedLabel', '');
+ // }
+ return false;
+ }
+ var action = component.get('c.selectOpportunityByIdAndHospitalLinkId');
+ action.setParams({
+ "opportunity_id" : opp_id,
+ "agency_hospital_link_id" : component.get('v.hospitalLinkId'),
+ });
+
+ component.set('v.login',true);
+ action.setCallback(this,function(response){
+ var state = response.getState();
+ if(state == 'SUCCESS'){
+ var res = response.getReturnValue();
+ if (res.length <= 0) {
+ if (component.get('v.data.Opportunity__c')) {
+ this.warning('鍖婚櫌鏈尮閰嶅埌');
+ }
+ // ToDo闇�瑕佹祴璇曟墜鏈轰笂鑳借繍琛屼笉
+ component.set('v.data.Opportunity__c', '');
+ $A.util.addClass(component.find('input-opportunity-stage'), 'disp_none');
+ $A.util.addClass(component.find('input-opportunity-amount1'), 'disp_none');
+ $A.util.addClass(component.find('input-opportunity-amount2'), 'disp_none');
+ $A.util.addClass(component.find('input-opportunity-date'), 'disp_none');
+ $A.util.removeClass(component.find('input-opportunity-blank'), 'disp_none');
+ // if ($A.get("$Browser.formFactor") == 'DESKTOP') {
+ // var values = [];
+ // component.find('input-opportunity').get("v.body")[0].set('v.values', values);
+ // } else {
+ // component.find('input-opportunity').get("v.body")[0].set('v.selectedLabel', '');
+ // }
+ component.set('v.login',false);
+ return false;
+ }
+ //SWAG-CKH5M8 銆愬鎵樸�戝懆鎶ュ叧鑱旇浠凤紝鍙�夋嫨璇环鑼冨洿璋冩暣 fy start
+ // else if (res[0]['StageName2__c'] != '3.璇环' && !component.get('v.loadOpp')){
+ // this.warning('璇烽�夋嫨璇环涓殑椤圭洰');
+ // // ToDo闇�瑕佹祴璇曟墜鏈轰笂鑳借繍琛屼笉
+ // component.set('v.data.Opportunity__c', '');
+ // $A.util.addClass(component.find('input-opportunity-stage'), 'disp_none');
+ // $A.util.addClass(component.find('input-opportunity-amount1'), 'disp_none');
+ // $A.util.addClass(component.find('input-opportunity-amount2'), 'disp_none');
+ // $A.util.addClass(component.find('input-opportunity-date'), 'disp_none');
+ // $A.util.removeClass(component.find('input-opportunity-blank'), 'disp_none');
+ // // if ($A.get("$Browser.formFactor") == 'DESKTOP') {
+ // // var values = [];
+ // // component.find('input-opportunity').get("v.body")[0].set('v.values', values);
+ // // } else {
+ // // component.find('input-opportunity').get("v.body")[0].set('v.selectedLabel', '');
+ // // }
+ // component.set('v.login',false);
+ // return false;
+ // }
+ //SWAG-CKH5M8 銆愬鎵樸�戝懆鎶ュ叧鑱旇浠凤紝鍙�夋嫨璇环鑼冨洿璋冩暣 fy end
+ else {
+ component.set('v.loadOpp', false);
+ component.set('v.oppdata',res[0]);
+ this.set_selected(component, 'select_stageName', res[0].StageName__c);
+ component.set('v.Close_Forecasted_Date__c_o', res[0].Close_Forecasted_Date__c);
+ component.set('v.Amount__c_o', res[0].Amount__c);
+ component.set('v.OCMSale_Price__c_o', res[0].OCMSale_Price__c);
+ component.set('v.StageName__c_o', res[0].StageName__c);
+
+ $A.util.removeClass(component.find('input-opportunity-stage'), 'disp_none');
+ $A.util.removeClass(component.find('input-opportunity-amount1'), 'disp_none');
+ $A.util.removeClass(component.find('input-opportunity-amount2'), 'disp_none');
+ $A.util.removeClass(component.find('input-opportunity-date'), 'disp_none');
+ $A.util.addClass(component.find('input-opportunity-blank'), 'disp_none');
+ }
+
+ component.set('v.login',false);
+ }
+ else{
+ this.error('selectOpportunityByIdAndHospitalLinkId failed.');
+ component.set('v.login',false);
+ }
+ });
+ $A.enqueueAction(action);
+ }
+ },
+
+ productcategoryChange1 : function(component, event, helper) {
+ var product_category_id = component.find('select_Product1').get('v.value');
+ var pcId1 = component.find('select_Product2').get('v.value');
+ var pcId2 = component.find('select_Product3').get('v.value');
+ var p1bool = pcId1 != '' && pcId1 != null && pcId1 != undefined;
+ var p2bool = pcId2 != '' && pcId2 != null && pcId2 != undefined;
+ var p0bool = product_category_id != '' && product_category_id != null && product_category_id != undefined;
+ if ((p1bool && p0bool && product_category_id == pcId1) || (p2bool && p0bool && product_category_id == pcId2)) {
+ this.warning('涓嶈兘閫夋嫨鍚屾牱鐨勪骇鍝佸尯鍒�');
+ component.find('select_Product1').set('v.value','');
+ }
+ },
+ productcategoryChange2 : function(component, event, helper) {
+ var product_category_id = component.find('select_Product2').get('v.value');
+ var pcId1 = component.find('select_Product1').get('v.value');
+ var pcId2 = component.find('select_Product3').get('v.value');
+ var p1bool = pcId1 != '' && pcId1 != null && pcId1 != undefined;
+ var p2bool = pcId2 != '' && pcId2 != null && pcId2 != undefined;
+ var p0bool = product_category_id != '' && product_category_id != null && product_category_id != undefined;
+ if ((p1bool && p0bool && product_category_id == pcId1) || (p2bool && p0bool && product_category_id == pcId2)) {
+ this.warning('涓嶈兘閫夋嫨鍚屾牱鐨勪骇鍝佸尯鍒�');
+ component.find('select_Product2').set('v.value','');
+ }
+ },
+ productcategoryChange3 : function(component, event, helper) {
+ var product_category_id = component.find('select_Product3').get('v.value');
+ var pcId1 = component.find('select_Product1').get('v.value');
+ var pcId2 = component.find('select_Product2').get('v.value');
+ var p1bool = pcId1 != '' && pcId1 != null && pcId1 != undefined;
+ var p2bool = pcId2 != '' && pcId2 != null && pcId2 != undefined;
+ var p0bool = product_category_id != '' && product_category_id != null && product_category_id != undefined;
+ if ((p1bool && p0bool && product_category_id == pcId1) || (p2bool && p0bool && product_category_id == pcId2)) {
+ this.warning('涓嶈兘閫夋嫨鍚屾牱鐨勪骇鍝佸尯鍒�');
+ component.find('select_Product3').set('v.value','');
+ }
+ },
+
+ conv_selected : function(obj) {
+ for (var i = 0; i < obj.length; i++) {
+ if (obj[i].selected) {
+ if (obj[i].selected == 'true') {
+ obj[i].selected = true;
+ } else {
+ obj[i].selected = false;
+ }
+ }
+ }
+
+ return obj;
+ },
+
+ set_selected : function (component, aura_id_name, value) {
+ var select_tmp = component.find(aura_id_name).get('v.options');
+ if (select_tmp) {
+ for (var i = 0; i < select_tmp.length; i++) {
+ if (select_tmp[i].value == value) {
+ select_tmp[i].selected = true;
+ } else {
+ select_tmp[i].selected = false;
+ }
+ }
+ component.find(aura_id_name).set('v.options', select_tmp);
+ return true;
+ } else {
+ return false;
+ }
+ },
+
+ success : function(message) {
+ var toastEvent = $A.get("e.force:showToast");
+ toastEvent.setParams({
+ "title" : "鎴愬姛!",
+ "message" : message,
+ "type" : "success",
+ "duration" : "5000"
+ });
+ toastEvent.fire();
+ },
+
+ warning : function(message) {
+ var toastEvent = $A.get("e.force:showToast");
+ toastEvent.setParams({
+ "title": "璀﹀憡!",
+ "message": message,
+ "type":"warning",
+ "duration" : "10000"
+ });
+ toastEvent.fire();
+ },
+
+ error : function(message) {
+ // $('toastMessage.forceToastManager').css('white-space', 'pre-wrap');
+ var toastEvent = $A.get("e.force:showToast");
+
+ toastEvent.setParams({
+ "title": "閿欒!",
+ "message": message,
+ "type":"error",
+ "duration" : "sticky"
+ });
+ toastEvent.fire();
+ },
+
+ createCon : function(component, event, helper) {
+ var modal_newAC = component.find('modal_newAC')
+ $A.util.removeClass(modal_newAC, 'disp_none');
+ component.set('v.truthy', true);
+ // var modal_newAC = component.find('modal_newAC')
+ // $A.util.removeClass(modal_newAC, 'disp_none');
+ },
+
+ // vivek start 娣诲姞楠岃瘉
+ // handleFormSubmit : function(component) {
+ // var showValidationError = false;
+ // var fields = component.find("newOpportunityField");
+ // var vaildationFailReason = '';
+ // var currentDate = new Date().toJSON().slice(0,10);
+
+ // fields.forEach(function (field) {
+ // if(field.get("v.fieldName") === 'Type__c' && $A.util.isEmpty(field.get("v.value"))){
+ // showValidationError = true;
+ // vaildationFailReason = "鍒嗙被涓嶈兘涓虹┖锛�";
+ // }else if(field.get("v.fieldName") === 'Doctor_Division1__c' && $A.util.isEmpty(field.get("v.value"))){
+ // showValidationError = true;
+ // vaildationFailReason = "鍖荤敓鍖哄垎(鑱屽姟)涓嶈兘涓虹┖锛�";
+ // }
+ // });
+
+ // if (showValidationError) {
+ // component.find('OppMessage').setError(vaildationFailReason);
+ // }
+ // },
+ // vivek end 娣诲姞楠岃瘉
+
+ hideCmp : function(component, event, helper) {
+ var div1 = component.find('report')
+ var div2 = component.find('report_list')
+ $A.util.addClass(div1, 'disp_none');
+ $A.util.addClass(div2, 'disp_none');
+ },
+
+ handleSuccess : function(component, event, helper) {
+ var insertId = event.getParams().response.Id;
+ var displayValue = event.getParams().response.fields.Name.value;
+ event.setParams({});
+ component.set('v.truthy', false);
+ var modal_newAC = component.find('modal_newAC')
+ $A.util.addClass(modal_newAC, 'disp_none');
+ this.success('.瀹㈡埛浜哄憳宸插垱寤恒��');
+ this.set_doctor_list(component);
+ },
+
+ createCancel : function(component, event, helper) {
+ component.set('v.truthy', false);
+ var modal_newAC = component.find('modal_newAC')
+ $A.util.addClass(modal_newAC, 'disp_none');
+ },
+ setOpportunity_cfilter : function(component) {
+ debugger
+ var hosId = component.get('v.hospitalId');
+ var Department_Cateogy__c = component.find('select_department').get('v.value');
+ var opportunity_cfilter = '';
+ if (hosId != '' && hosId != null) {
+ opportunity_cfilter = ' Agency_Hospital__r.Hospital__c=' + '\'' + hosId + '\'';
+ }
+ if (Department_Cateogy__c != '' && Department_Cateogy__c != null) {
+ if (opportunity_cfilter != '' && opportunity_cfilter != null) {
+ opportunity_cfilter += ' AND ';
+ }
+ opportunity_cfilter += 'Department_Cateogy__c=' + '\'' + Department_Cateogy__c + '\'';
+ }
+ component.set('v.opportunity_cfilter', opportunity_cfilter);
+ component.set('v.data.Opportunity__c', null);
+ },
+ readFile: function(component, helper, file) {
+ if (!file) return;
+ // console.log('file'+file.name);
+ if(!file.name.match(/\.(csv||CSV)$/)){
+ return alert('only support csv files');
+ }else{
+
+ reader = new FileReader();
+ reader.onerror =function errorHandler(evt) {
+ switch(evt.target.error.code) {
+ case evt.target.error.NOT_FOUND_ERR:
+ alert('File Not Found!');
+ break;
+ case evt.target.error.NOT_READABLE_ERR:
+ alert('File is not readable');
+ break;
+ case evt.target.error.ABORT_ERR:
+ break; // noop
+ default:
+ alert('An error occurred reading this file.');
+ };
+ }
+ //reader.onprogress = updateProgress;
+ reader.onabort = function(e) {
+ alert('File read cancelled');
+ };
+ reader.onloadstart = function(e) {
+
+ var output = '<ui type=\"disc\"><li><strong>'+file.name +'</strong> ('+file.type+')- '+file.size+'bytes, last modified: '+file.lastModifiedDate.toLocaleDateString()+'</li></ui>';
+ component.set("v.filename",file.name);
+ component.set("v.TargetFileName",output);
+
+ };
+ reader.onload = function(e) {
+ var data=e.target.result;
+ component.set("v.fileContentData",data);
+ console.log("file data"+JSON.stringify(data));
+ // console.log("file data"+encodeURI(JSON.stringify(data),"utf-8"));
+ var allTextLines = data.split(/\r\n|\n/);
+ var dataRows=allTextLines.length-1;
+ var headers = allTextLines[0].split(',');
+
+ // console.log("Rows length::"+dataRows);
+
+
+ var numOfRows=component.get("v.NumOfRecords");
+ if(dataRows > numOfRows+1 || dataRows == 1 || dataRows== 0){
+
+ alert("File Rows between 1 to "+numOfRows+" .");
+ component.set("v.showMain",true);
+
+ }
+ else{
+ var lines = [];
+ var filecontentdata;
+ var content = "<table class=\"table slds-table slds-table--bordered slds-table--cell-buffer\">";
+ content += "<thead><tr class=\"slds-text-title--caps\">";
+ content += '<th scope=\"col"\>'+'琛屽彿'+'</th>';
+ for(i=0;i<headers.length; i++){
+ content += '<th scope=\"col"\>'+headers[i]+'</th>';
+ }
+ content += "</tr></thead>";
+ for (var i=1; i<allTextLines.length; i++) {
+ filecontentdata = allTextLines[i].split(',');
+ if(filecontentdata[0]!=''){
+ content +="<tr>";
+ content +="<td>"+i+"</td>";
+ for(var j=0;j<filecontentdata.length;j++){
+ content +='<td>'+filecontentdata[j]+'</td>';
+ }
+ content +="</tr>";
+ }
+ }
+ content += "</table>";
+ console.log(content);
+ component.set("v.TableContent",content);
+ component.set("v.showMain",false);
+ }
+ }
+ reader.readAsText(file,'gb2312');
+
+ }
+ var reader = new FileReader();
+ reader.onloadend = function() {
+
+ };
+ reader.readAsDataURL(file);
+ },
+
+ saveRecords : function(component,event,helper){
+ component.set('v.login',true);
+ //fy 瀵煎叆 20220424 start
+ var action1 = component.get("c.processDataAWSId");
+ action1.setParams({
+ fileData : component.get("v.fileContentData"),
+ });
+ action1.setCallback(this, function(response) {
+ var state = response.getState();
+ if (state === "SUCCESS") {
+ var ress = response.getReturnValue();
+ if(ress){
+ var valur =ress.split('error1');
+ if(valur.length<=1){
+ var res = JSON.parse(response.getReturnValue());
+ var dataArr = new Array();
+ var dataMap = new Map();
+ res.forEach(item => {
+ if(item.AWS_Data_Id__c){
+ dataArr.push(item.AWS_Data_Id__c);
+ //dataMap.set(item.AWS_Data_Id__c,item.Name_Encrypted__c);
+ dataMap.set(item.AWS_Data_Id__c,item.AWS_Data_Id__c); //zhj 鏂版柟妗堟敼閫� 2022-12-21
+ }
+ });
+ debugger
+ let obj= Object.create(null);
+ obj['dataIds'] = dataArr;
+ var payload = JSON.stringify(obj);
+ this.search_contact_url(component, 'Agency_Contact__c', (result)=>{
+ var token = result.token;
+ var searchUrl = result.searchUrl;
+ this.search_core(token,searchUrl,payload,(result)=>{
+ if(result.status == '0'){
+ if(result.object != null&&result.object.length != 0){
+ // var resultjson = JSON.stringify(result.object);
+ // if(resultjson){
+ // debugger
+ // console.warn('001');
+ // component.set('v.login',true);
+ // this.ImportMethod(component,resultjson);
+ // }
+ component.set('v.login',true);
+ this.saveRecordsEditFile(component,dataMap,result.object,helper);
+ }else{
+ this.error('AWS search status5 ' );
+ component.set('v.login',false);
+ }
+ }else{
+ this.error('AWS search status6 : ' + result.status);
+ component.set('v.login',false);
+ }
+ },component);
+ // var resultjson =null;
+ // this.ImportMethod(component,resultjson);
+
+ });
+ // var resultjson =null;
+ // this.ImportMethod(component,resultjson);
+ }else{
+ this.error(valur[1]+'\n'+"璇蜂慨鏀瑰悗閲嶆柊涓婁紶");
+ }
+ }
+ }
+ });
+ $A.enqueueAction(action1);
+ //fy 瀵煎叆 20220424 end
+ // var action = component.get("c.processData");
+ // var selectDate = component.find('select_date').get('v.value');
+ // var fieldsList=['Name','Phone','AccountNumber']; //Please write your code dynamic
+ // var sss=component.get("v.fileContentData");
+ // action.setParams({
+ // fileData : component.get("v.fileContentData"),
+ // //selectDateselectDate :component.find('select_date').get('v.value'),
+ // sobjectName:'Account', //Any object
+ // fields:fieldsList
+ // });
+ // action.setCallback(this, function(response) {
+ // var state = response.getState();
+ // if (state === "SUCCESS") {
+
+ // var res = response.getReturnValue();
+ // var res1 = '';
+ // console.log("[[[[[["+res);
+ // if(res != 'success'){
+ // debugger
+ // var ress = res.split('=');
+ // console.log(ress);
+ // for (var i=0; i<ress.length; i++) {
+ // res1 += ress[i].substr(7)+'\n';
+ // }
+ // // $('.forceToastManager').css('white-space', 'pre-wrap');
+ // console.log("=="+res1);
+ // this.error(res1+"璇蜂慨鏀瑰悗閲嶆柊涓婁紶");
+ // component.set('v.login',false);
+ // }else{
+ // component.set("v.showMain",true);
+ // this.success("瀵煎叆鎴愬姛");
+ // // alert('saved successfully');
+ // component.set('v.login',false);
+ // }
+
+ // }
+ // else if (state === "INCOMPLETE") {
+ // // do something
+ // component.set('v.login',false);
+ // }
+ // else if (state === "ERROR") {
+ // var errors = response.getError();
+ // if (errors) {
+ // if (errors[0] && errors[0].message) {
+ // console.log("Error message: " +
+ // errors[0].message);
+ // component.set('v.login',false);
+ // }
+ // } else {
+ // console.log("Unknown error");
+ // component.set('v.login',false);
+ // }
+ // }
+ // });
+ // $A.enqueueAction(action);
+
+ },ImportMethod : function(component,fileStr){
+ var actionss = component.get("c.processData");
+ var selectDate = component.find('select_date').get('v.value');
+ var fieldsList=['Name','Phone','AccountNumber']; //Please write your code dynamic
+ var sss=component.get("v.fileContentData");
+ actionss.setParams({
+ // fileData : component.get("v.fileContentData"),
+ fileData : fileStr,
+ // selectDateselectDate :component.find('select_date').get('v.value'),
+ sobjectName:'Account', //Any object
+ fields:fieldsList
+ // Agency_ContactListjson:resultjson
+ });
+ actionss.setCallback(this, function(response) {
+ console.log('002');
+ var state = response.getState();
+ if (state === "SUCCESS") {
+ var res = response.getReturnValue();
+ var res1 = '';
+ console.log("[[[[[["+res);
+ if(res != 'success'){
+ var ress = res.split('=');
+ console.log(ress);
+ for (var i=0; i<ress.length; i++) {
+ res1 += ress[i].substr(7)+'\n';
+ }
+ // $('.forceToastManager').css('white-space', 'pre-wrap');
+ console.log("=="+res1);
+ this.error(res1+"璇蜂慨鏀瑰悗閲嶆柊涓婁紶");
+ component.set('v.login',false);
+ }else{
+ component.set("v.showMain",true);
+ this.success("瀵煎叆鎴愬姛");
+ // alert('saved successfully');
+ component.set('v.login',false);
+ }
+
+ }
+ else if (state === "INCOMPLETE") {
+ // do something
+ component.set('v.login',false);
+ }
+ else if (state === "ERROR") {
+ var errors = response.getError();
+ if (errors) {
+ if (errors[0] && errors[0].message) {
+ console.log("Error message: " +
+ errors[0].message);
+ component.set('v.login',false);
+ }
+ } else {
+ console.log("Unknown error");
+ component.set('v.login',false);
+ }
+ }
+ });
+ $A.enqueueAction(actionss);
+ },saveRecordsEditFile : function(component,dataMap,searchData,helper){
+ var searchDataMap = new Map();
+ for (var i = 0; i < searchData.length; i++) {
+ var sd = searchData[i];
+ searchDataMap.set(sd.name.replace(' ',''),sd.dataId);
+ }
+ console.log('searchDataMap='+searchDataMap);
+ var error = '';
+ var fileData = component.get("v.fileContentData");
+ var files = fileData.split('\n');
+
+ var fileStr = files[0];
+ fileStr += '\n';
+
+ for (var i = 1; i < files.length-1; i++) {
+ var filelist = files[i].split(',');
+ var fileName = filelist[4];
+
+ if (searchDataMap.get(fileName.replace(' ',''))) {
+ var nameDataId = searchDataMap.get(fileName.replace(' ',''));
+ if (dataMap.get(nameDataId)) {
+ filelist[4] = dataMap.get(nameDataId); //zhj 鏂版柟妗堟敼閫� filelist[4]涓嶅啀瀛樼殑nameEncrpt 2022-12-21
+ }else {
+ error += 'error1 绗�'+i+'琛屾暟鎹嫓璁夸汉SF涓嶅瓨鍦�';
+ error += '=';
+ }
+ }else {
+ error += 'error1 绗�'+i+'琛屾暟鎹嫓璁夸汉AWS涓嶅瓨鍦�';
+ error += '=';
+ }
+ fileStr += filelist.toString();
+ fileStr += '\n';
+ }
+
+ if (error != '') {
+ this.error(error);
+ console.log('error='+error);
+ component.set('v.login',false);
+ return;
+ }
+
+ console.log('fileStr='+fileStr);
+ $A.getCallback(function(){
+ debugger
+ helper.ImportMethod(component,fileStr);
+ })();
+
+ },
+ convertArrayOfObjectsToCSV : function(component,objectRecords){
+ var csvStringResult, counter, keys, columnDivider, lineDivider,thkeys;
+ if (objectRecords == null || !objectRecords.length) {
+ return null;
+ }
+ columnDivider = ',';
+ lineDivider = '\n';
+ //SWAG-CBX68C fy 銆愬鎵樸�慏AMS绯荤粺鍛ㄦ姤妯″潡鍐呭闇�姹傚鍔� start ,'SupportNeeds__c' ,'鏀彺闇�姹�'
+ keys = ['Submit_date__c','Person_In_Charge2__c','Report_Date__c','Agency_Hospital__c','Department_Cateogy__c','doctor2__c','visitor_title__c','Product_Category1__c','Product_Category2__c','Product_Category3__c','Purpose_Type__c','Result__c','SupportNeeds__c'];
+ thkeys = ['鍛�','鎷呭綋','娲诲姩鏃�','鍖婚櫌','绉戝','鎷滆浜�','鑱屼綅','浜у搧鍖哄垎1','浜у搧鍖哄垎2','浜у搧鍖哄垎3','娲诲姩鍖哄垎','缁撴灉','鏀彺闇�姹�']
+ csvStringResult = '';
+ csvStringResult += thkeys.join(columnDivider);
+ csvStringResult += lineDivider;
+ console.log("杩涘叆瀵煎嚭helper");
+ for(var i=0; i < objectRecords.length; i++){
+ counter = 0;
+ for(var sTempkey in keys) {
+ var skey = keys[sTempkey];
+ if(counter > 0){
+ csvStringResult += columnDivider;
+ }
+ if(typeof objectRecords[i][skey] === "undefined"){
+ csvStringResult += '"'+''+'"';
+ continue;
+ }
+ if(skey == 'Person_In_Charge2__c'){
+ csvStringResult += '"'+ objectRecords[i].Person_In_Charge2__r.Name+'"';
+ }else if(skey == 'Agency_Hospital__c'){
+ csvStringResult += '"'+ objectRecords[i].Agency_Hospital__r.Name+'"';
+ }else if(skey == 'doctor2__c'){
+ csvStringResult += '"'+ objectRecords[i].doctor2__r.Name+'"';
+ }else if(skey == 'Product_Category1__c'){
+ csvStringResult += '"'+ objectRecords[i].Product_Category1__r.Name+'"';
+ }else if(skey == 'Product_Category2__c'){
+ csvStringResult += '"'+ objectRecords[i].Product_Category2__r.Name+'"';
+ }else if(skey == 'Product_Category3__c'){
+ csvStringResult += '"'+ objectRecords[i].Product_Category3__r.Name+'"';
+ }
+ else if(skey == 'SupportNeeds__c'){//SWAG-CBX68C fy 銆愬鎵樸�慏AMS绯荤粺鍛ㄦ姤妯″潡鍐呭闇�姹傚鍔� start
+ csvStringResult += '"'+ objectRecords[i].SupportNeeds__c+'"';
+ }
+ else{
+ csvStringResult += '"'+ objectRecords[i][skey]+'"';
+ }
+ counter++;
+
+ } // inner for loop close
+ console.log("瀵煎嚭寰幆缁撴潫");
+ csvStringResult += lineDivider;
+ }// outer main for loop close
+
+ // return the CSV formate String
+ return csvStringResult;
+ },
+ showExportDate : function(component,objectRecords){
+ console.log('杩涘叆showexceportdate'+objectRecords);//SWAG-CBX68C fy 銆愬鎵樸�慏AMS绯荤粺鍛ㄦ姤妯″潡鍐呭闇�姹傚鍔� start ,'SupportNeeds__c' ,'鏀彺闇�姹�'
+ var keys = ['Submit_date__c','Person_In_Charge2__c','Report_Date__c','Agency_Hospital__c','Department_Cateogy__c','doctor2__c','visitor_title__c','Product_Category1__c','Product_Category2__c','Product_Category3__c','Purpose_Type__c','Result__c','SupportNeeds__c'];
+ var headers = ['鍛�','鎷呭綋','娲诲姩鏃�','鍖婚櫌','绉戝','鎷滆浜�','鑱屼綅','浜у搧鍖哄垎1','浜у搧鍖哄垎2','浜у搧鍖哄垎3','娲诲姩鍖哄垎','缁撴灉','鏀彺闇�姹�']
+ var content = "<table class=\"table slds-table slds-table--bordered slds-table--cell-buffer\">";
+ content += "<thead><tr class=\"slds-text-title--caps\">";
+ for(i=0;i<headers.length; i++){
+ content += '<th scope=\"col"\>'+headers[i]+'</th>';
+ }
+ content += "</tr></thead>";
+ for(var i=0; i < objectRecords.length; i++){
+ console.log('for'+content);
+ content += '<tr>';
+ // content += '<td>'+(i+1)+'</td>';
+ for(var sTempkey in keys) {
+ console.log('for1'+sTempkey);
+ var skey = keys[sTempkey];
+ if(typeof objectRecords[i][skey] === "undefined"){
+ content += '<td>'+''+'</td>';
+ continue;
+ }
+ console.log('for2'+objectRecords[i].Person_In_Charge2__r.Name);
+ if(skey == 'Person_In_Charge2__c'){
+ content += '<td>'+ objectRecords[i].Person_In_Charge2__r.Name+'</td>';
+ }else if(skey == 'Agency_Hospital__c'){
+ content += '<td>'+ objectRecords[i].Agency_Hospital__r.Name+'</td>';
+ }else if(skey == 'doctor2__c'){
+ content += '<td>'+ objectRecords[i].doctor2__r.Name+'</td>';
+ }else if(skey == 'Product_Category1__c'){
+ content += '<td>'+ objectRecords[i].Product_Category1__r.Name+'</td>';
+ }else if(skey == 'Product_Category2__c'){
+ content += '<td>'+ objectRecords[i].Product_Category2__r.Name+'</td>';
+ }else if(skey == 'Product_Category3__c'){
+ content += '<td>'+ objectRecords[i].Product_Category3__r.Name+'</td>';
+ }
+ else if(skey == 'SupportNeeds__c'){//SWAG-CBX68C fy 銆愬鎵樸�慏AMS绯荤粺鍛ㄦ姤妯″潡鍐呭闇�姹傚鍔� start
+ content += '<td>'+ objectRecords[i].SupportNeeds__c+'</td>';
+ }
+ else{
+ content += '<td>'+ objectRecords[i][skey]+'</td>';
+ }
+ } // inner for loop close
+ content += '</tr>'
+ }// outer main for loop close
+ content += '</table>';
+ console.log("helper寰幆缁撴潫"+content);
+ component.set("v.TableContent2",content);
+ component.set("v.showMain",false);
+ },
+
+ select_repores_date : function(component,event,helper){
+ component.set('v.login',true);
+ var reportsdate1 = component.find('input-report-date1').get('v.value');
+ var reportsdate2 = component.find('input-report-date2').get('v.value');
+ console.log('杈撳叆鐨勫紑濮嬫棩鏈�'+reportsdate1+'杈撳叆鐨勭粨鏉熸棩鏈�'+reportsdate2);
+ var action = component.get("c.getReportsByDate");
+ console.log('杈撳叆鐨勫紑濮嬫棩鏈�1');
+ action.setParams({
+ date1 : reportsdate1,
+ date2: reportsdate2
+ });
+ console.log('杈撳叆鐨勫紑濮嬫棩鏈�2');
+ action.setCallback(this, function(response) {
+ var state = response.getState();
+ if (state === "SUCCESS") {
+
+ var res = response.getReturnValue();
+ console.log('杈撳叆鐨勫紑濮嬫棩鏈�3'+res);
+ component.set('v.login',false);
+
+ // PI 鏀归�� By Bright 20220328
+ if(true){
+ let awsids = [];
+ for (let ri in res) {
+ if(res[ri] && res[ri].doctor2__r && res[ri].doctor2__r.AWS_Data_Id__c){
+ awsids.push(res[ri].doctor2__r.AWS_Data_Id__c);
+ }
+ }
+ if(awsids.length > 0){
+ let awsurl = component.get('v.awsurl');
+
+ AWSService.search(awsurl.searchUrl,{
+ dataIds:awsids
+ }, function(data){
+ if(data && data.object && data.object.length){
+ let m = {};
+ for(let di in data.object){
+ if(data.object[di] && data.object[di].dataId){
+ m[data.object[di].dataId] = data.object[di];
+ }
+ }
+
+ for(let ri in res){
+ if(res[ri] && res[ri].doctor2__r && res[ri].doctor2__r.AWS_Data_Id__c && m.hasOwnProperty(res[ri].doctor2__r.AWS_Data_Id__c)){
+ res[ri].doctor2__r.Name = m[res[ri].doctor2__r.AWS_Data_Id__c].name;
+ res[ri].visitor_title__c = m[res[ri].doctor2__r.AWS_Data_Id__c].doctorDivision1;
+
+ }
+ }
+ }
+ helper.showExportDate(component, res);
+
+ component.set('v.login', false);
+ }, awsurl.token);
+ }else{
+ helper.showExportDate(component, res);
+ }
+ }
+
+
+ component.set('v.reports_date', res);
+
+ }else{
+ alert('瀵煎嚭澶辫触,璇锋鏌ユ椿鍔ㄦ棩');
+ component.set('v.login',false);
+ }
+ });
+ $A.enqueueAction(action);
+
+ },
+
+ showImport : function(component){
+ // console.log('杩涘叆');
+ // component.find('file').click();
+ var modalimport = component.find('modal_import');
+ var modalimportbg = component.find('modal_importbg');
+ $A.util.removeClass(modalimport, 'disp_none');
+ $A.util.removeClass(modalimportbg,'disp_none');
+ },
+
+ showExport : function(component) {
+ var modalimport = component.find('modal_export');
+ var modalimportbg = component.find('modal_exportbg');
+ $A.util.removeClass(modalimport, 'disp_none');
+ $A.util.removeClass(modalimportbg,'disp_none');
+ },
+
+ close_import : function(component){
+ var modalimport = component.find('modal_import');
+ var modalimportbg = component.find('modal_importbg');
+ $A.util.addClass(modalimport, 'disp_none');
+ $A.util.addClass(modalimportbg,'disp_none');
+ },
+
+ close_export : function(component){
+ var modalimport = component.find('modal_export');
+ var modalimportbg = component.find('modal_exportbg');
+ $A.util.addClass(modalimport, 'disp_none');
+ $A.util.addClass(modalimportbg,'disp_none');
+ },
+
+ //zhj MEBG鏂版柟妗堟敼閫� 2022-11-29 start
+ CallBackAction : function(component,action_name,para,callback) {
+ var action = component.get("c." + action_name.trimStart().replace("c.",""));
+ if(para){
+ action.setParams(para);
+ }
+ if(callback){
+ action.setCallback(this,function(data){
+ callback(data);
+ });
+ }
+
+ $A.enqueueAction(action);
+ },
+ //zhj MEBG鏂版柟妗堟敼閫� 2022-11-29 end
+
+ // searchAgencyContact : function(res) {
+ // var agencyContacts = [];
+ // for (let idx = 0; idx < res.length; idx++) {
+ // agencyContacts.push(res[idx].awsid);
+ // }
+ // var action = component.get('c.getAWStoken');
+ // action.setCallback(this,function(response){
+ // var state = response.getState();
+ // console.log('state : ' + state);
+ // if(state === 'SUCCESS') {
+ // console.log('get name : ' + action.getName());
+ // }
+ // else if(state === 'INCOMPLETE') {
+ // console.log('incomplete state');
+ // } else if(state === 'ERROR') {
+ // if (errors) {
+ // if (errors[0] && errors[0].message) {
+ // console.log("Error message: " +
+ // errors[0].message);
+ // }
+ // } else {
+ // console.log("Unknown error");
+ // }
+ // }
+ // });
+ // $A.enqueueAction(action);
+ // // var requestSearchPayload = new Map();
+ // // requestSearchPayload.set("dataIds",agencyContacts);
+ // var data = '{"dataIds": ["944233643042144256", "943645353649897473"]}';
+ // var token = 'eyJhbGciOiJIUzUxMiJ9.eyJjcmVhdGVkIjoxNjQ0NzY4MTIwNjc2LCJhcHBpZCI6IjZMeml6Y1JmN2g4eUx4MjgiLCJleHAiOjE2NDk5NTIxMjB9.6vORDP8BRaf_beCt4SEXrl3DEuYZ3owotkUqh27r8YhfmKDDWrv_NpVVpjTPeFjvzlQqaJMcFobZeAmPxpmq2A';
+ // var searchUrl = 'https://52.83.101.205/api/agencycontact/search';
+ // var data = this.search(searchUrl,data,token);
+ // return data;searchUrl,requestSearchPayload,token
+ // },
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/condensedThemeLayout/condensedThemeLayout.cmp b/force-app/main/default/aura/condensedThemeLayout/condensedThemeLayout.cmp
new file mode 100644
index 0000000..71a1f6c
--- /dev/null
+++ b/force-app/main/default/aura/condensedThemeLayout/condensedThemeLayout.cmp
@@ -0,0 +1,25 @@
+<aura:component implements="forceCommunity:themeLayout">
+ <aura:attribute name="search" type="Aura.Component[]"/>
+ <aura:attribute name="sidebarFooter" type="Aura.Component[]"/>
+ <div class="slds-grid slds-grid--align-center">
+ <div class="slds-col">
+ <div class="slds-grid slds-grid--vertical">
+ <div class="slds-col">
+ <div class="logoContainer"></div>
+ </div>
+ <div class="slds-col">
+ {!v.search}
+ </div>
+ <div class="slds-col">
+ <!-- placeholder for navigation -->
+ </div>
+ <div class="slds-col">
+ {!v.sidebarFooter}
+ </div>
+ </div>
+ </div>
+ <div class="slds-col content">
+ {!v.body}
+ </div>
+ </div>
+</aura:component>
\ No newline at end of file
diff --git a/force-app/main/default/aura/condensedThemeLayout/condensedThemeLayout.cmp-meta.xml b/force-app/main/default/aura/condensedThemeLayout/condensedThemeLayout.cmp-meta.xml
new file mode 100644
index 0000000..5a95bf7
--- /dev/null
+++ b/force-app/main/default/aura/condensedThemeLayout/condensedThemeLayout.cmp-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<AuraDefinitionBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>57.0</apiVersion>
+ <description>A Lightning Component Bundle</description>
+</AuraDefinitionBundle>
diff --git a/force-app/main/default/aura/condensedThemeLayout/condensedThemeLayout.css b/force-app/main/default/aura/condensedThemeLayout/condensedThemeLayout.css
new file mode 100644
index 0000000..a092b1e
--- /dev/null
+++ b/force-app/main/default/aura/condensedThemeLayout/condensedThemeLayout.css
@@ -0,0 +1,15 @@
+.THIS .logoContainer {
+background-image: t('url(' + brandLogoImage + ')');
+background-position: center;
+background-repeat: no-repeat;
+background-size: contain;
+z-index: 99;
+cursor: pointer;
+position: relative;
+max-width: 100%;
+max-height: 52px;
+display: block;
+outline: 0;
+height: 50px;
+margin-top: 10px;
+}
\ No newline at end of file
diff --git a/force-app/main/default/aura/condensedThemeLayout/condensedThemeLayoutController.js b/force-app/main/default/aura/condensedThemeLayout/condensedThemeLayoutController.js
new file mode 100644
index 0000000..bb1e8ab
--- /dev/null
+++ b/force-app/main/default/aura/condensedThemeLayout/condensedThemeLayoutController.js
@@ -0,0 +1,5 @@
+({
+ myAction : function(component, event, helper) {
+
+ }
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/defaultTokens/defaultTokens.tokens b/force-app/main/default/aura/defaultTokens/defaultTokens.tokens
new file mode 100644
index 0000000..2ffc6f9
--- /dev/null
+++ b/force-app/main/default/aura/defaultTokens/defaultTokens.tokens
@@ -0,0 +1,45 @@
+<!--
+Strike by Appiphony
+
+Version: 1.0.0
+Website: http://www.lightningstrike.io
+GitHub: https://github.com/appiphony/Strike-Components
+License: BSD 3-Clause License
+-->
+<aura:tokens extends="force:base">
+ <aura:token name="fontSizeSmall" value="0.75rem"/>
+ <aura:token name="spacingXxLarge" value="3rem"/>
+ <aura:token name="fontSizeXxLarge" value="1.75rem"/>
+ <aura:token name="fontSizeXLarge" value="1.25rem"/>
+ <aura:token name="fontSizeXSmall" value="0.625rem"/>
+ <aura:token name="colorBorderInpuDisabled" value="#a8b7c7"/>
+ <aura:token name="fontSizeTextSmall" value="0.8125rem"/>
+ <aura:token name="colorBackgroundDestructive" value="#c23934"/>
+ <aura:token name="colorBackgroundDestructiveActive" value="#870500"/>
+ <aura:token name="colorBackgroundPathComplete" value="#4bca81"/>
+ <aura:token name="colorBackgroundPathCompleteHover" value="rgba(4,132,75,.95)"/>
+ <aura:token name="colorBorderInverse" value="#061c3f"/>
+ <aura:token name="fontSizeTextXxSmall" value=".625rem"/>
+ <aura:token name="zIndexOverlay" value="8000"/>
+</aura:tokens>
+<!--
+Copyright 2017 Appiphony, LLC
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
+following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following
+disclaimer.
+2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following
+disclaimer in the documentation and/or other materials provided with the distribution.
+3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote
+products derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+-->
\ No newline at end of file
diff --git a/force-app/main/default/aura/defaultTokens/defaultTokens.tokens-meta.xml b/force-app/main/default/aura/defaultTokens/defaultTokens.tokens-meta.xml
new file mode 100644
index 0000000..a6af60d
--- /dev/null
+++ b/force-app/main/default/aura/defaultTokens/defaultTokens.tokens-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<AuraDefinitionBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>41.0</apiVersion>
+ <description>A Lightning Component Bundle</description>
+</AuraDefinitionBundle>
diff --git a/force-app/main/default/aura/eSignAgencyConfirmPage/eSignAgencyConfirmPage.cmp b/force-app/main/default/aura/eSignAgencyConfirmPage/eSignAgencyConfirmPage.cmp
new file mode 100644
index 0000000..dfc9de4
--- /dev/null
+++ b/force-app/main/default/aura/eSignAgencyConfirmPage/eSignAgencyConfirmPage.cmp
@@ -0,0 +1,747 @@
+<aura:component implements="force:appHostable,flexipage:availableForAllPageTypes"
+ access="global" controller="eSignAgencyConfirmPageController">
+ <aura:attribute name="DNName" type="String"
+ description="鐢ㄦ潵浠庣埗瀵硅薄鎺ユ敹浼犻�掕繃鏉ョ殑DN鍙�"
+ default=""/>
+ <aura:attribute name="allWidth" type="String"
+ description="鐢ㄦ潵浠庣埗瀵硅薄鎺ユ敹浼犻�掕繃鏉ョ殑灞忓箷瀹藉害"
+ default=""/>
+ <aura:attribute name="floatWidth" type="String"
+ description="鐢ㄦ潵浠庣埗瀵硅薄鎺ユ敹浼犻�掕繃鏉ョ殑灞忓箷瀹藉害"
+ default=""/>
+ <!-- 鍒ゆ柇缁忛攢鍟嗗彲浠ユ煡鐪嬭繕鏄紪杈� -->
+ <aura:attribute name="IsAgencyShow" type="Boolean" default=""/>
+ <!-- 缁忛攢鍟嗘壂鎻忔棩 -->
+ <aura:attribute name="agencyScanDayBack" type="Date" default=""/>
+ <!-- 缁忛攢鍟嗙鏀舵棩 -->
+ <aura:attribute name="agencySignUpDateBack" type="Date" default=""/>
+ <!-- 缁忛攢鍟嗙‘璁ゆ棩 -->
+ <aura:attribute name="agencyConfirmDateBack" type="Date" default=""/>
+
+ <!-- 鍖婚櫌鎵弿鏃� -->
+ <aura:attribute name="HPScanDay" type="Date" default=""/>
+ <!-- 鍖婚櫌绛炬敹鏃� -->
+ <aura:attribute name="HPSignUpDate" type="Date" default=""/>
+ <!-- 鍖婚櫌鍙嶉鏃� -->
+ <aura:attribute name="salesHPManageFBDate" type="Date" default=""/>
+ <!-- 鍖婚櫌鍙嶉纭鏃�-->
+ <aura:attribute name="salesHPManageConfirmDate" type="Date" default=""/>
+ <!-- 鍖婚櫌纭鏃� -->
+ <aura:attribute name="HPConfirmDate" type="Date" default=""/>
+ <!-- 涓嶅畬濂芥槑缁� -->
+ <aura:attribute name="goodsData" type="Object[]"
+ description="涓嶅畬濂芥槑缁嗙殑淇℃伅"/>
+
+
+ <aura:attribute name="hideCheckboxColumn" type="boolean" default="true"
+ description="鍥犱负鐐逛笂涓�椤电殑鏃跺�欎笉鐭ラ亾涓轰粈涔堢疆鎴恌alse浜嗘墍浠ョ敤鍙橀噺鏉ヨ缃�"/>
+ <aura:attribute name="entryType" type="String" default=""/>
+ <aura:attribute name="IsSubmit" type="boolean" default="false"
+ description="鍒ゆ柇鏄惁褰曞叆琛ㄩ渶瑕佹彁浜�"/>
+ <aura:attribute name="AgencyClick" type="boolean" default="false"
+ description="鍒ゆ柇鏄惁宸叉彁浜よ繃涓�娆�"/>
+ <aura:attribute name="recordId" type="String" default=""
+ description="鍦ㄦ槑缁嗛〉鐐瑰嚮涓嬩竴姝ヤ細涓婁紶褰曞叆琛紝
+ 鐒跺悗杩斿洖鐨勫綍鍏ヨ〃ID瀛樺湪杩欓噷锛岀敤浜庝笂浼犳枃浠朵娇鐢�"/>
+ <aura:attribute name="filetype" type="List" default="['.png', '.jpg', '.jpeg']"
+ description="濡傛灉瀵逛簬涓婁紶鏂囦欢鐨勬牸寮忔湁瑕佹眰锛屽彲浠ョ敤杩欎釜锛屼絾鏄幇鍦ㄨ繕娌$敤"/>
+ <aura:attribute name="HomePage" type="Boolean" default="true"
+ description="鍒ゆ柇鏄惁鏄椤�"/>
+ <aura:attribute name="DetailsPage" type="Boolean" default="false"
+ description="鍒ゆ柇鏄惁鏄槑缁嗛〉"/>
+ <aura:attribute name="uploadFilePage" type="Boolean" default="false"
+ description="鍒ゆ柇鏄惁鏄枃浠朵笂浼犻〉"/>
+ <aura:attribute name="handlingOpinionsPage" type="Boolean" default="false"
+ description="鍒ゆ柇鏄惁鏄鐞嗘剰瑙侀〉"/>
+ <aura:attribute name="eSignForm" type="Object"
+ description="棣栭〉淇℃伅"/>
+ <aura:attribute name="data" type="Object[]"
+ description="鎵�鏈夋槑缁嗙殑淇℃伅"/>
+ <aura:attribute name="currentData" type="Object[]"
+ description="鏄庣粏椤靛綋鍓嶆樉绀虹殑鏄庣粏鐨勪俊鎭�"/>
+ <aura:attribute name="dataSize" type="Integer" default="0"
+ description="鏄庣粏椤靛綋鍓嶆樉绀虹殑鏄庣粏鐨勬暟閲�"/>
+ <aura:attribute name="columns" type="List"
+ description="鏄庣粏椤佃〃鏍肩殑姣忓垪鏋勯�犵殑璁惧畾"/>
+ <aura:attribute name="pageNumber" type="Integer" default="1"
+ description="鏄庣粏椤佃〃鏍肩殑绗嚑椤�"/>
+ <aura:attribute name="pageSize" type="Integer" default="5"
+ description="鏄庣粏椤佃〃鏍肩殑姣忛〉鏄庣粏瀹归噺"/>
+ <aura:attribute name="isLastPage" type="Boolean" default="false"
+ description="鏄惁鏈�鍚庝竴椤碉紝濡傛灉鏄渶鍚庝竴椤碉紝閭d箞琛ㄦ牸鍒嗛〉鐨勪笅涓�椤典笉鍙敤"/>
+ <aura:attribute name="draftValues" type="Object" default="[]"
+ description="鏄庣粏椤佃〃鏍肩殑淇敼鍐呭锛屼繚瀛樺悗浠庤繖閲岃鍊煎瓨鍒板綋鍓嶈〃鏍奸噷闈�"
+ />
+ <aura:attribute name="successMessage" type="String"
+ description="鎴愬姛娑堟伅"/>
+ <aura:attribute name="errorMessage" type="String"
+ description="澶辫触娑堟伅"/>
+ <aura:attribute name="check" type="Boolean" default="false"
+ description="鍒ゆ柇鏄惁鍕鹃�夐』鐭�"/>
+ <aura:attribute name="HospitalAcceptanceResults" type="string" default="鍏ㄩ儴楠屾敹"
+ description="鍖婚櫌楠屾敹缁撴灉"/>
+ <!-- 妫�绱� start-->
+ <aura:attribute name="searchSize" type="Integer" default=""
+ description="妫�绱㈡暟鎹殑闀垮害"/>
+ <aura:attribute name="searchCase" type="Integer" default=""
+ description="瀛樻斁妫�绱㈠�硷紝淇濈暀缂撳瓨"/>
+ <aura:attribute name="searchCaseKey" type="Integer" default=""
+ description="瀛樻斁妫�绱㈠�硷紝璧嬪�肩粰searchCase"/>
+ <aura:attribute name="searchFlag" type="boolean" default=""
+ description="鎼滅储妗嗘槸鍚︽湁鍊�"/>
+ <aura:attribute name="lineItemSize" type="Integer" default=""
+ description="瀛樻斁涓�鍏辨湁澶氬皯鏉℃槑缁唖ize"/>
+ <!-- 鏂囦欢鍚嶅睍绀哄垪 -->
+ <aura:attribute name="activeSections" type="List" default="['A']" />
+ <aura:attribute name="activeSectionsMessage" type="String" default="" />
+ <aura:attribute name="flName" type="String" default=""
+ description="鏄剧ず鏂囦欢鍚�"/>
+ <aura:attribute name="nameList" type="Object[]"
+ description="鏄剧ず鎵�鏈夋枃浠跺悕"/>
+ <aura:attribute name="base64List" type="Object[]"
+ description="鏄剧ず鎵�鏈夋枃浠跺悕"/>
+ <aura:attribute name="fileSize" type="Integer" default=""
+ description="璁板綍涓�鍏辨湁鍑犱釜鏂囦欢"/>
+ <aura:attribute name="flUpLoadName" type="String" default=""
+ description="鏄剧ず涓婁紶鏂囦欢鍚�"/>
+ <aura:attribute name="fileUpLoadSize" type="Integer" default=""
+ description="鏄剧ず涓婁紶鏂囦欢鏁�"/>
+ <aura:attribute name="nameUpLoadList" type="Object[]"
+ description="鏄剧ず鎵�鏈夋枃浠跺悕"/>
+ <aura:attribute name="uploadFlag" type="Boolean" default="false"
+ description="鐐瑰嚮涓婁紶鏂囦欢鏍囪瘑"/>
+
+ <!-- 鏂囦欢鍚嶅睍绀哄垪 -->
+ <!-- 鏂囦欢涓婁紶-->
+ <aura:attribute name="parentId" type="Id" default="" />
+ <!-- 'showLoadingSpinner' attribute for show/hide the uploading image and msg in aura:if-->
+ <aura:attribute name="showLoadingSpinner" type="boolean" default="false" />
+ <!-- 'fileName' attribute for display the selected file name -->
+ <aura:attribute name="fileName" type="String" default="No File Selected.." />
+ <!-- Lightning Input with file type and on file change call the 'handleFilesChange' controller --> <aura:attribute name="getchunk" type="String" default="" />
+
+ <aura:attribute name="baseFile" type="String" default="" />
+ <!-- 鏂囦欢鍚嶅睍绀哄垪 -->
+ <!-- 杩斿洖棣栭〉 start -->
+ <aura:attribute name="agencyDNSignUpStatus" type="String" default="" description="DN绛炬敹鐘舵��(缁忛攢鍟�)" />
+ <aura:attribute name="HPDNSignUpStatus" type="String" default="" description="DN绛炬敹鐘舵��(鍖婚櫌)" />
+ <aura:attribute name="agencySubmit" type="boolean" default="" description="鏄惁鎻愪氦" />
+ <aura:attribute name="DNNameSpare" type="String" default="" description="澶囩敤DN鍙�" />
+ <aura:attribute name="messageFlag" type="boolean" default="false" description="鍒ゆ柇涓婁紶鏂囦欢鏄惁鎻愮ず" />
+ <aura:attribute name="errorFlag" type="boolean" default="false" description="缃戠粶涓嶅ソ鐨勬儏鍐电疆鎴恡rue锛岀敱浜庢仮澶嶇綉缁滀笂浼犳枃浠讹紒" />
+
+ <!-- 杩斿洖棣栭〉 end -->
+ <aura:attribute name="submitAfterShow" type="Boolean" default="false"
+ description="鎻愪氦鍚庢樉绀洪��鍥為椤垫寜閽�"/>
+
+ <!-- 涓婁紶闄勪欢 鍥剧墖棰勮 -->
+ <aura:attribute name="imageSrc" type="String" default="" />
+ <aura:attribute name="imgList" type="String" default="" />
+ <!--wangweipeng 20210616 閫夋嫨濂戒笂浼犲浘鐗囦互鍚庨瑙�-->
+ <aura:attribute name="imageBigSrc" type="String" default="" />
+ <!-- 鏂板姛鑳界殑鍏ㄥ眬鍙橀噺 绮剧悽鎶�鏈� thh 2021-09-26 start -->
+ <aura:attribute name="FontSrc" type="Map" default="{}" description="鍏宠仈鏂囦欢鍚嶅拰鏂囦欢" />
+ <aura:attribute name="FileSrc" type="Map" default="{}" description="鍏宠仈鍘嬬缉鍚庣殑鏂囦欢鍚嶅拰鏂囦欢" />
+ <aura:attribute name="attachmentID" type="Map" default="{}" description="鍏宠仈闄勪欢ID鍜岄檮浠跺悕" />
+ <aura:attribute name="loaded" type="Boolean" default="true" description="鏍规嵁浼犲叆鏂囦欢绫诲瀷鍐冲畾鏄惁鏄剧ず鍥剧墖"/>
+ <aura:attribute name="isUploadName" type="Map" default="{}" description="鍏宠仈鏂囦欢鍚嶅拰璇ユ枃浠舵槸鍚﹀凡缁忎笂浼�" />
+ <aura:attribute name="pdfSrc" type="Map" default="{}" description="鍏宠仈pdf鏂囦欢鍚嶅拰绌虹櫧src" />
+ <!-- 鏂板姛鑳界殑鍏ㄥ眬鍙橀噺 绮剧悽鎶�鏈� thh 2021-09-26 end -->
+ <!-- 妫�绱� end -->
+ <aura:handler name="init" action="{!c.doInit}" value="{!this}"
+ description="鍒濆鍖栨柟娉�"/>
+ <div>
+ <lightning:spinner aura:id="mySpinner" size="large"
+ description="鍔犺浇涓粍浠讹紝濡傛灉涓嶉殣钘忔暣涓〉闈㈠氨鍦ㄥ姞杞戒腑"/>
+ </div>
+ <!-- 鎴愬姛toast 缁勪欢鐨勫疄鐜�-->
+ <div class="slds-modal slds-fade-in-open slds-hide" aura:id="successDiv">
+ <div class="demo-only" style="height: 8rem;width:40%">
+ <div class="slds-notify_container slds-is-relative">
+ <div class="slds-notify slds-notify_toast slds-theme_success" role="alert">
+ <div class=" slds-m-left_xx-large">
+ <div class="slds-notify__content slds-m-left_small slds-align_absolute-center slds-m-left_xx-large">
+ <lightning:icon alternativeText="Success" iconName="utility:success" size="small"
+ class="buttonColor slds-m-right_small" />
+ <h2 class="slds-text-heading_small ">{!v.successMessage}</h2>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <!-- 澶辫触toast 缁勪欢鐨勫疄鐜�-->
+ <div class="slds-modal slds-fade-in-open slds-hide" aura:id="errorDiv">
+ <div class="demo-only" style="height: 8rem;" id="errorSonDiv1">
+ <div class="slds-notify_container slds-is-relative">
+ <div class="slds-notify slds-notify_toast slds-theme_error" role="status" id="errorSonDiv" style="">
+ <div class="">
+ <div class="slds-notify__content slds-m-left_small slds-align_absolute-center">
+ <lightning:icon alternativeText="error" iconName="utility:error" size="small"
+ class="buttonColor slds-m-right_small" />
+ <h2 class="slds-text-heading_small ">
+ <div id="errorSonDiv3" style=" word-break: break-all;overflow: auto;">
+ {!v.errorMessage}
+ </div>
+ </h2>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <aura:registerEvent name="componentEvent" type="c:BackToHomePage"/>
+ <!-- 缁忛攢鍟嗛獙鏀堕〉鐨勯椤� -->
+ <aura:if isTrue="{!v.HomePage}">
+ <p style="font-size: 17px;">
+ 棣栭〉
+ </p>
+ <div id="qs" style=" margin-bottom: 5%;" class="slds-card" >
+ <!-- 棣栭〉锛岀敱浜庝笌缁忛攢鍟嗙‘璁ら〉鍏敤鐩稿悓涓婚〉锛屾墍浠ヤ娇鐢ㄨ繖涓粍浠�,鐒跺悗鍙互鍏敤 -->
+ <c:eSignAgencyHomePage
+ HospitalAcceptanceResults = "{!v.HospitalAcceptanceResults}"
+ eSignForm = "{!v.eSignForm}"
+ />
+ <!-- 娉ㄦ剰浜嬮」锛� -->
+ <div id="attention1" style=" position:relative;margin-right: 4px; margin-right: 4px; " class="" >
+ <lightning:layout horizontalAlign="left" class="slds-m-top_large">
+ <lightning:layoutItem padding="around-small">
+ <div class="header-column">
+ <p class="field-title" title="Field 3" style="font-weight:bold;font-size: 15px;">娉ㄦ剰浜嬮」 锛� </p>
+ <p class="field-title" title="Field 3" style="font-weight:bold;font-size: 15px;"> 1銆佹敹鍒拌揣鐗╄鍦�24灏忔椂鍐呯‘璁� </p>
+ <p class="field-title" title="Field 3" style="font-weight:bold;font-size: 15px;"> 2銆佽揣鐗╁瑙傜牬鎹熻褰撻潰涓庨�佽揣浜虹瀛楃‘璁� </p>
+ <p class="field-title" title="Field 3" style="font-weight:bold;font-size: 15px;"> 3銆佷功闈㈤�氱煡渚涜揣鑰呯牬鎹熸儏鍐靛苟鎻忚堪鐮存崯鐘舵�� </p>
+ <p class="field-title" title="Field 3" style="font-weight:bold;font-size: 15px;"> 4銆佸繀瑕佹椂璇锋媿鐓ц褰� </p>
+ <u>
+ <p class="field-title" title="Field 3" style="font-weight:bold;font-size: 15px;"> 5銆佽浜�10澶╁唴瀵瑰鐞嗘剰瑙佽繘琛岀‘璁わ紝瓒呮湡灏嗛粯璁ゅ悓鎰� </p>
+ </u>
+ <!-- 椤荤煡 -->
+ </div>
+ </lightning:layoutItem>
+ </lightning:layout>
+
+
+ </div>
+
+ <div id="attention" style=" position:relative;margin-right: 4px; margin-right: 4px; " class="" >
+ <!-- 鍐呭宸查槄璇� -->
+ <lightning:layout horizontalAlign="left" class="slds-m-top_small">
+ <lightning:layoutItem padding="around-small">
+ <lightning:input type="checkbox"
+ label="涓婅堪鍐呭宸查槄璇伙紝鐐光�滀笅涓�姝モ�濆埌鏄庣粏椤�"
+ id="chk" name="chk"
+ checked="{!v.check}" />
+ </lightning:layoutItem>
+ </lightning:layout>
+ </div>
+ <!-- 浠庨椤靛埌妫�绱㈤〉鐨勪笂涓�姝ユ寜閽� -->
+ <div class="slds-float_left">
+ <lightning:button variant="brand"
+ label="涓婁竴姝�" title="涓婁竴姝�" onclick="{! c.BackToHomePage }" />
+ </div>
+ <!-- 浠庨椤靛埌鏄庣粏椤电殑涓嬩竴姝ユ寜閽� -->
+
+ <div class="slds-float_right">
+ <lightning:button variant="brand"
+ label="涓嬩竴姝�" title="涓嬩竴姝�" onclick="{! c.handleHomePageNextClick }" />
+ </div>
+ </div>
+
+ </aura:if>
+ <aura:if isTrue="{!v.DetailsPage}">
+ <!-- 鍔犱笂婊氬姩鏉� -->
+ <div id="header" style="{!'width:'+v.floatWidth+'px;'}">
+ <tr>
+ <td class="field-title" title="Field 3" style="font-weight:bold;font-size: 15px;" align="left">锛堝悜鍙虫粦鍔ㄦ煡鐪嬫洿澶氫俊鎭級
+
+ </td>
+ </tr>
+
+ </div>
+ <!-- 妫�绱� -->
+ <div id="searchDiv" class="slds-page-header" role="banner" style="{!'width:'+v.floatWidth+'px;'}">
+ <div class="slds-float_center" style="text-align:center">
+ <tr>
+ <td align="right" style="{!'padding-left:'+v.floatWidth*0.15+'px;'}">绠卞彿:
+ <input id="searchInput" lightning-input_input ="" type="text" class="slds-input" value="{!v.searchCase}" name="" onchange="{!c.searchByCaseNumber}" style="{!'width:'+v.floatWidth*0.2+'px;'}"/>
+ </td>
+
+ <td style="padding-left: 5px;">
+ <aura:if isTrue="{!v.searchFlag}">
+ 璇ョ鍏辨湁{!v.searchSize}鏉℃暟鎹��
+ <aura:set attribute="else">
+ 璇ュ崟鍏辨湁{!v.lineItemSize}鏉℃暟鎹��
+ </aura:set>
+ </aura:if>
+ </td>
+ </tr>
+ </div>
+ </div>
+ <!-- 鍔犱笂婊氬姩鏉� -->
+ <div id="allDiv" style="{!'width:'+v.allWidth+'px;overflow-x:scroll;'}">
+ <div id="in" style=" width:763px;margin-right: 4px; ">
+ <!-- 鏄剧ず鍦ㄦ槑缁嗛〉鐨勫綋鍓嶆槑缁嗙殑琛ㄦ牸 -->
+
+ <div id="inTable" >
+ <!-- <lightning:card> -->
+ <aura:set attribute="title">
+ 璐х墿绛炬敹鍗曟槑缁�
+ </aura:set>
+
+ <table class="slds-table slds-table_cell-buffer slds-table_bordered slds-hint-parent slds-no-row-hover " style="table-layout: fixed;">
+ <thead>
+ <tr class="slds-line-height_reset slds-text-title_caps">
+ <!-- 绗竴鍒� 浜у搧鍨嬪彿 -->
+ <th class="slds-is-resizable" tabindex="-1" data-label="浜у搧鍨嬪彿" scope="row">
+
+ <span class="slds-grid slds-grid_align-spread" style="
+ width: 110px;text-align: left;display:block;">
+ <div class="slds-truncate">
+ <span title="浜у搧鍨嬪彿" class="slds-truncate" style="padding-bottom: 3px;">浜у搧鍨嬪彿</span> </div>
+ </span>
+
+
+
+ </th>
+ <!-- 绗簩鍒� CODE -->
+ <!-- <th class="slds-is-resizable" tabindex="-1" data-label="CODE" scope="row" style="width: 137px;height: 35px; outline: none;">
+
+ <span class="slds-grid slds-grid_align-spread" style="text-align: center;display:block;">
+ <div class="slds-truncate">
+ <span title="CODE" class="slds-truncate" style="padding-bottom: 3px;">CODE</span>
+ </div>
+
+ </span>
+
+
+ </th> -->
+
+ <!-- 绗笁鍒� 浜у搧鍚嶇О-->
+ <th class="slds-is-resizable" tabindex="-1" data-label="浜у搧鍚嶇О" scope="row" style="width: 361px;height: 35px;">
+
+ <span class="slds-grid slds-grid_align-spread" style="text-align: left;display:block;">
+ <div class="slds-truncate">
+ <span title="浜у搧鍚嶇О" class="slds-truncate" style="padding-bottom: 3px;">浜у搧鍚嶇О</span>
+
+
+ </div>
+ </span>
+
+
+ </th>
+
+ <!-- 绗洓鍒� 鏁伴噺-->
+ <th class="slds-is-resizable" tabindex="-1" data-label="鏁伴噺" scope="row" style="width: 50px;height: 35px;">
+
+ <span class="slds-grid slds-grid_align-spread" style="text-align: center;display:block;">
+ <div class="slds-truncate">
+ <span title="鏁伴噺" class="slds-truncate" style="padding-bottom: 3px;">鏁伴噺</span>
+
+
+ </div>
+ </span>
+
+
+
+ </th>
+
+ <!-- 绗簲鍒� 绠卞彿-->
+ <th class="slds-is-resizable" tabindex="-1" data-label="绠卞彿" scope="row" style="width: 100px;height: 35px;">
+
+ <span class="slds-grid slds-grid_align-spread" style="text-align: center;display:block;">
+ <div class="slds-truncate">
+ <span title="绠卞彿" class="slds-truncate" style="padding-bottom: 3px;">绠卞彿</span>
+
+
+ </div>
+ </span>
+
+
+
+ </th>
+ <!-- 绗叚鍒� 璐х墿鎯呭喌-->
+ <th class="slds-is-resizable" tabindex="-1" data-label="璐х墿鎯呭喌" scope="row" style="width: 110px;height: 35px;">
+
+ <span class="slds-grid slds-grid_align-spread" style="text-align: center;display:block;">
+ <div class="slds-truncate">
+ <span title="璐х墿鎯呭喌" class="slds-truncate" style="padding-bottom: 3px;">璐х墿鎯呭喌</span>
+
+
+ </div>
+ </span>
+
+
+
+ </th>
+ <!-- 绗竷鍒� 澶勭悊鎰忚-->
+ <!-- <th class="slds-is-resizable" tabindex="-1" data-label="澶勭悊鎰忚" scope="row" style="width: 170px;height: 35px;">
+
+ <span class="slds-grid slds-grid_align-spread" style="text-align: center;display:block;">
+ <div class="slds-truncate">
+ <span title="澶勭悊鎰忚" class="slds-truncate" style="padding-bottom: 3px;">澶勭悊鎰忚</span>
+
+
+ </div>
+ </span>
+
+
+
+ </th> -->
+ <!-- 绗叓鍒� 璐х墿鎯呭喌-->
+ <!-- <th class="slds-is-resizable" tabindex="-1" data-label="缁忛攢鍟嗙‘璁ょ粨鏋�" scope="row" style="width: 140px;height: 35px;">
+
+ <span class="slds-grid slds-grid_align-spread" style="text-align: center;display:block;">
+ <div class="slds-truncate">
+ <span title="缁忛攢鍟嗙‘璁ょ粨鏋�" class="slds-truncate" style="padding-bottom: 3px;">缁忛攢鍟嗙‘璁ょ粨鏋�</span>
+
+
+ </div>
+ </span>
+
+
+
+ </th> -->
+
+
+ </tr>
+ </thead>
+ <aura:if isTrue="{!v.currentData.length > 0}">
+ <tbody>
+ <aura:iteration items="{!v.currentData}" var="curr" indexVar="idx">
+ <tr class="slds-hint-parent">
+ <!-- 琛岄」鐩篃鐢╰h 鍥犱负鐢╰d鏍囩鐐瑰嚮鍒楃殑楂樺厜 鍦ㄨ嫻鏋滆澶囦笂 鏈夌棔杩� -->
+ <!-- 琛岄」鐩� 绗竴鍒� 浜у搧鍨嬪彿 -->
+ <th class="slds-is-resizable" tabindex="-1" data-label="浜у搧鍨嬪彿" scope="row">
+
+ <span class="slds-grid slds-grid_align-spread" style="
+ width: 110px;
+ padding-top: 6px;height:30px;
+ ">
+ <div class="slds-truncate">
+ <lightning:formattedText value="{!curr.Asset_Model_No__c}" />
+ </div>
+ </span>
+
+
+
+ </th>
+
+ <!-- 琛岄」鐩� 绗簩鍒� CODE-->
+ <!-- <th class="slds-is-resizable" tabindex="-1" data-label="CODE" scope="row">
+
+ <span class="slds-grid slds-grid_align-spread">
+ <div class="slds-truncate">
+ <lightning:formattedText value="{!curr.OTCode__c}" />
+
+
+
+ </div>
+ </span>
+
+
+
+ </th> -->
+ <!-- 琛岄」鐩� 绗笁鍒� 浜у搧鍚嶇О-->
+ <th class="slds-is-resizable" tabindex="-1" data-label="浜у搧鍚嶇О" scope="row" style="white-space:nowrap;
+ overflow:hidden;
+ text-overflow: ellipsis;">
+
+ <span class="slds-grid slds-grid_align-spread" style="
+ width: 361px;
+ padding-top: 6px;height:31px;
+ ">
+ <div class="slds-truncate">
+ <lightning:formattedText value="{!curr.productName__c}" />
+
+
+ </div>
+ </span>
+
+
+
+ </th>
+ <!-- 琛岄」鐩� 绗洓鍒� 鏁伴噺-->
+ <th class="slds-is-resizable" tabindex="-1" data-label="鏁伴噺" scope="row" >
+
+ <span class="slds-grid slds-grid_align-spread" style="text-align: center;display:block;">
+ <div class="slds-truncate">
+ <lightning:formattedText value="{!curr.Count_Text__c}" />
+
+
+ </div>
+ </span>
+
+
+
+ </th>
+ <!-- 琛岄」鐩� 绗簲鍒� 绠卞彿-->
+ <th class="slds-is-resizable" tabindex="-1" data-label="绠卞彿" scope="row">
+
+ <span class="slds-grid slds-grid_align-spread" style="text-align: center;display:block;">
+ <div class="slds-truncate">
+ <lightning:formattedNumber id="{!curr.Id+':'+idx+':CaseNumber__c'}" value="{!curr.CaseNumber__c}"/>
+
+
+ </div>
+ </span>
+
+
+
+ </th>
+ <!-- 琛岄」鐩� 绗叚鍒� 璐х墿鎯呭喌-->
+ <th class="slds-is-resizable" tabindex="-1" data-label="璐х墿鎯呭喌" scope="row">
+
+ <span class="slds-grid slds-grid_align-spread" style="text-align: center;display:block;">
+ <div class="slds-truncate">
+ <lightning:formattedText value="{!curr.agencyGoodStatus__c}" />
+
+
+ </div>
+ </span>
+
+
+
+ </th>
+ <!-- 琛岄」鐩� 绗竷鍒� 澶勭悊鎰忚-->
+ <!-- <th class="slds-is-resizable" tabindex="-1" data-label="澶勭悊鎰忚" scope="row">
+
+ <span class="slds-grid slds-grid_align-spread" style="text-align: center;display:block;">
+ <div class="slds-truncate">
+ <lightning:formattedText value="{!curr.handleOpinion__c}" />
+
+
+ </div>
+ </span>
+
+
+
+ </th> -->
+
+ <!-- 琛岄」鐩� 绗叓鍒� 缁忛攢鍟嗙‘璁ょ粨鏋�-->
+ <!-- <th class="slds-is-resizable" tabindex="-1" data-label="缁忛攢鍟嗙‘璁ょ粨鏋�" scope="row">
+
+ <input id="{!curr.Id}" lightning-input_input ="" type="text" class="slds-input" value="{!curr.agencyConfirmResult__c}" onchange="{!c.GoodsChanged}" />
+
+
+ <button id="{!curr.Id+idx}" tabindex="-1" class="slds-button slds-button_icon slds-cell-edit__button slds-m-left_x-small" style="display: none;" >
+ <lightning:icon iconName="utility:success" alternativeText="Success!" variant="Success"
+ title="success variant xx-small" size="xx-small"/>
+ </button>
+
+ </th> -->
+
+ </tr>
+ </aura:iteration>
+ </tbody>
+
+ </aura:if>
+ </table>
+
+ <!-- <div class="slds-box">
+
+ <div align="center" style="float: left;padding-left: 370px;">
+ <lightning:button variant="neutral"
+ label="cancel" title="cancel" onclick="" />
+ </div>
+
+ <div align="center" style="padding-right: 370px;">
+ <lightning:button variant="brand"
+ label="save" title="save" onclick=""/>
+ </div>
+ </div> -->
+ <aura:if isTrue="{!empty(v.currentData)}">
+ <div class="slds-align_absolute-center">
+ No records found
+ </div>
+ </aura:if>
+ <!-- </lightning:card> -->
+
+ </div>
+ </div>
+ </div>
+ <!-- 鍒嗛〉鍔熻兘鐨勪笂涓�椤靛拰涓嬩竴椤碉紝 杩樻槸鏈�宸︿晶鐨勬樉绀哄綋鍓嶉〉鏁扮殑閫昏緫-->
+ <div id="floatDiv" style="{!'width:'+v.floatWidth+'px;'}">
+ <div class="slds-clearfix">
+ <div class="slds-page-header" role="banner">
+ <div class="slds-float_center" style="text-align:center">
+ <!-- iconName="utility:chevronleft" iconPosition="left" -->
+ <lightning:button iconName="utility:left"
+ onclick="{!c.handleHome}" disabled="{! v.pageNumber == 1}"/>
+ <lightning:button iconName="utility:chevronleft" iconPosition="left"
+ onclick="{!c.handlePrev}" disabled="{! v.pageNumber == 1}"/>
+ <span title="褰撳墠椤�"> {!v.pageNumber}
+ </span>
+ <lightning:button iconName="utility:chevronright" iconPosition="right"
+ disabled="{! v.isLastPage}" onclick="{!c.handleNext}"/>
+ <!-- iconName="utility:chevronright" iconPosition="right" -->
+ <lightning:button iconName="utility:right"
+ disabled="{! v.isLastPage}" onclick="{!c.handleLast}"/>
+
+ </div>
+
+ </div>
+ <!-- 鎻愮ず淇℃伅 slds-page-header-->
+ <div class="" role="banner">
+ <div class="slds-float_center" style="text-align:center">
+ <span style="float: center;color: red">锛堢偣涓嬩竴姝ョ‘璁ゅ鐞嗘剰瑙侊級</span>
+ </div>
+
+ </div>
+ </div>
+
+ <!-- 鏄庣粏椤佃烦杞嚦鏂囦欢涓婁紶椤电殑鎸夐挳 -->
+ <div class="slds-float_right">
+ <div id="attention" style=" position:relative;margin-right: 4px; margin-right: 4px; " class="" >
+ </div>
+
+ <lightning:button variant="brand"
+ label="涓嬩竴姝�" title="涓嬩竴姝�" onclick="{! c.handleDetailsPageNextClick }" />
+ </div>
+ <div class="slds-float_left">
+ <div id="attention" style=" position:relative;margin-right: 4px; margin-right: 4px; " class="" >
+ <!-- 纭鎻愪氦 -->
+ <lightning:button variant="brand"
+ label="涓婁竴姝�" title="涓婁竴姝�" onclick="{! c.handleShowPageNextClick }" />
+ </div>
+ </div>
+ </div>
+
+
+
+ </aura:if>
+
+ <aura:if isTrue="{!v.handlingOpinionsPage}">
+ <div class="slds-box">
+ <div id="page-footer" style=" margin-bottom: 5%;" class="slds-card" >
+ <lightning:layout multipleRows="true">
+ <lightning:layoutItem padding="around-xsmall" size="12">
+ <div class="page-section page-header" style="height: 25px;">
+ <h2><b>钀ヤ笟鎷呭綋澶勭悊鎰忚濡備笅锛�</b></h2>
+ </div>
+ <div class="page-section page-right" style="{!'width:'+v.floatWidth*0.8+'px;'}" >
+
+ <p style="word-break: break-word;text-indent: 2em;">{!v.eSignForm.handleOpinionAgency__c}
+ </p>
+ </div>
+ </lightning:layoutItem>
+
+
+ </lightning:layout>
+
+ </div>
+ <p style="word-break: break-word;text-indent: 2em;">瀵逛互涓婂鐞嗘剰瑙佹棤鐤戜箟锛岃鐐瑰嚮纭銆傚鏈夊叾瀹冮棶棰橈紝璇疯仈绯诲ゥ鏋楀反鏂綋鍦拌惀涓氫汉鍛樸��</p>
+
+ <!-- <lightning:input aura:id="inputCmp" label="濡傛湁闇�瑕侊紝璇峰~鍐欐偍鐨勯偖绠�:" name="fullName" value=""
+ /> -->
+
+ </div>
+ <div id="footerDiv" style="{!'width:'+v.floatWidth+'px;display: flex;flex-direction: row;'}">
+ <!-- class="slds-float_left" -->
+ <div style="text-align:left;flex: 1;padding-top: 1px;">
+ <lightning:button variant="brand"
+ label="涓婁竴姝�" title="涓婁竴姝�" onclick="{!c.OpinionsTODetailsPage}" />
+ </div>
+ <!-- style="text-align:center" -->
+ <div style="text-align:center;flex: 1;padding-top: 1px;">
+ <lightning:button variant="brand"
+ label="纭" title="纭" onclick="{!c.submitClick }" />
+ </div>
+ <!-- class="slds-float_right" -->
+ <div style="text-align:right;flex: 1;padding-top: 1px;">
+ <lightning:button variant="brand"
+ label="杩斿洖" title="杩斿洖" onclick="{!c.BackToHomePage }" />
+ </div>
+ </div>
+
+ </aura:if>
+ <aura:if isTrue="{!v.uploadFilePage}">
+ <!-- 鏂囦欢涓婁紶缁勪欢 -->
+ <div aura:id="uploadFile" id="uploadFileDiv">
+ <div class="slds-box">
+ <lightning:input aura:id="fileId" onchange="{!c.handleFilesChange}" type="file" label="1.閫夋嫨闄勪欢" multiple="false" />
+ <lightning:notificationsLibrary aura:id="notifLibPlanA" />
+ <div style="display: inline-block; vertical-align: top;">
+ <div id="imgDiv">
+ <div id="font">棰勮鍖哄煙</div>
+ <!-- 褰撲笂浼犵殑闄勪欢涓簆df鏃讹紝闅愯棌棰勮鍖哄煙 绮剧悽鎶�鏈爐hh聽2021-09-15聽-->
+ <div id = "loaded" style="display: none;">
+ <img id="image" class="imgeBigCss" src="{!v.imageSrc}" style="display: none;" onclick="{!c.imgeBig}" />
+ <!--wangweipeng 20210616 鍥剧墖閫夊ソ浠ュ悗锛屽鎴峰彲鑳介渶瑕侀瑙堟斁澶ф煡鐪�-->
+ <div id="outerdiv" onclick="{!c.imgeSmall}">
+ <img id="bigImg" src="{!v.imageBigSrc}" style="border:1px solid #fff;" />
+ </div>
+ </div>
+ <div id = "fontpdf" style="display: none;">PDF鏂囦欢鏆備笉鏀寔棰勮</div>
+ </div>
+ </div>
+ <!-- 澧炲姞鏂囦欢鍒楄〃鍒犻櫎鍔熻兘聽聽绮剧悽鎶�鏈爐hh聽2021-08-25聽start聽-->
+ <!-- inline-block 鍏冪礌淇濇寔琛屽唴鎺掑垪涓斿彲浠ヨ缃楂� -->
+ <div style="display: inline-block; vertical-align: top;">
+ <!-- <lightning:buttonIcon iconName="utility:close" variant="bare" onclick="{!c.deleteClick}" alternativeText="Close modal" title="鍒犻櫎" iconClass="deleteicon"/> -->
+ <lightning:button label="鍒犻櫎" onclick="{!c.deleteClick}" title="鍒犻櫎" />
+ </div>
+ <!-- 澧炲姞鏂囦欢鍒楄〃鍒犻櫎鍔熻兘聽聽绮剧悽鎶�鏈爐hh聽2021-08-25聽end聽-->
+ <!-- 鏍囪瘑棰勮鍥剧墖鍚嶅瓧聽聽绮剧悽鎶�鏈爐hh聽2021-09-09聽start聽-->
+ <div>
+ <div id = "filenow" class="field-title" title="Field 3" style="display: inline-block; margin-left:10px; word-break: break-all; word-wrap: break-word; font-weight:bold; font-size: 15px; padding-top: 5px; color:#0f218b;"></div>
+ <!-- 鏂囦欢涓婁紶鍚庡綋鍓嶆枃浠跺悕鍚庨潰鍑虹幇缁胯壊灏忓嬀 绮剧悽鎶�鏈� thh 2021-09-15 start-->
+ <div id = "uploadicon" style="display: none;">
+ <div style="margin-left: 5px;">
+ <lightning:icon iconName="utility:success" alternativeText="Success!" variant="Success" title="success variant x-small" size="x-small" />
+ </div>
+ </div>
+ <!-- 鏂囦欢涓婁紶鍚庡綋鍓嶆枃浠跺悕鍚庨潰鍑虹幇缁胯壊灏忓嬀 绮剧悽鎶�鏈� thh 2021-09-15 end-->
+ </div>
+ <!-- 鏍囪瘑棰勮鍥剧墖鍚嶅瓧聽聽绮剧悽鎶�鏈爐hh聽2021-09-09聽end聽-->
+ <p class="field-title" title="Field 3" style="font-weight:bold;font-size: 15px;padding-top: 7px;color:red;">
+ 锛堥殢璐у悓琛屽崟鐩栫珷鍚庢媿鐓т笂浼狅級
+ </p>
+ <p class="field-title" title="Field 3" style="font-weight:bold;font-size: 15px;padding-top: 7px;color:red;">
+ 锛堥檮浠朵笂浼犳垚鍔熷悗璇风偣鍑绘彁浜わ級
+ </p>
+ <aura:if isTrue="{!v.showLoadingSpinner}">
+ <div class="slds-text-body_small slds-text-color_error">涓婁紶涓�...
+ <img src="/auraFW/resources/aura/images/spinner.gif" class="spinner-img" alt="Loading" />
+ </div>
+ </aura:if>
+ <br/>
+ <button class="slds-button slds-button_brand" onclick="{!c.doSave}">2.涓婁紶闄勪欢</button>
+ <lightning:accordion allowMultipleSectionsOpen="true" onsectiontoggle="{! c.handleSectionToggle }" activeSectionName="{! v.activeSections }">
+ <lightning:accordionSection name="A" label="鏂囦欢鍒楄〃">
+ <!-- 澧炲姞灏忚壊鍧� 绮剧悽鎶�鏈� thh 2021-09-26 start -->
+ <div>
+ <div style="display: inline-block; background-color: Grey; width:10px; height:10px;" />
+ <div style="margin-left: 5px; display: inline-block; font-weight:bold;font-size: 10px;padding-top: 7px;color:Grey;"> 鏈笂浼� </div>
+ <div style="margin-left: 40px; display: inline-block; background-color: Green; width:10px; height:10px;" />
+ <div style="margin-left: 5px; display: inline-block; font-weight:bold;font-size: 10px;padding-top: 7px;color:Green;"> 宸蹭笂浼� </div>
+ </div>
+ <!-- 澧炲姞灏忚壊鍧� 绮剧悽鎶�鏈� thh 2021-09-26 end -->
+ <!-- overflow: scroll; 鑷姩闅愯棌婊氬姩鏉� -->
+ <div id="fileNameDiv" style="height:50px;width:250px; overflow: scroll;">
+ <!-- 澧炲姞鐐瑰嚮鏂囦欢鍒楄〃鍒囨崲鏌ョ湅鍥剧墖闄勪欢聽聽绮剧悽鎶�鏈爐hh聽2021-08-24聽start聽-->
+ <p id='file00' onclick="{!c.buttonClicked}"></p>
+ <!-- 澧炲姞鐐瑰嚮鏂囦欢鍒楄〃鍒囨崲鏌ョ湅鍥剧墖闄勪欢聽聽绮剧悽鎶�鏈爐hh聽2021-08-24聽end聽-->
+ </div>
+ </lightning:accordionSection>
+ </lightning:accordion>
+ <div id="emailDiv" style="height: 90px;padding-top: 30px;">
+ <lightning:input aura:id="inputCmp" name="fullName" type="email" value="" label="濡傛湁闇�瑕侊紝璇峰~鍐欐偍鐨勯偖绠�:" messageWhenTypeMismatch="璇锋偍杈撳叆鏈夋晥鐨勭數瀛愰偖绠便��" />
+ </div>
+ </div>
+ </div>
+
+ <!-- <div id="footerDiv" style="{!'width:'+v.floatWidth+'px;display: flex;flex-direction: row;'}"> -->
+ <div class="slds-float_left" style="padding-top: 1px;">
+ <lightning:button variant="brand"
+ label="涓婁竴姝�" title="涓婁竴姝�" onclick="{! c.handleShowFielePageNextClick }" />
+ </div>
+
+
+ <div class="slds-float_right" style="padding-top: 1px;">
+ <lightning:button variant="brand"
+ label="閫�鍥為椤�" title="閫�鍥為椤�" onclick="{! c.BackToHomePage }" />
+ </div>
+ <!-- </div> -->
+ </aura:if>
+
+</aura:component>
\ No newline at end of file
diff --git a/force-app/main/default/aura/eSignAgencyConfirmPage/eSignAgencyConfirmPage.cmp-meta.xml b/force-app/main/default/aura/eSignAgencyConfirmPage/eSignAgencyConfirmPage.cmp-meta.xml
new file mode 100644
index 0000000..5fcfb8f
--- /dev/null
+++ b/force-app/main/default/aura/eSignAgencyConfirmPage/eSignAgencyConfirmPage.cmp-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<AuraDefinitionBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>49.0</apiVersion>
+ <description>A Lightning Component Bundle</description>
+</AuraDefinitionBundle>
diff --git a/force-app/main/default/aura/eSignAgencyConfirmPage/eSignAgencyConfirmPage.css b/force-app/main/default/aura/eSignAgencyConfirmPage/eSignAgencyConfirmPage.css
new file mode 100644
index 0000000..ab7086d
--- /dev/null
+++ b/force-app/main/default/aura/eSignAgencyConfirmPage/eSignAgencyConfirmPage.css
@@ -0,0 +1,163 @@
+.THIS table thead tr th:first-child
+{
+
+ position: fixed;
+ /*top: 45px;*/
+ z-index: 2;
+ /*width: 50px;*/
+ background-color: white;
+ padding-top:11px;
+
+
+}
+.THIS table thead tr th:nth-child(2)
+{
+ /*background-color: white;
+ position: fixed;
+ z-index: 1;
+ top: 45px;
+ padding-left: 52px;
+ width: 161px;*/
+ padding-left: 0px;
+
+}
+.THIS table thead tr th:nth-child(3)
+{
+ padding-left: 0px;
+
+}
+.THIS table thead tr th:nth-child(4)
+{
+ padding-left: 0px;
+
+}
+.THIS table thead tr th:nth-child(5)
+{
+ padding-left: 0px;
+
+}
+.THIS table thead tr th:nth-child(6)
+{
+ padding-left: 0px;
+
+}
+
+.THIS table tbody tr th:first-child
+{
+ background-color: white;
+ position: fixed;
+ z-index: 2;
+ padding-top:8.5px;
+ /*width: 50px;
+ padding-top: 9.5px;*/
+
+
+
+
+}
+
+.THIS table tbody tr th:nth-child(2)
+{
+ /*background-color: white;
+ position: fixed;
+ z-index: 1;
+ padding-left: 52px;
+ padding-top: 9.5px;
+ height:36px;
+ width: 161px;*/
+
+ padding-left: 0px;
+
+}
+.THIS table tbody tr th:nth-child(3)
+{
+ padding-left: 0px;
+
+}
+
+.THIS table tbody tr th:nth-child(4)
+{
+ padding-left: 0px;
+
+}
+
+.THIS table tbody tr th:nth-child(5)
+{
+ padding-left: 0px;
+
+}
+.THIS .slds-button_icon-bare{
+ display: none;
+}
+
+.THIS #imgDiv{
+ width: 200px;
+ height: 200px;
+ border: 1px dashed #000;
+ /* margin: 0 auto; */
+ margin: 10px;
+ position: relative;
+ display: table-cell;
+ vertical-align: middle;
+ text-align: center;
+}
+
+.THIS #imgDiv>img {
+ width: 100%;
+ height: 100%;
+}
+
+/*wangweipeng 20210616 鍥剧墖棰勮鑳屾櫙鍥�*/
+.THIS #outerdiv {
+ position:fixed;
+ top:0;
+ left:0;
+ background:rgba(0,0,0,0.7);
+ z-index:2;
+ width:100%;
+ height:100%;
+ display:none;
+}
+/*wangweipeng 20210616 鍥剧墖棰勮鏍峰紡*/
+.THIS #bigImg {
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ transform: translate(-50%,-50%);
+}
+/*澧炲姞鏂囦欢鍒楄〃鍒犻櫎鍔熻兘聽聽绮剧悽鎶�鏈爐hh聽2021-08-25聽start*/
+/*鍒犻櫎鍥炬爣鐨勬牱寮�*/
+.THIS .deleteicon {
+ color: #0f218b;
+ width: 25px;
+ height: 25px;
+ /*杩欐牱鎵嶈兘浣跨浉閭荤殑a鐪嬭捣鏉ュ氨闅旂潃涓�涓竟妗�*/
+ margin: -1px 0 0 -1px;
+ float:left;
+ /*浣垮緱鐩搁偦鎺掑垪*/
+ position:relative;
+ border-bottom-left-radius: 2px;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+}
+
+.THIS .deleteicon:hover{
+ border:1px solid #0f218b;
+ border-radius:2px;
+ /*杩欐牱鎵嶈兘浣块紶鏍囨斁涓婂幓鐨勬椂鍊欐樉绀哄叏閮ㄧ殑钃濊壊妗�,鍚﹀垯鍥犱负maring鐨勭紭鏁咃紝杈规鐨勫彸鍗婇儴鍒嗕細琚浉閭荤殑a鐨勮竟妗嗛伄鐩� */
+ z-index: 10;
+}
+/*澧炲姞鏂囦欢鍒楄〃鍒犻櫎鍔熻兘聽聽绮剧悽鎶�鏈爐hh聽2021-08-25 end*/
+/*loaded鑷繁鍔犱簡style锛屽緱閲嶆柊璁剧疆鏍峰紡 绮剧悽鎶�鏈爐hh聽2021-09-15 start*/
+.THIS #loaded {
+ width: 200px;
+ height: 200px;
+ position: relative;
+ text-align: center;
+}
+
+.THIS #loaded>img {
+ width: 100%;
+ height: 100%;
+}
+/*loaded鑷繁鍔犱簡style锛屽緱閲嶆柊璁剧疆鏍峰紡 绮剧悽鎶�鏈爐hh聽2021-09-15 end*/
\ No newline at end of file
diff --git a/force-app/main/default/aura/eSignAgencyConfirmPage/eSignAgencyConfirmPageController.js b/force-app/main/default/aura/eSignAgencyConfirmPage/eSignAgencyConfirmPageController.js
new file mode 100644
index 0000000..6e8327c
--- /dev/null
+++ b/force-app/main/default/aura/eSignAgencyConfirmPage/eSignAgencyConfirmPageController.js
@@ -0,0 +1,696 @@
+({
+ // 鍒濆鍖栧嚱鏁�
+ doInit : function(cmp, event, helper) {
+ // 璁剧疆鏄庣粏椤佃〃鏍肩殑鏋勯��
+ helper.getColumnAndAction(cmp);
+ // 浠庢暟鎹簱閲岄潰璇诲彇鏁版嵁
+ helper.geteSign(cmp);
+ },
+ // 鏄庣粏椤佃〃鏍肩殑缈婚〉涓嬩竴椤�
+ handleNext : function(cmp, event, helper) {
+ helper.handleNext(cmp);
+ },
+ // 鏄庣粏椤佃〃鏍肩殑缈婚〉涓婁竴椤�
+ handlePrev : function(cmp, event, helper) {
+ helper.handlePrev(cmp);
+ },
+ // 鏄庣粏椤佃〃鏍肩殑缈婚〉棣栭〉
+ handleHome : function(cmp, event, helper) {
+ helper.handleHome(cmp);
+ },
+ // 鏄庣粏椤佃〃鏍肩殑缈婚〉灏鹃〉
+ handleLast : function(cmp, event, helper) {
+ helper.handleLast(cmp);
+ },
+ // 琛ㄦ牸纭鏇存敼
+ handleSaveEdition: function (cmp, event, helper) {
+ //鑾峰彇鏇存敼鍐呭
+ var draftValues = event.getParam('draftValues');
+ helper.saveEdition(cmp, draftValues);
+ },
+ // 鏂囦欢涓婁紶缁撴灉鍚庣殑澶勭悊
+ handleUploadFinished: function(cmp, event) {
+ // 鑾峰彇涓婁紶鎴愬姛鏂囦欢鐨勪俊鎭�
+ var uploadedFiles = event.getParam("files");
+ var count;
+ var fileName;
+ var nameList = [];
+ if (uploadedFiles.length > 0) {
+ // 涔嬫墍浠ュ湪杩欓噷鍐欒繖涓脊鍑烘锛屽洜涓哄啓鍦╤elper閲岄潰涓嶇煡閬撲负鍟ュ脊涓嶅嚭鏉ワ紱
+ cmp.set("v.IsHaveFile", true);
+
+ // alert("璇锋偍鐐瑰嚮鎻愪氦鎸夐挳涓婁紶鏁版嵁锛�");
+ //鑾峰彇鏂囦欢涓婁紶鏁伴噺
+ var size = cmp.get("v.fileSize");
+ if (size) {
+ cmp.set('v.fileSize', size + uploadedFiles.length);
+ } else {
+ cmp.set('v.fileSize', uploadedFiles.length);
+ }
+ count = cmp.get("v.fileSize");
+
+ // console.log(file.name)
+ // 鎵撳嵃涓婁紶鎴愬姛鏂囦欢鐨勫悕瀛�
+ uploadedFiles.forEach(file => fileName = file.name);
+ var name = cmp.get("v.flName");
+ if (name) {
+ cmp.set('v.flName', name + ',' + fileName);
+ // nameList.pust(name);
+ } else {
+ cmp.set('v.flName', fileName);
+ }
+ fileName = cmp.get("v.flName");
+
+ }
+ if (count > 0) {
+ // alert("鎮ㄥ凡缁忔垚鍔熶笂浼�"+count+"涓枃浠�,鎻愪氦鐢宠璇风偣鍑绘彁浜ゆ寜閽��");
+ cmp.find('notifLibPlanA').showToast({
+ "title": "Success!",
+ "message": "鎮ㄥ凡缁忔垚鍔熼�夋嫨" + count + "涓枃浠�,璇风偣鍑讳笂浼犳枃浠舵寜閽笂浼犮��"
+ });
+
+ //鍒楀嚭鏂囦欢鍚�01 鎵�鏈夋枃浠跺悕閮界敤閫楀彿闅斿紑 鏍规嵁閫楀彿鎷嗗垎锛屽瓨鏀炬暟缁�
+ var nameList = fileName.split(',');
+ //瀛樻斁鍒板彉閲忎腑 鐢ㄤ簬涓婁竴椤典笅涓�椤佃繛鐐�
+ cmp.set('v.nameList', nameList);
+ if (nameList.length > 0) {
+ var strList = '';
+ for (var i = 0; i < nameList.length; i++) {
+ var num = Number(i) + 1;
+ var id = 'file0' + num;
+ //鏍囪瘑鏂囦欢鏄惁宸茬粡涓婁紶 绮剧悽鎶�鏈� thh 2021-09-26 start
+ if(isUploadName[nameList[i]]) {
+ var str = '<button id="' + id + '" class="slds-button" title="Field 3" style="text-align:left;width:250px;font-weight:bold;font-size: 15px;color:Green;" name="' + nameList[i] + '">' + nameList[i] + '</button><br>';
+ } else{
+ var str = '<button id="' + id + '" class="slds-button" title="Field 3" style="text-align:left;width:250px;font-weight:bold;font-size: 15px;color:Gray;" name="' + nameList[i] + '">' + nameList[i] + '</button><br>';
+ }
+ //鏍囪瘑鏂囦欢鏄惁宸茬粡涓婁紶 绮剧悽鎶�鏈� thh 2021-09-26 end
+ //鎷兼帴p鏍囩 鍒楀嚭鏂囦欢鍚峣d涓嶅悓
+ strList += str;
+ }
+ var obj = document.getElementById('file00');
+ obj.innerHTML = strList;
+ }
+ }
+
+ },
+ submitClick: function(cmp, event, helper){
+ helper.submitClick(cmp);
+ },
+ // 涓婚〉璺宠浆鑷虫槑缁嗛〉
+ handleHomePageNextClick : function (cmp, event, helper) {
+ helper.handleHomePageNextClick(cmp);
+ },
+ // 鏄庣粏椤佃烦杞嚦鏂囦欢涓婁紶椤�
+ handleDetailsPageNextClick : function (cmp, event, helper) {
+ helper.handleDetailsPageNextClick(cmp , event);
+ },
+ BackToHomePage : function(cmp, event, helper){
+ if(confirm('纭鍥炲埌棣栭〉鍚楋紵')){
+ var messageEvent = cmp.getEvent('componentEvent');
+ // messageEvent.setParam('DNName',cmp.get('v.DNName'));
+ // messageEvent.setParam('IsAgencyShow',cmp.get('v.IsSubmit'));
+ messageEvent.setParam('agencyDNSignUpStatus',cmp.get('v.agencyDNSignUpStatus'));
+ messageEvent.setParam('HPDNSignUpStatus',cmp.get('v.HPDNSignUpStatus'));
+ messageEvent.setParam('agencySubmit',cmp.get('v.agencySubmit'));
+ messageEvent.setParam('DNNameSpare',cmp.get('v.DNName'));
+
+ messageEvent.fire();
+ cmp.set("v.HomePage", false);
+ cmp.set("v.handlingOpinionsPage", false);
+
+ }
+
+
+ // helper.BackToHomePage(cmp);
+ },
+ handleShowFielePageNextClick : function(cmp, event, helper){
+ helper.handleShowFielePageNextClick(cmp);
+ },
+ handleShowPageNextClick : function(cmp, event, helper){
+ helper.handleShowPageNextClick(cmp);
+ },
+ GoodsChanged:function(cmp, event, helper){
+ helper.GoodsChanged(cmp);
+ },
+ OpinionsTODetailsPage : function(cmp, event, helper){
+ helper.OpinionsTODetailsPage(cmp);
+ },
+ nextToFile : function(cmp, event, helper){
+ helper.nextToFile(cmp);
+ },
+ searchByCaseNumber : function(cmp, event, helper){
+ helper.searchByCaseNumber(cmp,event);
+ },
+ handleSectionToggle: function(cmp, event) {
+ var openSections = event.getParam('openSections');
+ var nameList = cmp.get('v.nameList');
+ if (nameList.length > 0) {
+ var strList = '';
+ for (var i = 0; i < nameList.length; i++) {
+ var num = Number(i) + 1;
+ var id = 'file0' + num;
+ //鏍囪瘑鏂囦欢鏄惁宸茬粡涓婁紶 绮剧悽鎶�鏈� thh 2021-09-26 start
+ if(isUploadName[nameList[i]]) {
+ var str = '<button id="' + id + '" class="slds-button" title="Field 3" style="text-align:left;width:250px;font-weight:bold;font-size: 15px;color:Green;" name="' + nameList[i] + '">' + nameList[i] + '</button><br>';
+ } else{
+ var str = '<button id="' + id + '" class="slds-button" title="Field 3" style="text-align:left;width:250px;font-weight:bold;font-size: 15px;color:Gray;" name="' + nameList[i] + '">' + nameList[i] + '</button><br>';
+ }
+ //鏍囪瘑鏂囦欢鏄惁宸茬粡涓婁紶 绮剧悽鎶�鏈� thh 2021-09-26 end
+ //鎷兼帴p鏍囩 鍒楀嚭鏂囦欢鍚峣d涓嶅悓
+ strList += str;
+ }
+ var obj = document.getElementById('file00');
+ obj.innerHTML = strList;
+ }
+ if (openSections.length === 0) {
+ cmp.set('v.activeSectionsMessage', "All sections are closed");
+ } else {
+ cmp.set('v.activeSectionsMessage', "Open sections: " + openSections.join(', '));
+ }
+ },
+ doSave: function(cmp, event, helper) {
+ var fileName;
+ var count;
+ var fileName1;
+ //鍏堝垽鏂� 宸蹭笂浼犵殑鏂囦欢鏄惁鏈夊��
+ var nameUpLoadList = cmp.get('v.nameUpLoadList');
+ if (cmp.find("fileId").get("v.files").length > 0) {
+ //浠ヤ笅鏄敤浜庡瓨鏀惧凡缁忎笂浼犵殑鏂囦欢鍚� 鐢ㄤ綔瀵规瘮(鐩稿悓鏂囦欢鏃朵笉鑳戒笂浼犵殑锛屾晠涓嶇敤鍐呭鍒ゆ柇)
+ fileName = cmp.find("fileId").get("v.files")[0]['name'];
+ var nameList = cmp.get("v.nameList");
+ //鏂囦欢鍒楄〃涓虹┖鏃讹紝涓嶅厑璁镐笂浼� 绮剧悽鎶�鏈� thh 2021-09-13
+ if(nameList.indexOf(fileName) >= 0){
+ //瀹氫箟涓�涓爣璇� 鐢ㄦ潵鍒ゆ柇鐐瑰嚮杩囦笂浼犳枃浠舵寜閽�
+ cmp.set('v.uploadFlag', true);
+ //澧炲姞鏍囪鍝釜鏂囦欢宸蹭笂浼� 绮剧悽鎶�鏈� thh 2021-09-09 start
+ //鎶婃枃浠跺悕鍜岃鏂囦欢鏄惁宸茬粡涓婁紶鍏宠仈璧锋潵
+ var isUploadName = cmp.get("v.isUploadName");
+ isUploadName[fileName] = true;
+ cmp.set('v.isUploadName', isUploadName);
+ //澧炲姞鏍囪鍝釜鏂囦欢宸蹭笂浼� 绮剧悽鎶�鏈� thh 2021-09-09聽end
+ //鑾峰彇鏂囦欢涓婁紶鏁伴噺
+ var size = cmp.get("v.fileUpLoadSize");
+ if (size) {
+ cmp.set('v.fileUpLoadSize', size + cmp.find("fileId").get("v.files").length);
+ } else {
+ cmp.set('v.fileUpLoadSize', cmp.find("fileId").get("v.files").length);
+ }
+ fileName1 = fileName;
+ var name = cmp.get("v.flUpLoadName");
+ if (name && name != '') {
+ cmp.set('v.flUpLoadName', name + ',' + fileName1);
+ } else {
+ cmp.set('v.flUpLoadName', fileName1);
+ }
+ fileName = cmp.get("v.flUpLoadName");
+ console.log("fileName:" + fileName);
+ helper.uploadHelper(cmp, event);
+
+ }else {
+ alert('娌℃湁闄勪欢闇�瑕佷笂浼狅紒');
+ }
+ } else {
+ alert('璇锋偍閲嶆柊閫夋嫨涓婁紶鍥剧墖锛�');
+
+ if (nameUpLoadList.length < 0 || nameUpLoadList.length == 0) {
+ //鍏堝垽绌� 鏈夊彲鑳戒竴鎵撳紑椤甸潰灏辩偣鍑讳笂浼犳寜閽�
+ //璇存槑绗竴娆$偣鍑婚�夋嫨鍥剧墖锛屾病鏈変笂浼犲張鐐瑰嚮浜嗙浜屾
+ if (document.getElementById('file01')) {
+ document.getElementById('file01').remove();
+ }
+
+ } else {
+ cmp.set('v.nameList', nameUpLoadList);
+ //閲嶆柊瀹氫箟閫変腑鏂囦欢鐨勬暟閲�
+ cmp.set('v.fileSize', nameList.length);
+ if (nameUpLoadList.length > 0) {
+ var strList = '';
+ for (var i = 0; i < nameList.length; i++) {
+ var num = Number(i) + 1;
+ var id = 'file0' + num;
+ //鏍囪瘑鏂囦欢鏄惁宸茬粡涓婁紶 绮剧悽鎶�鏈� thh 2021-09-26 start
+ if(isUploadName[nameList[i]]) {
+ var str = '<button id="' + id + '" class="slds-button" title="Field 3" style="text-align:left;width:250px;font-weight:bold;font-size: 15px;color:Green;" name="' + nameList[i] + '">' + nameList[i] + '</button><br>';
+ } else{
+ var str = '<button id="' + id + '" class="slds-button" title="Field 3" style="text-align:left;width:250px;font-weight:bold;font-size: 15px;color:Gray;" name="' + nameList[i] + '">' + nameList[i] + '</button><br>';
+ }
+ //鏍囪瘑鏂囦欢鏄惁宸茬粡涓婁紶 绮剧悽鎶�鏈� thh 2021-09-26 end
+ //鎷兼帴p鏍囩 鍒楀嚭鏂囦欢鍚峣d涓嶅悓
+ strList += str;
+ }
+ var obj = document.getElementById('file00');
+ obj.innerHTML = strList;
+ }
+ }
+ }
+ },
+ //涓婁紶鍥剧墖鍚� 棰勮鍥剧墖
+ imgName: function(cmp, event) {
+ //绾ц仈鎿嶄綔 鐐瑰嚮瀛愭爣绛� 杩涘叆鐖舵爣绛剧偣鍑讳簨浠�
+ //鑾峰彇鐐瑰嚮鐨勫瓙鏍囩
+ var name = event.target.lastChild.data;
+ console.log(name);
+ var imgSrcList = cmp.get("v.imgList");
+ var imgSrc = imgSrcList[name];
+ document.getElementById('image').src = imgSrc;
+ },
+ //鑾峰彇鍥剧墖src
+ getImgSrc: function(imgSrcList, name) {
+ return imgSrcList[name];
+ },
+ //鍒朵綔鏁扮粍 key锛歯ame vlaue锛歴rc
+ setImgSrc: function(str1, prop, val) {
+ // 濡傛灉 val 琚拷鐣�
+ if (typeof val === "undefined") {
+ // 鍒犻櫎灞炴��
+ delete str1[prop];
+ } else {
+ // 娣诲姞 鎴� 淇敼
+ str1[prop] = val;
+ }
+ return str1;
+ },
+ handleFilesChange: function(cmp, event, helper) {
+ //鍥剧墖棰勮
+ var imgList = {};
+ var fileName = 'No File Selected..';
+ var count;
+ var fileName1;
+ var nameList = [];
+ var uploadedFiles = event.getParam("files");聽聽聽聽
+ var isUploadName = cmp.get("v.isUploadName");聽
+ var reader = new FileReader();
+ reader.readAsDataURL(uploadedFiles[0]);
+ //鏂囦欢涓簆df鏃�,闅愯棌棰勮鍥剧墖鍖哄煙,鏄剧ず鏂囧瓧鈥淧DF鏂囦欢鏆備笉鏀寔棰勮鈥� 绮剧悽鎶�鏈爐hh聽2021-09-13聽start
+ var name = event.getSource().get("v.files")[0]['name'];
+ var indexPdf = name.lastIndexOf('.');
+ var pdf = name.substring(indexPdf, name.length);
+ if(pdf == '.pdf') {
+ document.getElementById('loaded').style.display = 'none';
+ document.getElementById('fontpdf').style.display = 'block';
+ } else {
+ document.getElementById('loaded').style.display = 'block';
+ document.getElementById('fontpdf').style.display = 'none';
+ }
+ //鏂囦欢涓簆df鏃�,闅愯棌棰勮鍥剧墖鍖哄煙,鏄剧ず鏂囧瓧鈥淧DF鏂囦欢鏆備笉鏀寔棰勮鈥� 绮剧悽鎶�鏈爐hh聽2021-09-13聽end
+ reader.onload = function(e) {
+ var imgBase = e.target.result;
+ var nameList = cmp.get('v.nameUpLoadList');
+ //鍥剧墖棰勮
+ cmp.set("v.imageSrc", imgBase);
+ //娓呴櫎div鏂囧瓧
+ document.getElementById("font").textContent = "";
+ //棰勮鍥剧墖
+ document.getElementById('image').style.display = 'block';
+ // 濡傛灉 val 琚拷鐣�
+ if (typeof imgBase === "undefined") {
+ // 鍒犻櫎灞炴��
+ delete imgList[uploadedFiles[0].name];
+ } else {
+ // 娣诲姞 鎴� 淇敼
+ imgList[uploadedFiles[0].name] = imgBase;
+ }
+ //澧炲姞鐐瑰嚮鏂囦欢鍒楄〃鍒囨崲鏌ョ湅鍥剧墖闄勪欢聽聽绮剧悽鎶�鏈爐hh聽2021-08-23聽start
+ //鎶婇瑙堝浘鐗囩殑src瀛樺叆map锛屾妸鍥剧墖鍚嶅瓧鍜宻rc杩炴帴璧锋潵
+ var fontsrc = cmp.get("v.FontSrc");
+ fontsrc[uploadedFiles[0].name] = imgBase;
+ cmp.set('v.FontSrc', fontsrc);
+ //澧炲姞鐐瑰嚮鏂囦欢鍒楄〃鍒囨崲鏌ョ湅鍥剧墖闄勪欢聽聽绮剧悽鎶�鏈爐hh聽2021-08-23聽end
+
+ }
+ var flag = cmp.get('v.uploadFlag');
+ console.log('uploadedFiles:' + uploadedFiles);
+ console.log("鏂囦欢闀垮害锛�" + uploadedFiles.length);
+ //鍏堝垽鏂� 宸蹭笂浼犵殑鏂囦欢鏄惁鏈夊��
+ var nameUpLoadList = cmp.get('v.nameUpLoadList');
+ if (event.getSource().get("v.files").length > 0) {
+ fileName = event.getSource().get("v.files")[0]['name'];
+ //鏍囪瘑棰勮鍥剧墖鍚嶅瓧 绮剧悽鎶�鏈� thh 2021-09-09 start
+ if(fileName.length != 1 && isUploadName[fileName]) {
+ var str = '<span>褰撳墠鏂囦欢锛�</span><span id="nowfile" class="field-title" style="color:Green;" title="' + fileName + '">' + fileName + '</span>';
+ document.getElementById("uploadicon").style.display = 'inline-block';
+ } else{
+ var str = '<span>褰撳墠鏂囦欢锛�</span><span id="nowfile" class="field-title" style="color:Gray;" title="' + fileName + '">' + fileName + '</span>';
+ document.getElementById("uploadicon").style.display = 'none';
+ }
+ var obj = document.getElementById('filenow');
+ obj.innerHTML = str;
+ //鏍囪瘑棰勮鍥剧墖鍚嶅瓧 绮剧悽鎶�鏈� thh 2021-09-09 end
+ cmp.set("v.imageSrc", fileName);
+ // 涔嬫墍浠ュ湪杩欓噷鍐欒繖涓脊鍑烘锛屽洜涓哄啓鍦╤elper閲岄潰涓嶇煡閬撲负鍟ュ脊涓嶅嚭鏉ワ紱
+ cmp.set("v.IsHaveFile", true);
+ if (nameUpLoadList.length < 0 || nameUpLoadList.length == 0) {
+ fileName1 = fileName;
+ cmp.set('v.flName', fileName1);
+ fileName = cmp.get("v.flName");
+ //鍐欐鏄洜涓轰笂浼犳枃浠朵竴娆″彧鑳戒笂浼犱竴涓�
+ count = 1;
+
+ cmp.set("v.fileSize", count);
+ } else {
+ var size = cmp.get("v.fileSize");
+ if (size) {
+ cmp.set('v.fileSize', size + uploadedFiles.length);
+ } else {
+ cmp.set('v.fileSize', uploadedFiles.length);
+ }
+ count = cmp.get("v.fileSize");
+ // 鎵撳嵃閫変腑鏂囦欢鐨勫悕瀛�
+ fileName1 = fileName;
+ var name = cmp.get("v.flName");
+ if (name) {
+ cmp.set('v.flName', name + ',' + fileName1);
+ // nameList.pust(name);
+ } else {
+ cmp.set('v.flName', fileName1);
+ }
+ fileName = cmp.get("v.flName");
+ }
+
+ if (count > 0) {
+ //鍒楀嚭鏂囦欢鍚�01 鎵�鏈夋枃浠跺悕閮界敤閫楀彿闅斿紑 鏍规嵁閫楀彿鎷嗗垎锛屽瓨鏀炬暟缁�
+ var nameList = fileName.split(',');
+ for (var i = 0; i < nameList.length; i++) {
+ for (var j = i + 1; j < nameList.length; j++) {
+ if (nameList[i] == nameList[j]) { //绗竴涓瓑鍚屼簬绗簩涓紝splice鏂规硶鍒犻櫎绗簩涓�
+ nameList.splice(j, 1);
+ j--;
+ }
+ }
+ }
+ count = nameList.length;
+ // alert("鎮ㄥ凡缁忔垚鍔熶笂浼�"+count+"涓枃浠�,鎻愪氦鐢宠璇风偣鍑绘彁浜ゆ寜閽��");
+ cmp.find('notifLibPlanA').showToast({
+ "title": "Success!",
+ "message": "鎮ㄥ凡缁忛�変腑" + count + "涓枃浠�,璇风偣鍑讳笂浼犳枃浠舵寜閽繘琛屼笂浼犮��"
+ });
+
+ //鍒楀嚭鏂囦欢鍚�01 鎵�鏈夋枃浠跺悕閮界敤閫楀彿闅斿紑 鏍规嵁閫楀彿鎷嗗垎锛屽瓨鏀炬暟缁�
+ // var nameList =fileName.split(',');
+ //瀛樻斁鍒板彉閲忎腑 鐢ㄤ簬涓婁竴椤典笅涓�椤佃繛鐐�
+ cmp.set('v.nameList', nameList);
+ if (nameList.length > 0) {
+ var strList = '';
+ for (var i = 0; i < nameList.length; i++) {
+ var num = Number(i) + 1;
+ var id = 'file0' + num;
+ //鏍囪瘑鏂囦欢鏄惁宸茬粡涓婁紶 绮剧悽鎶�鏈� thh 2021-09-26 start
+ if(isUploadName[nameList[i]]) {
+ var str = '<button id="' + id + '" class="slds-button" title="Field 3" style="text-align:left;width:250px;font-weight:bold;font-size: 15px;color:Green;" name="' + nameList[i] + '">' + nameList[i] + '</button><br>';
+ } else{
+ var str = '<button id="' + id + '" class="slds-button" title="Field 3" style="text-align:left;width:250px;font-weight:bold;font-size: 15px;color:Gray;" name="' + nameList[i] + '">' + nameList[i] + '</button><br>';
+ }
+ //鏍囪瘑鏂囦欢鏄惁宸茬粡涓婁紶 绮剧悽鎶�鏈� thh 2021-09-26 end
+ //鎷兼帴p鏍囩 鍒楀嚭鏂囦欢鍚峣d涓嶅悓
+ strList += str;
+ }
+ var obj = document.getElementById('file00');
+ obj.innerHTML = strList;
+ }
+ }
+ } else {
+ if (nameUpLoadList.length < 0 || nameUpLoadList.length == 0) {
+ //璇存槑绗竴娆$偣鍑婚�夋嫨鍥剧墖锛屾病鏈変笂浼犲張鐐瑰嚮浜嗙浜屾
+ cmp.set('v.nameList', null);
+
+ } else {
+ cmp.set('v.nameList', nameUpLoadList);
+ if (nameUpLoadList.length > 0) {
+ var strList = '';
+ for (var i = 0; i < nameList.length; i++) {
+ var num = Number(i) + 1;
+ var id = 'file0' + num;
+ //鏍囪瘑鏂囦欢鏄惁宸茬粡涓婁紶 绮剧悽鎶�鏈� thh 2021-09-26 start
+ if(isUploadName[nameList[i]]) {
+ var str = '<button id="' + id + '" class="slds-button" title="Field 3" style="text-align:left;width:250px;font-weight:bold;font-size: 15px;color:Green;" name="' + nameList[i] + '">' + nameList[i] + '</button><br>';
+ } else{
+ var str = '<button id="' + id + '" class="slds-button" title="Field 3" style="text-align:left;width:250px;font-weight:bold;font-size: 15px;color:Gray;" name="' + nameList[i] + '">' + nameList[i] + '</button><br>';
+ }
+ //鏍囪瘑鏂囦欢鏄惁宸茬粡涓婁紶 绮剧悽鎶�鏈� thh 2021-09-26 end
+ //鎷兼帴p鏍囩 鍒楀嚭鏂囦欢鍚峣d涓嶅悓
+ strList += str;
+ }
+ var obj = document.getElementById('file00');
+ obj.innerHTML = strList;
+ }
+
+ }
+
+ }
+ cmp.set("v.fileName", fileName);
+ },
+ showHPQR: function(cmp, event, helper) {
+ var check = cmp.get('v.chkQR');
+ if (check) {
+ cmp.set('v.showQR', true);
+ } else {
+ cmp.set('v.showQR', false);
+ }
+
+ },
+ hideHPQR: function(cmp, event, helper) {
+ cmp.set('v.showQR', false);
+ cmp.set('v.chkQR', false);
+ },
+
+ //wangweipeng 20210616 棰勮鍥剧墖鏀惧ぇ鍔熻兘
+ imgeBig: function(cmp, event, helper) {
+ var imgeObj = document.getElementById("image");
+ //鍥剧墖棰勮
+ cmp.set("v.imageBigSrc", imgeObj.src);
+
+ //棰勮鍥剧墖
+ document.getElementById('image').style.display = 'none';
+ document.getElementById('outerdiv').style.display = 'block';
+ },
+ //wangweipeng 20210616 棰勮鍥剧墖鍏抽棴鎸夐挳
+ imgeSmall: function() {
+ document.getElementById('image').style.display = 'block';
+ document.getElementById('outerdiv').style.display = 'none';
+ },
+ //澧炲姞鐐瑰嚮鏂囦欢鍒楄〃鍒囨崲鏌ョ湅鍥剧墖闄勪欢聽聽绮剧悽鎶�鏈爐hh聽2021-08-23聽start
+ //鐐瑰嚮鏂囦欢鍒楄〃閲岀殑鍚嶅瓧瀹炵幇鍥剧墖鐨勫垏鎹�
+ buttonClicked: function(cmp, event) {
+ var name = event.target.name;
+ var srcmap = cmp.get("v.FontSrc");
+ var value = srcmap[name];
+ //鏂囦欢涓簆df鏃�,闅愯棌棰勮鍥剧墖鍖哄煙,鏄剧ず鏂囧瓧鈥淧DF鏂囦欢鏆備笉鏀寔棰勮鈥� 绮剧悽鎶�鏈爐hh聽2021-09-13聽start
+ var indexPdf = name.lastIndexOf('.');
+ var pdf = name.substring(indexPdf, name.length);
+ if(pdf == '.pdf') {
+ document.getElementById('loaded').style.display = 'none';
+ document.getElementById('fontpdf').style.display = 'block';
+ } else {
+ document.getElementById('loaded').style.display = 'block';
+ document.getElementById('image').src = value;
+ document.getElementById('image').style.display = 'block';
+ document.getElementById('fontpdf').style.display = 'none';
+ }
+ //鏂囦欢涓簆df鏃�,闅愯棌棰勮鍥剧墖鍖哄煙 绮剧悽鎶�鏈爐hh聽2021-09-13聽end
+ //鏍囪瘑棰勮鍥剧墖鍚嶅瓧 绮剧悽鎶�鏈� thh 2021-09-10 start
+ var isUploadName = cmp.get("v.isUploadName");
+ if(isUploadName[name]) {
+ var str = '<span>褰撳墠鏂囦欢锛�</span><span id="nowfile" class="field-title" style="color:Green;" title="' + name + '">' + name + '</span>';
+ document.getElementById("uploadicon").style.display = 'inline-block';
+ } else{
+ var str = '<span>褰撳墠鏂囦欢锛�</span><span id="nowfile" class="field-title" style="color:Gray;" title="' + name + '">' + name + '</span>';
+ document.getElementById("uploadicon").style.display = 'none';
+ }
+ var obj = document.getElementById('filenow');
+ obj.innerHTML = str;
+ //鏍囪瘑棰勮鍥剧墖鍚嶅瓧 绮剧悽鎶�鏈� thh 2021-09-10 end
+ },
+ //澧炲姞鐐瑰嚮鏂囦欢鍒楄〃鍒囨崲鏌ョ湅鍥剧墖闄勪欢聽聽绮剧悽鎶�鏈爐hh聽2021-08-23聽end
+ //澧炲姞鏂囦欢鍒楄〃鍒犻櫎鍔熻兘聽聽绮剧悽鎶�鏈爐hh聽2021-08-25聽start
+ deleteClick: function(cmp, event, helper) {
+ var srcmap = cmp.get("v.FontSrc");
+ var nameList = cmp.get("v.nameList");
+ var nameUpLoadList = cmp.get('v.nameUpLoadList');
+ var flUpLoadName = cmp.get("v.flUpLoadName");
+ var flName = cmp.get("v.flName");
+ var filesrc = cmp.get("v.FileSrc");
+ var base64List = cmp.get("v.base64List");
+ var baseArray = cmp.get("v.baseArray");
+ var isUploadName = cmp.get("v.isUploadName");
+ //鏍规嵁褰撳墠鏂囦欢鑾峰彇褰撳墠鏂囦欢鍚�
+ if(nameList != ''){
+ var name = document.getElementById("nowfile").title;
+ } else{
+ alert("娌℃湁闄勪欢锛屾棤娉曞垹闄わ紒");
+ }
+ //鎶婅鍒犵殑src鍒嗘瀛樺叆baseFile锛岀劧鍚庨�氳繃閬嶅巻鍒犻櫎base64List涓殑鏁版嵁
+ var baseFile = cmp.get("v.baseFile");
+ var startPosition = 0;
+ var fileContents = filesrc[name];
+ //濡傛灉fileContents鏈夊�硷紝璇存槑闄勪欢宸茬粡涓婁紶
+ if(fileContents){
+ var fileLength = Math.ceil(fileContents.length / helper.CHUNK_SIZE);
+ for(var i = 0; i < fileLength; i++){
+ baseFile = cmp.get("v.baseFile");
+ var endPosition = Math.min(
+ fileContents.length,
+ startPosition + helper.CHUNK_SIZE
+ );
+ var getchunk = fileContents.substring(startPosition, endPosition);
+ fileContents = fileContents.substring(endPosition);
+ if(baseFile){
+ cmp.set('v.baseFile',baseFile+','+getchunk);
+ }else{
+ cmp.set('v.baseFile',getchunk);
+ }
+ baseFile = cmp.get("v.baseFile");
+ }
+ //澧炲姞鏍囪鍝釜鏂囦欢宸蹭笂浼� 绮剧悽鎶�鏈� thh 2021-09-09 start
+ //鍒犻櫎siUploadName涓璶ame瀵瑰簲鐨勫垽鏂�
+ delete isUploadName[name];
+ //澧炲姞鏍囪鍝釜鏂囦欢宸蹭笂浼� 绮剧悽鎶�鏈� thh 2021-09-09聽end
+ //鍒犻櫎flUpLoadName涓殑name
+ var Arrflag = flUpLoadName instanceof Array;
+ if(!Arrflag){
+ flUpLoadName = flUpLoadName.split(',');
+ }
+ for(var i = 0; i < flUpLoadName.length; i++) {
+ if(flUpLoadName [i] == name) {
+ flUpLoadName.splice(i, 1);
+ break;
+ }
+ }
+ cmp.set("v.flUpLoadName", flUpLoadName);
+ //鍒犻櫎涓�涓暟鎹箣鍚巉ileUpLoadSize涓殑鏁伴噺瑕�-1
+ var fileUpLoadSize = cmp.get("v.fileUpLoadSize");
+ var deletefileUpLoadSize = fileUpLoadSize - 1;
+ cmp.set("v.fileUpLoadSize", deletefileUpLoadSize);
+ }
+ //鍒犻櫎srcname涓璶ame瀵瑰簲鐨剆rc
+ delete srcmap[name];
+ //鍒犻櫎filesrc涓璶ame瀵瑰簲鐨剆rc
+ delete filesrc[name];
+ //鍒犻櫎nameList涓殑name
+ for(var i = 0; i < nameList.length; i++) {
+ if(nameList [i] == name) {
+ nameList.splice(i, 1);
+ break;
+ }
+ }
+ cmp.set("v.nameList", nameList);
+ //鍒犻櫎nameUpLoadList涓殑name
+ for(var i = 0; i < nameUpLoadList.length; i++) {
+ if(nameUpLoadList [i] == name) {
+ nameUpLoadList.splice(i, 1);
+ break;
+ }
+ }
+ cmp.set("v.nameUpLoadList", nameUpLoadList);
+ //鍒犻櫎flName涓殑name
+ var Arryflag = flName instanceof Array;
+ if(!Arryflag){
+ flName = flName.split(',');
+ }
+ for(var i = 0; i < flName.length; i++) {
+ if(flName [i] == name) {
+ flName.splice(i, 1);
+ break;
+ }
+ }
+ cmp.set("v.flName", flName);
+ //閫氳繃閬嶅巻鍒犻櫎base64List涓殑鏁版嵁
+ baseFile = cmp.get("v.baseFile");
+ baseArray = baseFile.split(',');
+ for(var j = 0; j < baseArray.length; j++){
+ for(var i = 0; i < base64List.length; i++) {
+ var baseArray100;
+ if(baseArray[j].length > 100){
+ baseArray100 = baseArray[j].substring(0, 100);
+ }else{
+ baseArray100 = baseArray[j].substring(0);
+ }
+ if(base64List[i].indexOf(baseArray100) >= 0) {
+ base64List.splice(i, 1);
+ break;
+ }
+ }
+ }
+ cmp.set("v.base64List", base64List);
+ //鎷兼帴鍒犻櫎瀹屼箣鍚庣殑鏂囦欢鍒楄〃,浠ュ強鍥剧墖鐨勬樉绀�
+ var strList = '';
+ if(nameList.length == 0) {
+ //鏂囦欢鍒犲畬涔嬪悗闅愯棌鍥剧墖棰勮鍖哄煙浠ュ強缁胯壊灏忊垰,棰勮鍖哄煙鏄剧ず鏂囧瓧鈥淧DF鏂囦欢鏆備笉鏀寔棰勮鈥� 绮剧悽鎶�鏈� thh 2021-09-15 start
+ document.getElementById('loaded').style.display = 'none';
+ document.getElementById("uploadicon").style.display = 'none';
+ //鏂囦欢鍒犲畬涔嬪悗闅愯棌鍥剧墖棰勮鍖哄煙浠ュ強缁胯壊灏忊垰,棰勮鍖哄煙鏄剧ず鏂囧瓧鈥淧DF鏂囦欢鏆備笉鏀寔棰勮鈥� 绮剧悽鎶�鏈� thh 2021-09-15 end
+ //鏂囦欢鍒犲畬涔嬪悗,棰勮鍖哄煙鐨刾df鏂囧瓧涔熶笉鏄剧ず
+ document.getElementById('fontpdf').style.display = 'none';
+ //鏂囦欢鍒犲畬涔嬪悗,棰勮鍖哄煙鐨刾df鏂囧瓧涔熶笉鏄剧ず
+ var str = '';
+ var obj = document.getElementById('file00');
+ obj.innerHTML = str;
+ //鏍囪瘑棰勮鍥剧墖鍚嶅瓧 绮剧悽鎶�鏈� thh 2021-09-10 start
+ var obj1 = document.getElementById('filenow');
+ obj1.innerHTML = str;
+ //鏍囪瘑棰勮鍥剧墖鍚嶅瓧 绮剧悽鎶�鏈� thh 2021-09-10 end
+ }else {
+ var value = srcmap[nameList[0]];
+ //鏂囦欢涓簆df鏃跺睍绀虹┖鐧藉浘鐗�,鏄剧ず鏂囧瓧鈥淧DF鏂囦欢鏆備笉鏀寔棰勮鈥� 绮剧悽鎶�鏈爐hh聽2021-09-15聽start
+ var indexPdf = nameList[0].lastIndexOf('.');
+ var pdf = nameList[0].substring(indexPdf, nameList[0].length);
+ if(pdf == '.pdf') {
+ document.getElementById('loaded').style.display = 'none';
+ document.getElementById('fontpdf').style.display = 'block';
+ } else {
+ document.getElementById('loaded').style.display = 'block';
+ document.getElementById('image').src = value;
+ document.getElementById('image').style.display = 'block';
+ document.getElementById('fontpdf').style.display = 'none';
+ }
+ //鏂囦欢涓簆df鏃跺睍绀虹┖鐧藉浘鐗�,鏄剧ず鏂囧瓧鈥淧DF鏂囦欢鏆備笉鏀寔棰勮鈥� 绮剧悽鎶�鏈爐hh聽2021-09-15聽end
+ for (var i = 0; i < nameList.length; i++) {
+ var num = Number(i) + 1;
+ var id = 'file0' + num;
+ //鏍囪瘑鏂囦欢鏄惁宸茬粡涓婁紶 绮剧悽鎶�鏈� thh 2021-09-26
+ if(isUploadName[nameList[0]]) {
+ var str = '<button id="' + id + '" class="slds-button" title="Field 3" style="text-align:left;width:250px;font-weight:bold;font-size: 15px;color:Green;" name="' + nameList[i] + '">' + nameList[i] + '</button><br>';
+ } else{
+ var str = '<button id="' + id + '" class="slds-button" title="Field 3" style="text-align:left;width:250px;font-weight:bold;font-size: 15px;color:Gray;" name="' + nameList[i] + '">' + nameList[i] + '</button><br>';
+ }
+ //鎷兼帴p鏍囩 鍒楀嚭鏂囦欢鍚峣d涓嶅悓
+ strList += str;
+ }
+ var obj = document.getElementById('file00');
+ obj.innerHTML = strList;
+ //鏍囪瘑鏂囦欢鏄惁宸茬粡涓婁紶 绮剧悽鎶�鏈� thh 2021-09-26 start
+ if(isUploadName[nameList[0]]) {
+ var str = '<span>褰撳墠鏂囦欢锛�</span><span id="nowfile" class="field-title" style="color:Green;" title="' + nameList[0] + '">' + nameList[0] + '</span>';
+ document.getElementById("uploadicon").style.display = 'inline-block';
+ } else{
+ var str = '<span>褰撳墠鏂囦欢锛�</span><span id="nowfile" class="field-title" style="color:Gray;" title="' + nameList[0] + '">' + nameList[0] + '</span>';
+ document.getElementById("uploadicon").style.display = 'none';
+ }
+ var obj = document.getElementById('filenow');
+ obj.innerHTML = str;
+ //鏍囪瘑鏂囦欢鏄惁宸茬粡涓婁紶 绮剧悽鎶�鏈� thh 2021-09-26 end
+ }
+ //鍒犻櫎瀹屾垚鍚巄aseFile闇�瑕佺疆绌�
+ cmp.set("v.baseFile", '');
+ var baseFile = cmp.get("v.baseFile");
+ //鍒犻櫎涓�涓暟鎹箣鍚巉ileSize涓殑鏁伴噺瑕�-1
+ var count = cmp.get("v.fileSize");
+ var deletecount = count - 1;
+ cmp.set("v.fileSize", deletecount);
+ //鍏宠仈鍚庣浠g爜鍒犻櫎绛炬敹鍗曞綍鍏ヨ〃涓殑闄勪欢
+ var action = cmp.get("c.deleteChunk");
+ var attachmentID = cmp.get("v.attachmentID");
+ var AttachmentID = attachmentID[name];
+ action.setParams({
+ AttachmentId : AttachmentID
+ });
+ //閫氳繃椤甸潰鏂偣楠岃瘉action鏂规硶鏄惁鎴愬姛
+ action.setCallback(this, function(response) {
+ var state = response.getState();
+ });
+ //鎵цaction鏂规硶
+ $A.enqueueAction(action);
+ },
+ //澧炲姞鏂囦欢鍒楄〃鍒犻櫎鍔熻兘聽聽绮剧悽鎶�鏈爐hh聽2021-09-02聽end
+
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/eSignAgencyConfirmPage/eSignAgencyConfirmPageHelper.js b/force-app/main/default/aura/eSignAgencyConfirmPage/eSignAgencyConfirmPageHelper.js
new file mode 100644
index 0000000..cebaef2
--- /dev/null
+++ b/force-app/main/default/aura/eSignAgencyConfirmPage/eSignAgencyConfirmPageHelper.js
@@ -0,0 +1,1069 @@
+({
+ // 璁剧疆table 鍚勬爮灞炴��
+ getColumnAndAction : function(cmp) {
+ var actions = [
+ {label: 'Edit', name: 'edit'},
+ {label: 'Delete', name: 'delete'},
+ {label: 'View', name: 'view'}
+ ];
+ cmp.set('v.columns', [
+ // {label: 'CODE', fieldName: 'OTCode__c', type: 'text', wrapText:false
+ // , hideDefaultActions: true ,fixedWidth: 110 },
+ {label: '浜у搧鍨嬪彿', fieldName: 'Asset_Model_No__c', type: 'text' , wrapText:false
+ , hideDefaultActions: true ,fixedWidth: 110 },
+ {label: 'CODE', fieldName: 'OTCode__c', type: 'text', wrapText:false
+ , hideDefaultActions: true ,fixedWidth: 137 },
+ {label: '浜у搧鍚嶇О', fieldName: 'productName__c', type: 'text', wrapText:false
+ , hideDefaultActions: true ,fixedWidth: 330 },
+ {label: '鏁伴噺', fieldName: 'Count_Text__c', type: 'text' , wrapText:false
+ , hideDefaultActions: true ,fixedWidth: 50 },
+ {label: '绠卞彿', fieldName: 'CaseNumber__c', type: 'text' , wrapText:false
+ , hideDefaultActions: true ,fixedWidth: 100 },
+ {label: '璐х墿鎯呭喌', fieldName: 'agencyGoodStatus__c', type: 'text', wrapText:false
+ , hideDefaultActions: true ,fixedWidth: 110 },
+ {label: '澶勭悊鎰忚', fieldName: 'handleOpinion__c', type: 'text', wrapText:false
+ , hideDefaultActions: true ,fixedWidth: 170 },
+ {label: '缁忛攢鍟嗙‘璁ょ粨鏋�', fieldName: 'agencyConfirmResult__c', type: 'text', wrapText:false
+ , hideDefaultActions: true , editable:true,fixedWidth: 140 },
+ ]);
+ },
+ // 鑾峰彇鏁版嵁
+ geteSign : function(cmp) {
+ this.showSpinner(cmp);
+ var action = cmp.get("c.geteSigns");
+ var DNName = cmp.get("v.DNName").toString();
+ action.setParams({
+ 'DNName' : DNName
+ });
+ action.setCallback(this,function(response) {
+ var state = response.getState();
+ if (state === "SUCCESS") {
+ var resultData = response.getReturnValue();
+ if(!!resultData && !!resultData.eSignFormLineItems
+ && !!resultData.eSignForm){
+ var data = resultData.eSignFormLineItems;
+
+ var goodsData = [];
+ if(data!=null){
+ for(var i=0;i<data.length;i++){
+ if(data[i].agencyGoodStatus__c !='瀹屽ソ'){
+ goodsData.push(data[i]);
+ }
+
+ }
+ }
+ cmp.set('v.lineItemSize',goodsData.length);
+ var pageSize = cmp.get('v.pageSize');
+ cmp.set("v.data", data);
+ cmp.set("v.goodsData",goodsData);
+ cmp.set("v.eSignForm", resultData.eSignForm);
+ var tempData = this.getTempData(goodsData, 1,pageSize);
+ cmp.set("v.isLastPage", this.isLastPage(goodsData,tempData));
+ cmp.set("v.dataSize", tempData.length);
+ cmp.set("v.currentData", tempData);
+ this.hideSpinner(cmp);
+ }else{
+ cmp.set("v.errorMessage", '鍔犺浇澶辫触锛岃閲嶆柊鎵撳紑姝ら〉闈�1锛�');
+ this.showErrorToast(cmp);
+ this.hideSpinner(cmp);
+ }
+ }else{
+ cmp.set("v.errorMessage", '鍔犺浇澶辫触锛岃閲嶆柊鎵撳紑姝ら〉闈紒');
+ this.showErrorToast(cmp);
+ this.hideSpinner(cmp);
+ }
+ });
+ $A.enqueueAction(action);
+ },
+ // 鏄庣粏椤� table 棣栭〉鍔熻兘瀹炵幇
+ handleHome : function(cmp) {
+ var pageSize = cmp.get('v.pageSize');
+ var pageNumber = cmp.get('v.pageNumber');
+ var data = cmp.get('v.data');
+ var goodsData= cmp.get("v.goodsData");
+ var currentData = cmp.get('v.currentData');
+
+ //鑾峰彇杈撳叆鐨剉alue鍊�
+ var key = document.getElementById('searchInput').value;
+ var tempDataList = [];
+ var pageSize = cmp.get('v.pageSize');
+
+ if(key){
+ for(var i = 0; i<goodsData.length; i++){
+ //鑾峰彇鎵�鏈塶ame涓虹鍙风殑input 鎵归噺鏇存柊
+ if(goodsData[i].CaseNumber__c == key){
+ tempDataList.push(data[i]);
+ }
+
+ }
+ //璁剧疆鍒嗛〉
+ var tempData = this.getTempData(tempDataList,1,pageSize );
+ cmp.set('v.pageNumber', 1 );
+ console.log('currentData1:'+currentData);
+ cmp.set('v.currentData',tempData);
+ cmp.set('v.goodsData',goodsData);
+ cmp.set('v.data',data);
+ cmp.set("v.isLastPage", this.isLastPage(tempDataList,tempData));
+ cmp.set("v.searchSize",tempDataList.length);
+
+
+ }else{
+ //鏄剧ず鍏ㄩ儴绠�
+ var tempData = this.getTempData(goodsData,1,pageSize );
+ cmp.set('v.pageNumber', 1 );
+ console.log('currentData1:'+currentData);
+ cmp.set('v.currentData',tempData);
+ cmp.set('v.goodsData',goodsData);
+ cmp.set('v.data',data);
+ cmp.set("v.isLastPage", this.isLastPage(goodsData,tempData));
+ cmp.set('v.searchSize', null);
+
+ }
+
+
+ },
+ // 鏄庣粏椤� table 灏鹃〉鍔熻兘瀹炵幇
+ handleLast : function(cmp) {
+ var pageSize = cmp.get('v.pageSize');
+ var pageNumber = cmp.get('v.pageNumber');
+ var data = cmp.get('v.data');
+ var goodsData= cmp.get("v.goodsData");
+ //鑾峰彇鏁版嵁闀垮害
+ var size = goodsData.length;
+ //鑾峰彇灏鹃〉椤电爜
+ var pages=size%pageSize==0?(size/pageSize):(Math.floor(size/pageSize)+1);
+
+ var currentData = cmp.get('v.currentData');
+
+ //鑾峰彇杈撳叆鐨剉alue鍊�
+ var key = document.getElementById('searchInput').value;
+ var tempDataList = [];
+
+ if(key){
+ for(var i = 0; i<goodsData.length; i++){
+ //鑾峰彇鎵�鏈塶ame涓虹鍙风殑input 鎵归噺鏇存柊
+ if(goodsData[i].CaseNumber__c == key){
+ tempDataList.push(data[i]);
+ }
+
+ }
+ //璁剧疆鍒嗛〉
+ var tempData = this.getTempData(tempDataList,pages,pageSize );
+ cmp.set('v.pageNumber', pages );
+ console.log('currentData1:'+currentData);
+ cmp.set('v.currentData',tempData);
+ cmp.set('v.goodsData',goodsData);
+ cmp.set('v.data',data);
+ cmp.set("v.isLastPage", this.isLastPage(tempDataList,tempData));
+ cmp.set("v.searchSize",tempDataList.length);
+
+
+ }else{
+ //鏄剧ず鍏ㄩ儴绠�
+ var tempData = this.getTempData(goodsData,pages,pageSize );
+ cmp.set('v.pageNumber', pages );
+ console.log('currentData1:'+currentData);
+ cmp.set('v.currentData',tempData);
+ cmp.set('v.goodsData',goodsData);
+ cmp.set('v.data',data);
+ cmp.set("v.isLastPage", this.isLastPage(goodsData,tempData));
+ cmp.set('v.searchSize', null);
+
+ }
+
+ // var tempData = this.getTempData(goodsData,pages,pageSize );
+ // cmp.set('v.pageNumber', pages );
+ // console.log('currentData1:'+currentData);
+ // cmp.set('v.currentData',tempData);
+ // cmp.set('v.data',data);
+ // cmp.set('v.goodsData',goodsData);
+ // cmp.set("v.isLastPage", this.isLastPage(goodsData,tempData));
+
+
+ },
+ // 鏄庣粏椤� table 涓嬩竴椤靛姛鑳藉疄鐜�
+ handleNext : function(cmp) {
+ var pageSize = cmp.get('v.pageSize');
+ var pageNumber = cmp.get('v.pageNumber');
+ var data = cmp.get('v.data');
+ var goodsData = cmp.get('v.goodsData');
+ var currentData = cmp.get('v.currentData');
+
+ //鑾峰彇杈撳叆鐨剉alue鍊�
+ var key = document.getElementById('searchInput').value;
+ var tempDataList = [];
+
+ if(key){
+ for(var i = 0; i<goodsData.length; i++){
+ //鑾峰彇鎵�鏈塶ame涓虹鍙风殑input 鎵归噺鏇存柊
+ if(goodsData[i].CaseNumber__c == key){
+ tempDataList.push(data[i]);
+ }
+
+ }
+ //璁剧疆鍒嗛〉
+ var tempData = this.getTempData(tempDataList,pageNumber + 1,pageSize );
+ cmp.set('v.pageNumber', pageNumber+1 );
+ console.log('currentData1:'+currentData);
+ cmp.set('v.currentData',tempData);
+ cmp.set('v.goodsData',goodsData);
+ cmp.set('v.data',data);
+ cmp.set("v.isLastPage", this.isLastPage(tempDataList,tempData));
+ cmp.set("v.searchSize",tempDataList.length);
+
+
+ }else{
+ //鏄剧ず鍏ㄩ儴绠�
+ var tempData = this.getTempData(goodsData,pageNumber + 1,pageSize );
+ cmp.set('v.pageNumber', pageNumber+1 );
+ console.log('currentData1:'+currentData);
+ cmp.set('v.currentData',tempData);
+ cmp.set('v.goodsData',goodsData);
+ cmp.set('v.data',data);
+ cmp.set("v.isLastPage", this.isLastPage(goodsData,tempData));
+ cmp.set('v.searchSize', null);
+
+ }
+
+ // var tempData = this.getTempData(goodsData,pageNumber + 1,pageSize );
+ // cmp.set('v.pageNumber', pageNumber+1 );
+ // cmp.set('v.currentData',tempData);
+ // cmp.set('v.data',data);
+ // cmp.set('v.goodsData',goodsData);
+ // cmp.set("v.isLastPage", this.isLastPage(goodsData,tempData));
+
+ },
+ // 鏄庣粏椤� table 涓婁竴椤靛姛鑳藉疄鐜�
+ handlePrev : function(cmp) {
+ var pageSize = cmp.get('v.pageSize');
+ var pageNumber = cmp.get('v.pageNumber');
+ var data = cmp.get('v.data');
+ var goodsData = cmp.get('v.goodsData');
+ var currentData = cmp.get('v.currentData');
+
+ //鑾峰彇杈撳叆鐨剉alue鍊�
+ var key = document.getElementById('searchInput').value;
+ var tempDataList = [];
+
+ if(key){
+ for(var i = 0; i<goodsData.length; i++){
+ //鑾峰彇鎵�鏈塶ame涓虹鍙风殑input 鎵归噺鏇存柊
+ if(goodsData[i].CaseNumber__c == key){
+ tempDataList.push(data[i]);
+ }
+
+ }
+ //璁剧疆鍒嗛〉
+ var tempData = this.getTempData(tempDataList,pageNumber - 1,pageSize );
+ console.log('currentData2:'+currentData);
+ cmp.set('v.pageNumber', pageNumber - 1 );
+ cmp.set('v.currentData',tempData);
+ cmp.set('v.goodsData', goodsData);
+ cmp.set('v.data',data);
+ cmp.set("v.isLastPage", this.isLastPage(tempDataList,tempData));
+ cmp.set("v.searchSize",tempDataList.length);
+
+
+ }else{
+ //鏄剧ず鍏ㄩ儴绠�
+ var tempData = this.getTempData(goodsData,pageNumber - 1,pageSize );
+ console.log('currentData2:'+currentData);
+ cmp.set('v.pageNumber', pageNumber - 1 );
+ cmp.set('v.currentData',tempData);
+ cmp.set('v.goodsData', goodsData);
+ cmp.set('v.data',data);
+ cmp.set("v.isLastPage", this.isLastPage(goodsData,tempData));
+ cmp.set('v.searchSize', null);
+
+ }
+
+
+ // var tempData = this.getTempData(goodsData,pageNumber - 1,pageSize );
+ // cmp.set('v.pageNumber', pageNumber - 1 );
+ // cmp.set('v.currentData',tempData);
+ // cmp.set('v.data',data);
+ // cmp.set('v.goodsData', goodsData);
+ // cmp.set("v.isLastPage", this.isLastPage(goodsData,tempData));
+ },
+ // 璁$畻骞惰繑鍥炲綋鍓嶉〉鐮佺殑鏁版嵁
+ getTempData: function(data, pageNumber,pageSize){
+ var tempData = data.slice((pageNumber-1) * pageSize,pageNumber * pageSize );
+ return tempData;
+ },
+ // 鍒ゆ柇褰撳墠椤垫槸鍚︽槸鏈�鍚庝竴椤�
+ isLastPage : function(data,tempData){
+ if(tempData.length == 0 ||
+ tempData[tempData.length-1].Id == data[data.length-1].Id ){
+ return true;
+ } else{
+ return false;
+ }
+ },
+ // 淇濆瓨鏇存敼鍐呭鍒板綋鍓嶆槑缁嗗唴瀹�
+ saveEdition: function (cmp, draftValues) {
+ if(!!draftValues && draftValues.length > 0){
+ var currentData = cmp.get('v.currentData');
+ for(var i = 0; i<currentData.length; i++){
+ for(var j = 0; j<draftValues.length; j++){
+ if(currentData[i].Id == draftValues[j].Id){
+ currentData[i].agencyConfirmResult__c = draftValues[j].agencyConfirmResult__c;
+ break;
+ }
+ }
+ }
+ cmp.set('v.currentData',currentData);
+ }
+ cmp.set('v.draftValues', []);
+ },
+ // 鏄庣粏椤电偣鍑讳笅涓�姝ヤ繚瀛樺綍鍏ヨ〃鏁版嵁鍒版暟鎹簱锛�
+ // 濡傛灉淇濆瓨鎴愬姛锛岃烦杞枃浠朵笂浼犻〉
+ // 濡傛灉淇濆瓨澶辫触锛屽脊鍑洪敊璇痶oast锛屼繚瀛樺湪褰撻〉
+ saveeSign : function (cmp){
+ var action = cmp.get("c.saveeSignFormEntry");
+ var data = cmp.get('v.data');
+ var eSignForm = cmp.get('v.eSignForm');
+ var IsSubmit = cmp.get('v.IsSubmit');
+ var agencyScanDayBack = cmp.get('v.agencyScanDayBack');
+ var agencySignUpDateBack = cmp.get('v.agencySignUpDateBack');
+
+ // var HPScanDay =cmp.get('v.HPScanDay');
+ // var HPSignUpDate =cmp.get('v.HPSignUpDate');
+ var salesHPManageFBDate =cmp.get('v.salesHPManageFBDate');
+ var salesHPManageConfirmDate =cmp.get('v.salesHPManageConfirmDate');
+ var HPConfirmDate =cmp.get('v.HPConfirmDate');
+ var AgencyWorkflowEmailBack = cmp.get('v.AgencyWorkflowEmailBack');
+
+ action.setParams({
+ 'eSignFormLineItems' : data,
+ 'eSignForm' : eSignForm,
+ 'entryType' : '缁忛攢鍟嗙‘璁�',
+ 'IsSubmit' : IsSubmit,
+ 'agencyScanDayBack':agencyScanDayBack,
+ 'agencySignUpDateBack':agencySignUpDateBack,
+ // 'HPScanDay':HPScanDay,
+ // 'HPSignUpDate':HPSignUpDate,
+ 'salesHPManageFBDate':salesHPManageFBDate,
+ 'salesHPManageConfirmDate':salesHPManageConfirmDate,
+ 'HPConfirmDate':HPConfirmDate,
+ 'AgencyWorkflowEmailBack':AgencyWorkflowEmailBack
+ });
+ this.showSpinner(cmp);
+ action.setCallback(this,function(response) {
+ this.hideSpinner(cmp);
+ var state = response.getState();
+ if (state === "SUCCESS") {
+ var resultData = response.getReturnValue();
+ if( resultData.isSuccess == true ){
+ cmp.set('v.recordId',resultData.result);
+ cmp.set('v.parentId',resultData.result);
+ // var spanList = document.getElementById("uploadFileDiv").getElementsByTagName("span");
+ // if(spanList.size()>0){
+ // spanList[2].innerText = '涓婁紶闄勪欢';
+ // }
+
+ //杩斿洖棣栭〉甯﹀�約tart
+ cmp.set('v.agencyDNSignUpStatus',resultData.agencyDNSignUpStatus);
+ cmp.set('v.HPDNSignUpStatus',resultData.HPDNSignUpStatus);
+ cmp.set('v.agencySubmit',resultData.agencySubmit);
+ cmp.set('v.DNNameSpare',resultData.DNNameSpare);
+ //杩斿洖棣栭〉甯﹀�� end
+ alert('纭瀹屾垚銆�');
+ cmp.set('v.handlingOpinionsPage',false);
+ cmp.set('v.uploadFilePage',true);
+ }
+ else{
+ cmp.set("v.errorMessage", resultData.result);
+ this.showErrorToast(cmp);
+ }
+ }else{
+ cmp.set("v.errorMessage", '淇濆瓨澶辫触锛岃閲嶆柊鍔犺浇锛�');
+ this.showErrorToast(cmp);
+ }
+ });
+ $A.enqueueAction(action);
+
+ },
+ // 棣栭〉璺宠浆鑷虫槑缁嗛〉閫昏緫锛屽厛鍒ゆ柇鏄惁鍕鹃�夊唴瀹�
+ handleHomePageNextClick : function(cmp) {
+ //瀛樹竴涓嬫绱㈡閲岀殑鍊� 涓嶇劧浼氳娓呮帀
+ cmp.set('v.searchCase',cmp.get('v.searchCaseKey'));
+ console.log('searchCaseKey:'+cmp.get('v.searchCaseKey'));
+ var contentCheck = cmp.get('v.check');
+ if(contentCheck){
+ if(confirm('璇峰啀娆$‘璁N鍙�/鏀惰揣鍗曚綅涓庨殢璐у悓琛屽崟涓�鑷淬��')){
+ cmp.set('v.HomePage',false);
+ cmp.set('v.DetailsPage',true);
+ //璁剧疆椤甸潰瀹藉害
+ const width = document.documentElement.clientWidth;
+ const contentDOM1 = document.getElementById('floatDiv');
+ contentDOM1.style.width = width + 'px';
+ //闅愯棌鍒�
+ cmp.set('v.hideCheckboxColumn',true);
+ }
+
+ }else{
+ // if(confirm('璇峰嬀閫変笂杩板唴瀹瑰凡闃呰銆�')){
+
+ // }
+ alert('璇峰嬀閫変笂杩板唴瀹瑰凡闃呰銆�');
+ return;
+ }
+
+ },
+ // 鏄庣粏涔熻烦杞嚦鏂囦欢涓婁紶椤甸�昏緫锛屽厛鎻愮ず鏄惁濉啓瀹屾瘯
+ handleDetailsPageNextClick : function(cmp , event) {
+
+ //瀛樹竴涓嬫绱㈡閲岀殑鍊� 涓嶇劧浼氳娓呮帀
+ var key = document.getElementById('searchInput').value;
+ cmp.set('v.searchCaseKey',key);
+ var AgencyClick = cmp.get('v.AgencyClick');
+
+ // if(confirm('璇风‘璁ゆ槸鍚︿繚瀛樼‘璁ょ粨鏋滐紵')){
+ // this.saveeSign(cmp);
+ cmp.set('v.DetailsPage',false);
+ // cmp.set('v.uploadFilePage',true);
+ cmp.set('v.handlingOpinionsPage',true);
+ // }
+
+
+ },
+ //缁欐彁浜ゆ寜閽竴涓粯璁ょ殑鍊�
+ submitClick : function(cmp,event){
+ //璁剧疆涓�涓猣lag鐢ㄤ簬閬垮厤鎻愪氦涓ゆ
+ // cmp.set('v.AgencyClick', true);
+ // alert('璇风偣鍑绘彁浜ゆ寜閽彁浜�');
+ this.saveeSign(cmp);
+
+ // cmp.set('v.handlingOpinionsPage',true);
+
+
+ },
+ //寮瑰嚭 鎴愬姛鎻愮ずtoast 鏂规硶
+ showSuccessToast : function(cmp) {
+ $A.util.removeClass(cmp.find('successDiv'), 'slds-hide');
+ window.setTimeout($A.getCallback(function() {
+ $A.util.addClass(cmp.find('successDiv'), 'slds-hide');
+ }),
+ 5000
+ );
+ },
+ //寮瑰嚭 閿欒鎻愮ずtoast 鏂规硶
+ showErrorToast : function(cmp) {
+ const width = document.documentElement.clientWidth;
+ const contentDOM1 = document.getElementById('errorSonDiv1');
+ contentDOM1.style.width = width*0.6 + 'px';
+ const contentDOM2 = document.getElementById('errorSonDiv2');
+ contentDOM2.style.width = width*0.38 + 'px';
+ contentDOM2.style.height = '4rem';
+ const contentDOM3 =document.getElementById('errorSonDiv3');
+ contentDOM3.style.width = width-150 + 'px';
+ $A.util.removeClass(cmp.find('errorDiv'), 'slds-hide');
+ window.setTimeout($A.getCallback(function() {
+ $A.util.addClass(cmp.find('errorDiv'), 'slds-hide');
+ }),
+ 5000
+ );
+ },
+ // 灞曠ず 绛夊緟妗�
+ showSpinner: function(cmp) {
+ // remove slds-hide class from mySpinner
+ var spinner = cmp.find("mySpinner");
+ $A.util.removeClass(spinner, "slds-hide");
+ },
+ // 闅愯棌 绛夊緟妗�
+ hideSpinner : function(cmp){
+ // add slds-hide class from mySpinner
+ var spinner = cmp.find("mySpinner");
+ $A.util.addClass(spinner, "slds-hide");
+ },
+ //杩斿洖鏄庣粏椤�
+ handleShowFielePageNextClick : function(cmp) {
+
+
+ cmp.set('v.handlingOpinionsPage',true);
+ cmp.set('v.uploadFilePage',false);
+ //闅愯棌鍒�
+ // cmp.set('v.hideCheckboxColumn',true);
+ },
+ //杩斿洖棣栭〉
+ handleShowPageNextClick : function(cmp) {
+ //瀛樹竴涓嬫绱㈡閲岀殑鍊� 涓嶇劧浼氳娓呮帀
+ var key = document.getElementById('searchInput').value;
+ cmp.set('v.searchCaseKey',key);
+ cmp.set('v.HomePage',true);
+ cmp.set('v.DetailsPage',false);
+ },
+ //杩斿洖鏄庣粏椤�
+ OpinionsTODetailsPage : function(cmp, event, helper){
+ //瀛樹竴涓嬫绱㈡閲岀殑鍊� 涓嶇劧浼氳娓呮帀
+ cmp.set('v.searchCase',cmp.get('v.searchCaseKey'));
+ console.log('searchCaseKey:'+cmp.get('v.searchCaseKey'));
+ cmp.set('v.handlingOpinionsPage',false);
+ cmp.set('v.DetailsPage',true);
+ },
+ //璺宠浆闄勪欢椤�
+ nextToFile : function(cmp, event, helper){
+ cmp.set('v.handlingOpinionsPage',false);
+ cmp.set('v.uploadFilePage',true);
+ },
+ GoodsChanged:function(cmp){
+ var currentData = cmp.get('v.currentData');
+ for(var i = 0; i<currentData.length; i++){
+ //鑾峰彇id
+ var id = currentData[i].Id;
+ //鑾峰彇椤甸潰涓婄殑璐х墿鎯呭喌
+ var goodStatus = document.getElementById(id).value;
+ currentData[i].agencyConfirmResult__c =goodStatus;
+ //璁剧疆鎵撳嬀鏍峰紡
+ var idx = id+i;
+ // document.getElementById(idx).style.display = '';
+ // document.getElementById(id).style.border = 'hidden';
+
+ }
+ cmp.set('v.currentData',currentData);
+ },//椤甸潰涓婃绱㈠姛鑳�
+ searchByCaseNumber :function(cmp,event){
+ //鑾峰彇杈撳叆鐨剉alue鍊�
+ var key = document.getElementById('searchInput').value;
+ var data = cmp.get("v.goodsData");
+ //瀹氫箟涓�涓┖鏁扮粍 鐢ㄤ簬瀛樻斁鎸夌鍒嗙被鍚庣殑data
+ var tempDataList = [];
+
+ var pageSize = cmp.get('v.pageSize');
+ //鍒ゆ柇鎼滅储妗嗗唴鏄惁鏈夊��
+ if(key){
+ cmp.set('v.searchFlag',true);
+ for(var i = 0; i<data.length; i++){
+ //鑾峰彇鎵�鏈塶ame涓虹鍙风殑input 鎵归噺鏇存柊
+ if(data[i].CaseNumber__c == key){
+ tempDataList.push(data[i]);
+ }
+
+ }
+ //璁剧疆鍒嗛〉
+ var tempData = this.getTempData(tempDataList, 1,pageSize);
+ cmp.set("v.isLastPage", this.isLastPage(tempDataList,tempData));
+ cmp.set("v.dataSize", tempData.length);
+ cmp.set("v.currentData", tempData);
+ cmp.set('v.pageNumber', 1);
+ cmp.set("v.searchSize",tempDataList.length);
+
+ }else{
+ cmp.set('v.searchFlag',false);
+ //鏄剧ず鍏ㄩ儴绠�
+ var data = cmp.get('v.data');
+ var tempData = this.getTempData(data, 1,pageSize);
+ cmp.set("v.isLastPage", this.isLastPage(data,tempData));
+ cmp.set("v.dataSize", tempData.length);
+ cmp.set("v.currentData", tempData);
+ cmp.set('v.pageNumber', 1);
+ cmp.set('v.searchSize', null);
+
+ }
+
+
+ },
+ MAX_FILE_SIZE: 4608000, //Max file size 4.5 MB
+ CHUNK_SIZE: 750000, //Chunk Max size 750Kb
+ uploadHelper: function(component, event) {
+ // start/show the loading spinner
+ component.set("v.showLoadingSpinner", true);
+ // get the selected files using aura:id [return array of files]
+ var fileInput = component.find("fileId").get("v.files");
+ // get the first file using array index[0]
+ var file = fileInput[0];
+ //var test = this.compress(file);
+ var self = this;
+ var pdf =file.type;
+ //澧炲姞鍙互涓婁紶鐨勫浘鐗囩被鍨� 绮剧悽鎶�鏈� thh 2021-09-13
+ if(pdf =='image/jpeg' || pdf =='image/png'){
+ // create a FileReader object
+ var objFileReader = new FileReader();
+ // set onload function of FileReader object
+ objFileReader.onload = $A.getCallback(function() {
+ var image = new Image();
+ image.src = objFileReader.result;
+ var fileContents = objFileReader.result;
+ image.onload = function() {
+ var maxSize;
+ var imgWidth ;
+ var imgHeight ;
+ //鍥剧墖灏忎簬300k鍒欎笉鍘嬬缉
+ if(file.size >0 && file.size <307200){
+ imgWidth = this.width;
+ imgHeight = this.height;
+ }else{
+ if(Math.sqrt(this.width*this.height)/Math.sqrt(2) >1200){
+ maxSize = 1200;
+ } else {
+ maxSize =Math.sqrt(this.width*this.height)/Math.sqrt(2);
+ }
+ var imgScale = self.imgScaleW(maxSize,this.width,this.height);
+ imgWidth = imgScale.width,
+ imgHeight = imgScale.height;
+ }
+
+ var canvas = document.createElement("canvas");
+ var ctx = canvas.getContext("2d");
+
+ canvas.width = imgWidth;
+ canvas.height = imgHeight;
+
+ ctx.drawImage(this, 0, 0, imgWidth, imgHeight);
+ //澧炲姞鍙互涓婁紶鐨勫浘鐗囩被鍨� 绮剧悽鎶�鏈� thh 2021-09-13 start
+ if(pdf =='image/jpeg' ){
+ fileContents = canvas.toDataURL("image/jpeg", 0.9);
+ }else if(pdf =='image/png'){
+ fileContents = canvas.toDataURL("image/png", 0.9);
+ }
+ //澧炲姞鍙互涓婁紶鐨勫浘鐗囩被鍨� 绮剧悽鎶�鏈� thh 2021-09-13 end
+ var base64 = "base64,";
+ var dataStart = fileContents.indexOf(base64) + base64.length;
+
+ fileContents = fileContents.substring(dataStart);
+ // call the uploadProcess method
+ self.uploadProcess(component, file, fileContents);
+ };
+ });
+ }else{
+ //event
+ var objFileReader = new FileReader();
+ // set onload function of FileReader object
+ objFileReader.onload = $A.getCallback(function() {
+
+ var fileContents = objFileReader.result;
+ var base64 = "base64,";
+ var dataStart = fileContents.indexOf(base64) + base64.length;
+
+ if (fileContents.length > 4608000) {
+ component.set("v.showLoadingSpinner", false);
+ alert("鎻愰啋锛屾枃浠跺帇缂╁ぇ灏忎笉鑳借秴杩�4.5M,璇烽噸鏂颁笂浼犮��");
+ return;
+ } else{
+ fileContents = fileContents.substring(dataStart);
+ // call the uploadProcess method
+ self.uploadProcess(component, file, fileContents);
+ }
+ });
+ }
+ objFileReader.readAsDataURL(file);
+ },
+
+ uploadProcess: function(component, file, fileContents) {
+ // set a default size or startpostiton as 0
+ var startPosition = 0;
+ // calculate the end size or endPostion using Math.min() function which is return the min. value
+ var endPosition = Math.min(
+ fileContents.length,
+ startPosition + this.CHUNK_SIZE
+ );
+ // start with the initial chunk, and set the attachId(last parameter)is null in begin
+ this.uploadInChunk(
+ component,
+ file,
+ fileContents,
+ startPosition,
+ endPosition,
+ ""
+ );
+ },
+
+ uploadInChunk: function(
+ component,
+ file,
+ fileContents,
+ startPosition,
+ endPosition,
+ attachId
+ ) {
+ // call the apex method 'saveChunk'
+ var getchunk = fileContents.substring(startPosition, endPosition);
+ //澧炲姞鏂囦欢鍒楄〃鍒犻櫎鍔熻兘聽聽绮剧悽鎶�鏈爐hh聽2021-08-31聽start
+ //鎶婂帇缂╁畬鐨剆rc鍜屾枃浠跺悕瀛樺叆map
+ var filesrc = component.get("v.FileSrc");
+ var emptyflag = true;
+ for(var key in filesrc) {
+ var emptyflag = false;
+ }
+ if(emptyflag){
+ filesrc[file.name] = getchunk;
+ } else {
+ for(var key in filesrc){
+ if(key == file.name){
+ filesrc[file.name] = filesrc[file.name] + getchunk;
+ }else {
+ filesrc[file.name] = getchunk;
+ console.log('filesrc锛�'+filesrc);
+ }
+ }
+ }
+ component.set('v.FileSrc', filesrc);
+ //澧炲姞鏂囦欢鍒楄〃鍒犻櫎鍔熻兘聽聽绮剧悽鎶�鏈爐hh聽2021-09-01 end
+ var baseFile = component.get("v.baseFile");
+ var base64List = component.get("v.base64List");
+ //鐢ㄤ簬鍒ゆ柇涓婁紶鍚屼竴涓枃浠舵彁绀�
+ var messageFlag = component.get("v.messageFlag");
+ //鍒ゆ柇鏄惁鍑虹幇杩囩綉缁滀笉濂斤紝涓婁紶澶辫触鐨勬儏鍐�
+ var errorFlag = component.get("v.errorFlag");
+ if(!base64List){
+ if(baseFile != getchunk){
+ //鐢ㄤ簬鍒ゆ柇涓婁紶鍚屼竴涓枃浠舵彁绀�
+ component.set("v.messageFlag",false);
+ messageFlag = component.get("v.messageFlag");
+ var action = component.get("c.saveChunk");
+ action.setParams({
+ parentId: component.get("v.parentId"),
+ fileName: file.name,
+ base64Data: encodeURIComponent(getchunk),
+ contentType: file.type,
+ fileId: attachId
+ });
+ // set call back
+ action.setCallback(this, function(response) {
+ // store the response / Attachment Id
+ attachId = response.getReturnValue();
+ //澧炲姞鏂囦欢鍒楄〃鍒犻櫎鍔熻兘聽聽绮剧悽鎶�鏈爐hh聽2021-09-02聽start
+ //鍏宠仈闄勪欢ID鍜岄檮浠跺悕
+ var attachmentID = component.get("v.attachmentID");
+ attachmentID[file.name] = attachId;
+ component.set("v.attachmentID", attachmentID);
+ //澧炲姞鏂囦欢鍒楄〃鍒犻櫎鍔熻兘聽聽绮剧悽鎶�鏈爐hh聽2021-09-02聽end
+ var state = response.getState();
+ if (state === "SUCCESS") {
+ // update the start position with end postion
+ startPosition = endPosition;
+ endPosition = Math.min(
+ fileContents.length,
+ startPosition + this.CHUNK_SIZE
+ );
+ // check if the start postion is still less then end postion
+ // then call again 'uploadInChunk' method ,
+ // else, diaply alert msg and hide the loading spinner
+ if (startPosition < endPosition) {
+ this.uploadInChunk(
+ component,
+ file,
+ fileContents,
+ startPosition,
+ endPosition,
+ attachId
+ );
+ } else {
+ //鍒ゆ柇涓婁紶鏂囦欢鍐呭 鎻愮ず涓�娆′俊鎭�
+ var base = component.get("v.getchunk");
+ if(!base || (base&&base!=getchunk)){
+ // alert("鎮ㄥ凡缁忔垚鍔熶笂浼犳枃浠躲��");
+ component.set("v.getchunk", getchunk);
+ }
+
+ alert("鎮ㄥ凡缁忔垚鍔熶笂浼犳枃浠躲�俓n璇风偣鍑绘彁浜ゅ悗閫�鍑恒��");
+ //鐢ㄤ簬鎻愪氦鎸夐挳鍒ゆ柇鏄惁鏈夊凡涓婁紶鐨勬枃浠�
+ component.set('v.IsUpLoad',true);
+ //鐢ㄤ簬鍒ゆ柇涓婁紶鍚屼竴涓枃浠舵彁绀�
+ component.set("v.messageFlag",true);
+ messageFlag =component.get("v.messageFlag");
+ component.set("v.showLoadingSpinner", false);
+ //鏍囪瘑棰勮鍥剧墖鍚嶅瓧 绮剧悽鎶�鏈� thh 2021-09-15 start
+ var isUploadName = component.get("v.isUploadName");
+ var fileName = component.find("fileId").get("v.files")[0]['name'];
+ if(isUploadName[fileName]) {
+ var str = '<span>褰撳墠鏂囦欢锛�</span><span id="nowfile" class="field-title" style="color:Green;" title="' + fileName + '">' + fileName + '</span>';
+ document.getElementById("uploadicon").style.display = 'inline-block';
+ } else{
+ var str = '<span>褰撳墠鏂囦欢锛�</span><span id="nowfile" class="field-title" style="color:Gray;" title="' + fileName + '">' + fileName + '</span>';
+ document.getElementById("uploadicon").style.display = 'none';
+ }
+ var obj = document.getElementById('filenow');
+ obj.innerHTML = str;
+ //鏍囪瘑棰勮鍥剧墖鍚嶅瓧 绮剧悽鎶�鏈� thh 2021-09-15 end
+ //涓婁紶鎴愬姛鍚庢枃浠跺垪琛ㄧ殑鏂囦欢鍚嶅彉鑹� 绮剧悽鎶�鏈� thh 2021-09-26 start
+ var count = component.get("v.fileUpLoadSize");
+ var fileName = component.get("v.flUpLoadName");
+ if (count > 0) {
+ //鍒楀嚭鏂囦欢鍚�01 鎵�鏈夋枃浠跺悕閮界敤閫楀彿闅斿紑 鏍规嵁閫楀彿鎷嗗垎锛屽瓨鏀炬暟缁�
+ var nameList = fileName.split(',');
+ for (var i = 0; i < nameList.length; i++) {
+ for (var j = i + 1; j < nameList.length; j++) {
+ if (nameList[i] == nameList[j]) { //绗竴涓瓑鍚屼簬绗簩涓紝splice鏂规硶鍒犻櫎绗簩涓�
+ nameList.splice(j, 1);
+ j--;
+ }
+ }
+ }
+ //瀛樻斁鍒板彉閲忎腑 鐢ㄤ簬涓婁竴椤典笅涓�椤佃繛鐐�
+ component.set('v.nameUpLoadList', nameList);
+ //閲嶆柊瀹氫箟閫変腑鏂囦欢鐨勬暟閲�
+ component.set('v.fileSize', nameList.length);
+ console.log("nameList:" + component.get('v.nameUpLoadList'));
+ var isUploadName = component.get("v.isUploadName");
+ if (nameList.length > 0) {
+ var strList = '';
+ for (var i = 0; i < nameList.length; i++) {
+ var num = Number(i) + 1;
+ var id = 'file0' + num;
+ //鏍囪瘑鏂囦欢鏄惁宸茬粡涓婁紶 绮剧悽鎶�鏈� thh 2021-09-26 start
+ if(isUploadName[nameList[i]]) {
+ var str = '<button id="' + id + '" class="slds-button" title="Field 3" style="text-align:left;width:250px;font-weight:bold;font-size: 15px;color:Green;" name="' + nameList[i] + '">' + nameList[i] + '</button><br>';
+ } else{
+ var str = '<button id="' + id + '" class="slds-button" title="Field 3" style="text-align:left;width:250px;font-weight:bold;font-size: 15px;color:Gray;" name="' + nameList[i] + '">' + nameList[i] + '</button><br>';
+ }
+ //鏍囪瘑鏂囦欢鏄惁宸茬粡涓婁紶 绮剧悽鎶�鏈� thh 2021-09-26 end
+ //鎷兼帴p鏍囩 鍒楀嚭鏂囦欢鍚峣d涓嶅悓
+ strList += str;
+ }
+ var obj = document.getElementById('file00');
+ obj.innerHTML = strList;
+ }
+ }
+ //涓婁紶鎴愬姛鍚庢枃浠跺垪琛ㄧ殑鏂囦欢鍚嶅彉鑹� 绮剧悽鎶�鏈� thh 2021-09-26 end
+ }
+ // handel the response errors
+ } else if (state === "INCOMPLETE") {
+ alert("From server: " + response.getReturnValue());
+ component.set("v.showLoadingSpinner", false);
+ component.set("v.errorFlag", true);
+
+ } else if (state === "ERROR") {
+ var errors = response.getError();
+ component.set("v.showLoadingSpinner", false);
+ component.set("v.errorFlag", true);
+ if (errors) {
+ if (errors[0] && errors[0].message) {
+ console.log("Error message: " + errors[0].message);
+ }
+ } else {
+ console.log("Unknown error");
+ }
+ }
+ });
+ // enqueue the action
+ $A.enqueueAction(action);
+
+ }
+
+ }
+ else if(!base64List.includes(getchunk) || (base64List.includes(getchunk)&&errorFlag)){
+ //缃戠粶娉㈠姩杩涙潵浠ュ悗 缃垚false
+ component.set("v.errorFlag", false);
+ //鐢ㄤ簬鍒ゆ柇涓婁紶鍚屼竴涓枃浠舵彁绀�
+ component.set("v.messageFlag",false);
+ messageFlag = component.get("v.messageFlag");
+ var action = component.get("c.saveChunk");
+ action.setParams({
+ parentId: component.get("v.parentId"),
+ fileName: file.name,
+ base64Data: encodeURIComponent(getchunk),
+ contentType: file.type,
+ fileId: attachId
+ });
+
+ // set call back
+ action.setCallback(this, function(response) {
+ // store the response / Attachment Id
+ attachId = response.getReturnValue();
+ //澧炲姞鏂囦欢鍒楄〃鍒犻櫎鍔熻兘聽聽绮剧悽鎶�鏈爐hh聽2021-09-02聽start
+ //鍏宠仈闄勪欢ID鍜岄檮浠跺悕
+ var attachmentID = component.get("v.attachmentID");
+ attachmentID[file.name] = attachId;
+ component.set("v.attachmentID", attachmentID);
+ //澧炲姞鏂囦欢鍒楄〃鍒犻櫎鍔熻兘聽聽绮剧悽鎶�鏈爐hh聽2021-09-02聽end
+ var state = response.getState();
+ if (state === "SUCCESS") {
+ // update the start position with end postion
+ startPosition = endPosition;
+ endPosition = Math.min(
+ fileContents.length,
+ startPosition + this.CHUNK_SIZE
+ );
+ // check if the start postion is still less then end postion
+ // then call again 'uploadInChunk' method ,
+ // else, diaply alert msg and hide the loading spinner
+ if (startPosition < endPosition) {
+ this.uploadInChunk(
+ component,
+ file,
+ fileContents,
+ startPosition,
+ endPosition,
+ attachId
+ );
+ } else {
+ //鍒ゆ柇涓婁紶鏂囦欢鍐呭 鎻愮ず涓�娆′俊鎭�
+ var base = component.get("v.getchunk");
+ if(!base || (base&&base!=getchunk)){
+ // alert("鎮ㄥ凡缁忔垚鍔熶笂浼犳枃浠躲��");
+ component.set("v.getchunk",getchunk );
+ }
+ alert("鎮ㄥ凡缁忔垚鍔熶笂浼犳枃浠躲�俓n璇风偣鍑绘彁浜ゅ悗閫�鍑恒��");
+ //鐢ㄤ簬鎻愪氦鎸夐挳鍒ゆ柇鏄惁鏈夊凡涓婁紶鐨勬枃浠�
+ component.set('v.IsUpLoad',true);
+ //鐢ㄤ簬鍒ゆ柇涓婁紶鍚屼竴涓枃浠舵彁绀�
+ component.set("v.messageFlag",true);
+ messageFlag =component.get("v.messageFlag");
+ component.set("v.showLoadingSpinner", false);
+ //鏍囪瘑棰勮鍥剧墖鍚嶅瓧 绮剧悽鎶�鏈� thh 2021-09-15 start
+ var isUploadName = component.get("v.isUploadName");
+ var fileName = component.find("fileId").get("v.files")[0]['name'];
+ if(isUploadName[fileName]) {
+ var str = '<span>褰撳墠鏂囦欢锛�</span><span id="nowfile" class="field-title" style="color:Green;" title="' + fileName + '">' + fileName + '</span>';
+ document.getElementById("uploadicon").style.display = 'inline-block';
+ } else{
+ var str = '<span>褰撳墠鏂囦欢锛�</span><span id="nowfile" class="field-title" style="color:Gray;" title="' + fileName + '">' + fileName + '</span>';
+ document.getElementById("uploadicon").style.display = 'none';
+ }
+ var obj = document.getElementById('filenow');
+ obj.innerHTML = str;
+ //鏍囪瘑棰勮鍥剧墖鍚嶅瓧 绮剧悽鎶�鏈� thh 2021-09-15 end
+ //涓婁紶鎴愬姛鍚庢枃浠跺垪琛ㄧ殑鏂囦欢鍚嶅彉鑹� 绮剧悽鎶�鏈� thh 2021-09-26 start
+ var count = component.get("v.fileUpLoadSize");
+ var fileName = component.get("v.flUpLoadName");
+ if (count > 0) {
+ //鍒楀嚭鏂囦欢鍚�01 鎵�鏈夋枃浠跺悕閮界敤閫楀彿闅斿紑 鏍规嵁閫楀彿鎷嗗垎锛屽瓨鏀炬暟缁�
+ var nameList = fileName.split(',');
+ for (var i = 0; i < nameList.length; i++) {
+ for (var j = i + 1; j < nameList.length; j++) {
+ if (nameList[i] == nameList[j]) { //绗竴涓瓑鍚屼簬绗簩涓紝splice鏂规硶鍒犻櫎绗簩涓�
+ nameList.splice(j, 1);
+ j--;
+ }
+ }
+ }
+ //瀛樻斁鍒板彉閲忎腑 鐢ㄤ簬涓婁竴椤典笅涓�椤佃繛鐐�
+ component.set('v.nameUpLoadList', nameList);
+ //閲嶆柊瀹氫箟閫変腑鏂囦欢鐨勬暟閲�
+ component.set('v.fileSize', nameList.length);
+ console.log("nameList:" + component.get('v.nameUpLoadList'));
+ var isUploadName = component.get("v.isUploadName");
+ if (nameList.length > 0) {
+ var strList = '';
+ for (var i = 0; i < nameList.length; i++) {
+ var num = Number(i) + 1;
+ var id = 'file0' + num;
+ //鏍囪瘑鏂囦欢鏄惁宸茬粡涓婁紶 绮剧悽鎶�鏈� thh 2021-09-26 start
+ if(isUploadName[nameList[i]]) {
+ var str = '<button id="' + id + '" class="slds-button" title="Field 3" style="text-align:left;width:250px;font-weight:bold;font-size: 15px;color:Green;" name="' + nameList[i] + '">' + nameList[i] + '</button><br>';
+ } else{
+ var str = '<button id="' + id + '" class="slds-button" title="Field 3" style="text-align:left;width:250px;font-weight:bold;font-size: 15px;color:Gray;" name="' + nameList[i] + '">' + nameList[i] + '</button><br>';
+ }
+ //鏍囪瘑鏂囦欢鏄惁宸茬粡涓婁紶 绮剧悽鎶�鏈� thh 2021-09-26 end
+ //鎷兼帴p鏍囩 鍒楀嚭鏂囦欢鍚峣d涓嶅悓
+ strList += str;
+ }
+ var obj = document.getElementById('file00');
+ obj.innerHTML = strList;
+ }
+ }
+ //涓婁紶鎴愬姛鍚庢枃浠跺垪琛ㄧ殑鏂囦欢鍚嶅彉鑹� 绮剧悽鎶�鏈� thh 2021-09-26 end
+ }
+ // handel the response errors
+ } else if (state === "INCOMPLETE") {
+ alert("From server: " + response.getReturnValue());
+ component.set("v.showLoadingSpinner", false);
+ component.set("v.errorFlag", true);
+ } else if (state === "ERROR") {
+ var errors = response.getError();
+ component.set("v.showLoadingSpinner", false);
+ component.set("v.errorFlag", true);
+ if (errors) {
+ if (errors[0] && errors[0].message) {
+ console.log("Error message: " + errors[0].message);
+ }
+ } else {
+ console.log("Unknown error");
+ }
+ }
+ });
+ // enqueue the action
+ $A.enqueueAction(action);
+ }else{
+ if(messageFlag){
+ alert("鎮ㄥ凡缁忎笂浼犺繃璇ユ枃浠朵簡锛�")
+ component.set("v.showLoadingSpinner", false);
+ }
+
+ }
+ //瀛樻斁涓婁紶杩囩殑鏂囦欢base64 鏁扮粍
+ var baseFile = component.get("v.baseFile");
+ var base64List = component.get("v.base64List");
+ if(baseFile){
+ component.set('v.baseFile',baseFile+','+getchunk);
+ // nameList.pust(name);
+ }else{
+ component.set('v.baseFile',getchunk);
+ }
+ baseFile = component.get("v.baseFile");
+ var base64List =baseFile.split(',');
+ component.set("v.base64List",base64List);
+ // component.set("v.showLoadingSpinner", false);
+ // baseFile = getchunk;
+
+ },
+ /**
+ * 鍥剧墖鍘嬬缉
+ * @param maxWidth 鏈�澶у搴︽垨鏈�澶ч珮搴�
+ * @param width 瀹藉害
+ * @param height 楂樺害
+ * @returns {___anonymous1968_1969}
+ */
+imgScaleW:function(maxWidth,width,height){
+ var imgScale = {};
+ var w = 0;
+ var h = 0;
+ if(width <= maxWidth && height <= maxWidth){ // 濡傛灉鍥剧墖瀹介珮閮藉皬浜庨檺鍒剁殑鏈�澶у��,涓嶇敤缂╂斁
+ imgScale = {
+ width:width,
+ height:height
+ };
+ }else{
+ if(width >= height){ // 濡傛灉鍥剧墖瀹藉ぇ浜庨珮
+ w = maxWidth;
+ h = Math.ceil(maxWidth * height / width);
+ }else{ // 濡傛灉鍥剧墖楂樺ぇ浜庡
+ h = maxWidth;
+ w = Math.ceil(maxWidth * width / height);
+ }
+ imgScale = {
+ width:w,
+ height:h
+ };
+ }
+ return imgScale;
+},
+DrawImage1:function(maxWidth,width,height){
+ var imgScale = {};
+ var w = 0;
+ var h = 0;
+ if (width > 0 && height > 0) {
+ if (width / height >= 1) {
+ if (width > maxWidth) {
+
+ imgScale = {
+ width:maxWidth,
+ height:(height * maxWidth) / width
+ };
+ } else {
+ imgScale = {
+ width:width,
+ height:height
+ };
+ }
+ } else {
+ if (height > maxWidth) {
+ imgScale = {
+ width:maxWidth,
+ height:(width * maxWidth) / height
+ };
+ } else {
+ imgScale = {
+ width:width,
+ height:height
+ };
+ }
+ }
+ }
+
+ return imgScale;
+},
+
+
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/eSignAgencyConfirmReadOnlyPage/eSignAgencyConfirmReadOnlyPage.cmp b/force-app/main/default/aura/eSignAgencyConfirmReadOnlyPage/eSignAgencyConfirmReadOnlyPage.cmp
new file mode 100644
index 0000000..188d4d5
--- /dev/null
+++ b/force-app/main/default/aura/eSignAgencyConfirmReadOnlyPage/eSignAgencyConfirmReadOnlyPage.cmp
@@ -0,0 +1,658 @@
+<aura:component implements="force:appHostable,flexipage:availableForAllPageTypes"
+ access="global" controller="eSignAgencyConfirmPageController">
+ <aura:attribute name="DNName" type="String"
+ description="鐢ㄦ潵浠庣埗瀵硅薄鎺ユ敹浼犻�掕繃鏉ョ殑DN鍙�"
+ default=""/>
+ <aura:attribute name="allWidth" type="String"
+ description="鐢ㄦ潵浠庣埗瀵硅薄鎺ユ敹浼犻�掕繃鏉ョ殑灞忓箷瀹藉害"
+ default=""/>
+ <aura:attribute name="floatWidth" type="String"
+ description="鐢ㄦ潵浠庣埗瀵硅薄鎺ユ敹浼犻�掕繃鏉ョ殑灞忓箷瀹藉害"
+ default=""/>
+ <aura:attribute name="QRWidth" type="String"
+ description="鐢ㄦ潵浠庣埗瀵硅薄鎺ユ敹浼犻�掕繃鏉ョ殑灞忓箷瀹藉害"
+ default=""/>
+ <aura:attribute name="QRHeight" type="String"
+ description="鐢ㄦ潵浠庣埗瀵硅薄鎺ユ敹浼犻�掕繃鏉ョ殑灞忓箷瀹藉害"
+ default=""/>
+ <!-- 鍒ゆ柇缁忛攢鍟嗗彲浠ユ煡鐪嬭繕鏄紪杈� -->
+ <aura:attribute name="IsAgencyOrHPShow" type="Boolean" default=""/>
+ <aura:attribute name="entryType" type="String" default=""/>
+
+ <aura:attribute name="hideButton" type="boolean" default="false"
+ description="榛樿闅愯棌"/>
+ <aura:attribute name="IsSubmit" type="boolean" default="true"
+ description="鍒ゆ柇鏄惁褰曞叆琛ㄩ渶瑕佹彁浜�"/>
+ <aura:attribute name="AgencyClick" type="boolean" default="false"
+ description="鍒ゆ柇鏄惁宸叉彁浜よ繃涓�娆�"/>
+ <aura:attribute name="hideCheckboxColumn" type="boolean" default="true"
+ description="鍥犱负鐐逛笂涓�椤电殑鏃跺�欎笉鐭ラ亾涓轰粈涔堢疆鎴恌alse浜嗘墍浠ョ敤鍙橀噺鏉ヨ缃�"/>
+ <aura:attribute name="recordId" type="String" default=""
+ description="鍦ㄦ槑缁嗛〉鐐瑰嚮涓嬩竴姝ヤ細涓婁紶褰曞叆琛紝
+ 鐒跺悗杩斿洖鐨勫綍鍏ヨ〃ID瀛樺湪杩欓噷锛岀敤浜庝笂浼犳枃浠朵娇鐢�"/>
+ <aura:attribute name="filetype" type="List" default="['.png', '.jpg', '.jpeg']"
+ description="濡傛灉瀵逛簬涓婁紶鏂囦欢鐨勬牸寮忔湁瑕佹眰锛屽彲浠ョ敤杩欎釜锛屼絾鏄幇鍦ㄨ繕娌$敤"/>
+ <aura:attribute name="HomePage" type="Boolean" default="true"
+ description="鍒ゆ柇鏄惁鏄椤�"/>
+ <aura:attribute name="DetailsPage" type="Boolean" default="false"
+ description="鍒ゆ柇鏄惁鏄槑缁嗛〉"/>
+ <aura:attribute name="uploadFilePage" type="Boolean" default="false"
+ description="鍒ゆ柇鏄惁鏄枃浠朵笂浼犻〉"/>
+ <aura:attribute name="handlingOpinionsPage" type="Boolean" default="false"
+ description="鍒ゆ柇鏄惁鏄鐞嗘剰瑙侀〉"/>
+ <aura:attribute name="eSignForm" type="Object"
+ description="棣栭〉淇℃伅"/>
+ <aura:attribute name="data" type="Object[]"
+ description="鎵�鏈夋槑缁嗙殑淇℃伅"/>
+ <aura:attribute name="currentData" type="Object[]"
+ description="鏄庣粏椤靛綋鍓嶆樉绀虹殑鏄庣粏鐨勪俊鎭�"/>
+ <aura:attribute name="dataSize" type="Integer" default="0"
+ description="鏄庣粏椤靛綋鍓嶆樉绀虹殑鏄庣粏鐨勬暟閲�"/>
+ <aura:attribute name="columns" type="List"
+ description="鏄庣粏椤佃〃鏍肩殑姣忓垪鏋勯�犵殑璁惧畾"/>
+ <aura:attribute name="pageNumber" type="Integer" default="1"
+ description="鏄庣粏椤佃〃鏍肩殑绗嚑椤�"/>
+ <aura:attribute name="pageSize" type="Integer" default="5"
+ description="鏄庣粏椤佃〃鏍肩殑姣忛〉鏄庣粏瀹归噺"/>
+ <aura:attribute name="isLastPage" type="Boolean" default="false"
+ description="鏄惁鏈�鍚庝竴椤碉紝濡傛灉鏄渶鍚庝竴椤碉紝閭d箞琛ㄦ牸鍒嗛〉鐨勪笅涓�椤典笉鍙敤"/>
+ <aura:attribute name="draftValues" type="Object" default="[]"
+ description="鏄庣粏椤佃〃鏍肩殑淇敼鍐呭锛屼繚瀛樺悗浠庤繖閲岃鍊煎瓨鍒板綋鍓嶈〃鏍奸噷闈�"
+ />
+ <aura:attribute name="successMessage" type="String"
+ description="鎴愬姛娑堟伅"/>
+ <aura:attribute name="errorMessage" type="String"
+ description="澶辫触娑堟伅"/>
+ <aura:attribute name="check" type="Boolean" default="true"
+ description="鍒ゆ柇鏄惁鍕鹃�夐』鐭�"/>
+ <aura:attribute name="HospitalAcceptanceResults" type="string" default="鍏ㄩ儴楠屾敹"
+ description="鍖婚櫌楠屾敹缁撴灉"/>
+ <!-- 妫�绱� start-->
+ <aura:attribute name="searchSize" type="Integer" default=""
+ description="妫�绱㈡暟鎹殑闀垮害"/>
+ <aura:attribute name="searchCase" type="Integer" default=""
+ description="瀛樻斁妫�绱㈠�硷紝淇濈暀缂撳瓨"/>
+ <aura:attribute name="searchCaseKey" type="Integer" default=""
+ description="瀛樻斁妫�绱㈠�硷紝璧嬪�肩粰searchCase"/>
+ <aura:attribute name="searchFlag" type="boolean" default=""
+ description="鎼滅储妗嗘槸鍚︽湁鍊�"/>
+ <aura:attribute name="lineItemSize" type="Integer" default=""
+ description="瀛樻斁涓�鍏辨湁澶氬皯鏉℃槑缁唖ize"/>
+ <aura:attribute name="chkQR" type="Boolean" default="false"
+ description="鏄惁鏄剧ず鍖婚櫌浜岀淮鐮�"/>
+ <aura:attribute name="showQR" type="boolean" default="false" />
+ <aura:attribute name="showESignQR" type="Boolean" default="false"
+ description="鍒ゆ柇鏄惁鍕鹃�夐』鐭�"/>
+ <!-- 妫�绱� end -->
+ <aura:handler name="init" action="{!c.doInit}" value="{!this}"
+ description="鍒濆鍖栨柟娉�"/>
+ <div>
+ <lightning:spinner aura:id="mySpinner" size="large"
+ description="鍔犺浇涓粍浠讹紝濡傛灉涓嶉殣钘忔暣涓〉闈㈠氨鍦ㄥ姞杞戒腑"/>
+ </div>
+
+ <!-- 鎴愬姛toast 缁勪欢鐨勫疄鐜�-->
+ <div class="slds-modal slds-fade-in-open slds-hide" aura:id="successDiv">
+ <div class="demo-only" style="height: 8rem;width:40%">
+ <div class="slds-notify_container slds-is-relative">
+ <div class="slds-notify slds-notify_toast slds-theme_success" role="alert">
+ <div class=" slds-m-left_xx-large">
+ <div class="slds-notify__content slds-m-left_small slds-align_absolute-center slds-m-left_xx-large">
+ <lightning:icon alternativeText="Success" iconName="utility:success" size="small"
+ class="buttonColor slds-m-right_small" />
+ <h2 class="slds-text-heading_small ">{!v.successMessage}</h2>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <!-- 澶辫触toast 缁勪欢鐨勫疄鐜�-->
+ <div class="slds-modal slds-fade-in-open slds-hide" aura:id="errorDiv">
+ <div class="demo-only" style="height: 8rem;" id="errorSonDiv1">
+ <div class="slds-notify_container slds-is-relative">
+ <div class="slds-notify slds-notify_toast slds-theme_error" role="status" id="errorSonDiv2" style="">
+ <div class="">
+ <div class="slds-notify__content slds-m-left_small slds-align_absolute-center">
+ <lightning:icon alternativeText="error" iconName="utility:error" size="small"
+ class="buttonColor slds-m-right_small" />
+ <h2 class="slds-text-heading_small ">
+ <div id="errorSonDiv3" style=" word-break: break-all;overflow: auto;">
+ {!v.errorMessage}
+ </div>
+ </h2>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <aura:registerEvent name="componentEvent" type="c:BackToHomePage"/>
+ <!-- 缁忛攢鍟嗛獙鏀堕〉鐨勯椤� -->
+ <aura:if isTrue="{!v.HomePage}">
+ <p style="font-size: 17px;">
+ 棣栭〉
+ </p>
+ <div id="qs" style=" margin-bottom: 5%;" class="slds-card" >
+ <!-- 棣栭〉锛岀敱浜庝笌缁忛攢鍟嗙‘璁ら〉鍏敤鐩稿悓涓婚〉锛屾墍浠ヤ娇鐢ㄨ繖涓粍浠�,鐒跺悗鍙互鍏敤 -->
+ <c:eSignAgencyHomePage
+ HospitalAcceptanceResults = "{!v.HospitalAcceptanceResults}"
+ eSignForm = "{!v.eSignForm}"
+ />
+
+ <div id="attention1" style=" position:relative;margin-right: 4px; margin-right: 4px; " class="" >
+ <lightning:layout horizontalAlign="left" class="slds-m-top_large">
+ <lightning:layoutItem padding="around-small">
+ <div class="header-column">
+ <p class="field-title" title="Field 3" style="font-weight:bold;font-size: 15px;">娉ㄦ剰浜嬮」 锛� </p>
+ <p class="field-title" title="Field 3" style="font-weight:bold;font-size: 15px;"> 1銆佹敹鍒拌揣鐗╄鍦�24灏忔椂鍐呯‘璁� </p>
+ <p class="field-title" title="Field 3" style="font-weight:bold;font-size: 15px;"> 2銆佽揣鐗╁瑙傜牬鎹熻褰撻潰涓庨�佽揣浜虹瀛楃‘璁� </p>
+ <p class="field-title" title="Field 3" style="font-weight:bold;font-size: 15px;"> 3銆佷功闈㈤�氱煡渚涜揣鑰呯牬鎹熸儏鍐靛苟鎻忚堪鐮存崯鐘舵�� </p>
+ <p class="field-title" title="Field 3" style="font-weight:bold;font-size: 15px;"> 4銆佸繀瑕佹椂璇锋媿鐓ц褰� </p>
+ <p class="field-title" title="Field 3" style="font-weight:bold;font-size: 15px;"> 5銆佽浜�7澶╁唴瀵瑰鐞嗘剰瑙佽繘琛岀‘璁わ紝瓒呮湡灏嗛粯璁ゅ悓鎰� </p>
+ <!-- 椤荤煡 -->
+ </div>
+ </lightning:layoutItem>
+ </lightning:layout>
+
+
+ </div>
+
+ <div id="attention" style=" position:relative;margin-right: 4px; margin-right: 4px; " class="" >
+ <!-- 鍐呭宸查槄璇� -->
+ <lightning:layout horizontalAlign="left" class="slds-m-top_small">
+ <lightning:layoutItem padding="around-small">
+ <lightning:input type="checkbox"
+ label="涓婅堪鍐呭宸查槄璇伙紙榛樿鍕鹃�夛級鐐光�滀笅涓�姝モ�濆埌鏄庣粏椤�"
+ id="chk" name="chk"
+ checked="{!v.check}" disabled="true"/>
+ </lightning:layoutItem>
+ </lightning:layout>
+ </div>
+ <!-- 浠庨椤靛埌妫�绱㈤〉鐨勪笂涓�姝ユ寜閽� -->
+ <div class="slds-float_left">
+ <lightning:button variant="brand"
+ label="涓婁竴姝�" title="涓婁竴姝�" onclick="{! c.BackToHomePage }" />
+ </div>
+ <!-- 浠庨椤靛埌鏄庣粏椤电殑涓嬩竴姝ユ寜閽� -->
+ <div class="slds-float_right">
+ <lightning:button variant="brand"
+ label="涓嬩竴姝�" title="涓嬩竴姝�" onclick="{! c.handleHomePageNextClick }" />
+ </div>
+ </div>
+
+ </aura:if>
+ <aura:if isTrue="{!v.DetailsPage}">
+ <!-- 鍔犱笂婊氬姩鏉� -->
+ <div id="header" style="{!'width:'+v.floatWidth+'px;'}">
+ <tr>
+ <td class="field-title" title="Field 3" style="font-weight:bold;font-size: 15px;" align="left">锛堝悜鍙虫粦鍔ㄦ煡鐪嬫洿澶氫俊鎭級
+
+ </td>
+ </tr>
+
+ </div>
+ <!-- 妫�绱� -->
+ <div id="searchDiv" class="slds-page-header" role="banner" style="{!'width:'+v.floatWidth+'px;'}">
+ <div class="slds-float_center" style="text-align:center">
+ <tr>
+ <td align="right" style="{!'padding-left:'+v.floatWidth*0.15+'px;'}">绠卞彿:
+ <input id="searchInput" lightning-input_input ="" type="text" class="slds-input" value="{!v.searchCase}" name="" onchange="{!c.searchByCaseNumber}" style="{!'width:'+v.floatWidth*0.2+'px;'}"/>
+ </td>
+
+ <td style="padding-left: 5px;">
+ <aura:if isTrue="{!v.searchFlag}">
+ 璇ョ鍏辨湁{!v.searchSize}鏉℃暟鎹��
+ <aura:set attribute="else">
+ 璇ュ崟鍏辨湁{!v.lineItemSize}鏉℃暟鎹��
+ </aura:set>
+ </aura:if>
+ </td>
+ </tr>
+ </div>
+ </div>
+ <div id="allDiv" style="{!'width:'+v.allWidth+'px;overflow-x:scroll;'}">
+ <div id="in" style=" width:763px;margin-right: 4px; ">
+ <!-- 鏄剧ず鍦ㄦ槑缁嗛〉鐨勫綋鍓嶆槑缁嗙殑琛ㄦ牸 -->
+ <div id="inTable" >
+ <!-- <lightning:card> -->
+ <aura:set attribute="title">
+ 璐х墿绛炬敹鍗曟槑缁�
+ </aura:set>
+
+ <table class="slds-table slds-table_cell-buffer slds-table_bordered slds-hint-parent slds-no-row-hover " style="table-layout: fixed;">
+ <thead>
+ <tr class="slds-line-height_reset slds-text-title_caps">
+ <!-- 绗竴鍒� 浜у搧鍨嬪彿 -->
+ <th class="slds-is-resizable" tabindex="-1" data-label="浜у搧鍨嬪彿" scope="row">
+
+ <span class="slds-grid slds-grid_align-spread" style="
+ width: 110px;text-align: left;display:block;">
+ <div class="slds-truncate">
+ <span title="浜у搧鍨嬪彿" class="slds-truncate" style="padding-bottom: 3px;">浜у搧鍨嬪彿</span> </div>
+ </span>
+
+
+
+ </th>
+ <!-- 绗簩鍒� CODE -->
+ <!-- <th class="slds-is-resizable" tabindex="-1" data-label="CODE" scope="row" style="width: 137px;height: 35px; outline: none;">
+
+ <span class="slds-grid slds-grid_align-spread" style="text-align: center;display:block;">
+ <div class="slds-truncate">
+ <span title="CODE" class="slds-truncate" style="padding-bottom: 3px;">CODE</span>
+ </div>
+
+ </span>
+
+
+ </th> -->
+
+ <!-- 绗笁鍒� 浜у搧鍚嶇О-->
+ <th class="slds-is-resizable" tabindex="-1" data-label="浜у搧鍚嶇О" scope="row" style="width: 361px;height: 35px;">
+
+ <span class="slds-grid slds-grid_align-spread" style="text-align: left;display:block;">
+ <div class="slds-truncate">
+ <span title="浜у搧鍚嶇О" class="slds-truncate" style="padding-bottom: 3px;">浜у搧鍚嶇О</span>
+
+
+ </div>
+ </span>
+
+
+ </th>
+
+ <!-- 绗洓鍒� 鏁伴噺-->
+ <th class="slds-is-resizable" tabindex="-1" data-label="鏁伴噺" scope="row" style="width: 50px;height: 35px;">
+
+ <span class="slds-grid slds-grid_align-spread" style="text-align: center;display:block;">
+ <div class="slds-truncate">
+ <span title="鏁伴噺" class="slds-truncate" style="padding-bottom: 3px;">鏁伴噺</span>
+
+
+ </div>
+ </span>
+
+
+
+ </th>
+
+ <!-- 绗簲鍒� 绠卞彿-->
+ <th class="slds-is-resizable" tabindex="-1" data-label="绠卞彿" scope="row" style="width: 100px;height: 35px;">
+
+ <span class="slds-grid slds-grid_align-spread" style="text-align: center;display:block;">
+ <div class="slds-truncate">
+ <span title="绠卞彿" class="slds-truncate" style="padding-bottom: 3px;">绠卞彿</span>
+
+
+ </div>
+ </span>
+
+
+
+ </th>
+ <!-- 绗叚鍒� 璐х墿鎯呭喌-->
+ <th class="slds-is-resizable" tabindex="-1" data-label="璐х墿鎯呭喌" scope="row" style="width: 110px;height: 35px;">
+
+ <span class="slds-grid slds-grid_align-spread" style="text-align: center;display:block;">
+ <div class="slds-truncate">
+ <span title="璐х墿鎯呭喌" class="slds-truncate" style="padding-bottom: 3px;">璐х墿鎯呭喌</span>
+
+
+ </div>
+ </span>
+
+
+
+ </th>
+ <!-- 绗竷鍒� 澶勭悊鎰忚-->
+ <!-- <th class="slds-is-resizable" tabindex="-1" data-label="澶勭悊鎰忚" scope="row" style="width: 170px;height: 35px;">
+
+ <span class="slds-grid slds-grid_align-spread" style="text-align: center;display:block;">
+ <div class="slds-truncate">
+ <span title="澶勭悊鎰忚" class="slds-truncate" style="padding-bottom: 3px;">澶勭悊鎰忚</span>
+
+
+ </div>
+ </span>
+
+
+
+ </th> -->
+ <!-- 绗叓鍒� 璐х墿鎯呭喌-->
+ <!-- <th class="slds-is-resizable" tabindex="-1" data-label="缁忛攢鍟嗙‘璁ょ粨鏋�" scope="row" style="width: 140px;height: 35px;">
+
+ <span class="slds-grid slds-grid_align-spread" style="text-align: center;display:block;">
+ <div class="slds-truncate">
+ <span title="缁忛攢鍟嗙‘璁ょ粨鏋�" class="slds-truncate" style="padding-bottom: 3px;">缁忛攢鍟嗙‘璁ょ粨鏋�</span>
+
+
+ </div>
+ </span>
+
+
+
+ </th> -->
+
+
+ </tr>
+ </thead>
+ <aura:if isTrue="{!v.currentData.length > 0}">
+ <tbody>
+ <aura:iteration items="{!v.currentData}" var="curr" indexVar="idx">
+ <tr class="slds-hint-parent">
+ <!-- 琛岄」鐩篃鐢╰h 鍥犱负鐢╰d鏍囩鐐瑰嚮鍒楃殑楂樺厜 鍦ㄨ嫻鏋滆澶囦笂 鏈夌棔杩� -->
+ <!-- 琛岄」鐩� 绗竴鍒� 浜у搧鍨嬪彿 -->
+ <th class="slds-is-resizable" tabindex="-1" data-label="浜у搧鍨嬪彿" scope="row">
+
+ <span class="slds-grid slds-grid_align-spread" style="
+ width: 110px;
+ padding-top: 6px;height:30px;
+ ">
+ <div class="slds-truncate">
+ <lightning:formattedText value="{!curr.Asset_Model_No__c}" />
+ </div>
+ </span>
+
+
+
+ </th>
+
+ <!-- 琛岄」鐩� 绗簩鍒� CODE-->
+ <!-- <th class="slds-is-resizable" tabindex="-1" data-label="CODE" scope="row">
+
+ <span class="slds-grid slds-grid_align-spread">
+ <div class="slds-truncate">
+ <lightning:formattedText value="{!curr.OTCode__c}" />
+
+
+
+ </div>
+ </span>
+
+
+
+ </th> -->
+ <!-- 琛岄」鐩� 绗笁鍒� 浜у搧鍚嶇О-->
+ <th class="slds-is-resizable" tabindex="-1" data-label="浜у搧鍚嶇О" scope="row" style="white-space:nowrap;
+ overflow:hidden;
+ text-overflow: ellipsis;">
+
+ <span class="slds-grid slds-grid_align-spread" style="
+ width: 361px;
+ padding-top: 6px;height:31px;">
+ <div class="slds-truncate">
+ <lightning:formattedText value="{!curr.productName__c}" />
+
+
+ </div>
+ </span>
+
+
+
+ </th>
+ <!-- 琛岄」鐩� 绗洓鍒� 鏁伴噺-->
+ <th class="slds-is-resizable" tabindex="-1" data-label="鏁伴噺" scope="row" >
+
+ <span class="slds-grid slds-grid_align-spread" style="text-align: center;display:block;">
+ <div class="slds-truncate">
+ <lightning:formattedText value="{!curr.Count_Text__c}" />
+
+
+ </div>
+ </span>
+
+
+
+ </th>
+ <!-- 琛岄」鐩� 绗簲鍒� 绠卞彿-->
+ <th class="slds-is-resizable" tabindex="-1" data-label="绠卞彿" scope="row">
+
+ <span class="slds-grid slds-grid_align-spread" style="text-align: center;display:block;">
+ <div class="slds-truncate">
+ <lightning:formattedNumber id="{!curr.Id+':'+idx+':CaseNumber__c'}" value="{!curr.CaseNumber__c}"/>
+
+
+ </div>
+ </span>
+
+
+
+ </th>
+ <!-- 琛岄」鐩� 绗叚鍒� 璐х墿鎯呭喌-->
+ <th class="slds-is-resizable" tabindex="-1" data-label="璐х墿鎯呭喌" scope="row">
+
+ <span class="slds-grid slds-grid_align-spread" style="text-align: center;display:block;">
+ <div class="slds-truncate">
+ <lightning:formattedText value="{!curr.agencyGoodStatus__c}" />
+
+
+ </div>
+ </span>
+
+
+
+ </th>
+ <!-- 琛岄」鐩� 绗竷鍒� 澶勭悊鎰忚-->
+ <!-- <th class="slds-is-resizable" tabindex="-1" data-label="澶勭悊鎰忚" scope="row">
+
+ <span class="slds-grid slds-grid_align-spread" style="text-align: center;display:block;">
+ <div class="slds-truncate">
+ <lightning:formattedText value="{!curr.handleOpinion__c}" />
+
+
+ </div>
+ </span>
+
+
+
+ </th> -->
+
+ <!-- 琛岄」鐩� 绗叓鍒� 缁忛攢鍟嗙‘璁ょ粨鏋�-->
+ <!-- <th class="slds-is-resizable" tabindex="-1" data-label="缁忛攢鍟嗙‘璁ょ粨鏋�" scope="row">
+
+ <input id="{!curr.Id}" lightning-input_input ="" type="text" class="slds-input" value="{!curr.agencyConfirmResult__c}" readonly="readonly" style="border-style:hidden;"/>
+
+
+ </th> -->
+
+ </tr>
+ </aura:iteration>
+ </tbody>
+
+ </aura:if>
+ </table>
+
+ <!-- <div class="slds-box">
+
+ <div align="center" style="float: left;padding-left: 370px;">
+ <lightning:button variant="neutral"
+ label="cancel" title="cancel" onclick="" />
+ </div>
+
+ <div align="center" style="padding-right: 370px;">
+ <lightning:button variant="brand"
+ label="save" title="save" onclick=""/>
+ </div>
+ </div> -->
+ <aura:if isTrue="{!empty(v.currentData)}">
+ <div class="slds-align_absolute-center">
+ No records found
+ </div>
+ </aura:if>
+ <!-- </lightning:card> -->
+
+
+
+ </div>
+ </div>
+ </div>
+
+ <!-- 鍒嗛〉鍔熻兘鐨勪笂涓�椤靛拰涓嬩竴椤碉紝 杩樻槸鏈�宸︿晶鐨勬樉绀哄綋鍓嶉〉鏁扮殑閫昏緫-->
+ <div id="floatDiv" style="{!'width:'+v.floatWidth+'px;'}">
+ <div class="slds-clearfix">
+ <div class="slds-page-header" role="banner">
+ <div class="slds-float_center" style="text-align:center">
+ <!-- iconName="utility:chevronleft" iconPosition="left" -->
+ <lightning:button iconName="utility:left"
+ onclick="{!c.handleHome}" disabled="{! v.pageNumber == 1}"/>
+ <lightning:button iconName="utility:chevronleft" iconPosition="left"
+ onclick="{!c.handlePrev}" disabled="{! v.pageNumber == 1}"/>
+ <span title="褰撳墠椤�"> {!v.pageNumber}
+ </span>
+ <lightning:button iconName="utility:chevronright" iconPosition="right"
+ disabled="{! v.isLastPage}" onclick="{!c.handleNext}"/>
+ <!-- iconName="utility:chevronright" iconPosition="right" -->
+ <lightning:button iconName="utility:right"
+ disabled="{! v.isLastPage}" onclick="{!c.handleLast}"/>
+
+ </div>
+
+ </div>
+ </div>
+ <!-- 涓婁竴姝� -->
+ <div class="slds-float_left">
+ <div id="attention" style=" position:relative;margin-right: 4px; margin-right: 4px; " class="" >
+ <!-- 纭鎻愪氦 -->
+ <lightning:button variant="brand"
+ label="涓婁竴姝�" title="涓婁竴姝�" onclick="{! c.handleShowPageNextClick }" />
+ </div>
+ </div>
+ <!-- 杩斿洖棣栭〉 -->
+ <div class="slds-float_right">
+ <lightning:button variant="brand"
+ label="涓嬩竴姝�" title="涓嬩竴姝�" onclick="{!c.OpinionsTODetailsPage }" />
+ </div>
+
+ </div>
+ <!-- 鏄庣粏椤佃烦杞嚦鏂囦欢涓婁紶椤电殑鎸夐挳 -->
+ <aura:if isTrue="{!v.hideButton}">
+ <div style="position: fixed;margin-left:65%;">
+ <div id="attention" style=" position:relative;margin-right: 4px; margin-right: 4px; " class="" >
+ <!-- 纭鎻愪氦 纭椤垫敞閿�鎵撳嬀閫昏緫 -->
+ <!-- <lightning:layout horizontalAlign="left" class="slds-m-top_small">
+ <lightning:layoutItem padding="around-small">
+ <lightning:input type="checkbox"
+ label="鏄惁鎻愪氦濉啓鍐呭(榛樿鍕鹃��),鐐光�滀笅涓�姝モ�濆埌鍥剧墖涓婁紶椤�"
+ id="IsSubmit" name="IsSubmit"
+ checked="{!v.IsSubmit}" />
+ </lightning:layoutItem>
+ </lightning:layout> -->
+ </div>
+ <lightning:button variant="brand"
+ label="涓嬩竴姝�" title="涓嬩竴姝�" onclick="{! c.handleDetailsPageNextClick }" />
+ </div>
+ <!-- 鏄庣粏椤佃烦杞嚦鏂囦欢涓婁紶椤电殑鎸夐挳 -->
+ <div style="position: fixed;margin-left:5%;">
+ <lightning:button variant="brand"
+ label="鎻愪氦" title="鎻愪氦" onclick="{! c.submitClick }" />
+ </div>
+ </aura:if>
+
+ </aura:if>
+
+ <aura:if isTrue="{!v.handlingOpinionsPage}">
+ <div class="slds-box">
+ <div id="page-footer" style=" margin-bottom: 5%;" class="slds-card" >
+ <lightning:layout multipleRows="true">
+ <lightning:layoutItem padding="around-xsmall" size="12">
+ <div class="page-section page-header" style="height: 25px;">
+ <h2><b>钀ヤ笟鎷呭綋澶勭悊鎰忚濡備笅锛�</b></h2>
+ </div>
+ <div class="page-section page-right" style="{!'width:'+v.floatWidth*0.8+'px;'}" >
+
+ <p style="word-break: break-word;text-indent: 2em;">{!v.eSignForm.handleOpinionAgency__c}
+ </p>
+ </div>
+ </lightning:layoutItem>
+
+
+ </lightning:layout>
+
+ </div>
+ <p style="word-break: break-word;text-indent: 2em;">瀵逛互涓婂鐞嗘剰瑙佹棤鐤戜箟锛岃鐐瑰嚮纭銆傚鏈夊叾瀹冮棶棰橈紝璇疯仈绯诲ゥ鏋楀反鏂綋鍦拌惀涓氫汉鍛樸��</p>
+
+ <!-- <lightning:input aura:id="inputCmp" label="濡傛湁闇�瑕侊紝璇峰~鍐欐偍鐨勯偖绠�:" name="fullName" value=""
+ /> -->
+
+ </div>
+ <!-- 鏄剧ず鍖婚櫌浜岀淮鐮� -->
+ <!-- <lightning:input type="checkbox"
+ label="鍕鹃�夋樉绀哄尰闄簩缁寸爜"
+ id="chkQR" name="chkQR"
+ checked="{!v.chkQR}"
+ onchange="{!c.showHPQR}"
+ /> -->
+ <div id="footerDiv" style="{!'width:'+v.floatWidth+'px;display: flex;flex-direction: row;'}">
+ <!-- class="slds-float_left" -->
+ <div style="text-align:left;flex: 1;padding-top: 1px;">
+ <lightning:button variant="brand"
+ label="涓婁竴姝�" title="涓婁竴姝�" onclick="{!c.NextOpinions}" />
+ </div>
+ <!-- style="text-align:center" -->
+ <!-- <div style="text-align:center;flex: 1;padding-top: 1px;">
+ <lightning:button variant="brand"
+ label="纭" title="纭" onclick="{!c.submitClick }" />
+ </div> -->
+ <!-- class="slds-float_right" -->
+ <div style="text-align:right;flex: 1;padding-top: 1px;">
+ <lightning:button variant="brand"
+ label="杩斿洖" title="杩斿洖" onclick="{!c.BackToHomePage }" />
+ </div>
+ </div>
+
+ </aura:if>
+
+
+ <aura:if isTrue="{!v.uploadFilePage}">
+ <!-- 鏂囦欢涓婁紶缁勪欢 -->
+ <lightning:fileUpload label="涓婁紶鐓х墖"
+ name="fileUploader"
+ recordId="{!v.recordId}"
+ multiple="true"
+ onuploadfinished="{!c.handleUploadFinished}"
+ />
+ <p class="field-title" title="Field 3" style="font-weight:bold;font-size: 15px;padding-top: 7px;">锛堝涓嶉渶瑕佷笂浼狅紝鍒欒鍏抽棴銆傦級
+ <!-- 濡傞渶涓婁紶锛岃閫夋嫨鐓х墖銆� -->
+ </p>
+ </aura:if>
+ <aura:if isTrue="{!v.showESignQR}">
+
+ <!-- 鍔犺浇浜岀淮鐮侀〉闈� -->
+ <c:eSignHospitalQR DNName="{!v.DNName}" floatWidth="{! v.floatWidth }"/>
+
+ </aura:if>
+ <aura:if isTrue="{!v.showQR}">
+ <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" style ="min-Height: 600px">
+
+ <header class="slds-modal__header" style= "{!'max-width:'+v.allWidth+'px;'}" >
+ <lightning:buttonIcon iconName="utility:close"
+ onclick="{! c.closeCancelModel }"
+ alternativeText="close"
+ variant="bare-inverse"
+ class="slds-modal__close"/>
+ <h4 id="modal-heading-01" class="slds-text-heading_medium slds-hyphenate">璇蜂繚鐣欒浜岀淮鐮佹彁渚涚粰鍖婚櫌杩涜绛炬敹</h4>
+ </header>
+ <div class="slds-modal__content slds-p-around_medium" id="modal-content-id-1" style ="{!'min-Height:600px;max-width:'+v.allWidth+'px;'}">
+ <c:eSignHospitalQR DNName="{!v.DNName}" QRWidth="{! v.QRWidth }" QRHeight="{!v.QRHeight }"/>
+ </div>
+
+ <footer class="slds-modal__footer" style= "{!'max-width:'+v.allWidth+'px;'}">
+
+ <!-- <lightning:button variant="brand"
+ label="纭鍙栨秷浠诲姟"
+ title="ConfirmCancel"
+ onclick="{! c.ConfirmCancel }"/> -->
+ <lightning:button variant="neutral"
+ label="鍏抽棴"
+ title="Cancel"
+ onclick="{! c.hideHPQR }"/>
+ </footer>
+ </div>
+ </section>
+ </aura:if>
+
+</aura:component>
\ No newline at end of file
diff --git a/force-app/main/default/aura/eSignAgencyConfirmReadOnlyPage/eSignAgencyConfirmReadOnlyPage.cmp-meta.xml b/force-app/main/default/aura/eSignAgencyConfirmReadOnlyPage/eSignAgencyConfirmReadOnlyPage.cmp-meta.xml
new file mode 100644
index 0000000..4076603
--- /dev/null
+++ b/force-app/main/default/aura/eSignAgencyConfirmReadOnlyPage/eSignAgencyConfirmReadOnlyPage.cmp-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<AuraDefinitionBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>49.0</apiVersion>
+ <description>DESCRIPTION</description>
+</AuraDefinitionBundle>
diff --git a/force-app/main/default/aura/eSignAgencyConfirmReadOnlyPage/eSignAgencyConfirmReadOnlyPage.css b/force-app/main/default/aura/eSignAgencyConfirmReadOnlyPage/eSignAgencyConfirmReadOnlyPage.css
new file mode 100644
index 0000000..64b08a1
--- /dev/null
+++ b/force-app/main/default/aura/eSignAgencyConfirmReadOnlyPage/eSignAgencyConfirmReadOnlyPage.css
@@ -0,0 +1,91 @@
+.THIS table thead tr th:first-child
+{
+
+ position: fixed;
+ /*top: 45px;*/
+ z-index: 2;
+ /*width: 50px;*/
+ background-color: white;
+ padding-top:13px;
+
+
+}
+.THIS table thead tr th:nth-child(2)
+{
+ /*background-color: white;
+ position: fixed;
+ z-index: 1;
+ top: 45px;
+ padding-left: 52px;
+ width: 161px;*/
+ padding-left: 0px;
+
+}
+.THIS table thead tr th:nth-child(3)
+{
+ padding-left: 0px;
+
+}
+.THIS table thead tr th:nth-child(4)
+{
+ padding-left: 0px;
+
+}
+.THIS table thead tr th:nth-child(5)
+{
+ padding-left: 0px;
+
+}
+.THIS table thead tr th:nth-child(6)
+{
+ padding-left: 0px;
+
+}
+
+.THIS table tbody tr th:first-child
+{
+ background-color: white;
+ position: fixed;
+ z-index: 2;
+ padding-top:8.5px;
+ /*width: 50px;
+ padding-top: 9.5px;*/
+
+
+
+
+}
+
+.THIS table tbody tr th:nth-child(2)
+{
+ /*background-color: white;
+ position: fixed;
+ z-index: 1;
+ padding-left: 52px;
+ padding-top: 9.5px;
+ height:36px;
+ width: 161px;*/
+
+ padding-left: 0px;
+
+}
+.THIS table tbody tr th:nth-child(3)
+{
+ padding-left: 0px;
+
+}
+
+.THIS table tbody tr th:nth-child(4)
+{
+ padding-left: 0px;
+
+}
+
+.THIS table tbody tr th:nth-child(5)
+{
+ padding-left: 0px;
+
+}
+.THIS .slds-button_icon-bare{
+ display: none;
+}
\ No newline at end of file
diff --git a/force-app/main/default/aura/eSignAgencyConfirmReadOnlyPage/eSignAgencyConfirmReadOnlyPageController.js b/force-app/main/default/aura/eSignAgencyConfirmReadOnlyPage/eSignAgencyConfirmReadOnlyPageController.js
new file mode 100644
index 0000000..7abb549
--- /dev/null
+++ b/force-app/main/default/aura/eSignAgencyConfirmReadOnlyPage/eSignAgencyConfirmReadOnlyPageController.js
@@ -0,0 +1,99 @@
+({
+ // 鍒濆鍖栧嚱鏁�
+ doInit : function(cmp, event, helper) {
+ // 璁剧疆鏄庣粏椤佃〃鏍肩殑鏋勯��
+ helper.getColumnAndAction(cmp);
+ // 浠庢暟鎹簱閲岄潰璇诲彇鏁版嵁
+ helper.geteSign(cmp);
+ // document.documentElement.clientWidth;
+ // document.documentElement.clientHeight;
+ cmp.set('v.QRWidth', document.documentElement.clientWidth);
+ cmp.set('v.QRHeight', document.documentElement.clientWidth);
+ },
+ // 鏄庣粏椤佃〃鏍肩殑缈婚〉涓嬩竴椤�
+ handleNext : function(cmp, event, helper) {
+ helper.handleNext(cmp);
+ },
+ // 鏄庣粏椤佃〃鏍肩殑缈婚〉涓婁竴椤�
+ handlePrev : function(cmp, event, helper) {
+ helper.handlePrev(cmp);
+ },
+ // 鏄庣粏椤佃〃鏍肩殑缈婚〉棣栭〉
+ handleHome : function(cmp, event, helper) {
+ helper.handleHome(cmp);
+ },
+ // 鏄庣粏椤佃〃鏍肩殑缈婚〉灏鹃〉
+ handleLast : function(cmp, event, helper) {
+ helper.handleLast(cmp);
+ },
+ // 琛ㄦ牸纭鏇存敼
+ handleSaveEdition: function (cmp, event, helper) {
+ //鑾峰彇鏇存敼鍐呭
+ var draftValues = event.getParam('draftValues');
+ helper.saveEdition(cmp, draftValues);
+ },
+ // 鏂囦欢涓婁紶缁撴灉鍚庣殑澶勭悊
+ handleUploadFinished: function (cmp, event) {
+ // 鑾峰彇涓婁紶鎴愬姛鏂囦欢鐨勪俊鎭�
+ var uploadedFiles = event.getParam("files");
+ if(uploadedFiles.length > 0){
+ // 涔嬫墍浠ュ湪杩欓噷鍐欒繖涓脊鍑烘锛屽洜涓哄啓鍦╤elper閲岄潰涓嶇煡閬撲负鍟ュ脊涓嶅嚭鏉ワ紱
+ alert("璇锋偍鐐瑰嚮鎻愪氦鎸夐挳杩涜涓婁紶锛�");
+ }
+ // 鎵撳嵃涓婁紶鎴愬姛鏂囦欢鐨勫悕瀛�
+ uploadedFiles.forEach(file => console.log(file.name));
+ },
+ submitClick: function(cmp, event, helper){
+ helper.submitClick(cmp);
+ },
+ // 涓婚〉璺宠浆鑷虫槑缁嗛〉
+ handleHomePageNextClick : function (cmp, event, helper) {
+ helper.handleHomePageNextClick(cmp);
+ },
+ // 鏄庣粏椤佃烦杞嚦鏂囦欢涓婁紶椤�
+ handleDetailsPageNextClick : function (cmp, event, helper) {
+ helper.handleDetailsPageNextClick(cmp , event);
+ },
+ BackToHomePage : function(cmp, event, helper){
+ if(confirm('纭鍥炲埌棣栭〉鍚楋紵')){
+ var messageEvent = cmp.getEvent('componentEvent');
+ // messageEvent.setParam('DNName',cmp.get('v.DNName'));
+ // messageEvent.setParam('IsAgencyShow',cmp.get('v.IsSubmit'));
+ messageEvent.fire();
+ cmp.set("v.HomePage", false);
+ }
+
+
+ // helper.BackToHomePage(cmp);
+ },
+ handleShowFielePageNextClick : function(cmp, event, helper){
+ helper.handleShowFielePageNextClick(cmp);
+ },
+ handleShowPageNextClick : function(cmp, event, helper){
+ helper.handleShowPageNextClick(cmp);
+ },
+ OpinionsTODetailsPage : function(cmp, event, helper){
+ helper.OpinionsTODetailsPage(cmp);
+ },
+ NextOpinions : function(cmp, event, helper){
+ helper.NextOpinions(cmp);
+ },
+ searchByCaseNumber : function(cmp, event, helper){
+ helper.searchByCaseNumber(cmp,event);
+ },
+ showHPQR : function(cmp, event, helper){
+ var check = cmp.get('v.chkQR');
+ if(check){
+ cmp.set('v.showQR',true);
+ }else{
+ cmp.set('v.showQR',false);
+ }
+
+ },
+ hideHPQR:function(cmp, event, helper){
+ cmp.set('v.showQR',false);
+ cmp.set('v.chkQR',false);
+ }
+
+
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/eSignAgencyConfirmReadOnlyPage/eSignAgencyConfirmReadOnlyPageHelper.js b/force-app/main/default/aura/eSignAgencyConfirmReadOnlyPage/eSignAgencyConfirmReadOnlyPageHelper.js
new file mode 100644
index 0000000..1ec50c8
--- /dev/null
+++ b/force-app/main/default/aura/eSignAgencyConfirmReadOnlyPage/eSignAgencyConfirmReadOnlyPageHelper.js
@@ -0,0 +1,480 @@
+({
+ // 璁剧疆table 鍚勬爮灞炴��
+ getColumnAndAction : function(cmp) {
+ var actions = [
+ {label: 'Edit', name: 'edit'},
+ {label: 'Delete', name: 'delete'},
+ {label: 'View', name: 'view'}
+ ];
+ cmp.set('v.columns', [
+ // {label: 'CODE', fieldName: 'OTCode__c', type: 'text', wrapText:false
+ // , hideDefaultActions: true ,fixedWidth: 110 },
+ {label: '浜у搧鍨嬪彿', fieldName: 'Asset_Model_No__c', type: 'text' , wrapText:false
+ , hideDefaultActions: true ,fixedWidth: 110 },
+ {label: 'CODE', fieldName: 'OTCode__c', type: 'text', wrapText:false
+ , hideDefaultActions: true ,fixedWidth: 137 },
+ {label: '浜у搧鍚嶇О', fieldName: 'productName__c', type: 'text', wrapText:false
+ , hideDefaultActions: true ,fixedWidth: 330 },
+ {label: '鏁伴噺', fieldName: 'Count_Text__c', type: 'text' , wrapText:false
+ , hideDefaultActions: true ,fixedWidth: 50 },
+ {label: '绠卞彿', fieldName: 'CaseNumber__c', type: 'text' , wrapText:false
+ , hideDefaultActions: true ,fixedWidth: 100 },
+ {label: '璐х墿鎯呭喌', fieldName: 'agencyGoodStatus__c', type: 'text', wrapText:false
+ , hideDefaultActions: true ,fixedWidth: 110 },
+ {label: '澶勭悊鎰忚', fieldName: 'handleOpinion__c', type: 'text', wrapText:false
+ , hideDefaultActions: true ,fixedWidth: 170 },
+ {label: '缁忛攢鍟嗙‘璁ょ粨鏋�', fieldName: 'agencyConfirmResult__c', type: 'text', wrapText:false
+ , hideDefaultActions: true , fixedWidth: 140 },
+ ]);
+ },
+ // 鑾峰彇鏁版嵁
+ geteSign : function(cmp) {
+ this.showSpinner(cmp);
+ var action = cmp.get("c.geteSigns");
+ var DNName = cmp.get("v.DNName").toString();
+ action.setParams({
+ 'DNName' : DNName
+ });
+ action.setCallback(this,function(response) {
+ var state = response.getState();
+ if (state === "SUCCESS") {
+ var resultData = response.getReturnValue();
+ if(!!resultData && !!resultData.eSignFormLineItems
+ && !!resultData.eSignForm){
+ var data = resultData.eSignFormLineItems;
+ cmp.set('v.lineItemSize',data.length);
+ var pageSize = cmp.get('v.pageSize');
+ cmp.set("v.data", data);
+ cmp.set("v.eSignForm", resultData.eSignForm);
+ var tempData = this.getTempData(data, 1,pageSize);
+ cmp.set("v.isLastPage", this.isLastPage(data,tempData));
+ cmp.set("v.dataSize", tempData.length);
+ cmp.set("v.currentData", tempData);
+ this.hideSpinner(cmp);
+ }else{
+ cmp.set("v.errorMessage", '鍔犺浇澶辫触锛岃閲嶆柊鎵撳紑姝ら〉闈�1锛�');
+ this.showErrorToast(cmp);
+ this.hideSpinner(cmp);
+ }
+ }else{
+ cmp.set("v.errorMessage", '鍔犺浇澶辫触锛岃閲嶆柊鎵撳紑姝ら〉闈紒');
+ this.showErrorToast(cmp);
+ this.hideSpinner(cmp);
+ }
+ });
+ $A.enqueueAction(action);
+ },
+ // 鏄庣粏椤� table 棣栭〉鍔熻兘瀹炵幇
+ handleHome : function(cmp) {
+ var pageSize = cmp.get('v.pageSize');
+ var pageNumber = cmp.get('v.pageNumber');
+ // var data = cmp.get('v.data');
+ var currentData = cmp.get('v.currentData');
+
+ //鑾峰彇杈撳叆鐨剉alue鍊�
+ var key = document.getElementById('searchInput').value;
+ var data = cmp.get('v.data');
+ var tempDataList = [];
+ var pageSize = cmp.get('v.pageSize');
+
+ if(key){
+ for(var i = 0; i<data.length; i++){
+ //鑾峰彇鎵�鏈塶ame涓虹鍙风殑input 鎵归噺鏇存柊
+ if(data[i].CaseNumber__c == key){
+ tempDataList.push(data[i]);
+ }
+
+ }
+ //璁剧疆鍒嗛〉
+ var tempData = this.getTempData(tempDataList,1,pageSize );
+ cmp.set('v.pageNumber', 1 );
+ console.log('currentData1:'+currentData);
+ cmp.set('v.currentData',tempData);
+ cmp.set('v.data',data);
+ cmp.set("v.isLastPage", this.isLastPage(tempDataList,tempData));
+ cmp.set("v.searchSize",tempDataList.length);
+
+
+ }else{
+ //鏄剧ず鍏ㄩ儴绠�
+ var tempData = this.getTempData(data,1,pageSize );
+ cmp.set('v.pageNumber', 1 );
+ console.log('currentData1:'+currentData);
+ cmp.set('v.currentData',tempData);
+ cmp.set('v.data',data);
+ cmp.set("v.isLastPage", this.isLastPage(data,tempData));
+ cmp.set('v.searchSize', null);
+
+ }
+
+
+
+ },
+ // 鏄庣粏椤� table 灏鹃〉鍔熻兘瀹炵幇
+ handleLast : function(cmp) {
+ var pageSize = cmp.get('v.pageSize');
+ var pageNumber = cmp.get('v.pageNumber');
+ var data = cmp.get('v.data');
+ //鑾峰彇鏁版嵁闀垮害
+ var size = data.length;
+ //鑾峰彇灏鹃〉椤电爜
+ var pages=size%pageSize==0?(size/pageSize):(Math.floor(size/pageSize)+1);
+
+ var currentData = cmp.get('v.currentData');
+
+ //鑾峰彇杈撳叆鐨剉alue鍊�
+ var key = document.getElementById('searchInput').value;
+ var tempDataList = [];
+
+ if(key){
+ for(var i = 0; i<data.length; i++){
+ //鑾峰彇鎵�鏈塶ame涓虹鍙风殑input 鎵归噺鏇存柊
+ if(data[i].CaseNumber__c == key){
+ tempDataList.push(data[i]);
+ }
+
+ }
+ //璁剧疆鍒嗛〉
+ var tempData = this.getTempData(tempDataList,pages,pageSize );
+ cmp.set('v.pageNumber', pages );
+ console.log('currentData1:'+currentData);
+ cmp.set('v.currentData',tempData);
+ cmp.set('v.data',data);
+ cmp.set("v.isLastPage", this.isLastPage(tempDataList,tempData));
+ cmp.set("v.searchSize",tempDataList.length);
+
+
+ }else{
+ //鏄剧ず鍏ㄩ儴绠�
+ var tempData = this.getTempData(data,pages,pageSize );
+ cmp.set('v.pageNumber', pages );
+ console.log('currentData1:'+currentData);
+ cmp.set('v.currentData',tempData);
+ cmp.set('v.data',data);
+ cmp.set("v.isLastPage", this.isLastPage(data,tempData));
+ cmp.set('v.searchSize', null);
+
+ }
+
+
+ },
+ // 鏄庣粏椤� table 涓嬩竴椤靛姛鑳藉疄鐜�
+ handleNext : function(cmp) {
+ var pageSize = cmp.get('v.pageSize');
+ var pageNumber = cmp.get('v.pageNumber');
+ var data = cmp.get('v.data');
+ var currentData = cmp.get('v.currentData');
+
+ //鑾峰彇杈撳叆鐨剉alue鍊�
+ var key = document.getElementById('searchInput').value;
+ var tempDataList = [];
+
+ if(key){
+ for(var i = 0; i<data.length; i++){
+ //鑾峰彇鎵�鏈塶ame涓虹鍙风殑input 鎵归噺鏇存柊
+ if(data[i].CaseNumber__c == key){
+ tempDataList.push(data[i]);
+ }
+
+ }
+ //璁剧疆鍒嗛〉
+ var tempData = this.getTempData(tempDataList,pageNumber + 1,pageSize );
+ cmp.set('v.pageNumber', pageNumber+1 );
+ console.log('currentData1:'+currentData);
+ cmp.set('v.currentData',tempData);
+ cmp.set('v.data',data);
+ cmp.set("v.isLastPage", this.isLastPage(tempDataList,tempData));
+ cmp.set("v.searchSize",tempDataList.length);
+
+
+ }else{
+ //鏄剧ず鍏ㄩ儴绠�
+ var tempData = this.getTempData(data,pageNumber + 1,pageSize );
+ cmp.set('v.pageNumber', pageNumber+1 );
+ console.log('currentData1:'+currentData);
+ cmp.set('v.currentData',tempData);
+ cmp.set('v.data',data);
+ cmp.set("v.isLastPage", this.isLastPage(data,tempData));
+ cmp.set('v.searchSize', null);
+
+ }
+
+
+ },
+ // 鏄庣粏椤� table 涓婁竴椤靛姛鑳藉疄鐜�
+ handlePrev : function(cmp) {
+ var pageSize = cmp.get('v.pageSize');
+ var pageNumber = cmp.get('v.pageNumber');
+ var data = cmp.get('v.data');
+ var currentData = cmp.get('v.currentData');
+
+ //鑾峰彇杈撳叆鐨剉alue鍊�
+ var key = document.getElementById('searchInput').value;
+ var tempDataList = [];
+
+ if(key){
+ for(var i = 0; i<data.length; i++){
+ //鑾峰彇鎵�鏈塶ame涓虹鍙风殑input 鎵归噺鏇存柊
+ if(data[i].CaseNumber__c == key){
+ tempDataList.push(data[i]);
+ }
+
+ }
+ //璁剧疆鍒嗛〉
+ var tempData = this.getTempData(tempDataList,pageNumber - 1,pageSize );
+ console.log('currentData2:'+currentData);
+ cmp.set('v.pageNumber', pageNumber - 1 );
+ cmp.set('v.currentData',tempData);
+ cmp.set('v.data',data);
+ cmp.set("v.isLastPage", this.isLastPage(tempDataList,tempData));
+ cmp.set("v.searchSize",tempDataList.length);
+
+
+ }else{
+ //鏄剧ず鍏ㄩ儴绠�
+ var tempData = this.getTempData(data,pageNumber - 1,pageSize );
+ console.log('currentData2:'+currentData);
+ cmp.set('v.pageNumber', pageNumber - 1 );
+ cmp.set('v.currentData',tempData);
+ cmp.set('v.data',data);
+ cmp.set("v.isLastPage", this.isLastPage(data,tempData));
+ cmp.set('v.searchSize', null);
+
+ }
+
+ },
+ // 璁$畻骞惰繑鍥炲綋鍓嶉〉鐮佺殑鏁版嵁
+ getTempData: function(data, pageNumber,pageSize){
+ var tempData = data.slice((pageNumber-1) * pageSize,pageNumber * pageSize );
+ return tempData;
+ },
+ // 鍒ゆ柇褰撳墠椤垫槸鍚︽槸鏈�鍚庝竴椤�
+ isLastPage : function(data,tempData){
+ if(tempData.length == 0 ||
+ tempData[tempData.length-1].Id == data[data.length-1].Id ){
+ return true;
+ } else{
+ return false;
+ }
+ },
+ // 淇濆瓨鏇存敼鍐呭鍒板綋鍓嶆槑缁嗗唴瀹�
+ saveEdition: function (cmp, draftValues) {
+ if(!!draftValues && draftValues.length > 0){
+ var currentData = cmp.get('v.currentData');
+ for(var i = 0; i<currentData.length; i++){
+ for(var j = 0; j<draftValues.length; j++){
+ if(currentData[i].Id == draftValues[j].Id){
+ currentData[i].agencyConfirmResult__c = draftValues[j].agencyConfirmResult__c;
+ break;
+ }
+ }
+ }
+ cmp.set('v.currentData',currentData);
+ }
+ cmp.set('v.draftValues', []);
+ },
+ // 鏄庣粏椤电偣鍑讳笅涓�姝ヤ繚瀛樺綍鍏ヨ〃鏁版嵁鍒版暟鎹簱锛�
+ // 濡傛灉淇濆瓨鎴愬姛锛岃烦杞枃浠朵笂浼犻〉
+ // 濡傛灉淇濆瓨澶辫触锛屽脊鍑洪敊璇痶oast锛屼繚瀛樺湪褰撻〉
+ saveeSign : function (cmp){
+ var action = cmp.get("c.saveeSignFormEntry");
+ var data = cmp.get('v.data');
+ var eSignForm = cmp.get('v.eSignForm');
+ var IsSubmit = cmp.get('v.IsSubmit');
+ action.setParams({
+ 'eSignFormLineItems' : data,
+ 'eSignForm' : eSignForm,
+ 'entryType' : '缁忛攢鍟嗙‘璁�',
+ 'IsSubmit' : IsSubmit
+ });
+ this.showSpinner(cmp);
+ action.setCallback(this,function(response) {
+ this.hideSpinner(cmp);
+ var state = response.getState();
+ if (state === "SUCCESS") {
+ var resultData = response.getReturnValue();
+ if( resultData.isSuccess == true ){
+ cmp.set('v.recordId',resultData.result);
+ cmp.set('v.DetailsPage',false);
+ cmp.set('v.uploadFilePage',true);
+ }
+ else{
+ cmp.set("v.errorMessage", resultData.result);
+ this.showErrorToast(cmp);
+ }
+ }else{
+ cmp.set("v.errorMessage", '淇濆瓨澶辫触锛岃閲嶆柊鍔犺浇锛�');
+ this.showErrorToast(cmp);
+ }
+ });
+ $A.enqueueAction(action);
+
+ },
+ // 棣栭〉璺宠浆鑷虫槑缁嗛〉閫昏緫锛屽厛鍒ゆ柇鏄惁鍕鹃�夊唴瀹�
+ handleHomePageNextClick : function(cmp) {
+ // var contentCheck = cmp.get('v.check');
+ // if(contentCheck == false){
+ // alert('璇峰嬀閫変笂杩板唴瀹瑰凡闃呰銆�');
+ // return;
+ // }
+ //瀛樹竴涓嬫绱㈡閲岀殑鍊� 涓嶇劧浼氳娓呮帀
+ cmp.set('v.searchCase',cmp.get('v.searchCaseKey'));
+ console.log('searchCaseKey:'+cmp.get('v.searchCaseKey'));
+ cmp.set('v.HomePage',false);
+ cmp.set('v.DetailsPage',true);
+ },
+ // 鏄庣粏涔熻烦杞嚦鏂囦欢涓婁紶椤甸�昏緫锛屽厛鎻愮ず鏄惁濉啓瀹屾瘯
+ handleDetailsPageNextClick : function(cmp , event) {
+ var IsHPShow = cmp.get('v.IsAgencyOrHPShow');
+ var entryType = cmp.get('v.entryType');
+ var AgencyClick = cmp.get('v.AgencyClick');
+ if(IsHPShow&&entryType == '缁忛攢鍟嗙‘璁�'){
+ alert('宸茬粡鎻愪氦缁忛攢鍟嗙‘璁や俊鎭紝鎮ㄥ彧鑳芥煡鐪�,涓嶈兘鎻愪氦锛�');
+ }else{
+
+ var draftValues = event.getParam('draftValues');
+ console.log('draftValues:');
+ console.log(draftValues);
+ if(AgencyClick){
+ //鐩存帴璺宠浆鏄庣粏椤�
+ cmp.set('v.DetailsPage',false);
+ cmp.set('v.uploadFilePage',true);
+ }else{
+ if(confirm('璇风‘璁ゆ槸鍚︿繚瀛樼‘璁ょ粨鏋滐紵')){
+ this.saveeSign(cmp);
+ }
+ }
+ }
+
+ },
+ //缁欐彁浜ゆ寜閽竴涓粯璁ょ殑鍊�
+ submitClick : function(cmp,event){
+ var IsHPShow = cmp.get('v.IsAgencyOrHPShow');
+ var entryType = cmp.get('v.entryType');
+ if(IsHPShow&&entryType == '缁忛攢鍟嗙‘璁�'){
+ alert('宸茬粡鎻愪氦缁忛攢鍟嗙‘璁や俊鎭紝鎮ㄥ彧鑳芥煡鐪�,涓嶈兘鎻愪氦锛�');
+ }else{
+ //鍕鹃��
+ cmp.set('v.IsSubmit', true);
+ //璁剧疆涓�涓猣lag鐢ㄤ簬閬垮厤鎻愪氦涓ゆ
+ cmp.set('v.AgencyClick', true);
+ if(confirm('璇风‘璁ゆ槸鍚︽彁浜わ紵')){
+ this.saveeSign(cmp);
+
+ }
+ }
+
+ },
+ //寮瑰嚭 鎴愬姛鎻愮ずtoast 鏂规硶
+ showSuccessToast : function(cmp) {
+ $A.util.removeClass(cmp.find('successDiv'), 'slds-hide');
+ window.setTimeout($A.getCallback(function() {
+ $A.util.addClass(cmp.find('successDiv'), 'slds-hide');
+ }),
+ 5000
+ );
+ },
+ //寮瑰嚭 閿欒鎻愮ずtoast 鏂规硶
+ showErrorToast : function(cmp) {
+ const width = document.documentElement.clientWidth;
+ const contentDOM1 = document.getElementById('errorSonDiv1');
+ contentDOM1.style.width = width*0.6 + 'px';
+ const contentDOM2 = document.getElementById('errorSonDiv2');
+ contentDOM2.style.width = width*0.38 + 'px';
+ contentDOM2.style.height = '4rem';
+ const contentDOM3 =document.getElementById('errorSonDiv3');
+ contentDOM3.style.width = width-150 + 'px';
+ $A.util.removeClass(cmp.find('errorDiv'), 'slds-hide');
+ window.setTimeout($A.getCallback(function() {
+ $A.util.addClass(cmp.find('errorDiv'), 'slds-hide');
+ }),
+ 5000
+ );
+ },
+ // 灞曠ず 绛夊緟妗�
+ showSpinner: function(cmp) {
+ // remove slds-hide class from mySpinner
+ var spinner = cmp.find("mySpinner");
+ $A.util.removeClass(spinner, "slds-hide");
+ },
+ // 闅愯棌 绛夊緟妗�
+ hideSpinner : function(cmp){
+ // add slds-hide class from mySpinner
+ var spinner = cmp.find("mySpinner");
+ $A.util.addClass(spinner, "slds-hide");
+ },
+ //杩斿洖鏄庣粏椤�
+ handleShowFielePageNextClick : function(cmp) {
+
+ //瀛樹竴涓嬫绱㈡閲岀殑鍊� 涓嶇劧浼氳娓呮帀
+ cmp.set('v.searchCase',cmp.get('v.searchCaseKey'));
+ console.log('searchCaseKey:'+cmp.get('v.searchCaseKey'));
+
+ cmp.set('v.DetailsPage',true);
+ cmp.set('v.uploadFilePage',false);
+ //闅愯棌鍒�
+ cmp.set('v.hideCheckboxColumn',true);
+ },
+ //杩斿洖棣栭〉
+ handleShowPageNextClick : function(cmp) {
+ //瀛樹竴涓嬫绱㈡閲岀殑鍊� 涓嶇劧浼氳娓呮帀
+ var key = document.getElementById('searchInput').value;
+ cmp.set('v.searchCaseKey',key);
+ cmp.set('v.HomePage',true);
+ cmp.set('v.DetailsPage',false);
+ },
+ OpinionsTODetailsPage : function(cmp, event, helper){
+ //瀛樹竴涓嬫绱㈡閲岀殑鍊� 涓嶇劧浼氳娓呮帀
+ var key = document.getElementById('searchInput').value;
+ cmp.set('v.searchCaseKey',key);
+ cmp.set('v.handlingOpinionsPage',true);
+ cmp.set('v.DetailsPage',false);
+ },
+ NextOpinions : function(cmp, event, helper){
+ cmp.set('v.handlingOpinionsPage',false);
+ cmp.set('v.DetailsPage',true);
+ },
+ //椤甸潰涓婃绱㈠姛鑳�
+ searchByCaseNumber :function(cmp,event){
+ //鑾峰彇杈撳叆鐨剉alue鍊�
+ var key = document.getElementById('searchInput').value;
+ var data = cmp.get('v.data');
+ //瀹氫箟涓�涓┖鏁扮粍 鐢ㄤ簬瀛樻斁鎸夌鍒嗙被鍚庣殑data
+ var tempDataList = [];
+
+ var pageSize = cmp.get('v.pageSize');
+ //鍒ゆ柇鎼滅储妗嗗唴鏄惁鏈夊��
+ if(key){
+ cmp.set('v.searchFlag',true);
+ for(var i = 0; i<data.length; i++){
+ //鑾峰彇鎵�鏈塶ame涓虹鍙风殑input 鎵归噺鏇存柊
+ if(data[i].CaseNumber__c == key){
+ tempDataList.push(data[i]);
+ }
+
+ }
+ //璁剧疆鍒嗛〉
+ var tempData = this.getTempData(tempDataList, 1,pageSize);
+ cmp.set("v.isLastPage", this.isLastPage(tempDataList,tempData));
+ cmp.set("v.dataSize", tempData.length);
+ cmp.set("v.currentData", tempData);
+ cmp.set('v.pageNumber', 1);
+ cmp.set("v.searchSize",tempDataList.length);
+
+ }else{
+ cmp.set('v.searchFlag',false);
+ //鏄剧ず鍏ㄩ儴绠�
+ var data = cmp.get('v.data');
+ var tempData = this.getTempData(data, 1,pageSize);
+ cmp.set("v.isLastPage", this.isLastPage(data,tempData));
+ cmp.set("v.dataSize", tempData.length);
+ cmp.set("v.currentData", tempData);
+ cmp.set('v.pageNumber', 1);
+ cmp.set('v.searchSize', null);
+
+ }
+
+
+ }
+
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/eSignAgencyHomePage/eSignAgencyHomePage.cmp b/force-app/main/default/aura/eSignAgencyHomePage/eSignAgencyHomePage.cmp
new file mode 100644
index 0000000..b2ef410
--- /dev/null
+++ b/force-app/main/default/aura/eSignAgencyHomePage/eSignAgencyHomePage.cmp
@@ -0,0 +1,170 @@
+<aura:component access="global" >
+ <aura:attribute name="eSignForm" type="Object"/>
+ <!-- 鍖婚櫌楠屾敹缁撴灉 -->
+ <aura:attribute name="HospitalAcceptanceResults" type="string" default="鍏ㄩ儴楠屾敹"/>
+ <!-- 绛炬敹鍗晅able -->
+ <div id="signature" style="width:90%; border: 3px solid #000;
+ top: 50%;left: 5%;
+ position:relative;
+ margin-right: 4px;
+ margin-top: 4px;
+ ">
+ <lightning:layout horizontalAlign="left" class="">
+ <lightning:layoutItem padding="around-small" size="6" >
+ <div class="header-column" >
+ <p>渚涜揣鑰咃細</p>
+ <u>
+ <p>{!v.eSignForm.supplier__c}</p>
+ </u>
+ </div>
+ </lightning:layoutItem>
+
+
+ <lightning:layoutItem padding="around-small" size="6" >
+ <div class="header-column">
+ <p>渚涜揣鑰呬紒涓氱粡钀ヨ鍙瘉鍙锋垨澶囨鍑瘉缂栧彿 :</p>
+ <u>
+ <ui:outputText value="{!v.eSignForm.supplierNo__c}"/>
+ </u>
+
+ </div>
+ </lightning:layoutItem>
+
+
+ </lightning:layout>
+
+ <lightning:layout horizontalAlign="left" class="">
+ <lightning:layoutItem padding="around-small" size="6" >
+ <div class="header-column" >
+ <p>鍚堝悓缂栧彿锛�</p>
+ <u>
+ <p>{!v.eSignForm.ContractNO__c}</p>
+ </u>
+ </div>
+ </lightning:layoutItem>
+ <lightning:layoutItem padding="around-small" size="6" >
+ <div class="header-column">
+ <p>DN/鍞涘ご鍙凤細 </p>
+ <u>
+ <p>{!v.eSignForm.DNNameNo0__c}</p>
+ </u>
+ </div>
+ </lightning:layoutItem>
+
+ </lightning:layout>
+ <lightning:layout horizontalAlign="left" class="">
+ <lightning:layoutItem padding="around-small" size="6" >
+ <div class="header-column">
+ <p>鏀惰揣鍗曚綅 : </p>
+ <u>
+ <p>{!v.eSignForm.shippingUnit__c}</p>
+ </u>
+ </div>
+ </lightning:layoutItem>
+ <lightning:layoutItem padding="around-small" size="6" >
+ <div class="header-column">
+ <p>鏀惰揣鍦板潃锛� </p>
+ <u>
+ <p>{!v.eSignForm.shippingAddress__c}</p>
+ </u>
+ </div>
+ </lightning:layoutItem>
+
+ </lightning:layout>
+
+ <lightning:layout horizontalAlign="left" class="">
+ <lightning:layoutItem padding="around-small" size="6" >
+ <div class="header-column">
+ <p>鑱旂郴浜猴細 </p>
+ <u>
+ <p>{!v.eSignForm.contactName__c}</p>
+ </u>
+ </div>
+ </lightning:layoutItem>
+ <lightning:layoutItem padding="around-small" size="6" >
+ <div class="header-column" style="word-break: break-all;">
+ <p>鑱旂郴鐢佃瘽锛� </p>
+ <u>
+ <ui:outputText value="{!v.eSignForm.contactNumber__c}"/>
+
+ </u>
+ </div>
+ </lightning:layoutItem>
+ </lightning:layout>
+
+ <lightning:layout horizontalAlign="left" class="">
+ <lightning:layoutItem padding="around-small" size="6" >
+ <div class="header-column" >
+ <p>鍙戣揣鏃ユ湡锛� </p>
+ <u>
+ <p>{!v.eSignForm.DeliveryDate__c}</p>
+ </u>
+ </div>
+ </lightning:layoutItem>
+ <lightning:layoutItem padding="around-small" size="6" >
+ <div class="header-column">
+ <p>鏈�缁堢敤鎴峰悕绉帮細 </p>
+ <u>
+ <p>{!v.eSignForm.endUserName__c}</p>
+ </u>
+ </div>
+ </lightning:layoutItem>
+ </lightning:layout>
+ <lightning:layout horizontalAlign="left" class="">
+ <lightning:layoutItem padding="around-small" size="6" >
+ <div class="header-column">
+ <p>鎬荤鏁帮細 </p>
+ <u>
+ <p>{!v.eSignForm.totalNumber__c}</p>
+ </u>
+ </div>
+ </lightning:layoutItem>
+ <lightning:layoutItem padding="around-small" size="6" >
+ <div class="header-column">
+ <p>鎬婚噸閲�(kg)锛� </p>
+ <u>
+ <p>{!v.eSignForm.totalWeight__c}</p>
+ </u>
+ </div>
+ </lightning:layoutItem>
+
+ </lightning:layout>
+
+ <lightning:layout horizontalAlign="left" class="">
+
+ <lightning:layoutItem padding="around-small" size="6" >
+ <div class="header-column">
+ <p>杩愯緭鏂瑰紡锛� </p>
+ <u>
+ <p>{!v.eSignForm.transportMode__c}</p>
+ </u>
+ </div>
+ </lightning:layoutItem>
+ <!-- <lightning:layoutItem padding="around-small" size="6" >
+ <div class="header-column">
+ <p>璐у搧瑁呯鏄庣粏锛� </p>
+ <u>
+ <p>{!v.eSignForm.GoodDetails__c}</p>
+ </u>
+ </div>
+ </lightning:layoutItem> -->
+
+ </lightning:layout>
+ <!-- <lightning:layout horizontalAlign="left" class="">
+ <lightning:layoutItem padding="around-small" size="6" >
+ <div class="header-column">
+ <p>閲嶉噺锛� </p>
+ <u>
+ <p>{!v.eSignForm.weight__c}</p>
+ </u>
+ </div>
+ </lightning:layoutItem>
+
+ </lightning:layout> -->
+
+ </div>
+
+
+
+
+</aura:component>
\ No newline at end of file
diff --git a/force-app/main/default/aura/eSignAgencyHomePage/eSignAgencyHomePage.cmp-meta.xml b/force-app/main/default/aura/eSignAgencyHomePage/eSignAgencyHomePage.cmp-meta.xml
new file mode 100644
index 0000000..5fcfb8f
--- /dev/null
+++ b/force-app/main/default/aura/eSignAgencyHomePage/eSignAgencyHomePage.cmp-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<AuraDefinitionBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>49.0</apiVersion>
+ <description>A Lightning Component Bundle</description>
+</AuraDefinitionBundle>
diff --git a/force-app/main/default/aura/eSignAgencyPage/eSignAgencyPage.cmp b/force-app/main/default/aura/eSignAgencyPage/eSignAgencyPage.cmp
new file mode 100644
index 0000000..221aed2
--- /dev/null
+++ b/force-app/main/default/aura/eSignAgencyPage/eSignAgencyPage.cmp
@@ -0,0 +1,634 @@
+<aura:component implements="force:appHostable,flexipage:availableForAllPageTypes,forceCommunity:availableForAllPageTypes,lightning:isUrlAddressable" access="global" controller="eSignAgencyPageController">
+ <aura:attribute name="DNName" type="String" description="鐢ㄦ潵浠庣埗瀵硅薄鎺ユ敹浼犻�掕繃鏉ョ殑DN鍙�" default="" />
+ <aura:attribute name="allWidth" type="String" description="鐢ㄦ潵浠庣埗瀵硅薄鎺ユ敹浼犻�掕繃鏉ョ殑灞忓箷瀹藉害" default="" />
+ <aura:attribute name="floatWidth" type="String" description="鐢ㄦ潵浠庣埗瀵硅薄鎺ユ敹浼犻�掕繃鏉ョ殑灞忓箷瀹藉害" default="" />
+
+ <aura:attribute name="IsSubmit" type="boolean" default="false" description="鍒ゆ柇鏄惁褰曞叆琛ㄩ渶瑕佹彁浜�" />
+ <aura:attribute name="IsWhole" type="boolean" default="false" description="鍒ゆ柇鏄庣粏涓槸鍚︽湁涓嶅畬濂界殑" />
+ <aura:attribute name="IsHaveFile" type="boolean" default="false" description="鍒ゆ柇鏄惁閫夋嫨鐓х墖" />
+ <aura:attribute name="IsUpLoad" type="boolean" default="false" description="鍒ゆ柇鏄惁涓婁紶闄勪欢" />
+ <!-- 缁忛攢鍟嗘壂鎻忔棩 -->
+ <aura:attribute name="agencyScanDayBack" type="Date" default="" />
+ <!-- 缁忛攢鍟嗙鏀舵棩 -->
+ <aura:attribute name="agencySignUpDateBack" type="Date" default="" />
+ <aura:attribute name="hideCheckboxColumn" type="boolean" default="true" description="鍥犱负鐐逛笂涓�椤电殑鏃跺�欎笉鐭ラ亾涓轰粈涔堢疆鎴恌alse浜嗘墍浠ョ敤鍙橀噺鏉ヨ缃�" />
+ <aura:attribute name="AgencyClick" type="boolean" default="false" description="鍒ゆ柇鏄惁宸叉彁浜よ繃涓�娆�" />
+ <aura:attribute name="IsInsert" type="boolean" default="" description="鍒ゆ柇鏄惁鍙互鎻掑叆涓棿琛�" />
+ <aura:attribute name="recordId" type="String" default="" description="鍦ㄦ槑缁嗛〉鐐瑰嚮涓嬩竴姝ヤ細涓婁紶褰曞叆琛紝鐒跺悗杩斿洖鐨勫綍鍏ヨ〃ID瀛樺湪杩欓噷锛岀敤浜庝笂浼犳枃浠朵娇鐢�" />
+ <aura:attribute name="filetype" type="List" default="['.png', '.jpg', '.jpeg']" description="濡傛灉瀵逛簬涓婁紶鏂囦欢鐨勬牸寮忔湁瑕佹眰锛屽彲浠ョ敤杩欎釜锛屼絾鏄幇鍦ㄨ繕娌$敤" />
+ <aura:attribute name="HomePage" type="Boolean" default="true" description="鍒ゆ柇鏄惁鏄椤�" />
+ <aura:attribute name="DetailsPage" type="Boolean" default="false" description="鍒ゆ柇鏄惁鏄槑缁嗛〉" />
+ <aura:attribute name="uploadFilePage" type="Boolean" default="false" description="鍒ゆ柇鏄惁鏄枃浠朵笂浼犻〉" />
+ <aura:attribute name="eSignForm" type="Object" description="棣栭〉淇℃伅" />
+ <aura:attribute name="data" type="Object[]" description="鎵�鏈夋槑缁嗙殑淇℃伅" />
+ <aura:attribute name="currentData" type="Object[]" description="鏄庣粏椤靛綋鍓嶆樉绀虹殑鏄庣粏鐨勪俊鎭�" />
+ <aura:attribute name="dataSize" type="Integer" default="0" description="鏄庣粏椤靛綋鍓嶆樉绀虹殑鏄庣粏鐨勬暟閲�" />
+ <aura:attribute name="columns" type="List" description="鏄庣粏椤佃〃鏍肩殑姣忓垪鏋勯�犵殑璁惧畾" />
+ <aura:attribute name="pageNumber" type="Integer" default="1" description="鏄庣粏椤佃〃鏍肩殑绗嚑椤�" />
+ <aura:attribute name="pageSize" type="Integer" default="5" description="鏄庣粏椤佃〃鏍肩殑姣忛〉鏄庣粏瀹归噺" />
+ <aura:attribute name="searchSize" type="Integer" default="" description="妫�绱㈡暟鎹殑闀垮害" />
+ <aura:attribute name="searchCase" type="Integer" default="" description="瀛樻斁妫�绱㈠�硷紝淇濈暀缂撳瓨" />
+ <aura:attribute name="searchCaseKey" type="Integer" default="" description="瀛樻斁妫�绱㈠�硷紝璧嬪�肩粰searchCase" />
+ <aura:attribute name="searchFlag" type="boolean" default="" description="鎼滅储妗嗘槸鍚︽湁鍊�" />
+ <aura:attribute name="lineItemSize" type="Integer" default="" description="瀛樻斁涓�鍏辨湁澶氬皯鏉℃槑缁唖ize" />
+ <aura:attribute name="fileSize" type="Integer" default="" description="璁板綍涓�鍏辨湁鍑犱釜鏂囦欢" />
+ <!-- 缁忛攢鍟嗙數瀛愰偖浠� -->
+ <aura:attribute name="AgencyWorkflowEmailBack" type="String" description="缁忛攢鍟嗛偖绠�" />
+ <aura:attribute name="applyButton" type="String" default="" description="鏄剧ず閫傜敤鎸夐挳" />
+ <aura:attribute name="allApplyButton" type="String" default="" description="鏄剧ず鍏ㄩ儴鎸夐挳" />
+ <aura:attribute name="isLastPage" type="Boolean" default="false" description="鏄惁鏈�鍚庝竴椤碉紝濡傛灉鏄渶鍚庝竴椤碉紝閭d箞琛ㄦ牸鍒嗛〉鐨勪笅涓�椤典笉鍙敤" />
+ <aura:attribute name="draftValues" type="Object" default="[]" description="鏄庣粏椤佃〃鏍肩殑淇敼鍐呭锛屼繚瀛樺悗浠庤繖閲岃鍊煎瓨鍒板綋鍓嶈〃鏍奸噷闈�" />
+ <aura:attribute name="successMessage" type="String" description="鎴愬姛娑堟伅" />
+ <aura:attribute name="errorMessage" type="String" description="澶辫触娑堟伅" />
+ <aura:attribute name="check" type="Boolean" default="false" description="鍒ゆ柇鏄惁鍕鹃�夐』鐭�" />
+ <aura:attribute name="HospitalAcceptanceResults" type="string" default="" description="缁忛攢鍟嗛獙鏀剁粨鏋�" />
+ <aura:handler name="init" action="{!c.doInit}" value="{!this}" description="鍒濆鍖栨柟娉�" />
+ <aura:attribute name="showESignQR" type="Boolean" default="false" description="鍒ゆ柇鏄惁鍕鹃�夐』鐭�" />
+ <!-- 鏂囦欢鍚嶅睍绀哄垪 -->
+ <aura:attribute name="activeSections" type="List" default="['A']" />
+ <aura:attribute name="activeSectionsMessage" type="String" default="" />
+ <aura:attribute name="flName" type="String" default="" description="鏄剧ず鏂囦欢鍚�" />
+ <aura:attribute name="nameList" type="Object[]" description="鏄剧ず鎵�鏈夋枃浠跺悕" />
+ <aura:attribute name="flUpLoadName" type="String" default="" description="鏄剧ず涓婁紶鏂囦欢鍚�" />
+ <aura:attribute name="fileUpLoadSize" type="Integer" default="" description="鏄剧ず涓婁紶鏂囦欢鏁�" />
+ <aura:attribute name="nameUpLoadList" type="Object[]" description="鏄剧ず鎵�鏈夋枃浠跺悕" />
+ <aura:attribute name="base64List" type="Object[]" description="鏄剧ず鎵�鏈夋枃浠跺悕" />
+ <aura:attribute name="baseArray" type="Object[]" description="鏄剧ず鎵�鏈夋枃浠跺悕" />
+ <aura:attribute name="uploadFlag" type="Boolean" default="false" description="鐐瑰嚮涓婁紶鏂囦欢鏍囪瘑" />
+ <aura:attribute name="chkQR" type="Boolean" default="false" description="鏄惁鏄剧ず鍖婚櫌浜岀淮鐮�" />
+ <aura:attribute name="showQR" type="boolean" default="false" />
+ <aura:attribute name="submitAfterShow" type="Boolean" default="false" description="鎻愪氦鍚庢樉绀洪��鍥為椤垫寜閽�" />
+
+ <!-- 瀹㈡埛id -->
+ <aura:attribute name="accountId" type="string" default="" description="瀹㈡埛id" />
+ <!-- 璁板綍绫诲瀷鍚� -->
+ <aura:attribute name="recordTypeName" type="string" default="" description="璁板綍绫诲瀷鍚�" />
+ <!-- 鏂囦欢鍚嶅睍绀哄垪 -->
+ <!-- 鏂囦欢涓婁紶-->
+ <aura:attribute name="parentId" type="Id" default="" />
+ <!-- 'showLoadingSpinner' attribute for show/hide the uploading image and msg in aura:if-->
+ <aura:attribute name="showLoadingSpinner" type="boolean" default="false" />
+ <!-- 'fileName' attribute for display the selected file name -->
+ <aura:attribute name="fileName" type="String" default="No File Selected.." />
+ <!-- Lightning Input with file type and on file change call the 'handleFilesChange' controller -->
+ <aura:attribute name="getchunk" type="String" default="" />
+
+ <aura:attribute name="baseFile" type="String" default="" />
+ <!-- 涓婁紶闄勪欢 鍥剧墖棰勮 -->
+ <aura:attribute name="imageSrc" type="String" default="" />
+ <aura:attribute name="imgList" type="String" default="" />
+ <!--wangweipeng 20210616 閫夋嫨濂戒笂浼犲浘鐗囦互鍚庨瑙�-->
+ <aura:attribute name="imageBigSrc" type="String" default="" />
+ <!-- 鏂囦欢涓婁紶-->
+ <!-- 杩斿洖棣栭〉 start -->
+ <aura:attribute name="agencyDNSignUpStatus" type="String" default="" description="DN绛炬敹鐘舵��(缁忛攢鍟�)" />
+ <aura:attribute name="HPDNSignUpStatus" type="String" default="" description="DN绛炬敹鐘舵��(鍖婚櫌)" />
+ <aura:attribute name="agencySubmit" type="boolean" default="" description="鏄惁鎻愪氦" />
+ <aura:attribute name="DNNameSpare" type="String" default="" description="澶囩敤DN鍙�" />
+ <aura:attribute name="messageFlag" type="boolean" default="false" description="鍒ゆ柇涓婁紶鏂囦欢鏄惁鎻愮ず" />
+ <aura:attribute name="errorFlag" type="boolean" default="false" description="缃戠粶涓嶅ソ鐨勬儏鍐电疆鎴恡rue锛岀敱浜庢仮澶嶇綉缁滀笂浼犳枃浠讹紒" />
+ <!-- CHAN-BWCBL8 绮剧悽鎶�鏈� wql 20201225 start -->
+ <!-- 杩斿洖棣栭〉 end -->
+ <aura:attribute name="ISDenyReason" type="boolean" default="false" description="鏄惁缁忛攢鍟嗛┏鍥�" />
+ <!-- CHAN-BWCBL8 绮剧悽鎶�鏈� wql 20201225 end -->
+ <!-- 澧炲姞鎵弿鏍囪瘑锛宐atch鍙栨秷椹冲洖鍕鹃�� 2020/12/30 wql start -->
+ <aura:attribute name="IsAgencyScan" type="boolean" default="false" description="缁忛攢鍟嗘槸鍚︽壂鎻�" />
+ <!-- 澧炲姞鎵弿鏍囪瘑锛宐atch鍙栨秷椹冲洖鍕鹃�� 2020/12/30 wql end -->
+
+ <aura:registerEvent name="componentEvent" type="c:BackToHomePage" />
+
+ <!-- 澧炲姞鍒犻櫎鍔熻兘 绮剧悽鎶�鏈� thh 2021-09-26 start -->
+ <aura:attribute name="FontSrc" type="Map" default="{}" description="鍏宠仈鏂囦欢鍚嶅拰鏂囦欢" />
+ <aura:attribute name="FileSrc" type="Map" default="{}" description="鍏宠仈鍘嬬缉鍚庣殑鏂囦欢鍚嶅拰鏂囦欢" />
+ <aura:attribute name="attachmentID" type="Map" default="{}" description="鍏宠仈闄勪欢ID鍜岄檮浠跺悕" />
+ <aura:attribute name="loaded" type="Boolean" default="true" description="鏍规嵁浼犲叆鏂囦欢绫诲瀷鍐冲畾鏄惁鏄剧ず鍥剧墖" />
+ <aura:attribute name="isUploadName" type="Map" default="{}" description="鍏宠仈鏂囦欢鍚嶅拰璇ユ枃浠舵槸鍚﹀凡缁忎笂浼�" />
+ <aura:attribute name="pdfSrc" type="Map" default="{}" description="鍏宠仈pdf鏂囦欢鍚嶅拰绌虹櫧src" />
+ <!-- 澧炲姞鍒犻櫎鍔熻兘 绮剧悽鎶�鏈� thh 2021-09-26 end -->
+
+ <div>
+ <lightning:spinner aura:id="mySpinner" size="large" description="鍔犺浇涓粍浠讹紝濡傛灉涓嶉殣钘忔暣涓〉闈㈠氨鍦ㄥ姞杞戒腑" />
+ </div>
+
+ <!-- 鎴愬姛toast 缁勪欢鐨勫疄鐜�-->
+ <div class="slds-modal slds-fade-in-open slds-hide" aura:id="successDiv">
+ <ui:inputText aura:id="articleURL" />
+ <div class="demo-only" style="height: 8rem;width:40%">
+ <div class="slds-notify_container slds-is-relative">
+ <div class="slds-notify slds-notify_toast slds-theme_success" role="alert">
+ <div class=" slds-m-left_xx-large">
+ <div class="slds-notify__content slds-m-left_small slds-align_absolute-center slds-m-left_xx-large">
+ <lightning:icon alternativeText="Success" iconName="utility:success" size="small" class="buttonColor slds-m-right_small" />
+ <h2 class="slds-text-heading_small ">{!v.successMessage}</h2>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <!-- 澶辫触toast 缁勪欢鐨勫疄鐜�-->
+ <div class="slds-modal slds-fade-in-open slds-hide" aura:id="errorDiv">
+ <div class="demo-only" style="height: 8rem;" id="errorSonDiv1">
+ <div class="slds-notify_container slds-is-relative">
+ <div class="slds-notify slds-notify_toast slds-theme_error" role="status" id="errorSonDiv1" style="">
+ <div class="">
+ <div class="slds-notify__content
+ slds-align_absolute-center slds-m-left_none">
+ <lightning:icon alternativeText="error" iconName="utility:error" size="small" class="buttonColor slds-m-right_small" />
+ <h2 class="slds-text-heading_small ">
+ <div id="errorSonDiv3" style=" word-break: break-all;overflow: auto;">
+ {!v.errorMessage}
+ </div>
+ </h2>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <!-- 缁忛攢鍟嗛獙鏀堕〉鐨勯椤� -->
+ <aura:if isTrue="{!v.HomePage}">
+ <p style="font-size: 17px;">
+ 棣栭〉
+ </p>
+
+ <div id="qs" style=" margin-bottom: 5%;" class="slds-card">
+ <!-- 棣栭〉锛岀敱浜庝笌缁忛攢鍟嗙‘璁ら〉鍏敤鐩稿悓涓婚〉锛屾墍浠ヤ娇鐢ㄨ繖涓粍浠�,鐒跺悗鍙互鍏敤 -->
+ <c:eSignAgencyHomePage HospitalAcceptanceResults="{!v.HospitalAcceptanceResults}" eSignForm="{!v.eSignForm}" />
+ <!-- 娉ㄦ剰浜嬮」锛� -->
+ <div id="attention1" style=" position:relative;margin-right: 4px; margin-right: 4px; " class="">
+ <lightning:layout horizontalAlign="left" class="slds-m-top_large">
+ <lightning:layoutItem padding="around-small">
+ <div class="header-column">
+ <p class="field-title" title="Field 3" style="font-weight:bold;font-size: 15px;">娉ㄦ剰浜嬮」 锛� </p>
+ <p class="field-title" title="Field 3" style="font-weight:bold;font-size: 15px;"> 1銆佹敹鍒拌揣鐗╄鍦�24灏忔椂鍐呯‘璁� </p>
+ <p class="field-title" title="Field 3" style="font-weight:bold;font-size: 15px;"> 2銆佽揣鐗╁瑙傜牬鎹熻褰撻潰涓庨�佽揣浜虹瀛楃‘璁� </p>
+ <p class="field-title" title="Field 3" style="font-weight:bold;font-size: 15px;"> 3銆佷功闈㈤�氱煡渚涜揣鑰呯牬鎹熸儏鍐靛苟鎻忚堪鐮存崯鐘舵�� </p>
+ <p class="field-title" title="Field 3" style="font-weight:bold;font-size: 15px;"> 4銆佸繀瑕佹椂璇锋媿鐓ц褰� </p>
+ <!-- 椤荤煡 -->
+ </div>
+ <!-- CHAN-BWCBL8 绮剧悽鎶�鏈� wql 20201225 start -->
+ <aura:if isTrue="{!v.ISDenyReason}">
+ <p class="field-title" title="Field 3" style="font-weight:bold;font-size: 20px;color: #0f218b;"></p>
+ <p class="field-title" title="Field 3" style="font-weight:bold;font-size: 15px;color: red;"> 椹冲洖鍘熷洜锛歿!v.eSignForm.denyReason__c} </p>
+ </aura:if>
+ <!-- CHAN-BWCBL8 绮剧悽鎶�鏈� wql 20201225 end -->
+
+ </lightning:layoutItem>
+ </lightning:layout>
+
+
+ </div>
+ <div id="attention" style=" position:relative;margin-right: 4px; margin-right: 4px; " class="">
+ <!-- 鍐呭宸查槄璇� -->
+ <lightning:layout horizontalAlign="left" class="slds-m-top_small">
+ <lightning:layoutItem padding="around-small">
+ <lightning:input type="checkbox" label="涓婅堪鍐呭宸查槄璇伙紝鐐光�滀笅涓�姝モ�濆埌鏄庣粏椤�" id="chk" name="chk" checked="{!v.check}" />
+ </lightning:layoutItem>
+ </lightning:layout>
+ </div>
+ <!-- 浠庨椤靛埌妫�绱㈤〉鐨勪笂涓�姝ユ寜閽� -->
+ <div class="slds-float_left">
+ <lightning:button variant="brand" label="涓婁竴姝�" title="涓婁竴姝�" onclick="{! c.BackToHomePage }" />
+ </div>
+ <!-- 浠庨椤靛埌鏄庣粏椤电殑涓嬩竴姝ユ寜閽� -->
+ <div class="slds-float_right">
+ <lightning:button variant="brand" label="涓嬩竴姝�" title="涓嬩竴姝�" onclick="{! c.handleHomePageNextClick }" />
+ </div>
+ </div>
+
+ </aura:if>
+ <aura:renderIf isTrue="{!v.DetailsPage}">
+ <!-- 鍔犱笂婊氬姩鏉� -->
+
+ <div id="header" style="{!'width:'+v.floatWidth+'px;'}">
+ <tr>
+ <td class="field-title" title="Field 3" style="font-weight:bold;font-size: 15px;" align="left">锛堝悜鍙虫粦鍔ㄦ煡鐪嬫洿澶氫俊鎭級
+
+ </td>
+ </tr>
+
+ </div>
+ <!-- 妫�绱� -->
+ <div id="searchDiv" class="slds-page-header" role="banner" style="{!'width:'+v.floatWidth+'px;'}">
+ <div class="slds-float_center" style="text-align:center">
+ <tr>
+ <td align="right" style="{!'padding-left:'+v.floatWidth*0.15+'px;'}">绠卞彿:
+ <input id="searchInput" lightning-input_input="" type="text" class="slds-input" value="{!v.searchCase}" name="" onchange="{!c.searchByCaseNumber}" style="{!'width:'+v.floatWidth*0.2+'px;'}" />
+ </td>
+
+
+ <td style="padding-left: 5px;">
+ <aura:if isTrue="{!v.searchFlag}">
+ 璇ョ鍏辨湁{!v.searchSize}鏉℃暟鎹��
+ <aura:set attribute="else">
+ 璇ュ崟鍏辨湁{!v.lineItemSize}鏉℃暟鎹��
+ </aura:set>
+ </aura:if>
+ </td>
+ </tr>
+ </div>
+ </div>
+ <div id="allDiv" style="{!'width:'+v.allWidth+'px;overflow-x:scroll;'}">
+ <div id="in" style=" width:799px;margin-right: 4px; ">
+ <!-- 鏄剧ず鍦ㄦ槑缁嗛〉鐨勫綋鍓嶆槑缁嗙殑琛ㄦ牸 -->
+ <div id="inTable">
+ <!-- <lightning:card> -->
+ <aura:set attribute="title">
+ 璐х墿绛炬敹鍗曟槑缁�
+ </aura:set>
+
+ <table class="slds-table slds-table_cell-buffer slds-table_bordered slds-hint-parent slds-no-row-hover " style="table-layout: fixed;">
+ <thead>
+ <tr class="slds-line-height_reset slds-text-title_caps">
+ <!-- 绗竴鍒� 浜у搧鍨嬪彿 -->
+ <th class="slds-is-resizable" tabindex="-1" data-label="浜у搧鍨嬪彿" scope="row">
+
+ <span class="slds-grid slds-grid_align-spread" style="
+ width: 110px;text-align: left;display:block;">
+ <div class="slds-truncate">
+ <span title="浜у搧鍨嬪彿" class="slds-truncate" style="padding-bottom: 3px;">浜у搧鍨嬪彿</span> </div>
+ </span>
+
+
+
+ </th>
+ <!-- 绗簩鍒� CODE -->
+ <!-- <th class="slds-is-resizable" tabindex="-1" data-label="CODE" scope="row" style="width: 137px;height: 35px; outline: none;">
+
+ <span class="slds-grid slds-grid_align-spread" style="text-align: center;display:block;">
+ <div class="slds-truncate">
+ <span title="CODE" class="slds-truncate" style="padding-bottom: 3px;">CODE</span>
+ </div>
+
+ </span>
+
+
+ </th> -->
+
+ <!-- 绗笁鍒� 浜у搧鍚嶇О-->
+ <th class="slds-is-resizable" tabindex="-1" data-label="浜у搧鍚嶇О" scope="row" style="width: 361px;height: 35px;">
+
+ <span class="slds-grid slds-grid_align-spread" style="text-align: left;display:block;">
+ <div class="slds-truncate">
+ <span title="浜у搧鍚嶇О" class="slds-truncate" style="padding-bottom: 3px;">浜у搧鍚嶇О</span>
+
+
+ </div>
+ </span>
+
+
+ </th>
+
+ <!-- 绗洓鍒� 鏁伴噺-->
+ <th class="slds-is-resizable" tabindex="-1" data-label="鏁伴噺" scope="row" style="width: 50px;height: 35px;">
+
+ <span class="slds-grid slds-grid_align-spread" style="text-align: center;display:block;">
+ <div class="slds-truncate">
+ <span title="鏁伴噺" class="slds-truncate" style="padding-bottom: 3px;">鏁伴噺</span>
+
+
+ </div>
+ </span>
+
+
+
+ </th>
+
+ <!-- 绗簲鍒� 绠卞彿-->
+ <th class="slds-is-resizable" tabindex="-1" data-label="绠卞彿" scope="row" style="width: 50px;height: 35px;">
+
+ <span class="slds-grid slds-grid_align-spread" style="text-align: center;display:block;">
+ <div class="slds-truncate">
+ <span title="绠卞彿" class="slds-truncate" style="padding-bottom: 3px;">绠卞彿</span>
+
+
+ </div>
+ </span>
+
+
+
+ </th>
+ <!-- 绗叚鍒� 璐х墿鎯呭喌-->
+ <th class="slds-is-resizable" tabindex="-1" data-label="璐х墿鎯呭喌" scope="row" style="width: 110px;height: 35px;">
+
+ <span class="slds-grid slds-grid_align-spread" style="text-align: center;display:block;">
+ <div class="slds-truncate">
+ <span title="璐х墿鎯呭喌" class="slds-truncate" style="padding-bottom: 3px;">璐х墿鎯呭喌</span>
+
+
+ </div>
+ </span>
+
+
+
+ </th>
+ <!-- 绗竷鍒� 鎸夐挳鍒�-->
+
+ <th class="slds-is-resizable" tabindex="-1" data-label="鎸夐挳鍒�" scope="row" style="width: 86px;height: 35px;">
+
+ <span class="slds-grid slds-grid_align-spread" style="text-align: center;display:block;">
+ <div class="slds-truncate">
+ <span title="鎸夐挳鍒�" class="slds-truncate" style="padding-bottom: 3px;">鎸夌閫傜敤</span>
+
+
+ </div>
+ </span>
+
+
+
+ </th>
+
+
+ </tr>
+ </thead>
+ <aura:if isTrue="{!v.currentData.length > 0}">
+ <tbody>
+ <aura:iteration items="{!v.currentData}" var="curr" indexVar="idx">
+ <tr class="slds-hint-parent">
+ <!-- 琛岄」鐩篃鐢╰h 鍥犱负鐢╰d鏍囩鐐瑰嚮鍒楃殑楂樺厜 鍦ㄨ嫻鏋滆澶囦笂 鏈夌棔杩� -->
+ <!-- 琛岄」鐩� 绗竴鍒� 浜у搧鍨嬪彿 -->
+ <th class="slds-is-resizable" tabindex="-1" data-label="浜у搧鍨嬪彿" scope="row">
+
+ <span class="slds-grid slds-grid_align-spread" style="
+ width: 110px;
+ padding-top: 3px;height:30px;
+ ">
+ <div class="slds-truncate">
+ <lightning:formattedText id="{!curr.Id+':'+idx+':Asset_Model_No__c'}" value="{!curr.Asset_Model_No__c}" />
+ </div>
+ </span>
+
+
+
+ </th>
+
+ <!-- 琛岄」鐩� 绗簩鍒� CODE-->
+ <!-- <th class="slds-is-resizable" tabindex="-1" data-label="CODE" scope="row">
+
+ <span class="slds-grid slds-grid_align-spread">
+ <div class="slds-truncate">
+ <lightning:formattedText value="{!curr.OTCode__c}" />
+
+
+
+ </div>
+ </span>
+
+
+
+ </th> -->
+ <!-- 琛岄」鐩� 绗笁鍒� 浜у搧鍚嶇О-->
+ <th class="slds-is-resizable" tabindex="-1" data-label="浜у搧鍚嶇О" scope="row" style="white-space:nowrap;
+ overflow:hidden;
+ text-overflow: ellipsis;">
+
+ <span class="slds-grid slds-grid_align-spread">
+ <div class="slds-truncate">
+ <lightning:formattedText id="{!curr.Id+':'+idx+':productName__c'}" value="{!curr.productName__c}" />
+
+
+ </div>
+ </span>
+
+
+
+ </th>
+ <!-- 琛岄」鐩� 绗洓鍒� 鏁伴噺-->
+ <th class="slds-is-resizable" tabindex="-1" data-label="鏁伴噺" scope="row">
+
+ <span class="slds-grid slds-grid_align-spread" style="text-align: center;display:block;">
+ <div class="slds-truncate">
+ <lightning:formattedText id="{!curr.Id+':'+idx+':Count_Text__c'}" value="{!curr.Count_Text__c}" />
+
+
+ </div>
+ </span>
+
+
+
+ </th>
+ <!-- 琛岄」鐩� 绗簲鍒� 绠卞彿-->
+ <th class="slds-is-resizable" tabindex="-1" data-label="绠卞彿" scope="row">
+
+ <span class="slds-grid slds-grid_align-spread" style="text-align: center;display:block;">
+ <div class="slds-truncate">
+
+ <lightning:formattedNumber id="{!curr.Id+':'+idx+':CaseNumber__c'}" value="{!curr.CaseNumber__c}"/>
+
+
+ </div>
+ </span>
+
+
+
+ </th>
+
+ <!-- 琛岄」鐩� 绗叚鍒� 璐х墿鎯呭喌-->
+ <th class="slds-is-resizable" tabindex="-1" data-label="璐х墿鎯呭喌" scope="row">
+
+ <input id="{!curr.Id+':'+idx+':'+curr.CaseNumber__c}" lightning-input_input="" type="text" class="slds-input" value="{!curr.agencyGoodStatus__c}" name="{!curr.CaseNumber__c}" onchange="{!c.GoodsChanged}" />
+
+
+ </th>
+ <!-- 琛岄」鐩� 绗竷鍒� 鎸夐挳鍒� -->
+ <!-- <aura:if isTrue="{!v.applyButton}"> -->
+ <th class="slds-is-resizable" tabindex="-1" data-label="" scope="row">
+
+ <button id="{!curr.Id+':'+idx+':'}" tabindex="-1" class="slds-button ReturnButton" name="{!curr.CaseNumber__c}" style="{!'display:'+curr.isBlockButton__c+';width: 40px;'}" onclick="{!c.BatchUpdateByCase}">閫傜敤</button>
+
+
+ </th>
+
+ </tr>
+ </aura:iteration>
+ </tbody>
+
+ </aura:if>
+ </table>
+
+ <aura:if isTrue="{!empty(v.currentData)}">
+ <div class="slds-align_absolute-center">
+ No records found
+ </div>
+ </aura:if>
+
+ </div>
+ </div>
+ </div>
+
+ <!-- 鍒嗛〉鍔熻兘鐨勪笂涓�椤靛拰涓嬩竴椤碉紝 杩樻槸鏈�宸︿晶鐨勬樉绀哄綋鍓嶉〉鏁扮殑閫昏緫-->
+ <div id="floatDiv" style="{!'width:'+v.floatWidth+'px;'}">
+ <div class="slds-clearfix">
+ <div class="slds-page-header" role="banner">
+ <div class="slds-float_center" style="text-align:center">
+ <!-- iconName="utility:chevronleft" iconPosition="left" -->
+
+ <lightning:button iconName="utility:left" onclick="{!c.handleHome}" disabled="{! v.pageNumber == 1}" />
+ <lightning:button iconName="utility:chevronleft" iconPosition="left" onclick="{!c.handlePrev}" disabled="{! v.pageNumber == 1}" />
+ <span title="褰撳墠椤�"> {!v.pageNumber}
+ </span>
+ <lightning:button iconName="utility:chevronright" iconPosition="right" disabled="{! v.isLastPage}" onclick="{!c.handleNext}" />
+ <!-- iconName="utility:chevronright" iconPosition="right" -->
+ <lightning:button iconName="utility:right" disabled="{! v.isLastPage}" onclick="{!c.handleLast}" />
+
+ </div>
+ </div>
+ </div>
+
+ <!-- 鎻愪氦 -->
+ <!-- <div style="position: fixed;margin-left:12%;"> -->
+ <div class="slds-float_right">
+ <div id="attention" style=" position:relative;margin-right: 4px; margin-right: 4px; " class="">
+ <!-- 纭鎻愪氦 -->
+ <lightning:button variant="brand" label="涓嬩竴姝�" title="涓嬩竴姝�" onclick="{! c.handleDetailsPageNextClick }" />
+ </div>
+ </div>
+ <div class="slds-float_left">
+ <div id="attention" style=" position:relative;margin-right: 4px; margin-right: 4px; " class="">
+ <!-- 纭鎻愪氦 -->
+ <lightning:button variant="brand" label="涓婁竴姝�" title="涓婁竴姝�" onclick="{! c.handleShowPageNextClick }" />
+ </div>
+ </div>
+ </div>
+
+
+ </aura:renderIf>
+
+ <aura:if isTrue="{!v.uploadFilePage}">
+ <!-- 鍒濆鍖栦慨鏀规牱寮� wql -->
+ <!-- 鏂囦欢涓婁紶缁勪欢 -->
+ <div aura:id="uploadFile" id="uploadFileDiv">
+ <div class="slds-box">
+ <lightning:input aura:id="fileId" variant="brand" onchange="{!c.handleFilesChange}" type="file" label="1.閫夋嫨闄勪欢" multiple="false" />
+ <!-- <label style="display: inline-block;position: relative;height: 50px;width: 250px;" for="inputFile">
+ <div style="position: absolute;left: 0;top: 0;bottom: 0;
+ width: 100%;display: flex;border-radius: 10px;
+ align-items: center;justify-content: center;background: #ccc;
+ border: 3px dotted #bebebe;">
+ Click or drop something here
+ </div>
+ <lightning:input
+ style="position: absolute;left: 0;opacity: 0;top: 0;bottom: 0;width: 100%;"
+ name="file1" type="file" label="鍝堝搱鍝�"
+ multiple="true" accept="image/png, .zip" />
+ </label> -->
+ <lightning:notificationsLibrary aura:id="notifLibPlanA" />
+ <div style="display: inline-block; vertical-align: top;">
+ <div id="imgDiv">
+ <div id="font">棰勮鍖哄煙</div>
+ <!-- 褰撲笂浼犵殑闄勪欢涓簆df鏃讹紝闅愯棌棰勮鍖哄煙 绮剧悽鎶�鏈爐hh聽2021-09-15聽-->
+ <div id="loaded" style="display: none;">
+ <img id="image" class="imgeBigCss" src="{!v.imageSrc}" style="display: none;" onclick="{!c.imgeBig}" />
+ <!--wangweipeng 20210616 鍥剧墖閫夊ソ浠ュ悗锛屽鎴峰彲鑳介渶瑕侀瑙堟斁澶ф煡鐪�-->
+ <div id="outerdiv" onclick="{!c.imgeSmall}">
+ <img id="bigImg" src="{!v.imageBigSrc}" style="border:1px solid #fff;" />
+ </div>
+ </div>
+ <div id="fontpdf" style="display: none;">PDF鏂囦欢鏆備笉鏀寔棰勮</div>
+ </div>
+ </div>
+ <!-- 澧炲姞鏂囦欢鍒楄〃鍒犻櫎鍔熻兘聽聽绮剧悽鎶�鏈爐hh聽2021-08-25聽start聽-->
+ <!-- inline-block 鍏冪礌淇濇寔琛屽唴鎺掑垪涓斿彲浠ヨ缃楂� -->
+ <div style="display: inline-block; vertical-align: top;">
+ <!-- <lightning:buttonIcon iconName="utility:close" variant="bare" onclick="{!c.deleteClick}" alternativeText="Close modal" title="鍒犻櫎" iconClass="deleteicon"/> -->
+ <lightning:button label="鍒犻櫎" onclick="{!c.deleteClick}" title="鍒犻櫎" />
+ </div>
+ <!-- 澧炲姞鏂囦欢鍒楄〃鍒犻櫎鍔熻兘聽聽绮剧悽鎶�鏈爐hh聽2021-08-25聽end聽-->
+ <!-- 鏍囪瘑棰勮鍥剧墖鍚嶅瓧聽聽绮剧悽鎶�鏈爐hh聽2021-09-09聽start聽-->
+ <div>
+ <div id="filenow" class="field-title" title="Field 3" style="display: inline-block; margin-left:10px; word-break: break-all; word-wrap: break-word; font-weight:bold; font-size: 15px; padding-top: 5px; color:#0f218b;"></div>
+ <!-- 鏂囦欢涓婁紶鍚庡綋鍓嶆枃浠跺悕鍚庨潰鍑虹幇缁胯壊灏忓嬀 绮剧悽鎶�鏈� thh 2021-09-15 start-->
+ <div id="uploadicon" style="display: none;">
+ <div style="margin-left: 5px;">
+ <lightning:icon iconName="utility:success" alternativeText="Success!" variant="Success" title="success variant x-small" size="x-small" />
+ </div>
+ </div>
+ <!-- 鏂囦欢涓婁紶鍚庡綋鍓嶆枃浠跺悕鍚庨潰鍑虹幇缁胯壊灏忓嬀 绮剧悽鎶�鏈� thh 2021-09-15 end-->
+ </div>
+ <!-- 鏍囪瘑棰勮鍥剧墖鍚嶅瓧聽聽绮剧悽鎶�鏈爐hh聽2021-09-09聽end聽-->
+ <p class="field-title" title="Field 3" style="font-weight:bold;font-size: 15px;padding-top: 7px;color:red;">
+ 锛堥殢璐у悓琛屽崟鐩栫珷鍚庢媿鐓т笂浼狅級
+ </p>
+ <p class="field-title" title="Field 3" style="font-weight:bold;font-size: 15px;padding-top: 7px;color:red;">
+ 锛堥檮浠朵笂浼犳垚鍔熷悗璇风偣鍑绘彁浜わ級
+ </p>
+ <aura:if isTrue="{!v.showLoadingSpinner}">
+ <div class="slds-text-body_small slds-text-color_error">涓婁紶涓�...
+ <img src="/auraFW/resources/aura/images/spinner.gif" class="spinner-img" alt="Loading" />
+ </div>
+ </aura:if>
+ <br/>
+ <button class="slds-button slds-button_brand" onclick="{!c.doSave}">2.涓婁紶闄勪欢</button>
+ <lightning:accordion allowMultipleSectionsOpen="true" onsectiontoggle="{! c.handleSectionToggle }" activeSectionName="{! v.activeSections }">
+ <lightning:accordionSection name="A" label="鏂囦欢鍒楄〃">
+ <!-- 澧炲姞灏忚壊鍧� 绮剧悽鎶�鏈� thh 2021-09-26 start -->
+ <div>
+ <div style="display: inline-block; background-color: Grey; width:10px; height:10px;" />
+ <div style="margin-left: 5px; display: inline-block; font-weight:bold;font-size: 10px;padding-top: 7px;color:Grey;"> 鏈笂浼� </div>
+ <div style="margin-left: 40px; display: inline-block; background-color: Green; width:10px; height:10px;" />
+ <div style="margin-left: 5px; display: inline-block; font-weight:bold;font-size: 10px;padding-top: 7px;color:Green;"> 宸蹭笂浼� </div>
+ </div>
+ <!-- 澧炲姞灏忚壊鍧� 绮剧悽鎶�鏈� thh 2021-09-26 end -->
+ <!-- overflow: scroll; 鑷姩闅愯棌婊氬姩鏉� -->
+ <div id="fileNameDiv" style="height:50px;width:250px; overflow: scroll;">
+ <!-- 澧炲姞鐐瑰嚮鏂囦欢鍒楄〃鍒囨崲鏌ョ湅鍥剧墖闄勪欢聽聽绮剧悽鎶�鏈爐hh聽2021-08-24聽start聽-->
+ <p id='file00' onclick="{!c.buttonClicked}"></p>
+ <!-- 澧炲姞鐐瑰嚮鏂囦欢鍒楄〃鍒囨崲鏌ョ湅鍥剧墖闄勪欢聽聽绮剧悽鎶�鏈爐hh聽2021-08-24聽end聽-->
+ </div>
+ </lightning:accordionSection>
+ </lightning:accordion>
+ <div id="emailDiv" style="height: 90px;padding-top: 30px;">
+ <lightning:input aura:id="inputCmp" name="fullName" type="email" value="" label="濡傛湁闇�瑕侊紝璇峰~鍐欐偍鐨勯偖绠�:" messageWhenTypeMismatch="璇锋偍杈撳叆鏈夋晥鐨勭數瀛愰偖绠便��" />
+ </div>
+ </div>
+ </div>
+
+ <!-- 鏄庣粏椤佃烦杞嚦鏂囦欢涓婁紶椤电殑鎸夐挳 -->
+
+ <div id="footerDiv" style="{!'width:'+v.floatWidth+'px;display: flex;flex-direction: row;'}">
+
+ <div style="text-align:left;flex: 1;padding-top: 1px;">
+ <lightning:button variant="brand" label="涓婁竴姝�" title="涓婁竴姝�" onclick="{! c.handleShowFielePageNextClick }" />
+ </div>
+
+ <div id="submitAgency" style="text-align:right;flex: 1;padding-top: 1px;">
+ <lightning:button variant="brand" label="3.鎻愪氦" title="3.鎻愪氦" onclick="{! c.submitClick }" />
+ </div>
+
+ <aura:if isTrue="{!v.submitAfterShow}">
+ <div id="backHome" style="text-align:right;flex: 1;padding-top: 1px;">
+ <lightning:button variant="brand" label="閫�鍥為椤�" title="閫�鍥為椤�" onclick="{! c.BackToHomePage }" />
+ </div>
+ </aura:if>
+ </div>
+ </aura:if>
+
+ <aura:if isTrue="{!v.showESignQR}">
+
+ <!-- 鍔犺浇浜岀淮鐮侀〉闈� -->
+ <c:eSignHospitalQR DNName="{!v.DNName}" floatWidth="{! v.floatWidth }" />
+
+ </aura:if>
+
+ <aura:if isTrue="{!v.showQR}">
+ <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" style="min-Height: 600px">
+
+ <header class="slds-modal__header" style="{!'max-width:'+v.allWidth+'px;'}">
+ <lightning:buttonIcon iconName="utility:close" onclick="{! c.closeCancelModel }" alternativeText="close" variant="bare-inverse" class="slds-modal__close" />
+ <h4 id="modal-heading-01" class="slds-text-heading_medium slds-hyphenate">璇蜂繚鐣欒浜岀淮鐮佹彁渚涚粰鍖婚櫌杩涜绛炬敹</h4>
+ </header>
+ <div class="slds-modal__content slds-p-around_medium" id="modal-content-id-1" style="{!'min-Height:600px;max-width:'+v.allWidth+'px;'}">
+ <c:eSignHospitalQR DNName="{!v.DNName}" floatWidth="{! v.allWidth }" />
+ </div>
+
+ <footer class="slds-modal__footer" style="{!'max-width:'+v.allWidth+'px;'}">
+ <lightning:button variant="neutral" label="鍏抽棴" title="Cancel" onclick="{! c.hideHPQR }" />
+ </footer>
+ </div>
+ </section>
+ </aura:if>
+
+</aura:component>
\ No newline at end of file
diff --git a/force-app/main/default/aura/eSignAgencyPage/eSignAgencyPage.cmp-meta.xml b/force-app/main/default/aura/eSignAgencyPage/eSignAgencyPage.cmp-meta.xml
new file mode 100644
index 0000000..809f48b
--- /dev/null
+++ b/force-app/main/default/aura/eSignAgencyPage/eSignAgencyPage.cmp-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<AuraDefinitionBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>52.0</apiVersion>
+ <description>A Lightning Component Bundle</description>
+</AuraDefinitionBundle>
diff --git a/force-app/main/default/aura/eSignAgencyPage/eSignAgencyPage.css b/force-app/main/default/aura/eSignAgencyPage/eSignAgencyPage.css
new file mode 100644
index 0000000..3b61cba
--- /dev/null
+++ b/force-app/main/default/aura/eSignAgencyPage/eSignAgencyPage.css
@@ -0,0 +1,137 @@
+.THIS table thead tr th:first-child {
+ background-color: white;
+ position: fixed;
+ z-index: 2;
+ padding-top: 11px;
+ /*top: 45px;
+ width: 50px;*/
+}
+
+.THIS table thead tr th:nth-child(2) {
+ /*background-color: white;
+ position: fixed;
+ z-index: 1;
+ top: 45px;
+ padding-left: 50px;
+ width: 161px;*/
+ padding-left: 0px;
+}
+
+.THIS table thead tr th:nth-child(3) {
+ padding-left: 0px;
+}
+
+.THIS table thead tr th:nth-child(4) {
+ padding-left: 0px;
+}
+
+.THIS table thead tr th:nth-child(5) {
+ padding-left: 0px;
+}
+
+.THIS table thead tr th:nth-child(6) {
+ padding-left: 0px;
+}
+
+.THIS table tbody tr th:first-child {
+ background-color: white;
+ position: fixed;
+ z-index: 2;
+ padding-top: 9px;
+ /*width: 50px;
+ padding-top: 9.0px;*/
+}
+
+.THIS table tbody tr th:nth-child(2) {
+ /*background-color: white;
+ position: fixed;
+ z-index: 1;
+ padding-left: 50px;
+ padding-top: 9.0px;
+ width: 161px;*/
+ padding-left: 0px;
+}
+
+.THIS table tbody tr th:nth-child(3) {
+ padding-left: 0px;
+}
+
+.THIS table tbody tr th:nth-child(4) {
+ padding-left: 0px;
+}
+
+.THIS table tbody tr th:nth-child(5) {
+ padding-left: 0px;
+}
+
+.THIS #imgDiv{
+ width: 200px;
+ height: 200px;
+ border: 1px dashed #000;
+ /* margin: 0 auto; */
+ margin: 10px;
+ position: relative;
+ display: table-cell;
+ vertical-align: middle;
+ text-align: center;
+}
+
+.THIS #imgDiv>img {
+ width: 100%;
+ height: 100%;
+}
+
+/*wangweipeng 20210616 鍥剧墖棰勮鑳屾櫙鍥�*/
+.THIS #outerdiv {
+ position:fixed;
+ top:0;
+ left:0;
+ background:rgba(0,0,0,0.7);
+ z-index:2;
+ width:100%;
+ height:100%;
+ display:none;
+}
+/*wangweipeng 20210616 鍥剧墖棰勮鏍峰紡*/
+.THIS #bigImg {
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ transform: translate(-50%,-50%);
+}
+/*澧炲姞鏂囦欢鍒楄〃鍒犻櫎鍔熻兘聽聽绮剧悽鎶�鏈爐hh聽2021-08-25聽start*/
+/*鍒犻櫎鍥炬爣鐨勬牱寮�*/
+.THIS .deleteicon {
+ color: #0f218b;
+ width: 25px;
+ height: 25px;
+ /*杩欐牱鎵嶈兘浣跨浉閭荤殑a鐪嬭捣鏉ュ氨闅旂潃涓�涓竟妗�*/
+ margin: -1px 0 0 -1px;
+ float:left;
+ /*浣垮緱鐩搁偦鎺掑垪*/
+ position:relative;
+ border-bottom-left-radius: 2px;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+}
+
+.THIS .deleteicon:hover{
+ border:1px solid #0f218b;
+ border-radius:2px;
+ /*杩欐牱鎵嶈兘浣块紶鏍囨斁涓婂幓鐨勬椂鍊欐樉绀哄叏閮ㄧ殑钃濊壊妗�,鍚﹀垯鍥犱负maring鐨勭紭鏁咃紝杈规鐨勫彸鍗婇儴鍒嗕細琚浉閭荤殑a鐨勮竟妗嗛伄鐩� */
+ z-index: 10;
+}
+/*澧炲姞鏂囦欢鍒楄〃鍒犻櫎鍔熻兘聽聽绮剧悽鎶�鏈爐hh聽2021-08-25 end*/
+/*loaded鑷繁鍔犱簡style锛屽緱閲嶆柊璁剧疆鏍峰紡 绮剧悽鎶�鏈爐hh聽2021-09-15 start*/
+.THIS #loaded {
+ width: 200px;
+ height: 200px;
+ position: relative;
+ text-align: center;
+}
+
+.THIS #loaded>img {
+ width: 100%;
+ height: 100%;
+}
+/*loaded鑷繁鍔犱簡style锛屽緱閲嶆柊璁剧疆鏍峰紡 绮剧悽鎶�鏈爐hh聽2021-09-15 end*/
\ No newline at end of file
diff --git a/force-app/main/default/aura/eSignAgencyPage/eSignAgencyPageController.js b/force-app/main/default/aura/eSignAgencyPage/eSignAgencyPageController.js
new file mode 100644
index 0000000..4973b2c
--- /dev/null
+++ b/force-app/main/default/aura/eSignAgencyPage/eSignAgencyPageController.js
@@ -0,0 +1,720 @@
+({
+ // 鍒濆鍖栧嚱鏁�
+ doInit: function(cmp, event, helper) {
+ // 璁剧疆鏄庣粏椤佃〃鏍肩殑鏋勯��
+ helper.getColumnAndAction(cmp);
+ // 浠庢暟鎹簱閲岄潰璇诲彇鏁版嵁
+ helper.geteSign(cmp);
+ // helper.getFlieSpan(cmp);
+ // setInterval(helper.getDivSpan(), 1000);
+ // var reloadInterval = window.setInterval(helper.getDivSpan(), 1000);
+ },
+ // 鏄庣粏椤佃〃鏍肩殑缈婚〉涓嬩竴椤�
+ handleNext: function(cmp, event, helper) {
+ helper.handleNext(cmp);
+ },
+ // 鏄庣粏椤佃〃鏍肩殑缈婚〉涓婁竴椤�
+ handlePrev: function(cmp, event, helper) {
+ helper.handlePrev(cmp);
+ },
+ // 鏄庣粏椤佃〃鏍肩殑缈婚〉棣栭〉
+ handleHome: function(cmp, event, helper) {
+ helper.handleHome(cmp);
+ },
+ // 鏄庣粏椤佃〃鏍肩殑缈婚〉灏鹃〉
+ handleLast: function(cmp, event, helper) {
+ helper.handleLast(cmp);
+ },
+ // 琛ㄦ牸纭鏇存敼
+ handleSaveEdition: function(cmp, event, helper) {
+ //鑾峰彇鏇存敼鍐呭
+ var draftValues = event.getParam('draftValues');
+ helper.saveEdition(cmp, draftValues);
+ },
+ // 鏂囦欢涓婁紶缁撴灉鍚庣殑澶勭悊
+ handleUploadFinished: function(cmp, event) {
+ // 鑾峰彇涓婁紶鎴愬姛鏂囦欢鐨勪俊鎭�
+ var uploadedFiles = event.getParam("files");
+ var count;
+ var fileName;
+ var nameList = [];
+ if (uploadedFiles.length > 0) {
+ // 涔嬫墍浠ュ湪杩欓噷鍐欒繖涓脊鍑烘锛屽洜涓哄啓鍦╤elper閲岄潰涓嶇煡閬撲负鍟ュ脊涓嶅嚭鏉ワ紱
+ cmp.set("v.IsHaveFile", true);
+
+ // alert("璇锋偍鐐瑰嚮鎻愪氦鎸夐挳涓婁紶鏁版嵁锛�");
+ //鑾峰彇鏂囦欢涓婁紶鏁伴噺
+ var size = cmp.get("v.fileSize");
+ if (size) {
+ cmp.set('v.fileSize', size + uploadedFiles.length);
+ } else {
+ cmp.set('v.fileSize', uploadedFiles.length);
+ }
+ count = cmp.get("v.fileSize");
+
+ // console.log(file.name)
+ // 鎵撳嵃涓婁紶鎴愬姛鏂囦欢鐨勫悕瀛�
+ uploadedFiles.forEach(file => fileName = file.name);
+ var name = cmp.get("v.flName");
+ if (name) {
+ cmp.set('v.flName', name + ',' + fileName);
+ // nameList.pust(name);
+ } else {
+ cmp.set('v.flName', fileName);
+ }
+ fileName = cmp.get("v.flName");
+
+ }
+ if (count > 0) {
+ // alert("鎮ㄥ凡缁忔垚鍔熶笂浼�"+count+"涓枃浠�,鎻愪氦鐢宠璇风偣鍑绘彁浜ゆ寜閽��");
+ cmp.find('notifLibPlanA').showToast({
+ "title": "Success!",
+ "message": "鎮ㄥ凡缁忔垚鍔熼�夋嫨" + count + "涓枃浠�,璇风偣鍑讳笂浼犳枃浠舵寜閽笂浼犮��"
+ });
+
+ //鍒楀嚭鏂囦欢鍚�01 鎵�鏈夋枃浠跺悕閮界敤閫楀彿闅斿紑 鏍规嵁閫楀彿鎷嗗垎锛屽瓨鏀炬暟缁�
+ var nameList = fileName.split(',');
+ //瀛樻斁鍒板彉閲忎腑 鐢ㄤ簬涓婁竴椤典笅涓�椤佃繛鐐�
+ cmp.set('v.nameList', nameList);
+ if (nameList.length > 0) {
+ var strList = '';
+ for (var i = 0; i < nameList.length; i++) {
+ var num = Number(i) + 1;
+ var id = 'file0' + num;
+ //鏍囪瘑鏂囦欢鏄惁宸茬粡涓婁紶 绮剧悽鎶�鏈� thh 2021-09-26 start
+ if (isUploadName[nameList[i]]) {
+ var str = '<button id="' + id + '" class="slds-button" title="Field 3" style="text-align:left;width:250px;font-weight:bold;font-size: 15px;color:Green;" name="' + nameList[i] + '">' + nameList[i] + '</button><br>';
+ } else {
+ var str = '<button id="' + id + '" class="slds-button" title="Field 3" style="text-align:left;width:250px;font-weight:bold;font-size: 15px;color:Gray;" name="' + nameList[i] + '">' + nameList[i] + '</button><br>';
+ }
+ //鏍囪瘑鏂囦欢鏄惁宸茬粡涓婁紶 绮剧悽鎶�鏈� thh 2021-09-26 end
+ //鎷兼帴p鏍囩 鍒楀嚭鏂囦欢鍚峣d涓嶅悓
+ strList += str;
+ }
+ var obj = document.getElementById('file00');
+ obj.innerHTML = strList;
+ }
+ }
+
+ },
+ submitClick: function(cmp, event, helper) {
+ helper.submitClick(cmp);
+ },
+ // 涓婚〉璺宠浆鑷虫槑缁嗛〉
+ handleHomePageNextClick: function(cmp, event, helper) {
+ helper.handleHomePageNextClick(cmp);
+ },
+ // 鏄庣粏椤佃烦杞嚦鏂囦欢涓婁紶椤�
+ handleDetailsPageNextClick: function(cmp, event, helper) {
+ helper.IsWhole(cmp);
+ helper.handleDetailsPageNextClick(cmp);
+ },
+ //涓婚〉璺抽椤�
+ BackToHomePage: function(cmp, event, helper) {
+ helper.BackToHomePage(cmp);
+ },
+ handleShowFielePageNextClick: function(cmp, event, helper) {
+ helper.handleShowFielePageNextClick(cmp);
+ },
+ handleShowPageNextClick: function(cmp, event, helper) {
+ helper.handleShowPageNextClick(cmp);
+ },
+ handleMouseOver: function(cmp, event, helper) {
+ const icon = document.getElementById('icon');
+ icon.style.display = 'block';
+ },
+ handleMouseOut: function(cmp, event, helper) {
+ const icon = document.getElementById('icon');
+ icon.style.display = 'none';
+ },
+ GoodsChanged: function(cmp, event, helper) {
+ helper.GoodsChanged(cmp);
+ },
+ GoodsClick: function(cmp, event, helper) {
+ helper.GoodsClick(cmp);
+ },
+ getDivSpan: function(cmp, event, helper) {
+ helper.getDivSpan(cmp);
+ },
+ BatchUpdateByCase: function(cmp, event, helper) {
+
+ helper.BatchUpdateByCase(cmp, event);
+
+ },
+ allBatchUpdateByCase: function(cmp, event, helper) {
+
+ helper.allBatchUpdateByCase(cmp, event);
+
+ },
+ searchByCaseNumber: function(cmp, event, helper) {
+ helper.searchByCaseNumber(cmp, event);
+ },
+ handleShowNotice: function(cmp, event, helper) {
+ cmp.find('notifLib').showNotice({
+ "variant": "閿欒",
+ "header": "鍑洪棶棰樹簡锛�",
+ "message": "寰堥仐鎲撅紝鏇存柊璁板綍鏃跺嚭鐜伴棶棰樸��",
+ closeCallback: function() {
+ alert('鎮ㄥ叧闂簡璀︽姤锛�');
+ }
+ });
+ },
+ handleShowToast: function(cmp, event, helper) {
+ cmp.find('notifLib').showToast({
+ "title": "Success!",
+ "message": "The record has been updated successfully."
+ });
+ },
+ handleSectionToggle: function(cmp, event) {
+ var openSections = event.getParam('openSections');
+ var nameList = cmp.get('v.nameList');
+ if (nameList.length > 0) {
+ var strList = '';
+ for (var i = 0; i < nameList.length; i++) {
+ var num = Number(i) + 1;
+ var id = 'file0' + num;
+ //鏍囪瘑鏂囦欢鏄惁宸茬粡涓婁紶 绮剧悽鎶�鏈� thh 2021-09-26 start
+ if (isUploadName[nameList[i]]) {
+ var str = '<button id="' + id + '" class="slds-button" title="Field 3" style="text-align:left;width:250px;font-weight:bold;font-size: 15px;color:Green;" name="' + nameList[i] + '">' + nameList[i] + '</button><br>';
+ } else {
+ var str = '<button id="' + id + '" class="slds-button" title="Field 3" style="text-align:left;width:250px;font-weight:bold;font-size: 15px;color:Gray;" name="' + nameList[i] + '">' + nameList[i] + '</button><br>';
+ }
+ //鏍囪瘑鏂囦欢鏄惁宸茬粡涓婁紶 绮剧悽鎶�鏈� thh 2021-09-26 end
+ //鎷兼帴p鏍囩 鍒楀嚭鏂囦欢鍚峣d涓嶅悓
+ strList += str;
+ }
+ var obj = document.getElementById('file00');
+ obj.innerHTML = strList;
+ }
+ if (openSections.length === 0) {
+ cmp.set('v.activeSectionsMessage', "All sections are closed");
+ } else {
+ cmp.set('v.activeSectionsMessage', "Open sections: " + openSections.join(', '));
+ }
+ },
+
+ doSave: function(cmp, event, helper) {
+ var fileName;
+ var count;
+ var fileName1;
+ //鍏堝垽鏂� 宸蹭笂浼犵殑鏂囦欢鏄惁鏈夊��
+ var nameUpLoadList = cmp.get('v.nameUpLoadList');
+ if (cmp.find("fileId").get("v.files").length > 0) {
+ //浠ヤ笅鏄敤浜庡瓨鏀惧凡缁忎笂浼犵殑鏂囦欢鍚� 鐢ㄤ綔瀵规瘮(鐩稿悓鏂囦欢鏃朵笉鑳戒笂浼犵殑锛屾晠涓嶇敤鍐呭鍒ゆ柇)
+ fileName = cmp.find("fileId").get("v.files")[0]['name'];
+ var nameList = cmp.get("v.nameList");
+ //鏂囦欢鍒楄〃涓虹┖鏃讹紝涓嶅厑璁镐笂浼� 绮剧悽鎶�鏈� thh 2021-09-13
+ if (nameList.indexOf(fileName) >= 0) {
+ //瀹氫箟涓�涓爣璇� 鐢ㄦ潵鍒ゆ柇鐐瑰嚮杩囦笂浼犳枃浠舵寜閽�
+ cmp.set('v.uploadFlag', true);
+ //澧炲姞鏍囪鍝釜鏂囦欢宸蹭笂浼� 绮剧悽鎶�鏈� thh 2021-09-09 start
+ //鎶婃枃浠跺悕鍜岃鏂囦欢鏄惁宸茬粡涓婁紶鍏宠仈璧锋潵
+ var isUploadName = cmp.get("v.isUploadName");
+ isUploadName[fileName] = true;
+ cmp.set('v.isUploadName', isUploadName);
+ //澧炲姞鏍囪鍝釜鏂囦欢宸蹭笂浼� 绮剧悽鎶�鏈� thh 2021-09-09聽end
+ //鑾峰彇鏂囦欢涓婁紶鏁伴噺
+ var size = cmp.get("v.fileUpLoadSize");
+ if (size) {
+ cmp.set('v.fileUpLoadSize', size + cmp.find("fileId").get("v.files").length);
+ } else {
+ cmp.set('v.fileUpLoadSize', cmp.find("fileId").get("v.files").length);
+ }
+ fileName1 = fileName;
+ var name = cmp.get("v.flUpLoadName");
+ if (name && name != '') {
+ cmp.set('v.flUpLoadName', name + ',' + fileName1);
+ } else {
+ cmp.set('v.flUpLoadName', fileName1);
+ }
+ fileName = cmp.get("v.flUpLoadName");
+ console.log("fileName:" + fileName);
+ helper.uploadHelper(cmp, event);
+
+ } else {
+ alert('娌℃湁闄勪欢闇�瑕佷笂浼狅紒');
+ }
+ } else {
+ alert('璇锋偍閲嶆柊閫夋嫨涓婁紶鍥剧墖锛�');
+
+ if (nameUpLoadList.length < 0 || nameUpLoadList.length == 0) {
+ //鍏堝垽绌� 鏈夊彲鑳戒竴鎵撳紑椤甸潰灏辩偣鍑讳笂浼犳寜閽�
+ //璇存槑绗竴娆$偣鍑婚�夋嫨鍥剧墖锛屾病鏈変笂浼犲張鐐瑰嚮浜嗙浜屾
+ if (document.getElementById('file01')) {
+ document.getElementById('file01').remove();
+ }
+
+ } else {
+ cmp.set('v.nameList', nameUpLoadList);
+ //閲嶆柊瀹氫箟閫変腑鏂囦欢鐨勬暟閲�
+ cmp.set('v.fileSize', nameList.length);
+ if (nameUpLoadList.length > 0) {
+ var strList = '';
+ for (var i = 0; i < nameList.length; i++) {
+ var num = Number(i) + 1;
+ var id = 'file0' + num;
+ //鏍囪瘑鏂囦欢鏄惁宸茬粡涓婁紶 绮剧悽鎶�鏈� thh 2021-09-26 start
+ if (isUploadName[nameList[i]]) {
+ var str = '<button id="' + id + '" class="slds-button" title="Field 3" style="text-align:left;width:250px;font-weight:bold;font-size: 15px;color:Green;" name="' + nameList[i] + '">' + nameList[i] + '</button><br>';
+ } else {
+ var str = '<button id="' + id + '" class="slds-button" title="Field 3" style="text-align:left;width:250px;font-weight:bold;font-size: 15px;color:Gray;" name="' + nameList[i] + '">' + nameList[i] + '</button><br>';
+ }
+ //鏍囪瘑鏂囦欢鏄惁宸茬粡涓婁紶 绮剧悽鎶�鏈� thh 2021-09-26 end
+ //鎷兼帴p鏍囩 鍒楀嚭鏂囦欢鍚峣d涓嶅悓
+ strList += str;
+ }
+ var obj = document.getElementById('file00');
+ obj.innerHTML = strList;
+ }
+ }
+ }
+ },
+ //涓婁紶鍥剧墖鍚� 棰勮鍥剧墖
+ imgName: function(cmp, event) {
+ //绾ц仈鎿嶄綔 鐐瑰嚮瀛愭爣绛� 杩涘叆鐖舵爣绛剧偣鍑讳簨浠�
+ //鑾峰彇鐐瑰嚮鐨勫瓙鏍囩
+ var name = event.target.lastChild.data;
+ console.log(name);
+ var imgSrcList = cmp.get("v.imgList");
+ var imgSrc = imgSrcList[name];
+ document.getElementById('image').src = imgSrc;
+ },
+ //鑾峰彇鍥剧墖src
+ getImgSrc: function(imgSrcList, name) {
+ return imgSrcList[name];
+ },
+ //鍒朵綔鏁扮粍 key锛歯ame vlaue锛歴rc
+ setImgSrc: function(str1, prop, val) {
+ // 濡傛灉 val 琚拷鐣�
+ if (typeof val === "undefined") {
+ // 鍒犻櫎灞炴��
+ delete str1[prop];
+ } else {
+ // 娣诲姞 鎴� 淇敼
+ str1[prop] = val;
+ }
+ return str1;
+ },
+ handleFilesChange: function(cmp, event, helper) {
+ //鍥剧墖棰勮
+ var imgList = {};
+ var fileName = 'No File Selected..';
+ var count;
+ var fileName1;
+ var nameList = [];
+ var uploadedFiles = event.getParam("files");聽聽聽聽
+ var isUploadName = cmp.get("v.isUploadName");聽
+ var reader = new FileReader();
+ reader.readAsDataURL(uploadedFiles[0]);
+ //鏂囦欢涓簆df鏃�,闅愯棌棰勮鍥剧墖鍖哄煙,鏄剧ず鏂囧瓧鈥淧DF鏂囦欢鏆備笉鏀寔棰勮鈥� 绮剧悽鎶�鏈爐hh聽2021-09-13聽start
+ var name = event.getSource().get("v.files")[0]['name'];
+ var indexPdf = name.lastIndexOf('.');
+ var pdf = name.substring(indexPdf, name.length);
+ if (pdf == '.pdf') {
+ document.getElementById('loaded').style.display = 'none';
+ document.getElementById('fontpdf').style.display = 'block';
+ } else {
+ document.getElementById('loaded').style.display = 'block';
+ document.getElementById('fontpdf').style.display = 'none';
+ }
+ //鏂囦欢涓簆df鏃�,闅愯棌棰勮鍥剧墖鍖哄煙,鏄剧ず鏂囧瓧鈥淧DF鏂囦欢鏆備笉鏀寔棰勮鈥� 绮剧悽鎶�鏈爐hh聽2021-09-13聽end
+ reader.onload = function(e) {
+ var imgBase = e.target.result;
+ var nameList = cmp.get('v.nameUpLoadList');
+ //鍥剧墖棰勮
+ cmp.set("v.imageSrc", imgBase);
+ //娓呴櫎div鏂囧瓧
+ document.getElementById("font").textContent = "";
+ //棰勮鍥剧墖
+ document.getElementById('image').style.display = 'block';
+ // 濡傛灉 val 琚拷鐣�
+ if (typeof imgBase === "undefined") {
+ // 鍒犻櫎灞炴��
+ delete imgList[uploadedFiles[0].name];
+ } else {
+ // 娣诲姞 鎴� 淇敼
+ imgList[uploadedFiles[0].name] = imgBase;
+ }
+ //澧炲姞鐐瑰嚮鏂囦欢鍒楄〃鍒囨崲鏌ョ湅鍥剧墖闄勪欢聽聽绮剧悽鎶�鏈爐hh聽2021-08-23聽start
+ //鎶婇瑙堝浘鐗囩殑src瀛樺叆map锛屾妸鍥剧墖鍚嶅瓧鍜宻rc杩炴帴璧锋潵
+ var fontsrc = cmp.get("v.FontSrc");
+ fontsrc[uploadedFiles[0].name] = imgBase;
+ cmp.set('v.FontSrc', fontsrc);
+ //澧炲姞鐐瑰嚮鏂囦欢鍒楄〃鍒囨崲鏌ョ湅鍥剧墖闄勪欢聽聽绮剧悽鎶�鏈爐hh聽2021-08-23聽end
+
+ }
+ var flag = cmp.get('v.uploadFlag');
+ console.log('uploadedFiles:' + uploadedFiles);
+ console.log("鏂囦欢闀垮害锛�" + uploadedFiles.length);
+ //鍏堝垽鏂� 宸蹭笂浼犵殑鏂囦欢鏄惁鏈夊��
+ var nameUpLoadList = cmp.get('v.nameUpLoadList');
+ if (event.getSource().get("v.files").length > 0) {
+ fileName = event.getSource().get("v.files")[0]['name'];
+ //鏍囪瘑棰勮鍥剧墖鍚嶅瓧 绮剧悽鎶�鏈� thh 2021-09-09 start
+ if (fileName.length != 1 && isUploadName[fileName]) {
+ var str = '<span>褰撳墠鏂囦欢锛�</span><span id="nowfile" class="field-title" style="color:Green;" title="' + fileName + '">' + fileName + '</span>';
+ document.getElementById("uploadicon").style.display = 'inline-block';
+ } else {
+ var str = '<span>褰撳墠鏂囦欢锛�</span><span id="nowfile" class="field-title" style="color:Gray;" title="' + fileName + '">' + fileName + '</span>';
+ document.getElementById("uploadicon").style.display = 'none';
+ }
+ var obj = document.getElementById('filenow');
+ obj.innerHTML = str;
+ //鏍囪瘑棰勮鍥剧墖鍚嶅瓧 绮剧悽鎶�鏈� thh 2021-09-09 end
+ cmp.set("v.imageSrc", fileName);
+ // 涔嬫墍浠ュ湪杩欓噷鍐欒繖涓脊鍑烘锛屽洜涓哄啓鍦╤elper閲岄潰涓嶇煡閬撲负鍟ュ脊涓嶅嚭鏉ワ紱
+ cmp.set("v.IsHaveFile", true);
+ if (nameUpLoadList.length < 0 || nameUpLoadList.length == 0) {
+ fileName1 = fileName;
+ cmp.set('v.flName', fileName1);
+ fileName = cmp.get("v.flName");
+ //鍐欐鏄洜涓轰笂浼犳枃浠朵竴娆″彧鑳戒笂浼犱竴涓�
+ count = 1;
+
+ cmp.set("v.fileSize", count);
+ } else {
+ var size = cmp.get("v.fileSize");
+ if (size) {
+ cmp.set('v.fileSize', size + uploadedFiles.length);
+ } else {
+ cmp.set('v.fileSize', uploadedFiles.length);
+ }
+ count = cmp.get("v.fileSize");
+ // 鎵撳嵃閫変腑鏂囦欢鐨勫悕瀛�
+ fileName1 = fileName;
+ var name = cmp.get("v.flName");
+ if (name) {
+ cmp.set('v.flName', name + ',' + fileName1);
+ // nameList.pust(name);
+ } else {
+ cmp.set('v.flName', fileName1);
+ }
+ fileName = cmp.get("v.flName");
+ }
+
+ if (count > 0) {
+ //鍒楀嚭鏂囦欢鍚�01 鎵�鏈夋枃浠跺悕閮界敤閫楀彿闅斿紑 鏍规嵁閫楀彿鎷嗗垎锛屽瓨鏀炬暟缁�
+ var nameList = fileName.split(',');
+ for (var i = 0; i < nameList.length; i++) {
+ for (var j = i + 1; j < nameList.length; j++) {
+ if (nameList[i] == nameList[j]) { //绗竴涓瓑鍚屼簬绗簩涓紝splice鏂规硶鍒犻櫎绗簩涓�
+ nameList.splice(j, 1);
+ j--;
+ }
+ }
+ }
+ count = nameList.length;
+ // alert("鎮ㄥ凡缁忔垚鍔熶笂浼�"+count+"涓枃浠�,鎻愪氦鐢宠璇风偣鍑绘彁浜ゆ寜閽��");
+ cmp.find('notifLibPlanA').showToast({
+ "title": "Success!",
+ "message": "鎮ㄥ凡缁忛�変腑" + count + "涓枃浠�,璇风偣鍑讳笂浼犳枃浠舵寜閽繘琛屼笂浼犮��"
+ });
+
+ //鍒楀嚭鏂囦欢鍚�01 鎵�鏈夋枃浠跺悕閮界敤閫楀彿闅斿紑 鏍规嵁閫楀彿鎷嗗垎锛屽瓨鏀炬暟缁�
+ // var nameList =fileName.split(',');
+ //瀛樻斁鍒板彉閲忎腑 鐢ㄤ簬涓婁竴椤典笅涓�椤佃繛鐐�
+ cmp.set('v.nameList', nameList);
+ if (nameList.length > 0) {
+ var strList = '';
+ for (var i = 0; i < nameList.length; i++) {
+ var num = Number(i) + 1;
+ var id = 'file0' + num;
+ //鏍囪瘑鏂囦欢鏄惁宸茬粡涓婁紶 绮剧悽鎶�鏈� thh 2021-09-26 start
+ if (isUploadName[nameList[i]]) {
+ var str = '<button id="' + id + '" class="slds-button" title="Field 3" style="text-align:left;width:250px;font-weight:bold;font-size: 15px;color:Green;" name="' + nameList[i] + '">' + nameList[i] + '</button><br>';
+ } else {
+ var str = '<button id="' + id + '" class="slds-button" title="Field 3" style="text-align:left;width:250px;font-weight:bold;font-size: 15px;color:Gray;" name="' + nameList[i] + '">' + nameList[i] + '</button><br>';
+ }
+ //鏍囪瘑鏂囦欢鏄惁宸茬粡涓婁紶 绮剧悽鎶�鏈� thh 2021-09-26 end
+ //鎷兼帴p鏍囩 鍒楀嚭鏂囦欢鍚峣d涓嶅悓
+ strList += str;
+ }
+ var obj = document.getElementById('file00');
+ obj.innerHTML = strList;
+ }
+ }
+ } else {
+ if (nameUpLoadList.length < 0 || nameUpLoadList.length == 0) {
+ //璇存槑绗竴娆$偣鍑婚�夋嫨鍥剧墖锛屾病鏈変笂浼犲張鐐瑰嚮浜嗙浜屾
+ cmp.set('v.nameList', null);
+
+ } else {
+ cmp.set('v.nameList', nameUpLoadList);
+ if (nameUpLoadList.length > 0) {
+ var strList = '';
+ for (var i = 0; i < nameList.length; i++) {
+ var num = Number(i) + 1;
+ var id = 'file0' + num;
+ //鏍囪瘑鏂囦欢鏄惁宸茬粡涓婁紶 绮剧悽鎶�鏈� thh 2021-09-26 start
+ if (isUploadName[nameList[i]]) {
+ var str = '<button id="' + id + '" class="slds-button" title="Field 3" style="text-align:left;width:250px;font-weight:bold;font-size: 15px;color:Green;" name="' + nameList[i] + '">' + nameList[i] + '</button><br>';
+ } else {
+ var str = '<button id="' + id + '" class="slds-button" title="Field 3" style="text-align:left;width:250px;font-weight:bold;font-size: 15px;color:Gray;" name="' + nameList[i] + '">' + nameList[i] + '</button><br>';
+ }
+ //鏍囪瘑鏂囦欢鏄惁宸茬粡涓婁紶 绮剧悽鎶�鏈� thh 2021-09-26 end
+ //鎷兼帴p鏍囩 鍒楀嚭鏂囦欢鍚峣d涓嶅悓
+ strList += str;
+ }
+ var obj = document.getElementById('file00');
+ obj.innerHTML = strList;
+ }
+
+ }
+
+ }
+ cmp.set("v.fileName", fileName);
+ },
+ showHPQR: function(cmp, event, helper) {
+ var check = cmp.get('v.chkQR');
+ if (check) {
+ cmp.set('v.showQR', true);
+ } else {
+ cmp.set('v.showQR', false);
+ }
+
+ },
+ hideHPQR: function(cmp, event, helper) {
+ cmp.set('v.showQR', false);
+ cmp.set('v.chkQR', false);
+ },
+
+ //wangweipeng 20210616 棰勮鍥剧墖鏀惧ぇ鍔熻兘
+ imgeBig: function(cmp, event, helper) {
+ var imgeObj = document.getElementById("image");
+ //鍥剧墖棰勮
+ cmp.set("v.imageBigSrc", imgeObj.src);
+
+ //棰勮鍥剧墖
+ document.getElementById('image').style.display = 'none';
+ document.getElementById('outerdiv').style.display = 'block';
+ },
+ //wangweipeng 20210616 棰勮鍥剧墖鍏抽棴鎸夐挳
+ imgeSmall: function() {
+ document.getElementById('image').style.display = 'block';
+ document.getElementById('outerdiv').style.display = 'none';
+ },
+ //澧炲姞鐐瑰嚮鏂囦欢鍒楄〃鍒囨崲鏌ョ湅鍥剧墖闄勪欢聽聽绮剧悽鎶�鏈爐hh聽2021-08-23聽start
+ //鐐瑰嚮鏂囦欢鍒楄〃閲岀殑鍚嶅瓧瀹炵幇鍥剧墖鐨勫垏鎹�
+ buttonClicked: function(cmp, event) {
+ var name = event.target.name;
+ var srcmap = cmp.get("v.FontSrc");
+ var value = srcmap[name];
+ //鏂囦欢涓簆df鏃�,闅愯棌棰勮鍥剧墖鍖哄煙,鏄剧ず鏂囧瓧鈥淧DF鏂囦欢鏆備笉鏀寔棰勮鈥� 绮剧悽鎶�鏈爐hh聽2021-09-13聽start
+ var indexPdf = name.lastIndexOf('.');
+ var pdf = name.substring(indexPdf, name.length);
+ if (pdf == '.pdf') {
+ document.getElementById('loaded').style.display = 'none';
+ document.getElementById('fontpdf').style.display = 'block';
+ } else {
+ document.getElementById('loaded').style.display = 'block';
+ document.getElementById('image').src = value;
+ document.getElementById('image').style.display = 'block';
+ document.getElementById('fontpdf').style.display = 'none';
+ }
+ //鏂囦欢涓簆df鏃�,闅愯棌棰勮鍥剧墖鍖哄煙 绮剧悽鎶�鏈爐hh聽2021-09-13聽end
+ //鏍囪瘑棰勮鍥剧墖鍚嶅瓧 绮剧悽鎶�鏈� thh 2021-09-10 start
+ var isUploadName = cmp.get("v.isUploadName");
+ if (isUploadName[name]) {
+ var str = '<span>褰撳墠鏂囦欢锛�</span><span id="nowfile" class="field-title" style="color:Green;" title="' + name + '">' + name + '</span>';
+ document.getElementById("uploadicon").style.display = 'inline-block';
+ } else {
+ var str = '<span>褰撳墠鏂囦欢锛�</span><span id="nowfile" class="field-title" style="color:Gray;" title="' + name + '">' + name + '</span>';
+ document.getElementById("uploadicon").style.display = 'none';
+ }
+ var obj = document.getElementById('filenow');
+ obj.innerHTML = str;
+ //鏍囪瘑棰勮鍥剧墖鍚嶅瓧 绮剧悽鎶�鏈� thh 2021-09-10 end
+ },
+ //澧炲姞鐐瑰嚮鏂囦欢鍒楄〃鍒囨崲鏌ョ湅鍥剧墖闄勪欢聽聽绮剧悽鎶�鏈爐hh聽2021-08-23聽end
+ //澧炲姞鏂囦欢鍒楄〃鍒犻櫎鍔熻兘聽聽绮剧悽鎶�鏈爐hh聽2021-08-25聽start
+ deleteClick: function(cmp, event, helper) {
+ var srcmap = cmp.get("v.FontSrc");
+ var nameList = cmp.get("v.nameList");
+ var nameUpLoadList = cmp.get('v.nameUpLoadList');
+ var flUpLoadName = cmp.get("v.flUpLoadName");
+ var flName = cmp.get("v.flName");
+ var filesrc = cmp.get("v.FileSrc");
+ var base64List = cmp.get("v.base64List");
+ var baseArray = cmp.get("v.baseArray");
+ var isUploadName = cmp.get("v.isUploadName");
+ //鏍规嵁褰撳墠鏂囦欢鑾峰彇褰撳墠鏂囦欢鍚�
+ if (nameList != '') {
+ var name = document.getElementById("nowfile").title;
+ } else {
+ alert("娌℃湁闄勪欢锛屾棤娉曞垹闄わ紒");
+ }
+ //鎶婅鍒犵殑src鍒嗘瀛樺叆baseFile锛岀劧鍚庨�氳繃閬嶅巻鍒犻櫎base64List涓殑鏁版嵁
+ var baseFile = cmp.get("v.baseFile");
+ var startPosition = 0;
+ var fileContents = filesrc[name];
+ //濡傛灉fileContents鏈夊�硷紝璇存槑闄勪欢宸茬粡涓婁紶
+ if (fileContents) {
+ var fileLength = Math.ceil(fileContents.length / helper.CHUNK_SIZE);
+ for (var i = 0; i < fileLength; i++) {
+ baseFile = cmp.get("v.baseFile");
+ var endPosition = Math.min(
+ fileContents.length,
+ startPosition + helper.CHUNK_SIZE
+ );
+ var getchunk = fileContents.substring(startPosition, endPosition);
+ fileContents = fileContents.substring(endPosition);
+ if (baseFile) {
+ cmp.set('v.baseFile', baseFile + ',' + getchunk);
+ } else {
+ cmp.set('v.baseFile', getchunk);
+ }
+ baseFile = cmp.get("v.baseFile");
+ }
+ //澧炲姞鏍囪鍝釜鏂囦欢宸蹭笂浼� 绮剧悽鎶�鏈� thh 2021-09-09 start
+ //鍒犻櫎siUploadName涓璶ame瀵瑰簲鐨勫垽鏂�
+ delete isUploadName[name];
+ //澧炲姞鏍囪鍝釜鏂囦欢宸蹭笂浼� 绮剧悽鎶�鏈� thh 2021-09-09聽end
+ //鍒犻櫎flUpLoadName涓殑name
+ var Arrflag = flUpLoadName instanceof Array;
+ if (!Arrflag) {
+ flUpLoadName = flUpLoadName.split(',');
+ }
+ for (var i = 0; i < flUpLoadName.length; i++) {
+ if (flUpLoadName[i] == name) {
+ flUpLoadName.splice(i, 1);
+ break;
+ }
+ }
+ cmp.set("v.flUpLoadName", flUpLoadName);
+ //鍒犻櫎涓�涓暟鎹箣鍚巉ileUpLoadSize涓殑鏁伴噺瑕�-1
+ var fileUpLoadSize = cmp.get("v.fileUpLoadSize");
+ var deletefileUpLoadSize = fileUpLoadSize - 1;
+ cmp.set("v.fileUpLoadSize", deletefileUpLoadSize);
+ }
+ //鍒犻櫎srcname涓璶ame瀵瑰簲鐨剆rc
+ delete srcmap[name];
+ //鍒犻櫎filesrc涓璶ame瀵瑰簲鐨剆rc
+ delete filesrc[name];
+ //鍒犻櫎nameList涓殑name
+ for (var i = 0; i < nameList.length; i++) {
+ if (nameList[i] == name) {
+ nameList.splice(i, 1);
+ break;
+ }
+ }
+ cmp.set("v.nameList", nameList);
+ //鍒犻櫎nameUpLoadList涓殑name
+ for (var i = 0; i < nameUpLoadList.length; i++) {
+ if (nameUpLoadList[i] == name) {
+ nameUpLoadList.splice(i, 1);
+ break;
+ }
+ }
+ cmp.set("v.nameUpLoadList", nameUpLoadList);
+ //鍒犻櫎flName涓殑name
+ var Arryflag = flName instanceof Array;
+ if (!Arryflag) {
+ flName = flName.split(',');
+ }
+ for (var i = 0; i < flName.length; i++) {
+ if (flName[i] == name) {
+ flName.splice(i, 1);
+ break;
+ }
+ }
+ cmp.set("v.flName", flName);
+ //閫氳繃閬嶅巻鍒犻櫎base64List涓殑鏁版嵁
+ baseFile = cmp.get("v.baseFile");
+ baseArray = baseFile.split(',');
+ for (var j = 0; j < baseArray.length; j++) {
+ for (var i = 0; i < base64List.length; i++) {
+ var baseArray100;
+ if (baseArray[j].length > 100) {
+ baseArray100 = baseArray[j].substring(0, 100);
+ } else {
+ baseArray100 = baseArray[j].substring(0);
+ }
+ if (base64List[i].indexOf(baseArray100) >= 0) {
+ base64List.splice(i, 1);
+ break;
+ }
+ }
+ }
+ cmp.set("v.base64List", base64List);
+ //鎷兼帴鍒犻櫎瀹屼箣鍚庣殑鏂囦欢鍒楄〃,浠ュ強鍥剧墖鐨勬樉绀�
+ var strList = '';
+ if (nameList.length == 0) {
+ //鏂囦欢鍒犲畬涔嬪悗闅愯棌鍥剧墖棰勮鍖哄煙浠ュ強缁胯壊灏忊垰,棰勮鍖哄煙鏄剧ず鏂囧瓧鈥淧DF鏂囦欢鏆備笉鏀寔棰勮鈥� 绮剧悽鎶�鏈� thh 2021-09-15 start
+ document.getElementById('loaded').style.display = 'none';
+ document.getElementById("uploadicon").style.display = 'none';
+ //鏂囦欢鍒犲畬涔嬪悗闅愯棌鍥剧墖棰勮鍖哄煙浠ュ強缁胯壊灏忊垰,棰勮鍖哄煙鏄剧ず鏂囧瓧鈥淧DF鏂囦欢鏆備笉鏀寔棰勮鈥� 绮剧悽鎶�鏈� thh 2021-09-15 end
+ //鏂囦欢鍒犲畬涔嬪悗,棰勮鍖哄煙鐨刾df鏂囧瓧涔熶笉鏄剧ず
+ document.getElementById('fontpdf').style.display = 'none';
+ //鏂囦欢鍒犲畬涔嬪悗,棰勮鍖哄煙鐨刾df鏂囧瓧涔熶笉鏄剧ず
+ var str = '';
+ var obj = document.getElementById('file00');
+ obj.innerHTML = str;
+ //鏍囪瘑棰勮鍥剧墖鍚嶅瓧 绮剧悽鎶�鏈� thh 2021-09-10 start
+ var obj1 = document.getElementById('filenow');
+ obj1.innerHTML = str;
+ //鏍囪瘑棰勮鍥剧墖鍚嶅瓧 绮剧悽鎶�鏈� thh 2021-09-10 end
+ } else {
+ var value = srcmap[nameList[0]];
+ //鏂囦欢涓簆df鏃跺睍绀虹┖鐧藉浘鐗�,鏄剧ず鏂囧瓧鈥淧DF鏂囦欢鏆備笉鏀寔棰勮鈥� 绮剧悽鎶�鏈爐hh聽2021-09-15聽start
+ var indexPdf = nameList[0].lastIndexOf('.');
+ var pdf = nameList[0].substring(indexPdf, nameList[0].length);
+ if (pdf == '.pdf') {
+ document.getElementById('loaded').style.display = 'none';
+ document.getElementById('fontpdf').style.display = 'block';
+ } else {
+ document.getElementById('loaded').style.display = 'block';
+ document.getElementById('image').src = value;
+ document.getElementById('image').style.display = 'block';
+ document.getElementById('fontpdf').style.display = 'none';
+ }
+ //鏂囦欢涓簆df鏃跺睍绀虹┖鐧藉浘鐗�,鏄剧ず鏂囧瓧鈥淧DF鏂囦欢鏆備笉鏀寔棰勮鈥� 绮剧悽鎶�鏈爐hh聽2021-09-15聽end
+ for (var i = 0; i < nameList.length; i++) {
+ var num = Number(i) + 1;
+ var id = 'file0' + num;
+ //鏍囪瘑鏂囦欢鏄惁宸茬粡涓婁紶 绮剧悽鎶�鏈� thh 2021-09-26
+ if (isUploadName[nameList[0]]) {
+ var str = '<button id="' + id + '" class="slds-button" title="Field 3" style="text-align:left;width:250px;font-weight:bold;font-size: 15px;color:Green;" name="' + nameList[i] + '">' + nameList[i] + '</button><br>';
+ } else {
+ var str = '<button id="' + id + '" class="slds-button" title="Field 3" style="text-align:left;width:250px;font-weight:bold;font-size: 15px;color:Gray;" name="' + nameList[i] + '">' + nameList[i] + '</button><br>';
+ }
+ //鎷兼帴p鏍囩 鍒楀嚭鏂囦欢鍚峣d涓嶅悓
+ strList += str;
+ }
+ var obj = document.getElementById('file00');
+ obj.innerHTML = strList;
+ //鏍囪瘑鏂囦欢鏄惁宸茬粡涓婁紶 绮剧悽鎶�鏈� thh 2021-09-26 start
+ if (isUploadName[nameList[0]]) {
+ var str = '<span>褰撳墠鏂囦欢锛�</span><span id="nowfile" class="field-title" style="color:Green;" title="' + nameList[0] + '">' + nameList[0] + '</span>';
+ document.getElementById("uploadicon").style.display = 'inline-block';
+ } else {
+ var str = '<span>褰撳墠鏂囦欢锛�</span><span id="nowfile" class="field-title" style="color:Gray;" title="' + nameList[0] + '">' + nameList[0] + '</span>';
+ document.getElementById("uploadicon").style.display = 'none';
+ }
+ var obj = document.getElementById('filenow');
+ obj.innerHTML = str;
+ //鏍囪瘑鏂囦欢鏄惁宸茬粡涓婁紶 绮剧悽鎶�鏈� thh 2021-09-26 end
+ }
+ //鍒犻櫎瀹屾垚鍚巄aseFile闇�瑕佺疆绌�
+ cmp.set("v.baseFile", '');
+ var baseFile = cmp.get("v.baseFile");
+ //鍒犻櫎涓�涓暟鎹箣鍚巉ileSize涓殑鏁伴噺瑕�-1
+ var count = cmp.get("v.fileSize");
+ var deletecount = count - 1;
+ cmp.set("v.fileSize", deletecount);
+ //鍏宠仈鍚庣浠g爜鍒犻櫎绛炬敹鍗曞綍鍏ヨ〃涓殑闄勪欢
+ var action = cmp.get("c.deleteChunk");
+ var attachmentID = cmp.get("v.attachmentID");
+ var AttachmentID = attachmentID[name];
+ action.setParams({
+ AttachmentId: AttachmentID
+ });
+ //閫氳繃椤甸潰鏂偣楠岃瘉action鏂规硶鏄惁鎴愬姛
+ action.setCallback(this, function(response) {
+ var state = response.getState();
+ });
+ //鎵цaction鏂规硶
+ $A.enqueueAction(action);
+ },
+ //澧炲姞鏂囦欢鍒楄〃鍒犻櫎鍔熻兘聽聽绮剧悽鎶�鏈爐hh聽2021-09-02聽end
+
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/eSignAgencyPage/eSignAgencyPageHelper.js b/force-app/main/default/aura/eSignAgencyPage/eSignAgencyPageHelper.js
new file mode 100644
index 0000000..1d431fb
--- /dev/null
+++ b/force-app/main/default/aura/eSignAgencyPage/eSignAgencyPageHelper.js
@@ -0,0 +1,1304 @@
+({
+
+
+ // 璁剧疆table 鍚勬爮灞炴��
+ getColumnAndAction: function(cmp) {
+ var actions = [
+ { label: 'Edit', name: 'edit' },
+ { label: 'Delete', name: 'delete' },
+ { label: 'View', name: 'view' }
+ ];
+ // 涓轰簡閿佽锛屽己琛岃缃簡瀹藉害
+ cmp.set('v.columns', [{
+ label: '浜у搧鍨嬪彿',
+ fieldName: 'Asset_Model_No__c',
+ type: 'text',
+ wrapText: false,
+ hideDefaultActions: true,
+ fixedWidth: 110
+ },
+ {
+ label: 'CODE',
+ fieldName: 'OTCode__c',
+ type: 'text',
+ wrapText: false,
+ hideDefaultActions: true,
+ fixedWidth: 137
+ },
+ {
+ label: '浜у搧鍚嶇О',
+ fieldName: 'productName__c',
+ type: 'text',
+ wrapText: false,
+ hideDefaultActions: true,
+ fixedWidth: 340
+ },
+ {
+ label: '鏁伴噺',
+ fieldName: 'Count_Text__c',
+ type: 'text',
+ wrapText: false,
+ hideDefaultActions: true,
+ fixedWidth: 50
+ },
+ {
+ label: '绠卞彿',
+ fieldName: 'CaseNumber__c',
+ type: 'text',
+ wrapText: false,
+ hideDefaultActions: true,
+ fixedWidth: 100
+ },
+ {
+ label: '璐х墿鎯呭喌',
+ fieldName: 'agencyGoodStatus__c',
+ type: 'text',
+ wrapText: true,
+ hideDefaultActions: true,
+ editable: true,
+ fixedWidth: 110
+ },
+ ]);
+
+ },
+ pageInit: function(cmp) {
+ //鑾峰彇鍒嗛〉鏄剧ず鐨�5鏉℃暟鎹�
+ var pageDate = cmp.get("v.currentData");
+ //鑾峰彇绠卞彿list
+ var cntList = [];
+ var caseNumberMap = {};
+ var str = '';
+ //瀛樻斁姣忎釜绠卞彿鐨勭涓�鏉� 绠卞彿鐨刬d
+ for (var i = 0; i < pageDate.length; i++) {
+ //鑾峰彇id
+ var id = pageDate[i].Id;
+ //鑾峰彇绠卞彿id
+ var caseNumberId = id + ':' + i + ':CaseNumber__c';
+ //鑾峰彇绠卞彿鍊�
+ var caseNumber = pageDate[i].CaseNumber__c;
+
+ if (str == '') {
+ str = caseNumber;
+ var button = id + ':' + i + ':ButtonColumn';
+ cntList.push(button);
+ } else {
+ if (str != caseNumber) {
+ var button = id + ':' + i + ':ButtonColumn';
+ cntList.push(button);
+ }
+ }
+
+
+ }
+
+ //寤惰繜鍔犺浇
+ window.setTimeout($A.getCallback(function() {
+ for (var j = 0; j < cntList.length; j++) {
+ var cnt = cntList[j];
+ document.getElementById(cnt).style.display = "block";
+ }
+ }),
+ 1000
+ );
+ },
+ // 鑾峰彇鏁版嵁
+ geteSign: function(cmp) {
+ //this.showSpinner(cmp);
+ var action = cmp.get("c.geteSigns");
+ var DNName = cmp.get("v.DNName").toString();
+ action.setParams({
+ 'DNName': DNName,
+ });
+ action.setCallback(this, function(response) {
+ var state = response.getState();
+ if (state === "SUCCESS") {
+ var resultData = response.getReturnValue();
+ var isSubmit = resultData.isSubmit;
+ cmp.set("v.IsInsert", isSubmit);
+ if (!!resultData && !!resultData.eSignFormLineItems &&
+ !!resultData.eSignForm) {
+ var data = resultData.eSignFormLineItems;
+ cmp.set('v.lineItemSize', data.length);
+ var pageSize = cmp.get('v.pageSize');
+
+ var eSignForm = resultData.eSignForm;
+ cmp.set("v.data", data);
+ //缁欑粡閿�鍟嗛獙鏀剁粨鏋滆祴鍊�
+ cmp.set("v.HospitalAcceptanceResults", eSignForm.agencyAcceptResult__c);
+ //CHAN-BWCBL8 绮剧悽鎶�鏈� wql 20201225 start
+ //濡傛灉椹冲洖鐞嗙敱鏈夊�� 骞朵笖缁忛攢鍟嗛┏鍥炲閫夋涓簍rue骞朵笖缁忛攢鍟嗗鎵圭姸鎬佷笉鎵瑰噯鐨勬椂鍊欐墠鏄剧ず
+ if (eSignForm.denyReason__c && eSignForm.agencyReject__c && eSignForm.agencyAutoSignUpStatus__c == '涓嶆壒鍑�') {
+ cmp.set("v.ISDenyReason", true);
+ }
+ //CHAN-BWCBL8 绮剧悽鎶�鏈� wql 20201225 end
+
+ cmp.set("v.eSignForm", resultData.eSignForm);
+ var tempData = this.getTempData(data, 1, pageSize);
+ cmp.set("v.isLastPage", this.isLastPage(data, tempData));
+ cmp.set("v.dataSize", tempData.length);
+ cmp.set("v.currentData", tempData);
+ this.hideSpinner(cmp);
+ } else {
+ cmp.set("v.errorMessage", '鍔犺浇澶辫触锛岃閲嶆柊鎵撳紑姝ら〉闈紒');
+ this.showErrorToast(cmp);
+ this.hideSpinner(cmp);
+ }
+ } else {
+ cmp.set("v.errorMessage", '鍔犺浇澶辫触锛岃閲嶆柊鎵撳紑姝ら〉闈紒');
+ this.showErrorToast(cmp);
+ this.hideSpinner(cmp);
+ }
+
+ });
+ $A.enqueueAction(action);
+ },
+ // 鏄庣粏椤� table 棣栭〉鍔熻兘瀹炵幇
+ handleHome: function(cmp) {
+ var pageSize = cmp.get('v.pageSize');
+ var pageNumber = cmp.get('v.pageNumber');
+ // var data = cmp.get('v.data');
+ var currentData = cmp.get('v.currentData');
+
+ //鑾峰彇杈撳叆鐨剉alue鍊�
+ var key = document.getElementById('searchInput').value;
+ var data = cmp.get('v.data');
+ var tempDataList = [];
+ var pageSize = cmp.get('v.pageSize');
+
+ if (key) {
+ for (var i = 0; i < data.length; i++) {
+ //鑾峰彇鎵�鏈塶ame涓虹鍙风殑input 鎵归噺鏇存柊
+ if (data[i].CaseNumber__c == key) {
+ tempDataList.push(data[i]);
+ }
+
+ }
+ //璁剧疆鍒嗛〉
+ var tempData = this.getTempData(tempDataList, 1, pageSize);
+ cmp.set('v.pageNumber', 1);
+ cmp.set('v.currentData', tempData);
+ cmp.set('v.data', data);
+ cmp.set("v.isLastPage", this.isLastPage(tempDataList, tempData));
+ cmp.set("v.searchSize", tempDataList.length);
+
+
+ } else {
+ //鏄剧ず鍏ㄩ儴绠�
+ var tempData = this.getTempData(data, 1, pageSize);
+ cmp.set('v.pageNumber', 1);
+ cmp.set('v.currentData', tempData);
+ cmp.set('v.data', data);
+ cmp.set("v.isLastPage", this.isLastPage(data, tempData));
+ cmp.set('v.searchSize', null);
+
+ }
+
+
+
+ },
+ // 鏄庣粏椤� table 灏鹃〉鍔熻兘瀹炵幇
+ handleLast: function(cmp) {
+ var pageSize = cmp.get('v.pageSize');
+ var pageNumber = cmp.get('v.pageNumber');
+ var data = cmp.get('v.data');
+ //鑾峰彇鏁版嵁闀垮害
+ var size = data.length;
+ //鑾峰彇灏鹃〉椤电爜
+ var pages = size % pageSize == 0 ? (size / pageSize) : (Math.floor(size / pageSize) + 1);
+
+ var currentData = cmp.get('v.currentData');
+
+ //鑾峰彇杈撳叆鐨剉alue鍊�
+ var key = document.getElementById('searchInput').value;
+ var tempDataList = [];
+
+ if (key) {
+ for (var i = 0; i < data.length; i++) {
+ //鑾峰彇鎵�鏈塶ame涓虹鍙风殑input 鎵归噺鏇存柊
+ if (data[i].CaseNumber__c == key) {
+ tempDataList.push(data[i]);
+ }
+
+ }
+ //璁剧疆鍒嗛〉
+ var tempData = this.getTempData(tempDataList, pages, pageSize);
+ cmp.set('v.pageNumber', pages);
+ cmp.set('v.currentData', tempData);
+ cmp.set('v.data', data);
+ cmp.set("v.isLastPage", this.isLastPage(tempDataList, tempData));
+ cmp.set("v.searchSize", tempDataList.length);
+
+
+ } else {
+ //鏄剧ず鍏ㄩ儴绠�
+ var tempData = this.getTempData(data, pages, pageSize);
+ cmp.set('v.pageNumber', pages);
+ cmp.set('v.currentData', tempData);
+ cmp.set('v.data', data);
+ cmp.set("v.isLastPage", this.isLastPage(data, tempData));
+ cmp.set('v.searchSize', null);
+
+ }
+
+
+
+
+
+ },
+ // 鏄庣粏椤� table 涓嬩竴椤靛姛鑳藉疄鐜�
+ handleNext: function(cmp) {
+ var pageSize = cmp.get('v.pageSize');
+ var pageNumber = cmp.get('v.pageNumber');
+ var data = cmp.get('v.data');
+ var currentData = cmp.get('v.currentData');
+
+ //鑾峰彇杈撳叆鐨剉alue鍊�
+ var key = document.getElementById('searchInput').value;
+ var tempDataList = [];
+
+ if (key) {
+ for (var i = 0; i < data.length; i++) {
+ //鑾峰彇鎵�鏈塶ame涓虹鍙风殑input 鎵归噺鏇存柊
+ if (data[i].CaseNumber__c == key) {
+ tempDataList.push(data[i]);
+ }
+
+ }
+ //璁剧疆鍒嗛〉
+ var tempData = this.getTempData(tempDataList, pageNumber + 1, pageSize);
+ cmp.set('v.pageNumber', pageNumber + 1);
+ cmp.set('v.currentData', tempData);
+ cmp.set('v.data', data);
+ cmp.set("v.isLastPage", this.isLastPage(tempDataList, tempData));
+ cmp.set("v.searchSize", tempDataList.length);
+
+
+ } else {
+ //鏄剧ず鍏ㄩ儴绠�
+ var tempData = this.getTempData(data, pageNumber + 1, pageSize);
+ cmp.set('v.pageNumber', pageNumber + 1);
+ cmp.set('v.currentData', tempData);
+ cmp.set('v.data', data);
+ cmp.set("v.isLastPage", this.isLastPage(data, tempData));
+ cmp.set('v.searchSize', null);
+
+ }
+
+
+
+
+ },
+ // 鏄庣粏椤� table 涓婁竴椤靛姛鑳藉疄鐜�
+ handlePrev: function(cmp) {
+ var pageSize = cmp.get('v.pageSize');
+ var pageNumber = cmp.get('v.pageNumber');
+ var data = cmp.get('v.data');
+ var currentData = cmp.get('v.currentData');
+ //鑾峰彇杈撳叆鐨剉alue鍊�
+ var key = document.getElementById('searchInput').value;
+ var tempDataList = [];
+
+ if (key) {
+ for (var i = 0; i < data.length; i++) {
+ //鑾峰彇鎵�鏈塶ame涓虹鍙风殑input 鎵归噺鏇存柊
+ if (data[i].CaseNumber__c == key) {
+ tempDataList.push(data[i]);
+ }
+
+ }
+ //璁剧疆鍒嗛〉
+ var tempData = this.getTempData(tempDataList, pageNumber - 1, pageSize);
+ cmp.set('v.pageNumber', pageNumber - 1);
+ cmp.set('v.currentData', tempData);
+ cmp.set('v.data', data);
+ cmp.set("v.isLastPage", this.isLastPage(tempDataList, tempData));
+ cmp.set("v.searchSize", tempDataList.length);
+
+
+ } else {
+ //鏄剧ず鍏ㄩ儴绠�
+ var tempData = this.getTempData(data, pageNumber - 1, pageSize);
+ cmp.set('v.pageNumber', pageNumber - 1);
+ cmp.set('v.currentData', tempData);
+ cmp.set('v.data', data);
+ cmp.set("v.isLastPage", this.isLastPage(data, tempData));
+ cmp.set('v.searchSize', null);
+
+ }
+
+
+ },
+ // 璁$畻骞惰繑鍥炲綋鍓嶉〉鐮佺殑鏁版嵁
+ getTempData: function(data, pageNumber, pageSize) {
+ var tempData = data.slice((pageNumber - 1) * pageSize, pageNumber * pageSize);
+ return tempData;
+ },
+ // 鍒ゆ柇褰撳墠椤垫槸鍚︽槸鏈�鍚庝竴椤�
+ isLastPage: function(data, tempData) {
+ if (tempData.length == 0 ||
+ tempData[tempData.length - 1].Id == data[data.length - 1].Id) {
+ return true;
+ } else {
+ return false;
+ }
+ },
+ // 淇濆瓨鏇存敼鍐呭鍒板綋鍓嶆槑缁嗗唴瀹�
+ saveEdition: function(cmp, draftValues) {
+ if (!!draftValues && draftValues.length > 0) {
+ var currentData = cmp.get('v.currentData');
+ for (var i = 0; i < currentData.length; i++) {
+ for (var j = 0; j < draftValues.length; j++) {
+ if (currentData[i].Id == draftValues[j].Id) {
+ currentData[i].agencyGoodStatus__c = draftValues[j].agencyGoodStatus__c;
+ break;
+ }
+ }
+ }
+ cmp.set('v.currentData', currentData);
+ }
+ cmp.set('v.draftValues', []);
+ },
+ // 鍒ゆ柇鏄惁閮ㄥ垎绛炬敹
+ IsWhole: function(cmp) {
+ var currentData = cmp.get('v.currentData');
+ if (currentData) {
+
+ for (var j = 0; j < currentData.length; j++) {
+
+ if (currentData[j].agencyGoodStatus__c != '瀹屽ソ') {
+ //濡傛灉鏈夋槑缁嗕笉瀹屽ソ鐨勭疆鎴恡rue
+ cmp.set('v.IsWhole', true);
+ break;
+ }
+ }
+
+ }
+ },
+ // 鏄庣粏椤电偣鍑讳笅涓�姝ヤ繚瀛樺綍鍏ヨ〃鏁版嵁鍒版暟鎹簱锛�
+ // 濡傛灉淇濆瓨鎴愬姛锛岃烦杞枃浠朵笂浼犻〉
+ // 濡傛灉淇濆瓨澶辫触锛屽脊鍑洪敊璇痶oast锛屼繚瀛樺湪褰撻〉
+ saveeSign: function(cmp) {
+ var action = cmp.get("c.saveeSignFormEntry");
+ var data = cmp.get('v.data');
+ var eSignForm = cmp.get('v.eSignForm');
+ var IsSubmit = cmp.get('v.IsSubmit');
+ //澧炲姞鎵弿鏍囪瘑锛宐atch鍙栨秷椹冲洖鍕鹃�� 2020/12/30 wql start
+ var IsAgencyScan = cmp.get('v.IsAgencyScan');
+ //澧炲姞鎵弿鏍囪瘑锛宐atch鍙栨秷椹冲洖鍕鹃�� 2020/12/30 wql end
+
+ var HospitalAcceptanceResults = cmp.get('v.HospitalAcceptanceResults');
+ var AgencyWorkflowEmailBack = cmp.get('v.AgencyWorkflowEmailBack');
+ action.setParams({
+ 'eSignFormLineItems': data,
+ 'eSignForm': eSignForm,
+ 'IsSubmit': IsSubmit,
+ 'IsAgencyScan': IsAgencyScan,
+ 'entryType': '缁忛攢鍟嗘敹璐�',
+ 'AgencyWorkflowEmailBack': AgencyWorkflowEmailBack
+ });
+ this.showSpinner(cmp);
+ action.setCallback(this, function(response) {
+ this.hideSpinner(cmp);
+ var state = response.getState();
+ if (state === "SUCCESS") {
+ var resultData = response.getReturnValue();
+ if (resultData.isSuccess == true) {
+ cmp.set('v.recordId', resultData.result);
+ cmp.set('v.parentId', resultData.result);
+
+ if (IsSubmit) {
+
+ //杩斿洖棣栭〉甯﹀�約tart
+ cmp.set('v.agencyDNSignUpStatus', resultData.agencyDNSignUpStatus);
+ cmp.set('v.HPDNSignUpStatus', resultData.HPDNSignUpStatus);
+ cmp.set('v.agencySubmit', resultData.agencySubmit);
+ cmp.set('v.DNNameSpare', resultData.DNNameSpare);
+ //杩斿洖棣栭〉甯﹀�� end
+
+ alert('鎻愪氦鎴愬姛');
+ cmp.set('v.IsSubmit', false);
+ //2020/12/02 鎻愪氦鎴愬姛鍚庢樉绀洪��鍥為椤垫寜閽� start
+ cmp.set("v.submitAfterShow", true);
+ const icon = document.getElementById('submitAgency');
+ icon.style.textAlign = 'center';
+ //2020/12/02 鎻愪氦鎴愬姛鍚庢樉绀洪��鍥為椤垫寜閽� end
+ this.BackToHomePage(cmp);
+ }
+ } else {
+ cmp.set("v.errorMessage", resultData.result);
+ this.showErrorToast(cmp);
+ }
+ } else {
+ cmp.set("v.errorMessage", '淇濆瓨澶辫触锛岃閲嶆柊鍔犺浇锛�');
+ this.showErrorToast(cmp);
+ }
+
+ });
+ $A.enqueueAction(action);
+
+ },
+ // 棣栭〉璺宠浆鑷虫槑缁嗛〉閫昏緫锛屽厛鍒ゆ柇鏄惁鍕鹃�夊唴瀹�
+ handleHomePageNextClick: function(cmp) {
+
+
+ //瀛樹竴涓嬫绱㈡閲岀殑鍊� 涓嶇劧浼氳娓呮帀
+ cmp.set('v.searchCase', cmp.get('v.searchCaseKey'));
+ var contentCheck = cmp.get('v.check');
+ if (contentCheck) {
+ if (confirm('璇峰啀娆$‘璁N鍙�/鏀惰揣鍗曚綅涓庨殢璐у悓琛屽崟涓�鑷淬��')) {
+ cmp.set('v.HomePage', false);
+ cmp.set('v.DetailsPage', true);
+ //闅愯棌鍒�
+ cmp.set('v.hideCheckboxColumn', true);
+
+ }
+ } else {
+ alert('璇峰嬀閫変笂杩板唴瀹瑰凡闃呰銆�');
+ return;
+ }
+ //褰撶偣鍑婚�傜敤鎸夐挳浠ュ悗锛岄〉闈笂鏄剧ず鍏ㄩ儴閫傜敤鎸夐挳
+ cmp.set('v.applyButton', true);
+ cmp.set('v.allApplyButton', false);
+
+ },
+ // 鏄庣粏涔熻烦杞嚦鏂囦欢涓婁紶椤甸�昏緫锛屽厛鎻愮ず鏄惁濉啓瀹屾瘯
+ handleDetailsPageNextClick: function(cmp) {
+
+ //瀛樹竴涓嬫绱㈡閲岀殑鍊� 涓嶇劧浼氳娓呮帀
+ var key = document.getElementById('searchInput').value;
+ cmp.set('v.searchCaseKey', key);
+
+ var isState = cmp.get('v.IsInsert');
+ var AgencyClick = cmp.get('v.AgencyClick');
+ if (AgencyClick) {
+ //鐩存帴璺宠浆鏄庣粏椤�
+ cmp.set('v.DetailsPage', false);
+ cmp.set('v.uploadFilePage', true);
+
+ } else {
+ if (confirm('璇风‘璁ゆ槸鍚﹀~鍐欏畬鎴愯揣鐗╂儏鍐碉紵')) {
+ //澧炲姞鎵弿鏍囪瘑锛宐atch鍙栨秷椹冲洖鍕鹃�� 2020/12/30 wql start
+ cmp.set('v.IsAgencyScan', true);
+ //澧炲姞鎵弿鏍囪瘑锛宐atch鍙栨秷椹冲洖鍕鹃�� 2020/12/30 wql end
+ this.saveeSign(cmp);
+ cmp.set('v.DetailsPage', false);
+ cmp.set('v.uploadFilePage', true);
+ // var a = window.setInterval($A.getCallback(function() {
+ // var content = document.getElementById("uploadFileDiv").getElementsByTagName("span")[2];
+ // var b = cmp.find("uploadFile");
+ // if (content) {
+ // if (content.style.color != '#f4f5fa') {
+ // content.innerText = '1.閫夋嫨闄勪欢';
+ // content.style.color = '#f4f5fa';
+ // content.style.backgroundColor = '#0f218b';
+ // } else {
+ // window.clearInterval(a);
+ // }
+ // }
+ // }),
+ // 1000
+ // );
+ }
+ }
+
+ },
+ //缁欐彁浜ゆ寜閽竴涓粯璁ょ殑鍊�
+ submitClick: function(cmp, event) {
+ var IsWhole = cmp.get('v.IsWhole');
+ var IsHaveFile = cmp.get('v.IsHaveFile');
+ var IsUpLoad = cmp.get('v.IsUpLoad');
+
+ var AgencyClick = cmp.get('v.AgencyClick');
+
+ //鑾峰彇缁忛攢鍟嗛偖绠�
+ var value = cmp.find("inputCmp").get("v.value");
+
+ //鍒ゆ柇閭鏄惁鏈夋晥
+ var validity = cmp.find("inputCmp").get("v.validity");
+
+ //鈶犲瓨鍦ㄤ笉瀹屽ソ鐨勮揣鐗╂槑缁� 涓簍ure 鈶ize<0璇存槑娌℃湁涓婁紶鏂囦欢
+ if (!IsHaveFile) {
+ alert('璇锋偍涓婁紶鐓х墖鍚庡啀鐐规彁浜わ紒');
+
+ } else if (!IsUpLoad && IsHaveFile) {
+ alert('璇锋偍鐐瑰嚮涓婁紶鏂囦欢鎸夐挳涓婁紶锛�');
+ } else if (IsUpLoad && !IsHaveFile) {
+ alert('鎮ㄥ苟娌℃湁閫夋嫨鏂囦欢!');
+ } else {
+ if (validity.valid) {
+ cmp.set('v.AgencyWorkflowEmailBack', value);
+ //鍕鹃��
+ cmp.set('v.IsSubmit', true);
+ //鎵弿鍕鹃��
+ cmp.set('v.IsAgencyScan', true);
+
+ //璁剧疆涓�涓猣lag鐢ㄤ簬閬垮厤鎻愪氦涓ゆ
+ cmp.set('v.AgencyClick', true);
+ if (confirm('璇风‘璁ゆ槸鍚︽彁浜わ紵')) {
+ this.saveeSign(cmp);
+ }
+
+ } else {
+ alert('璇锋偍濉啓姝g‘鐨勯偖绠卞湴鍧�鎴栬�呬笉濉啓锛�');
+ }
+
+ }
+
+ },
+ //寮瑰嚭 鎴愬姛鎻愮ずtoast 鏂规硶
+ showSuccessToast: function(cmp) {
+ $A.util.removeClass(cmp.find('successDiv'), 'slds-hide');
+ window.setTimeout($A.getCallback(function() {
+ $A.util.addClass(cmp.find('successDiv'), 'slds-hide');
+ }),
+ 5000
+ );
+ },
+ //寮瑰嚭 閿欒鎻愮ずtoast 鏂规硶
+ showErrorToast: function(cmp) {
+ const width = document.documentElement.clientWidth;
+ const contentDOM1 = document.getElementById('errorSonDiv1');
+ contentDOM1.style.width = width * 0.6 + 'px';
+ const contentDOM2 = document.getElementById('errorSonDiv2');
+ contentDOM2.style.width = width * 0.38 + 'px';
+ contentDOM2.style.height = '4rem';
+ const contentDOM3 = document.getElementById('errorSonDiv3');
+ contentDOM3.style.width = width - 150 + 'px';
+
+ $A.util.removeClass(cmp.find('errorDiv'), 'slds-hide');
+ window.setTimeout($A.getCallback(function() {
+ $A.util.addClass(cmp.find('errorDiv'), 'slds-hide');
+ }),
+ 5000
+ );
+ },
+ // 灞曠ず 绛夊緟妗�
+ showSpinner: function(cmp) {
+ // remove slds-hide class from mySpinner
+ var spinner = cmp.find("mySpinner");
+ $A.util.removeClass(spinner, "slds-hide");
+ },
+ // 闅愯棌 绛夊緟妗�
+ hideSpinner: function(cmp) {
+ // add slds-hide class from mySpinner
+ var spinner = cmp.find("mySpinner");
+ $A.util.addClass(spinner, "slds-hide");
+ },
+ //杩斿洖鏄庣粏椤�
+ handleShowFielePageNextClick: function(cmp) {
+
+ //瀛樹竴涓嬫绱㈡閲岀殑鍊� 涓嶇劧浼氳娓呮帀
+ cmp.set('v.searchCase', cmp.get('v.searchCaseKey'));
+
+ cmp.set('v.DetailsPage', true);
+ cmp.set('v.uploadFilePage', false);
+ //璁剧疆鎴� 榛樿 false
+ cmp.set('v.IsWhole', false);
+ cmp.set('v.IsHaveFile', false);
+ //闅愯棌鍒�
+ cmp.set('v.hideCheckboxColumn', true);
+
+ //2020/12/02 鐐瑰嚮涓婁竴姝ョ殑鏃跺�欓殣钘忛��鍥炴寜閽�
+ cmp.set("v.submitAfterShow", false);
+ },
+ //杩斿洖棣栭〉
+ handleShowPageNextClick: function(cmp) {
+ //瀛樹竴涓嬫绱㈡閲岀殑鍊� 涓嶇劧浼氳娓呮帀
+ var key = document.getElementById('searchInput').value;
+ cmp.set('v.searchCaseKey', key);
+ cmp.set('v.HomePage', true);
+ cmp.set('v.DetailsPage', false);
+ },
+ //鐢ㄦ埛 鍗曠嫭鏀瑰啓鏌愪竴琛岀殑璐х墿鎯呭喌鏃�
+ GoodsChanged: function(cmp) {
+ var currentData = cmp.get('v.currentData');
+ for (var i = 0; i < currentData.length; i++) {
+
+ //鑾峰彇id
+ var id = currentData[i].Id + ':' + i + ':' + currentData[i].CaseNumber__c;
+ //鑾峰彇椤甸潰涓婄殑璐х墿鎯呭喌
+ var goodStatus = document.getElementById(id).value;
+ //缁欏垎椤垫暟缁勫疄闄呰祴鍊�
+ currentData[i].agencyGoodStatus__c = goodStatus;
+ //娓呯┖id鍊硷紝閬垮厤for寰幆寰幆璧嬪��
+ id = '';
+
+ }
+ cmp.set('v.currentData', currentData);
+ //褰撲慨鏀规煇涓�鍒楃殑鏃跺�欐樉绀� 閫傜敤鎸夐挳 闅愯棌鍏ㄩ儴閫傜敤鎸夐挳
+ cmp.set('v.applyButton', true);
+ cmp.set('v.allApplyButton', false);
+ },
+ getDivSpan: function() {
+ var xxx = document.getElementById("uploadFileDiv").getElementsByTagName("span");
+ //寤惰繜鍔犺浇
+ window.setTimeout($A.getCallback(function() {
+ var content = document.getElementById("uploadFileDiv").getElementsByTagName("span")[2];
+ if (content) {
+ if (content.style.color != '#f4f5fa') {
+ content.innerText = '1.閫夋嫨闄勪欢';
+ content.style.color = '#f4f5fa';
+ content.style.backgroundColor = '#0f218b';
+ }
+ }
+
+ }),
+ 1000
+ );
+
+ },
+ //涓婚〉璺抽椤�
+ BackToHomePage: function(cmp, event, helper) {
+ if (confirm('纭鍥炲埌棣栭〉鍚楋紵')) {
+ var messageEvent = cmp.getEvent('componentEvent');
+ messageEvent.setParam('ShowDNNameQR', cmp.get('v.DNName'));
+
+ messageEvent.setParam('agencyDNSignUpStatus', cmp.get('v.agencyDNSignUpStatus'));
+ messageEvent.setParam('HPDNSignUpStatus', cmp.get('v.HPDNSignUpStatus'));
+ messageEvent.setParam('agencySubmit', cmp.get('v.agencySubmit'));
+ messageEvent.setParam('DNNameSpare', cmp.get('v.DNName'));
+
+ // messageEvent.setParam('IsAgencyShow',cmp.get('v.IsSubmit'));
+ messageEvent.fire();
+ cmp.set("v.HomePage", false);
+ }
+
+
+ // helper.BackToHomePage(cmp);
+ },
+ //鏄庣粏椤� 閫傜敤鎸夐挳 鏍规嵁绠卞彿鍒掑垎鏁扮粍data
+ //鈶犲綋鍓嶉〉闈s璧嬪��
+ //鈶″悗鍙癲ata鏁版嵁瀹為檯淇敼鍊�
+ BatchUpdateByCase: function(cmp, event) {
+ //鑾峰彇鎸夐挳涓睘鎬ame == 鑾峰彇鍙傛暟 绠卞彿
+ var caseNumber = event.target.name;
+ //鑾峰彇鎸夐挳涓殑灞炴�� id == 鑾峰彇鍙傛暟 id
+ var idx = event.target.id;
+ //鎷兼帴 璐х墿鎯呭喌鐨刬d
+ var goodId = idx + caseNumber;
+ //鑾峰彇杩欎竴绠辩涓�涓殑鐨勮揣鐗╂儏鍐�
+ var goodStatus = document.getElementById(goodId).value;
+
+ if (confirm('璇风‘璁ゆ槸鍚﹂�傜敤浜庢暣绠憋紵')) {
+ var data = cmp.get('v.data');
+ for (var i = 0; i < data.length; i++) {
+ //鑾峰彇鎵�鏈塶ame涓虹鍙风殑input 鎵归噺鏇存柊
+ if (data[i].CaseNumber__c == caseNumber) {
+ data[i].agencyGoodStatus__c = goodStatus;
+ }
+
+ }
+ //鍚庡彴data鍙樹簡 浣嗛〉闈笉鑳藉強鏃跺彉
+ cmp.set('v.data', data);
+
+ //鑾峰彇鍒嗛〉鐨勮椤圭洰 鍒╃敤value璧嬪�� 鍙婃椂鍙�
+ var currentData = cmp.get('v.currentData');
+ for (var j = 0; j < currentData.length; j++) {
+ if (currentData[j].CaseNumber__c == caseNumber) {
+ //鎷兼帴id
+ var id = currentData[j].Id + ':' + j + ':' + currentData[j].CaseNumber__c;
+ document.getElementById(id).value = currentData[j].agencyGoodStatus__c;
+ id = '';
+ } else {
+ //閬垮厤褰卞搷鍏朵粬鍏朵粬鍒椾慨鏀�
+
+ //鑾峰彇id
+ var idx = currentData[j].Id + ':' + j + ':' + currentData[j].CaseNumber__c;
+ //鑾峰彇椤甸潰涓婄殑璐х墿鎯呭喌
+ var goodStatus = document.getElementById(idx).value;
+ currentData[j].agencyGoodStatus__c = goodStatus;
+ }
+
+ }
+ //鏈�鍚庢洿鏂板悗鍙癲ata
+ cmp.set('v.currentData', currentData);
+ //褰撶偣鍑婚�傜敤鎸夐挳浠ュ悗锛岄〉闈笂鏄剧ず鍏ㄩ儴閫傜敤鎸夐挳
+ cmp.set('v.applyButton', false);
+ cmp.set('v.allApplyButton', true);
+ }
+ },
+ //鏄庣粏椤� 鍏ㄩ儴閫傜敤鎸夐挳 鏍规嵁绠卞彿鍒掑垎鏁扮粍data
+ //鈶犲綋鍓嶉〉闈s璧嬪��
+ //鈶″悗鍙癲ata鏁版嵁瀹為檯淇敼鍊�
+ allBatchUpdateByCase: function(cmp, event) {
+ //鑾峰彇鎸夐挳涓睘鎬ame == 鑾峰彇鍙傛暟 绠卞彿
+ var caseNumber = event.target.name;
+ //鑾峰彇鎸夐挳涓殑灞炴�� id == 鑾峰彇鍙傛暟 id
+ var idx = event.target.id;
+ //鎷兼帴 璐х墿鎯呭喌鐨刬d
+ var goodId = idx + caseNumber;
+ //鑾峰彇杩欎竴绠辩涓�涓殑鐨勮揣鐗╂儏鍐�
+ var goodStatus = document.getElementById(goodId).value;
+
+ var data = cmp.get('v.data');
+
+ for (var i = 0; i < data.length; i++) {
+ //鍏ㄩ儴鏇存柊鎴� 涓婅堪value鍊肩殑璐х墿鎯呭喌
+
+ data[i].agencyGoodStatus__c = goodStatus;
+
+
+ }
+ //鍚庡彴data鍙樹簡 浣嗛〉闈笉鑳藉強鏃跺彉
+ cmp.set('v.data', data);
+
+ //鑾峰彇鍒嗛〉鐨勮椤圭洰 鍒╃敤value璧嬪�� 鍙婃椂鍙�
+ var currentData = cmp.get('v.currentData');
+ for (var j = 0; j < currentData.length; j++) {
+
+ //鎷兼帴id
+ var id = currentData[j].Id + ':' + j + ':' + currentData[j].CaseNumber__c;
+ document.getElementById(id).value = currentData[j].agencyGoodStatus__c;
+ id = '';
+
+
+ }
+ //鏈�鍚庢洿鏂板悗鍙癲ata
+ cmp.set('v.currentData', currentData);
+
+ },
+ //椤甸潰涓婃绱㈠姛鑳�
+ searchByCaseNumber: function(cmp, event) {
+ //鑾峰彇杈撳叆鐨剉alue鍊�
+ var key = document.getElementById('searchInput').value;
+ var data = cmp.get('v.data');
+ //瀹氫箟涓�涓┖鏁扮粍 鐢ㄤ簬瀛樻斁鎸夌鍒嗙被鍚庣殑data
+ var tempDataList = [];
+
+ var pageSize = cmp.get('v.pageSize');
+ //鍒ゆ柇鎼滅储妗嗗唴鏄惁鏈夊��
+ if (key) {
+ cmp.set('v.searchFlag', true);
+ for (var i = 0; i < data.length; i++) {
+ //鑾峰彇鎵�鏈塶ame涓虹鍙风殑input 鎵归噺鏇存柊
+ if (data[i].CaseNumber__c == key) {
+ tempDataList.push(data[i]);
+ }
+
+ }
+ //璁剧疆鍒嗛〉
+ var tempData = this.getTempData(tempDataList, 1, pageSize);
+ cmp.set("v.isLastPage", this.isLastPage(tempDataList, tempData));
+ cmp.set("v.dataSize", tempData.length);
+ cmp.set("v.currentData", tempData);
+ cmp.set('v.pageNumber', 1);
+ cmp.set("v.searchSize", tempDataList.length);
+
+ } else {
+ cmp.set('v.searchFlag', false);
+ //鏄剧ず鍏ㄩ儴绠�
+ var data = cmp.get('v.data');
+ var tempData = this.getTempData(data, 1, pageSize);
+ cmp.set("v.isLastPage", this.isLastPage(data, tempData));
+ cmp.set("v.dataSize", tempData.length);
+ cmp.set("v.currentData", tempData);
+ cmp.set('v.pageNumber', 1);
+ cmp.set('v.searchSize', null);
+
+ }
+ },
+
+ MAX_FILE_SIZE: 4608000, //Max file size 4.5 MB
+ CHUNK_SIZE: 750000, //Chunk Max size 750Kb
+ uploadHelper: function(component, event) {
+ // start/show the loading spinner
+ component.set("v.showLoadingSpinner", true);
+ // get the selected files using aura:id [return array of files]
+ var fileInput = component.find("fileId").get("v.files");
+ // get the first file using array index[0]
+ var file = fileInput[0];
+ //var test = this.compress(file);
+ var self = this;
+ var pdf = file.type;
+ //澧炲姞鍙互涓婁紶鐨勫浘鐗囩被鍨� 绮剧悽鎶�鏈� thh 2021-09-13
+ if (pdf == 'image/jpeg' || pdf == 'image/png') {
+ // create a FileReader object
+ var objFileReader = new FileReader();
+ // set onload function of FileReader object
+ objFileReader.onload = $A.getCallback(function() {
+ var image = new Image();
+ image.src = objFileReader.result;
+ var fileContents = objFileReader.result;
+ image.onload = function() {
+ var maxSize;
+ var imgWidth;
+ var imgHeight;
+ //鍥剧墖灏忎簬300k鍒欎笉鍘嬬缉
+ if (file.size > 0 && file.size < 307200) {
+ imgWidth = this.width;
+ imgHeight = this.height;
+ } else {
+ if (Math.sqrt(this.width * this.height) / Math.sqrt(2) > 1200) {
+ maxSize = 1200;
+ } else {
+ maxSize = Math.sqrt(this.width * this.height) / Math.sqrt(2);
+ }
+ var imgScale = self.imgScaleW(maxSize, this.width, this.height);
+ imgWidth = imgScale.width,
+ imgHeight = imgScale.height;
+ }
+
+ var canvas = document.createElement("canvas");
+ var ctx = canvas.getContext("2d");
+
+ canvas.width = imgWidth;
+ canvas.height = imgHeight;
+
+ ctx.drawImage(this, 0, 0, imgWidth, imgHeight);
+ //澧炲姞鍙互涓婁紶鐨勫浘鐗囩被鍨� 绮剧悽鎶�鏈� thh 2021-09-13 start
+ if (pdf == 'image/jpeg') {
+ fileContents = canvas.toDataURL("image/jpeg", 0.9);
+ } else if (pdf == 'image/png') {
+ fileContents = canvas.toDataURL("image/png", 0.9);
+ }
+ //澧炲姞鍙互涓婁紶鐨勫浘鐗囩被鍨� 绮剧悽鎶�鏈� thh 2021-09-13 end
+ var base64 = "base64,";
+ var dataStart = fileContents.indexOf(base64) + base64.length;
+
+ fileContents = fileContents.substring(dataStart);
+ // call the uploadProcess method
+ self.uploadProcess(component, file, fileContents);
+ };
+ });
+ } else {
+ //event
+ var objFileReader = new FileReader();
+ // set onload function of FileReader object
+ objFileReader.onload = $A.getCallback(function() {
+
+ var fileContents = objFileReader.result;
+ var base64 = "base64,";
+ var dataStart = fileContents.indexOf(base64) + base64.length;
+
+ if (fileContents.length > 4608000) {
+ component.set("v.showLoadingSpinner", false);
+ alert("鎻愰啋锛屾枃浠跺帇缂╁ぇ灏忎笉鑳借秴杩�4.5M,璇烽噸鏂颁笂浼犮��");
+ return;
+ } else {
+ fileContents = fileContents.substring(dataStart);
+ // call the uploadProcess method
+ self.uploadProcess(component, file, fileContents);
+ }
+ });
+ }
+ objFileReader.readAsDataURL(file);
+ },
+
+ uploadProcess: function(component, file, fileContents) {
+ // set a default size or startpostiton as 0
+ var startPosition = 0;
+ // calculate the end size or endPostion using Math.min() function which is return the min. value
+ var endPosition = Math.min(
+ fileContents.length,
+ startPosition + this.CHUNK_SIZE
+ );
+ // start with the initial chunk, and set the attachId(last parameter)is null in begin
+ this.uploadInChunk(
+ component,
+ file,
+ fileContents,
+ startPosition,
+ endPosition,
+ ""
+ );
+ },
+
+ uploadInChunk: function(
+ component,
+ file,
+ fileContents,
+ startPosition,
+ endPosition,
+ attachId
+ ) {
+ // call the apex method 'saveChunk'
+ var getchunk = fileContents.substring(startPosition, endPosition);
+ //澧炲姞鏂囦欢鍒楄〃鍒犻櫎鍔熻兘聽聽绮剧悽鎶�鏈爐hh聽2021-08-31聽start
+ //鎶婂帇缂╁畬鐨剆rc鍜屾枃浠跺悕瀛樺叆map
+ var filesrc = component.get("v.FileSrc");
+ var emptyflag = true;
+ for (var key in filesrc) {
+ var emptyflag = false;
+ }
+ if (emptyflag) {
+ filesrc[file.name] = getchunk;
+ } else {
+ for (var key in filesrc) {
+ if (key == file.name) {
+ filesrc[file.name] = filesrc[file.name] + getchunk;
+ } else {
+ filesrc[file.name] = getchunk;
+ console.log('filesrc锛�' + filesrc);
+ }
+ }
+ }
+ component.set('v.FileSrc', filesrc);
+ //澧炲姞鏂囦欢鍒楄〃鍒犻櫎鍔熻兘聽聽绮剧悽鎶�鏈爐hh聽2021-09-01 end
+ var baseFile = component.get("v.baseFile");
+ var base64List = component.get("v.base64List");
+ //鐢ㄤ簬鍒ゆ柇涓婁紶鍚屼竴涓枃浠舵彁绀�
+ var messageFlag = component.get("v.messageFlag");
+ //鍒ゆ柇鏄惁鍑虹幇杩囩綉缁滀笉濂斤紝涓婁紶澶辫触鐨勬儏鍐�
+ var errorFlag = component.get("v.errorFlag");
+ if (!base64List) {
+ if (baseFile != getchunk) {
+ //鐢ㄤ簬鍒ゆ柇涓婁紶鍚屼竴涓枃浠舵彁绀�
+ component.set("v.messageFlag", false);
+ messageFlag = component.get("v.messageFlag");
+ var action = component.get("c.saveChunk");
+ action.setParams({
+ parentId: component.get("v.parentId"),
+ fileName: file.name,
+ base64Data: encodeURIComponent(getchunk),
+ contentType: file.type,
+ fileId: attachId
+ });
+ // set call back
+ action.setCallback(this, function(response) {
+ // store the response / Attachment Id
+ attachId = response.getReturnValue();
+ //澧炲姞鏂囦欢鍒楄〃鍒犻櫎鍔熻兘聽聽绮剧悽鎶�鏈爐hh聽2021-09-02聽start
+ //鍏宠仈闄勪欢ID鍜岄檮浠跺悕
+ var attachmentID = component.get("v.attachmentID");
+ attachmentID[file.name] = attachId;
+ component.set("v.attachmentID", attachmentID);
+ //澧炲姞鏂囦欢鍒楄〃鍒犻櫎鍔熻兘聽聽绮剧悽鎶�鏈爐hh聽2021-09-02聽end
+ var state = response.getState();
+ if (state === "SUCCESS") {
+ // update the start position with end postion
+ startPosition = endPosition;
+ endPosition = Math.min(
+ fileContents.length,
+ startPosition + this.CHUNK_SIZE
+ );
+ // check if the start postion is still less then end postion
+ // then call again 'uploadInChunk' method ,
+ // else, diaply alert msg and hide the loading spinner
+ if (startPosition < endPosition) {
+ this.uploadInChunk(
+ component,
+ file,
+ fileContents,
+ startPosition,
+ endPosition,
+ attachId
+ );
+ } else {
+ //鍒ゆ柇涓婁紶鏂囦欢鍐呭 鎻愮ず涓�娆′俊鎭�
+ var base = component.get("v.getchunk");
+ if (!base || (base && base != getchunk)) {
+ // alert("鎮ㄥ凡缁忔垚鍔熶笂浼犳枃浠躲��");
+ component.set("v.getchunk", getchunk);
+ }
+
+ alert("鎮ㄥ凡缁忔垚鍔熶笂浼犳枃浠躲�俓n璇风偣鍑绘彁浜ゅ悗閫�鍑恒��");
+ //鐢ㄤ簬鎻愪氦鎸夐挳鍒ゆ柇鏄惁鏈夊凡涓婁紶鐨勬枃浠�
+ component.set('v.IsUpLoad', true);
+ //鐢ㄤ簬鍒ゆ柇涓婁紶鍚屼竴涓枃浠舵彁绀�
+ component.set("v.messageFlag", true);
+ messageFlag = component.get("v.messageFlag");
+ component.set("v.showLoadingSpinner", false);
+ //鏍囪瘑棰勮鍥剧墖鍚嶅瓧 绮剧悽鎶�鏈� thh 2021-09-15 start
+ var isUploadName = component.get("v.isUploadName");
+ var fileName = component.find("fileId").get("v.files")[0]['name'];
+ if (isUploadName[fileName]) {
+ var str = '<span>褰撳墠鏂囦欢锛�</span><span id="nowfile" class="field-title" style="color:Green;" title="' + fileName + '">' + fileName + '</span>';
+ document.getElementById("uploadicon").style.display = 'inline-block';
+ } else {
+ var str = '<span>褰撳墠鏂囦欢锛�</span><span id="nowfile" class="field-title" style="color:Gray;" title="' + fileName + '">' + fileName + '</span>';
+ document.getElementById("uploadicon").style.display = 'none';
+ }
+ var obj = document.getElementById('filenow');
+ obj.innerHTML = str;
+ //鏍囪瘑棰勮鍥剧墖鍚嶅瓧 绮剧悽鎶�鏈� thh 2021-09-15 end
+ //涓婁紶鎴愬姛鍚庢枃浠跺垪琛ㄧ殑鏂囦欢鍚嶅彉鑹� 绮剧悽鎶�鏈� thh 2021-09-26 start
+ var count = component.get("v.fileUpLoadSize");
+ var fileName = component.get("v.flUpLoadName");
+ if (count > 0) {
+ //鍒楀嚭鏂囦欢鍚�01 鎵�鏈夋枃浠跺悕閮界敤閫楀彿闅斿紑 鏍规嵁閫楀彿鎷嗗垎锛屽瓨鏀炬暟缁�
+ var nameList = fileName.split(',');
+ for (var i = 0; i < nameList.length; i++) {
+ for (var j = i + 1; j < nameList.length; j++) {
+ if (nameList[i] == nameList[j]) { //绗竴涓瓑鍚屼簬绗簩涓紝splice鏂规硶鍒犻櫎绗簩涓�
+ nameList.splice(j, 1);
+ j--;
+ }
+ }
+ }
+ //瀛樻斁鍒板彉閲忎腑 鐢ㄤ簬涓婁竴椤典笅涓�椤佃繛鐐�
+ component.set('v.nameUpLoadList', nameList);
+ //閲嶆柊瀹氫箟閫変腑鏂囦欢鐨勬暟閲�
+ component.set('v.fileSize', nameList.length);
+ console.log("nameList:" + component.get('v.nameUpLoadList'));
+ var isUploadName = component.get("v.isUploadName");
+ if (nameList.length > 0) {
+ var strList = '';
+ for (var i = 0; i < nameList.length; i++) {
+ var num = Number(i) + 1;
+ var id = 'file0' + num;
+ //鏍囪瘑鏂囦欢鏄惁宸茬粡涓婁紶 绮剧悽鎶�鏈� thh 2021-09-26 start
+ if (isUploadName[nameList[i]]) {
+ var str = '<button id="' + id + '" class="slds-button" title="Field 3" style="text-align:left;width:250px;font-weight:bold;font-size: 15px;color:Green;" name="' + nameList[i] + '">' + nameList[i] + '</button><br>';
+ } else {
+ var str = '<button id="' + id + '" class="slds-button" title="Field 3" style="text-align:left;width:250px;font-weight:bold;font-size: 15px;color:Gray;" name="' + nameList[i] + '">' + nameList[i] + '</button><br>';
+ }
+ //鏍囪瘑鏂囦欢鏄惁宸茬粡涓婁紶 绮剧悽鎶�鏈� thh 2021-09-26 end
+ //鎷兼帴p鏍囩 鍒楀嚭鏂囦欢鍚峣d涓嶅悓
+ strList += str;
+ }
+ var obj = document.getElementById('file00');
+ obj.innerHTML = strList;
+ }
+ }
+ //涓婁紶鎴愬姛鍚庢枃浠跺垪琛ㄧ殑鏂囦欢鍚嶅彉鑹� 绮剧悽鎶�鏈� thh 2021-09-26 end
+ }
+ // handel the response errors
+ } else if (state === "INCOMPLETE") {
+ alert("From server: " + response.getReturnValue());
+ component.set("v.showLoadingSpinner", false);
+ component.set("v.errorFlag", true);
+
+ } else if (state === "ERROR") {
+ var errors = response.getError();
+ component.set("v.showLoadingSpinner", false);
+ component.set("v.errorFlag", true);
+ if (errors) {
+ if (errors[0] && errors[0].message) {
+ console.log("Error message: " + errors[0].message);
+ }
+ } else {
+ console.log("Unknown error");
+ }
+ }
+ });
+ // enqueue the action
+ $A.enqueueAction(action);
+
+ }
+
+ } else if (!base64List.includes(getchunk) || (base64List.includes(getchunk) && errorFlag)) {
+ //缃戠粶娉㈠姩杩涙潵浠ュ悗 缃垚false
+ component.set("v.errorFlag", false);
+ //鐢ㄤ簬鍒ゆ柇涓婁紶鍚屼竴涓枃浠舵彁绀�
+ component.set("v.messageFlag", false);
+ messageFlag = component.get("v.messageFlag");
+ var action = component.get("c.saveChunk");
+ action.setParams({
+ parentId: component.get("v.parentId"),
+ fileName: file.name,
+ base64Data: encodeURIComponent(getchunk),
+ contentType: file.type,
+ fileId: attachId
+ });
+
+ // set call back
+ action.setCallback(this, function(response) {
+ // store the response / Attachment Id
+ attachId = response.getReturnValue();
+ //澧炲姞鏂囦欢鍒楄〃鍒犻櫎鍔熻兘聽聽绮剧悽鎶�鏈爐hh聽2021-09-02聽start
+ //鍏宠仈闄勪欢ID鍜岄檮浠跺悕
+ var attachmentID = component.get("v.attachmentID");
+ attachmentID[file.name] = attachId;
+ component.set("v.attachmentID", attachmentID);
+ //澧炲姞鏂囦欢鍒楄〃鍒犻櫎鍔熻兘聽聽绮剧悽鎶�鏈爐hh聽2021-09-02聽end
+ var state = response.getState();
+ if (state === "SUCCESS") {
+ // update the start position with end postion
+ startPosition = endPosition;
+ endPosition = Math.min(
+ fileContents.length,
+ startPosition + this.CHUNK_SIZE
+ );
+ // check if the start postion is still less then end postion
+ // then call again 'uploadInChunk' method ,
+ // else, diaply alert msg and hide the loading spinner
+ if (startPosition < endPosition) {
+ this.uploadInChunk(
+ component,
+ file,
+ fileContents,
+ startPosition,
+ endPosition,
+ attachId
+ );
+ } else {
+ //鍒ゆ柇涓婁紶鏂囦欢鍐呭 鎻愮ず涓�娆′俊鎭�
+ var base = component.get("v.getchunk");
+ if (!base || (base && base != getchunk)) {
+ // alert("鎮ㄥ凡缁忔垚鍔熶笂浼犳枃浠躲��");
+ component.set("v.getchunk", getchunk);
+ }
+ alert("鎮ㄥ凡缁忔垚鍔熶笂浼犳枃浠躲�俓n璇风偣鍑绘彁浜ゅ悗閫�鍑恒��");
+ //鐢ㄤ簬鎻愪氦鎸夐挳鍒ゆ柇鏄惁鏈夊凡涓婁紶鐨勬枃浠�
+ component.set('v.IsUpLoad', true);
+ //鐢ㄤ簬鍒ゆ柇涓婁紶鍚屼竴涓枃浠舵彁绀�
+ component.set("v.messageFlag", true);
+ messageFlag = component.get("v.messageFlag");
+ component.set("v.showLoadingSpinner", false);
+ //鏍囪瘑棰勮鍥剧墖鍚嶅瓧 绮剧悽鎶�鏈� thh 2021-09-15 start
+ var isUploadName = component.get("v.isUploadName");
+ var fileName = component.find("fileId").get("v.files")[0]['name'];
+ if (isUploadName[fileName]) {
+ var str = '<span>褰撳墠鏂囦欢锛�</span><span id="nowfile" class="field-title" style="color:Green;" title="' + fileName + '">' + fileName + '</span>';
+ document.getElementById("uploadicon").style.display = 'inline-block';
+ } else {
+ var str = '<span>褰撳墠鏂囦欢锛�</span><span id="nowfile" class="field-title" style="color:Gray;" title="' + fileName + '">' + fileName + '</span>';
+ document.getElementById("uploadicon").style.display = 'none';
+ }
+ var obj = document.getElementById('filenow');
+ obj.innerHTML = str;
+ //鏍囪瘑棰勮鍥剧墖鍚嶅瓧 绮剧悽鎶�鏈� thh 2021-09-15 end
+ //涓婁紶鎴愬姛鍚庢枃浠跺垪琛ㄧ殑鏂囦欢鍚嶅彉鑹� 绮剧悽鎶�鏈� thh 2021-09-26 start
+ var count = component.get("v.fileUpLoadSize");
+ var fileName = component.get("v.flUpLoadName");
+ if (count > 0) {
+ //鍒楀嚭鏂囦欢鍚�01 鎵�鏈夋枃浠跺悕閮界敤閫楀彿闅斿紑 鏍规嵁閫楀彿鎷嗗垎锛屽瓨鏀炬暟缁�
+ var nameList = fileName.split(',');
+ for (var i = 0; i < nameList.length; i++) {
+ for (var j = i + 1; j < nameList.length; j++) {
+ if (nameList[i] == nameList[j]) { //绗竴涓瓑鍚屼簬绗簩涓紝splice鏂规硶鍒犻櫎绗簩涓�
+ nameList.splice(j, 1);
+ j--;
+ }
+ }
+ }
+ //瀛樻斁鍒板彉閲忎腑 鐢ㄤ簬涓婁竴椤典笅涓�椤佃繛鐐�
+ component.set('v.nameUpLoadList', nameList);
+ //閲嶆柊瀹氫箟閫変腑鏂囦欢鐨勬暟閲�
+ component.set('v.fileSize', nameList.length);
+ console.log("nameList:" + component.get('v.nameUpLoadList'));
+ var isUploadName = component.get("v.isUploadName");
+ if (nameList.length > 0) {
+ var strList = '';
+ for (var i = 0; i < nameList.length; i++) {
+ var num = Number(i) + 1;
+ var id = 'file0' + num;
+ //鏍囪瘑鏂囦欢鏄惁宸茬粡涓婁紶 绮剧悽鎶�鏈� thh 2021-09-26 start
+ if (isUploadName[nameList[i]]) {
+ var str = '<button id="' + id + '" class="slds-button" title="Field 3" style="text-align:left;width:250px;font-weight:bold;font-size: 15px;color:Green;" name="' + nameList[i] + '">' + nameList[i] + '</button><br>';
+ } else {
+ var str = '<button id="' + id + '" class="slds-button" title="Field 3" style="text-align:left;width:250px;font-weight:bold;font-size: 15px;color:Gray;" name="' + nameList[i] + '">' + nameList[i] + '</button><br>';
+ }
+ //鏍囪瘑鏂囦欢鏄惁宸茬粡涓婁紶 绮剧悽鎶�鏈� thh 2021-09-26 end
+ //鎷兼帴p鏍囩 鍒楀嚭鏂囦欢鍚峣d涓嶅悓
+ strList += str;
+ }
+ var obj = document.getElementById('file00');
+ obj.innerHTML = strList;
+ }
+ }
+ //涓婁紶鎴愬姛鍚庢枃浠跺垪琛ㄧ殑鏂囦欢鍚嶅彉鑹� 绮剧悽鎶�鏈� thh 2021-09-26 end
+ }
+ // handel the response errors
+ } else if (state === "INCOMPLETE") {
+ alert("From server: " + response.getReturnValue());
+ component.set("v.showLoadingSpinner", false);
+ component.set("v.errorFlag", true);
+ } else if (state === "ERROR") {
+ var errors = response.getError();
+ component.set("v.showLoadingSpinner", false);
+ component.set("v.errorFlag", true);
+ if (errors) {
+ if (errors[0] && errors[0].message) {
+ console.log("Error message: " + errors[0].message);
+ }
+ } else {
+ console.log("Unknown error");
+ }
+ }
+ });
+ // enqueue the action
+ $A.enqueueAction(action);
+ } else {
+ if (messageFlag) {
+ alert("鎮ㄥ凡缁忎笂浼犺繃璇ユ枃浠朵簡锛�")
+ component.set("v.showLoadingSpinner", false);
+ }
+
+ }
+ //瀛樻斁涓婁紶杩囩殑鏂囦欢base64 鏁扮粍
+ var baseFile = component.get("v.baseFile");
+ var base64List = component.get("v.base64List");
+ if (baseFile) {
+ component.set('v.baseFile', baseFile + ',' + getchunk);
+ // nameList.pust(name);
+ } else {
+ component.set('v.baseFile', getchunk);
+ }
+ baseFile = component.get("v.baseFile");
+ var base64List = baseFile.split(',');
+ component.set("v.base64List", base64List);
+ // component.set("v.showLoadingSpinner", false);
+ // baseFile = getchunk;
+
+ },
+
+ /**
+ * 鍥剧墖鍘嬬缉
+ * @param maxWidth 鏈�澶у搴︽垨鏈�澶ч珮搴�
+ * @param width 瀹藉害
+ * @param height 楂樺害
+ * @returns {___anonymous1968_1969}
+ */
+ imgScaleW: function(maxWidth, width, height) {
+ var imgScale = {};
+ var w = 0;
+ var h = 0;
+ if (width <= maxWidth && height <= maxWidth) { // 濡傛灉鍥剧墖瀹介珮閮藉皬浜庨檺鍒剁殑鏈�澶у��,涓嶇敤缂╂斁
+ imgScale = {
+ width: width,
+ height: height
+ };
+ } else {
+ if (width >= height) { // 濡傛灉鍥剧墖瀹藉ぇ浜庨珮
+ w = maxWidth;
+ h = Math.ceil(maxWidth * height / width);
+ } else { // 濡傛灉鍥剧墖楂樺ぇ浜庡
+ h = maxWidth;
+ w = Math.ceil(maxWidth * width / height);
+ }
+ imgScale = {
+ width: w,
+ height: h
+ };
+ }
+ return imgScale;
+ },
+ DrawImage1: function(maxWidth, width, height) {
+ var imgScale = {};
+ var w = 0;
+ var h = 0;
+ if (width > 0 && height > 0) {
+ if (width / height >= 1) {
+ if (width > maxWidth) {
+
+ imgScale = {
+ width: maxWidth,
+ height: (height * maxWidth) / width
+ };
+ } else {
+ imgScale = {
+ width: width,
+ height: height
+ };
+ }
+ } else {
+ if (height > maxWidth) {
+ imgScale = {
+ width: maxWidth,
+ height: (width * maxWidth) / height
+ };
+ } else {
+ imgScale = {
+ width: width,
+ height: height
+ };
+ }
+ }
+ }
+
+ return imgScale;
+ },
+
+
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/eSignHomePage/eSignHomePage.cmp b/force-app/main/default/aura/eSignHomePage/eSignHomePage.cmp
new file mode 100644
index 0000000..15abcb2
--- /dev/null
+++ b/force-app/main/default/aura/eSignHomePage/eSignHomePage.cmp
@@ -0,0 +1,669 @@
+<aura:component implements="flexipage:availableForAllPageTypes,forceCommunity:availableForAllPageTypes,lightning:isUrlAddressable" access="global" controller="eSignHomePageController">
+
+ <aura:attribute name="DNNameInput" type="Boolean" default="true" />
+ <aura:attribute name="agencyPage" type="Boolean" default="false" />
+ <aura:attribute name="agencyConfirmPage" type="Boolean" default="false" />
+ <aura:attribute name="agencyConfirmReadOnlyPage" type="Boolean" default="false" />
+
+ <aura:attribute name="HPPage" type="Boolean" default="false" />
+ <aura:attribute name="HPPConfirmage" type="Boolean" default="false" />
+ <aura:attribute name="eSignHospitalConfirmReadOnlyPage" type="Boolean" default="false" />
+
+ <aura:attribute name="LoadError" type="Boolean" default="false" />
+ <!-- <aura:attribute name="isButtonShow" type="Boolean" default="true"/> -->
+ <!-- 鍒ゆ柇缁忛攢鍟嗗彲浠ユ煡鐪嬭繕鏄紪杈� -->
+ <aura:attribute name="IsAgencyShow" type="Boolean" default="" />
+ <!-- 鍒ゆ柇缁忛攢鍟嗗彲浠ユ煡鐪嬭繕鏄紪杈� -->
+ <aura:attribute name="IsHPShow" type="Boolean" default="" />
+ <!-- 缁忛攢鍟嗘壂鎻忔棩 -->
+ <aura:attribute name="agencyScanDayBack" type="Date" default="" />
+ <!-- 缁忛攢鍟嗙鏀舵棩 -->
+ <aura:attribute name="agencySignUpDateBack" type="Date" default="" />
+ <!-- 缁忛攢鍟嗙‘璁ゆ棩 -->
+ <aura:attribute name="agencyConfirmDateBack" type="Date" default="" />
+
+
+ <!-- 鍖婚櫌鎵弿鏃� -->
+ <aura:attribute name="HPScanDay" type="Date" default="" />
+ <!-- 鍖婚櫌绛炬敹鏃� -->
+ <aura:attribute name="HPSignUpDate" type="Date" default="" />
+ <!-- 鍖婚櫌鍙嶉鏃� -->
+ <aura:attribute name="salesHPManageFBDate" type="Date" default="" />
+ <!-- 鍖婚櫌鍙嶉纭鏃�-->
+ <aura:attribute name="salesHPManageConfirmDate" type="Date" default="" />
+ <!-- 鍖婚櫌纭鏃� -->
+ <aura:attribute name="HPConfirmDate" type="Date" default="" />
+ <!-- 鍒ゆ柇褰曞叆绫诲瀷 -->
+ <aura:attribute name="entryType" type="string" default="" />
+ <!-- 璁剧疆鏍峰紡 -->
+ <aura:attribute name="cssStyle" type="string" default="" />
+ <aura:attribute name="allWidth" type="string" default="" />
+ <aura:attribute name="floatWidth" type="string" default="" />
+ <aura:attribute name="floatWidth1" type="string" default="" />
+ <!-- 鍒ゆ柇鐩撮攢杩樻槸鍒嗛攢 -->
+ <aura:attribute name="DirectFlag" type="Boolean" default="" />
+ <!--
+ 0 鍙互鍖婚櫌绛炬敹
+ 1 鍙互鍖婚櫌纭
+ 2 涓嶅彲浠ョ偣鍑诲尰闄㈡寜閽�
+ -->
+ <aura:attribute name="HPStatus" type="integer" default="2" />
+ <!--
+ 0 鍙互缁忛攢鍟嗙鏀�
+ 1 鍙互缁忛攢鍟嗙‘璁�
+ 2 涓嶅彲浠ョ偣鍑荤粡閿�鍟嗘寜閽�
+ -->
+ <aura:attribute name="AgencyStatus" type="integer" default="2" />
+ <aura:attribute name="buttonGroup" type="Boolean" default="false" />
+ <aura:attribute name="eSignForm" type="object" />
+ <aura:attribute name="DNName" type="string" default="" />
+ <aura:attribute name="errorMessage" type="String" description="澶辫触娑堟伅" />
+ <!-- 鍒ゆ柇鐩撮攢杩樻槸鍒嗛攢 -->
+ <aura:attribute name="isDirectSales" type="Boolean" default="" description="鍒ゆ柇鐩撮攢杩樻槸鍒嗛攢" />
+ <!-- DN娓呭崟椤甸潰 -->
+ <aura:attribute name="DNListPage" type="Boolean" default="false" description="DN娓呭崟椤甸潰" />
+ <!-- 瀹㈡埛id -->
+ <aura:attribute name="accountId" type="string" default="" description="瀹㈡埛id" />
+ <!-- 璁板綍绫诲瀷鍚� -->
+ <aura:attribute name="recordTypeName" type="string" default="" description="璁板綍绫诲瀷鍚�" />
+ <!-- 缁忛攢鍟嗗悕绉� -->
+ <aura:attribute name="agencyName" type="string" default="" description="缁忛攢鍟嗗悕绉�" />
+ <!-- 澶氬皯鏉℃暟鎹� -->
+ <aura:attribute name="lineItemSize" type="string" default="" description="澶氬皯鏉℃暟鎹�" />
+ <!-- 鍏辨湁澶氬皯椤� -->
+ <aura:attribute name="allPage" type="string" default="" description="鍏辨湁澶氬皯椤�" />
+ <!-- DNData -->
+ <aura:attribute name="eSignData" type="Object[]" description="鎵�鏈塂N鐨勪俊鎭�" />
+ <!-- 缃戝潃 -->
+ <aura:attribute name="url" type="string" default="https://stagefull-ocm.cs113.force.com/eSignSystem/s/EsignDataEntry?DNName=" description="璁板綍绫诲瀷鍚�" />
+ <!-- 鏍¢獙code -->
+ <aura:attribute name="code" type="string" default="" />
+ <aura:attribute name="decodeCode" type="string" default="" />
+
+
+ <aura:attribute name="isLastPage" type="Boolean" default="false" description="鏄惁鏈�鍚庝竴椤碉紝濡傛灉鏄渶鍚庝竴椤碉紝閭d箞琛ㄦ牸鍒嗛〉鐨勪笅涓�椤典笉鍙敤" />
+ <aura:attribute name="data" type="Object[]" description="鎵�鏈夋槑缁嗙殑淇℃伅" />
+ <aura:attribute name="currentData" type="Object[]" description="鏄庣粏椤靛綋鍓嶆樉绀虹殑鏄庣粏鐨勪俊鎭�" />
+ <aura:attribute name="dataSize" type="Integer" default="0" description="鏄庣粏椤靛綋鍓嶆樉绀虹殑鏄庣粏鐨勬暟閲�" />
+ <aura:attribute name="pageNumber" type="Integer" default="1" description="鏄庣粏椤佃〃鏍肩殑绗嚑椤�" />
+ <aura:attribute name="pageSize" type="Integer" default="5" description="鏄庣粏椤佃〃鏍肩殑姣忛〉鏄庣粏瀹归噺" />
+ <aura:attribute name="searchSize" type="Integer" default="" description="妫�绱㈡暟鎹殑闀垮害" />
+ <aura:attribute name="searchCase" type="Integer" default="" description="瀛樻斁妫�绱㈠�硷紝淇濈暀缂撳瓨" />
+ <aura:attribute name="searchCaseKey" type="Integer" default="" description="瀛樻斁妫�绱㈠�硷紝璧嬪�肩粰searchCase" />
+ <aura:attribute name="searchFlag" type="boolean" default="" description="鎼滅储妗嗘槸鍚︽湁鍊�" />
+ <aura:attribute name="showQR" type="boolean" default="false" />
+ <aura:attribute name="QRWidth" type="String" description="鐢ㄦ潵浠庣埗瀵硅薄鎺ユ敹浼犻�掕繃鏉ョ殑灞忓箷瀹藉害" default="" />
+ <aura:attribute name="QRHeight" type="String" description="鐢ㄦ潵浠庣埗瀵硅薄鎺ユ敹浼犻�掕繃鏉ョ殑灞忓箷瀹藉害" default="" />
+ <aura:attribute name="ShowDNNameQR" type="String" description="鍒ゆ柇杩斿洖鏄惁鍙互鎵撳嵃" default="" />
+
+ <!-- 杩斿洖棣栭〉 start -->
+ <aura:attribute name="agencyDNSignUpStatus" type="String" default="" description="DN绛炬敹鐘舵��(缁忛攢鍟�)" />
+ <aura:attribute name="HPDNSignUpStatus" type="String" default="" description="DN绛炬敹鐘舵��(鍖婚櫌)" />
+ <aura:attribute name="agencySubmit" type="boolean" default="" description="鏄惁鎻愪氦" />
+ <aura:attribute name="DNNameSpare" type="String" default="" description="澶囩敤DN鍙�" />
+
+ <!-- 杩斿洖棣栭〉 end -->
+
+ <!-- 鍒濆鍖� -->
+ <aura:handler name="init" value="{! this }" action="{! c.init }" />
+ <aura:handler name="change" value="{!v.messageAttribute}" action="{!c.handlerMessageChange}" />
+ <aura:handler name="componentEvent" event="c:BackToHomePage" action="{!c.handlerMessageEvt}" phase="bubble" />
+ <div>
+ <lightning:spinner aura:id="mySpinner" alternativeText='璇风瓑寰�' size="large" class="slds-hide" />
+ </div>
+ <!-- <div id="allDiv" style="overflow-x:scroll ;"> -->
+
+ <!-- 澶辫触toast 缁勪欢鐨勫疄鐜�-->
+ <div class="slds-modal slds-fade-in-open slds-modal_small slds-hide" aura:id="errorDiv">
+ <!-- <ui:inputText aura:id="articleURL"/> -->
+ <div class="demo-only" style="height: 8rem;" id="errorSonDiv1">
+ <div class="slds-notify_container slds-is-relative">
+ <div class="slds-notify slds-notify_toast slds-theme_error" role="status" id="errorSonDiv2" style="">
+ <div class="">
+ <!-- style="position: absolute;left: 0;top: 0;right: 0;bottom: 0;margin: auto;" -->
+ <div class="slds-notify__content
+ slds-align_absolute-center slds-m-left_none">
+ <lightning:icon alternativeText="error" iconName="utility:error" size="small" class="buttonColor slds-m-right_small" />
+ <!-- style="word-break: break-all;width: 200px;overflow: auto" -->
+ <h2 class="slds-text-heading_small ">
+ <div id="errorSonDiv3" style=" word-break: break-all;overflow: auto;">
+ {!v.errorMessage}
+ </div>
+ </h2>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <aura:if isTrue="{!v.DNNameInput}">
+
+ <lightning:card variant="Narrow" title="濂ユ灄宸存柉鐢靛瓙绛炬敹绯荤粺" iconName="standard:account">
+ <div class='slds-m-around_small'>
+ <lightning:input name="input3" value="{!v.code}" label="璇疯緭鍏ョ數瀛愮鏀禝D鍙�" placeholder="鏍峰紡涓猴細9999999" />
+ <br/>
+ <div style="text-align:right;flex: 1;padding-top: 1px;">
+ <lightning:button variant="brand" label="纭" title="纭" onclick="{! c.getAccountHandler }" />
+ </div>
+ </div>
+ </lightning:card>
+ </aura:if>
+ <aura:if isTrue="{!v.DNListPage}">
+ <lightning:card class="">
+ <!-- 鍔犱笂婊氬姩鏉� -->
+ <div id="header" style="{!'width:'+v.floatWidth+'px;'}">
+ <tr>
+ <td class="field-title" title="Field 3" style="font-weight:bold;font-size: 15px;color: #0f218b;" align="left">缁忛攢鍟嗗悕绉帮細{!v.agencyName}
+
+ </td>
+ </tr>
+ <tr>
+ <td class="field-title" title="Field 3" style="font-weight:bold;font-size: 13px;" align="left">锛堝悜鍙虫粦鍔ㄦ煡鐪嬫洿澶氫俊鎭級
+
+ </td>
+ </tr>
+
+ </div>
+ <!-- 妫�绱� -->
+ <div id="searchDiv" class="slds-page-header" role="banner" style="{!'width:'+v.floatWidth+'px;'}">
+ <div class="slds-float_center" style="text-align:left">
+ <tr>
+ <!-- style="{!'padding-left:'+v.floatWidth*0.2+'px;'}" 璇烽�夋嫨鎮ㄩ渶瑕佺鏀剁殑-->
+ <td align="left">鍏辫{!v.lineItemSize}鍗曘�侱N鍙�(妯$硦妫�绱�)
+ <input id="searchInput" lightning-input_input="" type="text" class="slds-input" value="{!v.searchCase}" name="" onchange="{!c.searchByDNName}" style="{!'width:'+v.floatWidth*0.3+'px;'}" />
+ </td>
+
+ <!-- <td style="padding-left: 5px;">
+ <aura:if isTrue="{!v.searchFlag}">
+ 璇ョ鍏辨湁{!v.searchSize}鏉℃暟鎹��
+ <aura:set attribute="else">
+ 璇ュ崟鍏辨湁{!v.lineItemSize}鏉℃暟鎹��
+ </aura:set>
+ </aura:if>
+ </td> -->
+ </tr>
+ </div>
+ </div>
+ <div id="allDiv" style="{!'width:'+v.floatWidth+'px;overflow-x:scroll;'}">
+ <div id="in" style=" width:1012px;margin-right: 4px; ">
+ <!-- 鏄剧ず鍦ㄦ槑缁嗛〉鐨勫綋鍓嶆槑缁嗙殑琛ㄦ牸 -->
+ <div id="inTable">
+ <!-- <lightning:card> -->
+ <aura:set attribute="title">
+ 璐х墿绛炬敹鍗曟槑缁�
+ </aura:set>
+
+ <table class="slds-table slds-table_cell-buffer slds-table_bordered slds-hint-parent slds-no-row-hover " style="table-layout: fixed;">
+ <thead>
+ <tr class="slds-line-height_reset slds-text-title_caps">
+ <!-- 绗竴鍒� DN鍗曞彿 -->
+ <th class="slds-is-resizable" tabindex="-1" data-label="DN鍗曞彿" scope="row">
+
+ <span class="slds-grid slds-grid_align-spread" style="
+ width: 90px;text-align: left;display:block;">
+ <div class="slds-truncate">
+ <span title="DN鍗曞彿" class="slds-truncate" style="padding-bottom: 3px;">DN鍗曞彿</span> </div>
+ </span>
+
+
+
+ </th>
+ <!-- 绗簩鍒� 鍚堝悓缂栧彿 -->
+ <th class="slds-is-resizable" tabindex="-1" data-label="鍚堝悓缂栧彿" scope="row" style="width: 110px;height: 35px; outline: none;">
+
+ <span class="slds-grid slds-grid_align-spread" style="text-align: left;display:block;">
+ <div class="slds-truncate">
+ <span title="鍚堝悓缂栧彿" class="slds-truncate" style="padding-bottom: 3px;">鍚堝悓缂栧彿</span>
+ </div>
+
+ </span>
+
+
+ </th>
+
+ <!-- 绗笁鍒� 鍖婚櫌鍚嶇О-->
+ <th class="slds-is-resizable" tabindex="-1" data-label="鍖婚櫌鍚嶇О" scope="row" style="width: 249px;height: 35px;">
+
+ <span class="slds-grid slds-grid_align-spread" style="text-align: left;display:block;">
+ <div class="slds-truncate">
+ <span title="鍖婚櫌鍚嶇О" class="slds-truncate" style="padding-bottom: 3px;">鍖婚櫌鍚嶇О</span>
+
+
+ </div>
+ </span>
+
+
+ </th>
+
+ <!-- 绗洓鍒� 缁忛攢鍟嗙鏀剁姸鎬�-->
+ <th class="slds-is-resizable" tabindex="-1" data-label="缁忛攢鍟嗙鏀剁姸鎬�" scope="row" style="width: 140px;height: 35px;">
+
+ <span class="slds-grid slds-grid_align-spread" style="text-align: center;display:block;">
+ <div class="slds-truncate">
+ <span title="缁忛攢鍟嗙鏀剁姸鎬�" class="slds-truncate" style="padding-bottom: 3px;">缁忛攢鍟嗙鏀剁姸鎬�</span>
+
+
+ </div>
+ </span>
+
+
+
+ </th>
+
+ <!-- 绗簲鍒� 鍖婚櫌绛炬敹鐘舵��-->
+ <th class="slds-is-resizable" tabindex="-1" data-label="鍖婚櫌绛炬敹鐘舵��" scope="row" style="width: 140px;height: 35px;">
+
+ <span class="slds-grid slds-grid_align-spread" style="text-align: center;display:block;">
+ <div class="slds-truncate">
+ <span title="鍖婚櫌绛炬敹鐘舵��" class="slds-truncate" style="padding-bottom: 3px;">鍖婚櫌绛炬敹鐘舵��</span>
+
+
+ </div>
+ </span>
+
+
+
+ </th>
+ <!-- 绗叚鍒� 璐х墿鎯呭喌-->
+ <th class="slds-is-resizable" tabindex="-1" data-label="鍙戣揣鏃ユ湡" scope="row" style="width: 110px;height: 35px;">
+
+ <span class="slds-grid slds-grid_align-spread" style="text-align: center;display:block;">
+ <div class="slds-truncate">
+ <span title="鍙戣揣鏃ユ湡" class="slds-truncate" style="padding-bottom: 3px;">鍙戣揣鏃ユ湡</span>
+
+
+ </div>
+ </span>
+
+
+
+ </th>
+ <!-- 绗竷鍒� 闄勪欢鍚� fy-->
+ <th class="slds-is-resizable" tabindex="-1" data-label="闄勪欢鍚�1" scope="row" style="width: 110px;height: 35px;">
+
+ <span class="slds-grid slds-grid_align-spread" style="text-align: center;display:block;">
+ <div class="slds-truncate">
+ <span title="闄勪欢鍚�1" class="slds-truncate" style="padding-bottom: 3px;">闄勪欢鍚�1</span>
+
+
+ </div>
+ </span>
+
+
+
+ </th>
+ <!-- 绗竷鍒� 浜岀淮鐮� -->
+ <th class="slds-is-resizable" tabindex="-1" data-label="鍖婚櫌绛炬敹浜岀淮鐮�" scope="row" style="width: 140px;height: 35px;text-align: center;">
+
+ <span class="slds-grid slds-grid_align-spread" style="text-align: center;display:block;">
+ <div class="slds-truncate">
+ <span title="鍖婚櫌绛炬敹" class="slds-truncate" style="padding-bottom: 3px;">鍖婚櫌绛炬敹浜岀淮鐮�</span>
+
+
+ </div>
+ </span>
+
+
+
+ </th>
+ <!-- 绗叓鍒� 娴嬭瘯鎺ュ彛 -->
+ <!-- <th class="slds-is-resizable" tabindex="-1" data-label="娴嬭瘯鎺ュ彛" scope="row" style="width: 140px;height: 35px;text-align: center;">
+
+ <span class="slds-grid slds-grid_align-spread" style="text-align: center;display:block;">
+ <div class="slds-truncate">
+ <span title="娴嬭瘯鎺ュ彛" class="slds-truncate" style="padding-bottom: 3px;">娴嬭瘯鎺ュ彛</span>
+
+
+ </div>
+ </span>
+
+
+
+ </th> -->
+
+
+ </tr>
+ </thead>
+ <aura:if isTrue="{!v.currentData.length > 0}">
+ <tbody>
+ <aura:iteration items="{!v.currentData}" var="curr" indexVar="idx">
+ <tr class="slds-hint-parent">
+ <!-- 琛岄」鐩篃鐢╰h 鍥犱负鐢╰d鏍囩鐐瑰嚮鍒楃殑楂樺厜 鍦ㄨ嫻鏋滆澶囦笂 鏈夌棔杩� -->
+ <!-- 琛岄」鐩� 绗竴鍒� DN鍗曞彿 -->
+ <th class="slds-is-resizable" tabindex="-1" data-label="DN鍗曞彿" scope="row">
+
+ <span class="slds-grid slds-grid_align-spread" style="
+ width: 90px;
+ padding-top: 6px;height:30px;
+ ">
+ <!-- <div class="slds-truncate">
+ <a id="{!curr.Id+':'+idx+':'+curr.DNNameNo0__c}" herf="javascript:void(0);" onclick="{!c.openESignPage}" name="{!curr.DNNameNo0__c}"><lightning:formattedText value="{!curr.DNNameNo0__c}" /></a>
+
+ </div> -->
+ <a herf="javascript:void(0);" >
+ <button style="border: none;background-color: transparent;outline: none;padding-left: 0px;text-decoration: underline;" name="{!curr.DNNameNo0__c}" onclick="{!c.openESignPage}">
+ {!curr.DNNameNo0__c}</button>
+ </a>
+ </span>
+
+
+
+ </th>
+
+ <!-- 琛岄」鐩� 绗簩鍒� 鍚堝悓缂栧彿-->
+ <th class="slds-is-resizable" tabindex="-1" data-label="鍚堝悓缂栧彿" scope="row">
+
+ <span class="slds-grid slds-grid_align-spread">
+ <div class="slds-truncate">
+ <lightning:formattedText value="{!curr.ContractNO__c}" />
+
+
+
+ </div>
+ </span>
+
+
+
+ </th>
+ <!-- 琛岄」鐩� 绗笁鍒� 鍖婚櫌鍚嶇О-->
+ <th class="slds-is-resizable" tabindex="-1" data-label="鍖婚櫌鍚嶇О" scope="row" style="white-space:nowrap;
+ overflow:hidden;
+ text-overflow: ellipsis;">
+
+ <span class="slds-grid slds-grid_align-spread" style="
+ width: 361px;
+ padding-top: 6px;height:31px;">
+ <div class="slds-truncate">
+ <lightning:formattedText value="{!curr.Hospital_Name_Text__c}" />
+
+
+ </div>
+ </span>
+
+
+
+ </th>
+ <!-- 琛岄」鐩� 绗洓鍒� 缁忛攢鍟嗙鏀剁姸鎬�-->
+ <th class="slds-is-resizable" tabindex="-1" data-label="缁忛攢鍟嗙鏀剁姸鎬�" scope="row">
+
+ <span class="slds-grid slds-grid_align-spread" style="text-align: center;display:block;">
+ <div class="slds-truncate">
+ <lightning:formattedText value="{!curr.agencyDNSignUpStatus__c}" />
+
+
+ </div>
+ </span>
+
+
+
+ </th>
+ <!-- 琛岄」鐩� 绗簲鍒� 鍖婚櫌绛炬敹鐘舵��-->
+ <th class="slds-is-resizable" tabindex="-1" data-label="鍖婚櫌绛炬敹鐘舵��" scope="row">
+
+ <span class="slds-grid slds-grid_align-spread" style="text-align: center;display:block;">
+ <div class="slds-truncate">
+ <lightning:formattedText id="{!curr.Id+':'+idx+':HPDNSignUpStatus__c'}" value="{!curr.HPDNSignUpStatus__c}"/>
+
+
+ </div>
+ </span>
+
+
+
+ </th>
+ <!-- 琛岄」鐩� 绗叚鍒� 鍙戣揣鏃ユ湡-->
+ <th class="slds-is-resizable" tabindex="-1" data-label="鍙戣揣鏃ユ湡" scope="row">
+
+ <span class="slds-grid slds-grid_align-spread" style="text-align: center;display:block;">
+ <div class="slds-truncate">
+ <lightning:formattedText value="{!curr.DeliveryDate__c}" />
+
+
+ </div>
+ </span>
+
+
+
+ </th>
+ <!-- 琛岄」鐩� 绗洓鍒� 闄勪欢鍚� fy-->
+ <th class="slds-is-resizable" tabindex="-1" data-label="闄勪欢鍚�1" scope="row">
+
+ <span class="slds-grid slds-grid_align-spread" style="text-align: center;display:block;">
+ <div class="slds-truncate">
+ <!-- <lightning:formattedText value="{!curr.AttachmentName}" /> -->
+ <a href="https://sfpi-mebg-test.olympuschina.com:8081/stg/api/file/preview?key=20220419/8cf583ab71c94eee96da7bbfcc1b376b.html">闄勪欢鍚�1</a>
+ <!-- <a href="https://ocsm stagefull.sandbox.file.force.com/servlet/servlet.FileDownload?file=00P1000001QkhvQ">{!curr.AttachmentName}</a> -->
+
+ </div>
+ </span>
+
+
+
+ </th>
+ <!-- 琛岄」鐩� 绗竷鍒� 鍖婚櫌绛炬敹浜岀淮鐮�-->
+ <th class="slds-is-resizable" tabindex="-1" data-label="" scope="row" style="text-align: center;">
+
+ <button id="{!curr.skip_Hospital_Sign__c}" tabindex="-1" class="slds-button ReturnButton" name="{!curr.DNNameNo0__c}" style="width: 40px;" value="{!IF(curr.skip_Distribution_Sign__c, 'true', curr.agencySignUpDate__c)}" onclick="{!c.showESignQR}">鏌ョ湅</button>
+
+
+ </th>
+ <!-- 琛岄」鐩� 绗竷鍒� 鍖婚櫌绛炬敹浜岀淮鐮�-->
+ <!-- <th class="slds-is-resizable" tabindex="-1" data-label="" scope="row" style="text-align: center;">
+
+ <button id="testIn" tabindex="-1" class="slds-button ReturnButton" name="娴嬭瘯鎺ュ彛" style="width: 40px;" value="娴嬭瘯鎺ュ彛" onclick="{!c.testIn}">娴嬭瘯鎺ュ彛</button>
+
+
+ </th> -->
+
+
+ </tr>
+ </aura:iteration>
+ </tbody>
+
+ </aura:if>
+ </table>
+ <aura:if isTrue="{!empty(v.currentData)}">
+ <div class="slds-align_absolute-center">
+ No records found
+ </div>
+ </aura:if>
+
+
+
+ </div>
+ </div>
+ </div>
+
+ <!-- 鍒嗛〉鍔熻兘鐨勪笂涓�椤靛拰涓嬩竴椤碉紝 杩樻槸鏈�宸︿晶鐨勬樉绀哄綋鍓嶉〉鏁扮殑閫昏緫-->
+ <div id="floatDiv" style="{!'width:'+v.floatWidth+'px;'}">
+ <div class="slds-clearfix">
+ <div class="slds-page-header" role="banner">
+ <div class="slds-float_center" style="text-align:center">
+ <!-- iconName="utility:chevronleft" iconPosition="left" -->
+ <lightning:button iconName="utility:left" onclick="{!c.handleHome}" disabled="{! v.pageNumber == 1}" />
+ <lightning:button iconName="utility:chevronleft" iconPosition="left" onclick="{!c.handlePrev}" disabled="{! v.pageNumber == 1}" />
+ <span title="褰撳墠椤�"> {!v.pageNumber}
+ </span>
+ <lightning:button iconName="utility:chevronright" iconPosition="right" disabled="{! v.isLastPage}" onclick="{!c.handleNext}" />
+ <!-- iconName="utility:chevronright" iconPosition="right" -->
+ <lightning:button iconName="utility:right" disabled="{! v.isLastPage}" onclick="{!c.handleLast}" />
+
+ </div>
+
+ </div>
+ </div>
+ <!-- 涓婁竴姝� -->
+ <div style="text-align:center;flex: 1;padding-top: 1px;">
+ <!-- <p class="slds-page-header__title">
+ 鍏�<b>{!v.allPage}</b>椤祙 褰撳墠鏄剧ず绗�<b>{!v.pageNumber}</b>椤�
+ </p> -->
+ <p style="text-align:center;font-weight:bold;font-size: 15px;" class="">鍏�<span style="text-decoration:underline;">{!v.allPage}</span>椤祙 褰撳墠鏄剧ず绗�<span style="text-decoration:underline;">{!v.pageNumber}</span>椤�</p>
+
+
+ </div>
+ <div class=" " style="text-align:center">
+ <p style="color:#0f218B;text-align:center;font-weight:bold;font-size: 15px;" class="">濡傛湁鐮存崯璇峰厛鎷嶇収鐗囦互渚涗笂浼�</p>
+ </div>
+
+ <!-- <div class="slds-float_left">
+ <div id="attention" style=" position:relative;margin-right: 4px; margin-right: 4px; " class="" >
+
+ <lightning:button variant="brand"
+ label="涓婁竴姝�" title="涓婁竴姝�" onclick="{! c.handleShowPageNextClick }" />
+ </div>
+ </div>
+
+ <div class="slds-float_right">
+ <lightning:button variant="brand"
+ label="涓嬩竴姝�" title="涓嬩竴姝�" onclick="{!c.OpinionsTODetailsPage }" />
+ </div> -->
+
+ </div>
+ </lightning:card>
+ </aura:if>
+ <aura:if isTrue="{!v.LoadError}">
+ <lightning:layout horizontalAlign="center" class="">
+ <lightning:layoutItem padding="around-small" size="12">
+ <p> 鍔犺浇澶辫触锛岃鎮ㄨ仈绯荤粰鎮ㄥ彂閫侀偖浠剁殑钀ヤ笟鍔╃悊锛�</p>
+ </lightning:layoutItem>
+ </lightning:layout>
+ </aura:if>
+ <aura:if isTrue="{!v.buttonGroup}">
+ <div class="slds-modal__container ">
+ <div class="slds-modal__header ">
+ <p style="color:#0f218B" class="slds-text-heading--medium">濡傛湁鐮存崯璇峰厛鎷嶇収鐗囦互渚涗笂浼�</p>
+ </div>
+ <div class="slds-modal__content slds-grow slds-p-around--medium ">
+ <div class="slds-box">
+ <lightning:layout verticalAlign="certer">
+ <!-- <lightning:layoutItem flexibility="auto" padding="around-small" size="2" >
+
+ </lightning:layoutItem> -->
+ <lightning:layoutItem flexibility="auto" padding="around-small" size="12" class="InheritedDIV">
+ <lightning:button variant="brand" class="InheritedButton" label="缁忛攢鍟�" title="缁忛攢鍟�" onclick="{! c.agencyhandleClick }" />
+ </lightning:layoutItem>
+ <!-- <lightning:layoutItem flexibility="auto" padding="around-small" size="12" class="InheritedDIV" >
+ <lightning:button variant="brand-outline" class="InheritedButton"
+ label="缁忛攢鍟�" title="缁忛攢鍟�" onclick="{! c.agencyhandleClick }"/>
+ </lightning:layoutItem> -->
+
+ <!-- <lightning:layoutItem flexibility="auto" padding="around-small" size="2" >
+
+ </lightning:layoutItem> -->
+ </lightning:layout>
+ <lightning:layout verticalAlign="certer">
+ <!-- <lightning:layoutItem flexibility="auto" padding="around-small" size="2" >
+
+ </lightning:layoutItem> -->
+ <lightning:layoutItem flexibility="certer" padding="around-small" size="12" class="InheritedDIV">
+ <lightning:button variant="brand" class="InheritedButton" label="鍖婚櫌" title="鍖婚櫌" onclick="{! c.HPhandleClick }" />
+ </lightning:layoutItem>
+ <!-- <lightning:layoutItem flexibility="certer" padding="around-small" size="12" class="InheritedDIV">
+ <lightning:button variant="brand-outline" class="InheritedButton"
+ label="鍖婚櫌" title="鍖婚櫌" onclick="{! c.HPhandleClick }" />
+ </lightning:layoutItem> -->
+
+ </lightning:layout>
+ <lightning:layout verticalAlign="certer">
+ <lightning:layoutItem flexibility="auto" padding="around-small" size="6">
+
+ </lightning:layoutItem>
+
+ </lightning:layout>
+ <!-- <aura:if isTrue="{!v.isButtonShow}"> -->
+ <lightning:layout verticalAlign="left">
+ <!-- <lightning:layoutItem flexibility="auto" padding="around-small" size="2" >
+
+ </lightning:layoutItem> -->
+ <lightning:layoutItem flexibility="auto" padding="around-small" size="12" class="InheritedDIV">
+ <lightning:button variant="brand-outline" class="ReturnButton" label="杩斿洖" title="杩斿洖" onclick="{! c.backButtonHandler }" />
+ </lightning:layoutItem>
+
+ </lightning:layout>
+ <!-- </aura:if> -->
+ </div>
+ </div>
+
+ </div>
+ </aura:if>
+
+ <aura:if isTrue="{!v.agencyPage}">
+ <!-- 缁忛攢鍟嗛獙鏀堕〉 -->
+ <c:eSignAgencyPage DNName="{!v.DNName}" allWidth="{!v.allWidth}" floatWidth="{!v.floatWidth}" agencyScanDayBack="{!v.agencyScanDayBack}" agencySignUpDateBack="{!v.agencySignUpDateBack}" />
+ </aura:if>
+
+ <aura:if isTrue="{!v.agencyConfirmPage}">
+ <c:eSignAgencyConfirmPage DNName="{!v.DNName}" allWidth="{!v.allWidth}" floatWidth="{!v.floatWidth}" IsAgencyShow="{!v.IsAgencyShow}" entryType="{!v.entryType}" agencyScanDayBack="{!v.agencyScanDayBack}" agencySignUpDateBack="{!v.agencySignUpDateBack}"
+ agencyConfirmDateBack="{!v.agencyConfirmDateBack}" HPScanDay="{!v.HPScanDay}" HPSignUpDate="{!v.HPSignUpDate}" salesHPManageFBDate="{!v.salesHPManageFBDate}" salesHPManageConfirmDate="{!v.salesHPManageConfirmDate}" HPConfirmDate="{!v.HPConfirmDate}"
+ />
+ <!-- 閮ㄥ垎楠屾敹/鎷掓敹 纭椤典笉浼犳墦鍕炬爣璇� -->
+ <!-- IsAgencyOrHPShow = "{!v.IsAgencyOrHPShow}" -->
+ </aura:if>
+ <!-- IsAgencyOrHPShow = "{!v.IsAgencyOrHPShow}"
+ entryType = "{!v.entryType}" -->
+ <aura:if isTrue="{!v.agencyConfirmReadOnlyPage}">
+ <c:eSignAgencyConfirmReadOnlyPage DNName="{!v.DNName}" allWidth="{!v.allWidth}" floatWidth="{!v.floatWidth}" />
+ <!-- 閮ㄥ垎楠屾敹/鎷掓敹 纭椤典笉浼犳墦鍕炬爣璇� -->
+ <!-- IsAgencyOrHPShow = "{!v.IsAgencyOrHPShow}" -->
+ </aura:if>
+
+ <aura:if isTrue="{!v.HPPage}">
+ <!-- 鍖婚櫌棣栭〉 -->
+ <!-- 鍒ゆ柇鐩撮攢杩樻槸鍒嗛攢 -->
+ <!-- agencyScanDayBack="{!v.agencyScanDayBack}"
+ agencySignUpDateBack="{!v.agencySignUpDateBack}"
+ agencyConfirmDateBack = "{!v.agencyConfirmDateBack}"/> -->
+ <aura:if isTrue="{!v.isDirectSales}">
+ <c:eSignHospitalDirectSalesPage DNName="{!v.DNName}" allWidth="{!v.allWidth}" floatWidth="{!v.floatWidth}" IsAgencyShow="{!v.IsAgencyShow}" IsHPShow="{!v.IsHPShow}" />
+
+ <aura:set attribute="else">
+ <c:eSignHospitalPage DNName="{!v.DNName}" allWidth="{!v.allWidth}" floatWidth="{!v.floatWidth}" IsAgencyShow="{!v.IsAgencyShow}" IsHPShow="{!v.IsHPShow}" agencyScanDayBack="{!v.agencyScanDayBack}" agencySignUpDateBack="{!v.agencySignUpDateBack}" agencyConfirmDateBack="{!v.agencyConfirmDateBack}"
+ />
+ </aura:set>
+ </aura:if>
+
+ </aura:if>
+
+ <aura:if isTrue="{!v.HPPConfirmage}">
+
+
+ <c:eSignHospitalConfirmPage DNName="{!v.DNName}" entryType="{!v.entryType}" allWidth="{!v.allWidth}" floatWidth="{!v.floatWidth}" />
+
+ </aura:if>
+
+ <aura:if isTrue="{!v.eSignHospitalConfirmReadOnlyPage}">
+ <!-- 鍖婚櫌纭 -->
+
+ <c:eSignHospitalConfirmReadOnlyPage DNName="{!v.DNName}" allWidth="{!v.allWidth}" floatWidth="{!v.floatWidth}" IsAgencyOrHPShow="{!v.IsAgencyOrHPShow}" entryType="{!v.entryType}" DirectFlag="{!v.DirectFlag}" />
+ <!-- 閮ㄥ垎楠屾敹/鎷掓敹 纭椤典笉浼犳墦鍕炬爣璇� -->
+ <!-- IsAgencyOrHPShow = "{!v.IsAgencyOrHPShow}" -->
+ </aura:if>
+
+ <aura:if isTrue="{!v.showQR}">
+ <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 ">
+ <!-- {!'min-Height:'+v.QRHeight*0.6+'px;border-style: solid;border-width:6px;border-color:#0f218b'} border-style: solid;border-width:6px;border-color:#0f218b;-->
+ <div class="slds-modal__container" style="min-Height:300px;">
+
+ <header class="slds-modal__header" style="{!'max-width:'+v.QRWidth+'px;'}">
+ <lightning:buttonIcon iconName="utility:close" onclick="{! c.closeCancelModel }" alternativeText="close" variant="bare-inverse" class="slds-modal__close" />
+ <h4 id="modal-heading-01" class="slds-text-heading_medium slds-hyphenate">璇蜂繚鐣欒浜岀淮鐮佹彁渚涚粰鍖婚櫌杩涜绛炬敹</h4>
+ </header>
+ <div class="slds-modal__content slds-p-around_medium" id="modal-content-id-1" style="{!'min-Height:300px;max-width:'+v.QRWidth+'px;'}">
+ <c:eSignHospitalQR DNName="{!v.DNName}" QRWidth="{! v.QRWidth }" QRHeight="{!v.QRHeight }" />
+ </div>
+
+ <footer class="slds-modal__footer" style="{!'max-width:'+v.QRWidth+'px;'}">
+
+ <!-- <lightning:button variant="brand"
+ label="纭鍙栨秷浠诲姟"
+ title="ConfirmCancel"
+ onclick="{! c.ConfirmCancel }"/> -->
+ <lightning:button variant="neutral" label="鍏抽棴" title="Cancel" onclick="{! c.hideHPQR }" />
+ </footer>
+ </div>
+ </section>
+ </aura:if>
+
+ <!-- </div> -->
+</aura:component>
\ No newline at end of file
diff --git a/force-app/main/default/aura/eSignHomePage/eSignHomePage.cmp-meta.xml b/force-app/main/default/aura/eSignHomePage/eSignHomePage.cmp-meta.xml
new file mode 100644
index 0000000..4f7ebcc
--- /dev/null
+++ b/force-app/main/default/aura/eSignHomePage/eSignHomePage.cmp-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<AuraDefinitionBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>48.0</apiVersion>
+ <description>A Lightning Component Bundle</description>
+</AuraDefinitionBundle>
diff --git a/force-app/main/default/aura/eSignHomePage/eSignHomePage.css b/force-app/main/default/aura/eSignHomePage/eSignHomePage.css
new file mode 100644
index 0000000..cdebe18
--- /dev/null
+++ b/force-app/main/default/aura/eSignHomePage/eSignHomePage.css
@@ -0,0 +1,116 @@
+.THIS .slds-button
+{
+ display:initial;
+}
+.THIS .InheritedButton
+{
+ font-size:22px;
+ width:90%;
+ height:100%;
+}
+.THIS .InheritedDIV
+{
+ text-align: center;
+}
+.THIS .ReturnButton
+{
+ /*font-size:22px;
+ width:90%;
+ height:100%;*/
+ color: #0f218b;
+ border-color: #0f218b;
+}
+.THIS .slds-button_brand
+{
+ /*濂ユ灄宸存柉涓撳睘钃濊壊*/
+ background-color: #0f218b;
+}
+.THIS table thead tr th:first-child
+{
+
+ background-color: white;
+ position: fixed;
+ z-index: 2;
+ padding-top:11px;
+ /*top: 45px;
+ width: 50px;*/
+
+
+
+}
+.THIS table thead tr th:nth-child(2)
+{
+ /*background-color: white;
+ position: fixed;
+ z-index: 1;
+ top: 45px;
+ padding-left: 50px;
+ width: 161px;*/
+ padding-left: 0px;
+
+}
+.THIS table thead tr th:nth-child(3)
+{
+ padding-left: 0px;
+
+}
+.THIS table thead tr th:nth-child(4)
+{
+ padding-left: 0px;
+
+}
+.THIS table thead tr th:nth-child(5)
+{
+ padding-left: 0px;
+
+}
+.THIS table thead tr th:nth-child(6)
+{
+ padding-left: 0px;
+
+}
+
+.THIS table tbody tr th:first-child
+{
+ background-color: white;
+ position: fixed;
+ z-index: 2;
+ padding-top: 9px;
+ /*width: 50px;
+ padding-top: 9.0px;*/
+
+
+
+
+}
+
+.THIS table tbody tr th:nth-child(2)
+{
+ /*background-color: white;
+ position: fixed;
+ z-index: 1;
+ padding-left: 50px;
+ padding-top: 9.0px;
+ width: 161px;*/
+ padding-left: 0px;
+
+
+
+}
+.THIS table tbody tr th:nth-child(3)
+{
+ padding-left: 0px;
+
+}
+
+.THIS table tbody tr th:nth-child(4)
+{
+ padding-left: 0px;
+
+}
+
+.THIS table tbody tr th:nth-child(5)
+{
+ padding-left: 0px;
+
+}
\ No newline at end of file
diff --git a/force-app/main/default/aura/eSignHomePage/eSignHomePageController.js b/force-app/main/default/aura/eSignHomePage/eSignHomePageController.js
new file mode 100644
index 0000000..607eb8d
--- /dev/null
+++ b/force-app/main/default/aura/eSignHomePage/eSignHomePageController.js
@@ -0,0 +1,86 @@
+/*
+ * @Description:
+ * @Author: wql
+ * @Date: 2021-05-24 09:45:19
+ * @LastEditTime: 2021-08-03 15:44:33
+ * @LastEditors:
+ */
+({
+ init: function(cmp, event, helper) {
+ console.log('inside init ocsm');
+ helper.init(cmp);
+ cmp.set('v.QRWidth', document.documentElement.clientWidth);
+ cmp.set('v.QRHeight', document.documentElement.clientHeight);
+ },
+ getStatusHandler: function(cmp, event, helper) {
+ helper.getStatusHandler(cmp);
+ },
+ getAccountHandler: function(cmp, event, helper) {
+ cmp.set('v.allWidth', document.documentElement.clientWidth - 40);
+ cmp.set('v.floatWidth', document.documentElement.clientWidth * 0.85);
+ cmp.set('v.floatWidth1', document.documentElement.clientWidth);
+ console.log('floatWidth:' + document.documentElement.clientWidth * 0.85);
+ helper.getAccountHandler(cmp);
+ },
+ HPhandleClick: function(cmp, event, helper) {
+ cmp.set('v.allWidth', document.documentElement.clientWidth - 40);
+ cmp.set('v.floatWidth', document.documentElement.clientWidth * 0.9);
+ cmp.set('v.floatWidth1', document.documentElement.clientWidth);
+ console.log('floatWidth:' + document.documentElement.clientWidth * 0.9);
+ helper.HPhandleClick(cmp);
+ // const width = document.documentElement.clientWidth;
+ // const contentDOM = document.getElementById('allDiv');
+ // contentDOM.style.width = width-40 + 'px';
+ },
+ agencyhandleClick: function(cmp, event, helper) {
+
+ cmp.set('v.allWidth', document.documentElement.clientWidth - 40);
+ cmp.set('v.floatWidth', document.documentElement.clientWidth * 0.9);
+ cmp.set('v.floatWidth1', document.documentElement.clientWidth);
+ console.log('floatWidth:' + document.documentElement.clientWidth * 0.9);
+ helper.agencyhandleClick(cmp);
+
+
+
+ },
+ //杩斿洖鎸夐挳
+ backButtonHandler: function(cmp, event, helper) {
+ helper.backButtonHandler(cmp);
+ },
+ handlerMessageEvt: function(cmp, event, helper) {
+ helper.handlerMessageEvt(cmp, event);
+ },
+ // 鏄庣粏椤佃〃鏍肩殑缈婚〉涓嬩竴椤�
+ handleNext: function(cmp, event, helper) {
+ helper.handleNext(cmp);
+ },
+ // 鏄庣粏椤佃〃鏍肩殑缈婚〉涓婁竴椤�
+ handlePrev: function(cmp, event, helper) {
+ helper.handlePrev(cmp);
+ },
+ // 鏄庣粏椤佃〃鏍肩殑缈婚〉棣栭〉
+ handleHome: function(cmp, event, helper) {
+ helper.handleHome(cmp);
+ },
+ // 鏄庣粏椤佃〃鏍肩殑缈婚〉灏鹃〉
+ handleLast: function(cmp, event, helper) {
+ helper.handleLast(cmp);
+ },
+ searchByDNName: function(cmp, event, helper) {
+ helper.searchByDNName(cmp);
+ },
+ openESignPage: function(cmp, event, helper) {
+ helper.openESignPage(cmp, event);
+ },
+ showESignQR: function(cmp, event, helper) {
+ helper.showESignQR(cmp, event);
+ },
+ hideHPQR: function(cmp, event, helper) {
+ cmp.set('v.showQR', false);
+ cmp.set('v.DNListPage', true);
+ },
+ testIn: function(cmp, event, helper) {
+ helper.testIn(cmp, event);
+ }
+
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/eSignHomePage/eSignHomePageHelper.js b/force-app/main/default/aura/eSignHomePage/eSignHomePageHelper.js
new file mode 100644
index 0000000..6527be2
--- /dev/null
+++ b/force-app/main/default/aura/eSignHomePage/eSignHomePageHelper.js
@@ -0,0 +1,1439 @@
+({
+ init: function(cmp, event) {
+
+ // 鍒涘缓Base64瀵硅薄
+ var Base64 = {
+ _keyStr: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",
+ encode: function(e) {
+ var t = "";
+ var n, r, i, s, o, u, a;
+ var f = 0;
+ e = Base64._utf8_encode(e);
+ while (f < e.length) {
+ n = e.charCodeAt(f++);
+ r = e.charCodeAt(f++);
+ i = e.charCodeAt(f++);
+ s = n >> 2;
+ o = (n & 3) << 4 | r >> 4;
+ u = (r & 15) << 2 | i >> 6;
+ a = i & 63;
+ if (isNaN(r)) { u = a = 64 } else if (isNaN(i)) { a = 64 }
+ t = t + this._keyStr.charAt(s) + this._keyStr.charAt(o) + this._keyStr.charAt(u) + this._keyStr.charAt(a)
+ }
+ return t
+ },
+ decode: function(e) {
+ var t = "";
+ var n, r, i;
+ var s, o, u, a;
+ var f = 0;
+ e = e.replace(/[^A-Za-z0-9+/=]/g, "");
+ while (f < e.length) {
+ s = this._keyStr.indexOf(e.charAt(f++));
+ o = this._keyStr.indexOf(e.charAt(f++));
+ u = this._keyStr.indexOf(e.charAt(f++));
+ a = this._keyStr.indexOf(e.charAt(f++));
+ n = s << 2 | o >> 4;
+ r = (o & 15) << 4 | u >> 2;
+ i = (u & 3) << 6 | a;
+ t = t + String.fromCharCode(n);
+ if (u != 64) { t = t + String.fromCharCode(r) }
+ if (a != 64) { t = t + String.fromCharCode(i) }
+ }
+ t = Base64._utf8_decode(t);
+ return t
+ },
+ _utf8_encode: function(e) {
+ e = e.replace(/rn/g, "n");
+ var t = "";
+ for (var n = 0; n < e.length; n++) {
+ var r = e.charCodeAt(n);
+ if (r < 128) { t += String.fromCharCode(r) } else if (r > 127 && r < 2048) {
+ t += String.fromCharCode(r >> 6 | 192);
+ t += String.fromCharCode(r & 63 | 128)
+ } else {
+ t += String.fromCharCode(r >> 12 | 224);
+ t += String.fromCharCode(r >> 6 & 63 | 128);
+ t += String.fromCharCode(r & 63 | 128)
+ }
+ }
+ return t
+ },
+ _utf8_decode: function(e) {
+ var t = "";
+ var n = 0;
+ var r = c1 = c2 = 0;
+ while (n < e.length) {
+ r = e.charCodeAt(n);
+ if (r < 128) {
+ t += String.fromCharCode(r);
+ n++
+ } else if (r > 191 && r < 224) {
+ c2 = e.charCodeAt(n + 1);
+ t += String.fromCharCode((r & 31) << 6 | c2 & 63);
+ n += 2
+ } else {
+ c2 = e.charCodeAt(n + 1);
+ c3 = e.charCodeAt(n + 2);
+ t += String.fromCharCode((r & 15) << 12 | (c2 & 63) << 6 | c3 & 63);
+ n += 3
+ }
+ }
+ return t
+ }
+ };
+
+ //鍒ゆ柇url鏄惁鏈夊弬鏁�
+ var flag = this.getURLISTrueParameter();
+ //鍙傛暟瀵硅薄map
+ var paramValue = this.getURLParameterValue();
+ //鍙傛暟瀵硅薄map鐨勯暱搴�
+ var length = Object.keys(paramValue).length;
+
+ //鈶犱竴涓弬鏁� AgencyID锛�
+ //鈶′袱涓弬鏁� 娉ㄦ畫id锛� DN鍙� 浼樺厛璺宠浆鍖婚櫌棣栭〉銆�
+
+ //鍙傛暟 绠$悊缂栫爜
+ var code;
+ //鍙傛暟 DN鍙�
+ var DNName;
+
+ //鍏堝垽鏂槸鍚︽湁鍙傛暟
+ if (flag) {
+ //鍒ゆ柇
+ if (paramValue.AgencyID) {
+ code = paramValue.AgencyID;
+ //BASE64杞爜
+ code = window.atob(code);
+ } else if (paramValue.DNName) {
+
+ DNName = paramValue.DNName;
+ //base64杞爜
+ DNName = window.atob(DNName);
+ } else {
+ //闅愯棌妫�绱㈤〉
+ cmp.set("v.DNNameInput", false);
+ //鎶ラ敊淇℃伅
+ cmp.set("v.LoadError", true);
+ return;
+ }
+
+ } else {
+ //鏄剧ず鎶ラ敊椤甸潰
+ //闅愯棌妫�绱㈤〉
+ cmp.set("v.DNNameInput", false);
+ //鎶ラ敊淇℃伅
+ cmp.set("v.LoadError", true);
+ return;
+ }
+
+ // if(!paramValue.DNName&&flag){
+ // //闅愯棌妫�绱㈤〉
+ // cmp.set("v.DNNameInput", false);
+ // //鎶ラ敊淇℃伅
+ // cmp.set("v.LoadError", true);
+ // return ;
+ // }
+ // var DNName = paramValue.DNName;
+
+ // else if(DNName){
+ // //闅愯棌妫�绱㈤〉
+ // cmp.set("v.DNNameInput", false);
+ // //鏄剧ず棣栭〉
+ // cmp.set('v.buttonGroup', true);
+ // //闅愯棌杩斿洖鎸夐挳
+ // cmp.set('v.isButtonShow', false);
+ // cmp.set('v.DNName', DNName);
+
+ // var action = cmp.get("c.getDNSignUpStatus");
+ // action.setParams({
+ // "DNName" : DNName
+ // });
+ // this.showSpinner(cmp);
+ // action.setCallback(this, function(response) {
+ // this.hideSpinner(cmp);
+ // var state = response.getState();
+
+ // if (state === "SUCCESS") {
+ // //res閲屾槸 绛炬敹鍗曞璞� 鍜� 绛炬敹鍗曞綍鍏ヨ〃瀵硅薄
+ // var res = response.getReturnValue();
+ // console.log('res:'+res);
+ // //濡傛灉绛炬敹鍗曞綍鍏ヨ〃鏈夋暟鎹紝鍏堝彇褰曞叆琛ㄧ殑鍚﹀垯灏辨绱㈢鏀跺崟淇℃伅
+ // var result;
+ // if(res){
+ // if(res.eSignFormEntry != null){
+ // result = res.eSignFormEntry;
+ // cmp.set("v.agencyScanDayBack", result.agencyScanDayBack__c);
+ // cmp.set("v.agencySignUpDateBack", result.agencySignUpDateBack__c);
+ // cmp.set("v.agencyConfirmDateBack",result.agencyConfirmDateBack__c);
+
+ // cmp.set("v.HPScanDay", result.HPScanDay__c);
+ // cmp.set("v.HPSignUpDate", result.HPSignUpDate__c);
+ // cmp.set("v.salesHPManageFBDate",result.salesHPManageFBDate__c);
+ // cmp.set("v.salesHPManageConfirmDate", result.salesHPManageConfirmDate__c);
+
+
+ // }else{
+ // result = res.eSignForm;
+ // cmp.set("v.agencyScanDayBack", result.agencyScanDay__c);
+ // cmp.set("v.agencySignUpDateBack", result.agencySignUpDate__c);
+ // cmp.set("v.agencyConfirmDateBack",result.agencyConfirmDate__c);
+
+ // cmp.set("v.HPScanDay", result.HPScanDay__c);
+ // cmp.set("v.HPSignUpDate", result.HPSignUpDate__c);
+ // cmp.set("v.salesHPManageFBDate",result.salesHPManageFBDate__c);
+ // cmp.set("v.salesHPManageConfirmDate", result.salesHPManageConfirmDate__c);
+ // }
+ // cmp.set("v.IsAgencyShow", res.isAgencySubmit);
+ // cmp.set("v.IsHPShow", res.isHPSubmit);
+ // cmp.set("v.entryType",res.entryType)
+ // }else{
+ // result = res;
+ // cmp.set("v.IsAgencyShow", false);
+ // cmp.set("v.IsHPShow", false);
+ // }
+
+ // //result 鏄渶鍚庢绱㈢殑涓�鏉℃暟鎹� 鐢ㄤ簬鍒ゆ柇鐘舵��
+ // console.log('result:'+result);
+
+ // if(!result || !result.Sales_Root_Formula__c){
+ // cmp.set("v.errorMessage", 'DN涓嶅瓨鍦紝璇蜂慨鏀笵N鍙峰悗閲嶈瘯锛�');
+ // this.showErrorToast(cmp);
+ // return;
+ // }
+
+ // cmp.set('v.eSignForm', result);
+ // cmp.set('v.DNNameInput', false);
+ // cmp.set('v.buttonGroup', true);
+
+ // }else if (state === "ERROR") {
+ // cmp.set("v.errorMessage", '缃戠粶寮傚父锛岃閲嶆柊杈撳叆锛�');
+ // this.showErrorToast(cmp);
+ // return;
+ // }
+ // });
+ // $A.enqueueAction(action);
+ // }
+
+ //濡傛灉绠$悊缂栫爜涓嶄负绌� 鍒欐樉绀篋N娓呭崟椤�
+ if (code) {
+ //鍘�0鎿嶄綔
+ var reg = new RegExp("([0]*)([1-9]+[0-9]+)", "g");
+
+ //瑙g爜鍚庣殑绠$悊缂栫爜
+ cmp.set("v.decodeCode", code.replace(reg, "$2"));
+ //闅愯棌妫�绱㈤〉
+ cmp.set("v.DNNameInput", true);
+ //鏄剧ず棣栭〉
+ cmp.set('v.buttonGroup', false);
+
+
+ }
+ //鍒ゆ柇DNName鏄惁涓虹┖ 涓嶄负绌哄垯闅愯棌妫�绱㈤〉
+ else if (DNName) {
+ //闅愯棌妫�绱㈤〉
+ cmp.set("v.DNNameInput", false);
+ // //鏄剧ず棣栭〉
+ // cmp.set('v.buttonGroup', true);
+ //闅愯棌杩斿洖鎸夐挳
+ // cmp.set('v.isButtonShow', false);
+ //鍘�0鎿嶄綔
+ var reg = new RegExp("([0]*)([1-9]+[0-9]+)", "g");
+
+ cmp.set('v.DNName', DNName.replace(reg, "$2"));
+
+ var DNName = cmp.get('v.DNName');
+
+ var action = cmp.get("c.getDNSignUpStatus");
+ action.setParams({
+ "DNName": DNName
+ });
+ this.showSpinner(cmp);
+ action.setCallback(this, function(response) {
+ this.hideSpinner(cmp);
+ var state = response.getState();
+ debugger;
+ if (state === "SUCCESS") {
+ //res閲屾槸 绛炬敹鍗曞璞� 鍜� 绛炬敹鍗曞綍鍏ヨ〃瀵硅薄
+ var res = response.getReturnValue();
+ console.log('res:' + res);
+ //濡傛灉绛炬敹鍗曞綍鍏ヨ〃鏈夋暟鎹紝鍏堝彇褰曞叆琛ㄧ殑鍚﹀垯灏辨绱㈢鏀跺崟淇℃伅
+ var result;
+ if (res) {
+ if (res.eSignFormEntry != null) {
+ result = res.eSignFormEntry;
+ cmp.set("v.agencyScanDayBack", result.agencyScanDayBack__c);
+ cmp.set("v.agencySignUpDateBack", result.agencySignUpDateBack__c);
+ cmp.set("v.agencyConfirmDateBack", result.agencyConfirmDateBack__c);
+
+ cmp.set("v.HPScanDay", result.HPScanDay__c);
+ cmp.set("v.HPSignUpDate", result.HPSignUpDate__c);
+ cmp.set("v.salesHPManageFBDate", result.salesHPManageFBDate__c);
+ cmp.set("v.salesHPManageConfirmDate", result.salesHPManageConfirmDate__c);
+
+
+ } else {
+ result = res.eSignForm;
+ cmp.set("v.agencyScanDayBack", result.agencyScanDay__c);
+ cmp.set("v.agencySignUpDateBack", result.agencySignUpDate__c);
+ cmp.set("v.agencyConfirmDateBack", result.agencyConfirmDate__c);
+
+ cmp.set("v.HPScanDay", result.HPScanDay__c);
+ cmp.set("v.HPSignUpDate", result.HPSignUpDate__c);
+ cmp.set("v.salesHPManageFBDate", result.salesHPManageFBDate__c);
+ cmp.set("v.salesHPManageConfirmDate", result.salesHPManageConfirmDate__c);
+ }
+ cmp.set("v.IsAgencyShow", res.isAgencySubmit);
+ cmp.set("v.IsHPShow", res.isHPSubmit);
+ cmp.set("v.entryType", res.entryType)
+ } else {
+ result = res;
+ cmp.set("v.IsAgencyShow", false);
+ cmp.set("v.IsHPShow", false);
+ }
+
+ //result 鏄渶鍚庢绱㈢殑涓�鏉℃暟鎹� 鐢ㄤ簬鍒ゆ柇鐘舵��
+ // console.log('result:'+result);
+
+ if (!result || !result.Sales_Root_Formula__c) {
+ cmp.set("v.errorMessage", 'DN涓嶅瓨鍦紝璇蜂慨鏀笵N鍙峰悗閲嶈瘯锛�');
+ this.showErrorToast(cmp);
+ return;
+ }
+ cmp.set('v.eSignForm', result);
+ // 闃胯タ璧涘绛炬敹鍗� 绮剧悽鎶�鏈� fy 2021-09-08 start
+ if (result.skip_Hospital_Sign__c) {
+ // 闃胯タ璧涘绛炬敹鍗� 绮剧悽鎶�鏈� fy 2021-09-08 end
+ //鏍规嵁涓嶅悓鎯呭喌杩斿洖瀵瑰簲鐨勬彁绀轰俊鎭� 绮剧悽鎶�鏈� thh 2021-10-11 start
+ cmp.set("v.errorMessage", result.skip_Hospital_Sign_Message__c);
+ //鏍规嵁涓嶅悓鎯呭喌杩斿洖瀵瑰簲鐨勬彁绀轰俊鎭� 绮剧悽鎶�鏈� thh 2021-10-11 end
+ this.showErrorToast(cmp);
+ return;
+ // 闃胯タ璧涘绛炬敹鍗� 绮剧悽鎶�鏈� fy 2021-09-08 start
+ } else if (result.skip_Distribution_Sign__c) {
+ // 闃胯タ璧涘绛炬敹鍗� 绮剧悽鎶�鏈� fy 2021-09-08 end
+ this.HPClick(cmp);
+
+ // cmp.set("v.HPPage", true);
+ // cmp.set("v.isDirectSales", true);
+ // cmp.set("v.IsHPShow", false);
+
+ } else if (result.Sales_Root_Formula__c == '璨╁2搴�') {
+ this.HPhandleClick(cmp);
+ // cmp.set("v.HPPage", true);
+ // cmp.set("v.isDirectSales", false);
+ // cmp.set("v.IsHPShow", false);
+
+ }
+
+ cmp.set('v.allWidth', document.documentElement.clientWidth - 40);
+ cmp.set('v.floatWidth', document.documentElement.clientWidth * 0.9);
+ cmp.set('v.floatWidth1', document.documentElement.clientWidth);
+ // cmp.set('v.DNNameInput', false);
+ // cmp.set('v.buttonGroup', true);
+
+ } else if (state === "ERROR") {
+ cmp.set("v.errorMessage", '缃戠粶寮傚父锛岃閲嶆柊杈撳叆锛�');
+ this.showErrorToast(cmp);
+ return;
+ }
+ });
+ $A.enqueueAction(action);
+ } else {
+ //鏄剧ず鎶ラ敊椤甸潰
+ //闅愯棌妫�绱㈤〉
+ cmp.set("v.DNNameInput", false);
+ //鎶ラ敊淇℃伅
+ cmp.set("v.LoadError", true);
+ return;
+ }
+
+
+ },
+ getStatusHandler: function(cmp) {
+
+ var DNName = cmp.get("v.DNName");
+ var action = cmp.get("c.getDNSignUpStatus");
+ action.setParams({
+ "DNName": DNName
+ });
+ this.showSpinner(cmp);
+ action.setCallback(this, function(response) {
+ this.hideSpinner(cmp);
+ var state = response.getState();
+
+ if (state === "SUCCESS") {
+ //res閲屾槸 绛炬敹鍗曞璞� 鍜� 绛炬敹鍗曞綍鍏ヨ〃瀵硅薄
+ var res = response.getReturnValue();
+ console.log('res:' + res);
+ //濡傛灉绛炬敹鍗曞綍鍏ヨ〃鏈夋暟鎹紝鍏堝彇褰曞叆琛ㄧ殑鍚﹀垯灏辨绱㈢鏀跺崟淇℃伅
+ var result;
+ if (res) {
+ if (res.eSignFormEntry != null) {
+ result = res.eSignFormEntry;
+ cmp.set("v.agencyScanDayBack", result.agencyScanDayBack__c);
+ cmp.set("v.agencySignUpDateBack", result.agencySignUpDateBack__c);
+ cmp.set("v.agencyConfirmDateBack", result.agencyConfirmDateBack__c);
+
+ cmp.set("v.HPScanDay", result.HPScanDay__c);
+ cmp.set("v.HPSignUpDate", result.HPSignUpDate__c);
+ cmp.set("v.salesHPManageFBDate", result.salesHPManageFBDate__c);
+ cmp.set("v.salesHPManageConfirmDate", result.salesHPManageConfirmDate__c);
+
+
+ } else {
+ result = res.eSignForm;
+ cmp.set("v.agencyScanDayBack", result.agencyScanDay__c);
+ cmp.set("v.agencySignUpDateBack", result.agencySignUpDate__c);
+ cmp.set("v.agencyConfirmDateBack", result.agencyConfirmDate__c);
+
+ cmp.set("v.HPScanDay", result.HPScanDay__c);
+ cmp.set("v.HPSignUpDate", result.HPSignUpDate__c);
+ cmp.set("v.salesHPManageFBDate", result.salesHPManageFBDate__c);
+ cmp.set("v.salesHPManageConfirmDate", result.salesHPManageConfirmDate__c);
+ }
+ cmp.set("v.IsAgencyShow", res.isAgencySubmit);
+ cmp.set("v.IsHPShow", res.isHPSubmit);
+ cmp.set("v.entryType", res.entryType)
+ } else {
+ result = res;
+ cmp.set("v.IsAgencyShow", false);
+ cmp.set("v.IsHPShow", false);
+ }
+
+ //result 鏄渶鍚庢绱㈢殑涓�鏉℃暟鎹� 鐢ㄤ簬鍒ゆ柇鐘舵��
+ // console.log('result:'+result);
+
+ if (!result || !result.Sales_Root_Formula__c) {
+ cmp.set("v.errorMessage", 'DN涓嶅瓨鍦紝璇蜂慨鏀笵N鍙峰悗閲嶈瘯锛�');
+ this.showErrorToast(cmp);
+ return;
+ }
+ cmp.set('v.eSignForm', result);
+ // 闃胯タ璧涘绛炬敹鍗� 绮剧悽鎶�鏈� fy 2021-09-08 start
+ if (result.skip_Distribution_Sign__c) {
+ // 闃胯タ璧涘绛炬敹鍗� 绮剧悽鎶�鏈� fy 2021-09-08 end
+ this.HPClick(cmp);
+
+ // cmp.set("v.HPPage", true);
+ // cmp.set("v.isDirectSales", true);
+ // cmp.set("v.IsHPShow", false);
+
+ } else if (result.Sales_Root_Formula__c == '璨╁2搴�') {
+ this.HPhandleClick(cmp);
+ // cmp.set("v.HPPage", true);
+ // cmp.set("v.isDirectSales", false);
+ // cmp.set("v.IsHPShow", false);
+
+ }
+
+ cmp.set('v.allWidth', document.documentElement.clientWidth - 40);
+ cmp.set('v.floatWidth', document.documentElement.clientWidth * 0.9);
+ cmp.set('v.floatWidth1', document.documentElement.clientWidth);
+ // cmp.set('v.DNNameInput', false);
+ // cmp.set('v.buttonGroup', true);
+
+ } else if (state === "ERROR") {
+ cmp.set("v.errorMessage", '缃戠粶寮傚父锛岃閲嶆柊杈撳叆锛�');
+ this.showErrorToast(cmp);
+ return;
+ }
+ });
+ $A.enqueueAction(action);
+ },
+ //鑾峰彇瀹㈡埛id + 璁板綍绫诲瀷
+ getAccountHandler: function(cmp) {
+
+ var code = cmp.get("v.code");
+
+ var decodeCode = cmp.get("v.decodeCode");
+
+ //鏍¢獙
+ if (code == decodeCode) {
+ //鈶犺皟鐢ㄥ悗鍙版柟娉� 鏍规嵁url涓婄殑绠$悊缂栫爜杩斿洖瀹㈡埛id鍜岃褰曠被鍨�
+ var action = cmp.get("c.getAccount");
+ action.setParams({
+ "managementCode": code
+ });
+ action.setCallback(this, function(response) {
+ var state = response.getState();
+
+ if (state === "SUCCESS") {
+ var res = response.getReturnValue();
+ console.log('res:' + res);
+ //杩斿洖瀹㈡埛 id ,璁板綍绫诲瀷
+ if (res) {
+ if (res.accountId != null) {
+ cmp.set("v.accountId", res.accountId);
+ }
+ if (res.recordTypeName != null) {
+ cmp.set("v.recordTypeName", res.recordTypeName);
+ }
+ if (res.agencyName != null) {
+ cmp.set("v.agencyName", res.agencyName);
+ }
+ //闅愯棌鏍¢獙椤甸潰
+ cmp.set('v.DNNameInput', false);
+ //鏄剧ず娓呭崟椤甸潰
+ cmp.set('v.DNListPage', true);
+
+ } else {
+ cmp.set("v.accountId", '');
+ cmp.set("v.recordTypeName", '');
+ cmp.set("v.agencyName", '');
+ cmp.set("v.errorMessage", '鎮ㄨ緭鍏ョ殑鐢靛瓙绛炬敹ID鏈夎,璇峰啀纭锛�');
+ this.showErrorToast(cmp);
+ return;
+ }
+ //璋冪敤涓�涓� 鍚庡彴
+ this.getDNListHandler(cmp);
+ } else if (state === "ERROR") {
+ console.log('There was a problem : ' + response.getError());
+ cmp.set("v.errorMessage", '缃戠粶寮傚父锛岃閲嶆柊杈撳叆锛�');
+ this.showErrorToast(cmp);
+ return;
+ }
+ });
+ $A.enqueueAction(action);
+ } else {
+ cmp.set("v.errorMessage", '鎮ㄨ緭鍏ョ殑鐢靛瓙绛炬敹ID鏈夎锛�');
+ this.showErrorToast(cmp);
+ return;
+ }
+
+ },
+ //鑾峰彇瀹㈡埛id + 璁板綍绫诲瀷
+ getDNListHandler: function(cmp) {
+
+ //鈶℃牴鎹甶d鍜岃褰曠被鍨� 鍘昏皟鐢ㄥ悗鍙版柟娉� 杩斿洖DN绛炬敹list
+
+ var id = cmp.get("v.accountId");
+ var type = cmp.get("v.recordTypeName");
+ if (id != '' && type != '') {
+ var excute = cmp.get("c.getDNSignUpLists");
+ excute.setParams({
+ "id": id,
+ "type": type
+ });
+
+ this.showSpinner(cmp);
+ excute.setCallback(this, function(response) {
+ this.hideSpinner(cmp);
+ var state = response.getState();
+
+ if (state === "SUCCESS") {
+ //res閲屾槸 绛炬敹鍗曞璞� 鍜� 绛炬敹鍗曞綍鍏ヨ〃瀵硅薄
+ var res = response.getReturnValue();
+ console.log('res:' + res);
+ //濡傛灉绛炬敹鍗曞綍鍏ヨ〃鏈夋暟鎹紝鍏堝彇褰曞叆琛ㄧ殑鍚﹀垯灏辨绱㈢鏀跺崟淇℃伅
+ var result;
+ //瀛樻斁褰曞叆琛╨ist
+ var eSignFormEntryList=[];
+ //瀛樻斁绛炬敹鍗昹ist
+ var eSignFormList=[];
+ //fy 20220727 start
+ //瀛樻斁闄勪欢鍚�
+ var AttachmentMap = new Map();
+ //fy 20220727 end
+ if (res) {
+ if (res.eSignFormEntryList != undefined) {
+ eSignFormEntryList = res.eSignFormEntryList;
+ }
+ if (res.eSignFormList != undefined) {
+ eSignFormList = res.eSignFormList;
+ }
+ //fy 20220727 start
+ if (res.AttachmentStringList!=undefined) {
+ for(var i = 0; i < res.AttachmentStringList.length; i++){
+ var liststr=[];
+ liststr=res.AttachmentStringList[i].split('_');
+ if(liststr.length>0){
+ AttachmentMap.set(liststr[0],liststr[1]);
+ }
+ }
+ }
+ //fy 20220727 end
+ var today = this.getNowFormatDate();
+ if (eSignFormEntryList) {
+ for (var i = 0; i < eSignFormList.length; i++) {
+ for (var j = 0; j < eSignFormEntryList.length; j++) {
+ //濡傛灉鏈鐞嗙殑褰曞叆琛ㄤ腑鏈夊凡缁忕‘璁ょ殑 鍒欏師data绉婚櫎璇N鍙�
+ if ((eSignFormList[i].DNNameNo0__c == eSignFormEntryList[j].DNNameNo0__c) && !eSignFormEntryList[j].IsHandled__c) {
+ //閲嶆瀯涓�涓嬬姸鎬�
+ eSignFormList[i].agencyDNSignUpStatus__c = eSignFormEntryList[j].agencyDNSignUpStatus__c;
+ eSignFormList[i].HPDNSignUpStatus__c = eSignFormEntryList[j].HPDNSignUpStatus__c;
+ eSignFormList[i].agencySignUpDate__c = eSignFormEntryList[j].agencySignUpDateBack__c;
+ //鍗充究eSignFormEntryList[j].endConfirmDate__c 鏃ユ湡涓簄ull 锛涙棩鏈�<浠婂ぉ涓篺alse
+ //涔熶笉绉婚櫎锛屽洜涓哄弽姝d篃瑕佷繚鐣�3澶� 15鍒嗛挓鍚庡氨浼氭洿涓婃棩鏈�
+ if ((eSignFormEntryList[j].isProcessed__c || eSignFormEntryList[j].DNSignUpStatus__c) && eSignFormEntryList[j].endConfirmDate__c < today) {
+ //绉婚櫎鏁扮粍涓殑宸茬‘璁ょ殑鏁版嵁
+ eSignFormList.splice(i, 1);
+ }
+
+ }
+ //濡傛灉鏈�缁堢敤鎴锋槸濂戠害锛屽垯鍖婚櫌鐘舵�佽祴鍊间负N/A
+ // 闃胯タ璧涘绛炬敹鍗� 绮剧悽鎶�鏈� fy 2021-09-08 start
+ if (eSignFormList[i].skip_Hospital_Sign__c) {
+ // 闃胯タ璧涘绛炬敹鍗� 绮剧悽鎶�鏈� fy 2021-09-08 end
+ eSignFormList[i].HPDNSignUpStatus__c = 'N/A(涓嶉�傜敤)x1';
+ }
+
+ }
+ }
+ result = eSignFormList;
+ } else {
+ //濡傛灉鏈�缁堢敤鎴锋槸濂戠害锛屽垯鍖婚櫌鐘舵�佽祴鍊间负N/A
+ for (var i = 0; i < eSignFormList.length; i++) {
+ // 闃胯タ璧涘绛炬敹鍗� 绮剧悽鎶�鏈� fy 2021-09-08 start
+ if (eSignFormList[i].skip_Hospital_Sign__c) {
+ // 闃胯タ璧涘绛炬敹鍗� 绮剧悽鎶�鏈� fy 2021-09-08 end
+ eSignFormList[i].HPDNSignUpStatus__c = 'N/A(涓嶉�傜敤)x2';
+ }
+ }
+ result = eSignFormList;
+ }
+
+ } else {
+ result = res;
+ }
+
+ var pageSize = cmp.get('v.pageSize');
+ //fy 20220727 start
+ debugger
+ if(res){
+ if(AttachmentMap.size>0){
+ for(var i = 0; i < result.length; i++){
+ if(AttachmentMap.has(result[i].Id)){
+ result[i].AttachmentName=AttachmentMap.get(result[i].Id);
+ }
+ }
+ }
+ }
+ //fy 20220727 end
+ cmp.set("v.data", result);
+ var data = result;
+ cmp.set("v.lineItemSize", data.length);
+ //璁$畻鎵�鏈夐〉
+ var allPage = this.pageCount(data.length, pageSize);
+ var tempData = this.getTempData(data, 1, pageSize);
+ cmp.set("v.isLastPage", this.isLastPage(data, tempData));
+ cmp.set("v.allPage", allPage);
+ cmp.set("v.dataSize", tempData.length);
+ cmp.set("v.currentData", tempData);
+ cmp.set('v.DNNameInput', false);
+ cmp.set('v.buttonGroup', false);
+ cmp.set('v.DNListPage', true);
+
+ } else if (state === "ERROR") {
+ cmp.set("v.errorMessage", '缃戠粶寮傚父锛岃閲嶆柊杈撳叆锛�');
+ this.showErrorToast(cmp);
+ return;
+ }
+ });
+ $A.enqueueAction(excute);
+
+ }
+ },
+ HPhandleClick: function(cmp) {
+debugger
+ var eSignForm = cmp.get('v.eSignForm');
+ var IsShow = cmp.get('v.IsHPShow');
+ var IsAgencyShow = cmp.get('v.IsAgencyShow');
+ var entryType = cmp.get('v.entryType');
+ var HPStatus;
+ if (eSignForm.HPSignUpStatus__c) {
+ HPStatus = eSignForm.HPSignUpStatus__c;
+ } else {
+ HPStatus = '';
+ }
+ if (HPStatus == '涓嶆壒鍑�') {
+ cmp.set('v.IsHPShow', false);
+ }
+ IsShow = cmp.get('v.IsHPShow');
+ //鐢ㄤ簬鍒ゆ柇缁忛攢鍟嗗凡绛炬敹鎴栬�呭凡鎻愪氦鍚� 鍖婚櫌浜岀淮鐮佸垯鍙互鎵叆
+ var date;
+ if (eSignForm.agencySignUpDate__c) {
+ date = eSignForm.agencySignUpDate__c;
+ } else if (eSignForm.agencySignUpDateBack__c) {
+ date = eSignForm.agencySignUpDateBack__c;
+
+ } else {
+ date = '';
+ }
+ // 闃胯タ璧涘绛炬敹鍗� 绮剧悽鎶�鏈� fy 2021-09-08 start
+ if (eSignForm.skip_Hospital_Sign__c) {
+ // 闃胯タ璧涘绛炬敹鍗� 绮剧悽鎶�鏈� fy 2021-09-08 end
+ //鏍规嵁涓嶅悓鎯呭喌杩斿洖瀵瑰簲鐨勬彁绀轰俊鎭� 绮剧悽鎶�鏈� thh 2021-10-11 start
+ cmp.set("v.errorMessage", eSignForm.skip_Hospital_Sign_Message__c);
+ //鏍规嵁涓嶅悓鎯呭喌杩斿洖瀵瑰簲鐨勬彁绀轰俊鎭� 绮剧悽鎶�鏈� thh 2021-10-11 end
+ this.showErrorToast(cmp);
+ }
+ //鈶犲厛鍖哄垎鐩撮攢杩樻槸鍒嗛攢
+ else if (eSignForm.Sales_Root_Formula__c == '璨╁2搴�' && !date && HPStatus == ''&&!eSignForm.skip_Distribution_Sign__c) {
+ cmp.set("v.errorMessage", '璇风瓑寰呯粡閿�鍟嗗彂璐�!');
+ this.showErrorToast(cmp);
+ //鈶″垽鏂槸鍚﹀凡缁忓鎵瑰畬姣�
+ } else if (HPStatus == '鐢宠涓�') {
+ cmp.set("v.errorMessage", '鍖婚櫌绛炬敹缁撴灉瀹℃壒涓紝璇风瓑寰咃紒');
+ this.showErrorToast(cmp);
+ // cmp.set("IsShow", true);
+ } else if (IsShow && (HPStatus == '' || HPStatus == '鐢宠涓�' || HPStatus == '鑽夋涓�')) {
+ cmp.set("v.errorMessage", '鍖婚櫌绛炬敹鏁版嵁宸叉彁浜わ紝璇风瓑寰咃紒');
+ this.showErrorToast(cmp);
+ // 闃胯タ璧涘绛炬敹鍗� 绮剧悽鎶�鏈� fy 2021-09-08 start
+ } else if (eSignForm.salesHPManageConfirmDate__c && !eSignForm.skip_Distribution_Sign__c) {
+ // 闃胯タ璧涘绛炬敹鍗� 绮剧悽鎶�鏈� fy 2021-09-08 end
+ cmp.set("v.errorMessage", '鍖婚櫌绛炬敹缁撴灉宸茬‘璁3锛�');
+ this.showErrorToast(cmp);
+ cmp.set('v.eSignHospitalConfirmReadOnlyPage', true);
+ cmp.set('v.buttonGroup', false);
+ // 闃胯タ璧涘绛炬敹鍗� 绮剧悽鎶�鏈� fy 2021-09-08 start
+ } else if (eSignForm.HPConfirmDate__c && eSignForm.skip_Distribution_Sign__c) {
+ // 闃胯タ璧涘绛炬敹鍗� 绮剧悽鎶�鏈� fy 2021-09-08 end
+ cmp.set("v.errorMessage", '鍖婚櫌绛炬敹缁撴灉宸茬‘璁4锛�');
+ this.showErrorToast(cmp);
+ cmp.set('v.eSignHospitalConfirmReadOnlyPage', true);
+ cmp.set('v.DirectFlag', true);
+ cmp.set('v.buttonGroup', false);
+ } else {
+ //楠岃瘉缁撴灉 涓虹┖ 鎴栬�� (楠岃瘉缁撴灉涓嶄负绌�&& 瀹℃壒鐘舵�佷负鑽夋涓�)
+ // && IsAgencyShow
+ if (!eSignForm.HPAcceptResult__c || (eSignForm.HPAcceptResult__c &&
+ (!HPStatus || HPStatus == '鑽夋涓�' || (HPStatus == '涓嶆壒鍑�')))) {
+ //鍒ゆ柇鐩撮攢杩樻槸鍒嗛攢
+ // 闃胯タ璧涘绛炬敹鍗� 绮剧悽鎶�鏈� fy 2021-09-08 start
+ if (eSignForm.skip_Distribution_Sign__c) {
+ // 闃胯タ璧涘绛炬敹鍗� 绮剧悽鎶�鏈� fy 2021-09-08 end
+ cmp.set('v.isDirectSales', true);
+ }
+ cmp.set('v.HPPage', true);
+ cmp.set('v.buttonGroup', false);
+ } else if ((eSignForm.HPAcceptResult__c == '閮ㄥ垎楠屾敹' ||
+ eSignForm.HPAcceptResult__c == '鏁村崟闈炲畬濂�') &&
+ !eSignForm.salesHPManageConfirmDate__c
+ ) {
+ cmp.set("v.errorMessage", '钀ヤ笟绠$悊璇惧鐞嗕腑锛�');
+ this.showErrorToast(cmp);
+ return;
+ } else if (eSignForm.HPAcceptResult__c == '閮ㄥ垎楠屾敹' ||
+ eSignForm.HPAcceptResult__c == '鏁村崟闈炲畬濂�'
+ ) {
+ cmp.set('v.HPPConfirmage', true);
+ cmp.set('v.buttonGroup', false);
+
+ } else {
+ cmp.set("v.errorMessage", '缃戠粶寮傚父锛岃杩斿洖閲嶆柊妫�绱N鍙凤紒');
+ this.showErrorToast(cmp);
+ return;
+ }
+ }
+
+ // cmp.set('v.buttonGroup', false);
+ // cmp.set('v.HPPage',true);
+ },
+ agencyhandleClick: function(cmp) {
+ var eSignForm = cmp.get('v.eSignForm');
+ var IsShow = cmp.get('v.IsAgencyShow');
+ var entryType = cmp.get('v.entryType');
+ var status;
+ if (eSignForm.agencyAutoSignUpStatus__c) {
+ status = eSignForm.agencyAutoSignUpStatus__c;
+ } else {
+ status = '';
+ }
+
+ //鈶犲厛鍖哄垎鐩撮攢杩樻槸鍒嗛攢
+ // 闃胯タ璧涘绛炬敹鍗� 绮剧悽鎶�鏈� fy 2021-09-08 start
+ if (eSignForm.skip_Distribution_Sign__c) {
+ // 闃胯タ璧涘绛炬敹鍗� 绮剧悽鎶�鏈� fy 2021-09-08 end
+ //鏍规嵁涓嶅悓鎯呭喌杩斿洖瀵瑰簲鐨勬彁绀轰俊鎭� 绮剧悽鎶�鏈� thh 2021-10-09 start
+ cmp.set("v.errorMessage", eSignForm.skip_Distribution_Sign_Message__c);
+ //鏍规嵁涓嶅悓鎯呭喌杩斿洖瀵瑰簲鐨勬彁绀轰俊鎭� 绮剧悽鎶�鏈� thh 2021-10-09 start
+ this.showErrorToast(cmp);
+ //鈶″垽鏂槸鍚﹀凡缁忓鎵瑰畬姣�
+ } else if (status == '鐢宠涓�') {
+ cmp.set("v.errorMessage", '缁忛攢鍟嗙鏀剁粨鏋滃鎵逛腑锛岃绛夊緟锛�');
+ this.showErrorToast(cmp);
+ } else if (IsShow && (status == '' || status == '鐢宠涓�' || status == '鑽夋涓�')) {
+ cmp.set("v.errorMessage", '缁忛攢鍟嗙鏀舵暟鎹凡鎻愪氦锛岃绛夊緟锛�');
+ this.showErrorToast(cmp);
+ } else if (eSignForm.agencyConfirmDate__c != null) {
+ cmp.set("v.errorMessage", '缁忛攢鍟嗙鏀剁粨鏋滃凡纭锛�');
+ this.showErrorToast(cmp);
+ cmp.set('v.agencyConfirmReadOnlyPage', true);
+ cmp.set('v.buttonGroup', false);
+ } else {
+ //楠岃瘉缁撴灉 涓虹┖ 鎴栬�� (楠岃瘉缁撴灉涓嶄负绌�&& 瀹℃壒鐘舵�佷负鑽夋涓�)
+ if (!eSignForm.agencyAcceptResult__c || (eSignForm.agencyAcceptResult__c &&
+ (!status || status == '鑽夋涓�' || status == '涓嶆壒鍑�'))) {
+ cmp.set('v.agencyPage', true);
+ cmp.set('v.buttonGroup', false);
+ } else if (eSignForm.agencyAcceptResult__c == '鍏ㄩ儴楠屾敹' && eSignForm.agencyConfirmDate__c) {
+ cmp.set("v.errorMessage", '缁忛攢鍟嗗凡缁忛獙鏀跺畬姣曪紒');
+ this.showErrorToast(cmp);
+ cmp.set('v.agencyConfirmReadOnlyPage', true);
+ cmp.set('v.buttonGroup', false);
+ } else if ((eSignForm.agencyAcceptResult__c == '閮ㄥ垎楠屾敹' ||
+ eSignForm.agencyAcceptResult__c == '鏁村崟闈炲畬濂�') &&
+ !eSignForm.salesManageConfirmDate__c
+ ) {
+ cmp.set("v.errorMessage", '钀ヤ笟绠$悊璇惧鐞嗕腑锛�');
+ this.showErrorToast(cmp);
+ return;
+ } else if (eSignForm.agencyAcceptResult__c == '閮ㄥ垎楠屾敹' ||
+ eSignForm.agencyAcceptResult__c == '鏁村崟闈炲畬濂�'
+ ) {
+ cmp.set('v.agencyConfirmPage', true);
+ cmp.set('v.buttonGroup', false);
+
+ } else {
+ cmp.set("v.errorMessage", '缃戠粶寮傚父锛岃杩斿洖閲嶆柊妫�绱N鍙凤紒');
+ this.showErrorToast(cmp);
+ return;
+ }
+ }
+
+
+ },
+ // 鏄庣粏椤� table 棣栭〉鍔熻兘瀹炵幇
+ handleHome: function(cmp) {
+ var pageSize = cmp.get('v.pageSize');
+ var pageNumber = cmp.get('v.pageNumber');
+ // var data = cmp.get('v.data');
+ var currentData = cmp.get('v.currentData');
+
+ //鑾峰彇杈撳叆鐨剉alue鍊�
+ var key = document.getElementById('searchInput').value;
+ var data = cmp.get('v.data');
+ var tempDataList = [];
+ var pageSize = cmp.get('v.pageSize');
+
+ if (key) {
+ //妯$硦妫�绱�
+ tempDataList = this.filterByName(data, key);
+ //璁剧疆鍒嗛〉
+ var tempData = this.getTempData(tempDataList, 1, pageSize);
+
+ cmp.set("v.lineItemSize", tempDataList.length);
+ //璁$畻鎵�鏈夐〉
+ var allPage = this.pageCount(tempDataList.length, pageSize);
+ cmp.set("v.allPage", allPage);
+ cmp.set('v.pageNumber', 1);
+ console.log('currentData1:' + currentData);
+ cmp.set('v.currentData', tempData);
+ cmp.set('v.data', data);
+ cmp.set("v.isLastPage", this.isLastPage(tempDataList, tempData));
+ cmp.set("v.searchSize", tempDataList.length);
+
+
+ } else {
+ //鏄剧ず鍏ㄩ儴绠�
+ var tempData = this.getTempData(data, 1, pageSize);
+ cmp.set('v.pageNumber', 1);
+ console.log('currentData1:' + currentData);
+ cmp.set('v.currentData', tempData);
+ cmp.set('v.data', data);
+ cmp.set("v.isLastPage", this.isLastPage(data, tempData));
+ cmp.set('v.searchSize', null);
+
+ }
+
+
+
+ },
+ // 鏄庣粏椤� table 灏鹃〉鍔熻兘瀹炵幇
+ handleLast: function(cmp) {
+ var pageSize = cmp.get('v.pageSize');
+ var pageNumber = cmp.get('v.pageNumber');
+ var data = cmp.get('v.data');
+ //鑾峰彇鏁版嵁闀垮害
+ var size = data.length;
+ //鑾峰彇灏鹃〉椤电爜
+ var pages = size % pageSize == 0 ? (size / pageSize) : (Math.floor(size / pageSize) + 1);
+
+ var currentData = cmp.get('v.currentData');
+
+ //鑾峰彇杈撳叆鐨剉alue鍊�
+ var key = document.getElementById('searchInput').value;
+ var tempDataList = [];
+
+ if (key) {
+ //妯$硦妫�绱�
+ tempDataList = this.filterByName(data, key);
+ //璁剧疆鍒嗛〉
+ var tempData = this.getTempData(tempDataList, pages, pageSize);
+ cmp.set("v.lineItemSize", tempDataList.length);
+ //璁$畻鎵�鏈夐〉
+ var allPage = this.pageCount(tempDataList.length, pageSize);
+ cmp.set("v.allPage", allPage);
+ cmp.set('v.pageNumber', pages);
+ console.log('currentData1:' + currentData);
+ cmp.set('v.currentData', tempData);
+ cmp.set('v.data', data);
+ cmp.set("v.isLastPage", this.isLastPage(tempDataList, tempData));
+ cmp.set("v.searchSize", tempDataList.length);
+
+
+ } else {
+ //鏄剧ず鍏ㄩ儴绠�
+ var tempData = this.getTempData(data, pages, pageSize);
+ cmp.set('v.pageNumber', pages);
+ console.log('currentData1:' + currentData);
+ cmp.set('v.currentData', tempData);
+ cmp.set('v.data', data);
+ cmp.set("v.isLastPage", this.isLastPage(data, tempData));
+ cmp.set('v.searchSize', null);
+
+ }
+
+
+
+
+
+ },
+ // 鏄庣粏椤� table 涓嬩竴椤靛姛鑳藉疄鐜�
+ handleNext: function(cmp) {
+ var pageSize = cmp.get('v.pageSize');
+ var pageNumber = cmp.get('v.pageNumber');
+ var data = cmp.get('v.data');
+ var currentData = cmp.get('v.currentData');
+
+ //鑾峰彇杈撳叆鐨剉alue鍊�
+ var key = document.getElementById('searchInput').value;
+ var tempDataList = [];
+
+ if (key) {
+ //妯$硦妫�绱�
+ tempDataList = this.filterByName(data, key);
+ //璁剧疆鍒嗛〉
+ var tempData = this.getTempData(tempDataList, pageNumber + 1, pageSize);
+ cmp.set('v.pageNumber', pageNumber + 1);
+ cmp.set("v.lineItemSize", tempDataList.length);
+ //璁$畻鎵�鏈夐〉
+ var allPage = this.pageCount(tempDataList.length, pageSize);
+ cmp.set("v.allPage", allPage);
+ console.log('currentData1:' + currentData);
+ cmp.set('v.currentData', tempData);
+ cmp.set('v.data', data);
+ cmp.set("v.isLastPage", this.isLastPage(tempDataList, tempData));
+ cmp.set("v.searchSize", tempDataList.length);
+
+
+ } else {
+ //鏄剧ず鍏ㄩ儴绠�
+ var tempData = this.getTempData(data, pageNumber + 1, pageSize);
+ cmp.set('v.pageNumber', pageNumber + 1);
+ console.log('currentData1:' + currentData);
+ cmp.set('v.currentData', tempData);
+ cmp.set('v.data', data);
+ cmp.set("v.isLastPage", this.isLastPage(data, tempData));
+ cmp.set('v.searchSize', null);
+
+ }
+
+
+
+
+ },
+ // 鏄庣粏椤� table 涓婁竴椤靛姛鑳藉疄鐜�
+ handlePrev: function(cmp) {
+ var pageSize = cmp.get('v.pageSize');
+ var pageNumber = cmp.get('v.pageNumber');
+ var data = cmp.get('v.data');
+ var currentData = cmp.get('v.currentData');
+ //鑾峰彇杈撳叆鐨剉alue鍊�
+ var key = document.getElementById('searchInput').value;
+ var tempDataList = [];
+
+ if (key) {
+ //妯$硦妫�绱�
+ tempDataList = this.filterByName(data, key);
+ //璁剧疆鍒嗛〉
+ cmp.set("v.lineItemSize", tempDataList.length);
+ //璁$畻鎵�鏈夐〉
+ var allPage = this.pageCount(tempDataList.length, pageSize);
+ cmp.set("v.allPage", allPage);
+ var tempData = this.getTempData(tempDataList, pageNumber - 1, pageSize);
+ console.log('currentData2:' + currentData);
+ cmp.set('v.pageNumber', pageNumber - 1);
+ cmp.set('v.currentData', tempData);
+ cmp.set('v.data', data);
+ cmp.set("v.isLastPage", this.isLastPage(tempDataList, tempData));
+ cmp.set("v.searchSize", tempDataList.length);
+
+
+ } else {
+ //鏄剧ず鍏ㄩ儴绠�
+ var tempData = this.getTempData(data, pageNumber - 1, pageSize);
+ console.log('currentData2:' + currentData);
+ cmp.set('v.pageNumber', pageNumber - 1);
+ cmp.set('v.currentData', tempData);
+ cmp.set('v.data', data);
+ cmp.set("v.isLastPage", this.isLastPage(data, tempData));
+ cmp.set('v.searchSize', null);
+
+ }
+
+
+ },
+ // 璁$畻骞惰繑鍥炲綋鍓嶉〉鐮佺殑鏁版嵁
+ getTempData: function(data, pageNumber, pageSize) {
+ var tempData = data.slice((pageNumber - 1) * pageSize, pageNumber * pageSize);
+ return tempData;
+ },
+ //璁$畻鎵�鏈夐〉
+ pageCount: function(totalnum, limit) {
+ return totalnum > 0 ? ((totalnum < limit) ? 1 : ((totalnum % limit) ? (parseInt(totalnum / limit) + 1) : (totalnum / limit))) : 0;
+ },
+ // 鍒ゆ柇褰撳墠椤垫槸鍚︽槸鏈�鍚庝竴椤�
+ isLastPage: function(data, tempData) {
+ if (tempData.length == 0 ||
+ tempData[tempData.length - 1].Id == data[data.length - 1].Id) {
+ return true;
+ } else {
+ return false;
+ }
+ },
+ //杩斿洖鎸夐挳
+ backButtonHandler: function(cmp) {
+ cmp.set('v.DNNameInput', true);
+ cmp.set('v.buttonGroup', false);
+
+ },
+ //寮瑰嚭 閿欒鎻愮ずtoast 鏂规硶
+ showErrorToast: function(cmp) {
+ const width = document.documentElement.clientWidth;
+ const contentDOM1 = document.getElementById('errorSonDiv1');
+ contentDOM1.style.width = width * 0.5 + 'px';
+ const contentDOM2 = document.getElementById('errorSonDiv2');
+ contentDOM2.style.width = width * 0.38 + 'px';
+ contentDOM2.style.height = '4rem';
+ const contentDOM3 = document.getElementById('errorSonDiv3');
+ contentDOM3.style.width = width - 150 + 'px';
+
+ $A.util.removeClass(cmp.find('errorDiv'), 'slds-hide');
+ window.setTimeout($A.getCallback(function() {
+ $A.util.addClass(cmp.find('errorDiv'), 'slds-hide');
+ }),
+ 3000
+ );
+ },
+ // function automatic called by aura:waiting event
+ showSpinner: function(cmp) {
+ // remove slds-hide class from mySpinner
+ var spinner = cmp.find("mySpinner");
+ $A.util.removeClass(spinner, "slds-hide");
+ },
+ // function automatic called by aura:doneWaiting event
+ hideSpinner: function(cmp) {
+ // add slds-hide class from mySpinner
+ var spinner = cmp.find("mySpinner");
+ $A.util.addClass(spinner, "slds-hide");
+ },
+ getURLParameterValue: function() {
+
+ var querystring = location.search.substr(1);
+ var paramValue = {};
+ querystring.split("&").forEach(function(part) {
+ var param = part.split("=");
+ paramValue[param[0]] = decodeURIComponent(param[1]);
+ });
+
+ //console.log('paramValue-' + paramValue);
+ return paramValue;
+ },
+ getURLISTrueParameter: function() {
+
+ var url = location.search;
+ var flag;
+ if (url.indexOf("?") != -1) {
+ flag = true;
+ } else {
+ flag = false;
+ }
+ //console.log('paramValue-' + paramValue);
+ return flag;
+ },
+ handlerMessageEvt: function(cmp, event) {
+ var DNName = event.getParam("DNName");
+ var ShowDNNameQR = event.getParam("ShowDNNameQR");
+
+ //缁忛攢鍟嗙鏀剁姸鎬�
+ var agencyDNSignUpStatus = event.getParam("agencyDNSignUpStatus");
+ //鍖婚櫌绛炬敹鐘舵��
+ var HPDNSignUpStatus = event.getParam("HPDNSignUpStatus");
+ //dn鍙峰鐢�
+ var DNNameSpare = event.getParam("DNNameSpare");
+ //缁忛攢鍟嗙鏀舵棩鏈�
+ var agencySubmit = event.getParam("agencySubmit");
+
+ if (DNName) {
+ this.getStatusHandler(cmp);
+ cmp.set('v.ShowDNNameQR', ShowDNNameQR);
+ } else {
+
+ //閬嶅巻鍓嶅彴data 鐢ㄤ簬鏇存柊鏈�鏂扮姸鎬�
+ var data = cmp.get('v.data');
+
+ for (var i = 0; i < data.length; i++) {
+
+ if (data[i].DNNameNo0__c == DNNameSpare) {
+ //閲嶆瀯涓�涓嬬姸鎬�
+ if (agencyDNSignUpStatus) {
+ data[i].agencyDNSignUpStatus__c = agencyDNSignUpStatus;
+ }
+ if (HPDNSignUpStatus) {
+ data[i].HPDNSignUpStatus__c = HPDNSignUpStatus;
+ }
+ if (agencySubmit) {
+ data[i].agencySignUpDate__c = agencySubmit;
+ }
+
+
+
+
+
+ }
+
+
+ }
+ cmp.set('v.data', data);
+ cmp.set('v.agencyPage', false);
+ cmp.set('v.agencyConfirmPage', false);
+ cmp.set('v.agencyConfirmReadOnlyPage', false);
+ cmp.set('v.HPPage', false);
+ cmp.set('v.isDirectSales', false);
+ cmp.set('v.HPPConfirmage', false);
+ cmp.set('v.eSignHospitalConfirmReadOnlyPage', false);
+ cmp.set('v.buttonGroup', false);
+ cmp.set('v.DNListPage', true);
+ cmp.set('v.ShowDNNameQR', ShowDNNameQR);
+ }
+
+
+ var IsAgencyShow = event.getParam("IsAgencyShow");
+ cmp.set('v.IsAgencyShow', IsAgencyShow);
+ },
+ searchByDNName: function(cmp) {
+ //鑾峰彇杈撳叆鐨剉alue鍊�
+ var key = document.getElementById('searchInput').value;
+ var data = cmp.get('v.data');
+ //瀹氫箟涓�涓┖鏁扮粍 鐢ㄤ簬瀛樻斁妯$硦妫�绱㈢殑data
+ var tempDataList = [];
+ var pageSize = cmp.get('v.pageSize');
+ //鍒ゆ柇鎼滅储妗嗗唴鏄惁鏈夊��
+ if (key) {
+ cmp.set('v.searchFlag', true);
+ //妯$硦妫�绱�
+ tempDataList = this.filterByName(data, key);
+ //璁剧疆鍒嗛〉
+ cmp.set("v.lineItemSize", tempDataList.length);
+ //璁$畻鎵�鏈夐〉
+ var allPage = this.pageCount(tempDataList.length, pageSize);
+ cmp.set("v.allPage", allPage);
+ //璁剧疆鍒嗛〉
+ var tempData = this.getTempData(tempDataList, 1, pageSize);
+ cmp.set("v.isLastPage", this.isLastPage(tempDataList, tempData));
+ cmp.set("v.dataSize", tempData.length);
+ cmp.set("v.currentData", tempData);
+ cmp.set('v.pageNumber', 1);
+ cmp.set("v.searchSize", tempDataList.length);
+
+ } else {
+ cmp.set('v.searchFlag', false);
+ //鏄剧ず鍏ㄩ儴绠�
+ var data = cmp.get('v.data');
+ var tempData = this.getTempData(data, 1, pageSize);
+ var allPage = this.pageCount(data.length, pageSize);
+ cmp.set("v.allPage", allPage);
+ cmp.set("v.isLastPage", this.isLastPage(data, tempData));
+ cmp.set("v.dataSize", tempData.length);
+ cmp.set("v.currentData", tempData);
+ cmp.set('v.pageNumber', 1);
+ cmp.set('v.searchSize', null);
+
+ }
+ },
+ //js 妯$硦妫�绱�
+ filterByName: function(aim, name) {
+ return aim.filter(item => item.DNNameNo0__c.match(name));
+ },
+ openESignPage: function(cmp, event) {
+ //鑾峰彇鎸夐挳涓睘鎬ame == 鑾峰彇鍙傛暟 绠卞彿
+ var caseNumber = event.target.name;
+ //鐭ラ亾鐐瑰嚮鐨勬槸鍝釜DN鍙� 鐒跺悗浠巇ata涓瓫閫夊嚭 esignForm
+ //璧嬪��
+ cmp.set("v.DNName", caseNumber);
+
+ var data = cmp.get("v.data");
+
+ var esign;
+ for (var i = 0; i < data.length; i++) {
+ if (data[i].DNNameNo0__c == caseNumber) {
+ esign = data[i];
+ }
+ }
+ if (esign) {
+ cmp.set("v.eSignForm", esign);
+ }
+ //鏍规嵁璁板綍绫诲瀷鍒ゆ柇璺宠浆
+ var recordType = cmp.get("v.recordTypeName");
+ if (recordType == 'Agency' || recordType == 'AgencyContract') {
+
+ this.anencyClick(cmp);
+ } else if (recordType == 'HP') {
+ debugger
+ this.HPClick(cmp);
+
+ }
+ console.log("鎴戣蛋鍒拌繖閲屼簡锛�");
+ // cmp.set("v.DNListPage",false);
+ // cmp.set("v.buttonGroup",true);
+ },
+ anencyClick: function(cmp) {
+ var eSignForm = cmp.get('v.eSignForm');
+ var IsShow = cmp.get('v.IsAgencyShow');
+ var entryType = cmp.get('v.entryType');
+ var status;
+ if (eSignForm.agencyAutoSignUpStatus__c) {
+ status = eSignForm.agencyAutoSignUpStatus__c;
+ } else {
+ status = '';
+ }
+
+ //鈶犲厛鍖哄垎鐩撮攢杩樻槸鍒嗛攢
+ // 闃胯タ璧涘绛炬敹鍗� 绮剧悽鎶�鏈� fy 2021-09-08 start
+ if (eSignForm.skip_Distribution_Sign__c) {
+ // 闃胯タ璧涘绛炬敹鍗� 绮剧悽鎶�鏈� fy 2021-09-08 end
+ //鏍规嵁涓嶅悓鎯呭喌杩斿洖瀵瑰簲鐨勬彁绀轰俊鎭� 绮剧悽鎶�鏈� thh 2021-10-09 start
+ cmp.set("v.errorMessage", eSignForm.skip_Distribution_Sign_Message__c);
+ //鏍规嵁涓嶅悓鎯呭喌杩斿洖瀵瑰簲鐨勬彁绀轰俊鎭� 绮剧悽鎶�鏈� thh 2021-10-09 start
+ this.showErrorToast(cmp);
+ //鈶″垽鏂槸鍚﹀凡缁忓鎵瑰畬姣�
+ } else if (status == '鐢宠涓�') {
+ cmp.set("v.errorMessage", '缁忛攢鍟嗙鏀剁粨鏋滃鎵逛腑锛岃绛夊緟锛�');
+ this.showErrorToast(cmp);
+ } else if (IsShow && (status == '' || status == '鐢宠涓�' || status == '鑽夋涓�')) {
+ cmp.set("v.errorMessage", '缁忛攢鍟嗙鏀舵暟鎹凡鎻愪氦锛岃绛夊緟锛�');
+ this.showErrorToast(cmp);
+ } else if (eSignForm.agencyConfirmDate__c != null) {
+ cmp.set("v.DNListPage", false);
+ cmp.set("v.errorMessage", '缁忛攢鍟嗙鏀剁粨鏋滃凡纭锛�');
+ this.showErrorToast(cmp);
+ cmp.set('v.agencyConfirmReadOnlyPage', true);
+ cmp.set('v.buttonGroup', false);
+ } else {
+ //楠岃瘉缁撴灉 涓虹┖ 鎴栬�� (楠岃瘉缁撴灉涓嶄负绌�&& 瀹℃壒鐘舵�佷负鑽夋涓�)
+ if (!eSignForm.agencyAcceptResult__c || (eSignForm.agencyAcceptResult__c &&
+ (!status || status == '鑽夋涓�' || status == '涓嶆壒鍑�'))) {
+ cmp.set("v.DNListPage", false);
+ cmp.set('v.agencyPage', true);
+ cmp.set('v.buttonGroup', false);
+ } else if (eSignForm.agencyAcceptResult__c == '鍏ㄩ儴楠屾敹' && eSignForm.agencyConfirmDate__c) {
+ cmp.set("v.DNListPage", false);
+ cmp.set("v.errorMessage", '缁忛攢鍟嗗凡缁忛獙鏀跺畬姣曪紒');
+ this.showErrorToast(cmp);
+ cmp.set('v.agencyConfirmReadOnlyPage', true);
+ cmp.set('v.buttonGroup', false);
+ } else if ((eSignForm.agencyAcceptResult__c == '閮ㄥ垎楠屾敹' ||
+ eSignForm.agencyAcceptResult__c == '鏁村崟闈炲畬濂�') &&
+ !eSignForm.salesManageConfirmDate__c
+ ) {
+ cmp.set("v.errorMessage", '钀ヤ笟绠$悊璇惧鐞嗕腑锛�');
+ this.showErrorToast(cmp);
+ return;
+ } else if (eSignForm.agencyAcceptResult__c == '閮ㄥ垎楠屾敹' ||
+ eSignForm.agencyAcceptResult__c == '鏁村崟闈炲畬濂�'
+ ) {
+ cmp.set("v.DNListPage", false);
+ cmp.set('v.agencyConfirmPage', true);
+ cmp.set('v.buttonGroup', false);
+
+ } else {
+ cmp.set("v.errorMessage", '缃戠粶寮傚父锛岃杩斿洖閲嶆柊妫�绱N鍙凤紒');
+ this.showErrorToast(cmp);
+ return;
+ }
+ }
+ },
+ HPClick: function(cmp) {
+debugger
+ var eSignForm = cmp.get('v.eSignForm');
+ var IsShow = cmp.get('v.IsHPShow');
+ var IsAgencyShow = cmp.get('v.IsAgencyShow');
+ var entryType = cmp.get('v.entryType');
+ var HPStatus;
+ if (eSignForm.HPSignUpStatus__c) {
+ HPStatus = eSignForm.HPSignUpStatus__c;
+ } else {
+ HPStatus = '';
+ }
+ if (HPStatus == '涓嶆壒鍑�') {
+ cmp.set('v.IsHPShow', false);
+ }
+ IsShow = cmp.get('v.IsHPShow');
+ //鐢ㄤ簬鍒ゆ柇缁忛攢鍟嗗凡绛炬敹鎴栬�呭凡鎻愪氦鍚� 鍖婚櫌浜岀淮鐮佸垯鍙互鎵叆
+ var date;
+ if (eSignForm.agencySignUpDate__c) {
+ date = eSignForm.agencySignUpDate__c;
+ } else if (eSignForm.agencySignUpDateBack__c) {
+ date = eSignForm.agencySignUpDateBack__c;
+
+ } else {
+ date = '';
+ }
+ // if(eSignForm.ACC_Text__c == 'Y'){
+ // cmp.set("v.errorMessage", 'acc鏍囪瘑鐨勫彂璐N涓嶅彲杩涜鍖婚櫌绛炬敹!');
+ // this.showErrorToast(cmp);
+ // }
+ // else
+ // 闃胯タ璧涘绛炬敹鍗� 绮剧悽鎶�鏈� fy 2021-09-08 start
+ if (eSignForm.skip_Hospital_Sign__c) {
+ // 闃胯タ璧涘绛炬敹鍗� 绮剧悽鎶�鏈� fy 2021-09-08 end
+ //鏍规嵁涓嶅悓鎯呭喌杩斿洖瀵瑰簲鐨勬彁绀轰俊鎭� 绮剧悽鎶�鏈� thh 2021-10-11 start
+ cmp.set("v.errorMessage", eSignForm.skip_Hospital_Sign_Message__c);
+ //鏍规嵁涓嶅悓鎯呭喌杩斿洖瀵瑰簲鐨勬彁绀轰俊鎭� 绮剧悽鎶�鏈� thh 2021-10-11 end
+ this.showErrorToast(cmp);
+ }
+ //鈶犲厛鍖哄垎鐩撮攢杩樻槸鍒嗛攢
+ else if (eSignForm.Sales_Root_Formula__c == '璨╁2搴�' && !date && HPStatus == ''&&!eSignForm.skip_Distribution_Sign__c) {
+ cmp.set("v.errorMessage", '璇风瓑寰呯粡閿�鍟嗗彂璐�!');
+ this.showErrorToast(cmp);
+ //鈶″垽鏂槸鍚﹀凡缁忓鎵瑰畬姣�
+ } else if (HPStatus == '鐢宠涓�') {
+ cmp.set("v.errorMessage", '鍖婚櫌绛炬敹缁撴灉瀹℃壒涓紝璇风瓑寰咃紒');
+ this.showErrorToast(cmp);
+ // cmp.set("IsShow", true);
+ } else if (IsShow && (HPStatus == '' || HPStatus == '鐢宠涓�' || HPStatus == '鑽夋涓�')) {
+ cmp.set("v.errorMessage", '鍖婚櫌绛炬敹鏁版嵁宸叉彁浜わ紝璇风瓑寰咃紒');
+ this.showErrorToast(cmp);
+ // 闃胯タ璧涘绛炬敹鍗� 绮剧悽鎶�鏈� fy 2021-09-08 start
+ } else if (eSignForm.salesHPManageConfirmDate__c && !eSignForm.skip_Distribution_Sign__c) {
+ // 闃胯タ璧涘绛炬敹鍗� 绮剧悽鎶�鏈� fy 2021-09-08 end
+ cmp.set("v.DNListPage", false);
+ cmp.set("v.errorMessage", '鍖婚櫌绛炬敹缁撴灉宸茬‘璁1锛�');
+ this.showErrorToast(cmp);
+ cmp.set('v.eSignHospitalConfirmReadOnlyPage', true);
+ cmp.set('v.buttonGroup', false);
+ // 闃胯タ璧涘绛炬敹鍗� 绮剧悽鎶�鏈� fy 2021-09-08 start
+ } else if (eSignForm.HPConfirmDate__c && eSignForm.skip_Distribution_Sign__c) {
+ // 闃胯タ璧涘绛炬敹鍗� 绮剧悽鎶�鏈� fy 2021-09-08 end
+ cmp.set("v.DNListPage", false);
+ cmp.set("v.errorMessage", '鍖婚櫌绛炬敹缁撴灉宸茬‘璁2锛�');
+ this.showErrorToast(cmp);
+ cmp.set('v.eSignHospitalConfirmReadOnlyPage', true);
+ cmp.set('v.DirectFlag', true);
+ cmp.set('v.buttonGroup', false);
+ } else {
+ //楠岃瘉缁撴灉 涓虹┖ 鎴栬�� (楠岃瘉缁撴灉涓嶄负绌�&& 瀹℃壒鐘舵�佷负鑽夋涓�)
+ //&& IsAgencyShow
+ if (!eSignForm.HPAcceptResult__c || (eSignForm.HPAcceptResult__c &&
+ (!HPStatus || HPStatus == '鑽夋涓�' || (HPStatus == '涓嶆壒鍑�')))) {
+ //鍒ゆ柇鐩撮攢杩樻槸鍒嗛攢
+ // 闃胯タ璧涘绛炬敹鍗� 绮剧悽鎶�鏈� fy 2021-09-08 start
+ if (eSignForm.skip_Distribution_Sign__c) {
+ // 闃胯タ璧涘绛炬敹鍗� 绮剧悽鎶�鏈� fy 2021-09-08 end
+ cmp.set('v.isDirectSales', true);
+ }
+ cmp.set("v.DNListPage", false);
+ cmp.set('v.HPPage', true);
+ cmp.set('v.buttonGroup', false);
+ } else if ((eSignForm.HPAcceptResult__c == '閮ㄥ垎楠屾敹' ||
+ eSignForm.HPAcceptResult__c == '鏁村崟闈炲畬濂�') &&
+ !eSignForm.salesHPManageConfirmDate__c
+ ) {
+ cmp.set("v.errorMessage", '钀ヤ笟绠$悊璇惧鐞嗕腑锛�');
+ this.showErrorToast(cmp);
+ return;
+ } else if (eSignForm.HPAcceptResult__c == '閮ㄥ垎楠屾敹' ||
+ eSignForm.HPAcceptResult__c == '鏁村崟闈炲畬濂�' || (!eSignForm.HPConfirmDate__c && eSignForm.HPAcceptResult__c == '鍏ㄩ儴楠屾敹')
+ ) {
+ cmp.set("v.DNListPage", false);
+ cmp.set('v.HPPConfirmage', true);
+ cmp.set('v.buttonGroup', false);
+
+ } else {
+ cmp.set("v.errorMessage", '缃戠粶寮傚父锛岃杩斿洖閲嶆柊妫�绱N鍙凤紒');
+ this.showErrorToast(cmp);
+ return;
+ }
+ }
+
+ // cmp.set('v.buttonGroup', false);
+ // cmp.set('v.HPPage',true);
+ },
+ getNowFormatDate: function() {
+ var date = new Date();
+ var seperator1 = "-";
+ var year = date.getFullYear();
+ var month = date.getMonth() + 1;
+ var strDate = date.getDate();
+ if (month >= 1 && month <= 9) {
+ month = "0" + month;
+ }
+ if (strDate >= 0 && strDate <= 9) {
+ strDate = "0" + strDate;
+ }
+ var currentdate = year + seperator1 + month + seperator1 + strDate;
+ return currentdate;
+ },
+ showESignQR: function(cmp, event) {
+ var DNName = event.target.name;
+ var agencySignUpDate__c = event.target.value;
+ var eSignForm = cmp.get('v.eSignForm');
+ var ShowDNNameQR = cmp.get('v.ShowDNNameQR');
+ // 闃胯タ璧涘绛炬敹鍗� 绮剧悽鎶�鏈� fy 2021-09-08 start
+ var skip_Hospital_Sign__c = event.target.id;
+ // 闃胯タ璧涘绛炬敹鍗� 绮剧悽鎶�鏈� fy 2021-09-08 end
+ //鏈�缁堢敤鎴�
+
+ //濡傛灉缁忛攢鍟嗙殑绛炬敹鏃ヤ负绌虹殑璇� 璇存槑鏈鏀跺畬鎴�
+ // if(eSignForm.ACC_Text__c == 'Y'){
+ // alert('acc鏍囪瘑鐨勫彂璐N涓嶈兘鐢熸垚浜岀淮鐮侊紒')
+ // }else
+ // 闃胯タ璧涘绛炬敹鍗� 绮剧悽鎶�鏈� fy 2021-09-08 start
+ if (skip_Hospital_Sign__c == 'true') {
+ // 闃胯タ璧涘绛炬敹鍗� 绮剧悽鎶�鏈� fy 2021-09-08 end
+ alert('缁忛攢鍟嗗崗璁笉鑳界敓鎴愬尰闄簩缁寸爜');
+ } else if (!agencySignUpDate__c && ShowDNNameQR != DNName.toString()) {
+ alert('缁忛攢鍟嗘湭绛炬敹锛屼笉鑳界敓鎴愪簩缁寸爜锛�')
+ } else {
+ cmp.set("v.DNName", DNName);
+ //鏄剧ず浜岀淮鐮�
+ cmp.set('v.showQR', true);
+ //闅愯棌dn椤�
+ cmp.set('v.DNListPage', false);
+
+ }
+
+ },
+ testIn: function(cmp, event) {
+ var id = '01t10000000ThMe';
+ var ids = new Array;
+ ids.push(id);
+ //鈶犺皟鐢ㄥ悗鍙版柟娉� 鏍规嵁url涓婄殑绠$悊缂栫爜杩斿洖瀹㈡埛id鍜岃褰曠被鍨�
+ var action = cmp.get("c.getProduct");
+ action.setParams({
+ "ids": ids
+ });
+ action.setCallback(this, function(response) {
+ var state = response.getState();
+
+ if (state === "SUCCESS") {
+ var res = response.getReturnValue();
+
+ alert('resId:' + res[0].Name);
+ } else if (state === "ERROR") {
+ console.log('There was a problem : ' + response.getError());
+ cmp.set("v.errorMessage", '缃戠粶寮傚父锛岃閲嶆柊杈撳叆锛�');
+ this.showErrorToast(cmp);
+ return;
+ }
+ });
+ $A.enqueueAction(action);
+
+ }
+
+
+
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/eSignHospitalConfirmPage/eSignHospitalConfirmPage.cmp b/force-app/main/default/aura/eSignHospitalConfirmPage/eSignHospitalConfirmPage.cmp
new file mode 100644
index 0000000..5699f0d
--- /dev/null
+++ b/force-app/main/default/aura/eSignHospitalConfirmPage/eSignHospitalConfirmPage.cmp
@@ -0,0 +1,750 @@
+<aura:component implements="force:appHostable,flexipage:availableForAllPageTypes"
+ access="global" controller="eSignHospitalConfirmController">
+ <aura:attribute name="DNName" type="String"
+ description="鐢ㄦ潵浠庣埗瀵硅薄鎺ユ敹浼犻�掕繃鏉ョ殑DN鍙�"
+ default=""/>
+ <aura:attribute name="DNSignUpStatus" type="string" default=""
+ description="鐢ㄦ潵浼犵鏀跺崟鐘舵�佺殑锛屼絾鏄湅鏉ユ病鍟ョ敤浼肩殑"/>
+ <aura:attribute name="IsSubmit" type="boolean" default="false"
+ description="鍒ゆ柇鏄惁褰曞叆琛ㄩ渶瑕佹彁浜�"/>
+ <aura:attribute name="AgencyClick" type="boolean" default="false"
+ description="鍒ゆ柇鏄惁宸叉彁浜よ繃涓�娆�"/>
+ <aura:attribute name="hideCheckboxColumn" type="boolean" default="true"
+ description="鍥犱负鐐逛笂涓�椤电殑鏃跺�欎笉鐭ラ亾涓轰粈涔堢疆鎴恌alse浜嗘墍浠ョ敤鍙橀噺鏉ヨ缃�"/>
+ <aura:attribute name="recordId" type="String" default=""
+ description="鍦ㄦ槑缁嗛〉鐐瑰嚮涓嬩竴姝ヤ細涓婁紶褰曞叆琛紝
+ 鐒跺悗杩斿洖鐨勫綍鍏ヨ〃ID瀛樺湪杩欓噷锛岀敤浜庝笂浼犳枃浠朵娇鐢�"/>
+ <aura:attribute name="filetype" type="List" default="['.png', '.jpg', '.jpeg']"
+ description="濡傛灉瀵逛簬涓婁紶鏂囦欢鐨勬牸寮忔湁瑕佹眰锛屽彲浠ョ敤杩欎釜锛屼絾鏄幇鍦ㄨ繕娌$敤"/>
+
+ <aura:attribute name="HomePageDisplay" type="Boolean" default="true"/>
+ <aura:attribute name="NextPageDisplay" type="Boolean" default="false"/>
+ <!-- checkbox -->
+ <aura:attribute name="IsAgencyOrHPShow" type="Boolean" default=""/>
+ <aura:attribute name="entryType" type="String" default=""/>
+ <aura:attribute name="chk" type="string" default=""/>
+ <aura:attribute name="check" type="Boolean" default="false"/>
+ <aura:attribute name="eSignForm" type="Object"
+ description="棣栭〉淇℃伅"/>
+ <aura:attribute name="uploadFilePage" type="Boolean" default="false"
+ description="鍒ゆ柇鏄惁鏄枃浠朵笂浼犻〉"/>
+ <aura:attribute name="data" type="Object[]"
+ description="鎵�鏈夋槑缁嗙殑淇℃伅"/>
+ <aura:attribute name="currentData" type="Object[]"
+ description="鏄庣粏椤靛綋鍓嶆樉绀虹殑鏄庣粏鐨勪俊鎭�"/>
+ <aura:attribute name="dataSize" type="Integer" default="0"
+ description="鏄庣粏椤靛綋鍓嶆樉绀虹殑鏄庣粏鐨勬暟閲�"/>
+ <aura:attribute name="columns" type="List"
+ description="鏄庣粏椤佃〃鏍肩殑姣忓垪鏋勯�犵殑璁惧畾"/>
+ <aura:attribute name="pageNumber" type="Integer" default="1"
+ description="鏄庣粏椤佃〃鏍肩殑绗嚑椤�"/>
+ <aura:attribute name="pageSize" type="Integer" default="5"
+ description="鏄庣粏椤佃〃鏍肩殑姣忛〉鏄庣粏瀹归噺"/>
+ <aura:attribute name="isLastPage" type="Boolean" default="false"
+ description="鏄惁鏈�鍚庝竴椤碉紝濡傛灉鏄渶鍚庝竴椤碉紝閭d箞琛ㄦ牸鍒嗛〉鐨勪笅涓�椤典笉鍙敤"/>
+ <aura:attribute name="draftValues" type="Object" default="[]"
+ description="鏄庣粏椤佃〃鏍肩殑淇敼鍐呭锛屼繚瀛樺悗浠庤繖閲岃鍊煎瓨鍒板綋鍓嶈〃鏍奸噷闈�"
+ />
+ <aura:attribute name="successMessage" type="String"
+ description="鎴愬姛娑堟伅"/>
+ <aura:attribute name="errorMessage" type="String"
+ description="澶辫触娑堟伅"/>
+ <!-- 閫傜敤+妫�绱� start-->
+ <aura:attribute name="searchSize" type="Integer" default=""
+ description="妫�绱㈡暟鎹殑闀垮害"/>
+ <aura:attribute name="searchCase" type="Integer" default=""
+ description="瀛樻斁妫�绱㈠�硷紝淇濈暀缂撳瓨"/>
+ <aura:attribute name="searchCaseKey" type="Integer" default=""
+ description="瀛樻斁妫�绱㈠�硷紝璧嬪�肩粰searchCase"/>
+ <aura:attribute name="searchFlag" type="boolean" default=""
+ description="鎼滅储妗嗘槸鍚︽湁鍊�"/>
+ <aura:attribute name="lineItemSize" type="Integer" default=""
+ description="瀛樻斁涓�鍏辨湁澶氬皯鏉℃槑缁唖ize"/>
+ <!-- 鍖婚櫌鐢靛瓙閭欢 -->
+ <aura:attribute name="HPWorkflowEmailBack" type="String"
+ description="鍖婚櫌閭"/>
+ <aura:attribute name="applyButton" type="String" default=""
+ description="鏄剧ず閫傜敤鎸夐挳"/>
+ <aura:attribute name="allApplyButton" type="String" default=""
+ description="鏄剧ず鍏ㄩ儴鎸夐挳"/>
+ <aura:attribute name="allWidth" type="String"
+ description="鐢ㄦ潵浠庣埗瀵硅薄鎺ユ敹浼犻�掕繃鏉ョ殑灞忓箷瀹藉害"
+ default=""/>
+ <aura:attribute name="floatWidth" type="String"
+ description="鐢ㄦ潵浠庣埗瀵硅薄鎺ユ敹浼犻�掕繃鏉ョ殑灞忓箷瀹藉害"
+ default=""/>
+ <!-- 閫傜敤+妫�绱� end -->
+
+ <!-- 鏂囦欢鍚嶅睍绀哄垪 -->
+ <aura:attribute name="activeSections" type="List" default="['A']" />
+ <aura:attribute name="activeSectionsMessage" type="String" default="" />
+ <aura:attribute name="flName" type="String" default=""
+ description="鏄剧ず鏂囦欢鍚�"/>
+ <aura:attribute name="nameList" type="Object[]"
+ description="鏄剧ず鎵�鏈夋枃浠跺悕"/>
+ <aura:attribute name="fileSize" type="Integer" default=""
+ description="璁板綍涓�鍏辨湁鍑犱釜鏂囦欢"/>
+ <aura:attribute name="flUpLoadName" type="String" default=""
+ description="鏄剧ず涓婁紶鏂囦欢鍚�"/>
+ <aura:attribute name="fileUpLoadSize" type="Integer" default=""
+ description="鏄剧ず涓婁紶鏂囦欢鏁�"/>
+ <aura:attribute name="nameUpLoadList" type="Object[]"
+ description="鏄剧ず鎵�鏈夋枃浠跺悕"/>
+ <aura:attribute name="uploadFlag" type="Boolean" default="false"
+ description="鐐瑰嚮涓婁紶鏂囦欢鏍囪瘑"/>
+ <aura:attribute name="base64List" type="Object[]"
+ description="鏄剧ず鎵�鏈夋枃浠跺悕"/>
+
+ <!-- 鏂囦欢鍚嶅睍绀哄垪 -->
+ <!-- 鏂囦欢涓婁紶-->
+ <aura:attribute name="parentId" type="Id" default="" />
+ <!-- 'showLoadingSpinner' attribute for show/hide the uploading image and msg in aura:if-->
+ <aura:attribute name="showLoadingSpinner" type="boolean" default="false" />
+ <!-- 'fileName' attribute for display the selected file name -->
+ <aura:attribute name="fileName" type="String" default="No File Selected.." />
+ <!-- Lightning Input with file type and on file change call the 'handleFilesChange' controller --> <aura:attribute name="getchunk" type="String" default="" />
+ <aura:attribute name="messageFlag" type="boolean" default="false" description="鍒ゆ柇涓婁紶鏂囦欢鏄惁鎻愮ず" />
+ <aura:attribute name="errorFlag" type="boolean" default="false" description="缃戠粶涓嶅ソ鐨勬儏鍐电疆鎴恡rue锛岀敱浜庢仮澶嶇綉缁滀笂浼犳枃浠讹紒" />
+ <aura:attribute name="baseFile" type="String" default="" />
+ <!-- 鏂囦欢鍚嶅睍绀哄垪 -->
+ <aura:attribute name="handlingOpinionsPage" type="Boolean" default="false"
+ description="鍒ゆ柇鏄惁鏄鐞嗘剰瑙侀〉"/>
+ <!-- 涓婁紶闄勪欢 鍥剧墖棰勮 -->
+ <aura:attribute name="imageSrc" type="String" default="" />
+ <aura:attribute name="imgList" type="String" default="" />
+ <!--wangweipeng 20210616 閫夋嫨濂戒笂浼犲浘鐗囦互鍚庨瑙�-->
+ <aura:attribute name="imageBigSrc" type="String" default="" />
+ <!-- 鏂板姛鑳界殑鍏ㄥ眬鍙橀噺 绮剧悽鎶�鏈� thh 2021-09-26 start -->
+ <aura:attribute name="FontSrc" type="Map" default="{}" description="鍏宠仈鏂囦欢鍚嶅拰鏂囦欢" />
+ <aura:attribute name="FileSrc" type="Map" default="{}" description="鍏宠仈鍘嬬缉鍚庣殑鏂囦欢鍚嶅拰鏂囦欢" />
+ <aura:attribute name="attachmentID" type="Map" default="{}" description="鍏宠仈闄勪欢ID鍜岄檮浠跺悕" />
+ <aura:attribute name="loaded" type="Boolean" default="true" description="鏍规嵁浼犲叆鏂囦欢绫诲瀷鍐冲畾鏄惁鏄剧ず鍥剧墖"/>
+ <aura:attribute name="isUploadName" type="Map" default="{}" description="鍏宠仈鏂囦欢鍚嶅拰璇ユ枃浠舵槸鍚﹀凡缁忎笂浼�" />
+ <aura:attribute name="pdfSrc" type="Map" default="{}" description="鍏宠仈pdf鏂囦欢鍚嶅拰绌虹櫧src" />
+ <!-- 鏂板姛鑳界殑鍏ㄥ眬鍙橀噺 绮剧悽鎶�鏈� thh 2021-09-26 end -->
+ <!-- 涓嶅畬濂芥槑缁� -->
+ <aura:attribute name="goodsData" type="Object[]"
+ description="涓嶅畬濂芥槑缁嗙殑淇℃伅"/>
+
+ <aura:handler name="init" action="{!c.doInit}" value="{!this}"
+ description="鍒濆鍖栨柟娉�"/>
+
+
+ <!-- 澶嶉�夋缁� -->
+ <aura:attribute name="options" type="List" default="[
+ {'label': '涓婅堪鍐呭宸查槄璇伙紙榛樿鍕鹃�夛級鐐光�滀笅涓�姝モ�濆埌鏄庣粏椤�', 'value': 'option1'}
+
+ ]"/>
+ <aura:attribute name="value" type="List" default="option1"/>
+
+ <div>
+ <lightning:spinner aura:id="mySpinner" size="large"
+ description="鍔犺浇涓粍浠讹紝濡傛灉涓嶉殣钘忔暣涓〉闈㈠氨鍦ㄥ姞杞戒腑"/>
+ </div>
+
+ <!-- 鎴愬姛toast 缁勪欢鐨勫疄鐜�-->
+ <div class="slds-modal slds-fade-in-open slds-hide" aura:id="successDiv">
+ <div class="demo-only" style="height: 8rem;width:40%">
+ <div class="slds-notify_container slds-is-relative">
+ <div class="slds-notify slds-notify_toast slds-theme_success" role="alert">
+ <div class=" slds-m-left_xx-large">
+ <div class="slds-notify__content slds-m-left_small slds-align_absolute-center slds-m-left_xx-large">
+ <lightning:icon alternativeText="Success" iconName="utility:success" size="small"
+ class="buttonColor slds-m-right_small" />
+ <h2 class="slds-text-heading_small ">{!v.successMessage}</h2>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <!-- 澶辫触toast 缁勪欢鐨勫疄鐜�-->
+ <div class="slds-modal slds-fade-in-open slds-hide" aura:id="errorDiv">
+ <div class="demo-only" style="height: 8rem;" id="errorSonDiv1">
+ <div class="slds-notify_container slds-is-relative">
+ <div class="slds-notify slds-notify_toast slds-theme_error" role="status" id="errorSonDiv2" style="">
+ <div class="">
+ <div class="slds-notify__content slds-m-left_small slds-align_absolute-center">
+ <lightning:icon alternativeText="error" iconName="utility:error" size="small"
+ class="buttonColor slds-m-right_small" />
+ <h2 class="slds-text-heading_small ">
+ <div id="errorSonDiv3" style=" word-break: break-all;overflow: auto;">
+ {!v.errorMessage}
+ </div>
+ </h2>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <aura:registerEvent name="componentEvent" type="c:BackToHomePage"/>
+ <!-- 棣栭〉 -->
+ <aura:if isTrue="{!v.HomePageDisplay}">
+ <p style="font-size: 17px;">
+ 棣栭〉
+ </p>
+ <div id="qs" style=" margin-bottom: 5%;" class="slds-card" >
+ <!-- 棣栭〉锛岀敱浜庝笌鍖婚櫌纭椤靛叕鐢ㄧ浉鍚屼富椤碉紝鎵�浠ヤ娇鐢ㄨ繖涓粍浠�,鐒跺悗鍙互鍏敤 -->
+ <c:eSignAgencyHomePage
+ HospitalAcceptanceResults = "{!v.HospitalAcceptanceResults}"
+ eSignForm = "{!v.eSignForm}"
+ />
+ <!-- 楂樺害 -->
+ <!-- <div style="height: 20px;"></div> -->
+
+ <!-- 娉ㄦ剰浜嬮」锛� -->
+ <div id="attention" style=" position:relative;margin-right: 4px; margin-right: 4px; " class="" >
+ <lightning:layout horizontalAlign="left" class="slds-m-top_large">
+ <!-- 鏈缃甽ayoutItem鐨剆ize澶у皬 涓嶆秹鍙婂苟鍒楄繖绉嶆儏鍐� 鐩墠鑷�傚簲 -->
+ <lightning:layoutItem padding="around-small" >
+ <div class="header-column">
+ <p class="field-title" title="Field 3" style="font-weight:bold;font-size: 15px;">娉ㄦ剰浜嬮」 锛� </p>
+ <p class="field-title" title="Field 3" style="font-weight:bold;font-size: 15px;"> 1銆佹敹鍒拌揣鐗╄鍦�24灏忔椂鍐呯‘璁� </p>
+ <p class="field-title" title="Field 3" style="font-weight:bold;font-size: 15px;"> 2銆佽揣鐗╁瑙傜牬鎹熻褰撻潰涓庨�佽揣浜虹瀛楃‘璁� </p>
+ <p class="field-title" title="Field 3" style="font-weight:bold;font-size: 15px;"> 3銆佷功闈㈤�氱煡渚涜揣鑰呯牬鎹熸儏鍐靛苟鎻忚堪鐮存崯鐘舵�� </p>
+ <p class="field-title" title="Field 3" style="font-weight:bold;font-size: 15px;"> 4銆佸繀瑕佹椂璇锋媿鐓ц褰� </p>
+ <!-- 椤荤煡 -->
+ <u>
+ <p class="field-title" title="Field 3" style="font-weight:bold;font-size: 15px;"> 5銆佽浜�10澶╁唴瀵瑰鐞嗘剰瑙佽繘琛岀‘璁わ紝瓒呮湡灏嗛粯璁ゅ悓鎰� </p>
+ </u>
+ </div>
+ </lightning:layoutItem>
+ </lightning:layout>
+
+ <!-- 椤荤煡 -->
+ <lightning:layout horizontalAlign="left" class="slds-m-top_small">
+ <!-- 鏈缃甽ayoutItem鐨剆ize澶у皬 涓嶆秹鍙婂苟鍒楄繖绉嶆儏鍐� 鐩墠鑷�傚簲 -->
+ <lightning:layoutItem padding="around-small">
+ <!-- <lightning:checkboxGroup name="checkbox"
+ label=""
+ options="{! v.options }"
+ value="{! v.value }"
+ onchange="{! c.handleChange }"/> -->
+ <lightning:input type="checkbox" label="涓婅堪鍐呭宸查槄璇伙紝鐐光�滀笅涓�姝モ�濆埌鏄庣粏椤�" id="chk" name="chk" checked="{!v.check}" />
+ </lightning:layoutItem>
+ </lightning:layout>
+
+ </div>
+
+
+
+ <!-- 浠庨椤靛埌妫�绱㈤〉鐨勪笂涓�姝ユ寜閽� -->
+ <!-- <div class="slds-float_left">
+ <lightning:button variant="brand"
+ label="涓婁竴姝�" title="涓婁竴姝�" onclick="{! c.BackToHomePage }" />
+ </div> -->
+ <div class="slds-float_right">
+ <lightning:button variant="brand"
+ label="涓嬩竴姝�" title="涓嬩竴姝�" onclick="{! c.hospitalDetailsPageNextClick }" />
+ </div>
+</div>
+ <!-- </lightning:datatable> -->
+ </aura:if>
+ <aura:if isTrue="{!v.NextPageDisplay}">
+
+ <!-- 鍔犱笂婊氬姩鏉� -->
+ <div id="header" style="{!'width:'+v.floatWidth+'px;'}">
+ <tr>
+ <td class="field-title" title="Field 3" style="font-weight:bold;font-size: 15px;" align="left">锛堝悜鍙虫粦鍔ㄦ煡鐪嬫洿澶氫俊鎭級
+
+ </td>
+ </tr>
+
+ </div>
+ <!-- 妫�绱� -->
+ <div id="searchDiv" class="slds-page-header" role="banner" style="{!'width:'+v.floatWidth+'px;'}">
+ <div class="slds-float_center" style="text-align:center">
+ <tr>
+ <td align="right" style="{!'padding-left:'+v.floatWidth*0.15+'px;'}">绠卞彿:
+ <input id="searchInput" lightning-input_input ="" type="text" class="slds-input" value="{!v.searchCase}" name="" onchange="{!c.searchByCaseNumber}" style="{!'width:'+v.floatWidth*0.2+'px;'}"/>
+ </td>
+
+ <td style="padding-left: 5px;">
+ <aura:if isTrue="{!v.searchFlag}">
+ 璇ョ鍏辨湁{!v.searchSize}鏉℃暟鎹��
+ <aura:set attribute="else">
+ 璇ュ崟鍏辨湁{!v.lineItemSize}鏉℃暟鎹��
+ </aura:set>
+ </aura:if>
+ </td>
+ </tr>
+ </div>
+ </div>
+ <div id="allDiv" style="{!'width:'+v.allWidth+'px;overflow-x:scroll;'}">
+ <div id="in" style=" width:763px;margin-right: 4px; ">
+ <!-- 鏄剧ず鍦ㄦ槑缁嗛〉鐨勫綋鍓嶆槑缁嗙殑琛ㄦ牸 -->
+
+ <div id="inTable" >
+ <!-- <lightning:card> -->
+ <aura:set attribute="title">
+ 璐х墿绛炬敹鍗曟槑缁�
+ </aura:set>
+
+ <table class="slds-table slds-table_cell-buffer slds-table_bordered slds-hint-parent slds-no-row-hover " style="table-layout: fixed;">
+ <thead>
+ <tr class="slds-line-height_reset slds-text-title_caps">
+ <!-- 绗竴鍒� 浜у搧鍨嬪彿 -->
+ <th class="slds-is-resizable" tabindex="-1" data-label="浜у搧鍨嬪彿" scope="row">
+
+ <span class="slds-grid slds-grid_align-spread" style="
+ width: 110px;text-align: left;display:block;">
+ <div class="slds-truncate">
+ <span title="浜у搧鍨嬪彿" class="slds-truncate" style="padding-bottom: 3px;">浜у搧鍨嬪彿</span> </div>
+ </span>
+
+
+
+ </th>
+ <!-- 绗簩鍒� CODE -->
+ <!-- <th class="slds-is-resizable" tabindex="-1" data-label="CODE" scope="row" style="width: 137px;height: 35px; outline: none;">
+
+ <span class="slds-grid slds-grid_align-spread" style="text-align: center;display:block;">
+ <div class="slds-truncate">
+ <span title="CODE" class="slds-truncate" style="padding-bottom: 3px;">CODE</span>
+ </div>
+
+ </span>
+
+
+ </th> -->
+
+ <!-- 绗笁鍒� 浜у搧鍚嶇О-->
+ <th class="slds-is-resizable" tabindex="-1" data-label="浜у搧鍚嶇О" scope="row" style="width: 361px;height: 35px;">
+
+ <span class="slds-grid slds-grid_align-spread" style="text-align: left;display:block;">
+ <div class="slds-truncate">
+ <span title="浜у搧鍚嶇О" class="slds-truncate" style="padding-bottom: 3px;">浜у搧鍚嶇О</span>
+
+
+ </div>
+ </span>
+
+
+ </th>
+
+ <!-- 绗洓鍒� 鏁伴噺-->
+ <th class="slds-is-resizable" tabindex="-1" data-label="鏁伴噺" scope="row" style="width: 50px;height: 35px;">
+
+ <span class="slds-grid slds-grid_align-spread" style="text-align: center;display:block;">
+ <div class="slds-truncate">
+ <span title="鏁伴噺" class="slds-truncate" style="padding-bottom: 3px;">鏁伴噺</span>
+
+
+ </div>
+ </span>
+
+
+
+ </th>
+
+ <!-- 绗簲鍒� 绠卞彿-->
+ <th class="slds-is-resizable" tabindex="-1" data-label="绠卞彿" scope="row" style="width: 100px;height: 35px;">
+
+ <span class="slds-grid slds-grid_align-spread" style="text-align: center;display:block;">
+ <div class="slds-truncate">
+ <span title="绠卞彿" class="slds-truncate" style="padding-bottom: 3px;">绠卞彿</span>
+
+
+ </div>
+ </span>
+
+
+
+ </th>
+ <!-- 绗叚鍒� 璐х墿鎯呭喌-->
+ <th class="slds-is-resizable" tabindex="-1" data-label="璐х墿鎯呭喌" scope="row" style="width: 110px;height: 35px;">
+
+ <span class="slds-grid slds-grid_align-spread" style="text-align: center;display:block;">
+ <div class="slds-truncate">
+ <span title="璐х墿鎯呭喌" class="slds-truncate" style="padding-bottom: 3px;">璐х墿鎯呭喌</span>
+
+
+ </div>
+ </span>
+
+
+
+ </th>
+ <!-- 绗竷鍒� 澶勭悊鎰忚-->
+ <!-- <th class="slds-is-resizable" tabindex="-1" data-label="澶勭悊鎰忚" scope="row" style="width: 170px;height: 35px;">
+
+ <span class="slds-grid slds-grid_align-spread" style="text-align: center;display:block;">
+ <div class="slds-truncate">
+ <span title="澶勭悊鎰忚" class="slds-truncate" style="padding-bottom: 3px;">澶勭悊鎰忚</span>
+
+
+ </div>
+ </span>
+
+
+
+ </th> -->
+ <!-- 绗叓鍒� 璐х墿鎯呭喌-->
+ <!-- <th class="slds-is-resizable" tabindex="-1" data-label="缁忛攢鍟嗙‘璁ょ粨鏋�" scope="row" style="width: 140px;height: 35px;">
+
+ <span class="slds-grid slds-grid_align-spread" style="text-align: center;display:block;">
+ <div class="slds-truncate">
+ <span title="缁忛攢鍟嗙‘璁ょ粨鏋�" class="slds-truncate" style="padding-bottom: 3px;">缁忛攢鍟嗙‘璁ょ粨鏋�</span>
+
+
+ </div>
+ </span>
+
+
+
+ </th> -->
+
+
+ </tr>
+ </thead>
+ <aura:if isTrue="{!v.currentData.length > 0}">
+ <tbody>
+ <aura:iteration items="{!v.currentData}" var="curr" indexVar="idx">
+ <tr class="slds-hint-parent">
+ <!-- 琛岄」鐩篃鐢╰h 鍥犱负鐢╰d鏍囩鐐瑰嚮鍒楃殑楂樺厜 鍦ㄨ嫻鏋滆澶囦笂 鏈夌棔杩� -->
+ <!-- 琛岄」鐩� 绗竴鍒� 浜у搧鍨嬪彿 -->
+ <th class="slds-is-resizable" tabindex="-1" data-label="浜у搧鍨嬪彿" scope="row">
+
+ <span class="slds-grid slds-grid_align-spread" style="
+ width: 110px;
+ padding-top: 6px;height:30px;
+ ">
+ <div class="slds-truncate">
+ <lightning:formattedText value="{!curr.Asset_Model_No__c}" />
+ </div>
+ </span>
+
+
+
+ </th>
+
+ <!-- 琛岄」鐩� 绗簩鍒� CODE-->
+ <!-- <th class="slds-is-resizable" tabindex="-1" data-label="CODE" scope="row">
+
+ <span class="slds-grid slds-grid_align-spread">
+ <div class="slds-truncate">
+ <lightning:formattedText value="{!curr.OTCode__c}" />
+
+
+
+ </div>
+ </span>
+
+
+
+ </th> -->
+ <!-- 琛岄」鐩� 绗笁鍒� 浜у搧鍚嶇О-->
+ <th class="slds-is-resizable" tabindex="-1" data-label="浜у搧鍚嶇О" scope="row" style="white-space:nowrap;
+ overflow:hidden;
+ text-overflow: ellipsis;">
+
+ <span class="slds-grid slds-grid_align-spread" style="
+ width: 361px;
+ padding-top: 6px;height:31px;
+ ">
+ <div class="slds-truncate">
+ <lightning:formattedText value="{!curr.productName__c}" />
+
+
+ </div>
+ </span>
+
+
+
+ </th>
+ <!-- 琛岄」鐩� 绗洓鍒� 鏁伴噺-->
+ <th class="slds-is-resizable" tabindex="-1" data-label="鏁伴噺" scope="row" >
+
+ <span class="slds-grid slds-grid_align-spread" style="text-align: center;display:block;">
+ <div class="slds-truncate">
+ <lightning:formattedText value="{!curr.Count_Text__c}" />
+
+
+ </div>
+ </span>
+
+
+
+ </th>
+ <!-- 琛岄」鐩� 绗簲鍒� 绠卞彿-->
+ <th class="slds-is-resizable" tabindex="-1" data-label="绠卞彿" scope="row">
+
+ <span class="slds-grid slds-grid_align-spread" style="text-align: center;display:block;">
+ <div class="slds-truncate">
+ <lightning:formattedNumber id="{!curr.Id+':'+idx+':CaseNumber__c'}" value="{!curr.CaseNumber__c}"/>
+
+
+ </div>
+ </span>
+
+
+
+ </th>
+ <!-- 琛岄」鐩� 绗叚鍒� 璐х墿鎯呭喌-->
+ <th class="slds-is-resizable" tabindex="-1" data-label="璐х墿鎯呭喌" scope="row">
+
+ <span class="slds-grid slds-grid_align-spread" style="text-align: center;display:block;">
+ <div class="slds-truncate">
+ <lightning:formattedText value="{!curr.HPGoodStatus__c}" />
+
+
+ </div>
+ </span>
+
+
+
+ </th>
+ <!-- 琛岄」鐩� 绗竷鍒� 澶勭悊鎰忚-->
+ <!-- <th class="slds-is-resizable" tabindex="-1" data-label="澶勭悊鎰忚" scope="row">
+
+ <span class="slds-grid slds-grid_align-spread" style="text-align: center;display:block;">
+ <div class="slds-truncate">
+ <lightning:formattedText value="{!curr.handleOpinion__c}" />
+
+
+ </div>
+ </span>
+
+
+
+ </th> -->
+
+ <!-- 琛岄」鐩� 绗叓鍒� 缁忛攢鍟嗙‘璁ょ粨鏋�-->
+ <!-- <th class="slds-is-resizable" tabindex="-1" data-label="缁忛攢鍟嗙‘璁ょ粨鏋�" scope="row">
+
+ <input id="{!curr.Id}" lightning-input_input ="" type="text" class="slds-input" value="{!curr.agencyConfirmResult__c}" onchange="{!c.GoodsChanged}" />
+
+
+ <button id="{!curr.Id+idx}" tabindex="-1" class="slds-button slds-button_icon slds-cell-edit__button slds-m-left_x-small" style="display: none;" >
+ <lightning:icon iconName="utility:success" alternativeText="Success!" variant="Success"
+ title="success variant xx-small" size="xx-small"/>
+ </button>
+
+ </th> -->
+
+ </tr>
+ </aura:iteration>
+ </tbody>
+
+ </aura:if>
+ </table>
+
+ <!-- <div class="slds-box">
+
+ <div align="center" style="float: left;padding-left: 370px;">
+ <lightning:button variant="neutral"
+ label="cancel" title="cancel" onclick="" />
+ </div>
+
+ <div align="center" style="padding-right: 370px;">
+ <lightning:button variant="brand"
+ label="save" title="save" onclick=""/>
+ </div>
+ </div> -->
+ <aura:if isTrue="{!empty(v.currentData)}">
+ <div class="slds-align_absolute-center">
+ No records found
+ </div>
+ </aura:if>
+ <!-- </lightning:card> -->
+
+
+
+ </div>
+ </div>
+ </div>
+
+ <!-- 鍒嗛〉鍔熻兘鐨勪笂涓�椤靛拰涓嬩竴椤碉紝 杩樻槸鏈�宸︿晶鐨勬樉绀哄綋鍓嶉〉鏁扮殑閫昏緫-->
+ <div id="floatDiv" style="{!'width:'+v.floatWidth+'px;'}">
+ <div class="slds-clearfix">
+ <div class="slds-page-header" role="banner">
+ <div class="slds-float_center" style="text-align:center">
+ <!-- iconName="utility:chevronleft" iconPosition="left" -->
+ <lightning:button iconName="utility:left"
+ onclick="{!c.handleHome}" disabled="{! v.pageNumber == 1}"/>
+ <lightning:button iconName="utility:chevronleft" iconPosition="left"
+ onclick="{!c.handlePrev}" disabled="{! v.pageNumber == 1}"/>
+ <span title="褰撳墠椤�"> {!v.pageNumber}
+ </span>
+ <lightning:button iconName="utility:chevronright" iconPosition="right"
+ disabled="{! v.isLastPage}" onclick="{!c.handleNext}"/>
+ <!-- iconName="utility:chevronright" iconPosition="right" -->
+ <lightning:button iconName="utility:right"
+ disabled="{! v.isLastPage}" onclick="{!c.handleLast}"/>
+
+ </div>
+
+ </div>
+ <!-- 鎻愮ず淇℃伅 slds-page-header-->
+ <div class="" role="banner">
+ <div class="slds-float_center" style="text-align:center">
+ <span style="float: center;color: red">锛堢偣涓嬩竴姝ョ‘璁ゅ鐞嗘剰瑙侊級</span>
+ </div>
+
+ </div>
+ </div>
+
+ <!-- 鏄庣粏椤佃烦杞嚦鏂囦欢涓婁紶椤电殑鎸夐挳 -->
+ <div class="slds-float_right">
+ <div id="attention" style=" position:relative;margin-right: 4px; margin-right: 4px; " class="" >
+ </div>
+
+ <lightning:button variant="brand"
+ label="涓嬩竴姝�" title="涓嬩竴姝�" onclick="{! c.handleDetailsPageNextClick }" />
+ </div>
+ <div class="slds-float_left">
+ <div id="attention" style=" position:relative;margin-right: 4px; margin-right: 4px; " class="" >
+ <!-- 纭鎻愪氦 -->
+ <lightning:button variant="brand"
+ label="涓婁竴姝�" title="涓婁竴姝�" onclick="{! c.handleShowPageNextClick }" />
+ </div>
+ </div>
+ </div>
+ </aura:if>
+ <aura:if isTrue="{!v.handlingOpinionsPage}">
+ <div class="slds-box">
+ <div id="page-footer" style=" margin-bottom: 5%;" class="slds-card" >
+ <lightning:layout multipleRows="true">
+ <lightning:layoutItem padding="around-xsmall" size="12">
+ <div class="page-section page-header" style="height: 25px;">
+ <h2><b>钀ヤ笟鎷呭綋澶勭悊鎰忚濡備笅锛�</b></h2>
+ </div>
+ <div class="page-section page-right" style="{!'width:'+v.floatWidth*0.8+'px;'}" >
+
+ <p style="word-break: break-word;text-indent: 2em;">{!v.eSignForm.handleOpinionHP__c}
+ </p>
+ </div>
+ </lightning:layoutItem>
+
+
+ </lightning:layout>
+
+ </div>
+ <p style="word-break: break-word;text-indent: 2em;">瀵逛互涓婂鐞嗘剰瑙佹棤鐤戜箟锛岃鐐瑰嚮纭銆傚鏈夊叾瀹冮棶棰橈紝璇疯仈绯诲ゥ鏋楀反鏂綋鍦拌惀涓氫汉鍛樸��</p>
+
+ <!-- <lightning:input aura:id="inputCmp" label="濡傛湁闇�瑕侊紝璇峰~鍐欐偍鐨勯偖绠�:" name="fullName" value=""
+ /> -->
+
+ </div>
+ <div id="footerDiv" style="{!'width:'+v.floatWidth+'px;display: flex;flex-direction: row;'}">
+ <!-- class="slds-float_left" -->
+ <div style="text-align:left;flex: 1;padding-top: 1px;">
+ <lightning:button variant="brand"
+ label="涓婁竴姝�" title="涓婁竴姝�" onclick="{!c.OpinionsTODetailsPage}" />
+ </div>
+ <!-- style="text-align:center" -->
+ <div style="text-align:center;flex: 1;padding-top: 1px;">
+ <lightning:button variant="brand"
+ label="纭" title="纭" onclick="{!c.submitClick }" />
+ </div>
+ <!-- class="slds-float_right" -->
+ <div style="text-align:right;flex: 1;padding-top: 1px;">
+ <lightning:button variant="brand"
+ label="杩斿洖" title="杩斿洖" onclick="{!c.BackToHomePage }" />
+ </div>
+ </div>
+
+ </aura:if>
+
+ <aura:if isTrue="{!v.uploadFilePage}">
+ <!-- 鏂囦欢涓婁紶缁勪欢 -->
+ <div aura:id="uploadFile" id="uploadFileDiv">
+ <div class="slds-box">
+ <lightning:input aura:id="fileId" onchange="{!c.handleFilesChange}" type="file" label="1.閫夋嫨闄勪欢" multiple="false" />
+ <lightning:notificationsLibrary aura:id="notifLibPlanA" />
+ <div style="display: inline-block; vertical-align: top;">
+ <div id="imgDiv">
+ <div id="font">棰勮鍖哄煙</div>
+ <!-- 褰撲笂浼犵殑闄勪欢涓簆df鏃讹紝闅愯棌棰勮鍖哄煙 绮剧悽鎶�鏈爐hh聽2021-09-15聽-->
+ <div id = "loaded" style="display: none;">
+ <img id="image" class="imgeBigCss" src="{!v.imageSrc}" style="display: none;" onclick="{!c.imgeBig}" />
+ <!--wangweipeng 20210616 鍥剧墖閫夊ソ浠ュ悗锛屽鎴峰彲鑳介渶瑕侀瑙堟斁澶ф煡鐪�-->
+ <div id="outerdiv" onclick="{!c.imgeSmall}">
+ <img id="bigImg" src="{!v.imageBigSrc}" style="border:1px solid #fff;" />
+ </div>
+ </div>
+ <div id = "fontpdf" style="display: none;">PDF鏂囦欢鏆備笉鏀寔棰勮</div>
+ </div>
+ </div>
+ <!-- 澧炲姞鏂囦欢鍒楄〃鍒犻櫎鍔熻兘聽聽绮剧悽鎶�鏈爐hh聽2021-08-25聽start聽-->
+ <!-- inline-block 鍏冪礌淇濇寔琛屽唴鎺掑垪涓斿彲浠ヨ缃楂� -->
+ <div style="display: inline-block; vertical-align: top;">
+ <!-- <lightning:buttonIcon iconName="utility:close" variant="bare" onclick="{!c.deleteClick}" alternativeText="Close modal" title="鍒犻櫎" iconClass="deleteicon"/> -->
+ <lightning:button label="鍒犻櫎" onclick="{!c.deleteClick}" title="鍒犻櫎" />
+ </div>
+ <!-- 澧炲姞鏂囦欢鍒楄〃鍒犻櫎鍔熻兘聽聽绮剧悽鎶�鏈爐hh聽2021-08-25聽end聽-->
+ <!-- 鏍囪瘑棰勮鍥剧墖鍚嶅瓧聽聽绮剧悽鎶�鏈爐hh聽2021-09-09聽start聽-->
+ <div>
+ <div id = "filenow" class="field-title" title="Field 3" style="display: inline-block; margin-left:10px; word-break: break-all; word-wrap: break-word; font-weight:bold; font-size: 15px; padding-top: 5px; color:#0f218b;"></div>
+ <!-- 鏂囦欢涓婁紶鍚庡綋鍓嶆枃浠跺悕鍚庨潰鍑虹幇缁胯壊灏忓嬀 绮剧悽鎶�鏈� thh 2021-09-15 start-->
+ <div id = "uploadicon" style="display: none;">
+ <div style="margin-left: 5px;">
+ <lightning:icon iconName="utility:success" alternativeText="Success!" variant="Success" title="success variant x-small" size="x-small" />
+ </div>
+ </div>
+ <!-- 鏂囦欢涓婁紶鍚庡綋鍓嶆枃浠跺悕鍚庨潰鍑虹幇缁胯壊灏忓嬀 绮剧悽鎶�鏈� thh 2021-09-15 end-->
+ </div>
+ <!-- 鏍囪瘑棰勮鍥剧墖鍚嶅瓧聽聽绮剧悽鎶�鏈爐hh聽2021-09-09聽end聽-->
+ <p class="field-title" title="Field 3" style="font-weight:bold;font-size: 15px;padding-top: 7px;color:red;">
+ 锛堥殢璐у悓琛屽崟鐩栫珷鍚庢媿鐓т笂浼狅級
+ </p>
+ <p class="field-title" title="Field 3" style="font-weight:bold;font-size: 15px;padding-top: 7px;color:red;">
+ 锛堥檮浠朵笂浼犳垚鍔熷悗璇风偣鍑绘彁浜わ級
+ </p>
+ <aura:if isTrue="{!v.showLoadingSpinner}">
+ <div class="slds-text-body_small slds-text-color_error">涓婁紶涓�...
+ <img src="/auraFW/resources/aura/images/spinner.gif" class="spinner-img" alt="Loading" />
+ </div>
+ </aura:if>
+ <br/>
+ <button class="slds-button slds-button_brand" onclick="{!c.doSave}">2.涓婁紶闄勪欢</button>
+ <lightning:accordion allowMultipleSectionsOpen="true" onsectiontoggle="{! c.handleSectionToggle }" activeSectionName="{! v.activeSections }">
+ <lightning:accordionSection name="A" label="鏂囦欢鍒楄〃">
+ <!-- 澧炲姞灏忚壊鍧� 绮剧悽鎶�鏈� thh 2021-09-26 start -->
+ <div>
+ <div style="display: inline-block; background-color: Grey; width:10px; height:10px;" />
+ <div style="margin-left: 5px; display: inline-block; font-weight:bold;font-size: 10px;padding-top: 7px;color:Grey;"> 鏈笂浼� </div>
+ <div style="margin-left: 40px; display: inline-block; background-color: Green; width:10px; height:10px;" />
+ <div style="margin-left: 5px; display: inline-block; font-weight:bold;font-size: 10px;padding-top: 7px;color:Green;"> 宸蹭笂浼� </div>
+ </div>
+ <!-- 澧炲姞灏忚壊鍧� 绮剧悽鎶�鏈� thh 2021-09-26 end -->
+ <!-- overflow: scroll; 鑷姩闅愯棌婊氬姩鏉� -->
+ <div id="fileNameDiv" style="height:50px;width:250px; overflow: scroll;">
+ <!-- 澧炲姞鐐瑰嚮鏂囦欢鍒楄〃鍒囨崲鏌ョ湅鍥剧墖闄勪欢聽聽绮剧悽鎶�鏈爐hh聽2021-08-24聽start聽-->
+ <p id='file00' onclick="{!c.buttonClicked}"></p>
+ <!-- 澧炲姞鐐瑰嚮鏂囦欢鍒楄〃鍒囨崲鏌ョ湅鍥剧墖闄勪欢聽聽绮剧悽鎶�鏈爐hh聽2021-08-24聽end聽-->
+ </div>
+ </lightning:accordionSection>
+ </lightning:accordion>
+ <div id="emailDiv" style="height: 90px;padding-top: 30px;">
+ <lightning:input aura:id="inputCmp" name="fullName" type="email" value="" label="濡傛湁闇�瑕侊紝璇峰~鍐欐偍鐨勯偖绠�:" messageWhenTypeMismatch="璇锋偍杈撳叆鏈夋晥鐨勭數瀛愰偖绠便��" />
+ </div>
+ </div>
+ </div>
+ <!-- 鏄庣粏椤佃烦杞嚦鏂囦欢涓婁紶椤电殑鎸夐挳 -->
+ <div class="slds-float_left" style="padding-top: 1px;">
+ <lightning:button variant="brand"
+ label="涓婁竴姝�" title="涓婁竴姝�" onclick="{! c.handleShowFielePageNextClick }" />
+ </div>
+
+
+ <div class="slds-float_right" style="padding-top: 1px;">
+ <lightning:button variant="brand"
+ label="閫�鍥為椤�" title="閫�鍥為椤�" onclick="{! c.BackToHomePage }" />
+ </div>
+ <!-- <div class="slds-float_left">
+ <lightning:button variant="brand"
+ label="涓婁竴姝�" title="涓婁竴姝�" onclick="{! c.handleShowFielePageNextClick }" />
+ </div>
+ <div style="position: fixed;margin-left:36%;">
+ <lightning:button variant="brand"
+ label="鎻愪氦" title="鎻愪氦" onclick="{! c.submitClick }" />
+ </div>
+ <div class="slds-float_right">
+ <lightning:button variant="brand"
+ label="閫�鍥為椤�" title="閫�鍥為椤�" onclick="{! c.BackToHomePage }" />
+ </div> -->
+ </aura:if>
+
+</aura:component>
\ No newline at end of file
diff --git a/force-app/main/default/aura/eSignHospitalConfirmPage/eSignHospitalConfirmPage.cmp-meta.xml b/force-app/main/default/aura/eSignHospitalConfirmPage/eSignHospitalConfirmPage.cmp-meta.xml
new file mode 100644
index 0000000..4076603
--- /dev/null
+++ b/force-app/main/default/aura/eSignHospitalConfirmPage/eSignHospitalConfirmPage.cmp-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<AuraDefinitionBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>49.0</apiVersion>
+ <description>DESCRIPTION</description>
+</AuraDefinitionBundle>
diff --git a/force-app/main/default/aura/eSignHospitalConfirmPage/eSignHospitalConfirmPage.css b/force-app/main/default/aura/eSignHospitalConfirmPage/eSignHospitalConfirmPage.css
new file mode 100644
index 0000000..baf9ba1
--- /dev/null
+++ b/force-app/main/default/aura/eSignHospitalConfirmPage/eSignHospitalConfirmPage.css
@@ -0,0 +1,163 @@
+.THIS table thead tr th:first-child
+{
+
+ position: fixed;
+ /*top: 45px;*/
+ z-index: 2;
+ /*width: 50px;*/
+ background-color: white;
+ padding-top:11px;
+
+
+}
+.THIS table thead tr th:nth-child(2)
+{
+ /*background-color: white;
+ position: fixed;
+ z-index: 1;
+ top: 45px;
+ padding-left: 52px;
+ width: 161px;*/
+ padding-left: 0px;
+
+}
+.THIS table thead tr th:nth-child(3)
+{
+ padding-left: 0px;
+
+}
+.THIS table thead tr th:nth-child(4)
+{
+ padding-left: 0px;
+
+}
+.THIS table thead tr th:nth-child(5)
+{
+ padding-left: 0px;
+
+}
+.THIS table thead tr th:nth-child(6)
+{
+ padding-left: 0px;
+
+}
+
+.THIS table tbody tr th:first-child
+{
+ background-color: white;
+ position: fixed;
+ z-index: 2;
+ padding-top:9px;
+ /*width: 50px;
+ padding-top: 9.5px;*/
+
+
+
+
+}
+
+.THIS table tbody tr th:nth-child(2)
+{
+ /*background-color: white;
+ position: fixed;
+ z-index: 1;
+ padding-left: 52px;
+ padding-top: 9.5px;
+ height:36px;
+ width: 161px;*/
+
+ padding-left: 0px;
+
+}
+.THIS table tbody tr th:nth-child(3)
+{
+ padding-left: 0px;
+
+}
+
+.THIS table tbody tr th:nth-child(4)
+{
+ padding-left: 0px;
+
+}
+
+.THIS table tbody tr th:nth-child(5)
+{
+ padding-left: 0px;
+
+}
+.THIS .slds-button_icon-bare{
+ display: none;
+}
+
+.THIS #imgDiv{
+ width: 200px;
+ height: 200px;
+ border: 1px dashed #000;
+ /* margin: 0 auto; */
+ margin: 10px;
+ position: relative;
+ display: table-cell;
+ vertical-align: middle;
+ text-align: center;
+}
+
+.THIS #imgDiv>img {
+ width: 100%;
+ height: 100%;
+}
+
+/*wangweipeng 20210616 鍥剧墖棰勮鑳屾櫙鍥�*/
+.THIS #outerdiv {
+ position:fixed;
+ top:0;
+ left:0;
+ background:rgba(0,0,0,0.7);
+ z-index:2;
+ width:100%;
+ height:100%;
+ display:none;
+}
+/*wangweipeng 20210616 鍥剧墖棰勮鏍峰紡*/
+.THIS #bigImg {
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ transform: translate(-50%,-50%);
+}
+/*澧炲姞鏂囦欢鍒楄〃鍒犻櫎鍔熻兘聽聽绮剧悽鎶�鏈爐hh聽2021-08-25聽start*/
+/*鍒犻櫎鍥炬爣鐨勬牱寮�*/
+.THIS .deleteicon {
+ color: #0f218b;
+ width: 25px;
+ height: 25px;
+ /*杩欐牱鎵嶈兘浣跨浉閭荤殑a鐪嬭捣鏉ュ氨闅旂潃涓�涓竟妗�*/
+ margin: -1px 0 0 -1px;
+ float:left;
+ /*浣垮緱鐩搁偦鎺掑垪*/
+ position:relative;
+ border-bottom-left-radius: 2px;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+}
+
+.THIS .deleteicon:hover{
+ border:1px solid #0f218b;
+ border-radius:2px;
+ /*杩欐牱鎵嶈兘浣块紶鏍囨斁涓婂幓鐨勬椂鍊欐樉绀哄叏閮ㄧ殑钃濊壊妗�,鍚﹀垯鍥犱负maring鐨勭紭鏁咃紝杈规鐨勫彸鍗婇儴鍒嗕細琚浉閭荤殑a鐨勮竟妗嗛伄鐩� */
+ z-index: 10;
+}
+/*澧炲姞鏂囦欢鍒楄〃鍒犻櫎鍔熻兘聽聽绮剧悽鎶�鏈爐hh聽2021-08-25 end*/
+/*loaded鑷繁鍔犱簡style锛屽緱閲嶆柊璁剧疆鏍峰紡 绮剧悽鎶�鏈爐hh聽2021-09-15 start*/
+.THIS #loaded {
+ width: 200px;
+ height: 200px;
+ position: relative;
+ text-align: center;
+}
+
+.THIS #loaded>img {
+ width: 100%;
+ height: 100%;
+}
+/*loaded鑷繁鍔犱簡style锛屽緱閲嶆柊璁剧疆鏍峰紡 绮剧悽鎶�鏈爐hh聽2021-09-15 end*/
\ No newline at end of file
diff --git a/force-app/main/default/aura/eSignHospitalConfirmPage/eSignHospitalConfirmPageController.js b/force-app/main/default/aura/eSignHospitalConfirmPage/eSignHospitalConfirmPageController.js
new file mode 100644
index 0000000..6126bed
--- /dev/null
+++ b/force-app/main/default/aura/eSignHospitalConfirmPage/eSignHospitalConfirmPageController.js
@@ -0,0 +1,720 @@
+({
+ myAction : function(component, event, helper) {
+
+ },
+ // 鍒濆鍖栧嚱鏁�
+ doInit : function(cmp, event, helper) {
+ // 璁剧疆鏄庣粏椤佃〃鏍肩殑鏋勯��
+ helper.getColumnAndAction(cmp);
+ // 浠庢暟鎹簱閲岄潰璇诲彇鏁版嵁
+ helper.geteSign(cmp);
+ },
+ // 鏄庣粏椤佃〃鏍肩殑缈婚〉涓嬩竴椤�
+ handleNext : function(cmp, event, helper) {
+ helper.handleNext(cmp);
+ },
+ // 鏄庣粏椤佃〃鏍肩殑缈婚〉涓婁竴椤�
+ handlePrev : function(cmp, event, helper) {
+ helper.handlePrev(cmp);
+ },
+ // 鏄庣粏椤佃〃鏍肩殑缈婚〉棣栭〉
+ handleHome : function(cmp, event, helper) {
+ helper.handleHome(cmp);
+ },
+ // 鏄庣粏椤佃〃鏍肩殑缈婚〉灏鹃〉
+ handleLast : function(cmp, event, helper) {
+ helper.handleLast(cmp);
+ },
+ // 琛ㄦ牸纭鏇存敼
+ handleSaveEdition: function (cmp, event, helper) {
+ //鑾峰彇鏇存敼鍐呭
+ var draftValues = event.getParam('draftValues');
+ helper.saveEdition(cmp, draftValues);
+ },
+ // 鏂囦欢涓婁紶缁撴灉鍚庣殑澶勭悊
+ handleUploadFinished: function(cmp, event) {
+ // 鑾峰彇涓婁紶鎴愬姛鏂囦欢鐨勪俊鎭�
+ var uploadedFiles = event.getParam("files");
+ var count;
+ var fileName;
+ var nameList = [];
+ if (uploadedFiles.length > 0) {
+ // 涔嬫墍浠ュ湪杩欓噷鍐欒繖涓脊鍑烘锛屽洜涓哄啓鍦╤elper閲岄潰涓嶇煡閬撲负鍟ュ脊涓嶅嚭鏉ワ紱
+ cmp.set("v.IsHaveFile", true);
+
+ // alert("璇锋偍鐐瑰嚮鎻愪氦鎸夐挳涓婁紶鏁版嵁锛�");
+ //鑾峰彇鏂囦欢涓婁紶鏁伴噺
+ var size = cmp.get("v.fileSize");
+ if (size) {
+ cmp.set('v.fileSize', size + uploadedFiles.length);
+ } else {
+ cmp.set('v.fileSize', uploadedFiles.length);
+ }
+ count = cmp.get("v.fileSize");
+
+ // console.log(file.name)
+ // 鎵撳嵃涓婁紶鎴愬姛鏂囦欢鐨勫悕瀛�
+ uploadedFiles.forEach(file => fileName = file.name);
+ var name = cmp.get("v.flName");
+ if (name) {
+ cmp.set('v.flName', name + ',' + fileName);
+ // nameList.pust(name);
+ } else {
+ cmp.set('v.flName', fileName);
+ }
+ fileName = cmp.get("v.flName");
+
+ }
+ if (count > 0) {
+ // alert("鎮ㄥ凡缁忔垚鍔熶笂浼�"+count+"涓枃浠�,鎻愪氦鐢宠璇风偣鍑绘彁浜ゆ寜閽��");
+ cmp.find('notifLibPlanA').showToast({
+ "title": "Success!",
+ "message": "鎮ㄥ凡缁忔垚鍔熼�夋嫨" + count + "涓枃浠�,璇风偣鍑讳笂浼犳枃浠舵寜閽笂浼犮��"
+ });
+
+ //鍒楀嚭鏂囦欢鍚�01 鎵�鏈夋枃浠跺悕閮界敤閫楀彿闅斿紑 鏍规嵁閫楀彿鎷嗗垎锛屽瓨鏀炬暟缁�
+ var nameList = fileName.split(',');
+ //瀛樻斁鍒板彉閲忎腑 鐢ㄤ簬涓婁竴椤典笅涓�椤佃繛鐐�
+ cmp.set('v.nameList', nameList);
+ if (nameList.length > 0) {
+ var strList = '';
+ for (var i = 0; i < nameList.length; i++) {
+ var num = Number(i) + 1;
+ var id = 'file0' + num;
+ //鏍囪瘑鏂囦欢鏄惁宸茬粡涓婁紶 绮剧悽鎶�鏈� thh 2021-09-26 start
+ if(isUploadName[nameList[i]]) {
+ var str = '<button id="' + id + '" class="slds-button" title="Field 3" style="text-align:left;width:250px;font-weight:bold;font-size: 15px;color:Green;" name="' + nameList[i] + '">' + nameList[i] + '</button><br>';
+ } else{
+ var str = '<button id="' + id + '" class="slds-button" title="Field 3" style="text-align:left;width:250px;font-weight:bold;font-size: 15px;color:Gray;" name="' + nameList[i] + '">' + nameList[i] + '</button><br>';
+ }
+ //鏍囪瘑鏂囦欢鏄惁宸茬粡涓婁紶 绮剧悽鎶�鏈� thh 2021-09-26 end
+ //鎷兼帴p鏍囩 鍒楀嚭鏂囦欢鍚峣d涓嶅悓
+ strList += str;
+ }
+ var obj = document.getElementById('file00');
+ obj.innerHTML = strList;
+ }
+ }
+
+ },
+
+ hospitalDetailsPageNextClick : function (cmp, event, helper) {
+ helper.hospitalDetailsPageNextClick(cmp);
+ },
+ handleChange : function (cmp, event, helper) {
+ console.log('鐐瑰嚮澶嶉�夋!');
+ var s = cmp.get("v.check");
+ console.log('q:'+s);
+ },
+ // 鏄庣粏椤佃烦杞嚦鏂囦欢涓婁紶椤�
+ handleDetailsPageNextClick : function (cmp, event, helper) {
+ helper.handleDetailsPageNextClick(cmp, event);
+ },
+ //淇濆瓨鎻愪氦鎸夐挳(鑰冭檻姝ゆ椂瑕佷笉瑕佹彃鍏ヤ竴鏉℃暟鎹�)
+ submitClick : function(cmp, event, helper){
+ helper.submitClick(cmp);
+ },
+ handleShowPageNextClick :function (cmp, event, helper) {
+ helper.handleShowPageNextClick(cmp);
+ },
+ handleShowFielePageNextClick:function (cmp, event, helper) {
+ helper.handleShowFielePageNextClick(cmp);
+ },
+ //涓婚〉璺抽椤�
+ BackToHomePage : function(cmp, event, helper){
+ if(confirm('纭鍥炲埌棣栭〉鍚楋紵')){
+ // var messageEvent = cmp.getEvent('componentEvent');
+ // messageEvent.setParam('DNName',cmp.get('v.DNName'));
+
+ // messageEvent.fire();
+ cmp.set("v.HomePage", false);
+ cmp.set("v.uploadFilePage", false);
+ cmp.set("v.HomePageDisplay", true);
+ cmp.set("v.handlingOpinionsPage",false);
+ }
+
+
+ // helper.BackToHomePage(cmp);
+ },
+ handleShowFielePageNextClick : function(cmp, event, helper){
+ helper.handleShowFielePageNextClick(cmp);
+ },
+ handleShowPageNextClick : function(cmp, event, helper){
+ helper.handleShowPageNextClick(cmp);
+ },
+ GoodsChanged:function(cmp, event, helper){
+ helper.GoodsChanged(cmp);
+ },
+ BatchUpdateByCase : function(cmp, event, helper){
+
+ helper.BatchUpdateByCase(cmp, event);
+
+ },
+ allBatchUpdateByCase : function(cmp, event, helper){
+
+ helper.allBatchUpdateByCase(cmp, event);
+
+ },
+ searchByCaseNumber : function(cmp, event, helper){
+ helper.searchByCaseNumber(cmp,event);
+ },
+ handleSectionToggle: function(cmp, event) {
+ var openSections = event.getParam('openSections');
+ var nameList = cmp.get('v.nameList');
+ if (nameList.length > 0) {
+ var strList = '';
+ for (var i = 0; i < nameList.length; i++) {
+ var num = Number(i) + 1;
+ var id = 'file0' + num;
+ //鏍囪瘑鏂囦欢鏄惁宸茬粡涓婁紶 绮剧悽鎶�鏈� thh 2021-09-26 start
+ if(isUploadName[nameList[i]]) {
+ var str = '<button id="' + id + '" class="slds-button" title="Field 3" style="text-align:left;width:250px;font-weight:bold;font-size: 15px;color:Green;" name="' + nameList[i] + '">' + nameList[i] + '</button><br>';
+ } else{
+ var str = '<button id="' + id + '" class="slds-button" title="Field 3" style="text-align:left;width:250px;font-weight:bold;font-size: 15px;color:Gray;" name="' + nameList[i] + '">' + nameList[i] + '</button><br>';
+ }
+ //鏍囪瘑鏂囦欢鏄惁宸茬粡涓婁紶 绮剧悽鎶�鏈� thh 2021-09-26 end
+ //鎷兼帴p鏍囩 鍒楀嚭鏂囦欢鍚峣d涓嶅悓
+ strList += str;
+ }
+ var obj = document.getElementById('file00');
+ obj.innerHTML = strList;
+ }
+ if (openSections.length === 0) {
+ cmp.set('v.activeSectionsMessage', "All sections are closed");
+ } else {
+ cmp.set('v.activeSectionsMessage', "Open sections: " + openSections.join(', '));
+ }
+ },
+ //杩斿洖鏄庣粏椤�
+ OpinionsTODetailsPage : function(cmp, event, helper){
+ //瀛樹竴涓嬫绱㈡閲岀殑鍊� 涓嶇劧浼氳娓呮帀
+ cmp.set('v.searchCase',cmp.get('v.searchCaseKey'));
+ console.log('searchCaseKey:'+cmp.get('v.searchCaseKey'));
+ cmp.set('v.handlingOpinionsPage',false);
+ cmp.set('v.NextPageDisplay',true);
+ },
+ doSave: function(cmp, event, helper) {
+ var fileName;
+ var count;
+ var fileName1;
+ //鍏堝垽鏂� 宸蹭笂浼犵殑鏂囦欢鏄惁鏈夊��
+ var nameUpLoadList = cmp.get('v.nameUpLoadList');
+ if (cmp.find("fileId").get("v.files").length > 0) {
+ //浠ヤ笅鏄敤浜庡瓨鏀惧凡缁忎笂浼犵殑鏂囦欢鍚� 鐢ㄤ綔瀵规瘮(鐩稿悓鏂囦欢鏃朵笉鑳戒笂浼犵殑锛屾晠涓嶇敤鍐呭鍒ゆ柇)
+ fileName = cmp.find("fileId").get("v.files")[0]['name'];
+ var nameList = cmp.get("v.nameList");
+ //鏂囦欢鍒楄〃涓虹┖鏃讹紝涓嶅厑璁镐笂浼� 绮剧悽鎶�鏈� thh 2021-09-13
+ if(nameList.indexOf(fileName) >= 0){
+ //瀹氫箟涓�涓爣璇� 鐢ㄦ潵鍒ゆ柇鐐瑰嚮杩囦笂浼犳枃浠舵寜閽�
+ cmp.set('v.uploadFlag', true);
+ //澧炲姞鏍囪鍝釜鏂囦欢宸蹭笂浼� 绮剧悽鎶�鏈� thh 2021-09-09 start
+ //鎶婃枃浠跺悕鍜岃鏂囦欢鏄惁宸茬粡涓婁紶鍏宠仈璧锋潵
+ var isUploadName = cmp.get("v.isUploadName");
+ isUploadName[fileName] = true;
+ cmp.set('v.isUploadName', isUploadName);
+ //澧炲姞鏍囪鍝釜鏂囦欢宸蹭笂浼� 绮剧悽鎶�鏈� thh 2021-09-09聽end
+ //鑾峰彇鏂囦欢涓婁紶鏁伴噺
+ var size = cmp.get("v.fileUpLoadSize");
+ if (size) {
+ cmp.set('v.fileUpLoadSize', size + cmp.find("fileId").get("v.files").length);
+ } else {
+ cmp.set('v.fileUpLoadSize', cmp.find("fileId").get("v.files").length);
+ }
+ fileName1 = fileName;
+ var name = cmp.get("v.flUpLoadName");
+ if (name && name != '') {
+ cmp.set('v.flUpLoadName', name + ',' + fileName1);
+ } else {
+ cmp.set('v.flUpLoadName', fileName1);
+ }
+ fileName = cmp.get("v.flUpLoadName");
+ console.log("fileName:" + fileName);
+ helper.uploadHelper(cmp, event);
+
+ }else {
+ alert('娌℃湁闄勪欢闇�瑕佷笂浼狅紒');
+ }
+ } else {
+ alert('璇锋偍閲嶆柊閫夋嫨涓婁紶鍥剧墖锛�');
+
+ if (nameUpLoadList.length < 0 || nameUpLoadList.length == 0) {
+ //鍏堝垽绌� 鏈夊彲鑳戒竴鎵撳紑椤甸潰灏辩偣鍑讳笂浼犳寜閽�
+ //璇存槑绗竴娆$偣鍑婚�夋嫨鍥剧墖锛屾病鏈変笂浼犲張鐐瑰嚮浜嗙浜屾
+ if (document.getElementById('file01')) {
+ document.getElementById('file01').remove();
+ }
+
+ } else {
+ cmp.set('v.nameList', nameUpLoadList);
+ //閲嶆柊瀹氫箟閫変腑鏂囦欢鐨勬暟閲�
+ cmp.set('v.fileSize', nameList.length);
+ if (nameUpLoadList.length > 0) {
+ var strList = '';
+ for (var i = 0; i < nameList.length; i++) {
+ var num = Number(i) + 1;
+ var id = 'file0' + num;
+ //鏍囪瘑鏂囦欢鏄惁宸茬粡涓婁紶 绮剧悽鎶�鏈� thh 2021-09-26 start
+ if(isUploadName[nameList[i]]) {
+ var str = '<button id="' + id + '" class="slds-button" title="Field 3" style="text-align:left;width:250px;font-weight:bold;font-size: 15px;color:Green;" name="' + nameList[i] + '">' + nameList[i] + '</button><br>';
+ } else{
+ var str = '<button id="' + id + '" class="slds-button" title="Field 3" style="text-align:left;width:250px;font-weight:bold;font-size: 15px;color:Gray;" name="' + nameList[i] + '">' + nameList[i] + '</button><br>';
+ }
+ //鏍囪瘑鏂囦欢鏄惁宸茬粡涓婁紶 绮剧悽鎶�鏈� thh 2021-09-26 end
+ //鎷兼帴p鏍囩 鍒楀嚭鏂囦欢鍚峣d涓嶅悓
+ strList += str;
+ }
+ var obj = document.getElementById('file00');
+ obj.innerHTML = strList;
+ }
+ }
+ }
+ },
+ //涓婁紶鍥剧墖鍚� 棰勮鍥剧墖
+ imgName: function(cmp, event) {
+ //绾ц仈鎿嶄綔 鐐瑰嚮瀛愭爣绛� 杩涘叆鐖舵爣绛剧偣鍑讳簨浠�
+ //鑾峰彇鐐瑰嚮鐨勫瓙鏍囩
+ var name = event.target.lastChild.data;
+ console.log(name);
+ var imgSrcList = cmp.get("v.imgList");
+ var imgSrc = imgSrcList[name];
+ document.getElementById('image').src = imgSrc;
+ },
+ //鑾峰彇鍥剧墖src
+ getImgSrc: function(imgSrcList, name) {
+ return imgSrcList[name];
+ },
+ //鍒朵綔鏁扮粍 key锛歯ame vlaue锛歴rc
+ setImgSrc: function(str1, prop, val) {
+ // 濡傛灉 val 琚拷鐣�
+ if (typeof val === "undefined") {
+ // 鍒犻櫎灞炴��
+ delete str1[prop];
+ } else {
+ // 娣诲姞 鎴� 淇敼
+ str1[prop] = val;
+ }
+ return str1;
+ },
+ handleFilesChange: function(cmp, event, helper) {
+ //鍥剧墖棰勮
+ var imgList = {};
+ var fileName = 'No File Selected..';
+ var count;
+ var fileName1;
+ var nameList = [];
+ var uploadedFiles = event.getParam("files");聽聽聽聽
+ var isUploadName = cmp.get("v.isUploadName");聽
+ var reader = new FileReader();
+ reader.readAsDataURL(uploadedFiles[0]);
+ //鏂囦欢涓簆df鏃�,闅愯棌棰勮鍥剧墖鍖哄煙,鏄剧ず鏂囧瓧鈥淧DF鏂囦欢鏆備笉鏀寔棰勮鈥� 绮剧悽鎶�鏈爐hh聽2021-09-13聽start
+ var name = event.getSource().get("v.files")[0]['name'];
+ var indexPdf = name.lastIndexOf('.');
+ var pdf = name.substring(indexPdf, name.length);
+ if(pdf == '.pdf') {
+ document.getElementById('loaded').style.display = 'none';
+ document.getElementById('fontpdf').style.display = 'block';
+ } else {
+ document.getElementById('loaded').style.display = 'block';
+ document.getElementById('fontpdf').style.display = 'none';
+ }
+ //鏂囦欢涓簆df鏃�,闅愯棌棰勮鍥剧墖鍖哄煙,鏄剧ず鏂囧瓧鈥淧DF鏂囦欢鏆備笉鏀寔棰勮鈥� 绮剧悽鎶�鏈爐hh聽2021-09-13聽end
+ reader.onload = function(e) {
+ var imgBase = e.target.result;
+ var nameList = cmp.get('v.nameUpLoadList');
+ //鍥剧墖棰勮
+ cmp.set("v.imageSrc", imgBase);
+ //娓呴櫎div鏂囧瓧
+ document.getElementById("font").textContent = "";
+ //棰勮鍥剧墖
+ document.getElementById('image').style.display = 'block';
+ // 濡傛灉 val 琚拷鐣�
+ if (typeof imgBase === "undefined") {
+ // 鍒犻櫎灞炴��
+ delete imgList[uploadedFiles[0].name];
+ } else {
+ // 娣诲姞 鎴� 淇敼
+ imgList[uploadedFiles[0].name] = imgBase;
+ }
+ //澧炲姞鐐瑰嚮鏂囦欢鍒楄〃鍒囨崲鏌ョ湅鍥剧墖闄勪欢聽聽绮剧悽鎶�鏈爐hh聽2021-08-23聽start
+ //鎶婇瑙堝浘鐗囩殑src瀛樺叆map锛屾妸鍥剧墖鍚嶅瓧鍜宻rc杩炴帴璧锋潵
+ var fontsrc = cmp.get("v.FontSrc");
+ fontsrc[uploadedFiles[0].name] = imgBase;
+ cmp.set('v.FontSrc', fontsrc);
+ //澧炲姞鐐瑰嚮鏂囦欢鍒楄〃鍒囨崲鏌ョ湅鍥剧墖闄勪欢聽聽绮剧悽鎶�鏈爐hh聽2021-08-23聽end
+
+ }
+ var flag = cmp.get('v.uploadFlag');
+ console.log('uploadedFiles:' + uploadedFiles);
+ console.log("鏂囦欢闀垮害锛�" + uploadedFiles.length);
+ //鍏堝垽鏂� 宸蹭笂浼犵殑鏂囦欢鏄惁鏈夊��
+ var nameUpLoadList = cmp.get('v.nameUpLoadList');
+ if (event.getSource().get("v.files").length > 0) {
+ fileName = event.getSource().get("v.files")[0]['name'];
+ //鏍囪瘑棰勮鍥剧墖鍚嶅瓧 绮剧悽鎶�鏈� thh 2021-09-09 start
+ if(fileName.length != 1 && isUploadName[fileName]) {
+ var str = '<span>褰撳墠鏂囦欢锛�</span><span id="nowfile" class="field-title" style="color:Green;" title="' + fileName + '">' + fileName + '</span>';
+ document.getElementById("uploadicon").style.display = 'inline-block';
+ } else{
+ var str = '<span>褰撳墠鏂囦欢锛�</span><span id="nowfile" class="field-title" style="color:Gray;" title="' + fileName + '">' + fileName + '</span>';
+ document.getElementById("uploadicon").style.display = 'none';
+ }
+ var obj = document.getElementById('filenow');
+ obj.innerHTML = str;
+ //鏍囪瘑棰勮鍥剧墖鍚嶅瓧 绮剧悽鎶�鏈� thh 2021-09-09 end
+ cmp.set("v.imageSrc", fileName);
+ // 涔嬫墍浠ュ湪杩欓噷鍐欒繖涓脊鍑烘锛屽洜涓哄啓鍦╤elper閲岄潰涓嶇煡閬撲负鍟ュ脊涓嶅嚭鏉ワ紱
+ cmp.set("v.IsHaveFile", true);
+ if (nameUpLoadList.length < 0 || nameUpLoadList.length == 0) {
+ fileName1 = fileName;
+ cmp.set('v.flName', fileName1);
+ fileName = cmp.get("v.flName");
+ //鍐欐鏄洜涓轰笂浼犳枃浠朵竴娆″彧鑳戒笂浼犱竴涓�
+ count = 1;
+
+ cmp.set("v.fileSize", count);
+ } else {
+ var size = cmp.get("v.fileSize");
+ if (size) {
+ cmp.set('v.fileSize', size + uploadedFiles.length);
+ } else {
+ cmp.set('v.fileSize', uploadedFiles.length);
+ }
+ count = cmp.get("v.fileSize");
+ // 鎵撳嵃閫変腑鏂囦欢鐨勫悕瀛�
+ fileName1 = fileName;
+ var name = cmp.get("v.flName");
+ if (name) {
+ cmp.set('v.flName', name + ',' + fileName1);
+ // nameList.pust(name);
+ } else {
+ cmp.set('v.flName', fileName1);
+ }
+ fileName = cmp.get("v.flName");
+ }
+
+ if (count > 0) {
+ //鍒楀嚭鏂囦欢鍚�01 鎵�鏈夋枃浠跺悕閮界敤閫楀彿闅斿紑 鏍规嵁閫楀彿鎷嗗垎锛屽瓨鏀炬暟缁�
+ var nameList = fileName.split(',');
+ for (var i = 0; i < nameList.length; i++) {
+ for (var j = i + 1; j < nameList.length; j++) {
+ if (nameList[i] == nameList[j]) { //绗竴涓瓑鍚屼簬绗簩涓紝splice鏂规硶鍒犻櫎绗簩涓�
+ nameList.splice(j, 1);
+ j--;
+ }
+ }
+ }
+ count = nameList.length;
+ // alert("鎮ㄥ凡缁忔垚鍔熶笂浼�"+count+"涓枃浠�,鎻愪氦鐢宠璇风偣鍑绘彁浜ゆ寜閽��");
+ cmp.find('notifLibPlanA').showToast({
+ "title": "Success!",
+ "message": "鎮ㄥ凡缁忛�変腑" + count + "涓枃浠�,璇风偣鍑讳笂浼犳枃浠舵寜閽繘琛屼笂浼犮��"
+ });
+
+ //鍒楀嚭鏂囦欢鍚�01 鎵�鏈夋枃浠跺悕閮界敤閫楀彿闅斿紑 鏍规嵁閫楀彿鎷嗗垎锛屽瓨鏀炬暟缁�
+ // var nameList =fileName.split(',');
+ //瀛樻斁鍒板彉閲忎腑 鐢ㄤ簬涓婁竴椤典笅涓�椤佃繛鐐�
+ cmp.set('v.nameList', nameList);
+ if (nameList.length > 0) {
+ var strList = '';
+ for (var i = 0; i < nameList.length; i++) {
+ var num = Number(i) + 1;
+ var id = 'file0' + num;
+ //鏍囪瘑鏂囦欢鏄惁宸茬粡涓婁紶 绮剧悽鎶�鏈� thh 2021-09-26 start
+ if(isUploadName[nameList[i]]) {
+ var str = '<button id="' + id + '" class="slds-button" title="Field 3" style="text-align:left;width:250px;font-weight:bold;font-size: 15px;color:Green;" name="' + nameList[i] + '">' + nameList[i] + '</button><br>';
+ } else{
+ var str = '<button id="' + id + '" class="slds-button" title="Field 3" style="text-align:left;width:250px;font-weight:bold;font-size: 15px;color:Gray;" name="' + nameList[i] + '">' + nameList[i] + '</button><br>';
+ }
+ //鏍囪瘑鏂囦欢鏄惁宸茬粡涓婁紶 绮剧悽鎶�鏈� thh 2021-09-26 end
+ //鎷兼帴p鏍囩 鍒楀嚭鏂囦欢鍚峣d涓嶅悓
+ strList += str;
+ }
+ var obj = document.getElementById('file00');
+ obj.innerHTML = strList;
+ }
+ }
+ } else {
+ if (nameUpLoadList.length < 0 || nameUpLoadList.length == 0) {
+ //璇存槑绗竴娆$偣鍑婚�夋嫨鍥剧墖锛屾病鏈変笂浼犲張鐐瑰嚮浜嗙浜屾
+ cmp.set('v.nameList', null);
+
+ } else {
+ cmp.set('v.nameList', nameUpLoadList);
+ if (nameUpLoadList.length > 0) {
+ var strList = '';
+ for (var i = 0; i < nameList.length; i++) {
+ var num = Number(i) + 1;
+ var id = 'file0' + num;
+ //鏍囪瘑鏂囦欢鏄惁宸茬粡涓婁紶 绮剧悽鎶�鏈� thh 2021-09-26 start
+ if(isUploadName[nameList[i]]) {
+ var str = '<button id="' + id + '" class="slds-button" title="Field 3" style="text-align:left;width:250px;font-weight:bold;font-size: 15px;color:Green;" name="' + nameList[i] + '">' + nameList[i] + '</button><br>';
+ } else{
+ var str = '<button id="' + id + '" class="slds-button" title="Field 3" style="text-align:left;width:250px;font-weight:bold;font-size: 15px;color:Gray;" name="' + nameList[i] + '">' + nameList[i] + '</button><br>';
+ }
+ //鏍囪瘑鏂囦欢鏄惁宸茬粡涓婁紶 绮剧悽鎶�鏈� thh 2021-09-26 end
+ //鎷兼帴p鏍囩 鍒楀嚭鏂囦欢鍚峣d涓嶅悓
+ strList += str;
+ }
+ var obj = document.getElementById('file00');
+ obj.innerHTML = strList;
+ }
+
+ }
+
+ }
+ cmp.set("v.fileName", fileName);
+ },
+ showHPQR: function(cmp, event, helper) {
+ var check = cmp.get('v.chkQR');
+ if (check) {
+ cmp.set('v.showQR', true);
+ } else {
+ cmp.set('v.showQR', false);
+ }
+
+ },
+ hideHPQR: function(cmp, event, helper) {
+ cmp.set('v.showQR', false);
+ cmp.set('v.chkQR', false);
+ },
+
+ //wangweipeng 20210616 棰勮鍥剧墖鏀惧ぇ鍔熻兘
+ imgeBig: function(cmp, event, helper) {
+ var imgeObj = document.getElementById("image");
+ //鍥剧墖棰勮
+ cmp.set("v.imageBigSrc", imgeObj.src);
+
+ //棰勮鍥剧墖
+ document.getElementById('image').style.display = 'none';
+ document.getElementById('outerdiv').style.display = 'block';
+ },
+ //wangweipeng 20210616 棰勮鍥剧墖鍏抽棴鎸夐挳
+ imgeSmall: function() {
+ document.getElementById('image').style.display = 'block';
+ document.getElementById('outerdiv').style.display = 'none';
+ },
+ //澧炲姞鐐瑰嚮鏂囦欢鍒楄〃鍒囨崲鏌ョ湅鍥剧墖闄勪欢聽聽绮剧悽鎶�鏈爐hh聽2021-08-23聽start
+ //鐐瑰嚮鏂囦欢鍒楄〃閲岀殑鍚嶅瓧瀹炵幇鍥剧墖鐨勫垏鎹�
+ buttonClicked: function(cmp, event) {
+ var name = event.target.name;
+ var srcmap = cmp.get("v.FontSrc");
+ var value = srcmap[name];
+ //鏂囦欢涓簆df鏃�,闅愯棌棰勮鍥剧墖鍖哄煙,鏄剧ず鏂囧瓧鈥淧DF鏂囦欢鏆備笉鏀寔棰勮鈥� 绮剧悽鎶�鏈爐hh聽2021-09-13聽start
+ var indexPdf = name.lastIndexOf('.');
+ var pdf = name.substring(indexPdf, name.length);
+ if(pdf == '.pdf') {
+ document.getElementById('loaded').style.display = 'none';
+ document.getElementById('fontpdf').style.display = 'block';
+ } else {
+ document.getElementById('loaded').style.display = 'block';
+ document.getElementById('image').src = value;
+ document.getElementById('image').style.display = 'block';
+ document.getElementById('fontpdf').style.display = 'none';
+ }
+ //鏂囦欢涓簆df鏃�,闅愯棌棰勮鍥剧墖鍖哄煙 绮剧悽鎶�鏈爐hh聽2021-09-13聽end
+ //鏍囪瘑棰勮鍥剧墖鍚嶅瓧 绮剧悽鎶�鏈� thh 2021-09-10 start
+ var isUploadName = cmp.get("v.isUploadName");
+ if(isUploadName[name]) {
+ var str = '<span>褰撳墠鏂囦欢锛�</span><span id="nowfile" class="field-title" style="color:Green;" title="' + name + '">' + name + '</span>';
+ document.getElementById("uploadicon").style.display = 'inline-block';
+ } else{
+ var str = '<span>褰撳墠鏂囦欢锛�</span><span id="nowfile" class="field-title" style="color:Gray;" title="' + name + '">' + name + '</span>';
+ document.getElementById("uploadicon").style.display = 'none';
+ }
+ var obj = document.getElementById('filenow');
+ obj.innerHTML = str;
+ //鏍囪瘑棰勮鍥剧墖鍚嶅瓧 绮剧悽鎶�鏈� thh 2021-09-10 end
+ },
+ //澧炲姞鐐瑰嚮鏂囦欢鍒楄〃鍒囨崲鏌ョ湅鍥剧墖闄勪欢聽聽绮剧悽鎶�鏈爐hh聽2021-08-23聽end
+ //澧炲姞鏂囦欢鍒楄〃鍒犻櫎鍔熻兘聽聽绮剧悽鎶�鏈爐hh聽2021-08-25聽start
+ deleteClick: function(cmp, event, helper) {
+ var srcmap = cmp.get("v.FontSrc");
+ var nameList = cmp.get("v.nameList");
+ var nameUpLoadList = cmp.get('v.nameUpLoadList');
+ var flUpLoadName = cmp.get("v.flUpLoadName");
+ var flName = cmp.get("v.flName");
+ var filesrc = cmp.get("v.FileSrc");
+ var base64List = cmp.get("v.base64List");
+ var baseArray = cmp.get("v.baseArray");
+ var isUploadName = cmp.get("v.isUploadName");
+ //鏍规嵁褰撳墠鏂囦欢鑾峰彇褰撳墠鏂囦欢鍚�
+ if(nameList != ''){
+ var name = document.getElementById("nowfile").title;
+ } else{
+ alert("娌℃湁闄勪欢锛屾棤娉曞垹闄わ紒");
+ }
+ //鎶婅鍒犵殑src鍒嗘瀛樺叆baseFile锛岀劧鍚庨�氳繃閬嶅巻鍒犻櫎base64List涓殑鏁版嵁
+ var baseFile = cmp.get("v.baseFile");
+ var startPosition = 0;
+ var fileContents = filesrc[name];
+ //濡傛灉fileContents鏈夊�硷紝璇存槑闄勪欢宸茬粡涓婁紶
+ if(fileContents){
+ var fileLength = Math.ceil(fileContents.length / helper.CHUNK_SIZE);
+ for(var i = 0; i < fileLength; i++){
+ baseFile = cmp.get("v.baseFile");
+ var endPosition = Math.min(
+ fileContents.length,
+ startPosition + helper.CHUNK_SIZE
+ );
+ var getchunk = fileContents.substring(startPosition, endPosition);
+ fileContents = fileContents.substring(endPosition);
+ if(baseFile){
+ cmp.set('v.baseFile',baseFile+','+getchunk);
+ }else{
+ cmp.set('v.baseFile',getchunk);
+ }
+ baseFile = cmp.get("v.baseFile");
+ }
+ //澧炲姞鏍囪鍝釜鏂囦欢宸蹭笂浼� 绮剧悽鎶�鏈� thh 2021-09-09 start
+ //鍒犻櫎siUploadName涓璶ame瀵瑰簲鐨勫垽鏂�
+ delete isUploadName[name];
+ //澧炲姞鏍囪鍝釜鏂囦欢宸蹭笂浼� 绮剧悽鎶�鏈� thh 2021-09-09聽end
+ //鍒犻櫎flUpLoadName涓殑name
+ var Arrflag = flUpLoadName instanceof Array;
+ if(!Arrflag){
+ flUpLoadName = flUpLoadName.split(',');
+ }
+ for(var i = 0; i < flUpLoadName.length; i++) {
+ if(flUpLoadName [i] == name) {
+ flUpLoadName.splice(i, 1);
+ break;
+ }
+ }
+ cmp.set("v.flUpLoadName", flUpLoadName);
+ //鍒犻櫎涓�涓暟鎹箣鍚巉ileUpLoadSize涓殑鏁伴噺瑕�-1
+ var fileUpLoadSize = cmp.get("v.fileUpLoadSize");
+ var deletefileUpLoadSize = fileUpLoadSize - 1;
+ cmp.set("v.fileUpLoadSize", deletefileUpLoadSize);
+ }
+ //鍒犻櫎srcname涓璶ame瀵瑰簲鐨剆rc
+ delete srcmap[name];
+ //鍒犻櫎filesrc涓璶ame瀵瑰簲鐨剆rc
+ delete filesrc[name];
+ //鍒犻櫎nameList涓殑name
+ for(var i = 0; i < nameList.length; i++) {
+ if(nameList [i] == name) {
+ nameList.splice(i, 1);
+ break;
+ }
+ }
+ cmp.set("v.nameList", nameList);
+ //鍒犻櫎nameUpLoadList涓殑name
+ for(var i = 0; i < nameUpLoadList.length; i++) {
+ if(nameUpLoadList [i] == name) {
+ nameUpLoadList.splice(i, 1);
+ break;
+ }
+ }
+ cmp.set("v.nameUpLoadList", nameUpLoadList);
+ //鍒犻櫎flName涓殑name
+ var Arryflag = flName instanceof Array;
+ if(!Arryflag){
+ flName = flName.split(',');
+ }
+ for(var i = 0; i < flName.length; i++) {
+ if(flName [i] == name) {
+ flName.splice(i, 1);
+ break;
+ }
+ }
+ cmp.set("v.flName", flName);
+ //閫氳繃閬嶅巻鍒犻櫎base64List涓殑鏁版嵁
+ baseFile = cmp.get("v.baseFile");
+ baseArray = baseFile.split(',');
+ for(var j = 0; j < baseArray.length; j++){
+ for(var i = 0; i < base64List.length; i++) {
+ var baseArray100;
+ if(baseArray[j].length > 100){
+ baseArray100 = baseArray[j].substring(0, 100);
+ }else{
+ baseArray100 = baseArray[j].substring(0);
+ }
+ if(base64List[i].indexOf(baseArray100) >= 0) {
+ base64List.splice(i, 1);
+ break;
+ }
+ }
+ }
+ cmp.set("v.base64List", base64List);
+ //鎷兼帴鍒犻櫎瀹屼箣鍚庣殑鏂囦欢鍒楄〃,浠ュ強鍥剧墖鐨勬樉绀�
+ var strList = '';
+ if(nameList.length == 0) {
+ //鏂囦欢鍒犲畬涔嬪悗闅愯棌鍥剧墖棰勮鍖哄煙浠ュ強缁胯壊灏忊垰,棰勮鍖哄煙鏄剧ず鏂囧瓧鈥淧DF鏂囦欢鏆備笉鏀寔棰勮鈥� 绮剧悽鎶�鏈� thh 2021-09-15 start
+ document.getElementById('loaded').style.display = 'none';
+ document.getElementById("uploadicon").style.display = 'none';
+ //鏂囦欢鍒犲畬涔嬪悗闅愯棌鍥剧墖棰勮鍖哄煙浠ュ強缁胯壊灏忊垰,棰勮鍖哄煙鏄剧ず鏂囧瓧鈥淧DF鏂囦欢鏆備笉鏀寔棰勮鈥� 绮剧悽鎶�鏈� thh 2021-09-15 end
+ //鏂囦欢鍒犲畬涔嬪悗,棰勮鍖哄煙鐨刾df鏂囧瓧涔熶笉鏄剧ず
+ document.getElementById('fontpdf').style.display = 'none';
+ //鏂囦欢鍒犲畬涔嬪悗,棰勮鍖哄煙鐨刾df鏂囧瓧涔熶笉鏄剧ず
+ var str = '';
+ var obj = document.getElementById('file00');
+ obj.innerHTML = str;
+ //鏍囪瘑棰勮鍥剧墖鍚嶅瓧 绮剧悽鎶�鏈� thh 2021-09-10 start
+ var obj1 = document.getElementById('filenow');
+ obj1.innerHTML = str;
+ //鏍囪瘑棰勮鍥剧墖鍚嶅瓧 绮剧悽鎶�鏈� thh 2021-09-10 end
+ }else {
+ var value = srcmap[nameList[0]];
+ //鏂囦欢涓簆df鏃跺睍绀虹┖鐧藉浘鐗�,鏄剧ず鏂囧瓧鈥淧DF鏂囦欢鏆備笉鏀寔棰勮鈥� 绮剧悽鎶�鏈爐hh聽2021-09-15聽start
+ var indexPdf = nameList[0].lastIndexOf('.');
+ var pdf = nameList[0].substring(indexPdf, nameList[0].length);
+ if(pdf == '.pdf') {
+ document.getElementById('loaded').style.display = 'none';
+ document.getElementById('fontpdf').style.display = 'block';
+ } else {
+ document.getElementById('loaded').style.display = 'block';
+ document.getElementById('image').src = value;
+ document.getElementById('image').style.display = 'block';
+ document.getElementById('fontpdf').style.display = 'none';
+ }
+ //鏂囦欢涓簆df鏃跺睍绀虹┖鐧藉浘鐗�,鏄剧ず鏂囧瓧鈥淧DF鏂囦欢鏆備笉鏀寔棰勮鈥� 绮剧悽鎶�鏈爐hh聽2021-09-15聽end
+ for (var i = 0; i < nameList.length; i++) {
+ var num = Number(i) + 1;
+ var id = 'file0' + num;
+ //鏍囪瘑鏂囦欢鏄惁宸茬粡涓婁紶 绮剧悽鎶�鏈� thh 2021-09-26
+ if(isUploadName[nameList[0]]) {
+ var str = '<button id="' + id + '" class="slds-button" title="Field 3" style="text-align:left;width:250px;font-weight:bold;font-size: 15px;color:Green;" name="' + nameList[i] + '">' + nameList[i] + '</button><br>';
+ } else{
+ var str = '<button id="' + id + '" class="slds-button" title="Field 3" style="text-align:left;width:250px;font-weight:bold;font-size: 15px;color:Gray;" name="' + nameList[i] + '">' + nameList[i] + '</button><br>';
+ }
+ //鎷兼帴p鏍囩 鍒楀嚭鏂囦欢鍚峣d涓嶅悓
+ strList += str;
+ }
+ var obj = document.getElementById('file00');
+ obj.innerHTML = strList;
+ //鏍囪瘑鏂囦欢鏄惁宸茬粡涓婁紶 绮剧悽鎶�鏈� thh 2021-09-26 start
+ if(isUploadName[nameList[0]]) {
+ var str = '<span>褰撳墠鏂囦欢锛�</span><span id="nowfile" class="field-title" style="color:Green;" title="' + nameList[0] + '">' + nameList[0] + '</span>';
+ document.getElementById("uploadicon").style.display = 'inline-block';
+ } else{
+ var str = '<span>褰撳墠鏂囦欢锛�</span><span id="nowfile" class="field-title" style="color:Gray;" title="' + nameList[0] + '">' + nameList[0] + '</span>';
+ document.getElementById("uploadicon").style.display = 'none';
+ }
+ var obj = document.getElementById('filenow');
+ obj.innerHTML = str;
+ //鏍囪瘑鏂囦欢鏄惁宸茬粡涓婁紶 绮剧悽鎶�鏈� thh 2021-09-26 end
+ }
+ //鍒犻櫎瀹屾垚鍚巄aseFile闇�瑕佺疆绌�
+ cmp.set("v.baseFile", '');
+ var baseFile = cmp.get("v.baseFile");
+ //鍒犻櫎涓�涓暟鎹箣鍚巉ileSize涓殑鏁伴噺瑕�-1
+ var count = cmp.get("v.fileSize");
+ var deletecount = count - 1;
+ cmp.set("v.fileSize", deletecount);
+ //鍏宠仈鍚庣浠g爜鍒犻櫎绛炬敹鍗曞綍鍏ヨ〃涓殑闄勪欢
+ var action = cmp.get("c.deleteChunk");
+ var attachmentID = cmp.get("v.attachmentID");
+ var AttachmentID = attachmentID[name];
+ action.setParams({
+ AttachmentId : AttachmentID
+ });
+ //閫氳繃椤甸潰鏂偣楠岃瘉action鏂规硶鏄惁鎴愬姛
+ action.setCallback(this, function(response) {
+ var state = response.getState();
+ });
+ //鎵цaction鏂规硶
+ $A.enqueueAction(action);
+ },
+ //澧炲姞鏂囦欢鍒楄〃鍒犻櫎鍔熻兘聽聽绮剧悽鎶�鏈爐hh聽2021-09-02聽end
+
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/eSignHospitalConfirmPage/eSignHospitalConfirmPageHelper.js b/force-app/main/default/aura/eSignHospitalConfirmPage/eSignHospitalConfirmPageHelper.js
new file mode 100644
index 0000000..c8a49ad
--- /dev/null
+++ b/force-app/main/default/aura/eSignHospitalConfirmPage/eSignHospitalConfirmPageHelper.js
@@ -0,0 +1,1155 @@
+({
+ helperMethod : function() {
+
+ },
+ // 璁剧疆table 鍚勬爮灞炴��
+ getColumnAndAction : function(cmp) {
+ var actions = [
+ {label: 'Edit', name: 'edit'},
+ {label: 'Delete', name: 'delete'},
+ {label: 'View', name: 'view'}
+ ];
+ cmp.set('v.columns', [
+ // {label: 'CODE', fieldName: 'OTCode__c', type: 'text', wrapText:false
+ // , hideDefaultActions: true ,fixedWidth: 110 },
+ {label: '浜у搧鍨嬪彿', fieldName: 'Asset_Model_No__c', type: 'text' , wrapText:false
+ , hideDefaultActions: true,fixedWidth: 110 },
+ {label: 'CODE', fieldName: 'OTCode__c', type: 'text', wrapText:false
+ , hideDefaultActions: true ,fixedWidth: 137 },
+ {label: '浜у搧鍚嶇О', fieldName: 'productName__c', type: 'text', wrapText:false
+ , hideDefaultActions: true ,fixedWidth: 330 },
+ {label: '鏁伴噺', fieldName: 'Count_Text__c', type: 'text', wrapText:false
+ , hideDefaultActions: true ,fixedWidth: 50 },
+ {label: '绠卞彿', fieldName: 'CaseNumber__c', type: 'text', wrapText:false
+ , hideDefaultActions: true ,fixedWidth: 100 },
+ {label: '璐х墿鎯呭喌', fieldName: 'HPGoodStatus__c', type: 'text', wrapText:false
+ , hideDefaultActions: true ,fixedWidth: 110 },
+ {label: '澶勭悊鎰忚', fieldName: 'handleOpinionHP__c', type: 'text', wrapText:false
+ , hideDefaultActions: true ,fixedWidth: 170 },
+ {label: '鍖婚櫌纭缁撴灉', fieldName: 'HPConfirmResult__c', type: 'text', wrapText:false
+ , hideDefaultActions: true , editable: true,fixedWidth: 140 },
+ ]);
+ },
+ // 鑾峰彇鏁版嵁
+ geteSign : function(cmp) {
+ // this.showSpinner(cmp);
+ var action = cmp.get("c.geteSigns");
+ var DNName = cmp.get("v.DNName").toString();
+ action.setParams({
+ 'DNName' : DNName,
+ });
+ console.log("宸茬粡杩涘埌杩欓噷浜�");
+ action.setCallback(this,function(response) {
+ var state = response.getState();
+ console.log("鐘舵�侊細"+state);
+ if (state === "SUCCESS") {
+ var resultData = response.getReturnValue();
+ if(!!resultData && !!resultData.eSignFormLineItems
+ && !!resultData.eSignForm){
+ var data = resultData.eSignFormLineItems;
+ var goodsData = [];
+ if(data!=null){
+ for(var i=0;i<data.length;i++){
+ if(data[i].HPGoodStatus__c !='瀹屽ソ'){
+ goodsData.push(data[i]);
+ }
+
+ }
+ }
+ console.log('鏁版嵁锛�'+data);
+ cmp.set('v.lineItemSize',goodsData.length);
+ var pageSize = cmp.get('v.pageSize');
+ cmp.set("v.data", data);
+ cmp.set("v.goodsData",goodsData);
+ cmp.set("v.eSignForm", resultData.eSignForm);
+ var tempData = this.getTempData(goodsData, 1,pageSize);
+ cmp.set("v.isLastPage", this.isLastPage(goodsData,tempData));
+ cmp.set("v.dataSize", tempData.length);
+ cmp.set("v.currentData", tempData);
+ this.hideSpinner(cmp);
+ }else{
+ cmp.set("v.errorMessage", '鍔犺浇澶辫触锛岃閲嶆柊鎵撳紑姝ら〉闈紒');
+ this.showErrorToast(cmp);
+ this.hideSpinner(cmp);
+
+ }
+
+ }else{
+ cmp.set("v.errorMessage", '鍔犺浇澶辫触锛岃閲嶆柊鎵撳紑姝ら〉闈紒');
+ this.showErrorToast(cmp);
+ this.hideSpinner(cmp);
+
+ }
+
+ });
+ $A.enqueueAction(action);
+ },
+ // 鏄庣粏椤� table 棣栭〉鍔熻兘瀹炵幇
+ handleHome : function(cmp) {
+ var pageSize = cmp.get('v.pageSize');
+ var pageNumber = cmp.get('v.pageNumber');
+ var data = cmp.get('v.data');
+ var goodsData= cmp.get("v.goodsData");
+ var currentData = cmp.get('v.currentData');
+
+ //鑾峰彇杈撳叆鐨剉alue鍊�
+ var key = document.getElementById('searchInput').value;
+ var tempDataList = [];
+ var pageSize = cmp.get('v.pageSize');
+
+ if(key){
+ for(var i = 0; i<goodsData.length; i++){
+ //鑾峰彇鎵�鏈塶ame涓虹鍙风殑input 鎵归噺鏇存柊
+ if(goodsData[i].CaseNumber__c == key){
+ tempDataList.push(data[i]);
+ }
+
+ }
+ //璁剧疆鍒嗛〉
+ var tempData = this.getTempData(tempDataList,1,pageSize );
+ cmp.set('v.pageNumber', 1 );
+ console.log('currentData1:'+currentData);
+ cmp.set('v.currentData',tempData);
+ cmp.set('v.goodsData',goodsData);
+ cmp.set('v.data',data);
+ cmp.set("v.isLastPage", this.isLastPage(tempDataList,tempData));
+ cmp.set("v.searchSize",tempDataList.length);
+
+
+ }else{
+ //鏄剧ず鍏ㄩ儴绠�
+ var tempData = this.getTempData(goodsData,1,pageSize );
+ cmp.set('v.pageNumber', 1 );
+ console.log('currentData1:'+currentData);
+ cmp.set('v.currentData',tempData);
+ cmp.set('v.goodsData',goodsData);
+ cmp.set('v.data',data);
+ cmp.set("v.isLastPage", this.isLastPage(goodsData,tempData));
+ cmp.set('v.searchSize', null);
+
+ }
+
+
+ },
+ // 鏄庣粏椤� table 灏鹃〉鍔熻兘瀹炵幇
+ handleLast : function(cmp) {
+ var pageSize = cmp.get('v.pageSize');
+ var pageNumber = cmp.get('v.pageNumber');
+ var data = cmp.get('v.data');
+ var goodsData= cmp.get("v.goodsData");
+ //鑾峰彇鏁版嵁闀垮害
+ var size = goodsData.length;
+ //鑾峰彇灏鹃〉椤电爜
+ var pages=size%pageSize==0?(size/pageSize):(Math.floor(size/pageSize)+1);
+
+ var currentData = cmp.get('v.currentData');
+
+ //鑾峰彇杈撳叆鐨剉alue鍊�
+ var key = document.getElementById('searchInput').value;
+ var tempDataList = [];
+
+ if(key){
+ for(var i = 0; i<goodsData.length; i++){
+ //鑾峰彇鎵�鏈塶ame涓虹鍙风殑input 鎵归噺鏇存柊
+ if(goodsData[i].CaseNumber__c == key){
+ tempDataList.push(data[i]);
+ }
+
+ }
+ //璁剧疆鍒嗛〉
+ var tempData = this.getTempData(tempDataList,pages,pageSize );
+ cmp.set('v.pageNumber', pages );
+ console.log('currentData1:'+currentData);
+ cmp.set('v.currentData',tempData);
+ cmp.set('v.goodsData',goodsData);
+ cmp.set('v.data',data);
+ cmp.set("v.isLastPage", this.isLastPage(tempDataList,tempData));
+ cmp.set("v.searchSize",tempDataList.length);
+
+
+ }else{
+ //鏄剧ず鍏ㄩ儴绠�
+ var tempData = this.getTempData(goodsData,pages,pageSize );
+ cmp.set('v.pageNumber', pages );
+ console.log('currentData1:'+currentData);
+ cmp.set('v.currentData',tempData);
+ cmp.set('v.goodsData',goodsData);
+ cmp.set('v.data',data);
+ cmp.set("v.isLastPage", this.isLastPage(goodsData,tempData));
+ cmp.set('v.searchSize', null);
+
+ }
+
+ // var tempData = this.getTempData(goodsData,pages,pageSize );
+ // cmp.set('v.pageNumber', pages );
+ // console.log('currentData1:'+currentData);
+ // cmp.set('v.currentData',tempData);
+ // cmp.set('v.data',data);
+ // cmp.set('v.goodsData',goodsData);
+ // cmp.set("v.isLastPage", this.isLastPage(goodsData,tempData));
+
+
+ },
+ // 鏄庣粏椤� table 涓嬩竴椤靛姛鑳藉疄鐜�
+ handleNext : function(cmp) {
+ var pageSize = cmp.get('v.pageSize');
+ var pageNumber = cmp.get('v.pageNumber');
+ var data = cmp.get('v.data');
+ var goodsData = cmp.get('v.goodsData');
+ var currentData = cmp.get('v.currentData');
+
+ //鑾峰彇杈撳叆鐨剉alue鍊�
+ var key = document.getElementById('searchInput').value;
+ var tempDataList = [];
+
+ if(key){
+ for(var i = 0; i<goodsData.length; i++){
+ //鑾峰彇鎵�鏈塶ame涓虹鍙风殑input 鎵归噺鏇存柊
+ if(goodsData[i].CaseNumber__c == key){
+ tempDataList.push(data[i]);
+ }
+
+ }
+ //璁剧疆鍒嗛〉
+ var tempData = this.getTempData(tempDataList,pageNumber + 1,pageSize );
+ cmp.set('v.pageNumber', pageNumber+1 );
+ console.log('currentData1:'+currentData);
+ cmp.set('v.currentData',tempData);
+ cmp.set('v.goodsData',goodsData);
+ cmp.set('v.data',data);
+ cmp.set("v.isLastPage", this.isLastPage(tempDataList,tempData));
+ cmp.set("v.searchSize",tempDataList.length);
+
+
+ }else{
+ //鏄剧ず鍏ㄩ儴绠�
+ var tempData = this.getTempData(goodsData,pageNumber + 1,pageSize );
+ cmp.set('v.pageNumber', pageNumber+1 );
+ console.log('currentData1:'+currentData);
+ cmp.set('v.currentData',tempData);
+ cmp.set('v.goodsData',goodsData);
+ cmp.set('v.data',data);
+ cmp.set("v.isLastPage", this.isLastPage(goodsData,tempData));
+ cmp.set('v.searchSize', null);
+
+ }
+
+ // var tempData = this.getTempData(goodsData,pageNumber + 1,pageSize );
+ // cmp.set('v.pageNumber', pageNumber+1 );
+ // cmp.set('v.currentData',tempData);
+ // cmp.set('v.data',data);
+ // cmp.set('v.goodsData',goodsData);
+ // cmp.set("v.isLastPage", this.isLastPage(goodsData,tempData));
+
+ },
+ // 鏄庣粏椤� table 涓婁竴椤靛姛鑳藉疄鐜�
+ handlePrev : function(cmp) {
+ var pageSize = cmp.get('v.pageSize');
+ var pageNumber = cmp.get('v.pageNumber');
+ var data = cmp.get('v.data');
+ var goodsData = cmp.get('v.goodsData');
+ var currentData = cmp.get('v.currentData');
+
+ //鑾峰彇杈撳叆鐨剉alue鍊�
+ var key = document.getElementById('searchInput').value;
+ var tempDataList = [];
+
+ if(key){
+ for(var i = 0; i<goodsData.length; i++){
+ //鑾峰彇鎵�鏈塶ame涓虹鍙风殑input 鎵归噺鏇存柊
+ if(goodsData[i].CaseNumber__c == key){
+ tempDataList.push(data[i]);
+ }
+
+ }
+ //璁剧疆鍒嗛〉
+ var tempData = this.getTempData(tempDataList,pageNumber - 1,pageSize );
+ console.log('currentData2:'+currentData);
+ cmp.set('v.pageNumber', pageNumber - 1 );
+ cmp.set('v.currentData',tempData);
+ cmp.set('v.goodsData', goodsData);
+ cmp.set('v.data',data);
+ cmp.set("v.isLastPage", this.isLastPage(tempDataList,tempData));
+ cmp.set("v.searchSize",tempDataList.length);
+
+
+ }else{
+ //鏄剧ず鍏ㄩ儴绠�
+ var tempData = this.getTempData(goodsData,pageNumber - 1,pageSize );
+ console.log('currentData2:'+currentData);
+ cmp.set('v.pageNumber', pageNumber - 1 );
+ cmp.set('v.currentData',tempData);
+ cmp.set('v.goodsData', goodsData);
+ cmp.set('v.data',data);
+ cmp.set("v.isLastPage", this.isLastPage(goodsData,tempData));
+ cmp.set('v.searchSize', null);
+
+ }
+
+
+ // var tempData = this.getTempData(goodsData,pageNumber - 1,pageSize );
+ // cmp.set('v.pageNumber', pageNumber - 1 );
+ // cmp.set('v.currentData',tempData);
+ // cmp.set('v.data',data);
+ // cmp.set('v.goodsData', goodsData);
+ // cmp.set("v.isLastPage", this.isLastPage(goodsData,tempData));
+ },
+ // 璁$畻骞惰繑鍥炲綋鍓嶉〉鐮佺殑鏁版嵁
+ getTempData: function(data, pageNumber,pageSize){
+ var tempData = data.slice((pageNumber-1) * pageSize,pageNumber * pageSize );
+ return tempData;
+ },
+ // 鍒ゆ柇褰撳墠椤垫槸鍚︽槸鏈�鍚庝竴椤�
+ isLastPage : function(data,tempData){
+ if(tempData.length == 0 ||
+ tempData[tempData.length-1].Id == data[data.length-1].Id ){
+ return true;
+ } else{
+ return false;
+ }
+ },
+ // 淇濆瓨鏇存敼鍐呭鍒板綋鍓嶆槑缁嗗唴瀹�
+ saveEdition: function (cmp, draftValues) {
+ if(!!draftValues && draftValues.length > 0){
+ var currentData = cmp.get('v.currentData');
+ for(var i = 0; i<currentData.length; i++){
+ for(var j = 0; j<draftValues.length; j++){
+ if(currentData[i].Id == draftValues[j].Id){
+ currentData[i].HPConfirmResult__c = draftValues[j].HPConfirmResult__c;
+ break;
+ }
+ }
+ }
+ cmp.set('v.currentData',currentData);
+ }
+ cmp.set('v.draftValues', []);
+ },
+ // 鏄庣粏椤电偣鍑讳笅涓�姝ヤ繚瀛樺綍鍏ヨ〃鏁版嵁鍒版暟鎹簱锛�
+ // 濡傛灉淇濆瓨鎴愬姛锛岃烦杞枃浠朵笂浼犻〉
+ // 濡傛灉淇濆瓨澶辫触锛屽脊鍑洪敊璇痶oast锛屼繚瀛樺湪褰撻〉
+ saveeSign : function (cmp){
+ var action = cmp.get("c.saveeSignFormEntry");
+ var data = cmp.get('v.data');
+ var eSignForm = cmp.get('v.eSignForm');
+ var IsSubmit = cmp.get('v.IsSubmit');
+ action.setParams({
+ 'eSignFormLineItems' : data,
+ 'eSignForm' : eSignForm,
+ 'entryType' : '鍖婚櫌纭',
+ 'IsSubmit' : IsSubmit
+ });
+ this.showSpinner(cmp);
+ action.setCallback(this,function(response) {
+ this.hideSpinner(cmp);
+ var state = response.getState();
+ if (state === "SUCCESS") {
+ var resultData = response.getReturnValue();
+ if( resultData.isSuccess == true ){
+ cmp.set('v.recordId',resultData.result);
+ cmp.set('v.parentId',resultData.result);
+
+ var spanList = document.getElementById("uploadFileDiv").getElementsByTagName("span");
+ if(spanList.size()>0){
+ spanList[2].innerText = '涓婁紶闄勪欢';
+ }
+ }
+ else{
+ cmp.set("v.errorMessage", resultData.result);
+ this.showErrorToast(cmp);
+ }
+ }else{
+ cmp.set("v.errorMessage", '淇濆瓨澶辫触锛岃閲嶆柊鍔犺浇锛�');
+ this.showErrorToast(cmp);
+ }
+
+ });
+ $A.enqueueAction(action);
+
+ },
+ hospitalDetailsPageNextClick : function(cmp) {
+ var check = cmp.get("v.check");
+ if(check){
+ if(confirm('璇峰啀娆$‘璁N鍙蜂笌鏀惰揣鍗曚綅涓庨殢璐у悓琛屽崟涓�鑷淬��')){
+ //闅愯棌鍒�
+ cmp.set('v.hideCheckboxColumn',true);
+ cmp.set('v.HomePageDisplay',false);
+ cmp.set('v.NextPageDisplay',true);
+ }
+ }else{
+ // if(confirm('璇峰嬀閫変笂杩板唴瀹瑰凡闃呰銆�')){
+
+ // }
+
+ alert('璇峰嬀閫変笂杩板唴瀹瑰凡闃呰銆�');
+ return;
+ }
+
+ },
+ submitClick : function(cmp){
+ // var IsHPShow = cmp.get('v.IsAgencyOrHPShow');
+ // var entryType = cmp.get('v.entryType');
+ // if(IsHPShow&&entryType == '鍖婚櫌纭'){
+ // alert('宸茬粡鎻愪氦鍖婚櫌纭淇℃伅锛屾偍鍙兘鏌ョ湅,涓嶈兘鎻愪氦锛�');
+ // }else{
+
+
+ //鍕鹃��
+ // cmp.set('v.IsSubmit', true);
+ //璁剧疆涓�涓猣lag鐢ㄤ簬閬垮厤鎻愪氦涓ゆ
+ this.saveeSign(cmp);
+ alert('纭瀹屾垚銆�');
+ cmp.set('v.handlingOpinionsPage',false);
+ cmp.set('v.uploadFilePage',true);
+
+ // cmp.set('v.AgencyClick', true);
+
+ // }
+
+
+
+ },
+ // 鏄庣粏涔熻烦杞嚦鏂囦欢涓婁紶椤甸�昏緫锛屽厛鎻愮ず鏄惁濉啓瀹屾瘯
+ handleDetailsPageNextClick : function(cmp,event) {
+ //瀛樹竴涓嬫绱㈡閲岀殑鍊� 涓嶇劧浼氳娓呮帀
+ var key = document.getElementById('searchInput').value;
+ cmp.set('v.searchCaseKey',key);
+ var AgencyClick = cmp.get('v.AgencyClick');
+
+ // if(confirm('璇风‘璁ゆ槸鍚︿繚瀛樼‘璁ょ粨鏋滐紵')){
+ // this.saveeSign(cmp);
+ cmp.set('v.NextPageDisplay',false);
+ // cmp.set('v.uploadFilePage',true);
+ cmp.set('v.handlingOpinionsPage',true);
+ // }
+
+
+ },
+ //杩斿洖棣栭〉
+ handleShowPageNextClick : function(cmp) {
+ cmp.set('v.HomePageDisplay',true);
+ cmp.set('v.NextPageDisplay',false);
+ },
+ //杩斿洖鏄庣粏椤�
+ handleShowFielePageNextClick : function(cmp) {
+ cmp.set('v.NextPageDisplay',true);
+ cmp.set('v.uploadFilePage',false);
+ },
+ //寮瑰嚭 鎴愬姛鎻愮ずtoast 鏂规硶
+ showSuccessToast : function(cmp) {
+ $A.util.removeClass(cmp.find('successDiv'), 'slds-hide');
+ window.setTimeout($A.getCallback(function() {
+ $A.util.addClass(cmp.find('successDiv'), 'slds-hide');
+ }),
+ 5000
+ );
+ },
+ //寮瑰嚭 閿欒鎻愮ずtoast 鏂规硶
+ showErrorToast : function(cmp) {
+ const width = document.documentElement.clientWidth;
+ const contentDOM1 = document.getElementById('errorSonDiv1');
+ contentDOM1.style.width = width*0.6 + 'px';
+ const contentDOM2 = document.getElementById('errorSonDiv2');
+ contentDOM2.style.width = width*0.38 + 'px';
+ contentDOM2.style.height = '4rem';
+ const contentDOM3 =document.getElementById('errorSonDiv3');
+ contentDOM3.style.width = width-150 + 'px';
+ $A.util.removeClass(cmp.find('errorDiv'), 'slds-hide');
+ window.setTimeout($A.getCallback(function() {
+ $A.util.addClass(cmp.find('errorDiv'), 'slds-hide');
+ }),
+ 5000
+ );
+ },
+ // 灞曠ず 绛夊緟妗�
+ showSpinner: function(cmp) {
+ // remove slds-hide class from mySpinner
+ var spinner = cmp.find("mySpinner");
+ $A.util.removeClass(spinner, "slds-hide");
+ },
+ // 闅愯棌 绛夊緟妗�
+ hideSpinner : function(cmp){
+ // add slds-hide class from mySpinner
+ var spinner = cmp.find("mySpinner");
+ $A.util.addClass(spinner, "slds-hide");
+ },
+ //杩斿洖鏄庣粏椤�
+ handleShowFielePageNextClick : function(cmp) {
+
+ cmp.set('v.NextPageDisplay',true);
+ cmp.set('v.uploadFilePage',false);
+ //闅愯棌鍒�
+ cmp.set('v.hideCheckboxColumn',true);
+ },
+ //杩斿洖棣栭〉
+ handleShowPageNextClick : function(cmp) {
+ cmp.set('v.HomePageDisplay',true);
+ cmp.set('v.NextPageDisplay',false);
+ },
+ GoodsChanged:function(cmp){
+ var currentData = cmp.get('v.currentData');
+ for(var i = 0; i<currentData.length; i++){
+ //鑾峰彇id
+ var id = currentData[i].Id;
+ //鑾峰彇椤甸潰涓婄殑纭缁撴灉
+ var confirmResult = document.getElementById(id).value;
+ currentData[i].HPConfirmResult__c =confirmResult;
+ //璁剧疆鎵撳嬀鏍峰紡
+ var idx = id+i;
+ // document.getElementById(idx).style.display = '';
+ // document.getElementById(id).style.border = 'hidden';
+
+ }
+ cmp.set('v.currentData',currentData);
+ },//涓婚〉璺抽椤�
+ BackToHomePage : function(cmp, event, helper){
+ if(confirm('纭鍥炲埌棣栭〉鍚楋紵')){
+ // var messageEvent = cmp.getEvent('componentEvent');
+ // messageEvent.setParam('DNName',cmp.get('v.DNName'));
+ // messageEvent.setParam('IsAgencyShow',cmp.get('v.IsAgencyShow'));
+
+ // messageEvent.fire();
+ cmp.set("v.HomePage", false);
+ cmp.set("v.handlingOpinionsPage", false);
+ cmp.set("v.uploadFilePage", false);
+ cmp.set("v.HomePageDisplay", true);
+
+ }
+
+
+ // helper.BackToHomePage(cmp);
+ },
+ //鏄庣粏椤� 閫傜敤鎸夐挳 鏍规嵁绠卞彿鍒掑垎鏁扮粍data
+ //鈶犲綋鍓嶉〉闈s璧嬪��
+ //鈶″悗鍙癲ata鏁版嵁瀹為檯淇敼鍊�
+ BatchUpdateByCase : function(cmp, event){
+ //鑾峰彇鎸夐挳涓睘鎬ame == 鑾峰彇鍙傛暟 绠卞彿
+ var caseNumber = event.target.name;
+ //鑾峰彇鎸夐挳涓殑灞炴�� id == 鑾峰彇鍙傛暟 id
+ var idx = event.target.id;
+ //鎷兼帴 璐х墿鎯呭喌鐨刬d
+ var goodId = idx+caseNumber;
+ //鑾峰彇杩欎竴绠辩涓�涓殑鐨勮揣鐗╂儏鍐�
+ var goodStatus = document.getElementById(goodId).value;
+
+ var data = cmp.get('v.data');
+
+ for(var i = 0; i<data.length; i++){
+ //鑾峰彇鎵�鏈塶ame涓虹鍙风殑input 鎵归噺鏇存柊
+ if(data[i].CaseNumber__c == caseNumber){
+ data[i].HPGoodStatus__c = goodStatus;
+ }
+
+ }
+ //鍚庡彴data鍙樹簡 浣嗛〉闈笉鑳藉強鏃跺彉
+ cmp.set('v.data',data);
+
+ //鑾峰彇鍒嗛〉鐨勮椤圭洰 鍒╃敤value璧嬪�� 鍙婃椂鍙�
+ var currentData = cmp.get('v.currentData');
+ for(var j = 0; j<currentData.length; j++){
+ if(currentData[j].CaseNumber__c == caseNumber){
+ //鎷兼帴id
+ var id = currentData[j].Id+':'+j+':'+currentData[j].CaseNumber__c;
+ document.getElementById(id).value =currentData[j].HPGoodStatus__c ;
+ id = '';
+ }else{
+ //閬垮厤褰卞搷鍏朵粬鍏朵粬鍒椾慨鏀�
+
+ //鑾峰彇id
+ var idx = currentData[j].Id+':'+j+':'+currentData[j].CaseNumber__c;
+ //鑾峰彇椤甸潰涓婄殑璐х墿鎯呭喌
+ var goodStatus = document.getElementById(idx).value;
+ currentData[j].HPGoodStatus__c =goodStatus;
+ }
+
+ }
+ //鏈�鍚庢洿鏂板悗鍙癲ata
+ cmp.set('v.currentData',currentData);
+ //褰撶偣鍑婚�傜敤鎸夐挳浠ュ悗锛岄〉闈笂鏄剧ず鍏ㄩ儴閫傜敤鎸夐挳
+ cmp.set('v.applyButton', false);
+ cmp.set('v.allApplyButton', true);
+
+ },
+ //鏄庣粏椤� 鍏ㄩ儴閫傜敤鎸夐挳 鏍规嵁绠卞彿鍒掑垎鏁扮粍data
+ //鈶犲綋鍓嶉〉闈s璧嬪��
+ //鈶″悗鍙癲ata鏁版嵁瀹為檯淇敼鍊�
+ allBatchUpdateByCase : function(cmp,event){
+ //鑾峰彇鎸夐挳涓睘鎬ame == 鑾峰彇鍙傛暟 绠卞彿
+ var caseNumber = event.target.name;
+ //鑾峰彇鎸夐挳涓殑灞炴�� id == 鑾峰彇鍙傛暟 id
+ var idx = event.target.id;
+ //鎷兼帴 璐х墿鎯呭喌鐨刬d
+ var goodId = idx+caseNumber;
+ //鑾峰彇杩欎竴绠辩涓�涓殑鐨勮揣鐗╂儏鍐�
+ var goodStatus = document.getElementById(goodId).value;
+
+ var data = cmp.get('v.data');
+
+ for(var i = 0; i<data.length; i++){
+ //鍏ㄩ儴鏇存柊鎴� 涓婅堪value鍊肩殑璐х墿鎯呭喌
+
+ data[i].HPGoodStatus__c = goodStatus;
+
+
+ }
+ //鍚庡彴data鍙樹簡 浣嗛〉闈笉鑳藉強鏃跺彉
+ cmp.set('v.data',data);
+
+ //鑾峰彇鍒嗛〉鐨勮椤圭洰 鍒╃敤value璧嬪�� 鍙婃椂鍙�
+ var currentData = cmp.get('v.currentData');
+ for(var j = 0; j<currentData.length; j++){
+
+ //鎷兼帴id
+ var id = currentData[j].Id+':'+j+':'+currentData[j].CaseNumber__c;
+ document.getElementById(id).value =currentData[j].HPGoodStatus__c ;
+ id = '';
+
+
+ }
+ //鏈�鍚庢洿鏂板悗鍙癲ata
+ cmp.set('v.currentData',currentData);
+
+ },
+ //椤甸潰涓婃绱㈠姛鑳�
+ searchByCaseNumber :function(cmp,event){
+ //鑾峰彇杈撳叆鐨剉alue鍊�
+ var key = document.getElementById('searchInput').value;
+ var data = cmp.get("v.goodsData");
+ //瀹氫箟涓�涓┖鏁扮粍 鐢ㄤ簬瀛樻斁鎸夌鍒嗙被鍚庣殑data
+ var tempDataList = [];
+
+ var pageSize = cmp.get('v.pageSize');
+ //鍒ゆ柇鎼滅储妗嗗唴鏄惁鏈夊��
+ if(key){
+ cmp.set('v.searchFlag',true);
+ for(var i = 0; i<data.length; i++){
+ //鑾峰彇鎵�鏈塶ame涓虹鍙风殑input 鎵归噺鏇存柊
+ if(data[i].CaseNumber__c == key){
+ tempDataList.push(data[i]);
+ }
+
+ }
+ //璁剧疆鍒嗛〉
+ var tempData = this.getTempData(tempDataList, 1,pageSize);
+ cmp.set("v.isLastPage", this.isLastPage(tempDataList,tempData));
+ cmp.set("v.dataSize", tempData.length);
+ cmp.set("v.currentData", tempData);
+ cmp.set('v.pageNumber', 1);
+ cmp.set("v.searchSize",tempDataList.length);
+
+ }else{
+ cmp.set('v.searchFlag',false);
+ //鏄剧ず鍏ㄩ儴绠�
+ var data = cmp.get('v.data');
+ var tempData = this.getTempData(data, 1,pageSize);
+ cmp.set("v.isLastPage", this.isLastPage(data,tempData));
+ cmp.set("v.dataSize", tempData.length);
+ cmp.set("v.currentData", tempData);
+ cmp.set('v.pageNumber', 1);
+ cmp.set('v.searchSize', null);
+
+ }
+
+
+ },
+ MAX_FILE_SIZE: 4608000, //Max file size 4.5 MB
+ CHUNK_SIZE: 750000, //Chunk Max size 750Kb
+ uploadHelper: function(component, event) {
+ // start/show the loading spinner
+ component.set("v.showLoadingSpinner", true);
+ // get the selected files using aura:id [return array of files]
+ var fileInput = component.find("fileId").get("v.files");
+ // get the first file using array index[0]
+ var file = fileInput[0];
+ //var test = this.compress(file);
+ var self = this;
+ var pdf =file.type;
+ //澧炲姞鍙互涓婁紶鐨勫浘鐗囩被鍨� 绮剧悽鎶�鏈� thh 2021-09-13
+ if(pdf =='image/jpeg' || pdf =='image/png'){
+ // create a FileReader object
+ var objFileReader = new FileReader();
+ // set onload function of FileReader object
+ objFileReader.onload = $A.getCallback(function() {
+ var image = new Image();
+ image.src = objFileReader.result;
+ var fileContents = objFileReader.result;
+ image.onload = function() {
+ var maxSize;
+ var imgWidth ;
+ var imgHeight ;
+ //鍥剧墖灏忎簬300k鍒欎笉鍘嬬缉
+ if(file.size >0 && file.size <307200){
+ imgWidth = this.width;
+ imgHeight = this.height;
+ }else{
+ if(Math.sqrt(this.width*this.height)/Math.sqrt(2) >1200){
+ maxSize = 1200;
+ } else {
+ maxSize =Math.sqrt(this.width*this.height)/Math.sqrt(2);
+ }
+ var imgScale = self.imgScaleW(maxSize,this.width,this.height);
+ imgWidth = imgScale.width,
+ imgHeight = imgScale.height;
+ }
+
+ var canvas = document.createElement("canvas");
+ var ctx = canvas.getContext("2d");
+
+ canvas.width = imgWidth;
+ canvas.height = imgHeight;
+
+ ctx.drawImage(this, 0, 0, imgWidth, imgHeight);
+ //澧炲姞鍙互涓婁紶鐨勫浘鐗囩被鍨� 绮剧悽鎶�鏈� thh 2021-09-13 start
+ if(pdf =='image/jpeg' ){
+ fileContents = canvas.toDataURL("image/jpeg", 0.9);
+ }else if(pdf =='image/png'){
+ fileContents = canvas.toDataURL("image/png", 0.9);
+ }
+ //澧炲姞鍙互涓婁紶鐨勫浘鐗囩被鍨� 绮剧悽鎶�鏈� thh 2021-09-13 end
+ var base64 = "base64,";
+ var dataStart = fileContents.indexOf(base64) + base64.length;
+
+ fileContents = fileContents.substring(dataStart);
+ // call the uploadProcess method
+ self.uploadProcess(component, file, fileContents);
+ };
+ });
+ }else{
+ //event
+ var objFileReader = new FileReader();
+ // set onload function of FileReader object
+ objFileReader.onload = $A.getCallback(function() {
+
+ var fileContents = objFileReader.result;
+ var base64 = "base64,";
+ var dataStart = fileContents.indexOf(base64) + base64.length;
+
+ if (fileContents.length > 4608000) {
+ component.set("v.showLoadingSpinner", false);
+ alert("鎻愰啋锛屾枃浠跺帇缂╁ぇ灏忎笉鑳借秴杩�4.5M,璇烽噸鏂颁笂浼犮��");
+ return;
+ } else{
+ fileContents = fileContents.substring(dataStart);
+ // call the uploadProcess method
+ self.uploadProcess(component, file, fileContents);
+ }
+ });
+ }
+ objFileReader.readAsDataURL(file);
+ },
+
+ uploadProcess: function(component, file, fileContents) {
+ // set a default size or startpostiton as 0
+ var startPosition = 0;
+ // calculate the end size or endPostion using Math.min() function which is return the min. value
+ var endPosition = Math.min(
+ fileContents.length,
+ startPosition + this.CHUNK_SIZE
+ );
+ // start with the initial chunk, and set the attachId(last parameter)is null in begin
+ this.uploadInChunk(
+ component,
+ file,
+ fileContents,
+ startPosition,
+ endPosition,
+ ""
+ );
+ },
+
+ uploadInChunk: function(
+ component,
+ file,
+ fileContents,
+ startPosition,
+ endPosition,
+ attachId
+ ) {
+ // call the apex method 'saveChunk'
+ var getchunk = fileContents.substring(startPosition, endPosition);
+ //澧炲姞鏂囦欢鍒楄〃鍒犻櫎鍔熻兘聽聽绮剧悽鎶�鏈爐hh聽2021-08-31聽start
+ //鎶婂帇缂╁畬鐨剆rc鍜屾枃浠跺悕瀛樺叆map
+ var filesrc = component.get("v.FileSrc");
+ var emptyflag = true;
+ for(var key in filesrc) {
+ var emptyflag = false;
+ }
+ if(emptyflag){
+ filesrc[file.name] = getchunk;
+ } else {
+ for(var key in filesrc){
+ if(key == file.name){
+ filesrc[file.name] = filesrc[file.name] + getchunk;
+ }else {
+ filesrc[file.name] = getchunk;
+ console.log('filesrc锛�'+filesrc);
+ }
+ }
+ }
+ component.set('v.FileSrc', filesrc);
+ //澧炲姞鏂囦欢鍒楄〃鍒犻櫎鍔熻兘聽聽绮剧悽鎶�鏈爐hh聽2021-09-01 end
+ var baseFile = component.get("v.baseFile");
+ var base64List = component.get("v.base64List");
+ //鐢ㄤ簬鍒ゆ柇涓婁紶鍚屼竴涓枃浠舵彁绀�
+ var messageFlag = component.get("v.messageFlag");
+ //鍒ゆ柇鏄惁鍑虹幇杩囩綉缁滀笉濂斤紝涓婁紶澶辫触鐨勬儏鍐�
+ var errorFlag = component.get("v.errorFlag");
+ if(!base64List){
+ if(baseFile != getchunk){
+ //鐢ㄤ簬鍒ゆ柇涓婁紶鍚屼竴涓枃浠舵彁绀�
+ component.set("v.messageFlag",false);
+ messageFlag = component.get("v.messageFlag");
+ var action = component.get("c.saveChunk");
+ action.setParams({
+ parentId: component.get("v.parentId"),
+ fileName: file.name,
+ base64Data: encodeURIComponent(getchunk),
+ contentType: file.type,
+ fileId: attachId
+ });
+ // set call back
+ action.setCallback(this, function(response) {
+ // store the response / Attachment Id
+ attachId = response.getReturnValue();
+ //澧炲姞鏂囦欢鍒楄〃鍒犻櫎鍔熻兘聽聽绮剧悽鎶�鏈爐hh聽2021-09-02聽start
+ //鍏宠仈闄勪欢ID鍜岄檮浠跺悕
+ var attachmentID = component.get("v.attachmentID");
+ attachmentID[file.name] = attachId;
+ component.set("v.attachmentID", attachmentID);
+ //澧炲姞鏂囦欢鍒楄〃鍒犻櫎鍔熻兘聽聽绮剧悽鎶�鏈爐hh聽2021-09-02聽end
+ var state = response.getState();
+ if (state === "SUCCESS") {
+ // update the start position with end postion
+ startPosition = endPosition;
+ endPosition = Math.min(
+ fileContents.length,
+ startPosition + this.CHUNK_SIZE
+ );
+ // check if the start postion is still less then end postion
+ // then call again 'uploadInChunk' method ,
+ // else, diaply alert msg and hide the loading spinner
+ if (startPosition < endPosition) {
+ this.uploadInChunk(
+ component,
+ file,
+ fileContents,
+ startPosition,
+ endPosition,
+ attachId
+ );
+ } else {
+ //鍒ゆ柇涓婁紶鏂囦欢鍐呭 鎻愮ず涓�娆′俊鎭�
+ var base = component.get("v.getchunk");
+ if(!base || (base&&base!=getchunk)){
+ // alert("鎮ㄥ凡缁忔垚鍔熶笂浼犳枃浠躲��");
+ component.set("v.getchunk", getchunk);
+ }
+
+ alert("鎮ㄥ凡缁忔垚鍔熶笂浼犳枃浠躲�俓n璇风偣鍑绘彁浜ゅ悗閫�鍑恒��");
+ //鐢ㄤ簬鎻愪氦鎸夐挳鍒ゆ柇鏄惁鏈夊凡涓婁紶鐨勬枃浠�
+ component.set('v.IsUpLoad',true);
+ //鐢ㄤ簬鍒ゆ柇涓婁紶鍚屼竴涓枃浠舵彁绀�
+ component.set("v.messageFlag",true);
+ messageFlag =component.get("v.messageFlag");
+ component.set("v.showLoadingSpinner", false);
+ //鏍囪瘑棰勮鍥剧墖鍚嶅瓧 绮剧悽鎶�鏈� thh 2021-09-15 start
+ var isUploadName = component.get("v.isUploadName");
+ var fileName = component.find("fileId").get("v.files")[0]['name'];
+ if(isUploadName[fileName]) {
+ var str = '<span>褰撳墠鏂囦欢锛�</span><span id="nowfile" class="field-title" style="color:Green;" title="' + fileName + '">' + fileName + '</span>';
+ document.getElementById("uploadicon").style.display = 'inline-block';
+ } else{
+ var str = '<span>褰撳墠鏂囦欢锛�</span><span id="nowfile" class="field-title" style="color:Gray;" title="' + fileName + '">' + fileName + '</span>';
+ document.getElementById("uploadicon").style.display = 'none';
+ }
+ var obj = document.getElementById('filenow');
+ obj.innerHTML = str;
+ //鏍囪瘑棰勮鍥剧墖鍚嶅瓧 绮剧悽鎶�鏈� thh 2021-09-15 end
+ //涓婁紶鎴愬姛鍚庢枃浠跺垪琛ㄧ殑鏂囦欢鍚嶅彉鑹� 绮剧悽鎶�鏈� thh 2021-09-26 start
+ var count = component.get("v.fileUpLoadSize");
+ var fileName = component.get("v.flUpLoadName");
+ if (count > 0) {
+ //鍒楀嚭鏂囦欢鍚�01 鎵�鏈夋枃浠跺悕閮界敤閫楀彿闅斿紑 鏍规嵁閫楀彿鎷嗗垎锛屽瓨鏀炬暟缁�
+ var nameList = fileName.split(',');
+ for (var i = 0; i < nameList.length; i++) {
+ for (var j = i + 1; j < nameList.length; j++) {
+ if (nameList[i] == nameList[j]) { //绗竴涓瓑鍚屼簬绗簩涓紝splice鏂规硶鍒犻櫎绗簩涓�
+ nameList.splice(j, 1);
+ j--;
+ }
+ }
+ }
+ //瀛樻斁鍒板彉閲忎腑 鐢ㄤ簬涓婁竴椤典笅涓�椤佃繛鐐�
+ component.set('v.nameUpLoadList', nameList);
+ //閲嶆柊瀹氫箟閫変腑鏂囦欢鐨勬暟閲�
+ component.set('v.fileSize', nameList.length);
+ console.log("nameList:" + component.get('v.nameUpLoadList'));
+ var isUploadName = component.get("v.isUploadName");
+ if (nameList.length > 0) {
+ var strList = '';
+ for (var i = 0; i < nameList.length; i++) {
+ var num = Number(i) + 1;
+ var id = 'file0' + num;
+ //鏍囪瘑鏂囦欢鏄惁宸茬粡涓婁紶 绮剧悽鎶�鏈� thh 2021-09-26 start
+ if(isUploadName[nameList[i]]) {
+ var str = '<button id="' + id + '" class="slds-button" title="Field 3" style="text-align:left;width:250px;font-weight:bold;font-size: 15px;color:Green;" name="' + nameList[i] + '">' + nameList[i] + '</button><br>';
+ } else{
+ var str = '<button id="' + id + '" class="slds-button" title="Field 3" style="text-align:left;width:250px;font-weight:bold;font-size: 15px;color:Gray;" name="' + nameList[i] + '">' + nameList[i] + '</button><br>';
+ }
+ //鏍囪瘑鏂囦欢鏄惁宸茬粡涓婁紶 绮剧悽鎶�鏈� thh 2021-09-26 end
+ //鎷兼帴p鏍囩 鍒楀嚭鏂囦欢鍚峣d涓嶅悓
+ strList += str;
+ }
+ var obj = document.getElementById('file00');
+ obj.innerHTML = strList;
+ }
+ }
+ //涓婁紶鎴愬姛鍚庢枃浠跺垪琛ㄧ殑鏂囦欢鍚嶅彉鑹� 绮剧悽鎶�鏈� thh 2021-09-26 end
+ }
+ // handel the response errors
+ } else if (state === "INCOMPLETE") {
+ alert("From server: " + response.getReturnValue());
+ component.set("v.showLoadingSpinner", false);
+ component.set("v.errorFlag", true);
+
+ } else if (state === "ERROR") {
+ var errors = response.getError();
+ component.set("v.showLoadingSpinner", false);
+ component.set("v.errorFlag", true);
+ if (errors) {
+ if (errors[0] && errors[0].message) {
+ console.log("Error message: " + errors[0].message);
+ }
+ } else {
+ console.log("Unknown error");
+ }
+ }
+ });
+ // enqueue the action
+ $A.enqueueAction(action);
+
+ }
+
+ }
+ else if(!base64List.includes(getchunk) || (base64List.includes(getchunk)&&errorFlag)){
+ //缃戠粶娉㈠姩杩涙潵浠ュ悗 缃垚false
+ component.set("v.errorFlag", false);
+ //鐢ㄤ簬鍒ゆ柇涓婁紶鍚屼竴涓枃浠舵彁绀�
+ component.set("v.messageFlag",false);
+ messageFlag = component.get("v.messageFlag");
+ var action = component.get("c.saveChunk");
+ action.setParams({
+ parentId: component.get("v.parentId"),
+ fileName: file.name,
+ base64Data: encodeURIComponent(getchunk),
+ contentType: file.type,
+ fileId: attachId
+ });
+
+ // set call back
+ action.setCallback(this, function(response) {
+ // store the response / Attachment Id
+ attachId = response.getReturnValue();
+ //澧炲姞鏂囦欢鍒楄〃鍒犻櫎鍔熻兘聽聽绮剧悽鎶�鏈爐hh聽2021-09-02聽start
+ //鍏宠仈闄勪欢ID鍜岄檮浠跺悕
+ var attachmentID = component.get("v.attachmentID");
+ attachmentID[file.name] = attachId;
+ component.set("v.attachmentID", attachmentID);
+ //澧炲姞鏂囦欢鍒楄〃鍒犻櫎鍔熻兘聽聽绮剧悽鎶�鏈爐hh聽2021-09-02聽end
+ var state = response.getState();
+ if (state === "SUCCESS") {
+ // update the start position with end postion
+ startPosition = endPosition;
+ endPosition = Math.min(
+ fileContents.length,
+ startPosition + this.CHUNK_SIZE
+ );
+ // check if the start postion is still less then end postion
+ // then call again 'uploadInChunk' method ,
+ // else, diaply alert msg and hide the loading spinner
+ if (startPosition < endPosition) {
+ this.uploadInChunk(
+ component,
+ file,
+ fileContents,
+ startPosition,
+ endPosition,
+ attachId
+ );
+ } else {
+ //鍒ゆ柇涓婁紶鏂囦欢鍐呭 鎻愮ず涓�娆′俊鎭�
+ var base = component.get("v.getchunk");
+ if(!base || (base&&base!=getchunk)){
+ // alert("鎮ㄥ凡缁忔垚鍔熶笂浼犳枃浠躲��");
+ component.set("v.getchunk",getchunk );
+ }
+ alert("鎮ㄥ凡缁忔垚鍔熶笂浼犳枃浠躲�俓n璇风偣鍑绘彁浜ゅ悗閫�鍑恒��");
+ //鐢ㄤ簬鎻愪氦鎸夐挳鍒ゆ柇鏄惁鏈夊凡涓婁紶鐨勬枃浠�
+ component.set('v.IsUpLoad',true);
+ //鐢ㄤ簬鍒ゆ柇涓婁紶鍚屼竴涓枃浠舵彁绀�
+ component.set("v.messageFlag",true);
+ messageFlag =component.get("v.messageFlag");
+ component.set("v.showLoadingSpinner", false);
+ //鏍囪瘑棰勮鍥剧墖鍚嶅瓧 绮剧悽鎶�鏈� thh 2021-09-15 start
+ var isUploadName = component.get("v.isUploadName");
+ var fileName = component.find("fileId").get("v.files")[0]['name'];
+ if(isUploadName[fileName]) {
+ var str = '<span>褰撳墠鏂囦欢锛�</span><span id="nowfile" class="field-title" style="color:Green;" title="' + fileName + '">' + fileName + '</span>';
+ document.getElementById("uploadicon").style.display = 'inline-block';
+ } else{
+ var str = '<span>褰撳墠鏂囦欢锛�</span><span id="nowfile" class="field-title" style="color:Gray;" title="' + fileName + '">' + fileName + '</span>';
+ document.getElementById("uploadicon").style.display = 'none';
+ }
+ var obj = document.getElementById('filenow');
+ obj.innerHTML = str;
+ //鏍囪瘑棰勮鍥剧墖鍚嶅瓧 绮剧悽鎶�鏈� thh 2021-09-15 end
+ //涓婁紶鎴愬姛鍚庢枃浠跺垪琛ㄧ殑鏂囦欢鍚嶅彉鑹� 绮剧悽鎶�鏈� thh 2021-09-26 start
+ var count = component.get("v.fileUpLoadSize");
+ var fileName = component.get("v.flUpLoadName");
+ if (count > 0) {
+ //鍒楀嚭鏂囦欢鍚�01 鎵�鏈夋枃浠跺悕閮界敤閫楀彿闅斿紑 鏍规嵁閫楀彿鎷嗗垎锛屽瓨鏀炬暟缁�
+ var nameList = fileName.split(',');
+ for (var i = 0; i < nameList.length; i++) {
+ for (var j = i + 1; j < nameList.length; j++) {
+ if (nameList[i] == nameList[j]) { //绗竴涓瓑鍚屼簬绗簩涓紝splice鏂规硶鍒犻櫎绗簩涓�
+ nameList.splice(j, 1);
+ j--;
+ }
+ }
+ }
+ //瀛樻斁鍒板彉閲忎腑 鐢ㄤ簬涓婁竴椤典笅涓�椤佃繛鐐�
+ component.set('v.nameUpLoadList', nameList);
+ //閲嶆柊瀹氫箟閫変腑鏂囦欢鐨勬暟閲�
+ component.set('v.fileSize', nameList.length);
+ console.log("nameList:" + component.get('v.nameUpLoadList'));
+ var isUploadName = component.get("v.isUploadName");
+ if (nameList.length > 0) {
+ var strList = '';
+ for (var i = 0; i < nameList.length; i++) {
+ var num = Number(i) + 1;
+ var id = 'file0' + num;
+ //鏍囪瘑鏂囦欢鏄惁宸茬粡涓婁紶 绮剧悽鎶�鏈� thh 2021-09-26 start
+ if(isUploadName[nameList[i]]) {
+ var str = '<button id="' + id + '" class="slds-button" title="Field 3" style="text-align:left;width:250px;font-weight:bold;font-size: 15px;color:Green;" name="' + nameList[i] + '">' + nameList[i] + '</button><br>';
+ } else{
+ var str = '<button id="' + id + '" class="slds-button" title="Field 3" style="text-align:left;width:250px;font-weight:bold;font-size: 15px;color:Gray;" name="' + nameList[i] + '">' + nameList[i] + '</button><br>';
+ }
+ //鏍囪瘑鏂囦欢鏄惁宸茬粡涓婁紶 绮剧悽鎶�鏈� thh 2021-09-26 end
+ //鎷兼帴p鏍囩 鍒楀嚭鏂囦欢鍚峣d涓嶅悓
+ strList += str;
+ }
+ var obj = document.getElementById('file00');
+ obj.innerHTML = strList;
+ }
+ }
+ //涓婁紶鎴愬姛鍚庢枃浠跺垪琛ㄧ殑鏂囦欢鍚嶅彉鑹� 绮剧悽鎶�鏈� thh 2021-09-26 end
+ }
+ // handel the response errors
+ } else if (state === "INCOMPLETE") {
+ alert("From server: " + response.getReturnValue());
+ component.set("v.showLoadingSpinner", false);
+ component.set("v.errorFlag", true);
+ } else if (state === "ERROR") {
+ var errors = response.getError();
+ component.set("v.showLoadingSpinner", false);
+ component.set("v.errorFlag", true);
+ if (errors) {
+ if (errors[0] && errors[0].message) {
+ console.log("Error message: " + errors[0].message);
+ }
+ } else {
+ console.log("Unknown error");
+ }
+ }
+ });
+ // enqueue the action
+ $A.enqueueAction(action);
+ }else{
+ if(messageFlag){
+ alert("鎮ㄥ凡缁忎笂浼犺繃璇ユ枃浠朵簡锛�")
+ component.set("v.showLoadingSpinner", false);
+ }
+
+ }
+ //瀛樻斁涓婁紶杩囩殑鏂囦欢base64 鏁扮粍
+ var baseFile = component.get("v.baseFile");
+ var base64List = component.get("v.base64List");
+ if(baseFile){
+ component.set('v.baseFile',baseFile+','+getchunk);
+ // nameList.pust(name);
+ }else{
+ component.set('v.baseFile',getchunk);
+ }
+ baseFile = component.get("v.baseFile");
+ var base64List =baseFile.split(',');
+ component.set("v.base64List",base64List);
+ // component.set("v.showLoadingSpinner", false);
+ // baseFile = getchunk;
+
+ },
+ /**
+ * 鍥剧墖鍘嬬缉
+ * @param maxWidth 鏈�澶у搴︽垨鏈�澶ч珮搴�
+ * @param width 瀹藉害
+ * @param height 楂樺害
+ * @returns {___anonymous1968_1969}
+ */
+imgScaleW:function(maxWidth,width,height){
+ var imgScale = {};
+ var w = 0;
+ var h = 0;
+ if(width <= maxWidth && height <= maxWidth){ // 濡傛灉鍥剧墖瀹介珮閮藉皬浜庨檺鍒剁殑鏈�澶у��,涓嶇敤缂╂斁
+ imgScale = {
+ width:width,
+ height:height
+ };
+ }else{
+ if(width >= height){ // 濡傛灉鍥剧墖瀹藉ぇ浜庨珮
+ w = maxWidth;
+ h = Math.ceil(maxWidth * height / width);
+ }else{ // 濡傛灉鍥剧墖楂樺ぇ浜庡
+ h = maxWidth;
+ w = Math.ceil(maxWidth * width / height);
+ }
+ imgScale = {
+ width:w,
+ height:h
+ };
+ }
+ return imgScale;
+},
+DrawImage1:function(maxWidth,width,height){
+ var imgScale = {};
+ var w = 0;
+ var h = 0;
+ if (width > 0 && height > 0) {
+ if (width / height >= 1) {
+ if (width > maxWidth) {
+
+ imgScale = {
+ width:maxWidth,
+ height:(height * maxWidth) / width
+ };
+ } else {
+ imgScale = {
+ width:width,
+ height:height
+ };
+ }
+ } else {
+ if (height > maxWidth) {
+ imgScale = {
+ width:maxWidth,
+ height:(width * maxWidth) / height
+ };
+ } else {
+ imgScale = {
+ width:width,
+ height:height
+ };
+ }
+ }
+ }
+
+ return imgScale;
+},
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/eSignHospitalConfirmReadOnlyPage/eSignHospitalConfirmReadOnlyPage.cmp b/force-app/main/default/aura/eSignHospitalConfirmReadOnlyPage/eSignHospitalConfirmReadOnlyPage.cmp
new file mode 100644
index 0000000..cccdc15
--- /dev/null
+++ b/force-app/main/default/aura/eSignHospitalConfirmReadOnlyPage/eSignHospitalConfirmReadOnlyPage.cmp
@@ -0,0 +1,619 @@
+<aura:component implements="force:appHostable,flexipage:availableForAllPageTypes"
+ access="global" controller="eSignHospitalConfirmController">
+ <aura:attribute name="DNName" type="String"
+ description="鐢ㄦ潵浠庣埗瀵硅薄鎺ユ敹浼犻�掕繃鏉ョ殑DN鍙�"
+ default=""/>
+ <aura:attribute name="allWidth" type="String"
+ description="鐢ㄦ潵浠庣埗瀵硅薄鎺ユ敹浼犻�掕繃鏉ョ殑灞忓箷瀹藉害"
+ default=""/>
+ <aura:attribute name="floatWidth" type="String"
+ description="鐢ㄦ潵浠庣埗瀵硅薄鎺ユ敹浼犻�掕繃鏉ョ殑灞忓箷瀹藉害"
+ default=""/>
+
+ <aura:attribute name="DNSignUpStatus" type="string" default=""
+ description="鐢ㄦ潵浼犵鏀跺崟鐘舵�佺殑锛屼絾鏄湅鏉ユ病鍟ョ敤浼肩殑"/>
+ <aura:attribute name="IsSubmit" type="boolean" default="true"
+ description="鍒ゆ柇鏄惁褰曞叆琛ㄩ渶瑕佹彁浜�"/>
+ <aura:attribute name="hideCheckboxColumn" type="boolean" default="true"
+ description="鍥犱负鐐逛笂涓�椤电殑鏃跺�欎笉鐭ラ亾涓轰粈涔堢疆鎴恌alse浜嗘墍浠ョ敤鍙橀噺鏉ヨ缃�"/>
+ <aura:attribute name="hideButton" type="boolean" default="false"
+ description="鍙椤甸殣钘忔寜閽�"/>
+ <aura:attribute name="AgencyClick" type="boolean" default="false"
+ description="鍒ゆ柇鏄惁宸叉彁浜よ繃涓�娆�"/>
+ <aura:attribute name="recordId" type="String" default=""
+ description="鍦ㄦ槑缁嗛〉鐐瑰嚮涓嬩竴姝ヤ細涓婁紶褰曞叆琛紝
+ 鐒跺悗杩斿洖鐨勫綍鍏ヨ〃ID瀛樺湪杩欓噷锛岀敤浜庝笂浼犳枃浠朵娇鐢�"/>
+ <aura:attribute name="filetype" type="List" default="['.png', '.jpg', '.jpeg']"
+ description="濡傛灉瀵逛簬涓婁紶鏂囦欢鐨勬牸寮忔湁瑕佹眰锛屽彲浠ョ敤杩欎釜锛屼絾鏄幇鍦ㄨ繕娌$敤"/>
+
+ <aura:attribute name="HomePageDisplay" type="Boolean" default="true"/>
+ <aura:attribute name="NextPageDisplay" type="Boolean" default="false"/>
+ <!-- checkbox -->
+ <aura:attribute name="IsAgencyOrHPShow" type="Boolean" default=""/>
+ <aura:attribute name="entryType" type="String" default=""/>
+ <aura:attribute name="chk" type="string" default=""/>
+ <aura:attribute name="check" type="Boolean" default="true"/>
+ <aura:attribute name="eSignForm" type="Object"
+ description="棣栭〉淇℃伅"/>
+ <aura:attribute name="uploadFilePage" type="Boolean" default="false"
+ description="鍒ゆ柇鏄惁鏄枃浠朵笂浼犻〉"/>
+ <aura:attribute name="data" type="Object[]"
+ description="鎵�鏈夋槑缁嗙殑淇℃伅"/>
+ <aura:attribute name="currentData" type="Object[]"
+ description="鏄庣粏椤靛綋鍓嶆樉绀虹殑鏄庣粏鐨勪俊鎭�"/>
+ <aura:attribute name="dataSize" type="Integer" default="0"
+ description="鏄庣粏椤靛綋鍓嶆樉绀虹殑鏄庣粏鐨勬暟閲�"/>
+ <aura:attribute name="columns" type="List"
+ description="鏄庣粏椤佃〃鏍肩殑姣忓垪鏋勯�犵殑璁惧畾"/>
+ <aura:attribute name="pageNumber" type="Integer" default="1"
+ description="鏄庣粏椤佃〃鏍肩殑绗嚑椤�"/>
+ <aura:attribute name="pageSize" type="Integer" default="5"
+ description="鏄庣粏椤佃〃鏍肩殑姣忛〉鏄庣粏瀹归噺"/>
+ <aura:attribute name="isLastPage" type="Boolean" default="false"
+ description="鏄惁鏈�鍚庝竴椤碉紝濡傛灉鏄渶鍚庝竴椤碉紝閭d箞琛ㄦ牸鍒嗛〉鐨勪笅涓�椤典笉鍙敤"/>
+ <aura:attribute name="draftValues" type="Object" default="[]"
+ description="鏄庣粏椤佃〃鏍肩殑淇敼鍐呭锛屼繚瀛樺悗浠庤繖閲岃鍊煎瓨鍒板綋鍓嶈〃鏍奸噷闈�"
+ />
+ <aura:attribute name="successMessage" type="String"
+ description="鎴愬姛娑堟伅"/>
+ <aura:attribute name="errorMessage" type="String"
+ description="澶辫触娑堟伅"/>
+ <!-- 閫傜敤+妫�绱� start-->
+ <aura:attribute name="searchSize" type="Integer" default=""
+ description="妫�绱㈡暟鎹殑闀垮害"/>
+ <aura:attribute name="searchCase" type="Integer" default=""
+ description="瀛樻斁妫�绱㈠�硷紝淇濈暀缂撳瓨"/>
+ <aura:attribute name="searchCaseKey" type="Integer" default=""
+ description="瀛樻斁妫�绱㈠�硷紝璧嬪�肩粰searchCase"/>
+ <aura:attribute name="searchFlag" type="boolean" default=""
+ description="鎼滅储妗嗘槸鍚︽湁鍊�"/>
+ <aura:attribute name="lineItemSize" type="Integer" default=""
+ description="瀛樻斁涓�鍏辨湁澶氬皯鏉℃槑缁唖ize"/>
+ <!-- 鍖婚櫌鐢靛瓙閭欢 -->
+ <aura:attribute name="HPWorkflowEmailBack" type="String"
+ description="鍖婚櫌閭"/>
+ <aura:attribute name="applyButton" type="String" default=""
+ description="鏄剧ず閫傜敤鎸夐挳"/>
+ <aura:attribute name="allApplyButton" type="String" default=""
+ description="鏄剧ず鍏ㄩ儴鎸夐挳"/>
+ <!-- 鍖哄垎鐩撮攢銆佸垎閿�鐨勫尯鍒爣璇� 浼犺繃鏉� -->
+ <aura:attribute name="DirectFlag" type="Boolean" default=""/>
+ <aura:attribute name="handlingOpinionsPage" type="Boolean" default="false"
+ description="鍒ゆ柇鏄惁鏄鐞嗘剰瑙侀〉"/>
+ <!-- 閫傜敤+妫�绱� end -->
+ <aura:handler name="init" action="{!c.doInit}" value="{!this}"
+ description="鍒濆鍖栨柟娉�"/>
+
+
+ <!-- 澶嶉�夋缁� -->
+ <aura:attribute name="options" type="List" default="[
+ {'label': '涓婅堪鍐呭宸查槄璇伙紙榛樿鍕鹃�夛級鐐光�滀笅涓�姝モ�濆埌鏄庣粏椤�', 'value': 'option1'}
+
+ ]"/>
+ <aura:attribute name="value" type="List" default="option1"/>
+
+ <div>
+ <lightning:spinner aura:id="mySpinner" size="large"
+ description="鍔犺浇涓粍浠讹紝濡傛灉涓嶉殣钘忔暣涓〉闈㈠氨鍦ㄥ姞杞戒腑"/>
+ </div>
+
+ <!-- 鎴愬姛toast 缁勪欢鐨勫疄鐜�-->
+ <div class="slds-modal slds-fade-in-open slds-hide" aura:id="successDiv">
+ <div class="demo-only" style="height: 8rem;width:40%">
+ <div class="slds-notify_container slds-is-relative">
+ <div class="slds-notify slds-notify_toast slds-theme_success" role="alert">
+ <div class=" slds-m-left_xx-large">
+ <div class="slds-notify__content slds-m-left_small slds-align_absolute-center slds-m-left_xx-large">
+ <lightning:icon alternativeText="Success" iconName="utility:success" size="small"
+ class="buttonColor slds-m-right_small" />
+ <h2 class="slds-text-heading_small ">{!v.successMessage}</h2>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <!-- 澶辫触toast 缁勪欢鐨勫疄鐜�-->
+ <div class="slds-modal slds-fade-in-open slds-hide" aura:id="errorDiv">
+ <div class="demo-only" style="height: 8rem;" id="errorSonDiv1">
+ <div class="slds-notify_container slds-is-relative">
+ <div class="slds-notify slds-notify_toast slds-theme_error" role="status" id="errorSonDiv2" style="">
+ <div class="">
+ <div class="slds-notify__content slds-m-left_small slds-align_absolute-center">
+ <lightning:icon alternativeText="error" iconName="utility:error" size="small"
+ class="buttonColor slds-m-right_small" />
+ <h2 class="slds-text-heading_small ">
+ <div id="errorSonDiv3" style=" word-break: break-all;overflow: auto;">
+ {!v.errorMessage}
+ </div>
+ </h2>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <aura:registerEvent name="componentEvent" type="c:BackToHomePage"/>
+ <!-- 棣栭〉 -->
+ <aura:if isTrue="{!v.HomePageDisplay}">
+ <p style="font-size: 17px;">
+ 棣栭〉
+ </p>
+ <div id="qs" style=" margin-bottom: 5%;" class="slds-card" >
+ <aura:if isTrue="{!v.DirectFlag}">
+ <!-- 棣栭〉锛岀敱浜庝笌鍖婚櫌纭椤靛叕鐢ㄧ浉鍚屼富椤碉紝鎵�浠ヤ娇鐢ㄨ繖涓粍浠�,鐒跺悗鍙互鍏敤 -->
+ <c:eSignAgencyHomePage
+ HospitalAcceptanceResults = "{!v.HospitalAcceptanceResults}"
+ eSignForm = "{!v.eSignForm}"
+ />
+ <aura:set attribute="else">
+ <!-- 棣栭〉锛岀敱浜庝笌鍖婚櫌纭椤靛叕鐢ㄧ浉鍚屼富椤碉紝鎵�浠ヤ娇鐢ㄨ繖涓粍浠�,鐒跺悗鍙互鍏敤 -->
+ <c:eSignHospitalHomePage
+ HospitalAcceptanceResults = "{!v.HospitalAcceptanceResults}"
+ eSignForm = "{!v.eSignForm}"
+ />
+ </aura:set>
+ </aura:if>
+
+ <!-- 楂樺害 -->
+ <!-- <div style="height: 20px;"></div> -->
+
+ <!-- 娉ㄦ剰浜嬮」锛� -->
+ <div id="attention" style=" position:relative;margin-right: 4px; margin-right: 4px; " class="" >
+ <lightning:layout horizontalAlign="left" class="slds-m-top_large">
+ <!-- 鏈缃甽ayoutItem鐨剆ize澶у皬 涓嶆秹鍙婂苟鍒楄繖绉嶆儏鍐� 鐩墠鑷�傚簲 -->
+ <lightning:layoutItem padding="around-small" >
+ <div class="header-column">
+ <p class="field-title" title="Field 3" style="font-weight:bold;font-size: 15px;">娉ㄦ剰浜嬮」 锛� </p>
+ <p class="field-title" title="Field 3" style="font-weight:bold;font-size: 15px;"> 1銆佹敹鍒拌揣鐗╄鍦�24灏忔椂鍐呯‘璁� </p>
+ <p class="field-title" title="Field 3" style="font-weight:bold;font-size: 15px;"> 2銆佽揣鐗╁瑙傜牬鎹熻褰撻潰涓庨�佽揣浜虹瀛楃‘璁� </p>
+ <p class="field-title" title="Field 3" style="font-weight:bold;font-size: 15px;"> 3銆佷功闈㈤�氱煡渚涜揣鑰呯牬鎹熸儏鍐靛苟鎻忚堪鐮存崯鐘舵�� </p>
+ <p class="field-title" title="Field 3" style="font-weight:bold;font-size: 15px;"> 4銆佸繀瑕佹椂璇锋媿鐓ц褰� </p>
+ <!-- 椤荤煡 -->
+ </div>
+ </lightning:layoutItem>
+ </lightning:layout>
+
+ <!-- 椤荤煡 -->
+ <lightning:layout horizontalAlign="left" class="slds-m-top_small">
+ <!-- 鏈缃甽ayoutItem鐨剆ize澶у皬 涓嶆秹鍙婂苟鍒楄繖绉嶆儏鍐� 鐩墠鑷�傚簲 -->
+ <lightning:layoutItem padding="around-small">
+ <!-- <lightning:checkboxGroup name="checkbox"
+ label=""
+ options="{! v.options }"
+ value="{! v.value }"
+ onchange="{! c.handleChange }"/> -->
+ <lightning:input type="checkbox" label="涓婅堪鍐呭宸查槄璇伙紙榛樿鍕鹃�夛級鐐光�滀笅涓�姝モ�濆埌鏄庣粏椤�" id="chk" name="chk" checked="{!v.check}" disabled="true" />
+ </lightning:layoutItem>
+ </lightning:layout>
+
+ </div>
+
+ <!-- 浠庨椤靛埌妫�绱㈤〉鐨勪笂涓�姝ユ寜閽� -->
+ <div class="slds-float_left">
+ <lightning:button variant="brand"
+ label="涓婁竴姝�" title="涓婁竴姝�" onclick="{! c.BackToHomePage }" />
+ </div>
+
+
+ <div class="slds-float_right">
+ <lightning:button variant="brand"
+ label="涓嬩竴姝�" title="涓嬩竴姝�" onclick="{! c.hospitalDetailsPageNextClick }" />
+ </div>
+</div>
+ <!-- </lightning:datatable> -->
+ </aura:if>
+ <aura:if isTrue="{!v.NextPageDisplay}">
+ <div id="header" style="{!'width:'+v.floatWidth+'px;'}">
+ <tr>
+ <td class="field-title" title="Field 3" style="font-weight:bold;font-size: 15px;" align="left">锛堝悜鍙虫粦鍔ㄦ煡鐪嬫洿澶氫俊鎭級
+
+ </td>
+ </tr>
+
+ </div>
+ <div id="searchDiv" class="slds-page-header" role="banner" style="{!'width:'+v.floatWidth+'px;'}">
+ <div class="slds-float_center" style="text-align:center">
+ <tr>
+ <td align="right" style="{!'padding-left:'+v.floatWidth*0.15+'px;'}">绠卞彿:
+ <input id="searchInput" lightning-input_input ="" type="text" class="slds-input" value="{!v.searchCase}" name="" onchange="{!c.searchByCaseNumber}" style="{!'width:'+v.floatWidth*0.2+'px;'}"/>
+ </td>
+
+ <td style="padding-left: 5px;">
+ <aura:if isTrue="{!v.searchFlag}">
+ 璇ョ鍏辨湁{!v.searchSize}鏉℃暟鎹��
+ <aura:set attribute="else">
+ 璇ュ崟鍏辨湁{!v.lineItemSize}鏉℃暟鎹��
+ </aura:set>
+ </aura:if>
+ </td>
+ </tr>
+ </div>
+ </div>
+ <div id="allDiv" style="{!'width:'+v.allWidth+'px;overflow-x:scroll;'}">
+ <div id="in" style=" width:763px;margin-right: 4px; ">
+ <!-- 鏄剧ず鍦ㄦ槑缁嗛〉鐨勫綋鍓嶆槑缁嗙殑琛ㄦ牸 -->
+ <div id="inTable" >
+ <!-- <lightning:card> -->
+ <aura:set attribute="title">
+ 璐х墿绛炬敹鍗曟槑缁�
+ </aura:set>
+
+ <table class="slds-table slds-table_cell-buffer slds-table_bordered slds-hint-parent slds-no-row-hover " style="table-layout: fixed;">
+ <thead>
+ <tr class="slds-line-height_reset slds-text-title_caps">
+ <!-- 绗竴鍒� 浜у搧鍨嬪彿 -->
+ <th class="slds-is-resizable" tabindex="-1" data-label="浜у搧鍨嬪彿" scope="row">
+
+ <span class="slds-grid slds-grid_align-spread" style="
+ width: 110px;text-align: left;display:block;">
+ <div class="slds-truncate">
+ <span title="浜у搧鍨嬪彿" class="slds-truncate" style="padding-bottom: 3px;">浜у搧鍨嬪彿</span> </div>
+ </span>
+
+
+
+ </th>
+ <!-- 绗簩鍒� CODE -->
+ <!-- <th class="slds-is-resizable" tabindex="-1" data-label="CODE" scope="row" style="width: 137px;height: 35px; outline: none;">
+
+ <span class="slds-grid slds-grid_align-spread" style="text-align: center;display:block;">
+ <div class="slds-truncate">
+ <span title="CODE" class="slds-truncate" style="padding-bottom: 3px;">CODE</span>
+ </div>
+
+ </span>
+
+
+ </th> -->
+
+ <!-- 绗笁鍒� 浜у搧鍚嶇О-->
+ <th class="slds-is-resizable" tabindex="-1" data-label="浜у搧鍚嶇О" scope="row" style="width: 361px;height: 35px;">
+
+ <span class="slds-grid slds-grid_align-spread" style="text-align: left;display:block;">
+ <div class="slds-truncate">
+ <span title="浜у搧鍚嶇О" class="slds-truncate" style="padding-bottom: 3px;">浜у搧鍚嶇О</span>
+
+
+ </div>
+ </span>
+
+
+ </th>
+
+ <!-- 绗洓鍒� 鏁伴噺-->
+ <th class="slds-is-resizable" tabindex="-1" data-label="鏁伴噺" scope="row" style="width: 50px;height: 35px;">
+
+ <span class="slds-grid slds-grid_align-spread" style="text-align: center;display:block;">
+ <div class="slds-truncate">
+ <span title="鏁伴噺" class="slds-truncate" style="padding-bottom: 3px;">鏁伴噺</span>
+
+
+ </div>
+ </span>
+
+
+
+ </th>
+
+ <!-- 绗簲鍒� 绠卞彿-->
+ <th class="slds-is-resizable" tabindex="-1" data-label="绠卞彿" scope="row" style="width: 100px;height: 35px;">
+
+ <span class="slds-grid slds-grid_align-spread" style="text-align: center;display:block;">
+ <div class="slds-truncate">
+ <span title="绠卞彿" class="slds-truncate" style="padding-bottom: 3px;">绠卞彿</span>
+
+
+ </div>
+ </span>
+
+
+
+ </th>
+ <!-- 绗叚鍒� 璐х墿鎯呭喌-->
+ <th class="slds-is-resizable" tabindex="-1" data-label="璐х墿鎯呭喌" scope="row" style="width: 110px;height: 35px;">
+
+ <span class="slds-grid slds-grid_align-spread" style="text-align: center;display:block;">
+ <div class="slds-truncate">
+ <span title="璐х墿鎯呭喌" class="slds-truncate" style="padding-bottom: 3px;">璐х墿鎯呭喌</span>
+
+
+ </div>
+ </span>
+
+
+
+ </th>
+ <!-- 绗竷鍒� 澶勭悊鎰忚-->
+ <!-- <th class="slds-is-resizable" tabindex="-1" data-label="澶勭悊鎰忚" scope="row" style="width: 170px;height: 35px;">
+
+ <span class="slds-grid slds-grid_align-spread" style="text-align: center;display:block;">
+ <div class="slds-truncate">
+ <span title="澶勭悊鎰忚" class="slds-truncate" style="padding-bottom: 3px;">澶勭悊鎰忚</span>
+
+
+ </div>
+ </span>
+
+
+
+ </th> -->
+ <!-- 绗叓鍒� 璐х墿鎯呭喌-->
+ <!-- <th class="slds-is-resizable" tabindex="-1" data-label="缁忛攢鍟嗙‘璁ょ粨鏋�" scope="row" style="width: 140px;height: 35px;">
+
+ <span class="slds-grid slds-grid_align-spread" style="text-align: center;display:block;">
+ <div class="slds-truncate">
+ <span title="缁忛攢鍟嗙‘璁ょ粨鏋�" class="slds-truncate" style="padding-bottom: 3px;">缁忛攢鍟嗙‘璁ょ粨鏋�</span>
+
+
+ </div>
+ </span>
+
+
+
+ </th> -->
+
+
+ </tr>
+ </thead>
+ <aura:if isTrue="{!v.currentData.length > 0}">
+ <tbody>
+ <aura:iteration items="{!v.currentData}" var="curr" indexVar="idx">
+ <tr class="slds-hint-parent">
+ <!-- 琛岄」鐩篃鐢╰h 鍥犱负鐢╰d鏍囩鐐瑰嚮鍒楃殑楂樺厜 鍦ㄨ嫻鏋滆澶囦笂 鏈夌棔杩� -->
+ <!-- 琛岄」鐩� 绗竴鍒� 浜у搧鍨嬪彿 -->
+ <th class="slds-is-resizable" tabindex="-1" data-label="浜у搧鍨嬪彿" scope="row">
+
+ <span class="slds-grid slds-grid_align-spread" style="
+ width: 110px;
+ padding-top: 6px;height:30px;
+ ">
+ <div class="slds-truncate">
+ <lightning:formattedText value="{!curr.Asset_Model_No__c}" />
+ </div>
+ </span>
+
+
+
+ </th>
+
+ <!-- 琛岄」鐩� 绗簩鍒� CODE-->
+ <!-- <th class="slds-is-resizable" tabindex="-1" data-label="CODE" scope="row">
+
+ <span class="slds-grid slds-grid_align-spread">
+ <div class="slds-truncate">
+ <lightning:formattedText value="{!curr.OTCode__c}" />
+
+
+
+ </div>
+ </span>
+
+
+
+ </th> -->
+ <!-- 琛岄」鐩� 绗笁鍒� 浜у搧鍚嶇О-->
+ <th class="slds-is-resizable" tabindex="-1" data-label="浜у搧鍚嶇О" scope="row" style="white-space:nowrap;
+ overflow:hidden;
+ text-overflow: ellipsis;">
+
+ <span class="slds-grid slds-grid_align-spread" style="
+ width: 361px;
+ padding-top: 6px;height:31px;">
+ <div class="slds-truncate">
+ <lightning:formattedText value="{!curr.productName__c}" />
+
+
+ </div>
+ </span>
+
+
+
+ </th>
+ <!-- 琛岄」鐩� 绗洓鍒� 鏁伴噺-->
+ <th class="slds-is-resizable" tabindex="-1" data-label="鏁伴噺" scope="row" >
+
+ <span class="slds-grid slds-grid_align-spread" style="text-align: center;display:block;">
+ <div class="slds-truncate">
+ <lightning:formattedText value="{!curr.Count_Text__c}" />
+
+
+ </div>
+ </span>
+
+
+
+ </th>
+ <!-- 琛岄」鐩� 绗簲鍒� 绠卞彿-->
+ <th class="slds-is-resizable" tabindex="-1" data-label="绠卞彿" scope="row">
+
+ <span class="slds-grid slds-grid_align-spread" style="text-align: center;display:block;">
+ <div class="slds-truncate">
+ <lightning:formattedNumber id="{!curr.Id+':'+idx+':CaseNumber__c'}" value="{!curr.CaseNumber__c}"/>
+
+
+ </div>
+ </span>
+
+
+
+ </th>
+ <!-- 琛岄」鐩� 绗叚鍒� 璐х墿鎯呭喌-->
+ <th class="slds-is-resizable" tabindex="-1" data-label="璐х墿鎯呭喌" scope="row">
+
+ <span class="slds-grid slds-grid_align-spread" style="text-align: center;display:block;">
+ <div class="slds-truncate">
+ <lightning:formattedText value="{!curr.HPGoodStatus__c}" />
+
+
+ </div>
+ </span>
+
+
+
+ </th>
+ <!-- 琛岄」鐩� 绗竷鍒� 澶勭悊鎰忚-->
+ <!-- <th class="slds-is-resizable" tabindex="-1" data-label="澶勭悊鎰忚" scope="row">
+
+ <span class="slds-grid slds-grid_align-spread" style="text-align: center;display:block;">
+ <div class="slds-truncate">
+ <lightning:formattedText value="{!curr.handleOpinion__c}" />
+
+
+ </div>
+ </span>
+
+
+
+ </th> -->
+
+ <!-- 琛岄」鐩� 绗叓鍒� 缁忛攢鍟嗙‘璁ょ粨鏋�-->
+ <!-- <th class="slds-is-resizable" tabindex="-1" data-label="缁忛攢鍟嗙‘璁ょ粨鏋�" scope="row">
+
+ <input id="{!curr.Id}" lightning-input_input ="" type="text" class="slds-input" value="{!curr.agencyConfirmResult__c}" readonly="readonly" style="border-style:hidden;"/>
+
+
+ </th> -->
+
+ </tr>
+ </aura:iteration>
+ </tbody>
+
+ </aura:if>
+ </table>
+
+ <!-- <div class="slds-box">
+
+ <div align="center" style="float: left;padding-left: 370px;">
+ <lightning:button variant="neutral"
+ label="cancel" title="cancel" onclick="" />
+ </div>
+
+ <div align="center" style="padding-right: 370px;">
+ <lightning:button variant="brand"
+ label="save" title="save" onclick=""/>
+ </div>
+ </div> -->
+ <aura:if isTrue="{!empty(v.currentData)}">
+ <div class="slds-align_absolute-center">
+ No records found
+ </div>
+ </aura:if>
+ <!-- </lightning:card> -->
+
+
+
+ </div>
+ </div>
+ </div>
+
+ <!-- 鍒嗛〉鍔熻兘鐨勪笂涓�椤靛拰涓嬩竴椤碉紝 杩樻槸鏈�宸︿晶鐨勬樉绀哄綋鍓嶉〉鏁扮殑閫昏緫-->
+ <div id="floatDiv" style="{!'width:'+v.floatWidth+'px;'}">
+ <div class="slds-clearfix">
+ <div class="slds-page-header" role="banner">
+ <div class="slds-float_center" style="text-align:center">
+ <!-- iconName="utility:chevronleft" iconPosition="left" -->
+ <lightning:button iconName="utility:left"
+ onclick="{!c.handleHome}" disabled="{! v.pageNumber == 1}"/>
+ <lightning:button iconName="utility:chevronleft" iconPosition="left"
+ onclick="{!c.handlePrev}" disabled="{! v.pageNumber == 1}"/>
+ <span title="褰撳墠椤�"> {!v.pageNumber}
+ </span>
+ <lightning:button iconName="utility:chevronright" iconPosition="right"
+ disabled="{! v.isLastPage}" onclick="{!c.handleNext}"/>
+ <!-- iconName="utility:chevronright" iconPosition="right" -->
+ <lightning:button iconName="utility:right"
+ disabled="{! v.isLastPage}" onclick="{!c.handleLast}"/>
+
+ </div>
+
+ </div>
+ </div>
+ <!-- 鏄庣粏椤佃烦杞嚦鏂囦欢涓婁紶椤电殑鎸夐挳 -->
+ <div class="slds-float_left">
+ <div id="attention" style=" position:relative;margin-right: 4px; margin-right: 4px; " class="" >
+ <!-- 纭鎻愪氦 -->
+ <lightning:button variant="brand"
+ label="涓婁竴姝�" title="涓婁竴姝�" onclick="{! c.handleShowPageNextClick }" />
+ </div>
+ </div>
+
+ <aura:if isTrue="{!v.DirectFlag}">
+ <div class="slds-float_right">
+ <lightning:button variant="brand"
+ label="涓嬩竴姝�" title="涓嬩竴姝�" onclick="{!c.OpinionsTODetailsPage }" />
+ </div>
+ <aura:set attribute="else">
+ <!-- 杩斿洖棣栭〉 -->
+ <div class="slds-float_right">
+ <lightning:button variant="brand"
+ label="閫�鍥為椤�" title="閫�鍥為椤�" onclick="{! c.BackToHomePage }" />
+ </div>
+ </aura:set>
+ </aura:if>
+
+ </div>
+
+
+ </aura:if>
+
+ <aura:if isTrue="{!v.handlingOpinionsPage}">
+ <div class="slds-box">
+ <div id="page-footer" style=" margin-bottom: 5%;" class="slds-card" >
+ <lightning:layout multipleRows="true">
+ <lightning:layoutItem padding="around-xsmall" size="12">
+ <div class="page-section page-header" style="height: 25px;">
+ <h2><b>钀ヤ笟鎷呭綋澶勭悊鎰忚濡備笅锛�</b></h2>
+ </div>
+ <div class="page-section page-right" style="{!'width:'+v.floatWidth*0.8+'px;'}" >
+
+ <p style="word-break: break-word;text-indent: 2em;">{!v.eSignForm.handleOpinionHP__c}
+ </p>
+ </div>
+ </lightning:layoutItem>
+
+
+ </lightning:layout>
+
+ </div>
+ <p style="word-break: break-word;text-indent: 2em;">瀵逛互涓婂鐞嗘剰瑙佹棤鐤戜箟锛岃鐐瑰嚮纭銆傚鏈夊叾瀹冮棶棰橈紝璇疯仈绯诲ゥ鏋楀反鏂綋鍦拌惀涓氫汉鍛樸��</p>
+
+ <!-- <lightning:input aura:id="inputCmp" label="濡傛湁闇�瑕侊紝璇峰~鍐欐偍鐨勯偖绠�:" name="fullName" value=""
+ /> -->
+
+ </div>
+ <div id="footerDiv" style="{!'width:'+v.floatWidth+'px;display: flex;flex-direction: row;'}">
+ <!-- class="slds-float_left" -->
+ <div style="text-align:left;flex: 1;padding-top: 1px;">
+ <lightning:button variant="brand"
+ label="涓婁竴姝�" title="涓婁竴姝�" onclick="{!c.NextOpinions}" />
+ </div>
+ <!-- style="text-align:center" -->
+ <!-- <div style="text-align:center;flex: 1;padding-top: 1px;">
+ <lightning:button variant="brand"
+ label="纭" title="纭" onclick="{!c.submitClick }" />
+ </div> -->
+ <!-- class="slds-float_right" -->
+ <div style="text-align:right;flex: 1;padding-top: 1px;">
+ <lightning:button variant="brand"
+ label="杩斿洖" title="杩斿洖" onclick="{!c.BackToHomePage }" />
+ </div>
+ </div>
+
+ </aura:if>
+
+ <aura:if isTrue="{!v.uploadFilePage}">
+ <!-- 鏂囦欢涓婁紶缁勪欢 -->
+ <lightning:fileUpload label="涓婁紶鐓х墖"
+ name="fileUploader"
+ recordId="{!v.recordId}"
+ multiple="true"
+ onuploadfinished="{!c.handleUploadFinished}"
+ />
+ <p class="field-title" title="Field 3" style="font-weight:bold;font-size: 15px;padding-top: 7px;">锛堝涓嶉渶瑕佷笂浼狅紝鍒欒鍏抽棴銆傦級
+ <!-- 濡傞渶涓婁紶锛岃閫夋嫨鐓х墖銆� -->
+ </p>
+
+ </aura:if>
+
+</aura:component>
\ No newline at end of file
diff --git a/force-app/main/default/aura/eSignHospitalConfirmReadOnlyPage/eSignHospitalConfirmReadOnlyPage.cmp-meta.xml b/force-app/main/default/aura/eSignHospitalConfirmReadOnlyPage/eSignHospitalConfirmReadOnlyPage.cmp-meta.xml
new file mode 100644
index 0000000..4076603
--- /dev/null
+++ b/force-app/main/default/aura/eSignHospitalConfirmReadOnlyPage/eSignHospitalConfirmReadOnlyPage.cmp-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<AuraDefinitionBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>49.0</apiVersion>
+ <description>DESCRIPTION</description>
+</AuraDefinitionBundle>
diff --git a/force-app/main/default/aura/eSignHospitalConfirmReadOnlyPage/eSignHospitalConfirmReadOnlyPage.css b/force-app/main/default/aura/eSignHospitalConfirmReadOnlyPage/eSignHospitalConfirmReadOnlyPage.css
new file mode 100644
index 0000000..64b08a1
--- /dev/null
+++ b/force-app/main/default/aura/eSignHospitalConfirmReadOnlyPage/eSignHospitalConfirmReadOnlyPage.css
@@ -0,0 +1,91 @@
+.THIS table thead tr th:first-child
+{
+
+ position: fixed;
+ /*top: 45px;*/
+ z-index: 2;
+ /*width: 50px;*/
+ background-color: white;
+ padding-top:13px;
+
+
+}
+.THIS table thead tr th:nth-child(2)
+{
+ /*background-color: white;
+ position: fixed;
+ z-index: 1;
+ top: 45px;
+ padding-left: 52px;
+ width: 161px;*/
+ padding-left: 0px;
+
+}
+.THIS table thead tr th:nth-child(3)
+{
+ padding-left: 0px;
+
+}
+.THIS table thead tr th:nth-child(4)
+{
+ padding-left: 0px;
+
+}
+.THIS table thead tr th:nth-child(5)
+{
+ padding-left: 0px;
+
+}
+.THIS table thead tr th:nth-child(6)
+{
+ padding-left: 0px;
+
+}
+
+.THIS table tbody tr th:first-child
+{
+ background-color: white;
+ position: fixed;
+ z-index: 2;
+ padding-top:8.5px;
+ /*width: 50px;
+ padding-top: 9.5px;*/
+
+
+
+
+}
+
+.THIS table tbody tr th:nth-child(2)
+{
+ /*background-color: white;
+ position: fixed;
+ z-index: 1;
+ padding-left: 52px;
+ padding-top: 9.5px;
+ height:36px;
+ width: 161px;*/
+
+ padding-left: 0px;
+
+}
+.THIS table tbody tr th:nth-child(3)
+{
+ padding-left: 0px;
+
+}
+
+.THIS table tbody tr th:nth-child(4)
+{
+ padding-left: 0px;
+
+}
+
+.THIS table tbody tr th:nth-child(5)
+{
+ padding-left: 0px;
+
+}
+.THIS .slds-button_icon-bare{
+ display: none;
+}
\ No newline at end of file
diff --git a/force-app/main/default/aura/eSignHospitalConfirmReadOnlyPage/eSignHospitalConfirmReadOnlyPageController.js b/force-app/main/default/aura/eSignHospitalConfirmReadOnlyPage/eSignHospitalConfirmReadOnlyPageController.js
new file mode 100644
index 0000000..2c7ef07
--- /dev/null
+++ b/force-app/main/default/aura/eSignHospitalConfirmReadOnlyPage/eSignHospitalConfirmReadOnlyPageController.js
@@ -0,0 +1,95 @@
+({
+ myAction : function(component, event, helper) {
+
+ },
+ // 鍒濆鍖栧嚱鏁�
+ doInit : function(cmp, event, helper) {
+ // 璁剧疆鏄庣粏椤佃〃鏍肩殑鏋勯��
+ helper.getColumnAndAction(cmp);
+ // 浠庢暟鎹簱閲岄潰璇诲彇鏁版嵁
+ helper.geteSign(cmp);
+ },
+ // 鏄庣粏椤佃〃鏍肩殑缈婚〉涓嬩竴椤�
+ handleNext : function(cmp, event, helper) {
+ helper.handleNext(cmp);
+ },
+ // 鏄庣粏椤佃〃鏍肩殑缈婚〉涓婁竴椤�
+ handlePrev : function(cmp, event, helper) {
+ helper.handlePrev(cmp);
+ },
+ // 鏄庣粏椤佃〃鏍肩殑缈婚〉棣栭〉
+ handleHome : function(cmp, event, helper) {
+ helper.handleHome(cmp);
+ },
+ // 鏄庣粏椤佃〃鏍肩殑缈婚〉灏鹃〉
+ handleLast : function(cmp, event, helper) {
+ helper.handleLast(cmp);
+ },
+ // 琛ㄦ牸纭鏇存敼
+ handleSaveEdition: function (cmp, event, helper) {
+ //鑾峰彇鏇存敼鍐呭
+ var draftValues = event.getParam('draftValues');
+ helper.saveEdition(cmp, draftValues);
+ },
+ // 鏂囦欢涓婁紶缁撴灉鍚庣殑澶勭悊
+ handleUploadFinished: function (cmp, event) {
+ // 鑾峰彇涓婁紶鎴愬姛鏂囦欢鐨勪俊鎭�
+ var uploadedFiles = event.getParam("files");
+ if(uploadedFiles.length > 0){
+ // 涔嬫墍浠ュ湪杩欓噷鍐欒繖涓脊鍑烘锛屽洜涓哄啓鍦╤elper閲岄潰涓嶇煡閬撲负鍟ュ脊涓嶅嚭鏉ワ紱
+ alert("涓婁紶瀹屾瘯锛屽鏋滀笉闇�瑕佺户缁笂浼犺鍏抽棴姝ら〉闈紒");
+ }
+ // 鎵撳嵃涓婁紶鎴愬姛鏂囦欢鐨勫悕瀛�
+ uploadedFiles.forEach(file => console.log(file.name));
+ },
+ hospitalDetailsPageNextClick : function (cmp, event, helper) {
+ helper.hospitalDetailsPageNextClick(cmp);
+ },
+ handleChange : function (cmp, event, helper) {
+ console.log('鐐瑰嚮澶嶉�夋!');
+ var s = cmp.get("v.check");
+ console.log('q:'+s);
+ },
+ // 鏄庣粏椤佃烦杞嚦鏂囦欢涓婁紶椤�
+ handleDetailsPageNextClick : function (cmp, event, helper) {
+ helper.handleDetailsPageNextClick(cmp, event);
+ },
+ //淇濆瓨鎻愪氦鎸夐挳(鑰冭檻姝ゆ椂瑕佷笉瑕佹彃鍏ヤ竴鏉℃暟鎹�)
+ submitClick : function(cmp, event, helper){
+ helper.submitClick(cmp);
+ },
+ handleShowPageNextClick :function (cmp, event, helper) {
+ helper.handleShowPageNextClick(cmp);
+ },
+ handleShowFielePageNextClick:function (cmp, event, helper) {
+ helper.handleShowFielePageNextClick(cmp);
+ },
+ //涓婚〉璺抽椤�
+ BackToHomePage : function(cmp, event, helper){
+ if(confirm('纭鍥炲埌棣栭〉鍚楋紵')){
+
+ cmp.set("v.HomePage", false);
+ cmp.set("v.uploadFilePage", false);
+ cmp.set("v.HomePageDisplay", true);
+ cmp.set("v.handlingOpinionsPage",false);
+ }
+
+
+ // helper.BackToHomePage(cmp);
+ },
+ handleShowFielePageNextClick : function(cmp, event, helper){
+ helper.handleShowFielePageNextClick(cmp);
+ },
+ handleShowPageNextClick : function(cmp, event, helper){
+ helper.handleShowPageNextClick(cmp);
+ },
+ searchByCaseNumber : function(cmp, event, helper){
+ helper.searchByCaseNumber(cmp,event);
+ },
+ OpinionsTODetailsPage : function(cmp, event, helper){
+ helper.OpinionsTODetailsPage(cmp);
+ },
+ NextOpinions : function(cmp, event, helper){
+ helper.NextOpinions(cmp);
+ },
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/eSignHospitalConfirmReadOnlyPage/eSignHospitalConfirmReadOnlyPageHelper.js b/force-app/main/default/aura/eSignHospitalConfirmReadOnlyPage/eSignHospitalConfirmReadOnlyPageHelper.js
new file mode 100644
index 0000000..737f168
--- /dev/null
+++ b/force-app/main/default/aura/eSignHospitalConfirmReadOnlyPage/eSignHospitalConfirmReadOnlyPageHelper.js
@@ -0,0 +1,500 @@
+({
+ helperMethod : function() {
+
+ },
+ // 璁剧疆table 鍚勬爮灞炴��
+ getColumnAndAction : function(cmp) {
+ var actions = [
+ {label: 'Edit', name: 'edit'},
+ {label: 'Delete', name: 'delete'},
+ {label: 'View', name: 'view'}
+ ];
+ cmp.set('v.columns', [
+ // {label: 'CODE', fieldName: 'OTCode__c', type: 'text', wrapText:false
+ // , hideDefaultActions: true ,fixedWidth: 110 },
+ {label: '浜у搧鍨嬪彿', fieldName: 'Asset_Model_No__c', type: 'text' , wrapText:false
+ , hideDefaultActions: true,fixedWidth: 110 },
+ {label: 'CODE', fieldName: 'OTCode__c', type: 'text', wrapText:false
+ , hideDefaultActions: true ,fixedWidth: 137 },
+ {label: '浜у搧鍚嶇О', fieldName: 'productName__c', type: 'text', wrapText:false
+ , hideDefaultActions: true ,fixedWidth: 330 },
+ {label: '鏁伴噺', fieldName: 'Count_Text__c', type: 'text', wrapText:false
+ , hideDefaultActions: true ,fixedWidth: 50 },
+ {label: '绠卞彿', fieldName: 'CaseNumber__c', type: 'text', wrapText:false
+ , hideDefaultActions: true ,fixedWidth: 100 },
+ {label: '璐х墿鎯呭喌', fieldName: 'HPGoodStatus__c', type: 'text', wrapText:false
+ , hideDefaultActions: true ,fixedWidth: 110 },
+ {label: '澶勭悊鎰忚', fieldName: 'handleOpinionHP__c', type: 'text', wrapText:false
+ , hideDefaultActions: true ,fixedWidth: 170 },
+ {label: '鍖婚櫌纭缁撴灉', fieldName: 'HPConfirmResult__c', type: 'text', wrapText:false
+ , hideDefaultActions: true , fixedWidth: 140 },
+ ]);
+ },
+ // 鑾峰彇鏁版嵁
+ geteSign : function(cmp) {
+ // this.showSpinner(cmp);
+ var action = cmp.get("c.geteSigns");
+ var DNName = cmp.get("v.DNName").toString();
+ action.setParams({
+ 'DNName' : DNName,
+ });
+ console.log("宸茬粡杩涘埌杩欓噷浜�");
+ action.setCallback(this,function(response) {
+ var state = response.getState();
+ console.log("鐘舵�侊細"+state);
+ if (state === "SUCCESS") {
+ var resultData = response.getReturnValue();
+ if(!!resultData && !!resultData.eSignFormLineItems
+ && !!resultData.eSignForm){
+ var data = resultData.eSignFormLineItems;
+ cmp.set('v.lineItemSize', data.length);
+ console.log('鏁版嵁锛�'+data);
+ var pageSize = cmp.get('v.pageSize');
+ cmp.set("v.data", data);
+ cmp.set("v.eSignForm", resultData.eSignForm);
+ var tempData = this.getTempData(data, 1,pageSize);
+ cmp.set("v.isLastPage", this.isLastPage(data,tempData));
+ cmp.set("v.dataSize", tempData.length);
+ cmp.set("v.currentData", tempData);
+ this.hideSpinner(cmp);
+ }else{
+ cmp.set("v.errorMessage", '鍔犺浇澶辫触锛岃閲嶆柊鎵撳紑姝ら〉闈紒');
+ this.showErrorToast(cmp);
+ this.hideSpinner(cmp);
+
+ }
+
+ }else{
+ cmp.set("v.errorMessage", '鍔犺浇澶辫触锛岃閲嶆柊鎵撳紑姝ら〉闈紒');
+ this.showErrorToast(cmp);
+ this.hideSpinner(cmp);
+
+ }
+
+ });
+ $A.enqueueAction(action);
+ },
+ // 鏄庣粏椤� table 棣栭〉鍔熻兘瀹炵幇
+ handleHome : function(cmp) {
+ var pageSize = cmp.get('v.pageSize');
+ var pageNumber = cmp.get('v.pageNumber');
+ // var data = cmp.get('v.data');
+ var currentData = cmp.get('v.currentData');
+
+ //鑾峰彇杈撳叆鐨剉alue鍊�
+ var key = document.getElementById('searchInput').value;
+ var data = cmp.get('v.data');
+ var tempDataList = [];
+ var pageSize = cmp.get('v.pageSize');
+
+ if(key){
+ for(var i = 0; i<data.length; i++){
+ //鑾峰彇鎵�鏈塶ame涓虹鍙风殑input 鎵归噺鏇存柊
+ if(data[i].CaseNumber__c == key){
+ tempDataList.push(data[i]);
+ }
+
+ }
+ //璁剧疆鍒嗛〉
+ var tempData = this.getTempData(tempDataList,1,pageSize );
+ cmp.set('v.pageNumber', 1 );
+
+ cmp.set('v.currentData',tempData);
+ cmp.set('v.data',data);
+ cmp.set("v.isLastPage", this.isLastPage(tempDataList,tempData));
+ cmp.set("v.searchSize",tempDataList.length);
+
+
+ }else{
+ //鏄剧ず鍏ㄩ儴绠�
+ var tempData = this.getTempData(data,1,pageSize );
+ cmp.set('v.pageNumber', 1 );
+
+ cmp.set('v.currentData',tempData);
+ cmp.set('v.data',data);
+ cmp.set("v.isLastPage", this.isLastPage(data,tempData));
+ cmp.set('v.searchSize', null);
+
+ }
+
+
+
+ },
+ // 鏄庣粏椤� table 灏鹃〉鍔熻兘瀹炵幇
+ handleLast : function(cmp) {
+ var pageSize = cmp.get('v.pageSize');
+ var pageNumber = cmp.get('v.pageNumber');
+ var data = cmp.get('v.data');
+ //鑾峰彇鏁版嵁闀垮害
+ var size = data.length;
+ //鑾峰彇灏鹃〉椤电爜
+ var pages=size%pageSize==0?(size/pageSize):(Math.floor(size/pageSize)+1);
+
+ var currentData = cmp.get('v.currentData');
+
+ //鑾峰彇杈撳叆鐨剉alue鍊�
+ var key = document.getElementById('searchInput').value;
+ var tempDataList = [];
+
+ if(key){
+ for(var i = 0; i<data.length; i++){
+ //鑾峰彇鎵�鏈塶ame涓虹鍙风殑input 鎵归噺鏇存柊
+ if(data[i].CaseNumber__c == key){
+ tempDataList.push(data[i]);
+ }
+
+ }
+ //璁剧疆鍒嗛〉
+ var tempData = this.getTempData(tempDataList,pages,pageSize );
+ cmp.set('v.pageNumber', pages );
+ console.log('currentData1:'+currentData);
+ cmp.set('v.currentData',tempData);
+ cmp.set('v.data',data);
+ cmp.set("v.isLastPage", this.isLastPage(tempDataList,tempData));
+ cmp.set("v.searchSize",tempDataList.length);
+
+
+ }else{
+ //鏄剧ず鍏ㄩ儴绠�
+ var tempData = this.getTempData(data,pages,pageSize );
+ cmp.set('v.pageNumber', pages );
+ console.log('currentData1:'+currentData);
+ cmp.set('v.currentData',tempData);
+ cmp.set('v.data',data);
+ cmp.set("v.isLastPage", this.isLastPage(data,tempData));
+ cmp.set('v.searchSize', null);
+
+ }
+
+
+ },
+ // 鏄庣粏椤� table 涓嬩竴椤靛姛鑳藉疄鐜�
+ handleNext : function(cmp) {
+ var pageSize = cmp.get('v.pageSize');
+ var pageNumber = cmp.get('v.pageNumber');
+ var data = cmp.get('v.data');
+ var currentData = cmp.get('v.currentData');
+
+ //鑾峰彇杈撳叆鐨剉alue鍊�
+ var key = document.getElementById('searchInput').value;
+ var tempDataList = [];
+
+ if(key){
+ for(var i = 0; i<data.length; i++){
+ //鑾峰彇鎵�鏈塶ame涓虹鍙风殑input 鎵归噺鏇存柊
+ if(data[i].CaseNumber__c == key){
+ tempDataList.push(data[i]);
+ }
+
+ }
+ //璁剧疆鍒嗛〉
+ var tempData = this.getTempData(tempDataList,pageNumber + 1,pageSize );
+ cmp.set('v.pageNumber', pageNumber+1 );
+ console.log('currentData1:'+currentData);
+ cmp.set('v.currentData',tempData);
+ cmp.set('v.data',data);
+ cmp.set("v.isLastPage", this.isLastPage(tempDataList,tempData));
+ cmp.set("v.searchSize",tempDataList.length);
+
+
+ }else{
+ //鏄剧ず鍏ㄩ儴绠�
+ var tempData = this.getTempData(data,pageNumber + 1,pageSize );
+ cmp.set('v.pageNumber', pageNumber+1 );
+ console.log('currentData1:'+currentData);
+ cmp.set('v.currentData',tempData);
+ cmp.set('v.data',data);
+ cmp.set("v.isLastPage", this.isLastPage(data,tempData));
+ cmp.set('v.searchSize', null);
+
+ }
+
+
+
+ },
+ // 鏄庣粏椤� table 涓婁竴椤靛姛鑳藉疄鐜�
+ handlePrev : function(cmp) {
+ var pageSize = cmp.get('v.pageSize');
+ var pageNumber = cmp.get('v.pageNumber');
+ var data = cmp.get('v.data');
+ var currentData = cmp.get('v.currentData');
+
+ //鑾峰彇杈撳叆鐨剉alue鍊�
+ var key = document.getElementById('searchInput').value;
+ var tempDataList = [];
+
+ if(key){
+ for(var i = 0; i<data.length; i++){
+ //鑾峰彇鎵�鏈塶ame涓虹鍙风殑input 鎵归噺鏇存柊
+ if(data[i].CaseNumber__c == key){
+ tempDataList.push(data[i]);
+ }
+
+ }
+ //璁剧疆鍒嗛〉
+ var tempData = this.getTempData(tempDataList,pageNumber - 1,pageSize );
+
+ cmp.set('v.pageNumber', pageNumber - 1 );
+ cmp.set('v.currentData',tempData);
+ cmp.set('v.data',data);
+ cmp.set("v.isLastPage", this.isLastPage(tempDataList,tempData));
+ cmp.set("v.searchSize",tempDataList.length);
+
+
+ }else{
+ //鏄剧ず鍏ㄩ儴绠�
+ var tempData = this.getTempData(data,pageNumber - 1,pageSize );
+
+ cmp.set('v.pageNumber', pageNumber - 1 );
+ cmp.set('v.currentData',tempData);
+ cmp.set('v.data',data);
+ cmp.set("v.isLastPage", this.isLastPage(data,tempData));
+ cmp.set('v.searchSize', null);
+
+ }
+
+ },
+ // 璁$畻骞惰繑鍥炲綋鍓嶉〉鐮佺殑鏁版嵁
+ getTempData: function(data, pageNumber,pageSize){
+ var tempData = data.slice((pageNumber-1) * pageSize,pageNumber * pageSize );
+ return tempData;
+ },
+ // 鍒ゆ柇褰撳墠椤垫槸鍚︽槸鏈�鍚庝竴椤�
+ isLastPage : function(data,tempData){
+ if(tempData.length == 0 ||
+ tempData[tempData.length-1].Id == data[data.length-1].Id ){
+ return true;
+ } else{
+ return false;
+ }
+ },
+ // 淇濆瓨鏇存敼鍐呭鍒板綋鍓嶆槑缁嗗唴瀹�
+ saveEdition: function (cmp, draftValues) {
+ if(!!draftValues && draftValues.length > 0){
+ var currentData = cmp.get('v.currentData');
+ for(var i = 0; i<currentData.length; i++){
+ for(var j = 0; j<draftValues.length; j++){
+ if(currentData[i].Id == draftValues[j].Id){
+ currentData[i].HPConfirmResult__c = draftValues[j].HPConfirmResult__c;
+ break;
+ }
+ }
+ }
+ cmp.set('v.currentData',currentData);
+ }
+ cmp.set('v.draftValues', []);
+ },
+ // 鏄庣粏椤电偣鍑讳笅涓�姝ヤ繚瀛樺綍鍏ヨ〃鏁版嵁鍒版暟鎹簱锛�
+ // 濡傛灉淇濆瓨鎴愬姛锛岃烦杞枃浠朵笂浼犻〉
+ // 濡傛灉淇濆瓨澶辫触锛屽脊鍑洪敊璇痶oast锛屼繚瀛樺湪褰撻〉
+ saveeSign : function (cmp){
+ var action = cmp.get("c.saveeSignFormEntry");
+ var data = cmp.get('v.data');
+ var eSignForm = cmp.get('v.eSignForm');
+ var IsSubmit = cmp.get('v.IsSubmit');
+ action.setParams({
+ 'eSignFormLineItems' : data,
+ 'eSignForm' : eSignForm,
+ 'entryType' : '鍖婚櫌纭',
+ 'IsSubmit' : IsSubmit
+ });
+ this.showSpinner(cmp);
+ action.setCallback(this,function(response) {
+ this.hideSpinner(cmp);
+ var state = response.getState();
+ if (state === "SUCCESS") {
+ var resultData = response.getReturnValue();
+ if( resultData.isSuccess == true ){
+ cmp.set('v.recordId',resultData.result);
+ // cmp.set('v.NextPageDisplay',false);
+ // cmp.set('v.uploadFilePage',true);
+ }
+ else{
+ cmp.set("v.errorMessage", resultData.result);
+ this.showErrorToast(cmp);
+ }
+ }else{
+ cmp.set("v.errorMessage", '淇濆瓨澶辫触锛岃閲嶆柊鍔犺浇锛�');
+ this.showErrorToast(cmp);
+ }
+
+ });
+ $A.enqueueAction(action);
+
+ },
+ hospitalDetailsPageNextClick : function(cmp) {
+ //瀛樹竴涓嬫绱㈡閲岀殑鍊� 涓嶇劧浼氳娓呮帀
+ cmp.set('v.searchCase',cmp.get('v.searchCaseKey'));
+ console.log('searchCaseKey:'+cmp.get('v.searchCaseKey'));
+ var check = cmp.get("v.check");
+ // if(check){
+ // if(confirm('璇风‘璁ょ鏀跺崟淇℃伅鏄惁鍑嗙‘锛�')){
+ // cmp.set('v.HomePageDisplay',false);
+ // cmp.set('v.NextPageDisplay',true);
+ // }
+ // }else{
+ // alert('璇锋偍纭鏃犺鍚庯紝璇锋偍鍏堝嬀閫夛紝鍐嶇偣鍑讳笅涓�姝ワ紒');
+ // console.log('1:'+check);
+ // console.warn('璇锋偍纭鏃犺鍚庯紝璇锋偍鍏堝嬀閫夛紝鍐嶇偣鍑讳笅涓�姝ワ紒');
+ // }
+ //闅愯棌鍒�
+ cmp.set('v.hideCheckboxColumn',true);
+ cmp.set('v.HomePageDisplay',false);
+ cmp.set('v.NextPageDisplay',true);
+
+ },
+ submitClick : function(cmp){
+ //鍕鹃��
+ cmp.set('v.IsSubmit', true);
+ //璁剧疆涓�涓猣lag鐢ㄤ簬閬垮厤鎻愪氦涓ゆ
+ cmp.set('v.AgencyClick', true);
+ if(confirm('璇风‘璁ゆ槸鍚︿繚瀛樼‘璁ょ粨鏋滐紵')){
+ this.saveeSign(cmp);
+ }
+
+ alert('宸茬粡淇濆瓨濂戒簡锛佽鎮ㄧ偣鍑诲綍鍏ョ収鐗囨垨鑰呭叧闂椤甸潰銆�');
+ },
+ // 鏄庣粏涔熻烦杞嚦鏂囦欢涓婁紶椤甸�昏緫锛屽厛鎻愮ず鏄惁濉啓瀹屾瘯
+ handleDetailsPageNextClick : function(cmp,event) {
+ var IsHPShow = cmp.get('v.IsAgencyOrHPShow');
+ var entryType = cmp.get('v.entryType');
+ var AgencyClick = cmp.get('v.AgencyClick');
+ // if(IsHPShow&&entryType == '鍖婚櫌纭'){
+ // alert('宸茬粡鎻愪氦鍖婚櫌纭淇℃伅锛屾偍鍙兘鏌ョ湅,涓嶈兘鎻愪氦锛�');
+ // }else{
+ // var draftValues = event.getParam('draftValues');
+ // console.log('draftValues:');
+ // console.log(draftValues);
+ // if(confirm('璇风‘璁ゆ槸鍚︿繚瀛樼‘璁ょ粨鏋滐紵')){
+ // this.saveeSign(cmp);
+ // }
+ // }
+ if(AgencyClick){
+ //鐩存帴璺宠浆鏄庣粏椤�
+ cmp.set('v.NextPageDisplay',false);
+ cmp.set('v.uploadFilePage',true);
+ }else{
+ var draftValues = event.getParam('draftValues');
+ console.log('draftValues:');
+ console.log(draftValues);
+ if(confirm('璇风‘璁ゆ槸鍚︿繚瀛樼‘璁ょ粨鏋滐紵')){
+ this.saveeSign(cmp);
+ }
+ cmp.set('v.NextPageDisplay',false);
+ cmp.set('v.uploadFilePage',true);
+ }
+
+ },
+ //杩斿洖鏄庣粏椤�
+ handleShowFielePageNextClick : function(cmp) {
+ cmp.set('v.NextPageDisplay',true);
+ cmp.set('v.uploadFilePage',false);
+ },
+ //寮瑰嚭 鎴愬姛鎻愮ずtoast 鏂规硶
+ showSuccessToast : function(cmp) {
+ $A.util.removeClass(cmp.find('successDiv'), 'slds-hide');
+ window.setTimeout($A.getCallback(function() {
+ $A.util.addClass(cmp.find('successDiv'), 'slds-hide');
+ }),
+ 5000
+ );
+ },
+ //寮瑰嚭 閿欒鎻愮ずtoast 鏂规硶
+ showErrorToast : function(cmp) {
+ const width = document.documentElement.clientWidth;
+ const contentDOM1 = document.getElementById('errorSonDiv1');
+ contentDOM1.style.width = width*0.6 + 'px';
+ const contentDOM2 = document.getElementById('errorSonDiv2');
+ contentDOM2.style.width = width*0.38 + 'px';
+ contentDOM2.style.height = '4rem';
+ const contentDOM3 =document.getElementById('errorSonDiv3');
+ contentDOM3.style.width = width-150 + 'px';
+ $A.util.removeClass(cmp.find('errorDiv'), 'slds-hide');
+ window.setTimeout($A.getCallback(function() {
+ $A.util.addClass(cmp.find('errorDiv'), 'slds-hide');
+ }),
+ 5000
+ );
+ },
+ // 灞曠ず 绛夊緟妗�
+ showSpinner: function(cmp) {
+ // remove slds-hide class from mySpinner
+ var spinner = cmp.find("mySpinner");
+ $A.util.removeClass(spinner, "slds-hide");
+ },
+ // 闅愯棌 绛夊緟妗�
+ hideSpinner : function(cmp){
+ // add slds-hide class from mySpinner
+ var spinner = cmp.find("mySpinner");
+ $A.util.addClass(spinner, "slds-hide");
+ },
+ //杩斿洖鏄庣粏椤�
+ handleShowFielePageNextClick : function(cmp) {
+
+ cmp.set('v.NextPageDisplay',true);
+ cmp.set('v.uploadFilePage',false);
+ //闅愯棌鍒�
+ cmp.set('v.hideCheckboxColumn',true);
+ },
+ //杩斿洖棣栭〉
+ handleShowPageNextClick : function(cmp) {
+ //瀛樹竴涓嬫绱㈡閲岀殑鍊� 涓嶇劧浼氳娓呮帀
+ var key = document.getElementById('searchInput').value;
+ cmp.set('v.searchCaseKey',key);
+ cmp.set('v.HomePageDisplay',true);
+ cmp.set('v.NextPageDisplay',false);
+ },
+ //椤甸潰涓婃绱㈠姛鑳�
+ searchByCaseNumber :function(cmp,event){
+ //鑾峰彇杈撳叆鐨剉alue鍊�
+ var key = document.getElementById('searchInput').value;
+ var data = cmp.get('v.data');
+ //瀹氫箟涓�涓┖鏁扮粍 鐢ㄤ簬瀛樻斁鎸夌鍒嗙被鍚庣殑data
+ var tempDataList = [];
+
+ var pageSize = cmp.get('v.pageSize');
+ //鍒ゆ柇鎼滅储妗嗗唴鏄惁鏈夊��
+ if(key){
+ cmp.set('v.searchFlag',true);
+ for(var i = 0; i<data.length; i++){
+ //鑾峰彇鎵�鏈塶ame涓虹鍙风殑input 鎵归噺鏇存柊
+ if(data[i].CaseNumber__c == key){
+ tempDataList.push(data[i]);
+ }
+
+ }
+ //璁剧疆鍒嗛〉
+ var tempData = this.getTempData(tempDataList, 1,pageSize);
+ cmp.set("v.isLastPage", this.isLastPage(tempDataList,tempData));
+ cmp.set("v.dataSize", tempData.length);
+ cmp.set("v.currentData", tempData);
+ cmp.set('v.pageNumber', 1);
+ cmp.set("v.searchSize",tempDataList.length);
+
+ }else{
+ cmp.set('v.searchFlag',false);
+ //鏄剧ず鍏ㄩ儴绠�
+ var data = cmp.get('v.data');
+ var tempData = this.getTempData(data, 1,pageSize);
+ cmp.set("v.isLastPage", this.isLastPage(data,tempData));
+ cmp.set("v.dataSize", tempData.length);
+ cmp.set("v.currentData", tempData);
+ cmp.set('v.pageNumber', 1);
+ cmp.set('v.searchSize', null);
+
+ }
+
+
+ },
+ OpinionsTODetailsPage : function(cmp, event, helper){
+ //瀛樹竴涓嬫绱㈡閲岀殑鍊� 涓嶇劧浼氳娓呮帀
+ var key = document.getElementById('searchInput').value;
+ cmp.set('v.searchCaseKey',key);
+ cmp.set('v.handlingOpinionsPage',true);
+ cmp.set('v.NextPageDisplay',false);
+ },
+ NextOpinions : function(cmp, event, helper){
+ cmp.set('v.handlingOpinionsPage',false);
+ cmp.set('v.NextPageDisplay',true);
+ },
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/eSignHospitalDirectSalesHomePage/eSignHospitalDirectSalesHomePage.cmp b/force-app/main/default/aura/eSignHospitalDirectSalesHomePage/eSignHospitalDirectSalesHomePage.cmp
new file mode 100644
index 0000000..b2ef410
--- /dev/null
+++ b/force-app/main/default/aura/eSignHospitalDirectSalesHomePage/eSignHospitalDirectSalesHomePage.cmp
@@ -0,0 +1,170 @@
+<aura:component access="global" >
+ <aura:attribute name="eSignForm" type="Object"/>
+ <!-- 鍖婚櫌楠屾敹缁撴灉 -->
+ <aura:attribute name="HospitalAcceptanceResults" type="string" default="鍏ㄩ儴楠屾敹"/>
+ <!-- 绛炬敹鍗晅able -->
+ <div id="signature" style="width:90%; border: 3px solid #000;
+ top: 50%;left: 5%;
+ position:relative;
+ margin-right: 4px;
+ margin-top: 4px;
+ ">
+ <lightning:layout horizontalAlign="left" class="">
+ <lightning:layoutItem padding="around-small" size="6" >
+ <div class="header-column" >
+ <p>渚涜揣鑰咃細</p>
+ <u>
+ <p>{!v.eSignForm.supplier__c}</p>
+ </u>
+ </div>
+ </lightning:layoutItem>
+
+
+ <lightning:layoutItem padding="around-small" size="6" >
+ <div class="header-column">
+ <p>渚涜揣鑰呬紒涓氱粡钀ヨ鍙瘉鍙锋垨澶囨鍑瘉缂栧彿 :</p>
+ <u>
+ <ui:outputText value="{!v.eSignForm.supplierNo__c}"/>
+ </u>
+
+ </div>
+ </lightning:layoutItem>
+
+
+ </lightning:layout>
+
+ <lightning:layout horizontalAlign="left" class="">
+ <lightning:layoutItem padding="around-small" size="6" >
+ <div class="header-column" >
+ <p>鍚堝悓缂栧彿锛�</p>
+ <u>
+ <p>{!v.eSignForm.ContractNO__c}</p>
+ </u>
+ </div>
+ </lightning:layoutItem>
+ <lightning:layoutItem padding="around-small" size="6" >
+ <div class="header-column">
+ <p>DN/鍞涘ご鍙凤細 </p>
+ <u>
+ <p>{!v.eSignForm.DNNameNo0__c}</p>
+ </u>
+ </div>
+ </lightning:layoutItem>
+
+ </lightning:layout>
+ <lightning:layout horizontalAlign="left" class="">
+ <lightning:layoutItem padding="around-small" size="6" >
+ <div class="header-column">
+ <p>鏀惰揣鍗曚綅 : </p>
+ <u>
+ <p>{!v.eSignForm.shippingUnit__c}</p>
+ </u>
+ </div>
+ </lightning:layoutItem>
+ <lightning:layoutItem padding="around-small" size="6" >
+ <div class="header-column">
+ <p>鏀惰揣鍦板潃锛� </p>
+ <u>
+ <p>{!v.eSignForm.shippingAddress__c}</p>
+ </u>
+ </div>
+ </lightning:layoutItem>
+
+ </lightning:layout>
+
+ <lightning:layout horizontalAlign="left" class="">
+ <lightning:layoutItem padding="around-small" size="6" >
+ <div class="header-column">
+ <p>鑱旂郴浜猴細 </p>
+ <u>
+ <p>{!v.eSignForm.contactName__c}</p>
+ </u>
+ </div>
+ </lightning:layoutItem>
+ <lightning:layoutItem padding="around-small" size="6" >
+ <div class="header-column" style="word-break: break-all;">
+ <p>鑱旂郴鐢佃瘽锛� </p>
+ <u>
+ <ui:outputText value="{!v.eSignForm.contactNumber__c}"/>
+
+ </u>
+ </div>
+ </lightning:layoutItem>
+ </lightning:layout>
+
+ <lightning:layout horizontalAlign="left" class="">
+ <lightning:layoutItem padding="around-small" size="6" >
+ <div class="header-column" >
+ <p>鍙戣揣鏃ユ湡锛� </p>
+ <u>
+ <p>{!v.eSignForm.DeliveryDate__c}</p>
+ </u>
+ </div>
+ </lightning:layoutItem>
+ <lightning:layoutItem padding="around-small" size="6" >
+ <div class="header-column">
+ <p>鏈�缁堢敤鎴峰悕绉帮細 </p>
+ <u>
+ <p>{!v.eSignForm.endUserName__c}</p>
+ </u>
+ </div>
+ </lightning:layoutItem>
+ </lightning:layout>
+ <lightning:layout horizontalAlign="left" class="">
+ <lightning:layoutItem padding="around-small" size="6" >
+ <div class="header-column">
+ <p>鎬荤鏁帮細 </p>
+ <u>
+ <p>{!v.eSignForm.totalNumber__c}</p>
+ </u>
+ </div>
+ </lightning:layoutItem>
+ <lightning:layoutItem padding="around-small" size="6" >
+ <div class="header-column">
+ <p>鎬婚噸閲�(kg)锛� </p>
+ <u>
+ <p>{!v.eSignForm.totalWeight__c}</p>
+ </u>
+ </div>
+ </lightning:layoutItem>
+
+ </lightning:layout>
+
+ <lightning:layout horizontalAlign="left" class="">
+
+ <lightning:layoutItem padding="around-small" size="6" >
+ <div class="header-column">
+ <p>杩愯緭鏂瑰紡锛� </p>
+ <u>
+ <p>{!v.eSignForm.transportMode__c}</p>
+ </u>
+ </div>
+ </lightning:layoutItem>
+ <!-- <lightning:layoutItem padding="around-small" size="6" >
+ <div class="header-column">
+ <p>璐у搧瑁呯鏄庣粏锛� </p>
+ <u>
+ <p>{!v.eSignForm.GoodDetails__c}</p>
+ </u>
+ </div>
+ </lightning:layoutItem> -->
+
+ </lightning:layout>
+ <!-- <lightning:layout horizontalAlign="left" class="">
+ <lightning:layoutItem padding="around-small" size="6" >
+ <div class="header-column">
+ <p>閲嶉噺锛� </p>
+ <u>
+ <p>{!v.eSignForm.weight__c}</p>
+ </u>
+ </div>
+ </lightning:layoutItem>
+
+ </lightning:layout> -->
+
+ </div>
+
+
+
+
+</aura:component>
\ No newline at end of file
diff --git a/force-app/main/default/aura/eSignHospitalDirectSalesHomePage/eSignHospitalDirectSalesHomePage.cmp-meta.xml b/force-app/main/default/aura/eSignHospitalDirectSalesHomePage/eSignHospitalDirectSalesHomePage.cmp-meta.xml
new file mode 100644
index 0000000..ab94e48
--- /dev/null
+++ b/force-app/main/default/aura/eSignHospitalDirectSalesHomePage/eSignHospitalDirectSalesHomePage.cmp-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<AuraDefinitionBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>50.0</apiVersion>
+ <description>DESCRIPTION</description>
+</AuraDefinitionBundle>
diff --git a/force-app/main/default/aura/eSignHospitalDirectSalesPage/eSignHospitalDirectSalesPage.cmp b/force-app/main/default/aura/eSignHospitalDirectSalesPage/eSignHospitalDirectSalesPage.cmp
new file mode 100644
index 0000000..46ea853
--- /dev/null
+++ b/force-app/main/default/aura/eSignHospitalDirectSalesPage/eSignHospitalDirectSalesPage.cmp
@@ -0,0 +1,711 @@
+<aura:component implements="force:appHostable,flexipage:availableForAllPageTypes"
+access="global" controller="eSignHospitalPageController">
+<!-- eSignHospitalPageController -->
+ <aura:attribute name="DNName" type="String"
+ description="鐢ㄦ潵浠庣埗瀵硅薄鎺ユ敹浼犻�掕繃鏉ョ殑DN鍙�"
+ default=""/>
+ <aura:attribute name="allWidth" type="String"
+ description="鐢ㄦ潵浠庣埗瀵硅薄鎺ユ敹浼犻�掕繃鏉ョ殑灞忓箷瀹藉害"
+ default=""/>
+ <aura:attribute name="floatWidth" type="String"
+ description="鐢ㄦ潵浠庣埗瀵硅薄鎺ユ敹浼犻�掕繃鏉ョ殑灞忓箷瀹藉害"
+ default=""/>
+ <aura:attribute name="SANumber" type="String"
+ description="鐢ㄦ潵浠庣埗瀵硅薄鎺ユ敹浼犻�掕繃鏉ョ殑娉ㄦ畫鍙�"
+ default=""/>
+ <aura:attribute name="IsSubmit" type="boolean" default="false"
+ description="鍒ゆ柇鏄惁褰曞叆琛ㄩ渶瑕佹彁浜�"/>
+ <aura:attribute name="IsWhole" type="boolean" default="false"
+ description="鍒ゆ柇鏄庣粏涓槸鍚︽湁涓嶅畬濂界殑"/>
+ <aura:attribute name="IsHaveFile" type="boolean" default="false"
+ description="鍒ゆ柇鏄惁涓婁紶闄勪欢"/>
+ <aura:attribute name="IsUpLoad" type="boolean" default="false"
+ description="鍒ゆ柇鏄惁涓婁紶闄勪欢"/>
+ <aura:attribute name="AgencyClick" type="boolean" default="false"
+ description="鍒ゆ柇鏄惁宸叉彁浜よ繃涓�娆�"/>
+ <aura:attribute name="IsAgencyShow" type="Boolean" default=""/>
+ <aura:attribute name="IsHPShow" type="Boolean" default=""/>
+
+ <aura:attribute name="hideCheckboxColumn" type="boolean" default="true"
+ description="鍥犱负鐐逛笂涓�椤电殑鏃跺�欎笉鐭ラ亾涓轰粈涔堢疆鎴恌alse浜嗘墍浠ョ敤鍙橀噺鏉ヨ缃�"/>
+ <aura:attribute name="recordId" type="String" default=""
+ description="鍦ㄦ槑缁嗛〉鐐瑰嚮涓嬩竴姝ヤ細涓婁紶褰曞叆琛紝
+ 鐒跺悗杩斿洖鐨勫綍鍏ヨ〃ID瀛樺湪杩欓噷锛岀敤浜庝笂浼犳枃浠朵娇鐢�"/>
+ <!-- 缁忛攢鍟嗘壂鎻忔棩 -->
+ <aura:attribute name="agencyScanDayBack" type="Date" default=""/>
+ <!-- 缁忛攢鍟嗙鏀舵棩 -->
+ <aura:attribute name="agencySignUpDateBack" type="Date" default=""/>
+ <!-- 缁忛攢鍟嗙‘璁ゆ棩 -->
+ <aura:attribute name="agencyConfirmDateBack" type="Date" default=""/>
+ <!-- 鍖婚櫌楠屾敹缁撴灉 -->
+ <aura:attribute name="HospitalAcceptanceResults" type="string" default="鍏ㄩ儴楠屾敹"/>
+ <!-- 鍚堝悓缂栧彿 -->
+ <aura:attribute name="Contract_No" type="string" default="123455"/>
+ <!-- 鍙戣揣DN -->
+ <aura:attribute name="DNSignUp" type="string" default="123456"/>
+ <!-- 鍖婚櫌鍚嶇О -->
+ <aura:attribute name="HospitalName" type="string" default="TEST BJ 鍖婚櫌"/>
+ <!-- 绉戝 -->
+ <aura:attribute name="DepartmentName" type="string" default="TEST BJ 鍖婚櫌 娑堝寲绉�"/>
+ <!-- 绠辨暟 -->
+ <aura:attribute name="NumberOfCases" type="string" default="2绠�"/>
+ <aura:attribute name="HomePageDisplay" type="Boolean" default="true"/>
+ <aura:attribute name="NextPageDisplay" type="Boolean" default="false"/>
+ <!-- checkbox -->
+ <aura:attribute name="chk" type="string" default=""/>
+ <aura:attribute name="check" type="Boolean" default="false"/>
+ <!-- 鐢ㄤ簬鍒ゆ柇鏄洿閿�杩樻槸鍒嗛攢 -->
+ <aura:attribute name="isAgencyOrHp" type="Boolean" default=""/>
+ <aura:attribute name="eSignForm" type="Object"
+ description="棣栭〉淇℃伅"/>
+ <aura:attribute name="uploadFilePage" type="Boolean" default="false"
+ description="鍒ゆ柇鏄惁鏄枃浠朵笂浼犻〉"/>
+ <aura:attribute name="data" type="Object[]"
+ description="鎵�鏈夋槑缁嗙殑淇℃伅"/>
+ <aura:attribute name="currentData" type="Object[]"
+ description="鏄庣粏椤靛綋鍓嶆樉绀虹殑鏄庣粏鐨勪俊鎭�"/>
+ <aura:attribute name="dataSize" type="Integer" default="0"
+ description="鏄庣粏椤靛綋鍓嶆樉绀虹殑鏄庣粏鐨勬暟閲�"/>
+ <aura:attribute name="columns" type="List"
+ description="鏄庣粏椤佃〃鏍肩殑姣忓垪鏋勯�犵殑璁惧畾"/>
+ <aura:attribute name="pageNumber" type="Integer" default="1"
+ description="鏄庣粏椤佃〃鏍肩殑绗嚑椤�"/>
+ <aura:attribute name="pageSize" type="Integer" default="5"
+ description="鏄庣粏椤佃〃鏍肩殑姣忛〉鏄庣粏瀹归噺"/>
+ <aura:attribute name="isLastPage" type="Boolean" default="false"
+ description="鏄惁鏈�鍚庝竴椤碉紝濡傛灉鏄渶鍚庝竴椤碉紝閭d箞琛ㄦ牸鍒嗛〉鐨勪笅涓�椤典笉鍙敤"/>
+ <aura:attribute name="draftValues" type="Object" default="[]"
+ description="鏄庣粏椤佃〃鏍肩殑淇敼鍐呭锛屼繚瀛樺悗浠庤繖閲岃鍊煎瓨鍒板綋鍓嶈〃鏍奸噷闈�"
+ />
+ <aura:attribute name="successMessage" type="String"
+ description="鎴愬姛娑堟伅"/>
+ <aura:attribute name="errorMessage" type="String"
+ description="澶辫触娑堟伅"/>
+ <!-- 閫傜敤+妫�绱� start-->
+ <aura:attribute name="searchSize" type="Integer" default=""
+ description="妫�绱㈡暟鎹殑闀垮害"/>
+ <aura:attribute name="searchCase" type="Integer" default=""
+ description="瀛樻斁妫�绱㈠�硷紝淇濈暀缂撳瓨"/>
+ <aura:attribute name="searchCaseKey" type="Integer" default=""
+ description="瀛樻斁妫�绱㈠�硷紝璧嬪�肩粰searchCase"/>
+ <aura:attribute name="searchFlag" type="boolean" default=""
+ description="鎼滅储妗嗘槸鍚︽湁鍊�"/>
+ <aura:attribute name="lineItemSize" type="Integer" default=""
+ description="瀛樻斁涓�鍏辨湁澶氬皯鏉℃槑缁唖ize"/>
+ <!-- 鍖婚櫌鐢靛瓙閭欢 -->
+ <aura:attribute name="HPWorkflowEmailBack" type="String"
+ description="鍖婚櫌閭"/>
+ <aura:attribute name="applyButton" type="String" default=""
+ description="鏄剧ず閫傜敤鎸夐挳"/>
+ <aura:attribute name="allApplyButton" type="String" default=""
+ description="鏄剧ず鍏ㄩ儴鎸夐挳"/>
+ <!-- 閫傜敤+妫�绱� end -->
+
+ <!-- 鏂囦欢鍚嶅睍绀哄垪 -->
+ <aura:attribute name="activeSections" type="List" default="['A']" />
+ <aura:attribute name="activeSectionsMessage" type="String" default="" />
+ <aura:attribute name="flName" type="String" default=""
+ description="鏄剧ず鏂囦欢鍚�"/>
+ <aura:attribute name="nameList" type="Object[]"
+ description="鏄剧ず鎵�鏈夋枃浠跺悕"/>
+ <aura:attribute name="fileSize" type="Integer" default=""
+ description="璁板綍涓�鍏辨湁鍑犱釜鏂囦欢"/>
+
+ <aura:attribute name="flUpLoadName" type="String" default=""
+ description="鏄剧ず涓婁紶鏂囦欢鍚�"/>
+ <aura:attribute name="fileUpLoadSize" type="Integer" default=""
+ description="鏄剧ず涓婁紶鏂囦欢鏁�"/>
+ <aura:attribute name="nameUpLoadList" type="Object[]"
+ description="鏄剧ず鎵�鏈夋枃浠跺悕"/>
+ <aura:attribute name="uploadFlag" type="Boolean" default="false"
+ description="鐐瑰嚮涓婁紶鏂囦欢鏍囪瘑"/>
+ <aura:attribute name="base64List" type="Object[]"
+ description="鏄剧ず鎵�鏈夋枃浠跺悕"/>
+ <aura:attribute name="messageFlag" type="boolean" default="false" description="鍒ゆ柇涓婁紶鏂囦欢鏄惁鎻愮ず" />
+ <aura:attribute name="errorFlag" type="boolean" default="false" description="缃戠粶涓嶅ソ鐨勬儏鍐电疆鎴恡rue锛岀敱浜庢仮澶嶇綉缁滀笂浼犳枃浠讹紒" />
+ <aura:attribute name="submitAfterShow" type="Boolean" default="false"
+ description="鎻愪氦鍚庢樉绀洪��鍥為椤垫寜閽�"/>
+ <!-- CHAN-BWCBL8 绮剧悽鎶�鏈� wql 20201225 start -->
+ <!-- 杩斿洖棣栭〉 end -->
+ <aura:attribute name="ISDenyReason" type="boolean" default="false" description="鏄惁鍖婚櫌椹冲洖" />
+ <!-- CHAN-BWCBL8 绮剧悽鎶�鏈� wql 20201225 end -->
+ <!-- 澧炲姞鎵弿鏍囪瘑锛宐atch鍙栨秷椹冲洖鍕鹃�� 2020/12/30 wql start -->
+ <aura:attribute name="IsHPScan" type="boolean" default="false" description="鍖婚櫌鏄惁鎵弿" />
+ <!-- 澧炲姞鎵弿鏍囪瘑锛宐atch鍙栨秷椹冲洖鍕鹃�� 2020/12/30 wql end -->
+ <!-- 鏂囦欢鍚嶅睍绀哄垪 -->
+ <!-- 鏂囦欢涓婁紶-->
+ <aura:attribute name="parentId" type="Id" default="" />
+ <!-- 'showLoadingSpinner' attribute for show/hide the uploading image and msg in aura:if-->
+ <aura:attribute name="showLoadingSpinner" type="boolean" default="false" />
+ <!-- 'fileName' attribute for display the selected file name -->
+ <aura:attribute name="fileName" type="String" default="No File Selected.." />
+ <!-- Lightning Input with file type and on file change call the 'handleFilesChange' controller --> <aura:attribute name="getchunk" type="String" default="" />
+
+ <aura:attribute name="baseFile" type="String" default="" />
+ <!-- 鏂囦欢鍚嶅睍绀哄垪 -->
+
+ <!-- 涓婁紶闄勪欢 鍥剧墖棰勮 -->
+ <aura:attribute name="imageSrc" type="String" default="" />
+ <aura:attribute name="imgList" type="String" default="" />
+ <!--wangweipeng 20210616 閫夋嫨濂戒笂浼犲浘鐗囦互鍚庨瑙�-->
+ <aura:attribute name="imageBigSrc" type="String" default="" />
+ <!-- 鏂板姛鑳界殑鍏ㄥ眬鍙橀噺 绮剧悽鎶�鏈� thh 2021-09-26 start -->
+ <aura:attribute name="FontSrc" type="Map" default="{}" description="鍏宠仈鏂囦欢鍚嶅拰鏂囦欢" />
+ <aura:attribute name="FileSrc" type="Map" default="{}" description="鍏宠仈鍘嬬缉鍚庣殑鏂囦欢鍚嶅拰鏂囦欢" />
+ <aura:attribute name="attachmentID" type="Map" default="{}" description="鍏宠仈闄勪欢ID鍜岄檮浠跺悕" />
+ <aura:attribute name="loaded" type="Boolean" default="true" description="鏍规嵁浼犲叆鏂囦欢绫诲瀷鍐冲畾鏄惁鏄剧ず鍥剧墖"/>
+ <aura:attribute name="isUploadName" type="Map" default="{}" description="鍏宠仈鏂囦欢鍚嶅拰璇ユ枃浠舵槸鍚﹀凡缁忎笂浼�" />
+ <aura:attribute name="pdfSrc" type="Map" default="{}" description="鍏宠仈pdf鏂囦欢鍚嶅拰绌虹櫧src" />
+ <!-- 鏂板姛鑳界殑鍏ㄥ眬鍙橀噺 绮剧悽鎶�鏈� thh 2021-09-26 end -->
+
+ <aura:handler name="init" action="{!c.doInit}" value="{!this}"
+ description="鍒濆鍖栨柟娉�"/>
+
+
+ <!-- 澶嶉�夋缁� -->
+ <aura:attribute name="options" type="List" default="[
+ {'label': '涓婅堪鍐呭宸查槄璇伙紙榛樿鍕鹃�夛級鐐光�滀笅涓�姝モ�濆埌鏄庣粏椤�', 'value': 'option1'}
+
+ ]"/>
+ <aura:attribute name="value" type="List" default="option1"/>
+
+ <div>
+ <lightning:spinner aura:id="mySpinner" size="large"
+ description="鍔犺浇涓粍浠讹紝濡傛灉涓嶉殣钘忔暣涓〉闈㈠氨鍦ㄥ姞杞戒腑"/>
+ </div>
+
+ <!-- 鎴愬姛toast 缁勪欢鐨勫疄鐜�-->
+ <div class="slds-modal slds-fade-in-open slds-hide" aura:id="successDiv">
+ <div class="demo-only" style="height: 8rem;width:40%">
+ <div class="slds-notify_container slds-is-relative">
+ <div class="slds-notify slds-notify_toast slds-theme_success" role="alert">
+ <div class=" slds-m-left_xx-large">
+ <div class="slds-notify__content slds-m-left_small slds-align_absolute-center slds-m-left_xx-large">
+ <lightning:icon alternativeText="Success" iconName="utility:success" size="small"
+ class="buttonColor slds-m-right_small" />
+ <h2 class="slds-text-heading_small ">{!v.successMessage}</h2>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <!-- 澶辫触toast 缁勪欢鐨勫疄鐜�-->
+ <div class="slds-modal slds-fade-in-open slds-hide" aura:id="errorDiv">
+ <div class="demo-only" style="height: 8rem;" id="errorSonDiv1">
+ <div class="slds-notify_container slds-is-relative">
+ <div class="slds-notify slds-notify_toast slds-theme_error" role="status" id="errorSonDiv2" style="">
+ <div class="">
+ <div class="slds-notify__content slds-m-left_small slds-align_absolute-center">
+ <lightning:icon alternativeText="error" iconName="utility:error" size="small"
+ class="buttonColor slds-m-right_small" />
+ <h2 class="slds-text-heading_small ">
+ <div id="errorSonDiv3" style=" word-break: break-all;overflow: auto;">
+ {!v.errorMessage}
+ </div>
+ </h2>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <aura:registerEvent name="componentEvent" type="c:BackToHomePage"/>
+ <!-- 棣栭〉 -->
+ <aura:if isTrue="{!v.HomePageDisplay}">
+ <p style="font-size: 17px;">
+ 棣栭〉
+ </p>
+ <div id="qs" style=" margin-bottom: 5%;" class="slds-card" >
+
+ <!-- 棣栭〉锛岀敱浜庝笌鍖婚櫌纭椤靛叕鐢ㄧ浉鍚屼富椤碉紝鎵�浠ヤ娇鐢ㄨ繖涓粍浠�,鐒跺悗鍙互鍏敤 -->
+ <c:eSignAgencyHomePage
+ HospitalAcceptanceResults = "{!v.HospitalAcceptanceResults}"
+ eSignForm = "{!v.eSignForm}"
+ />
+
+
+ <!-- 楂樺害 -->
+ <!-- <div style="height: 20px;"></div> -->
+
+ <!-- 娉ㄦ剰浜嬮」锛� -->
+ <div id="attention" style=" position:relative;margin-right: 4px; margin-right: 4px; " class="" >
+ <lightning:layout horizontalAlign="left" class="slds-m-top_large">
+ <!-- 鏈缃甽ayoutItem鐨剆ize澶у皬 涓嶆秹鍙婂苟鍒楄繖绉嶆儏鍐� 鐩墠鑷�傚簲 -->
+ <lightning:layoutItem padding="around-small" >
+ <div class="header-column">
+ <p class="field-title" title="Field 3" style="font-weight:bold;font-size: 15px;">娉ㄦ剰浜嬮」 锛� </p>
+ <p class="field-title" title="Field 3" style="font-weight:bold;font-size: 15px;"> 1銆佹敹鍒拌揣鐗╄鍦�24灏忔椂鍐呯‘璁� </p>
+ <p class="field-title" title="Field 3" style="font-weight:bold;font-size: 15px;"> 2銆佽揣鐗╁瑙傜牬鎹熻褰撻潰涓庨�佽揣浜虹瀛楃‘璁� </p>
+ <p class="field-title" title="Field 3" style="font-weight:bold;font-size: 15px;"> 3銆佷功闈㈤�氱煡渚涜揣鑰呯牬鎹熸儏鍐靛苟鎻忚堪鐮存崯鐘舵�� </p>
+ <p class="field-title" title="Field 3" style="font-weight:bold;font-size: 15px;"> 4銆佸繀瑕佹椂璇锋媿鐓ц褰� </p>
+ <!-- 椤荤煡 -->
+ <!-- CHAN-BWCBL8 绮剧悽鎶�鏈� wql 20201225 start -->
+ <aura:if isTrue="{!v.ISDenyReason}">
+ <p class="field-title" title="Field 3" style="font-weight:bold;font-size: 20px;color: #0f218b;"></p>
+ <p class="field-title" title="Field 3" style="font-weight:bold;font-size: 15px;color: red;"> 椹冲洖鍘熷洜锛歿!v.eSignForm.HPDenyReason__c} </p>
+ </aura:if>
+ <!-- CHAN-BWCBL8 绮剧悽鎶�鏈� wql 20201225 end -->
+ </div>
+ </lightning:layoutItem>
+ </lightning:layout>
+
+ <!-- 椤荤煡 -->
+ <lightning:layout horizontalAlign="left" class="slds-m-top_small">
+ <!-- 鏈缃甽ayoutItem鐨剆ize澶у皬 涓嶆秹鍙婂苟鍒楄繖绉嶆儏鍐� 鐩墠鑷�傚簲 -->
+ <lightning:layoutItem padding="around-small">
+ <!-- <lightning:checkboxGroup name="checkbox"
+ label=""
+ options="{! v.options }"
+ value="{! v.value }"
+ onchange="{! c.handleChange }"/> -->
+ <lightning:input type="checkbox" label="涓婅堪鍐呭宸查槄璇伙紝鐐光�滀笅涓�姝モ�濆埌鏄庣粏椤�" id="chk" name="chk" checked="{!v.check}" />
+ </lightning:layoutItem>
+ </lightning:layout>
+
+ </div>
+
+
+ <!-- 浠庨椤靛埌妫�绱㈤〉鐨勪笂涓�姝ユ寜閽� -->
+ <!-- <div class="slds-float_left">
+ <lightning:button variant="brand"
+ label="涓婁竴姝�" title="涓婁竴姝�" onclick="{! c.BackToHomePage }" />
+ </div> -->
+ <div class="slds-float_right">
+ <lightning:button variant="brand"
+ label="涓嬩竴姝�" title="涓嬩竴姝�" onclick="{! c.hospitalDetailsPageNextClick }" />
+ </div>
+</div>
+ <!-- </lightning:datatable> -->
+ </aura:if>
+ <aura:renderIf isTrue="{!v.NextPageDisplay}">
+ <!-- 鍔犱笂婊氬姩鏉� -->
+
+ <div id="header" style="{!'width:'+v.floatWidth+'px;'}">
+ <tr>
+ <td class="field-title" title="Field 3" style="font-weight:bold;font-size: 15px;" align="left">锛堝悜鍙虫粦鍔ㄦ煡鐪嬫洿澶氫俊鎭級
+
+ </td>
+ </tr>
+
+ </div>
+ <!-- 妫�绱� -->
+ <div id="searchDiv" class="slds-page-header" role="banner" style="{!'width:'+v.floatWidth+'px;'}">
+ <div class="slds-float_center" style="text-align:center">
+ <tr>
+ <td align="right" style="{!'padding-left:'+v.floatWidth*0.15+'px;'}">绠卞彿:
+ <input id="searchInput" lightning-input_input ="" type="text" class="slds-input" value="{!v.searchCase}" name="" onchange="{!c.searchByCaseNumber}" style="{!'width:'+v.floatWidth*0.2+'px;'}"/>
+ </td>
+
+ <td style="padding-left: 5px;">
+ <aura:if isTrue="{!v.searchFlag}">
+ 璇ョ鍏辨湁{!v.searchSize}鏉℃暟鎹��
+ <aura:set attribute="else">
+ 璇ュ崟鍏辨湁{!v.lineItemSize}鏉℃暟鎹��
+ </aura:set>
+ </aura:if>
+ </td>
+ </tr>
+ </div>
+ </div>
+ <div id="allDiv" style="{!'width:'+v.allWidth+'px;overflow-x:scroll;'}">
+ <div id="in" style=" width:799px;margin-right: 4px; ">
+ <!-- 鏄剧ず鍦ㄦ槑缁嗛〉鐨勫綋鍓嶆槑缁嗙殑琛ㄦ牸 -->
+ <div id="inTable" >
+ <!-- <lightning:card> -->
+ <aura:set attribute="title">
+ 璐х墿绛炬敹鍗曟槑缁�
+ </aura:set>
+
+ <table class="slds-table slds-table_cell-buffer slds-table_bordered slds-hint-parent slds-no-row-hover " style="table-layout: fixed;">
+ <thead>
+ <tr class="slds-line-height_reset slds-text-title_caps">
+ <!-- 绗竴鍒� 浜у搧鍨嬪彿 -->
+ <th class="slds-is-resizable" tabindex="-1" data-label="浜у搧鍨嬪彿" scope="row">
+
+ <span class="slds-grid slds-grid_align-spread" style="
+ width: 110px;text-align: left;display:block;">
+ <div class="slds-truncate">
+ <span title="浜у搧鍨嬪彿" class="slds-truncate" style="padding-bottom: 3px;">浜у搧鍨嬪彿</span> </div>
+ </span>
+
+
+
+ </th>
+ <!-- 绗簩鍒� CODE -->
+ <!-- <th class="slds-is-resizable" tabindex="-1" data-label="CODE" scope="row" style="width: 137px;height: 35px; outline: none;">
+
+ <span class="slds-grid slds-grid_align-spread" style="text-align: center;display:block;">
+ <div class="slds-truncate">
+ <span title="CODE" class="slds-truncate" style="padding-bottom: 3px;">CODE</span>
+ </div>
+
+ </span>
+
+
+ </th> -->
+
+ <!-- 绗笁鍒� 浜у搧鍚嶇О-->
+ <th class="slds-is-resizable" tabindex="-1" data-label="浜у搧鍚嶇О" scope="row" style="width: 361px;height: 35px;">
+
+ <span class="slds-grid slds-grid_align-spread" style="text-align: left;display:block;">
+ <div class="slds-truncate">
+ <span title="浜у搧鍚嶇О" class="slds-truncate" style="padding-bottom: 3px;">浜у搧鍚嶇О</span>
+
+
+ </div>
+ </span>
+
+
+ </th>
+
+ <!-- 绗洓鍒� 鏁伴噺-->
+ <th class="slds-is-resizable" tabindex="-1" data-label="鏁伴噺" scope="row" style="width: 50px;height: 35px;">
+
+ <span class="slds-grid slds-grid_align-spread" style="text-align: center;display:block;">
+ <div class="slds-truncate">
+ <span title="鏁伴噺" class="slds-truncate" style="padding-bottom: 3px;">鏁伴噺</span>
+
+
+ </div>
+ </span>
+
+
+
+ </th>
+
+ <!-- 绗簲鍒� 绠卞彿-->
+ <th class="slds-is-resizable" tabindex="-1" data-label="绠卞彿" scope="row" style="width: 50px;height: 35px;">
+
+ <span class="slds-grid slds-grid_align-spread" style="text-align: center;display:block;">
+ <div class="slds-truncate">
+ <span title="绠卞彿" class="slds-truncate" style="padding-bottom: 3px;">绠卞彿</span>
+
+
+ </div>
+ </span>
+
+
+
+ </th>
+ <!-- 绗叚鍒� 璐х墿鎯呭喌-->
+ <th class="slds-is-resizable" tabindex="-1" data-label="璐х墿鎯呭喌" scope="row" style="width: 110px;height: 35px;">
+
+ <span class="slds-grid slds-grid_align-spread" style="text-align: center;display:block;">
+ <div class="slds-truncate">
+ <span title="璐х墿鎯呭喌" class="slds-truncate" style="padding-bottom: 3px;">璐х墿鎯呭喌</span>
+
+
+ </div>
+ </span>
+
+
+
+ </th>
+ <!-- 绗竷鍒� 鎸夐挳鍒�-->
+
+ <th class="slds-is-resizable" tabindex="-1" data-label="鎸夐挳鍒�" scope="row" style="width: 86px;height: 35px;">
+
+ <span class="slds-grid slds-grid_align-spread" style="text-align: center;display:block;">
+ <div class="slds-truncate">
+ <span title="鎸夐挳鍒�" class="slds-truncate" style="padding-bottom: 3px;">鎸夌閫傜敤</span>
+
+
+ </div>
+ </span>
+
+
+
+ </th>
+
+
+ </tr>
+ </thead>
+ <aura:if isTrue="{!v.currentData.length > 0}">
+ <tbody>
+ <aura:iteration items="{!v.currentData}" var="curr" indexVar="idx">
+ <tr class="slds-hint-parent">
+ <!-- 琛岄」鐩篃鐢╰h 鍥犱负鐢╰d鏍囩鐐瑰嚮鍒楃殑楂樺厜 鍦ㄨ嫻鏋滆澶囦笂 鏈夌棔杩� -->
+ <!-- 琛岄」鐩� 绗竴鍒� 浜у搧鍨嬪彿 -->
+ <th class="slds-is-resizable" tabindex="-1" data-label="浜у搧鍨嬪彿" scope="row">
+
+ <span class="slds-grid slds-grid_align-spread" style="
+ width: 110px;
+ padding-top: 6px;height:31px;
+ ">
+ <div class="slds-truncate">
+ <lightning:formattedText id="{!curr.Id+':'+idx+':Asset_Model_No__c'}" value="{!curr.Asset_Model_No__c}" />
+ </div>
+ </span>
+
+
+
+ </th>
+
+ <!-- 琛岄」鐩� 绗簩鍒� CODE-->
+ <!-- <th class="slds-is-resizable" tabindex="-1" data-label="CODE" scope="row">
+
+ <span class="slds-grid slds-grid_align-spread">
+ <div class="slds-truncate">
+ <lightning:formattedText value="{!curr.OTCode__c}" />
+
+
+
+ </div>
+ </span>
+
+
+
+ </th> -->
+ <!-- 琛岄」鐩� 绗笁鍒� 浜у搧鍚嶇О-->
+ <th class="slds-is-resizable" tabindex="-1" data-label="浜у搧鍚嶇О" scope="row" style="white-space:nowrap;
+ overflow:hidden;
+ text-overflow: ellipsis;">
+
+ <span class="slds-grid slds-grid_align-spread">
+ <div class="slds-truncate">
+ <lightning:formattedText id="{!curr.Id+':'+idx+':productName__c'}" value="{!curr.productName__c}" />
+
+
+ </div>
+ </span>
+
+
+
+ </th>
+ <!-- 琛岄」鐩� 绗洓鍒� 鏁伴噺-->
+ <th class="slds-is-resizable" tabindex="-1" data-label="鏁伴噺" scope="row" >
+
+ <span class="slds-grid slds-grid_align-spread" style="text-align: center;display:block;">
+ <div class="slds-truncate">
+ <lightning:formattedText id="{!curr.Id+':'+idx+':Count_Text__c'}" value="{!curr.Count_Text__c}" />
+
+
+ </div>
+ </span>
+
+
+
+ </th>
+ <!-- 琛岄」鐩� 绗簲鍒� 绠卞彿-->
+ <th class="slds-is-resizable" tabindex="-1" data-label="绠卞彿" scope="row">
+
+ <span class="slds-grid slds-grid_align-spread" style="text-align: center;display:block;">
+ <div class="slds-truncate">
+ <lightning:formattedNumber id="{!curr.Id+':'+idx+':CaseNumber__c'}" value="{!curr.CaseNumber__c}"/>
+
+
+ </div>
+ </span>
+
+
+
+ </th>
+
+ <!-- 琛岄」鐩� 绗叚鍒� 璐х墿鎯呭喌-->
+ <th class="slds-is-resizable" tabindex="-1" data-label="璐х墿鎯呭喌" scope="row">
+
+ <input id="{!curr.Id+':'+idx+':'+curr.CaseNumber__c}" lightning-input_input ="" type="text" class="slds-input" value="{!curr.HPGoodStatus__c}" onchange="{!c.GoodsChanged}" />
+
+
+ <button id="{!curr.Id+idx}" tabindex="-1" class="slds-button slds-button_icon slds-cell-edit__button slds-m-left_x-small" style="display: none;" >
+ <lightning:icon iconName="utility:success" alternativeText="Success!" variant="Success"
+ title="success variant xx-small" size="xx-small"/>
+ </button>
+
+ </th>
+ <!-- 琛岄」鐩� 绗竷鍒� 鎸夐挳鍒� -->
+ <!-- <aura:if isTrue="{!v.applyButton}"> -->
+ <th class="slds-is-resizable" tabindex="-1" data-label="" scope="row">
+
+ <button id="{!curr.Id+':'+idx+':'}" tabindex="-1" class="slds-button ReturnButton" name="{!curr.CaseNumber__c}" style="{!'display:'+curr.isBlockButton__c+';width: 40px;'}" onclick="{!c.BatchUpdateByCase}">閫傜敤</button>
+
+
+ </th>
+
+ </tr>
+ </aura:iteration>
+ </tbody>
+
+ </aura:if>
+ </table>
+
+ <!-- <div class="slds-box">
+
+ <div align="center" style="float: left;padding-left: 370px;">
+ <lightning:button variant="neutral"
+ label="cancel" title="cancel" onclick="" />
+ </div>
+
+ <div align="center" style="padding-right: 370px;">
+ <lightning:button variant="brand"
+ label="save" title="save" onclick=""/>
+ </div>
+ </div> -->
+ <aura:if isTrue="{!empty(v.currentData)}">
+ <div class="slds-align_absolute-center">
+ No records found
+ </div>
+ </aura:if>
+ <!-- </lightning:card> -->
+
+
+
+ </div>
+ </div>
+ </div>
+ <!-- 鍒嗛〉鍔熻兘鐨勪笂涓�椤靛拰涓嬩竴椤碉紝 杩樻槸鏈�宸︿晶鐨勬樉绀哄綋鍓嶉〉鏁扮殑閫昏緫-->
+ <div id="floatDiv" style="{!'width:'+v.floatWidth+'px;'}">
+ <div class="slds-clearfix">
+ <div class="slds-page-header" role="banner">
+ <div class="slds-float_center" style="text-align:center">
+ <!-- iconName="utility:chevronleft" iconPosition="left" -->
+ <lightning:button iconName="utility:left"
+ onclick="{!c.handleHome}" disabled="{! v.pageNumber == 1}"/>
+ <lightning:button iconName="utility:chevronleft" iconPosition="left"
+ onclick="{!c.handlePrev}" disabled="{! v.pageNumber == 1}"/>
+ <span title="褰撳墠椤�"> {!v.pageNumber}
+ </span>
+ <lightning:button iconName="utility:chevronright" iconPosition="right"
+ disabled="{! v.isLastPage}" onclick="{!c.handleNext}"/>
+ <!-- iconName="utility:chevronright" iconPosition="right" -->
+ <lightning:button iconName="utility:right"
+ disabled="{! v.isLastPage}" onclick="{!c.handleLast}"/>
+
+ </div>
+
+ </div>
+ </div>
+
+ <!-- 鏄庣粏椤佃烦杞嚦鏂囦欢涓婁紶椤电殑鎸夐挳 -->
+ <!-- 鏄庣粏椤佃烦杞嚦鏂囦欢涓婁紶椤电殑鎸夐挳 -->
+
+ <div class="slds-float_right">
+ <!-- <aura:if isTrue="{!v.isAgencyOrHp}"> -->
+ <div id="attention" style=" position:relative;margin-right: 4px; margin-right: 4px; " class="" >
+ <!-- 纭鎻愪氦 -->
+ <!-- <lightning:layout horizontalAlign="left" class="slds-m-top_small">
+ <lightning:layoutItem padding="around-small">
+ <lightning:input type="checkbox"
+ label="鏄惁鎻愪氦濉啓鍐呭(榛樿鍕鹃��),鐐光�滀笅涓�姝モ�濆埌鍥剧墖涓婁紶椤�"
+ id="IsSubmit" name="IsSubmit"
+ checked="{!v.IsSubmit}" />
+ </lightning:layoutItem>
+ </lightning:layout> -->
+ </div>
+ <!-- </aura:if> -->
+ <lightning:button variant="brand"
+ label="涓嬩竴姝�" title="涓嬩竴姝�" onclick="{! c.handleDetailsPageNextClick }" />
+ </div>
+ <div class="slds-float_left">
+ <div id="attention" style=" position:relative;margin-right: 4px; margin-right: 4px; " class="" >
+ <!-- 纭鎻愪氦 -->
+ <lightning:button variant="brand"
+ label="涓婁竴姝�" title="涓婁竴姝�" onclick="{! c.handleShowPageNextClick }" />
+ </div>
+ </div>
+ </div>
+
+
+ </aura:renderIf>
+ <aura:if isTrue="{!v.uploadFilePage}">
+ <!-- 鏂囦欢涓婁紶缁勪欢 -->
+ <div aura:id="uploadFile" id="uploadFileDiv">
+ <div class="slds-box">
+ <lightning:input aura:id="fileId" onchange="{!c.handleFilesChange}" type="file" label="涓婁紶闄勪欢" multiple="false" />
+ <lightning:notificationsLibrary aura:id="notifLibPlanA" />
+ <div style="display: inline-block; vertical-align: top;">
+ <div id="imgDiv">
+ <div id="font">棰勮鍖哄煙</div>
+ <!-- 褰撲笂浼犵殑闄勪欢涓簆df鏃讹紝闅愯棌棰勮鍖哄煙 绮剧悽鎶�鏈爐hh聽2021-09-15聽-->
+ <div id = "loaded" style="display: none;">
+ <img id="image" class="imgeBigCss" src="{!v.imageSrc}" style="display: none;" onclick="{!c.imgeBig}" />
+ <!--wangweipeng 20210616 鍥剧墖閫夊ソ浠ュ悗锛屽鎴峰彲鑳介渶瑕侀瑙堟斁澶ф煡鐪�-->
+ <div id="outerdiv" onclick="{!c.imgeSmall}">
+ <img id="bigImg" src="{!v.imageBigSrc}" style="border:1px solid #fff;" />
+ </div>
+ </div>
+ <div id = "fontpdf" style="display: none;">PDF鏂囦欢鏆備笉鏀寔棰勮</div>
+ </div>
+ </div>
+ <!-- 澧炲姞鏂囦欢鍒楄〃鍒犻櫎鍔熻兘聽聽绮剧悽鎶�鏈爐hh聽2021-08-25聽start聽-->
+ <!-- inline-block 鍏冪礌淇濇寔琛屽唴鎺掑垪涓斿彲浠ヨ缃楂� -->
+ <div style="display: inline-block; vertical-align: top;">
+ <!-- <lightning:buttonIcon iconName="utility:close" variant="bare" onclick="{!c.deleteClick}" alternativeText="Close modal" title="鍒犻櫎" iconClass="deleteicon"/> -->
+ <lightning:button label="鍒犻櫎" onclick="{!c.deleteClick}" title="鍒犻櫎" />
+ </div>
+ <!-- 澧炲姞鏂囦欢鍒楄〃鍒犻櫎鍔熻兘聽聽绮剧悽鎶�鏈爐hh聽2021-08-25聽end聽-->
+ <!-- 鏍囪瘑棰勮鍥剧墖鍚嶅瓧聽聽绮剧悽鎶�鏈爐hh聽2021-09-09聽start聽-->
+ <div>
+ <div id = "filenow" class="field-title" title="Field 3" style="display: inline-block; margin-left:10px; word-break: break-all; word-wrap: break-word; font-weight:bold; font-size: 15px; padding-top: 5px; color:#0f218b;"></div>
+ <!-- 鏂囦欢涓婁紶鍚庡綋鍓嶆枃浠跺悕鍚庨潰鍑虹幇缁胯壊灏忓嬀 绮剧悽鎶�鏈� thh 2021-09-15 start-->
+ <div id = "uploadicon" style="display: none;">
+ <div style="margin-left: 5px;">
+ <lightning:icon iconName="utility:success" alternativeText="Success!" variant="Success" title="success variant x-small" size="x-small" />
+ </div>
+ </div>
+ <!-- 鏂囦欢涓婁紶鍚庡綋鍓嶆枃浠跺悕鍚庨潰鍑虹幇缁胯壊灏忓嬀 绮剧悽鎶�鏈� thh 2021-09-15 end-->
+ </div>
+ <!-- 鏍囪瘑棰勮鍥剧墖鍚嶅瓧聽聽绮剧悽鎶�鏈爐hh聽2021-09-09聽end聽-->
+ <p class="field-title" title="Field 3" style="font-weight:bold;font-size: 15px;padding-top: 7px;color:red;">
+ 锛堥殢璐у悓琛屽崟鐩栫珷鍚庢媿鐓т笂浼狅級
+ </p>
+ <p class="field-title" title="Field 3" style="font-weight:bold;font-size: 15px;padding-top: 7px;color:red;">
+ 锛堥檮浠朵笂浼犳垚鍔熷悗璇风偣鍑绘彁浜わ級
+ </p>
+ <aura:if isTrue="{!v.showLoadingSpinner}">
+ <div class="slds-text-body_small slds-text-color_error">涓婁紶涓�...
+ <img src="/auraFW/resources/aura/images/spinner.gif" class="spinner-img" alt="Loading" />
+ </div>
+ </aura:if>
+ <br/>
+ <button class="slds-button slds-button_brand" onclick="{!c.doSave}">2.涓婁紶闄勪欢</button>
+ <lightning:accordion allowMultipleSectionsOpen="true" onsectiontoggle="{! c.handleSectionToggle }" activeSectionName="{! v.activeSections }">
+ <lightning:accordionSection name="A" label="鏂囦欢鍒楄〃">
+ <!-- 澧炲姞灏忚壊鍧� 绮剧悽鎶�鏈� thh 2021-09-26 start -->
+ <div>
+ <div style="display: inline-block; background-color: Grey; width:10px; height:10px;" />
+ <div style="margin-left: 5px; display: inline-block; font-weight:bold;font-size: 10px;padding-top: 7px;color:Grey;"> 鏈笂浼� </div>
+ <div style="margin-left: 40px; display: inline-block; background-color: Green; width:10px; height:10px;" />
+ <div style="margin-left: 5px; display: inline-block; font-weight:bold;font-size: 10px;padding-top: 7px;color:Green;"> 宸蹭笂浼� </div>
+ </div>
+ <!-- 澧炲姞灏忚壊鍧� 绮剧悽鎶�鏈� thh 2021-09-26 end -->
+ <!-- overflow: scroll; 鑷姩闅愯棌婊氬姩鏉� -->
+ <div id="fileNameDiv" style="height:50px;width:250px; overflow: scroll;">
+ <!-- 澧炲姞鐐瑰嚮鏂囦欢鍒楄〃鍒囨崲鏌ョ湅鍥剧墖闄勪欢聽聽绮剧悽鎶�鏈爐hh聽2021-08-24聽start聽-->
+ <p id='file00' onclick="{!c.buttonClicked}"></p>
+ <!-- 澧炲姞鐐瑰嚮鏂囦欢鍒楄〃鍒囨崲鏌ョ湅鍥剧墖闄勪欢聽聽绮剧悽鎶�鏈爐hh聽2021-08-24聽end聽-->
+ </div>
+ </lightning:accordionSection>
+ </lightning:accordion>
+ <div id="emailDiv" style="height: 90px;padding-top: 30px;">
+ <lightning:input aura:id="inputCmp" name="fullName" type="email" value="" label="濡傛湁闇�瑕侊紝璇峰~鍐欐偍鐨勯偖绠�:" messageWhenTypeMismatch="璇锋偍杈撳叆鏈夋晥鐨勭數瀛愰偖绠便��" />
+ </div>
+ </div>
+ </div>
+ <!-- 鏄庣粏椤佃烦杞嚦鏂囦欢涓婁紶椤电殑鎸夐挳 -->
+ <div class="slds-float_left">
+ <lightning:button variant="brand"
+ label="涓婁竴姝�" title="涓婁竴姝�" onclick="{! c.handleShowFielePageNextClick }" />
+ </div>
+ <!-- <div style="position: fixed;margin-left:36%;">
+ <lightning:button variant="brand"
+ label="鎻愪氦" title="鎻愪氦" onclick="{! c.submitClick }" />
+ </div>
+ <div class="slds-float_right">
+ <lightning:button variant="brand"
+ label="閫�鍥為椤�" title="閫�鍥為椤�" onclick="{! c.BackToHomePage }" />
+ </div> -->
+ <div id="submitAgency" style="text-align:right;flex: 1;padding-top: 1px;">
+ <lightning:button variant="brand"
+ label="3.鎻愪氦" title="3.鎻愪氦" onclick="{! c.submitClick }" />
+ </div>
+
+ <aura:if isTrue="{!v.submitAfterShow}">
+ <div id="backHome" style="text-align:right;flex: 1;padding-top: 1px;">
+ <lightning:button variant="brand"
+ label="閫�鍥為椤�" title="閫�鍥為椤�" onclick="{! c.BackToHomePage }" />
+ </div>
+ </aura:if>
+ </aura:if>
+</aura:component>
\ No newline at end of file
diff --git a/force-app/main/default/aura/eSignHospitalDirectSalesPage/eSignHospitalDirectSalesPage.cmp-meta.xml b/force-app/main/default/aura/eSignHospitalDirectSalesPage/eSignHospitalDirectSalesPage.cmp-meta.xml
new file mode 100644
index 0000000..ab94e48
--- /dev/null
+++ b/force-app/main/default/aura/eSignHospitalDirectSalesPage/eSignHospitalDirectSalesPage.cmp-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<AuraDefinitionBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>50.0</apiVersion>
+ <description>DESCRIPTION</description>
+</AuraDefinitionBundle>
diff --git a/force-app/main/default/aura/eSignHospitalDirectSalesPage/eSignHospitalDirectSalesPage.css b/force-app/main/default/aura/eSignHospitalDirectSalesPage/eSignHospitalDirectSalesPage.css
new file mode 100644
index 0000000..4360429
--- /dev/null
+++ b/force-app/main/default/aura/eSignHospitalDirectSalesPage/eSignHospitalDirectSalesPage.css
@@ -0,0 +1,164 @@
+.THIS table thead tr th:first-child
+{
+
+ position: fixed;
+ /*top: 45px;*/
+ z-index: 2;
+ /*width: 50px;*/
+ background-color: white;
+ padding-top:13px;
+
+
+}
+.THIS table thead tr th:nth-child(2)
+{
+ /*background-color: white;
+ position: fixed;
+ z-index: 1;
+ top: 45px;
+ padding-left: 50px;
+ width: 161px;*/
+ padding-left: 0px;
+
+
+}
+.THIS table thead tr th:nth-child(3)
+{
+ padding-left: 0px;
+
+}
+.THIS table thead tr th:nth-child(4)
+{
+ padding-left: 0px;
+
+}
+.THIS table thead tr th:nth-child(5)
+{
+ padding-left: 0px;
+
+}
+.THIS table thead tr th:nth-child(6)
+{
+ padding-left: 0px;
+
+}
+
+.THIS table tbody tr th:first-child
+{
+ background-color: white;
+ position: fixed;
+ z-index: 2;
+ padding-top:8.5px;
+ /*width: 50px;
+ padding-top: 9.0px;*/
+
+
+
+
+}
+
+.THIS table tbody tr th:nth-child(2)
+{
+ /*background-color: white;
+ position: fixed;
+ z-index: 1;
+ padding-left: 50px;
+ padding-top: 9.0px;
+ width: 161px;*/
+ padding-left: 0px;
+
+
+
+}
+.THIS table tbody tr th:nth-child(3)
+{
+ padding-left: 0px;
+
+}
+
+.THIS table tbody tr th:nth-child(4)
+{
+ padding-left: 0px;
+
+}
+
+.THIS table tbody tr th:nth-child(5)
+{
+ padding-left: 0px;
+
+}
+.THIS .slds-button_icon-bare{
+ display: none;
+}
+
+.THIS #imgDiv{
+ width: 200px;
+ height: 200px;
+ border: 1px dashed #000;
+ /* margin: 0 auto; */
+ margin: 10px;
+ position: relative;
+ display: table-cell;
+ vertical-align: middle;
+ text-align: center;
+}
+
+.THIS #imgDiv>img {
+ width: 100%;
+ height: 100%;
+}
+
+/*wangweipeng 20210616 鍥剧墖棰勮鑳屾櫙鍥�*/
+.THIS #outerdiv {
+ position:fixed;
+ top:0;
+ left:0;
+ background:rgba(0,0,0,0.7);
+ z-index:2;
+ width:100%;
+ height:100%;
+ display:none;
+}
+/*wangweipeng 20210616 鍥剧墖棰勮鏍峰紡*/
+.THIS #bigImg {
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ transform: translate(-50%,-50%);
+}
+/*澧炲姞鏂囦欢鍒楄〃鍒犻櫎鍔熻兘聽聽绮剧悽鎶�鏈爐hh聽2021-08-25聽start*/
+/*鍒犻櫎鍥炬爣鐨勬牱寮�*/
+.THIS .deleteicon {
+ color: #0f218b;
+ width: 25px;
+ height: 25px;
+ /*杩欐牱鎵嶈兘浣跨浉閭荤殑a鐪嬭捣鏉ュ氨闅旂潃涓�涓竟妗�*/
+ margin: -1px 0 0 -1px;
+ float:left;
+ /*浣垮緱鐩搁偦鎺掑垪*/
+ position:relative;
+ border-bottom-left-radius: 2px;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+}
+
+.THIS .deleteicon:hover{
+ border:1px solid #0f218b;
+ border-radius:2px;
+ /*杩欐牱鎵嶈兘浣块紶鏍囨斁涓婂幓鐨勬椂鍊欐樉绀哄叏閮ㄧ殑钃濊壊妗�,鍚﹀垯鍥犱负maring鐨勭紭鏁咃紝杈规鐨勫彸鍗婇儴鍒嗕細琚浉閭荤殑a鐨勮竟妗嗛伄鐩� */
+ z-index: 10;
+}
+/*澧炲姞鏂囦欢鍒楄〃鍒犻櫎鍔熻兘聽聽绮剧悽鎶�鏈爐hh聽2021-08-25 end*/
+/*loaded鑷繁鍔犱簡style锛屽緱閲嶆柊璁剧疆鏍峰紡 绮剧悽鎶�鏈爐hh聽2021-09-15 start*/
+.THIS #loaded {
+ width: 200px;
+ height: 200px;
+ position: relative;
+ text-align: center;
+}
+
+.THIS #loaded>img {
+ width: 100%;
+ height: 100%;
+}
+/*loaded鑷繁鍔犱簡style锛屽緱閲嶆柊璁剧疆鏍峰紡 绮剧悽鎶�鏈爐hh聽2021-09-15 end*/
\ No newline at end of file
diff --git a/force-app/main/default/aura/eSignHospitalDirectSalesPage/eSignHospitalDirectSalesPageController.js b/force-app/main/default/aura/eSignHospitalDirectSalesPage/eSignHospitalDirectSalesPageController.js
new file mode 100644
index 0000000..a781314
--- /dev/null
+++ b/force-app/main/default/aura/eSignHospitalDirectSalesPage/eSignHospitalDirectSalesPageController.js
@@ -0,0 +1,708 @@
+({
+ myAction : function(component, event, helper) {
+
+ },
+ // 鍒濆鍖栧嚱鏁�
+ doInit : function(cmp, event, helper) {
+ // 璁剧疆鏄庣粏椤佃〃鏍肩殑鏋勯��
+ helper.getColumnAndAction(cmp);
+ // 浠庢暟鎹簱閲岄潰璇诲彇鏁版嵁
+ helper.geteSign(cmp);
+ },
+ // 鏄庣粏椤佃〃鏍肩殑缈婚〉涓嬩竴椤�
+ handleNext : function(cmp, event, helper) {
+ helper.handleNext(cmp);
+ },
+ // 鏄庣粏椤佃〃鏍肩殑缈婚〉涓婁竴椤�
+ handlePrev : function(cmp, event, helper) {
+ helper.handlePrev(cmp);
+ },
+ // 鏄庣粏椤佃〃鏍肩殑缈婚〉棣栭〉
+ handleHome : function(cmp, event, helper) {
+ helper.handleHome(cmp);
+ },
+ // 鏄庣粏椤佃〃鏍肩殑缈婚〉灏鹃〉
+ handleLast : function(cmp, event, helper) {
+ helper.handleLast(cmp);
+ },
+ // 琛ㄦ牸纭鏇存敼
+ handleSaveEdition: function (cmp, event, helper) {
+ //鑾峰彇鏇存敼鍐呭
+ var draftValues = event.getParam('draftValues');
+ helper.saveEdition(cmp, draftValues);
+ },
+ // 鏂囦欢涓婁紶缁撴灉鍚庣殑澶勭悊
+ handleUploadFinished: function(cmp, event) {
+ // 鑾峰彇涓婁紶鎴愬姛鏂囦欢鐨勪俊鎭�
+ var uploadedFiles = event.getParam("files");
+ var count;
+ var fileName;
+ var nameList = [];
+ if (uploadedFiles.length > 0) {
+ // 涔嬫墍浠ュ湪杩欓噷鍐欒繖涓脊鍑烘锛屽洜涓哄啓鍦╤elper閲岄潰涓嶇煡閬撲负鍟ュ脊涓嶅嚭鏉ワ紱
+ cmp.set("v.IsHaveFile", true);
+
+ // alert("璇锋偍鐐瑰嚮鎻愪氦鎸夐挳涓婁紶鏁版嵁锛�");
+ //鑾峰彇鏂囦欢涓婁紶鏁伴噺
+ var size = cmp.get("v.fileSize");
+ if (size) {
+ cmp.set('v.fileSize', size + uploadedFiles.length);
+ } else {
+ cmp.set('v.fileSize', uploadedFiles.length);
+ }
+ count = cmp.get("v.fileSize");
+
+ // console.log(file.name)
+ // 鎵撳嵃涓婁紶鎴愬姛鏂囦欢鐨勫悕瀛�
+ uploadedFiles.forEach(file => fileName = file.name);
+ var name = cmp.get("v.flName");
+ if (name) {
+ cmp.set('v.flName', name + ',' + fileName);
+ // nameList.pust(name);
+ } else {
+ cmp.set('v.flName', fileName);
+ }
+ fileName = cmp.get("v.flName");
+
+ }
+ if (count > 0) {
+ // alert("鎮ㄥ凡缁忔垚鍔熶笂浼�"+count+"涓枃浠�,鎻愪氦鐢宠璇风偣鍑绘彁浜ゆ寜閽��");
+ cmp.find('notifLibPlanA').showToast({
+ "title": "Success!",
+ "message": "鎮ㄥ凡缁忔垚鍔熼�夋嫨" + count + "涓枃浠�,璇风偣鍑讳笂浼犳枃浠舵寜閽笂浼犮��"
+ });
+
+ //鍒楀嚭鏂囦欢鍚�01 鎵�鏈夋枃浠跺悕閮界敤閫楀彿闅斿紑 鏍规嵁閫楀彿鎷嗗垎锛屽瓨鏀炬暟缁�
+ var nameList = fileName.split(',');
+ //瀛樻斁鍒板彉閲忎腑 鐢ㄤ簬涓婁竴椤典笅涓�椤佃繛鐐�
+ cmp.set('v.nameList', nameList);
+ if (nameList.length > 0) {
+ var strList = '';
+ for (var i = 0; i < nameList.length; i++) {
+ var num = Number(i) + 1;
+ var id = 'file0' + num;
+ //鏍囪瘑鏂囦欢鏄惁宸茬粡涓婁紶 绮剧悽鎶�鏈� thh 2021-09-26 start
+ if(isUploadName[nameList[i]]) {
+ var str = '<button id="' + id + '" class="slds-button" title="Field 3" style="text-align:left;width:250px;font-weight:bold;font-size: 15px;color:Green;" name="' + nameList[i] + '">' + nameList[i] + '</button><br>';
+ } else{
+ var str = '<button id="' + id + '" class="slds-button" title="Field 3" style="text-align:left;width:250px;font-weight:bold;font-size: 15px;color:Gray;" name="' + nameList[i] + '">' + nameList[i] + '</button><br>';
+ }
+ //鏍囪瘑鏂囦欢鏄惁宸茬粡涓婁紶 绮剧悽鎶�鏈� thh 2021-09-26 end
+ //鎷兼帴p鏍囩 鍒楀嚭鏂囦欢鍚峣d涓嶅悓
+ strList += str;
+ }
+ var obj = document.getElementById('file00');
+ obj.innerHTML = strList;
+ }
+ }
+
+ },
+ hospitalDetailsPageNextClick : function (cmp, event, helper) {
+ helper.hospitalDetailsPageNextClick(cmp);
+ },
+ handleChange : function (cmp, event, helper) {
+ console.log('鐐瑰嚮澶嶉�夋!');
+ var s = cmp.get("v.check");
+ console.log('q:'+s);
+ },
+ // 鏄庣粏椤佃烦杞嚦鏂囦欢涓婁紶椤�
+ handleDetailsPageNextClick : function (cmp, event, helper) {
+ var draftValues = event.getParam('draftValues');
+ helper.IsWhole(cmp);
+ helper.handleDetailsPageNextClick(cmp);
+ },
+ handleShowPageNextClick :function (cmp, event, helper) {
+ helper.handleShowPageNextClick(cmp);
+ },
+ handleShowFielePageNextClick:function (cmp, event, helper) {
+ helper.handleShowFielePageNextClick(cmp);
+ },
+ submitClick: function(cmp, event, helper){
+ helper.submitClick(cmp);
+ },
+ //涓婚〉璺抽椤�
+ BackToHomePage : function(cmp, event, helper){
+ // if(confirm('纭鍥炲埌棣栭〉鍚楋紵')){
+ // var messageEvent = cmp.getEvent('componentEvent');
+ // messageEvent.setParam('DNName',cmp.get('v.DNName'));
+
+ // messageEvent.fire();
+ // cmp.set("v.HomePage", false);
+ // }
+
+
+ helper.BackToHomePage(cmp);
+ },
+ handleShowFielePageNextClick : function(cmp, event, helper){
+ helper.handleShowFielePageNextClick(cmp);
+ },
+ handleShowPageNextClick : function(cmp, event, helper){
+ helper.handleShowPageNextClick(cmp);
+ },
+ GoodsChanged:function(cmp, event, helper){
+ helper.GoodsChanged(cmp);
+ },
+ BatchUpdateByCase : function(cmp, event, helper){
+
+ helper.BatchUpdateByCase(cmp, event);
+
+ },
+ allBatchUpdateByCase : function(cmp, event, helper){
+
+ helper.allBatchUpdateByCase(cmp, event);
+
+ },
+ searchByCaseNumber : function(cmp, event, helper){
+ helper.searchByCaseNumber(cmp,event);
+ },
+ handleSectionToggle: function(cmp, event) {
+ var openSections = event.getParam('openSections');
+ var nameList = cmp.get('v.nameList');
+ if (nameList.length > 0) {
+ var strList = '';
+ for (var i = 0; i < nameList.length; i++) {
+ var num = Number(i) + 1;
+ var id = 'file0' + num;
+ //鏍囪瘑鏂囦欢鏄惁宸茬粡涓婁紶 绮剧悽鎶�鏈� thh 2021-09-26 start
+ if(isUploadName[nameList[i]]) {
+ var str = '<button id="' + id + '" class="slds-button" title="Field 3" style="text-align:left;width:250px;font-weight:bold;font-size: 15px;color:Green;" name="' + nameList[i] + '">' + nameList[i] + '</button><br>';
+ } else{
+ var str = '<button id="' + id + '" class="slds-button" title="Field 3" style="text-align:left;width:250px;font-weight:bold;font-size: 15px;color:Gray;" name="' + nameList[i] + '">' + nameList[i] + '</button><br>';
+ }
+ //鏍囪瘑鏂囦欢鏄惁宸茬粡涓婁紶 绮剧悽鎶�鏈� thh 2021-09-26 end
+ //鎷兼帴p鏍囩 鍒楀嚭鏂囦欢鍚峣d涓嶅悓
+ strList += str;
+ }
+ var obj = document.getElementById('file00');
+ obj.innerHTML = strList;
+ }
+ if (openSections.length === 0) {
+ cmp.set('v.activeSectionsMessage', "All sections are closed");
+ } else {
+ cmp.set('v.activeSectionsMessage', "Open sections: " + openSections.join(', '));
+ }
+ },
+ doSave: function(cmp, event, helper) {
+ var fileName;
+ var count;
+ var fileName1;
+ //鍏堝垽鏂� 宸蹭笂浼犵殑鏂囦欢鏄惁鏈夊��
+ var nameUpLoadList = cmp.get('v.nameUpLoadList');
+ if (cmp.find("fileId").get("v.files").length > 0) {
+ //浠ヤ笅鏄敤浜庡瓨鏀惧凡缁忎笂浼犵殑鏂囦欢鍚� 鐢ㄤ綔瀵规瘮(鐩稿悓鏂囦欢鏃朵笉鑳戒笂浼犵殑锛屾晠涓嶇敤鍐呭鍒ゆ柇)
+ fileName = cmp.find("fileId").get("v.files")[0]['name'];
+ var nameList = cmp.get("v.nameList");
+ //鏂囦欢鍒楄〃涓虹┖鏃讹紝涓嶅厑璁镐笂浼� 绮剧悽鎶�鏈� thh 2021-09-13
+ if(nameList.indexOf(fileName) >= 0){
+ //瀹氫箟涓�涓爣璇� 鐢ㄦ潵鍒ゆ柇鐐瑰嚮杩囦笂浼犳枃浠舵寜閽�
+ cmp.set('v.uploadFlag', true);
+ //澧炲姞鏍囪鍝釜鏂囦欢宸蹭笂浼� 绮剧悽鎶�鏈� thh 2021-09-09 start
+ //鎶婃枃浠跺悕鍜岃鏂囦欢鏄惁宸茬粡涓婁紶鍏宠仈璧锋潵
+ var isUploadName = cmp.get("v.isUploadName");
+ isUploadName[fileName] = true;
+ cmp.set('v.isUploadName', isUploadName);
+ //澧炲姞鏍囪鍝釜鏂囦欢宸蹭笂浼� 绮剧悽鎶�鏈� thh 2021-09-09聽end
+ //鑾峰彇鏂囦欢涓婁紶鏁伴噺
+ var size = cmp.get("v.fileUpLoadSize");
+ if (size) {
+ cmp.set('v.fileUpLoadSize', size + cmp.find("fileId").get("v.files").length);
+ } else {
+ cmp.set('v.fileUpLoadSize', cmp.find("fileId").get("v.files").length);
+ }
+ fileName1 = fileName;
+ var name = cmp.get("v.flUpLoadName");
+ if (name && name != '') {
+ cmp.set('v.flUpLoadName', name + ',' + fileName1);
+ } else {
+ cmp.set('v.flUpLoadName', fileName1);
+ }
+ fileName = cmp.get("v.flUpLoadName");
+ console.log("fileName:" + fileName);
+ helper.uploadHelper(cmp, event);
+
+ }else {
+ alert('娌℃湁闄勪欢闇�瑕佷笂浼狅紒');
+ }
+ } else {
+ alert('璇锋偍閲嶆柊閫夋嫨涓婁紶鍥剧墖锛�');
+
+ if (nameUpLoadList.length < 0 || nameUpLoadList.length == 0) {
+ //鍏堝垽绌� 鏈夊彲鑳戒竴鎵撳紑椤甸潰灏辩偣鍑讳笂浼犳寜閽�
+ //璇存槑绗竴娆$偣鍑婚�夋嫨鍥剧墖锛屾病鏈変笂浼犲張鐐瑰嚮浜嗙浜屾
+ if (document.getElementById('file01')) {
+ document.getElementById('file01').remove();
+ }
+
+ } else {
+ cmp.set('v.nameList', nameUpLoadList);
+ //閲嶆柊瀹氫箟閫変腑鏂囦欢鐨勬暟閲�
+ cmp.set('v.fileSize', nameList.length);
+ if (nameUpLoadList.length > 0) {
+ var strList = '';
+ for (var i = 0; i < nameList.length; i++) {
+ var num = Number(i) + 1;
+ var id = 'file0' + num;
+ //鏍囪瘑鏂囦欢鏄惁宸茬粡涓婁紶 绮剧悽鎶�鏈� thh 2021-09-26 start
+ if(isUploadName[nameList[i]]) {
+ var str = '<button id="' + id + '" class="slds-button" title="Field 3" style="text-align:left;width:250px;font-weight:bold;font-size: 15px;color:Green;" name="' + nameList[i] + '">' + nameList[i] + '</button><br>';
+ } else{
+ var str = '<button id="' + id + '" class="slds-button" title="Field 3" style="text-align:left;width:250px;font-weight:bold;font-size: 15px;color:Gray;" name="' + nameList[i] + '">' + nameList[i] + '</button><br>';
+ }
+ //鏍囪瘑鏂囦欢鏄惁宸茬粡涓婁紶 绮剧悽鎶�鏈� thh 2021-09-26 end
+ //鎷兼帴p鏍囩 鍒楀嚭鏂囦欢鍚峣d涓嶅悓
+ strList += str;
+ }
+ var obj = document.getElementById('file00');
+ obj.innerHTML = strList;
+ }
+ }
+ }
+ },
+ //涓婁紶鍥剧墖鍚� 棰勮鍥剧墖
+ imgName: function(cmp, event) {
+ //绾ц仈鎿嶄綔 鐐瑰嚮瀛愭爣绛� 杩涘叆鐖舵爣绛剧偣鍑讳簨浠�
+ //鑾峰彇鐐瑰嚮鐨勫瓙鏍囩
+ var name = event.target.lastChild.data;
+ console.log(name);
+ var imgSrcList = cmp.get("v.imgList");
+ var imgSrc = imgSrcList[name];
+ document.getElementById('image').src = imgSrc;
+ },
+ //鑾峰彇鍥剧墖src
+ getImgSrc: function(imgSrcList, name) {
+ return imgSrcList[name];
+ },
+ //鍒朵綔鏁扮粍 key锛歯ame vlaue锛歴rc
+ setImgSrc: function(str1, prop, val) {
+ // 濡傛灉 val 琚拷鐣�
+ if (typeof val === "undefined") {
+ // 鍒犻櫎灞炴��
+ delete str1[prop];
+ } else {
+ // 娣诲姞 鎴� 淇敼
+ str1[prop] = val;
+ }
+ return str1;
+ },
+ handleFilesChange: function(cmp, event, helper) {
+ //鍥剧墖棰勮
+ var imgList = {};
+ var fileName = 'No File Selected..';
+ var count;
+ var fileName1;
+ var nameList = [];
+ var uploadedFiles = event.getParam("files");聽聽聽聽
+ var isUploadName = cmp.get("v.isUploadName");聽
+ var reader = new FileReader();
+ reader.readAsDataURL(uploadedFiles[0]);
+ //鏂囦欢涓簆df鏃�,闅愯棌棰勮鍥剧墖鍖哄煙,鏄剧ず鏂囧瓧鈥淧DF鏂囦欢鏆備笉鏀寔棰勮鈥� 绮剧悽鎶�鏈爐hh聽2021-09-13聽start
+ var name = event.getSource().get("v.files")[0]['name'];
+ var indexPdf = name.lastIndexOf('.');
+ var pdf = name.substring(indexPdf, name.length);
+ if(pdf == '.pdf') {
+ document.getElementById('loaded').style.display = 'none';
+ document.getElementById('fontpdf').style.display = 'block';
+ } else {
+ document.getElementById('loaded').style.display = 'block';
+ document.getElementById('fontpdf').style.display = 'none';
+ }
+ //鏂囦欢涓簆df鏃�,闅愯棌棰勮鍥剧墖鍖哄煙,鏄剧ず鏂囧瓧鈥淧DF鏂囦欢鏆備笉鏀寔棰勮鈥� 绮剧悽鎶�鏈爐hh聽2021-09-13聽end
+ reader.onload = function(e) {
+ var imgBase = e.target.result;
+ var nameList = cmp.get('v.nameUpLoadList');
+ //鍥剧墖棰勮
+ cmp.set("v.imageSrc", imgBase);
+ //娓呴櫎div鏂囧瓧
+ document.getElementById("font").textContent = "";
+ //棰勮鍥剧墖
+ document.getElementById('image').style.display = 'block';
+ // 濡傛灉 val 琚拷鐣�
+ if (typeof imgBase === "undefined") {
+ // 鍒犻櫎灞炴��
+ delete imgList[uploadedFiles[0].name];
+ } else {
+ // 娣诲姞 鎴� 淇敼
+ imgList[uploadedFiles[0].name] = imgBase;
+ }
+ //澧炲姞鐐瑰嚮鏂囦欢鍒楄〃鍒囨崲鏌ョ湅鍥剧墖闄勪欢聽聽绮剧悽鎶�鏈爐hh聽2021-08-23聽start
+ //鎶婇瑙堝浘鐗囩殑src瀛樺叆map锛屾妸鍥剧墖鍚嶅瓧鍜宻rc杩炴帴璧锋潵
+ var fontsrc = cmp.get("v.FontSrc");
+ fontsrc[uploadedFiles[0].name] = imgBase;
+ cmp.set('v.FontSrc', fontsrc);
+ //澧炲姞鐐瑰嚮鏂囦欢鍒楄〃鍒囨崲鏌ョ湅鍥剧墖闄勪欢聽聽绮剧悽鎶�鏈爐hh聽2021-08-23聽end
+
+ }
+ var flag = cmp.get('v.uploadFlag');
+ console.log('uploadedFiles:' + uploadedFiles);
+ console.log("鏂囦欢闀垮害锛�" + uploadedFiles.length);
+ //鍏堝垽鏂� 宸蹭笂浼犵殑鏂囦欢鏄惁鏈夊��
+ var nameUpLoadList = cmp.get('v.nameUpLoadList');
+ if (event.getSource().get("v.files").length > 0) {
+ fileName = event.getSource().get("v.files")[0]['name'];
+ //鏍囪瘑棰勮鍥剧墖鍚嶅瓧 绮剧悽鎶�鏈� thh 2021-09-09 start
+ if(fileName.length != 1 && isUploadName[fileName]) {
+ var str = '<span>褰撳墠鏂囦欢锛�</span><span id="nowfile" class="field-title" style="color:Green;" title="' + fileName + '">' + fileName + '</span>';
+ document.getElementById("uploadicon").style.display = 'inline-block';
+ } else{
+ var str = '<span>褰撳墠鏂囦欢锛�</span><span id="nowfile" class="field-title" style="color:Gray;" title="' + fileName + '">' + fileName + '</span>';
+ document.getElementById("uploadicon").style.display = 'none';
+ }
+ var obj = document.getElementById('filenow');
+ obj.innerHTML = str;
+ //鏍囪瘑棰勮鍥剧墖鍚嶅瓧 绮剧悽鎶�鏈� thh 2021-09-09 end
+ cmp.set("v.imageSrc", fileName);
+ // 涔嬫墍浠ュ湪杩欓噷鍐欒繖涓脊鍑烘锛屽洜涓哄啓鍦╤elper閲岄潰涓嶇煡閬撲负鍟ュ脊涓嶅嚭鏉ワ紱
+ cmp.set("v.IsHaveFile", true);
+ if (nameUpLoadList.length < 0 || nameUpLoadList.length == 0) {
+ fileName1 = fileName;
+ cmp.set('v.flName', fileName1);
+ fileName = cmp.get("v.flName");
+ //鍐欐鏄洜涓轰笂浼犳枃浠朵竴娆″彧鑳戒笂浼犱竴涓�
+ count = 1;
+
+ cmp.set("v.fileSize", count);
+ } else {
+ var size = cmp.get("v.fileSize");
+ if (size) {
+ cmp.set('v.fileSize', size + uploadedFiles.length);
+ } else {
+ cmp.set('v.fileSize', uploadedFiles.length);
+ }
+ count = cmp.get("v.fileSize");
+ // 鎵撳嵃閫変腑鏂囦欢鐨勫悕瀛�
+ fileName1 = fileName;
+ var name = cmp.get("v.flName");
+ if (name) {
+ cmp.set('v.flName', name + ',' + fileName1);
+ // nameList.pust(name);
+ } else {
+ cmp.set('v.flName', fileName1);
+ }
+ fileName = cmp.get("v.flName");
+ }
+
+ if (count > 0) {
+ //鍒楀嚭鏂囦欢鍚�01 鎵�鏈夋枃浠跺悕閮界敤閫楀彿闅斿紑 鏍规嵁閫楀彿鎷嗗垎锛屽瓨鏀炬暟缁�
+ var nameList = fileName.split(',');
+ for (var i = 0; i < nameList.length; i++) {
+ for (var j = i + 1; j < nameList.length; j++) {
+ if (nameList[i] == nameList[j]) { //绗竴涓瓑鍚屼簬绗簩涓紝splice鏂规硶鍒犻櫎绗簩涓�
+ nameList.splice(j, 1);
+ j--;
+ }
+ }
+ }
+ count = nameList.length;
+ // alert("鎮ㄥ凡缁忔垚鍔熶笂浼�"+count+"涓枃浠�,鎻愪氦鐢宠璇风偣鍑绘彁浜ゆ寜閽��");
+ cmp.find('notifLibPlanA').showToast({
+ "title": "Success!",
+ "message": "鎮ㄥ凡缁忛�変腑" + count + "涓枃浠�,璇风偣鍑讳笂浼犳枃浠舵寜閽繘琛屼笂浼犮��"
+ });
+
+ //鍒楀嚭鏂囦欢鍚�01 鎵�鏈夋枃浠跺悕閮界敤閫楀彿闅斿紑 鏍规嵁閫楀彿鎷嗗垎锛屽瓨鏀炬暟缁�
+ // var nameList =fileName.split(',');
+ //瀛樻斁鍒板彉閲忎腑 鐢ㄤ簬涓婁竴椤典笅涓�椤佃繛鐐�
+ cmp.set('v.nameList', nameList);
+ if (nameList.length > 0) {
+ var strList = '';
+ for (var i = 0; i < nameList.length; i++) {
+ var num = Number(i) + 1;
+ var id = 'file0' + num;
+ //鏍囪瘑鏂囦欢鏄惁宸茬粡涓婁紶 绮剧悽鎶�鏈� thh 2021-09-26 start
+ if(isUploadName[nameList[i]]) {
+ var str = '<button id="' + id + '" class="slds-button" title="Field 3" style="text-align:left;width:250px;font-weight:bold;font-size: 15px;color:Green;" name="' + nameList[i] + '">' + nameList[i] + '</button><br>';
+ } else{
+ var str = '<button id="' + id + '" class="slds-button" title="Field 3" style="text-align:left;width:250px;font-weight:bold;font-size: 15px;color:Gray;" name="' + nameList[i] + '">' + nameList[i] + '</button><br>';
+ }
+ //鏍囪瘑鏂囦欢鏄惁宸茬粡涓婁紶 绮剧悽鎶�鏈� thh 2021-09-26 end
+ //鎷兼帴p鏍囩 鍒楀嚭鏂囦欢鍚峣d涓嶅悓
+ strList += str;
+ }
+ var obj = document.getElementById('file00');
+ obj.innerHTML = strList;
+ }
+ }
+ } else {
+ if (nameUpLoadList.length < 0 || nameUpLoadList.length == 0) {
+ //璇存槑绗竴娆$偣鍑婚�夋嫨鍥剧墖锛屾病鏈変笂浼犲張鐐瑰嚮浜嗙浜屾
+ cmp.set('v.nameList', null);
+
+ } else {
+ cmp.set('v.nameList', nameUpLoadList);
+ if (nameUpLoadList.length > 0) {
+ var strList = '';
+ for (var i = 0; i < nameList.length; i++) {
+ var num = Number(i) + 1;
+ var id = 'file0' + num;
+ //鏍囪瘑鏂囦欢鏄惁宸茬粡涓婁紶 绮剧悽鎶�鏈� thh 2021-09-26 start
+ if(isUploadName[nameList[i]]) {
+ var str = '<button id="' + id + '" class="slds-button" title="Field 3" style="text-align:left;width:250px;font-weight:bold;font-size: 15px;color:Green;" name="' + nameList[i] + '">' + nameList[i] + '</button><br>';
+ } else{
+ var str = '<button id="' + id + '" class="slds-button" title="Field 3" style="text-align:left;width:250px;font-weight:bold;font-size: 15px;color:Gray;" name="' + nameList[i] + '">' + nameList[i] + '</button><br>';
+ }
+ //鏍囪瘑鏂囦欢鏄惁宸茬粡涓婁紶 绮剧悽鎶�鏈� thh 2021-09-26 end
+ //鎷兼帴p鏍囩 鍒楀嚭鏂囦欢鍚峣d涓嶅悓
+ strList += str;
+ }
+ var obj = document.getElementById('file00');
+ obj.innerHTML = strList;
+ }
+
+ }
+
+ }
+ cmp.set("v.fileName", fileName);
+ },
+ showHPQR: function(cmp, event, helper) {
+ var check = cmp.get('v.chkQR');
+ if (check) {
+ cmp.set('v.showQR', true);
+ } else {
+ cmp.set('v.showQR', false);
+ }
+
+ },
+ hideHPQR: function(cmp, event, helper) {
+ cmp.set('v.showQR', false);
+ cmp.set('v.chkQR', false);
+ },
+
+ //wangweipeng 20210616 棰勮鍥剧墖鏀惧ぇ鍔熻兘
+ imgeBig: function(cmp, event, helper) {
+ var imgeObj = document.getElementById("image");
+ //鍥剧墖棰勮
+ cmp.set("v.imageBigSrc", imgeObj.src);
+
+ //棰勮鍥剧墖
+ document.getElementById('image').style.display = 'none';
+ document.getElementById('outerdiv').style.display = 'block';
+ },
+ //wangweipeng 20210616 棰勮鍥剧墖鍏抽棴鎸夐挳
+ imgeSmall: function() {
+ document.getElementById('image').style.display = 'block';
+ document.getElementById('outerdiv').style.display = 'none';
+ },
+ //澧炲姞鐐瑰嚮鏂囦欢鍒楄〃鍒囨崲鏌ョ湅鍥剧墖闄勪欢聽聽绮剧悽鎶�鏈爐hh聽2021-08-23聽start
+ //鐐瑰嚮鏂囦欢鍒楄〃閲岀殑鍚嶅瓧瀹炵幇鍥剧墖鐨勫垏鎹�
+ buttonClicked: function(cmp, event) {
+ var name = event.target.name;
+ var srcmap = cmp.get("v.FontSrc");
+ var value = srcmap[name];
+ //鏂囦欢涓簆df鏃�,闅愯棌棰勮鍥剧墖鍖哄煙,鏄剧ず鏂囧瓧鈥淧DF鏂囦欢鏆備笉鏀寔棰勮鈥� 绮剧悽鎶�鏈爐hh聽2021-09-13聽start
+ var indexPdf = name.lastIndexOf('.');
+ var pdf = name.substring(indexPdf, name.length);
+ if(pdf == '.pdf') {
+ document.getElementById('loaded').style.display = 'none';
+ document.getElementById('fontpdf').style.display = 'block';
+ } else {
+ document.getElementById('loaded').style.display = 'block';
+ document.getElementById('image').src = value;
+ document.getElementById('image').style.display = 'block';
+ document.getElementById('fontpdf').style.display = 'none';
+ }
+ //鏂囦欢涓簆df鏃�,闅愯棌棰勮鍥剧墖鍖哄煙 绮剧悽鎶�鏈爐hh聽2021-09-13聽end
+ //鏍囪瘑棰勮鍥剧墖鍚嶅瓧 绮剧悽鎶�鏈� thh 2021-09-10 start
+ var isUploadName = cmp.get("v.isUploadName");
+ if(isUploadName[name]) {
+ var str = '<span>褰撳墠鏂囦欢锛�</span><span id="nowfile" class="field-title" style="color:Green;" title="' + name + '">' + name + '</span>';
+ document.getElementById("uploadicon").style.display = 'inline-block';
+ } else{
+ var str = '<span>褰撳墠鏂囦欢锛�</span><span id="nowfile" class="field-title" style="color:Gray;" title="' + name + '">' + name + '</span>';
+ document.getElementById("uploadicon").style.display = 'none';
+ }
+ var obj = document.getElementById('filenow');
+ obj.innerHTML = str;
+ //鏍囪瘑棰勮鍥剧墖鍚嶅瓧 绮剧悽鎶�鏈� thh 2021-09-10 end
+ },
+ //澧炲姞鐐瑰嚮鏂囦欢鍒楄〃鍒囨崲鏌ョ湅鍥剧墖闄勪欢聽聽绮剧悽鎶�鏈爐hh聽2021-08-23聽end
+ //澧炲姞鏂囦欢鍒楄〃鍒犻櫎鍔熻兘聽聽绮剧悽鎶�鏈爐hh聽2021-08-25聽start
+ deleteClick: function(cmp, event, helper) {
+ var srcmap = cmp.get("v.FontSrc");
+ var nameList = cmp.get("v.nameList");
+ var nameUpLoadList = cmp.get('v.nameUpLoadList');
+ var flUpLoadName = cmp.get("v.flUpLoadName");
+ var flName = cmp.get("v.flName");
+ var filesrc = cmp.get("v.FileSrc");
+ var base64List = cmp.get("v.base64List");
+ var baseArray = cmp.get("v.baseArray");
+ var isUploadName = cmp.get("v.isUploadName");
+ //鏍规嵁褰撳墠鏂囦欢鑾峰彇褰撳墠鏂囦欢鍚�
+ if(nameList != ''){
+ var name = document.getElementById("nowfile").title;
+ } else{
+ alert("娌℃湁闄勪欢锛屾棤娉曞垹闄わ紒");
+ }
+ //鎶婅鍒犵殑src鍒嗘瀛樺叆baseFile锛岀劧鍚庨�氳繃閬嶅巻鍒犻櫎base64List涓殑鏁版嵁
+ var baseFile = cmp.get("v.baseFile");
+ var startPosition = 0;
+ var fileContents = filesrc[name];
+ //濡傛灉fileContents鏈夊�硷紝璇存槑闄勪欢宸茬粡涓婁紶
+ if(fileContents){
+ var fileLength = Math.ceil(fileContents.length / helper.CHUNK_SIZE);
+ for(var i = 0; i < fileLength; i++){
+ baseFile = cmp.get("v.baseFile");
+ var endPosition = Math.min(
+ fileContents.length,
+ startPosition + helper.CHUNK_SIZE
+ );
+ var getchunk = fileContents.substring(startPosition, endPosition);
+ fileContents = fileContents.substring(endPosition);
+ if(baseFile){
+ cmp.set('v.baseFile',baseFile+','+getchunk);
+ }else{
+ cmp.set('v.baseFile',getchunk);
+ }
+ baseFile = cmp.get("v.baseFile");
+ }
+ //澧炲姞鏍囪鍝釜鏂囦欢宸蹭笂浼� 绮剧悽鎶�鏈� thh 2021-09-09 start
+ //鍒犻櫎siUploadName涓璶ame瀵瑰簲鐨勫垽鏂�
+ delete isUploadName[name];
+ //澧炲姞鏍囪鍝釜鏂囦欢宸蹭笂浼� 绮剧悽鎶�鏈� thh 2021-09-09聽end
+ //鍒犻櫎flUpLoadName涓殑name
+ var Arrflag = flUpLoadName instanceof Array;
+ if(!Arrflag){
+ flUpLoadName = flUpLoadName.split(',');
+ }
+ for(var i = 0; i < flUpLoadName.length; i++) {
+ if(flUpLoadName [i] == name) {
+ flUpLoadName.splice(i, 1);
+ break;
+ }
+ }
+ cmp.set("v.flUpLoadName", flUpLoadName);
+ //鍒犻櫎涓�涓暟鎹箣鍚巉ileUpLoadSize涓殑鏁伴噺瑕�-1
+ var fileUpLoadSize = cmp.get("v.fileUpLoadSize");
+ var deletefileUpLoadSize = fileUpLoadSize - 1;
+ cmp.set("v.fileUpLoadSize", deletefileUpLoadSize);
+ }
+ //鍒犻櫎srcname涓璶ame瀵瑰簲鐨剆rc
+ delete srcmap[name];
+ //鍒犻櫎filesrc涓璶ame瀵瑰簲鐨剆rc
+ delete filesrc[name];
+ //鍒犻櫎nameList涓殑name
+ for(var i = 0; i < nameList.length; i++) {
+ if(nameList [i] == name) {
+ nameList.splice(i, 1);
+ break;
+ }
+ }
+ cmp.set("v.nameList", nameList);
+ //鍒犻櫎nameUpLoadList涓殑name
+ for(var i = 0; i < nameUpLoadList.length; i++) {
+ if(nameUpLoadList [i] == name) {
+ nameUpLoadList.splice(i, 1);
+ break;
+ }
+ }
+ cmp.set("v.nameUpLoadList", nameUpLoadList);
+ //鍒犻櫎flName涓殑name
+ var Arryflag = flName instanceof Array;
+ if(!Arryflag){
+ flName = flName.split(',');
+ }
+ for(var i = 0; i < flName.length; i++) {
+ if(flName [i] == name) {
+ flName.splice(i, 1);
+ break;
+ }
+ }
+ cmp.set("v.flName", flName);
+ //閫氳繃閬嶅巻鍒犻櫎base64List涓殑鏁版嵁
+ baseFile = cmp.get("v.baseFile");
+ baseArray = baseFile.split(',');
+ for(var j = 0; j < baseArray.length; j++){
+ for(var i = 0; i < base64List.length; i++) {
+ var baseArray100;
+ if(baseArray[j].length > 100){
+ baseArray100 = baseArray[j].substring(0, 100);
+ }else{
+ baseArray100 = baseArray[j].substring(0);
+ }
+ if(base64List[i].indexOf(baseArray100) >= 0) {
+ base64List.splice(i, 1);
+ break;
+ }
+ }
+ }
+ cmp.set("v.base64List", base64List);
+ //鎷兼帴鍒犻櫎瀹屼箣鍚庣殑鏂囦欢鍒楄〃,浠ュ強鍥剧墖鐨勬樉绀�
+ var strList = '';
+ if(nameList.length == 0) {
+ //鏂囦欢鍒犲畬涔嬪悗闅愯棌鍥剧墖棰勮鍖哄煙浠ュ強缁胯壊灏忊垰,棰勮鍖哄煙鏄剧ず鏂囧瓧鈥淧DF鏂囦欢鏆備笉鏀寔棰勮鈥� 绮剧悽鎶�鏈� thh 2021-09-15 start
+ document.getElementById('loaded').style.display = 'none';
+ document.getElementById("uploadicon").style.display = 'none';
+ //鏂囦欢鍒犲畬涔嬪悗闅愯棌鍥剧墖棰勮鍖哄煙浠ュ強缁胯壊灏忊垰,棰勮鍖哄煙鏄剧ず鏂囧瓧鈥淧DF鏂囦欢鏆備笉鏀寔棰勮鈥� 绮剧悽鎶�鏈� thh 2021-09-15 end
+ //鏂囦欢鍒犲畬涔嬪悗,棰勮鍖哄煙鐨刾df鏂囧瓧涔熶笉鏄剧ず
+ document.getElementById('fontpdf').style.display = 'none';
+ //鏂囦欢鍒犲畬涔嬪悗,棰勮鍖哄煙鐨刾df鏂囧瓧涔熶笉鏄剧ず
+ var str = '';
+ var obj = document.getElementById('file00');
+ obj.innerHTML = str;
+ //鏍囪瘑棰勮鍥剧墖鍚嶅瓧 绮剧悽鎶�鏈� thh 2021-09-10 start
+ var obj1 = document.getElementById('filenow');
+ obj1.innerHTML = str;
+ //鏍囪瘑棰勮鍥剧墖鍚嶅瓧 绮剧悽鎶�鏈� thh 2021-09-10 end
+ }else {
+ var value = srcmap[nameList[0]];
+ //鏂囦欢涓簆df鏃跺睍绀虹┖鐧藉浘鐗�,鏄剧ず鏂囧瓧鈥淧DF鏂囦欢鏆備笉鏀寔棰勮鈥� 绮剧悽鎶�鏈爐hh聽2021-09-15聽start
+ var indexPdf = nameList[0].lastIndexOf('.');
+ var pdf = nameList[0].substring(indexPdf, nameList[0].length);
+ if(pdf == '.pdf') {
+ document.getElementById('loaded').style.display = 'none';
+ document.getElementById('fontpdf').style.display = 'block';
+ } else {
+ document.getElementById('loaded').style.display = 'block';
+ document.getElementById('image').src = value;
+ document.getElementById('image').style.display = 'block';
+ document.getElementById('fontpdf').style.display = 'none';
+ }
+ //鏂囦欢涓簆df鏃跺睍绀虹┖鐧藉浘鐗�,鏄剧ず鏂囧瓧鈥淧DF鏂囦欢鏆備笉鏀寔棰勮鈥� 绮剧悽鎶�鏈爐hh聽2021-09-15聽end
+ for (var i = 0; i < nameList.length; i++) {
+ var num = Number(i) + 1;
+ var id = 'file0' + num;
+ //鏍囪瘑鏂囦欢鏄惁宸茬粡涓婁紶 绮剧悽鎶�鏈� thh 2021-09-26
+ if(isUploadName[nameList[0]]) {
+ var str = '<button id="' + id + '" class="slds-button" title="Field 3" style="text-align:left;width:250px;font-weight:bold;font-size: 15px;color:Green;" name="' + nameList[i] + '">' + nameList[i] + '</button><br>';
+ } else{
+ var str = '<button id="' + id + '" class="slds-button" title="Field 3" style="text-align:left;width:250px;font-weight:bold;font-size: 15px;color:Gray;" name="' + nameList[i] + '">' + nameList[i] + '</button><br>';
+ }
+ //鎷兼帴p鏍囩 鍒楀嚭鏂囦欢鍚峣d涓嶅悓
+ strList += str;
+ }
+ var obj = document.getElementById('file00');
+ obj.innerHTML = strList;
+ //鏍囪瘑鏂囦欢鏄惁宸茬粡涓婁紶 绮剧悽鎶�鏈� thh 2021-09-26 start
+ if(isUploadName[nameList[0]]) {
+ var str = '<span>褰撳墠鏂囦欢锛�</span><span id="nowfile" class="field-title" style="color:Green;" title="' + nameList[0] + '">' + nameList[0] + '</span>';
+ document.getElementById("uploadicon").style.display = 'inline-block';
+ } else{
+ var str = '<span>褰撳墠鏂囦欢锛�</span><span id="nowfile" class="field-title" style="color:Gray;" title="' + nameList[0] + '">' + nameList[0] + '</span>';
+ document.getElementById("uploadicon").style.display = 'none';
+ }
+ var obj = document.getElementById('filenow');
+ obj.innerHTML = str;
+ //鏍囪瘑鏂囦欢鏄惁宸茬粡涓婁紶 绮剧悽鎶�鏈� thh 2021-09-26 end
+ }
+ //鍒犻櫎瀹屾垚鍚巄aseFile闇�瑕佺疆绌�
+ cmp.set("v.baseFile", '');
+ var baseFile = cmp.get("v.baseFile");
+ //鍒犻櫎涓�涓暟鎹箣鍚巉ileSize涓殑鏁伴噺瑕�-1
+ var count = cmp.get("v.fileSize");
+ var deletecount = count - 1;
+ cmp.set("v.fileSize", deletecount);
+ //鍏宠仈鍚庣浠g爜鍒犻櫎绛炬敹鍗曞綍鍏ヨ〃涓殑闄勪欢
+ var action = cmp.get("c.deleteChunk");
+ var attachmentID = cmp.get("v.attachmentID");
+ var AttachmentID = attachmentID[name];
+ action.setParams({
+ AttachmentId : AttachmentID
+ });
+ //閫氳繃椤甸潰鏂偣楠岃瘉action鏂规硶鏄惁鎴愬姛
+ action.setCallback(this, function(response) {
+ var state = response.getState();
+ });
+ //鎵цaction鏂规硶
+ $A.enqueueAction(action);
+ },
+ //澧炲姞鏂囦欢鍒楄〃鍒犻櫎鍔熻兘聽聽绮剧悽鎶�鏈爐hh聽2021-09-02聽end
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/eSignHospitalDirectSalesPage/eSignHospitalDirectSalesPageHelper.js b/force-app/main/default/aura/eSignHospitalDirectSalesPage/eSignHospitalDirectSalesPageHelper.js
new file mode 100644
index 0000000..0ff148d
--- /dev/null
+++ b/force-app/main/default/aura/eSignHospitalDirectSalesPage/eSignHospitalDirectSalesPageHelper.js
@@ -0,0 +1,1217 @@
+({
+ helperMethod : function() {
+
+ },
+ // 璁剧疆table 鍚勬爮灞炴��
+ getColumnAndAction : function(cmp) {
+ var actions = [
+ {label: 'Edit', name: 'edit'},
+ {label: 'Delete', name: 'delete'},
+ {label: 'View', name: 'view'}
+ ];
+ // 涓轰簡閿佽锛屽己琛岃缃簡瀹藉害
+ cmp.set('v.columns', [
+ // {label: 'CODE', fieldName: 'OTCode__c', type: 'text', wrapText:false
+ // , hideDefaultActions: true ,fixedWidth: 110 },
+ {label: '浜у搧鍨嬪彿', fieldName: 'Asset_Model_No__c', type: 'text' , wrapText:false
+ , hideDefaultActions: true ,fixedWidth: 110 },
+ {label: 'CODE', fieldName: 'OTCode__c', type: 'text', wrapText:false
+ , hideDefaultActions: true ,fixedWidth: 137 },
+ {label: '浜у搧鍚嶇О', fieldName: 'productName__c', type: 'text', wrapText:false
+ , hideDefaultActions: true ,fixedWidth: 340 },
+ {label: '鏁伴噺', fieldName: 'Count_Text__c', type: 'text', wrapText:false
+ , hideDefaultActions: true ,fixedWidth: 50 },
+ {label: '绠卞彿', fieldName: 'CaseNumber__c', type: 'text', wrapText:false
+ , hideDefaultActions: true ,fixedWidth: 100 },
+ {label: '璐х墿鎯呭喌', fieldName: 'HPGoodStatus__c', type: 'text', wrapText:true
+ , hideDefaultActions: true , editable: true,fixedWidth: 110 },
+ ]);
+
+ var width = cmp.get('v.floatWidth');
+ var width1 = cmp.get('v.allWidth');
+ console.log('allWidth:'+width);
+ console.log('floatWidth:'+width1);
+ },
+ // 鑾峰彇鏁版嵁
+ geteSign : function(cmp) {
+ // this.showSpinner(cmp);
+ var action = cmp.get("c.geteSigns");
+ var DNName = cmp.get("v.DNName").toString();
+ action.setParams({
+ 'DNName' : DNName,
+ //
+ });
+ console.log("宸茬粡杩涘埌杩欓噷浜�");
+ action.setCallback(this,function(response) {
+ var state = response.getState();
+ if (state === "SUCCESS") {
+ var resultData = response.getReturnValue();
+ if(!!resultData && !!resultData.eSignFormLineItems
+ && !!resultData.eSignForm){
+ var data = resultData.eSignFormLineItems;
+ cmp.set('v.lineItemSize', data.length);
+ var pageSize = cmp.get('v.pageSize');
+ cmp.set("v.data", data);
+ var eSignForm = resultData.eSignForm;
+ //CHAN-BWCBL8 绮剧悽鎶�鏈� wql 20201225 start
+ //濡傛灉椹冲洖鐞嗙敱鏈夊�� 骞朵笖缁忛攢鍟嗛┏鍥炲閫夋涓簍rue骞朵笖缁忛攢鍟嗗鎵圭姸鎬佷笉鎵瑰噯鐨勬椂鍊欐墠鏄剧ず
+ if(eSignForm.HPDenyReason__c&&eSignForm.HPReject__c&&eSignForm.HPSignUpStatus__c=='涓嶆壒鍑�'){
+ cmp.set("v.ISDenyReason", true);
+ }
+ //CHAN-BWCBL8 绮剧悽鎶�鏈� wql 20201225 end
+ cmp.set("v.eSignForm", resultData.eSignForm);
+ //鍒ゆ柇绛炬敹椤甸潰涓婄殑宸叉彁浜ょ殑鍕捐涓嶈鏄剧ず
+ // var isAgencyOrHp = resultData.eSignForm.agencySignUpDate__c;
+ // if(isAgencyOrHp){
+ // cmp.set("v.isAgencyOrHp", false);
+ // }else{
+ // cmp.set("v.isAgencyOrHp", true);
+ // }
+ var tempData = this.getTempData(data, 1,pageSize);
+ cmp.set("v.isLastPage", this.isLastPage(data,tempData));
+ cmp.set("v.dataSize", tempData.length);
+ cmp.set("v.currentData", tempData);
+
+ this.hideSpinner(cmp);
+ }else{
+ cmp.set("v.errorMessage", '鍔犺浇澶辫触锛岃閲嶆柊鎵撳紑姝ら〉闈紒');
+ this.showErrorToast(cmp);
+ this.hideSpinner(cmp);
+ }
+
+ }else{
+ cmp.set("v.errorMessage", '鍔犺浇澶辫触锛岃閲嶆柊鎵撳紑姝ら〉闈紒');
+ this.showErrorToast(cmp);
+ this.hideSpinner(cmp);
+ }
+
+ });
+ $A.enqueueAction(action);
+ },
+ // 鏄庣粏椤� table 棣栭〉鍔熻兘瀹炵幇
+ handleHome : function(cmp) {
+ var pageSize = cmp.get('v.pageSize');
+ var pageNumber = cmp.get('v.pageNumber');
+ // var data = cmp.get('v.data');
+ var currentData = cmp.get('v.currentData');
+ //鑾峰彇杈撳叆鐨剉alue鍊�
+ var key = document.getElementById('searchInput').value;
+ var data = cmp.get('v.data');
+ var tempDataList = [];
+ var pageSize = cmp.get('v.pageSize');
+
+ if(key){
+ for(var i = 0; i<data.length; i++){
+ //鑾峰彇鎵�鏈塶ame涓虹鍙风殑input 鎵归噺鏇存柊
+ if(data[i].CaseNumber__c == key){
+ tempDataList.push(data[i]);
+ }
+
+ }
+ //璁剧疆鍒嗛〉
+ var tempData = this.getTempData(tempDataList,1,pageSize );
+ cmp.set('v.pageNumber', 1 );
+
+ cmp.set('v.currentData',tempData);
+ cmp.set('v.data',data);
+ cmp.set("v.isLastPage", this.isLastPage(tempDataList,tempData));
+ cmp.set("v.searchSize",tempDataList.length);
+
+
+ }else{
+ //鏄剧ず鍏ㄩ儴绠�
+ var tempData = this.getTempData(data,1,pageSize );
+ cmp.set('v.pageNumber', 1 );
+
+ cmp.set('v.currentData',tempData);
+ cmp.set('v.data',data);
+ cmp.set("v.isLastPage", this.isLastPage(data,tempData));
+ cmp.set('v.searchSize', null);
+
+ }
+
+
+ },
+ // 鏄庣粏椤� table 灏鹃〉鍔熻兘瀹炵幇
+ handleLast : function(cmp) {
+ var pageSize = cmp.get('v.pageSize');
+ var pageNumber = cmp.get('v.pageNumber');
+ var data = cmp.get('v.data');
+ //鑾峰彇鏁版嵁闀垮害
+ var size = data.length;
+ //鑾峰彇灏鹃〉椤电爜
+ var pages=size%pageSize==0?(size/pageSize):(Math.floor(size/pageSize)+1);
+
+ var currentData = cmp.get('v.currentData');
+ //鑾峰彇杈撳叆鐨剉alue鍊�
+ var key = document.getElementById('searchInput').value;
+ var tempDataList = [];
+
+ if(key){
+ for(var i = 0; i<data.length; i++){
+ //鑾峰彇鎵�鏈塶ame涓虹鍙风殑input 鎵归噺鏇存柊
+ if(data[i].CaseNumber__c == key){
+ tempDataList.push(data[i]);
+ }
+
+ }
+ //璁剧疆鍒嗛〉
+ var tempData = this.getTempData(tempDataList,pages,pageSize );
+ cmp.set('v.pageNumber', pages );
+ console.log('currentData1:'+currentData);
+ cmp.set('v.currentData',tempData);
+ cmp.set('v.data',data);
+ cmp.set("v.isLastPage", this.isLastPage(tempDataList,tempData));
+ cmp.set("v.searchSize",tempDataList.length);
+
+
+ }else{
+ //鏄剧ず鍏ㄩ儴绠�
+ var tempData = this.getTempData(data,pages,pageSize );
+ cmp.set('v.pageNumber', pages );
+ console.log('currentData1:'+currentData);
+ cmp.set('v.currentData',tempData);
+ cmp.set('v.data',data);
+ cmp.set("v.isLastPage", this.isLastPage(data,tempData));
+ cmp.set('v.searchSize', null);
+
+ }
+
+
+ },
+ // 鏄庣粏椤� table 涓嬩竴椤靛姛鑳藉疄鐜�
+ handleNext : function(cmp) {
+ var pageSize = cmp.get('v.pageSize');
+ var pageNumber = cmp.get('v.pageNumber');
+ var data = cmp.get('v.data');
+ var currentData = cmp.get('v.currentData');
+ //鑾峰彇杈撳叆鐨剉alue鍊�
+ var key = document.getElementById('searchInput').value;
+ var tempDataList = [];
+
+ if(key){
+ for(var i = 0; i<data.length; i++){
+ //鑾峰彇鎵�鏈塶ame涓虹鍙风殑input 鎵归噺鏇存柊
+ if(data[i].CaseNumber__c == key){
+ tempDataList.push(data[i]);
+ }
+
+ }
+ //璁剧疆鍒嗛〉
+ var tempData = this.getTempData(tempDataList,pageNumber + 1,pageSize );
+ cmp.set('v.pageNumber', pageNumber+1 );
+ console.log('currentData1:'+currentData);
+ cmp.set('v.currentData',tempData);
+ cmp.set('v.data',data);
+ cmp.set("v.isLastPage", this.isLastPage(tempDataList,tempData));
+ cmp.set("v.searchSize",tempDataList.length);
+
+
+ }else{
+ //鏄剧ず鍏ㄩ儴绠�
+ var tempData = this.getTempData(data,pageNumber + 1,pageSize );
+ cmp.set('v.pageNumber', pageNumber+1 );
+ console.log('currentData1:'+currentData);
+ cmp.set('v.currentData',tempData);
+ cmp.set('v.data',data);
+ cmp.set("v.isLastPage", this.isLastPage(data,tempData));
+ cmp.set('v.searchSize', null);
+
+ }
+
+
+ },
+ // 鏄庣粏椤� table 涓婁竴椤靛姛鑳藉疄鐜�
+ handlePrev : function(cmp) {
+ var pageSize = cmp.get('v.pageSize');
+ var pageNumber = cmp.get('v.pageNumber');
+ var data = cmp.get('v.data');
+ var currentData = cmp.get('v.currentData');
+ //鑾峰彇杈撳叆鐨剉alue鍊�
+ var key = document.getElementById('searchInput').value;
+ var tempDataList = [];
+
+ if(key){
+ for(var i = 0; i<data.length; i++){
+ //鑾峰彇鎵�鏈塶ame涓虹鍙风殑input 鎵归噺鏇存柊
+ if(data[i].CaseNumber__c == key){
+ tempDataList.push(data[i]);
+ }
+
+ }
+ //璁剧疆鍒嗛〉
+ var tempData = this.getTempData(tempDataList,pageNumber - 1,pageSize );
+
+ cmp.set('v.pageNumber', pageNumber - 1 );
+ cmp.set('v.currentData',tempData);
+ cmp.set('v.data',data);
+ cmp.set("v.isLastPage", this.isLastPage(tempDataList,tempData));
+ cmp.set("v.searchSize",tempDataList.length);
+
+
+ }else{
+ //鏄剧ず鍏ㄩ儴绠�
+ var tempData = this.getTempData(data,pageNumber - 1,pageSize );
+
+ cmp.set('v.pageNumber', pageNumber - 1 );
+ cmp.set('v.currentData',tempData);
+ cmp.set('v.data',data);
+ cmp.set("v.isLastPage", this.isLastPage(data,tempData));
+ cmp.set('v.searchSize', null);
+
+ }
+ },
+ // 璁$畻骞惰繑鍥炲綋鍓嶉〉鐮佺殑鏁版嵁
+ getTempData: function(data, pageNumber,pageSize){
+ var tempData = data.slice((pageNumber-1) * pageSize,pageNumber * pageSize );
+ return tempData;
+ },
+ // 鍒ゆ柇褰撳墠椤垫槸鍚︽槸鏈�鍚庝竴椤�
+ isLastPage : function(data,tempData){
+ if(tempData.length == 0 ||
+ tempData[tempData.length-1].Id == data[data.length-1].Id ){
+ return true;
+ } else{
+ return false;
+ }
+ },
+ // 淇濆瓨鏇存敼鍐呭鍒板綋鍓嶆槑缁嗗唴瀹�
+ saveEdition: function (cmp, draftValues) {
+ if(!!draftValues && draftValues.length > 0){
+ var currentData = cmp.get('v.currentData');
+ for(var i = 0; i<currentData.length; i++){
+ for(var j = 0; j<draftValues.length; j++){
+ if(currentData[i].Id == draftValues[j].Id){
+ currentData[i].HPGoodStatus__c = draftValues[j].HPGoodStatus__c;
+ break;
+ }
+ }
+ }
+ cmp.set('v.currentData',currentData);
+ }
+ cmp.set('v.draftValues', []);
+ },
+ // 鍒ゆ柇鏄惁閮ㄥ垎绛炬敹
+ IsWhole: function (cmp) {
+ var currentData = cmp.get('v.currentData');
+ if(currentData){
+
+ for(var j = 0; j<currentData.length; j++){
+
+ if(currentData[j].HPGoodStatus__c != '瀹屽ソ'){
+ //濡傛灉鏈夋槑缁嗕笉瀹屽ソ鐨勭疆鎴恡rue
+ cmp.set('v.IsWhole',true);
+ break;
+ }
+ }
+
+ }
+ },
+ // 鏄庣粏椤电偣鍑讳笅涓�姝ヤ繚瀛樺綍鍏ヨ〃鏁版嵁鍒版暟鎹簱锛�
+ // 濡傛灉淇濆瓨鎴愬姛锛岃烦杞枃浠朵笂浼犻〉
+ // 濡傛灉淇濆瓨澶辫触锛屽脊鍑洪敊璇痶oast锛屼繚瀛樺湪褰撻〉
+ saveeSign : function (cmp){
+ var action = cmp.get("c.saveeSignFormEntry");
+ var data = cmp.get('v.data');
+ var eSignForm = cmp.get('v.eSignForm');
+ var IsSubmit = cmp.get('v.IsAgencyShow');
+ var IsHPSubmit = cmp.get('v.IsHPShow');
+ //澧炲姞鎵弿鏍囪瘑锛宐atch鍙栨秷椹冲洖鍕鹃�� 2020/12/30 wql start
+ var IsHPScan = cmp.get('v.IsHPScan');
+ //澧炲姞鎵弿鏍囪瘑锛宐atch鍙栨秷椹冲洖鍕鹃�� 2020/12/30 wql end
+
+ var agencyScanDayBack = cmp.get('v.agencyScanDayBack');
+ var agencySignUpDateBack = cmp.get('v.agencySignUpDateBack');
+ var agencyConfirmDateBack = cmp.get('v.agencyConfirmDateBack');
+ var HPWorkflowEmailBack = cmp.get('v.HPWorkflowEmailBack');
+ console.log('HPWorkflowEmailBack:'+HPWorkflowEmailBack);
+ action.setParams({
+ 'eSignFormLineItems' : data,
+ 'eSignForm' : eSignForm,
+ 'IsSubmit' : IsSubmit,
+ 'IsHPSubmit':IsHPSubmit,
+ 'IsHPScan':IsHPScan,
+ 'entryType' : '鍖婚櫌鏀惰揣',
+ 'agencyScanDayBack':agencyScanDayBack,
+ 'agencySignUpDateBack':agencySignUpDateBack,
+ 'agencyConfirmDateBack':agencyConfirmDateBack,
+ 'HPWorkflowEmailBack':HPWorkflowEmailBack
+ });
+ this.showSpinner(cmp);
+ action.setCallback(this,function(response) {
+ this.hideSpinner(cmp);
+ var state = response.getState();
+ if (state === "SUCCESS") {
+ var resultData = response.getReturnValue();
+ if( resultData.isSuccess == true ){
+ cmp.set('v.recordId',resultData.result);
+ cmp.set('v.parentId',resultData.result);
+ alert('鎻愪氦鎴愬姛锛�');
+ if(IsHPSubmit){
+ //杩斿洖棣栭〉甯﹀�約tart
+ cmp.set('v.agencyDNSignUpStatus',resultData.agencyDNSignUpStatus);
+ cmp.set('v.HPDNSignUpStatus',resultData.HPDNSignUpStatus);
+ cmp.set('v.agencySubmit',resultData.agencySubmit);
+ cmp.set('v.DNNameSpare',resultData.DNNameSpare);
+
+ cmp.set('v.IsHPShow',false);
+ }
+ //2020/12/02 鎻愪氦鎴愬姛鍚庢樉绀洪��鍥為椤垫寜閽� start
+ cmp.set("v.submitAfterShow", true);
+ const icon = document.getElementById('submitAgency');
+ icon.style.textAlign = 'center';
+ //2020/12/02 鎻愪氦鎴愬姛鍚庢樉绀洪��鍥為椤垫寜閽� end
+ var spanList = document.getElementById("uploadFileDiv").getElementsByTagName("span");
+ if(spanList.size()>0){
+ spanList[2].innerText = '涓婁紶闄勪欢';
+ }
+ }
+ else{
+ cmp.set("v.errorMessage", resultData.result);
+ this.showErrorToast(cmp);
+ }
+ }else{
+ cmp.set("v.errorMessage", '淇濆瓨澶辫触锛岃閲嶆柊鍔犺浇锛�');
+ this.showErrorToast(cmp);
+ }
+
+ });
+ $A.enqueueAction(action);
+
+ },
+ hospitalDetailsPageNextClick : function(cmp) {
+ //瀛樹竴涓嬫绱㈡閲岀殑鍊� 涓嶇劧浼氳娓呮帀
+ cmp.set('v.searchCase',cmp.get('v.searchCaseKey'));
+ console.log('searchCaseKey:'+cmp.get('v.searchCaseKey'));
+ var check = cmp.get("v.check");
+ if(check){
+ if(confirm('璇峰啀娆$‘璁N鍙�/鏀惰揣鍗曚綅涓庨殢璐у悓琛屽崟涓�鑷淬��')){
+ //闅愯棌鍒�
+ cmp.set('v.hideCheckboxColumn',true);
+ cmp.set('v.HomePageDisplay',false);
+ cmp.set('v.NextPageDisplay',true);
+ }
+ }else{
+ // if(confirm('璇峰嬀閫変笂杩板唴瀹瑰凡闃呰銆�')){
+
+ // }
+ alert('璇峰嬀閫変笂杩板唴瀹瑰凡闃呰銆�');
+ return;
+ }
+
+ },
+ // 鏄庣粏涔熻烦杞嚦鏂囦欢涓婁紶椤甸�昏緫锛屽厛鎻愮ず鏄惁濉啓瀹屾瘯
+ handleDetailsPageNextClick : function(cmp) {
+ //瀛樹竴涓嬫绱㈡閲岀殑鍊� 涓嶇劧浼氳娓呮帀
+ var key = document.getElementById('searchInput').value;
+ cmp.set('v.searchCaseKey',key);
+ var AgencyClick = cmp.get('v.AgencyClick');
+ if(AgencyClick){
+ //鐩存帴璺宠浆鏄庣粏椤�
+ cmp.set('v.NextPageDisplay',false);
+ cmp.set('v.uploadFilePage',true);
+ var spanList = document.getElementById("uploadFileDiv").getElementsByTagName("span");
+ if(spanList.size()>0){
+ spanList[2].innerText = '涓婁紶闄勪欢';
+ }
+ }else{
+ if(confirm('璇风‘璁ゆ槸鍚﹀~鍐欐垚璐х墿鎯呭喌锛�')){
+ //澧炲姞鎵弿鏍囪瘑锛宐atch鍙栨秷椹冲洖鍕鹃�� 2020/12/30 wql start
+ cmp.set('v.IsHPScan',true);
+ //澧炲姞鎵弿鏍囪瘑锛宐atch鍙栨秷椹冲洖鍕鹃�� 2020/12/30 wql end
+ this.saveeSign(cmp);
+ cmp.set('v.NextPageDisplay',false);
+ cmp.set('v.uploadFilePage',true);
+ }
+ }
+
+ },
+ //杩斿洖棣栭〉
+ handleShowPageNextClick : function(cmp) {
+ //瀛樹竴涓嬫绱㈡閲岀殑鍊� 涓嶇劧浼氳娓呮帀
+ var key = document.getElementById('searchInput').value;
+ cmp.set('v.searchCaseKey',key);
+ cmp.set('v.HomePageDisplay',true);
+ cmp.set('v.NextPageDisplay',false);
+ },
+ //杩斿洖鏄庣粏椤�
+ handleShowFielePageNextClick : function(cmp) {
+ //瀛樹竴涓嬫绱㈡閲岀殑鍊� 涓嶇劧浼氳娓呮帀
+ cmp.set('v.searchCase',cmp.get('v.searchCaseKey'));
+ console.log('searchCaseKey:'+cmp.get('v.searchCaseKey'));
+ cmp.set('v.NextPageDisplay',true);
+ cmp.set('v.uploadFilePage',false);
+ //2020/12/02 鐐瑰嚮涓婁竴姝ョ殑鏃跺�欓殣钘忛��鍥炴寜閽�
+ cmp.set("v.submitAfterShow", false);
+ },
+ //缁欐彁浜ゆ寜閽竴涓粯璁ょ殑鍊�
+ submitClick : function(cmp,event){
+ var IsWhole = cmp.get('v.IsWhole');
+ var IsHaveFile = cmp.get('v.IsHaveFile');
+ var IsUpLoad = cmp.get('v.IsUpLoad');
+ var AgencyClick = cmp.get('v.AgencyClick');
+ //鑾峰彇缁忛攢鍟嗛偖绠�
+ var value = cmp.find("inputCmp").get("v.value");
+ console.log('email:'+value);
+
+ //鍒ゆ柇閭鏄惁鏈夋晥
+ var validity = cmp.find("inputCmp").get("v.validity");
+ console.log(validity.valid);
+
+ //鈶犲瓨鍦ㄤ笉瀹屽ソ鐨勮揣鐗╂槑缁� 涓簍ure 鈶ize<0璇存槑娌℃湁涓婁紶鏂囦欢
+ //鍕鹃��
+
+ if(!IsHaveFile){
+ alert('璇锋偍涓婁紶鐓х墖鍚庡啀鐐规彁浜わ紒');
+
+ }else if(!IsUpLoad&&IsHaveFile){
+ alert('璇锋偍鐐瑰嚮涓婁紶鏂囦欢鎸夐挳涓婁紶锛�');
+ }else if(IsUpLoad &&!IsHaveFile){
+ alert('鎮ㄥ苟娌℃湁閫夋嫨鏂囦欢!');
+ }else{
+ if(validity.valid){
+ cmp.set('v.HPWorkflowEmailBack',value);
+ //鍕鹃��
+ if(confirm('璇风‘璁ゆ槸鍚︽彁浜わ紵')){
+ cmp.set('v.IsHPShow', true);
+ //鎵弿鍕鹃��
+ cmp.set('v.IsHPScan', true);
+ //璁剧疆涓�涓猣lag鐢ㄤ簬閬垮厤鎻愪氦涓ゆ
+ cmp.set('v.AgencyClick', true);
+ this.saveeSign(cmp);
+ this.BackToHomePage(cmp);
+
+ }
+
+ }else{
+ alert('璇锋偍濉啓姝g‘鐨勯偖绠卞湴鍧�鎴栬�呬笉濉啓锛�');
+
+ }
+
+ }
+
+
+
+ // alert('宸茬粡淇濆瓨濂戒簡锛佽鎮ㄧ偣鍑诲綍鍏ョ収鐗囨垨鑰呭叧闂椤甸潰銆�');
+ },
+ //寮瑰嚭 鎴愬姛鎻愮ずtoast 鏂规硶
+ showSuccessToast : function(cmp) {
+ $A.util.removeClass(cmp.find('successDiv'), 'slds-hide');
+ window.setTimeout($A.getCallback(function() {
+ $A.util.addClass(cmp.find('successDiv'), 'slds-hide');
+ }),
+ 5000
+ );
+ },
+ //寮瑰嚭 閿欒鎻愮ずtoast 鏂规硶
+ showErrorToast : function(cmp) {
+ const width = document.documentElement.clientWidth;
+ const contentDOM1 = document.getElementById('errorSonDiv1');
+ contentDOM1.style.width = width*0.6 + 'px';
+ const contentDOM2 = document.getElementById('errorSonDiv2');
+ contentDOM2.style.width = width*0.38 + 'px';
+ contentDOM2.style.height = '4rem';
+ const contentDOM3 =document.getElementById('errorSonDiv3');
+ contentDOM3.style.width = width-150 + 'px';
+ $A.util.removeClass(cmp.find('errorDiv'), 'slds-hide');
+ window.setTimeout($A.getCallback(function() {
+ $A.util.addClass(cmp.find('errorDiv'), 'slds-hide');
+ }),
+ 5000
+ );
+ },
+ // 灞曠ず 绛夊緟妗�
+ showSpinner: function(cmp) {
+ // remove slds-hide class from mySpinner
+ var spinner = cmp.find("mySpinner");
+ $A.util.removeClass(spinner, "slds-hide");
+ },
+ // 闅愯棌 绛夊緟妗�
+ hideSpinner : function(cmp){
+ // add slds-hide class from mySpinner
+ var spinner = cmp.find("mySpinner");
+ $A.util.addClass(spinner, "slds-hide");
+ },
+ //杩斿洖鏄庣粏椤�
+ handleShowFielePageNextClick : function(cmp) {
+
+ cmp.set('v.NextPageDisplay',true);
+ cmp.set('v.uploadFilePage',false);
+ //璁剧疆鎴� 榛樿 false
+ cmp.set('v.IsWhole',false);
+ cmp.set('v.IsHaveFile',false);
+ //闅愯棌鍒�
+ cmp.set('v.hideCheckboxColumn',true);
+ },
+ GoodsChanged:function(cmp){
+ var currentData = cmp.get('v.currentData');
+ for(var i = 0; i<currentData.length; i++){
+ //鑾峰彇id
+ // var id = currentData[i].Id;
+ // //鑾峰彇椤甸潰涓婄殑璐х墿鎯呭喌
+ // var goodStatus = document.getElementById(id).value;
+ // currentData[i].HPGoodStatus__c =goodStatus;
+ // //璁剧疆鎵撳嬀鏍峰紡
+ // var idx = id+i;
+ //鑾峰彇id
+ var idx = currentData[i].Id+':'+i+':'+currentData[i].CaseNumber__c;
+ //鑾峰彇椤甸潰涓婄殑璐х墿鎯呭喌
+ var goodStatus = document.getElementById(idx).value;
+ currentData[i].HPGoodStatus__c =goodStatus;
+ // document.getElementById(idx).style.display = '';
+ // document.getElementById(id).style.border = 'hidden';
+
+ }
+ cmp.set('v.currentData',currentData);
+ },
+ //涓婚〉璺抽椤�
+ BackToHomePage : function(cmp, event, helper){
+ if(confirm('纭鍥炲埌棣栭〉鍚楋紵')){
+ // var messageEvent = cmp.getEvent('componentEvent');
+ // messageEvent.setParam('DNName',cmp.get('v.DNName'));
+ // messageEvent.setParam('IsAgencyShow',cmp.get('v.IsAgencyShow'));
+
+ // messageEvent.fire();
+ cmp.set("v.HomePage", false);
+ cmp.set("v.uploadFilePage", false);
+ cmp.set("v.HomePageDisplay", true);
+ }
+
+
+ // helper.BackToHomePage(cmp);
+ },
+ //鏄庣粏椤� 閫傜敤鎸夐挳 鏍规嵁绠卞彿鍒掑垎鏁扮粍data
+ //鈶犲綋鍓嶉〉闈s璧嬪��
+ //鈶″悗鍙癲ata鏁版嵁瀹為檯淇敼鍊�
+ BatchUpdateByCase : function(cmp, event){
+ //鑾峰彇鎸夐挳涓睘鎬ame == 鑾峰彇鍙傛暟 绠卞彿
+ var caseNumber = event.target.name;
+ //鑾峰彇鎸夐挳涓殑灞炴�� id == 鑾峰彇鍙傛暟 id
+ var idx = event.target.id;
+ //鎷兼帴 璐х墿鎯呭喌鐨刬d
+ var goodId = idx+caseNumber;
+ //鑾峰彇杩欎竴绠辩涓�涓殑鐨勮揣鐗╂儏鍐�
+ var goodStatus = document.getElementById(goodId).value;
+
+ var data = cmp.get('v.data');
+
+ for(var i = 0; i<data.length; i++){
+ //鑾峰彇鎵�鏈塶ame涓虹鍙风殑input 鎵归噺鏇存柊
+ if(data[i].CaseNumber__c == caseNumber){
+ data[i].HPGoodStatus__c = goodStatus;
+ }
+
+ }
+ //鍚庡彴data鍙樹簡 浣嗛〉闈笉鑳藉強鏃跺彉
+ cmp.set('v.data',data);
+
+ //鑾峰彇鍒嗛〉鐨勮椤圭洰 鍒╃敤value璧嬪�� 鍙婃椂鍙�
+ var currentData = cmp.get('v.currentData');
+ for(var j = 0; j<currentData.length; j++){
+ if(currentData[j].CaseNumber__c == caseNumber){
+ //鎷兼帴id
+ var id = currentData[j].Id+':'+j+':'+currentData[j].CaseNumber__c;
+ document.getElementById(id).value =currentData[j].HPGoodStatus__c ;
+ id = '';
+ }else{
+ //閬垮厤褰卞搷鍏朵粬鍏朵粬鍒椾慨鏀�
+
+ //鑾峰彇id
+ var idx = currentData[j].Id+':'+j+':'+currentData[j].CaseNumber__c;
+ //鑾峰彇椤甸潰涓婄殑璐х墿鎯呭喌
+ var goodStatus = document.getElementById(idx).value;
+ currentData[j].HPGoodStatus__c =goodStatus;
+ }
+
+ }
+ //鏈�鍚庢洿鏂板悗鍙癲ata
+ cmp.set('v.currentData',currentData);
+ //褰撶偣鍑婚�傜敤鎸夐挳浠ュ悗锛岄〉闈笂鏄剧ず鍏ㄩ儴閫傜敤鎸夐挳
+ cmp.set('v.applyButton', false);
+ cmp.set('v.allApplyButton', true);
+
+ },
+ //鏄庣粏椤� 鍏ㄩ儴閫傜敤鎸夐挳 鏍规嵁绠卞彿鍒掑垎鏁扮粍data
+ //鈶犲綋鍓嶉〉闈s璧嬪��
+ //鈶″悗鍙癲ata鏁版嵁瀹為檯淇敼鍊�
+ allBatchUpdateByCase : function(cmp,event){
+ //鑾峰彇鎸夐挳涓睘鎬ame == 鑾峰彇鍙傛暟 绠卞彿
+ var caseNumber = event.target.name;
+ //鑾峰彇鎸夐挳涓殑灞炴�� id == 鑾峰彇鍙傛暟 id
+ var idx = event.target.id;
+ //鎷兼帴 璐х墿鎯呭喌鐨刬d
+ var goodId = idx+caseNumber;
+ //鑾峰彇杩欎竴绠辩涓�涓殑鐨勮揣鐗╂儏鍐�
+ var goodStatus = document.getElementById(goodId).value;
+
+ var data = cmp.get('v.data');
+
+ for(var i = 0; i<data.length; i++){
+ //鍏ㄩ儴鏇存柊鎴� 涓婅堪value鍊肩殑璐х墿鎯呭喌
+
+ data[i].HPGoodStatus__c = goodStatus;
+
+
+ }
+ //鍚庡彴data鍙樹簡 浣嗛〉闈笉鑳藉強鏃跺彉
+ cmp.set('v.data',data);
+
+ //鑾峰彇鍒嗛〉鐨勮椤圭洰 鍒╃敤value璧嬪�� 鍙婃椂鍙�
+ var currentData = cmp.get('v.currentData');
+ for(var j = 0; j<currentData.length; j++){
+
+ //鎷兼帴id
+ var id = currentData[j].Id+':'+j+':'+currentData[j].CaseNumber__c;
+ document.getElementById(id).value =currentData[j].HPGoodStatus__c ;
+ id = '';
+
+
+ }
+ //鏈�鍚庢洿鏂板悗鍙癲ata
+ cmp.set('v.currentData',currentData);
+
+ },
+ //椤甸潰涓婃绱㈠姛鑳�
+ searchByCaseNumber :function(cmp,event){
+ //鑾峰彇杈撳叆鐨剉alue鍊�
+ var key = document.getElementById('searchInput').value;
+ var data = cmp.get('v.data');
+ //瀹氫箟涓�涓┖鏁扮粍 鐢ㄤ簬瀛樻斁鎸夌鍒嗙被鍚庣殑data
+ var tempDataList = [];
+
+ var pageSize = cmp.get('v.pageSize');
+ //鍒ゆ柇鎼滅储妗嗗唴鏄惁鏈夊��
+ if(key){
+ cmp.set('v.searchFlag',true);
+ for(var i = 0; i<data.length; i++){
+ //鑾峰彇鎵�鏈塶ame涓虹鍙风殑input 鎵归噺鏇存柊
+ if(data[i].CaseNumber__c == key){
+ tempDataList.push(data[i]);
+ }
+
+ }
+ //璁剧疆鍒嗛〉
+ var tempData = this.getTempData(tempDataList, 1,pageSize);
+ cmp.set("v.isLastPage", this.isLastPage(tempDataList,tempData));
+ cmp.set("v.dataSize", tempData.length);
+ cmp.set("v.currentData", tempData);
+ cmp.set('v.pageNumber', 1);
+ cmp.set("v.searchSize",tempDataList.length);
+
+ }else{
+ cmp.set('v.searchFlag',false);
+ //鏄剧ず鍏ㄩ儴绠�
+ var data = cmp.get('v.data');
+ var tempData = this.getTempData(data, 1,pageSize);
+ cmp.set("v.isLastPage", this.isLastPage(data,tempData));
+ cmp.set("v.dataSize", tempData.length);
+ cmp.set("v.currentData", tempData);
+ cmp.set('v.pageNumber', 1);
+ cmp.set('v.searchSize', null);
+
+ }
+
+
+ },
+ MAX_FILE_SIZE: 4608000, //Max file size 4.5 MB
+ CHUNK_SIZE: 750000, //Chunk Max size 750Kb
+ uploadHelper: function(component, event) {
+ // start/show the loading spinner
+ component.set("v.showLoadingSpinner", true);
+ // get the selected files using aura:id [return array of files]
+ var fileInput = component.find("fileId").get("v.files");
+ // get the first file using array index[0]
+ var file = fileInput[0];
+ //var test = this.compress(file);
+ var self = this;
+ var pdf =file.type;
+ //澧炲姞鍙互涓婁紶鐨勫浘鐗囩被鍨� 绮剧悽鎶�鏈� thh 2021-09-13
+ if(pdf =='image/jpeg' || pdf =='image/png'){
+ // create a FileReader object
+ var objFileReader = new FileReader();
+ // set onload function of FileReader object
+ objFileReader.onload = $A.getCallback(function() {
+ var image = new Image();
+ image.src = objFileReader.result;
+ var fileContents = objFileReader.result;
+ image.onload = function() {
+ var maxSize;
+ var imgWidth ;
+ var imgHeight ;
+ //鍥剧墖灏忎簬300k鍒欎笉鍘嬬缉
+ if(file.size >0 && file.size <307200){
+ imgWidth = this.width;
+ imgHeight = this.height;
+ }else{
+ if(Math.sqrt(this.width*this.height)/Math.sqrt(2) >1200){
+ maxSize = 1200;
+ } else {
+ maxSize =Math.sqrt(this.width*this.height)/Math.sqrt(2);
+ }
+ var imgScale = self.imgScaleW(maxSize,this.width,this.height);
+ imgWidth = imgScale.width,
+ imgHeight = imgScale.height;
+ }
+
+ var canvas = document.createElement("canvas");
+ var ctx = canvas.getContext("2d");
+
+ canvas.width = imgWidth;
+ canvas.height = imgHeight;
+
+ ctx.drawImage(this, 0, 0, imgWidth, imgHeight);
+ //澧炲姞鍙互涓婁紶鐨勫浘鐗囩被鍨� 绮剧悽鎶�鏈� thh 2021-09-13 start
+ if(pdf =='image/jpeg' ){
+ fileContents = canvas.toDataURL("image/jpeg", 0.9);
+ }else if(pdf =='image/png'){
+ fileContents = canvas.toDataURL("image/png", 0.9);
+ }
+ //澧炲姞鍙互涓婁紶鐨勫浘鐗囩被鍨� 绮剧悽鎶�鏈� thh 2021-09-13 end
+ var base64 = "base64,";
+ var dataStart = fileContents.indexOf(base64) + base64.length;
+
+ fileContents = fileContents.substring(dataStart);
+ // call the uploadProcess method
+ self.uploadProcess(component, file, fileContents);
+ };
+ });
+ }else{
+ //event
+ var objFileReader = new FileReader();
+ // set onload function of FileReader object
+ objFileReader.onload = $A.getCallback(function() {
+
+ var fileContents = objFileReader.result;
+ var base64 = "base64,";
+ var dataStart = fileContents.indexOf(base64) + base64.length;
+
+ if (fileContents.length > 4608000) {
+ component.set("v.showLoadingSpinner", false);
+ alert("鎻愰啋锛屾枃浠跺帇缂╁ぇ灏忎笉鑳借秴杩�4.5M,璇烽噸鏂颁笂浼犮��");
+ return;
+ } else{
+ fileContents = fileContents.substring(dataStart);
+ // call the uploadProcess method
+ self.uploadProcess(component, file, fileContents);
+ }
+ });
+ }
+ objFileReader.readAsDataURL(file);
+ },
+
+ uploadProcess: function(component, file, fileContents) {
+ // set a default size or startpostiton as 0
+ var startPosition = 0;
+ // calculate the end size or endPostion using Math.min() function which is return the min. value
+ var endPosition = Math.min(
+ fileContents.length,
+ startPosition + this.CHUNK_SIZE
+ );
+ // start with the initial chunk, and set the attachId(last parameter)is null in begin
+ this.uploadInChunk(
+ component,
+ file,
+ fileContents,
+ startPosition,
+ endPosition,
+ ""
+ );
+ },
+
+ uploadInChunk: function(
+ component,
+ file,
+ fileContents,
+ startPosition,
+ endPosition,
+ attachId
+ ) {
+ // call the apex method 'saveChunk'
+ var getchunk = fileContents.substring(startPosition, endPosition);
+ //澧炲姞鏂囦欢鍒楄〃鍒犻櫎鍔熻兘聽聽绮剧悽鎶�鏈爐hh聽2021-08-31聽start
+ //鎶婂帇缂╁畬鐨剆rc鍜屾枃浠跺悕瀛樺叆map
+ var filesrc = component.get("v.FileSrc");
+ var emptyflag = true;
+ for(var key in filesrc) {
+ var emptyflag = false;
+ }
+ if(emptyflag){
+ filesrc[file.name] = getchunk;
+ } else {
+ for(var key in filesrc){
+ if(key == file.name){
+ filesrc[file.name] = filesrc[file.name] + getchunk;
+ }else {
+ filesrc[file.name] = getchunk;
+ console.log('filesrc锛�'+filesrc);
+ }
+ }
+ }
+ component.set('v.FileSrc', filesrc);
+ //澧炲姞鏂囦欢鍒楄〃鍒犻櫎鍔熻兘聽聽绮剧悽鎶�鏈爐hh聽2021-09-01 end
+ var baseFile = component.get("v.baseFile");
+ var base64List = component.get("v.base64List");
+ //鐢ㄤ簬鍒ゆ柇涓婁紶鍚屼竴涓枃浠舵彁绀�
+ var messageFlag = component.get("v.messageFlag");
+ //鍒ゆ柇鏄惁鍑虹幇杩囩綉缁滀笉濂斤紝涓婁紶澶辫触鐨勬儏鍐�
+ var errorFlag = component.get("v.errorFlag");
+ if(!base64List){
+ if(baseFile != getchunk){
+ //鐢ㄤ簬鍒ゆ柇涓婁紶鍚屼竴涓枃浠舵彁绀�
+ component.set("v.messageFlag",false);
+ messageFlag = component.get("v.messageFlag");
+ var action = component.get("c.saveChunk");
+ action.setParams({
+ parentId: component.get("v.parentId"),
+ fileName: file.name,
+ base64Data: encodeURIComponent(getchunk),
+ contentType: file.type,
+ fileId: attachId
+ });
+ // set call back
+ action.setCallback(this, function(response) {
+ // store the response / Attachment Id
+ attachId = response.getReturnValue();
+ //澧炲姞鏂囦欢鍒楄〃鍒犻櫎鍔熻兘聽聽绮剧悽鎶�鏈爐hh聽2021-09-02聽start
+ //鍏宠仈闄勪欢ID鍜岄檮浠跺悕
+ var attachmentID = component.get("v.attachmentID");
+ attachmentID[file.name] = attachId;
+ component.set("v.attachmentID", attachmentID);
+ //澧炲姞鏂囦欢鍒楄〃鍒犻櫎鍔熻兘聽聽绮剧悽鎶�鏈爐hh聽2021-09-02聽end
+ var state = response.getState();
+ if (state === "SUCCESS") {
+ // update the start position with end postion
+ startPosition = endPosition;
+ endPosition = Math.min(
+ fileContents.length,
+ startPosition + this.CHUNK_SIZE
+ );
+ // check if the start postion is still less then end postion
+ // then call again 'uploadInChunk' method ,
+ // else, diaply alert msg and hide the loading spinner
+ if (startPosition < endPosition) {
+ this.uploadInChunk(
+ component,
+ file,
+ fileContents,
+ startPosition,
+ endPosition,
+ attachId
+ );
+ } else {
+ //鍒ゆ柇涓婁紶鏂囦欢鍐呭 鎻愮ず涓�娆′俊鎭�
+ var base = component.get("v.getchunk");
+ if(!base || (base&&base!=getchunk)){
+ // alert("鎮ㄥ凡缁忔垚鍔熶笂浼犳枃浠躲��");
+ component.set("v.getchunk", getchunk);
+ }
+
+ alert("鎮ㄥ凡缁忔垚鍔熶笂浼犳枃浠躲�俓n璇风偣鍑绘彁浜ゅ悗閫�鍑恒��");
+ //鐢ㄤ簬鎻愪氦鎸夐挳鍒ゆ柇鏄惁鏈夊凡涓婁紶鐨勬枃浠�
+ component.set('v.IsUpLoad',true);
+ //鐢ㄤ簬鍒ゆ柇涓婁紶鍚屼竴涓枃浠舵彁绀�
+ component.set("v.messageFlag",true);
+ messageFlag =component.get("v.messageFlag");
+ component.set("v.showLoadingSpinner", false);
+ //鏍囪瘑棰勮鍥剧墖鍚嶅瓧 绮剧悽鎶�鏈� thh 2021-09-15 start
+ var isUploadName = component.get("v.isUploadName");
+ var fileName = component.find("fileId").get("v.files")[0]['name'];
+ if(isUploadName[fileName]) {
+ var str = '<span>褰撳墠鏂囦欢锛�</span><span id="nowfile" class="field-title" style="color:Green;" title="' + fileName + '">' + fileName + '</span>';
+ document.getElementById("uploadicon").style.display = 'inline-block';
+ } else{
+ var str = '<span>褰撳墠鏂囦欢锛�</span><span id="nowfile" class="field-title" style="color:Gray;" title="' + fileName + '">' + fileName + '</span>';
+ document.getElementById("uploadicon").style.display = 'none';
+ }
+ var obj = document.getElementById('filenow');
+ obj.innerHTML = str;
+ //鏍囪瘑棰勮鍥剧墖鍚嶅瓧 绮剧悽鎶�鏈� thh 2021-09-15 end
+ //涓婁紶鎴愬姛鍚庢枃浠跺垪琛ㄧ殑鏂囦欢鍚嶅彉鑹� 绮剧悽鎶�鏈� thh 2021-09-26 start
+ var count = component.get("v.fileUpLoadSize");
+ var fileName = component.get("v.flUpLoadName");
+ if (count > 0) {
+ //鍒楀嚭鏂囦欢鍚�01 鎵�鏈夋枃浠跺悕閮界敤閫楀彿闅斿紑 鏍规嵁閫楀彿鎷嗗垎锛屽瓨鏀炬暟缁�
+ var nameList = fileName.split(',');
+ for (var i = 0; i < nameList.length; i++) {
+ for (var j = i + 1; j < nameList.length; j++) {
+ if (nameList[i] == nameList[j]) { //绗竴涓瓑鍚屼簬绗簩涓紝splice鏂规硶鍒犻櫎绗簩涓�
+ nameList.splice(j, 1);
+ j--;
+ }
+ }
+ }
+ //瀛樻斁鍒板彉閲忎腑 鐢ㄤ簬涓婁竴椤典笅涓�椤佃繛鐐�
+ component.set('v.nameUpLoadList', nameList);
+ //閲嶆柊瀹氫箟閫変腑鏂囦欢鐨勬暟閲�
+ component.set('v.fileSize', nameList.length);
+ console.log("nameList:" + component.get('v.nameUpLoadList'));
+ var isUploadName = component.get("v.isUploadName");
+ if (nameList.length > 0) {
+ var strList = '';
+ for (var i = 0; i < nameList.length; i++) {
+ var num = Number(i) + 1;
+ var id = 'file0' + num;
+ //鏍囪瘑鏂囦欢鏄惁宸茬粡涓婁紶 绮剧悽鎶�鏈� thh 2021-09-26 start
+ if(isUploadName[nameList[i]]) {
+ var str = '<button id="' + id + '" class="slds-button" title="Field 3" style="text-align:left;width:250px;font-weight:bold;font-size: 15px;color:Green;" name="' + nameList[i] + '">' + nameList[i] + '</button><br>';
+ } else{
+ var str = '<button id="' + id + '" class="slds-button" title="Field 3" style="text-align:left;width:250px;font-weight:bold;font-size: 15px;color:Gray;" name="' + nameList[i] + '">' + nameList[i] + '</button><br>';
+ }
+ //鏍囪瘑鏂囦欢鏄惁宸茬粡涓婁紶 绮剧悽鎶�鏈� thh 2021-09-26 end
+ //鎷兼帴p鏍囩 鍒楀嚭鏂囦欢鍚峣d涓嶅悓
+ strList += str;
+ }
+ var obj = document.getElementById('file00');
+ obj.innerHTML = strList;
+ }
+ }
+ //涓婁紶鎴愬姛鍚庢枃浠跺垪琛ㄧ殑鏂囦欢鍚嶅彉鑹� 绮剧悽鎶�鏈� thh 2021-09-26 end
+ }
+ // handel the response errors
+ } else if (state === "INCOMPLETE") {
+ alert("From server: " + response.getReturnValue());
+ component.set("v.showLoadingSpinner", false);
+ component.set("v.errorFlag", true);
+
+ } else if (state === "ERROR") {
+ var errors = response.getError();
+ component.set("v.showLoadingSpinner", false);
+ component.set("v.errorFlag", true);
+ if (errors) {
+ if (errors[0] && errors[0].message) {
+ console.log("Error message: " + errors[0].message);
+ }
+ } else {
+ console.log("Unknown error");
+ }
+ }
+ });
+ // enqueue the action
+ $A.enqueueAction(action);
+
+ }
+
+ }
+ else if(!base64List.includes(getchunk) || (base64List.includes(getchunk)&&errorFlag)){
+ //缃戠粶娉㈠姩杩涙潵浠ュ悗 缃垚false
+ component.set("v.errorFlag", false);
+ //鐢ㄤ簬鍒ゆ柇涓婁紶鍚屼竴涓枃浠舵彁绀�
+ component.set("v.messageFlag",false);
+ messageFlag = component.get("v.messageFlag");
+ var action = component.get("c.saveChunk");
+ action.setParams({
+ parentId: component.get("v.parentId"),
+ fileName: file.name,
+ base64Data: encodeURIComponent(getchunk),
+ contentType: file.type,
+ fileId: attachId
+ });
+
+ // set call back
+ action.setCallback(this, function(response) {
+ // store the response / Attachment Id
+ attachId = response.getReturnValue();
+ //澧炲姞鏂囦欢鍒楄〃鍒犻櫎鍔熻兘聽聽绮剧悽鎶�鏈爐hh聽2021-09-02聽start
+ //鍏宠仈闄勪欢ID鍜岄檮浠跺悕
+ var attachmentID = component.get("v.attachmentID");
+ attachmentID[file.name] = attachId;
+ component.set("v.attachmentID", attachmentID);
+ //澧炲姞鏂囦欢鍒楄〃鍒犻櫎鍔熻兘聽聽绮剧悽鎶�鏈爐hh聽2021-09-02聽end
+ var state = response.getState();
+ if (state === "SUCCESS") {
+ // update the start position with end postion
+ startPosition = endPosition;
+ endPosition = Math.min(
+ fileContents.length,
+ startPosition + this.CHUNK_SIZE
+ );
+ // check if the start postion is still less then end postion
+ // then call again 'uploadInChunk' method ,
+ // else, diaply alert msg and hide the loading spinner
+ if (startPosition < endPosition) {
+ this.uploadInChunk(
+ component,
+ file,
+ fileContents,
+ startPosition,
+ endPosition,
+ attachId
+ );
+ } else {
+ //鍒ゆ柇涓婁紶鏂囦欢鍐呭 鎻愮ず涓�娆′俊鎭�
+ var base = component.get("v.getchunk");
+ if(!base || (base&&base!=getchunk)){
+ // alert("鎮ㄥ凡缁忔垚鍔熶笂浼犳枃浠躲��");
+ component.set("v.getchunk",getchunk );
+ }
+ alert("鎮ㄥ凡缁忔垚鍔熶笂浼犳枃浠躲�俓n璇风偣鍑绘彁浜ゅ悗閫�鍑恒��");
+ //鐢ㄤ簬鎻愪氦鎸夐挳鍒ゆ柇鏄惁鏈夊凡涓婁紶鐨勬枃浠�
+ component.set('v.IsUpLoad',true);
+ //鐢ㄤ簬鍒ゆ柇涓婁紶鍚屼竴涓枃浠舵彁绀�
+ component.set("v.messageFlag",true);
+ messageFlag =component.get("v.messageFlag");
+ component.set("v.showLoadingSpinner", false);
+ //鏍囪瘑棰勮鍥剧墖鍚嶅瓧 绮剧悽鎶�鏈� thh 2021-09-15 start
+ var isUploadName = component.get("v.isUploadName");
+ var fileName = component.find("fileId").get("v.files")[0]['name'];
+ if(isUploadName[fileName]) {
+ var str = '<span>褰撳墠鏂囦欢锛�</span><span id="nowfile" class="field-title" style="color:Green;" title="' + fileName + '">' + fileName + '</span>';
+ document.getElementById("uploadicon").style.display = 'inline-block';
+ } else{
+ var str = '<span>褰撳墠鏂囦欢锛�</span><span id="nowfile" class="field-title" style="color:Gray;" title="' + fileName + '">' + fileName + '</span>';
+ document.getElementById("uploadicon").style.display = 'none';
+ }
+ var obj = document.getElementById('filenow');
+ obj.innerHTML = str;
+ //鏍囪瘑棰勮鍥剧墖鍚嶅瓧 绮剧悽鎶�鏈� thh 2021-09-15 end
+ //涓婁紶鎴愬姛鍚庢枃浠跺垪琛ㄧ殑鏂囦欢鍚嶅彉鑹� 绮剧悽鎶�鏈� thh 2021-09-26 start
+ var count = component.get("v.fileUpLoadSize");
+ var fileName = component.get("v.flUpLoadName");
+ if (count > 0) {
+ //鍒楀嚭鏂囦欢鍚�01 鎵�鏈夋枃浠跺悕閮界敤閫楀彿闅斿紑 鏍规嵁閫楀彿鎷嗗垎锛屽瓨鏀炬暟缁�
+ var nameList = fileName.split(',');
+ for (var i = 0; i < nameList.length; i++) {
+ for (var j = i + 1; j < nameList.length; j++) {
+ if (nameList[i] == nameList[j]) { //绗竴涓瓑鍚屼簬绗簩涓紝splice鏂规硶鍒犻櫎绗簩涓�
+ nameList.splice(j, 1);
+ j--;
+ }
+ }
+ }
+ //瀛樻斁鍒板彉閲忎腑 鐢ㄤ簬涓婁竴椤典笅涓�椤佃繛鐐�
+ component.set('v.nameUpLoadList', nameList);
+ //閲嶆柊瀹氫箟閫変腑鏂囦欢鐨勬暟閲�
+ component.set('v.fileSize', nameList.length);
+ console.log("nameList:" + component.get('v.nameUpLoadList'));
+ var isUploadName = component.get("v.isUploadName");
+ if (nameList.length > 0) {
+ var strList = '';
+ for (var i = 0; i < nameList.length; i++) {
+ var num = Number(i) + 1;
+ var id = 'file0' + num;
+ //鏍囪瘑鏂囦欢鏄惁宸茬粡涓婁紶 绮剧悽鎶�鏈� thh 2021-09-26 start
+ if(isUploadName[nameList[i]]) {
+ var str = '<button id="' + id + '" class="slds-button" title="Field 3" style="text-align:left;width:250px;font-weight:bold;font-size: 15px;color:Green;" name="' + nameList[i] + '">' + nameList[i] + '</button><br>';
+ } else{
+ var str = '<button id="' + id + '" class="slds-button" title="Field 3" style="text-align:left;width:250px;font-weight:bold;font-size: 15px;color:Gray;" name="' + nameList[i] + '">' + nameList[i] + '</button><br>';
+ }
+ //鏍囪瘑鏂囦欢鏄惁宸茬粡涓婁紶 绮剧悽鎶�鏈� thh 2021-09-26 end
+ //鎷兼帴p鏍囩 鍒楀嚭鏂囦欢鍚峣d涓嶅悓
+ strList += str;
+ }
+ var obj = document.getElementById('file00');
+ obj.innerHTML = strList;
+ }
+ }
+ //涓婁紶鎴愬姛鍚庢枃浠跺垪琛ㄧ殑鏂囦欢鍚嶅彉鑹� 绮剧悽鎶�鏈� thh 2021-09-26 end
+ }
+ // handel the response errors
+ } else if (state === "INCOMPLETE") {
+ alert("From server: " + response.getReturnValue());
+ component.set("v.showLoadingSpinner", false);
+ component.set("v.errorFlag", true);
+ } else if (state === "ERROR") {
+ var errors = response.getError();
+ component.set("v.showLoadingSpinner", false);
+ component.set("v.errorFlag", true);
+ if (errors) {
+ if (errors[0] && errors[0].message) {
+ console.log("Error message: " + errors[0].message);
+ }
+ } else {
+ console.log("Unknown error");
+ }
+ }
+ });
+ // enqueue the action
+ $A.enqueueAction(action);
+ }else{
+ if(messageFlag){
+ alert("鎮ㄥ凡缁忎笂浼犺繃璇ユ枃浠朵簡锛�")
+ component.set("v.showLoadingSpinner", false);
+ }
+
+ }
+ //瀛樻斁涓婁紶杩囩殑鏂囦欢base64 鏁扮粍
+ var baseFile = component.get("v.baseFile");
+ var base64List = component.get("v.base64List");
+ if(baseFile){
+ component.set('v.baseFile',baseFile+','+getchunk);
+ // nameList.pust(name);
+ }else{
+ component.set('v.baseFile',getchunk);
+ }
+ baseFile = component.get("v.baseFile");
+ var base64List =baseFile.split(',');
+ component.set("v.base64List",base64List);
+ // component.set("v.showLoadingSpinner", false);
+ // baseFile = getchunk;
+
+ },
+ /**
+ * 鍥剧墖鍘嬬缉
+ * @param maxWidth 鏈�澶у搴︽垨鏈�澶ч珮搴�
+ * @param width 瀹藉害
+ * @param height 楂樺害
+ * @returns {___anonymous1968_1969}
+ */
+imgScaleW:function(maxWidth,width,height){
+ var imgScale = {};
+ var w = 0;
+ var h = 0;
+ if(width <= maxWidth && height <= maxWidth){ // 濡傛灉鍥剧墖瀹介珮閮藉皬浜庨檺鍒剁殑鏈�澶у��,涓嶇敤缂╂斁
+ imgScale = {
+ width:width,
+ height:height
+ };
+ }else{
+ if(width >= height){ // 濡傛灉鍥剧墖瀹藉ぇ浜庨珮
+ w = maxWidth;
+ h = Math.ceil(maxWidth * height / width);
+ }else{ // 濡傛灉鍥剧墖楂樺ぇ浜庡
+ h = maxWidth;
+ w = Math.ceil(maxWidth * width / height);
+ }
+ imgScale = {
+ width:w,
+ height:h
+ };
+ }
+ return imgScale;
+},
+DrawImage1:function(maxWidth,width,height){
+ var imgScale = {};
+ var w = 0;
+ var h = 0;
+ if (width > 0 && height > 0) {
+ if (width / height >= 1) {
+ if (width > maxWidth) {
+
+ imgScale = {
+ width:maxWidth,
+ height:(height * maxWidth) / width
+ };
+ } else {
+ imgScale = {
+ width:width,
+ height:height
+ };
+ }
+ } else {
+ if (height > maxWidth) {
+ imgScale = {
+ width:maxWidth,
+ height:(width * maxWidth) / height
+ };
+ } else {
+ imgScale = {
+ width:width,
+ height:height
+ };
+ }
+ }
+ }
+
+ return imgScale;
+},
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/eSignHospitalHomePage/eSignHospitalHomePage.cmp b/force-app/main/default/aura/eSignHospitalHomePage/eSignHospitalHomePage.cmp
new file mode 100644
index 0000000..1a99643
--- /dev/null
+++ b/force-app/main/default/aura/eSignHospitalHomePage/eSignHospitalHomePage.cmp
@@ -0,0 +1,100 @@
+<aura:component access="global">
+ <aura:attribute name="eSignForm" type="Object">
+ </aura:attribute>
+ <!-- 鍖婚櫌楠屾敹缁撴灉 -->
+ <aura:attribute name="HospitalAcceptanceResults" type="string" default="鍏ㄩ儴楠屾敹"/>
+ <lightning:card class="slds-is-relative" title="">
+ <!-- 宸︿晶楠屾敹缁撴灉 -->
+ <!-- <lightning:layout class="slds-m-top_large" horizontalalign="left">
+
+ <p style="font-weight:bold;font-size: 15px;">
+ 楠屾敹缁撴灉 锛�
+ </p>
+ <p class="slds-badge" style="font-weight:bold;font-size: 15px;" title="Field 3">
+ {!v.eSignForm.HPAcceptResult__c}
+ </p>
+
+ </lightning:layout> -->
+ <!-- 鍏徃鍚嶇О -->
+ <lightning:layout class="slds-m-top_large" horizontalalign="center" >
+ <lightning:layoutitem padding="around-small" size ="12">
+
+ <p class="field-title" style="font-weight:bold;" title="Field 3" align="center">
+ 濂ユ灄宸存柉浜у搧绛炬敹鍗�
+ </p>
+
+ </lightning:layoutitem>
+ </lightning:layout>
+ </lightning:card>
+ <!-- 绛炬敹鍗晅able -->
+ <div class="" id="signature" style="width:90%; border: 3px solid #000;top: 50%;left: 5%;position:relative;margin-right: 4px; ">
+ <lightning:layout class="" horizontalalign="left">
+ <lightning:layoutitem padding="around-small" size="6">
+ <div class="header-column">
+ <p>
+ 鍚堝悓缂栧彿锛�
+ </p>
+ <u>
+ <p>
+ {!v.eSignForm.ContractNO__c}
+ </p>
+ </u>
+ </div>
+ </lightning:layoutitem>
+ <!-- 涓棿绌烘牸 -->
+ <lightning:layoutitem padding="around-small" size="6">
+ <div class="header-column">
+ <p>
+ DN :
+ </p>
+ <u>
+ <p>
+ {!v.eSignForm.DNNameNo0__c}
+ </p>
+ </u>
+ </div>
+ </lightning:layoutitem>
+ </lightning:layout>
+ <lightning:layout class="" horizontalalign="left">
+ <lightning:layoutitem padding="around-small" size="6">
+ <div class="header-column">
+ <p>
+ 鍖婚櫌鍚嶇О锛�
+ </p>
+ <u>
+ <p>
+ {!v.eSignForm.Hospital_Name__c}
+ </p>
+ </u>
+ </div>
+ </lightning:layoutitem>
+ <!-- 涓棿绌烘牸 -->
+ <lightning:layoutitem padding="around-small" size="6">
+ <div class="header-column">
+ <p>
+ 绉戝 :
+ </p>
+ <u>
+ <p>
+ {!v.eSignForm.account_Name__c}
+ </p>
+ </u>
+ </div>
+ </lightning:layoutitem>
+ </lightning:layout>
+ <lightning:layout class="" horizontalalign="left">
+ <lightning:layoutitem padding="around-small">
+ <div class="header-column">
+ <p>
+ 绠辨暟锛�
+ </p>
+ <u>
+ <p>
+ {!v.eSignForm.totalNumber__c}
+ </p>
+ </u>
+ </div>
+ </lightning:layoutitem>
+ </lightning:layout>
+ </div>
+</aura:component>
\ No newline at end of file
diff --git a/force-app/main/default/aura/eSignHospitalHomePage/eSignHospitalHomePage.cmp-meta.xml b/force-app/main/default/aura/eSignHospitalHomePage/eSignHospitalHomePage.cmp-meta.xml
new file mode 100644
index 0000000..4076603
--- /dev/null
+++ b/force-app/main/default/aura/eSignHospitalHomePage/eSignHospitalHomePage.cmp-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<AuraDefinitionBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>49.0</apiVersion>
+ <description>DESCRIPTION</description>
+</AuraDefinitionBundle>
diff --git a/force-app/main/default/aura/eSignHospitalPage/eSignHospitalPage.cmp b/force-app/main/default/aura/eSignHospitalPage/eSignHospitalPage.cmp
new file mode 100644
index 0000000..21e305e
--- /dev/null
+++ b/force-app/main/default/aura/eSignHospitalPage/eSignHospitalPage.cmp
@@ -0,0 +1,709 @@
+<aura:component implements="force:appHostable,flexipage:availableForAllPageTypes"
+access="global" controller="eSignHospitalPageController">
+<!-- eSignHospitalPageController -->
+ <aura:attribute name="DNName" type="String"
+ description="鐢ㄦ潵浠庣埗瀵硅薄鎺ユ敹浼犻�掕繃鏉ョ殑DN鍙�"
+ default=""/>
+ <aura:attribute name="allWidth" type="String"
+ description="鐢ㄦ潵浠庣埗瀵硅薄鎺ユ敹浼犻�掕繃鏉ョ殑灞忓箷瀹藉害"
+ default=""/>
+ <aura:attribute name="floatWidth" type="String"
+ description="鐢ㄦ潵浠庣埗瀵硅薄鎺ユ敹浼犻�掕繃鏉ョ殑灞忓箷瀹藉害"
+ default=""/>
+ <aura:attribute name="SANumber" type="String"
+ description="鐢ㄦ潵浠庣埗瀵硅薄鎺ユ敹浼犻�掕繃鏉ョ殑娉ㄦ畫鍙�"
+ default=""/>
+ <aura:attribute name="IsSubmit" type="boolean" default="false"
+ description="鍒ゆ柇鏄惁褰曞叆琛ㄩ渶瑕佹彁浜�"/>
+ <aura:attribute name="IsWhole" type="boolean" default="false"
+ description="鍒ゆ柇鏄庣粏涓槸鍚︽湁涓嶅畬濂界殑"/>
+ <aura:attribute name="IsHaveFile" type="boolean" default="false"
+ description="鍒ゆ柇鏄惁涓婁紶闄勪欢"/>
+ <aura:attribute name="IsUpLoad" type="boolean" default="false"
+ description="鍒ゆ柇鏄惁涓婁紶闄勪欢"/>
+ <aura:attribute name="AgencyClick" type="boolean" default="false"
+ description="鍒ゆ柇鏄惁宸叉彁浜よ繃涓�娆�"/>
+ <aura:attribute name="IsAgencyShow" type="Boolean" default=""/>
+ <aura:attribute name="IsHPShow" type="Boolean" default=""/>
+
+ <aura:attribute name="hideCheckboxColumn" type="boolean" default="true"
+ description="鍥犱负鐐逛笂涓�椤电殑鏃跺�欎笉鐭ラ亾涓轰粈涔堢疆鎴恌alse浜嗘墍浠ョ敤鍙橀噺鏉ヨ缃�"/>
+ <aura:attribute name="recordId" type="String" default=""
+ description="鍦ㄦ槑缁嗛〉鐐瑰嚮涓嬩竴姝ヤ細涓婁紶褰曞叆琛紝
+ 鐒跺悗杩斿洖鐨勫綍鍏ヨ〃ID瀛樺湪杩欓噷锛岀敤浜庝笂浼犳枃浠朵娇鐢�"/>
+ <!-- 缁忛攢鍟嗘壂鎻忔棩 -->
+ <aura:attribute name="agencyScanDayBack" type="Date" default=""/>
+ <!-- 缁忛攢鍟嗙鏀舵棩 -->
+ <aura:attribute name="agencySignUpDateBack" type="Date" default=""/>
+ <!-- 缁忛攢鍟嗙‘璁ゆ棩 -->
+ <aura:attribute name="agencyConfirmDateBack" type="Date" default=""/>
+ <!-- 鍖婚櫌楠屾敹缁撴灉 -->
+ <aura:attribute name="HospitalAcceptanceResults" type="string" default="鍏ㄩ儴楠屾敹"/>
+ <!-- 鍚堝悓缂栧彿 -->
+ <aura:attribute name="Contract_No" type="string" default="123455"/>
+ <!-- 鍙戣揣DN -->
+ <aura:attribute name="DNSignUp" type="string" default="123456"/>
+ <!-- 鍖婚櫌鍚嶇О -->
+ <aura:attribute name="HospitalName" type="string" default="TEST BJ 鍖婚櫌"/>
+ <!-- 绉戝 -->
+ <aura:attribute name="DepartmentName" type="string" default="TEST BJ 鍖婚櫌 娑堝寲绉�"/>
+ <!-- 绠辨暟 -->
+ <aura:attribute name="NumberOfCases" type="string" default="2绠�"/>
+ <aura:attribute name="HomePageDisplay" type="Boolean" default="true"/>
+ <aura:attribute name="NextPageDisplay" type="Boolean" default="false"/>
+ <!-- checkbox -->
+ <aura:attribute name="chk" type="string" default=""/>
+ <aura:attribute name="check" type="Boolean" default="false"/>
+ <!-- 鐢ㄤ簬鍒ゆ柇鏄洿閿�杩樻槸鍒嗛攢 -->
+ <aura:attribute name="isAgencyOrHp" type="Boolean" default=""/>
+ <aura:attribute name="eSignForm" type="Object"
+ description="棣栭〉淇℃伅"/>
+ <aura:attribute name="uploadFilePage" type="Boolean" default="false"
+ description="鍒ゆ柇鏄惁鏄枃浠朵笂浼犻〉"/>
+ <aura:attribute name="data" type="Object[]"
+ description="鎵�鏈夋槑缁嗙殑淇℃伅"/>
+ <aura:attribute name="currentData" type="Object[]"
+ description="鏄庣粏椤靛綋鍓嶆樉绀虹殑鏄庣粏鐨勪俊鎭�"/>
+ <aura:attribute name="dataSize" type="Integer" default="0"
+ description="鏄庣粏椤靛綋鍓嶆樉绀虹殑鏄庣粏鐨勬暟閲�"/>
+ <aura:attribute name="columns" type="List"
+ description="鏄庣粏椤佃〃鏍肩殑姣忓垪鏋勯�犵殑璁惧畾"/>
+ <aura:attribute name="pageNumber" type="Integer" default="1"
+ description="鏄庣粏椤佃〃鏍肩殑绗嚑椤�"/>
+ <aura:attribute name="pageSize" type="Integer" default="5"
+ description="鏄庣粏椤佃〃鏍肩殑姣忛〉鏄庣粏瀹归噺"/>
+ <aura:attribute name="isLastPage" type="Boolean" default="false"
+ description="鏄惁鏈�鍚庝竴椤碉紝濡傛灉鏄渶鍚庝竴椤碉紝閭d箞琛ㄦ牸鍒嗛〉鐨勪笅涓�椤典笉鍙敤"/>
+ <aura:attribute name="draftValues" type="Object" default="[]"
+ description="鏄庣粏椤佃〃鏍肩殑淇敼鍐呭锛屼繚瀛樺悗浠庤繖閲岃鍊煎瓨鍒板綋鍓嶈〃鏍奸噷闈�"
+ />
+ <aura:attribute name="successMessage" type="String"
+ description="鎴愬姛娑堟伅"/>
+ <aura:attribute name="errorMessage" type="String"
+ description="澶辫触娑堟伅"/>
+ <!-- 閫傜敤+妫�绱� start-->
+ <aura:attribute name="searchSize" type="Integer" default=""
+ description="妫�绱㈡暟鎹殑闀垮害"/>
+ <aura:attribute name="searchCase" type="Integer" default=""
+ description="瀛樻斁妫�绱㈠�硷紝淇濈暀缂撳瓨"/>
+ <aura:attribute name="searchCaseKey" type="Integer" default=""
+ description="瀛樻斁妫�绱㈠�硷紝璧嬪�肩粰searchCase"/>
+ <aura:attribute name="searchFlag" type="boolean" default=""
+ description="鎼滅储妗嗘槸鍚︽湁鍊�"/>
+ <aura:attribute name="lineItemSize" type="Integer" default=""
+ description="瀛樻斁涓�鍏辨湁澶氬皯鏉℃槑缁唖ize"/>
+ <!-- 鍖婚櫌鐢靛瓙閭欢 -->
+ <aura:attribute name="HPWorkflowEmailBack" type="String"
+ description="鍖婚櫌閭"/>
+ <aura:attribute name="applyButton" type="String" default=""
+ description="鏄剧ず閫傜敤鎸夐挳"/>
+ <aura:attribute name="allApplyButton" type="String" default=""
+ description="鏄剧ず鍏ㄩ儴鎸夐挳"/>
+ <!-- 鏂囦欢鍚嶅睍绀哄垪 -->
+ <aura:attribute name="activeSections" type="List" default="['A']" />
+ <aura:attribute name="activeSectionsMessage" type="String" default="" />
+ <aura:attribute name="flName" type="String" default=""
+ description="鏄剧ず鏂囦欢鍚�"/>
+ <aura:attribute name="nameList" type="Object[]"
+ description="鏄剧ず鎵�鏈夋枃浠跺悕"/>
+ <aura:attribute name="fileSize" type="Integer" default=""
+ description="璁板綍涓�鍏辨湁鍑犱釜鏂囦欢"/>
+ <aura:attribute name="flUpLoadName" type="String" default=""
+ description="鏄剧ず涓婁紶鏂囦欢鍚�"/>
+ <aura:attribute name="fileUpLoadSize" type="Integer" default=""
+ description="鏄剧ず涓婁紶鏂囦欢鏁�"/>
+ <aura:attribute name="nameUpLoadList" type="Object[]"
+ description="鏄剧ず鎵�鏈夋枃浠跺悕"/>
+ <aura:attribute name="uploadFlag" type="Boolean" default="false"
+ description="鐐瑰嚮涓婁紶鏂囦欢鏍囪瘑"/>
+ <aura:attribute name="base64List" type="Object[]"
+ description="鏄剧ず鎵�鏈夋枃浠跺悕"/>
+ <aura:attribute name="messageFlag" type="boolean" default="false" description="鍒ゆ柇涓婁紶鏂囦欢鏄惁鎻愮ず" />
+ <aura:attribute name="submitAfterShow" type="Boolean" default="false"
+ description="鎻愪氦鍚庢樉绀洪��鍥為椤垫寜閽�"/>
+ <aura:attribute name="errorFlag" type="boolean" default="false" description="缃戠粶涓嶅ソ鐨勬儏鍐电疆鎴恡rue锛岀敱浜庢仮澶嶇綉缁滀笂浼犳枃浠讹紒" />
+
+ <!-- CHAN-BWCBL8 绮剧悽鎶�鏈� wql 20201225 start -->
+ <!-- 杩斿洖棣栭〉 end -->
+ <aura:attribute name="ISDenyReason" type="boolean" default="false" description="鏄惁鍖婚櫌椹冲洖" />
+ <!-- CHAN-BWCBL8 绮剧悽鎶�鏈� wql 20201225 end -->
+ <!-- 澧炲姞鎵弿鏍囪瘑锛宐atch鍙栨秷椹冲洖鍕鹃�� 2020/12/30 wql start -->
+ <aura:attribute name="IsHPScan" type="boolean" default="false" description="鍖婚櫌鏄惁鎵弿" />
+ <!-- 澧炲姞鎵弿鏍囪瘑锛宐atch鍙栨秷椹冲洖鍕鹃�� 2020/12/30 wql end -->
+ <!-- 鏂囦欢鍚嶅睍绀哄垪 -->
+ <!-- 鏂囦欢涓婁紶-->
+ <aura:attribute name="parentId" type="Id" default="" />
+ <!-- 'showLoadingSpinner' attribute for show/hide the uploading image and msg in aura:if-->
+ <aura:attribute name="showLoadingSpinner" type="boolean" default="false" />
+ <!-- 'fileName' attribute for display the selected file name -->
+ <aura:attribute name="fileName" type="String" default="No File Selected.." />
+ <!-- Lightning Input with file type and on file change call the 'handleFilesChange' controller --> <aura:attribute name="getchunk" type="String" default="" />
+
+ <aura:attribute name="baseFile" type="String" default="" />
+ <!-- 鏂囦欢鍚嶅睍绀哄垪 -->
+ <!-- 閫傜敤+妫�绱� end -->
+ <aura:handler name="init" action="{!c.doInit}" value="{!this}"
+ description="鍒濆鍖栨柟娉�"/>
+
+
+ <!-- 澶嶉�夋缁� -->
+ <aura:attribute name="options" type="List" default="[
+ {'label': '涓婅堪鍐呭宸查槄璇伙紙榛樿鍕鹃�夛級鐐光�滀笅涓�姝モ�濆埌鏄庣粏椤�', 'value': 'option1'}
+
+ ]"/>
+ <aura:attribute name="value" type="List" default="option1"/>
+
+ <!-- 涓婁紶闄勪欢 鍥剧墖棰勮 -->
+ <aura:attribute name="imageSrc" type="String" default="" />
+ <aura:attribute name="imgList" type="String" default="" />
+ <!--wangweipeng 20210616 閫夋嫨濂戒笂浼犲浘鐗囦互鍚庨瑙�-->
+ <aura:attribute name="imageBigSrc" type="String" default="" />
+ <!-- 澧炲姞鍒犻櫎鍔熻兘 绮剧悽鎶�鏈� thh 2021-09-26 start -->
+ <aura:attribute name="FontSrc" type="Map" default="{}" description="鍏宠仈鏂囦欢鍚嶅拰鏂囦欢" />
+ <aura:attribute name="FileSrc" type="Map" default="{}" description="鍏宠仈鍘嬬缉鍚庣殑鏂囦欢鍚嶅拰鏂囦欢" />
+ <aura:attribute name="attachmentID" type="Map" default="{}" description="鍏宠仈闄勪欢ID鍜岄檮浠跺悕" />
+ <aura:attribute name="loaded" type="Boolean" default="true" description="鏍规嵁浼犲叆鏂囦欢绫诲瀷鍐冲畾鏄惁鏄剧ず鍥剧墖"/>
+ <aura:attribute name="isUploadName" type="Map" default="{}" description="鍏宠仈鏂囦欢鍚嶅拰璇ユ枃浠舵槸鍚﹀凡缁忎笂浼�" />
+ <aura:attribute name="pdfSrc" type="Map" default="{}" description="鍏宠仈pdf鏂囦欢鍚嶅拰绌虹櫧src" />
+ <!-- 澧炲姞鍒犻櫎鍔熻兘 绮剧悽鎶�鏈� thh 2021-09-26 end -->
+
+ <div>
+ <lightning:spinner aura:id="mySpinner" size="large"
+ description="鍔犺浇涓粍浠讹紝濡傛灉涓嶉殣钘忔暣涓〉闈㈠氨鍦ㄥ姞杞戒腑"/>
+ </div>
+
+ <!-- 鎴愬姛toast 缁勪欢鐨勫疄鐜�-->
+ <div class="slds-modal slds-fade-in-open slds-hide" aura:id="successDiv">
+ <div class="demo-only" style="height: 8rem;width:40%">
+ <div class="slds-notify_container slds-is-relative">
+ <div class="slds-notify slds-notify_toast slds-theme_success" role="alert">
+ <div class=" slds-m-left_xx-large">
+ <div class="slds-notify__content slds-m-left_small slds-align_absolute-center slds-m-left_xx-large">
+ <lightning:icon alternativeText="Success" iconName="utility:success" size="small"
+ class="buttonColor slds-m-right_small" />
+ <h2 class="slds-text-heading_small ">{!v.successMessage}</h2>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <!-- 澶辫触toast 缁勪欢鐨勫疄鐜�-->
+ <div class="slds-modal slds-fade-in-open slds-hide" aura:id="errorDiv">
+ <div class="demo-only" style="height: 8rem;" id="errorSonDiv1">
+ <div class="slds-notify_container slds-is-relative">
+ <div class="slds-notify slds-notify_toast slds-theme_error" role="status" id="errorSonDiv2" style="">
+ <div class="">
+ <div class="slds-notify__content slds-m-left_small slds-align_absolute-center">
+ <lightning:icon alternativeText="error" iconName="utility:error" size="small"
+ class="buttonColor slds-m-right_small" />
+ <h2 class="slds-text-heading_small ">
+ <div id="errorSonDiv3" style=" word-break: break-all;overflow: auto;">
+ {!v.errorMessage}
+ </div>
+ </h2>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <aura:registerEvent name="componentEvent" type="c:BackToHomePage"/>
+ <!-- 棣栭〉 -->
+ <aura:if isTrue="{!v.HomePageDisplay}">
+ <p style="font-size: 17px;">
+ 棣栭〉
+ </p>
+ <div id="qs" style=" margin-bottom: 5%;" class="slds-card" >
+
+ <!-- 棣栭〉锛岀敱浜庝笌鍖婚櫌纭椤靛叕鐢ㄧ浉鍚屼富椤碉紝鎵�浠ヤ娇鐢ㄨ繖涓粍浠�,鐒跺悗鍙互鍏敤 -->
+ <c:eSignHospitalHomePage
+ HospitalAcceptanceResults = "{!v.HospitalAcceptanceResults}"
+ eSignForm = "{!v.eSignForm}"
+ />
+
+
+ <!-- 楂樺害 -->
+ <!-- <div style="height: 20px;"></div> -->
+
+ <!-- 娉ㄦ剰浜嬮」锛� -->
+ <div id="attention" style=" position:relative;margin-right: 4px; margin-right: 4px; " class="" >
+ <lightning:layout horizontalAlign="left" class="slds-m-top_large">
+ <!-- 鏈缃甽ayoutItem鐨剆ize澶у皬 涓嶆秹鍙婂苟鍒楄繖绉嶆儏鍐� 鐩墠鑷�傚簲 -->
+ <lightning:layoutItem padding="around-small" >
+ <div class="header-column">
+ <p class="field-title" title="Field 3" style="font-weight:bold;font-size: 15px;">娉ㄦ剰浜嬮」 锛� </p>
+ <p class="field-title" title="Field 3" style="font-weight:bold;font-size: 15px;"> 1銆佹敹鍒拌揣鐗╄鍦�24灏忔椂鍐呯‘璁� </p>
+ <p class="field-title" title="Field 3" style="font-weight:bold;font-size: 15px;"> 2銆佽揣鐗╁瑙傜牬鎹熻褰撻潰涓庨�佽揣浜虹瀛楃‘璁� </p>
+ <p class="field-title" title="Field 3" style="font-weight:bold;font-size: 15px;"> 3銆佷功闈㈤�氱煡渚涜揣鑰呯牬鎹熸儏鍐靛苟鎻忚堪鐮存崯鐘舵�� </p>
+ <p class="field-title" title="Field 3" style="font-weight:bold;font-size: 15px;"> 4銆佸繀瑕佹椂璇锋媿鐓ц褰� </p>
+ <!-- 椤荤煡 -->
+ <!-- CHAN-BWCBL8 绮剧悽鎶�鏈� wql 20201225 start -->
+ <aura:if isTrue="{!v.ISDenyReason}">
+ <p class="field-title" title="Field 3" style="font-weight:bold;font-size: 20px;color: #0f218b;"></p>
+ <p class="field-title" title="Field 3" style="font-weight:bold;font-size: 15px;color: red;"> 椹冲洖鍘熷洜锛歿!v.eSignForm.HPDenyReason__c} </p>
+ </aura:if>
+ <!-- CHAN-BWCBL8 绮剧悽鎶�鏈� wql 20201225 end -->
+ </div>
+ </lightning:layoutItem>
+ </lightning:layout>
+
+ <!-- 椤荤煡 -->
+ <lightning:layout horizontalAlign="left" class="slds-m-top_small">
+ <!-- 鏈缃甽ayoutItem鐨剆ize澶у皬 涓嶆秹鍙婂苟鍒楄繖绉嶆儏鍐� 鐩墠鑷�傚簲 -->
+ <lightning:layoutItem padding="around-small">
+ <!-- <lightning:checkboxGroup name="checkbox"
+ label=""
+ options="{! v.options }"
+ value="{! v.value }"
+ onchange="{! c.handleChange }"/> -->
+ <lightning:input type="checkbox" label="涓婅堪鍐呭宸查槄璇伙紝鐐光�滀笅涓�姝モ�濆埌鏄庣粏椤�" id="chk" name="chk" checked="{!v.check}" />
+ </lightning:layoutItem>
+ </lightning:layout>
+
+ </div>
+
+
+ <!-- 浠庨椤靛埌妫�绱㈤〉鐨勪笂涓�姝ユ寜閽� -->
+ <!-- <div class="slds-float_left">
+ <lightning:button variant="brand"
+ label="涓婁竴姝�" title="涓婁竴姝�" onclick="{! c.BackToHomePage }" />
+ </div> -->
+ <div class="slds-float_right">
+ <lightning:button variant="brand"
+ label="涓嬩竴姝�" title="涓嬩竴姝�" onclick="{! c.hospitalDetailsPageNextClick }" />
+ </div>
+</div>
+ <!-- </lightning:datatable> -->
+ </aura:if>
+ <aura:renderIf isTrue="{!v.NextPageDisplay}">
+ <!-- 鍔犱笂婊氬姩鏉� -->
+
+ <div id="header" style="{!'width:'+v.floatWidth+'px;'}">
+ <tr>
+ <td class="field-title" title="Field 3" style="font-weight:bold;font-size: 15px;" align="left">锛堝悜鍙虫粦鍔ㄦ煡鐪嬫洿澶氫俊鎭級
+
+ </td>
+ </tr>
+
+ </div>
+ <!-- 妫�绱� -->
+ <div id="searchDiv" class="slds-page-header" role="banner" style="{!'width:'+v.floatWidth+'px;'}">
+ <div class="slds-float_center" style="text-align:center">
+ <tr>
+ <td align="right" style="{!'padding-left:'+v.floatWidth*0.15+'px;'}">绠卞彿:
+ <input id="searchInput" lightning-input_input ="" type="text" class="slds-input" value="{!v.searchCase}" name="" onchange="{!c.searchByCaseNumber}" style="{!'width:'+v.floatWidth*0.2+'px;'}"/>
+ </td>
+
+ <td style="padding-left: 5px;">
+ <aura:if isTrue="{!v.searchFlag}">
+ 璇ョ鍏辨湁{!v.searchSize}鏉℃暟鎹��
+ <aura:set attribute="else">
+ 璇ュ崟鍏辨湁{!v.lineItemSize}鏉℃暟鎹��
+ </aura:set>
+ </aura:if>
+ </td>
+ </tr>
+ </div>
+ </div>
+ <div id="allDiv" style="{!'width:'+v.allWidth+'px;overflow-x:scroll;'}">
+ <div id="in" style=" width:799px;margin-right: 4px; ">
+ <!-- 鏄剧ず鍦ㄦ槑缁嗛〉鐨勫綋鍓嶆槑缁嗙殑琛ㄦ牸 -->
+ <div id="inTable" >
+ <!-- <lightning:card> -->
+ <aura:set attribute="title">
+ 璐х墿绛炬敹鍗曟槑缁�
+ </aura:set>
+
+ <table class="slds-table slds-table_cell-buffer slds-table_bordered slds-hint-parent slds-no-row-hover " style="table-layout: fixed;">
+ <thead>
+ <tr class="slds-line-height_reset slds-text-title_caps">
+ <!-- 绗竴鍒� 浜у搧鍨嬪彿 -->
+ <th class="slds-is-resizable" tabindex="-1" data-label="浜у搧鍨嬪彿" scope="row">
+
+ <span class="slds-grid slds-grid_align-spread" style="
+ width: 110px;text-align: left;display:block;">
+ <div class="slds-truncate">
+ <span title="浜у搧鍨嬪彿" class="slds-truncate" style="padding-bottom: 3px;">浜у搧鍨嬪彿</span> </div>
+ </span>
+
+
+
+ </th>
+ <!-- 绗簩鍒� CODE -->
+ <!-- <th class="slds-is-resizable" tabindex="-1" data-label="CODE" scope="row" style="width: 137px;height: 35px; outline: none;">
+
+ <span class="slds-grid slds-grid_align-spread" style="text-align: center;display:block;">
+ <div class="slds-truncate">
+ <span title="CODE" class="slds-truncate" style="padding-bottom: 3px;">CODE</span>
+ </div>
+
+ </span>
+
+
+ </th> -->
+
+ <!-- 绗笁鍒� 浜у搧鍚嶇О-->
+ <th class="slds-is-resizable" tabindex="-1" data-label="浜у搧鍚嶇О" scope="row" style="width: 361px;height: 35px;">
+
+ <span class="slds-grid slds-grid_align-spread" style="text-align: left;display:block;">
+ <div class="slds-truncate">
+ <span title="浜у搧鍚嶇О" class="slds-truncate" style="padding-bottom: 3px;">浜у搧鍚嶇О</span>
+
+
+ </div>
+ </span>
+
+
+ </th>
+
+ <!-- 绗洓鍒� 鏁伴噺-->
+ <th class="slds-is-resizable" tabindex="-1" data-label="鏁伴噺" scope="row" style="width: 50px;height: 35px;">
+
+ <span class="slds-grid slds-grid_align-spread" style="text-align: center;display:block;">
+ <div class="slds-truncate">
+ <span title="鏁伴噺" class="slds-truncate" style="padding-bottom: 3px;">鏁伴噺</span>
+
+
+ </div>
+ </span>
+
+
+
+ </th>
+
+ <!-- 绗簲鍒� 绠卞彿-->
+ <th class="slds-is-resizable" tabindex="-1" data-label="绠卞彿" scope="row" style="width: 50px;height: 35px;">
+
+ <span class="slds-grid slds-grid_align-spread" style="text-align: center;display:block;">
+ <div class="slds-truncate">
+ <span title="绠卞彿" class="slds-truncate" style="padding-bottom: 3px;">绠卞彿</span>
+
+
+ </div>
+ </span>
+
+
+
+ </th>
+ <!-- 绗叚鍒� 璐х墿鎯呭喌-->
+ <th class="slds-is-resizable" tabindex="-1" data-label="璐х墿鎯呭喌" scope="row" style="width: 110px;height: 35px;">
+
+ <span class="slds-grid slds-grid_align-spread" style="text-align: center;display:block;">
+ <div class="slds-truncate">
+ <span title="璐х墿鎯呭喌" class="slds-truncate" style="padding-bottom: 3px;">璐х墿鎯呭喌</span>
+
+
+ </div>
+ </span>
+
+
+
+ </th>
+ <!-- 绗竷鍒� 鎸夐挳鍒�-->
+
+ <th class="slds-is-resizable" tabindex="-1" data-label="鎸夐挳鍒�" scope="row" style="width: 86px;height: 35px;">
+
+ <span class="slds-grid slds-grid_align-spread" style="text-align: center;display:block;">
+ <div class="slds-truncate">
+ <span title="鎸夐挳鍒�" class="slds-truncate" style="padding-bottom: 3px;">鎸夌閫傜敤</span>
+
+
+ </div>
+ </span>
+
+
+
+ </th>
+
+
+ </tr>
+ </thead>
+ <aura:if isTrue="{!v.currentData.length > 0}">
+ <tbody>
+ <aura:iteration items="{!v.currentData}" var="curr" indexVar="idx">
+ <tr class="slds-hint-parent">
+ <!-- 琛岄」鐩篃鐢╰h 鍥犱负鐢╰d鏍囩鐐瑰嚮鍒楃殑楂樺厜 鍦ㄨ嫻鏋滆澶囦笂 鏈夌棔杩� -->
+ <!-- 琛岄」鐩� 绗竴鍒� 浜у搧鍨嬪彿 -->
+ <th class="slds-is-resizable" tabindex="-1" data-label="浜у搧鍨嬪彿" scope="row">
+
+ <span class="slds-grid slds-grid_align-spread" style="
+ width: 110px;
+ padding-top: 6px;height:31px;
+ ">
+ <div class="slds-truncate">
+ <lightning:formattedText id="{!curr.Id+':'+idx+':Asset_Model_No__c'}" value="{!curr.Asset_Model_No__c}" />
+ </div>
+ </span>
+
+
+
+ </th>
+
+ <!-- 琛岄」鐩� 绗簩鍒� CODE-->
+ <!-- <th class="slds-is-resizable" tabindex="-1" data-label="CODE" scope="row">
+
+ <span class="slds-grid slds-grid_align-spread">
+ <div class="slds-truncate">
+ <lightning:formattedText value="{!curr.OTCode__c}" />
+
+
+
+ </div>
+ </span>
+
+
+
+ </th> -->
+ <!-- 琛岄」鐩� 绗笁鍒� 浜у搧鍚嶇О-->
+ <th class="slds-is-resizable" tabindex="-1" data-label="浜у搧鍚嶇О" scope="row" style="white-space:nowrap;
+ overflow:hidden;
+ text-overflow: ellipsis;">
+
+ <span class="slds-grid slds-grid_align-spread">
+ <div class="slds-truncate">
+ <lightning:formattedText id="{!curr.Id+':'+idx+':productName__c'}" value="{!curr.productName__c}" />
+
+
+ </div>
+ </span>
+
+
+
+ </th>
+ <!-- 琛岄」鐩� 绗洓鍒� 鏁伴噺-->
+ <th class="slds-is-resizable" tabindex="-1" data-label="鏁伴噺" scope="row" >
+
+ <span class="slds-grid slds-grid_align-spread" style="text-align: center;display:block;">
+ <div class="slds-truncate">
+ <lightning:formattedText id="{!curr.Id+':'+idx+':Count_Text__c'}" value="{!curr.Count_Text__c}" />
+
+
+ </div>
+ </span>
+
+
+
+ </th>
+ <!-- 琛岄」鐩� 绗簲鍒� 绠卞彿-->
+ <th class="slds-is-resizable" tabindex="-1" data-label="绠卞彿" scope="row">
+
+ <span class="slds-grid slds-grid_align-spread" style="text-align: center;display:block;">
+ <div class="slds-truncate">
+ <lightning:formattedNumber id="{!curr.Id+':'+idx+':CaseNumber__c'}" value="{!curr.CaseNumber__c}"/>
+
+
+ </div>
+ </span>
+
+
+
+ </th>
+
+ <!-- 琛岄」鐩� 绗叚鍒� 璐х墿鎯呭喌-->
+ <th class="slds-is-resizable" tabindex="-1" data-label="璐х墿鎯呭喌" scope="row">
+
+ <input id="{!curr.Id+':'+idx+':'+curr.CaseNumber__c}" lightning-input_input ="" type="text" class="slds-input" value="{!curr.HPGoodStatus__c}" onchange="{!c.GoodsChanged}" />
+
+
+ <button id="{!curr.Id+idx}" tabindex="-1" class="slds-button slds-button_icon slds-cell-edit__button slds-m-left_x-small" style="display: none;" >
+ <lightning:icon iconName="utility:success" alternativeText="Success!" variant="Success"
+ title="success variant xx-small" size="xx-small"/>
+ </button>
+
+ </th>
+ <!-- 琛岄」鐩� 绗竷鍒� 鎸夐挳鍒� -->
+ <!-- <aura:if isTrue="{!v.applyButton}"> -->
+ <th class="slds-is-resizable" tabindex="-1" data-label="" scope="row">
+
+ <button id="{!curr.Id+':'+idx+':'}" tabindex="-1" class="slds-button ReturnButton" name="{!curr.CaseNumber__c}" style="{!'display:'+curr.isBlockButton__c+';width: 40px;'}" onclick="{!c.BatchUpdateByCase}">閫傜敤</button>
+
+
+ </th>
+
+ </tr>
+ </aura:iteration>
+ </tbody>
+
+ </aura:if>
+ </table>
+
+ <!-- <div class="slds-box">
+
+ <div align="center" style="float: left;padding-left: 370px;">
+ <lightning:button variant="neutral"
+ label="cancel" title="cancel" onclick="" />
+ </div>
+
+ <div align="center" style="padding-right: 370px;">
+ <lightning:button variant="brand"
+ label="save" title="save" onclick=""/>
+ </div>
+ </div> -->
+ <aura:if isTrue="{!empty(v.currentData)}">
+ <div class="slds-align_absolute-center">
+ No records found
+ </div>
+ </aura:if>
+ <!-- </lightning:card> -->
+
+
+
+ </div>
+ </div>
+ </div>
+ <!-- 鍒嗛〉鍔熻兘鐨勪笂涓�椤靛拰涓嬩竴椤碉紝 杩樻槸鏈�宸︿晶鐨勬樉绀哄綋鍓嶉〉鏁扮殑閫昏緫-->
+ <div id="floatDiv" style="{!'width:'+v.floatWidth+'px;'}">
+ <div class="slds-clearfix">
+ <div class="slds-page-header" role="banner">
+ <div class="slds-float_center" style="text-align:center">
+ <!-- iconName="utility:chevronleft" iconPosition="left" -->
+ <lightning:button iconName="utility:left"
+ onclick="{!c.handleHome}" disabled="{! v.pageNumber == 1}"/>
+ <lightning:button iconName="utility:chevronleft" iconPosition="left"
+ onclick="{!c.handlePrev}" disabled="{! v.pageNumber == 1}"/>
+ <span title="褰撳墠椤�"> {!v.pageNumber}
+ </span>
+ <lightning:button iconName="utility:chevronright" iconPosition="right"
+ disabled="{! v.isLastPage}" onclick="{!c.handleNext}"/>
+ <!-- iconName="utility:chevronright" iconPosition="right" -->
+ <lightning:button iconName="utility:right"
+ disabled="{! v.isLastPage}" onclick="{!c.handleLast}"/>
+
+ </div>
+
+ </div>
+ </div>
+
+ <!-- 鏄庣粏椤佃烦杞嚦鏂囦欢涓婁紶椤电殑鎸夐挳 -->
+ <!-- 鏄庣粏椤佃烦杞嚦鏂囦欢涓婁紶椤电殑鎸夐挳 -->
+
+ <div class="slds-float_right">
+ <!-- <aura:if isTrue="{!v.isAgencyOrHp}"> -->
+ <div id="attention" style=" position:relative;margin-right: 4px; margin-right: 4px; " class="" >
+ <!-- 纭鎻愪氦 -->
+ <!-- <lightning:layout horizontalAlign="left" class="slds-m-top_small">
+ <lightning:layoutItem padding="around-small">
+ <lightning:input type="checkbox"
+ label="鏄惁鎻愪氦濉啓鍐呭(榛樿鍕鹃��),鐐光�滀笅涓�姝モ�濆埌鍥剧墖涓婁紶椤�"
+ id="IsSubmit" name="IsSubmit"
+ checked="{!v.IsSubmit}" />
+ </lightning:layoutItem>
+ </lightning:layout> -->
+ </div>
+ <!-- </aura:if> -->
+ <lightning:button variant="brand"
+ label="涓嬩竴姝�" title="涓嬩竴姝�" onclick="{! c.handleDetailsPageNextClick }" />
+ </div>
+ <div class="slds-float_left">
+ <div id="attention" style=" position:relative;margin-right: 4px; margin-right: 4px; " class="" >
+ <!-- 纭鎻愪氦 -->
+ <lightning:button variant="brand"
+ label="涓婁竴姝�" title="涓婁竴姝�" onclick="{! c.handleShowPageNextClick }" />
+ </div>
+ </div>
+ </div>
+
+
+ </aura:renderIf>
+ <aura:if isTrue="{!v.uploadFilePage}">
+ <!-- 鏂囦欢涓婁紶缁勪欢 -->
+ <div aura:id="uploadFile" id="uploadFileDiv">
+ <div class="slds-box">
+ <lightning:input aura:id="fileId" onchange="{!c.handleFilesChange}" type="file" label="1.閫夋嫨闄勪欢" multiple="false" />
+ <lightning:notificationsLibrary aura:id="notifLibPlanA" />
+ <div style="display: inline-block; vertical-align: top;">
+ <div id="imgDiv">
+ <div id="font">棰勮鍖哄煙</div>
+ <!-- 褰撲笂浼犵殑闄勪欢涓簆df鏃讹紝闅愯棌棰勮鍖哄煙 绮剧悽鎶�鏈爐hh聽2021-09-15聽-->
+ <div id = "loaded" style="display: none;">
+ <img id="image" class="imgeBigCss" src="{!v.imageSrc}" style="display: none;" onclick="{!c.imgeBig}" />
+ <!--wangweipeng 20210616 鍥剧墖閫夊ソ浠ュ悗锛屽鎴峰彲鑳介渶瑕侀瑙堟斁澶ф煡鐪�-->
+ <div id="outerdiv" onclick="{!c.imgeSmall}">
+ <img id="bigImg" src="{!v.imageBigSrc}" style="border:1px solid #fff;" />
+ </div>
+ </div>
+ <div id = "fontpdf" style="display: none;">PDF鏂囦欢鏆備笉鏀寔棰勮</div>
+ </div>
+ </div>
+ <!-- 澧炲姞鏂囦欢鍒楄〃鍒犻櫎鍔熻兘聽聽绮剧悽鎶�鏈爐hh聽2021-08-25聽start聽-->
+ <!-- inline-block 鍏冪礌淇濇寔琛屽唴鎺掑垪涓斿彲浠ヨ缃楂� -->
+ <div style="display: inline-block; vertical-align: top;">
+ <!-- <lightning:buttonIcon iconName="utility:close" variant="bare" onclick="{!c.deleteClick}" alternativeText="Close modal" title="鍒犻櫎" iconClass="deleteicon"/> -->
+ <lightning:button label="鍒犻櫎" onclick="{!c.deleteClick}" title="鍒犻櫎" />
+ </div>
+ <!-- 澧炲姞鏂囦欢鍒楄〃鍒犻櫎鍔熻兘聽聽绮剧悽鎶�鏈爐hh聽2021-08-25聽end聽-->
+ <!-- 鏍囪瘑棰勮鍥剧墖鍚嶅瓧聽聽绮剧悽鎶�鏈爐hh聽2021-09-09聽start聽-->
+ <div>
+ <div id = "filenow" class="field-title" title="Field 3" style="display: inline-block; margin-left:10px; word-break: break-all; word-wrap: break-word; font-weight:bold; font-size: 15px; padding-top: 5px; color:#0f218b;"></div>
+ <!-- 鏂囦欢涓婁紶鍚庡綋鍓嶆枃浠跺悕鍚庨潰鍑虹幇缁胯壊灏忓嬀 绮剧悽鎶�鏈� thh 2021-09-15 start-->
+ <div id = "uploadicon" style="display: none;">
+ <div style="margin-left: 5px;">
+ <lightning:icon iconName="utility:success" alternativeText="Success!" variant="Success" title="success variant x-small" size="x-small" />
+ </div>
+ </div>
+ <!-- 鏂囦欢涓婁紶鍚庡綋鍓嶆枃浠跺悕鍚庨潰鍑虹幇缁胯壊灏忓嬀 绮剧悽鎶�鏈� thh 2021-09-15 end-->
+ </div>
+ <!-- 鏍囪瘑棰勮鍥剧墖鍚嶅瓧聽聽绮剧悽鎶�鏈爐hh聽2021-09-09聽end聽-->
+ <p class="field-title" title="Field 3" style="font-weight:bold;font-size: 15px;padding-top: 7px;color:red;">
+ 锛堥殢璐у悓琛屽崟鐩栫珷鍚庢媿鐓т笂浼狅級
+ </p>
+ <p class="field-title" title="Field 3" style="font-weight:bold;font-size: 15px;padding-top: 7px;color:red;">
+ 锛堥檮浠朵笂浼犳垚鍔熷悗璇风偣鍑绘彁浜わ級
+ </p>
+ <aura:if isTrue="{!v.showLoadingSpinner}">
+ <div class="slds-text-body_small slds-text-color_error">涓婁紶涓�...
+ <img src="/auraFW/resources/aura/images/spinner.gif" class="spinner-img" alt="Loading" />
+ </div>
+ </aura:if>
+ <br/>
+ <button class="slds-button slds-button_brand" onclick="{!c.doSave}">2.涓婁紶闄勪欢</button>
+ <lightning:accordion allowMultipleSectionsOpen="true" onsectiontoggle="{! c.handleSectionToggle }" activeSectionName="{! v.activeSections }">
+ <lightning:accordionSection name="A" label="鏂囦欢鍒楄〃">
+ <!-- 澧炲姞灏忚壊鍧� 绮剧悽鎶�鏈� thh 2021-09-26 start -->
+ <div>
+ <div style="display: inline-block; background-color: Grey; width:10px; height:10px;" />
+ <div style="margin-left: 5px; display: inline-block; font-weight:bold;font-size: 10px;padding-top: 7px;color:Grey;"> 鏈笂浼� </div>
+ <div style="margin-left: 40px; display: inline-block; background-color: Green; width:10px; height:10px;" />
+ <div style="margin-left: 5px; display: inline-block; font-weight:bold;font-size: 10px;padding-top: 7px;color:Green;"> 宸蹭笂浼� </div>
+ </div>
+ <!-- 澧炲姞灏忚壊鍧� 绮剧悽鎶�鏈� thh 2021-09-26 end -->
+ <!-- overflow: scroll; 鑷姩闅愯棌婊氬姩鏉� -->
+ <div id="fileNameDiv" style="height:50px;width:250px; overflow: scroll;">
+ <!-- 澧炲姞鐐瑰嚮鏂囦欢鍒楄〃鍒囨崲鏌ョ湅鍥剧墖闄勪欢聽聽绮剧悽鎶�鏈爐hh聽2021-08-24聽start聽-->
+ <p id='file00' onclick="{!c.buttonClicked}"></p>
+ <!-- 澧炲姞鐐瑰嚮鏂囦欢鍒楄〃鍒囨崲鏌ョ湅鍥剧墖闄勪欢聽聽绮剧悽鎶�鏈爐hh聽2021-08-24聽end聽-->
+ </div>
+ </lightning:accordionSection>
+ </lightning:accordion>
+ <div id="emailDiv" style="height: 90px;padding-top: 30px;">
+ <lightning:input aura:id="inputCmp" name="fullName" type="email" value="" label="濡傛湁闇�瑕侊紝璇峰~鍐欐偍鐨勯偖绠�:" messageWhenTypeMismatch="璇锋偍杈撳叆鏈夋晥鐨勭數瀛愰偖绠便��" />
+ </div>
+ </div>
+ </div>
+ <!-- 鏄庣粏椤佃烦杞嚦鏂囦欢涓婁紶椤电殑鎸夐挳 -->
+ <div class="slds-float_left">
+ <lightning:button variant="brand"
+ label="涓婁竴姝�" title="涓婁竴姝�" onclick="{! c.handleShowFielePageNextClick }" />
+ </div>
+ <!-- <div style="position: fixed;margin-left:36%;">
+ <lightning:button variant="brand"
+ label="鎻愪氦" title="鎻愪氦" onclick="{! c.submitClick }" />
+ </div>
+ <div class="slds-float_right">
+ <lightning:button variant="brand"
+ label="閫�鍥為椤�" title="閫�鍥為椤�" onclick="{! c.BackToHomePage }" />
+ </div> -->
+ <div id="submitAgency" style="text-align:right;flex: 1;padding-top: 1px;">
+ <lightning:button variant="brand"
+ label="3.鎻愪氦" title="3.鎻愪氦" onclick="{! c.submitClick }" />
+ </div>
+
+ <aura:if isTrue="{!v.submitAfterShow}">
+ <div id="backHome" style="text-align:right;flex: 1;padding-top: 1px;">
+ <lightning:button variant="brand"
+ label="閫�鍥為椤�" title="閫�鍥為椤�" onclick="{! c.BackToHomePage }" />
+ </div>
+ </aura:if>
+ </aura:if>
+</aura:component>
\ No newline at end of file
diff --git a/force-app/main/default/aura/eSignHospitalPage/eSignHospitalPage.cmp-meta.xml b/force-app/main/default/aura/eSignHospitalPage/eSignHospitalPage.cmp-meta.xml
new file mode 100644
index 0000000..5fcfb8f
--- /dev/null
+++ b/force-app/main/default/aura/eSignHospitalPage/eSignHospitalPage.cmp-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<AuraDefinitionBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>49.0</apiVersion>
+ <description>A Lightning Component Bundle</description>
+</AuraDefinitionBundle>
diff --git a/force-app/main/default/aura/eSignHospitalPage/eSignHospitalPage.css b/force-app/main/default/aura/eSignHospitalPage/eSignHospitalPage.css
new file mode 100644
index 0000000..5d624c0
--- /dev/null
+++ b/force-app/main/default/aura/eSignHospitalPage/eSignHospitalPage.css
@@ -0,0 +1,165 @@
+.THIS table thead tr th:first-child
+{
+
+ position: fixed;
+ /*top: 45px;*/
+ z-index: 2;
+ /*width: 50px;*/
+ background-color: white;
+ padding-top:13px;
+
+
+}
+.THIS table thead tr th:nth-child(2)
+{
+ /*background-color: white;
+ position: fixed;
+ z-index: 1;
+ top: 45px;
+ padding-left: 50px;
+ width: 161px;*/
+ padding-left: 0px;
+
+
+}
+.THIS table thead tr th:nth-child(3)
+{
+ padding-left: 0px;
+
+}
+.THIS table thead tr th:nth-child(4)
+{
+ padding-left: 0px;
+
+}
+.THIS table thead tr th:nth-child(5)
+{
+ padding-left: 0px;
+
+}
+.THIS table thead tr th:nth-child(6)
+{
+ padding-left: 0px;
+
+}
+
+.THIS table tbody tr th:first-child
+{
+ background-color: white;
+ position: fixed;
+ z-index: 2;
+ padding-top:8.5px;
+ /*width: 50px;
+ padding-top: 9.0px;*/
+
+
+
+
+}
+
+.THIS table tbody tr th:nth-child(2)
+{
+ /*background-color: white;
+ position: fixed;
+ z-index: 1;
+ padding-left: 50px;
+ padding-top: 9.0px;
+ width: 161px;*/
+ padding-left: 0px;
+
+
+
+}
+.THIS table tbody tr th:nth-child(3)
+{
+ padding-left: 0px;
+
+}
+
+.THIS table tbody tr th:nth-child(4)
+{
+ padding-left: 0px;
+
+}
+
+.THIS table tbody tr th:nth-child(5)
+{
+ padding-left: 0px;
+
+}
+.THIS .slds-button_icon-bare{
+ display: none;
+}
+
+
+.THIS #imgDiv{
+ width: 200px;
+ height: 200px;
+ border: 1px dashed #000;
+ /* margin: 0 auto; */
+ margin: 10px;
+ position: relative;
+ display: table-cell;
+ vertical-align: middle;
+ text-align: center;
+}
+
+.THIS #imgDiv>img {
+ width: 100%;
+ height: 100%;
+}
+
+/*wangweipeng 20210616 鍥剧墖棰勮鑳屾櫙鍥�*/
+.THIS #outerdiv {
+ position:fixed;
+ top:0;
+ left:0;
+ background:rgba(0,0,0,0.7);
+ z-index:2;
+ width:100%;
+ height:100%;
+ display:none;
+}
+/*wangweipeng 20210616 鍥剧墖棰勮鏍峰紡*/
+.THIS #bigImg {
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ transform: translate(-50%,-50%);
+}
+/*澧炲姞鏂囦欢鍒楄〃鍒犻櫎鍔熻兘聽聽绮剧悽鎶�鏈爐hh聽2021-08-25聽start*/
+/*鍒犻櫎鍥炬爣鐨勬牱寮�*/
+.THIS .deleteicon {
+ color: #0f218b;
+ width: 25px;
+ height: 25px;
+ /*杩欐牱鎵嶈兘浣跨浉閭荤殑a鐪嬭捣鏉ュ氨闅旂潃涓�涓竟妗�*/
+ margin: -1px 0 0 -1px;
+ float:left;
+ /*浣垮緱鐩搁偦鎺掑垪*/
+ position:relative;
+ border-bottom-left-radius: 2px;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+}
+
+.THIS .deleteicon:hover{
+ border:1px solid #0f218b;
+ border-radius:2px;
+ /*杩欐牱鎵嶈兘浣块紶鏍囨斁涓婂幓鐨勬椂鍊欐樉绀哄叏閮ㄧ殑钃濊壊妗�,鍚﹀垯鍥犱负maring鐨勭紭鏁咃紝杈规鐨勫彸鍗婇儴鍒嗕細琚浉閭荤殑a鐨勮竟妗嗛伄鐩� */
+ z-index: 10;
+}
+/*澧炲姞鏂囦欢鍒楄〃鍒犻櫎鍔熻兘聽聽绮剧悽鎶�鏈爐hh聽2021-08-25 end*/
+/*loaded鑷繁鍔犱簡style锛屽緱閲嶆柊璁剧疆鏍峰紡 绮剧悽鎶�鏈爐hh聽2021-09-15 start*/
+.THIS #loaded {
+ width: 200px;
+ height: 200px;
+ position: relative;
+ text-align: center;
+}
+
+.THIS #loaded>img {
+ width: 100%;
+ height: 100%;
+}
+/*loaded鑷繁鍔犱簡style锛屽緱閲嶆柊璁剧疆鏍峰紡 绮剧悽鎶�鏈爐hh聽2021-09-15 end*/
\ No newline at end of file
diff --git a/force-app/main/default/aura/eSignHospitalPage/eSignHospitalPageController.js b/force-app/main/default/aura/eSignHospitalPage/eSignHospitalPageController.js
new file mode 100644
index 0000000..dc7dda7
--- /dev/null
+++ b/force-app/main/default/aura/eSignHospitalPage/eSignHospitalPageController.js
@@ -0,0 +1,720 @@
+({
+ myAction : function(component, event, helper) {
+
+ },
+ // 鍒濆鍖栧嚱鏁�
+ doInit : function(cmp, event, helper) {
+ // 璁剧疆鏄庣粏椤佃〃鏍肩殑鏋勯��
+ helper.getColumnAndAction(cmp);
+ // 浠庢暟鎹簱閲岄潰璇诲彇鏁版嵁
+ helper.geteSign(cmp);
+ },
+ // 鏄庣粏椤佃〃鏍肩殑缈婚〉涓嬩竴椤�
+ handleNext : function(cmp, event, helper) {
+ helper.handleNext(cmp);
+ },
+ // 鏄庣粏椤佃〃鏍肩殑缈婚〉涓婁竴椤�
+ handlePrev : function(cmp, event, helper) {
+ helper.handlePrev(cmp);
+ },
+ // 鏄庣粏椤佃〃鏍肩殑缈婚〉棣栭〉
+ handleHome : function(cmp, event, helper) {
+ helper.handleHome(cmp);
+ },
+ // 鏄庣粏椤佃〃鏍肩殑缈婚〉灏鹃〉
+ handleLast : function(cmp, event, helper) {
+ helper.handleLast(cmp);
+ },
+ // 琛ㄦ牸纭鏇存敼
+ handleSaveEdition: function (cmp, event, helper) {
+ //鑾峰彇鏇存敼鍐呭
+ var draftValues = event.getParam('draftValues');
+ helper.saveEdition(cmp, draftValues);
+ },
+ // 鏂囦欢涓婁紶缁撴灉鍚庣殑澶勭悊
+ // 鏂囦欢涓婁紶缁撴灉鍚庣殑澶勭悊
+ handleUploadFinished: function (cmp, event) {
+ // 鑾峰彇涓婁紶鎴愬姛鏂囦欢鐨勪俊鎭�
+ var uploadedFiles = event.getParam("files");
+ var count;
+ var fileName;
+ var nameList =[];
+ if(uploadedFiles.length > 0){
+ // 涔嬫墍浠ュ湪杩欓噷鍐欒繖涓脊鍑烘锛屽洜涓哄啓鍦╤elper閲岄潰涓嶇煡閬撲负鍟ュ脊涓嶅嚭鏉ワ紱
+ cmp.set("v.IsHaveFile", true);
+
+ // alert("璇锋偍鐐瑰嚮鎻愪氦鎸夐挳涓婁紶鏁版嵁锛�");
+ //鑾峰彇鏂囦欢涓婁紶鏁伴噺
+ var size = cmp.get("v.fileSize");
+ if(size){
+ cmp.set('v.fileSize',size+uploadedFiles.length);
+ }else{
+ cmp.set('v.fileSize',uploadedFiles.length);
+ }
+ count = cmp.get("v.fileSize");
+
+ // console.log(file.name)
+ // 鎵撳嵃涓婁紶鎴愬姛鏂囦欢鐨勫悕瀛�
+ uploadedFiles.forEach(file => fileName=file.name );
+ var name = cmp.get("v.flName");
+ if(name){
+ cmp.set('v.flName',name+','+fileName);
+ // nameList.pust(name);
+ }else{
+ cmp.set('v.flName',fileName);
+ }
+ fileName = cmp.get("v.flName");
+
+ }
+ if(count>0){
+ // alert("鎮ㄥ凡缁忔垚鍔熶笂浼�"+count+"涓枃浠�,鎻愪氦鐢宠璇风偣鍑绘彁浜ゆ寜閽��");
+ cmp.find('notifLibPlanA').showToast({
+ "title": "Success!",
+ "message": "鎮ㄥ凡缁忔垚鍔熶笂浼�"+count+"涓枃浠�,鎻愪氦鐢宠璇风偣鍑绘彁浜ゆ寜閽��"
+ });
+
+ //鍒楀嚭鏂囦欢鍚�01 鎵�鏈夋枃浠跺悕閮界敤閫楀彿闅斿紑 鏍规嵁閫楀彿鎷嗗垎锛屽瓨鏀炬暟缁�
+ var nameList =fileName.split(',');
+ //瀛樻斁鍒板彉閲忎腑 鐢ㄤ簬涓婁竴椤典笅涓�椤佃繛鐐�
+ cmp.set('v.nameList',nameList);
+ if (nameList.length > 0) {
+ var strList = '';
+ for (var i = 0; i < nameList.length; i++) {
+ var num = Number(i) + 1;
+ var id = 'file0' + num;
+ //鏍囪瘑鏂囦欢鏄惁宸茬粡涓婁紶 绮剧悽鎶�鏈� thh 2021-09-26 start
+ if(isUploadName[nameList[i]]) {
+ var str = '<button id="' + id + '" class="slds-button" title="Field 3" style="text-align:left;width:250px;font-weight:bold;font-size: 15px;color:Green;" name="' + nameList[i] + '">' + nameList[i] + '</button><br>';
+ } else{
+ var str = '<button id="' + id + '" class="slds-button" title="Field 3" style="text-align:left;width:250px;font-weight:bold;font-size: 15px;color:Gray;" name="' + nameList[i] + '">' + nameList[i] + '</button><br>';
+ }
+ //鏍囪瘑鏂囦欢鏄惁宸茬粡涓婁紶 绮剧悽鎶�鏈� thh 2021-09-26 end
+ //鎷兼帴p鏍囩 鍒楀嚭鏂囦欢鍚峣d涓嶅悓
+ strList += str;
+ }
+ var obj = document.getElementById('file00');
+ obj.innerHTML = strList;
+ }
+ //鍒楀嚭鏂囦欢鍚� 02 鏄剧ず寮圭獥
+ // cmp.find('notifLibPlanB').showNotice({
+ // "variant":"鎴愬姛",
+ // "header":"宸蹭笂浼犳枃浠�",
+ // "message":fileName
+ // // ,
+ // // closeCallback:function(){
+ // // alert('鎮ㄥ叧闂簡璀︽姤锛�');
+ // // }
+ // });
+
+ }
+
+ },
+ hospitalDetailsPageNextClick : function (cmp, event, helper) {
+ helper.hospitalDetailsPageNextClick(cmp);
+ },
+ handleChange : function (cmp, event, helper) {
+ console.log('鐐瑰嚮澶嶉�夋!');
+ var s = cmp.get("v.check");
+ console.log('q:'+s);
+ },
+ // 鏄庣粏椤佃烦杞嚦鏂囦欢涓婁紶椤�
+ handleDetailsPageNextClick : function (cmp, event, helper) {
+ var draftValues = event.getParam('draftValues');
+ helper.IsWhole(cmp);
+ helper.handleDetailsPageNextClick(cmp);
+ },
+ handleShowPageNextClick :function (cmp, event, helper) {
+ helper.handleShowPageNextClick(cmp);
+ },
+ handleShowFielePageNextClick:function (cmp, event, helper) {
+ helper.handleShowFielePageNextClick(cmp);
+ },
+ submitClick: function(cmp, event, helper){
+ helper.submitClick(cmp);
+ },
+ //涓婚〉璺抽椤�
+ BackToHomePage : function(cmp, event, helper){
+ // if(confirm('纭鍥炲埌棣栭〉鍚楋紵')){
+ // var messageEvent = cmp.getEvent('componentEvent');
+ // messageEvent.setParam('DNName',cmp.get('v.DNName'));
+
+ // messageEvent.fire();
+ // cmp.set("v.HomePage", false);
+ // }
+
+
+ helper.BackToHomePage(cmp);
+ },
+ handleShowFielePageNextClick : function(cmp, event, helper){
+ helper.handleShowFielePageNextClick(cmp);
+ },
+ handleShowPageNextClick : function(cmp, event, helper){
+ helper.handleShowPageNextClick(cmp);
+ },
+ GoodsChanged:function(cmp, event, helper){
+ helper.GoodsChanged(cmp);
+ },
+ BatchUpdateByCase : function(cmp, event, helper){
+
+ helper.BatchUpdateByCase(cmp, event);
+
+ },
+ allBatchUpdateByCase : function(cmp, event, helper){
+
+ helper.allBatchUpdateByCase(cmp, event);
+
+ },
+ searchByCaseNumber : function(cmp, event, helper){
+ helper.searchByCaseNumber(cmp,event);
+ },
+ handleSectionToggle: function (cmp, event) {
+ var openSections = event.getParam('openSections');
+ var nameList = cmp.get('v.nameList');
+ if (nameList.length > 0) {
+ var strList = '';
+ for (var i = 0; i < nameList.length; i++) {
+ var num = Number(i) + 1;
+ var id = 'file0' + num;
+ //鏍囪瘑鏂囦欢鏄惁宸茬粡涓婁紶 绮剧悽鎶�鏈� thh 2021-09-26 start
+ if(isUploadName[nameList[i]]) {
+ var str = '<button id="' + id + '" class="slds-button" title="Field 3" style="text-align:left;width:250px;font-weight:bold;font-size: 15px;color:Green;" name="' + nameList[i] + '">' + nameList[i] + '</button><br>';
+ } else{
+ var str = '<button id="' + id + '" class="slds-button" title="Field 3" style="text-align:left;width:250px;font-weight:bold;font-size: 15px;color:Gray;" name="' + nameList[i] + '">' + nameList[i] + '</button><br>';
+ }
+ //鏍囪瘑鏂囦欢鏄惁宸茬粡涓婁紶 绮剧悽鎶�鏈� thh 2021-09-26 end
+ //鎷兼帴p鏍囩 鍒楀嚭鏂囦欢鍚峣d涓嶅悓
+ strList += str;
+ }
+ var obj = document.getElementById('file00');
+ obj.innerHTML = strList;
+ }
+ if (openSections.length === 0) {
+ cmp.set('v.activeSectionsMessage', "All sections are closed");
+ } else {
+ cmp.set('v.activeSectionsMessage', "Open sections: " + openSections.join(', '));
+ }
+ },
+ doSave: function(cmp, event, helper) {
+ var fileName;
+ var count;
+ var fileName1;
+ //鍏堝垽鏂� 宸蹭笂浼犵殑鏂囦欢鏄惁鏈夊��
+ var nameUpLoadList = cmp.get('v.nameUpLoadList');
+ if (cmp.find("fileId").get("v.files").length > 0) {
+ //浠ヤ笅鏄敤浜庡瓨鏀惧凡缁忎笂浼犵殑鏂囦欢鍚� 鐢ㄤ綔瀵规瘮(鐩稿悓鏂囦欢鏃朵笉鑳戒笂浼犵殑锛屾晠涓嶇敤鍐呭鍒ゆ柇)
+ fileName = cmp.find("fileId").get("v.files")[0]['name'];
+ var nameList = cmp.get("v.nameList");
+ //鏂囦欢鍒楄〃涓虹┖鏃讹紝涓嶅厑璁镐笂浼� 绮剧悽鎶�鏈� thh 2021-09-13
+ if(nameList.indexOf(fileName) >= 0){
+ //瀹氫箟涓�涓爣璇� 鐢ㄦ潵鍒ゆ柇鐐瑰嚮杩囦笂浼犳枃浠舵寜閽�
+ cmp.set('v.uploadFlag', true);
+ //澧炲姞鏍囪鍝釜鏂囦欢宸蹭笂浼� 绮剧悽鎶�鏈� thh 2021-09-09 start
+ //鎶婃枃浠跺悕鍜岃鏂囦欢鏄惁宸茬粡涓婁紶鍏宠仈璧锋潵
+ var isUploadName = cmp.get("v.isUploadName");
+ isUploadName[fileName] = true;
+ cmp.set('v.isUploadName', isUploadName);
+ //澧炲姞鏍囪鍝釜鏂囦欢宸蹭笂浼� 绮剧悽鎶�鏈� thh 2021-09-09聽end
+ //鑾峰彇鏂囦欢涓婁紶鏁伴噺
+ var size = cmp.get("v.fileUpLoadSize");
+ if (size) {
+ cmp.set('v.fileUpLoadSize', size + cmp.find("fileId").get("v.files").length);
+ } else {
+ cmp.set('v.fileUpLoadSize', cmp.find("fileId").get("v.files").length);
+ }
+ fileName1 = fileName;
+ var name = cmp.get("v.flUpLoadName");
+ if (name && name != '') {
+ cmp.set('v.flUpLoadName', name + ',' + fileName1);
+ } else {
+ cmp.set('v.flUpLoadName', fileName1);
+ }
+ fileName = cmp.get("v.flUpLoadName");
+ console.log("fileName:" + fileName);
+ helper.uploadHelper(cmp, event);
+
+ }else {
+ alert('娌℃湁闄勪欢闇�瑕佷笂浼狅紒');
+ }
+ } else {
+ alert('璇锋偍閲嶆柊閫夋嫨涓婁紶鍥剧墖锛�');
+
+ if (nameUpLoadList.length < 0 || nameUpLoadList.length == 0) {
+ //鍏堝垽绌� 鏈夊彲鑳戒竴鎵撳紑椤甸潰灏辩偣鍑讳笂浼犳寜閽�
+ //璇存槑绗竴娆$偣鍑婚�夋嫨鍥剧墖锛屾病鏈変笂浼犲張鐐瑰嚮浜嗙浜屾
+ if (document.getElementById('file01')) {
+ document.getElementById('file01').remove();
+ }
+
+ } else {
+ cmp.set('v.nameList', nameUpLoadList);
+ //閲嶆柊瀹氫箟閫変腑鏂囦欢鐨勬暟閲�
+ cmp.set('v.fileSize', nameList.length);
+ if (nameUpLoadList.length > 0) {
+ var strList = '';
+ for (var i = 0; i < nameList.length; i++) {
+ var num = Number(i) + 1;
+ var id = 'file0' + num;
+ //鏍囪瘑鏂囦欢鏄惁宸茬粡涓婁紶 绮剧悽鎶�鏈� thh 2021-09-26 start
+ if(isUploadName[nameList[i]]) {
+ var str = '<button id="' + id + '" class="slds-button" title="Field 3" style="text-align:left;width:250px;font-weight:bold;font-size: 15px;color:Green;" name="' + nameList[i] + '">' + nameList[i] + '</button><br>';
+ } else{
+ var str = '<button id="' + id + '" class="slds-button" title="Field 3" style="text-align:left;width:250px;font-weight:bold;font-size: 15px;color:Gray;" name="' + nameList[i] + '">' + nameList[i] + '</button><br>';
+ }
+ //鏍囪瘑鏂囦欢鏄惁宸茬粡涓婁紶 绮剧悽鎶�鏈� thh 2021-09-26 end
+ //鎷兼帴p鏍囩 鍒楀嚭鏂囦欢鍚峣d涓嶅悓
+ strList += str;
+ }
+ var obj = document.getElementById('file00');
+ obj.innerHTML = strList;
+ }
+ }
+ }
+ },
+ //涓婁紶鍥剧墖鍚� 棰勮鍥剧墖
+ imgName: function(cmp, event) {
+ //绾ц仈鎿嶄綔 鐐瑰嚮瀛愭爣绛� 杩涘叆鐖舵爣绛剧偣鍑讳簨浠�
+ //鑾峰彇鐐瑰嚮鐨勫瓙鏍囩
+ var name = event.target.lastChild.data;
+ console.log(name);
+ var imgSrcList = cmp.get("v.imgList");
+ var imgSrc = imgSrcList[name];
+ document.getElementById('image').src = imgSrc;
+ },
+ //鑾峰彇鍥剧墖src
+ getImgSrc: function(imgSrcList, name) {
+ return imgSrcList[name];
+ },
+ //鍒朵綔鏁扮粍 key锛歯ame vlaue锛歴rc
+ setImgSrc: function(str1, prop, val) {
+ // 濡傛灉 val 琚拷鐣�
+ if (typeof val === "undefined") {
+ // 鍒犻櫎灞炴��
+ delete str1[prop];
+ } else {
+ // 娣诲姞 鎴� 淇敼
+ str1[prop] = val;
+ }
+ return str1;
+ },
+ handleFilesChange: function(cmp, event, helper) {
+ //鍥剧墖棰勮
+ var imgList = {};
+ var fileName = 'No File Selected..';
+ var count;
+ var fileName1;
+ var nameList = [];
+ var uploadedFiles = event.getParam("files");聽聽聽聽
+ var isUploadName = cmp.get("v.isUploadName");聽
+ var reader = new FileReader();
+ reader.readAsDataURL(uploadedFiles[0]);
+ //鏂囦欢涓簆df鏃�,闅愯棌棰勮鍥剧墖鍖哄煙,鏄剧ず鏂囧瓧鈥淧DF鏂囦欢鏆備笉鏀寔棰勮鈥� 绮剧悽鎶�鏈爐hh聽2021-09-13聽start
+ var name = event.getSource().get("v.files")[0]['name'];
+ var indexPdf = name.lastIndexOf('.');
+ var pdf = name.substring(indexPdf, name.length);
+ if(pdf == '.pdf') {
+ document.getElementById('loaded').style.display = 'none';
+ document.getElementById('fontpdf').style.display = 'block';
+ } else {
+ document.getElementById('loaded').style.display = 'block';
+ document.getElementById('fontpdf').style.display = 'none';
+ }
+ //鏂囦欢涓簆df鏃�,闅愯棌棰勮鍥剧墖鍖哄煙,鏄剧ず鏂囧瓧鈥淧DF鏂囦欢鏆備笉鏀寔棰勮鈥� 绮剧悽鎶�鏈爐hh聽2021-09-13聽end
+ reader.onload = function(e) {
+ var imgBase = e.target.result;
+ var nameList = cmp.get('v.nameUpLoadList');
+ //鍥剧墖棰勮
+ cmp.set("v.imageSrc", imgBase);
+ //娓呴櫎div鏂囧瓧
+ document.getElementById("font").textContent = "";
+ //棰勮鍥剧墖
+ document.getElementById('image').style.display = 'block';
+ // 濡傛灉 val 琚拷鐣�
+ if (typeof imgBase === "undefined") {
+ // 鍒犻櫎灞炴��
+ delete imgList[uploadedFiles[0].name];
+ } else {
+ // 娣诲姞 鎴� 淇敼
+ imgList[uploadedFiles[0].name] = imgBase;
+ }
+ //澧炲姞鐐瑰嚮鏂囦欢鍒楄〃鍒囨崲鏌ョ湅鍥剧墖闄勪欢聽聽绮剧悽鎶�鏈爐hh聽2021-08-23聽start
+ //鎶婇瑙堝浘鐗囩殑src瀛樺叆map锛屾妸鍥剧墖鍚嶅瓧鍜宻rc杩炴帴璧锋潵
+ var fontsrc = cmp.get("v.FontSrc");
+ fontsrc[uploadedFiles[0].name] = imgBase;
+ cmp.set('v.FontSrc', fontsrc);
+ //澧炲姞鐐瑰嚮鏂囦欢鍒楄〃鍒囨崲鏌ョ湅鍥剧墖闄勪欢聽聽绮剧悽鎶�鏈爐hh聽2021-08-23聽end
+
+ }
+ var flag = cmp.get('v.uploadFlag');
+ console.log('uploadedFiles:' + uploadedFiles);
+ console.log("鏂囦欢闀垮害锛�" + uploadedFiles.length);
+ //鍏堝垽鏂� 宸蹭笂浼犵殑鏂囦欢鏄惁鏈夊��
+ var nameUpLoadList = cmp.get('v.nameUpLoadList');
+ if (event.getSource().get("v.files").length > 0) {
+ fileName = event.getSource().get("v.files")[0]['name'];
+ //鏍囪瘑棰勮鍥剧墖鍚嶅瓧 绮剧悽鎶�鏈� thh 2021-09-09 start
+ if(fileName.length != 1 && isUploadName[fileName]) {
+ var str = '<span>褰撳墠鏂囦欢锛�</span><span id="nowfile" class="field-title" style="color:Green;" title="' + fileName + '">' + fileName + '</span>';
+ document.getElementById("uploadicon").style.display = 'inline-block';
+ } else{
+ var str = '<span>褰撳墠鏂囦欢锛�</span><span id="nowfile" class="field-title" style="color:Gray;" title="' + fileName + '">' + fileName + '</span>';
+ document.getElementById("uploadicon").style.display = 'none';
+ }
+ var obj = document.getElementById('filenow');
+ obj.innerHTML = str;
+ //鏍囪瘑棰勮鍥剧墖鍚嶅瓧 绮剧悽鎶�鏈� thh 2021-09-09 end
+ cmp.set("v.imageSrc", fileName);
+ // 涔嬫墍浠ュ湪杩欓噷鍐欒繖涓脊鍑烘锛屽洜涓哄啓鍦╤elper閲岄潰涓嶇煡閬撲负鍟ュ脊涓嶅嚭鏉ワ紱
+ cmp.set("v.IsHaveFile", true);
+ if (nameUpLoadList.length < 0 || nameUpLoadList.length == 0) {
+ fileName1 = fileName;
+ cmp.set('v.flName', fileName1);
+ fileName = cmp.get("v.flName");
+ //鍐欐鏄洜涓轰笂浼犳枃浠朵竴娆″彧鑳戒笂浼犱竴涓�
+ count = 1;
+
+ cmp.set("v.fileSize", count);
+ } else {
+ var size = cmp.get("v.fileSize");
+ if (size) {
+ cmp.set('v.fileSize', size + uploadedFiles.length);
+ } else {
+ cmp.set('v.fileSize', uploadedFiles.length);
+ }
+ count = cmp.get("v.fileSize");
+ // 鎵撳嵃閫変腑鏂囦欢鐨勫悕瀛�
+ fileName1 = fileName;
+ var name = cmp.get("v.flName");
+ if (name) {
+ cmp.set('v.flName', name + ',' + fileName1);
+ // nameList.pust(name);
+ } else {
+ cmp.set('v.flName', fileName1);
+ }
+ fileName = cmp.get("v.flName");
+ }
+
+ if (count > 0) {
+ //鍒楀嚭鏂囦欢鍚�01 鎵�鏈夋枃浠跺悕閮界敤閫楀彿闅斿紑 鏍规嵁閫楀彿鎷嗗垎锛屽瓨鏀炬暟缁�
+ var nameList = fileName.split(',');
+ for (var i = 0; i < nameList.length; i++) {
+ for (var j = i + 1; j < nameList.length; j++) {
+ if (nameList[i] == nameList[j]) { //绗竴涓瓑鍚屼簬绗簩涓紝splice鏂规硶鍒犻櫎绗簩涓�
+ nameList.splice(j, 1);
+ j--;
+ }
+ }
+ }
+ count = nameList.length;
+ // alert("鎮ㄥ凡缁忔垚鍔熶笂浼�"+count+"涓枃浠�,鎻愪氦鐢宠璇风偣鍑绘彁浜ゆ寜閽��");
+ cmp.find('notifLibPlanA').showToast({
+ "title": "Success!",
+ "message": "鎮ㄥ凡缁忛�変腑" + count + "涓枃浠�,璇风偣鍑讳笂浼犳枃浠舵寜閽繘琛屼笂浼犮��"
+ });
+
+ //鍒楀嚭鏂囦欢鍚�01 鎵�鏈夋枃浠跺悕閮界敤閫楀彿闅斿紑 鏍规嵁閫楀彿鎷嗗垎锛屽瓨鏀炬暟缁�
+ // var nameList =fileName.split(',');
+ //瀛樻斁鍒板彉閲忎腑 鐢ㄤ簬涓婁竴椤典笅涓�椤佃繛鐐�
+ cmp.set('v.nameList', nameList);
+ if (nameList.length > 0) {
+ var strList = '';
+ for (var i = 0; i < nameList.length; i++) {
+ var num = Number(i) + 1;
+ var id = 'file0' + num;
+ //鏍囪瘑鏂囦欢鏄惁宸茬粡涓婁紶 绮剧悽鎶�鏈� thh 2021-09-26 start
+ if(isUploadName[nameList[i]]) {
+ var str = '<button id="' + id + '" class="slds-button" title="Field 3" style="text-align:left;width:250px;font-weight:bold;font-size: 15px;color:Green;" name="' + nameList[i] + '">' + nameList[i] + '</button><br>';
+ } else{
+ var str = '<button id="' + id + '" class="slds-button" title="Field 3" style="text-align:left;width:250px;font-weight:bold;font-size: 15px;color:Gray;" name="' + nameList[i] + '">' + nameList[i] + '</button><br>';
+ }
+ //鏍囪瘑鏂囦欢鏄惁宸茬粡涓婁紶 绮剧悽鎶�鏈� thh 2021-09-26 end
+ //鎷兼帴p鏍囩 鍒楀嚭鏂囦欢鍚峣d涓嶅悓
+ strList += str;
+ }
+ var obj = document.getElementById('file00');
+ obj.innerHTML = strList;
+ }
+ }
+ } else {
+ if (nameUpLoadList.length < 0 || nameUpLoadList.length == 0) {
+ //璇存槑绗竴娆$偣鍑婚�夋嫨鍥剧墖锛屾病鏈変笂浼犲張鐐瑰嚮浜嗙浜屾
+ cmp.set('v.nameList', null);
+
+ } else {
+ cmp.set('v.nameList', nameUpLoadList);
+ if (nameUpLoadList.length > 0) {
+ var strList = '';
+ for (var i = 0; i < nameList.length; i++) {
+ var num = Number(i) + 1;
+ var id = 'file0' + num;
+ //鏍囪瘑鏂囦欢鏄惁宸茬粡涓婁紶 绮剧悽鎶�鏈� thh 2021-09-26 start
+ if(isUploadName[nameList[i]]) {
+ var str = '<button id="' + id + '" class="slds-button" title="Field 3" style="text-align:left;width:250px;font-weight:bold;font-size: 15px;color:Green;" name="' + nameList[i] + '">' + nameList[i] + '</button><br>';
+ } else{
+ var str = '<button id="' + id + '" class="slds-button" title="Field 3" style="text-align:left;width:250px;font-weight:bold;font-size: 15px;color:Gray;" name="' + nameList[i] + '">' + nameList[i] + '</button><br>';
+ }
+ //鏍囪瘑鏂囦欢鏄惁宸茬粡涓婁紶 绮剧悽鎶�鏈� thh 2021-09-26 end
+ //鎷兼帴p鏍囩 鍒楀嚭鏂囦欢鍚峣d涓嶅悓
+ strList += str;
+ }
+ var obj = document.getElementById('file00');
+ obj.innerHTML = strList;
+ }
+
+ }
+
+ }
+ cmp.set("v.fileName", fileName);
+ },
+ showHPQR: function(cmp, event, helper) {
+ var check = cmp.get('v.chkQR');
+ if (check) {
+ cmp.set('v.showQR', true);
+ } else {
+ cmp.set('v.showQR', false);
+ }
+
+ },
+ hideHPQR: function(cmp, event, helper) {
+ cmp.set('v.showQR', false);
+ cmp.set('v.chkQR', false);
+ },
+
+ //wangweipeng 20210616 棰勮鍥剧墖鏀惧ぇ鍔熻兘
+ imgeBig: function(cmp, event, helper) {
+ var imgeObj = document.getElementById("image");
+ //鍥剧墖棰勮
+ cmp.set("v.imageBigSrc", imgeObj.src);
+
+ //棰勮鍥剧墖
+ document.getElementById('image').style.display = 'none';
+ document.getElementById('outerdiv').style.display = 'block';
+ },
+ //wangweipeng 20210616 棰勮鍥剧墖鍏抽棴鎸夐挳
+ imgeSmall: function() {
+ document.getElementById('image').style.display = 'block';
+ document.getElementById('outerdiv').style.display = 'none';
+ },
+ //澧炲姞鐐瑰嚮鏂囦欢鍒楄〃鍒囨崲鏌ョ湅鍥剧墖闄勪欢聽聽绮剧悽鎶�鏈爐hh聽2021-08-23聽start
+ //鐐瑰嚮鏂囦欢鍒楄〃閲岀殑鍚嶅瓧瀹炵幇鍥剧墖鐨勫垏鎹�
+ buttonClicked: function(cmp, event) {
+ var name = event.target.name;
+ var srcmap = cmp.get("v.FontSrc");
+ var value = srcmap[name];
+ //鏂囦欢涓簆df鏃�,闅愯棌棰勮鍥剧墖鍖哄煙,鏄剧ず鏂囧瓧鈥淧DF鏂囦欢鏆備笉鏀寔棰勮鈥� 绮剧悽鎶�鏈爐hh聽2021-09-13聽start
+ var indexPdf = name.lastIndexOf('.');
+ var pdf = name.substring(indexPdf, name.length);
+ if(pdf == '.pdf') {
+ document.getElementById('loaded').style.display = 'none';
+ document.getElementById('fontpdf').style.display = 'block';
+ } else {
+ document.getElementById('loaded').style.display = 'block';
+ document.getElementById('image').src = value;
+ document.getElementById('image').style.display = 'block';
+ document.getElementById('fontpdf').style.display = 'none';
+ }
+ //鏂囦欢涓簆df鏃�,闅愯棌棰勮鍥剧墖鍖哄煙 绮剧悽鎶�鏈爐hh聽2021-09-13聽end
+ //鏍囪瘑棰勮鍥剧墖鍚嶅瓧 绮剧悽鎶�鏈� thh 2021-09-10 start
+ var isUploadName = cmp.get("v.isUploadName");
+ if(isUploadName[name]) {
+ var str = '<span>褰撳墠鏂囦欢锛�</span><span id="nowfile" class="field-title" style="color:Green;" title="' + name + '">' + name + '</span>';
+ document.getElementById("uploadicon").style.display = 'inline-block';
+ } else{
+ var str = '<span>褰撳墠鏂囦欢锛�</span><span id="nowfile" class="field-title" style="color:Gray;" title="' + name + '">' + name + '</span>';
+ document.getElementById("uploadicon").style.display = 'none';
+ }
+ var obj = document.getElementById('filenow');
+ obj.innerHTML = str;
+ //鏍囪瘑棰勮鍥剧墖鍚嶅瓧 绮剧悽鎶�鏈� thh 2021-09-10 end
+ },
+ //澧炲姞鐐瑰嚮鏂囦欢鍒楄〃鍒囨崲鏌ョ湅鍥剧墖闄勪欢聽聽绮剧悽鎶�鏈爐hh聽2021-08-23聽end
+ //澧炲姞鏂囦欢鍒楄〃鍒犻櫎鍔熻兘聽聽绮剧悽鎶�鏈爐hh聽2021-08-25聽start
+ deleteClick: function(cmp, event, helper) {
+ var srcmap = cmp.get("v.FontSrc");
+ var nameList = cmp.get("v.nameList");
+ var nameUpLoadList = cmp.get('v.nameUpLoadList');
+ var flUpLoadName = cmp.get("v.flUpLoadName");
+ var flName = cmp.get("v.flName");
+ var filesrc = cmp.get("v.FileSrc");
+ var base64List = cmp.get("v.base64List");
+ var baseArray = cmp.get("v.baseArray");
+ var isUploadName = cmp.get("v.isUploadName");
+ //鏍规嵁褰撳墠鏂囦欢鑾峰彇褰撳墠鏂囦欢鍚�
+ if(nameList != ''){
+ var name = document.getElementById("nowfile").title;
+ } else{
+ alert("娌℃湁闄勪欢锛屾棤娉曞垹闄わ紒");
+ }
+ //鎶婅鍒犵殑src鍒嗘瀛樺叆baseFile锛岀劧鍚庨�氳繃閬嶅巻鍒犻櫎base64List涓殑鏁版嵁
+ var baseFile = cmp.get("v.baseFile");
+ var startPosition = 0;
+ var fileContents = filesrc[name];
+ //濡傛灉fileContents鏈夊�硷紝璇存槑闄勪欢宸茬粡涓婁紶
+ if(fileContents){
+ var fileLength = Math.ceil(fileContents.length / helper.CHUNK_SIZE);
+ for(var i = 0; i < fileLength; i++){
+ baseFile = cmp.get("v.baseFile");
+ var endPosition = Math.min(
+ fileContents.length,
+ startPosition + helper.CHUNK_SIZE
+ );
+ var getchunk = fileContents.substring(startPosition, endPosition);
+ fileContents = fileContents.substring(endPosition);
+ if(baseFile){
+ cmp.set('v.baseFile',baseFile+','+getchunk);
+ }else{
+ cmp.set('v.baseFile',getchunk);
+ }
+ baseFile = cmp.get("v.baseFile");
+ }
+ //澧炲姞鏍囪鍝釜鏂囦欢宸蹭笂浼� 绮剧悽鎶�鏈� thh 2021-09-09 start
+ //鍒犻櫎siUploadName涓璶ame瀵瑰簲鐨勫垽鏂�
+ delete isUploadName[name];
+ //澧炲姞鏍囪鍝釜鏂囦欢宸蹭笂浼� 绮剧悽鎶�鏈� thh 2021-09-09聽end
+ //鍒犻櫎flUpLoadName涓殑name
+ var Arrflag = flUpLoadName instanceof Array;
+ if(!Arrflag){
+ flUpLoadName = flUpLoadName.split(',');
+ }
+ for(var i = 0; i < flUpLoadName.length; i++) {
+ if(flUpLoadName [i] == name) {
+ flUpLoadName.splice(i, 1);
+ break;
+ }
+ }
+ cmp.set("v.flUpLoadName", flUpLoadName);
+ //鍒犻櫎涓�涓暟鎹箣鍚巉ileUpLoadSize涓殑鏁伴噺瑕�-1
+ var fileUpLoadSize = cmp.get("v.fileUpLoadSize");
+ var deletefileUpLoadSize = fileUpLoadSize - 1;
+ cmp.set("v.fileUpLoadSize", deletefileUpLoadSize);
+ }
+ //鍒犻櫎srcname涓璶ame瀵瑰簲鐨剆rc
+ delete srcmap[name];
+ //鍒犻櫎filesrc涓璶ame瀵瑰簲鐨剆rc
+ delete filesrc[name];
+ //鍒犻櫎nameList涓殑name
+ for(var i = 0; i < nameList.length; i++) {
+ if(nameList [i] == name) {
+ nameList.splice(i, 1);
+ break;
+ }
+ }
+ cmp.set("v.nameList", nameList);
+ //鍒犻櫎nameUpLoadList涓殑name
+ for(var i = 0; i < nameUpLoadList.length; i++) {
+ if(nameUpLoadList [i] == name) {
+ nameUpLoadList.splice(i, 1);
+ break;
+ }
+ }
+ cmp.set("v.nameUpLoadList", nameUpLoadList);
+ //鍒犻櫎flName涓殑name
+ var Arryflag = flName instanceof Array;
+ if(!Arryflag){
+ flName = flName.split(',');
+ }
+ for(var i = 0; i < flName.length; i++) {
+ if(flName [i] == name) {
+ flName.splice(i, 1);
+ break;
+ }
+ }
+ cmp.set("v.flName", flName);
+ //閫氳繃閬嶅巻鍒犻櫎base64List涓殑鏁版嵁
+ baseFile = cmp.get("v.baseFile");
+ baseArray = baseFile.split(',');
+ for(var j = 0; j < baseArray.length; j++){
+ for(var i = 0; i < base64List.length; i++) {
+ var baseArray100;
+ if(baseArray[j].length > 100){
+ baseArray100 = baseArray[j].substring(0, 100);
+ }else{
+ baseArray100 = baseArray[j].substring(0);
+ }
+ if(base64List[i].indexOf(baseArray100) >= 0) {
+ base64List.splice(i, 1);
+ break;
+ }
+ }
+ }
+ cmp.set("v.base64List", base64List);
+ //鎷兼帴鍒犻櫎瀹屼箣鍚庣殑鏂囦欢鍒楄〃,浠ュ強鍥剧墖鐨勬樉绀�
+ var strList = '';
+ if(nameList.length == 0) {
+ //鏂囦欢鍒犲畬涔嬪悗闅愯棌鍥剧墖棰勮鍖哄煙浠ュ強缁胯壊灏忊垰,棰勮鍖哄煙鏄剧ず鏂囧瓧鈥淧DF鏂囦欢鏆備笉鏀寔棰勮鈥� 绮剧悽鎶�鏈� thh 2021-09-15 start
+ document.getElementById('loaded').style.display = 'none';
+ document.getElementById("uploadicon").style.display = 'none';
+ //鏂囦欢鍒犲畬涔嬪悗闅愯棌鍥剧墖棰勮鍖哄煙浠ュ強缁胯壊灏忊垰,棰勮鍖哄煙鏄剧ず鏂囧瓧鈥淧DF鏂囦欢鏆備笉鏀寔棰勮鈥� 绮剧悽鎶�鏈� thh 2021-09-15 end
+ //鏂囦欢鍒犲畬涔嬪悗,棰勮鍖哄煙鐨刾df鏂囧瓧涔熶笉鏄剧ず
+ document.getElementById('fontpdf').style.display = 'none';
+ //鏂囦欢鍒犲畬涔嬪悗,棰勮鍖哄煙鐨刾df鏂囧瓧涔熶笉鏄剧ず
+ var str = '';
+ var obj = document.getElementById('file00');
+ obj.innerHTML = str;
+ //鏍囪瘑棰勮鍥剧墖鍚嶅瓧 绮剧悽鎶�鏈� thh 2021-09-10 start
+ var obj1 = document.getElementById('filenow');
+ obj1.innerHTML = str;
+ //鏍囪瘑棰勮鍥剧墖鍚嶅瓧 绮剧悽鎶�鏈� thh 2021-09-10 end
+ }else {
+ var value = srcmap[nameList[0]];
+ //鏂囦欢涓簆df鏃跺睍绀虹┖鐧藉浘鐗�,鏄剧ず鏂囧瓧鈥淧DF鏂囦欢鏆備笉鏀寔棰勮鈥� 绮剧悽鎶�鏈爐hh聽2021-09-15聽start
+ var indexPdf = nameList[0].lastIndexOf('.');
+ var pdf = nameList[0].substring(indexPdf, nameList[0].length);
+ if(pdf == '.pdf') {
+ document.getElementById('loaded').style.display = 'none';
+ document.getElementById('fontpdf').style.display = 'block';
+ } else {
+ document.getElementById('loaded').style.display = 'block';
+ document.getElementById('image').src = value;
+ document.getElementById('image').style.display = 'block';
+ document.getElementById('fontpdf').style.display = 'none';
+ }
+ //鏂囦欢涓簆df鏃跺睍绀虹┖鐧藉浘鐗�,鏄剧ず鏂囧瓧鈥淧DF鏂囦欢鏆備笉鏀寔棰勮鈥� 绮剧悽鎶�鏈爐hh聽2021-09-15聽end
+ for (var i = 0; i < nameList.length; i++) {
+ var num = Number(i) + 1;
+ var id = 'file0' + num;
+ //鏍囪瘑鏂囦欢鏄惁宸茬粡涓婁紶 绮剧悽鎶�鏈� thh 2021-09-26
+ if(isUploadName[nameList[0]]) {
+ var str = '<button id="' + id + '" class="slds-button" title="Field 3" style="text-align:left;width:250px;font-weight:bold;font-size: 15px;color:Green;" name="' + nameList[i] + '">' + nameList[i] + '</button><br>';
+ } else{
+ var str = '<button id="' + id + '" class="slds-button" title="Field 3" style="text-align:left;width:250px;font-weight:bold;font-size: 15px;color:Gray;" name="' + nameList[i] + '">' + nameList[i] + '</button><br>';
+ }
+ //鎷兼帴p鏍囩 鍒楀嚭鏂囦欢鍚峣d涓嶅悓
+ strList += str;
+ }
+ var obj = document.getElementById('file00');
+ obj.innerHTML = strList;
+ //鏍囪瘑鏂囦欢鏄惁宸茬粡涓婁紶 绮剧悽鎶�鏈� thh 2021-09-26 start
+ if(isUploadName[nameList[0]]) {
+ var str = '<span>褰撳墠鏂囦欢锛�</span><span id="nowfile" class="field-title" style="color:Green;" title="' + nameList[0] + '">' + nameList[0] + '</span>';
+ document.getElementById("uploadicon").style.display = 'inline-block';
+ } else{
+ var str = '<span>褰撳墠鏂囦欢锛�</span><span id="nowfile" class="field-title" style="color:Gray;" title="' + nameList[0] + '">' + nameList[0] + '</span>';
+ document.getElementById("uploadicon").style.display = 'none';
+ }
+ var obj = document.getElementById('filenow');
+ obj.innerHTML = str;
+ //鏍囪瘑鏂囦欢鏄惁宸茬粡涓婁紶 绮剧悽鎶�鏈� thh 2021-09-26 end
+ }
+ //鍒犻櫎瀹屾垚鍚巄aseFile闇�瑕佺疆绌�
+ cmp.set("v.baseFile", '');
+ var baseFile = cmp.get("v.baseFile");
+ //鍒犻櫎涓�涓暟鎹箣鍚巉ileSize涓殑鏁伴噺瑕�-1
+ var count = cmp.get("v.fileSize");
+ var deletecount = count - 1;
+ cmp.set("v.fileSize", deletecount);
+ //鍏宠仈鍚庣浠g爜鍒犻櫎绛炬敹鍗曞綍鍏ヨ〃涓殑闄勪欢
+ var action = cmp.get("c.deleteChunk");
+ var attachmentID = cmp.get("v.attachmentID");
+ var AttachmentID = attachmentID[name];
+ action.setParams({
+ AttachmentId : AttachmentID
+ });
+ //閫氳繃椤甸潰鏂偣楠岃瘉action鏂规硶鏄惁鎴愬姛
+ action.setCallback(this, function(response) {
+ var state = response.getState();
+ });
+ //鎵цaction鏂规硶
+ $A.enqueueAction(action);
+ },
+ //澧炲姞鏂囦欢鍒楄〃鍒犻櫎鍔熻兘聽聽绮剧悽鎶�鏈爐hh聽2021-09-02聽end
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/eSignHospitalPage/eSignHospitalPageHelper.js b/force-app/main/default/aura/eSignHospitalPage/eSignHospitalPageHelper.js
new file mode 100644
index 0000000..74d8692
--- /dev/null
+++ b/force-app/main/default/aura/eSignHospitalPage/eSignHospitalPageHelper.js
@@ -0,0 +1,1226 @@
+({
+ helperMethod : function() {
+
+ },
+ // 璁剧疆table 鍚勬爮灞炴��
+ getColumnAndAction : function(cmp) {
+ var actions = [
+ {label: 'Edit', name: 'edit'},
+ {label: 'Delete', name: 'delete'},
+ {label: 'View', name: 'view'}
+ ];
+ // 涓轰簡閿佽锛屽己琛岃缃簡瀹藉害
+ cmp.set('v.columns', [
+ // {label: 'CODE', fieldName: 'OTCode__c', type: 'text', wrapText:false
+ // , hideDefaultActions: true ,fixedWidth: 110 },
+ {label: '浜у搧鍨嬪彿', fieldName: 'Asset_Model_No__c', type: 'text' , wrapText:false
+ , hideDefaultActions: true ,fixedWidth: 110 },
+ {label: 'CODE', fieldName: 'OTCode__c', type: 'text', wrapText:false
+ , hideDefaultActions: true ,fixedWidth: 137 },
+ {label: '浜у搧鍚嶇О', fieldName: 'productName__c', type: 'text', wrapText:false
+ , hideDefaultActions: true ,fixedWidth: 340 },
+ {label: '鏁伴噺', fieldName: 'Count_Text__c', type: 'text', wrapText:false
+ , hideDefaultActions: true ,fixedWidth: 50 },
+ {label: '绠卞彿', fieldName: 'CaseNumber__c', type: 'text', wrapText:false
+ , hideDefaultActions: true ,fixedWidth: 100 },
+ {label: '璐х墿鎯呭喌', fieldName: 'HPGoodStatus__c', type: 'text', wrapText:true
+ , hideDefaultActions: true , editable: true,fixedWidth: 110 },
+ ]);
+
+ var width = cmp.get('v.floatWidth');
+ var width1 = cmp.get('v.allWidth');
+ console.log('allWidth:'+width);
+ console.log('floatWidth:'+width1);
+ },
+ // 鑾峰彇鏁版嵁
+ geteSign : function(cmp) {
+ // this.showSpinner(cmp);
+ var action = cmp.get("c.geteSigns");
+ var DNName = cmp.get("v.DNName").toString();
+ action.setParams({
+ 'DNName' : DNName,
+ //
+ });
+ console.log("宸茬粡杩涘埌杩欓噷浜�");
+ action.setCallback(this,function(response) {
+ var state = response.getState();
+ if (state === "SUCCESS") {
+ var resultData = response.getReturnValue();
+ if(!!resultData && !!resultData.eSignFormLineItems
+ && !!resultData.eSignForm){
+ var data = resultData.eSignFormLineItems;
+ cmp.set('v.lineItemSize', data.length);
+ var pageSize = cmp.get('v.pageSize');
+ cmp.set("v.data", data);
+ var eSignForm = resultData.eSignForm;
+ //CHAN-BWCBL8 绮剧悽鎶�鏈� wql 20201225 start
+ //濡傛灉椹冲洖鐞嗙敱鏈夊�� 骞朵笖缁忛攢鍟嗛┏鍥炲閫夋涓簍rue骞朵笖缁忛攢鍟嗗鎵圭姸鎬佷笉鎵瑰噯鐨勬椂鍊欐墠鏄剧ず
+ if(eSignForm.HPDenyReason__c&&eSignForm.HPReject__c&&eSignForm.HPSignUpStatus__c=='涓嶆壒鍑�'){
+ cmp.set("v.ISDenyReason", true);
+ }
+ //CHAN-BWCBL8 绮剧悽鎶�鏈� wql 20201225 end
+ cmp.set("v.eSignForm", resultData.eSignForm);
+ //鍒ゆ柇绛炬敹椤甸潰涓婄殑宸叉彁浜ょ殑鍕捐涓嶈鏄剧ず
+ // var isAgencyOrHp = resultData.eSignForm.agencySignUpDate__c;
+ // if(isAgencyOrHp){
+ // cmp.set("v.isAgencyOrHp", false);
+ // }else{
+ // cmp.set("v.isAgencyOrHp", true);
+ // }
+ var tempData = this.getTempData(data, 1,pageSize);
+ cmp.set("v.isLastPage", this.isLastPage(data,tempData));
+ cmp.set("v.dataSize", tempData.length);
+ cmp.set("v.currentData", tempData);
+
+ this.hideSpinner(cmp);
+ }else{
+ cmp.set("v.errorMessage", '鍔犺浇澶辫触锛岃閲嶆柊鎵撳紑姝ら〉闈紒');
+ this.showErrorToast(cmp);
+ this.hideSpinner(cmp);
+ }
+
+ }else{
+ cmp.set("v.errorMessage", '鍔犺浇澶辫触锛岃閲嶆柊鎵撳紑姝ら〉闈紒');
+ this.showErrorToast(cmp);
+ this.hideSpinner(cmp);
+ }
+
+ });
+ $A.enqueueAction(action);
+ },
+ // 鏄庣粏椤� table 棣栭〉鍔熻兘瀹炵幇
+ handleHome : function(cmp) {
+ var pageSize = cmp.get('v.pageSize');
+ var pageNumber = cmp.get('v.pageNumber');
+ // var data = cmp.get('v.data');
+ var currentData = cmp.get('v.currentData');
+ //鑾峰彇杈撳叆鐨剉alue鍊�
+ var key = document.getElementById('searchInput').value;
+ var data = cmp.get('v.data');
+ var tempDataList = [];
+ var pageSize = cmp.get('v.pageSize');
+
+ if(key){
+ for(var i = 0; i<data.length; i++){
+ //鑾峰彇鎵�鏈塶ame涓虹鍙风殑input 鎵归噺鏇存柊
+ if(data[i].CaseNumber__c == key){
+ tempDataList.push(data[i]);
+ }
+
+ }
+ //璁剧疆鍒嗛〉
+ var tempData = this.getTempData(tempDataList,1,pageSize );
+ cmp.set('v.pageNumber', 1 );
+
+ cmp.set('v.currentData',tempData);
+ cmp.set('v.data',data);
+ cmp.set("v.isLastPage", this.isLastPage(tempDataList,tempData));
+ cmp.set("v.searchSize",tempDataList.length);
+
+
+ }else{
+ //鏄剧ず鍏ㄩ儴绠�
+ var tempData = this.getTempData(data,1,pageSize );
+ cmp.set('v.pageNumber', 1 );
+
+ cmp.set('v.currentData',tempData);
+ cmp.set('v.data',data);
+ cmp.set("v.isLastPage", this.isLastPage(data,tempData));
+ cmp.set('v.searchSize', null);
+
+ }
+
+
+ },
+ // 鏄庣粏椤� table 灏鹃〉鍔熻兘瀹炵幇
+ handleLast : function(cmp) {
+ var pageSize = cmp.get('v.pageSize');
+ var pageNumber = cmp.get('v.pageNumber');
+ var data = cmp.get('v.data');
+ //鑾峰彇鏁版嵁闀垮害
+ var size = data.length;
+ //鑾峰彇灏鹃〉椤电爜
+ var pages=size%pageSize==0?(size/pageSize):(Math.floor(size/pageSize)+1);
+
+ var currentData = cmp.get('v.currentData');
+ //鑾峰彇杈撳叆鐨剉alue鍊�
+ var key = document.getElementById('searchInput').value;
+ var tempDataList = [];
+
+ if(key){
+ for(var i = 0; i<data.length; i++){
+ //鑾峰彇鎵�鏈塶ame涓虹鍙风殑input 鎵归噺鏇存柊
+ if(data[i].CaseNumber__c == key){
+ tempDataList.push(data[i]);
+ }
+
+ }
+ //璁剧疆鍒嗛〉
+ var tempData = this.getTempData(tempDataList,pages,pageSize );
+ cmp.set('v.pageNumber', pages );
+ console.log('currentData1:'+currentData);
+ cmp.set('v.currentData',tempData);
+ cmp.set('v.data',data);
+ cmp.set("v.isLastPage", this.isLastPage(tempDataList,tempData));
+ cmp.set("v.searchSize",tempDataList.length);
+
+
+ }else{
+ //鏄剧ず鍏ㄩ儴绠�
+ var tempData = this.getTempData(data,pages,pageSize );
+ cmp.set('v.pageNumber', pages );
+ console.log('currentData1:'+currentData);
+ cmp.set('v.currentData',tempData);
+ cmp.set('v.data',data);
+ cmp.set("v.isLastPage", this.isLastPage(data,tempData));
+ cmp.set('v.searchSize', null);
+
+ }
+
+
+ },
+ // 鏄庣粏椤� table 涓嬩竴椤靛姛鑳藉疄鐜�
+ handleNext : function(cmp) {
+ var pageSize = cmp.get('v.pageSize');
+ var pageNumber = cmp.get('v.pageNumber');
+ var data = cmp.get('v.data');
+ var currentData = cmp.get('v.currentData');
+ //鑾峰彇杈撳叆鐨剉alue鍊�
+ var key = document.getElementById('searchInput').value;
+ var tempDataList = [];
+
+ if(key){
+ for(var i = 0; i<data.length; i++){
+ //鑾峰彇鎵�鏈塶ame涓虹鍙风殑input 鎵归噺鏇存柊
+ if(data[i].CaseNumber__c == key){
+ tempDataList.push(data[i]);
+ }
+
+ }
+ //璁剧疆鍒嗛〉
+ var tempData = this.getTempData(tempDataList,pageNumber + 1,pageSize );
+ cmp.set('v.pageNumber', pageNumber+1 );
+ console.log('currentData1:'+currentData);
+ cmp.set('v.currentData',tempData);
+ cmp.set('v.data',data);
+ cmp.set("v.isLastPage", this.isLastPage(tempDataList,tempData));
+ cmp.set("v.searchSize",tempDataList.length);
+
+
+ }else{
+ //鏄剧ず鍏ㄩ儴绠�
+ var tempData = this.getTempData(data,pageNumber + 1,pageSize );
+ cmp.set('v.pageNumber', pageNumber+1 );
+ console.log('currentData1:'+currentData);
+ cmp.set('v.currentData',tempData);
+ cmp.set('v.data',data);
+ cmp.set("v.isLastPage", this.isLastPage(data,tempData));
+ cmp.set('v.searchSize', null);
+
+ }
+
+
+ },
+ // 鏄庣粏椤� table 涓婁竴椤靛姛鑳藉疄鐜�
+ handlePrev : function(cmp) {
+ var pageSize = cmp.get('v.pageSize');
+ var pageNumber = cmp.get('v.pageNumber');
+ var data = cmp.get('v.data');
+ var currentData = cmp.get('v.currentData');
+ //鑾峰彇杈撳叆鐨剉alue鍊�
+ var key = document.getElementById('searchInput').value;
+ var tempDataList = [];
+
+ if(key){
+ for(var i = 0; i<data.length; i++){
+ //鑾峰彇鎵�鏈塶ame涓虹鍙风殑input 鎵归噺鏇存柊
+ if(data[i].CaseNumber__c == key){
+ tempDataList.push(data[i]);
+ }
+
+ }
+ //璁剧疆鍒嗛〉
+ var tempData = this.getTempData(tempDataList,pageNumber - 1,pageSize );
+
+ cmp.set('v.pageNumber', pageNumber - 1 );
+ cmp.set('v.currentData',tempData);
+ cmp.set('v.data',data);
+ cmp.set("v.isLastPage", this.isLastPage(tempDataList,tempData));
+ cmp.set("v.searchSize",tempDataList.length);
+
+
+ }else{
+ //鏄剧ず鍏ㄩ儴绠�
+ var tempData = this.getTempData(data,pageNumber - 1,pageSize );
+
+ cmp.set('v.pageNumber', pageNumber - 1 );
+ cmp.set('v.currentData',tempData);
+ cmp.set('v.data',data);
+ cmp.set("v.isLastPage", this.isLastPage(data,tempData));
+ cmp.set('v.searchSize', null);
+
+ }
+ },
+ // 璁$畻骞惰繑鍥炲綋鍓嶉〉鐮佺殑鏁版嵁
+ getTempData: function(data, pageNumber,pageSize){
+ var tempData = data.slice((pageNumber-1) * pageSize,pageNumber * pageSize );
+ return tempData;
+ },
+ // 鍒ゆ柇褰撳墠椤垫槸鍚︽槸鏈�鍚庝竴椤�
+ isLastPage : function(data,tempData){
+ if(tempData.length == 0 ||
+ tempData[tempData.length-1].Id == data[data.length-1].Id ){
+ return true;
+ } else{
+ return false;
+ }
+ },
+ // 淇濆瓨鏇存敼鍐呭鍒板綋鍓嶆槑缁嗗唴瀹�
+ saveEdition: function (cmp, draftValues) {
+ if(!!draftValues && draftValues.length > 0){
+ var currentData = cmp.get('v.currentData');
+ for(var i = 0; i<currentData.length; i++){
+ for(var j = 0; j<draftValues.length; j++){
+ if(currentData[i].Id == draftValues[j].Id){
+ currentData[i].HPGoodStatus__c = draftValues[j].HPGoodStatus__c;
+ break;
+ }
+ }
+ }
+ cmp.set('v.currentData',currentData);
+ }
+ cmp.set('v.draftValues', []);
+ },
+ // 鍒ゆ柇鏄惁閮ㄥ垎绛炬敹
+ IsWhole: function (cmp) {
+ var currentData = cmp.get('v.currentData');
+ if(currentData){
+
+ for(var j = 0; j<currentData.length; j++){
+
+ if(currentData[j].HPGoodStatus__c != '瀹屽ソ'){
+ //濡傛灉鏈夋槑缁嗕笉瀹屽ソ鐨勭疆鎴恡rue
+ cmp.set('v.IsWhole',true);
+ break;
+ }
+ }
+
+ }
+ },
+ // 鏄庣粏椤电偣鍑讳笅涓�姝ヤ繚瀛樺綍鍏ヨ〃鏁版嵁鍒版暟鎹簱锛�
+ // 濡傛灉淇濆瓨鎴愬姛锛岃烦杞枃浠朵笂浼犻〉
+ // 濡傛灉淇濆瓨澶辫触锛屽脊鍑洪敊璇痶oast锛屼繚瀛樺湪褰撻〉
+ saveeSign : function (cmp){
+ var action = cmp.get("c.saveeSignFormEntry");
+ var data = cmp.get('v.data');
+ var eSignForm = cmp.get('v.eSignForm');
+ var IsSubmit = cmp.get('v.IsAgencyShow');
+ var IsHPSubmit = cmp.get('v.IsHPShow');
+ //澧炲姞鎵弿鏍囪瘑锛宐atch鍙栨秷椹冲洖鍕鹃�� 2020/12/30 wql start
+ var IsHPScan = cmp.get('v.IsHPScan');
+ //澧炲姞鎵弿鏍囪瘑锛宐atch鍙栨秷椹冲洖鍕鹃�� 2020/12/30 wql end
+
+ var agencyScanDayBack = cmp.get('v.agencyScanDayBack');
+ var agencySignUpDateBack = cmp.get('v.agencySignUpDateBack');
+ var agencyConfirmDateBack = cmp.get('v.agencyConfirmDateBack');
+ var HPWorkflowEmailBack = cmp.get('v.HPWorkflowEmailBack');
+ console.log('HPWorkflowEmailBack:'+HPWorkflowEmailBack);
+ action.setParams({
+ 'eSignFormLineItems' : data,
+ 'eSignForm' : eSignForm,
+ 'IsSubmit' : IsSubmit,
+ 'IsHPSubmit':IsHPSubmit,
+ 'IsHPScan':IsHPScan,
+ 'entryType' : '鍖婚櫌鏀惰揣',
+ 'agencyScanDayBack':agencyScanDayBack,
+ 'agencySignUpDateBack':agencySignUpDateBack,
+ 'agencyConfirmDateBack':agencyConfirmDateBack,
+ 'HPWorkflowEmailBack':HPWorkflowEmailBack
+ });
+ this.showSpinner(cmp);
+ action.setCallback(this,function(response) {
+ this.hideSpinner(cmp);
+ var state = response.getState();
+ if (state === "SUCCESS") {
+ var resultData = response.getReturnValue();
+ if( resultData.isSuccess == true ){
+ // cmp.set('v.recordId',resultData.result);
+ cmp.set('v.parentId',resultData.result);
+ // cmp.set('v.NextPageDisplay',false);
+ // cmp.set('v.uploadFilePage',true);
+ var spanList = document.getElementById("uploadFileDiv").getElementsByTagName("span");
+ if(spanList.size()>0){
+ spanList[2].innerText = '涓婁紶闄勪欢';
+ }
+ alert('鎻愪氦鎴愬姛锛�');
+ if(IsHPSubmit){
+ //杩斿洖棣栭〉甯﹀�約tart
+ cmp.set('v.agencyDNSignUpStatus',resultData.agencyDNSignUpStatus);
+ cmp.set('v.HPDNSignUpStatus',resultData.HPDNSignUpStatus);
+ cmp.set('v.agencySubmit',resultData.agencySubmit);
+ cmp.set('v.DNNameSpare',resultData.DNNameSpare);
+
+ cmp.set('v.IsHPShow',false);
+ }
+ //2020/12/02 鎻愪氦鎴愬姛鍚庢樉绀洪��鍥為椤垫寜閽� start
+ cmp.set("v.submitAfterShow", true);
+ const icon = document.getElementById('submitAgency');
+ icon.style.textAlign = 'center';
+ //2020/12/02 鎻愪氦鎴愬姛鍚庢樉绀洪��鍥為椤垫寜閽� end
+ }
+ else{
+ cmp.set("v.errorMessage", resultData.result);
+ this.showErrorToast(cmp);
+ }
+ }else{
+ cmp.set("v.errorMessage", '淇濆瓨澶辫触锛岃閲嶆柊鍔犺浇锛�');
+ this.showErrorToast(cmp);
+ }
+
+ });
+ $A.enqueueAction(action);
+
+ },
+ hospitalDetailsPageNextClick : function(cmp) {
+ //瀛樹竴涓嬫绱㈡閲岀殑鍊� 涓嶇劧浼氳娓呮帀
+ cmp.set('v.searchCase',cmp.get('v.searchCaseKey'));
+ console.log('searchCaseKey:'+cmp.get('v.searchCaseKey'));
+ var check = cmp.get("v.check");
+ if(check){
+ if(confirm('璇峰啀娆$‘璁N鍙�/鏀惰揣鍗曚綅涓庨殢璐у悓琛屽崟涓�鑷淬��')){
+ //闅愯棌鍒�
+ cmp.set('v.hideCheckboxColumn',true);
+ cmp.set('v.HomePageDisplay',false);
+ cmp.set('v.NextPageDisplay',true);
+ }
+ }else{
+ // if(confirm('璇峰嬀閫変笂杩板唴瀹瑰凡闃呰銆�')){
+
+ // }
+ alert('璇峰嬀閫変笂杩板唴瀹瑰凡闃呰銆�');
+ return;
+ }
+
+ },
+ // 鏄庣粏涔熻烦杞嚦鏂囦欢涓婁紶椤甸�昏緫锛屽厛鎻愮ず鏄惁濉啓瀹屾瘯
+ handleDetailsPageNextClick : function(cmp) {
+ //瀛樹竴涓嬫绱㈡閲岀殑鍊� 涓嶇劧浼氳娓呮帀
+ var key = document.getElementById('searchInput').value;
+ cmp.set('v.searchCaseKey',key);
+ var AgencyClick = cmp.get('v.AgencyClick');
+ if(AgencyClick){
+ //鐩存帴璺宠浆鏄庣粏椤�
+ cmp.set('v.NextPageDisplay',false);
+ cmp.set('v.uploadFilePage',true);
+ var spanList = document.getElementById("uploadFileDiv").getElementsByTagName("span");
+ if(spanList.size()>0){
+ spanList[2].innerText = '涓婁紶闄勪欢';
+ }
+ }else{
+ if(confirm('璇风‘璁ゆ槸鍚﹀~鍐欏畬鎴愯揣鐗╂儏鍐碉紵')){
+ //澧炲姞鎵弿鏍囪瘑锛宐atch鍙栨秷椹冲洖鍕鹃�� 2020/12/30 wql start
+ cmp.set('v.IsHPScan',true);
+ //澧炲姞鎵弿鏍囪瘑锛宐atch鍙栨秷椹冲洖鍕鹃�� 2020/12/30 wql end
+ this.saveeSign(cmp);
+ cmp.set('v.NextPageDisplay',false);
+ cmp.set('v.uploadFilePage',true);
+ }
+ }
+
+ },
+ //杩斿洖棣栭〉
+ handleShowPageNextClick : function(cmp) {
+ //瀛樹竴涓嬫绱㈡閲岀殑鍊� 涓嶇劧浼氳娓呮帀
+ var key = document.getElementById('searchInput').value;
+ cmp.set('v.searchCaseKey',key);
+ cmp.set('v.HomePageDisplay',true);
+ cmp.set('v.NextPageDisplay',false);
+ },
+ //杩斿洖鏄庣粏椤�
+ handleShowFielePageNextClick : function(cmp) {
+ //瀛樹竴涓嬫绱㈡閲岀殑鍊� 涓嶇劧浼氳娓呮帀
+ cmp.set('v.searchCase',cmp.get('v.searchCaseKey'));
+ console.log('searchCaseKey:'+cmp.get('v.searchCaseKey'));
+ cmp.set('v.NextPageDisplay',true);
+ cmp.set('v.uploadFilePage',false);
+ //2020/12/02 鐐瑰嚮涓婁竴姝ョ殑鏃跺�欓殣钘忛��鍥炴寜閽�
+ cmp.set("v.submitAfterShow", false);
+ },
+ //缁欐彁浜ゆ寜閽竴涓粯璁ょ殑鍊�
+ submitClick : function(cmp,event){
+ var IsWhole = cmp.get('v.IsWhole');
+ var IsHaveFile = cmp.get('v.IsHaveFile');
+ var AgencyClick = cmp.get('v.AgencyClick');
+ //鑾峰彇缁忛攢鍟嗛偖绠�
+ var value = cmp.find("inputCmp").get("v.value");
+
+ var IsUpLoad = cmp.get('v.IsUpLoad');
+
+ //鍒ゆ柇閭鏄惁鏈夋晥
+ var validity = cmp.find("inputCmp").get("v.validity");
+ console.log(validity.valid);
+
+ //鈶犲瓨鍦ㄤ笉瀹屽ソ鐨勮揣鐗╂槑缁� 涓簍ure 鈶ize<0璇存槑娌℃湁涓婁紶鏂囦欢
+ //鍕鹃��
+
+ if(!IsHaveFile){
+ alert('璇锋偍涓婁紶鐓х墖鍚庡啀鐐规彁浜わ紒');
+
+ }else if(!IsUpLoad&&IsHaveFile){
+ alert('璇锋偍鐐瑰嚮涓婁紶鏂囦欢鎸夐挳涓婁紶锛�');
+ }else if(IsUpLoad &&!IsHaveFile){
+ alert('鎮ㄥ苟娌℃湁閫夋嫨鏂囦欢!');
+ }else{
+ if(validity.valid){
+ cmp.set('v.HPWorkflowEmailBack',value);
+ //鍕鹃��
+ if(confirm('璇风‘璁ゆ槸鍚︽彁浜わ紵')){
+ cmp.set('v.IsHPShow', true);
+ //鎵弿鍕鹃��
+ cmp.set('v.IsHPScan', true);
+ //璁剧疆涓�涓猣lag鐢ㄤ簬閬垮厤鎻愪氦涓ゆ
+ cmp.set('v.AgencyClick', true);
+ this.saveeSign(cmp);
+
+ this.BackToHomePage(cmp);
+
+ }
+
+ }else{
+ alert('璇锋偍濉啓姝g‘鐨勯偖绠卞湴鍧�鎴栬�呬笉濉啓锛�');
+
+ }
+
+ }
+
+
+
+ // alert('宸茬粡淇濆瓨濂戒簡锛佽鎮ㄧ偣鍑诲綍鍏ョ収鐗囨垨鑰呭叧闂椤甸潰銆�');
+ },
+ //寮瑰嚭 鎴愬姛鎻愮ずtoast 鏂规硶
+ showSuccessToast : function(cmp) {
+ $A.util.removeClass(cmp.find('successDiv'), 'slds-hide');
+ window.setTimeout($A.getCallback(function() {
+ $A.util.addClass(cmp.find('successDiv'), 'slds-hide');
+ }),
+ 5000
+ );
+ },
+ //寮瑰嚭 閿欒鎻愮ずtoast 鏂规硶
+ showErrorToast : function(cmp) {
+ const width = document.documentElement.clientWidth;
+ const contentDOM1 = document.getElementById('errorSonDiv1');
+ contentDOM1.style.width = width*0.6 + 'px';
+ const contentDOM2 = document.getElementById('errorSonDiv2');
+ contentDOM2.style.width = width*0.38 + 'px';
+ contentDOM2.style.height = '4rem';
+ const contentDOM3 =document.getElementById('errorSonDiv3');
+ contentDOM3.style.width = width-150 + 'px';
+ $A.util.removeClass(cmp.find('errorDiv'), 'slds-hide');
+ window.setTimeout($A.getCallback(function() {
+ $A.util.addClass(cmp.find('errorDiv'), 'slds-hide');
+ }),
+ 5000
+ );
+ },
+ // 灞曠ず 绛夊緟妗�
+ showSpinner: function(cmp) {
+ // remove slds-hide class from mySpinner
+ var spinner = cmp.find("mySpinner");
+ $A.util.removeClass(spinner, "slds-hide");
+ },
+ // 闅愯棌 绛夊緟妗�
+ hideSpinner : function(cmp){
+ // add slds-hide class from mySpinner
+ var spinner = cmp.find("mySpinner");
+ $A.util.addClass(spinner, "slds-hide");
+ },
+ //杩斿洖鏄庣粏椤�
+ handleShowFielePageNextClick : function(cmp) {
+
+ cmp.set('v.NextPageDisplay',true);
+ cmp.set('v.uploadFilePage',false);
+ //璁剧疆鎴� 榛樿 false
+ cmp.set('v.IsWhole',false);
+ cmp.set('v.IsHaveFile',false);
+ //闅愯棌鍒�
+ cmp.set('v.hideCheckboxColumn',true);
+ },
+ GoodsChanged:function(cmp){
+ var currentData = cmp.get('v.currentData');
+ for(var i = 0; i<currentData.length; i++){
+
+ //鑾峰彇id
+ var idx = currentData[i].Id+':'+i+':'+currentData[i].CaseNumber__c;
+ //鑾峰彇椤甸潰涓婄殑璐х墿鎯呭喌
+ var goodStatus = document.getElementById(idx).value;
+ currentData[i].HPGoodStatus__c =goodStatus;
+ // //鑾峰彇id
+ // var id = currentData[i].Id;
+ // //鑾峰彇椤甸潰涓婄殑璐х墿鎯呭喌
+ // var goodStatus = document.getElementById(id).value;
+ // currentData[i].HPGoodStatus__c =goodStatus;
+ // //璁剧疆鎵撳嬀鏍峰紡
+ // var idx = id+i;
+ // document.getElementById(idx).style.display = '';
+ // document.getElementById(id).style.border = 'hidden';
+
+ }
+ cmp.set('v.currentData',currentData);
+
+ },
+ //涓婚〉璺抽椤�
+ BackToHomePage : function(cmp, event, helper){
+ if(confirm('纭鍥炲埌棣栭〉鍚楋紵')){
+ // var messageEvent = cmp.getEvent('componentEvent');
+ // messageEvent.setParam('DNName',cmp.get('v.DNName'));
+ // messageEvent.setParam('IsAgencyShow',cmp.get('v.IsAgencyShow'));
+
+ // messageEvent.fire();
+ cmp.set("v.HomePage", false);
+ // cmp.set("v.uploadFilePage", false);
+ cmp.set("v.HomePageDisplay", true);
+ cmp.set('v.NextPageDisplay',false);
+ cmp.set('v.uploadFilePage',false);
+
+
+ }
+
+
+ // helper.BackToHomePage(cmp);
+ },
+ //鏄庣粏椤� 閫傜敤鎸夐挳 鏍规嵁绠卞彿鍒掑垎鏁扮粍data
+ //鈶犲綋鍓嶉〉闈s璧嬪��
+ //鈶″悗鍙癲ata鏁版嵁瀹為檯淇敼鍊�
+ BatchUpdateByCase : function(cmp, event){
+ //鑾峰彇鎸夐挳涓睘鎬ame == 鑾峰彇鍙傛暟 绠卞彿
+ var caseNumber = event.target.name;
+ //鑾峰彇鎸夐挳涓殑灞炴�� id == 鑾峰彇鍙傛暟 id
+ var idx = event.target.id;
+ //鎷兼帴 璐х墿鎯呭喌鐨刬d
+ var goodId = idx+caseNumber;
+ //鑾峰彇杩欎竴绠辩涓�涓殑鐨勮揣鐗╂儏鍐�
+ var goodStatus = document.getElementById(goodId).value;
+ if(confirm('璇风‘璁ゆ槸鍚﹂�傜敤浜庢暣绠憋紵')){
+ var data = cmp.get('v.data');
+
+ for(var i = 0; i<data.length; i++){
+ //鑾峰彇鎵�鏈塶ame涓虹鍙风殑input 鎵归噺鏇存柊
+ if(data[i].CaseNumber__c == caseNumber){
+ data[i].HPGoodStatus__c = goodStatus;
+ }
+
+ }
+ //鍚庡彴data鍙樹簡 浣嗛〉闈笉鑳藉強鏃跺彉
+ cmp.set('v.data',data);
+
+ //鑾峰彇鍒嗛〉鐨勮椤圭洰 鍒╃敤value璧嬪�� 鍙婃椂鍙�
+ var currentData = cmp.get('v.currentData');
+ for(var j = 0; j<currentData.length; j++){
+ if(currentData[j].CaseNumber__c == caseNumber){
+ //鎷兼帴id
+ var id = currentData[j].Id+':'+j+':'+currentData[j].CaseNumber__c;
+ document.getElementById(id).value =currentData[j].HPGoodStatus__c ;
+ id = '';
+ }else{
+ //閬垮厤褰卞搷鍏朵粬鍏朵粬鍒椾慨鏀�
+
+ //鑾峰彇id
+ var idx = currentData[j].Id+':'+j+':'+currentData[j].CaseNumber__c;
+ //鑾峰彇椤甸潰涓婄殑璐х墿鎯呭喌
+ var goodStatus = document.getElementById(idx).value;
+ currentData[j].HPGoodStatus__c =goodStatus;
+ }
+
+ }
+ //鏈�鍚庢洿鏂板悗鍙癲ata
+ cmp.set('v.currentData',currentData);
+ //褰撶偣鍑婚�傜敤鎸夐挳浠ュ悗锛岄〉闈笂鏄剧ず鍏ㄩ儴閫傜敤鎸夐挳
+ cmp.set('v.applyButton', false);
+ cmp.set('v.allApplyButton', true);
+ }
+ },
+ //鏄庣粏椤� 鍏ㄩ儴閫傜敤鎸夐挳 鏍规嵁绠卞彿鍒掑垎鏁扮粍data
+ //鈶犲綋鍓嶉〉闈s璧嬪��
+ //鈶″悗鍙癲ata鏁版嵁瀹為檯淇敼鍊�
+ allBatchUpdateByCase : function(cmp,event){
+ //鑾峰彇鎸夐挳涓睘鎬ame == 鑾峰彇鍙傛暟 绠卞彿
+ var caseNumber = event.target.name;
+ //鑾峰彇鎸夐挳涓殑灞炴�� id == 鑾峰彇鍙傛暟 id
+ var idx = event.target.id;
+ //鎷兼帴 璐х墿鎯呭喌鐨刬d
+ var goodId = idx+caseNumber;
+ //鑾峰彇杩欎竴绠辩涓�涓殑鐨勮揣鐗╂儏鍐�
+ var goodStatus = document.getElementById(goodId).value;
+
+ var data = cmp.get('v.data');
+
+ for(var i = 0; i<data.length; i++){
+ //鍏ㄩ儴鏇存柊鎴� 涓婅堪value鍊肩殑璐х墿鎯呭喌
+
+ data[i].HPGoodStatus__c = goodStatus;
+
+
+ }
+ //鍚庡彴data鍙樹簡 浣嗛〉闈笉鑳藉強鏃跺彉
+ cmp.set('v.data',data);
+
+ //鑾峰彇鍒嗛〉鐨勮椤圭洰 鍒╃敤value璧嬪�� 鍙婃椂鍙�
+ var currentData = cmp.get('v.currentData');
+ for(var j = 0; j<currentData.length; j++){
+
+ //鎷兼帴id
+ var id = currentData[j].Id+':'+j+':'+currentData[j].CaseNumber__c;
+ document.getElementById(id).value =currentData[j].HPGoodStatus__c ;
+ id = '';
+
+
+ }
+ //鏈�鍚庢洿鏂板悗鍙癲ata
+ cmp.set('v.currentData',currentData);
+
+ },
+ //椤甸潰涓婃绱㈠姛鑳�
+ searchByCaseNumber :function(cmp,event){
+ //鑾峰彇杈撳叆鐨剉alue鍊�
+ var key = document.getElementById('searchInput').value;
+ var data = cmp.get('v.data');
+ //瀹氫箟涓�涓┖鏁扮粍 鐢ㄤ簬瀛樻斁鎸夌鍒嗙被鍚庣殑data
+ var tempDataList = [];
+
+ var pageSize = cmp.get('v.pageSize');
+ //鍒ゆ柇鎼滅储妗嗗唴鏄惁鏈夊��
+ if(key){
+ cmp.set('v.searchFlag',true);
+ for(var i = 0; i<data.length; i++){
+ //鑾峰彇鎵�鏈塶ame涓虹鍙风殑input 鎵归噺鏇存柊
+ if(data[i].CaseNumber__c == key){
+ tempDataList.push(data[i]);
+ }
+
+ }
+ //璁剧疆鍒嗛〉
+ var tempData = this.getTempData(tempDataList, 1,pageSize);
+ cmp.set("v.isLastPage", this.isLastPage(tempDataList,tempData));
+ cmp.set("v.dataSize", tempData.length);
+ cmp.set("v.currentData", tempData);
+ cmp.set('v.pageNumber', 1);
+ cmp.set("v.searchSize",tempDataList.length);
+
+ }else{
+ cmp.set('v.searchFlag',false);
+ //鏄剧ず鍏ㄩ儴绠�
+ var data = cmp.get('v.data');
+ var tempData = this.getTempData(data, 1,pageSize);
+ cmp.set("v.isLastPage", this.isLastPage(data,tempData));
+ cmp.set("v.dataSize", tempData.length);
+ cmp.set("v.currentData", tempData);
+ cmp.set('v.pageNumber', 1);
+ cmp.set('v.searchSize', null);
+
+ }
+
+
+ },
+ MAX_FILE_SIZE: 4608000, //Max file size 4.5 MB
+ CHUNK_SIZE: 750000, //Chunk Max size 750Kb
+ uploadHelper: function(component, event) {
+ // start/show the loading spinner
+ component.set("v.showLoadingSpinner", true);
+ // get the selected files using aura:id [return array of files]
+ var fileInput = component.find("fileId").get("v.files");
+ // get the first file using array index[0]
+ var file = fileInput[0];
+ //var test = this.compress(file);
+ var self = this;
+ var pdf =file.type;
+ //澧炲姞鍙互涓婁紶鐨勫浘鐗囩被鍨� 绮剧悽鎶�鏈� thh 2021-09-13
+ if(pdf =='image/jpeg' || pdf =='image/png'){
+ // create a FileReader object
+ var objFileReader = new FileReader();
+ // set onload function of FileReader object
+ objFileReader.onload = $A.getCallback(function() {
+ var image = new Image();
+ image.src = objFileReader.result;
+ var fileContents = objFileReader.result;
+ image.onload = function() {
+ var maxSize;
+ var imgWidth ;
+ var imgHeight ;
+ //鍥剧墖灏忎簬300k鍒欎笉鍘嬬缉
+ if(file.size >0 && file.size <307200){
+ imgWidth = this.width;
+ imgHeight = this.height;
+ }else{
+ if(Math.sqrt(this.width*this.height)/Math.sqrt(2) >1200){
+ maxSize = 1200;
+ } else {
+ maxSize =Math.sqrt(this.width*this.height)/Math.sqrt(2);
+ }
+ var imgScale = self.imgScaleW(maxSize,this.width,this.height);
+ imgWidth = imgScale.width,
+ imgHeight = imgScale.height;
+ }
+
+ var canvas = document.createElement("canvas");
+ var ctx = canvas.getContext("2d");
+
+ canvas.width = imgWidth;
+ canvas.height = imgHeight;
+
+ ctx.drawImage(this, 0, 0, imgWidth, imgHeight);
+ //澧炲姞鍙互涓婁紶鐨勫浘鐗囩被鍨� 绮剧悽鎶�鏈� thh 2021-09-13 start
+ if(pdf =='image/jpeg' ){
+ fileContents = canvas.toDataURL("image/jpeg", 0.9);
+ }else if(pdf =='image/png'){
+ fileContents = canvas.toDataURL("image/png", 0.9);
+ }
+ //澧炲姞鍙互涓婁紶鐨勫浘鐗囩被鍨� 绮剧悽鎶�鏈� thh 2021-09-13 end
+ var base64 = "base64,";
+ var dataStart = fileContents.indexOf(base64) + base64.length;
+
+ fileContents = fileContents.substring(dataStart);
+ // call the uploadProcess method
+ self.uploadProcess(component, file, fileContents);
+ };
+ });
+ }else{
+ //event
+ var objFileReader = new FileReader();
+ // set onload function of FileReader object
+ objFileReader.onload = $A.getCallback(function() {
+
+ var fileContents = objFileReader.result;
+ var base64 = "base64,";
+ var dataStart = fileContents.indexOf(base64) + base64.length;
+
+ if (fileContents.length > 4608000) {
+ component.set("v.showLoadingSpinner", false);
+ alert("鎻愰啋锛屾枃浠跺帇缂╁ぇ灏忎笉鑳借秴杩�4.5M,璇烽噸鏂颁笂浼犮��");
+ return;
+ } else{
+ fileContents = fileContents.substring(dataStart);
+ // call the uploadProcess method
+ self.uploadProcess(component, file, fileContents);
+ }
+ });
+ }
+ objFileReader.readAsDataURL(file);
+ },
+
+ uploadProcess: function(component, file, fileContents) {
+ // set a default size or startpostiton as 0
+ var startPosition = 0;
+ // calculate the end size or endPostion using Math.min() function which is return the min. value
+ var endPosition = Math.min(
+ fileContents.length,
+ startPosition + this.CHUNK_SIZE
+ );
+ // start with the initial chunk, and set the attachId(last parameter)is null in begin
+ this.uploadInChunk(
+ component,
+ file,
+ fileContents,
+ startPosition,
+ endPosition,
+ ""
+ );
+ },
+
+ uploadInChunk: function(
+ component,
+ file,
+ fileContents,
+ startPosition,
+ endPosition,
+ attachId
+ ) {
+ // call the apex method 'saveChunk'
+ var getchunk = fileContents.substring(startPosition, endPosition);
+ //澧炲姞鏂囦欢鍒楄〃鍒犻櫎鍔熻兘聽聽绮剧悽鎶�鏈爐hh聽2021-08-31聽start
+ //鎶婂帇缂╁畬鐨剆rc鍜屾枃浠跺悕瀛樺叆map
+ var filesrc = component.get("v.FileSrc");
+ var emptyflag = true;
+ for(var key in filesrc) {
+ var emptyflag = false;
+ }
+ if(emptyflag){
+ filesrc[file.name] = getchunk;
+ } else {
+ for(var key in filesrc){
+ if(key == file.name){
+ filesrc[file.name] = filesrc[file.name] + getchunk;
+ }else {
+ filesrc[file.name] = getchunk;
+ console.log('filesrc锛�'+filesrc);
+ }
+ }
+ }
+ component.set('v.FileSrc', filesrc);
+ //澧炲姞鏂囦欢鍒楄〃鍒犻櫎鍔熻兘聽聽绮剧悽鎶�鏈爐hh聽2021-09-01 end
+ var baseFile = component.get("v.baseFile");
+ var base64List = component.get("v.base64List");
+ //鐢ㄤ簬鍒ゆ柇涓婁紶鍚屼竴涓枃浠舵彁绀�
+ var messageFlag = component.get("v.messageFlag");
+ //鍒ゆ柇鏄惁鍑虹幇杩囩綉缁滀笉濂斤紝涓婁紶澶辫触鐨勬儏鍐�
+ var errorFlag = component.get("v.errorFlag");
+ if(!base64List){
+ if(baseFile != getchunk){
+ //鐢ㄤ簬鍒ゆ柇涓婁紶鍚屼竴涓枃浠舵彁绀�
+ component.set("v.messageFlag",false);
+ messageFlag = component.get("v.messageFlag");
+ var action = component.get("c.saveChunk");
+ action.setParams({
+ parentId: component.get("v.parentId"),
+ fileName: file.name,
+ base64Data: encodeURIComponent(getchunk),
+ contentType: file.type,
+ fileId: attachId
+ });
+ // set call back
+ action.setCallback(this, function(response) {
+ // store the response / Attachment Id
+ attachId = response.getReturnValue();
+ //澧炲姞鏂囦欢鍒楄〃鍒犻櫎鍔熻兘聽聽绮剧悽鎶�鏈爐hh聽2021-09-02聽start
+ //鍏宠仈闄勪欢ID鍜岄檮浠跺悕
+ var attachmentID = component.get("v.attachmentID");
+ attachmentID[file.name] = attachId;
+ component.set("v.attachmentID", attachmentID);
+ //澧炲姞鏂囦欢鍒楄〃鍒犻櫎鍔熻兘聽聽绮剧悽鎶�鏈爐hh聽2021-09-02聽end
+ var state = response.getState();
+ if (state === "SUCCESS") {
+ // update the start position with end postion
+ startPosition = endPosition;
+ endPosition = Math.min(
+ fileContents.length,
+ startPosition + this.CHUNK_SIZE
+ );
+ // check if the start postion is still less then end postion
+ // then call again 'uploadInChunk' method ,
+ // else, diaply alert msg and hide the loading spinner
+ if (startPosition < endPosition) {
+ this.uploadInChunk(
+ component,
+ file,
+ fileContents,
+ startPosition,
+ endPosition,
+ attachId
+ );
+ } else {
+ //鍒ゆ柇涓婁紶鏂囦欢鍐呭 鎻愮ず涓�娆′俊鎭�
+ var base = component.get("v.getchunk");
+ if(!base || (base&&base!=getchunk)){
+ // alert("鎮ㄥ凡缁忔垚鍔熶笂浼犳枃浠躲��");
+ component.set("v.getchunk", getchunk);
+ }
+
+ alert("鎮ㄥ凡缁忔垚鍔熶笂浼犳枃浠躲�俓n璇风偣鍑绘彁浜ゅ悗閫�鍑恒��");
+ //鐢ㄤ簬鎻愪氦鎸夐挳鍒ゆ柇鏄惁鏈夊凡涓婁紶鐨勬枃浠�
+ component.set('v.IsUpLoad',true);
+ //鐢ㄤ簬鍒ゆ柇涓婁紶鍚屼竴涓枃浠舵彁绀�
+ component.set("v.messageFlag",true);
+ messageFlag =component.get("v.messageFlag");
+ component.set("v.showLoadingSpinner", false);
+ //鏍囪瘑棰勮鍥剧墖鍚嶅瓧 绮剧悽鎶�鏈� thh 2021-09-15 start
+ var isUploadName = component.get("v.isUploadName");
+ var fileName = component.find("fileId").get("v.files")[0]['name'];
+ if(isUploadName[fileName]) {
+ var str = '<span>褰撳墠鏂囦欢锛�</span><span id="nowfile" class="field-title" style="color:Green;" title="' + fileName + '">' + fileName + '</span>';
+ document.getElementById("uploadicon").style.display = 'inline-block';
+ } else{
+ var str = '<span>褰撳墠鏂囦欢锛�</span><span id="nowfile" class="field-title" style="color:Gray;" title="' + fileName + '">' + fileName + '</span>';
+ document.getElementById("uploadicon").style.display = 'none';
+ }
+ var obj = document.getElementById('filenow');
+ obj.innerHTML = str;
+ //鏍囪瘑棰勮鍥剧墖鍚嶅瓧 绮剧悽鎶�鏈� thh 2021-09-15 end
+ //涓婁紶鎴愬姛鍚庢枃浠跺垪琛ㄧ殑鏂囦欢鍚嶅彉鑹� 绮剧悽鎶�鏈� thh 2021-09-26 start
+ var count = component.get("v.fileUpLoadSize");
+ var fileName = component.get("v.flUpLoadName");
+ if (count > 0) {
+ //鍒楀嚭鏂囦欢鍚�01 鎵�鏈夋枃浠跺悕閮界敤閫楀彿闅斿紑 鏍规嵁閫楀彿鎷嗗垎锛屽瓨鏀炬暟缁�
+ var nameList = fileName.split(',');
+ for (var i = 0; i < nameList.length; i++) {
+ for (var j = i + 1; j < nameList.length; j++) {
+ if (nameList[i] == nameList[j]) { //绗竴涓瓑鍚屼簬绗簩涓紝splice鏂规硶鍒犻櫎绗簩涓�
+ nameList.splice(j, 1);
+ j--;
+ }
+ }
+ }
+ //瀛樻斁鍒板彉閲忎腑 鐢ㄤ簬涓婁竴椤典笅涓�椤佃繛鐐�
+ component.set('v.nameUpLoadList', nameList);
+ //閲嶆柊瀹氫箟閫変腑鏂囦欢鐨勬暟閲�
+ component.set('v.fileSize', nameList.length);
+ console.log("nameList:" + component.get('v.nameUpLoadList'));
+ var isUploadName = component.get("v.isUploadName");
+ if (nameList.length > 0) {
+ var strList = '';
+ for (var i = 0; i < nameList.length; i++) {
+ var num = Number(i) + 1;
+ var id = 'file0' + num;
+ //鏍囪瘑鏂囦欢鏄惁宸茬粡涓婁紶 绮剧悽鎶�鏈� thh 2021-09-26 start
+ if(isUploadName[nameList[i]]) {
+ var str = '<button id="' + id + '" class="slds-button" title="Field 3" style="text-align:left;width:250px;font-weight:bold;font-size: 15px;color:Green;" name="' + nameList[i] + '">' + nameList[i] + '</button><br>';
+ } else{
+ var str = '<button id="' + id + '" class="slds-button" title="Field 3" style="text-align:left;width:250px;font-weight:bold;font-size: 15px;color:Gray;" name="' + nameList[i] + '">' + nameList[i] + '</button><br>';
+ }
+ //鏍囪瘑鏂囦欢鏄惁宸茬粡涓婁紶 绮剧悽鎶�鏈� thh 2021-09-26 end
+ //鎷兼帴p鏍囩 鍒楀嚭鏂囦欢鍚峣d涓嶅悓
+ strList += str;
+ }
+ var obj = document.getElementById('file00');
+ obj.innerHTML = strList;
+ }
+ }
+ //涓婁紶鎴愬姛鍚庢枃浠跺垪琛ㄧ殑鏂囦欢鍚嶅彉鑹� 绮剧悽鎶�鏈� thh 2021-09-26 end
+ }
+ // handel the response errors
+ } else if (state === "INCOMPLETE") {
+ alert("From server: " + response.getReturnValue());
+ component.set("v.showLoadingSpinner", false);
+ component.set("v.errorFlag", true);
+
+ } else if (state === "ERROR") {
+ var errors = response.getError();
+ component.set("v.showLoadingSpinner", false);
+ component.set("v.errorFlag", true);
+ if (errors) {
+ if (errors[0] && errors[0].message) {
+ console.log("Error message: " + errors[0].message);
+ }
+ } else {
+ console.log("Unknown error");
+ }
+ }
+ });
+ // enqueue the action
+ $A.enqueueAction(action);
+
+ }
+
+ }
+ else if(!base64List.includes(getchunk) || (base64List.includes(getchunk)&&errorFlag)){
+ //缃戠粶娉㈠姩杩涙潵浠ュ悗 缃垚false
+ component.set("v.errorFlag", false);
+ //鐢ㄤ簬鍒ゆ柇涓婁紶鍚屼竴涓枃浠舵彁绀�
+ component.set("v.messageFlag",false);
+ messageFlag = component.get("v.messageFlag");
+ var action = component.get("c.saveChunk");
+ action.setParams({
+ parentId: component.get("v.parentId"),
+ fileName: file.name,
+ base64Data: encodeURIComponent(getchunk),
+ contentType: file.type,
+ fileId: attachId
+ });
+
+ // set call back
+ action.setCallback(this, function(response) {
+ // store the response / Attachment Id
+ attachId = response.getReturnValue();
+ //澧炲姞鏂囦欢鍒楄〃鍒犻櫎鍔熻兘聽聽绮剧悽鎶�鏈爐hh聽2021-09-02聽start
+ //鍏宠仈闄勪欢ID鍜岄檮浠跺悕
+ var attachmentID = component.get("v.attachmentID");
+ attachmentID[file.name] = attachId;
+ component.set("v.attachmentID", attachmentID);
+ //澧炲姞鏂囦欢鍒楄〃鍒犻櫎鍔熻兘聽聽绮剧悽鎶�鏈爐hh聽2021-09-02聽end
+ var state = response.getState();
+ if (state === "SUCCESS") {
+ // update the start position with end postion
+ startPosition = endPosition;
+ endPosition = Math.min(
+ fileContents.length,
+ startPosition + this.CHUNK_SIZE
+ );
+ // check if the start postion is still less then end postion
+ // then call again 'uploadInChunk' method ,
+ // else, diaply alert msg and hide the loading spinner
+ if (startPosition < endPosition) {
+ this.uploadInChunk(
+ component,
+ file,
+ fileContents,
+ startPosition,
+ endPosition,
+ attachId
+ );
+ } else {
+ //鍒ゆ柇涓婁紶鏂囦欢鍐呭 鎻愮ず涓�娆′俊鎭�
+ var base = component.get("v.getchunk");
+ if(!base || (base&&base!=getchunk)){
+ // alert("鎮ㄥ凡缁忔垚鍔熶笂浼犳枃浠躲��");
+ component.set("v.getchunk",getchunk );
+ }
+ alert("鎮ㄥ凡缁忔垚鍔熶笂浼犳枃浠躲�俓n璇风偣鍑绘彁浜ゅ悗閫�鍑恒��");
+ //鐢ㄤ簬鎻愪氦鎸夐挳鍒ゆ柇鏄惁鏈夊凡涓婁紶鐨勬枃浠�
+ component.set('v.IsUpLoad',true);
+ //鐢ㄤ簬鍒ゆ柇涓婁紶鍚屼竴涓枃浠舵彁绀�
+ component.set("v.messageFlag",true);
+ messageFlag =component.get("v.messageFlag");
+ component.set("v.showLoadingSpinner", false);
+ //鏍囪瘑棰勮鍥剧墖鍚嶅瓧 绮剧悽鎶�鏈� thh 2021-09-15 start
+ var isUploadName = component.get("v.isUploadName");
+ var fileName = component.find("fileId").get("v.files")[0]['name'];
+ if(isUploadName[fileName]) {
+ var str = '<span>褰撳墠鏂囦欢锛�</span><span id="nowfile" class="field-title" style="color:Green;" title="' + fileName + '">' + fileName + '</span>';
+ document.getElementById("uploadicon").style.display = 'inline-block';
+ } else{
+ var str = '<span>褰撳墠鏂囦欢锛�</span><span id="nowfile" class="field-title" style="color:Gray;" title="' + fileName + '">' + fileName + '</span>';
+ document.getElementById("uploadicon").style.display = 'none';
+ }
+ var obj = document.getElementById('filenow');
+ obj.innerHTML = str;
+ //鏍囪瘑棰勮鍥剧墖鍚嶅瓧 绮剧悽鎶�鏈� thh 2021-09-15 end
+ //涓婁紶鎴愬姛鍚庢枃浠跺垪琛ㄧ殑鏂囦欢鍚嶅彉鑹� 绮剧悽鎶�鏈� thh 2021-09-26 start
+ var count = component.get("v.fileUpLoadSize");
+ var fileName = component.get("v.flUpLoadName");
+ if (count > 0) {
+ //鍒楀嚭鏂囦欢鍚�01 鎵�鏈夋枃浠跺悕閮界敤閫楀彿闅斿紑 鏍规嵁閫楀彿鎷嗗垎锛屽瓨鏀炬暟缁�
+ var nameList = fileName.split(',');
+ for (var i = 0; i < nameList.length; i++) {
+ for (var j = i + 1; j < nameList.length; j++) {
+ if (nameList[i] == nameList[j]) { //绗竴涓瓑鍚屼簬绗簩涓紝splice鏂规硶鍒犻櫎绗簩涓�
+ nameList.splice(j, 1);
+ j--;
+ }
+ }
+ }
+ //瀛樻斁鍒板彉閲忎腑 鐢ㄤ簬涓婁竴椤典笅涓�椤佃繛鐐�
+ component.set('v.nameUpLoadList', nameList);
+ //閲嶆柊瀹氫箟閫変腑鏂囦欢鐨勬暟閲�
+ component.set('v.fileSize', nameList.length);
+ console.log("nameList:" + component.get('v.nameUpLoadList'));
+ var isUploadName = component.get("v.isUploadName");
+ if (nameList.length > 0) {
+ var strList = '';
+ for (var i = 0; i < nameList.length; i++) {
+ var num = Number(i) + 1;
+ var id = 'file0' + num;
+ //鏍囪瘑鏂囦欢鏄惁宸茬粡涓婁紶 绮剧悽鎶�鏈� thh 2021-09-26 start
+ if(isUploadName[nameList[i]]) {
+ var str = '<button id="' + id + '" class="slds-button" title="Field 3" style="text-align:left;width:250px;font-weight:bold;font-size: 15px;color:Green;" name="' + nameList[i] + '">' + nameList[i] + '</button><br>';
+ } else{
+ var str = '<button id="' + id + '" class="slds-button" title="Field 3" style="text-align:left;width:250px;font-weight:bold;font-size: 15px;color:Gray;" name="' + nameList[i] + '">' + nameList[i] + '</button><br>';
+ }
+ //鏍囪瘑鏂囦欢鏄惁宸茬粡涓婁紶 绮剧悽鎶�鏈� thh 2021-09-26 end
+ //鎷兼帴p鏍囩 鍒楀嚭鏂囦欢鍚峣d涓嶅悓
+ strList += str;
+ }
+ var obj = document.getElementById('file00');
+ obj.innerHTML = strList;
+ }
+ }
+ //涓婁紶鎴愬姛鍚庢枃浠跺垪琛ㄧ殑鏂囦欢鍚嶅彉鑹� 绮剧悽鎶�鏈� thh 2021-09-26 end
+ }
+ // handel the response errors
+ } else if (state === "INCOMPLETE") {
+ alert("From server: " + response.getReturnValue());
+ component.set("v.showLoadingSpinner", false);
+ component.set("v.errorFlag", true);
+ } else if (state === "ERROR") {
+ var errors = response.getError();
+ component.set("v.showLoadingSpinner", false);
+ component.set("v.errorFlag", true);
+ if (errors) {
+ if (errors[0] && errors[0].message) {
+ console.log("Error message: " + errors[0].message);
+ }
+ } else {
+ console.log("Unknown error");
+ }
+ }
+ });
+ // enqueue the action
+ $A.enqueueAction(action);
+ }else{
+ if(messageFlag){
+ alert("鎮ㄥ凡缁忎笂浼犺繃璇ユ枃浠朵簡锛�")
+ component.set("v.showLoadingSpinner", false);
+ }
+
+ }
+ //瀛樻斁涓婁紶杩囩殑鏂囦欢base64 鏁扮粍
+ var baseFile = component.get("v.baseFile");
+ var base64List = component.get("v.base64List");
+ if(baseFile){
+ component.set('v.baseFile',baseFile+','+getchunk);
+ // nameList.pust(name);
+ }else{
+ component.set('v.baseFile',getchunk);
+ }
+ baseFile = component.get("v.baseFile");
+ var base64List =baseFile.split(',');
+ component.set("v.base64List",base64List);
+ // component.set("v.showLoadingSpinner", false);
+ // baseFile = getchunk;
+
+ },
+ /**
+ * 鍥剧墖鍘嬬缉
+ * @param maxWidth 鏈�澶у搴︽垨鏈�澶ч珮搴�
+ * @param width 瀹藉害
+ * @param height 楂樺害
+ * @returns {___anonymous1968_1969}
+ */
+imgScaleW:function(maxWidth,width,height){
+ var imgScale = {};
+ var w = 0;
+ var h = 0;
+ if(width <= maxWidth && height <= maxWidth){ // 濡傛灉鍥剧墖瀹介珮閮藉皬浜庨檺鍒剁殑鏈�澶у��,涓嶇敤缂╂斁
+ imgScale = {
+ width:width,
+ height:height
+ };
+ }else{
+ if(width >= height){ // 濡傛灉鍥剧墖瀹藉ぇ浜庨珮
+ w = maxWidth;
+ h = Math.ceil(maxWidth * height / width);
+ }else{ // 濡傛灉鍥剧墖楂樺ぇ浜庡
+ h = maxWidth;
+ w = Math.ceil(maxWidth * width / height);
+ }
+ imgScale = {
+ width:w,
+ height:h
+ };
+ }
+ return imgScale;
+},
+DrawImage1:function(maxWidth,width,height){
+ var imgScale = {};
+ var w = 0;
+ var h = 0;
+ if (width > 0 && height > 0) {
+ if (width / height >= 1) {
+ if (width > maxWidth) {
+
+ imgScale = {
+ width:maxWidth,
+ height:(height * maxWidth) / width
+ };
+ } else {
+ imgScale = {
+ width:width,
+ height:height
+ };
+ }
+ } else {
+ if (height > maxWidth) {
+ imgScale = {
+ width:maxWidth,
+ height:(width * maxWidth) / height
+ };
+ } else {
+ imgScale = {
+ width:width,
+ height:height
+ };
+ }
+ }
+ }
+
+ return imgScale;
+},
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/eSignHospitalQR/eSignHospitalQR.cmp b/force-app/main/default/aura/eSignHospitalQR/eSignHospitalQR.cmp
new file mode 100644
index 0000000..52a5ed4
--- /dev/null
+++ b/force-app/main/default/aura/eSignHospitalQR/eSignHospitalQR.cmp
@@ -0,0 +1,30 @@
+<aura:component implements="flexipage:availableForAllPageTypes,forceCommunity:availableForAllPageTypes,lightning:isUrlAddressable"
+ access="global" controller ="eSignHomePageController">
+
+ <aura:attribute name="DNName" type="String"
+ description="鐢ㄦ潵浠庣埗瀵硅薄鎺ユ敹浼犻�掕繃鏉ョ殑DN鍙�"
+ default=""/>
+ <aura:attribute name="floatWidth" type="String"
+ description="鐢ㄦ潵浠庣埗瀵硅薄鎺ユ敹浼犻�掕繃鏉ョ殑灞忓箷瀹藉害"
+ default=""/>
+ <aura:attribute name="QRWidth" type="String"
+ description="鐢ㄦ潵浠庣埗瀵硅薄鎺ユ敹浼犻�掕繃鏉ョ殑灞忓箷瀹藉害"
+ default=""/>
+ <aura:attribute name="QRHeight" type="String"
+ description="鐢ㄦ潵浠庣埗瀵硅薄鎺ユ敹浼犻�掕繃鏉ョ殑灞忓箷瀹藉害"
+ default=""/>
+
+ <!-- 寮曞叆绗笁鏂规敮鎸佸簱 -->
+ <ltng:require scripts="{!$Resource.qrcode}" afterScriptsLoaded="{!c.setScriptLoaded}"/>
+ <aura:attribute name="isJqueryLoaded" type="Boolean" description=""/>
+ <aura:attribute name="needToProcessReRenderLogic" type="Boolean" description=""/>
+
+ <!-- 浜岀淮鐮� -->
+ <!-- position: absolute;left: 43%; ;margin-left: -100px;bottom:250px;-->
+ <div id="In" style="{!'width:'+v.QRWidth+'px;margin: 0 auto;height:280px;'}" >
+ <p style="{!'text-align:center;border: solid 10px #fff;text-align: center;width:200px;'}" align="center" class="QRColor" >鍖婚櫌浜岀淮鐮�</p>
+ <div id="qrcode" class="slds-float_center" style="text-align:center;border: solid 10px #fff;text-align: center;position: absolute;left: 20%;"></div>
+ </div>
+
+
+</aura:component>
\ No newline at end of file
diff --git a/force-app/main/default/aura/eSignHospitalQR/eSignHospitalQR.cmp-meta.xml b/force-app/main/default/aura/eSignHospitalQR/eSignHospitalQR.cmp-meta.xml
new file mode 100644
index 0000000..995d15c
--- /dev/null
+++ b/force-app/main/default/aura/eSignHospitalQR/eSignHospitalQR.cmp-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<AuraDefinitionBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>39.0</apiVersion>
+ <description>DESCRIPTION</description>
+</AuraDefinitionBundle>
diff --git a/force-app/main/default/aura/eSignHospitalQR/eSignHospitalQR.css b/force-app/main/default/aura/eSignHospitalQR/eSignHospitalQR.css
new file mode 100644
index 0000000..bd6eb63
--- /dev/null
+++ b/force-app/main/default/aura/eSignHospitalQR/eSignHospitalQR.css
@@ -0,0 +1,6 @@
+.THIS .QRColor
+{
+
+ color: #0f218b;
+ /*border-color: #0f218b;*/
+}
\ No newline at end of file
diff --git a/force-app/main/default/aura/eSignHospitalQR/eSignHospitalQRController.js b/force-app/main/default/aura/eSignHospitalQR/eSignHospitalQRController.js
new file mode 100644
index 0000000..5b542ca
--- /dev/null
+++ b/force-app/main/default/aura/eSignHospitalQR/eSignHospitalQRController.js
@@ -0,0 +1,7 @@
+({
+ setScriptLoaded :function(cmp, event, helper){
+ cmp.set("v.isJqueryLoaded",true);
+ cmp.set("v.needToProcessReRenderLogic",true);
+ helper.rerender(cmp);
+ }
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/eSignHospitalQR/eSignHospitalQRHelper.js b/force-app/main/default/aura/eSignHospitalQR/eSignHospitalQRHelper.js
new file mode 100644
index 0000000..a4ac947
--- /dev/null
+++ b/force-app/main/default/aura/eSignHospitalQR/eSignHospitalQRHelper.js
@@ -0,0 +1,57 @@
+({
+ rerender :function(cmp,event){
+
+ // 鍒涘缓Base64瀵硅薄
+
+ if(cmp.get("v.isJqueryLoaded") && cmp.get("v.needToProcessReRenderLogic")) {
+ //瀹炰緥鍖栦簩缁寸爜骞惰皟鏁翠簩缁寸爜澶у皬
+ var DNName = cmp.get('v.DNName')
+ //base64杞爜
+ var encode = window.btoa(DNName);
+ var qrcode = new QRCode(document.getElementById("qrcode"), {
+ width: 180,
+ height: 180,
+ colorDark : "#000000",
+ colorLight : "#ffffff",
+ correctLevel: QRCode.CorrectLevel.L
+ });
+
+ //鐢熸垚浜岀淮鐮�
+ function makeCode() {
+ //qrcode.clear();
+
+ qrcode.makeCode("https://ocm.force.com/eSignSystem/s/EsignDataEntry?DNName="+encode);
+ //qrcode.makeCode("https://stagefull-ocm.cs113.force.com/eSignSystem/s/EsignDataEntry?DNName="+encode);
+ };
+
+ //璋冪敤鐢熸垚浜岀淮鐮佹柟娉�
+ makeCode();
+ }
+
+ // var DNName = '{!eSignForm__c.DNNameNo0__c}';
+ // var profileID = '{!$Profile.Id}';
+ // console.log('profileID:'+profileID);
+ // if( profileID == '00e10000000dE0KAAU' || profileID == '00e10000000Y3o5AAC'){
+ // var qrcode = new QRCode(document.getElementById("qrcode"), {
+ // text: " https://stagefull-ocm.cs113.force.com/eSignSystem/s/EsignDataEntry?DNName="+DNName,
+ // width: 200,
+ // height: 200,
+ // colorDark : "#000000",
+ // colorLight : "#ffffff",
+ // correctLevel : QRCode.CorrectLevel.H
+ // });
+ // }
+ // var qrcode = document.getElementById("qrcode");
+ // //鍒朵綔DOM
+ // var qrcode = new QRCode(document.getElementById("qrcode"), {
+ // text: " https://stagefull-ocm.cs113.force.com/eSignSystem/s/EsignDataEntry",
+ // width: 290,
+ // height: 290,
+ // colorDark : "#000000",
+ // colorLight : "#ffffff",
+ // correctLevel : QRCode.CorrectLevel.H
+ // });
+
+
+ }
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/forgotPassword/forgotPassword.cmp b/force-app/main/default/aura/forgotPassword/forgotPassword.cmp
new file mode 100644
index 0000000..4ad500e
--- /dev/null
+++ b/force-app/main/default/aura/forgotPassword/forgotPassword.cmp
@@ -0,0 +1,29 @@
+<!-- add implements="forceCommunity:availableForAllPageTypes" to surface the component in community builder -->
+<aura:component controller="LightningForgotPasswordController">
+ <aura:attribute name="usernameLabel" type="String" required="false" default="Username"/>
+ <aura:attribute name="submitButtonLabel" type="String" required="false" default="Reset Password"/>
+ <aura:attribute name="showError" type="Boolean" required="true" description="" default="false" access="private"/>
+ <aura:attribute name="errorMessage" type="String" required="false" description="" access="private"/>
+ <aura:attribute name="checkEmailUrl" type="String" required="true"/>
+ <aura:attribute name="expid" type="String" required="false" description="The branding experience ID" />
+ <aura:handler name="init" value="{!this}" action="{!c.initialize}"/>
+ <aura:handler event="c:setExpId" action="{!c.setExpId}"/>
+ <aura:dependency resource="c:setExpId" type="EVENT"/>
+
+ <div>
+ <aura:renderIf isTrue="{!v.showError}">
+ <div id="error">
+ <ui:outputRichText value="{!v.errorMessage}"/>
+ </div>
+ </aura:renderIf>
+ <div id="sfdc_username_container" class="sfdc">
+ <span id="sfdc_user" class="login-icon" data-icon="a"></span>
+ <ui:inputText value="" aura:id="username" placeholder="{!v.usernameLabel}" keyup="{!c.onKeyUp}" class="input sfdc_usernameinput sfdc"/>
+ </div>
+
+ <div class="sfdc">
+ <ui:button aura:id="submitButton" label="{!v.submitButtonLabel}" press="{!c.handleForgotPassword}" class="sfdc_button"/>
+ </div>
+
+ </div>
+</aura:component>
\ No newline at end of file
diff --git a/force-app/main/default/aura/forgotPassword/forgotPassword.cmp-meta.xml b/force-app/main/default/aura/forgotPassword/forgotPassword.cmp-meta.xml
new file mode 100644
index 0000000..212463a
--- /dev/null
+++ b/force-app/main/default/aura/forgotPassword/forgotPassword.cmp-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<AuraDefinitionBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>57.0</apiVersion>
+ <description>Sample Component for forgotPassword</description>
+</AuraDefinitionBundle>
diff --git a/force-app/main/default/aura/forgotPassword/forgotPassword.css b/force-app/main/default/aura/forgotPassword/forgotPassword.css
new file mode 100644
index 0000000..5d3bb22
--- /dev/null
+++ b/force-app/main/default/aura/forgotPassword/forgotPassword.css
@@ -0,0 +1,76 @@
+.THIS #sfdc_username_container{
+ margin-bottom:10px;
+ padding: 12px;
+ background-color:white;
+ border: 1px solid #CCC;
+ -webkit-border-radius: 2px;
+ -moz-border-radius: 2px;
+ border-radius: 2px;
+}
+
+.THIS #sfdc_user{
+ float:left;
+ width:23px;
+ height:25px;
+ padding-top:1px;
+ padding-left:2px;
+ margin:0px;
+
+}
+
+.THIS .login-icon {
+ color:#ccc;font-size:22px;
+}
+
+.THIS button.sfdc_button {
+ width: 100%;
+ margin-top: 15px;
+ margin-bottom: 5px;
+ color: #fff;
+ background-color: #0070d2;
+ border-color: #357ebd;
+ display: inline-block;
+ text-align: center;
+ vertical-align: middle;
+ background-image: none;
+ border: 1px solid transparent;
+ white-space: nowrap;
+ padding: 10px 12px;
+ font-size: 16px;
+ font-family: 'Open Sans', sans-serif;
+ font-weight: 300;
+ line-height: 1.42857143;
+ border-radius: 2px;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+}
+
+.THIS button:hover {
+ background-color:#3276b1;
+ border-color:#285e8e;
+ cursor:pointer;
+}
+
+.THIS input {
+ margin-left:10px;
+ margin-top: 3px;
+ border: 0px solid transparent;
+ width: 70%;
+ -webkit-appearance: none;
+ font-size: 14px;
+}
+
+.THIS #error {
+ text-align: center;
+ color:#FF0000;
+}
+
+.THIS a {
+ color:white;
+ text-decoration: none;
+}
+.THIS a:hover {
+ color:white;
+ text-decoration: none;
+}
\ No newline at end of file
diff --git a/force-app/main/default/aura/forgotPassword/forgotPassword.design b/force-app/main/default/aura/forgotPassword/forgotPassword.design
new file mode 100644
index 0000000..38ebfe8
--- /dev/null
+++ b/force-app/main/default/aura/forgotPassword/forgotPassword.design
@@ -0,0 +1,5 @@
+<design:component label="Custom Forgot Password">
+ <design:attribute name="checkEmailUrl" default="./CheckPasswordResetEmail"/>
+ <design:attribute name="usernameLabel" default="Username"/>
+ <design:attribute name="submitButtonLabel" default="Reset Password"/>
+</design:component>
\ No newline at end of file
diff --git a/force-app/main/default/aura/forgotPassword/forgotPasswordController.js b/force-app/main/default/aura/forgotPassword/forgotPasswordController.js
new file mode 100644
index 0000000..a456ace
--- /dev/null
+++ b/force-app/main/default/aura/forgotPassword/forgotPasswordController.js
@@ -0,0 +1,23 @@
+({
+ handleForgotPassword: function (component, event, helpler) {
+ helpler.handleForgotPassword(component, event, helpler);
+ },
+ onKeyUp: function(component, event, helpler){
+ //checks for "enter" key
+ if (event.getParam('keyCode')===13) {
+ helpler.handleForgotPassword(component, event, helpler);
+ }
+ },
+
+ setExpId: function (component, event, helper) {
+ var expId = event.getParam('expid');
+ if (expId) {
+ component.set("v.expid", expId);
+ }
+ helper.setBrandingCookie(component, event, helper);
+ },
+
+ initialize: function(component, event, helper) {
+ $A.get("e.siteforce:registerQueryEventMap").setParams({"qsToEvent" : helper.qsToEventMap}).fire();
+ }
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/forgotPassword/forgotPasswordHelper.js b/force-app/main/default/aura/forgotPassword/forgotPasswordHelper.js
new file mode 100644
index 0000000..85467fb
--- /dev/null
+++ b/force-app/main/default/aura/forgotPassword/forgotPasswordHelper.js
@@ -0,0 +1,30 @@
+({
+ qsToEventMap: {
+ 'expid' : 'e.c:setExpId'
+ },
+
+ handleForgotPassword: function (component, event, helpler) {
+ var username = component.find("username").get("v.value");
+ var checkEmailUrl = component.get("v.checkEmailUrl");
+ var action = component.get("c.forgotPassword");
+ action.setParams({username:username, checkEmailUrl:checkEmailUrl});
+ action.setCallback(this, function(a) {
+ var rtnValue = a.getReturnValue();
+ if (rtnValue != null) {
+ component.set("v.errorMessage",rtnValue);
+ component.set("v.showError",true);
+ }
+ });
+ $A.enqueueAction(action);
+ },
+
+ setBrandingCookie: function (component, event, helpler) {
+ var expId = component.get("v.expid");
+ if (expId) {
+ var action = component.get("c.setExperienceId");
+ action.setParams({expId:expId});
+ action.setCallback(this, function(a){ });
+ $A.enqueueAction(action);
+ }
+ }
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/lexCustomDeleteAura/lexCustomDeleteAura.auradoc b/force-app/main/default/aura/lexCustomDeleteAura/lexCustomDeleteAura.auradoc
new file mode 100644
index 0000000..d0d6eb5
--- /dev/null
+++ b/force-app/main/default/aura/lexCustomDeleteAura/lexCustomDeleteAura.auradoc
@@ -0,0 +1,6 @@
+<aura:documentation>
+ <aura:description>Documentation</aura:description>
+ <aura:example name="ExampleName" ref="exampleComponentName" label="Label">
+ Example Description
+ </aura:example>
+</aura:documentation>
\ No newline at end of file
diff --git a/force-app/main/default/aura/lexCustomDeleteAura/lexCustomDeleteAura.cmp b/force-app/main/default/aura/lexCustomDeleteAura/lexCustomDeleteAura.cmp
new file mode 100644
index 0000000..8d7b5b6
--- /dev/null
+++ b/force-app/main/default/aura/lexCustomDeleteAura/lexCustomDeleteAura.cmp
@@ -0,0 +1,9 @@
+<!-- <aura:component implements="force:lightningQuickAction,lightning:isUrlAddressable,flexipage:availableForRecordHome,force:hasRecordId" controller=""> -->
+<aura:component implements="force:lightningQuickActionWithoutHeader,force:hasRecordId,lightning:isUrlAddressable" >
+ <aura:attribute name="recordId" type="String" />
+ <aura:handler name="init" value="{!this}" action="{!c.doInit}"/>
+ <div class="exampleHolder">
+ <!-- onpartevent="{!c.closeModal}" -->
+ <c:lexCustomDeleteLWC recordId="{!v.recordId}" />
+ </div>
+</aura:component>
\ No newline at end of file
diff --git a/force-app/main/default/aura/lexCustomDeleteAura/lexCustomDeleteAura.cmp-meta.xml b/force-app/main/default/aura/lexCustomDeleteAura/lexCustomDeleteAura.cmp-meta.xml
new file mode 100644
index 0000000..838df43
--- /dev/null
+++ b/force-app/main/default/aura/lexCustomDeleteAura/lexCustomDeleteAura.cmp-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<AuraDefinitionBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>56.0</apiVersion>
+ <description>A Lightning Component Bundle</description>
+</AuraDefinitionBundle>
diff --git a/force-app/main/default/aura/lexCustomDeleteAura/lexCustomDeleteAura.css b/force-app/main/default/aura/lexCustomDeleteAura/lexCustomDeleteAura.css
new file mode 100644
index 0000000..a5839d4
--- /dev/null
+++ b/force-app/main/default/aura/lexCustomDeleteAura/lexCustomDeleteAura.css
@@ -0,0 +1,2 @@
+.THIS {
+}
\ No newline at end of file
diff --git a/force-app/main/default/aura/lexCustomDeleteAura/lexCustomDeleteAura.design b/force-app/main/default/aura/lexCustomDeleteAura/lexCustomDeleteAura.design
new file mode 100644
index 0000000..d247163
--- /dev/null
+++ b/force-app/main/default/aura/lexCustomDeleteAura/lexCustomDeleteAura.design
@@ -0,0 +1,3 @@
+<design:component >
+
+</design:component>
\ No newline at end of file
diff --git a/force-app/main/default/aura/lexCustomDeleteAura/lexCustomDeleteAura.svg b/force-app/main/default/aura/lexCustomDeleteAura/lexCustomDeleteAura.svg
new file mode 100644
index 0000000..e201ae9
--- /dev/null
+++ b/force-app/main/default/aura/lexCustomDeleteAura/lexCustomDeleteAura.svg
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
+<svg width="120px" height="120px" viewBox="0 0 120 120" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+ <path d="M120,108 C120,114.6 114.6,120 108,120 L12,120 C5.4,120 0,114.6 0,108 L0,12 C0,5.4 5.4,0 12,0 L108,0 C114.6,0 120,5.4 120,12 L120,108 L120,108 Z" id="Shape" fill="#2A739E" />
+ <path d="M77.7383308,20 L61.1640113,20 L44.7300055,63.2000173 L56.0543288,63.2000173 L40,99.623291 L72.7458388,54.5871812 L60.907727,54.5871812 L77.7383308,20 Z" id="Path-1" fill="#FFFFFF" />
+ </g>
+</svg>
\ No newline at end of file
diff --git a/force-app/main/default/aura/lexCustomDeleteAura/lexCustomDeleteAuraController.js b/force-app/main/default/aura/lexCustomDeleteAura/lexCustomDeleteAuraController.js
new file mode 100644
index 0000000..4f77854
--- /dev/null
+++ b/force-app/main/default/aura/lexCustomDeleteAura/lexCustomDeleteAuraController.js
@@ -0,0 +1,10 @@
+({
+ doInit: function(component, event, helper) {
+ var val=component.get('v.recordId');
+ $A.get("e.force:closeQuickAction").fire();
+ console.log('val',val);
+ },
+ closeModal : function(component,event,helper) {
+ $A.get("e.force:closeQuickAction").fire();
+ }
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/lexCustomDeleteAura/lexCustomDeleteAuraHelper.js b/force-app/main/default/aura/lexCustomDeleteAura/lexCustomDeleteAuraHelper.js
new file mode 100644
index 0000000..ba7f386
--- /dev/null
+++ b/force-app/main/default/aura/lexCustomDeleteAura/lexCustomDeleteAuraHelper.js
@@ -0,0 +1,5 @@
+({
+ helperMethod : function() {
+
+ }
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/lexCustomDeleteAura/lexCustomDeleteAuraRenderer.js b/force-app/main/default/aura/lexCustomDeleteAura/lexCustomDeleteAuraRenderer.js
new file mode 100644
index 0000000..f1f0c75
--- /dev/null
+++ b/force-app/main/default/aura/lexCustomDeleteAura/lexCustomDeleteAuraRenderer.js
@@ -0,0 +1,5 @@
+({
+
+// Your renderer method overrides go here
+
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/lexNewRepairAura/lexNewRepairAura.cmp b/force-app/main/default/aura/lexNewRepairAura/lexNewRepairAura.cmp
new file mode 100644
index 0000000..7ecbcbb
--- /dev/null
+++ b/force-app/main/default/aura/lexNewRepairAura/lexNewRepairAura.cmp
@@ -0,0 +1,78 @@
+<!--
+ 2023/04/14 鏂板缓锛堜慨鐞嗭級
+-->
+<aura:component implements="flexipage:availableForRecordHome,force:lightningQuickActionWithoutHeader,force:hasRecordId,lightning:actionOverride,lightning:isUrlAddressable" access="global" controller="lexNewRepairAuraController">
+ <aura:attribute name="urlStr" type="String"/>
+ <aura:attribute name="recordId" type="String"/>
+ <aura:handler name="init" value="{!this}" action="{!c.doInit}" />
+ <lightning:notificationsLibrary aura:id="notifLib"/>
+ <!-- <aura:component implements="flexipage:availableForRecordHome,force:hasRecordId" access="global" >
+ <aura:attribute name="fields" type="String[]" default="['Name','AnnualRevenue','Industry']" />
+ <aura:attribute name="recordId" type="String"/>
+ <lightning:notificationsLibrary aura:id="notifLib"/>
+
+ <lightning:recordForm
+ objectApiName="Account"
+ fields="{!v.fields}"
+ onsuccess="{!c.handleSuccess}" />
+</aura:component> -->
+
+ <!-- <aura:attribute name = "recordId" type = "Id" default = ""/>
+ <aura:attribute name="title" type="string"/>
+ <aura:handler name="init" value="{!this}" action="{!c.doInit}" />
+ <aura:attribute name="layout" type="LayoutDescriberHelper.LayoutWrapper"/>
+ <aura:attribute name="record_data" type="Map"/>
+ <aura:attribute name="section_names" type="List"/>
+ <aura:attribute name="showSpinner" type="Boolean" default = "False"/>
+ <aura:attribute name="staticResource" type="Map"/>
+ <aura:attribute name="pi_fields_map" type="Map"/>
+ <aura:attribute name="isClone" type="Boolean" default = "False"/>
+ <ltng:require scripts="{! $Resource.AWSService+'/AWSService.js' }" />
+ <ltng:require scripts="{! $Resource.jquery183minjs }" />
+ <aura:registerEvent name="NewAgencyContactEvent" type="c:NewAgencyContactEvent"/> -->
+
+ <div class="{! v.container_class}">
+ <!-- header -->
+ <header class="slds-modal__header">
+ <!-- <h2 id="modal-heading-01" class="slds-modal__title slds-hyphenate"> -->
+ <div class="ptBody">
+ <div class="content" style="font-size: 18px;font-weight: bold;">
+ <img src="/img/s.gif" alt="淇悊" class="pageTitleIcon" title="淇悊" />
+ <span class="pageType">淇悊缂栬緫
+ <span class="titleSeparatingColon">:</span>
+ </span>
+ <span class="pageDescription">鏂板缓淇悊</span>
+ <div class="blank"> </div>
+ </div>
+ <!-- <div class="links">
+ <a href="javascript:openPopupFocusEscapePounds(%27https://help.salesforce.com/apex/htdoor?loc=help&target=repairs_edit.htm&section=repairs&language=zh_CN&release=234.18.8&instance=CS117&showSplash=true%27, %27Help%27, 700, 600, %27width=700,height=600,resizable=yes,toolbar=yes,status=no,scrollbars=yes,menubar=yes,directories=no,location=no,dependant=no%27, false, false);"
+ title="姝ら〉闈㈢殑甯姪 锛堟柊绐楀彛锛�">
+ <span class="helpLink">姝ら〉闈㈢殑甯姪</span>
+ <img src="/img/s.gif" alt="" class="helpIcon" />
+ </a>
+ </div> -->
+ </div>
+ <div class="ptBreadcrumb"></div>
+ <!-- </h2> -->
+ </header>
+
+ <div class="slds-modal__content slds-p-around_medium">
+ <!-- <aura:iteration items="1,2,3,4,5" var="item">
+ {!item}
+ </aura:iteration> -->
+ <!-- <lightning:recordEditForm recordId="{!v.recordId}"
+ objectApiName="Repair__c">
+ <lightning:messages />
+ <div class="slds-col slds-size_1-of-2">
+ Your lightning:inputField components here
+ <lightning:inputField fieldName="Source_QIS__c" />
+ </div>
+ <lightning:button class="slds-m-top_small" type="submit" label="Create new" />
+ </lightning:recordEditForm> -->
+ <c:lexNewRepairLWC recordId="{!v.recordId}" urlStr="{!v.urlStr}" />
+ </div>
+ </div>
+ <!-- <div class="exampleHolder">
+ <c:newRepairLWC recordId="{!v.recordId}"/>
+ </div> -->
+</aura:component>
\ No newline at end of file
diff --git a/force-app/main/default/aura/lexNewRepairAura/lexNewRepairAura.cmp-meta.xml b/force-app/main/default/aura/lexNewRepairAura/lexNewRepairAura.cmp-meta.xml
new file mode 100644
index 0000000..632b900
--- /dev/null
+++ b/force-app/main/default/aura/lexNewRepairAura/lexNewRepairAura.cmp-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<AuraDefinitionBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>54.0</apiVersion>
+ <description>A Lightning Component Bundle</description>
+</AuraDefinitionBundle>
diff --git a/force-app/main/default/aura/lexNewRepairAura/lexNewRepairAuraController.js b/force-app/main/default/aura/lexNewRepairAura/lexNewRepairAuraController.js
new file mode 100644
index 0000000..135ffaa
--- /dev/null
+++ b/force-app/main/default/aura/lexNewRepairAura/lexNewRepairAuraController.js
@@ -0,0 +1,106 @@
+({
+ doInit1 : function(component, event, helper) {
+ let rid = component.get('v.recordId');
+ console.log(rid);
+ let pid = window.location.href.replace("https://","").split("/");
+ pid = pid[pid.length-1].replace("new?","");
+ let jsonobj = {};
+ console.log(pid);
+ pid.split("&").forEach(function(v){
+
+ console.log(v);
+ let param = v.split("=");
+ jsonobj[param[0]] = param[1];
+ });
+ let urlStr = JSON.stringify(jsonobj);
+ console.log(urlStr);
+ // if (rid) {}
+ /*let pid = null;
+ if(!rid){
+ pid = window.location.href.replace("https://","").split("/")[4];
+ }
+ let isClone = component.get('v.isClone');
+ if(!rid || isClone){
+ component.set('v.title',$A.get("$Label.c.New")+'.瀹㈡埛浜哄憳');
+ }else{
+ component.set('v.title',$A.get("$Label.c.Edit")+'.瀹㈡埛浜哄憳');
+ }
+
+ let record_type_id = null;
+ let pageref = component.get("v.pageReference")
+ if(!record_type_id && pageref){
+ record_type_id = pageref.state.recordTypeId
+ }
+ component.set("v.showSpinner", true);*/
+ helper.CallBackAction(component,'init',{
+ recordId : rid,
+ urlStr : urlStr
+ },function(data){
+ console.log("data");
+ console.log(data);
+ });
+ },
+ doInit : function(component, event, helper) {
+ let rid = component.get('v.recordId');
+ // console.log(rid);
+ let pid = window.location.href.replace("https://","").split("/");
+ pid = pid[pid.length-1].replace("new?","");
+ let jsonobj = {};
+ // console.log(pid);
+ pid.split("&").forEach(function(v){
+
+ // console.log(v);
+ let param = v.split("=");
+ jsonobj[param[0]] = param[1];
+ });
+ let urlStr = JSON.stringify(jsonobj);
+ // console.log(urlStr);
+ component.set('v.urlStr',urlStr);
+ // create a one-time use instance of the serverEcho action
+ // in the server-side controller
+ /*var action = component.get("c.init");
+ action.setParams({
+ recordId : rid,
+ urlStr : urlStr
+ });
+
+ // Create a callback that is executed after
+ // the server-side action returns
+ action.setCallback(this, function(response) {
+ console.log("response");
+ console.log(response);
+ // var state = response.getState();
+ if (state === "SUCCESS") {
+ // Alert the user with the value returned
+ // from the server
+ alert("From server: " + response.getReturnValue());
+
+ // You would typically fire a event here to trigger
+ // client-side notification that the server-side
+ // action is complete
+ }
+ else if (state === "INCOMPLETE") {
+ // do something
+ }
+ else if (state === "ERROR") {
+ var errors = response.getError();
+ if (errors) {
+ if (errors[0] && errors[0].message) {
+ console.log("Error message: " +
+ errors[0].message);
+ }
+ } else {
+ console.log("Unknown error");
+ }
+ }
+ });
+
+ // optionally set storable, abortable, background flag here
+
+ // A client-side action could cause multiple events,
+ // which could trigger other events and
+ // other server-side action calls.
+ // $A.enqueueAction adds the server-side action to the queue.
+ $A.enqueueAction(action);*/
+ }
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/lexNewRepairAura/lexNewRepairAuraHelper.js b/force-app/main/default/aura/lexNewRepairAura/lexNewRepairAuraHelper.js
new file mode 100644
index 0000000..f1ab449
--- /dev/null
+++ b/force-app/main/default/aura/lexNewRepairAura/lexNewRepairAuraHelper.js
@@ -0,0 +1,20 @@
+({
+ CallBackAction : function(component,action_name,para,callback) {
+ var action = component.get("c." + action_name.trimStart().replace("c.",""));
+ if(para){
+ action.setParams(para);
+ }
+ if(callback){
+ action.setCallback(this,function(data){
+ callback(data);
+ });
+ }
+
+ $A.enqueueAction(action);
+ },
+ ShowToast : function(paras){
+ var toastEvent = $A.get("e.force:showToast");
+ toastEvent.setParams(paras);
+ toastEvent.fire();
+ }
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/loginForm/loginForm.cmp b/force-app/main/default/aura/loginForm/loginForm.cmp
new file mode 100644
index 0000000..189eff4
--- /dev/null
+++ b/force-app/main/default/aura/loginForm/loginForm.cmp
@@ -0,0 +1,62 @@
+<!-- add implements="forceCommunity:availableForAllPageTypes" to surface the component in community builder -->
+<aura:component controller="LightningLoginFormController">
+ <aura:attribute name="showError" type="Boolean" required="true" description="" default="false" access="private"/>
+ <aura:attribute name="errorMessage" type="String" required="false" description="" access="private"/>
+ <aura:attribute name="startUrl" type="String" required="false" description="The url you go to after a successful login" />
+ <aura:attribute name="usernameLabel" type="String" required="false" default="Username"/>
+ <aura:attribute name="passwordLabel" type="String" required="false" default="Password"/>
+ <aura:attribute name="loginButtonLabel" type="String" required="false" default="Log in"/>
+ <aura:attribute name="expid" type="String" required="false" description="The branding experience ID" />
+
+ <aura:attribute name="forgotPasswordLabel" type="String" required="false" default="Forgot your password?"/>
+ <aura:attribute name="selfRegisterLabel" type="String" required="false" default="Not a member?"/>
+ <aura:attribute name="forgotPasswordUrl" type="String" required="false" default="/ForgotPassword"/>
+ <aura:attribute name="selfRegisterUrl" type="String" required="false" default="/SelfRegister"/>
+
+ <aura:attribute name="isUsernamePasswordEnabled" type="Boolean" access="private"/>
+ <aura:attribute name="isSelfRegistrationEnabled" type="Boolean" access="private"/>
+ <aura:attribute name="communityForgotPasswordUrl" type="String" access="private"/>
+ <aura:attribute name="communitySelfRegisterUrl" type="String" access="private"/>
+
+ <aura:registerevent name="sitePropagatedStartUrl" type="c:setStartUrl"/>
+ <aura:handler name="init" value="{!this}" action="{!c.initialize}"/>
+ <aura:dependency resource="c:setStartUrl" type="EVENT"/>
+ <!-- Please uncomment
+ <aura:dependency resource="siteforce:registerQueryEventMap" type="EVENT"/>
+ -->
+ <aura:handler event="c:setStartUrl" action="{!c.setStartUrl}"/>
+ <aura:handler event="c:setExpId" action="{!c.setExpId}"/>
+ <aura:dependency resource="c:setExpId" type="EVENT"/>
+
+ <div>
+ <aura:renderIf isTrue="{!v.isUsernamePasswordEnabled}">
+ <span>
+ <aura:renderIf isTrue="{!v.showError}">
+ <div id="error">
+ <ui:outputRichText value="{!v.errorMessage}"/>
+ </div>
+ </aura:renderIf>
+ </span>
+ <div id="sfdc_username_container" class="sfdc">
+ <span id="sfdc_user" class="login-icon" data-icon="a"></span>
+ <ui:inputText value="" aura:id="username" placeholder="{!v.usernameLabel}" keyup="{!c.onKeyUp}" class="input sfdc_usernameinput sfdc" label="{!v.usernameLabel}" labelClass="assistiveText"/>
+ </div>
+
+ <div id="sfdc_password_container" class="sfdc">
+ <span id="sfdc_lock" class="login-icon sfdc" data-icon="c"></span>
+ <ui:inputSecret value="" aura:id="password" placeholder="{!v.passwordLabel}" keyup="{!c.onKeyUp}" class="input sfdc_passwordinput sfdc" label="{!v.passwordLabel}" labelClass="assistiveText"/>
+ </div>
+
+ <div class="sfdc">
+ <ui:button aura:id="submitButton" label="{!v.loginButtonLabel}" press="{!c.handleLogin}" class="sfdc_button"/>
+ </div>
+
+ <div id="sfdc_forgot" class="sfdc">
+ <span><a href="{!if(v.communityForgotPasswordUrl == null, v.forgotPasswordUrl, v.communityForgotPasswordUrl)}">{!v.forgotPasswordLabel}</a></span>
+ <aura:renderIf isTrue="{!v.isSelfRegistrationEnabled}">
+ <span style="float:right" ><a href="{!if(v.communitySelfRegisterUrl == null, v.selfRegisterUrl, v.communitySelfRegisterUrl)}">{!v.selfRegisterLabel}</a></span>
+ </aura:renderIf>
+ </div>
+ </aura:renderIf>
+ </div>
+</aura:component>
\ No newline at end of file
diff --git a/force-app/main/default/aura/loginForm/loginForm.cmp-meta.xml b/force-app/main/default/aura/loginForm/loginForm.cmp-meta.xml
new file mode 100644
index 0000000..92ae137
--- /dev/null
+++ b/force-app/main/default/aura/loginForm/loginForm.cmp-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<AuraDefinitionBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>57.0</apiVersion>
+ <description>Sample Component for loginForm</description>
+</AuraDefinitionBundle>
diff --git a/force-app/main/default/aura/loginForm/loginForm.css b/force-app/main/default/aura/loginForm/loginForm.css
new file mode 100644
index 0000000..5b06d29
--- /dev/null
+++ b/force-app/main/default/aura/loginForm/loginForm.css
@@ -0,0 +1,103 @@
+.THIS #sfdc_username_container{
+ margin-bottom:10px;
+ padding: 12px;
+ background-color:white;
+ border: 1px solid #CCC;
+ -webkit-border-radius: 2px;
+ -moz-border-radius: 2px;
+ border-radius: 2px;
+}
+
+.THIS #sfdc_user{
+ float:left;
+ width:23px;
+ height:25px;
+ padding-top:1px;
+ padding-left:2px;
+ margin:0px;
+
+}
+
+.THIS #sfdc_lock{
+ float:left;
+ width:23px;
+ height:25px;
+ padding-top:1px;
+ padding-left:2px;
+ margin:0px;
+}
+
+.THIS #error {
+ text-align: center;
+ color:#FF0000;
+}
+
+.THIS .login-icon {
+ color:#ccc;font-size:22px;
+}
+
+.THIS #sfdc_password_container{
+ padding: 12px;
+ background-color:white;
+ border: 1px solid #CCC;
+ -webkit-border-radius: 2px;
+ -moz-border-radius: 2px;
+ border-radius: 2px;
+}
+
+.THIS button.sfdc_button {
+ width: 100%;
+ margin-top: 15px;
+ margin-bottom: 5px;
+ color: #fff;
+ background-color: #0070d2;
+ border-color: #357ebd;
+ display: inline-block;
+ text-align: center;
+ vertical-align: middle;
+ background-image: none;
+ border: 1px solid transparent;
+ white-space: nowrap;
+ padding: 10px 12px;
+ font-size: 16px;
+ font-family: 'Open Sans', sans-serif;
+ font-weight: 300;
+ line-height: 1.42857143;
+ border-radius: 2px;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+}
+
+.THIS button:hover {
+ background-color:#3276b1;
+ border-color:#285e8e;
+ cursor:pointer;
+}
+
+.THIS button .label {
+ color: #fff;
+}
+
+.THIS input {
+ margin-left:10px;
+ margin-top: 3px;
+ border: 0px solid transparent;
+ width: 70%;
+ -webkit-appearance: none;
+ font-size: 14px;
+}
+
+
+.THIS a {
+ color:white;
+ text-decoration: none;
+}
+.THIS a:hover {
+ color:white;
+ text-decoration: none;
+}
+
+.THIS label.uiLabel-hidden {
+ display:none;
+}
\ No newline at end of file
diff --git a/force-app/main/default/aura/loginForm/loginForm.design b/force-app/main/default/aura/loginForm/loginForm.design
new file mode 100644
index 0000000..0e53bfa
--- /dev/null
+++ b/force-app/main/default/aura/loginForm/loginForm.design
@@ -0,0 +1,10 @@
+<design:component label="Custom Login Form">
+ <design:attribute name="startUrl"/>
+ <design:attribute name="usernameLabel" default="Email"/>
+ <design:attribute name="passwordLabel" default="Password"/>
+ <design:attribute name="loginButtonLabel" default="Log in"/>
+ <design:attribute name="forgotPasswordLabel" default="Forgot your password?"/>
+ <design:attribute name="forgotPasswordUrl"/>
+ <design:attribute name="selfRegisterLabel" default="Not a member?"/>
+ <design:attribute name="selfRegisterUrl"/>
+</design:component>
\ No newline at end of file
diff --git a/force-app/main/default/aura/loginForm/loginFormController.js b/force-app/main/default/aura/loginForm/loginFormController.js
new file mode 100644
index 0000000..d37160e
--- /dev/null
+++ b/force-app/main/default/aura/loginForm/loginFormController.js
@@ -0,0 +1,70 @@
+({
+ initialize: function(component, event, helper) {
+ $A.get("e.siteforce:registerQueryEventMap").setParams({"qsToEvent" : helper.qsToEventMap}).fire();
+ $A.get("e.siteforce:registerQueryEventMap").setParams({"qsToEvent" : helper.qsToEventMap2}).fire();
+ component.set('v.isUsernamePasswordEnabled', helper.getIsUsernamePasswordEnabled(component, event, helper));
+ component.set("v.isSelfRegistrationEnabled", helper.getIsSelfRegistrationEnabled(component, event, helper));
+ component.set("v.communityForgotPasswordUrl", helper.getCommunityForgotPasswordUrl(component, event, helper));
+ component.set("v.communitySelfRegisterUrl", helper.getCommunitySelfRegisterUrl(component, event, helper));
+ },
+
+ handleLogin: function (component, event, helpler) {
+ helpler.handleLogin(component, event, helpler);
+ },
+
+ setStartUrl: function (component, event, helpler) {
+ var startUrl = event.getParam('startURL');
+ if(startUrl) {
+ component.set("v.startUrl", startUrl);
+ }
+ },
+
+ setExpId: function (component, event, helper) {
+ var expId = event.getParam('expid');
+ if (expId) {
+ component.set("v.expid", expId);
+ }
+ helper.setBrandingCookie(component, event, helper);
+ },
+
+ onKeyUp: function(component, event, helpler){
+ //checks for "enter" key
+ if (event.getParam('keyCode')===13) {
+ helpler.handleLogin(component, event, helpler);
+ }
+ },
+
+ navigateToForgotPassword: function(cmp, event, helper) {
+ var forgotPwdUrl = cmp.get("v.communityForgotPasswordUrl");
+ if ($A.util.isUndefinedOrNull(forgotPwdUrl)) {
+ forgotPwdUrl = cmp.get("v.forgotPasswordUrl");
+ }
+ var startUrl = cmp.get("v.startUrl");
+ if(startUrl){
+ if(forgotPwdUrl.indexOf("?") === -1) {
+ forgotPwdUrl = forgotPwdUrl + '?startURL=' + decodeURIComponent(startUrl);
+ } else {
+ forgotPwdUrl = forgotPwdUrl + '&startURL=' + decodeURIComponent(startUrl);
+ }
+ }
+ var attributes = { url: forgotPwdUrl };
+ $A.get("e.force:navigateToURL").setParams(attributes).fire();
+ },
+
+ navigateToSelfRegister: function(cmp, event, helper) {
+ var selfRegUrl = cmp.get("v.communitySelfRegisterUrl");
+ if (selfRegUrl == null) {
+ selfRegUrl = cmp.get("v.selfRegisterUrl");
+ }
+ var startUrl = cmp.get("v.startUrl");
+ if(startUrl){
+ if(selfRegUrl.indexOf("?") === -1) {
+ selfRegUrl = selfRegUrl + '?startURL=' + decodeURIComponent(startUrl);
+ } else {
+ selfRegUrl = selfRegUrl + '&startURL=' + decodeURIComponent(startUrl);
+ }
+ }
+ var attributes = { url: selfRegUrl };
+ $A.get("e.force:navigateToURL").setParams(attributes).fire();
+ }
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/loginForm/loginFormHelper.js b/force-app/main/default/aura/loginForm/loginFormHelper.js
new file mode 100644
index 0000000..5ec671c
--- /dev/null
+++ b/force-app/main/default/aura/loginForm/loginFormHelper.js
@@ -0,0 +1,83 @@
+({
+
+ qsToEventMap: {
+ 'startURL' : 'e.c:setStartUrl'
+ },
+
+ qsToEventMap2: {
+ 'expid' : 'e.c:setExpId'
+ },
+
+ handleLogin: function (component, event, helpler) {
+ var username = component.find("username").get("v.value");
+ var password = component.find("password").get("v.value");
+ var action = component.get("c.login");
+ var startUrl = component.get("v.startUrl");
+
+ startUrl = decodeURIComponent(startUrl);
+
+ action.setParams({username:username, password:password, startUrl:startUrl});
+ action.setCallback(this, function(a){
+ var rtnValue = a.getReturnValue();
+ if (rtnValue !== null) {
+ component.set("v.errorMessage",rtnValue);
+ component.set("v.showError",true);
+ }
+ });
+ $A.enqueueAction(action);
+ },
+
+ getIsUsernamePasswordEnabled : function (component, event, helpler) {
+ var action = component.get("c.getIsUsernamePasswordEnabled");
+ action.setCallback(this, function(a){
+ var rtnValue = a.getReturnValue();
+ if (rtnValue !== null) {
+ component.set('v.isUsernamePasswordEnabled',rtnValue);
+ }
+ });
+ $A.enqueueAction(action);
+ },
+
+ getIsSelfRegistrationEnabled : function (component, event, helpler) {
+ var action = component.get("c.getIsSelfRegistrationEnabled");
+ action.setCallback(this, function(a){
+ var rtnValue = a.getReturnValue();
+ if (rtnValue !== null) {
+ component.set('v.isSelfRegistrationEnabled',rtnValue);
+ }
+ });
+ $A.enqueueAction(action);
+ },
+
+ getCommunityForgotPasswordUrl : function (component, event, helpler) {
+ var action = component.get("c.getForgotPasswordUrl");
+ action.setCallback(this, function(a){
+ var rtnValue = a.getReturnValue();
+ if (rtnValue !== null) {
+ component.set('v.communityForgotPasswordUrl',rtnValue);
+ }
+ });
+ $A.enqueueAction(action);
+ },
+
+ getCommunitySelfRegisterUrl : function (component, event, helpler) {
+ var action = component.get("c.getSelfRegistrationUrl");
+ action.setCallback(this, function(a){
+ var rtnValue = a.getReturnValue();
+ if (rtnValue !== null) {
+ component.set('v.communitySelfRegisterUrl',rtnValue);
+ }
+ });
+ $A.enqueueAction(action);
+ },
+
+ setBrandingCookie: function (component, event, helpler) {
+ var expId = component.get("v.expid");
+ if (expId) {
+ var action = component.get("c.setExperienceId");
+ action.setParams({expId:expId});
+ action.setCallback(this, function(a){ });
+ $A.enqueueAction(action);
+ }
+ }
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/productshContainer/productshContainer.app b/force-app/main/default/aura/productshContainer/productshContainer.app
new file mode 100644
index 0000000..cf323f6
--- /dev/null
+++ b/force-app/main/default/aura/productshContainer/productshContainer.app
@@ -0,0 +1,3 @@
+<aura:application access="public" extends="ltng:outApp" >
+ <aura:dependency resource="c:productsh"/>
+</aura:application>
\ No newline at end of file
diff --git a/force-app/main/default/aura/productshContainer/productshContainer.app-meta.xml b/force-app/main/default/aura/productshContainer/productshContainer.app-meta.xml
new file mode 100644
index 0000000..aa49e4d
--- /dev/null
+++ b/force-app/main/default/aura/productshContainer/productshContainer.app-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<AuraDefinitionBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>51.0</apiVersion>
+ <description>A Lightning Application Bundle</description>
+</AuraDefinitionBundle>
diff --git a/force-app/main/default/aura/productshContainer/productshContainer.auradoc b/force-app/main/default/aura/productshContainer/productshContainer.auradoc
new file mode 100644
index 0000000..d0d6eb5
--- /dev/null
+++ b/force-app/main/default/aura/productshContainer/productshContainer.auradoc
@@ -0,0 +1,6 @@
+<aura:documentation>
+ <aura:description>Documentation</aura:description>
+ <aura:example name="ExampleName" ref="exampleComponentName" label="Label">
+ Example Description
+ </aura:example>
+</aura:documentation>
\ No newline at end of file
diff --git a/force-app/main/default/aura/productshContainer/productshContainer.css b/force-app/main/default/aura/productshContainer/productshContainer.css
new file mode 100644
index 0000000..a5839d4
--- /dev/null
+++ b/force-app/main/default/aura/productshContainer/productshContainer.css
@@ -0,0 +1,2 @@
+.THIS {
+}
\ No newline at end of file
diff --git a/force-app/main/default/aura/productshContainer/productshContainer.svg b/force-app/main/default/aura/productshContainer/productshContainer.svg
new file mode 100644
index 0000000..791b3c7
--- /dev/null
+++ b/force-app/main/default/aura/productshContainer/productshContainer.svg
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="120px" height="120px" viewBox="0 0 120 120" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+ <path d="M120,108 C120,114.6 114.6,120 108,120 L12,120 C5.4,120 0,114.6 0,108 L0,12 C0,5.4 5.4,0 12,0 L108,0 C114.6,0 120,5.4 120,12 L120,108 L120,108 Z" id="Shape" fill="#2A739E"/>
+ <path d="M77.7383308,20 L61.1640113,20 L44.7300055,63.2000173 L56.0543288,63.2000173 L40,99.623291 L72.7458388,54.5871812 L60.907727,54.5871812 L77.7383308,20 Z" id="Path-1" fill="#FFFFFF"/>
+ </g>
+</svg>
\ No newline at end of file
diff --git a/force-app/main/default/aura/productshContainer/productshContainerController.js b/force-app/main/default/aura/productshContainer/productshContainerController.js
new file mode 100644
index 0000000..77e406b
--- /dev/null
+++ b/force-app/main/default/aura/productshContainer/productshContainerController.js
@@ -0,0 +1,5 @@
+({
+ myAction : function(component, event, helper) {
+
+ }
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/productshContainer/productshContainerHelper.js b/force-app/main/default/aura/productshContainer/productshContainerHelper.js
new file mode 100644
index 0000000..ba7f386
--- /dev/null
+++ b/force-app/main/default/aura/productshContainer/productshContainerHelper.js
@@ -0,0 +1,5 @@
+({
+ helperMethod : function() {
+
+ }
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/productshContainer/productshContainerRenderer.js b/force-app/main/default/aura/productshContainer/productshContainerRenderer.js
new file mode 100644
index 0000000..f1f0c75
--- /dev/null
+++ b/force-app/main/default/aura/productshContainer/productshContainerRenderer.js
@@ -0,0 +1,5 @@
+({
+
+// Your renderer method overrides go here
+
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/selfRegister/selfRegister.cmp b/force-app/main/default/aura/selfRegister/selfRegister.cmp
new file mode 100644
index 0000000..5045e0d
--- /dev/null
+++ b/force-app/main/default/aura/selfRegister/selfRegister.cmp
@@ -0,0 +1,74 @@
+<!-- add implements="forceCommunity:availableForAllPageTypes" to surface the component in community builder -->
+<aura:component controller="LightningSelfRegisterController">
+ <aura:attribute name="accountId" type="String" required="false" description="accountId for creating the user. If not specified, it will create a PersonAccount if possible for B2C scenario. Or otherwise if it's in a community, the community's self-registration accountId will be used."/>
+ <aura:attribute name="regConfirmUrl" type="String" required="true"/>
+ <aura:attribute name="startUrl" type="String" required="false" description="The url you go to after a successful login" />
+ <aura:attribute name="showError" type="Boolean" required="true" description="" default="false" access="private"/>
+ <aura:attribute name="errorMessage" type="String" required="false" description="" access="private"/>
+ <aura:attribute name="firstnameLabel" type="String" required="false" default="First Name"/>
+ <aura:attribute name="lastnameLabel" type="String" required="false" default="Last Name"/>
+ <aura:attribute name="emailLabel" type="String" required="false" default="Email"/>
+ <aura:attribute name="passwordLabel" type="String" required="false" default="Create Password"/>
+ <aura:attribute name="confirmPasswordLabel" type="String" required="false" default="Confirm Password"/>
+ <aura:attribute name="submitButtonLabel" type="String" required="false" default="Sign Up"/>
+ <aura:attribute name="includePasswordField" type="Boolean" required="false" default="false" description="Whether to include password"/>
+ <aura:attribute name="extraFieldsFieldSet" type="String" required="false" description="A field set name whose fields are desired for user registration"/>
+ <aura:attribute name="extraFields" type="list" required="false" description="A field set name whose fields are desired for user registration"/>
+ <aura:handler name="init" value="{!this}" action="{!c.initialize}"/>
+ <aura:attribute name="expid" type="String" required="false" description="The branding experience ID" />
+
+ <aura:registerevent name="sitePropagatedStartUrl" type="c:setStartUrl"/>
+ <aura:handler name="init" value="{!this}" action="{!c.initialize}"/>
+ <aura:dependency resource="c:setStartUrl" type="EVENT"/>
+ <!-- Please uncomment
+ <aura:dependency resource="siteforce:registerQueryEventMap" type="EVENT"/>
+ -->
+ <aura:handler event="c:setStartUrl" action="{!c.setStartUrl}"/>
+ <aura:handler event="c:setExpId" action="{!c.setExpId}"/>
+ <aura:dependency resource="c:setExpId" type="EVENT"/>
+
+ <div>
+ <aura:renderIf isTrue="{!v.showError}">
+ <div id="error">
+ <ui:outputRichText value="{!v.errorMessage}"/>
+ </div>
+ </aura:renderIf>
+ <div id="sfdc_username_container" class="sfdc">
+ <span id="sfdc_user" class="login-icon" data-icon="a"></span>
+ <ui:inputText value="" aura:id="firstname" placeholder="{!v.firstnameLabel}" keyup="{!c.onKeyUp}" class="input sfdc_usernameinput sfdc"/>
+ </div>
+
+ <div id="sfdc_nickname_container" class="sfdc">
+ <span id="sfdc_user" class="login-icon" data-icon="a"></span>
+ <ui:inputText value="" aura:id="lastname" placeholder="{!v.lastnameLabel}" keyup="{!c.onKeyUp}" class="input sfdc_usernameinput sfdc"/>
+ </div>
+
+ <div id="sfdc_email_container" class="sfdc">
+ <span id="sfdc_user" class="login-icon" data-icon="k"></span>
+ <ui:inputText value="" aura:id="email" placeholder="{!v.emailLabel}" keyup="{!c.onKeyUp}" class="input sfdc_usernameinput sfdc"/>
+ </div>
+
+ <aura:iteration aura:id="extraFields" items="{!v.extraFields}" var="curField" indexVar="index">
+ <div id="sfdc_extrafield_container" class="sfdc">
+ <span id="sfdc_user" class="login-icon" data-icon="a"></span>
+ <ui:inputText value="{!curField.value}" aura:id="{!curField.fieldPath}" placeholder="{!curField.label}" keyup="{!c.onKeyUp}" class="input sfdc_extrafieldinput sfdc"/>
+ </div>
+ </aura:iteration>
+
+ <aura:renderIf isTrue="{!v.includePasswordField}">
+ <div id="sfdc_password_container" class="sfdc">
+ <span id="sfdc_lock" class="login-icon sfdc" data-icon="c"></span>
+ <ui:inputSecret value="" aura:id="password" placeholder="{!v.passwordLabel}" keyup="{!c.onKeyUp}" class="input sfdc_passwordinput sfdc"/>
+ </div>
+
+ <div id="sfdc_confirm_password_container" class="sfdc">
+ <span id="sfdc_lock" class="login-icon sfdc" data-icon="c"></span>
+ <ui:inputSecret value="" aura:id="confirmPassword" placeholder="{!v.confirmPasswordLabel}" keyup="{!c.onKeyUp}" class="input sfdc_passwordinput sfdc"/>
+ </div>
+ </aura:renderIf>
+
+ <div class="sfdc">
+ <ui:button aura:id="submitButton" label="{!v.submitButtonLabel}" press="{!c.handleSelfRegister}" class="sfdc_button"/>
+ </div>
+ </div>
+</aura:component>
\ No newline at end of file
diff --git a/force-app/main/default/aura/selfRegister/selfRegister.cmp-meta.xml b/force-app/main/default/aura/selfRegister/selfRegister.cmp-meta.xml
new file mode 100644
index 0000000..1495808
--- /dev/null
+++ b/force-app/main/default/aura/selfRegister/selfRegister.cmp-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<AuraDefinitionBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>57.0</apiVersion>
+ <description>Sample Component for selfRegister</description>
+</AuraDefinitionBundle>
diff --git a/force-app/main/default/aura/selfRegister/selfRegister.css b/force-app/main/default/aura/selfRegister/selfRegister.css
new file mode 100644
index 0000000..2d45808
--- /dev/null
+++ b/force-app/main/default/aura/selfRegister/selfRegister.css
@@ -0,0 +1,174 @@
+.THIS #sfdc_username_container{
+ margin-bottom:10px;
+ padding: 12px;
+ background-color:white;
+ border: 1px solid #CCC;
+ -webkit-border-radius: 2px;
+ -moz-border-radius: 2px;
+ border-radius: 2px;
+}
+
+.THIS #sfdc_nickname_container{
+ margin-bottom:10px;
+ padding: 12px;
+ background-color:white;
+ border: 1px solid #CCC;
+ -webkit-border-radius: 2px;
+ -moz-border-radius: 2px;
+ border-radius: 2px;
+}
+
+.THIS #sfdc_email_container{
+ margin-bottom:10px;
+ padding: 12px;
+ background-color:white;
+ border: 1px solid #CCC;
+ -webkit-border-radius: 2px;
+ -moz-border-radius: 2px;
+ border-radius: 2px;
+}
+
+.THIS #sfdc_extrafield_container{
+ margin-bottom:10px;
+ padding: 12px;
+ background-color:white;
+ border: 1px solid #CCC;
+ -webkit-border-radius: 2px;
+ -moz-border-radius: 2px;
+ border-radius: 2px;
+}
+
+.THIS #sfdc_user{
+ float:left;
+ width:23px;
+ height:25px;
+ padding-top:1px;
+ padding-left:2px;
+ margin:0px;
+
+}
+
+.THIS #sfdc_lock{
+ float:left;
+ width:23px;
+ height:25px;
+ padding-top:1px;
+ padding-left:2px;
+ margin:0px;
+}
+
+.THIS .login-icon {
+ color:#ccc;font-size:22px;
+}
+
+.THIS #sfdc_password_container{
+ margin-bottom:10px;
+ padding: 12px;
+ background-color:white;
+ border: 1px solid #CCC;
+ -webkit-border-radius: 2px;
+ -moz-border-radius: 2px;
+ border-radius: 2px;
+}
+
+.THIS #sfdc_confirm_password_container{
+ padding: 12px;
+ background-color:white;
+ border: 1px solid #CCC;
+ -webkit-border-radius: 2px;
+ -moz-border-radius: 2px;
+ border-radius: 2px;
+}
+
+.THIS button.sfdc_button {
+ width: 100%;
+ margin-top: 15px;
+ margin-bottom: 5px;
+ color: #fff;
+ background-color: #0070d2;
+ border-color: #357ebd;
+ display: inline-block;
+ text-align: center;
+ vertical-align: middle;
+ background-image: none;
+ border: 1px solid transparent;
+ white-space: nowrap;
+ padding: 10px 12px;
+ font-size: 16px;
+ font-family: 'Open Sans', sans-serif;
+ font-weight: 300;
+ line-height: 1.42857143;
+ border-radius: 2px;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+}
+
+.THIS button:hover {
+ background-color:#3276b1;
+ border-color:#285e8e;
+ cursor:pointer;
+}
+
+.THIS input {
+ margin-left:10px;
+ margin-top: 3px;
+ border: 0px solid transparent;
+ width: 70%;
+ -webkit-appearance: none;
+ font-size: 14px;
+}
+
+.THIS #sfdc_forgot{
+ font-family: 'Open Sans', 'sans-serif';
+ font-weight:300;
+ font-size: 14px;
+ margin-top: 10px
+}
+
+.THIS #error {
+ text-align: center;
+ color:#FF0000;
+}
+
+.THIS a {
+ color:white;
+ text-decoration: none;
+}
+.THIS a:hover {
+ color:white;
+ text-decoration: none;
+}
+
+.THIS input[type="checkbox"] {
+ appearance: none;
+ border: 1px solid white;
+ height: 22px;
+ width: 22px;
+ vertical-align: middle;
+}
+
+.THIS input[type="checkbox"]:checked {
+ border: 1px solid ;
+}
+
+.THIS input[type="checkbox"]:checked:after {
+ display: block;
+ position: relative;
+ content: '';
+ left: 3px;
+ top: 3px;
+ height: 6px;
+ width: 10px;
+ border-bottom: 4px solid /*#354452*/ white;
+ border-left: 4px solid /*#354452*/ white;
+ transform:rotate(-45deg);
+}
+
+.THIS input[type="checkbox"].disabled {
+ opacity: 0.35;
+}
+
+.THIS input[type="checkbox"] + label {
+ vertical-align: middle;
+}
\ No newline at end of file
diff --git a/force-app/main/default/aura/selfRegister/selfRegister.design b/force-app/main/default/aura/selfRegister/selfRegister.design
new file mode 100644
index 0000000..48c2743
--- /dev/null
+++ b/force-app/main/default/aura/selfRegister/selfRegister.design
@@ -0,0 +1,12 @@
+<design:component label="Custom Self Register">
+ <design:attribute name="startUrl"/>
+ <design:attribute name="regConfirmUrl" default="./CheckPasswordResetEmail"/>
+ <design:attribute name="firstnameLabel" default="First Name"/>
+ <design:attribute name="lastnameLabel" default="Last Name"/>
+ <design:attribute name="emailLabel" default="Email"/>
+ <design:attribute name="passwordLabel" default="Create Password"/>
+ <design:attribute name="confirmPasswordLabel" default="Confirm Password"/>
+ <design:attribute name="submitButtonLabel" default="Sign Up"/>
+ <design:attribute name="includePasswordField" default="false"/>
+ <design:attribute name="extraFieldsFieldSet"/>
+</design:component>
\ No newline at end of file
diff --git a/force-app/main/default/aura/selfRegister/selfRegisterController.js b/force-app/main/default/aura/selfRegister/selfRegisterController.js
new file mode 100644
index 0000000..6981bb6
--- /dev/null
+++ b/force-app/main/default/aura/selfRegister/selfRegisterController.js
@@ -0,0 +1,33 @@
+({
+ initialize: function(component, event, helper) {
+ $A.get("e.siteforce:registerQueryEventMap").setParams({"qsToEvent" : helper.qsToEventMap}).fire();
+ $A.get("e.siteforce:registerQueryEventMap").setParams({"qsToEvent" : helper.qsToEventMap2}).fire();
+ component.set('v.extraFields', helper.getExtraFields(component, event, helper));
+ },
+
+ handleSelfRegister: function (component, event, helpler) {
+ helpler.handleSelfRegister(component, event, helpler);
+ },
+
+ setStartUrl: function (component, event, helpler) {
+ var startUrl = event.getParam('startURL');
+ if(startUrl) {
+ component.set("v.startUrl", startUrl);
+ }
+ },
+
+ setExpId: function (component, event, helper) {
+ var expId = event.getParam('expid');
+ if (expId) {
+ component.set("v.expid", expId);
+ }
+ helper.setBrandingCookie(component, event, helper);
+ },
+
+ onKeyUp: function(component, event, helpler){
+ //checks for "enter" key
+ if (event.getParam('keyCode')===13) {
+ helpler.handleSelfRegister(component, event, helpler);
+ }
+ }
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/selfRegister/selfRegisterHelper.js b/force-app/main/default/aura/selfRegister/selfRegisterHelper.js
new file mode 100644
index 0000000..f12dd70
--- /dev/null
+++ b/force-app/main/default/aura/selfRegister/selfRegisterHelper.js
@@ -0,0 +1,58 @@
+({
+ qsToEventMap: {
+ 'startURL' : 'e.c:setStartUrl'
+ },
+
+ qsToEventMap2: {
+ 'expid' : 'e.c:setExpId'
+ },
+
+ handleSelfRegister: function (component, event, helpler) {
+ var accountId = component.get("v.accountId");
+ var regConfirmUrl = component.get("v.regConfirmUrl");
+ var firstname = component.find("firstname").get("v.value");
+ var lastname = component.find("lastname").get("v.value");
+ var email = component.find("email").get("v.value");
+ var includePassword = component.get("v.includePasswordField");
+ var password = component.find("password").get("v.value");
+ var confirmPassword = component.find("confirmPassword").get("v.value");
+ var action = component.get("c.selfRegister");
+ var extraFields = JSON.stringify(component.get("v.extraFields")); // somehow apex controllers refuse to deal with list of maps
+ var startUrl = component.get("v.startUrl");
+
+ startUrl = decodeURIComponent(startUrl);
+
+ action.setParams({firstname:firstname,lastname:lastname,email:email,
+ password:password, confirmPassword:confirmPassword, accountId:accountId, regConfirmUrl:regConfirmUrl, extraFields:extraFields, startUrl:startUrl, includePassword:includePassword});
+ action.setCallback(this, function(a){
+ var rtnValue = a.getReturnValue();
+ if (rtnValue !== null) {
+ component.set("v.errorMessage",rtnValue);
+ component.set("v.showError",true);
+ }
+ });
+ $A.enqueueAction(action);
+ },
+
+ getExtraFields : function (component, event, helpler) {
+ var action = component.get("c.getExtraFields");
+ action.setParam("extraFieldsFieldSet", component.get("v.extraFieldsFieldSet"));
+ action.setCallback(this, function(a){
+ var rtnValue = a.getReturnValue();
+ if (rtnValue !== null) {
+ component.set('v.extraFields',rtnValue);
+ }
+ });
+ $A.enqueueAction(action);
+ },
+
+ setBrandingCookie: function (component, event, helpler) {
+ var expId = component.get("v.expid");
+ if (expId) {
+ var action = component.get("c.setExperienceId");
+ action.setParams({expId:expId});
+ action.setCallback(this, function(a){ });
+ $A.enqueueAction(action);
+ }
+ }
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/setExpId/setExpId.evt b/force-app/main/default/aura/setExpId/setExpId.evt
new file mode 100644
index 0000000..c1badd2
--- /dev/null
+++ b/force-app/main/default/aura/setExpId/setExpId.evt
@@ -0,0 +1,3 @@
+<aura:event type="APPLICATION">
+ <aura:attribute name="expid" type="String"/>
+</aura:event>
\ No newline at end of file
diff --git a/force-app/main/default/aura/setExpId/setExpId.evt-meta.xml b/force-app/main/default/aura/setExpId/setExpId.evt-meta.xml
new file mode 100644
index 0000000..0a55a44
--- /dev/null
+++ b/force-app/main/default/aura/setExpId/setExpId.evt-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<AuraDefinitionBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>57.0</apiVersion>
+ <description>Sample Event for setExpId</description>
+</AuraDefinitionBundle>
diff --git a/force-app/main/default/aura/setStartUrl/setStartUrl.evt b/force-app/main/default/aura/setStartUrl/setStartUrl.evt
new file mode 100644
index 0000000..7b0813b
--- /dev/null
+++ b/force-app/main/default/aura/setStartUrl/setStartUrl.evt
@@ -0,0 +1,3 @@
+<aura:event type="APPLICATION">
+ <aura:attribute name="startURL" type="Map"/>
+</aura:event>
\ No newline at end of file
diff --git a/force-app/main/default/aura/setStartUrl/setStartUrl.evt-meta.xml b/force-app/main/default/aura/setStartUrl/setStartUrl.evt-meta.xml
new file mode 100644
index 0000000..f317759
--- /dev/null
+++ b/force-app/main/default/aura/setStartUrl/setStartUrl.evt-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<AuraDefinitionBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>57.0</apiVersion>
+ <description>Sample Event for setStartUrl</description>
+</AuraDefinitionBundle>
diff --git a/force-app/main/default/aura/strike_evt/strike_evt.evt b/force-app/main/default/aura/strike_evt/strike_evt.evt
new file mode 100644
index 0000000..cbff2f2
--- /dev/null
+++ b/force-app/main/default/aura/strike_evt/strike_evt.evt
@@ -0,0 +1,32 @@
+<!--
+Strike by Appiphony
+
+Version: 1.0.0
+Website: http://www.lightningstrike.io
+GitHub: https://github.com/appiphony/Strike-Components
+License: BSD 3-Clause License
+-->
+<aura:event type="COMPONENT" description="Event template" >
+ <aura:attribute name="data" type="Object"/>
+</aura:event>
+<!--
+Copyright 2017 Appiphony, LLC
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
+following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following
+disclaimer.
+2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following
+disclaimer in the documentation and/or other materials provided with the distribution.
+3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote
+products derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+-->
\ No newline at end of file
diff --git a/force-app/main/default/aura/strike_evt/strike_evt.evt-meta.xml b/force-app/main/default/aura/strike_evt/strike_evt.evt-meta.xml
new file mode 100644
index 0000000..a665a66
--- /dev/null
+++ b/force-app/main/default/aura/strike_evt/strike_evt.evt-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<AuraDefinitionBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>41.0</apiVersion>
+ <description>strike_evt</description>
+</AuraDefinitionBundle>
diff --git a/force-app/main/default/aura/strike_lookup/strike_lookup.cmp b/force-app/main/default/aura/strike_lookup/strike_lookup.cmp
new file mode 100644
index 0000000..ffd294c
--- /dev/null
+++ b/force-app/main/default/aura/strike_lookup/strike_lookup.cmp
@@ -0,0 +1,208 @@
+<!--
+Strike by Appiphony
+
+Version: 1.0.0
+Website: http://www.lightningstrike.io
+GitHub: https://github.com/appiphony/Strike-Components
+License: BSD 3-Clause License
+-->
+<aura:component controller="strike_lookupController" access="global">
+ <!-- Required -->
+ <aura:attribute name="label" type="String" required="true" description="String value displayed above the menu used to describe the component"/>
+ <aura:attribute name="object" type="String" required="true" description="String value that determines which records to search"/>
+ <aura:attribute name="searchField" type="String" required="true" description="String value that determines which field on the object will be displayed and searched against"/>
+
+ <aura:attribute name="helpText" type="String" description="String value when hovering over the help box"/>
+ <aura:attribute name="helpTextPlacement" type="String" default="auto top" description="Determines position of the helpText"/>
+ <aura:attribute name="class" type="String" description="A CSS class that will be applied to the outer element. This style is in addition to base classes associated with the component"/>
+ <aura:attribute name="placeholder" type="String" description="String value that will appear when no record is selected"/>
+ <aura:attribute name="value" type="String" description="String value that holds the Id of the selected record"/>
+
+ <aura:attribute name="iconName" type="String" description="String value that determines the icon name or path"/>
+ <aura:attribute name="customIcon" type="Boolean" description="Determines whether the icon is custom or standard"/>
+
+ <!-- Query -->
+ <aura:attribute name="subtitleField" type="String" description="String value that determines which field to display second from search results"/>
+ <aura:attribute name="subTitleFormat" type="String" description="subTitleFormart"/>
+ <aura:attribute name="filter" type="String" description="String value that determines how the SOQL search will be filtered"/>
+ <aura:attribute name="order" type="String" description="String value that determines how the SOQL search will be ordered"/>
+ <aura:attribute name="limit" type="String" description="String value that determines how many records are returned in the SOQL search"/>
+
+ <!-- Messages -->
+ <aura:attribute name="loadingMessage" type="String" default="Loading..." description="String value that will appear when the component is initializing"/>
+ <aura:attribute name="searchingMessage" type="String" default="Searching..." description="String value that will appear when the component is searching"/>
+ <aura:attribute name="noResultsMessage" type="String" default="娌℃湁鏌ユ壘鍒� {0} 鐨勭粨鏋�" description="String value that will appear when the component finds 0 results"/>
+ <aura:attribute name="errorMessage" type="String" description="String value displayed when the input is in an error state"/>
+
+ <!-- New Records -->
+ <aura:attribute name="allowNewRecords" type="Boolean" description="Determines whether the New Record option is displayed"/>
+ <aura:attribute name="overrideNewEvent" type="Boolean" description="Determines whether the standard new event should fire"/>
+
+ <aura:attribute name="showRecentRecords" type="Boolean" description="Determines whether the five most recently viewed records will be displayed when the search field is empty"/>
+
+ <aura:attribute name="disabled" type="Boolean" description="Determines whether the input is disabled"/>
+ <aura:attribute name="required" type="Boolean" description="Determines whether a '*' is displayed on the component"/>
+ <aura:attribute name="error" type="Boolean" description="Determines whether the input is in an error state"/>
+
+ <!-- Methods -->
+ <aura:method name="showError" action="{!c.showError}" description="A method which triggers the error state">
+ <aura:attribute name="errorMessage" type="String"/>
+ </aura:method>
+ <aura:method name="hideError" action="{!c.hideError}" description="A method which removes the error state"/>
+
+ <!-- Internal -->
+ <aura:attribute name="focusIndex" type="Integer" description="Integer value that determines which record is focused" access="private"/>
+ <aura:attribute name="idNumber" type="Integer" description="Random id assigned to pair labels with inputs" access="private"/>
+ <aura:attribute name="initCallsRunning" type="Integer" default="{!0}" description="Integer value that determines how many calls are running during init" access="private"/>
+ <aura:attribute name="lastSearchTerm" type="String" description="String value that holds the last searched term" access="private"/>
+ <aura:attribute name="openMenu" type="Boolean" default="{!false}" description="Determines whether the menu is open" access="private"/>
+ <aura:attribute name="objectLabel" type="String" description="String value that holds the label of the object" access="private"/>
+ <aura:attribute name="recentRecords" type="Object[]" description="List of the most recent records" access="private"/>
+ <aura:attribute name="records" type="Object[]" description="List of records returned from the SOQL search" access="private"/>
+ <aura:attribute name="searching" type="Boolean" description="Boolean value marked when searching" access="private"/>
+ <aura:attribute name="searchTimeout" type="Object" description="Object that holds the search Timeout" access="private"/>
+ <aura:attribute name="valueLabel" type="String" description="String value that holds the searchField of the selected record"/>
+ <aura:attribute name="valueSublabel" type="String" description="String value that holds the subtitleField of the selected record" access="private"/>
+ <aura:attribute name="isMobile" type="Boolean" default="{!false}" description="Determines if the user is in Salesforce1" access="private"/>
+
+ <!-- Event registration and handlers -->
+ <aura:handler name="init" value="{!this}" action="{!c.onInit}"/>
+ <aura:handler name="change" value="{!v.focusIndex}" action="{!c.handleFocusIndexChange}"/>
+ <aura:handler name="change" value="{!v.value}" action="{!c.handleValueChange}"/>
+
+ <aura:handler name="change" value="{!v.object}" action="{!c.handleObjectChange}"/>
+ <aura:handler name="change" value="{!v.searchField}" action="{!c.handleSearchfieldChange}"/>
+ <aura:handler name="change" value="{!v.subtitleField}" action="{!c.handleSubtitlefieldChange}"/>
+ <aura:handler name="change" value="{!v.filter}" action="{!c.handleFilterChange}"/>
+ <aura:handler name="change" value="{!v.order}" action="{!c.handleOrderChange}"/>
+ <aura:handler name="change" value="{!v.limit}" action="{!c.handleLimitChange}"/>
+
+ <aura:registerEvent name="strike_evt_addNewRecord" type="c:strike_evt" description="Fires an event that notifies when the strike_evt_addNewRecord button is pressed"/>
+ <aura:dependency resource="force:createRecord" type="EVENT"/>
+
+ <!-- Strike Lookup -->
+ <ui:scrollerWrapper aura:id="lookup" class="{!'slds-form-element slds-lookup slds-is-open ' + if(v.error, 'slds-has-error ', '') + if(v.isMobile, 'sl-lookup--mobile ', '') + if(v.openMenu, 'sl-lookup--open ', '') + v.class}">
+
+ <aura:if isTrue="{!not(empty(v.helpText))}">
+ <c:strike_tooltip placement="{!v.helpTextPlacement}" text="{!v.helpText}" class="sl-help-text-icon">
+ <lightning:icon iconName="utility:info" size="xx-small"/>
+ </c:strike_tooltip>
+ </aura:if>
+ <div class="{!'slds-form-element__control slds-input-has-icon slds-input-has-icon--right' + if(v.disabled, ' sl-disabled', '')}" onclick="{!c.cancelLookup}">
+ <div class="{!'slds-pill_container' + if(or(not(empty(v.value)), greaterthan(v.initCallsRunning, 0)), '', ' slds-hide')}">
+ <span class="{!'slds-pill slds-size--1-of-1' + if(greaterthan(v.initCallsRunning, 0), ' sl-pill--loading', '')}">
+ <aura:if isTrue="{!and(not(empty(v.iconName)), equals(v.initCallsRunning, 0))}">
+ <aura:if isTrue="{!v.customIcon}">
+ <span class="slds-icon_container">
+ <c:strike_svg aura:id="svgComp" xlinkHref="{!v.iconName}" ariaHidden="true" class="slds-icon-text-default slds-icon slds-icon--small slds-pill__icon_container"/>
+ </span>
+ <aura:set attribute="else">
+ <lightning:icon class="slds-pill__icon_container" iconName="{!v.iconName}" size="small"/>
+ </aura:set>
+ </aura:if>
+ </aura:if>
+ <span class="slds-pill__label sl-pill__label" title="{!if(v.initCallsRunning > 0, v.loadingMessage, v.valueLabel)}">{!if(v.initCallsRunning > 0, v.loadingMessage, v.valueLabel)}</span>
+ <button class="{!'slds-button slds-button--icon slds-pill__remove' + if(or(v.disabled, greaterthan(v.initCallsRunning, 0)), ' slds-hide', '')}" title="Remove" onclick="{!c.handlePillClick}">
+ <lightning:icon iconName="utility:close" size="xx-small"/>
+ </button>
+ </span>
+ </div>
+ <div class="{!'sl-lookup__input_container' + if(v.isMobile == true, ' slds-grid slds-grid--pull-padded-xx-small', '') + if(and(equals(v.initCallsRunning, 0), empty(v.value)), '', ' slds-hide')}">
+ <div class="{!'sl-lookup__input' + if(v.isMobile == true, ' slds-col slds-p-horizontal--xx-small', '')}">
+ <lightning:icon iconName="utility:search" size="x-small" class="sl-search-icon"/>
+ <input
+ aura:id="lookupInput"
+ id="{!'strike-lookup-' + v.idNumber}"
+ name="{!'input-' + v.idNumber}"
+ class="slds-lookup__search-input slds-input js-template-lookup"
+ type="text"
+ aria-autocomplete="list"
+ role="combobox"
+ aria-expanded="false"
+ placeholder="{!v.placeholder}"
+ onclick="{!c.handleInputClick}"
+ onfocus="{!c.handleInputFocus}"
+ onkeydown="{!c.handleInputKeyDown}"
+ onkeyup="{!c.handleInputKeyUp}"
+ onkeypress="{!c.handleInputKeyPress}"
+ disabled='{!v.disabled}'/>
+ </div>
+ <aura:if isTrue="{!v.isMobile}">
+ <div class="sl-lookup--mobile__cancel slds-col slds-no-flex slds-p-horizontal--xx-small">
+ <button class="slds-button slds-button--neutral" onclick="{!c.cancelLookup}">Cancel</button>
+ </div>
+ </aura:if>
+ </div>
+ <div class="{!if(v.searching, 'slds-lookup__menu', 'slds-hide')}" role="listbox" onclick="{!c.handleSearchingClick}">
+ <ul class="slds-lookup__list" role="listbox">
+ <li role="presentation">
+ <span class="slds-lookup__item-action slds-media sl-searching" role="option">
+ <div class="slds-media__body">
+ <div class="slds-lookup__result-text">{!v.searchingMessage}</div>
+ </div>
+ </span>
+ </li>
+ </ul>
+ </div>
+ <div class="{!if(and(v.searching == false, v.openMenu), 'slds-lookup__menu', 'slds-hide')}" role="listbox">
+ <div class="{!if(or(v.records == null, v.records.length == 0), '', 'slds-hide')}">
+ <ul class="slds-lookup__list" role="listbox">
+ <li role="presentation">
+ <span class="slds-lookup__item-action slds-media sl-no-results" role="option">
+ <div class="slds-media__body">
+ <div class="slds-lookup__result-text">
+ {!format(v.noResultsMessage, '"' + v.lastSearchTerm + '"')}
+ </div>
+ </div>
+ </span>
+ </li>
+ </ul>
+ </div>
+ <ul aura:id="lookupMenu" class="{!if(v.searching, 'slds-hide', 'slds-lookup__list')}" role="listbox">
+ <aura:iteration items="{!v.records}" var="record" indexVar="index">
+ <li role="presentation" class="{!if(index == v.focusIndex, 'slds-has-focus', '')}" data-index="{!index}" onclick="{!c.handleRecordClick}">
+ <span class="slds-lookup__item-action slds-media" role="option">
+ <aura:if isTrue="{!and(not(empty(v.iconName)), not(v.customIcon))}">
+ <lightning:icon class="slds-media__figure" iconName="{!v.iconName}" size="small"/>
+ </aura:if>
+ <aura:if isTrue="{!v.customIcon}">
+ <span class="slds-icon_container">
+ <c:strike_svg aura:id="svgComp" xlinkHref="{!v.iconName}" ariaHidden="true" class="slds-icon-text-default slds-media__figure slds-icon slds-icon--x-small"/>
+ </span>
+ </aura:if>
+ <div class="slds-media__body">
+ <div class="slds-lookup__result-text">{!record.label}</div>
+ <span class="{!'slds-lookup__result-meta slds-text-body--small' + if(empty(record.sublabel, ' slds-hide', ''))}">{!record.sublabel}</span>
+ </div>
+ </span>
+ </li>
+ </aura:iteration>
+ <aura:if isTrue="{!v.allowNewRecords}">
+ <li role="presentation" class="{!'sl-lookup__new' + if(index == -1, ' slds-has-focus', '')}" onclick="{!c.handleNewRecordClick}">
+ <span class="slds-lookup__item-action slds-lookup__item-action--label" role="option">
+ <lightning:icon iconName="utility:add" size="x-small"/>
+ <span class="slds-truncate">鏂板缓 {!v.objectLabel}</span>
+ </span>
+ </li>
+ </aura:if>
+ </ul>
+ </div>
+ </div>
+
+ <aura:if isTrue="{!and(v.error, not(empty(v.errorMessage)))}">
+ <div class="slds-form-element__help">{!v.errorMessage}</div>
+ </aura:if>
+ </ui:scrollerWrapper>
+</aura:component>
+<!--
+Copyright 2017 Appiphony, LLC
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote
+products derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+-->
\ No newline at end of file
diff --git a/force-app/main/default/aura/strike_lookup/strike_lookup.cmp-meta.xml b/force-app/main/default/aura/strike_lookup/strike_lookup.cmp-meta.xml
new file mode 100644
index 0000000..a6af60d
--- /dev/null
+++ b/force-app/main/default/aura/strike_lookup/strike_lookup.cmp-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<AuraDefinitionBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>41.0</apiVersion>
+ <description>A Lightning Component Bundle</description>
+</AuraDefinitionBundle>
diff --git a/force-app/main/default/aura/strike_lookup/strike_lookup.css b/force-app/main/default/aura/strike_lookup/strike_lookup.css
new file mode 100644
index 0000000..a7dd2c5
--- /dev/null
+++ b/force-app/main/default/aura/strike_lookup/strike_lookup.css
@@ -0,0 +1,236 @@
+/*Strike by Appiphony
+
+Version: 1.0.0
+Website: http://www.lightningstrike.io
+GitHub: https://github.com/appiphony/Strike-Components
+License: BSD 3-Clause License*/
+.THIS .sl-pill__label {
+ margin-right: auto;
+}
+
+.THIS .slds-pill.sl-pill--loading {
+ border-color: transparent;
+ padding-left: 9px;
+ position: relative;
+ top: -1px;
+}
+
+.THIS .slds-pill.sl-pill--loading:hover {
+ background: transparent;
+}
+
+.THIS .slds-form-element__control .sl-search-icon {
+ position: absolute;
+ right: 20px;
+ top: 50%;
+ transform: translateY(-50%);
+ padding-bottom: 1px;
+}
+
+.THIS .slds-form-element__control .sl-search-icon .slds-icon {
+ fill: t(colorTextInputIcon);
+}
+
+.THIS .slds-lookup__item-action .slds-media__figure {
+ margin-right: .5rem;
+ margin-top: .25rem;
+}
+
+.THIS .slds-lookup__item-action .slds-media__figure .slds-icon {
+ margin-right: 0;
+ margin-top: 0;
+}
+
+.THIS .slds-form-element__control .slds-pill_container,
+.THIS .slds-form-element__control .slds-pill {
+ transition: border .1s linear, background-color .1s linear;
+}
+
+.THIS .slds-form-element__control.sl-disabled .slds-pill_container,
+.THIS .slds-form-element__control.sl-disabled .slds-pill {
+ background-color: t(colorBackgroundShade);
+ cursor: not-allowed;
+}
+
+.THIS .slds-form-element__control.sl-disabled .slds-pill_container {
+ border-color: t(colorBorderInputDisabled);
+}
+
+.THIS .slds-form-element__control.sl-disabled .slds-pill {
+ border-color: transparent;
+}
+
+.THIS.slds-form-element.slds-has-error .slds-pill__label {
+ font-weight: normal;
+ color: t(colorTextDefault);
+}
+
+.THIS .slds-lookup__item-action.sl-no-results,
+.THIS .slds-lookup__item-action.sl-no-results:hover,
+.THIS .slds-lookup__item-action.sl-searching,
+.THIS .slds-lookup__item-action.sl-searching:hover {
+ cursor: auto;
+}
+
+.THIS .slds-lookup__item-action.sl-no-results:hover,
+.THIS .slds-lookup__item-action.sl-no-results:focus,
+.THIS .slds-lookup__item-action.sl-no-results:active,
+.THIS .slds-lookup__item-action.sl-searching:hover,
+.THIS .slds-lookup__item-action.sl-searching:focus,
+.THIS .slds-lookup__item-action.sl-searching:active {
+ background: white;
+}
+
+.THIS .sl-help-text-icon .slds-icon {
+ fill: #9ea9b5;
+}
+
+.THIS .slds-pill__remove .slds-button__icon {
+ pointer-events: none;
+}
+
+
+/* --------------------------------------------------
+Salesforce1 Styles
+-------------------------------------------------- */
+.THIS:not(.sl-lookup--mobile).sl-lookup--open.scrollable {
+ overflow: visible;
+}
+
+.THIS:not(.sl-lookup--mobile):not(.sl-lookup--open).scrollable {
+ /*overflow: hidden;*/
+ overflow: visible;
+}
+
+.THIS:not(.sl-lookup--mobile).scrollable,
+.THIS:not(.sl-lookup--open).scrollable {
+ /*overflow: initial;*/
+ overflow: visible;
+}
+
+.THIS.sl-lookup--mobile.slds-is-open .slds-lookup__menu,
+.THIS.sl-lookup--mobile .sl-lookup--mobile__cancel,
+.THIS.sl-lookup--mobile .slds-lookup__list .slds-dropdown__item .slds-icon_container,
+.THIS.sl-lookup--mobile .slds-lookup__list .slds-dropdown__item .slds-icon,
+/*.THIS.sl-lookup--mobile .slds-lookup__list .sl-lookup__new,*/
+.THIS.sl-lookup--mobile .slds-pill__icon_container,
+.THIS.sl-lookup--mobile.sl-lookup--open .slds-form-element__label,
+.THIS.sl-lookup--mobile.sl-lookup--open .slds-form-element__help,
+.THIS.sl-lookup--mobile.sl-lookup--open .sl-help-text-icon {
+ display: none;
+}
+
+.THIS.sl-lookup--mobile.slds-is-open.sl-lookup--open .slds-lookup__menu,
+.THIS.sl-lookup--mobile.sl-lookup--open .sl-lookup--mobile__cancel {
+ display: block;
+}
+
+.THIS.sl-lookup--mobile .slds-lookup__item-action {
+ padding-left: t(spacingXSmall);
+ padding-right: t(spacingXSmall);
+}
+
+.THIS.sl-lookup--mobile.sl-lookup--open .sl-lookup__input {
+ position: relative;
+}
+
+.THIS.sl-lookup--mobile.sl-lookup--open .sl-lookup__input_container {
+ padding: t(spacingXSmall);
+}
+
+.THIS.sl-lookup--mobile .slds-pill_container {
+ background: white;
+ position: relative;
+ z-index: 1;
+}
+
+.THIS.sl-lookup--mobile .slds-pill,
+.THIS.sl-lookup--mobile .slds-pill:hover {
+ background: white;
+ border: none;
+}
+
+.THIS.sl-lookup--mobile .sl-input--disabled,
+.THIS.sl-lookup--mobile .sl-input--disabled:hover {
+ background: t(colorBackgroundInputDisabled);
+}
+
+.THIS.sl-lookup--mobile .slds-form-element__control {
+ height: 100%;
+}
+
+.THIS.sl-lookup--mobile.sl-lookup--open .slds-form-element__control {
+ background: t(colorBackground);
+}
+
+.THIS.sl-lookup--mobile.sl-lookup--open {
+ padding: 0;
+ position: fixed;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ border: none;
+ overflow: initial;
+ overflow-x: hidden;
+ overflow-y: auto;
+ z-index: t(zIndexOverlay);
+ background: white;
+ -webkit-overflow-scrolling: touch;
+}
+
+.THIS.sl-lookup--mobile .slds-lookup__menu {
+ padding: 0;
+ margin-bottom: 52px;
+ position: relative;
+ z-index: 0;
+ top: initial;
+ border: none;
+ background: t(colorBackground);
+}
+
+.THIS.sl-lookup--mobile .slds-lookup__list {
+ max-height: none;
+ overflow: initial;
+ overflow-x: initial;
+ overflow-y: initial;
+}
+
+.THIS.sl-lookup--mobile .slds-lookup__list li {
+ border-bottom: 1px solid t(colorBorder);
+ padding: t(spacingXSmall);
+}
+
+.THIS.sl-lookup--mobile .slds-lookup__list li:first-child {
+ border-top: 1px solid t(colorBorder);
+}
+
+.THIS.sl-lookup--mobile .sl-lookup--mobile__dropdown-header strong {
+ vertical-align: middle;
+ display: inline-block;
+ font-size: 18px;
+ margin-top: 4px;
+}
+
+.THIS.sl-lookup--mobile .slds-lookup__list .sl-lookup__new .slds-icon {
+ margin-top: 0;
+}
+/*Copyright 2017 Appiphony, LLC
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
+following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following
+disclaimer.
+2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following
+disclaimer in the documentation and/or other materials provided with the distribution.
+3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote
+products derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.*/
\ No newline at end of file
diff --git a/force-app/main/default/aura/strike_lookup/strike_lookupController.js b/force-app/main/default/aura/strike_lookup/strike_lookupController.js
new file mode 100644
index 0000000..e1d9ca0
--- /dev/null
+++ b/force-app/main/default/aura/strike_lookup/strike_lookupController.js
@@ -0,0 +1,242 @@
+/*Strike by Appiphony
+
+Version: 1.0.0
+Website: http://www.lightningstrike.io
+GitHub: https://github.com/appiphony/Strike-Components
+License: BSD 3-Clause License*/
+({
+ onInit: function(component, event, helper) {
+ component.handleClick = $A.getCallback(function() {
+ if (!component.isValid()) {
+ window.removeEventListener('click', component.handleClick);
+
+ return;
+ }
+
+ helper.closeMenu(component, event, helper);
+ });
+
+ window.addEventListener('click', component.handleClick);
+
+ component.set('v.initCallsRunning', 3);
+
+ helper.getRecentRecords(component, event, helper);
+ helper.getRecordByValue(component, event, helper);
+ helper.getRecordLabel(component, event, helper);
+
+ var randomNumber = Math.floor(1000 + Math.random() * 9000);
+
+ component.set('v.idNumber', randomNumber);
+
+ component.set('v.isMobile', $A.get('$Browser.formFactor') === 'DESKTOP' ? false : true);
+ },
+ handleInputClick: function(component, event, helper) {
+ event.stopPropagation();
+ },
+ handleSearchingClick: function(component, event, helper) {
+ component.set('v.searching', false);
+ },
+ handleInputFocus: function(component, event, helper) {
+ $A.util.addClass(component.find('lookup'), 'sl-lookup--open');
+
+ if (component.get('v.disabled')) {
+ return;
+ }
+
+ helper.getRecordsBySearchTerm(component, event, helper);
+ },
+ cancelLookup: function(component, event, helper) {
+ helper.closeMobileLookup(component, event, helper);
+ },
+ handleInputKeyDown: function(component, event, helper) {
+ if (component.get('v.disabled')) {
+ return;
+ }
+
+ var KEYCODE_TAB = 9;
+
+ var keyCode = event.which || event.keyCode || 0;
+
+ if (keyCode === KEYCODE_TAB) {
+ helper.closeMenu(component, event, helper);
+ }
+ },
+ handleInputKeyPress: function(component, event, helper) {
+ if (component.get('v.disabled')) {
+ return;
+ }
+ },
+ handleInputKeyUp: function(component, event, helper) {
+ if (component.get('v.disabled')) {
+ return;
+ }
+
+ var KEYCODE_ENTER = 13;
+ var KEYCODE_UP = 38;
+ var KEYCODE_DOWN = 40;
+
+ var keyCode = event.which || event.keyCode || 0;
+
+ if (keyCode === KEYCODE_ENTER) {
+ helper.updateValueByFocusIndex(component, event, helper);
+ } else if (keyCode === KEYCODE_UP) {
+ helper.moveRecordFocusUp(component, event, helper);
+ } else if (keyCode === KEYCODE_DOWN) {
+ helper.moveRecordFocusDown(component, event, helper);
+ } else {
+ helper.getRecordsBySearchTerm(component, event, helper);
+ }
+ },
+
+ handleRecordClick: function(component, event, helper) {
+ event.preventDefault();
+ event.stopPropagation();
+
+ var focusIndex = event.currentTarget.dataset.index;
+
+ component.set('v.focusIndex', focusIndex);
+
+ helper.updateValueByFocusIndex(component, event, helper);
+ },
+ handleNewRecordClick: function(component, event, helper) {
+ event.preventDefault();
+ event.stopPropagation();
+
+ helper.addNewRecord(component, event, helper);
+ },
+ handlePillClick: function(component, event, helper) {
+ event.preventDefault();
+ event.stopPropagation();
+
+ component.set('v.value', '');
+
+ helper.getRecordsBySearchTerm(component, event, helper);
+
+ window.setTimeout($A.getCallback(function() {
+ component.find('lookupInput').getElement().focus();
+ }), 1);
+ },
+
+ handleFocusIndexChange: function(component, event, helper) {
+ var focusIndex = component.get('v.focusIndex');
+ var lookupMenu = component.find('lookupMenu').getElement();
+
+ if (!$A.util.isEmpty(lookupMenu)) {
+ var options = lookupMenu.getElementsByTagName('li');
+ var focusScrollTop = 0;
+ var focusScrollBottom = 0;
+
+ for (var i = 0; i < options.length; i++) {
+ var optionSpan = options[i].getElementsByTagName('span')[0];
+
+ if (i === focusIndex) {
+ $A.util.addClass(optionSpan, 'slds-has-focus');
+ } else {
+ if (i < focusIndex) {
+ focusScrollTop += options[i].scrollHeight;
+ }
+
+ $A.util.removeClass(optionSpan, 'slds-has-focus');
+ }
+ }
+
+ if (focusIndex !== null) {
+ focusScrollBottom = focusScrollTop + options[focusIndex].scrollHeight;
+ }
+
+ if (focusScrollTop < lookupMenu.scrollTop) {
+ lookupMenu.scrollTop = focusScrollTop;
+ } else if (focusScrollBottom > lookupMenu.scrollTop + lookupMenu.clientHeight) {
+ lookupMenu.scrollTop = focusScrollBottom - lookupMenu.clientHeight;
+ }
+ }
+ },
+ handleValueChange: function(component, event, helper) {
+ var value = component.get('v.value');
+
+ if ($A.util.isEmpty(value)) {
+ component.set('v.valueLabel', '');
+ } else if ($A.util.isEmpty(component.get('v.valueLabel'))) {
+ helper.getRecordByValue(component, event, helper);
+ }
+ },
+
+ handleFilterChange: function(component, event, helper) {
+ component.set('v.initCallsRunning', 2);
+
+ helper.getRecordByValue(component, event, helper);
+ helper.getRecentRecords(component, event, helper);
+
+ component.find('lookupInput').getElement().value = '';
+ helper.getRecordsBySearchTerm(component, event, helper);
+ },
+ handleLimitChange: function(component, event, helper) {
+ component.find('lookupInput').getElement().value = '';
+ helper.getRecordsBySearchTerm(component, event, helper);
+ },
+ handleObjectChange: function(component, event, helper) {
+ component.set('v.initCallsRunning', 3);
+
+ helper.getRecentRecords(component, event, helper);
+ helper.getRecordByValue(component, event, helper);
+ helper.getRecordLabel(component, event, helper);
+
+ component.find('lookupInput').getElement().value = '';
+ helper.getRecordsBySearchTerm(component, event, helper);
+ },
+ handleOrderChange: function(component, event, helper) {
+ component.set('v.initCallsRunning', 1);
+
+ helper.getRecentRecords(component, event, helper);
+
+ component.find('lookupInput').getElement().value = '';
+ helper.getRecordsBySearchTerm(component, event, helper);
+ },
+ handleSearchfieldChange: function(component, event, helper) {
+ component.set('v.initCallsRunning', 2);
+
+ helper.getRecentRecords(component, event, helper);
+ helper.getRecordByValue(component, event, helper);
+
+ component.find('lookupInput').getElement().value = '';
+ helper.getRecordsBySearchTerm(component, event, helper);
+ },
+ handleSubtitlefieldChange: function(component, event, helper) {
+ component.set('v.initCallsRunning', 1);
+
+ helper.getRecentRecords(component, event, helper);
+
+ component.find('lookupInput').getElement().value = '';
+ helper.getRecordsBySearchTerm(component, event, helper);
+ },
+
+ showError: function(component, event, helper) {
+ var errorMessage = event.getParam('arguments').errorMessage;
+
+ component.set('v.errorMessage', errorMessage);
+ component.set('v.error', true);
+ },
+ hideError: function(component, event, helper) {
+ component.set('v.errorMessage', null);
+ component.set('v.error', false);
+ }
+})
+/*Copyright 2017 Appiphony, LLC
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
+following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following
+disclaimer.
+2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following
+disclaimer in the documentation and/or other materials provided with the distribution.
+3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote
+products derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.*/
\ No newline at end of file
diff --git a/force-app/main/default/aura/strike_lookup/strike_lookupHelper.js b/force-app/main/default/aura/strike_lookup/strike_lookupHelper.js
new file mode 100644
index 0000000..bc363d2
--- /dev/null
+++ b/force-app/main/default/aura/strike_lookup/strike_lookupHelper.js
@@ -0,0 +1,310 @@
+/*Strike by Appiphony
+
+Version: 1.0.0
+Website: http://www.lightningstrike.io
+GitHub: https://github.com/appiphony/Strike-Components
+License: BSD 3-Clause License*/
+({
+ checkIfInitialized: function(component, event, helper) {
+ var initCallsRunning = component.get('v.initCallsRunning');
+
+ if (--initCallsRunning < 0) {
+ initCallsRunning = 0;
+ }
+
+ component.set('v.initCallsRunning', initCallsRunning);
+ },
+ closeMenu: function(component, event, helper) {
+ component.set('v.focusIndex', null);
+ component.set('v.openMenu', false);
+ },
+ getParams: function(component, event, helper) {
+ var filter = component.get('v.filter');
+ var limit = component.get('v.limit');
+ var object = component.get('v.object');
+ var order = component.get('v.order');
+ var searchField = component.get('v.searchField');
+ var subtitleField = component.get('v.subtitleField');
+ var subTitleFormat = component.get('v.subTitleFormat');
+
+ return {
+ filter: filter,
+ limit: limit,
+ object: object,
+ order: order,
+ searchField: searchField,
+ subtitleField: subtitleField,
+ subTitleFormat: subTitleFormat
+ };
+ },
+ getRecentRecords: function(component, event, helper) {
+ var returnedRecords = [];
+
+ var getRecordsAction = component.get('c.getRecentRecords');
+
+ getRecordsAction.setParams({
+ jsonString: JSON.stringify(helper.getParams(component, event, helper))
+ });
+
+ getRecordsAction.setCallback(this, function(res) {
+ if (res.getState() === 'SUCCESS') {
+ var returnValue = JSON.parse(res.getReturnValue());
+
+ if (returnValue.isSuccess) {
+ returnValue.results.data.forEach(function(record) {
+ returnedRecords.push({
+ label: record.label,
+ sublabel: record.sublabel,
+ value: record.value
+ });
+ });
+ }
+ }
+ component.set('v.recentRecords', returnedRecords);
+
+ helper.checkIfInitialized(component, event, helper);
+ });
+
+ $A.enqueueAction(getRecordsAction);
+ },
+ getRecordByValue: function(component, event, helper) {
+ var value = component.get('v.value');
+
+ if (!value) {
+ component.set('v.valueLabel', null);
+ component.set('v.valueSublabel', null);
+ helper.checkIfInitialized(component, event, helper);
+
+ return;
+ }
+
+ var getRecordsAction = component.get('c.getRecords');
+ var params = helper.getParams(component, event, helper);
+
+ if ($A.util.isEmpty(params.filter)) {
+ params.filter = 'Id = \'' + value + '\'';
+ } else {
+ params.filter = 'Id = \'' + value + '\' AND (' + params.filter + ')';
+ }
+
+ getRecordsAction.setParams({
+ jsonString: JSON.stringify(params)
+ });
+
+ getRecordsAction.setCallback(this, function(res) {
+ if (res.getState() === 'SUCCESS') {
+ var returnValue = JSON.parse(res.getReturnValue());
+
+ if (returnValue.isSuccess) {
+ returnValue.results.data.forEach(function(record) {
+ component.set('v.valueLabel', record.label);
+ component.set('v.valueSublabel', record.sublabel);
+ });
+ }
+ }
+
+ helper.checkIfInitialized(component, event, helper);
+ });
+
+ $A.enqueueAction(getRecordsAction);
+ },
+ getRecordLabel: function(component, event, helper) {
+ var getRecordLabelAction = component.get('c.getRecordLabel');
+
+ getRecordLabelAction.setParams({
+ jsonString: JSON.stringify({
+ object: component.get('v.object')
+ })
+ });
+
+ getRecordLabelAction.setCallback(this, function(res) {
+ if (res.getState() === 'SUCCESS') {
+ var returnValue = JSON.parse(res.getReturnValue());
+
+ if (returnValue.isSuccess) {
+ component.set('v.objectLabel', returnValue.results.objectLabel);
+ }
+ }
+
+ helper.checkIfInitialized(component, event, helper);
+ });
+
+ $A.enqueueAction(getRecordLabelAction);
+ },
+ getRecordsBySearchTerm: function(component, event, helper) {
+ var searchTerm = component.find('lookupInput').getElement().value;
+
+ var lastSearchTerm = component.get('v.lastSearchTerm');
+ var searchTimeout = component.get('v.searchTimeout');
+ var showRecentRecords = component.get('v.showRecentRecords');
+
+ clearTimeout(searchTimeout);
+
+ if ($A.util.isEmpty(searchTerm)) {
+ if (showRecentRecords) {
+ helper.setRecords(component, event, helper, component.get('v.recentRecords'));
+ } else {
+ helper.setRecords(component, event, helper, []);
+ }
+
+ return;
+ } else if (searchTerm === lastSearchTerm) {
+ component.set('v.searching', false);
+ helper.openMenu(component, event, helper);
+
+ return;
+ }
+
+ component.set('v.openMenu', true);
+ component.set('v.searching', true);
+
+ component.set('v.searchTimeout', setTimeout($A.getCallback(function() {
+ if (!component.isValid()) {
+ return;
+ }
+
+ var getRecordsAction = component.get('c.getRecords');
+ var params = helper.getParams(component, event, helper);
+
+ params.searchTerm = component.find('lookupInput').getElement().value;
+
+ getRecordsAction.setParams({
+ jsonString: JSON.stringify(params)
+ });
+
+ getRecordsAction.setCallback(this, function(res) {
+ if (res.getState() === 'SUCCESS') {
+ var returnValue = JSON.parse(res.getReturnValue());
+
+ if (returnValue.isSuccess && returnValue.results.searchTerm === component.find('lookupInput').getElement().value) {
+ var returnedRecords = [];
+
+ returnValue.results.data.forEach(function(record) {
+ returnedRecords.push({
+ label: record.label,
+ sublabel: record.sublabel,
+ value: record.value
+ });
+ });
+
+ helper.setRecords(component, event, helper, returnedRecords);
+ }
+ } else {
+ helper.setRecords(component, event, helper, []);
+ }
+ });
+
+ $A.enqueueAction(getRecordsAction);
+ }), 200));
+ },
+ setRecords: function(component, event, helper, returnedRecords) {
+ component.set('v.focusIndex', null);
+ component.set('v.lastSearchTerm', component.find('lookupInput').getElement().value);
+ component.set('v.records', returnedRecords);
+ component.set('v.searching', false);
+
+ helper.openMenu(component, event, helper);
+ },
+ openMenu: function(component, event, helper) {
+ var showRecentRecords = component.get('v.showRecentRecords') && !$A.util.isEmpty(component.get('v.recentRecords'));
+ component.set('v.openMenu', !component.get('v.disabled') && (!$A.util.isEmpty(component.get('v.lastSearchTerm')) || showRecentRecords));
+ },
+ closeMobileLookup: function(component, event, helper) {
+ $A.util.removeClass(component.find('lookup'), 'sl-lookup--open');
+ component.find('lookupInput').getElement().value = ''
+ },
+ updateValueByFocusIndex: function(component, event, helper) {
+ var focusIndex = component.get('v.focusIndex');
+
+ if (focusIndex == null) {
+ focusIndex = 0;
+ }
+
+ var records = component.get('v.records');
+
+ if (focusIndex < records.length) {
+ component.set('v.value', records[focusIndex].value);
+ component.set('v.valueLabel', records[focusIndex].label);
+ component.set('v.valueSublabel', records[focusIndex].sublabel);
+ component.find('lookupInput').getElement().value = '';
+
+ helper.closeMenu(component, event, helper);
+ } else if (focusIndex === records.length) {
+ helper.addNewRecord(component, event, helper);
+ }
+
+ helper.closeMobileLookup(component, event, helper);
+ },
+ addNewRecord: function(component, event, helper) {
+ if (!component.get('v.allowNewRecords')) {
+ return;
+ }
+
+ var addRecordEvent;
+ var overrideNewEvent = component.get('v.overrideNewEvent');
+
+ if (overrideNewEvent) {
+ addRecordEvent = component.getEvent('strike_evt_addNewRecord');
+ } else {
+ addRecordEvent = $A.get('e.force:createRecord');
+
+ addRecordEvent.setParams({
+ entityApiName: component.get('v.object')
+ });
+ }
+ addRecordEvent.fire();
+
+ helper.closeMenu(component, event, helper);
+ },
+ moveRecordFocusUp: function(component, event, helper) {
+ var openMenu = component.get('v.openMenu');
+
+ if (openMenu) {
+ var focusIndex = component.get('v.focusIndex');
+ var options = component.find('lookupMenu').getElement().getElementsByTagName('li');
+
+ if (focusIndex === null || focusIndex === 0) {
+ focusIndex = options.length - 1;
+ } else {
+ --focusIndex;
+ }
+
+ component.set('v.focusIndex', focusIndex);
+ }
+ },
+ moveRecordFocusDown: function(component, event, helper) {
+ var openMenu = component.get('v.openMenu');
+
+ if (openMenu) {
+ var focusIndex = component.get('v.focusIndex');
+ var options = component.find('lookupMenu').getElement().getElementsByTagName('li');
+
+ if (focusIndex === null || focusIndex === options.length - 1) {
+ focusIndex = 0;
+ } else {
+ ++focusIndex;
+ }
+
+ component.set('v.focusIndex', focusIndex);
+ }
+ }
+})
+/*Copyright 2017 Appiphony, LLC
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
+following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following
+disclaimer.
+2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following
+disclaimer in the documentation and/or other materials provided with the distribution.
+3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote
+products derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.*/
\ No newline at end of file
diff --git a/force-app/main/default/aura/strike_lookup/strike_lookupRenderer.js b/force-app/main/default/aura/strike_lookup/strike_lookupRenderer.js
new file mode 100644
index 0000000..3af1f0f
--- /dev/null
+++ b/force-app/main/default/aura/strike_lookup/strike_lookupRenderer.js
@@ -0,0 +1,32 @@
+/*Strike by Appiphony
+
+Version: 1.0.0
+Website: http://www.lightningstrike.io
+GitHub: https://github.com/appiphony/Strike-Components
+License: BSD 3-Clause License*/
+({
+ unrender: function(component) {
+ this.superUnrender();
+
+ window.removeEventListener('click', component.handleClick);
+ }
+})
+/*Copyright 2017 Appiphony, LLC
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
+following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following
+disclaimer.
+2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following
+disclaimer in the documentation and/or other materials provided with the distribution.
+3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote
+products derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.*/
\ No newline at end of file
diff --git a/force-app/main/default/aura/strike_svg/strike_svg.cmp b/force-app/main/default/aura/strike_svg/strike_svg.cmp
new file mode 100644
index 0000000..5558e3c
--- /dev/null
+++ b/force-app/main/default/aura/strike_svg/strike_svg.cmp
@@ -0,0 +1,35 @@
+<!--
+Strike by Appiphony
+
+Version: 1.0.0
+Website: http://www.lightningstrike.io
+GitHub: https://github.com/appiphony/Strike-Components
+License: BSD 3-Clause License
+-->
+<aura:component >
+ <aura:attribute name="id" type="String" description="ID for the SVG element"/>
+ <aura:attribute name="class" type="String" description="CSS classname for the SVG element"/>
+ <aura:attribute name="xlinkHref" type="String" description="SLDS icon path. Ex: /assets/icons/utility-sprite/svg/symbols.svg#download"/>
+ <aura:attribute name="ariaHidden" type="String" default="true" description="aria-hidden true or false. defaults to true"/>
+</aura:component>
+<!--
+Copyright 2017 Appiphony, LLC
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
+following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following
+disclaimer.
+2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following
+disclaimer in the documentation and/or other materials provided with the distribution.
+3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote
+products derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+-->
\ No newline at end of file
diff --git a/force-app/main/default/aura/strike_svg/strike_svg.cmp-meta.xml b/force-app/main/default/aura/strike_svg/strike_svg.cmp-meta.xml
new file mode 100644
index 0000000..a6af60d
--- /dev/null
+++ b/force-app/main/default/aura/strike_svg/strike_svg.cmp-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<AuraDefinitionBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>41.0</apiVersion>
+ <description>A Lightning Component Bundle</description>
+</AuraDefinitionBundle>
diff --git a/force-app/main/default/aura/strike_svg/strike_svgRenderer.js b/force-app/main/default/aura/strike_svg/strike_svgRenderer.js
new file mode 100644
index 0000000..bd65e66
--- /dev/null
+++ b/force-app/main/default/aura/strike_svg/strike_svgRenderer.js
@@ -0,0 +1,62 @@
+/*
+Strike by Appiphony
+
+Version: 1.0.0
+Website: http://www.lightningstrike.io
+GitHub: https://github.com/appiphony/Strike-Components
+License: BSD 3-Clause License
+*/
+({
+ render: function(component, helper) {
+ //grab attributes from the component markup
+ var classname = component.get("v.class");
+ var xlinkhref = component.get("v.xlinkHref");
+ var ariaHidden = component.get("v.ariaHidden");
+ var id = component.get('v.id');
+
+ //return an svg element w/ the attributes
+ var svg = document.createElementNS("http://www.w3.org/2000/svg", "svg");
+ if (id) {
+ svg.setAttribute('id', id);
+ }
+
+ if (classname) {
+ svg.setAttribute('class', classname);
+ }
+
+ if (ariaHidden) {
+ svg.setAttribute('aria-hidden', ariaHidden);
+ }
+
+ if (xlinkhref) {
+ var use = document.createElementNS('http://www.w3.org/2000/svg', 'use');
+ use.setAttribute('xmlns:xlink', 'http://www.w3.org/1999/xlink');
+ use.setAttributeNS('http://www.w3.org/1999/xlink', 'xlink:href', xlinkhref);
+ svg.appendChild(use);
+ //svg.innerHTML = '<use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="'+xlinkhref+'"/>';
+ }
+
+ return svg;
+ }
+})
+/*
+Copyright 2017 Appiphony, LLC
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
+following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following
+disclaimer.
+2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following
+disclaimer in the documentation and/or other materials provided with the distribution.
+3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote
+products derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
\ No newline at end of file
diff --git a/force-app/main/default/aura/strike_tooltip/strike_tooltip.cmp b/force-app/main/default/aura/strike_tooltip/strike_tooltip.cmp
new file mode 100644
index 0000000..21b6ed7
--- /dev/null
+++ b/force-app/main/default/aura/strike_tooltip/strike_tooltip.cmp
@@ -0,0 +1,56 @@
+<!--
+Strike by Appiphony
+
+Version: 1.0.0
+Website: http://www.lightningstrike.io
+GitHub: https://github.com/appiphony/Strike-Components
+License: BSD 3-Clause License
+-->
+<aura:component>
+ <aura:attribute name="text" type="String" required="true"/>
+
+ <aura:attribute name="placement" type="String" default="auto top"/>
+ <aura:attribute name="class" type="String"/>
+
+ <!-- Internal -->
+ <aura:attribute name="nubbinPlacement" type="String" default="slds-nubbin--bottom" access="private" />
+ <aura:attribute name="showTooltip" type="boolean" access="private" />
+ <aura:attribute name="tooltipStyle" type="String" access="private" />
+
+ <aura:handler name="init" value="{!this}" action="{!c.init}"/>
+ <aura:handler name="change" value="{!v.placement}" action="{!c.updateNubbinPosition}"/>
+
+ <aura:method name="openTooltip" action="{!c.showTooltip}"/>
+ <aura:method name="closeTooltip" action="{!c.hideTooltip}"/>
+
+ <div aura:id="tooltipContainer" class="{!'st-popover_container ' + v.class}" tabindex="0" onfocus="{!c.showTooltip}" onblur="{!c.hideTooltip}" onmouseover="{!c.showTooltip}" onmouseout="{!c.hideTooltip}">
+ <style aura:id="tooltipStyle"></style>
+ <div class="{!'slds-popover slds-popover--tooltip ' + v.nubbinPlacement + if(v.showTooltip, '', ' st-hidden')}" role="tooltip" aura:id="tooltip" style="{!v.tooltipStyle}">
+ <div class="slds-popover__body">
+ {!v.text}
+ </div>
+ </div>
+ {!v.body}
+ </div>
+</aura:component>
+<!--
+Copyright 2017 Appiphony, LLC
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
+following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following
+disclaimer.
+2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following
+disclaimer in the documentation and/or other materials provided with the distribution.
+3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote
+products derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+-->
\ No newline at end of file
diff --git a/force-app/main/default/aura/strike_tooltip/strike_tooltip.cmp-meta.xml b/force-app/main/default/aura/strike_tooltip/strike_tooltip.cmp-meta.xml
new file mode 100644
index 0000000..a6af60d
--- /dev/null
+++ b/force-app/main/default/aura/strike_tooltip/strike_tooltip.cmp-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<AuraDefinitionBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>41.0</apiVersion>
+ <description>A Lightning Component Bundle</description>
+</AuraDefinitionBundle>
diff --git a/force-app/main/default/aura/strike_tooltip/strike_tooltip.css b/force-app/main/default/aura/strike_tooltip/strike_tooltip.css
new file mode 100644
index 0000000..bf2d725
--- /dev/null
+++ b/force-app/main/default/aura/strike_tooltip/strike_tooltip.css
@@ -0,0 +1,47 @@
+/*
+Strike by Appiphony
+
+Version: 1.0.0
+Website: http://www.lightningstrike.io
+GitHub: https://github.com/appiphony/Strike-Components
+License: BSD 3-Clause License
+*/
+.THIS.st-popover_container .st-hidden {
+ visibility: hidden;
+ opacity: 0;
+ position: fixed;
+ top: -999999px;
+ top: -999vh;
+ left: -999999px;
+ left: -999vw;
+ pointer-events: none;
+}
+.THIS.st-popover_container {
+ outline: none;
+ display: inline-block;
+ position: relative;
+}
+.THIS.st-popover__trigger {
+ display: inline-block;
+}
+/*
+Copyright 2017 Appiphony, LLC
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
+following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following
+disclaimer.
+2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following
+disclaimer in the documentation and/or other materials provided with the distribution.
+3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote
+products derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
\ No newline at end of file
diff --git a/force-app/main/default/aura/strike_tooltip/strike_tooltipController.js b/force-app/main/default/aura/strike_tooltip/strike_tooltipController.js
new file mode 100644
index 0000000..2ce3f0c
--- /dev/null
+++ b/force-app/main/default/aura/strike_tooltip/strike_tooltipController.js
@@ -0,0 +1,50 @@
+/*
+Strike by Appiphony
+
+Version: 1.0.0
+Website: http://www.lightningstrike.io
+GitHub: https://github.com/appiphony/Strike-Components
+License: BSD 3-Clause License
+*/
+({
+ init: function (component, event, helper) {
+ helper.calculateNubbinPlacement(component);
+ },
+ updateNubbinPosition: function(component, event, helper) {
+ helper.calculateNubbinPlacement(component);
+ },
+ showTooltip: function (component, event, helper) {
+ var tooltipStyleOptions = helper.calculateTooltipPosition(component);
+ var tooltipStyle = 'position: absolute; width: ' + tooltipStyleOptions.width + 'px;left: ' + tooltipStyleOptions.tooltipXPos + 'px; top: ' + tooltipStyleOptions.tooltipYPos + 'px;';
+ component.set('v.tooltipStyle', tooltipStyle);
+ component.set('v.showTooltip', true);
+ },
+ hideTooltip: function (component, event, helper) {
+ var tooltipStyle = component.find('tooltipStyle').getElement();
+
+ tooltipStyle.innerHTML = '';
+ component.set('v.showTooltip', false);
+ component.set('v.tooltipStyle', '');
+ }
+})
+/*
+Copyright 2017 Appiphony, LLC
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
+following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following
+disclaimer.
+2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following
+disclaimer in the documentation and/or other materials provided with the distribution.
+3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote
+products derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
\ No newline at end of file
diff --git a/force-app/main/default/aura/strike_tooltip/strike_tooltipHelper.js b/force-app/main/default/aura/strike_tooltip/strike_tooltipHelper.js
new file mode 100644
index 0000000..e983d76
--- /dev/null
+++ b/force-app/main/default/aura/strike_tooltip/strike_tooltipHelper.js
@@ -0,0 +1,151 @@
+/*
+Strike by Appiphony
+
+Version: 1.0.0
+Website: http://www.lightningstrike.io
+GitHub: https://github.com/appiphony/Strike-Components
+License: BSD 3-Clause License
+*/
+({
+ calculateNubbinPlacement: function(component, placement){
+ if(!placement) {
+ placement = component.get('v.placement');
+ }
+ placement = placement.replace('auto ', '');
+ var nubbinPlacement;
+
+ switch (placement){
+ case 'top' : nubbinPlacement = 'slds-nubbin--bottom'; break;
+ case 'bottom' : nubbinPlacement = 'slds-nubbin--top'; break;
+ case 'left' : nubbinPlacement = 'slds-nubbin--right'; break;
+ case 'right' : nubbinPlacement = 'slds-nubbin--left'; break;
+ default : nubbinPlacement = 'slds-nubbin--bottom';
+ }
+
+ component.set('v.nubbinPlacement', nubbinPlacement);
+ },
+ calculateTooltipPosition: function(component) {
+ var tooltipEl = component.find('tooltip').getElement();
+ var tooltipBoundingBox = tooltipEl.getBoundingClientRect();
+ var tooltipWidth = Math.ceil(tooltipBoundingBox.width);
+ var tooltipHeight = tooltipBoundingBox.height;
+
+ var containerEl = component.find('tooltipContainer').getElement();
+ var containerBoundingBox = containerEl.getBoundingClientRect();
+ var containerWidth = containerBoundingBox.width;
+ var containerHeight = containerBoundingBox.height;
+ var containerLeft = containerBoundingBox.left;
+ var containerRight = containerBoundingBox.right;
+
+ var placement = component.get('v.placement');
+ var adjustment;
+ // Check for auto placement
+ if(placement.startsWith('auto ')) {
+
+ // Remove auto placement to perform bounding checks on preferred placement
+ placement = placement.replace('auto ', '');
+
+ // Construct the window bounding box.
+
+ // The height of the sticky global header is not accessible in any way
+ // so it must be hardcoded. This may change during releases.
+ // var globalHeaderHeight = 90;
+
+ // In LEX, document.body.getBoundingClientRect() does not return the
+ // correct values so we will construct a box ourselves using the
+ // inner width and height of the window (viewport)
+ var windowBoundingBox = {
+ top: 0,
+ right: window.innerWidth,
+ bottom: window.innerHeight,
+ left: 0
+ };
+
+ // Validate that there is space for the preferred placements. If there is
+ // not, invert the placement
+ if(placement === 'top' && (containerBoundingBox.top - tooltipBoundingBox.height) < windowBoundingBox.top) {
+ placement = 'bottom';
+ } else if(placement === 'right' && (containerBoundingBox.right + tooltipBoundingBox.width) > windowBoundingBox.right) {
+ placement = 'left';
+ } else if(placement === 'bottom' && (containerBoundingBox.bottom + tooltipBoundingBox.height) > windowBoundingBox.bottom) {
+ placement = 'top';
+ } else if(placement === 'left' && (containerBoundingBox.left - tooltipBoundingBox.width) < windowBoundingBox.left) {
+ placement = 'right';
+ }
+
+ // update nubbin since placement may have changed from the last
+ // display
+ this.calculateNubbinPlacement(component, placement);
+ }
+
+ var tooltipYPos, tooltipXPos;
+ var nubbinPadding = 14;
+
+ var tooltipStyle = component.find('tooltipStyle').getElement();
+
+ if (placement === 'right') {
+ tooltipXPos = containerWidth + nubbinPadding;
+ tooltipYPos = (containerHeight - tooltipHeight) / 2;
+ } else if (placement === 'bottom') {
+ tooltipXPos = (containerWidth - tooltipWidth) / 2;
+ tooltipYPos = containerHeight + nubbinPadding;
+
+ if ((containerLeft + tooltipXPos) < 4) {
+ adjustment = Math.abs(containerLeft + tooltipXPos) + 4;
+
+ tooltipXPos += adjustment;
+ tooltipStyle.innerHTML = '.st-popover_container .slds-nubbin--top:before { transform: translateX(' + -adjustment + 'px) rotate(45deg); } .st-popover_container .slds-nubbin--top:after { transform: translateX(' + -adjustment + 'px) rotate(45deg); }';
+ } else if ((containerRight + Math.abs(tooltipXPos)) > (window.innerWidth - 4)) {
+ adjustment = (containerRight + Math.abs(tooltipXPos)) - (window.innerWidth - 4);
+
+ tooltipXPos -= adjustment;
+ tooltipStyle.innerHTML = '.st-popover_container .slds-nubbin--top:before { transform: translateX(' + adjustment + 'px) rotate(45deg); } .st-popover_container .slds-nubbin--top:after { transform: translateX(' + adjustment + 'px) rotate(45deg); }';
+ }
+ } else if (placement === 'left') {
+ tooltipXPos = -tooltipWidth - nubbinPadding;
+ tooltipYPos = (containerHeight - tooltipHeight) / 2;
+ } else { // Top
+ tooltipXPos = (containerWidth - tooltipWidth) / 2;
+ tooltipYPos = -tooltipHeight - nubbinPadding;
+
+ if ((containerLeft + tooltipXPos) < 4) {
+ adjustment = Math.abs(containerLeft + tooltipXPos) + 4;
+
+ tooltipXPos += adjustment;
+ tooltipStyle.innerHTML = '.st-popover_container .slds-nubbin--bottom:before { transform: translateX(' + -adjustment + 'px) rotate(45deg); } .st-popover_container .slds-nubbin--bottom:after { transform: translateX(' + -adjustment + 'px) rotate(45deg); }';
+ } else if ((containerRight + Math.abs(tooltipXPos)) > (window.innerWidth - 4)) {
+ adjustment = (containerRight + Math.abs(tooltipXPos)) - (window.innerWidth - 4);
+
+ tooltipXPos -= adjustment;
+ tooltipStyle.innerHTML = '.st-popover_container .slds-nubbin--bottom:before { transform: translateX(' + adjustment + 'px) rotate(45deg); } .st-popover_container .slds-nubbin--bottom:after { transform: translateX(' + adjustment + 'px) rotate(45deg); }';
+ }
+ }
+
+ return {
+ tooltipXPos : tooltipXPos,
+ tooltipYPos : tooltipYPos,
+ width : tooltipWidth
+ }
+ }
+})
+/*
+Copyright 2017 Appiphony, LLC
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
+following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following
+disclaimer.
+2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following
+disclaimer in the documentation and/or other materials provided with the distribution.
+3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote
+products derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
\ No newline at end of file
diff --git a/force-app/main/default/aura/taskFeedback/taskFeedback.auradoc b/force-app/main/default/aura/taskFeedback/taskFeedback.auradoc
new file mode 100644
index 0000000..d0d6eb5
--- /dev/null
+++ b/force-app/main/default/aura/taskFeedback/taskFeedback.auradoc
@@ -0,0 +1,6 @@
+<aura:documentation>
+ <aura:description>Documentation</aura:description>
+ <aura:example name="ExampleName" ref="exampleComponentName" label="Label">
+ Example Description
+ </aura:example>
+</aura:documentation>
\ No newline at end of file
diff --git a/force-app/main/default/aura/taskFeedback/taskFeedback.cmp b/force-app/main/default/aura/taskFeedback/taskFeedback.cmp
new file mode 100644
index 0000000..b9dff41
--- /dev/null
+++ b/force-app/main/default/aura/taskFeedback/taskFeedback.cmp
@@ -0,0 +1,416 @@
+<aura:component implements="force:appHostable,lightning:isUrlAddressable,flexipage:availableForAllPageTypes,flexipage:availableForRecordHome,force:hasRecordId,force:lightningQuickAction,forceCommunity:availableForAllPageTypes"
+controller="TaskFeedbackController" >
+ <aura:attribute name="opportunity_cfilter" type="String" default="" />
+
+ <aura:attribute name="selectedData" type="Object[]" />
+ <aura:attribute name="data" type="Object[]" />
+ <aura:attribute name="dataCopy" type="Object[]" />
+ <aura:attribute name="columns" type="List" />
+ <aura:attribute name="data2" type="Object[]" />
+ <aura:attribute name="data2Copy" type="Object[]" />
+ <aura:attribute name="tempdata" type="Object" />
+ <aura:attribute name="myOrSub" type="string" />
+ <aura:attribute name="myTempTask" type="task__c" default="{sobjectType:'task__c'}" />
+ <aura:attribute name="myTaskName" type="String" />
+ <aura:attribute name="myTaskType" type="String" default=""/>
+ <aura:attribute name="myTaskStatus" type="String" default=""/>
+ <aura:attribute name="myStartDate" type="Date" />
+ <aura:attribute name="myEndDate" type="Date" />
+ <aura:attribute name="subTempTask" type="task__c" default="{sobjectType:'task__c'}" />
+ <aura:attribute name="subTaskName" type="String" />
+ <aura:attribute name="subTaskType" type="String" default=""/>
+ <aura:attribute name="subTaskStatus" type="String" default=""/>
+ <aura:attribute name="subStartDate" type="Date" />
+ <aura:attribute name="subEndDate" type="Date" />
+ <aura:attribute name="subSFDCPosition" type="String" default="" />
+ <aura:attribute name="subfilter" type="String" default=" alias = '鐜嬫収' " />
+ <!--20210104 CHAN-BWX3YU you start -->
+ <aura:attribute name="subfilter_Owner" type="String" default=" alias = '鐜嬫収' " />
+ <!--20210104 CHAN-BWX3YU you end -->
+
+
+ <aura:attribute name="columns2" type="List" />
+ <aura:attribute name="sortDirection" type="String" default="asc" />
+ <aura:attribute name="sortDirection2" type="String" default="asc" />
+ <aura:attribute name="defaultSortDirection" type="String" default="asc" />
+ <aura:attribute name="sortedBy" type="String" />
+ <aura:attribute name="sortedBy2" type="String" />
+
+ <aura:attribute name="activeSections" type="List" default="['A','B']" />
+ <aura:attribute name="cancelIsOpen" type="boolean" default="false"/>
+ <aura:attribute name="checkEnquiry" type="boolean" default="false"/>
+ <aura:attribute name="cancelReason" type="string" default=""/>
+ <aura:attribute name="cancelReasonOther" type="string" default=""/>
+ <aura:attribute name="delayIsOpen" type="boolean" default="false"/>
+ <aura:attribute name="delayReason" type="string" default="" />
+ <aura:attribute name="delayReasonOther" type="string" default="" />
+ <aura:attribute name="assignIsOpen" type="boolean" default="false"/>
+ <!--20210104 CHAN-BWX3YU you start -->
+ <aura:attribute name="assignIsOpen_Over" type="boolean" default="false"/>
+ <!--20210104 CHAN-BWX3YU you end -->
+
+ <!-- 20211020 鍚堝苟浠诲姟纭寮规 start -->
+ <aura:attribute name="mergeIsOpen_Over" type="boolean" default="false"/>
+ <!-- 20211020 鍚堝苟浠诲姟纭寮规 end -->
+
+ <aura:attribute name="taskTypeOptions" type="List" default="[
+ {'label': '鎵�鏈�', 'value': ''},
+ ]"/>
+
+ <aura:attribute name="taskStatusOptions" type="List" default="[
+ {'label': '01 鍒嗛厤', 'value': '01 鍒嗛厤'},
+
+ ]"/>
+ <aura:attribute name="SFDCPositionOptions" type="List" default="[
+ {'label': '鎵�鏈�', 'value': ''},
+ ]"/>
+ <aura:attribute name="cancelReasonOptions" type="List" default="[
+ {'label': '鍏朵粬', 'value': '鍏朵粬'},
+ ]"/>
+
+ <aura:attribute name="delayReasonOptions" type="List" default="[
+ {'label': '鍏朵粬', 'value': '鍏朵粬'},
+ ]"/>
+ <aura:attribute name="successMessage" type="String"/>
+ <aura:attribute name="errorMessage" type="String"/>
+ <!--2021-09-28 mzy 浠诲姟绠$悊鏀瑰杽 start-->
+ <aura:attribute name="taskDifferentOptions" type="List" default="[
+ {'label': '鎵�鏈�', 'value': ''},
+
+ ]"/>
+ <aura:attribute name="myTaskDifferent" type="String" default=""/>
+ <aura:attribute name="subTaskDifferent" type="String" default=""/>
+ <!--2021-09-28 mzy 浠诲姟绠$悊鏀瑰杽 end-->
+ <!--2021-10-19 mzy 浠诲姟绠$悊鏀瑰杽 start-->
+ <aura:attribute name="confirmIsOpen" type="boolean" default="false"/>
+ <aura:attribute name="IsEventDefault" type="boolean" default="false"/>
+ <aura:attribute name="IsGeneratePlan" type="boolean" default="false"/>
+ <aura:attribute name="feedBackContent" type="String" />
+ <!--2021-10-19 mzy 浠诲姟绠$悊鏀瑰杽 end-->
+ <aura:handler name="init" value="{! this }" action="{! c.init }"/>
+
+ <div>
+ <lightning:spinner aura:id="mySpinner" size="large" class="slds-hide"/>
+ </div>
+ <div style="margin-top:20px; ">
+
+
+ <lightning:accordion
+ allowMultipleSectionsOpen="true"
+ activeSectionName="{! v.activeSections }"
+ >
+ <lightning:accordionSection name="A" label="寰呭弽棣堢殑浠诲姟">
+ <div class="c-container">
+ <lightning:layout multipleRows="true">
+
+ <lightning:layoutItem size="12" smallDeviceSize="6" mediumDeviceSize="4" largeDeviceSize="3" padding="horizontal_small">
+ <p class="slds-p-horizontal_small">
+ <lightning:input name="myTaskName" label="浠诲姟鍚嶇О"
+ value="{! v.myTaskName }"
+ placeholder="璇疯緭鍏�..." variant="label-inline" />
+
+ </p>
+ </lightning:layoutItem>
+ <lightning:layoutItem size="12" smallDeviceSize="6" mediumDeviceSize="4" largeDeviceSize="3" padding="horizontal_small">
+ <p class="slds-p-horizontal_small">
+ <lightning:combobox name="myTaskType" label="浠诲姟绫诲瀷"
+ value="{! v.myTaskType }" placeholder="璇烽�夋嫨"
+ options="{! v.taskTypeOptions }"
+ variant="label-inline" />
+
+ </p>
+ </lightning:layoutItem>
+
+ <!-- <lightning:layoutItem size="12" smallDeviceSize="6" mediumDeviceSize="4" largeDeviceSize="3" padding="horizontal_small">
+ <p class="slds-p-horizontal_small">
+ <lightning:combobox name="myTaskStatus" label="浠诲姟鐘舵��"
+ value="{! v.myTaskStatus }" placeholder="璇烽�夋嫨"
+ options="{! v.taskStatusOptions }"
+ variant="label-inline" />
+
+ </p>
+ </lightning:layoutItem> -->
+ <!--2021-11-05 mzy 浠诲姟绠$悊鏀瑰杽 start -->
+ <lightning:layoutItem size="12" smallDeviceSize="6" mediumDeviceSize="4" largeDeviceSize="1" padding="horizontal_small">
+ <div style="padding-top: 5px;padding-left: 15px;color:#6B6D70;">瀹㈡埛</div>
+ </lightning:layoutItem>
+ <!--2021-11-05 mzy 浠诲姟绠$悊鏀瑰杽 end-->
+ <lightning:layoutItem size="12" smallDeviceSize="6" mediumDeviceSize="4" largeDeviceSize="4" padding="horizontal_small">
+ <p class="slds-p-horizontal_small">
+ <c:strike_lookup label="瀹㈡埛锛�"
+ object="Account"
+ searchField="Name"
+ placeholder="鎼滅储瀹㈡埛..."
+ iconName="standard:account"
+ subtitleField="Is_Active_Formula__c,Management_Code__c"
+ order="Name"
+ limit="5"
+ loadingMessage="鍔犺浇涓�..."
+ errorMessage="Invalid input"
+ allowNewRecords = "false"
+ overrideNewEvent = "true"
+ showRecentRecords ="true"
+ value="{!v.myTempTask.account__c}"
+
+ subTitleFormat="{0}+{1}"/>
+
+ </p>
+ </lightning:layoutItem>
+ <lightning:layoutItem size="12" smallDeviceSize="6" mediumDeviceSize="4" largeDeviceSize="1" padding="horizontal_small">
+
+ </lightning:layoutItem>
+
+ <!--2021-09-28 mzy 浠诲姟绠$悊鏀瑰杽 start-->
+ <lightning:layoutItem size="12" smallDeviceSize="6" mediumDeviceSize="4" largeDeviceSize="3" padding="horizontal_small">
+ <p class="slds-p-horizontal_small">
+ <lightning:combobox name="myTaskDifferent" label="浠诲姟鍖哄垎"
+ value="{! v.myTaskDifferent }" placeholder="璇烽�夋嫨"
+ options="{! v.taskDifferentOptions }"
+ variant="label-inline" />
+
+ </p>
+ </lightning:layoutItem>
+ <!--2021-09-28 mzy 浠诲姟绠$悊鏀瑰杽 end-->
+ <lightning:layoutItem size="12" smallDeviceSize="6" mediumDeviceSize="4" largeDeviceSize="3" padding="horizontal_small">
+ <p class="slds-p-horizontal_small">
+ <lightning:input type="date" name="myStartDate"
+ label="鍒涘缓鏃ユ湡" value="{! v.myStartDate }"
+ placeholder="璇烽�夋嫨" variant="label-inline" />
+
+ </p>
+ </lightning:layoutItem>
+
+ <lightning:layoutItem size="12" smallDeviceSize="6" mediumDeviceSize="4" largeDeviceSize="3" padding="horizontal_small">
+ <p class="slds-p-horizontal_small">
+ <lightning:input type="date" name="myEndDate"
+ label="鑷�" value="{! v.myEndDate }"
+ placeholder="璇烽�夋嫨" variant="label-inline" />
+
+ </p>
+ </lightning:layoutItem>
+
+
+ <lightning:layoutItem size="12" smallDeviceSize="6" mediumDeviceSize="4" largeDeviceSize="3" padding="horizontal_small">
+ <p class="slds-p-horizontal_small">
+ <lightning:button label="纭" iconName="utility:search"
+ iconPosition="left"
+ onclick="{! c.myTaskSearch }" />
+
+ </p>
+ </lightning:layoutItem>
+
+ </lightning:layout>
+ </div>
+
+
+ <div style="height: 450px ; margin-left:10px; margin-right :10px; ">
+ <lightning:datatable
+ keyField="id"
+ data="{! v.data }"
+ columns="{! v.columns }"
+ hideCheckboxColumn="true"
+ defaultSortDirection="{!v.defaultSortDirection}"
+ sortedDirection="{!v.sortDirection}"
+ sortedBy="{!v.sortedBy}"
+ onsort="{!c.handleSort}"
+ onrowaction="{! c.handleMyRowAction }"
+ onrowselection="{! c.updateSelectedText }"
+ />
+ </div>
+ </lightning:accordionSection>
+ <lightning:accordionSection name="B" label="涓嬪睘鐨勫緟鍙嶉浠诲姟" >
+ <div class="c-container">
+ <lightning:layout multipleRows="true">
+
+ <lightning:layoutItem size="12" smallDeviceSize="6" mediumDeviceSize="4" largeDeviceSize="3" padding="horizontal_small">
+ <p class="slds-p-horizontal_small">
+ <lightning:input name="subTaskName" label="浠诲姟鍚嶇О"
+ value="{! v.subTaskName }"
+ placeholder="璇疯緭鍏�..." variant="label-inline" />
+
+ </p>
+ </lightning:layoutItem>
+ <lightning:layoutItem size="12" smallDeviceSize="6" mediumDeviceSize="4" largeDeviceSize="3" padding="horizontal_small">
+ <p class="slds-p-horizontal_small">
+ <lightning:combobox name="subTaskType" label="浠诲姟绫诲瀷"
+ value="{! v.subTaskType }" placeholder="璇烽�夋嫨"
+ options="{! v.taskTypeOptions }"
+ variant="label-inline" />
+
+ </p>
+ </lightning:layoutItem>
+
+ <!-- <lightning:layoutItem size="12" smallDeviceSize="6" mediumDeviceSize="4" largeDeviceSize="3" padding="horizontal_small">
+ <p class="slds-p-horizontal_small">
+ <lightning:combobox name="subTaskStatus" label="浠诲姟鐘舵��"
+ value="{! v.subTaskStatus }" placeholder="璇烽�夋嫨"
+ options="{! v.taskStatusOptions }"
+ variant="label-inline" />
+
+ </p>
+ </lightning:layoutItem> -->
+
+
+ <lightning:layoutItem size="12" smallDeviceSize="6" mediumDeviceSize="4" largeDeviceSize="3" padding="horizontal_small">
+
+ <p class="slds-p-horizontal_small">
+ 瀹㈡埛锛�
+ <c:strike_lookup label="瀹㈡埛锛�"
+ object="Account"
+ searchField="Name"
+ placeholder="鎼滅储瀹㈡埛..."
+ iconName="standard:account"
+ subtitleField="Is_Active_Formula__c,Management_Code__c"
+ order="Name"
+ limit="5"
+ loadingMessage="鍔犺浇涓�..."
+ errorMessage="Invalid input"
+ allowNewRecords = "false"
+ overrideNewEvent = "true"
+ showRecentRecords ="true"
+ value="{!v.subTempTask.account__c}"
+ subTitleFormat="{0}+{1}"/>
+ </p>
+ </lightning:layoutItem>
+ <!--2021-09-28 mzy 浠诲姟绠$悊鏀瑰杽 start-->
+ <lightning:layoutItem size="12" smallDeviceSize="6" mediumDeviceSize="4" largeDeviceSize="3" padding="horizontal_small">
+ <p class="slds-p-horizontal_small">
+ <lightning:combobox name="subTaskDifferent" label="浠诲姟鍖哄垎"
+ value="{! v.subTaskDifferent }" placeholder="璇烽�夋嫨"
+ options="{! v.taskDifferentOptions }"
+ variant="label-inline" />
+
+ </p>
+ </lightning:layoutItem>
+ <!--2021-09-28 mzy 浠诲姟绠$悊鏀瑰杽 end-->
+ <lightning:layoutItem size="12" smallDeviceSize="6" mediumDeviceSize="4" largeDeviceSize="3" padding="horizontal_small">
+ <p class="slds-p-horizontal_small">
+ <lightning:input type="date" name="subStartDate"
+ label="鍒涘缓鏃ユ湡" value="{! v.subStartDate }"
+ placeholder="璇烽�夋嫨" variant="label-inline" />
+
+ </p>
+ </lightning:layoutItem>
+
+ <lightning:layoutItem size="12" smallDeviceSize="6" mediumDeviceSize="4" largeDeviceSize="3" padding="horizontal_small">
+ <p class="slds-p-horizontal_small">
+ <lightning:input type="date" name="subEndDate"
+ label="鑷�" value="{! v.subEndDate }"
+ placeholder="璇烽�夋嫨" variant="label-inline" />
+
+ </p>
+ </lightning:layoutItem>
+ <!--2021-09-28 mzy 浠诲姟绠$悊鏀瑰杽 start-->
+ <lightning:layoutItem size="12" smallDeviceSize="6" mediumDeviceSize="4" largeDeviceSize="3" padding="horizontal_small">
+ </lightning:layoutItem>
+ <!--2021-09-28 mzy 浠诲姟绠$悊鏀瑰杽 end-->
+ <lightning:layoutItem size="12" smallDeviceSize="6" mediumDeviceSize="4" largeDeviceSize="3" padding="horizontal_small">
+ <p class="slds-p-horizontal_small">
+ <lightning:combobox name="subSFDCPosition" label=" SFDC鑱岀"
+ value="{! v.subSFDCPosition }" placeholder="璇烽�夋嫨"
+ options="{! v.SFDCPositionOptions }"
+ variant="label-inline" />
+
+ </p>
+ </lightning:layoutItem>
+
+
+ <lightning:layoutItem size="12" smallDeviceSize="6" mediumDeviceSize="4" largeDeviceSize="3" padding="horizontal_small">
+ <p class="slds-p-horizontal_small" >
+ <lightning:button label="纭" iconName="utility:search"
+ iconPosition="left"
+ onclick="{! c.subTaskSearch }" />
+
+ </p>
+ </lightning:layoutItem>
+
+ </lightning:layout>
+ </div>
+ <div style="height: 250px ; margin-left:10px; margin-right :10px; ">
+ <lightning:datatable
+ keyField="id"
+ data="{! v.data2 }"
+ columns="{! v.columns2 }"
+ hideCheckboxColumn="true"
+ defaultSortDirection="{!v.defaultSortDirection}"
+ sortedDirection="{!v.sortDirection2}"
+ sortedBy="{!v.sortedBy2}"
+ onsort="{!c.handleSort2}"
+ onrowaction="{! c.handleSubRowAction }"/>
+ </div>
+ </lightning:accordionSection>
+
+ <div class="slds-modal slds-fade-in-open slds-hide" aura:id="successDiv">
+ <ui:inputText aura:id="articleURL"/>
+ <div class="demo-only" style="height: 8rem;">
+ <div class="slds-notify_container slds-is-relative">
+ <div class="slds-notify slds-notify_toast slds-theme_success" role="alert">
+ <div class=" slds-m-left_xx-large">
+ <div class="slds-notify__content slds-m-left_small slds-align_absolute-center slds-m-left_xx-large">
+ <lightning:icon alternativeText="Success" iconName="utility:success" size="small"
+ class="buttonColor slds-m-right_small" />
+ <h2 class="slds-text-heading_small ">{!v.successMessage}</h2>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="slds-modal slds-fade-in-open slds-hide" aura:id="errorDiv" style="z-index: 10001">
+ <ui:inputText aura:id="articleURL"/>
+ <div class="demo-only" style="height: 8rem;">
+ <div class="slds-notify_container slds-is-relative">
+ <div class="slds-notify slds-notify_toast slds-theme_error" role="status">
+ <div class=" slds-m-left_xx-large">
+ <div class="slds-notify__content slds-m-left_small slds-align_absolute-center slds-m-left_xx-large">
+ <lightning:icon alternativeText="error" iconName="utility:error" size="small"
+ class="buttonColor slds-m-right_small" />
+ <h2 class="slds-text-heading_small ">{!v.errorMessage}</h2>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ </lightning:accordion>
+ <!--2021-11-05 mzy 浠诲姟绠$悊鏀瑰杽 start-->
+ <aura:if isTrue="{!v.confirmIsOpen}">
+ <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" style ="min-Height: 400px">
+
+ <header class="slds-modal__header" style= "max-width: 600px;" >
+ <lightning:buttonIcon iconName="utility:close"
+ onclick="{! c.closeAcceptModel }"
+ alternativeText="close"
+ variant="bare-inverse"
+ class="slds-modal__close"/>
+ <h2 id="modal-heading-01" class="slds-text-heading_medium slds-hyphenate">璇峰~鍐欏弽棣堝唴瀹�</h2>
+ </header>
+ <div class="slds-modal__content slds-p-around_medium" id="modal-content-id-1" style ="min-Height: 250px;max-width: 600px;">
+ <!--鍙嶉鍐呭-->
+ <ui:outputText value="鍙嶉鍐呭:" class="fontSize"/>
+ <ui:inputTextArea aura:id="feedBackContent" label="" value="{!v.feedBackContent}" rows="5" class="fontSize TextArea" />
+ </div>
+ <!--###### MODAL BOX FOOTER Part Start ######-->
+ <footer class="slds-modal__footer" style= "max-width: 600px;">
+
+ <lightning:button variant="brand"
+ label="纭"
+ title="Confirm"
+ onclick="{! c.ConfirmAccept }"/>
+ <lightning:button variant="neutral"
+ label="鍙栨秷"
+ title="Cancel"
+ onclick="{! c.closeAcceptModel }"/>
+ </footer>
+ </div>
+ </section>
+ <div class="slds-backdrop slds-backdrop_open"></div>
+ </aura:if>
+ <!--2021-10-19 mzy 浠诲姟绠$悊鏀瑰杽 end-->
+ </div>
+
+</aura:component>
\ No newline at end of file
diff --git a/force-app/main/default/aura/taskFeedback/taskFeedback.cmp-meta.xml b/force-app/main/default/aura/taskFeedback/taskFeedback.cmp-meta.xml
new file mode 100644
index 0000000..809f48b
--- /dev/null
+++ b/force-app/main/default/aura/taskFeedback/taskFeedback.cmp-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<AuraDefinitionBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>52.0</apiVersion>
+ <description>A Lightning Component Bundle</description>
+</AuraDefinitionBundle>
diff --git a/force-app/main/default/aura/taskFeedback/taskFeedback.css b/force-app/main/default/aura/taskFeedback/taskFeedback.css
new file mode 100644
index 0000000..e03e958
--- /dev/null
+++ b/force-app/main/default/aura/taskFeedback/taskFeedback.css
@@ -0,0 +1,21 @@
+.THIS#test {
+ position: absolute;
+}
+.THIS .slds-dropdown_left{
+ overflow:auto;
+}
+/*2021-10-19 mzy 浠诲姟绠$悊鏀瑰杽 start*/
+.THIS .fontSize{
+ font-size: 20px;
+}
+.THIS .CheckSize{
+ width: 20px;
+ height: 20px;
+}
+.THIS .TextArea{
+ margin: 0px;
+ width: 556px;
+ height: 190px;
+ resize: none;
+}
+/*2021-10-19 mzy 浠诲姟绠$悊鏀瑰杽 end*/
\ No newline at end of file
diff --git a/force-app/main/default/aura/taskFeedback/taskFeedback.design b/force-app/main/default/aura/taskFeedback/taskFeedback.design
new file mode 100644
index 0000000..d247163
--- /dev/null
+++ b/force-app/main/default/aura/taskFeedback/taskFeedback.design
@@ -0,0 +1,3 @@
+<design:component >
+
+</design:component>
\ No newline at end of file
diff --git a/force-app/main/default/aura/taskFeedback/taskFeedback.svg b/force-app/main/default/aura/taskFeedback/taskFeedback.svg
new file mode 100644
index 0000000..e201ae9
--- /dev/null
+++ b/force-app/main/default/aura/taskFeedback/taskFeedback.svg
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
+<svg width="120px" height="120px" viewBox="0 0 120 120" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+ <path d="M120,108 C120,114.6 114.6,120 108,120 L12,120 C5.4,120 0,114.6 0,108 L0,12 C0,5.4 5.4,0 12,0 L108,0 C114.6,0 120,5.4 120,12 L120,108 L120,108 Z" id="Shape" fill="#2A739E" />
+ <path d="M77.7383308,20 L61.1640113,20 L44.7300055,63.2000173 L56.0543288,63.2000173 L40,99.623291 L72.7458388,54.5871812 L60.907727,54.5871812 L77.7383308,20 Z" id="Path-1" fill="#FFFFFF" />
+ </g>
+</svg>
\ No newline at end of file
diff --git a/force-app/main/default/aura/taskFeedback/taskFeedbackController.js b/force-app/main/default/aura/taskFeedback/taskFeedbackController.js
new file mode 100644
index 0000000..3cd6045
--- /dev/null
+++ b/force-app/main/default/aura/taskFeedback/taskFeedbackController.js
@@ -0,0 +1,149 @@
+({
+ // 鍒濆鍖栨柟娉�
+ init: function(cmp, event, helper) {
+ helper.setColumns(cmp);
+ helper.setData(cmp);
+ helper.setOptions(cmp);
+ helper.setSubUserFilter(cmp);
+ //20210105 CHAN-BWX3YU you start
+ helper.setSubUserFilter_Owner(cmp);
+ //20210105 CHAN-BWX3YU you end
+
+ // 寮哄埗妯睆 start
+ /*const evt = "onorientationchange" in window ? "orientationchange" : "resize";
+ window.addEventListener(evt, function () {
+ const width = document.documentElement.clientWidth;
+ const height = document.documentElement.clientHeight;
+ const contentDOM = document.getElementById('test');
+ //alert('width: ' + width + ' height: ' + height)
+ if (width > height) { // 妯睆
+ contentDOM.style.width = width + 'px';
+ contentDOM.style.height = height + 'px';
+ contentDOM.style.top = '0px';
+ contentDOM.style.left = '0px';
+ contentDOM.style.transform = 'none';
+ }
+ else {
+ //alert('change to portrait')
+ contentDOM.style.width = height + 'px';
+ contentDOM.style.height = width + 'px';
+ contentDOM.style.top = (height - width) / 2 + 'px';
+ contentDOM.style.left = 0 - (height - width) / 2 + 'px';
+ contentDOM.style.transform = 'rotate(90deg)';
+ }
+
+ }, false);*/
+ // 寮哄埗妯睆 end
+ },
+ // 鎴戠殑浠诲姟鎺掑簭鐨勫搷搴旀柟娉�
+ handleSort: function(cmp, event, helper) {
+ helper.handleSort(cmp, event);
+ },
+ // 涓嬪睘鐨勪换鍔℃帓搴忕殑鍝嶅簲鏂规硶
+ handleSort2: function(cmp, event, helper) {
+ helper.handleSort2(cmp, event);
+ },
+ //妫�绱㈡垜鐨勪换鍔$殑鍝嶅簲鏂规硶
+ myTaskSearch: function(cmp, event, helper) {
+ helper.myTaskSearch(cmp, event);
+ },
+ //妫�绱笅灞炵殑浠诲姟鐨勫搷搴旀柟娉�
+ subTaskSearch: function(cmp, event, helper) {
+ helper.subTaskSearch(cmp, event);
+ },
+ //鎴戠殑浠诲姟姣忚鎸夐挳鐨勫搷搴旀柟娉�
+ handleMyRowAction: function (cmp, event, helper) {
+ cmp.set('v.myOrSub', 'my');
+ helper.handleRowAction(cmp, event, helper);
+ },
+ // 涓嬪睘鐨勪换鍔℃瘡琛屾寜閽殑鍝嶅簲鏂规硶
+ handleSubRowAction: function (cmp, event, helper) {
+ cmp.set('v.myOrSub', 'sub');
+ helper.handleRowAction(cmp, event, helper);
+ },
+ // 鍏抽棴鍙栨秷 dialog 鐨勫搷搴旀柟娉�
+ closeCancelModel: function(cmp) {
+ // for Hide/Close Model,set the "isOpen" attribute to "Fasle"
+ cmp.set("v.cancelIsOpen", false);
+ },
+ // 纭鍙栨秷鐨勫搷搴旀柟娉�
+ ConfirmCancel: function(cmp, event, helper) {
+ helper.ConfirmCancel(cmp, event);
+ },
+ // 鍏抽棴寤舵湡 dialog 鐨勫搷搴旀柟娉�
+ closeDelayModel: function(cmp) {
+ // for Hide/Close Model,set the "isOpen" attribute to "Fasle"
+ cmp.set("v.delayIsOpen", false);
+ },
+ // 纭寤舵湡鐨勫搷搴旀柟娉�
+ ConfirmDelay: function(cmp, event, helper) {
+ helper.ConfirmDelay(cmp, event);
+ },
+ // 鍏抽棴閲嶆柊鍒嗛厤 dialog 鐨勫搷搴旀柟娉�
+ closeAssignModel: function(cmp) {
+ cmp.set("v.assignIsOpen", false);
+ },
+ //20210105 CHAN-BWX3YU you start
+ // 鍏抽棴閲嶆柊鍒嗛厤 dialog 鐨勫搷搴旀柟娉�
+ closeAssignModel_Owner: function(cmp) {
+ cmp.set("v.assignIsOpen_Over", false);
+ },
+ // 纭閲嶆柊鍒嗛厤鐨勫搷搴旀柟娉�
+ ConfirmAssign: function(cmp, event, helper) {
+ helper.ConfirmAssign(cmp, event);
+ },
+ //20210105 CHAN-BWX3YU you end
+
+ //20211020 鍚堝苟浠诲姟 yjk start
+ closeMergeModel: function(cmp) {
+ cmp.set("v.mergeIsOpen_Over", false);
+ },
+ //20211020 鍚堝苟浠诲姟 yjk start
+
+ // 纭閲嶆柊鍒嗛厤鐨勫搷搴旀柟娉�
+ ConfirmAssign_Owner: function(cmp, event, helper) {
+ helper.ConfirmAssign_Owner(cmp, event);
+ },
+ //2021-10-19 mzy 浠诲姟绠$悊鏀瑰杽 start
+ ConfirmAccept:function(cmp, event, helper) {
+ helper.Confirm(cmp,event);
+ },
+ //鍏抽棴鎺ュ彈 dialog 鐨勫搷搴旀柟娉�
+ closeAcceptModel:function(cmp, event, helper) {
+ cmp.set("v.confirmIsOpen", false);
+ cmp.set("v.IsEventDefault", false);
+ cmp.set("v.IsGeneratePlan", false);
+ cmp.set("v.feedBackContent", null);
+ },
+ //2021-10-19 mzy 浠诲姟绠$悊鏀瑰杽 end
+
+ updateSelectedText: function (cmp, event) {
+ var selectedRows = event.getParam('selectedRows');
+ cmp.set('v.selectedData',selectedRows)
+ },
+ MergeConfirmAction : function(cmp,event,helper){
+ helper.MergeConfirm(cmp,event)
+ },
+
+ //2021-10-25 yjk 鍙栨秷鍘熷洜涓哄け鍗曪紝鏌ョ湅璇环鎶ュ憡鎸夐挳 start
+ cancelReasonChange : function(cmp,event,helper){
+
+ var cancelReason = cmp.get("v.cancelReason");
+
+ if(cancelReason === "瀹㈡埛宸查噰璐珵鍝侊紝澶卞崟"){
+ cmp.set("v.checkEnquiry",true);
+ }else{
+ cmp.set("v.checkEnquiry",false);
+ }
+
+ },
+ checkEnquiry : function(cmp,event,helper){
+ var tempData = cmp.get("v.tempdata");
+ helper.checkEnquiry(cmp,tempData.id);
+ }
+
+
+
+ //2021-10-25 yjk 鍙栨秷鍘熷洜涓哄け鍗曪紝鏌ョ湅璇环鎶ュ憡鎸夐挳 end
+
+});
\ No newline at end of file
diff --git a/force-app/main/default/aura/taskFeedback/taskFeedbackHelper.js b/force-app/main/default/aura/taskFeedback/taskFeedbackHelper.js
new file mode 100644
index 0000000..fe6ff07
--- /dev/null
+++ b/force-app/main/default/aura/taskFeedback/taskFeedbackHelper.js
@@ -0,0 +1,900 @@
+({
+ // 鎴戠殑浠诲姟data Table 鏍忕洰鍒濆鍖�
+ COLUMNS: [
+ {
+ label: '浠诲姟鍚嶇О',
+ fieldName: 'taskId',
+ type: 'url',
+ typeAttributes: {
+ label: {
+ fieldName: 'taskName'
+ },
+ target: '_blank'
+ },
+ sortable: true ,
+ wrapText: true,
+ },
+ { label: '浠诲姟绫诲瀷', fieldName: 'taskType', type: 'text' ,wrapText: true, sortable: true, },
+ { label: '浠诲姟鐘舵��', fieldName: 'taskStatus', type: 'text' ,wrapText: true, sortable: true, },
+ //2021-09-28 mzy 浠诲姟绠$悊鏀瑰杽 start
+ { label: '浠诲姟鍖哄垎', fieldName: 'taskDifferent', type: 'text' ,wrapText: true, sortable: true, },
+ //2021-09-28 mzy 浠诲姟绠$悊鏀瑰杽 end
+ {
+ label: '瀹㈡埛',
+ fieldName: 'taskAccountID',
+ type: 'url',
+ typeAttributes: {
+ label: {
+ fieldName: 'taskAccountName'
+ },
+ target: '_blank'
+ },
+ sortable: true ,
+ wrapText: true,
+ },
+ //20210329 WLIG-BZK59N mzy start
+ {
+ label: '鐩稿叧淇℃伅',
+ fieldName: 'taskRelatedInformationID',
+ type:'url',
+ typeAttributes: {
+ label: {
+ fieldName: 'taskRelatedInformation'
+ },
+ target: '_self'
+ },
+ sortable: true,
+ wrapText: true,
+ },
+ //20210329 WLIG-BZK59N mzy end
+ {
+ label: '琚垎閰嶈��',
+ fieldName: 'taskAssigneeUrl',
+ type: 'url',
+ typeAttributes: {
+ label: {
+ fieldName: 'taskAssigneeName'
+ },
+ target: '_blank'
+ },
+ sortable: true,
+ wrapText: true,
+ },
+ {
+ label: "鍒涘缓鏃ユ湡",
+ fieldName: "taskCreateddate",
+ type: "date-local",
+ typeAttributes:{
+ weekday: "long",
+ year: "numeric",
+ month: "long",
+ day: "2-digit"
+ },
+ sortable: true ,
+ wrapText: true,
+ },
+ {
+ label: '鍙嶉',
+ type: 'button',
+ typeAttributes:
+ {
+ iconName: 'utility:check',
+ label: '鍙嶉',
+ name: 'Confirm',
+ title: '鍙嶉',
+ disabled: false,
+ value: 'Confirm'
+ },
+ wrapText: true,
+ }
+
+
+ ],
+ // 涓嬪睘浠诲姟data Table 鏍忕洰鍒濆鍖�
+ COLUMNS2: [
+ {
+ label: '浠诲姟鍚嶇О',
+ fieldName: 'taskId',
+ type: 'url',
+ typeAttributes: {
+ label: {
+ fieldName: 'taskName'
+ },
+ target: '_blank'
+ },
+ sortable: true ,
+ wrapText: true,
+ },
+ { label: '浠诲姟绫诲瀷', fieldName: 'taskType', type: 'text' ,wrapText: true, sortable: true, },
+ { label: '浠诲姟鐘舵��', fieldName: 'taskStatus', type: 'text' ,wrapText: true, sortable: true, },
+ //2021-09-28 mzy 浠诲姟绠$悊鏀瑰杽 start
+ { label: '浠诲姟鍖哄垎', fieldName: 'taskDifferent', type: 'text' ,wrapText: true, sortable: true, },
+ //2021-09-28 mzy 浠诲姟绠$悊鏀瑰杽 end
+ {
+ label: '瀹㈡埛',
+ fieldName: 'taskAccountID',
+ type: 'url',
+ typeAttributes: {
+ label: {
+ fieldName: 'taskAccountName'
+ },
+ target: '_blank'
+ },
+ sortable: true ,
+ wrapText: true,
+ },
+ //20210329 WLIG-BZK59N mzy start
+ {
+ label: '鐩稿叧淇℃伅',
+ fieldName: 'taskRelatedInformationID',
+ type:'url',
+ typeAttributes: {
+ label: {
+ fieldName: 'taskRelatedInformation'
+ },
+ target: '_self'
+ },
+ sortable: true,
+ wrapText: true,
+ },
+ //20210329 WLIG-BZK59N mzy end
+ {
+ label: '琚垎閰嶈��',
+ fieldName: 'taskAssigneeUrl',
+ type: 'url',
+ typeAttributes: {
+ label: {
+ fieldName: 'taskAssigneeName'
+ },
+ target: '_blank'
+ },
+ sortable: true,
+ wrapText: true,
+ },
+ {
+ label: "鍒涘缓鏃ユ湡",
+ fieldName: "taskCreateddate",
+ type: "date-local",
+ typeAttributes:{
+ weekday: "long",
+ year: "numeric",
+ month: "long",
+ day: "2-digit"
+ },
+ sortable: true ,
+ wrapText: true,
+ }
+ ],
+ // 璁惧畾鎴戠殑浠诲姟涓嬪睘浠诲姟鍏蜂綋鏈夊摢浜涙爮鐩�
+ setColumns: function(cmp) {
+ cmp.set('v.columns', this.COLUMNS);
+ cmp.set('v.columns2', this.COLUMNS2);
+ },
+ // 璁惧畾鏁版嵁
+ setData: function(cmp) {
+ var action = cmp.get("c.getFeedbackTask");
+ var myTaskName = cmp.get('v.myTaskName');
+ var myTaskType = cmp.get('v.myTaskType');
+ var myTaskStatus = cmp.get('v.myTaskStatus');
+ var mytempTask = cmp.get("v.myTempTask");
+ var myAccountID = mytempTask.account__c;
+ var today = new Date();
+ var todayMonth = '01';
+ if(today.getMonth()<9){
+ todayMonth = '0' + (today.getMonth()+1);
+ }else{
+ todayMonth = '' + (today.getMonth()+1);
+ }
+ // WLIG-BS6DH7 start
+ // var myStartDate = today.getFullYear() +'-' + todayMonth + '-01';
+ // console.log('myStartDate:'+myStartDate);
+ // cmp.set('v.myStartDate',myStartDate);
+ var myStartDate = cmp.get('v.myStartDate');
+ // WLIG-BS6DH7 end
+ var myEndDate = cmp.get('v.myEndDate');
+ var subTaskName = cmp.get('v.subTaskName');
+ var subTaskType = cmp.get('v.subTaskType');
+ var subTaskStatus = cmp.get('v.subTaskStatus');
+ var subTempTask = cmp.get("v.subTempTask");
+ var subAccountID = subTempTask.account__c;
+ var subStartDate = cmp.get('v.subStartDate');
+ var subEndDate = cmp.get('v.subEndDate');
+ var subSFDCPosition = cmp.get('v.subSFDCPosition');
+ //wangweipeng 鍒濆鍖栭粯璁や换鍔$姸鎬佹牴鎹畊rl浼犺繃鏉ョ殑鍙傛暟鏉ュ垽瀹� 2021/09/28 start
+ var flag = true;
+ var paramValue = this.getURLParameterValue();
+ if(Object.keys(paramValue).length > 0){
+ if(paramValue.paramType == '2'){
+ flag = false;
+ myTaskStatus = '02 鎺ュ彈';
+ subTaskStatus = '02 鎺ュ彈';
+ }
+ }
+ if(flag){
+ myTaskStatus = '01 鍒嗛厤';
+ subTaskStatus = '01 鍒嗛厤';
+ }
+ //wangweipeng 鍒濆鍖栭粯璁や换鍔$姸鎬佹牴鎹畊rl浼犺繃鏉ョ殑鍙傛暟鏉ュ垽瀹� 2021/09/28 end
+ //2021-09-28 mzy 浠诲姟绠$悊鏀瑰杽 start
+ var myTaskDifferent = cmp.get('v.myTaskDifferent');
+ var subTaskDifferent = cmp.get('v.subTaskDifferent');
+ //2021-09-28 mzy 浠诲姟绠$悊鏀瑰杽 end
+ this.showSpinner(cmp);
+ action.setParams({
+ "myTaskName" : myTaskName,
+ "myTaskType" : myTaskType,
+ //"myTaskStatus" : myTaskStatus,
+ "myAccountID" : myAccountID,
+ "myStartDate" : myStartDate,
+ "myEndDate" : myEndDate,
+ //2021-09-28 mzy 浠诲姟绠$悊鏀瑰杽 start
+ "myTaskDifferent" : myTaskDifferent,
+ "subTaskDifferent" : subTaskDifferent,
+ //2021-09-28 mzy 浠诲姟绠$悊鏀瑰杽 end
+ "subTaskName" : subTaskName,
+ "subTaskType" : subTaskType,
+ "subTaskStatus" : subTaskStatus,
+ "subAccountID" : subAccountID,
+ "subStartDate" : subStartDate,
+ "subEndDate" : subEndDate,
+ "subSFDCPosition": subSFDCPosition
+ });
+ action.setCallback(this, function(response) {
+ var state = response.getState();
+ if (state === "SUCCESS") {
+ var res = response.getReturnValue();
+ cmp.set('v.data',res.myTasks);
+ cmp.set('v.data2',res.subTasks);
+ cmp.set('v.dataCopy',res.myTasks);
+ cmp.set('v.data2Copy',res.subTasks);
+
+ //wangweipeng 鍒濆鍖栭粯璁や换鍔$姸鎬佹牴鎹畊rl浼犺繃鏉ョ殑鍙傛暟鏉ュ垽瀹� 2021/09/28 start
+ var flag = true;
+ if(Object.keys(paramValue).length > 0){
+ if(paramValue.paramType == '2'){
+ flag = false;
+ cmp.set('v.myTaskStatus','02 鎺ュ彈');
+ cmp.set('v.subTaskStatus','02 鎺ュ彈');
+ }
+ }
+ if(flag){
+ cmp.set('v.myTaskStatus','01 鍒嗛厤');
+ cmp.set('v.subTaskStatus','01 鍒嗛厤');
+ }
+ //wangweipeng 鍒濆鍖栭粯璁や换鍔$姸鎬佹牴鎹畊rl浼犺繃鏉ョ殑鍙傛暟鏉ュ垽瀹� 2021/09/28 start
+
+ }
+ this.hideSpinner(cmp);
+ });
+ $A.enqueueAction(action);
+ },
+ // 璁惧畾閫夐」
+ setOptions: function(cmp){
+ //console.log('Done!');
+ var action = cmp.get("c.getpickerField");
+ action.setCallback(this, function(response) {
+ var state = response.getState();
+ if (state === "SUCCESS") {
+ var res = response.getReturnValue();
+ var taskTypeOptions = res.taskTypeOptions;
+ if(!!taskTypeOptions && taskTypeOptions.length > 0 ){
+ cmp.set('v.taskTypeOptions', taskTypeOptions);
+ }
+ var taskStatusOptions = res.taskStatusOptions;
+ if(!!taskStatusOptions && taskStatusOptions.length > 0 ){
+ cmp.set('v.taskStatusOptions', taskStatusOptions);
+ }
+ var SFDCPositionOptions = res.SFDCPositionOptions;
+ if(!!SFDCPositionOptions && SFDCPositionOptions.length > 0 ){
+ cmp.set('v.SFDCPositionOptions', SFDCPositionOptions);
+ }
+ var cancelReasonOptions = res.cancelReasonOptions;
+ if(!!cancelReasonOptions && cancelReasonOptions.length > 0 ){
+ cmp.set('v.cancelReasonOptions', cancelReasonOptions);
+ }
+
+ var delayReasonOptions = res.delayReasonOptions;
+ if(!!delayReasonOptions && delayReasonOptions.length > 0 ){
+ cmp.set('v.delayReasonOptions', delayReasonOptions);
+ }
+
+ //2021-09-28 mzy 浠诲姟绠$悊鏀瑰杽 start
+ var taskDifferentOptions = res.taskDifferentOptions;
+ if(!!taskDifferentOptions && taskDifferentOptions.length > 0 ){
+ cmp.set('v.taskDifferentOptions', taskDifferentOptions);
+ }
+ //2021-09-28 mzy 浠诲姟绠$悊鏀瑰杽 end
+
+ //console.log('taskTypeOptions.length:'+taskTypeOptions.length);
+
+ }
+ this.hideSpinner(cmp);
+ });
+ $A.enqueueAction(action);
+ },
+ // 璁惧畾妫�绱笅灞炴潯浠�
+ setSubUserFilter: function(cmp){
+ var myUserID = $A.get('$SObjectType.CurrentUser.Id');
+ var tempSubfilter = ' managerid = \'' + myUserID
+ + '\' or JingliApprovalManager__c = \'' + myUserID
+ + '\' or SalesManager__c = \'' + myUserID
+ + '\' or JingliEquipmentManager__c = \'' + myUserID
+ + '\' or BuchangApprovalManagerSales__c = \'' + myUserID
+ + '\' or BuchangApprovalManager__c = \'' + myUserID
+ + '\' or Buzhang_Equipment_Manager__c = \'' + myUserID
+ + '\' or ZongjianApprovalManager__c = \'' + myUserID
+ + '\' or TongkuoZongjian__c = \'' + myUserID +'\' ' ;
+ cmp.set('v.subfilter', tempSubfilter);
+ console.log('tempSubfilter:'+tempSubfilter);
+
+ },
+ //20210105 CHAN-BWX3YU you start
+ // 璁惧畾妫�绱㈠悓绾ф潯浠� 鐪佸拰鑱岀涓�鏍�
+ setSubUserFilter_Owner: function(cmp){
+ var myUserID = $A.get('$SObjectType.CurrentUser.Id');
+ var action = cmp.get("c.UserInfo_Owner");
+ action.setCallback(this, function(response) {
+ var state = response.getState();
+ console.log("state=="+state);
+ if (state === "SUCCESS") {
+ var res = response.getReturnValue();
+ if(res.result == 'Success') {
+ var Job_Category = res.Job_Category ;
+ var ProvinceName = res.ProvinceName ;
+ var tempSubfilter = ' Province__c = \'' + ProvinceName
+ + '\' and Job_Category__c = \'' + Job_Category
+ + '\' and id <> \'' + myUserID
+ + '\' and IsActive = true ';
+ cmp.set('v.subfilter_Owner', tempSubfilter);
+ console.log('tempSubfilter:'+tempSubfilter);
+ }else{
+ cmp.set("v.errorMessage", res.result);
+
+ }
+ }else if (state === "ERROR") {
+ cmp.set("v.errorMessage", '妫�绱㈠け璐ワ紒');
+ console.log("v.errorMessage=="+v.errorMessage);
+
+ }
+ });
+ $A.enqueueAction(action);
+ //鍚庡彴鏂规硶鐨勫洖璋冨嚱鏁�
+ },
+ //20210105 CHAN-BWX3YU you end
+ // 鎺掑簭閫昏緫璁惧畾
+ sortBy: function(field, reverse, primer) {
+ var 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));
+ };
+ },
+ // 涓嬪睘浠诲姟杩涜鎺掑簭
+ handleSort2: function(cmp, event) {
+ var sortedBy = event.getParam('fieldName');
+ var sortDirection = event.getParam('sortDirection');
+ var cloneData = cmp.get('v.data2Copy');
+ cloneData.sort((this.sortBy(sortedBy, sortDirection === 'asc' ? 1 : -1)));
+ cmp.set('v.data2', cloneData);
+ cmp.set('v.sortDirection2', sortDirection);
+ cmp.set('v.sortedBy2', sortedBy);
+ },
+ // 鎴戠殑浠诲姟杩涜妫�绱�
+ myTaskSearch: function(cmp, event) {
+ var action = cmp.get("c.getMyTask");
+ var myTaskName = cmp.get('v.myTaskName');
+ var myTaskType = cmp.get('v.myTaskType');
+ var myTaskStatus = cmp.get('v.myTaskStatus');
+ var mytempTask = cmp.get("v.myTempTask");
+ var myAccountID = mytempTask.account__c;
+ var myStartDate = cmp.get('v.myStartDate');
+ var myEndDate = cmp.get('v.myEndDate');
+ //2021-09-28 mzy 浠诲姟绠$悊鏀瑰杽 start
+ var myTaskDifferent = cmp.get('v.myTaskDifferent');
+ //2021-09-28 mzy 浠诲姟绠$悊鏀瑰杽 end
+ action.setParams({
+ "myTaskName" : myTaskName,
+ "myTaskType" : myTaskType,
+ //"myTaskStatus" : myTaskStatus,
+ "myAccountID" : myAccountID,
+ "myStartDate" : myStartDate,
+ "myEndDate" : myEndDate,
+ //2021-09-28 mzy 浠诲姟绠$悊鏀瑰杽 start
+ "myTaskDifferent" : myTaskDifferent
+ //2021-09-28 mzy 浠诲姟绠$悊鏀瑰杽 end
+ });
+ this.showSpinner(cmp);
+ action.setCallback(this, function(response) {
+ var state = response.getState();
+ if (state === "SUCCESS") {
+ var res = response.getReturnValue();
+
+ cmp.set('v.data',res.myTasks);
+ cmp.set('v.dataCopy',res.myTasks);
+ }
+ this.hideSpinner(cmp);
+ });
+ $A.enqueueAction(action);
+ },
+ // 涓嬪睘浠诲姟杩涜妫�绱�
+ subTaskSearch: function(cmp, event) {
+ var action = cmp.get("c.getSubTask");
+ var subTaskName = cmp.get('v.subTaskName');
+ var subTaskType = cmp.get('v.subTaskType');
+ var subTaskStatus = cmp.get('v.subTaskStatus');
+ var subTempTask = cmp.get("v.subTempTask");
+ var subAccountID = subTempTask.account__c;
+ var subStartDate = cmp.get('v.subStartDate');
+ var subEndDate = cmp.get('v.subEndDate');
+ var subSFDCPosition = cmp.get('v.subSFDCPosition');
+ //2021-09-28 mzy 浠诲姟绠$悊鏀瑰杽 start
+ var subTaskDifferent = cmp.get('v.subTaskDifferent');
+ //2021-09-28 mzy 浠诲姟绠$悊鏀瑰杽 end
+ action.setParams({
+ "subTaskName" : subTaskName,
+ "subTaskType" : subTaskType,
+ "subTaskStatus" : subTaskStatus,
+ "subAccountID" : subAccountID,
+ "subStartDate" : subStartDate,
+ "subEndDate" : subEndDate,
+ "subSFDCPosition": subSFDCPosition,
+ //2021-09-28 mzy 浠诲姟绠$悊鏀瑰杽 start
+ "subTaskDifferent" : subTaskDifferent
+ //2021-09-28 mzy 浠诲姟绠$悊鏀瑰杽 end
+ });
+ this.showSpinner(cmp);
+ action.setCallback(this, function(response) {
+ var state = response.getState();
+ if (state === "SUCCESS") {
+ var res = response.getReturnValue();
+
+ cmp.set('v.data2',res.subTasks);
+ cmp.set('v.dataCopy2',res.subTasks);
+ }
+ this.hideSpinner(cmp);
+ });
+ $A.enqueueAction(action);
+ },
+ // 鎴戠殑浠诲姟杩涜鎺掑簭
+ handleSort: function(cmp, event) {
+ var sortedBy = event.getParam('fieldName');
+ var sortDirection = event.getParam('sortDirection');
+ var cloneData = cmp.get('v.dataCopy');
+ cloneData.sort((this.sortBy(sortedBy, sortDirection === 'asc' ? 1 : -1)));
+ cmp.set('v.data', cloneData);
+ cmp.set('v.sortDirection', sortDirection);
+ cmp.set('v.sortedBy', sortedBy);
+ },
+ // data Table 浠讳綍涓�涓寜閽兘杩涜繖閲岋紝鏍规嵁鍏蜂綋鍝釜鎸夐挳璺宠浆鑷充笉鍚屾寜閽�
+ handleRowAction: function (cmp, event) {
+ var action = event.getParam('action');
+ var row = event.getParam('row');
+ switch (action.name) {
+ case 'Cancel':
+ this.Cancel(cmp, row, action);
+ break;
+ case 'Confirm':
+ //2021-10-19 mzy 浠诲姟绠$悊鏀瑰杽 start
+ //this.Confirm(cmp, row, action);
+ this.Accept(cmp, row, action);
+ //2021-10-19 mzy 浠诲姟绠$悊鏀瑰杽 end
+ break;
+ case 'Assign':
+ this.Assign(cmp, row, action);
+ break;
+ case 'Delay':
+ this.Delay(cmp, row, action);
+ break;
+ //20210104 CHAN-BWX3YU you start
+ case 'Assign_Owner':
+ this.Assign_Owner(cmp, row, action);
+ break;
+ //20210104 CHAN-BWX3YU you end
+
+ //20211008 yjk 鍚堝苟浠诲姟 start
+ case 'Merge':
+ this.Merge(cmp, row, action,event);
+ break;
+ //20211008 yjk 鍚堝苟浠诲姟 end
+ }
+ },
+ // 20211008 yjk 寮瑰嚭鍙栨秷 model dialog
+ Merge: function (cmp, row, action,event) {
+
+ cmp.set("v.mergeIsOpen_Over", true);
+
+ },
+ MergeConfirm : function(cmp,event){
+ cmp.set("v.mergeIsOpen_Over", false);
+ var selectedData = cmp.get("v.selectedData");
+ if(!selectedData || selectedData.length <=1 ){
+ alert("璇烽�夋嫨涓ゆ潯浠ヤ笂鐨勪换鍔¤繘琛屽悎骞讹紒");
+ return;
+ }
+ var action = cmp.get("c.mergeTask");
+ var taskIdList = new Array;
+ for(var i = 0 ;i<selectedData.length;i++){
+ taskIdList.push(selectedData[i].id);
+
+ }
+
+ action.setParams({
+ "taskIdList" : taskIdList
+ });
+ this.showSpinner(cmp);
+
+ action.setCallback(this, function(response) {
+ this.hideSpinner(cmp);
+
+ var state = response.getState();
+ var returnValue = response.getReturnValue();
+ if (state === "SUCCESS" && returnValue === "Success") {
+
+ cmp.set("v.successMessage", '鍚堝苟鎴愬姛');
+ cmp.set("v.cancelIsOpen", false);
+ this.showSuccessToast(cmp);
+ this.myTaskSearch(cmp,event);
+ }else if (state === "SUCCESS" && returnValue !== "Success") {
+ cmp.set("v.errorMessage", returnValue);
+ this.showErrorToast(cmp);
+ }else if (state === "ERROR") {
+ cmp.set("v.errorMessage", '浠诲姟鍚堝苟澶辫触锛�');
+ this.showErrorToast(cmp);
+ }
+ });
+ $A.enqueueAction(action);
+ },
+ checkEnquiry : function(cmp,taskId){
+
+ var action = cmp.get("c.checkEnquiryController");
+
+ action.setParams({
+ "taskId" : taskId
+ });
+
+ this.showSpinner(cmp);
+
+ action.setCallback(this, function(response) {
+ this.hideSpinner(cmp);
+
+ var state = response.getState();
+ var returnValue = response.getReturnValue();
+
+ if (state === "SUCCESS") {
+
+ if(returnValue === "error"){
+ cmp.set("v.errorMessage", '鑾峰彇璇环淇℃伅澶辫触锛�');
+ this.showErrorToast(cmp);
+ }else if(returnValue === "no"){
+ cmp.set("v.errorMessage", '璇ヤ换鍔℃病鏈夊搴旂殑璇环锛�');
+ this.showErrorToast(cmp);
+ }else{
+
+ window.open('/apex/PCLLostReportPage?pageStatus=Create&oppId=' + returnValue + '&lostType=澶卞崟','_blank');
+ }
+
+ }else if (state === "ERROR") {
+ cmp.set("v.errorMessage", '鑾峰彇璇环淇℃伅澶辫触锛�');
+ this.showErrorToast(cmp);
+ }
+ });
+ $A.enqueueAction(action);
+ },
+
+ // 寮瑰嚭鍙栨秷 model dialog
+ Cancel: function (cmp, row, action) {
+ cmp.set('v.tempdata', row);
+ cmp.set("v.cancelReason", '');
+ cmp.set("v.cancelReasonOther", '');
+ cmp.set("v.cancelIsOpen", true);
+
+ },
+ //2021-10-19 mzy 浠诲姟绠$悊鏀瑰杽 start
+ // 寮瑰嚭纭 model dialog
+ Accept:function (cmp, row, action) {
+ cmp.set('v.tempdata', row);
+ cmp.set("v.confirmIsOpen", true);
+ },
+ //2021-10-19 mzy 浠诲姟绠$悊鏀瑰杽 end
+ // 寮瑰嚭纭 model dialog
+ Confirm: function (cmp,event) {
+
+ //鍙嶉鍐呭
+ var feedbackContent = cmp.get('v.feedBackContent');
+ var row = cmp.get('v.tempdata');
+ if(feedbackContent==null || feedbackContent == ''){
+ alert('璇峰~鍐欏弽棣堝唴瀹癸紒');
+ return;
+
+ }
+
+ var action = cmp.get("c.feedback");
+ action.setParams({
+ "taskId" : row.id,
+ "feedbackContent" : feedbackContent,
+ });
+
+ this.showSpinner(cmp);
+ action.setCallback(this, function(response) {
+ this.hideSpinner(cmp);
+ var state = response.getState();
+ if (state === "SUCCESS") {
+ var res = response.getReturnValue();
+ if(res == 'Success') {
+ cmp.set("v.confirmIsOpen", false);
+ this.myTaskSearch(cmp,event); //2021-10-20 mzy 浠诲姟绠$悊鏀瑰杽
+ cmp.set("v.successMessage", '鍙嶉鎴愬姛锛�');
+ this.showSuccessToast(cmp);
+ }else{
+ cmp.set("v.errorMessage", res);
+ this.showErrorToast(cmp);
+ }
+ }else if (state === "ERROR") {
+ cmp.set("v.errorMessage", '鎺ュ彈澶辫触锛�');
+ this.showErrorToast(cmp);
+ }
+ });
+ $A.enqueueAction(action);
+ },
+ // 寮瑰嚭閲嶆柊鍒嗛厤 medel dialog 缁欎笅灞炲垎閰嶄换鍔�
+ Assign: function (cmp, row, action) {
+ cmp.set('v.tempdata', row);
+ cmp.set("v.subTempTask.assignee__c", '');
+ cmp.set("v.assignIsOpen", true);
+ },
+ //20210104 CHAN-BWX3YU you start
+ // 寮瑰嚭閲嶆柊鍒嗛厤 medel dialog 鑷繁鐨勪换鍔″垎閰嶇粰鍏朵粬浜�
+ Assign_Owner: function (cmp, row, action) {
+ cmp.set('v.tempdata', row);
+ cmp.set("v.subTempTask.assignee__c", '');
+ cmp.set("v.assignIsOpen_Over", true);
+ },
+ //20210104 CHAN-BWX3YU you end
+ // 寮瑰嚭寤舵湡 model dialog
+ Delay: function (cmp, row, action) {
+ cmp.set('v.tempdata', row);
+ cmp.set('v.delayReason', '');
+ cmp.set('v.delayIsOpen', true);
+ },
+ //纭鍙栨秷
+ ConfirmCancel: function(cmp, event) {
+ var tempdata = cmp.get('v.tempdata');
+ var cancelReason = cmp.get("v.cancelReason");
+ var cancelReasonOther = cmp.get("v.cancelReasonOther");
+ if(!cancelReason){
+ alert('璇疯緭鍏ュ彇娑堢悊鐢憋紒');
+ return;
+ }
+ if(cancelReason == '鍏朵粬' && !cancelReasonOther){
+ alert('鍙栨秷鐞嗙敱(閫夐」)涓哄叾浠栨椂璇疯緭鍏ュ彇娑堢悊鐢憋紙鍏朵粬锛夛紒');
+ return;
+
+ }
+ var action = cmp.get("c.cancel");
+ action.setParams({
+ "taskID" : tempdata.id,
+ "cancelReason" : cancelReason,
+ "cancelReasonOther" : cancelReasonOther,
+ });
+ this.showSpinner(cmp);
+ action.setCallback(this, function(response) {
+ this.hideSpinner(cmp);
+ var state = response.getState();
+ if (state === "SUCCESS") {
+ var res = response.getReturnValue();
+ if(res == 'Success') {
+ var rows = cmp.get('v.data');
+ var rowIndex = rows.indexOf(tempdata);
+ rows[rowIndex]['taskStatus'] = '04 鍙栨秷' ;
+ rows[rowIndex]['cancelButtonisDisabled'] = true ;
+ rows[rowIndex]['confirmButtonisDisabled'] = true ;
+ rows[rowIndex]['delayButtonisDisabled'] = true ;
+ rows[rowIndex]['assignButtonisDisabled_Owner'] = true ; //2021-10-20 mzy 浠诲姟绠$悊鏀瑰杽
+ cmp.set('v.data', rows);
+ cmp.set('v.dataCopy',rows);
+ cmp.set("v.successMessage", '鎴愬姛鍙栨秷');
+ cmp.set("v.cancelIsOpen", false);
+ this.showSuccessToast(cmp);
+ }else{
+ cmp.set("v.errorMessage", res);
+ this.showErrorToast(cmp);
+ }
+ }else if (state === "ERROR") {
+ cmp.set("v.errorMessage", '鍙栨秷澶辫触锛�');
+ this.showErrorToast(cmp);
+ }
+ });
+ $A.enqueueAction(action);
+ },
+ // 纭寤舵湡
+ ConfirmDelay: function(cmp, event) {
+ var tempdata = cmp.get('v.tempdata');
+ var delayReason = cmp.get("v.delayReason");
+ var delayReasonOther = cmp.get("v.delayReasonOther");
+ if(!delayReason){
+ alert('璇疯緭鍏ュ欢鏈熺悊鐢憋紒');
+ return;
+ }
+ if(delayReason == '鍏朵粬' && !delayReasonOther){
+ alert('寤舵湡鐞嗙敱(閫夐」)涓哄叾浠栨椂璇疯緭鍏ュ欢鏈熺悊鐢憋紙鍏朵粬锛夛紒');
+ return;
+
+ }
+ var action = cmp.get("c.confirmOrDelay");
+ action.setParams({
+ "taskID" : tempdata.id,
+ "isDelay" : true,
+ "delayReason" : delayReason,
+ "delayReasonOther" : delayReasonOther,
+ });
+ this.showSpinner(cmp);
+ action.setCallback(this, function(response) {
+ this.hideSpinner(cmp);
+ var state = response.getState();
+ if (state === "SUCCESS") {
+ var res = response.getReturnValue();
+ if(res == 'Success') {
+ var rows = cmp.get('v.data');
+ var rowIndex = rows.indexOf(tempdata);
+ rows[rowIndex]['taskStatus'] = '05 寤舵湡' ;
+ rows[rowIndex]['cancelButtonisDisabled'] = true ;
+ rows[rowIndex]['confirmButtonisDisabled'] = true ;
+ rows[rowIndex]['delayButtonisDisabled'] = true ;
+ cmp.set('v.data', rows);
+ cmp.set('v.dataCopy',rows);
+ cmp.set("v.delayIsOpen", false);
+
+ }else{
+ cmp.set("v.errorMessage", res);
+ this.showErrorToast(cmp);
+ }
+ }else if (state === "ERROR") {
+ cmp.set("v.errorMessage", '寤舵湡澶辫触锛�');
+ this.showErrorToast(cmp);
+ }
+ });
+ $A.enqueueAction(action);
+
+
+ window.open('/apex/SimpleEventRegister?isDelay=true&taskId=' + tempdata.id ,'_blank');
+
+ },
+ // 纭閲嶆柊鍒嗛厤
+ ConfirmAssign: function(cmp, event) {
+ var tempdata = cmp.get('v.tempdata');
+ cmp.set("v.assignIsOpen", false);
+ var assignee = cmp.get('v.subTempTask.assignee__c');
+ if(!assignee){
+ alert('璇疯緭鍏ユ柊琚垎閰嶈�咃紒');
+ return;
+ }
+ var action = cmp.get("c.resetAssignee");
+ action.setParams({
+ "taskID" : tempdata.id,
+ "assigneeID" : assignee,
+ });
+ this.showSpinner(cmp);
+ action.setCallback(this, function(response) {
+ this.hideSpinner(cmp);
+ var state = response.getState();
+ if (state === "SUCCESS") {
+ var res = response.getReturnValue();
+ if(res.result == 'Success') {
+ var rows = cmp.get('v.data2');
+ var rowIndex = rows.indexOf(tempdata);
+ rows[rowIndex]['taskAssigneeID'] = res.assigneeID ;
+ rows[rowIndex]['taskAssigneeUrl'] = '/'+ res.assigneeID ;
+ rows[rowIndex]['taskAssigneeName'] = res.assigneeName ;
+ //20210115 CHAN-BWX3YU you start
+ rows[rowIndex]['assignButtonisDisabled'] = true ;
+ //20210115 CHAN-BWX3YU you end
+ cmp.set('v.data2', rows);
+ cmp.set('v.data2Copy',rows);
+ cmp.set("v.assignIsOpen", false);
+ }else{
+ cmp.set("v.errorMessage", res.result);
+ this.showErrorToast(cmp);
+ }
+ }else if (state === "ERROR") {
+ cmp.set("v.errorMessage", '閲嶆柊鍒嗛厤澶辫触锛�');
+ this.showErrorToast(cmp);
+ }
+ });
+ $A.enqueueAction(action);
+ },
+ //20210105 CHAN-BWX3YU you start
+ // 纭閲嶆柊鍒嗛厤
+ ConfirmAssign_Owner: function(cmp, event) {
+ var tempdata = cmp.get('v.tempdata');
+ cmp.set("v.assignIsOpen_Over", false);
+ var assignee = cmp.get('v.subTempTask.assignee__c');
+ if(!assignee){
+ alert('璇疯緭鍏ユ柊琚垎閰嶈�咃紒');
+ return;
+ }
+ var action = cmp.get("c.resetAssignee_Owner");
+ action.setParams({
+ "taskID" : tempdata.id,
+ "assigneeID" : assignee,
+ });
+ this.showSpinner(cmp);
+ action.setCallback(this, function(response) {
+ this.hideSpinner(cmp);
+ var state = response.getState();
+ if (state === "SUCCESS") {
+ var res = response.getReturnValue();
+ if(res.result == 'Success') {
+ var rows = cmp.get('v.data');
+ var rowIndex = rows.indexOf(tempdata);
+ rows[rowIndex]['taskAssigneeID'] = res.assigneeID ;
+ rows[rowIndex]['taskAssigneeUrl'] = '/'+ res.assigneeID ;
+ rows[rowIndex]['taskAssigneeName'] = res.assigneeName ;
+ rows[rowIndex]['cancelButtonisDisabled'] = true ;
+ rows[rowIndex]['confirmButtonisDisabled'] = true ;
+ rows[rowIndex]['delayButtonisDisabled'] = true ;
+ rows[rowIndex]['assignButtonisDisabled_Owner'] = true ;
+ cmp.set('v.data', rows);
+ cmp.set('v.dataCopy',rows);
+ cmp.set("v.assignIsOpen_Over", false);
+ }else{
+ cmp.set("v.errorMessage", res.result);
+ this.showErrorToast(cmp);
+ }
+ }else if (state === "ERROR") {
+ cmp.set("v.errorMessage", '閲嶆柊鍒嗛厤澶辫触锛�');
+ this.showErrorToast(cmp);
+ }
+ });
+ $A.enqueueAction(action);
+ },
+
+ //寮瑰嚭 鎴愬姛鎻愮ず
+ showSuccessToast : function(cmp) {
+ $A.util.removeClass(cmp.find('successDiv'), 'slds-hide');
+ window.setTimeout($A.getCallback(function() {
+ $A.util.addClass(cmp.find('successDiv'), 'slds-hide');
+ }),
+ 5000
+ );
+ },
+ //寮瑰嚭 閿欒鎻愮ず
+ showErrorToast : function(cmp) {
+ $A.util.removeClass(cmp.find('errorDiv'), 'slds-hide');
+ window.setTimeout($A.getCallback(function() {
+ $A.util.addClass(cmp.find('errorDiv'), 'slds-hide');
+ }),
+ 5000
+ );
+ },
+ // function automatic called by aura:waiting event
+ showSpinner: function(cmp) {
+ // remove slds-hide class from mySpinner
+ var spinner = cmp.find("mySpinner");
+ $A.util.removeClass(spinner, "slds-hide");
+ },
+ // function automatic called by aura:doneWaiting event
+ hideSpinner : function(cmp){
+ // add slds-hide class from mySpinner
+ var spinner = cmp.find("mySpinner");
+ $A.util.addClass(spinner, "slds-hide");
+ },
+ //wangweipeng 鑾峰彇url鐨勫弬鏁� 2021/09/27 start
+ getURLParameterValue: function() {
+ var querystring = location.search.substr(1);
+ var paramValue = {};
+ querystring.split("&").forEach(function(part) {
+ var param = part.split("=");
+ if(param[0] != ""){//鍒ゆ柇鏄惁鏈変紶杩囨潵鍙傛暟锛屽鏋滄病鏈夛紝閭d箞涓嶇粰瀵硅薄璧嬪��
+ paramValue[param[0]] = decodeURIComponent(param[1]);
+ }
+ });
+ //console.log('paramValue-' + paramValue);
+ return paramValue;
+ },
+ //wangweipeng 鑾峰彇url鐨勫弬鏁� 2021/09/27 start
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/taskFeedback/taskFeedbackRenderer.js b/force-app/main/default/aura/taskFeedback/taskFeedbackRenderer.js
new file mode 100644
index 0000000..f1f0c75
--- /dev/null
+++ b/force-app/main/default/aura/taskFeedback/taskFeedbackRenderer.js
@@ -0,0 +1,5 @@
+({
+
+// Your renderer method overrides go here
+
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/taskManage/taskManage.cmp b/force-app/main/default/aura/taskManage/taskManage.cmp
new file mode 100644
index 0000000..cec895a
--- /dev/null
+++ b/force-app/main/default/aura/taskManage/taskManage.cmp
@@ -0,0 +1,713 @@
+<aura:component implements="force:appHostable,lightning:isUrlAddressable,flexipage:availableForAllPageTypes,flexipage:availableForRecordHome,force:hasRecordId,force:lightningQuickAction,forceCommunity:availableForAllPageTypes"
+controller="taskManageController" >
+ <aura:attribute name="opportunity_cfilter" type="String" default="" />
+
+ <aura:attribute name="selectedData" type="Object[]" />
+ <aura:attribute name="data" type="Object[]" />
+ <aura:attribute name="dataCopy" type="Object[]" />
+ <aura:attribute name="columns" type="List" />
+ <aura:attribute name="data2" type="Object[]" />
+ <aura:attribute name="data2Copy" type="Object[]" />
+ <aura:attribute name="tempdata" type="Object" />
+ <aura:attribute name="myOrSub" type="string" />
+ <aura:attribute name="myTempTask" type="task__c" default="{sobjectType:'task__c'}" />
+ <aura:attribute name="myTaskName" type="String" />
+ <aura:attribute name="myTaskType" type="String" default=""/>
+ <aura:attribute name="myTaskStatus" type="String" default=""/>
+ <aura:attribute name="myStartDate" type="Date" />
+ <aura:attribute name="myEndDate" type="Date" />
+ <aura:attribute name="subTempTask" type="task__c" default="{sobjectType:'task__c'}" />
+ <aura:attribute name="subTaskName" type="String" />
+ <aura:attribute name="subTaskType" type="String" default=""/>
+ <aura:attribute name="subTaskStatus" type="String" default=""/>
+ <aura:attribute name="subStartDate" type="Date" />
+ <aura:attribute name="subEndDate" type="Date" />
+ <aura:attribute name="subSFDCPosition" type="String" default="" />
+ <aura:attribute name="subfilter" type="String" default=" alias = '鐜嬫収' " />
+ <!--20210104 CHAN-BWX3YU you start -->
+ <aura:attribute name="subfilter_Owner" type="String" default=" alias = '鐜嬫収' " />
+ <!--20210104 CHAN-BWX3YU you end -->
+
+
+ <aura:attribute name="columns2" type="List" />
+ <aura:attribute name="sortDirection" type="String" default="asc" />
+ <aura:attribute name="sortDirection2" type="String" default="asc" />
+ <aura:attribute name="defaultSortDirection" type="String" default="asc" />
+ <aura:attribute name="sortedBy" type="String" />
+ <aura:attribute name="sortedBy2" type="String" />
+
+ <aura:attribute name="activeSections" type="List" default="['A']" />
+ <aura:attribute name="cancelIsOpen" type="boolean" default="false"/>
+ <aura:attribute name="checkEnquiry" type="boolean" default="false"/>
+ <aura:attribute name="cancelReason" type="string" default=""/>
+ <aura:attribute name="cancelReasonOther" type="string" default=""/>
+ <aura:attribute name="delayIsOpen" type="boolean" default="false"/>
+ <aura:attribute name="delayReason" type="string" default="" />
+ <aura:attribute name="delayReasonOther" type="string" default="" />
+ <aura:attribute name="assignIsOpen" type="boolean" default="false"/>
+ <!--20210104 CHAN-BWX3YU you start -->
+ <aura:attribute name="assignIsOpen_Over" type="boolean" default="false"/>
+ <!--20210104 CHAN-BWX3YU you end -->
+
+ <!-- 20211020 鍚堝苟浠诲姟纭寮规 start -->
+ <aura:attribute name="mergeIsOpen_Over" type="boolean" default="false"/>
+ <!-- 20211020 鍚堝苟浠诲姟纭寮规 end -->
+
+ <aura:attribute name="taskTypeOptions" type="List" default="[
+ {'label': '鎵�鏈�', 'value': ''},
+ ]"/>
+
+ <aura:attribute name="taskStatusOptions" type="List" default="[
+ {'label': '01 鍒嗛厤', 'value': '01 鍒嗛厤'},
+
+ ]"/>
+ <aura:attribute name="SFDCPositionOptions" type="List" default="[
+ {'label': '鎵�鏈�', 'value': ''},
+ ]"/>
+ <aura:attribute name="cancelReasonOptions" type="List" default="[
+ {'label': '鍏朵粬', 'value': '鍏朵粬'},
+ ]"/>
+
+ <aura:attribute name="delayReasonOptions" type="List" default="[
+ {'label': '鍏朵粬', 'value': '鍏朵粬'},
+ ]"/>
+ <aura:attribute name="successMessage" type="String"/>
+ <aura:attribute name="errorMessage" type="String"/>
+ <!--2021-09-28 mzy 浠诲姟绠$悊鏀瑰杽 start-->
+ <aura:attribute name="taskDifferentOptions" type="List" default="[
+ {'label': '鎵�鏈�', 'value': ''},
+
+ ]"/>
+ <aura:attribute name="myTaskDifferent" type="String" default=""/>
+ <aura:attribute name="subTaskDifferent" type="String" default=""/>
+ <!--2021-09-28 mzy 浠诲姟绠$悊鏀瑰杽 end-->
+ <!--2021-10-19 mzy 浠诲姟绠$悊鏀瑰杽 start-->
+ <aura:attribute name="confirmIsOpen" type="boolean" default="false"/>
+ <aura:attribute name="IsEventDefault" type="boolean" default="false"/>
+ <aura:attribute name="IsGeneratePlan" type="boolean" default="false"/>
+ <aura:attribute name="ActivityDate" type="Date" />
+ <aura:attribute name="feedbackPlanDate" type="Date" />
+ <!--2021-10-19 mzy 浠诲姟绠$悊鏀瑰杽 end-->
+ <!--2021-11-11 mzy 浠诲姟绠$悊鏀瑰杽 start-->
+ <aura:attribute name="tempisFSE" type="boolean" default="false"/>
+ <aura:attribute name="tempTask" type="task__c" default="{sobjectType:'task__c'}"/>
+ <aura:attribute name="isSelectOtherCancel" type="boolean" default="false"/>
+ <aura:attribute name="isSelectOtherDelay" type="boolean" default="false"/>
+ <!--2021-11-11 mzy 浠诲姟绠$悊鏀瑰杽 end-->
+ <aura:handler name="init" value="{! this }" action="{! c.init }"/>
+
+ <div>
+ <lightning:spinner aura:id="mySpinner" size="large" class="slds-hide"/>
+ </div>
+ <div style="margin-top:20px; ">
+
+
+ <lightning:accordion
+ allowMultipleSectionsOpen="true"
+ activeSectionName="{! v.activeSections }"
+ >
+ <lightning:accordionSection name="A" label="鑷繁鐨勪换鍔�">
+ <div class="c-container">
+ <lightning:layout multipleRows="true">
+
+ <lightning:layoutItem size="12" smallDeviceSize="6" mediumDeviceSize="4" largeDeviceSize="3" padding="horizontal_small">
+ <p class="slds-p-horizontal_small">
+ <lightning:input name="myTaskName" label="浠诲姟鍚嶇О"
+ value="{! v.myTaskName }"
+ placeholder="璇疯緭鍏�..." variant="label-inline" />
+
+ </p>
+ </lightning:layoutItem>
+ <lightning:layoutItem size="12" smallDeviceSize="6" mediumDeviceSize="4" largeDeviceSize="3" padding="horizontal_small">
+ <p class="slds-p-horizontal_small">
+ <lightning:combobox name="myTaskType" label="浠诲姟绫诲瀷"
+ value="{! v.myTaskType }" placeholder="璇烽�夋嫨"
+ options="{! v.taskTypeOptions }"
+ variant="label-inline" />
+
+ </p>
+ </lightning:layoutItem>
+
+ <lightning:layoutItem size="12" smallDeviceSize="6" mediumDeviceSize="4" largeDeviceSize="3" padding="horizontal_small">
+ <p class="slds-p-horizontal_small">
+ <lightning:combobox name="myTaskStatus" label="浠诲姟鐘舵��"
+ value="{! v.myTaskStatus }" placeholder="璇烽�夋嫨"
+ options="{! v.taskStatusOptions }"
+ variant="label-inline" />
+
+ </p>
+ </lightning:layoutItem>
+
+
+ <lightning:layoutItem size="12" smallDeviceSize="6" mediumDeviceSize="4" largeDeviceSize="3" padding="horizontal_small">
+
+ <p class="slds-p-horizontal_small">
+ 瀹㈡埛锛�
+ <c:strike_lookup label="瀹㈡埛锛�"
+ object="Account"
+ searchField="Name"
+ placeholder="鎼滅储瀹㈡埛..."
+ iconName="standard:account"
+ subtitleField="Is_Active_Formula__c,Management_Code__c"
+ order="Name"
+ limit="5"
+ loadingMessage="鍔犺浇涓�..."
+ errorMessage="Invalid input"
+ allowNewRecords = "false"
+ overrideNewEvent = "true"
+ showRecentRecords ="true"
+ value="{!v.myTempTask.account__c}"
+
+ subTitleFormat="{0}+{1}"/>
+
+ </p>
+ </lightning:layoutItem>
+ <!--2021-09-28 mzy 浠诲姟绠$悊鏀瑰杽 start-->
+ <lightning:layoutItem size="12" smallDeviceSize="6" mediumDeviceSize="4" largeDeviceSize="3" padding="horizontal_small">
+ <p class="slds-p-horizontal_small">
+ <lightning:combobox name="myTaskDifferent" label="浠诲姟鍖哄垎"
+ value="{! v.myTaskDifferent }" placeholder="璇烽�夋嫨"
+ options="{! v.taskDifferentOptions }"
+ variant="label-inline" />
+
+ </p>
+ </lightning:layoutItem>
+ <!--2021-09-28 mzy 浠诲姟绠$悊鏀瑰杽 end-->
+ <lightning:layoutItem size="12" smallDeviceSize="6" mediumDeviceSize="4" largeDeviceSize="3" padding="horizontal_small">
+ <p class="slds-p-horizontal_small">
+ <lightning:input type="date" name="myStartDate"
+ label="鍒涘缓鏃ユ湡" value="{! v.myStartDate }"
+ placeholder="璇烽�夋嫨" variant="label-inline" />
+
+ </p>
+ </lightning:layoutItem>
+
+ <lightning:layoutItem size="12" smallDeviceSize="6" mediumDeviceSize="4" largeDeviceSize="3" padding="horizontal_small">
+ <p class="slds-p-horizontal_small">
+ <lightning:input type="date" name="myEndDate"
+ label="鑷�" value="{! v.myEndDate }"
+ placeholder="璇烽�夋嫨" variant="label-inline" />
+
+ </p>
+ </lightning:layoutItem>
+
+
+ <lightning:layoutItem size="12" smallDeviceSize="6" mediumDeviceSize="4" largeDeviceSize="3" padding="horizontal_small">
+ <p class="slds-p-horizontal_small">
+ <lightning:button label="纭" iconName="utility:search"
+ iconPosition="left"
+ onclick="{! c.myTaskSearch }" />
+
+ </p>
+ </lightning:layoutItem>
+
+ </lightning:layout>
+ </div>
+
+
+ <div style="height: 450px ; margin-left:10px; margin-right :10px; ">
+ <lightning:datatable
+ keyField="id"
+ data="{! v.data }"
+ columns="{! v.columns }"
+ hideCheckboxColumn="false"
+ defaultSortDirection="{!v.defaultSortDirection}"
+ sortedDirection="{!v.sortDirection}"
+ sortedBy="{!v.sortedBy}"
+ onsort="{!c.handleSort}"
+ onrowaction="{! c.handleMyRowAction }"
+ onrowselection="{! c.updateSelectedText }"
+ />
+ </div>
+ </lightning:accordionSection>
+ <lightning:accordionSection name="B" label="涓嬪睘鐨勪换鍔�">
+ <div class="c-container">
+ <lightning:layout multipleRows="true">
+
+ <lightning:layoutItem size="12" smallDeviceSize="6" mediumDeviceSize="4" largeDeviceSize="3" padding="horizontal_small">
+ <p class="slds-p-horizontal_small">
+ <lightning:input name="subTaskName" label="浠诲姟鍚嶇О"
+ value="{! v.subTaskName }"
+ placeholder="璇疯緭鍏�..." variant="label-inline" />
+
+ </p>
+ </lightning:layoutItem>
+ <lightning:layoutItem size="12" smallDeviceSize="6" mediumDeviceSize="4" largeDeviceSize="3" padding="horizontal_small">
+ <p class="slds-p-horizontal_small">
+ <lightning:combobox name="subTaskType" label="浠诲姟绫诲瀷"
+ value="{! v.subTaskType }" placeholder="璇烽�夋嫨"
+ options="{! v.taskTypeOptions }"
+ variant="label-inline" />
+
+ </p>
+ </lightning:layoutItem>
+
+ <lightning:layoutItem size="12" smallDeviceSize="6" mediumDeviceSize="4" largeDeviceSize="3" padding="horizontal_small">
+ <p class="slds-p-horizontal_small">
+ <lightning:combobox name="subTaskStatus" label="浠诲姟鐘舵��"
+ value="{! v.subTaskStatus }" placeholder="璇烽�夋嫨"
+ options="{! v.taskStatusOptions }"
+ variant="label-inline" />
+
+ </p>
+ </lightning:layoutItem>
+
+
+ <lightning:layoutItem size="12" smallDeviceSize="6" mediumDeviceSize="4" largeDeviceSize="3" padding="horizontal_small">
+
+ <p class="slds-p-horizontal_small">
+ 瀹㈡埛锛�
+ <c:strike_lookup label="瀹㈡埛锛�"
+ object="Account"
+ searchField="Name"
+ placeholder="鎼滅储瀹㈡埛..."
+ iconName="standard:account"
+ subtitleField="Is_Active_Formula__c,Management_Code__c"
+ order="Name"
+ limit="5"
+ loadingMessage="鍔犺浇涓�..."
+ errorMessage="Invalid input"
+ allowNewRecords = "false"
+ overrideNewEvent = "true"
+ showRecentRecords ="true"
+ value="{!v.subTempTask.account__c}"
+ subTitleFormat="{0}+{1}"/>
+ </p>
+ </lightning:layoutItem>
+ <!--2021-09-28 mzy 浠诲姟绠$悊鏀瑰杽 start-->
+ <lightning:layoutItem size="12" smallDeviceSize="6" mediumDeviceSize="4" largeDeviceSize="3" padding="horizontal_small">
+ <p class="slds-p-horizontal_small">
+ <lightning:combobox name="subTaskDifferent" label="浠诲姟鍖哄垎"
+ value="{! v.subTaskDifferent }" placeholder="璇烽�夋嫨"
+ options="{! v.taskDifferentOptions }"
+ variant="label-inline" />
+
+ </p>
+ </lightning:layoutItem>
+ <!--2021-09-28 mzy 浠诲姟绠$悊鏀瑰杽 end-->
+ <lightning:layoutItem size="12" smallDeviceSize="6" mediumDeviceSize="4" largeDeviceSize="3" padding="horizontal_small">
+ <p class="slds-p-horizontal_small">
+ <lightning:input type="date" name="subStartDate"
+ label="鍒涘缓鏃ユ湡" value="{! v.subStartDate }"
+ placeholder="璇烽�夋嫨" variant="label-inline" />
+
+ </p>
+ </lightning:layoutItem>
+
+ <lightning:layoutItem size="12" smallDeviceSize="6" mediumDeviceSize="4" largeDeviceSize="3" padding="horizontal_small">
+ <p class="slds-p-horizontal_small">
+ <lightning:input type="date" name="subEndDate"
+ label="鑷�" value="{! v.subEndDate }"
+ placeholder="璇烽�夋嫨" variant="label-inline" />
+
+ </p>
+ </lightning:layoutItem>
+ <!--2021-09-28 mzy 浠诲姟绠$悊鏀瑰杽 start-->
+ <lightning:layoutItem size="12" smallDeviceSize="6" mediumDeviceSize="4" largeDeviceSize="3" padding="horizontal_small">
+ </lightning:layoutItem>
+ <!--2021-09-28 mzy 浠诲姟绠$悊鏀瑰杽 end-->
+ <lightning:layoutItem size="12" smallDeviceSize="6" mediumDeviceSize="4" largeDeviceSize="3" padding="horizontal_small">
+ <p class="slds-p-horizontal_small">
+ <lightning:combobox name="subSFDCPosition" label=" SFDC鑱岀"
+ value="{! v.subSFDCPosition }" placeholder="璇烽�夋嫨"
+ options="{! v.SFDCPositionOptions }"
+ variant="label-inline" />
+
+ </p>
+ </lightning:layoutItem>
+
+
+ <lightning:layoutItem size="12" smallDeviceSize="6" mediumDeviceSize="4" largeDeviceSize="3" padding="horizontal_small">
+ <p class="slds-p-horizontal_small" >
+ <lightning:button label="纭" iconName="utility:search"
+ iconPosition="left"
+ onclick="{! c.subTaskSearch }" />
+
+ </p>
+ </lightning:layoutItem>
+
+ </lightning:layout>
+ </div>
+ <div style="height: 250px ; margin-left:10px; margin-right :10px; ">
+ <lightning:datatable
+ keyField="id"
+ data="{! v.data2 }"
+ columns="{! v.columns2 }"
+ hideCheckboxColumn="true"
+ defaultSortDirection="{!v.defaultSortDirection}"
+ sortedDirection="{!v.sortDirection2}"
+ sortedBy="{!v.sortedBy2}"
+ onsort="{!c.handleSort2}"
+ onrowaction="{! c.handleSubRowAction }"/>
+ </div>
+ </lightning:accordionSection>
+
+ <div class="slds-modal slds-fade-in-open slds-hide" aura:id="successDiv">
+ <ui:inputText aura:id="articleURL"/>
+ <div class="demo-only" style="height: 8rem;">
+ <div class="slds-notify_container slds-is-relative">
+ <div class="slds-notify slds-notify_toast slds-theme_success" role="alert">
+ <div class=" slds-m-left_xx-large">
+ <div class="slds-notify__content slds-m-left_small slds-align_absolute-center slds-m-left_xx-large">
+ <lightning:icon alternativeText="Success" iconName="utility:success" size="small"
+ class="buttonColor slds-m-right_small" />
+ <h2 class="slds-text-heading_small ">{!v.successMessage}</h2>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="slds-modal slds-fade-in-open slds-hide" aura:id="errorDiv" style="z-index: 10001">
+ <ui:inputText aura:id="articleURL"/>
+ <div class="demo-only" style="height: 8rem;">
+ <div class="slds-notify_container slds-is-relative">
+ <div class="slds-notify slds-notify_toast slds-theme_error" role="status">
+ <div class=" slds-m-left_xx-large">
+ <div class="slds-notify__content slds-m-left_small slds-align_absolute-center slds-m-left_xx-large">
+ <lightning:icon alternativeText="error" iconName="utility:error" size="small"
+ class="buttonColor slds-m-right_small" />
+ <h2 class="slds-text-heading_small ">{!v.errorMessage}</h2>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ </lightning:accordion>
+ <!--2021-10-19 mzy 浠诲姟绠$悊鏀瑰杽 start-->
+ <aura:if isTrue="{!v.confirmIsOpen}">
+ <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" style ="min-Height: 400px">
+
+ <header class="slds-modal__header" style= "max-width: 600px;" >
+ <lightning:buttonIcon iconName="utility:close"
+ onclick="{! c.closeAcceptModel }"
+ alternativeText="close"
+ variant="bare-inverse"
+ class="slds-modal__close"/>
+ <h2 id="modal-heading-01" class="slds-text-heading_medium slds-hyphenate">璇风‘璁ゆ槸鍚︽帴鍙�</h2>
+ </header>
+ <!--浠诲姟绫诲瀷鏄负 鍏朵粬 -->
+ <aura:if isTrue="{!v.IsEventDefault==false}">
+ <!--鏄惁鐢熸垚璁″垝-->
+ <div class="slds-modal__content slds-p-around_medium" id="modal-content-id-1" style ="min-Height: 250px;max-width: 600px;">
+ <ui:inputCheckbox aura:id="checkbox" label="" value="{!v.IsGeneratePlan}" class="CheckSize"/>
+
+ <ui:outputText value="鏄惁鐢熸垚璁″垝,杩涘叆鏃ュ巻绠$悊" class="fontSize"/>
+ <br/><br/>
+ <!--鎷滆鏃堕棿-->
+ <aura:if isTrue="{!v.IsGeneratePlan==false}">
+ <ui:outputText value="鎷滆鏃�:" class="fontSize"/>
+ <ui:inputDate aura:id="activityDate" label="" value="{!v.ActivityDate}" displayDatePicker="true" class="fontSize" />
+ </aura:if>
+ <aura:if isTrue="{!v.IsGeneratePlan==false}">
+ <ui:outputText value="璁″垝鍙嶉鏃�:" class="fontSize"/>
+ <ui:inputDate aura:id="feedbackPlanDate" label="" value="{!v.feedbackPlanDate}" displayDatePicker="true" class="fontSize" />
+ </aura:if>
+ </div>
+ </aura:if>
+ <!--###### MODAL BOX FOOTER Part Start ######-->
+ <footer class="slds-modal__footer" style= "max-width: 600px;">
+
+ <lightning:button variant="brand"
+ label="纭鎺ュ彈浠诲姟"
+ title="Confirm"
+ onclick="{! c.ConfirmAccept }"/>
+ <lightning:button variant="neutral"
+ label="鍙栨秷"
+ title="Cancel"
+ onclick="{! c.closeAcceptModel }"/>
+ </footer>
+ </div>
+ </section>
+ <div class="slds-backdrop slds-backdrop_open"></div>
+ </aura:if>
+ <!--2021-10-19 mzy 浠诲姟绠$悊鏀瑰杽 end-->
+ <!--2021-11-11 mzy 浠诲姟绠$悊鏀瑰杽 start-->
+ <aura:if isTrue="{!v.cancelIsOpen}">
+ <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" style ="min-Height: 400px">
+
+ <header class="slds-modal__header" style= "max-width: 600px;" >
+ <lightning:buttonIcon iconName="utility:close"
+ onclick="{! c.closeCancelModel }"
+ alternativeText="close"
+ variant="bare-inverse"
+ class="slds-modal__close"/>
+ <h2 id="modal-heading-01" class="slds-text-heading_medium slds-hyphenate">璇风‘璁ゆ槸鍚﹀彇娑�</h2>
+ </header>
+
+ <!-- <div class="slds-modal__content slds-p-around_medium" id="modal-content-id-1" style ="min-Height: 250px;max-width: 600px;">
+ <p class="slds-p-horizontal_small">
+ <lightning:combobox required = "true" auraid ="cancelReason"
+ name="cancelReason"
+ label=" 鍙栨秷鐞嗙敱(閫夐」)"
+ placeholder="璇烽�夋嫨鍙栨秷鐞嗙敱"
+ options="{! v.cancelReasonOptions }"
+ value="{! v.cancelReason}"
+ onchange="{!c.cancelReasonChange}"
+ variant="label-inline" />
+ <lightning:input name="cancelReason" label="鍙栨秷鐞嗙敱(鍏朵粬)"
+ value="{! v.cancelReasonOther }"
+ placeholder="璇疯緭鍏ュ彇娑堢悊鐢�(鍏朵粬)" variant="label-inline" />
+ </p>
+ <aura:if isTrue="{!v.checkEnquiry}">
+ <p class="slds-p-horizontal_small">
+ <lightning:button variant="brand"
+ label="鏂板缓澶卞崟鎶ュ憡"
+ title="checkEnquiry"
+ onclick="{! c.checkEnquiry }"/>
+ </p>
+ </aura:if>
+ </div> -->
+ <div class="slds-modal__content slds-p-around_medium" id="modal-content-id-1" style ="min-Height: 250px;max-width: 600px;">
+ <p class="slds-p-horizontal_small">
+ <aura:if isTrue="{!v.tempisFSE == false}">
+ <lightning:recordEditForm objectApiName="task__c" recordTypeId = "{!v.tempTask.RecordTypeId}">
+ <lightning:inputField fieldName="cancelReasonSelect__c" required="true" onchange="{!c.handleChangeCancel}"/>
+ </lightning:recordEditForm>
+ </aura:if>
+ <aura:if isTrue="{!v.tempisFSE == true}">
+ <lightning:recordEditForm objectApiName="task__c" recordTypeId = "{!v.tempTask.RecordTypeId}">
+ <lightning:inputField fieldName="cancelReasonSelectFSE__c" required="true" onchange="{!c.handleChangeCancel}"/>
+ </lightning:recordEditForm>
+ </aura:if>
+ <aura:if isTrue="{!v.isSelectOtherCancel == true}">
+ <div style="padding-top: 5px;padding-left: 12px;color:#6B6D70;">鍙栨秷鐞嗙敱(鍏朵粬)</div>
+ <lightning:input name="cancelReason" value="{! v.cancelReasonOther }" placeholder="璇疯緭鍏ュ彇娑堢悊鐢�(鍏朵粬)"/>
+ </aura:if>
+ <aura:if isTrue="{!v.checkEnquiry}">
+ <br/>
+ <p class="slds-p-horizontal_small">
+ <lightning:button variant="brand"
+ label="鏂板缓澶卞崟鎶ュ憡"
+ title="checkEnquiry"
+ onclick="{! c.checkEnquiry }"/>
+ </p>
+ </aura:if>
+ </p>
+ </div>
+ <!--###### MODAL BOX FOOTER Part Start ######-->
+ <footer class="slds-modal__footer" style= "max-width: 600px;">
+
+ <lightning:button variant="brand"
+ label="纭鍙栨秷浠诲姟"
+ title="ConfirmCancel"
+ onclick="{! c.ConfirmCancel }"/>
+ <lightning:button variant="neutral"
+ label="鍙栨秷"
+ title="Cancel"
+ onclick="{! c.closeCancelModel }"/>
+ </footer>
+ </div>
+ </section>
+ <div class="slds-backdrop slds-backdrop_open"></div>
+ </aura:if>
+ <!--2021-11-11 mzy 浠诲姟绠$悊鏀瑰杽 end-->
+ <!--2021-11-11 mzy 浠诲姟绠$悊鏀瑰杽 start-->
+ <aura:if isTrue="{!v.delayIsOpen}">
+ <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">
+
+ <header class="slds-modal__header" style ="max-width: 600px;">
+ <lightning:buttonIcon iconName="utility:close"
+ onclick="{! c.closeDelayModel }"
+ alternativeText="close"
+ variant="bare-inverse"
+ class="slds-modal__close"/>
+ <h2 id="modal-heading-01" class="slds-text-heading_medium slds-hyphenate">璇风‘璁ゆ槸鍚﹀欢鏈�</h2>
+ </header>
+ <!-- <div class="slds-modal__content slds-p-around_medium" id="modal-content-id-1" style ="min-Height: 250px;max-width: 600px;">
+ <p class="slds-p-horizontal_small">
+ <lightning:combobox required = "true" auraid ="delayReason"
+ name="delayReason"
+ label=" 寤舵湡鐞嗙敱(閫夐」)"
+ placeholder="璇烽�夋嫨寤舵湡鐞嗙敱"
+ options="{! v.delayReasonOptions }"
+ value="{! v.delayReason}"
+ variant="label-inline" />
+ <lightning:input name="delayReason" label="寤舵湡鐞嗙敱(鍏朵粬)"
+ value="{! v.delayReasonOther }"
+ placeholder="璇疯緭鍏ュ欢鏈熺悊鐢�(鍏朵粬)" variant="label-inline" />
+ </p>
+ </div> -->
+ <div class="slds-modal__content slds-p-around_medium" id="modal-content-id-1" style ="min-Height: 250px;max-width: 600px;">
+ <p class="slds-p-horizontal_small">
+ <aura:if isTrue="{!v.tempisFSE == false}">
+ <lightning:recordEditForm objectApiName="task__c" recordTypeId = "{!v.tempTask.RecordTypeId}">
+ <lightning:inputField fieldName="delayReasonSelect__c" required="true" onchange="{!c.handleChangeDelay}"/>
+ </lightning:recordEditForm>
+ </aura:if>
+ <aura:if isTrue="{!v.tempisFSE == true}">
+ <lightning:recordEditForm objectApiName="task__c" recordTypeId = "{!v.tempTask.RecordTypeId}">
+ <lightning:inputField fieldName="delayReasonSelectFSE__c" required="true" onchange="{!c.handleChangeDelay}"/>
+ </lightning:recordEditForm>
+ </aura:if>
+ <aura:if isTrue="{!v.isSelectOtherDelay == true}">
+ <div style="padding-top: 5px;padding-left: 12px;color:#6B6D70;">寤舵湡鐞嗙敱(鍏朵粬)</div>
+ <lightning:input name="delayReason" value="{! v.delayReasonOther }" placeholder="璇疯緭鍏ュ欢鏈熺悊鐢�(鍏朵粬)"/>
+ </aura:if>
+ </p>
+ </div>
+ <footer class="slds-modal__footer" style ="max-width: 600px;">
+
+ <lightning:button variant="brand"
+ label="纭寤舵湡浠诲姟"
+ title="ConfirmDelay"
+ onclick="{! c.ConfirmDelay }"/>
+ <lightning:button variant="neutral"
+ label="鍙栨秷"
+ title="close"
+ onclick="{! c.closeDelayModel }"/>
+ </footer>
+ </div>
+ </section>
+ <div class="slds-backdrop slds-backdrop_open"></div>
+ </aura:if>
+ <!--2021-11-11 mzy 浠诲姟绠$悊鏀瑰杽 end-->
+ <aura:if isTrue="{!v.assignIsOpen}">
+ <section role="dialog" tabindex="-1" aria-labelledby="modal-heading-03" aria-modal="true" aria-describedby="modal-content-id-3" class="slds-modal slds-fade-in-open">
+ <div class="slds-modal__container" >
+
+ <header class="slds-modal__header">
+ <lightning:buttonIcon iconName="utility:close"
+ onclick="{! c.closeAssignModel }"
+ alternativeText="close"
+ variant="bare-inverse"
+ class="slds-modal__close"/>
+ <h2 id="modal-heading-03" class="slds-text-heading_medium slds-hyphenate">璇风‘璁ゆ槸鍚﹂噸鏂板垎閰嶄换鍔�</h2>
+ </header>
+
+ <div class="slds-modal__content slds-p-around_medium" id="modal-content-id-3" style = "height: 150px;">
+ <p class="slds-p-horizontal_small">
+ <c:strike_lookup label=""
+ object="User"
+ searchField="Alias"
+ placeholder="鎼滅储琚垎閰嶈��..."
+ iconName="standard:user"
+ subtitleField="Salesdepartment__c,SFDCPosition_C__c,Job_category_for_calendar__c"
+ order="SFDCPosition_C__c"
+ limit="5"
+ loadingMessage="鍔犺浇涓�..."
+ errorMessage="Invalid input"
+ allowNewRecords = "false"
+ overrideNewEvent = "true"
+ showRecentRecords ="true"
+ value="{!v.subTempTask.assignee__c}"
+ filter="{!v.subfilter}"
+ subTitleFormat="{0}+{1}+{2}"/>
+ </p>
+ </div>
+ <footer class="slds-modal__footer">
+
+ <lightning:button variant="brand"
+ label="纭閲嶆柊鍒嗛厤浠诲姟"
+ title="ConfirmDelay"
+ onclick="{! c.ConfirmAssign }"/>
+ <lightning:button variant="neutral"
+ label="鍙栨秷"
+ title="close"
+ onclick="{! c.closeAssignModel }"/>
+ </footer>
+ </div>
+ </section>
+ <div class="slds-backdrop slds-backdrop_open"></div>
+ </aura:if>
+ <!--20210105 CHAN-BWX3YU you start -->
+ <aura:if isTrue="{!v.assignIsOpen_Over}">
+ <section role="dialog" tabindex="-1" aria-labelledby="modal-heading-03" aria-modal="true" aria-describedby="modal-content-id-3" class="slds-modal slds-fade-in-open">
+ <div class="slds-modal__container" >
+
+ <header class="slds-modal__header">
+ <lightning:buttonIcon iconName="utility:close"
+ onclick="{! c.closeAssignModel_Owner }"
+ alternativeText="close"
+ variant="bare-inverse"
+ class="slds-modal__close"/>
+ <h2 id="modal-heading-03" class="slds-text-heading_medium slds-hyphenate">璇风‘璁ゆ槸鍚﹂噸鏂板垎閰嶄换鍔�</h2>
+ </header>
+
+ <div class="slds-modal__content slds-p-around_medium" id="modal-content-id-3" style = "height: 150px;">
+ <p class="slds-p-horizontal_small">
+ <c:strike_lookup label=""
+ object="User"
+ searchField="Alias"
+ placeholder="鎼滅储琚垎閰嶈��..."
+ iconName="standard:user"
+ subtitleField="Salesdepartment__c,SFDCPosition_C__c,Job_category_for_calendar__c"
+ order="SFDCPosition_C__c"
+ limit="5"
+ loadingMessage="鍔犺浇涓�..."
+ errorMessage="Invalid input"
+ allowNewRecords = "false"
+ overrideNewEvent = "true"
+ showRecentRecords ="true"
+ value="{!v.subTempTask.assignee__c}"
+ filter="{!v.subfilter_Owner}"
+ subTitleFormat="{0}+{1}+{2}"/>
+ </p>
+ </div>
+ <footer class="slds-modal__footer">
+
+ <lightning:button variant="brand"
+ label="纭閲嶆柊鍒嗛厤浠诲姟"
+ title="ConfirmDelay"
+ onclick="{! c.ConfirmAssign_Owner }"/>
+ <lightning:button variant="neutral"
+ label="鍙栨秷"
+ title="close"
+ onclick="{! c.closeAssignModel_Owner }"/>
+ </footer>
+ </div>
+ </section>
+ <div class="slds-backdrop slds-backdrop_open"></div>
+ </aura:if>
+ <!--20210105 CHAN-BWX3YU you end -->
+
+ <!--20211020 鍚堝苟浠诲姟纭寮规 yjk start -->
+ <aura:if isTrue="{!v.mergeIsOpen_Over}">
+ <section role="dialog" tabindex="-1" aria-labelledby="modal-heading-03" aria-modal="true" aria-describedby="modal-content-id-3" class="slds-modal slds-fade-in-open">
+ <div class="slds-modal__container" >
+
+ <header class="slds-modal__header">
+ <lightning:buttonIcon iconName="utility:close"
+ onclick="{! c.closeMergeModel }"
+ alternativeText="close"
+ variant="bare-inverse"
+ class="slds-modal__close"/>
+ <h2 id="modal-heading-03" class="slds-text-heading_medium slds-hyphenate">璇风‘璁ゆ槸鍚﹀悎骞朵换鍔�</h2>
+ </header>
+
+ <!-- <div class="slds-modal__content slds-p-around_medium" id="modal-content-id-3" style = "height: 150px;">
+ <p class="slds-p-horizontal_small">
+
+ </p>
+ </div> -->
+ <footer class="slds-modal__footer">
+
+ <lightning:button variant="brand"
+ label="纭鍚堝苟浠诲姟"
+ title="ConfirmDelay"
+ onclick="{! c.MergeConfirmAction }"/>
+ <lightning:button variant="neutral"
+ label="鍙栨秷"
+ title="close"
+ onclick="{! c.closeMergeModel }"/>
+ </footer>
+ </div>
+ </section>
+ <div class="slds-backdrop slds-backdrop_open"></div>
+ </aura:if>
+ <!--20211020 鍚堝苟浠诲姟纭寮规 yjk end -->
+
+ </div>
+
+</aura:component>
\ No newline at end of file
diff --git a/force-app/main/default/aura/taskManage/taskManage.cmp-meta.xml b/force-app/main/default/aura/taskManage/taskManage.cmp-meta.xml
new file mode 100644
index 0000000..4f7ebcc
--- /dev/null
+++ b/force-app/main/default/aura/taskManage/taskManage.cmp-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<AuraDefinitionBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>48.0</apiVersion>
+ <description>A Lightning Component Bundle</description>
+</AuraDefinitionBundle>
diff --git a/force-app/main/default/aura/taskManage/taskManage.css b/force-app/main/default/aura/taskManage/taskManage.css
new file mode 100644
index 0000000..06ae0bb
--- /dev/null
+++ b/force-app/main/default/aura/taskManage/taskManage.css
@@ -0,0 +1,16 @@
+.THIS#test {
+ position: absolute;
+}
+.THIS .slds-dropdown_left{
+ overflow:auto;
+}
+/*2021-10-19 mzy 浠诲姟绠$悊鏀瑰杽 start*/
+.THIS .fontSize{
+ font-size: 20px;
+}
+.THIS .CheckSize{
+ width: 20px;
+ height: 20px;
+}
+.THIS html{font-family: Microsoft YaHei }
+/*2021-10-19 mzy 浠诲姟绠$悊鏀瑰杽 end*/
\ No newline at end of file
diff --git a/force-app/main/default/aura/taskManage/taskManageController.js b/force-app/main/default/aura/taskManage/taskManageController.js
new file mode 100644
index 0000000..49bd3fe
--- /dev/null
+++ b/force-app/main/default/aura/taskManage/taskManageController.js
@@ -0,0 +1,181 @@
+({
+ // 鍒濆鍖栨柟娉�
+ init: function(cmp, event, helper) {
+ helper.setData(cmp);
+ helper.setColumns(cmp);
+ helper.setOptions(cmp);
+ helper.setSubUserFilter(cmp);
+ //20210105 CHAN-BWX3YU you start
+ helper.setSubUserFilter_Owner(cmp);
+ //20210105 CHAN-BWX3YU you end
+
+ // 寮哄埗妯睆 start
+ /*const evt = "onorientationchange" in window ? "orientationchange" : "resize";
+ window.addEventListener(evt, function () {
+ const width = document.documentElement.clientWidth;
+ const height = document.documentElement.clientHeight;
+ const contentDOM = document.getElementById('test');
+ //alert('width: ' + width + ' height: ' + height)
+ if (width > height) { // 妯睆
+ contentDOM.style.width = width + 'px';
+ contentDOM.style.height = height + 'px';
+ contentDOM.style.top = '0px';
+ contentDOM.style.left = '0px';
+ contentDOM.style.transform = 'none';
+ }
+ else {
+ //alert('change to portrait')
+ contentDOM.style.width = height + 'px';
+ contentDOM.style.height = width + 'px';
+ contentDOM.style.top = (height - width) / 2 + 'px';
+ contentDOM.style.left = 0 - (height - width) / 2 + 'px';
+ contentDOM.style.transform = 'rotate(90deg)';
+ }
+
+ }, false);*/
+ // 寮哄埗妯睆 end
+ },
+ // 鎴戠殑浠诲姟鎺掑簭鐨勫搷搴旀柟娉�
+ handleSort: function(cmp, event, helper) {
+ helper.handleSort(cmp, event);
+ },
+ // 涓嬪睘鐨勪换鍔℃帓搴忕殑鍝嶅簲鏂规硶
+ handleSort2: function(cmp, event, helper) {
+ helper.handleSort2(cmp, event);
+ },
+ //妫�绱㈡垜鐨勪换鍔$殑鍝嶅簲鏂规硶
+ myTaskSearch: function(cmp, event, helper) {
+ helper.myTaskSearch(cmp, event);
+ },
+ //妫�绱笅灞炵殑浠诲姟鐨勫搷搴旀柟娉�
+ subTaskSearch: function(cmp, event, helper) {
+ helper.subTaskSearch(cmp, event);
+ },
+ //鎴戠殑浠诲姟姣忚鎸夐挳鐨勫搷搴旀柟娉�
+ handleMyRowAction: function (cmp, event, helper) {
+ cmp.set('v.myOrSub', 'my');
+ helper.handleRowAction(cmp, event, helper);
+ },
+ // 涓嬪睘鐨勪换鍔℃瘡琛屾寜閽殑鍝嶅簲鏂规硶
+ handleSubRowAction: function (cmp, event, helper) {
+ cmp.set('v.myOrSub', 'sub');
+ helper.handleRowAction(cmp, event, helper);
+ },
+ // 鍏抽棴鍙栨秷 dialog 鐨勫搷搴旀柟娉�
+ closeCancelModel: function(cmp) {
+ // for Hide/Close Model,set the "isOpen" attribute to "Fasle"
+ cmp.set("v.cancelIsOpen", false);
+ cmp.set("v.isSelectOtherCancel",false);
+ cmp.set('v.tempTask',null);
+ },
+ //2021-11-11 mzy 浠诲姟绠$悊鏀瑰杽 start
+ //缁欏彇娑堢悊鐢辫鍊�
+ handleChangeCancel:function(cmp, event, helper){
+ cmp.set("v.cancelReason", event.getParam("value"));
+ var cancelReason = cmp.get("v.cancelReason");
+
+ if(cancelReason == "瀹㈡埛宸查噰璐珵鍝侊紝澶卞崟" || cancelReason == "宸插け鍗�"){
+ cmp.set("v.checkEnquiry",true);
+ }else{
+ cmp.set("v.checkEnquiry",false);
+ }
+
+ if(cancelReason == '鍏朵粬'){
+ cmp.set("v.isSelectOtherCancel",true);
+ }else {
+ cmp.set("v.isSelectOtherCancel",false);
+ }
+ },
+ //2021-11-11 mzy 浠诲姟绠$悊鏀瑰杽 end
+ // 纭鍙栨秷鐨勫搷搴旀柟娉�
+ ConfirmCancel: function(cmp, event, helper) {
+ helper.ConfirmCancel(cmp, event);
+ },
+ // 鍏抽棴寤舵湡 dialog 鐨勫搷搴旀柟娉�
+ closeDelayModel: function(cmp) {
+ // for Hide/Close Model,set the "isOpen" attribute to "Fasle"
+ cmp.set("v.delayIsOpen", false);
+ cmp.set("v.isSelectOtherDelay",false);
+ cmp.set('v.tempTask',null);
+ },
+ //2021-11-11 mzy 浠诲姟绠$悊鏀瑰杽 start
+ //缁欏欢鏈熺悊鐢辫鍊�
+ handleChangeDelay:function(cmp, event, helper){
+ cmp.set("v.delayReason", event.getParam("value"));
+ var delayReason = cmp.get("v.delayReason");
+ if(delayReason == '鍏朵粬'){
+ cmp.set("v.isSelectOtherDelay",true);
+ }else {
+ cmp.set("v.isSelectOtherDelay",false);
+ }
+ },
+ //2021-11-11 mzy 浠诲姟绠$悊鏀瑰杽 end
+ // 纭寤舵湡鐨勫搷搴旀柟娉�
+ ConfirmDelay: function(cmp, event, helper) {
+ helper.ConfirmDelay(cmp, event);
+ },
+ // 鍏抽棴閲嶆柊鍒嗛厤 dialog 鐨勫搷搴旀柟娉�
+ closeAssignModel: function(cmp) {
+ cmp.set("v.assignIsOpen", false);
+ },
+ //20210105 CHAN-BWX3YU you start
+ // 鍏抽棴閲嶆柊鍒嗛厤 dialog 鐨勫搷搴旀柟娉�
+ closeAssignModel_Owner: function(cmp) {
+ cmp.set("v.assignIsOpen_Over", false);
+ },
+ // 纭閲嶆柊鍒嗛厤鐨勫搷搴旀柟娉�
+ ConfirmAssign: function(cmp, event, helper) {
+ helper.ConfirmAssign(cmp, event);
+ },
+ //20210105 CHAN-BWX3YU you end
+
+ //20211020 鍚堝苟浠诲姟 yjk start
+ closeMergeModel: function(cmp) {
+ cmp.set("v.mergeIsOpen_Over", false);
+ },
+ //20211020 鍚堝苟浠诲姟 yjk start
+
+ // 纭閲嶆柊鍒嗛厤鐨勫搷搴旀柟娉�
+ ConfirmAssign_Owner: function(cmp, event, helper) {
+ helper.ConfirmAssign_Owner(cmp, event);
+ },
+ //2021-10-19 mzy 浠诲姟绠$悊鏀瑰杽 start
+ ConfirmAccept:function(cmp, event, helper) {
+ helper.Confirm(cmp,event);
+ },
+ //鍏抽棴鎺ュ彈 dialog 鐨勫搷搴旀柟娉�
+ closeAcceptModel:function(cmp, event, helper) {
+ cmp.set("v.confirmIsOpen", false);
+ cmp.set("v.IsEventDefault", false);
+ cmp.set("v.IsGeneratePlan", false);
+ cmp.set("v.ActivityDate", null);
+ },
+ //2021-10-19 mzy 浠诲姟绠$悊鏀瑰杽 end
+
+ updateSelectedText: function (cmp, event) {
+ var selectedRows = event.getParam('selectedRows');
+ cmp.set('v.selectedData',selectedRows)
+ },
+ MergeConfirmAction : function(cmp,event,helper){
+ helper.MergeConfirm(cmp,event)
+ },
+
+ //2021-10-25 yjk 鍙栨秷鍘熷洜涓哄け鍗曪紝鏌ョ湅璇环鎶ュ憡鎸夐挳 start
+ cancelReasonChange : function(cmp,event,helper){
+
+ var cancelReason = cmp.get("v.cancelReason");
+
+ if(cancelReason == "瀹㈡埛宸查噰璐珵鍝侊紝澶卞崟" || cancelReason == "宸插け鍗�"){
+ cmp.set("v.checkEnquiry",true);
+ }else{
+ cmp.set("v.checkEnquiry",false);
+ }
+
+ },
+ checkEnquiry : function(cmp,event,helper){
+ var tempData = cmp.get("v.tempdata");
+ helper.checkEnquiry(cmp,tempData.id);
+ }
+ //2021-10-25 yjk 鍙栨秷鍘熷洜涓哄け鍗曪紝鏌ョ湅璇环鎶ュ憡鎸夐挳 end
+
+});
\ No newline at end of file
diff --git a/force-app/main/default/aura/taskManage/taskManageHelper.js b/force-app/main/default/aura/taskManage/taskManageHelper.js
new file mode 100644
index 0000000..ce5ac00
--- /dev/null
+++ b/force-app/main/default/aura/taskManage/taskManageHelper.js
@@ -0,0 +1,1394 @@
+({
+ // 鎴戠殑浠诲姟data Table 鏍忕洰鍒濆鍖�
+ COLUMNS: [
+ {
+ label: '浠诲姟鍚嶇О',
+ fieldName: 'taskId',
+ type: 'url',
+ typeAttributes: {
+ label: {
+ fieldName: 'taskName'
+ },
+ target: '_blank'
+ },
+ sortable: true ,
+ wrapText: true,
+ },
+ { label: '浠诲姟绫诲瀷', fieldName: 'taskType', type: 'text' ,wrapText: true, sortable: true, },
+ { label: '浠诲姟鐘舵��', fieldName: 'taskStatus', type: 'text' ,wrapText: true, sortable: true, },
+ //2021-09-28 mzy 浠诲姟绠$悊鏀瑰杽 start
+ { label: '浠诲姟鍖哄垎', fieldName: 'taskDifferent', type: 'text' ,wrapText: true, sortable: true, },
+ //2021-09-28 mzy 浠诲姟绠$悊鏀瑰杽 end
+ {
+ label: '瀹㈡埛',
+ fieldName: 'taskAccountID',
+ type: 'url',
+ typeAttributes: {
+ label: {
+ fieldName: 'taskAccountName'
+ },
+ target: '_blank'
+ },
+ sortable: true ,
+ wrapText: true,
+ },
+ //20210329 WLIG-BZK59N mzy start
+ {
+ label: '鐩稿叧淇℃伅',
+ fieldName: 'taskRelatedInformationID',
+ type:'url',
+ typeAttributes: {
+ label: {
+ fieldName: 'taskRelatedInformation'
+ },
+ target: '_self'
+ },
+ sortable: true,
+ wrapText: true,
+ //initialWidth: 150
+ },
+ //20210329 WLIG-BZK59N mzy end
+ {
+ label: '琚垎閰嶈��',
+ fieldName: 'taskAssigneeUrl',
+ type: 'url',
+ typeAttributes: {
+ label: {
+ fieldName: 'taskAssigneeName'
+ },
+ target: '_blank'
+ },
+ sortable: true,
+ wrapText: true,
+ },
+ {
+ label: "鍒涘缓鏃ユ湡",
+ fieldName: "taskCreateddate",
+ type: "date-local",
+ typeAttributes:{
+ weekday: "long",
+ year: "numeric",
+ month: "long",
+ day: "2-digit"
+ },
+ sortable: true ,
+ wrapText: true,
+ },
+ {
+ label: '鎺ュ彈浠诲姟',
+ type: 'button',
+ typeAttributes:
+ {
+ //iconName: 'utility:check',
+ label: '鎺ュ彈',
+ name: 'Confirm',
+ title: '鎺ュ彈',
+ disabled: { fieldName: 'confirmButtonisDisabled'},
+ value: 'Confirm'
+ },
+ wrapText: true,
+ initialWidth: 76,
+ },
+ {
+ label: '寤舵湡浠诲姟',
+ type: 'button',
+ typeAttributes:
+ {
+ //iconName: 'utility:clock',
+ label: '寤舵湡',
+ name: 'Delay',
+ title: '寤舵湡',
+ disabled: { fieldName: 'delayButtonisDisabled'},
+ value: 'Delay'
+ },
+ wrapText: true,
+ initialWidth: 76,
+ },
+ {
+ label: '鍙栨秷浠诲姟',
+ type: 'button',
+ typeAttributes:
+ {
+ //iconName: 'utility:close',
+ label: '鍙栨秷',
+ name: 'Cancel',
+ title: '鍙栨秷',
+ disabled: { fieldName: 'cancelButtonisDisabled'},
+ value: 'Cancel'
+ },
+ wrapText: true,
+ initialWidth: 76,
+
+ },
+ {//20210104 CHAN-BWX3YU you start
+ label: '鍒嗛厤浠诲姟',
+ type: 'button',
+ typeAttributes:
+ {
+ //iconName: 'utility:assignment',
+ label: '鍒嗛厤',
+ name: 'Assign_Owner',
+ title: '鍒嗛厤',
+ disabled: { fieldName: 'assignButtonisDisabled_Owner'},
+ value: 'Assign_Owner'
+ },
+ initialWidth: 76,
+ },//20210104 CHAN-BWX3YU you end
+ {//20211008 yjk 鍚堝苟浠诲姟 start
+ label: '鍚堝苟浠诲姟',
+ type: 'button',
+ typeAttributes:
+ {
+ //iconName: 'utility:check',
+ label: '鍚堝苟',
+ name: 'Merge',
+ title: '鍚堝苟',
+ disabled: { fieldName: 'confirmButtonisDisabled'},
+ value: 'Merge'
+ },
+ initialWidth: 76,
+ },//20211008 yjk 鍚堝苟浠诲姟 end
+ ],
+ // 涓嬪睘浠诲姟data Table 鏍忕洰鍒濆鍖�
+ COLUMNS2: [
+ {
+ label: '浠诲姟鍚嶇О',
+ fieldName: 'taskId',
+ type: 'url',
+ typeAttributes: {
+ label: {
+ fieldName: 'taskName'
+ },
+ target: '_blank'
+ },
+ sortable: true
+ },
+ { label: '浠诲姟绫诲瀷', fieldName: 'taskType', type: 'text' ,wrapText: true, sortable: true, },
+ { label: '浠诲姟鐘舵��', fieldName: 'taskStatus', type: 'text' ,wrapText: true, sortable: true, },
+ //2021-09-28 mzy 浠诲姟绠$悊鏀瑰杽 start
+ { label: '浠诲姟鍖哄垎', fieldName: 'taskDifferent', type: 'text' ,wrapText: true, sortable: true, },
+ //2021-09-28 mzy 浠诲姟绠$悊鏀瑰杽 end
+ {
+ label: '瀹㈡埛',
+ fieldName: 'taskAccountID',
+ type: 'url',
+ typeAttributes: {
+ label: {
+ fieldName: 'taskAccountName'
+ },
+ target: '_blank'
+ },
+ sortable: true
+ },
+ {
+ label: '琚垎閰嶈��',
+ fieldName: 'taskAssigneeUrl',
+ type: 'url',
+ typeAttributes: {
+ label: {
+ fieldName: 'taskAssigneeName'
+ },
+ target: '_blank'
+ },
+ sortable: true
+ },
+ {
+ label: "鍒涘缓鏃ユ湡",
+ fieldName: "taskCreateddate",
+ type: "date-local",
+ typeAttributes:{
+ weekday: "long",
+ year: "numeric",
+ month: "long",
+ day: "2-digit"
+ },
+ sortable: true
+ },
+ {
+ label: '鍒嗛厤浠诲姟',
+ type: 'button',
+ typeAttributes:
+ {
+ //iconName: 'utility:assignment',
+ label: '鍒嗛厤',
+ name: 'Assign',
+ title: '鍒嗛厤',
+ disabled: { fieldName: 'assignButtonisDisabled'},
+ value: 'Assign'
+ },
+ },
+ ],
+ COLUMNS3: [ //娲惧彂鍘熷洜
+ {
+ label: '浠诲姟鍚嶇О',
+ fieldName: 'taskId',
+ type: 'url',
+ typeAttributes: {
+ label: {
+ fieldName: 'taskName'
+ },
+ target: '_blank'
+ },
+ sortable: true ,
+ wrapText: true,
+ },
+ { label: '浠诲姟绫诲瀷', fieldName: 'taskType', type: 'text' ,wrapText: true, sortable: true, },
+ { label: '浠诲姟鐘舵��', fieldName: 'taskStatus', type: 'text' ,wrapText: true, sortable: true, },
+ //2021-09-28 mzy 浠诲姟绠$悊鏀瑰杽 start
+ { label: '浠诲姟鍖哄垎', fieldName: 'taskDifferent', type: 'text' ,wrapText: true, sortable: true, },
+ //2021-09-28 mzy 浠诲姟绠$悊鏀瑰杽 end
+ {
+ label: '瀹㈡埛',
+ fieldName: 'taskAccountID',
+ type: 'url',
+ typeAttributes: {
+ label: {
+ fieldName: 'taskAccountName'
+ },
+ target: '_blank'
+ },
+ sortable: true ,
+ wrapText: true,
+ },
+ //20210329 WLIG-BZK59N mzy start
+ {
+ label: '鐩稿叧淇℃伅',
+ fieldName: 'taskRelatedInformationID',
+ type:'url',
+ typeAttributes: {
+ label: {
+ fieldName: 'taskRelatedInformation'
+ },
+ target: '_self'
+ },
+ sortable: true,
+ wrapText: true,
+ //initialWidth: 150
+ },
+ //20210329 WLIG-BZK59N mzy end
+ {
+ label: '鍒嗛厤鍘熷洜',
+ fieldName: 'distributeReason',
+ type:'text',
+ wrapText: true,
+ sortable: true,
+ },
+ {
+ label: '琚垎閰嶈��',
+ fieldName: 'taskAssigneeUrl',
+ type: 'url',
+ typeAttributes: {
+ label: {
+ fieldName: 'taskAssigneeName'
+ },
+ target: '_blank'
+ },
+ sortable: true,
+ wrapText: true,
+ },
+ {
+ label: "鍒涘缓鏃ユ湡",
+ fieldName: "taskCreateddate",
+ type: "date-local",
+ typeAttributes:{
+ weekday: "long",
+ year: "numeric",
+ month: "long",
+ day: "2-digit"
+ },
+ sortable: true ,
+ wrapText: true,
+ },
+ {
+ label: '鎺ュ彈浠诲姟',
+ type: 'button',
+ typeAttributes:
+ {
+ //iconName: 'utility:check',
+ label: '鎺ュ彈',
+ name: 'Confirm',
+ title: '鎺ュ彈',
+ disabled: { fieldName: 'confirmButtonisDisabled'},
+ value: 'Confirm'
+ },
+ wrapText: true,
+ initialWidth: 76,
+ },
+ {
+ label: '寤舵湡浠诲姟',
+ type: 'button',
+ typeAttributes:
+ {
+ //iconName: 'utility:clock',
+ label: '寤舵湡',
+ name: 'Delay',
+ title: '寤舵湡',
+ disabled: { fieldName: 'delayButtonisDisabled'},
+ value: 'Delay'
+ },
+ wrapText: true,
+ initialWidth: 76,
+ },
+ {
+ label: '鍙栨秷浠诲姟',
+ type: 'button',
+ typeAttributes:
+ {
+ //iconName: 'utility:close',
+ label: '鍙栨秷',
+ name: 'Cancel',
+ title: '鍙栨秷',
+ disabled: { fieldName: 'cancelButtonisDisabled'},
+ value: 'Cancel'
+ },
+ wrapText: true,
+ initialWidth: 76,
+
+ },
+ {//20210104 CHAN-BWX3YU you start
+ label: '鍒嗛厤浠诲姟',
+ type: 'button',
+ typeAttributes:
+ {
+ //iconName: 'utility:assignment',
+ label: '鍒嗛厤',
+ name: 'Assign_Owner',
+ title: '鍒嗛厤',
+ disabled: { fieldName: 'assignButtonisDisabled_Owner'},
+ value: 'Assign_Owner'
+ },
+ initialWidth: 76,
+ },//20210104 CHAN-BWX3YU you end
+ {//20211008 yjk 鍚堝苟浠诲姟 start
+ label: '鍚堝苟浠诲姟',
+ type: 'button',
+ typeAttributes:
+ {
+ //iconName: 'utility:check',
+ label: '鍚堝苟',
+ name: 'Merge',
+ title: '鍚堝苟',
+ disabled: { fieldName: 'confirmButtonisDisabled'},
+ value: 'Merge'
+ },
+ initialWidth: 76,
+ },//20211008 yjk 鍚堝苟浠诲姟 end
+ ],
+ COLUMNS4: [ //瀹屾垚鏉′欢鍘熷洜
+ {
+ label: '浠诲姟鍚嶇О',
+ fieldName: 'taskId',
+ type: 'url',
+ typeAttributes: {
+ label: {
+ fieldName: 'taskName'
+ },
+ target: '_blank'
+ },
+ sortable: true ,
+ wrapText: true,
+ },
+ { label: '浠诲姟绫诲瀷', fieldName: 'taskType', type: 'text' ,wrapText: true, sortable: true, },
+ { label: '浠诲姟鐘舵��', fieldName: 'taskStatus', type: 'text' ,wrapText: true, sortable: true, },
+ //2021-09-28 mzy 浠诲姟绠$悊鏀瑰杽 start
+ { label: '浠诲姟鍖哄垎', fieldName: 'taskDifferent', type: 'text' ,wrapText: true, sortable: true, },
+ //2021-09-28 mzy 浠诲姟绠$悊鏀瑰杽 end
+ {
+ label: '瀹㈡埛',
+ fieldName: 'taskAccountID',
+ type: 'url',
+ typeAttributes: {
+ label: {
+ fieldName: 'taskAccountName'
+ },
+ target: '_blank'
+ },
+ sortable: true ,
+ wrapText: true,
+ },
+ //20210329 WLIG-BZK59N mzy start
+ {
+ label: '鐩稿叧淇℃伅',
+ fieldName: 'taskRelatedInformationID',
+ type:'url',
+ typeAttributes: {
+ label: {
+ fieldName: 'taskRelatedInformation'
+ },
+ target: '_self'
+ },
+ sortable: true,
+ wrapText: true,
+ //initialWidth: 150
+ },
+ //20210329 WLIG-BZK59N mzy end
+ {
+ label: '鏈畬鎴愬師鍥�',
+ fieldName: 'completeCondition',
+ type:'text',
+ wrapText: true,
+ sortable: true,
+ },
+ {
+ label: '琚垎閰嶈��',
+ fieldName: 'taskAssigneeUrl',
+ type: 'url',
+ typeAttributes: {
+ label: {
+ fieldName: 'taskAssigneeName'
+ },
+ target: '_blank'
+ },
+ sortable: true,
+ wrapText: true,
+ },
+ {
+ label: "鍒涘缓鏃ユ湡",
+ fieldName: "taskCreateddate",
+ type: "date-local",
+ typeAttributes:{
+ weekday: "long",
+ year: "numeric",
+ month: "long",
+ day: "2-digit"
+ },
+ sortable: true ,
+ wrapText: true,
+ },
+ {
+ label: '鎺ュ彈浠诲姟',
+ type: 'button',
+ typeAttributes:
+ {
+ //iconName: 'utility:check',
+ label: '鎺ュ彈',
+ name: 'Confirm',
+ title: '鎺ュ彈',
+ disabled: { fieldName: 'confirmButtonisDisabled'},
+ value: 'Confirm'
+ },
+ wrapText: true,
+ initialWidth: 76,
+ },
+ {
+ label: '寤舵湡浠诲姟',
+ type: 'button',
+ typeAttributes:
+ {
+ //iconName: 'utility:clock',
+ label: '寤舵湡',
+ name: 'Delay',
+ title: '寤舵湡',
+ disabled: { fieldName: 'delayButtonisDisabled'},
+ value: 'Delay'
+ },
+ wrapText: true,
+ initialWidth: 76,
+ },
+ {
+ label: '鍙栨秷浠诲姟',
+ type: 'button',
+ typeAttributes:
+ {
+ //iconName: 'utility:close',
+ label: '鍙栨秷',
+ name: 'Cancel',
+ title: '鍙栨秷',
+ disabled: { fieldName: 'cancelButtonisDisabled'},
+ value: 'Cancel'
+ },
+ wrapText: true,
+ initialWidth: 76,
+
+ },
+ {//20210104 CHAN-BWX3YU you start
+ label: '鍒嗛厤浠诲姟',
+ type: 'button',
+ typeAttributes:
+ {
+ //iconName: 'utility:assignment',
+ label: '鍒嗛厤',
+ name: 'Assign_Owner',
+ title: '鍒嗛厤',
+ disabled: { fieldName: 'assignButtonisDisabled_Owner'},
+ value: 'Assign_Owner'
+ },
+ initialWidth: 76,
+ },//20210104 CHAN-BWX3YU you end
+ {//20211008 yjk 鍚堝苟浠诲姟 start
+ label: '鍚堝苟浠诲姟',
+ type: 'button',
+ typeAttributes:
+ {
+ //iconName: 'utility:check',
+ label: '鍚堝苟',
+ name: 'Merge',
+ title: '鍚堝苟',
+ disabled: { fieldName: 'confirmButtonisDisabled'},
+ value: 'Merge'
+ },
+ initialWidth: 76,
+ },//20211008 yjk 鍚堝苟浠诲姟 end
+ ],
+ // 璁惧畾鎴戠殑浠诲姟涓嬪睘浠诲姟鍏蜂綋鏈夊摢浜涙爮鐩�
+ setColumns: function(cmp) {
+
+ cmp.set('v.columns2', this.COLUMNS2);
+ var paramValue = this.getURLParameterValue();
+ if(Object.keys(paramValue).length > 0){
+ if(paramValue.paramType == '2'){
+ cmp.set('v.columns', this.COLUMNS4);
+ }else{
+ cmp.set('v.columns', this.COLUMNS3);
+ }
+ }else{
+ cmp.set('v.columns', this.COLUMNS3);
+ }
+
+
+ },
+ // 璁惧畾鏁版嵁
+ setData: function(cmp) {
+ var action = cmp.get("c.getCurrentTask");
+ var myTaskName = cmp.get('v.myTaskName');
+ var myTaskType = cmp.get('v.myTaskType');
+ var myTaskStatus = cmp.get('v.myTaskStatus');
+ var mytempTask = cmp.get("v.myTempTask");
+ var myAccountID = mytempTask.account__c;
+ var today = new Date();
+ var todayMonth = '01';
+ if(today.getMonth()<9){
+ todayMonth = '0' + (today.getMonth()+1);
+ }else{
+ todayMonth = '' + (today.getMonth()+1);
+ }
+ // WLIG-BS6DH7 start
+ // var myStartDate = today.getFullYear() +'-' + todayMonth + '-01';
+ // console.log('myStartDate:'+myStartDate);
+ // cmp.set('v.myStartDate',myStartDate);
+ var myStartDate = cmp.get('v.myStartDate');
+ // WLIG-BS6DH7 end
+ var myEndDate = cmp.get('v.myEndDate');
+ var subTaskName = cmp.get('v.subTaskName');
+ var subTaskType = cmp.get('v.subTaskType');
+ var subTaskStatus = cmp.get('v.subTaskStatus');
+ var subTempTask = cmp.get("v.subTempTask");
+ var subAccountID = subTempTask.account__c;
+ var subStartDate = cmp.get('v.subStartDate');
+ var subEndDate = cmp.get('v.subEndDate');
+ var subSFDCPosition = cmp.get('v.subSFDCPosition');
+ //wangweipeng 鍒濆鍖栭粯璁や换鍔$姸鎬佹牴鎹畊rl浼犺繃鏉ョ殑鍙傛暟鏉ュ垽瀹� 2021/09/28 start
+ var flag = true;
+ var paramValue = this.getURLParameterValue();
+ if(Object.keys(paramValue).length > 0){
+ if(paramValue.paramType == '2'){
+ flag = false;
+ myTaskStatus = '02 鎺ュ彈';
+ subTaskStatus = '02 鎺ュ彈';
+ }
+ }
+ if(flag){
+ myTaskStatus = '01 鍒嗛厤';
+ subTaskStatus = '01 鍒嗛厤';
+ }
+ //wangweipeng 鍒濆鍖栭粯璁や换鍔$姸鎬佹牴鎹畊rl浼犺繃鏉ョ殑鍙傛暟鏉ュ垽瀹� 2021/09/28 end
+ //2021-09-28 mzy 浠诲姟绠$悊鏀瑰杽 start
+ var myTaskDifferent = cmp.get('v.myTaskDifferent');
+ var subTaskDifferent = cmp.get('v.subTaskDifferent');
+ //2021-09-28 mzy 浠诲姟绠$悊鏀瑰杽 end
+ this.showSpinner(cmp);
+ action.setParams({
+ "myTaskName" : myTaskName,
+ "myTaskType" : myTaskType,
+ "myTaskStatus" : myTaskStatus,
+ "myAccountID" : myAccountID,
+ "myStartDate" : myStartDate,
+ "myEndDate" : myEndDate,
+ //2021-09-28 mzy 浠诲姟绠$悊鏀瑰杽 start
+ "myTaskDifferent" : myTaskDifferent,
+ "subTaskDifferent" : subTaskDifferent,
+ //2021-09-28 mzy 浠诲姟绠$悊鏀瑰杽 end
+ "subTaskName" : subTaskName,
+ "subTaskType" : subTaskType,
+ "subTaskStatus" : subTaskStatus,
+ "subAccountID" : subAccountID,
+ "subStartDate" : subStartDate,
+ "subEndDate" : subEndDate,
+ "subSFDCPosition": subSFDCPosition
+ });
+ action.setCallback(this, function(response) {
+ var state = response.getState();
+ if (state === "SUCCESS") {
+ var res = response.getReturnValue();
+ cmp.set('v.data',res.myTasks);
+ cmp.set('v.data2',res.subTasks);
+ cmp.set('v.dataCopy',res.myTasks);
+ cmp.set('v.data2Copy',res.subTasks);
+
+ //wangweipeng 鍒濆鍖栭粯璁や换鍔$姸鎬佹牴鎹畊rl浼犺繃鏉ョ殑鍙傛暟鏉ュ垽瀹� 2021/09/28 start
+ var flag = true;
+ if(Object.keys(paramValue).length > 0){
+ if(paramValue.paramType == '2'){
+ flag = false;
+ cmp.set('v.myTaskStatus','02 鎺ュ彈');
+ cmp.set('v.subTaskStatus','02 鎺ュ彈');
+ }
+ }
+ if(flag){
+ cmp.set('v.myTaskStatus','01 鍒嗛厤');
+ cmp.set('v.subTaskStatus','01 鍒嗛厤');
+ }
+ //wangweipeng 鍒濆鍖栭粯璁や换鍔$姸鎬佹牴鎹畊rl浼犺繃鏉ョ殑鍙傛暟鏉ュ垽瀹� 2021/09/28 start
+
+ }
+ this.hideSpinner(cmp);
+ });
+ $A.enqueueAction(action);
+ },
+ // 璁惧畾閫夐」
+ setOptions: function(cmp){
+ //console.log('Done!');
+ var action = cmp.get("c.getpickerField");
+ action.setCallback(this, function(response) {
+ var state = response.getState();
+ if (state === "SUCCESS") {
+ var res = response.getReturnValue();
+ var taskTypeOptions = res.taskTypeOptions;
+ if(!!taskTypeOptions && taskTypeOptions.length > 0 ){
+ cmp.set('v.taskTypeOptions', taskTypeOptions);
+ }
+ var taskStatusOptions = res.taskStatusOptions;
+ if(!!taskStatusOptions && taskStatusOptions.length > 0 ){
+ cmp.set('v.taskStatusOptions', taskStatusOptions);
+ }
+ var SFDCPositionOptions = res.SFDCPositionOptions;
+ if(!!SFDCPositionOptions && SFDCPositionOptions.length > 0 ){
+ cmp.set('v.SFDCPositionOptions', SFDCPositionOptions);
+ }
+ var cancelReasonOptions = res.cancelReasonOptions;
+ if(!!cancelReasonOptions && cancelReasonOptions.length > 0 ){
+ cmp.set('v.cancelReasonOptions', cancelReasonOptions);
+ }
+
+ var delayReasonOptions = res.delayReasonOptions;
+ if(!!delayReasonOptions && delayReasonOptions.length > 0 ){
+ cmp.set('v.delayReasonOptions', delayReasonOptions);
+ }
+
+ //2021-09-28 mzy 浠诲姟绠$悊鏀瑰杽 start
+ var taskDifferentOptions = res.taskDifferentOptions;
+ if(!!taskDifferentOptions && taskDifferentOptions.length > 0 ){
+ cmp.set('v.taskDifferentOptions', taskDifferentOptions);
+ }
+ //2021-09-28 mzy 浠诲姟绠$悊鏀瑰杽 end
+
+ //console.log('taskTypeOptions.length:'+taskTypeOptions.length);
+
+ }
+ this.hideSpinner(cmp);
+ });
+ $A.enqueueAction(action);
+ },
+ // 璁惧畾妫�绱笅灞炴潯浠�
+ setSubUserFilter: function(cmp){
+ var myUserID = $A.get('$SObjectType.CurrentUser.Id');
+ var tempSubfilter = ' managerid = \'' + myUserID
+ + '\' or JingliApprovalManager__c = \'' + myUserID
+ + '\' or SalesManager__c = \'' + myUserID
+ + '\' or JingliEquipmentManager__c = \'' + myUserID
+ + '\' or BuchangApprovalManagerSales__c = \'' + myUserID
+ + '\' or BuchangApprovalManager__c = \'' + myUserID
+ + '\' or Buzhang_Equipment_Manager__c = \'' + myUserID
+ + '\' or ZongjianApprovalManager__c = \'' + myUserID
+ + '\' or TongkuoZongjian__c = \'' + myUserID +'\' ' ;
+ cmp.set('v.subfilter', tempSubfilter);
+ console.log('tempSubfilter:'+tempSubfilter);
+
+ },
+ //20210105 CHAN-BWX3YU you start
+ // 璁惧畾妫�绱㈠悓绾ф潯浠� 鐪佸拰鑱岀涓�鏍�
+ setSubUserFilter_Owner: function(cmp){
+ var myUserID = $A.get('$SObjectType.CurrentUser.Id');
+ var action = cmp.get("c.UserInfo_Owner");
+ action.setCallback(this, function(response) {
+ var state = response.getState();
+ console.log("state=="+state);
+ if (state === "SUCCESS") {
+ var res = response.getReturnValue();
+ if(res.result == 'Success') {
+ var Job_Category = res.Job_Category ;
+ var ProvinceName = res.ProvinceName ;
+ var tempSubfilter = ' Province__c = \'' + ProvinceName
+ + '\' and Job_Category__c = \'' + Job_Category
+ + '\' and id <> \'' + myUserID
+ + '\' and IsActive = true ';
+ cmp.set('v.subfilter_Owner', tempSubfilter);
+ console.log('tempSubfilter:'+tempSubfilter);
+ }else{
+ cmp.set("v.errorMessage", res.result);
+
+ }
+ }else if (state === "ERROR") {
+ cmp.set("v.errorMessage", '妫�绱㈠け璐ワ紒');
+ console.log("v.errorMessage=="+v.errorMessage);
+
+ }
+ });
+ $A.enqueueAction(action);
+ //鍚庡彴鏂规硶鐨勫洖璋冨嚱鏁�
+ },
+ //20210105 CHAN-BWX3YU you end
+ // 鎺掑簭閫昏緫璁惧畾
+ sortBy: function(field, reverse, primer) {
+ var 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));
+ };
+ },
+ // 涓嬪睘浠诲姟杩涜鎺掑簭
+ handleSort2: function(cmp, event) {
+ var sortedBy = event.getParam('fieldName');
+ var sortDirection = event.getParam('sortDirection');
+ var cloneData = cmp.get('v.data2Copy');
+ cloneData.sort((this.sortBy(sortedBy, sortDirection === 'asc' ? 1 : -1)));
+ cmp.set('v.data2', cloneData);
+ cmp.set('v.sortDirection2', sortDirection);
+ cmp.set('v.sortedBy2', sortedBy);
+ },
+ // 鎴戠殑浠诲姟杩涜妫�绱�
+ myTaskSearch: function(cmp, event) {
+ var action = cmp.get("c.getMyTask");
+ var myTaskName = cmp.get('v.myTaskName');
+ var myTaskType = cmp.get('v.myTaskType');
+ var myTaskStatus = cmp.get('v.myTaskStatus');
+ var mytempTask = cmp.get("v.myTempTask");
+ var myAccountID = mytempTask.account__c;
+ var myStartDate = cmp.get('v.myStartDate');
+ var myEndDate = cmp.get('v.myEndDate');
+ //2021-09-28 mzy 浠诲姟绠$悊鏀瑰杽 start
+ var myTaskDifferent = cmp.get('v.myTaskDifferent');
+ //2021-09-28 mzy 浠诲姟绠$悊鏀瑰杽 end
+ if('01 鍒嗛厤' === myTaskStatus){
+ cmp.set('v.columns', this.COLUMNS3);
+ }else if('02 鎺ュ彈' === myTaskStatus){
+ cmp.set('v.columns', this.COLUMNS4);
+ }else{
+ cmp.set('v.columns', this.COLUMNS);
+ }
+ action.setParams({
+ "myTaskName" : myTaskName,
+ "myTaskType" : myTaskType,
+ "myTaskStatus" : myTaskStatus,
+ "myAccountID" : myAccountID,
+ "myStartDate" : myStartDate,
+ "myEndDate" : myEndDate,
+ //2021-09-28 mzy 浠诲姟绠$悊鏀瑰杽 start
+ "myTaskDifferent" : myTaskDifferent
+ //2021-09-28 mzy 浠诲姟绠$悊鏀瑰杽 end
+ });
+ this.showSpinner(cmp);
+ action.setCallback(this, function(response) {
+ var state = response.getState();
+ if (state === "SUCCESS") {
+ var res = response.getReturnValue();
+
+ cmp.set('v.data',res.myTasks);
+ cmp.set('v.dataCopy',res.myTasks);
+ }
+ this.hideSpinner(cmp);
+ });
+ $A.enqueueAction(action);
+ },
+ // 涓嬪睘浠诲姟杩涜妫�绱�
+ subTaskSearch: function(cmp, event) {
+ var action = cmp.get("c.getSubTask");
+ var subTaskName = cmp.get('v.subTaskName');
+ var subTaskType = cmp.get('v.subTaskType');
+ var subTaskStatus = cmp.get('v.subTaskStatus');
+ var subTempTask = cmp.get("v.subTempTask");
+ var subAccountID = subTempTask.account__c;
+ var subStartDate = cmp.get('v.subStartDate');
+ var subEndDate = cmp.get('v.subEndDate');
+ var subSFDCPosition = cmp.get('v.subSFDCPosition');
+ //2021-09-28 mzy 浠诲姟绠$悊鏀瑰杽 start
+ var subTaskDifferent = cmp.get('v.subTaskDifferent');
+ //2021-09-28 mzy 浠诲姟绠$悊鏀瑰杽 end
+ action.setParams({
+ "subTaskName" : subTaskName,
+ "subTaskType" : subTaskType,
+ "subTaskStatus" : subTaskStatus,
+ "subAccountID" : subAccountID,
+ "subStartDate" : subStartDate,
+ "subEndDate" : subEndDate,
+ "subSFDCPosition": subSFDCPosition,
+ //2021-09-28 mzy 浠诲姟绠$悊鏀瑰杽 start
+ "subTaskDifferent" : subTaskDifferent
+ //2021-09-28 mzy 浠诲姟绠$悊鏀瑰杽 end
+ });
+ this.showSpinner(cmp);
+ action.setCallback(this, function(response) {
+ var state = response.getState();
+ if (state === "SUCCESS") {
+ var res = response.getReturnValue();
+
+ cmp.set('v.data2',res.subTasks);
+ cmp.set('v.dataCopy2',res.subTasks);
+ }
+ this.hideSpinner(cmp);
+ });
+ $A.enqueueAction(action);
+ },
+ // 鎴戠殑浠诲姟杩涜鎺掑簭
+ handleSort: function(cmp, event) {
+ var sortedBy = event.getParam('fieldName');
+ var sortDirection = event.getParam('sortDirection');
+ var cloneData = cmp.get('v.dataCopy');
+ cloneData.sort((this.sortBy(sortedBy, sortDirection === 'asc' ? 1 : -1)));
+ cmp.set('v.data', cloneData);
+ cmp.set('v.sortDirection', sortDirection);
+ cmp.set('v.sortedBy', sortedBy);
+ },
+ // data Table 浠讳綍涓�涓寜閽兘杩涜繖閲岋紝鏍规嵁鍏蜂綋鍝釜鎸夐挳璺宠浆鑷充笉鍚屾寜閽�
+ handleRowAction: function (cmp, event) {
+ var action = event.getParam('action');
+ var row = event.getParam('row');
+ switch (action.name) {
+ case 'Cancel':
+ this.Cancel(cmp, row, action);
+ break;
+ case 'Confirm':
+ //2021-10-19 mzy 浠诲姟绠$悊鏀瑰杽 start
+ //this.Confirm(cmp, row, action);
+ this.Accept(cmp, row, action);
+ //2021-10-19 mzy 浠诲姟绠$悊鏀瑰杽 end
+ break;
+ case 'Assign':
+ this.Assign(cmp, row, action);
+ break;
+ case 'Delay':
+ this.Delay(cmp, row, action);
+ break;
+ //20210104 CHAN-BWX3YU you start
+ case 'Assign_Owner':
+ this.Assign_Owner(cmp, row, action);
+ break;
+ //20210104 CHAN-BWX3YU you end
+
+ //20211008 yjk 鍚堝苟浠诲姟 start
+ case 'Merge':
+ this.Merge(cmp, row, action,event);
+ break;
+ //20211008 yjk 鍚堝苟浠诲姟 end
+ }
+ },
+ // 20211008 yjk 寮瑰嚭鍙栨秷 model dialog
+ Merge: function (cmp, row, action,event) {
+
+ cmp.set("v.mergeIsOpen_Over", true);
+
+ },
+ MergeConfirm : function(cmp,event){
+ cmp.set("v.mergeIsOpen_Over", false);
+ var selectedData = cmp.get("v.selectedData");
+ if(!selectedData || selectedData.length <=1 ){
+ alert("璇烽�夋嫨涓ゆ潯浠ヤ笂鐨勪换鍔¤繘琛屽悎骞讹紒");
+ return;
+ }
+ var action = cmp.get("c.mergeTask");
+ var taskIdList = new Array;
+ for(var i = 0 ;i<selectedData.length;i++){
+ taskIdList.push(selectedData[i].id);
+
+ }
+
+ action.setParams({
+ "taskIdList" : taskIdList
+ });
+ this.showSpinner(cmp);
+
+ action.setCallback(this, function(response) {
+ this.hideSpinner(cmp);
+
+ var state = response.getState();
+ var returnValue = response.getReturnValue();
+ if (state === "SUCCESS" && returnValue === "Success") {
+
+ cmp.set("v.successMessage", '鍚堝苟鎴愬姛');
+ cmp.set("v.cancelIsOpen", false);
+ this.showSuccessToast(cmp);
+ this.myTaskSearch(cmp,event);
+ }else if (state === "SUCCESS" && returnValue !== "Success") {
+ cmp.set("v.errorMessage", returnValue);
+ this.showErrorToast(cmp);
+ }else if (state === "ERROR") {
+ cmp.set("v.errorMessage", '浠诲姟鍚堝苟澶辫触锛�');
+ this.showErrorToast(cmp);
+ }
+ });
+ $A.enqueueAction(action);
+ },
+ checkEnquiry : function(cmp,taskId){
+
+ var action = cmp.get("c.checkEnquiryController");
+
+ action.setParams({
+ "taskId" : taskId
+ });
+
+ this.showSpinner(cmp);
+
+ action.setCallback(this, function(response) {
+ this.hideSpinner(cmp);
+
+ var state = response.getState();
+ var returnValue = response.getReturnValue();
+
+ if (state === "SUCCESS") {
+
+ if(returnValue === "error"){
+ cmp.set("v.errorMessage", '鑾峰彇璇环淇℃伅澶辫触锛�');
+ this.showErrorToast(cmp);
+ }else if(returnValue === "no"){
+ cmp.set("v.errorMessage", '璇ヤ换鍔℃病鏈夊搴旂殑璇环锛�');
+ this.showErrorToast(cmp);
+ }else{
+
+ window.open('/apex/PCLLostReportPage?pageStatus=Create&oppId=' + returnValue + '&lostType=澶卞崟','_blank');
+ }
+
+ }else if (state === "ERROR") {
+ cmp.set("v.errorMessage", '鑾峰彇璇环淇℃伅澶辫触锛�');
+ this.showErrorToast(cmp);
+ }
+ });
+ $A.enqueueAction(action);
+ },
+
+ // 寮瑰嚭鍙栨秷 model dialog
+ Cancel: function (cmp, row, action) {
+ cmp.set('v.tempdata', row);
+ cmp.set("v.cancelReason", '');
+ cmp.set("v.cancelReasonOther", '');
+ cmp.set('v.tempTask',row.tempTask);
+ cmp.set("v.cancelIsOpen", true);
+ cmp.set("v.checkEnquiry",false);//2022-1-8 yjk 鎺у埗澶卞崟鎸夐挳
+
+ },
+ //2021-11-17 mzy 浠诲姟绠$悊鏀瑰杽 start
+ // 寮瑰嚭纭 model dialog
+ Accept:function (cmp, row, action) {
+ cmp.set('v.ActivityDate',null);
+ cmp.set('v.feedbackPlanDate',null);
+ //闄や簡璁板綍绫诲瀷涓哄叾浠�,涓斾换鍔″尯鍒嗕负涓婄骇鍒嗛厤浠诲姟鏃�,鍏朵粬閮借烦杞簨浠堕〉闈�
+ if('鍏朵粬'!=row.taskType){
+ cmp.set("v.IsEventDefault", true);
+ cmp.set("v.IsGeneratePlan", true);
+
+ }
+ cmp.set('v.tempdata', row);
+ cmp.set("v.confirmIsOpen", true);
+ },
+ //2021-11-17 mzy 浠诲姟绠$悊鏀瑰杽 end
+ // 寮瑰嚭纭 model dialog
+ Confirm: function (cmp,event) {
+ //2021-10-19 mzy 浠诲姟绠$悊鏀瑰杽 start
+ //鏄惁鐢熸垚璁″垝
+ var IsGeneratePlan = cmp.get('v.IsGeneratePlan');
+ //鏄惁鏄繀椤荤敓鎴愪簨浠�
+ var IsEventDefault = cmp.get('v.IsEventDefault');
+ //鎷滆鏃堕棿
+ var activityDateV = cmp.get('v.ActivityDate');
+ var feedbackPlanDateV = cmp.get('v.feedbackPlanDate');
+ var row = cmp.get('v.tempdata');
+ //check start
+ //浠诲姟鍒涘缓鏃�
+ var taskCreated = row.taskCreateddate;
+ //浠诲姟甯屾湜瀹屾垚鏃�
+ var HopeCompletionDateV = row.HopeCompletionDate;
+ var HopeCompletionDate = new Date(HopeCompletionDateV);
+ //鎷滆鏃ユ湡
+ var activityDate = new Date(activityDateV);
+ //璁″垝鍙嶉鏃�
+ var feedbackPlanDate = new Date(feedbackPlanDateV);
+ //涓嶇敓鎴愯鍒掓椂check
+ if(IsGeneratePlan==false&&IsEventDefault==false){
+ //check 0
+ if(activityDateV==null||activityDateV==''||activityDateV==undefined){
+ alert('閫夋嫨鏈敓鎴愯鍒掔殑璇�,鍒欏繀椤诲~鍐� 鎷滆鏃�');
+ return;
+ }
+ if(feedbackPlanDateV==null||feedbackPlanDateV==''||feedbackPlanDateV==undefined){
+ alert('閫夋嫨鏈敓鎴愯鍒掔殑璇�,鍒欏繀椤诲~鍐� 璁″垝鍙嶉鏃�');
+ return;
+ }
+ //check 1
+ var regx = new RegExp(/^\d{4}\-\d{2}\-\d{2}$/);
+ if(!regx.test(activityDateV)){
+ alert('璇疯緭鍏ユ湁鏁堟椂闂�');
+ return;
+ }
+
+ var regx = new RegExp(/^\d{4}\-\d{2}\-\d{2}$/);
+ if(!regx.test(feedbackPlanDateV)){
+ alert('璇疯緭鍏ユ湁鏁堟椂闂�');
+ return;
+ }
+ //check 2
+ var today = new Date();
+ if(today>=activityDate){
+ alert('璇疯緭鍏ヤ粖澶╀互鍚庣殑鏃ユ湡');
+ return;
+ }
+ if(today>=feedbackPlanDate){
+ alert('璇疯緭鍏ヤ粖澶╀互鍚庣殑鏃ユ湡');
+ return;
+ }
+ //2021-11-25 mzy 浠诲姟绠$悊鏀瑰杽 start
+ //check 3
+ //璁″垝鍙嶉鏃ヤ笉鑳借秴杩囧笇鏈涘畬鎴愭棩
+ if(feedbackPlanDate>HopeCompletionDate){
+ alert('璁″垝鍙嶉鏃ヤ笉鑳借秴杩囧笇鏈涘畬鎴愭棩('+HopeCompletionDateV+')');
+ return;
+ }
+
+ if(activityDate>HopeCompletionDate){
+ alert('鎷滆鏃ヤ笉鑳借秴杩囧笇鏈涘畬鎴愭棩('+HopeCompletionDateV+')');
+ return;
+ }
+ //2021-11-25 mzy 浠诲姟绠$悊鏀瑰杽 end
+
+ }
+ //check end
+ //2021-10-19 mzy 浠诲姟绠$悊鏀瑰杽 end
+ var action = cmp.get("c.confirmOrDelay");
+ action.setParams({
+ "taskID" : row.id,
+ "isDelay" : false,
+ "delayReason" : '',
+ "IsGeneratePlan":IsGeneratePlan, //2021-10-20 mzy 浠诲姟绠$悊鏀瑰杽
+ "ActivityDate" : activityDate, //2021-10-20 mzy 浠诲姟绠$悊鏀瑰杽
+ "feedbackPlanDate" : feedbackPlanDate
+ });
+ //2021-10-20 mzy 浠诲姟绠$悊鏀瑰杽 start
+ //闇�瑕佺敓鎴愯鍒掓墠浼氳烦杞埌浜嬩欢椤甸潰,灏嗕换鍔d甯﹀埌浜嬩欢椤甸潰
+ if(IsGeneratePlan==true){
+ window.open('/apex/SimpleEventRegister?taskId=' + row.id,'_blank');
+ }
+ //2021-10-20 mzy 浠诲姟绠$悊鏀瑰杽 end
+ this.showSpinner(cmp);
+ action.setCallback(this, function(response) {
+ this.hideSpinner(cmp);
+ var state = response.getState();
+ if (state === "SUCCESS") {
+ var res = response.getReturnValue();
+ if(res == 'Success') {
+ var rows = cmp.get('v.data');
+ var rowIndex = rows.indexOf(row);
+ rows[rowIndex]['taskStatus'] = '02 鎺ュ彈' ;
+ rows[rowIndex]['cancelButtonisDisabled'] = true ;
+ rows[rowIndex]['confirmButtonisDisabled'] = true ;
+ rows[rowIndex]['delayButtonisDisabled'] = true ;
+ rows[rowIndex]['assignButtonisDisabled_Owner'] = true ; //2021-10-20 mzy 浠诲姟绠$悊鏀瑰杽
+ cmp.set('v.data', rows);
+ cmp.set('v.dataCopy',rows);
+ cmp.set('v.confirmIsOpen',false); //2021-10-20 mzy 浠诲姟绠$悊鏀瑰杽
+ cmp.set('v.IsGeneratePlan',true); //2021-10-20 mzy 浠诲姟绠$悊鏀瑰杽
+ cmp.set('v.ActivityDate',null); //2021-10-20 mzy 浠诲姟绠$悊鏀瑰杽
+ if(IsGeneratePlan==false){
+ cmp.set("v.successMessage", '鎺ュ彈鎴愬姛');//2021-11-17 mzy 浠诲姟绠$悊鏀瑰杽
+ this.showSuccessToast(cmp);//2021-11-17 mzy 浠诲姟绠$悊鏀瑰杽
+ this.myTaskSearch(cmp,event); //2021-10-20 mzy 浠诲姟绠$悊鏀瑰杽
+ }
+ }else{
+ cmp.set("v.errorMessage", res);
+ this.showErrorToast(cmp);
+ }
+ }else if (state === "ERROR") {
+ cmp.set("v.errorMessage", '鎺ュ彈澶辫触锛�');
+ this.showErrorToast(cmp);
+ }
+ });
+ $A.enqueueAction(action);
+ },
+ // 寮瑰嚭閲嶆柊鍒嗛厤 medel dialog 缁欎笅灞炲垎閰嶄换鍔�
+ Assign: function (cmp, row, action) {
+ cmp.set('v.tempdata', row);
+ cmp.set("v.subTempTask.assignee__c", '');
+ cmp.set("v.assignIsOpen", true);
+ },
+ //20210104 CHAN-BWX3YU you start
+ // 寮瑰嚭閲嶆柊鍒嗛厤 medel dialog 鑷繁鐨勪换鍔″垎閰嶇粰鍏朵粬浜�
+ Assign_Owner: function (cmp, row, action) {
+ cmp.set('v.tempdata', row);
+ cmp.set("v.subTempTask.assignee__c", '');
+ cmp.set("v.assignIsOpen_Over", true);
+ },
+ //20210104 CHAN-BWX3YU you end
+ // 寮瑰嚭寤舵湡 model dialog
+ Delay: function (cmp, row, action) {
+ cmp.set('v.tempdata', row);
+ cmp.set('v.tempTask',row.tempTask);
+ cmp.set('v.tempisFSE',row.isFSE);
+ cmp.set('v.delayReason', '');
+ cmp.set('v.delayReasonOther', '');
+ cmp.set('v.delayIsOpen', true);
+ },
+ //纭鍙栨秷
+ ConfirmCancel: function(cmp, event) {
+ var tempdata = cmp.get('v.tempdata');
+ var cancelReason = cmp.get("v.cancelReason");
+ var cancelReasonOther = cmp.get("v.cancelReasonOther");
+ if(!cancelReason){
+ alert('璇疯緭鍏ュ彇娑堢悊鐢憋紒');
+ return;
+ }
+ if(cancelReason == '鍏朵粬' && !cancelReasonOther){
+ alert('鍙栨秷鐞嗙敱(閫夐」)涓哄叾浠栨椂璇疯緭鍏ュ彇娑堢悊鐢憋紙鍏朵粬锛夛紒');
+ return;
+
+ }
+ var action = cmp.get("c.cancel");
+ action.setParams({
+ "taskID" : tempdata.id,
+ "cancelReason" : cancelReason,
+ "cancelReasonOther" : cancelReasonOther,
+ });
+ this.showSpinner(cmp);
+ action.setCallback(this, function(response) {
+ this.hideSpinner(cmp);
+ var state = response.getState();
+ if (state === "SUCCESS") {
+ var res = response.getReturnValue();
+ if(res == 'Success') {
+ var rows = cmp.get('v.data');
+ var rowIndex = rows.indexOf(tempdata);
+ rows[rowIndex]['taskStatus'] = '04 鍙栨秷' ;
+ rows[rowIndex]['cancelButtonisDisabled'] = true ;
+ rows[rowIndex]['confirmButtonisDisabled'] = true ;
+ rows[rowIndex]['delayButtonisDisabled'] = true ;
+ rows[rowIndex]['assignButtonisDisabled_Owner'] = true ; //2021-10-20 mzy 浠诲姟绠$悊鏀瑰杽
+ cmp.set('v.data', rows);
+ cmp.set('v.dataCopy',rows);
+ cmp.set("v.successMessage", '鎴愬姛鍙栨秷');
+ cmp.set("v.cancelIsOpen", false);
+ cmp.set('v.tempTask',null); //2021-11-17 mzy 浠诲姟绠$悊鏀瑰杽
+ cmp.set("v.isSelectOtherCancel", false);
+ this.showSuccessToast(cmp);
+ this.myTaskSearch(cmp,event); //2021-11-17 mzy 浠诲姟绠$悊鏀瑰杽
+ }else{
+ cmp.set("v.errorMessage", res);
+ this.showErrorToast(cmp);
+ }
+ }else if (state === "ERROR") {
+ cmp.set("v.errorMessage", '鍙栨秷澶辫触锛�');
+ this.showErrorToast(cmp);
+ }
+ });
+ $A.enqueueAction(action);
+ },
+ // 纭寤舵湡
+ ConfirmDelay: function(cmp, event) {
+ var tempdata = cmp.get('v.tempdata');
+ var delayReason = cmp.get("v.delayReason");
+ var delayReasonOther = cmp.get("v.delayReasonOther");
+
+ if(!delayReason){
+ alert('璇疯緭鍏ュ欢鏈熺悊鐢憋紒');
+ return;
+ }
+ if(delayReason == '鍏朵粬' && !delayReasonOther){
+ alert('寤舵湡鐞嗙敱(閫夐」)涓哄叾浠栨椂璇疯緭鍏ュ欢鏈熺悊鐢憋紙鍏朵粬锛夛紒');
+ return;
+
+ }
+ var action = cmp.get("c.confirmOrDelay");
+ action.setParams({
+ "taskID" : tempdata.id,
+ "isDelay" : true,
+ "delayReason" : delayReason,
+ "delayReasonOther" : delayReasonOther,
+ });
+ this.showSpinner(cmp);
+ action.setCallback(this, function(response) {
+ this.hideSpinner(cmp);
+ var state = response.getState();
+ if (state === "SUCCESS") {
+ var res = response.getReturnValue();
+ if(res == 'Success') {
+ var rows = cmp.get('v.data');
+ var rowIndex = rows.indexOf(tempdata);
+ rows[rowIndex]['taskStatus'] = '05 寤舵湡' ;
+ rows[rowIndex]['cancelButtonisDisabled'] = true ;
+ rows[rowIndex]['confirmButtonisDisabled'] = true ;
+ rows[rowIndex]['delayButtonisDisabled'] = true ;
+ rows[rowIndex]['assignButtonisDisabled_Owner'] = true ; //2021-11-11 mzy 浠诲姟绠$悊鏀瑰杽
+ cmp.set('v.data', rows);
+ cmp.set('v.dataCopy',rows);
+ cmp.set("v.delayIsOpen", false);
+ cmp.set("v.isSelectOtherDelay", false);
+ cmp.set('v.tempTask',null); //2021-11-17 mzy 浠诲姟绠$悊鏀瑰杽
+
+ }else{
+ cmp.set("v.errorMessage", res);
+ this.showErrorToast(cmp);
+ }
+ }else if (state === "ERROR") {
+ cmp.set("v.errorMessage", '寤舵湡澶辫触锛�');
+ this.showErrorToast(cmp);
+ }
+ });
+ $A.enqueueAction(action);
+
+
+ window.open('/apex/SimpleEventRegister?isDelay=true&taskId=' + tempdata.id ,'_blank');
+
+ },
+ // 纭閲嶆柊鍒嗛厤
+ ConfirmAssign: function(cmp, event) {
+ var tempdata = cmp.get('v.tempdata');
+ cmp.set("v.assignIsOpen", false);
+ var assignee = cmp.get('v.subTempTask.assignee__c');
+ if(!assignee){
+ alert('璇疯緭鍏ユ柊琚垎閰嶈�咃紒');
+ return;
+ }
+ var action = cmp.get("c.resetAssignee");
+ action.setParams({
+ "taskID" : tempdata.id,
+ "assigneeID" : assignee,
+ });
+ this.showSpinner(cmp);
+ action.setCallback(this, function(response) {
+ this.hideSpinner(cmp);
+ var state = response.getState();
+ if (state === "SUCCESS") {
+ var res = response.getReturnValue();
+ if(res.result == 'Success') {
+ var rows = cmp.get('v.data2');
+ var rowIndex = rows.indexOf(tempdata);
+ rows[rowIndex]['taskAssigneeID'] = res.assigneeID ;
+ rows[rowIndex]['taskAssigneeUrl'] = '/'+ res.assigneeID ;
+ rows[rowIndex]['taskAssigneeName'] = res.assigneeName ;
+ //20210115 CHAN-BWX3YU you start
+ rows[rowIndex]['assignButtonisDisabled'] = true ;
+ //20210115 CHAN-BWX3YU you end
+ cmp.set('v.data2', rows);
+ cmp.set('v.data2Copy',rows);
+ cmp.set("v.assignIsOpen", false);
+ }else{
+ cmp.set("v.errorMessage", res.result);
+ this.showErrorToast(cmp);
+ }
+ }else if (state === "ERROR") {
+ cmp.set("v.errorMessage", '閲嶆柊鍒嗛厤澶辫触锛�');
+ this.showErrorToast(cmp);
+ }
+ });
+ $A.enqueueAction(action);
+ },
+ //20210105 CHAN-BWX3YU you start
+ // 纭閲嶆柊鍒嗛厤
+ ConfirmAssign_Owner: function(cmp, event) {
+ var tempdata = cmp.get('v.tempdata');
+ cmp.set("v.assignIsOpen_Over", false);
+ var assignee = cmp.get('v.subTempTask.assignee__c');
+ if(!assignee){
+ alert('璇疯緭鍏ユ柊琚垎閰嶈�咃紒');
+ return;
+ }
+ var action = cmp.get("c.resetAssignee_Owner");
+ action.setParams({
+ "taskID" : tempdata.id,
+ "assigneeID" : assignee,
+ });
+ this.showSpinner(cmp);
+ action.setCallback(this, function(response) {
+ this.hideSpinner(cmp);
+ var state = response.getState();
+ if (state === "SUCCESS") {
+ var res = response.getReturnValue();
+ if(res.result == 'Success') {
+ var rows = cmp.get('v.data');
+ var rowIndex = rows.indexOf(tempdata);
+ rows[rowIndex]['taskAssigneeID'] = res.assigneeID ;
+ rows[rowIndex]['taskAssigneeUrl'] = '/'+ res.assigneeID ;
+ rows[rowIndex]['taskAssigneeName'] = res.assigneeName ;
+ rows[rowIndex]['cancelButtonisDisabled'] = true ;
+ rows[rowIndex]['confirmButtonisDisabled'] = true ;
+ rows[rowIndex]['delayButtonisDisabled'] = true ;
+ rows[rowIndex]['assignButtonisDisabled_Owner'] = true ;
+ cmp.set('v.data', rows);
+ cmp.set('v.dataCopy',rows);
+ cmp.set("v.assignIsOpen_Over", false);
+ }else{
+ cmp.set("v.errorMessage", res.result);
+ this.showErrorToast(cmp);
+ }
+ }else if (state === "ERROR") {
+ cmp.set("v.errorMessage", '閲嶆柊鍒嗛厤澶辫触锛�');
+ this.showErrorToast(cmp);
+ }
+ });
+ $A.enqueueAction(action);
+ },
+
+ //寮瑰嚭 鎴愬姛鎻愮ず
+ showSuccessToast : function(cmp) {
+ $A.util.removeClass(cmp.find('successDiv'), 'slds-hide');
+ window.setTimeout($A.getCallback(function() {
+ $A.util.addClass(cmp.find('successDiv'), 'slds-hide');
+ }),
+ 5000
+ );
+ },
+ //寮瑰嚭 閿欒鎻愮ず
+ showErrorToast : function(cmp) {
+ $A.util.removeClass(cmp.find('errorDiv'), 'slds-hide');
+ window.setTimeout($A.getCallback(function() {
+ $A.util.addClass(cmp.find('errorDiv'), 'slds-hide');
+ }),
+ 5000
+ );
+ },
+ //寮瑰嚭 閿欒鎻愮ず 鏂囧瓧杈冨锛屾樉绀烘寔缁�10绉� - 2021-11-12 yjk
+ showErrorToastLongTime : function(cmp) {
+ $A.util.removeClass(cmp.find('errorDiv'), 'slds-hide');
+ window.setTimeout($A.getCallback(function() {
+ $A.util.addClass(cmp.find('errorDiv'), 'slds-hide');
+ }),
+ 10000
+ );
+ },
+ // function automatic called by aura:waiting event
+ showSpinner: function(cmp) {
+ // remove slds-hide class from mySpinner
+ var spinner = cmp.find("mySpinner");
+ $A.util.removeClass(spinner, "slds-hide");
+ },
+ // function automatic called by aura:doneWaiting event
+ hideSpinner : function(cmp){
+ // add slds-hide class from mySpinner
+ var spinner = cmp.find("mySpinner");
+ $A.util.addClass(spinner, "slds-hide");
+ },
+ //wangweipeng 鑾峰彇url鐨勫弬鏁� 2021/09/27 start
+ getURLParameterValue: function() {
+ var querystring = location.search.substr(1);
+ var paramValue = {};
+ querystring.split("&").forEach(function(part) {
+ var param = part.split("=");
+ if(param[0] != ""){//鍒ゆ柇鏄惁鏈変紶杩囨潵鍙傛暟锛屽鏋滄病鏈夛紝閭d箞涓嶇粰瀵硅薄璧嬪��
+ paramValue[param[0]] = decodeURIComponent(param[1]);
+ }
+ });
+ //console.log('paramValue-' + paramValue);
+ return paramValue;
+ },
+ //wangweipeng 鑾峰彇url鐨勫弬鏁� 2021/09/27 start
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/test01App/test01App.app b/force-app/main/default/aura/test01App/test01App.app
new file mode 100644
index 0000000..1758eea
--- /dev/null
+++ b/force-app/main/default/aura/test01App/test01App.app
@@ -0,0 +1,3 @@
+<aura:application access="public" extends="ltng:outApp">
+ <aura:dependency resource="c:relevant"/>
+</aura:application>
\ No newline at end of file
diff --git a/force-app/main/default/aura/test01App/test01App.app-meta.xml b/force-app/main/default/aura/test01App/test01App.app-meta.xml
new file mode 100644
index 0000000..aa49e4d
--- /dev/null
+++ b/force-app/main/default/aura/test01App/test01App.app-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<AuraDefinitionBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>51.0</apiVersion>
+ <description>A Lightning Application Bundle</description>
+</AuraDefinitionBundle>
diff --git a/force-app/main/default/aura/test01App/test01App.auradoc b/force-app/main/default/aura/test01App/test01App.auradoc
new file mode 100644
index 0000000..d0d6eb5
--- /dev/null
+++ b/force-app/main/default/aura/test01App/test01App.auradoc
@@ -0,0 +1,6 @@
+<aura:documentation>
+ <aura:description>Documentation</aura:description>
+ <aura:example name="ExampleName" ref="exampleComponentName" label="Label">
+ Example Description
+ </aura:example>
+</aura:documentation>
\ No newline at end of file
diff --git a/force-app/main/default/aura/test01App/test01App.css b/force-app/main/default/aura/test01App/test01App.css
new file mode 100644
index 0000000..a5839d4
--- /dev/null
+++ b/force-app/main/default/aura/test01App/test01App.css
@@ -0,0 +1,2 @@
+.THIS {
+}
\ No newline at end of file
diff --git a/force-app/main/default/aura/test01App/test01App.svg b/force-app/main/default/aura/test01App/test01App.svg
new file mode 100644
index 0000000..791b3c7
--- /dev/null
+++ b/force-app/main/default/aura/test01App/test01App.svg
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="120px" height="120px" viewBox="0 0 120 120" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+ <path d="M120,108 C120,114.6 114.6,120 108,120 L12,120 C5.4,120 0,114.6 0,108 L0,12 C0,5.4 5.4,0 12,0 L108,0 C114.6,0 120,5.4 120,12 L120,108 L120,108 Z" id="Shape" fill="#2A739E"/>
+ <path d="M77.7383308,20 L61.1640113,20 L44.7300055,63.2000173 L56.0543288,63.2000173 L40,99.623291 L72.7458388,54.5871812 L60.907727,54.5871812 L77.7383308,20 Z" id="Path-1" fill="#FFFFFF"/>
+ </g>
+</svg>
\ No newline at end of file
diff --git a/force-app/main/default/aura/test01App/test01AppController.js b/force-app/main/default/aura/test01App/test01AppController.js
new file mode 100644
index 0000000..77e406b
--- /dev/null
+++ b/force-app/main/default/aura/test01App/test01AppController.js
@@ -0,0 +1,5 @@
+({
+ myAction : function(component, event, helper) {
+
+ }
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/test01App/test01AppHelper.js b/force-app/main/default/aura/test01App/test01AppHelper.js
new file mode 100644
index 0000000..ba7f386
--- /dev/null
+++ b/force-app/main/default/aura/test01App/test01AppHelper.js
@@ -0,0 +1,5 @@
+({
+ helperMethod : function() {
+
+ }
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/test01App/test01AppRenderer.js b/force-app/main/default/aura/test01App/test01AppRenderer.js
new file mode 100644
index 0000000..f1f0c75
--- /dev/null
+++ b/force-app/main/default/aura/test01App/test01AppRenderer.js
@@ -0,0 +1,5 @@
+({
+
+// Your renderer method overrides go here
+
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/test02App/test02App.app b/force-app/main/default/aura/test02App/test02App.app
new file mode 100644
index 0000000..6e00357
--- /dev/null
+++ b/force-app/main/default/aura/test02App/test02App.app
@@ -0,0 +1,3 @@
+<aura:application access="public" extends="ltng:outApp">
+ <aura:dependency resource="c:tEnquiry"/>
+</aura:application>
\ No newline at end of file
diff --git a/force-app/main/default/aura/test02App/test02App.app-meta.xml b/force-app/main/default/aura/test02App/test02App.app-meta.xml
new file mode 100644
index 0000000..aa49e4d
--- /dev/null
+++ b/force-app/main/default/aura/test02App/test02App.app-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<AuraDefinitionBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>51.0</apiVersion>
+ <description>A Lightning Application Bundle</description>
+</AuraDefinitionBundle>
diff --git a/force-app/main/default/aura/test02App/test02App.auradoc b/force-app/main/default/aura/test02App/test02App.auradoc
new file mode 100644
index 0000000..d0d6eb5
--- /dev/null
+++ b/force-app/main/default/aura/test02App/test02App.auradoc
@@ -0,0 +1,6 @@
+<aura:documentation>
+ <aura:description>Documentation</aura:description>
+ <aura:example name="ExampleName" ref="exampleComponentName" label="Label">
+ Example Description
+ </aura:example>
+</aura:documentation>
\ No newline at end of file
diff --git a/force-app/main/default/aura/test02App/test02App.css b/force-app/main/default/aura/test02App/test02App.css
new file mode 100644
index 0000000..a5839d4
--- /dev/null
+++ b/force-app/main/default/aura/test02App/test02App.css
@@ -0,0 +1,2 @@
+.THIS {
+}
\ No newline at end of file
diff --git a/force-app/main/default/aura/test02App/test02App.svg b/force-app/main/default/aura/test02App/test02App.svg
new file mode 100644
index 0000000..791b3c7
--- /dev/null
+++ b/force-app/main/default/aura/test02App/test02App.svg
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="120px" height="120px" viewBox="0 0 120 120" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+ <path d="M120,108 C120,114.6 114.6,120 108,120 L12,120 C5.4,120 0,114.6 0,108 L0,12 C0,5.4 5.4,0 12,0 L108,0 C114.6,0 120,5.4 120,12 L120,108 L120,108 Z" id="Shape" fill="#2A739E"/>
+ <path d="M77.7383308,20 L61.1640113,20 L44.7300055,63.2000173 L56.0543288,63.2000173 L40,99.623291 L72.7458388,54.5871812 L60.907727,54.5871812 L77.7383308,20 Z" id="Path-1" fill="#FFFFFF"/>
+ </g>
+</svg>
\ No newline at end of file
diff --git a/force-app/main/default/aura/test02App/test02AppController.js b/force-app/main/default/aura/test02App/test02AppController.js
new file mode 100644
index 0000000..77e406b
--- /dev/null
+++ b/force-app/main/default/aura/test02App/test02AppController.js
@@ -0,0 +1,5 @@
+({
+ myAction : function(component, event, helper) {
+
+ }
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/test02App/test02AppHelper.js b/force-app/main/default/aura/test02App/test02AppHelper.js
new file mode 100644
index 0000000..ba7f386
--- /dev/null
+++ b/force-app/main/default/aura/test02App/test02AppHelper.js
@@ -0,0 +1,5 @@
+({
+ helperMethod : function() {
+
+ }
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/test02App/test02AppRenderer.js b/force-app/main/default/aura/test02App/test02AppRenderer.js
new file mode 100644
index 0000000..f1f0c75
--- /dev/null
+++ b/force-app/main/default/aura/test02App/test02AppRenderer.js
@@ -0,0 +1,5 @@
+({
+
+// Your renderer method overrides go here
+
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/testPage/testPage.cmp b/force-app/main/default/aura/testPage/testPage.cmp
new file mode 100644
index 0000000..cc8e1d1
--- /dev/null
+++ b/force-app/main/default/aura/testPage/testPage.cmp
@@ -0,0 +1,3 @@
+<aura:component>
+
+</aura:component>
\ No newline at end of file
diff --git a/force-app/main/default/aura/testPage/testPage.cmp-meta.xml b/force-app/main/default/aura/testPage/testPage.cmp-meta.xml
new file mode 100644
index 0000000..4e6c418
--- /dev/null
+++ b/force-app/main/default/aura/testPage/testPage.cmp-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<AuraDefinitionBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>57.0</apiVersion>
+ <description>DESCRIPTION</description>
+</AuraDefinitionBundle>
diff --git a/force-app/main/default/aura/ttt/ttt.app b/force-app/main/default/aura/ttt/ttt.app
new file mode 100644
index 0000000..17feee3
--- /dev/null
+++ b/force-app/main/default/aura/ttt/ttt.app
@@ -0,0 +1,3 @@
+<aura:application>
+
+</aura:application>
\ No newline at end of file
diff --git a/force-app/main/default/aura/ttt/ttt.app-meta.xml b/force-app/main/default/aura/ttt/ttt.app-meta.xml
new file mode 100644
index 0000000..4e6c418
--- /dev/null
+++ b/force-app/main/default/aura/ttt/ttt.app-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<AuraDefinitionBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>57.0</apiVersion>
+ <description>DESCRIPTION</description>
+</AuraDefinitionBundle>
diff --git a/force-app/main/default/aura/ybApp/ybApp.app b/force-app/main/default/aura/ybApp/ybApp.app
new file mode 100644
index 0000000..1af0187
--- /dev/null
+++ b/force-app/main/default/aura/ybApp/ybApp.app
@@ -0,0 +1,3 @@
+<aura:application access="public" extends="ltng:outApp">
+ <aura:dependency resource="c:tBidding"/>
+</aura:application>
\ No newline at end of file
diff --git a/force-app/main/default/aura/ybApp/ybApp.app-meta.xml b/force-app/main/default/aura/ybApp/ybApp.app-meta.xml
new file mode 100644
index 0000000..aa49e4d
--- /dev/null
+++ b/force-app/main/default/aura/ybApp/ybApp.app-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<AuraDefinitionBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>51.0</apiVersion>
+ <description>A Lightning Application Bundle</description>
+</AuraDefinitionBundle>
diff --git a/force-app/main/default/aura/ybApp/ybApp.auradoc b/force-app/main/default/aura/ybApp/ybApp.auradoc
new file mode 100644
index 0000000..d0d6eb5
--- /dev/null
+++ b/force-app/main/default/aura/ybApp/ybApp.auradoc
@@ -0,0 +1,6 @@
+<aura:documentation>
+ <aura:description>Documentation</aura:description>
+ <aura:example name="ExampleName" ref="exampleComponentName" label="Label">
+ Example Description
+ </aura:example>
+</aura:documentation>
\ No newline at end of file
diff --git a/force-app/main/default/aura/ybApp/ybApp.css b/force-app/main/default/aura/ybApp/ybApp.css
new file mode 100644
index 0000000..a5839d4
--- /dev/null
+++ b/force-app/main/default/aura/ybApp/ybApp.css
@@ -0,0 +1,2 @@
+.THIS {
+}
\ No newline at end of file
diff --git a/force-app/main/default/aura/ybApp/ybApp.svg b/force-app/main/default/aura/ybApp/ybApp.svg
new file mode 100644
index 0000000..791b3c7
--- /dev/null
+++ b/force-app/main/default/aura/ybApp/ybApp.svg
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="120px" height="120px" viewBox="0 0 120 120" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+ <path d="M120,108 C120,114.6 114.6,120 108,120 L12,120 C5.4,120 0,114.6 0,108 L0,12 C0,5.4 5.4,0 12,0 L108,0 C114.6,0 120,5.4 120,12 L120,108 L120,108 Z" id="Shape" fill="#2A739E"/>
+ <path d="M77.7383308,20 L61.1640113,20 L44.7300055,63.2000173 L56.0543288,63.2000173 L40,99.623291 L72.7458388,54.5871812 L60.907727,54.5871812 L77.7383308,20 Z" id="Path-1" fill="#FFFFFF"/>
+ </g>
+</svg>
\ No newline at end of file
diff --git a/force-app/main/default/aura/ybApp/ybAppController.js b/force-app/main/default/aura/ybApp/ybAppController.js
new file mode 100644
index 0000000..77e406b
--- /dev/null
+++ b/force-app/main/default/aura/ybApp/ybAppController.js
@@ -0,0 +1,5 @@
+({
+ myAction : function(component, event, helper) {
+
+ }
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/ybApp/ybAppHelper.js b/force-app/main/default/aura/ybApp/ybAppHelper.js
new file mode 100644
index 0000000..ba7f386
--- /dev/null
+++ b/force-app/main/default/aura/ybApp/ybAppHelper.js
@@ -0,0 +1,5 @@
+({
+ helperMethod : function() {
+
+ }
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/ybApp/ybAppRenderer.js b/force-app/main/default/aura/ybApp/ybAppRenderer.js
new file mode 100644
index 0000000..f1f0c75
--- /dev/null
+++ b/force-app/main/default/aura/ybApp/ybAppRenderer.js
@@ -0,0 +1,5 @@
+({
+
+// Your renderer method overrides go here
+
+})
\ No newline at end of file
diff --git a/force-app/main/default/classes/ArriveGoodsController.cls b/force-app/main/default/classes/ArriveGoodsController.cls
index d306997..c7c0db6 100644
--- a/force-app/main/default/classes/ArriveGoodsController.cls
+++ b/force-app/main/default/classes/ArriveGoodsController.cls
@@ -77,8 +77,8 @@
//public String[] proidList =new String[]{};
public Decimal orderCountAll = 0;
public Decimal orderCountNotarrive = 0;
- private id return_Order_id = null;
- private id inventory_Order_id = null;
+ public id return_Order_id = null;
+ public id inventory_Order_id = null;
public boolean ReturnFLGbln {get;set;}
public boolean saveFLGbln {get;set;}
public String ArrType{get;set;}
@@ -91,6 +91,14 @@
public String product_Type = null;
public Boolean EngFlag = false;
public Boolean ETFlag = false;
+
+ //LWC:Lwcflag鍜屾姤閿欐彁閱� update by Link 2023-04-27
+ public Boolean isLwc = false;
+ public String returnError;
+ public List<String> warningList;
+ public List<String> errorList;
+ public String urlType;
+
public ArriveGoodsController(){
baseUrl = URL.getSalesforceBaseUrl().toExternalForm();
ESetId = ApexPages.currentPage().getParameters().get('esetId');
@@ -110,6 +118,29 @@
consumableorderdetailsRecordsview = new List<List<ConsumableorderdetailsInfo>>();
//add by rentx 20210602 CHAN-C3K4ZQ end
// OrderAllMap = new Map<String, String>();
+ }
+
+ //LWC:Lwcflag鍜屾姤閿欐彁閱� update by Link 2023-04-27
+ public ArriveGoodsController(String eSetId, String arrType){
+ this.ESetId = eSetId;
+ this.ArrType = arrType;
+ ConsumableorderdetailsRecords = new List<ConsumableorderdetailsInfo>();
+ ConsumableorderdetailsRecordserror = new List<ConsumableorderdetailsInfo>();
+ ConsumableorderdetailsRecordsdummy = new List<ConsumableorderdetailsInfo>();
+ consumableInventory = new List<ConsumableorderdetailsInfo>();
+ consumableorderdetailsRecordsUse = new List<ConsumableorderdetailsInfo>();
+ consumableInventoryUse = new List<ConsumableorderdetailsInfo>();
+ consumableorderdetails2Cancle = new List<Consumable_order_details2__c>();
+ orderdetails2trMap = new Map<String,Consumable_order_details2__c>();
+ detailsSummary = new List<ConsumableorderdetailsInfo>();
+ saveFLGbln = FALSE;
+ consumableorderdetailsRecordsview = new List<List<ConsumableorderdetailsInfo>>();
+ noboxBarcodeList = new Set<String>();
+ //LWC:Lwcflag鍜屾姤閿欐彁閱� update by Link 2023-04-27
+ warningList = new List<String>();
+ errorList = new List<String>();
+ returnError = null;
+ urlType = null;
}
//add by rentx 20210602 CHAN-C3K4ZQ start 鍑洪敊鐨勫師鍥犳槸椤甸潰鏈�澶氬睍绀�1000鏉℃暟鎹�,浣嗘槸闇�瑕佸睍绀虹殑鏁版嵁瓒呰繃浜�1000鏉�,鐜板湪鎶婂睍绀轰笂绾挎敼涓�1000 * 1000
@@ -311,6 +342,10 @@
consumableInventoryUse = new List<ConsumableorderdetailsInfo>();
consumableorderdetails2Cancle = new List<Consumable_order_details2__c>();
orderdetails2trMap = new Map<String,Consumable_order_details2__c>();
+ //update by Link 20230428
+ if(isLwc){
+ noboxBarcodeList = new Set<String>();
+ }
//add by rentx 2021-01-27 start
HosErrorList = new List<String>();
HosErrorMap = new Map<String,String>();
@@ -382,7 +417,12 @@
List<Consumable_order_details2__c> reSet = new List<Consumable_order_details2__c>();
List<Consumable_order_details2__c> reSet1 = new List<Consumable_order_details2__c>();
if(barcode == null || barcode.trim() ==''){
- ApexPages.addmessage(new ApexPages.message(ApexPages.severity.INFO,'璇疯緭鍏arCode鍙枫��'));
+ //LWC:Lwcflag鍜屾姤閿欐彁閱� update by Link 2023-04-27
+ if(isLwc){
+ returnError = '璇疯緭鍏arCode鍙�';
+ }else {
+ ApexPages.addmessage(new ApexPages.message(ApexPages.severity.INFO,'璇疯緭鍏arCode鍙枫��'));
+ }
return;
}
//瀵规瘮鍏ㄩ儴搴撳瓨涓槸鍚﹀瓨鍦ㄧ鐞嗙紪鐮佷竴鏍凤紝barcode鍙蜂笉涓�鏍风殑浜у搧
@@ -407,7 +447,12 @@
}else{
for(String str : barMcodeMap.keySet()){
if(barMcodeMap.get(str) == reSet1[i].TracingCode__c){
- ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, str + ' 鐨勭鐞嗙紪鐮佸凡缁忓瓨鍦ㄤ簬绯荤粺鐨勫簱瀛樹腑锛岃纭杈撳叆淇℃伅鏄惁鏈夎銆�'));
+ //LWC:Lwcflag鍜屾姤閿欐彁閱� update by Link 2023-04-27
+ if(isLwc){
+ errorList.add(str + ' 鐨勭鐞嗙紪鐮佸凡缁忓瓨鍦ㄤ簬绯荤粺鐨勫簱瀛樹腑锛岃纭杈撳叆淇℃伅鏄惁鏈夎銆�');
+ }else {
+ ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, str + ' 鐨勭鐞嗙紪鐮佸凡缁忓瓨鍦ㄤ簬绯荤粺鐨勫簱瀛樹腑锛岃纭杈撳叆淇℃伅鏄惁鏈夎銆�'));
+ }
ErrorIdMap.put(str,str);
ErrorIdMap.put(reSet1[i].Bar_Code__c,reSet1[i].Bar_Code__c);
}
@@ -945,7 +990,12 @@
str = '璇ュ晢鍝佸湪搴�';//娌″嚭搴� 锛屾病閿�鍞紝娌′涪澶卞氨鏄湪搴撱��
}
if(reSet1[i].Lose_Flag__c == true && reSet1[i].ToDueDateDays__c >= 0){
- ApexPages.addmessage(new ApexPages.message(ApexPages.severity.WARNING, '浜у搧'+reSet1[i].Consumable_Product__r.Name+'瀛樺湪涓㈠け璁板綍'));//濡傛灉涓㈠け浜у搧灏辩粰鎻愮ず銆�
+ //LWC:Lwcflag鍜屾姤閿欐彁閱� update by Link 2023-04-27
+ if(isLwc){
+ warningList.add('浜у搧'+reSet1[i].Consumable_Product__r.Name+'瀛樺湪涓㈠け璁板綍');
+ }else {
+ ApexPages.addmessage(new ApexPages.message(ApexPages.severity.WARNING, '浜у搧'+reSet1[i].Consumable_Product__r.Name+'瀛樺湪涓㈠け璁板綍'));//濡傛灉涓㈠け浜у搧灏辩粰鎻愮ず銆�
+ }
}
if (reSet1[i].Lose_Flag__c == true && reSet1[i].ToDueDateDays__c < 0) {
str = '杩囨湡宸查攢瀛樹骇鍝侊紝涓嶅厑璁歌繑鍝�';
@@ -1117,10 +1167,15 @@
for(String str : barMcodeMap.keySet()){
// BarCode涓嶄竴鑷存椂鐨勮鍛婁俊鎭�
if(reSet[i].Bar_Code__c != str && reSet[i].TracingCode__c == barMcodeMap.get(str)){
- // 20220815 ljh SWAG-CH65B7 start
- // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.WARNING,'姝ょ鐞嗙紪鐮佷笌瀹為檯鍙戣揣BarCode涓嶄竴鑷达紝璇锋牳瀵圭鐞嗙紪鐮�('+ str +')鐨勫叆搴撳強搴撳瓨鏁版嵁銆�'));
- ApexPages.addmessage(new ApexPages.message(ApexPages.severity.WARNING,'鏉″舰鐮佷负('+ str +')鐨勫叆搴撴暟鎹笌鍙戣揣鏁版嵁涓嶄竴鑷�'));
- // 20220815 ljh SWAG-CH65B7 end
+ //LWC:Lwcflag鍜屾姤閿欐彁閱� update by Link 2023-04-27
+ if(isLwc){
+ warningList.add('鏉″舰鐮佷负('+ str +')鐨勫叆搴撴暟鎹笌鍙戣揣鏁版嵁涓嶄竴鑷�');
+ }else {
+ // 20220815 ljh SWAG-CH65B7 start
+ // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.WARNING,'姝ょ鐞嗙紪鐮佷笌瀹為檯鍙戣揣BarCode涓嶄竴鑷达紝璇锋牳瀵圭鐞嗙紪鐮�('+ str +')鐨勫叆搴撳強搴撳瓨鏁版嵁銆�'));
+ ApexPages.addmessage(new ApexPages.message(ApexPages.severity.WARNING,'鏉″舰鐮佷负('+ str +')鐨勫叆搴撴暟鎹笌鍙戣揣鏁版嵁涓嶄竴鑷�'));
+ // 20220815 ljh SWAG-CH65B7 end
+ }
}
if(barMcodeMap.get(str) == reSet[i].TracingCode__c){
reSet[i].Bar_Code__c = str;
@@ -1155,7 +1210,12 @@
}else{
for(String str : barMcodeMap.keySet()){
if(barMcodeMap.get(str) == reSet1[i].TracingCode__c){
- ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, 'barcode' +str + '涓庡嚭搴撳崟' + reSet1[i].Sale_orderName__c + ' 涓殑绠$悊缂栫爜涓�鑷达紝浣咮arcode涓嶅悓锛岃纭鍏蜂綋鏁版嵁銆�'));
+ //LWC:Lwcflag鍜屾姤閿欐彁閱� update by Link 2023-04-27
+ if(isLwc){
+ errorList.add('barcode' +str + '涓庡嚭搴撳崟' + reSet1[i].Sale_orderName__c + ' 涓殑绠$悊缂栫爜涓�鑷达紝浣咮arcode涓嶅悓锛岃纭鍏蜂綋鏁版嵁銆�');
+ }else {
+ ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, 'barcode' +str + '涓庡嚭搴撳崟' + reSet1[i].Sale_orderName__c + ' 涓殑绠$悊缂栫爜涓�鑷达紝浣咮arcode涓嶅悓锛岃纭鍏蜂綋鏁版嵁銆�'));
+ }
ErrorIdMap.put(str,str);
ErrorIdMap.put(reSet1[i].Bar_Code__c,reSet1[i].Bar_Code__c);
}
@@ -1195,11 +1255,21 @@
if(ArrType!='ReG'){
inventoryEntryNoESetId(notInlist);
if(notInStorelist.size() > 0){
- ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'BarCode鍙�'+ notInStorelist + '涓嶅瓨鍦ㄣ��'));
+ //LWC:Lwcflag鍜屾姤閿欐彁閱� update by Link 2023-04-27
+ if(isLwc){
+ returnError = 'BarCode鍙�'+ notInStorelist + '涓嶅瓨鍦�';
+ }else {
+ ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'BarCode鍙�'+ notInStorelist + '涓嶅瓨鍦ㄣ��'));
+ }
return;
}
}else{
- ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'BarCode鍙�'+ notInlist + '涓嶅瓨鍦紝鏃犲搴旂殑鍑哄簱鍗曪紝璇峰厛鎿嶄綔浜у搧鍏ュ簱銆�'));
+ //LWC:Lwcflag鍜屾姤閿欐彁閱� update by Link 2023-04-27
+ if(isLwc){
+ returnError = 'BarCode鍙�'+ notInlist + '涓嶅瓨鍦紝鏃犲搴旂殑鍑哄簱鍗曪紝璇峰厛鎿嶄綔浜у搧鍏ュ簱';
+ }else {
+ ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'BarCode鍙�'+ notInlist + '涓嶅瓨鍦紝鏃犲搴旂殑鍑哄簱鍗曪紝璇峰厛鎿嶄綔浜у搧鍏ュ簱銆�'));
+ }
return;
}
}
@@ -1207,8 +1277,12 @@
//add by rentx 2021-01-27 start
if (HosErrorList.size() > 0) {
for (String str : HosErrorList) {
- ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'BarCode鍙�:' + str + HosErrorMap.get(str)+''));
-
+ //LWC:Lwcflag鍜屾姤閿欐彁閱� update by Link 2023-04-27
+ if(isLwc){
+ errorList.add('BarCode鍙�:' + str + HosErrorMap.get(str)+'');
+ }else {
+ ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'BarCode鍙�:' + str + HosErrorMap.get(str)+''));
+ }
}
}
//add by rentx 2021-01-27 end
@@ -1520,7 +1594,12 @@
if(notInlist.size()>0){
inventoryEntry(notInlist);
if(notInStorelist.size() > 0){
- ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'BarCode鍙�'+ notInStorelist + '涓嶅瓨鍦ㄣ��'));
+ //LWC:Lwcflag鍜屾姤閿欐彁閱� update by Link 2023-04-27
+ if(isLwc){
+ returnError = 'BarCode鍙�'+ notInStorelist + '涓嶅瓨鍦�';
+ }else {
+ ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'BarCode鍙�'+ notInStorelist + '涓嶅瓨鍦ㄣ��'));
+ }
return;
}
}
@@ -1529,7 +1608,12 @@
//add by rentx 2021-01-27 start 褰撹鍗曚负鍖婚櫌鐗逛环绫诲瀷鐨勮鍗曟椂,濡傛灉鎵句笉鍒癰arcode,涓嶈В鏋�,骞朵笖榛樿璇arcode瀵瑰簲鐨勬槑缁�2涓洪潪鍖婚櫌鐗逛环浜у搧,鐩存帴鎶ラ敊
if (HosErrorList.size() > 0) {
for (String str : HosErrorList) {
- ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'BarCode鍙�:' + str +'鏄潪鍖婚櫌鐗逛环浜у搧'));
+ //LWC:Lwcflag鍜屾姤閿欐彁閱� update by Link 2023-04-27
+ if(isLwc){
+ errorList.add('BarCode鍙�:' + str +'鏄潪鍖婚櫌鐗逛环浜у搧');
+ }else {
+ ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'BarCode鍙�:' + str +'鏄潪鍖婚櫌鐗逛环浜у搧'));
+ }
}
}
@@ -1568,7 +1652,12 @@
//鐢熶骇鏃ユ湡
List<String> janCode = new List<String>();
if(barCodeList[i].length() < 16){
- ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'浜у搧BarCode(' + barCodeList[i] + ')鐨勪綅鏁颁笉瓒�16锛屼笉绗﹀悎瑕佹眰閿欒锛�'));
+ //LWC:Lwcflag鍜屾姤閿欐彁閱� update by Link 2023-04-27
+ if(isLwc){
+ errorList.add('浜у搧BarCode(' + barCodeList[i] + ')鐨勪綅鏁颁笉瓒�16锛屼笉绗﹀悎瑕佹眰閿欒锛�');
+ }else {
+ ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'浜у搧BarCode(' + barCodeList[i] + ')鐨勪綅鏁颁笉瓒�16锛屼笉绗﹀悎瑕佹眰閿欒锛�'));
+ }
continue;
}else {
//if(barCodeList[i].substring(0,2) !='01'){
@@ -1579,13 +1668,23 @@
try{
Decimal test = Decimal.valueOf(janCodeMark);
}catch(Exception e){
- ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'浜у搧BarCode(' + barCodeList[i] + ')鐨刯anCode閿欒锛�'));
+ //LWC:Lwcflag鍜屾姤閿欐彁閱� update by Link 2023-04-27
+ if(isLwc){
+ errorList.add('浜у搧BarCode(' + barCodeList[i] + ')鐨刯anCode閿欒锛�');
+ }else {
+ ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'浜у搧BarCode(' + barCodeList[i] + ')鐨刯anCode閿欒锛�'));
+ }
continue;
}
}
if(barCodeList[i].length() >= 22){
if(barCodeList[i].substring(barCodeList[i].length() - 8,barCodeList[i].length()-5)!='250'){
- ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, '浜у搧BarCode(' + barCodeList[i] + ')娌℃湁绠$悊缂栫爜锛�'));
+ //LWC:Lwcflag鍜屾姤閿欐彁閱� update by Link 2023-04-27
+ if(isLwc){
+ errorList.add('浜у搧BarCode(' + barCodeList[i] + ')娌℃湁绠$悊缂栫爜锛�');
+ }else {
+ ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, '浜у搧BarCode(' + barCodeList[i] + ')娌℃湁绠$悊缂栫爜锛�'));
+ }
continue;
}
if( barCodeList[i].substring(16,18) =='11'){
@@ -1593,7 +1692,12 @@
productDateStr = '20' + barCodeList[i].substring(18,20) + '-' + barCodeList[i].substring(20,22) + '-01' ;
productionDate = Date.valueOf(productDateStr);
}catch(Exception e){
- ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, '浜у搧BarCode(' + barCodeList[i] + ')鐨勭敓浜ф棩鏈�' + productDateStr + '閿欒锛�'));
+ //LWC:Lwcflag鍜屾姤閿欐彁閱� update by Link 2023-04-27
+ if(isLwc){
+ errorList.add('浜у搧BarCode(' + barCodeList[i] + ')鐨勭敓浜ф棩鏈�' + productDateStr + '閿欒锛�');
+ }else {
+ ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, '浜у搧BarCode(' + barCodeList[i] + ')鐨勭敓浜ф棩鏈�' + productDateStr + '閿欒锛�'));
+ }
continue;
}
if(barCodeList[i].length() >=32){
@@ -1608,7 +1712,12 @@
expirationDate = Date.valueOf(expirationDateStr);
}
}catch(Exception e){
- ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'浜у搧BarCode(' + barCodeList[i] + ')鐨勬粎鑿屾湁鍔规湡闄�' + expirationDateStr + '閿欒锛�'));
+ //LWC:Lwcflag鍜屾姤閿欐彁閱� update by Link 2023-04-27
+ if(isLwc){
+ errorList.add('浜у搧BarCode(' + barCodeList[i] + ')鐨勬粎鑿屾湁鍔规湡闄�' + expirationDateStr + '閿欒锛�');
+ }else {
+ ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'浜у搧BarCode(' + barCodeList[i] + ')鐨勬粎鑿屾湁鍔规湡闄�' + expirationDateStr + '閿欒锛�'));
+ }
continue;
}
if(barCodeList[i].length() >= 42){
@@ -1632,7 +1741,12 @@
expirationDate = Date.valueOf(expirationDateStr);
}
}catch(Exception e){
- ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'浜у搧BarCode(' + barCodeList[i] + ')鐨勬粎鑿屾湁鍔规湡闄�' + expirationDateStr + '閿欒锛�'));
+ //LWC:Lwcflag鍜屾姤閿欐彁閱� update by Link 2023-04-27
+ if(isLwc){
+ errorList.add('浜у搧BarCode(' + barCodeList[i] + ')鐨勬粎鑿屾湁鍔规湡闄�' + expirationDateStr + '閿欒锛�');
+ }else {
+ ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'浜у搧BarCode(' + barCodeList[i] + ')鐨勬粎鑿屾湁鍔规湡闄�' + expirationDateStr + '閿欒锛�'));
+ }
continue;
}
if(barCodeList[i].length() >= 34){
@@ -1653,11 +1767,21 @@
Matcher n = Pattern.compile('[0-9]').matcher(tracingCode);
if(n.find()){
String str = '绠$悊缂栫爜涓嶆纭紝璇蜂笌绠$悊鍛樼‘璁ゆ槸鍚﹂敊璇��';
- ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'浜у搧BarCode(' + barCodeList[i] + ')绠$悊缂栫爜涓湁鏁板瓧锛岃涓庣鐞嗗憳纭鏄惁閿欒锛�'));
+ //LWC:Lwcflag鍜屾姤閿欐彁閱� update by Link 2023-04-27
+ if(isLwc){
+ errorList.add('浜у搧BarCode(' + barCodeList[i] + ')绠$悊缂栫爜涓湁鏁板瓧锛岃涓庣鐞嗗憳纭鏄惁閿欒锛�');
+ }else {
+ ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'浜у搧BarCode(' + barCodeList[i] + ')绠$悊缂栫爜涓湁鏁板瓧锛岃涓庣鐞嗗憳纭鏄惁閿欒锛�'));
+ }
continue;
}
}else{
- ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'浜у搧BarCode(' + barCodeList[i] + ')鐨則racingCode閿欒锛�'));
+ //LWC:Lwcflag鍜屾姤閿欐彁閱� update by Link 2023-04-27
+ if(isLwc){
+ errorList.add('浜у搧BarCode(' + barCodeList[i] + ')鐨則racingCode閿欒锛�');
+ }else {
+ ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'浜у搧BarCode(' + barCodeList[i] + ')鐨則racingCode閿欒锛�'));
+ }
continue;
}
}
@@ -1702,13 +1826,23 @@
barCode01List.add(barCodeList[i]);
}else if(barCodeList[i].substring(0,3) =='241'){
if(barCodeList[i].length() > 8 && barCodeList[i].substring(barCodeList[i].length() - 8,barCodeList[i].length()-5)!='250'){
- ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, '浜у搧BarCode(' + barCodeList[i] + ')娌℃湁绠$悊缂栫爜锛�'));
+ //LWC:Lwcflag鍜屾姤閿欐彁閱� update by Link 2023-04-27
+ if(isLwc){
+ errorList.add('浜у搧BarCode(' + barCodeList[i] + ')娌℃湁绠$悊缂栫爜锛�');
+ }else {
+ ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, '浜у搧BarCode(' + barCodeList[i] + ')娌℃湁绠$悊缂栫爜锛�'));
+ }
continue;
}
List<String> otCodeList = new List<String>();
Map<String,String> otCodeMap = new Map<String,String>();
if(barCodeList[i].length() < 7){
- ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'浜у搧BarCode(' + barCodeList[i] + ')鐨勪綅鏁颁笉瓒�16锛屼笉绗﹀悎瑕佹眰閿欒锛�'));
+ //LWC:Lwcflag鍜屾姤閿欐彁閱� update by Link 2023-04-27
+ if(isLwc){
+ errorList.add('浜у搧BarCode(' + barCodeList[i] + ')鐨勪綅鏁颁笉瓒�16锛屼笉绗﹀悎瑕佹眰閿欒锛�');
+ }else {
+ ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'浜у搧BarCode(' + barCodeList[i] + ')鐨勪綅鏁颁笉瓒�16锛屼笉绗﹀悎瑕佹眰閿欒锛�'));
+ }
continue;
}else if(barCodeList[i].length() == 11){
String otCode4 = barCodeList[i].substring(3,7);
@@ -1750,11 +1884,21 @@
barOtcodeMap.put(barCodeList[i], otCodeMap);
barCode241List.add(barCodeList[i]);
}else{
- ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'浜у搧BarCode(' + barCodeList[i] + ')涓嶇鍚堣姹傦紒'));
+ //LWC:Lwcflag鍜屾姤閿欐彁閱� update by Link 2023-04-27
+ if(isLwc){
+ errorList.add('浜у搧BarCode(' + barCodeList[i] + ')涓嶇鍚堣姹傦紒');
+ }else {
+ ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'浜у搧BarCode(' + barCodeList[i] + ')涓嶇鍚堣姹傦紒'));
+ }
continue;
}
}else{
- ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'浜у搧BarCode(' + barCodeList[i] + ')涓嶇鍚堣姹傦紒'));
+ //LWC:Lwcflag鍜屾姤閿欐彁閱� update by Link 2023-04-27
+ if(isLwc){
+ errorList.add('浜у搧BarCode(' + barCodeList[i] + ')涓嶇鍚堣姹傦紒');
+ }else {
+ ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'浜у搧BarCode(' + barCodeList[i] + ')涓嶇鍚堣姹傦紒'));
+ }
continue;
}
}
@@ -1794,7 +1938,12 @@
}
}
if(errorMap.size() > 0){
- ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'BarCode鍙穂'+ errorMap.values() +']浜у搧绫诲瀷['+product_Type+']涓庣敤鎴风被鍨媅'+userPro_Type+']涓嶇'));
+ //LWC:Lwcflag鍜屾姤閿欐彁閱� update by Link 2023-04-27
+ if(isLwc){
+ errorList.add('BarCode鍙穂'+ errorMap.values() +']浜у搧绫诲瀷['+product_Type+']涓庣敤鎴风被鍨媅'+userPro_Type+']涓嶇');
+ }else {
+ ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'BarCode鍙穂'+ errorMap.values() +']浜у搧绫诲瀷['+product_Type+']涓庣敤鎴风被鍨媅'+userPro_Type+']涓嶇'));
+ }
}
}
}
@@ -1820,7 +1969,12 @@
}
}
if(errorMap.size() > 0){
- ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'BarCode鍙穂'+ errorMap.values() +']浜у搧绫诲瀷['+product_Type+']涓庣敤鎴穂'+userPro_Type+']绫诲瀷涓嶇'));
+ //LWC:Lwcflag鍜屾姤閿欐彁閱� update by Link 2023-04-27
+ if(isLwc){
+ errorList.add('BarCode鍙穂'+ errorMap.values() +']浜у搧绫诲瀷['+product_Type+']涓庣敤鎴穂'+userPro_Type+']绫诲瀷涓嶇');
+ }else {
+ ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'BarCode鍙穂'+ errorMap.values() +']浜у搧绫诲瀷['+product_Type+']涓庣敤鎴穂'+userPro_Type+']绫诲瀷涓嶇'));
+ }
}
product2InStore = [SELECT Id, Name,Name__c,Intra_Trade_List_RMB__c,Asset_Model_No__c,OT_CODE__c,Product2_Jancode__c,
Pro2_Dealer_ENG__c,Pro2_Dealer_Object__c
@@ -1846,7 +2000,12 @@
productDateStr = '20' + bar.substring(oTcodeLength + 5,oTcodeLength + 7) + '-' + bar.substring(oTcodeLength + 7,oTcodeLength + 9) + '-01' ;
productionDate = Date.valueOf(productDateStr);
}catch(Exception e){
- ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, '浜у搧BarCode(' + bar + ')鐨勭敓浜ф棩鏈�' + productDateStr + '閿欒锛�'));
+ //LWC:Lwcflag鍜屾姤閿欐彁閱� update by Link 2023-04-27
+ if(isLwc){
+ errorList.add('浜у搧BarCode(' + bar + ')鐨勭敓浜ф棩鏈�' + productDateStr + '閿欒锛�');
+ }else {
+ ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, '浜у搧BarCode(' + bar + ')鐨勭敓浜ф棩鏈�' + productDateStr + '閿欒锛�'));
+ }
continue;
}
if(bar.length() >=oTcodeLength + 3 + 16){
@@ -1861,7 +2020,12 @@
expirationDate = Date.valueOf(expirationDateStr);
}
}catch(Exception e){
- ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'浜у搧BarCode(' + bar + ')鐨勬粎鑿屾湁鍔规湡闄�' + expirationDateStr + '閿欒锛�'));
+ //LWC:Lwcflag鍜屾姤閿欐彁閱� update by Link 2023-04-27
+ if(isLwc){
+ errorList.add('浜у搧BarCode(' + bar + ')鐨勬粎鑿屾湁鍔规湡闄�' + expirationDateStr + '閿欒锛�');
+ }else {
+ ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'浜у搧BarCode(' + bar + ')鐨勬粎鑿屾湁鍔规湡闄�' + expirationDateStr + '閿欒锛�'));
+ }
continue;
}
if(bar.length() >= oTcodeLength + 3 + 25){
@@ -1886,7 +2050,12 @@
expirationDate = Date.valueOf(expirationDateStr);
}
}catch(Exception e){
- ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'浜у搧BarCode(' + bar + ')鐨勬粎鑿屾湁鍔规湡闄�' + expirationDateStr + '閿欒锛�'));
+ //LWC:Lwcflag鍜屾姤閿欐彁閱� update by Link 2023-04-27
+ if(isLwc){
+ errorList.add('浜у搧BarCode(' + bar + ')鐨勬粎鑿屾湁鍔规湡闄�' + expirationDateStr + '閿欒锛�');
+ }else {
+ ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'浜у搧BarCode(' + bar + ')鐨勬粎鑿屾湁鍔规湡闄�' + expirationDateStr + '閿欒锛�'));
+ }
continue;
}
if(bar.length() >=oTcodeLength + 20){
@@ -1907,11 +2076,21 @@
Matcher n = Pattern.compile('[0-9]').matcher(tracingCode);
if(n.find()){
String str = '绠$悊缂栫爜涓嶆纭紝璇蜂笌绠$悊鍛樼‘璁ゆ槸鍚﹂敊璇��';
- ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'浜у搧BarCode(' + bar + ')绠$悊缂栫爜涓湁鏁板瓧锛岃涓庣鐞嗗憳纭鏄惁閿欒锛�'));
+ //LWC:Lwcflag鍜屾姤閿欐彁閱� update by Link 2023-04-27
+ if(isLwc){
+ errorList.add('浜у搧BarCode(' + bar + ')绠$悊缂栫爜涓湁鏁板瓧锛岃涓庣鐞嗗憳纭鏄惁閿欒锛�');
+ }else {
+ ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'浜у搧BarCode(' + bar + ')绠$悊缂栫爜涓湁鏁板瓧锛岃涓庣鐞嗗憳纭鏄惁閿欒锛�'));
+ }
continue;
}
}else{
- ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'浜у搧BarCode(' + bar + ')鐨則racingCode閿欒锛�'));
+ //LWC:Lwcflag鍜屾姤閿欐彁閱� update by Link 2023-04-27
+ if(isLwc){
+ errorList.add('浜у搧BarCode(' + bar + ')鐨則racingCode閿欒锛�');
+ }else {
+ ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'浜у搧BarCode(' + bar + ')鐨則racingCode閿欒锛�'));
+ }
continue;
}
}
@@ -1978,20 +2157,35 @@
//鐢熶骇鏃ユ湡
List<String> janCode = new List<String>();
if(barCodeList[i].length() < 16){
- ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'浜у搧BarCode(' + barCodeList[i] + ')鐨勪綅鏁颁笉瓒�16锛屼笉绗﹀悎瑕佹眰閿欒锛�'));
+ //LWC:Lwcflag鍜屾姤閿欐彁閱� update by Link 2023-04-27
+ if(isLwc){
+ errorList.add('浜у搧BarCode(' + barCodeList[i] + ')鐨勪綅鏁颁笉瓒�16锛屼笉绗﹀悎瑕佹眰閿欒锛�');
+ }else {
+ ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'浜у搧BarCode(' + barCodeList[i] + ')鐨勪綅鏁颁笉瓒�16锛屼笉绗﹀悎瑕佹眰閿欒锛�'));
+ }
continue;
}else {
janCodeMark = barCodeList[i].substring(2,16);
try{
Decimal test = Decimal.valueOf(janCodeMark);
}catch(Exception e){
- ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'浜у搧BarCode(' + barCodeList[i] + ')鐨刯anCode閿欒锛�'));
+ //LWC:Lwcflag鍜屾姤閿欐彁閱� update by Link 2023-04-27
+ if(isLwc){
+ errorList.add('浜у搧BarCode(' + barCodeList[i] + ')鐨刯anCode閿欒锛�');
+ }else {
+ ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'浜у搧BarCode(' + barCodeList[i] + ')鐨刯anCode閿欒锛�'));
+ }
continue;
}
}
if(barCodeList[i].length() >= 22){
if(barCodeList[i].substring(barCodeList[i].length() - 8,barCodeList[i].length()-5)!='250'){
- ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, '浜у搧BarCode(' + barCodeList[i] + ')娌℃湁绠$悊缂栫爜锛�'));
+ //LWC:Lwcflag鍜屾姤閿欐彁閱� update by Link 2023-04-27
+ if(isLwc){
+ errorList.add('浜у搧BarCode(' + barCodeList[i] + ')娌℃湁绠$悊缂栫爜锛�');
+ }else {
+ ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, '浜у搧BarCode(' + barCodeList[i] + ')娌℃湁绠$悊缂栫爜锛�'));
+ }
continue;
}
if( barCodeList[i].substring(16,18) =='11'){
@@ -1999,7 +2193,12 @@
productDateStr = '20' + barCodeList[i].substring(18,20) + '-' + barCodeList[i].substring(20,22) + '-01' ;
productionDate = Date.valueOf(productDateStr);
}catch(Exception e){
- ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, '浜у搧BarCode(' + barCodeList[i] + ')鐨勭敓浜ф棩鏈�' + productDateStr + '閿欒锛�'));
+ //LWC:Lwcflag鍜屾姤閿欐彁閱� update by Link 2023-04-27
+ if(isLwc){
+ errorList.add('浜у搧BarCode(' + barCodeList[i] + ')鐨勭敓浜ф棩鏈�' + productDateStr + '閿欒锛�');
+ }else {
+ ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, '浜у搧BarCode(' + barCodeList[i] + ')鐨勭敓浜ф棩鏈�' + productDateStr + '閿欒锛�'));
+ }
continue;
}
if(barCodeList[i].length() >=32){
@@ -2014,7 +2213,12 @@
expirationDate = Date.valueOf(expirationDateStr);
}
}catch(Exception e){
- ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'浜у搧BarCode(' + barCodeList[i] + ')鐨勬粎鑿屾湁鍔规湡闄�' + expirationDateStr + '閿欒锛�'));
+ //LWC:Lwcflag鍜屾姤閿欐彁閱� update by Link 2023-04-27
+ if(isLwc){
+ errorList.add('浜у搧BarCode(' + barCodeList[i] + ')鐨勬粎鑿屾湁鍔规湡闄�' + expirationDateStr + '閿欒锛�');
+ }else {
+ ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'浜у搧BarCode(' + barCodeList[i] + ')鐨勬粎鑿屾湁鍔规湡闄�' + expirationDateStr + '閿欒锛�'));
+ }
continue;
}
if(barCodeList[i].length() >= 42){
@@ -2038,7 +2242,12 @@
expirationDate = Date.valueOf(expirationDateStr);
}
}catch(Exception e){
- ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'浜у搧BarCode(' + barCodeList[i] + ')鐨勬粎鑿屾湁鍔规湡闄�' + expirationDateStr + '閿欒锛�'));
+ //LWC:Lwcflag鍜屾姤閿欐彁閱� update by Link 2023-04-27
+ if(isLwc){
+ errorList.add('浜у搧BarCode(' + barCodeList[i] + ')鐨勬粎鑿屾湁鍔规湡闄�' + expirationDateStr + '閿欒锛�');
+ }else {
+ ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'浜у搧BarCode(' + barCodeList[i] + ')鐨勬粎鑿屾湁鍔规湡闄�' + expirationDateStr + '閿欒锛�'));
+ }
continue;
}
if(barCodeList[i].length() >= 34){
@@ -2059,11 +2268,21 @@
Matcher n = Pattern.compile('[0-9]').matcher(tracingCode);
if(n.find()){
String str = '绠$悊缂栫爜涓嶆纭紝璇蜂笌绠$悊鍛樼‘璁ゆ槸鍚﹂敊璇��';
- ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'浜у搧BarCode(' + barCodeList[i] + ')绠$悊缂栫爜涓湁鏁板瓧锛岃涓庣鐞嗗憳纭鏄惁閿欒锛�'));
+ //LWC:Lwcflag鍜屾姤閿欐彁閱� update by Link 2023-04-27
+ if(isLwc){
+ errorList.add('浜у搧BarCode(' + barCodeList[i] + ')绠$悊缂栫爜涓湁鏁板瓧锛岃涓庣鐞嗗憳纭鏄惁閿欒锛�');
+ }else {
+ ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'浜у搧BarCode(' + barCodeList[i] + ')绠$悊缂栫爜涓湁鏁板瓧锛岃涓庣鐞嗗憳纭鏄惁閿欒锛�'));
+ }
continue;
}
}else{
- ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'浜у搧BarCode(' + barCodeList[i] + ')鐨則racingCode閿欒锛�'));
+ //LWC:Lwcflag鍜屾姤閿欐彁閱� update by Link 2023-04-27
+ if(isLwc){
+ errorList.add('浜у搧BarCode(' + barCodeList[i] + ')鐨則racingCode閿欒锛�');
+ }else {
+ ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'浜у搧BarCode(' + barCodeList[i] + ')鐨則racingCode閿欒锛�'));
+ }
continue;
}
}
@@ -2109,13 +2328,23 @@
barCode01List.add(barCodeList[i]);
}else if(barCodeList[i].substring(0,3) =='241'){
if(barCodeList[i].length() > 8 && barCodeList[i].substring(barCodeList[i].length() - 8,barCodeList[i].length()-5)!='250'){
- ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, '浜у搧BarCode(' + barCodeList[i] + ')娌℃湁绠$悊缂栫爜锛�'));
+ //LWC:Lwcflag鍜屾姤閿欐彁閱� update by Link 2023-04-27
+ if(isLwc){
+ errorList.add('浜у搧BarCode(' + barCodeList[i] + ')娌℃湁绠$悊缂栫爜锛�');
+ }else {
+ ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, '浜у搧BarCode(' + barCodeList[i] + ')娌℃湁绠$悊缂栫爜锛�'));
+ }
continue;
}
List<String> otCodeList = new List<String>();
Map<String,String> otCodeMap = new Map<String,String>();
if(barCodeList[i].length() < 7){
- ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'浜у搧BarCode(' + barCodeList[i] + ')鐨勪綅鏁颁笉瓒�16锛屼笉绗﹀悎瑕佹眰閿欒锛�'));
+ //LWC:Lwcflag鍜屾姤閿欐彁閱� update by Link 2023-04-27
+ if(isLwc){
+ errorList.add('浜у搧BarCode(' + barCodeList[i] + ')鐨勪綅鏁颁笉瓒�16锛屼笉绗﹀悎瑕佹眰閿欒锛�');
+ }else {
+ ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'浜у搧BarCode(' + barCodeList[i] + ')鐨勪綅鏁颁笉瓒�16锛屼笉绗﹀悎瑕佹眰閿欒锛�'));
+ }
continue;
}else if(barCodeList[i].length() == 11){
String otCode4 = barCodeList[i].substring(3,7);
@@ -2157,7 +2386,12 @@
barOtcodeMap.put(barCodeList[i], otCodeMap);
barCode241List.add(barCodeList[i]);
}else{
- ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'浜у搧BarCode(' + barCodeList[i] + ')娌℃湁janCode鎴朞Tcode锛屼笉绗﹀悎瑕佹眰锛�'));
+ //LWC:Lwcflag鍜屾姤閿欐彁閱� update by Link 2023-04-27
+ if(isLwc){
+ errorList.add('浜у搧BarCode(' + barCodeList[i] + ')娌℃湁janCode鎴朞Tcode锛屼笉绗﹀悎瑕佹眰锛�');
+ }else {
+ ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'浜у搧BarCode(' + barCodeList[i] + ')娌℃湁janCode鎴朞Tcode锛屼笉绗﹀悎瑕佹眰锛�'));
+ }
continue;
}
}
@@ -2184,7 +2418,12 @@
}
}
if(errorMap.size() > 0){
- ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'BarCode鍙穂'+ errorMap.values() +']浜у搧绫诲瀷['+product_Type+']涓庣敤鎴风殑绫诲瀷['+userPro_Type+']涓嶇'));
+ //LWC:Lwcflag鍜屾姤閿欐彁閱� update by Link 2023-04-27
+ if(isLwc){
+ errorList.add('BarCode鍙穂'+ errorMap.values() +']浜у搧绫诲瀷['+product_Type+']涓庣敤鎴风殑绫诲瀷['+userPro_Type+']涓嶇');
+ }else {
+ ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'BarCode鍙穂'+ errorMap.values() +']浜у搧绫诲瀷['+product_Type+']涓庣敤鎴风殑绫诲瀷['+userPro_Type+']涓嶇'));
+ }
}
}
product2InStore = [SELECT Id, Name,Name__c,Intra_Trade_List_RMB__c,Asset_Model_No__c,OT_CODE__c,Product2_Jancode__c,
@@ -2249,7 +2488,12 @@
}
}
if(errorMap.size() > 0){
- ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'BarCode鍙穂'+ errorMap.values() +']浜у搧绫诲瀷['+product_Type+']涓庣敤鎴穂'+userPro_Type+']绫诲瀷涓嶇'));
+ //LWC:Lwcflag鍜屾姤閿欐彁閱� update by Link 2023-04-27
+ if(isLwc){
+ errorList.add('BarCode鍙穂'+ errorMap.values() +']浜у搧绫诲瀷['+product_Type+']涓庣敤鎴穂'+userPro_Type+']绫诲瀷涓嶇');
+ }else {
+ ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'BarCode鍙穂'+ errorMap.values() +']浜у搧绫诲瀷['+product_Type+']涓庣敤鎴穂'+userPro_Type+']绫诲瀷涓嶇'));
+ }
}
product2InStore = [SELECT Id, Name,Name__c,Intra_Trade_List_RMB__c,Asset_Model_No__c,OT_CODE__c,
Pro2_Dealer_Object__c,Pro2_Dealer_ENG__c
@@ -2274,7 +2518,12 @@
productDateStr = '20' + bar.substring(oTcodeLength + 5,oTcodeLength + 7) + '-' + bar.substring(oTcodeLength + 7,oTcodeLength + 9) + '-01' ;
productionDate = Date.valueOf(productDateStr);
}catch(Exception e){
- ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, '浜у搧BarCode(' + bar + ')鐨勭敓浜ф棩鏈�' + productDateStr + '閿欒锛�'));
+ //LWC:Lwcflag鍜屾姤閿欐彁閱� update by Link 2023-04-27
+ if(isLwc){
+ errorList.add('浜у搧BarCode(' + bar + ')鐨勭敓浜ф棩鏈�' + productDateStr + '閿欒锛�');
+ }else {
+ ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, '浜у搧BarCode(' + bar + ')鐨勭敓浜ф棩鏈�' + productDateStr + '閿欒锛�'));
+ }
continue;
}
if(bar.length() >=oTcodeLength + 3 + 16){
@@ -2290,7 +2539,12 @@
expirationDate = Date.valueOf(expirationDateStr);
}
}catch(Exception e){
- ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'浜у搧BarCode(' + bar + ')鐨勬粎鑿屾湁鍔规湡闄�' + expirationDateStr + '閿欒锛�'));
+ //LWC:Lwcflag鍜屾姤閿欐彁閱� update by Link 2023-04-27
+ if(isLwc){
+ errorList.add('浜у搧BarCode(' + bar + ')鐨勬粎鑿屾湁鍔规湡闄�' + expirationDateStr + '閿欒锛�');
+ }else {
+ ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'浜у搧BarCode(' + bar + ')鐨勬粎鑿屾湁鍔规湡闄�' + expirationDateStr + '閿欒锛�'));
+ }
continue;
}
if(bar.length() >= oTcodeLength + 3 + 25){
@@ -2315,7 +2569,12 @@
expirationDate = Date.valueOf(expirationDateStr);
}
}catch(Exception e){
- ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'浜у搧BarCode(' + bar + ')鐨勬粎鑿屾湁鍔规湡闄�' + expirationDateStr + '閿欒锛�'));
+ //LWC:Lwcflag鍜屾姤閿欐彁閱� update by Link 2023-04-27
+ if(isLwc){
+ errorList.add('浜у搧BarCode(' + bar + ')鐨勬粎鑿屾湁鍔规湡闄�' + expirationDateStr + '閿欒锛�');
+ }else {
+ ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'浜у搧BarCode(' + bar + ')鐨勬粎鑿屾湁鍔规湡闄�' + expirationDateStr + '閿欒锛�'));
+ }
continue;
}
if(bar.length() >=oTcodeLength + 20){
@@ -2336,11 +2595,21 @@
Matcher n = Pattern.compile('[0-9]').matcher(tracingCode);
if(n.find()){
String str = '绠$悊缂栫爜涓嶆纭紝璇蜂笌绠$悊鍛樼‘璁ゆ槸鍚﹂敊璇��';
- ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'浜у搧BarCode(' + bar + ')绠$悊缂栫爜涓湁鏁板瓧锛岃涓庣鐞嗗憳纭鏄惁閿欒锛�'));
+ //LWC:Lwcflag鍜屾姤閿欐彁閱� update by Link 2023-04-27
+ if(isLwc){
+ errorList.add('浜у搧BarCode(' + bar + ')绠$悊缂栫爜涓湁鏁板瓧锛岃涓庣鐞嗗憳纭鏄惁閿欒锛�');
+ }else {
+ ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'浜у搧BarCode(' + bar + ')绠$悊缂栫爜涓湁鏁板瓧锛岃涓庣鐞嗗憳纭鏄惁閿欒锛�'));
+ }
continue;
}
}else{
- ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'浜у搧BarCode(' + bar + ')鐨則racingCode閿欒锛�'));
+ //LWC:Lwcflag鍜屾姤閿欐彁閱� update by Link 2023-04-27
+ if(isLwc){
+ errorList.add('浜у搧BarCode(' + bar + ')鐨則racingCode閿欒锛�');
+ }else {
+ ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'浜у搧BarCode(' + bar + ')鐨則racingCode閿欒锛�'));
+ }
continue;
}
}
@@ -2384,9 +2653,19 @@
if(notEqualBARcodeCunMap.size() > 0){
for(String widget : notEqualBARcodeCunMap.keySet()) {
if(notEqualBARcodeCunMap.get(widget).size() >0){
- ApexPages.addmessage(new ApexPages.message(ApexPages.severity.INFO, '浠ヤ笅barcode浜у搧涓庤璐т骇鍝佷笉涓�鑷淬��'));
+ //LWC:Lwcflag鍜屾姤閿欐彁閱� update by Link 2023-04-27
+ if(isLwc){
+ warningList.add('浠ヤ笅barcode浜у搧涓庤璐т骇鍝佷笉涓�鑷淬��');
+ }else {
+ ApexPages.addmessage(new ApexPages.message(ApexPages.severity.INFO, '浠ヤ笅barcode浜у搧涓庤璐т骇鍝佷笉涓�鑷淬��'));
+ }
for(String barcodeListTTT : (List<String>)notEqualBARcodeCunMap.get(widget)) {
- ApexPages.addmessage(new ApexPages.message(ApexPages.severity.INFO, barcodeListTTT));
+ //LWC:Lwcflag鍜屾姤閿欐彁閱� update by Link 2023-04-27
+ if(isLwc){
+ warningList.add(barcodeListTTT);
+ }else {
+ ApexPages.addmessage(new ApexPages.message(ApexPages.severity.INFO, barcodeListTTT));
+ }
}
}
}
@@ -2728,7 +3007,12 @@
Savepoint sp = Database.setSavepoint();
if(ConsumableorderdetailsRecords.size()<1 && consumableInventory.size()<1){
- ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'涓嶅瓨鍦ㄥ埌璐ф槑缁�'));
+ //LWC:Lwcflag鍜屾姤閿欐彁閱� update by Link 2023-04-27
+ if(isLwc){
+ returnError = '涓嶅瓨鍦ㄥ埌璐ф槑缁�';
+ }else {
+ ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'涓嶅瓨鍦ㄥ埌璐ф槑缁�'));
+ }
return null;
}
if(EsetId != null && EsetId != ''){
@@ -2736,9 +3020,19 @@
if(resultcheck.length() > 0){
for(String widget : overOrderBARcodeCunMap.keySet()) {
if(overOrderBARcodeCunMap.get(widget).size() >0){
- ApexPages.addmessage(new ApexPages.message(ApexPages.severity.INFO, '浜у搧' + widget + '鏈鍒拌揣鏁伴噺瓒呰繃' + overOrderBARcodeCunMap.get(widget).size() +'涓璐х殑鏁伴噺銆�'));
+ //LWC:Lwcflag鍜屾姤閿欐彁閱� update by Link 2023-04-27
+ if(isLwc){
+ warningList.add('浜у搧' + widget + '鏈鍒拌揣鏁伴噺瓒呰繃' + overOrderBARcodeCunMap.get(widget).size() +'涓璐х殑鏁伴噺銆�');
+ }else {
+ ApexPages.addmessage(new ApexPages.message(ApexPages.severity.INFO, '浜у搧' + widget + '鏈鍒拌揣鏁伴噺瓒呰繃' + overOrderBARcodeCunMap.get(widget).size() +'涓璐х殑鏁伴噺銆�'));
+ }
for(String barcodeListTTT : (List<String>)overOrderBARcodeCunMap.get(widget)) {
- ApexPages.addmessage(new ApexPages.message(ApexPages.severity.INFO, barcodeListTTT));
+ //LWC:Lwcflag鍜屾姤閿欐彁閱� update by Link 2023-04-27
+ if(isLwc){
+ warningList.add(barcodeListTTT);
+ }else {
+ ApexPages.addmessage(new ApexPages.message(ApexPages.severity.INFO, barcodeListTTT));
+ }
}
}
}
@@ -2954,7 +3248,12 @@
// Integer a = 1/0;
}catch(Exception e){
Database.rollback(sp);
- ApexPages.addMessages(e);
+ //LWC:Lwcflag鍜屾姤閿欐彁閱� update by Link 2023-04-27
+ if(isLwc){
+ returnError = e.getLineNumber()+'---'+e.getMessage();
+ }else {
+ ApexPages.addMessages(e);
+ }
return null;
}
if(resultcheck.length() > 0){
@@ -2962,6 +3261,7 @@
}else if(resultcheckWithoutOrder.size() >0){
return null;
} else{
+ urlType = 'UnabletoEdit';
return UnabletoEdit();
// return null;
}
@@ -3510,7 +3810,12 @@
// }
if(ass.ReturnReason==null || ass.ReturnReason==''){
- ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'璇疯ˉ鍏呰繑鍝佸師鍥�'));
+ //LWC:Lwcflag鍜屾姤閿欐彁閱� update by Link 2023-04-27
+ if(isLwc){
+ returnError = '璇疯ˉ鍏呰繑鍝佸師鍥�';
+ }else {
+ ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'璇疯ˉ鍏呰繑鍝佸師鍥�'));
+ }
return null;
}
@@ -3608,26 +3913,43 @@
// WYIN-BPE3T4 铏氭嫙鐩樼偣鍗� update by vivek 2020-05-11 start
// return ToReturnGoodsPage();
if(hasLoseGoods){
+ urlType = 'ToInventoryGoodsPage';
return ToInventoryGoodsPage();
// return null;
}else{
+ urlType = 'ToReturnGoodsPage';
return ToReturnGoodsPage();
// return null;
}
// WYIN-BPE3T4 铏氭嫙鐩樼偣鍗� update by vivek 2020-05-11 start
}
else{
- ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'娌℃湁闇�瑕佺櫥褰曠殑杩斿搧'));
+ //LWC:Lwcflag鍜屾姤閿欐彁閱� update by Link 2023-04-27
+ if(isLwc){
+ returnError = '娌℃湁闇�瑕佺櫥褰曠殑杩斿搧';
+ }else {
+ ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'娌℃湁闇�瑕佺櫥褰曠殑杩斿搧'));
+ }
return null;
}
}else{
- ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'娌℃湁闇�瑕佺櫥褰曠殑杩斿搧'));
+ //LWC:Lwcflag鍜屾姤閿欐彁閱� update by Link 2023-04-27
+ if(isLwc){
+ returnError = '娌℃湁闇�瑕佺櫥褰曠殑杩斿搧';
+ }else {
+ ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'娌℃湁闇�瑕佺櫥褰曠殑杩斿搧'));
+ }
return null;
}
}catch(Exception e){
Database.rollback(sp);
- ApexPages.addMessages(e);
+ //LWC:Lwcflag鍜屾姤閿欐彁閱� update by Link 2023-04-27
+ if(isLwc){
+ returnError = e.getLineNumber()+'---'+e.getMessage();
+ }else {
+ ApexPages.addMessages(e);
+ }
return null;
}
}
@@ -3703,7 +4025,7 @@
return ref;
}
- class ConsumableorderdetailsInfo implements Comparable {
+ public class ConsumableorderdetailsInfo implements Comparable {
public Consumable_order_details2__c esd { get; set; }
public Product2__c Prod { get; set; }
public String ProductName { get; set; }
@@ -3721,6 +4043,11 @@
public Decimal arrivedCount { get; set; }
public String ReportProductExpirationDate {get;set;}
+
+ public ConsumableorderdetailsInfo(){
+
+ }
+
public ConsumableorderdetailsInfo(Consumable_order_details2__c e,string str) {
esd = e;
Prod = e.Consumable_Product__r;
diff --git a/force-app/main/default/classes/AssetMaintainHeaderWebService.cls b/force-app/main/default/classes/AssetMaintainHeaderWebService.cls
index 6386bc9..e0c6446 100644
--- a/force-app/main/default/classes/AssetMaintainHeaderWebService.cls
+++ b/force-app/main/default/classes/AssetMaintainHeaderWebService.cls
@@ -37,6 +37,7 @@
}
return '1';
}
+ @AuraEnabled
WebService static String abandon(String amhId) {
Savepoint sp = Database.setSavepoint();
try {
@@ -68,6 +69,13 @@
}
return '1';
}
+ @AuraEnabled
+ public static Boolean applyPermission()
+ {
+ Schema.DescribeSobjectResult schemaMap = Schema.describeSObjects(new String[]{'TransferApply__c'})[0];
+ return schemaMap.isCreateable();
+ }
+ @AuraEnabled
WebService static String deleteApply(String amhId) {
List<AssetMaintainHeader__c> amhList = [select id, Status__c
from AssetMaintainHeader__c
diff --git a/force-app/main/default/classes/CPL003Rest.cls b/force-app/main/default/classes/CPL003Rest.cls
index 6355680..a782e9a 100644
--- a/force-app/main/default/classes/CPL003Rest.cls
+++ b/force-app/main/default/classes/CPL003Rest.cls
@@ -55,7 +55,7 @@
global static void main(String rowData_Id) {
Integer batch_retry_max_cnt = Integer.valueOf(System.Label.batch_retry_max_cnt);
BatchIF_Log__c rowData = [Select Id, Name, Log__c, ErrorLog__c, Log2__c, Log3__c, Log4__c, Log5__c, Log6__c, Log7__c, Log8__c, Log9__c, Log10__c, Log11__c, Log12__c, MessageGroupNumber__c,retry_cnt__c from BatchIF_Log__c where RowDataFlg__c = true and Id = :rowData_Id];
- MDMITMWebService.isRunning = true;
+ //MDMITMWebService.isRunning = true; //Commented By Li Jun 20230428
String logstr = rowData.MessageGroupNumber__c + ' start\n';
BatchIF_Log__c iflog = new BatchIF_Log__c();
iflog.Type__c = 'CPL003';
diff --git a/force-app/main/default/classes/ChangeDealerApprovalController.cls b/force-app/main/default/classes/ChangeDealerApprovalController.cls
index bb9fc97..7fe40f9 100644
--- a/force-app/main/default/classes/ChangeDealerApprovalController.cls
+++ b/force-app/main/default/classes/ChangeDealerApprovalController.cls
@@ -41,6 +41,8 @@
public PageReference submitApproval() {
Savepoint sp = Database.setSavepoint();
this.submitErrorMsg = false;
+ system.debug('******this.estimate='+this.estimate);
+ system.debug('******='+this.estimate.Change_Dealer_Approval__c);
try {
this.estimate.Change_Dealer_Approval__c = '鐢宠涓�';
if (this.estimate.Changed_Estimate_Target__c == '鍖婚櫌') {
diff --git a/force-app/main/default/classes/ConInvoiceViewController.cls b/force-app/main/default/classes/ConInvoiceViewController.cls
index 3764b91..0e3ac41 100644
--- a/force-app/main/default/classes/ConInvoiceViewController.cls
+++ b/force-app/main/default/classes/ConInvoiceViewController.cls
@@ -473,6 +473,7 @@
// 淇濆瓨闄勪欢
public PageReference saveAttachment() {
Consumable_accessories_invoice__c attachmentdetails = new Consumable_accessories_invoice__c();
+ System.debug('AttachmentRecoeds = ' + AttachmentRecoeds);
for (InvoiceOrderInfo ass : AttachmentRecoeds) {
if (!String.isBlank(ass.mailSelectOptsin)) {
attachmentdetails.Id = ass.invoiceOrderId;
@@ -484,10 +485,12 @@
upsert attachmentdetails;
}
}
+ System.debug('attachmentdetails = ' + attachmentdetails);
return UnabletoEdit();
}
// 淇濆瓨鎸夐挳
public PageReference save() {
+ System.debug('enter ConInvoiceViewController.save success');
List<String> chukudanID = new List<String>();
if (coc.Name == '' || coc.Name == null) {
coc.Name.addError('璇峰綍鍏ュ彂绁ㄥ彿銆�');
@@ -736,6 +739,7 @@
delete invoiceLinkdetList;
}*/
} else if (String.isNotBlank(reopen) && reopen.equals('isreopen') && String.isNotBlank(invoiceId)) {
+ System.debug('杩涘叆reopen');
//CHAN-BSS5SQ update by rentongxiao 2020-09-04 start
//濡傛灉鏄� 浣滃簾閲嶅紑
//1. 璁剧疆鏂板彂绁ㄤ俊鎭�
@@ -759,6 +763,7 @@
invoiceHead.Order_ForDealer__c = SecondDealer;
}
invoiceHead.Order_ForDealerText__c = coc.Order_ForDealerText__c;
+ System.debug('invoiceHead = ' + invoiceHead);
insert invoiceHead;
List<String> updateChukudanId = new List<String>();
@@ -773,6 +778,7 @@
colc.Invoice_Code_link__c = invoiceHead.Id;
updateChukudanId.add(colc.Outboundorder_Code_link__c);
}
+ System.debug('tLinkList = ' + tLinkList);
update tLinkList;
//鏇存柊鍙戠エ鏄庣粏淇℃伅
//鑾峰彇鍑哄簱鍗�,璁剧疆鍏宠仈鍏崇郴
@@ -797,6 +803,7 @@
cocTemp.Consumable_order__c = invoiceHead.Id;
tempCocMap.put(cocTemp.Invoicedet1_OD_link__c + cocTemp.Asset_Model_No__c, cocTemp);
}
+ System.debug('tempCountList = ' + tempCountList);
update tempCountList;
List<Consumable_Orderdetails__c> updateFromList = [
SELECT
@@ -836,8 +843,10 @@
Consumable_order__c tempcoc = new Consumable_order__c();
tempcoc.Id = invoiceId;
+ System.debug('tempcoc = ' + tempcoc);
delete tempcoc;
invoiceId = invoiceHead.Id;
+ System.debug('updateFromList = ' + updateFromList);
update updateFromList;
//--------------------------------------------------------------------------
for (InvoiceOrderInfo ass : invoiceOrderRecoeds) {
@@ -875,6 +884,7 @@
invoiceLinkList.add(invoiceLink);
}
}
+ System.debug('invoiceLinkList = ' + invoiceLinkList);
upsert invoiceLinkList;
}
//鍒犻櫎鍑哄簱鍗曢摼鎺ヨ〃
@@ -892,6 +902,7 @@
invoiceLinkdetList.add(colctemp);
}
}
+ System.debug('invoiceLinkdetList = ' + invoiceLinkdetList);
delete invoiceLinkdetList;
}
//鏂板缓鍙戠エ鏄庣粏1
@@ -1268,6 +1279,7 @@
FROM Consumable_Orderdetails__c
WHERE Consumable_order__c = :value AND Invoicedet1_OD_link__c = :deleteMap.keySet()
];
+ System.debug('detInvoicedet1List = ' + detInvoicedet1List);
delete detInvoicedet1List;
}
//CHAN-BSS5SQ update by rentongxiao 2020-09-08 end
@@ -1360,6 +1372,7 @@
Savepoint sp = Database.setSavepoint();
if (invoiceorderList1.size() > 0) {
try {
+ System.debug('invoiceorderList1 = ' + invoiceorderList1);
insert invoiceorderList1;
} catch (Exception ex) {
Database.rollback(sp);
diff --git a/force-app/main/default/classes/InventoryViewController.cls b/force-app/main/default/classes/InventoryViewController.cls
index f22e03f..7af9ff1 100644
--- a/force-app/main/default/classes/InventoryViewController.cls
+++ b/force-app/main/default/classes/InventoryViewController.cls
@@ -1,4 +1,4 @@
-public without sharing class InventoryViewController {
+public without sharing class InventoryViewController {
/*****************鐢婚潰琛ㄧずBean******************/
public List<ConsumableorderdetailsInfo> consumableorderdetailsRecords =new List<ConsumableorderdetailsInfo>();
public List<List<ConsumableorderdetailsInfo>> consumableorderdetailsRecordsview = new List<List<ConsumableorderdetailsInfo>>();
diff --git a/force-app/main/default/classes/LexArriveGoodsController.cls b/force-app/main/default/classes/LexArriveGoodsController.cls
new file mode 100644
index 0000000..125ba47
--- /dev/null
+++ b/force-app/main/default/classes/LexArriveGoodsController.cls
@@ -0,0 +1,301 @@
+public without sharing class LexArriveGoodsController {
+
+ //鍒濆鍖�
+ @AuraEnabled
+ public static Results init(String arrType, String eSetId) {
+ Results results = new Results();
+ try {
+ ArriveGoodsController arrController = new ArriveGoodsController(eSetId, arrType);
+ arrController.isLwc = true;
+ arrController.init();
+ results.arrGoodCon = JSON.serialize(arrController);
+ results.coc = arrController.coc;
+ results.saveFLGbln = arrController.saveFLGbln;
+ results.returnFLGbln = arrController.ReturnFLGbln;
+ results.result = 'Success';
+ } catch (Exception e) {
+ results.result = 'Fail';
+ results.errorMsg = e.getLineNumber() + '---' + e.getMessage();
+ }
+ return results;
+ }
+
+ //鎼滅储浜у搧
+ @AuraEnabled
+ public static Results searchProduct(String barcode, String arrControllerStr) {
+ Results results = new Results();
+ try {
+ System.debug('arrControllerStr:'+arrControllerStr);
+ ArriveGoodsController arrController = (ArriveGoodsController)JSON.deserialize(arrControllerStr, ArriveGoodsController.class);
+ arrController.barcode = barcode;
+ arrController.returnError = null;
+ arrController.warningList = new List<String>();
+ arrController.errorList = new List<String>();
+ arrController.SearchPro();
+ results.arrGoodCon = JSON.serialize(arrController);
+ if(arrController.returnError != null && arrController.returnError != ''){
+ results.result = 'Fail';
+ results.errorMsgList = arrController.errorList;
+ results.warningMsgList = arrController.warningList;
+ results.errorMsg = arrController.returnError;
+ }else {
+ results.coc = arrController.coc;
+ results.saveFLGbln = arrController.saveFLGbln;
+ results.returnFLGbln = arrController.ReturnFLGbln;
+ results.detailsSummary = changeType1(arrController.detailsSummary);
+ results.consumableorderdetailsRecords = changeType1(arrController.ConsumableorderdetailsRecords);
+ results.showGoodsofReturnList = changeType1(arrController.ShowGoodsofReturnList);
+ results.consumableInventory = changeType1(arrController.consumableInventory);
+ results.consumableorderdetailsRecordserror = changeType1(arrController.ConsumableorderdetailsRecordserror);
+ results.errorMsgList = arrController.errorList;
+ results.warningMsgList = arrController.warningList;
+ results.result = 'Success';
+ }
+ } catch (Exception e) {
+ results.result = 'Fail';
+ results.errorMsg = e.getLineNumber() + '---' + e.getMessage() + '---' + e.getStackTraceString();
+ }
+ return results;
+ }
+
+ //鍒拌揣纭
+ @AuraEnabled
+ public static Results arriveGoodsConfim(String arrControllerStr) {
+ Results results = new Results();
+ try {
+ ArriveGoodsController arrController = (ArriveGoodsController)JSON.deserialize(arrControllerStr, ArriveGoodsController.class);
+ arrController.returnError = null;
+ arrController.warningList = new List<String>();
+ arrController.errorList = new List<String>();
+ Pagereference page = arrController.ArriveGoodsConfim();
+ results.arrGoodCon = JSON.serialize(arrController);
+ if(arrController.returnError != null && arrController.returnError != ''){
+ results.result = 'Fail';
+ results.errorMsgList = arrController.errorList;
+ results.warningMsgList = arrController.warningList;
+ results.errorMsg = arrController.returnError;
+ }else {
+ if(arrController.urlType == 'UnabletoEdit'){
+ results.url = '/lexarrivegsdetails?EsetId='+arrController.arriveId;
+ }
+ results.errorMsgList = arrController.errorList;
+ results.warningMsgList = arrController.warningList;
+ results.result = 'Success';
+ }
+ } catch (Exception e) {
+ results.result = 'Fail';
+ results.errorMsg = e.getLineNumber() + '---' + e.getMessage();
+ }
+ return results;
+ }
+
+ //鐧诲綍杩斿搧
+ @AuraEnabled
+ public static Results updateGoodsOfReturn(String arrControllerStr, String showGoodsofReturnListStr) {
+ Results results = new Results();
+ try {
+ List<ConsumableorderdetailsInfo> showGoodsofReturnList = (List<ConsumableorderdetailsInfo>)JSON.deserialize(showGoodsofReturnListStr, List<ConsumableorderdetailsInfo>.class);
+ ArriveGoodsController arrController = (ArriveGoodsController)JSON.deserialize(arrControllerStr, ArriveGoodsController.class);
+ arrController.ShowGoodsofReturnList = changeType2(showGoodsofReturnList);
+ arrController.returnError = null;
+ arrController.warningList = new List<String>();
+ arrController.errorList = new List<String>();
+ Pagereference page = arrController.UpdateGoodsOfReturn();
+ results.arrGoodCon = JSON.serialize(arrController);
+ if(arrController.returnError != null && arrController.returnError != ''){
+ results.result = 'Fail';
+ results.errorMsgList = arrController.errorList;
+ results.warningMsgList = arrController.warningList;
+ results.errorMsg = arrController.returnError;
+ }else {
+ if(arrController.urlType == 'ToReturnGoodsPage'){
+ results.url = '/s/detail/'+arrController.return_Order_id;
+ }
+ if(arrController.urlType == 'ToInventoryGoodsPage'){
+ results.url = '/s/detail/'+arrController.inventory_Order_id;
+ }
+ results.errorMsgList = arrController.errorList;
+ results.warningMsgList = arrController.warningList;
+ results.result = 'Success';
+ }
+ } catch (Exception e) {
+ results.result = 'Fail';
+ results.errorMsg = e.getLineNumber() + '---' + e.getMessage();
+ }
+ return results;
+ }
+
+ public static List<ConsumableorderdetailsInfo> changeType1(List<ArriveGoodsController.ConsumableorderdetailsInfo> conList){
+ List<ConsumableorderdetailsInfo> conList1 = new List<ConsumableorderdetailsInfo>();
+ for(ArriveGoodsController.ConsumableorderdetailsInfo con : conList){
+ ConsumableorderdetailsInfo con1 = new ConsumableorderdetailsInfo();
+ con1.esd = con.esd;
+ con1.Prod = con.Prod;
+ con1.ProductName = con.ProductName;
+ con1.barCodeNo = con.barCodeNo;
+ con1.sterilizationlimitDate = con.sterilizationlimitDate;
+ con1.serialNoorLotNo = con.serialNoorLotNo;
+ con1.tracingCodeNo = con.tracingCodeNo;
+ con1.ReturnReason = con.ReturnReason;
+ con1.oldConsumableCount = con.oldConsumableCount;
+ con1.ErrorReason = con.ErrorReason;
+ con1.canEdit = con.canEdit;
+ con1.intMark = con.intMark;
+ con1.arriveAmount = con.arriveAmount;
+ con1.arrivedCount = con.arrivedCount;
+ con1.ReportProductExpirationDate = con.ReportProductExpirationDate;
+ conList1.add(con1);
+ }
+ return conList1;
+ }
+
+ public static List<ArriveGoodsController.ConsumableorderdetailsInfo> changeType2(List<ConsumableorderdetailsInfo> conList){
+ List<ArriveGoodsController.ConsumableorderdetailsInfo> conList1 = new List<ArriveGoodsController.ConsumableorderdetailsInfo>();
+ for(ConsumableorderdetailsInfo con : conList){
+ ArriveGoodsController.ConsumableorderdetailsInfo con1 = new ArriveGoodsController.ConsumableorderdetailsInfo();
+ con1.esd = con.esd;
+ con1.Prod = con.Prod;
+ con1.ProductName = con.ProductName;
+ con1.barCodeNo = con.barCodeNo;
+ con1.sterilizationlimitDate = con.sterilizationlimitDate;
+ con1.serialNoorLotNo = con.serialNoorLotNo;
+ con1.tracingCodeNo = con.tracingCodeNo;
+ con1.ReturnReason = con.ReturnReason;
+ con1.oldConsumableCount = con.oldConsumableCount;
+ con1.ErrorReason = con.ErrorReason;
+ con1.canEdit = con.canEdit;
+ con1.intMark = con.intMark;
+ con1.arriveAmount = con.arriveAmount;
+ con1.arrivedCount = con.arrivedCount;
+ con1.ReportProductExpirationDate = con.ReportProductExpirationDate;
+ conList1.add(con1);
+ }
+ return conList1;
+ }
+
+ public class Results {
+ @AuraEnabled
+ public String result;
+ @AuraEnabled
+ public String errorMsg;
+ @AuraEnabled
+ public String url;
+ @AuraEnabled
+ public String arrGoodCon;
+ @AuraEnabled
+ public Consumable_order__c coc;
+ @AuraEnabled
+ public Boolean returnFLGbln;
+ @AuraEnabled
+ public Boolean saveFLGbln;
+ @AuraEnabled
+ public List<ConsumableorderdetailsInfo> detailsSummary;
+ @AuraEnabled
+ public List<ConsumableorderdetailsInfo> consumableorderdetailsRecords;
+ @AuraEnabled
+ public List<ConsumableorderdetailsInfo> showGoodsofReturnList;
+ @AuraEnabled
+ public List<ConsumableorderdetailsInfo> consumableInventory;
+ @AuraEnabled
+ public List<ConsumableorderdetailsInfo> consumableorderdetailsRecordserror;
+ @AuraEnabled
+ public List<String> errorMsgList;
+ @AuraEnabled
+ public List<String> warningMsgList;
+ }
+
+ public class ConsumableorderdetailsInfo implements Comparable {
+ @AuraEnabled
+ public Consumable_order_details2__c esd { get; set; }
+ @AuraEnabled
+ public Product2__c Prod { get; set; }
+ @AuraEnabled
+ public String ProductName { get; set; }
+ @AuraEnabled
+ public String barCodeNo { get; set; }
+ @AuraEnabled
+ public Date sterilizationlimitDate { get; set; }
+ @AuraEnabled
+ public String serialNoorLotNo { get; set; }
+ @AuraEnabled
+ public String tracingCodeNo { get; set; }
+ @AuraEnabled
+ public String ReturnReason { get; set; }
+ @AuraEnabled
+ public String oldConsumableCount { get; set; }
+ @AuraEnabled
+ public String ErrorReason { get; set; }
+ @AuraEnabled
+ public boolean canEdit { get; set; }
+ @AuraEnabled
+ public Integer intMark { get; set; }
+ @AuraEnabled
+ public Decimal arriveAmount { get; set; }
+ @AuraEnabled
+ public Decimal arrivedCount { get; set; }
+ @AuraEnabled
+ public String ReportProductExpirationDate { get; set; }
+
+ public ConsumableorderdetailsInfo(){
+
+ }
+
+ public ConsumableorderdetailsInfo(Consumable_order_details2__c e, string str) {
+ esd = e;
+ Prod = e.Consumable_Product__r;
+ oldConsumableCount = e.name;
+ ErrorReason = str;
+ intMark = 1;
+ if (e.Report_Product_Expiration__c != null) {
+ ReportProductExpirationDate = e.Report_Product_Expiration__c.format();
+ }
+ }
+ public ConsumableorderdetailsInfo(Consumable_order_details2__c e) {
+ canEdit = false;
+ if (e.Box_Piece__c == '鐩�') {
+ e.Rrturn_count__c = 1;
+ canEdit = true;
+ }
+ esd = e;
+ Prod = e.Consumable_Product__r;
+ oldConsumableCount = e.name;
+ if (e.Report_Product_Expiration__c != null) {
+ ReportProductExpirationDate = e.Report_Product_Expiration__c.format();
+ }
+ }
+
+ public ConsumableorderdetailsInfo(Product2__c e, List<String> barinfoL) {
+ esd = new Consumable_order_details2__c();
+ ProductName = e.Name__c;
+ Prod = e;
+ barCodeNo = barinfoL[0];
+ if (String.isNotBlank(barinfoL[1])) {
+ sterilizationlimitDate = Date.valueOf(barinfoL[1]);
+ }
+ serialNoorLotNo = barinfoL[2];
+ tracingCodeNo = barinfoL[3];
+ ReturnReason = '';
+ }
+
+ public ConsumableorderdetailsInfo(Consumable_order_details2__c e, List<String> barinfoL) {
+ esd = e;
+ Prod = e.Consumable_Product__r;
+ barCodeNo = barinfoL[0];
+ if (String.isNotBlank(barinfoL[1])) {
+ sterilizationlimitDate = Date.valueOf(barinfoL[1]);
+ }
+ serialNoorLotNo = barinfoL[2];
+ tracingCodeNo = barinfoL[3];
+ if (e.Report_Product_Expiration__c != null) {
+ ReportProductExpirationDate = e.Report_Product_Expiration__c.format();
+ }
+ }
+ public ConsumableorderdetailsInfo(Product2__c e) {
+ Prod = e;
+ }
+ // 鎺掑簭
+ public Integer compareTo(Object compareTo) {
+ return null;
+ }
+ }
+}
\ No newline at end of file
diff --git a/force-app/main/default/classes/LexArriveGoodsController.cls-meta.xml b/force-app/main/default/classes/LexArriveGoodsController.cls-meta.xml
new file mode 100644
index 0000000..fbbad0a
--- /dev/null
+++ b/force-app/main/default/classes/LexArriveGoodsController.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/classes/LexArriveGoodsMainController.cls b/force-app/main/default/classes/LexArriveGoodsMainController.cls
index 2ae4a6a..f9a804b 100644
--- a/force-app/main/default/classes/LexArriveGoodsMainController.cls
+++ b/force-app/main/default/classes/LexArriveGoodsMainController.cls
@@ -31,6 +31,18 @@
public static Results init(){
Results results = new Results();
try {
+ List<String> idList = new List<String>();
+ idList.add('a2K10000002zHyDEAU');
+ idList.add('a2K10000002zIJEEA2');
+ idList.add('a2K10000002zK9rEAE');
+ idList.add('a2K10000004AKGBEA4');
+ idList.add('a2K10000004ALqeEAG');
+ idList.add('a2K10000004AMmrEAG');
+ idList.add('a2K10000004ANvDEAW');
+ idList.add('a2K10000004AOVxEAO');
+ idList.add('a2K10000004AOJZEA4');
+ idList.add('a2K10000004AOLuEAO');
+ idList.add('a2K10000004AOLfEAO');
// coc = new Consumable_order__c();
String userId = UserInfo.getUserId();
List<user> Useracc = New List<user>();
@@ -62,6 +74,7 @@
soql += ',' + s;
}
soql += ' from Consumable_order__c where Order_type__c = \''+'璁㈠崟'+'\' and recordtypeid =\'' + System.Label.RT_ConOrder_Delivery + '\' and Dealer_Info__c =\'' + accountid +'\' and Order_ProType__c =\'' + agencyProType +'\' and (OrderNumber_notarrive__c > 0 or Delivery_detail_count__c >0) and Order_Owner_WorkLocal__c = \'' + userWorkLocation + '\' and showFalseNotshowTrue__c = false order by Deliver_date__c'; //
+ // soql = 'select id,name,ContractNo__c,Total_num__c,OrderNumber_arrived__c,Delivery_detail_count__c,OrderNumber_notarrive__c,More_than_seven_days__c,Shipment_date__c,First_Delivery__c from Consumable_order__c where id in :idList';
raesList = Database.query(soql);
//20200904 ljh add start
Total_num = 0;
@@ -96,8 +109,13 @@
}
@AuraEnabled
- public static Results searchConsumableorderdetails(){
+ public static Results searchConsumableorderdetails(String category1Str, Date cate2Str, String accountidStr, String userWorkLocationStr, String agencyProTypeStr){
Results results = new Results();
+ category1 = category1Str;
+ cate2 = cate2Str;
+ accountid = accountidStr;
+ userWorkLocation = userWorkLocationStr;
+ agencyProType = agencyProTypeStr;
try {
// cate2 = coc.Shipment_date__c;
// 鑾峰緱璁㈠崟涓�瑙�
@@ -133,6 +151,7 @@
soql += ' order by Deliver_date__c';
system.debug('====soql:' + soql);
raesList = Database.query(soql);
+ results.raesList = raesList;
results.result = 'Success';
} catch (Exception e) {
results.result = 'Fail';
diff --git a/force-app/main/default/classes/LexArriveGsDetailsController.cls b/force-app/main/default/classes/LexArriveGsDetailsController.cls
new file mode 100644
index 0000000..92751e5
--- /dev/null
+++ b/force-app/main/default/classes/LexArriveGsDetailsController.cls
@@ -0,0 +1,168 @@
+public without sharing class LexArriveGsDetailsController {
+ public static Consumable_order__c coc { get; set; }
+ private static String accountid = null;
+ private static Decimal orderallcount = 0;
+ public static Boolean arrivetoorder { get; set; }
+ public static List<ConsumableorderdetailsInfo> consumableorderdetailsRecords { get; set; }
+ public static List<List<ConsumableorderdetailsInfo>> consumableorderdetailsRecordsview { get; set; }
+ private static String eSetId = '';
+ private static Integer consumableorderdetailsCount = null;
+
+ //鍒濆鍖�
+ @AuraEnabled
+ public static Results init(String eSetIdStr) {
+ Results results = new Results();
+ eSetId = eSetIdStr;
+ consumableorderdetailsRecords = new List<ConsumableorderdetailsInfo>();
+ consumableorderdetailsRecordsview = new List<List<ConsumableorderdetailsInfo>>();
+ try {
+ //鍙栫粡閿�鍟嗕俊鎭�
+ String userId = UserInfo.getUserId();
+ List<user> useracc = New List<user>();
+ useracc = [select accountid from user where id =:userId];
+ accountid = useracc[0].accountid;
+ List<Consumable_order__c> rs = New List<Consumable_order__c>();
+ if(eSetId == NULL || eSetId == '') {
+
+ }else {
+ rs = [SELECT id,name,Order_reason__c,Arrive_Order__c,Arrive_Order__r.Total_num__c,Arrive_Order__r.IsShipment__c,Arrive_Order__r.Name,
+ recordtypeid,Order_status__c,Deliver_date__c,Arrive_total_amount__c
+ FROM Consumable_order__c
+ WHERE id =:eSetId];
+ coc = new Consumable_order__c();
+ if(rs.size()>0){
+ coc = rs[0];
+ orderallcount = coc.Arrive_Order__r.Total_num__c;
+ }
+ if(coc.Arrive_Order__c == null){
+ arrivetoorder = true;
+ }
+ List<Consumable_order_details2__c> consumablearriveproductdetailsSelected = [SELECT Id,Dealer_Arrive__c,Bar_Code__c, RecordTypeid, Name,Consumable_Product__r.Name__c,
+ Consumable_Product__c,Consumable_Product__r.Name,Dealer_Saled__c,
+ Sterilization_limit__c,Deliver_date__c,
+ Intra_Trade_List_RMB__c,Asset_Model_No__c,Arrive_Date__c,Send_Date__c,
+ Consumable_Product__r.SFDA_Status__c,
+ Consumable_Product__r.Product2__r.Packing_list_manual__c,
+ Consumable_Product__r.Product2__r.SFDA_Approbation_No__c,
+ Consumable_Product__r.Product2__r.SFDA_Expiration_Date__c
+ FROM Consumable_order_details2__c
+ WHERE Consumable_Arrived_order__c = :eSetId
+ ORDER BY Name ];
+ for (Integer i = 0; i < consumablearriveproductdetailsSelected.size(); i++) {
+ consumableorderdetailsRecords.add(new ConsumableorderdetailsInfo(consumablearriveproductdetailsSelected[i]));
+ }
+ }
+ for(ConsumableorderdetailsInfo bss : consumableorderdetailsRecords){
+ bss.packing_list = bss.Prod.Product2__r.Packing_list_manual__c;
+ bss.approbation_No = bss.Prod.Product2__r.SFDA_Approbation_No__c;
+ //update by rentx 20210622 start CHAN-C3K4ZQ
+ bss.expiration_DateStr = bss.Prod.Product2__r.SFDA_Expiration_Date__c == null ? '' : bss.Prod.Product2__r.SFDA_Expiration_Date__c.format();
+ bss.Sterilization_limitStr = bss.esd.Sterilization_limit__c == null ? '' : bss.esd.Sterilization_limit__c.format();
+ //update by rentx 20210622 end CHAN-C3K4ZQ
+ }
+ consumableorderdetailsCount = consumableorderdetailsRecords.size();
+ //add by rentx 20210622 CHAN-C3K4ZQ
+ // makeRecordsView(consumableorderdetailsRecords);
+ //add by rentx 20210622 CHAN-
+ for(ConsumableorderdetailsInfo con : consumableorderdetailsRecords){
+ con.prodName = con.esd.Consumable_Product__r.Name__c;
+ }
+ results.coc = coc;
+ results.accountid = accountid;
+ results.orderallcount = orderallcount;
+ results.arrivetoorder = arrivetoorder;
+ results.consumableorderdetailsRecords = consumableorderdetailsRecords;
+ results.consumableorderdetailsCount = consumableorderdetailsCount;
+ results.result = 'Success';
+ } catch (Exception e) {
+ results.result = 'Fail';
+ results.errorMsg = e.getLineNumber() + '---' + e.getMessage();
+ }
+ return results;
+ }
+
+ //鍑哄簱
+ @AuraEnabled
+ public static Results proSale(String cocStr, Decimal orderallcountParm, Integer consumableorderdetailsCountParm) {
+ Results results = new Results();
+ try {
+ orderallcount = orderallcountParm;
+ consumableorderdetailsCount = consumableorderdetailsCountParm;
+ coc = (Consumable_order__c)JSON.deserialize(cocStr, Consumable_order__c.class);
+ List<Consumable_order_details2__c> orderdetails = new List<Consumable_order_details2__c>();
+ //鍙戣揣鏄庣粏2
+ orderdetails = [SELECT Id
+ FROM Consumable_order_details2__c
+ WHERE Consumable_order_minor__c =:coc.Arrive_Order__c
+ AND recordtypeid = :System.Label.RT_ConOrderDetail2_Delivery
+ AND Dealer_Arrive__c = true ];
+ if(orderallcount!= consumableorderdetailsCount){
+ results.result = 'Fail';
+ results.errorMsg = '璁㈠崟涓嶅畬鍏ㄥ埌璐э紝鏃犳硶鍑哄簱';
+ return results;
+ }
+ if(coc.Arrive_Order__r.IsShipment__c == true){
+ results.result = 'Fail';
+ results.errorMsg = '璁㈠崟宸茬粡鍑哄簱';
+ return results;
+ }
+ results.url = '/lexsummonscreat?arriveorder=' + eSetId +'&KeyWords=Redirect';
+ results.result = 'Success';
+ } catch (Exception e) {
+ results.result = 'Fail';
+ results.errorMsg = e.getLineNumber() + '---' + e.getMessage();
+ }
+ return results;
+ }
+
+ public class Results {
+ @AuraEnabled
+ public String result;
+ @AuraEnabled
+ public String errorMsg;
+ @AuraEnabled
+ public Consumable_order__c coc;
+ @AuraEnabled
+ public String accountid;
+ @AuraEnabled
+ public Decimal orderallcount;
+ @AuraEnabled
+ public Boolean arrivetoorder;
+ @AuraEnabled
+ public List<ConsumableorderdetailsInfo> consumableorderdetailsRecords;
+ @AuraEnabled
+ public Integer consumableorderdetailsCount;
+ @AuraEnabled
+ public String url;
+ }
+
+ public class ConsumableorderdetailsInfo implements Comparable {
+ @AuraEnabled
+ public Consumable_order_details2__c esd;
+ @AuraEnabled
+ public Product2__c Prod;
+ @AuraEnabled
+ public Decimal packing_list;
+ @AuraEnabled
+ public Date expiration_Date;
+ @AuraEnabled
+ public String approbation_No;
+ @AuraEnabled
+ public String expiration_DateStr;
+ @AuraEnabled
+ public String Sterilization_limitStr;
+ @AuraEnabled
+ public String prodName;
+
+
+ // 宸插瓨鍦ㄦ秷鑰楀搧鏄庣粏鐢�
+ public ConsumableorderdetailsInfo(Consumable_order_details2__c e) {
+ esd = e;
+ Prod = e.Consumable_Product__r;
+ }
+ // 鎺掑簭Consumable_order__c
+ public Integer compareTo(Object compareTo) {
+ return null;
+ }
+ }
+}
\ No newline at end of file
diff --git a/force-app/main/default/classes/LexArriveGsDetailsController.cls-meta.xml b/force-app/main/default/classes/LexArriveGsDetailsController.cls-meta.xml
new file mode 100644
index 0000000..fbbad0a
--- /dev/null
+++ b/force-app/main/default/classes/LexArriveGsDetailsController.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/classes/LexCancelRemoveBoxController.cls b/force-app/main/default/classes/LexCancelRemoveBoxController.cls
new file mode 100644
index 0000000..6382d3b
--- /dev/null
+++ b/force-app/main/default/classes/LexCancelRemoveBoxController.cls
@@ -0,0 +1,645 @@
+public with sharing class LexCancelRemoveBoxController {
+ //缁忛攢鍟嗕骇鍝佸垎绫�
+ public static String agencyProType {get;set;}
+ public static String userPro_Typestr = null;
+ public static String barcode { get; set; }
+ /*****************鐢婚潰琛ㄧずBean******************/
+ public static List<ConsumableorderdetailsInfo> consumableInventory { get; set; }
+ //閿欒鏄庣粏
+ public static List<ConsumableorderdetailsInfo> ConsumableorderdetailsRecordserror { get; set; }
+ //鎷嗙洅鏄庣粏
+ public static List<ConsumableorderdetailsInfo> ConsumableorderdetailsRecordsdummy { get; set; }
+ public static boolean saveFLGbln {get;set;}
+ //閿欒淇℃伅
+ public static String alertMessage {set;get;}
+ //鎷嗙洅鏄庣粏浠舵暟
+ public static Integer getinventorysize(){
+ return ConsumableorderdetailsRecordsdummy.size();
+ }
+ public static Map<String, String> ExistIdMap = new Map<String, String>();
+ public static Map<String, String> ErrorIdMap = new Map<String, String>();
+ public static Map<String, String> AllMap = new Map<String, String>();
+ public static List<String> BarCodeListP = new List<String>();
+ //涓嶇鍚堢殑barcode鍜屽瀷鍙�
+ public static list<String> notInlist = new list<String>();
+ public static String baseUrl {get;private set;}
+ private static String accountid = null;
+ private static String accountName = null;
+ //public String[] proidList =new String[]{};
+ // 鐧诲綍鑰呭伐浣滃湴
+ private static String userWorkLocation;
+
+ public LexCancelRemoveBoxController(){
+ baseUrl = URL.getSalesforceBaseUrl().toExternalForm();
+ ConsumableorderdetailsRecordserror = new List<ConsumableorderdetailsInfo>();
+ ConsumableorderdetailsRecordsdummy = new List<ConsumableorderdetailsInfo>();
+ consumableInventory = new List<ConsumableorderdetailsInfo>();
+ saveFLGbln = FALSE;
+ }
+
+ @AuraEnabled
+ public static ResponseBodyLWC init() {
+ ResponseBodyLWC res = new ResponseBodyLWC();
+ Map<String, object> data = new Map<String, object>();
+ res.entity = data;
+
+ String userId = UserInfo.getUserId();
+ List<user> Useracc = New List<user>();
+ Useracc = [SELECT accountid, Work_Location__c,UserPro_Type__c FROM user WHERE id =:userId];
+ accountid = Useracc[0].accountid;
+ userWorkLocation = Useracc[0].Work_Location__c;
+ agencyProType = Useracc[0].UserPro_Type__c;
+ if(String.isBlank(Useracc[0].UserPro_Type__c)){
+ agencyProType = 'ET';
+ }
+ userPro_Typestr = '%' + agencyProType + '%';
+ List<account> accountInfo = [SELECT Name FROM account WHERE id =:accountid];
+ //String view_product = accountInfo[0].view_product__c;
+ accountName = accountInfo[0].Name;
+ //proidList = view_product.split(',');
+ data.put('accountName',accountName);
+ data.put('userWorkLocation',userWorkLocation);
+ data.put('agencyProType',agencyProType);
+ res.status = 'Success';
+ res.code = 200;
+ System.debug('res = ' + res);
+ return res;
+
+ }
+
+ // 灏嗛〉闈㈡垨鍙栧緱BarCode鍘绘帀閲嶅鐨勶紝杞崲鎴怢ist
+ public static List<String> ParseBarCode(String Code){
+ String[] Cache = new String[]{};
+ Cache = Code.split('\n');
+ Set <String> Buff = new Set<String>();
+ for(String A : Cache){
+ Buff.add(A);
+ }
+ List<String> outPut = new List<String>();
+ for(String B :Buff){
+ B = B.trim();
+ outPut.add(B);
+ }
+ return outPut;
+ }
+
+ //鑾峰彇鏄庣粏
+ @AuraEnabled
+ public static ResponseBodyLWC searchConsumableorderdetails(String barcode,String accountName,String userWorkLocation,String agencyProType) {
+ ResponseBodyLWC res = new ResponseBodyLWC();
+ Map<String,object> data = new Map<String,object>();
+ res.entity = data;
+ userPro_Typestr = '%' + agencyProType + '%';
+ barcode = barcode;
+ accountName = accountName;
+ userWorkLocation = userWorkLocation;
+
+ ConsumableorderdetailsRecordserror = new List<ConsumableorderdetailsInfo>();
+ ConsumableorderdetailsRecordsdummy = new List<ConsumableorderdetailsInfo>();
+
+
+
+ notInlist = new list<String>();
+ BarCodeListP = ParseBarCode(barcode);
+ Consumable_order_details2__c p = new Consumable_order_details2__c();
+ List<Consumable_order_details2__c> Ins = New List<Consumable_order_details2__c>();
+ List<Consumable_order_details2__c> reSet = new List<Consumable_order_details2__c>();
+ List<Consumable_order_details2__c> reSet1 = new List<Consumable_order_details2__c>();
+ saveFLGbln = FALSE;
+ alertMessage='';
+
+ //鍒ゆ柇barcode鏄惁涓虹┖
+ if(barcode == null || barcode ==''){
+ return new ResponseBodyLWC('Error',500, '璇疯緭鍏arCode鍙枫��', '');
+ // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.INFO,'璇疯緭鍏arCode鍙枫��'));
+ // return;
+ }
+
+ // ExistIdMap.clear();
+ // ErrorIdMap.clear();
+ // notInlist.clear();
+ // ConsumableorderdetailsRecordserror.clear();
+ // ConsumableorderdetailsRecordsdummy.clear();
+
+ // 浜у搧绫诲瀷涓嶅悓
+ reSet1 = [SELECT Id, Name,Consumable_Product__r.Name__c,
+ Consumable_Product__c,Consumable_Product__r.Name, Sterilization_limit__c,
+ Deliver_date__c,Bar_Code__c,Product_Type__c,
+ Arrive_date__c,Send_Date__c,Consumable_order_minor__r.Name,Consumable_order_minor__c,
+ recordtypeid,Consumable_order_minor__r.Arrive_Order__c, Arrive_Owner_Work_Location__c,
+ //add by rentx 2020-10-13 start
+ ContractNo_text__c
+ /*,ContractNo__c*/
+ //add by rentx 2020-10-13 end
+ FROM Consumable_order_details2__c
+ WHERE Dealer_Arrive__c = true
+ AND Bar_Code__c in :BarCodeListP
+ AND Dealer_Info_text__c = :accountName
+ AND Arrive_Owner_Work_Location__c = : userWorkLocation
+ AND (not Product_Type__c like : userPro_Typestr)
+ ORDER BY Name ];
+ if(reSet1.size() > 0){
+ for (Integer i = 0; i < reSet1.size(); i++) {
+ if(ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)){
+ // 璺宠繃宸茬粡澶勭悊鐨勬秷鑰楀搧鏄庣粏
+ continue;
+ }else{
+ String str = '璇ュ晢鍝佺被鍨�'+ reSet1[i].Product_Type__c +'涓庝骇鍝佺被鍨�'+ agencyProType +'涓嶇,涓嶈兘鎷嗙洅';
+ ConsumableorderdetailsRecordserror.add(new ConsumableorderdetailsInfo(reSet1[i],str));
+ ErrorIdMap.put(reSet1[i].Bar_Code__c,reSet1[i].Bar_Code__c);
+ }
+ }
+ }
+
+ //娌℃湁鎷嗙洅
+ reSet1 = [SELECT Id, Name,Consumable_Product__r.Name__c,
+ Consumable_Product__c,Consumable_Product__r.Name, Sterilization_limit__c,
+ Deliver_date__c,Bar_Code__c,
+ Arrive_date__c,Send_Date__c,Consumable_order_minor__r.Name,Consumable_order_minor__c,
+ recordtypeid,Consumable_order_minor__r.Arrive_Order__c,
+ //add by rentx 2020-10-13 start
+ ContractNo_text__c
+ /*,ContractNo__c*/
+ //add by rentx 2020-10-13 end
+ FROM Consumable_order_details2__c
+ WHERE Dealer_Arrive__c = true
+ AND Dealer_Shipment__c= false
+ AND Dealer_Saled__c = false
+ AND Dealer_Returned__c = false
+ AND Lose_Flag__c = false
+ AND Box_Piece__c = '鐩�'
+ //AND ProductPacking_list_manual__c > 1
+ AND Bar_Code__c in :BarCodeListP
+ AND Dealer_Info_text__c = :accountName
+ ORDER BY Name ]; //娌″嚭搴擄紝娌¢攢鍞紝鍦ㄥ簱锛屾病鏈夋媶鐩�
+ if(reSet1.size() > 0){
+ for (Integer i = 0; i < reSet1.size(); i++) {
+ if(ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)){
+ // 璺宠繃宸茬粡澶勭悊鐨勬秷鑰楀搧鏄庣粏
+ continue;
+ }else{
+ String str = '璇ュ晢鍝佹病鏈夋媶鐩�';
+ ConsumableorderdetailsRecordserror.add(new ConsumableorderdetailsInfo(reSet1[i],str));
+ ErrorIdMap.put(reSet1[i].Bar_Code__c,reSet1[i].Bar_Code__c);
+ }
+ }
+ }
+
+ //宸插嚭璐э紝鏈埌璐�
+ reSet1 = [SELECT Id, Name,Consumable_Product__r.Name__c,
+ Consumable_Product__c,Consumable_Product__r.Name, Sterilization_limit__c,
+ Deliver_date__c,Bar_Code__c,
+ Arrive_date__c,Send_Date__c,Consumable_order_minor__r.Name,Consumable_order_minor__c,
+ recordtypeid,Consumable_order_minor__r.Arrive_Order__c,
+ //add by rentx 2020-10-13 start
+ ContractNo_text__c
+ /*,ContractNo__c*/
+ //add by rentx 2020-10-13 end
+ FROM Consumable_order_details2__c
+ WHERE Dealer_Arrive__c = FALSE
+ AND Dealer_Shipment__c= FALSE
+ AND Dealer_Saled__c = FALSE
+ AND Dealer_Returned__c = false
+ AND Lose_Flag__c = false
+ AND Box_Piece__c = '鐩�'
+ AND Bar_Code__c in :BarCodeListP
+ AND Dealer_Info_text__c = :accountName
+ ORDER BY Name ];
+ if(reSet1.size() > 0){
+ for (Integer i = 0; i < reSet1.size(); i++) {
+ if(ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)){
+ // 璺宠繃宸茬粡澶勭悊鐨勬秷鑰楀搧鏄庣粏
+ continue;
+ }else{
+ String str = '璇ュ晢鍝佽繕鏈埌璐�';
+ ConsumableorderdetailsRecordserror.add(new ConsumableorderdetailsInfo(reSet1[i],str));
+ ErrorIdMap.put(reSet1[i].Bar_Code__c,reSet1[i].Bar_Code__c);
+ }
+ }
+ }
+
+ //鎷嗙洅宸插嚭璐�
+ reSet1 = [SELECT Id, Name,Consumable_Product__r.Name__c,
+ Consumable_Product__c,Consumable_Product__r.Name, Sterilization_limit__c,
+ Deliver_date__c,Bar_Code__c,
+ Arrive_date__c,Send_Date__c,Consumable_order_minor__r.Name,Consumable_order_minor__c,
+ recordtypeid,Consumable_order_minor__r.Arrive_Order__c,
+ //add by rentx 2020-10-13 start
+ ContractNo_text__c
+ /*,ContractNo__c*/
+ //add by rentx 2020-10-13 end
+ FROM Consumable_order_details2__c
+ WHERE Dealer_Shipment__c = true
+ AND Dealer_Arrive__c = true
+ AND Dealer_Returned__c = false
+ AND Lose_Flag__c = false
+ AND Box_Piece__c = '涓�'
+ AND RemoveBox_date__c != null
+ AND Bar_Code__c in :BarCodeListP
+ AND Dealer_Info_text__c = :accountName
+ ORDER BY Name ];
+ if(reSet1.size() > 0){
+ for (Integer i = 0; i < reSet1.size(); i++) {
+ if(ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)){
+ // 璺宠繃宸茬粡澶勭悊鐨勬秷鑰楀搧鏄庣粏
+ continue;
+ }else{
+ String str = '璇ュ晢鍝佸瓨鍦ㄥ嚭璐у饱鍘�';
+ ConsumableorderdetailsRecordserror.add(new ConsumableorderdetailsInfo(reSet1[i],str));
+ ErrorIdMap.put(reSet1[i].Bar_Code__c,reSet1[i].Bar_Code__c);
+ }
+ }
+ }
+
+ //鎷嗙洅宸查攢鍞�
+ reSet1 = [SELECT Id, Name,Consumable_Product__r.Name__c,
+ Consumable_Product__c,Consumable_Product__r.Name, Sterilization_limit__c,
+ Deliver_date__c,Bar_Code__c,
+ Arrive_date__c,Send_Date__c,Consumable_order_minor__r.Name,Consumable_order_minor__c,
+ recordtypeid,Consumable_order_minor__r.Arrive_Order__c,
+ //add by rentx 2020-10-13 start
+ ContractNo_text__c
+ /*,ContractNo__c*/
+ //add by rentx 2020-10-13 end
+ FROM Consumable_order_details2__c
+ WHERE Dealer_Saled__c = true
+ AND Dealer_Arrive__c = true
+ AND Dealer_Returned__c = false
+ AND Lose_Flag__c = false
+ AND Box_Piece__c = '涓�'
+ AND RemoveBox_date__c != null
+ AND Bar_Code__c in :BarCodeListP
+ AND Dealer_Info_text__c = :accountName
+ ORDER BY Name ];
+ if(reSet1.size() > 0){
+ for (Integer i = 0; i < reSet1.size(); i++) {
+ if(ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)){
+ // 璺宠繃宸茬粡澶勭悊鐨勬秷鑰楀搧鏄庣粏
+ continue;
+ }else{
+ String str = '璇ュ晢鍝佸瓨鍦ㄩ攢鍞饱鍘�';
+ ConsumableorderdetailsRecordserror.add(new ConsumableorderdetailsInfo(reSet1[i],str));
+ ErrorIdMap.put(reSet1[i].Bar_Code__c,reSet1[i].Bar_Code__c);
+ }
+ }
+ }
+
+ //鎷嗙洅杩斿搧
+ reSet1 = [SELECT Id, Name,Consumable_Product__r.Name__c,
+ Consumable_Product__c,Consumable_Product__r.Name, Sterilization_limit__c,
+ Deliver_date__c,Bar_Code__c,
+ Arrive_date__c,Send_Date__c,Consumable_order_minor__r.Name,Consumable_order_minor__c,
+ recordtypeid,Consumable_order_minor__r.Arrive_Order__c,
+ //add by rentx 2020-10-13 start
+ ContractNo_text__c
+ /*,ContractNo__c*/
+ //add by rentx 2020-10-13 end
+ FROM Consumable_order_details2__c
+ WHERE Dealer_Returned__c = true
+ AND Return_date__c != null
+ AND Box_Piece__c = '涓�'
+ AND RemoveBox_date__c != null
+ AND Bar_Code__c in :BarCodeListP
+ AND Dealer_Info_text__c = :accountName
+ ORDER BY Name ];
+ if(reSet1.size() > 0){
+ for (Integer i = 0; i < reSet1.size(); i++) {
+ if(ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)){
+ // 璺宠繃宸茬粡澶勭悊鐨勬秷鑰楀搧鏄庣粏
+ continue;
+ }else{
+ String str = '璇ュ晢鍝佸瓨鍦ㄨ繑鍝佸饱鍘�';
+ ConsumableorderdetailsRecordserror.add(new ConsumableorderdetailsInfo(reSet1[i],str));
+ ErrorIdMap.put(reSet1[i].Bar_Code__c,reSet1[i].Bar_Code__c);
+ }
+ }
+ }
+
+
+ //鎷嗙洅鍚庣洏鐐硅繃(鐩樼偣鏃ユ湡涓嶄负绌�)
+ reSet1 = [SELECT Id, Name,Consumable_Product__r.Name__c,
+ Consumable_Product__c,Consumable_Product__r.Name, Sterilization_limit__c,
+ Deliver_date__c,Bar_Code__c,
+ Arrive_date__c,Send_Date__c,Consumable_order_minor__r.Name,Consumable_order_minor__c,
+ recordtypeid,Consumable_order_minor__r.Arrive_Order__c,
+ //add by rentx 2020-10-13 start
+ ContractNo_text__c
+ /*,ContractNo__c*/
+ //add by rentx 2020-10-13 end
+ FROM Consumable_order_details2__c
+ WHERE Inventory_date__c != null
+ AND Box_Piece__c = '涓�'
+ AND RemoveBox_date__c != null
+ AND Bar_Code__c in :BarCodeListP
+ AND Dealer_Info_text__c = :accountName
+ ORDER BY Name ];
+ if(reSet1.size() > 0){
+ for (Integer i = 0; i < reSet1.size(); i++) {
+ if(ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)){
+ // 璺宠繃宸茬粡澶勭悊鐨勬秷鑰楀搧鏄庣粏
+ continue;
+ }else{
+ String str = '璇ュ晢鍝佸瓨鍦ㄧ洏鐐瑰饱鍘�';
+ ConsumableorderdetailsRecordserror.add(new ConsumableorderdetailsInfo(reSet1[i],str));
+ ErrorIdMap.put(reSet1[i].Bar_Code__c,reSet1[i].Bar_Code__c);
+ }
+ }
+ }
+
+ //涓嶅悓宸ヤ綔鍦�
+ reSet1 = [SELECT Id, Name,Consumable_Product__r.Name__c,
+ Consumable_Product__c,Consumable_Product__r.Name, Sterilization_limit__c,
+ Deliver_date__c,Bar_Code__c,
+ Arrive_date__c,Send_Date__c,Consumable_order_minor__r.Name,Consumable_order_minor__c,
+ recordtypeid,Consumable_order_minor__r.Arrive_Order__c, Arrive_Owner_Work_Location__c,
+ //add by rentx 2020-10-13 start
+ ContractNo_text__c
+ /*,ContractNo__c*/
+ //add by rentx 2020-10-13 end
+ FROM Consumable_order_details2__c
+ WHERE Dealer_Arrive__c = true
+ AND Bar_Code__c in :BarCodeListP
+ AND Dealer_Info_text__c = :accountName
+ AND Arrive_Owner_Work_Location__c !=: userWorkLocation
+ ORDER BY Name ];
+ if(reSet1.size() > 0){
+ for (Integer i = 0; i < reSet1.size(); i++) {
+ if(ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)){
+ // 璺宠繃宸茬粡澶勭悊鐨勬秷鑰楀搧鏄庣粏
+ continue;
+ }else{
+ String str = '璇ュ晢鍝佸睘浜�' + reSet1[i].Arrive_Owner_Work_Location__c + ',涓嶈兘鍙栨秷鎷嗙洅';
+ ConsumableorderdetailsRecordserror.add(new ConsumableorderdetailsInfo(reSet1[i],str));
+ ErrorIdMap.put(reSet1[i].Bar_Code__c,reSet1[i].Bar_Code__c);
+ }
+ }
+ }
+
+ reSet = [SELECT Id,
+ Name,
+ Intra_Trade_List_RMB__c,
+ Asset_Model_No__c,
+ Consumable_Product__c,
+ Consumable_Product__r.Name,
+ Consumable_Product__r.Name__c,
+ Sterilization_limit__c,
+ Deliver_date__c,
+ Bar_Code__c,
+ Arrive_date__c,
+ Send_Date__c,
+ Consumable_order_minor__r.Name,
+ Consumable_order_minor__c,
+ Dealer_Arrive__c,
+ Guarantee_period_for_products__c,
+ CFDA_Status__c,
+ ProductPacking_list_manual__c,
+ Report_Product_Approbation__c,
+ Report_Product_Expiration__c,
+ //add by rentx 2020-10-13 start
+ ContractNo_text__c
+ /*,ContractNo__c*/
+ //add by rentx 2020-10-13 end
+ FROM Consumable_order_details2__c
+ WHERE Dealer_Arrive__c = true
+ AND Dealer_Shipment__c = false
+ AND Dealer_Saled__c = false
+ AND Dealer_Returned__c = false
+ AND Lose_Flag__c = false
+ AND Box_Piece__c = '涓�'
+ AND RemoveBox_date__c != null
+ AND Bar_Code__c in :BarCodeListP
+ AND Dealer_Info_text__c = :accountName
+ AND Arrive_Owner_Work_Location__c =: userWorkLocation
+ AND Product_Type__c like : userPro_Typestr
+ ];
+ if(reSet.size()>0){
+ for (Integer i = 0; i < reSet.size(); i++) {
+ if(ErrorIdMap.containsKey(reSet[i].Bar_Code__c) ){
+ // 璺宠繃閿欒鐨勬秷鑰楀搧鏄庣粏
+ continue;
+ }
+ else if(ExistIdMap.containsKey(reSet[i].Bar_Code__c) ){
+ // 璺宠繃宸茬粡澶勭悊鐨勬秷鑰楀搧鏄庣粏
+ continue;
+ }
+ else{
+ ConsumableorderdetailsRecordsdummy.add(new ConsumableorderdetailsInfo(reSet[i]));
+ ExistIdMap.put(reSet[i].Bar_Code__c,reSet[i].Bar_Code__c);
+ }
+ }
+ }
+
+ AllMap.putAll(ExistIdMap);
+
+ //寰楀埌涓嶅瓨鍦ㄧ殑BarCode
+ for(Integer i = 0; i < BarCodeListP.size(); i++){
+ if(ExistIdMap.containsKey(BarCodeListP[i])){
+ continue;
+ }else if(ErrorIdMap.containsKey(BarCodeListP[i])){
+ continue;
+ }else{
+ notInlist.add(BarCodeListP[i]);
+ }
+ }
+ if(notInlist.size()>0){
+ // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'BarCode'+ notInlist + '涓嶅瓨鍦ㄣ��'));
+ return new ResponseBodyLWC('Error',500, 'BarCode'+ notInlist + '涓嶅瓨鍦ㄣ��', '');
+ }
+ data.put('ConsumableorderdetailsRecordsdummy',JSON.serialize(ConsumableorderdetailsRecordsdummy));
+ data.put('ConsumableorderdetailsRecordserror',JSON.serialize(ConsumableorderdetailsRecordserror));
+ data.put('dataSize',ConsumableorderdetailsRecordsdummy.size());
+ res.status = 'Success';
+ res.code = 200;
+ System.debug('res = ' + res);
+ return res;
+
+ }
+
+ //鍙栨秷鎷嗙洅纭
+ @AuraEnabled
+ public static ResponseBodyLWC cancelRemoveBoxConfirm(String saveConsumableorderdetailsRecordsdummy,String accountName,String userWorkLocation,String agencyProType) {
+ ResponseBodyLWC res = new ResponseBodyLWC();
+ Map<String,object> data = new Map<String,object>();
+ res.entity = data;
+
+ userPro_Typestr = '%' + agencyProType + '%';
+ accountName = accountName;
+ userWorkLocation =userWorkLocation;
+ List<ConsumableorderdetailsInfo> ConsumableorderdetailsRecordsdummy = (List<ConsumableorderdetailsInfo>)JSON.deserialize(saveConsumableorderdetailsRecordsdummy,List<ConsumableorderdetailsInfo>.class);
+
+
+ List<Consumable_order_details2__c> ins = New List<Consumable_order_details2__c>();
+
+ Savepoint sp = Database.setSavepoint();
+ if(ConsumableorderdetailsRecordsdummy.size()<1){
+ ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'涓嶅瓨鍦ㄥ彇娑堟媶鐩掓槑缁�'));
+ return null;
+ }
+
+ List<String> BarCodeList = new List<String>();
+ for (ConsumableorderdetailsInfo tmp : ConsumableorderdetailsRecordsdummy) {
+ BarCodeList.add(tmp.esd.Bar_Code__c);
+ }
+
+ try{
+ //鍙栧緱閫氱暘澶т簬001鐨勫湪搴撴槑缁�
+ List<Consumable_order_details2__c> orderDetails2del = [SELECT
+ Id,
+ Box_Piece__c,
+ RemoveBox_date__c,
+ RemoveBox_No__c,
+ Bar_Code__c,
+ //add by rentx 2020-10-13 start
+ ContractNo_text__c
+ /*,ContractNo__c*/
+ //add by rentx 2020-10-13 end
+ FROM Consumable_order_details2__c
+ WHERE Dealer_Arrive__c = true
+ AND Dealer_Shipment__c = false
+ AND Dealer_Saled__c = false
+ AND Dealer_Returned__c = false
+ AND Lose_Flag__c = false
+ AND Box_Piece__c = '涓�'
+ AND RemoveBox_date__c != null
+ AND RemoveBox_No__c > 1
+ AND Bar_Code__c in :BarCodeList
+ AND Dealer_Info_text__c = :accountName
+ AND Arrive_Owner_Work_Location__c =: userWorkLocation
+ AND Product_Type__c like : userPro_Typestr
+ ];
+
+ List<Consumable_order_details2__c> orderlistdel = new List<Consumable_order_details2__c>();
+ List<Consumable_order_details2__c> orderlistupd= new List<Consumable_order_details2__c>();
+
+ for (Consumable_order_details2__c detail2tmp : orderDetails2del) {
+ Consumable_order_details2__c delDetails2 = new Consumable_order_details2__c();
+ delDetails2.Id = detail2tmp.Id;
+
+ //鍒犻櫎閫氱暘澶т簬001鐨勬槑缁�2
+ //delete delDetails2;
+ orderlistdel.add(delDetails2);
+ }
+
+ //鍙栧緱閫氱暘001鐨勫湪搴撴槑缁�
+ List<Consumable_order_details2__c> orderDetails2 = [SELECT
+ Id,
+ Box_Piece__c,
+ RemoveBox_date__c,
+ RemoveBox_No__c,
+ Bar_Code__c,
+ //add by rentx 2020-10-13 start
+ ContractNo_text__c
+ /*,ContractNo__c*/
+ //add by rebtx 2020-10-13 end
+ // tcm start
+ ,Consumable_order_minor__r.ContractNo__c
+ // tcm end
+ FROM Consumable_order_details2__c
+ WHERE Dealer_Arrive__c = true
+ AND Dealer_Shipment__c = false
+ AND Dealer_Saled__c = false
+ AND Dealer_Returned__c = false
+ AND Lose_Flag__c = false
+ AND Box_Piece__c = '涓�'
+ AND RemoveBox_date__c !=null
+ AND RemoveBox_No__c = 1
+ AND Bar_Code__c in :BarCodeList
+ AND Dealer_Info_text__c = :accountName
+ AND Arrive_Owner_Work_Location__c =: userWorkLocation
+ AND Product_Type__c like : userPro_Typestr
+ ];
+
+ for (Consumable_order_details2__c detail2tmp : orderDetails2) {
+ Consumable_order_details2__c updDetails2 = new Consumable_order_details2__c();
+ updDetails2.Id = detail2tmp.Id;
+ updDetails2.Box_Piece__c = '鐩�';
+ updDetails2.RemoveBox_date__c = null;
+ updDetails2.RemoveBox_No__c = null;
+
+ // tcm start
+ if (String.isBlank(detail2tmp.Consumable_order_minor__r.ContractNo__c)) {
+ updDetails2.ContractNo_text__c= detail2tmp.ContractNo_text__c;
+ }else {
+ updDetails2.ContractNo_text__c= detail2tmp.Consumable_order_minor__r.ContractNo__c;
+ }
+ // updDetails2.ContractNo_text__c = detail2tmp.ContractNo__c;
+ // tcm end
+
+ //閫氱暘001銇儑銉笺偪銇鐞嗗崢浣嶃倰鐩掋伀鎴汇仐銆侀�氱暘銈掋偗銉偄
+ //update updDetails2;
+ orderlistupd.add(updDetails2);
+ }
+
+ if(orderlistdel.size()>0){
+ delete orderlistdel;
+ }
+
+ if(orderlistupd.size()>0){
+ update orderlistupd;
+ }
+ saveFLGbln = true;
+ alertMessage = '鍙栨秷鎷嗙洅瀹屾垚銆�';
+ data.put('saveFLGbln',saveFLGbln);
+ res.status = 'Success';
+ res.code = 200;
+ res.msg = alertMessage;
+ System.debug('res = ' + res);
+ return res;
+ // return null;
+ }catch(Exception e){
+ Database.rollback(sp);
+ ApexPages.addMessages(e);
+ return null;
+ }
+ }
+
+
+ class ConsumableorderdetailsInfo implements Comparable {
+ public Consumable_order_details2__c esd { get; set; }
+ public Product2__c Prod { get; set; }
+ //public String ProductName { get; set; }
+ //public Boolean canSELECT { get; set; }
+ //public String barCodeNo { get; set; }
+ //public Date sterilizationlimitDate { get; set; }
+ //public String serialNoorLotNo { get; set; }
+ //public String tracingCodeNo { get; set; }
+ public String oldConsumableCount { get; set; }
+ public String ErrorReason { get; set; }
+ public ConsumableorderdetailsInfo(Consumable_order_details2__c e,string str) {
+ esd = e;
+ Prod = e.Consumable_Product__r;
+ oldConsumableCount = e.name;
+ ErrorReason = str;
+ }
+ public ConsumableorderdetailsInfo(Consumable_order_details2__c e) {
+ esd = e;
+ Prod = e.Consumable_Product__r;
+ oldConsumableCount = e.name;
+ }
+/*
+ public ConsumableorderdetailsInfo(Product2__c e,String barCode,Date sterilizationlimit,String serialNoorLot,String tracingCode) {
+ esd = new Consumable_order_details2__c();
+ ProductName = e.Name__c;
+ Prod = e;
+ barCodeNo = barCode;
+ sterilizationlimitDate = sterilizationlimit;
+ serialNoorLotNo = serialNoorLot;
+ tracingCodeNo = tracingCode;
+ }
+
+ public ConsumableorderdetailsInfo(Consumable_order_details2__c e,String barCode,Date sterilizationlimit,String serialNoorLot,String tracingCode) {
+ //esd = new Consumable_order_details2__c();
+ Prod = e.Consumable_Product__r;
+ //ProductName = productName;
+ barCodeNo = barCode;
+ sterilizationlimitDate = sterilizationlimit;
+ serialNoorLotNo = serialNoorLot;
+ tracingCodeNo = tracingCode;
+ }
+*/
+ // 鎺掑簭
+ public Integer compareTo(Object compareTo) {
+ return null;
+ }
+ }
+}
\ No newline at end of file
diff --git a/force-app/main/default/classes/LexCancelRemoveBoxController.cls-meta.xml b/force-app/main/default/classes/LexCancelRemoveBoxController.cls-meta.xml
new file mode 100644
index 0000000..fbbad0a
--- /dev/null
+++ b/force-app/main/default/classes/LexCancelRemoveBoxController.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/classes/LexConInvoiceViewController.cls b/force-app/main/default/classes/LexConInvoiceViewController.cls
index c2fe694..946384b 100644
--- a/force-app/main/default/classes/LexConInvoiceViewController.cls
+++ b/force-app/main/default/classes/LexConInvoiceViewController.cls
@@ -417,6 +417,8 @@
data.put('accountid', accountid);
data.put('invoiceOrderRecoedschange',invoiceOrderRecoedschange);
data.put('attachmentRecoeds',attachmentRecoeds);
+ data.put('outOrderStringList',outOrderStringList);
+ data.put('outordercountMap',outordercountMap);
res.status = 'Success';
res.code = 200;
System.debug('res = ' + res);
@@ -428,6 +430,7 @@
@AuraEnabled
public static ResponseBodyLWC save(
Consumable_order__c cocLwc,
+ String HospitalNameLwc,
String HospitalInfoLwc,
String SecondDealerLwc,
String invoiceOrderRecoedsLwc,
@@ -438,19 +441,23 @@
String reopenLwc,
String invoiceOrderRecoedschangeLwc
) {
- System.debug('enter LexConInvoiceViewController success');
+ System.debug('enter LexConInvoiceViewController.save success');
ResponseBodyLWC res = new ResponseBodyLWC();
Map<String, object> data = new Map<String, object>();
res.entity = data;
coc = cocLwc;
+ HospitalName = HospitalNameLwc;
HospitalInfo = HospitalInfoLwc;
+ System.debug('HospitalInfo = ' + HospitalInfo);
SecondDealer = SecondDealerLwc;
errorMsg = '';
+ deliveryId = deliveryIdLwc;
invoiceOrderRecoeds = (List<InvoiceOrderInfo>)JSON.deserialize(invoiceOrderRecoedsLwc, List<InvoiceOrderInfo>.class);
invoiceId = invoiceIdLwc;
accountid = accountidLwc;
agencyProType = agencyProTypeLwc;
+ reopen = reopenLwc;
invoiceOrderRecoedschange = (List<InvoiceOrderInfo>)JSON.deserialize(invoiceOrderRecoedschangeLwc, List<InvoiceOrderInfo>.class);
List<String> chukudanID = new List<String>();
@@ -464,7 +471,7 @@
// return null;
return new ResponseBodyLWC('Error', 500, '璇峰綍鍏ュ彂绁ㄦ棩鏈熴��', '');
}
- if (String.isBlank(HospitalInfo) && SecondDealer == null) {
+ if (String.isBlank(HospitalInfo) && String.isBlank(SecondDealer)) {
// coc.addError('蹇呴』杈撳叆瀹㈡埛鍚嶆垨鑰呬簩绾х粡閿�鍟嗐��');
// return null;
return new ResponseBodyLWC('Error', 500, '蹇呴』杈撳叆瀹㈡埛鍚嶆垨鑰呬簩绾х粡閿�鍟嗐��', '');
@@ -676,6 +683,7 @@
upsert invoiceLinkList;
}
} else if (String.isNotBlank(reopen) && reopen.equals('isreopen') && String.isNotBlank(invoiceId)) {
+ System.debug('杩涘叆reopen');
invoiceHead.Name = coc.Name;
invoiceHead.Order_type__c = '鍙戠エ';
invoiceHead.Invoice_Date__c = coc.Invoice_Date__c;
@@ -699,6 +707,7 @@
}
invoiceHead.Order_ForDealerText__c = coc.Order_ForDealerText__c;
insert invoiceHead;
+ System.debug('invoiceHead = ' + invoiceHead);
List<String> updateChukudanId = new List<String>();
//鑾峰彇鍘熷彂绁ㄧ浉鍏宠仈鐨勯摼鎺ヨ〃淇℃伅
@@ -712,6 +721,7 @@
colc.Invoice_Code_link__c = invoiceHead.Id;
updateChukudanId.add(colc.Outboundorder_Code_link__c);
}
+ System.debug('tLinkList = ' + tLinkList);
update tLinkList;
//鏇存柊鍙戠エ鏄庣粏淇℃伅
//鑾峰彇鍑哄簱鍗�,璁剧疆鍏宠仈鍏崇郴
@@ -736,6 +746,7 @@
cocTemp.Consumable_order__c = invoiceHead.Id;
tempCocMap.put(cocTemp.Invoicedet1_OD_link__c + cocTemp.Asset_Model_No__c, cocTemp);
}
+ System.debug('tempCountList = ' + tempCountList);
update tempCountList;
List<Consumable_Orderdetails__c> updateFromList = [
SELECT
@@ -775,8 +786,10 @@
Consumable_order__c tempcoc = new Consumable_order__c();
tempcoc.Id = invoiceId;
+ System.debug('tempcoc = ' + tempcoc);
delete tempcoc;
invoiceId = invoiceHead.Id;
+ System.debug('updateFromList = ' + updateFromList);
update updateFromList;
//--------------------------------------------------------------------------
for (InvoiceOrderInfo ass : invoiceOrderRecoeds) {
@@ -814,6 +827,7 @@
invoiceLinkList.add(invoiceLink);
}
}
+ System.debug('invoiceLinkList = ' + invoiceLinkList);
upsert invoiceLinkList;
}
//鍒犻櫎鍑哄簱鍗曢摼鎺ヨ〃
@@ -831,6 +845,7 @@
invoiceLinkdetList.add(colctemp);
}
}
+ System.debug('invoiceLinkdetList = ' + invoiceLinkdetList);
delete invoiceLinkdetList;
}
//鏂板缓鍙戠エ鏄庣粏1
@@ -868,7 +883,7 @@
if (cocinfo.size() > 0) {
invoiceHead = cocinfo[0];
}
- if (String.isNotBlank(deliveryId)) {
+ if (String.isNotBlank(deliveryId)) {
for (InvoiceOrderInfo ass : invoiceOrderRecoedschange) {
insertDetMap.put(ass.esd.Id, invoiceHead.Id);
}
@@ -985,7 +1000,7 @@
} else {
invoiceHead.Order_ForHospital__c = null;
}
- invoiceHead.Order_ForDealer__c = SecondDealer;
+ invoiceHead.Order_ForDealer__c = SecondDealer == '' ? null : SecondDealer;
invoiceHead.Order_ForDealerText__c = coc.Order_ForDealerText__c;
update invoiceHead;
for (InvoiceOrderInfo ass : invoiceOrderRecoeds) {
@@ -1140,8 +1155,10 @@
}
System.debug('invoiceorderList1 +++++' + invoiceorderList1.size());
Savepoint sp = Database.setSavepoint();
+ System.debug('invoiceorderList1 = ' + invoiceorderList1);
if (invoiceorderList1.size() > 0) {
try {
+ System.debug('invoiceorderList1 = ' + invoiceorderList1);
insert invoiceorderList1;
} catch (Exception ex) {
Database.rollback(sp);
@@ -1170,6 +1187,7 @@
FROM Consumable_Orderdetails__c
WHERE Consumable_order__c = :value AND Invoicedet1_OD_link__c = :deleteMap.keySet()
];
+ System.debug('detInvoicedet1List = ' + detInvoicedet1List);
delete detInvoicedet1List;
}
@@ -1232,7 +1250,7 @@
update detaliFrom1List;
}
- //淇濆瓨ContentVersion闄勪欢
+ //涓婁紶ContentVersion闄勪欢
@AuraEnabled
public static String saveFile(Id recordId, String fileName, String base64Data) {
base64Data = EncodingUtil.urlDecode(base64Data, 'UTF-8');
@@ -1249,12 +1267,14 @@
// 淇濆瓨闄勪欢
@AuraEnabled
- public static ResponseBodyLWC saveAttachment(String attachmentRecoedsLwc) {
+ public static ResponseBodyLWC saveAttachment(String attachmentRecoedsLwc,String invoiceId) {
System.debug('杩涘叆 saveAttachment');
ResponseBodyLWC res = new ResponseBodyLWC();
Map<String, object> data = new Map<String, object>();
res.entity = data;
+ invoiceId = invoiceId;
attachmentRecoeds = (List<InvoiceOrderInfo>)JSON.deserialize(attachmentRecoedsLwc, List<InvoiceOrderInfo>.class);
+ System.debug('attachmentRecoeds = ' + attachmentRecoeds);
try {
Consumable_accessories_invoice__c attachmentdetails = new Consumable_accessories_invoice__c();
for (InvoiceOrderInfo ass : attachmentRecoeds) {
@@ -1269,7 +1289,7 @@
}
}
} catch (Exception e) {
- return new ResponseBodyLWC('Error', 500, e.getMessage(), '');
+ return new ResponseBodyLWC('Error', 500, e.getMessage() + e.getLineNumber(), '');
}
res.status = 'Success';
res.code = 200;
@@ -1374,6 +1394,183 @@
return soql;
}
+ // 鍒犻櫎鎸夐挳
+ @AuraEnabled
+ public static ResponseBodyLWC deleteButton(String invoiceIdLwc,Consumable_order__c cocLwc) {
+ System.debug('杩涘叆 deleteButton');
+ ResponseBodyLWC res = new ResponseBodyLWC();
+ Map<String, object> data = new Map<String, object>();
+ res.entity = data;
+
+ coc = cocLwc;
+ invoiceId = invoiceIdLwc;
+ system.debug('====invoiceId==========>' + invoiceId);
+ List<Consumable_Orderdetails__c> consList = [
+ SELECT id, Consumable_order__c
+ FROM Consumable_Orderdetails__c
+ WHERE Consumable_order__c = :invoiceId
+ ];
+ try {
+ system.debug('====cons==========>' + consList);
+ delete consList;
+ if (coc.id == invoiceId && coc.Invoice_status__c == '鑽夋涓�') {
+ delete coc;
+ }
+ res.status = 'Success';
+ res.code = 200;
+ System.debug('res = ' + res);
+ return res;
+ } catch (Exception e) {
+ // ApexPages.addMessages(e);
+ // return null;
+ return new ResponseBodyLWC('Error', 500, e.getMessage() + ' ' + e.getLineNumber(), '');
+ }
+ }
+
+ // 鎻愪氦鎸夐挳
+ @AuraEnabled
+ public static ResponseBodyLWC approval(List<String> outOrderStringListLwc,Map<String, Consumable_Orderdetails__c> outordercountMapLwc,String invoiceIdLwc) {
+ System.debug('杩涘叆 approval');
+ ResponseBodyLWC res = new ResponseBodyLWC();
+ Map<String, object> data = new Map<String, object>();
+ res.entity = data;
+
+ outOrderStringList = outOrderStringListLwc;
+ outordercountMap = outordercountMapLwc;
+ invoiceId= invoiceIdLwc;
+ //鏇存柊鍙戠エ鏄庣粏2閾炬帴
+ Consumable_order__c P = new Consumable_order__c();
+ List<Consumable_order__c> cocinfo = new List<Consumable_order__c>();
+ List<Consumable_order_details2__c> invoiceorderList2 = new List<Consumable_order_details2__c>();
+ //鏇存柊鍑哄簱鍗曟槑缁�1
+ List<Consumable_Orderdetails__c> outOrderdetUp1List = new List<Consumable_Orderdetails__c>();
+ //闇�瑕佹洿鏂板嚭搴撳崟鏄庣粏1
+ List<Consumable_Orderdetails__c> outOrderdet1List = [
+ SELECT
+ Id,
+ Name,
+ Consumable_order__c,
+ Consumable_order__r.Name,
+ Asset_Model_No__c,
+ Consumable_Product__r.Asset_Model_No__c,
+ Shipment_Count__c,
+ RrturnPro_count__c,
+ Delivery_List_RMB__c,
+ InvoicedProCost_RMB__c,
+ Invoiced_Procount__c,
+ Invoiced_Count__c,
+ Invoice_Unitprice__c,
+ InvoiceProNot_count__c,
+ Invoice_Cost_RMB__c,
+ Invoice_No__c,
+ Box_Piece__c,
+ Invoice_Unit__c
+ FROM Consumable_Orderdetails__c
+ WHERE Consumable_order__c IN :outOrderStringList
+ ];
+ for (Integer i = 0; i < outOrderdet1List.size(); i++) {
+ if (outordercountMap.containsKey(outOrderdet1List[i].Consumable_order__c + outOrderdet1List[i].Asset_Model_No__c)) {
+ Consumable_Orderdetails__c invoiceUpdte1 = new Consumable_Orderdetails__c();
+ invoiceUpdte1.Id = outOrderdet1List[i].Id;
+ invoiceUpdte1.Invoice_Unit__c = outordercountMap.get(
+ outOrderdet1List[i].Consumable_order__c + outOrderdet1List[i].Asset_Model_No__c
+ )
+ .Invoice_Unit__c;
+ if (
+ outordercountMap.get(outOrderdet1List[i].Consumable_order__c + outOrderdet1List[i].Asset_Model_No__c).Box_Piece__c ==
+ '鐩�' &&
+ outordercountMap.get(outOrderdet1List[i].Consumable_order__c + outOrderdet1List[i].Asset_Model_No__c).Invoice_Unit__c ==
+ '涓�'
+ ) {
+ Decimal OldinvoicedProcount = 0;
+ OldinvoicedProcount = (outordercountMap.get(
+ outOrderdet1List[i].Consumable_order__c + outOrderdet1List[i].Asset_Model_No__c
+ )
+ .Invoiced_Count__c /
+ outordercountMap.get(outOrderdet1List[i].Consumable_order__c + outOrderdet1List[i].Asset_Model_No__c)
+ .ProductPacking_list_manual__c)
+ .setScale(2);
+ invoiceUpdte1.Invoiced_Procount__c = outOrderdet1List[i].Invoiced_Procount__c + OldinvoicedProcount;
+ } else {
+ invoiceUpdte1.Invoiced_Procount__c =
+ outOrderdet1List[i].Invoiced_Procount__c +
+ outordercountMap.get(outOrderdet1List[i].Consumable_order__c + outOrderdet1List[i].Asset_Model_No__c)
+ .Invoiced_Count__c;
+ }
+ invoiceUpdte1.Invoice_Unitprice__c = outordercountMap.get(
+ outOrderdet1List[i].Consumable_order__c + outOrderdet1List[i].Asset_Model_No__c
+ )
+ .Invoice_Unitprice__c;
+ invoiceUpdte1.InvoicedProCost_RMB__c = invoiceUpdte1.Invoiced_Procount__c * outOrderdet1List[i].Delivery_List_RMB__c;
+
+ Decimal invoicedProcount = 0;
+ if (
+ outordercountMap.get(outOrderdet1List[i].Consumable_order__c + outOrderdet1List[i].Asset_Model_No__c).Box_Piece__c ==
+ '鐩�' &&
+ outordercountMap.get(outOrderdet1List[i].Consumable_order__c + outOrderdet1List[i].Asset_Model_No__c).Invoice_Unit__c ==
+ '涓�'
+ ) {
+ invoicedProcount = (outordercountMap.get(
+ outOrderdet1List[i].Consumable_order__c + outOrderdet1List[i].Asset_Model_No__c
+ )
+ .Invoiced_Count__c /
+ outordercountMap.get(outOrderdet1List[i].Consumable_order__c + outOrderdet1List[i].Asset_Model_No__c)
+ .ProductPacking_list_manual__c)
+ .setScale(2);
+ } else {
+ invoicedProcount = outordercountMap.get(outOrderdet1List[i].Consumable_order__c + outOrderdet1List[i].Asset_Model_No__c)
+ .Invoiced_Count__c;
+ }
+
+ if (outOrderdet1List[i].InvoiceProNot_count__c < invoicedProcount) {
+ // ApexPages.addmessage(
+ // new ApexPages.message(
+ // ApexPages.severity.Error,
+ // '鍑哄簱鍗�' +
+ // outOrderdet1List[i].Consumable_order__r.Name +
+ // '涓紝' +
+ // outOrderdet1List[i].Asset_Model_No__c +
+ // '杩樻病寮�绁ㄦ暟閲忓皬浜庡彂绁ㄦ暟閲忥紝璇风‘璁ゆ槸鍚︽湁杩斿搧銆�'
+ // )
+ // );
+ // return null;
+ return new ResponseBodyLWC('Error', 500, '鍑哄簱鍗�' + outOrderdet1List[i].Consumable_order__r.Name + '涓紝' + outOrderdet1List[i].Asset_Model_No__c + '杩樻病寮�绁ㄦ暟閲忓皬浜庡彂绁ㄦ暟閲忥紝璇风‘璁ゆ槸鍚︽湁杩斿搧銆�', '');
+ }
+
+ outOrderdetUp1List.add(invoiceUpdte1);
+ }
+ }
+ Savepoint sp = Database.setSavepoint();
+ try {
+ //鍑哄簱鍗曟槑缁�1鏇存柊
+ if (outOrderdetUp1List.size() > 0) {
+ ControllerUtil.updateOrderDetails1Satus(outOrderdetUp1List);
+ }
+ //鍙戠エ鐘舵�佹洿鏂�
+ cocinfo = [
+ SELECT Id, Name, Invoice_status__c, Dealer_Info__c, Order_ForHospital__c, SummonsForDirction__c
+ FROM Consumable_order__c
+ WHERE Id = :invoiceId
+ ];
+ System.debug('cocinfo = ' + cocinfo);
+ if (cocinfo.size() > 0) {
+ p = cocinfo[0];
+ }
+ System.debug('p = ' + p);
+ p.Invoice_status__c = '鎻愪氦';
+ update p;
+ } catch (Exception ex) {
+ Database.rollback(sp);
+ // ApexPages.addMessages(ex);
+ // return null;
+ return new ResponseBodyLWC('Error', 500, ex.getMessage() + ' ' + ex.getLineNumber(), '');
+ }
+ res.status = 'Success';
+ res.code = 200;
+ System.debug('res = ' + res);
+ return res;
+ }
+
class InvoiceOrderInfo implements Comparable {
@AuraEnabled
public Boolean check { get; set; }
diff --git a/force-app/main/default/classes/LexConInvoicedetailsController.cls b/force-app/main/default/classes/LexConInvoicedetailsController.cls
new file mode 100644
index 0000000..18a4fb5
--- /dev/null
+++ b/force-app/main/default/classes/LexConInvoicedetailsController.cls
@@ -0,0 +1,392 @@
+public with sharing class LexConInvoicedetailsController {
+ //鍑哄簱鍗曚娇鐢�
+ public static Consumable_order__c coc { get; set; }
+
+ //鍙戠エ浣跨敤
+ public static Consumable_order__c invoicecode { get; set; }
+
+ //浠锋牸璁$畻缁撴灉
+ public static Decimal sumPrice {get;set;}
+
+ //鍑哄簱鍗旾D
+ private static String orderId {get;set;}
+ //鍙戠エ鍗旾D
+ private static String invoiceId {get;set;}
+ //鍑哄簱鍗曟槑缁�1锛岀敾闈㈡樉绀轰娇鐢�
+ public static List<ConsumableorderdetailsInfo> consumableorderdetails1Records { get; set; }
+ //鏄庣粏鏁伴噺
+ public static Integer invoiceOrderRecoedsCount {
+ get {
+ return consumableorderdetails1Records == null ? 0 : consumableorderdetails1Records.size();
+ }
+ }
+
+ //椤甸潰鍒濆鍖�
+ @AuraEnabled
+ public static ResponseBodyLWC init(String orderIdLwc,String invoiceIdLwc) {
+ ResponseBodyLWC res = new ResponseBodyLWC();
+ Map<String, object> data = new Map<String, object>();
+ res.entity = data;
+
+ orderId = orderIdLwc;
+ invoiceId = invoiceIdLwc;
+ consumableorderdetails1Records = new List<ConsumableorderdetailsInfo>();
+ sumPrice = 0;
+ coc = new Consumable_order__c();
+ //鍑哄簱鍗曚俊鎭�
+ coc = [SELECT Id, Name, Outbound_Date__c, Order_ForDealerText__c, Dealer_Info__c FROM Consumable_order__c WHERE Id = :orderId];
+ //鍙戠エ淇℃伅
+ invoicecode = [
+ SELECT Id, Name, ShipmentAccount__c, Order_ForCustomerText__c, Order_ForDealerText__c, Dealer_Info__c
+ FROM Consumable_order__c
+ WHERE Id = :invoiceId
+ ];
+ //鍙戠エ鏄庣粏1
+ Map<String, Consumable_Orderdetails__c> invoiceorderdet1CountMap = new Map<String, Consumable_Orderdetails__c>();
+ List<Consumable_Orderdetails__c> invoiceorderdetails1 = [
+ SELECT
+ Id,
+ Name,
+ Consumable_order__c,
+ Asset_Model_No__c,
+ Consumable_Product__r.Asset_Model_No__c,
+ Consumable_Count__c,
+ Shipment_Count__c,
+ RrturnPro_count__c,
+ Delivery_List_RMB__c,
+ InvoicedProCost_RMB__c,
+ Invoiced_Procount__c,
+ Invoiced_Count__c,
+ Invoice_Unitprice__c,
+ InvoiceProNot_count__c,
+ Invoice_Cost_RMB__c,
+ Invoice_No__c,
+ Invoice_Unit__c,
+ Invoicedet1_OD_link__c
+ FROM Consumable_Orderdetails__c
+ WHERE Consumable_order__c = :invoiceId AND Invoicedet1_OD_link__c = :orderId
+ ];
+ for (Integer i = 0; i < invoiceorderdetails1.size(); i++) {
+ invoiceorderdet1CountMap.put(invoiceorderdetails1[i].Asset_Model_No__c, invoiceorderdetails1[i]);
+ }
+ //鍑哄簱鍗曟槑缁�1锛岀敾闈㈡樉绀轰娇鐢�
+ List<Consumable_Orderdetails__c> consumableorderdetails1 = [
+ SELECT
+ Id,
+ Name,
+ Consumable_order__c,
+ Asset_Model_No__c,
+ Consumable_Product__r.Asset_Model_No__c,
+ Consumable_Count__c,
+ Shipment_Count__c,
+ RrturnPro_count__c,
+ Delivery_List_RMB__c,
+ InvoicedProCost_RMB__c,
+ Invoiced_Procount__c,
+ Invoiced_Count__c,
+ Invoice_Unitprice__c,
+ InvoiceProNot_count__c,
+ Invoice_Cost_RMB__c,
+ Invoice_No__c,
+ Consumable_Product__c,
+ Intra_Trade_List_RMB__c,
+ Dealer_Custom_Price__c,
+ Sum_of_money__c,
+ Used_date__c,
+ Send_date__c,
+ Box_Piece__c,
+ Invoice_Unit__c,
+ Consumable_Product__r.Packing_list_manual__c,
+ ProductPacking_list_manual__c
+ FROM Consumable_Orderdetails__c
+ WHERE Consumable_order__c = :orderId
+ ];
+ for (Integer i = 0; i < consumableorderdetails1.size(); i++) {
+ consumableorderdetails1Records.add(new ConsumableorderdetailsInfo(consumableorderdetails1[i]));
+ }
+ for (ConsumableorderdetailsInfo ass : consumableorderdetails1Records) {
+ if (invoiceorderdet1CountMap.containsKey(ass.esd.Asset_Model_No__c)) {
+ ass.check = true;
+ if (
+ invoiceorderdet1CountMap.get(ass.esd.Asset_Model_No__c).Invoice_Unit__c == null ||
+ invoiceorderdet1CountMap.get(ass.esd.Asset_Model_No__c).Invoice_Unit__c == ''
+ ) {
+ ass.esd.Invoice_Unit__c = ass.esd.Box_Piece__c;
+ } else {
+ ass.esd.Invoice_Unit__c = invoiceorderdet1CountMap.get(ass.esd.Asset_Model_No__c).Invoice_Unit__c;
+ }
+ if (
+ invoiceorderdet1CountMap.get(ass.esd.Asset_Model_No__c).Invoiced_Count__c == null ||
+ invoiceorderdet1CountMap.get(ass.esd.Asset_Model_No__c).Invoiced_Count__c == 0
+ ) {
+ ass.invoiceCount = ass.esd.Invoiced_Count__c;
+ } else {
+ ass.invoiceCount = invoiceorderdet1CountMap.get(ass.esd.Asset_Model_No__c).Invoiced_Count__c;
+ }
+
+ if (ass.esd.Box_Piece__c == '鐩�' && ass.esd.Invoice_Unit__c == '涓�') {
+ ass.esd.Invoice_Unitprice__c = ass.esd.Delivery_List_RMB__c / ass.Packing_list_manual;
+ } else {
+ ass.esd.Invoice_Unitprice__c = ass.esd.Delivery_List_RMB__c;
+ }
+ Decimal invoiceAllprice = 0.00;
+ invoiceAllprice = (ass.invoiceCount * ass.esd.Invoice_Unitprice__c).setScale(2);
+ ass.invoiceAllprice = invoiceAllprice;
+ } else {
+ ass.invoiceCount = ass.esd.InvoiceProNot_count__c;
+ ass.esd.Invoice_Unit__c = ass.esd.Box_Piece__c;
+ ass.esd.Invoice_Unitprice__c = ass.esd.Delivery_List_RMB__c;
+ }
+ }
+ data.put('invoicecode',invoicecode);
+ data.put('coc',coc);
+ data.put('consumableorderdetails1Records',consumableorderdetails1Records);
+ res.status = 'Success';
+ res.code = 200;
+ System.debug('res = ' + res);
+ return res;
+ }
+
+ @AuraEnabled
+ public static ResponseBodyLWC save(String consumableorderdetails1RecordsLwc,String invoiceIdLwc,String orderIdLwc) {
+ ResponseBodyLWC res = new ResponseBodyLWC();
+ Map<String, object> data = new Map<String, object>();
+ res.entity = data;
+
+ consumableorderdetails1Records= (List<ConsumableorderdetailsInfo>)JSON.deserialize(consumableorderdetails1RecordsLwc, List<ConsumableorderdetailsInfo>.class);
+ invoiceId = invoiceIdLwc;
+ orderId = orderIdLwc;
+ System.debug('consumableorderdetails1Records = ' + consumableorderdetails1Records);
+ System.debug('invoiceId = ' + invoiceId);
+ System.debug('orderId = ' + orderId);
+
+ Savepoint sp = Database.setSavepoint();
+ //鏂拌鍙戠エ鏄庣粏1
+ List<Consumable_Orderdetails__c> invoiceorderList1 = new List<Consumable_Orderdetails__c>();
+ //鏇存柊鍙戠エ鏄庣粏1
+ List<Consumable_Orderdetails__c> invoiceorderUpList1 = new List<Consumable_Orderdetails__c>();
+ //鍒犻櫎鍙戠エ鏄庣粏1
+ List<Consumable_Orderdetails__c> invoiceorderDeList1 = new List<Consumable_Orderdetails__c>();
+
+ Map<String, Consumable_Orderdetails__c> invoiceordet1Map = new Map<String, Consumable_Orderdetails__c>();
+
+ List<String> consumableorderList = new List<String>();
+ List<String> consumableNameList = new List<String>();
+ try {
+ //鏇存柊鍑哄簱鍗曟槑缁�1
+ for (ConsumableorderdetailsInfo ass : consumableorderdetails1Records) {
+ consumableorderList.add(ass.esd.Asset_Model_No__c);
+ }
+
+ //鍙戠エ鏄庣粏1鑾峰彇
+ List<Consumable_Orderdetails__c> invoiceorderdetails1 = [
+ SELECT
+ Id,
+ Name,
+ Consumable_order__c,
+ Asset_Model_No__c,
+ Consumable_Product__r.Asset_Model_No__c,
+ Consumable_Count__c,
+ Shipment_Count__c,
+ RrturnPro_count__c,
+ Delivery_List_RMB__c,
+ InvoicedProCost_RMB__c,
+ Invoiced_Procount__c,
+ Invoiced_Count__c,
+ Invoice_Unitprice__c,
+ InvoiceProNot_count__c,
+ Invoice_Cost_RMB__c,
+ Invoice_No__c,
+ Invoice_Unit__c,
+ Box_Piece__c,
+ Invoicedet1_OD_link__c
+ FROM Consumable_Orderdetails__c
+ WHERE Consumable_order__c = :invoiceId AND Invoicedet1_OD_link__c = :orderId AND Asset_Model_No__c IN :consumableorderList
+ ];
+ for (Integer i = 0; i < invoiceorderdetails1.size(); i++) {
+ invoiceordet1Map.put(
+ invoiceorderdetails1[i].Invoicedet1_OD_link__c + invoiceorderdetails1[i].Asset_Model_No__c,
+ invoiceorderdetails1[i]
+ );
+ }
+ List<Consumable_Orderdetails__c> invoicedetails1count = [
+ SELECT
+ Id,
+ Name,
+ Consumable_order__c,
+ Invoicedet1_OD_link__c,
+ Asset_Model_No__c,
+ Consumable_Product__r.Asset_Model_No__c,
+ Consumable_Count__c,
+ Shipment_Count__c,
+ RrturnPro_count__c,
+ Delivery_List_RMB__c,
+ InvoicedProCost_RMB__c,
+ Invoiced_Procount__c,
+ Invoiced_Count__c,
+ Sum_of_money__c,
+ Invoice_Unitprice__c,
+ InvoiceProNot_count__c,
+ Invoice_Cost_RMB__c,
+ Invoice_Unit__c,
+ Invoice_No__c
+ FROM Consumable_Orderdetails__c
+ WHERE Consumable_order__c = :invoiceId
+ ];
+ Integer invoiceRecordscon = invoicedetails1count.size() + 1;
+
+ for (ConsumableorderdetailsInfo ass : consumableorderdetails1Records) {
+ if (ass.check == true && ass.invoiceCount > 0) {
+ if (String.isEmpty(String.valueOf(ass.invoiceCount))) {
+ // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, '璇疯緭鍏ュ彂绁ㄦ暟閲忥紒'));
+ // return null;
+ return new ResponseBodyLWC('Error', 500, '璇疯緭鍏ュ彂绁ㄦ暟閲忥紒', '');
+ }
+ if (ass.esd.Box_Piece__c == '鐩�' && ass.esd.Invoice_Unit__c == '涓�') {
+ if (ass.invoiceCount > (ass.esd.InvoiceProNot_count__c * ass.Packing_list_manual).setScale(0)) {
+ // ass.esd.InvoiceProNot_count__c.addError('鍙戠エ鏁伴噺涓嶈兘瓒呰繃杩樻病鍙戠エ鏁伴噺锛�');
+ // return null;
+ return new ResponseBodyLWC('Error', 500, '鍙戠エ鏁伴噺涓嶈兘瓒呰繃杩樻病鍙戠エ鏁伴噺锛�', '');
+ }
+ } else {
+ if (ass.invoiceCount > ass.esd.InvoiceProNot_count__c) {
+ // ass.esd.InvoiceProNot_count__c.addError('鍙戠エ鏁伴噺涓嶈兘瓒呰繃杩樻病鍙戠エ鏁伴噺锛�');
+ // return null;
+ return new ResponseBodyLWC('Error', 500, '鍙戠エ鏁伴噺涓嶈兘瓒呰繃杩樻病鍙戠エ鏁伴噺锛�', '');
+ }
+ }
+
+ //if(ass.esd.Invoice_Unit__c =='涓�'){
+ String invoiceCount = String.valueOf(ass.invoiceCount);
+ if (!Pattern.matches('^\\+{0,1}[1-9]\\d*', invoiceCount)) {
+ // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, '鍙戠エ鏁伴噺蹇呴』鏄暣鏁�'));
+ // return null;
+ return new ResponseBodyLWC('Error', 500, '鍙戠エ鏁伴噺蹇呴』鏄暣鏁�', '');
+ }
+ //}
+
+ if (invoiceordet1Map.containsKey(ass.esd.Consumable_order__c + ass.esd.Asset_Model_No__c)) {
+ invoiceordet1Map.get(ass.esd.Consumable_order__c + ass.esd.Asset_Model_No__c).Shipment_Count__c = ass.invoiceCount;
+ invoiceordet1Map.get(ass.esd.Consumable_order__c + ass.esd.Asset_Model_No__c).Invoiced_Count__c = ass.invoiceCount;
+ //invoiceordet1Map.get(ass.esd.Consumable_order__c + ass.esd.Asset_Model_No__c).InvoicedProCost_RMB__c = invoiceordet1Map.get(ass.esd.Consumable_order__c + ass.esd.Asset_Model_No__c).Delivery_List_RMB__c * ass.invoiceCount;
+ invoiceordet1Map.get(ass.esd.Consumable_order__c + ass.esd.Asset_Model_No__c)
+ .Invoice_Unit__c = ass.esd.Invoice_Unit__c;
+ invoiceordet1Map.get(ass.esd.Consumable_order__c + ass.esd.Asset_Model_No__c).Box_Piece__c = ass.esd.Box_Piece__c;
+ if (ass.esd.Box_Piece__c == '鐩�' && ass.esd.Invoice_Unit__c == '涓�') {
+ invoiceordet1Map.get(ass.esd.Consumable_order__c + ass.esd.Asset_Model_No__c).InvoicedProCost_RMB__c =
+ (ass.esd.Delivery_List_RMB__c / ass.Packing_list_manual) * ass.invoiceCount;
+ invoiceordet1Map.get(ass.esd.Consumable_order__c + ass.esd.Asset_Model_No__c).Invoice_Unitprice__c =
+ ass.esd.Delivery_List_RMB__c / ass.Packing_list_manual;
+ } else {
+ invoiceordet1Map.get(ass.esd.Consumable_order__c + ass.esd.Asset_Model_No__c).InvoicedProCost_RMB__c =
+ ass.esd.Delivery_List_RMB__c * ass.invoiceCount;
+ invoiceordet1Map.get(ass.esd.Consumable_order__c + ass.esd.Asset_Model_No__c)
+ .Invoice_Unitprice__c = ass.esd.Delivery_List_RMB__c;
+ }
+
+ invoiceorderUpList1.add(invoiceordet1Map.get(ass.esd.Consumable_order__c + ass.esd.Asset_Model_No__c));
+ invoiceRecordscon++;
+ } else {
+ String str = string.valueOf(invoiceRecordscon);
+ if (str.length() == 1) {
+ str = '0' + str;
+ }
+ Consumable_Orderdetails__c invoiceInsert1 = new Consumable_Orderdetails__c();
+ invoiceInsert1.Used_date__c = ass.esd.Used_date__c;
+ invoiceInsert1.Send_date__c = ass.esd.Send_date__c;
+ invoiceInsert1.Name =
+ invoicecode.Name +
+ '-' +
+ ass.esd.Name.substring(ass.esd.Name.length() - 7, ass.esd.Name.length());
+ invoiceInsert1.Shipment_Count__c = ass.invoiceCount;
+ invoiceInsert1.Consumable_Product__c = ass.esd.Consumable_Product__c;
+ invoiceInsert1.Intra_Trade_List_RMB__c = ass.esd.Intra_Trade_List_RMB__c;
+ invoiceInsert1.Delivery_List_RMB__c = ass.esd.Delivery_List_RMB__c;
+ invoiceInsert1.Dealer_Custom_Price__c = ass.esd.Dealer_Custom_Price__c;
+ invoiceInsert1.RecordTypeId = System.Label.RT_ConOrderDetail1_Invoice;
+ if (ass.esd.Box_Piece__c == '鐩�' && ass.esd.Invoice_Unit__c == '涓�') {
+ invoiceInsert1.Invoice_Unitprice__c = ass.esd.Delivery_List_RMB__c / ass.Packing_list_manual;
+ } else {
+ invoiceInsert1.Invoice_Unitprice__c = ass.esd.Delivery_List_RMB__c;
+ }
+ //invoiceInsert1.Invoice_Unitprice__c = ass.esd.Invoice_Unitprice__c;
+ invoiceInsert1.Invoice_Unit__c = ass.esd.Invoice_Unit__c;
+ invoiceInsert1.Box_Piece__c = ass.esd.Box_Piece__c;
+ if (ass.esd.Invoiced_Procount__c == null)
+ ass.esd.Invoiced_Procount__c = 0;
+ invoiceInsert1.Invoiced_Count__c = ass.invoiceCount;
+ if (ass.esd.InvoicedProCost_RMB__c == null)
+ ass.esd.InvoicedProCost_RMB__c = 0;
+ invoiceInsert1.InvoicedProCost_RMB__c = ass.invoiceCount * invoiceInsert1.Invoice_Unitprice__c;
+ invoiceInsert1.Consumable_order__c = invoiceId;
+ invoiceInsert1.Invoicedet1_OD_link__c = orderId;
+ invoiceRecordscon++;
+ invoiceorderList1.add(invoiceInsert1);
+ }
+ } else {
+ if (invoiceordet1Map.containsKey(ass.esd.Consumable_order__c + ass.esd.Asset_Model_No__c)) {
+ invoiceorderDeList1.add(invoiceordet1Map.get(ass.esd.Consumable_order__c + ass.esd.Asset_Model_No__c));
+ }
+ }
+ }
+
+ if (invoiceorderList1.size() > 0) {
+ insert invoiceorderList1;
+ }
+ if (invoiceorderUpList1.size() > 0) {
+ update invoiceorderUpList1;
+ }
+ if (invoiceorderDeList1.size() > 0) {
+ delete invoiceorderDeList1;
+ }
+ } catch (Exception e) {
+ ApexPages.addmessages(e);
+ // Database.rollback(sp);
+ // return null;
+ return new ResponseBodyLWC('Error', 500, e.getMessage() + ' ' + e.getLineNumber(), '');
+ }
+ res.status = 'Success';
+ res.code = 200;
+ System.debug('res = ' + res);
+ return res;
+ }
+
+ // Data Bean
+ class ConsumableorderdetailsInfo {
+ @AuraEnabled
+ public Boolean check { get; set; }
+ @AuraEnabled
+ public Boolean oldCheck { get; set; }
+ @AuraEnabled
+ public Consumable_Orderdetails__c esd { get; set; }
+ @AuraEnabled
+ public Product2__c Prod { get; set; }
+ @AuraEnabled
+ public Decimal invoiceCount { get; set; }
+ @AuraEnabled
+ public Decimal invoiceAllprice { get; set; }
+ @AuraEnabled
+ public Decimal Packing_list_manual { get; set; }
+ public List<SelectOption> Invoice_UnitOpts { get; set; }
+ @AuraEnabled
+ public Map<String,String> Invoice_UnitOptsMap { get; set; }
+ // 娑堣�楀搧浜у搧鏄庣粏
+ public ConsumableorderdetailsInfo(Consumable_Orderdetails__c e) {
+ check = false;
+ oldCheck = false;
+ esd = e;
+ Prod = e.Consumable_Product__r;
+ invoiceAllprice = 0;
+
+ Packing_list_manual = e.Consumable_Product__r.Packing_list_manual__c;
+
+ Invoice_UnitOpts = new List<SelectOption>();
+ Invoice_UnitOpts.add(new SelectOption('鐩�', '鐩�'));
+ Invoice_UnitOpts.add(new SelectOption('涓�', '涓�'));
+
+ Invoice_UnitOptsMap = new Map<String,String>();
+ Invoice_UnitOptsMap.put('鐩�', '鐩�');
+ Invoice_UnitOptsMap.put('涓�', '涓�');
+ }
+ }
+}
\ No newline at end of file
diff --git a/force-app/main/default/classes/LexConInvoicedetailsController.cls-meta.xml b/force-app/main/default/classes/LexConInvoicedetailsController.cls-meta.xml
new file mode 100644
index 0000000..fbbad0a
--- /dev/null
+++ b/force-app/main/default/classes/LexConInvoicedetailsController.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/classes/LexConsumableController.cls b/force-app/main/default/classes/LexConsumableController.cls
index c605ae9..7758fd7 100644
--- a/force-app/main/default/classes/LexConsumableController.cls
+++ b/force-app/main/default/classes/LexConsumableController.cls
@@ -516,12 +516,20 @@
}
}
//闄勪欢
- attachmentinfo = [SELECT Id, Name, OwnerId, Owner.Name FROM Attachment WHERE parentid = :ESetId];
- if (attachmentinfo.size() > 0) {
- for (Integer i = 0; i < attachmentinfo.size(); i++) {
- attachmentRecoeds.add(new ConsumableorderdetailsInfo(attachmentinfo[i]));
+ // attachmentinfo = [SELECT Id, Name, OwnerId, Owner.Name FROM Attachment WHERE parentid = :ESetId];
+ // if (attachmentinfo.size() > 0) {
+ // for (Integer i = 0; i < attachmentinfo.size(); i++) {
+ // attachmentRecoeds.add(new ConsumableorderdetailsInfo(attachmentinfo[i]));
+ // }
+ // }
+
+ List<ContentVersion> cvInfo = [SELECT Id, Title, OwnerId,Owner.Name, CreatedDate FROM ContentVersion WHERE FirstPublishLocationId = :ESetId];
+ if (cvInfo.size() > 0) {
+ for (Integer i = 0; i < cvInfo.size(); i++) {
+ attachmentRecoeds.add(new ConsumableorderdetailsInfo(cvInfo[i]));
}
}
+ //
consumableorderdetailsRecords.sort();
getPageInfo();
}
@@ -1749,12 +1757,13 @@
Results results = new Results();
try {
base64Data = EncodingUtil.urlDecode(base64Data, 'UTF-8');
- Blob contentBlob = EncodingUtil.base64Decode(base64Data);
- Attachment att = new Attachment();
- att.ParentId = pId;
- att.Name = fileName;
- att.Body = contentBlob;
- insert att;
+ ContentVersion cv = new ContentVersion();
+ cv.Title = fileName;
+ cv.PathOnClient = '/' + fileName;
+ cv.FirstPublishLocationId = pId;
+ cv.VersionData = EncodingUtil.base64Decode(base64Data);
+ cv.IsMajorVersion = true;
+ insert cv;
results.result = 'Success';
} catch (Exception e) {
results.result = 'Fail';
@@ -1866,7 +1875,7 @@
String hospitalIdStr
) {
ESetId = '';
- return save(contractNameStr,cocStr,agencyProTypeStr,accountidStr,consumableorderdetailsRecordsviewStr,contactDealerStr,methodType,ESetId,hospitalIdStr);
+ return save(contractNameStr,cocStr,agencyProTypeStr,accountidStr,consumableorderdetailsRecordsviewStr,contactDealerStr,methodTypeStr,ESetId,hospitalIdStr);
}
//淇濆瓨鎸夐挳
@@ -2257,7 +2266,8 @@
if(con.Prod != null){
con.recordId = con.Prod.Id;
if(!con.oldCheck){
- con.prodName = con.Prod.Name;
+ con.prodName = con.Prod.Name__c;
+ // System.debug('ProdName:'+con.Prod.Id+'---'+con.Prod.Name__c);
}
con.prodSFDAStatus = con.Prod.SFDA_Status__c;
con.prodCategory3 = con.Prod.Category3__c;
@@ -2266,9 +2276,9 @@
con.prodIntraTradeList = con.Prod.Intra_Trade_List_RMB__c;
}
if(con.esd != null){
- if(con.oldCheck){
- con.prodName = con.esd.Consumable_Product__r.Name__c;
- }
+ // if(con.oldCheck){
+ // con.prodName = con.esd.Consumable_Product__r.Name__c;
+ // }
con.consumableCount = con.esd.Consumable_count__c;
}
}
@@ -2298,7 +2308,7 @@
@AuraEnabled
public Boolean canSelect { get; set; }
@AuraEnabled
- public Attachment Concc { get; set; }
+ public ContentVersion Concc { get; set; }
@AuraEnabled
public Boolean sortBy { get; set; }
@AuraEnabled
@@ -2352,7 +2362,7 @@
allnumber_piece = 0;
}
//闄勪欢
- public ConsumableorderdetailsInfo(Attachment e) {
+ public ConsumableorderdetailsInfo(ContentVersion e) {
Concc = e;
}
// 鎺掑簭Consumable_order__c
diff --git a/force-app/main/default/classes/LexConsumableGoodsInfo.cls b/force-app/main/default/classes/LexConsumableGoodsInfo.cls
new file mode 100644
index 0000000..e60bfdd
--- /dev/null
+++ b/force-app/main/default/classes/LexConsumableGoodsInfo.cls
@@ -0,0 +1,642 @@
+public without sharing class LexConsumableGoodsInfo {
+
+ //鎵�鏈変骇鍝佷竴瑙�
+ @AuraEnabled
+ public static Results initTotalNum(String ordId, String type){
+ Results results = new Results();
+ List<ShowRecords> allOtherDetIifo = new List<ShowRecords>();
+ Set<String> orderId = new Set<String>();
+ if(ordId != '1'){
+ orderId.add(ordId);
+ }
+ try {
+ if(!(orderId.size() > 0)){
+ String userId = UserInfo.getUserId();
+ List<User> userList = [SELECT accountid, Work_Location__c,UserPro_Type__c
+ FROM user
+ WHERE id = :userId ];
+ String accountid = userList[0].accountid;
+ String userPro_Type = userList[0].UserPro_Type__c;
+ String userWorklocation = userList[0].Work_Location__c;
+ String rtTypeDelivery = System.Label.RT_ConOrder_Delivery;
+ List<Consumable_order__c> conorderlist = new List<Consumable_order__c>();
+ //20200916 ljh update start
+ if(Test.isRunningTest()){
+ if(type !=null && type.equals('all')){
+ conorderlist = [select id,Owner.Name from Consumable_order__c where Order_type__c = '璁㈠崟' and recordtypeid = :rtTypeDelivery and Dealer_Info__c = :accountid and (OrderNumber_notarrive__c >= 0 or Delivery_detail_count__c >=0) and Order_ProType__c = :userPro_Type and Order_Owner_WorkLocal__c = :userWorklocation and showFalseNotshowTrue__c = false];
+ }else{
+ conorderlist = [select id,Owner.Name from Consumable_order__c where Order_type__c = '璁㈠崟' and recordtypeid = :rtTypeDelivery and Dealer_Info__c = :accountid and Delivery_detail_count__c >=0 and Order_ProType__c = :userPro_Type and Order_Owner_WorkLocal__c = :userWorklocation and showFalseNotshowTrue__c = false];
+ }
+
+ }else{
+ if(type !=null && type.equals('all')){
+ conorderlist = [select id,Owner.Name from Consumable_order__c where Order_type__c = '璁㈠崟' and recordtypeid = :rtTypeDelivery and Dealer_Info__c = :accountid and (OrderNumber_notarrive__c > 0 or Delivery_detail_count__c >0) and Order_ProType__c = :userPro_Type and Order_Owner_WorkLocal__c = :userWorklocation and showFalseNotshowTrue__c = false];
+ }else{
+ conorderlist = [select id,Owner.Name from Consumable_order__c where Order_type__c = '璁㈠崟' and recordtypeid = :rtTypeDelivery and Dealer_Info__c = :accountid and Delivery_detail_count__c >0 and Order_ProType__c = :userPro_Type and Order_Owner_WorkLocal__c = :userWorklocation and showFalseNotshowTrue__c = false];
+ }
+ }
+ for(Consumable_order__c conorder : conorderlist){
+ String temp = (String)conorder.Id;
+ orderId.add(temp);
+ }
+ System.debug('ANY o'+orderId);
+ }
+ List<Consumable_Orderdetails__c> conOrderList1 = new List<Consumable_Orderdetails__c>();
+ if(Test.isRunningTest()){
+ conOrderList1 = [SELECT Asset_Model_No__c ,Consumable_count__c FROM Consumable_Orderdetails__c];
+ }else{
+ conOrderList1 = [SELECT Asset_Model_No__c ,Consumable_count__c FROM Consumable_Orderdetails__c WHERE Consumable_order__c =:orderId];
+ }
+
+ Map<String,Decimal> allConOrderMap = new Map<String,Decimal>();
+ for(Consumable_Orderdetails__c con : conOrderList1){
+ if(con.Consumable_count__c == null){
+ con.Consumable_count__c = 0;
+ }
+ if(allConOrderMap.containsKey(con.Asset_Model_No__c)){
+ allConOrderMap.put(con.Asset_Model_No__c,allConOrderMap.get(con.Asset_Model_No__c)+con.Consumable_count__c);
+ }else{
+ allConOrderMap.put(con.Asset_Model_No__c, con.Consumable_count__c);
+ }
+ }
+ for(String pmodel : allConOrderMap.keySet()){
+ if(allConOrderMap.get(pmodel) > 0){
+ ShowRecords showrecord2 = new ShowRecords();
+ showrecord2.recordCount = allConOrderMap.get(pmodel);
+ showrecord2.prodModel = pmodel;
+ allOtherDetIifo.add(showrecord2);
+ }
+ }
+ results.result = 'Success';
+ results.recordList = allOtherDetIifo;
+ } catch (Exception e) {
+ results.result = 'Fail';
+ results.errorMsg = e.getLineNumber() + '---' + e.getMessage();
+ }
+ return results;
+ }
+
+ //宸插埌璐т骇鍝佷竴瑙�
+ @AuraEnabled
+ public static Results initArrDet(String orderId){
+ Results results = new Results();
+ List<ShowRecords> arrDetIifo = new List<ShowRecords>();
+ try{
+ List<Consumable_order_details2__c> conList = [SELECT id,Bar_Code__c FROM Consumable_order_details2__c WHERE Dealer_Arrive__c = true AND Consumable_order_minor__c = :orderId];
+ Map<String,String> srtMap = new Map<String,String>();
+ for(Consumable_order_details2__c con : conList){
+ srtMap.put(con.Bar_Code__c, con.Id);
+ }
+ List<String> str = new List<String>();
+ for(String s : srtMap.keySet()){
+ str.add(srtMap.get(s));
+ }
+ List<AggregateResult> arrDetList = [SELECT Asset_Model_No__c prodModel,count(Id) recordCount FROM Consumable_order_details2__c
+ WHERE Id =: str
+ GROUP BY Asset_Model_No__c];
+ for(Integer i = 0 ; i< arrDetList.size();i++){
+ arrDetIifo.add(new showRecords(arrDetList[i]));
+ }
+ results.recordList = arrDetIifo;
+ results.result = 'Success';
+ }catch (Exception e){
+ results.result = 'Fail';
+ results.errorMsg = e.getLineNumber() + '---' + e.getMessage();
+ }
+ return results;
+ }
+
+ //宸插埌璐т骇鍝佷竴瑙圓ll
+ @AuraEnabled
+ public static Results initArrDetAll(String type){
+ Results results = new Results();
+ List<ShowRecords> allArrDetIifo = new List<ShowRecords>();
+ try{
+ String userId = UserInfo.getUserId();
+ List<User> userList = [SELECT accountid, Work_Location__c,UserPro_Type__c
+ FROM user
+ WHERE id = :userId ];
+ String accountid = userList[0].accountid;
+ String userPro_Type = userList[0].UserPro_Type__c;
+ String userWorklocation = userList[0].Work_Location__c;
+ Date orderdate = Date.today().addDays(-7);
+ String rtTypeDelivery = System.Label.RT_ConOrder_Delivery;
+ List<Consumable_order__c> conorderlist = new List<Consumable_order__c>();
+ //20200916 ljh update start
+ if(Test.isRunningTest()){
+ //conorderlist = [select id,name,Owner.Name from Consumable_order__c where Order_type__c = '璁㈠崟' and recordtypeid = :rtTypeDelivery and Dealer_Info__c = :accountid and Delivery_detail_count__c >=0 and Order_ProType__c = :userPro_Type and Order_Owner_WorkLocal__c = :userWorklocation];
+ if(type !=null && type.equals('all')){
+ conorderlist = [select id,Owner.Name from Consumable_order__c where Order_type__c = '璁㈠崟' and recordtypeid = :rtTypeDelivery and Dealer_Info__c = :accountid and (OrderNumber_notarrive__c >= 0 or Delivery_detail_count__c >=0) and Order_ProType__c = :userPro_Type and Order_Owner_WorkLocal__c = :userWorklocation and showFalseNotshowTrue__c = false];
+ }else{
+ conorderlist = [select id,Owner.Name from Consumable_order__c where Order_type__c = '璁㈠崟' and recordtypeid = :rtTypeDelivery and Dealer_Info__c = :accountid and Delivery_detail_count__c >=0 and Order_ProType__c = :userPro_Type and Order_Owner_WorkLocal__c = :userWorklocation and showFalseNotshowTrue__c = false];
+ }
+
+ }else{
+ //conorderlist = [select id,name,Owner.Name from Consumable_order__c where Order_type__c = '璁㈠崟' and recordtypeid = :rtTypeDelivery and Dealer_Info__c = :accountid and Delivery_detail_count__c >0 and Order_ProType__c = :userPro_Type and Order_Owner_WorkLocal__c = :userWorklocation];
+ if(type !=null && type.equals('all')){
+ conorderlist = [select id,Owner.Name from Consumable_order__c where Order_type__c = '璁㈠崟' and recordtypeid = :rtTypeDelivery and Dealer_Info__c = :accountid and (OrderNumber_notarrive__c > 0 or Delivery_detail_count__c >0) and Order_ProType__c = :userPro_Type and Order_Owner_WorkLocal__c = :userWorklocation and showFalseNotshowTrue__c = false];
+ }else{
+ conorderlist = [select id,Owner.Name from Consumable_order__c where Order_type__c = '璁㈠崟' and recordtypeid = :rtTypeDelivery and Dealer_Info__c = :accountid and Delivery_detail_count__c >0 and Order_ProType__c = :userPro_Type and Order_Owner_WorkLocal__c = :userWorklocation and showFalseNotshowTrue__c = false];
+ }
+ }
+ //20200916 ljh update end
+ // List<Consumable_order__c> conorderlist = [select id,Owner.Name from Consumable_order__c where Order_type__c = '璁㈠崟' and recordtypeid = :rtTypeDelivery and Dealer_Info__c = :accountid and Delivery_detail_count__c > 0 and Order_ProType__c = :userPro_Type and Order_Owner_WorkLocal__c = :userWorklocation];
+ System.debug('======'+conorderlist+'daxiao:'+conorderlist.size());
+ for(Consumable_order__c conorder : conorderlist){
+ System.debug('======'+conorder.Owner.Name+'======');
+ }
+ Set<String> orderId = new Set<String>();
+ for(Consumable_order__c conorder : conorderlist){
+ orderId.add(conorder.Id);
+ }
+ System.debug('ANY o'+orderId);
+ List<Consumable_order_details2__c> conList = new List<Consumable_order_details2__c>();
+ if(Test.isRunningTest()){
+ conList = [SELECT id,Bar_Code__c FROM Consumable_order_details2__c ];
+ }else{
+ //20200916 ljh update start
+ //conList = [SELECT id,Bar_Code__c FROM Consumable_order_details2__c WHERE Dealer_Arrive__c = true AND Consumable_order_minor__c = :orderId AND Deliver_date__c < :orderdate AND recordtypeid = :System.Label.RT_ConOrderDetail2_Delivery];
+ if(type !=null && type.equals('all')){
+ conList = [SELECT id,Bar_Code__c FROM Consumable_order_details2__c WHERE Dealer_Arrive__c = true AND Consumable_order_minor__c = :orderId AND recordtypeid = :System.Label.RT_ConOrderDetail2_Delivery];
+ }else{
+ conList = [SELECT id,Bar_Code__c FROM Consumable_order_details2__c WHERE Dealer_Arrive__c = true AND Consumable_order_minor__c = :orderId AND Deliver_date__c < :orderdate AND recordtypeid = :System.Label.RT_ConOrderDetail2_Delivery];
+ }
+ //20200916 ljh update end
+ }
+ // List<Consumable_order_details2__c> conList = [SELECT id,Bar_Code__c FROM Consumable_order_details2__c WHERE Dealer_Arrive__c = false AND Consumable_order_minor__c = :orderId AND Deliver_date__c < :orderdate AND recordtypeid = :System.Label.RT_ConOrderDetail2_Delivery];
+ Map<String,String> srtMap = new Map<String,String>();
+ for(Consumable_order_details2__c con : conList){
+ srtMap.put(con.Bar_Code__c, con.Id);
+ }
+ List<String> str = new List<String>();
+ for(String s : srtMap.keySet()){
+ str.add(srtMap.get(s));
+ }
+ List<AggregateResult> arrDetList = [SELECT Asset_Model_No__c prodModel,count(Id) recordCount FROM Consumable_order_details2__c
+ WHERE Id =: str
+ GROUP BY Asset_Model_No__c];
+ // List<showRecords> allArrDetIifo = new List<showRecords>();
+ for(Integer i = 0 ; i< arrDetList.size();i++){
+ allArrDetIifo.add(new showRecords(arrDetList[i]));
+ }
+ results.recordList = allArrDetIifo;
+ results.result = 'Success';
+ }catch (Exception e){
+ results.result = 'Fail';
+ results.errorMsg = e.getLineNumber() + '---' + e.getMessage();
+ }
+ return results;
+ }
+
+ //鏈埌璐т骇鍝佷竴瑙�
+ @AuraEnabled
+ public static Results initDeliveryDet(String orderId){
+ Results results = new Results();
+ List<ShowRecords> notArrDetIifo = new List<ShowRecords>();
+ try{
+ List<AggregateResult> notArrDetList = [SELECT Asset_Model_No__c prodModel,count(Id) recordCount FROM Consumable_order_details2__c
+ WHERE Dealer_Arrive__c = false
+ AND Consumable_order_minor__c = :orderId
+ GROUP BY Asset_Model_No__c];
+ for(Integer i = 0 ; i< notArrDetList.size();i++){
+ notArrDetIifo.add(new showRecords(notArrDetList[i]));
+ }
+ results.recordList = notArrDetIifo;
+ results.result = 'Success';
+ }catch (Exception e){
+ results.result = 'Fail';
+ results.errorMsg = e.getLineNumber() + '---' + e.getMessage();
+ }
+ return results;
+ }
+
+ //鏈埌璐т骇鍝佷竴瑙圓ll
+ @AuraEnabled
+ public static Results initDeliveryDetAll(String type){
+ Results results = new Results();
+ List<ShowRecords> allNotArrDetIifo = new List<ShowRecords>();
+ try{
+ String userId = UserInfo.getUserId();
+ List<User> userList = [SELECT accountid, Work_Location__c,UserPro_Type__c
+ FROM user
+ WHERE id = :userId ];
+ String accountid = userList[0].accountid;
+ String userPro_Type = userList[0].UserPro_Type__c;
+ String userWorklocation = userList[0].Work_Location__c;
+ Date orderdate = Date.today().addDays(-7);
+ String rtTypeDelivery = System.Label.RT_ConOrder_Delivery;
+ List<Consumable_order__c> conorderlist = new List<Consumable_order__c>();
+ //20200916 ljh update start
+ if(Test.isRunningTest()){
+ //conorderlist = [select id,name,Owner.Name from Consumable_order__c where Order_type__c = '璁㈠崟' and recordtypeid = :rtTypeDelivery and Dealer_Info__c = :accountid and Delivery_detail_count__c >=0 and Order_ProType__c = :userPro_Type and Order_Owner_WorkLocal__c = :userWorklocation];
+ if(type !=null && type.equals('all')){
+ conorderlist = [select id,Owner.Name from Consumable_order__c where Order_type__c = '璁㈠崟' and recordtypeid = :rtTypeDelivery and Dealer_Info__c = :accountid and (OrderNumber_notarrive__c >= 0 or Delivery_detail_count__c >=0) and Order_ProType__c = :userPro_Type and Order_Owner_WorkLocal__c = :userWorklocation and showFalseNotshowTrue__c = false];
+ }else{
+ conorderlist = [select id,Owner.Name from Consumable_order__c where Order_type__c = '璁㈠崟' and recordtypeid = :rtTypeDelivery and Dealer_Info__c = :accountid and Delivery_detail_count__c >=0 and Order_ProType__c = :userPro_Type and Order_Owner_WorkLocal__c = :userWorklocation and showFalseNotshowTrue__c = false];
+ }
+
+ }else{
+ //conorderlist = [select id,name,Owner.Name from Consumable_order__c where Order_type__c = '璁㈠崟' and recordtypeid = :rtTypeDelivery and Dealer_Info__c = :accountid and Delivery_detail_count__c >0 and Order_ProType__c = :userPro_Type and Order_Owner_WorkLocal__c = :userWorklocation];
+ if(type !=null && type.equals('all')){
+ conorderlist = [select id,Owner.Name from Consumable_order__c where Order_type__c = '璁㈠崟' and recordtypeid = :rtTypeDelivery and Dealer_Info__c = :accountid and (OrderNumber_notarrive__c > 0 or Delivery_detail_count__c >0) and Order_ProType__c = :userPro_Type and Order_Owner_WorkLocal__c = :userWorklocation and showFalseNotshowTrue__c = false];
+ }else{
+ conorderlist = [select id,Owner.Name from Consumable_order__c where Order_type__c = '璁㈠崟' and recordtypeid = :rtTypeDelivery and Dealer_Info__c = :accountid and Delivery_detail_count__c >0 and Order_ProType__c = :userPro_Type and Order_Owner_WorkLocal__c = :userWorklocation and showFalseNotshowTrue__c = false];
+ }
+ }
+ //20200916 ljh update end
+ // List<Consumable_order__c> conorderlist = [select id,Owner.Name from Consumable_order__c where Order_type__c = '璁㈠崟' and recordtypeid = :rtTypeDelivery and Dealer_Info__c = :accountid and Delivery_detail_count__c > 0 and Order_ProType__c = :userPro_Type and Order_Owner_WorkLocal__c = :userWorklocation];
+ System.debug('======'+conorderlist+'daxiao:'+conorderlist.size());
+ for(Consumable_order__c conorder : conorderlist){
+ System.debug('======'+conorder.Owner.Name+'======');
+ }
+ Set<String> orderId = new Set<String>();
+ for(Consumable_order__c conorder : conorderlist){
+ orderId.add(conorder.Id);
+ }
+ System.debug('ANY o'+orderId);
+ List<Consumable_order_details2__c> conList = new List<Consumable_order_details2__c>();
+ if(Test.isRunningTest()){
+ conList = [SELECT id,Bar_Code__c FROM Consumable_order_details2__c ];
+ }else{
+ //20200916 ljh update start
+ //conList = [SELECT id,Bar_Code__c FROM Consumable_order_details2__c WHERE Dealer_Arrive__c = false AND Consumable_order_minor__c = :orderId AND Deliver_date__c < :orderdate AND recordtypeid = :System.Label.RT_ConOrderDetail2_Delivery];
+ if(type !=null && type.equals('all')){
+ conList = [SELECT id,Bar_Code__c FROM Consumable_order_details2__c WHERE Dealer_Arrive__c = false AND Consumable_order_minor__c = :orderId AND recordtypeid = :System.Label.RT_ConOrderDetail2_Delivery];
+ }else{
+ conList = [SELECT id,Bar_Code__c FROM Consumable_order_details2__c WHERE Dealer_Arrive__c = false AND Consumable_order_minor__c = :orderId AND Deliver_date__c < :orderdate AND recordtypeid = :System.Label.RT_ConOrderDetail2_Delivery];
+ }
+ //20200916 ljh update end
+ }
+ // List<Consumable_order_details2__c> conList = [SELECT id,Bar_Code__c FROM Consumable_order_details2__c WHERE Dealer_Arrive__c = false AND Consumable_order_minor__c = :orderId AND Deliver_date__c < :orderdate AND recordtypeid = :System.Label.RT_ConOrderDetail2_Delivery];
+ Map<String,String> srtMap = new Map<String,String>();
+ for(Consumable_order_details2__c con : conList){
+ srtMap.put(con.Bar_Code__c, con.Id);
+ }
+ List<String> str = new List<String>();
+ for(String s : srtMap.keySet()){
+ str.add(srtMap.get(s));
+ }
+ List<AggregateResult> arrDetList = [SELECT Asset_Model_No__c prodModel,count(Id) recordCount FROM Consumable_order_details2__c
+ WHERE Id =: str and Cancellation_Flag__c = false
+ GROUP BY Asset_Model_No__c];
+ // List<showRecords> allArrDetIifo = new List<showRecords>();
+ for(Integer i = 0 ; i< arrDetList.size();i++){
+ allNotArrDetIifo.add(new showRecords(arrDetList[i]));
+ }
+ results.recordList = allNotArrDetIifo;
+ results.result = 'Success';
+ }catch (Exception e){
+ results.result = 'Fail';
+ results.errorMsg = e.getLineNumber() + '---' + e.getMessage();
+ }
+ return results;
+ }
+
+ //杩樻病鍙戣揣鏁伴噺
+ @AuraEnabled
+ public static Results initNotArrDet(String orderId){
+ Results results = new Results();
+ List<Consumable_Orderdetails__c> otherArrDetIifo = new List<Consumable_Orderdetails__c>();
+ List<ShowRecords> otherArrList = new List<ShowRecords>();
+ try{
+ List<showRecords> arrDetIifo = new List<showRecords>();
+ List<showRecords> notArrDetIifo = new List<showRecords>();
+ List<showRecords> allArrDetIifo = new List<showRecords>();
+ // List<Consumable_order_details2__c> conList = [SELECT id,Bar_Code__c FROM Consumable_order_details2__c WHERE Dealer_Arrive__c = true AND Consumable_order_minor__c = :orderId];
+ List<Consumable_order_details2__c> conList = [SELECT id,Bar_Code__c FROM Consumable_order_details2__c WHERE Consumable_order_minor__c = :orderId];
+ Map<String,String> srtMap = new Map<String,String>();
+ for(Consumable_order_details2__c con : conList){
+ srtMap.put(con.Bar_Code__c, con.Id);
+ }
+ List<String> str = new List<String>();
+ for(String s : srtMap.keySet()){
+ str.add(srtMap.get(s));
+ }
+ List<AggregateResult> arrDetList = [SELECT Asset_Model_No__c prodModel,count(Id) recordCount FROM Consumable_order_details2__c
+ WHERE Id =: str AND Dealer_Arrive__c = true
+ GROUP BY Asset_Model_No__c];
+ for(Integer i = 0 ; i< arrDetList.size();i++){
+ arrDetIifo.add(new showRecords(arrDetList[i]));
+ }
+
+ List<AggregateResult> notArrDetList = [SELECT Asset_Model_No__c prodModel,count(Id) recordCount FROM Consumable_order_details2__c
+ WHERE Dealer_Arrive__c = false
+ AND Consumable_order_minor__c = :orderId
+ GROUP BY Asset_Model_No__c];
+ for(Integer i = 0 ; i< notArrDetList.size();i++){
+ notArrDetIifo.add(new showRecords(notArrDetList[i]));
+ }
+
+ // List<AggregateResult> allArrDetList = [SELECT Asset_Model_No__c prodModel,count(Id) recordCount FROM Consumable_order_details2__c
+ // WHERE Id =: str
+ // GROUP BY Asset_Model_No__c];
+ List<Consumable_Orderdetails__c> allArrDetList = [SELECT Asset_Model_No__c,Consumable_count__c FROM Consumable_Orderdetails__c
+ WHERE Consumable_order__c =: orderId];
+ // for(Integer i = 0 ; i< allArrDetList.size();i++){
+ // allArrDetIifo.add(new showRecords(notArrDetList[i]));
+ // }
+ Map<String,Decimal> arrDetMap = new Map<String,Decimal>();
+ for(showRecords arr : arrDetIifo){
+ arrDetMap.put(arr.prodModel, arr.recordCount);
+ }
+ for(showRecords notarr : notArrDetIifo){
+ if(arrDetMap.containsKey(notarr.prodModel)){
+ arrDetMap.put(notarr.prodModel, arrDetMap.get(notarr.prodModel)+notarr.recordCount);
+ }else{
+ arrDetMap.put(notarr.prodModel, notarr.recordCount);
+ }
+ }
+ List<String> AssetModelNoEdList = new List<String>();//20200904 ljh add
+ for(Consumable_Orderdetails__c allarr : allArrDetList){
+ for(String promodel : arrDetMap.keySet()){
+ if(allarr.Asset_Model_No__c == promodel){
+ if((allarr.Consumable_count__c - arrDetMap.get(promodel)) > 0){
+ allarr.Consumable_count__c = (allarr.Consumable_count__c - arrDetMap.get(promodel));
+ otherArrDetIifo.add(allarr);
+ }
+ AssetModelNoEdList.add(promodel);//20200904 ljh add
+ }
+ }
+ }
+ //20200904 ljh add start
+ for(Consumable_Orderdetails__c allarr1 : allArrDetList){
+ if(!AssetModelNoEdList.contains(allarr1.Asset_Model_No__c)){
+ otherArrDetIifo.add(allarr1);
+ }
+ }
+ for(Consumable_Orderdetails__c conOrderDetail : otherArrDetIifo){
+ ShowRecords record = new ShowRecords();
+ record.prodModel = conOrderDetail.Asset_Model_No__c;
+ record.recordCount = conOrderDetail.Consumable_count__c;
+ otherArrList.add(record);
+ }
+ results.recordList = otherArrList;
+ results.result = 'Success';
+ }catch (Exception e){
+ results.result = 'Fail';
+ results.errorMsg = e.getLineNumber() + '---' + e.getMessage();
+ }
+ return results;
+ }
+
+ //杩樻病鍙戣揣鏁伴噺All
+ @AuraEnabled
+ public static Results initNotArrDetAll(String type){
+ Results results = new Results();
+ List<ShowRecords> allOtherDetIifo = new List<ShowRecords>();
+ try{
+ String userId = UserInfo.getUserId();
+ List<User> userList = [SELECT accountid, Work_Location__c,UserPro_Type__c
+ FROM user
+ WHERE id = :userId ];
+ String accountid = userList[0].accountid;
+ String userPro_Type = userList[0].UserPro_Type__c;
+ String userWorklocation = userList[0].Work_Location__c;
+ Date orderdate = Date.today().addDays(-7);
+ String rtTypeDelivery = System.Label.RT_ConOrder_Delivery;
+ List<Consumable_order__c> conorderlist = new List<Consumable_order__c>();
+ //20200916 ljh update start
+ if(Test.isRunningTest()){
+ //conorderlist = [select id,name,Owner.Name from Consumable_order__c where Order_type__c = '璁㈠崟' and recordtypeid = :rtTypeDelivery and Dealer_Info__c = :accountid and Delivery_detail_count__c >=0 and Order_ProType__c = :userPro_Type and Order_Owner_WorkLocal__c = :userWorklocation];
+ if(type !=null && type.equals('all')){
+ conorderlist = [select id,Owner.Name from Consumable_order__c where Order_type__c = '璁㈠崟' and recordtypeid = :rtTypeDelivery and Dealer_Info__c = :accountid and (OrderNumber_notarrive__c >= 0 or Delivery_detail_count__c >=0) and Order_ProType__c = :userPro_Type and Order_Owner_WorkLocal__c = :userWorklocation and showFalseNotshowTrue__c = false];
+ }else{
+ conorderlist = [select id,Owner.Name from Consumable_order__c where Order_type__c = '璁㈠崟' and recordtypeid = :rtTypeDelivery and Dealer_Info__c = :accountid and Delivery_detail_count__c >=0 and Order_ProType__c = :userPro_Type and Order_Owner_WorkLocal__c = :userWorklocation and showFalseNotshowTrue__c = false];
+ }
+
+ }else{
+ //conorderlist = [select id,name,Owner.Name from Consumable_order__c where Order_type__c = '璁㈠崟' and recordtypeid = :rtTypeDelivery and Dealer_Info__c = :accountid and Delivery_detail_count__c >0 and Order_ProType__c = :userPro_Type and Order_Owner_WorkLocal__c = :userWorklocation];
+ if(type !=null && type.equals('all')){
+ conorderlist = [select id,Owner.Name from Consumable_order__c where Order_type__c = '璁㈠崟' and recordtypeid = :rtTypeDelivery and Dealer_Info__c = :accountid and (OrderNumber_notarrive__c > 0 or Delivery_detail_count__c >0) and Order_ProType__c = :userPro_Type and Order_Owner_WorkLocal__c = :userWorklocation and showFalseNotshowTrue__c = false];
+ }else{
+ conorderlist = [select id,Owner.Name from Consumable_order__c where Order_type__c = '璁㈠崟' and recordtypeid = :rtTypeDelivery and Dealer_Info__c = :accountid and Delivery_detail_count__c >0 and Order_ProType__c = :userPro_Type and Order_Owner_WorkLocal__c = :userWorklocation and showFalseNotshowTrue__c = false];
+ }
+ }
+ //20200916 ljh update end
+ // List<Consumable_order__c> conorderlist = [select id,Owner.Name from Consumable_order__c where Order_type__c = '璁㈠崟' and recordtypeid = :rtTypeDelivery and Dealer_Info__c = :accountid and Delivery_detail_count__c > 0 and Order_ProType__c = :userPro_Type and Order_Owner_WorkLocal__c = :userWorklocation];
+ System.debug('======'+conorderlist+'daxiao:'+conorderlist.size());
+ for(Consumable_order__c conorder : conorderlist){
+ System.debug('======'+conorder.Owner.Name+'======');
+ }
+ Set<String> orderId = new Set<String>();
+ for(Consumable_order__c conorder : conorderlist){
+ orderId.add(conorder.Id);
+ }
+ System.debug('ANY o'+orderId);
+ List<Consumable_order_details2__c> conList = new List<Consumable_order_details2__c>();
+ if(Test.isRunningTest()){
+ conList = [SELECT id,Bar_Code__c FROM Consumable_order_details2__c ];
+ }else{
+ //20200916 ljh update start
+ //conList = [SELECT id,Bar_Code__c FROM Consumable_order_details2__c WHERE Consumable_order_minor__c = :orderId AND Deliver_date__c < :orderdate AND recordtypeid = :System.Label.RT_ConOrderDetail2_Delivery];
+ if(type !=null && type.equals('all')){
+ conList = [SELECT id,Bar_Code__c FROM Consumable_order_details2__c WHERE Consumable_order_minor__c = :orderId AND recordtypeid = :System.Label.RT_ConOrderDetail2_Delivery];
+ }else{
+ conList = [SELECT id,Bar_Code__c FROM Consumable_order_details2__c WHERE Consumable_order_minor__c = :orderId AND Deliver_date__c < :orderdate AND recordtypeid = :System.Label.RT_ConOrderDetail2_Delivery];
+ }
+ //20200916 ljh update end
+ }
+ // List<Consumable_order_details2__c> conList = [SELECT id,Bar_Code__c FROM Consumable_order_details2__c WHERE Consumable_order_minor__c = :orderId AND Deliver_date__c < :orderdate AND recordtypeid = :System.Label.RT_ConOrderDetail2_Delivery];
+ Map<String,String> srtMap = new Map<String,String>();
+ for(Consumable_order_details2__c con : conList){
+ srtMap.put(con.Bar_Code__c, con.Id);
+ }
+ List<String> str = new List<String>();
+ for(String s : srtMap.keySet()){
+ str.add(srtMap.get(s));
+ }
+ List<AggregateResult> arrDetList = [SELECT Asset_Model_No__c prodModel,count(Id) recordCount FROM Consumable_order_details2__c
+ WHERE Id =: str and Cancellation_Flag__c = false
+ GROUP BY Asset_Model_No__c];
+ Map<String,Decimal> conOrderMap = new Map<String,Decimal>();
+ for(AggregateResult agg : arrDetList){
+ conOrderMap.put(String.valueOf(agg.get('prodModel')), Integer.valueOf(agg.get('recordCount')));
+ }
+
+ List<Consumable_Orderdetails__c> conOrderList1 = [SELECT Asset_Model_No__c ,Consumable_count__c FROM Consumable_Orderdetails__c WHERE Consumable_order__c =: orderId ];
+ Map<String,Decimal> allConOrderMap = new Map<String,Decimal>();
+ for(Consumable_Orderdetails__c con : conOrderList1){
+ if(con.Consumable_count__c == null){
+ con.Consumable_count__c = 0;
+ }
+ if(allConOrderMap.containsKey(con.Asset_Model_No__c)){
+ allConOrderMap.put(con.Asset_Model_No__c,allConOrderMap.get(con.Asset_Model_No__c)+con.Consumable_count__c);
+ }else{
+ allConOrderMap.put(con.Asset_Model_No__c, con.Consumable_count__c);
+ }
+ }
+ for(String pmodel : allConOrderMap.keySet()){
+ if(conOrderMap.containsKey(pmodel)){
+ if(allConOrderMap.get(pmodel) - conOrderMap.get(pmodel) > 0){
+ showRecords showrecord1 = new showRecords();
+ showrecord1.recordCount = allConOrderMap.get(pmodel) - conOrderMap.get(pmodel);
+ showrecord1.prodModel = pmodel;
+ allOtherDetIifo.add(showrecord1);
+ }
+ }else{
+ showRecords showrecord2 = new showRecords();
+ showrecord2.recordCount = allConOrderMap.get(pmodel);
+ showrecord2.prodModel = pmodel;
+ allOtherDetIifo.add(showrecord2);
+ }
+ }
+ results.recordList = allOtherDetIifo;
+ results.result = 'Success';
+ }catch (Exception e){
+ results.result = 'Fail';
+ results.errorMsg = e.getLineNumber() + '---' + e.getMessage();
+ }
+ return results;
+ }
+
+ //鍙戣揣涓冨ぉ杩樻湭鍒拌揣鏁�
+ @AuraEnabled
+ public static Results initMoreThan7(String orderId){
+ Results results = new Results();
+ List<ShowRecords> morethansevendaysIifo = new List<ShowRecords>();
+ try{
+ List<AggregateResult> morethan7daysList = [SELECT Asset_Model_No__c prodModel,count(Id) recordCount FROM Consumable_order_details2__c
+ WHERE Consumable_order_minor__c != null
+ AND Dealer_Shipment__c = false
+ AND Dealer_Arrive__c = false
+ AND Dealer_Saled__c = false
+ AND Consumable_order_minor__r.showFalseNotshowTrue__c = false
+ AND Deliver_date__c < LAST_N_DAYS:7
+ AND Consumable_order_minor__c = :orderId
+ GROUP BY Asset_Model_No__c];
+
+ for(Integer i = 0 ; i< morethan7daysList.size() ; i++){
+ morethansevendaysIifo.add(new showRecords(morethan7daysList[i]));
+ }
+ results.recordList = morethansevendaysIifo;
+ results.result = 'Success';
+ }catch (Exception e){
+ results.result = 'Fail';
+ results.errorMsg = e.getLineNumber() + '---' + e.getMessage();
+ }
+ return results;
+ }
+
+ //鍙戣揣涓冨ぉ杩樻湭鍒拌揣鏁癆ll
+ @AuraEnabled
+ public static Results initMoreThan7All(String type){
+ Results results = new Results();
+ List<ShowRecords> morethansevendaysIifo = new List<ShowRecords>();
+ try{
+ String userId = UserInfo.getUserId();
+ List<User> userList = [SELECT accountid, Work_Location__c,UserPro_Type__c
+ FROM user
+ WHERE id = :userId ];
+ String accountid = userList[0].accountid;
+ String userPro_Type = userList[0].UserPro_Type__c;
+ String userWorklocation = userList[0].Work_Location__c;
+ Date orderdate = Date.today().addDays(-7);
+ String rtTypeDelivery = System.Label.RT_ConOrder_Delivery;
+ List<Consumable_order__c> conorderlist = new List<Consumable_order__c>();
+ //20200916 ljh update start
+ if(Test.isRunningTest()){
+ //conorderlist = [select id,name,Owner.Name from Consumable_order__c where Order_type__c = '璁㈠崟' and recordtypeid = :rtTypeDelivery and Dealer_Info__c = :accountid and Delivery_detail_count__c >=0 and Order_ProType__c = :userPro_Type and Order_Owner_WorkLocal__c = :userWorklocation];
+ if(type !=null && type.equals('all')){
+ conorderlist = [select id,Owner.Name from Consumable_order__c where Order_type__c = '璁㈠崟' and recordtypeid = :rtTypeDelivery and Dealer_Info__c = :accountid and (OrderNumber_notarrive__c >= 0 or Delivery_detail_count__c >=0) and Order_ProType__c = :userPro_Type and Order_Owner_WorkLocal__c = :userWorklocation and showFalseNotshowTrue__c = false];
+ }else{
+ conorderlist = [select id,Owner.Name from Consumable_order__c where Order_type__c = '璁㈠崟' and recordtypeid = :rtTypeDelivery and Dealer_Info__c = :accountid and Delivery_detail_count__c >=0 and Order_ProType__c = :userPro_Type and Order_Owner_WorkLocal__c = :userWorklocation and showFalseNotshowTrue__c = false];
+ }
+
+ }else{
+ //conorderlist = [select id,name,Owner.Name from Consumable_order__c where Order_type__c = '璁㈠崟' and recordtypeid = :rtTypeDelivery and Dealer_Info__c = :accountid and Delivery_detail_count__c >0 and Order_ProType__c = :userPro_Type and Order_Owner_WorkLocal__c = :userWorklocation];
+ if(type !=null && type.equals('all')){
+ conorderlist = [select id,Owner.Name from Consumable_order__c where Order_type__c = '璁㈠崟' and recordtypeid = :rtTypeDelivery and Dealer_Info__c = :accountid and (OrderNumber_notarrive__c > 0 or Delivery_detail_count__c >0) and Order_ProType__c = :userPro_Type and Order_Owner_WorkLocal__c = :userWorklocation and showFalseNotshowTrue__c = false];
+ }else{
+ conorderlist = [select id,Owner.Name from Consumable_order__c where Order_type__c = '璁㈠崟' and recordtypeid = :rtTypeDelivery and Dealer_Info__c = :accountid and Delivery_detail_count__c >0 and Order_ProType__c = :userPro_Type and Order_Owner_WorkLocal__c = :userWorklocation and showFalseNotshowTrue__c = false];
+ }
+ }
+ system.debug('==============>conorderlist'+conorderlist);
+ system.debug('==============>conorderlist'+conorderlist.size());
+ //20200916 ljh update end
+ // List<Consumable_order__c> conorderlist = [select id,Owner.Name from Consumable_order__c where Order_type__c = '璁㈠崟' and recordtypeid = :rtTypeDelivery and Dealer_Info__c = :accountid and Delivery_detail_count__c > 0 and Order_ProType__c = :userPro_Type and Order_Owner_WorkLocal__c = :userWorklocation];
+ System.debug('======'+conorderlist+'daxiao:'+conorderlist.size());
+ for(Consumable_order__c conorder : conorderlist){
+ System.debug('======'+conorder.Owner.Name+'======');
+ }
+ Set<String> orderId = new Set<String>();
+ for(Consumable_order__c conorder : conorderlist){
+ orderId.add(conorder.Id);
+ }
+ System.debug('ANY o'+orderId);
+ List<Consumable_order_details2__c> conList = new List<Consumable_order_details2__c>();
+ if(Test.isRunningTest()){
+ conList = [SELECT id,Bar_Code__c FROM Consumable_order_details2__c ];
+ }else{
+ //20200916 ljh update start
+ //conList = [SELECT id,Bar_Code__c FROM Consumable_order_details2__c WHERE Dealer_Arrive__c = false AND Consumable_order_minor__c = :orderId AND Deliver_date__c < :orderdate AND recordtypeid = :System.Label.RT_ConOrderDetail2_Delivery];
+ if(type !=null && type.equals('all')){
+ system.debug('all============');
+ conList = [SELECT id,Bar_Code__c FROM Consumable_order_details2__c WHERE Dealer_Arrive__c = false AND Consumable_order_minor__c = :orderId AND recordtypeid = :System.Label.RT_ConOrderDetail2_Delivery];
+ system.debug('allconList==========='+conList.size());
+ }else{
+ system.debug('notall=============');
+ conList = [SELECT id,Bar_Code__c FROM Consumable_order_details2__c WHERE Dealer_Arrive__c = false AND Consumable_order_minor__c = :orderId AND Deliver_date__c < :orderdate AND recordtypeid = :System.Label.RT_ConOrderDetail2_Delivery];
+ system.debug('notallconList==========='+conList.size());
+ }
+ //20200916 ljh update end
+ }
+ // List<Consumable_order_details2__c> conList = [SELECT id,Bar_Code__c FROM Consumable_order_details2__c WHERE Dealer_Arrive__c = false AND Consumable_order_minor__c = :orderId AND Deliver_date__c < :orderdate AND recordtypeid = :System.Label.RT_ConOrderDetail2_Delivery];
+ Map<String,String> srtMap = new Map<String,String>();
+ for(Consumable_order_details2__c con : conList){
+ srtMap.put(con.Bar_Code__c, con.Id);
+ }
+ List<String> str = new List<String>();
+ for(String s : srtMap.keySet()){
+ str.add(srtMap.get(s));
+ }
+ List<AggregateResult> morethan7daysList = [SELECT Asset_Model_No__c prodModel,count(Id) recordCount FROM Consumable_order_details2__c
+ WHERE Id =: str and Cancellation_Flag__c = false
+ AND Consumable_order_minor__c != null
+ AND Dealer_Shipment__c = false
+ AND Dealer_Arrive__c = false
+ AND Dealer_Saled__c = false
+ AND Consumable_order_minor__r.showFalseNotshowTrue__c = false
+ AND Deliver_date__c < LAST_N_DAYS:7
+ GROUP BY Asset_Model_No__c];
+ system.debug('Morethan7daysList================>'+morethan7daysList.size());
+ for(Integer i = 0 ; i< morethan7daysList.size() ; i++){
+ morethansevendaysIifo.add(new showRecords(morethan7daysList[i]));
+ system.debug('MorethansevendaysIifo+++++++'+morethansevendaysIifo);
+ }
+ results.recordList = morethansevendaysIifo;
+ results.result = 'Success';
+ }catch (Exception e){
+ results.result = 'Fail';
+ results.errorMsg = e.getLineNumber() + '---' + e.getMessage();
+ }
+ return results;
+ }
+
+ public class Results {
+ @AuraEnabled
+ public String result;
+ @AuraEnabled
+ public String errorMsg;
+ @AuraEnabled
+ public List<ShowRecords> recordList;
+ }
+
+
+ public class ShowRecords implements Comparable {
+ @AuraEnabled
+ public Decimal recordCount { get; set; }
+ @AuraEnabled
+ public String prodModel { get; set; }
+
+ public ShowRecords() {}
+
+ public ShowRecords(AggregateResult e) {
+ recordCount =Integer.valueOf(e.get('recordCount'));
+ prodModel = String.valueOf(e.get('prodModel'));
+ }
+ // 鎺掑簭
+ public Integer compareTo(Object compareTo) {
+ return null;
+ }
+ }
+}
\ No newline at end of file
diff --git a/force-app/main/default/classes/LexConsumableGoodsInfo.cls-meta.xml b/force-app/main/default/classes/LexConsumableGoodsInfo.cls-meta.xml
new file mode 100644
index 0000000..fbbad0a
--- /dev/null
+++ b/force-app/main/default/classes/LexConsumableGoodsInfo.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/classes/LexContractAuthorizeController.cls b/force-app/main/default/classes/LexContractAuthorizeController.cls
new file mode 100644
index 0000000..19acb51
--- /dev/null
+++ b/force-app/main/default/classes/LexContractAuthorizeController.cls
@@ -0,0 +1,454 @@
+public with sharing class LexContractAuthorizeController {
+ public LexContractAuthorizeController() {
+ }
+ @AuraEnabled
+ public static Opportunity init(String recordId){
+ try{
+ Opportunity item=[select
+ id,Estimation_Decision__c,Contract_DB_complite_day__c,Contract_Authorize__c,Contract_Authorize_Lock__c,If_Need_Authorize__c,
+ Authorized_DB_No__c,SPO_URL__c,Estimation_No__c,Closing_Bid_Date__c,Bid_Date__c,
+ Cnt_Lost_cancel_Draft__c,Cnt_Lost_cancel_report__c,IF_Submit__c,Agency1__c,Trade__c,Sales_Root__c,Is_Corrosion__c
+ from Opportunity
+ where id = :recordId];
+ return item;
+
+ }catch(Exception e){
+ System.debug('LexStockCancelController init error: '+e.getMessage());
+ }
+ return null;
+ }
+
+ @AuraEnabled
+ public static UpdateResult updateOppotunity(
+ String recordId
+ ) {
+ UpdateResult result = new UpdateResult();
+ result.recordId = recordId;
+ try{
+ Opportunity opp=new Opportunity(id=recordId);
+ opp.Contract_Authorize__c = true;
+
+ opp.If_Interface_Lock__c=true;
+
+ opp.IF_Submit__c = true;
+ update opp;
+ result.success = true;
+ result.errors = new List<String>();
+ return result;
+ }catch(Exception e){
+ result.success = false;
+ result.errors = new List<String>();
+ result.errors.add(e.getMessage());
+ System.debug(LoggingLevel.INFO,'updateOppotunity Error : ' + e);
+ }
+ return result;
+ }
+ @AuraEnabled
+ public static String submitApprovalRequest(String recordId) {
+ try{
+ Approval.ProcessSubmitRequest req = new Approval.ProcessSubmitRequest();
+ req.setObjectId(recordId);
+ Approval.ProcessResult result = Approval.process(req);
+ if(result!=null&&result.getErrors()!=null&&result.getErrors().size()>0) return result.getErrors().get(0).getMessage();
+ }catch(Exception e){
+ System.debug('LexStockCancelController submitApprovalRequest error: '+e.getMessage());
+ return e.getMessage();
+ }
+ return null;
+ }
+
+ @AuraEnabled
+ public static String getProfileId(){
+ return UserInfo.getProfileId();
+ }
+ @AuraEnabled
+ public static Boolean judgeIsAssistantAppliedOutTime(String Quoteid) {
+ List<PromotionSales__c> PromotionSalesList = [select id,IsAssistantAppliedOutTime__c from PromotionSales__c where Quote__r.Quote_No__c =:Quoteid];
+ for(PromotionSales__c pro : PromotionSalesList){
+ if(pro.IsAssistantAppliedOutTime__c){
+ return false;
+ }
+ }
+ return true;
+ }
+ @AuraEnabled
+ public static Opportunity searchOpportunity(String oppid) {
+ try{
+ Opportunity res=[select Id,Contract_Authorize_Lock__c from Opportunity where Id =:oppid];
+ return res;
+ }catch(Exception e){
+ System.debug('LexStockCancelController submitApprovalRequest error: '+e.getMessage());
+ }
+ return null;
+ }
+ @AuraEnabled
+ // LHJ 闃胯タ璧涘妫�鏌� Start
+ public static String checkDangerItem(String agency1) {
+ //娌℃湁鍗卞寲鍝佽瘉鐓х殑鎻愮ず淇℃伅
+ String licenseStr = '绗竴缁忛攢鍟嗘病鏈夋湁鏁堢殑鍗遍櫓鍖栧鍝佺粡钀ヨ鍙瘉銆�';
+ //娌℃湁闃胯タ璧涘缁忛攢鍟嗗崗璁殑鎻愮ず淇℃伅
+ String accStr = '绗竴缁忛攢鍟嗘病鏈夐樋瑗胯禌澶氱粡閿�鍟嗗崗璁��';
+
+ //妫�鏌ユ槸鍚︽湁璇佺収
+ List<License_Information__c> licenseList = [SELECT Id
+ FROM License_Information__c
+ WHERE LicenseAndAccount__c = :agency1
+ AND LicenseType__c = '鍗遍櫓鍖栧鍝佺粡钀ヨ鍙瘉'
+ AND Is_Active_Formula__c = true
+
+ ];
+ //妫�鏌ユ槸鍚︽湁闃胯タ璧涘鍗忚
+ List<Account> accountList = [SELECT Id
+ FROM Account
+ WHERE Parent.id = :agency1
+ //闃胯タ璧涘 澧炲姞妫�绱㈤樋瑗胯禌澶氬崗璁� 浠ュ強 鍙互鍋氭姤浠�(澶嶉�夋) 绮剧悽鎶�鏈� wql 2021/01/04 start
+ AND Contract_Quote_Decide_Flag_checkbox__c =true
+ AND Assiesedo_Dealer__c = true
+ //闃胯タ璧涘 澧炲姞妫�绱㈤樋瑗胯禌澶氬崗璁� 浠ュ強 鍙互鍋氭姤浠�(澶嶉�夋) 绮剧悽鎶�鏈� wql 2021/01/04 end
+ ];
+
+ system.debug('licenseList:'+licenseList.size());
+ system.debug('agency1:'+agency1);
+ //鈶犳棦娌℃湁鍗卞寲鍝佽瘉涔熸病鏈夐樋瑗胯禌澶氬崗璁�
+ if(licenseList.size() == 0 && accountList.size() ==0){
+ return licenseStr+accStr;
+ }
+ //鈶℃病鏈夊嵄鍖栧搧璇�
+ else if(licenseList.size() ==0){
+ return licenseStr;
+ }
+ //鈶℃病鏈夐樋瑗胯禌澶氱粡閿�鍟嗗崗璁�
+ else if(accountList.size() ==0){
+ return accStr;
+ }
+ //鈶㈠叏閮芥湁
+ else{
+ return 'OK';
+ }
+ }
+ @AuraEnabled
+ public static String oppCheck(String oppid, String saveFlg) {
+
+ Map<Id, String> proMap= new Map<Id, String>();
+ List<OpportunityLineItem> OppItemList = [select PricebookEntry.Product2Id, PricebookEntry.Product2.Name
+ From OpportunityLineItem
+ Where OpportunityId = :oppid];
+
+ if (OppItemList.size() > 0) {
+ for (OpportunityLineItem opl : OppItemList) {
+ proMap.put(opl.PricebookEntry.Product2Id, opl.PricebookEntry.Product2.Name);
+ }
+ }
+
+ List<Opportunity> oppList = [select Agency1__c from Opportunity where id = :oppid];
+ String angencyId = oppList[0].Agency1__c;
+ String strRet = '';
+
+ if (saveFlg == '1') {
+ strRet = checkProRegisterDecide(proMap, angencyId, oppid);
+ } else {
+ strRet = checkProRegisterDecide(proMap, angencyId, '');
+ }
+ return strRet;
+ }
+ public static String checkProRegisterDecide(Map<Id, String> proMap, String agency1, String OppId) {
+
+ String errormessage = '';
+ Boolean error = false;
+
+ Map<String, String> CheckMap = new Map<String, String>();
+ CheckMap = MapCheckProRegisterDecide(proMap, agency1, OppId);
+ if (CheckMap.isEmpty()) {
+ return 'OK';
+ } else {
+ return '鏈変笉鍙攢鍞骇鍝佹垨瓒呭嚭缁忛攢鍟嗙粡钀ヨ寖鍥达紝璇锋洿鏂版姤浠峰崟' + CheckMap;
+ }
+
+ }
+ @AuraEnabled
+ public static String updReg(String oppid) {
+
+ List<OpportunityLineItem> updList = new List<OpportunityLineItem>();
+ List<OpportunityLineItem> OppItemList = [select id, Id__c, Register_alleffective__c,
+ PricebookEntry.Product2.RegisterNo_ALL__c
+ From OpportunityLineItem
+ Where OpportunityId = :oppid];
+ for (OpportunityLineItem ol : OppItemList) {
+ ol.Register_alleffective__c = ol.PricebookEntry.Product2.RegisterNo_ALL__c;
+ updList.add(ol);
+ }
+ if (updList.size() > 0) update updList;
+ return 'OK';
+ }
+ public static Map<String, String> MapCheckProRegisterDecide(Map<Id, String> proMap, String agency1, String OppId) {
+
+ Map<String, String> retMap = new Map<String, String>();
+ String errormessage = '';
+ Boolean error = false;
+ Map<String,List<String>> proAllBSstrMap;
+ List<String> proNotNeedList = new List<String>();
+
+ Map<String,List<String>> old_newMap = new Map<String,List<String>>();
+ Map<String,List<String>> new_oldMap = new Map<String,List<String>>();
+
+ // 鍙栧緱 缁忚惀鑼冨洿瀵瑰簲浜у搧鍏崇郴
+ List<String> midStr = new List<String>();
+ List<String> midStrO = new List<String>();
+
+ // List<Product_Register_contrast__c> rrList = Product_Register_contrast__c.getall().values();
+
+ // for (Product_Register_contrast__c rr : rrList) {
+
+ // midStr = new List<String>();
+ // midStrO = new List<String>();
+
+ // // 缁忚惀鑼冨洿瀵瑰簲浜у搧鍏崇郴 Map浣滄垚 鏃�-鏂板鐓�
+ // if (old_newMap.containsKey(rr.Register_old__c)) {
+ // old_newMap.get(rr.Register_old__c).add(rr.Register_new__c);
+ // } else {
+ // midStrO.add(rr.Register_new__c);
+ // old_newMap.put(rr.Register_old__c, midStrO.clone());
+ // }
+
+ // // 缁忚惀鑼冨洿瀵瑰簲浜у搧鍏崇郴 Map浣滄垚 鏂�-鏃у鐓�
+ // if (new_oldMap.containsKey(rr.Register_new__c)) {
+ // new_oldMap.get(rr.Register_new__c).add(rr.Register_old__c);
+ // } else {
+ // midStr.add(rr.Register_old__c);
+ // new_oldMap.put(rr.Register_new__c, midStr.clone());
+ // }
+
+ // }
+ // 鍙栧緱缁忛攢鍟� 鍖荤枟鍣ㄦ缁忚惀璁稿彲璇�
+ List<License_Information__c> licenseList = [SELECT Id,
+ ScopeKey__c,
+ LicenseType__c
+ FROM License_Information__c
+ WHERE LicenseAndAccount__c = :agency1
+ AND (LicenseType__c = '鍖荤枟鍣ㄦ缁忚惀璁稿彲璇�'
+ OR LicenseType__c = '绗簩绫诲尰鐤楀櫒姊扮粡钀ュ妗堝嚟璇�')
+ AND Is_Active_Formula__c = true
+ ];
+ // 鍒ゆ柇 鍖荤枟鍣ㄦ缁忚惀璁稿彲璇� 鏄惁瀛樺湪
+ if (licenseList.size() == 0) {
+ error = true;
+ errormessage = '绗竴缁忛攢鍟嗘病鏈夋湁鏁堢殑鍖荤枟鍣ㄦ缁忚惀璁稿彲璇併��';
+ retMap.put('agency', '0');
+
+ } else {
+ //缁忛攢鍟嗙粡钀ヨ寖鍥�
+ List<String> agListA = new List<String>();
+ List<String> agListTemp = new List<String>();
+ List<String> agList = new List<String>();
+
+ //鍙栫粡閿�鍟嗕笅 鎵�鏈夊尰鐤楀櫒姊扮粡钀ヨ鍙瘉銆佺浜岀被鍖荤枟鍣ㄦ缁忚惀澶囨鍑瘉
+ for (License_Information__c li : licenseList) {
+ if (li.ScopeKey__c != null) {
+ agListA.addAll(li.ScopeKey__c.split(';'));
+ agListTemp.addAll(li.ScopeKey__c.split(';'));
+ }
+ }
+ for (String a : agListTemp) {
+ if (a.length() >= 6) {
+ agList.add(a.substring(0, a.length() - 1));
+ } else {
+ agList.add(a.trim());
+ }
+ }
+
+ //浜у搧娉ㄥ唽璇�
+ Map<String,Map<String,String>> proBSMap = new Map<String,Map<String,String>>();
+
+ Map<String,String> proMidMap = null;
+ //浜у搧鎵�鏈夋湁鏁堟敞鍐岃瘉锛堝彲浠ュ拰缁忛攢鍟嗗尮閰嶏級
+ proAllBSstrMap = new Map<String,List<String>>();
+ set<Id> proIdList = new set<Id>();
+
+ for (String qli : proMap.keySet()) {
+ proIdList.add(qli);
+ proBSMap.put(qli, proMidMap);
+ List<String> empList = new List<String>();
+ proAllBSstrMap.put(qli, empList);
+
+ }
+
+ List<Product_Register_Link__c> prls = [
+ Select Product2__c,
+ Product2__r.Asset_Model_No__c,
+ Product2__r.SFDA_Approbated_Status__c,
+ Product2__r.SFDA_Status_New__c, // 浜у搧鐨凜FDA鏈�缁堢姸鎬� 20181225
+ Product_Register__r.Name,
+ Product_Register__r.BusinessScopeKey__c,
+ Product_Register__r.RegisterNoStatus__c,
+ Product_Register__r.MedPrdClass__c
+ From Product_Register_Link__c
+ where Product2__c in :proIdList
+ ];
+
+ // LHJ 20190102 澧炲姞璺宠繃閫昏緫 Start
+ List<Product2> productList = [select ID,SFDA_Status__c from Product2 where id in :proIdList];
+ for (Product2 pro : productList) {
+ if (pro.SFDA_Status__c == '涓嶈') {
+ proNotNeedList.add(pro.ID);
+ }
+ }
+ // LHJ 20190102 澧炲姞璺宠繃閫昏緫 End
+
+ for (Product_Register_Link__c prl : prls) {
+
+ // 璁剧疆浜у搧绫诲埆MAP
+ if (String.isNotBlank(prl.Product_Register__r.BusinessScopeKey__c)) {
+ system.debug('Product2 +++++++' + prl.Product2__c);
+ if (proBSMap.get(prl.Product2__c) != null) {
+ proBSMap.get(prl.Product2__c).put(prl.Product_Register__r.Name, prl.Product_Register__r.BusinessScopeKey__c);
+
+ } else {
+ Map<String,String> toooMap = new Map<String,String>();
+ toooMap.put(prl.Product_Register__r.Name, prl.Product_Register__r.BusinessScopeKey__c);
+ proBSMap.put(prl.Product2__c, toooMap.clone());
+ }
+ }
+
+ // 浜у搧鐨勪骇鍝佹敞鍐岃瘉鏄�"涓嶈"鐘舵�� 涓嶉渶瑕佸尮閰嶆敞鍐岃瘉 20181225
+ if (prl.Product2__r.SFDA_Approbated_Status__c == '涓嶈'
+
+ || prl.Product_Register__r.MedPrdClass__c == '1') {
+ proNotNeedList.add(prl.Product2__c);
+ }
+ }
+ system.debug('proBSMap +++++++' + proBSMap);
+ for (String qli : proMap.keySet()) {
+
+ String proId = qli;
+ String proName = proMap.get(proId);
+
+ if (proId != null) {
+ Boolean haveBS = false;
+
+ // 浜у搧灞炰簬闈炲尰鐤楋紝涓嶇敤鍒ゆ柇缁忚惀鑼冨洿
+ if (proNotNeedList.contains(proId)) {
+ haveBS = true;
+ continue;
+ }
+
+ if (proBSMap.get(proId) == null) {
+ error = true;
+ errormessage += '浜у搧"' + proName + '"娌℃湁鏈夋晥鐨勪骇鍝佹敞鍐岃瘉銆俓n';
+ retMap.put(proId, '1');
+ continue;
+ }
+
+
+ if (proBSMap.get(proId) != null) {
+ system.debug('111 +++++++' + proBSMap);
+ Map<String,String> midMap = new Map<String,String>();
+ midMap = proBSMap.get(proId);
+
+ for (String str : midMap.keySet()) {
+ // LHJ 20200711 Start
+ String strMidMap = midMap.get(str);
+ List<String> proRegList = new List<String>();
+ proRegList.addAll(strMidMap.split(';'));
+ // LHJ 20200711 End
+ for(String strReg:proRegList){
+ // 琚畾涔変负"6815A"鐨勪骇鍝佺被鍒�,缁忚惀鑼冨洿涓繀椤绘湁6815鎴栬��6815A澶栨墠鍙互鍖归厤銆�
+ if (strReg.length() == 6) {
+
+ for(String strAg:agListA){
+ if(strAg.length() >= 5 && midMap.get(str.substring(0, str.length() - 1)) == strAg.substring(0,5)){
+ proAllBSstrMap.get(proId).add(str.substring(0, str.length() - 1));
+ haveBS = true;
+ break;
+ }
+ }
+
+ /*if (agListA.contains(midMap.get(str.substring(0, str.length() - 1)))) {
+ proAllBSstrMap.get(proId).add(str.substring(0, str.length() - 1));
+ haveBS = true;
+ }*/
+ } else {
+ system.debug('agList +++++++' + agList);
+ system.debug('midMap +++++++' + strReg);
+
+ if (agList.contains(strReg)) {
+
+ //浜у搧绫诲埆,鍖归厤鍒扮粡閿�鍟嗙被鍒�
+ proAllBSstrMap.get(proId).add(str);
+ haveBS = true;
+ break;
+ }
+ }
+ }
+
+
+ }
+ }
+
+ if (!haveBS) {
+ error = true;
+ errormessage += '绗竴缁忛攢鍟嗙殑缁忚惀鑼冨洿涓笉鍖呭惈浜у搧" ' + proName + '"銆俓n';
+ retMap.put(proId, '2');
+ }
+ }
+ }
+ }
+
+ if (retMap.isEmpty() == false) {
+ //return errormessage;
+
+ } else {
+ if (OppId != '') {
+ // 鏇存柊鎵�鏈夋敞鍐岃瘉淇℃伅
+ String strRegister_alleffective;
+ List<Product2> pro2List = new List<Product2>();
+ Map<String, Product2> pro2Map = new Map<String, Product2>();
+ List<OpportunityLineItem> updList = new List<OpportunityLineItem>();
+ List<OpportunityLineItem> OppItemList = [select id, Id__c, Register_alleffective__c,PricebookEntry.Product2Id
+ From OpportunityLineItem
+ Where OpportunityId = :OppId];
+ // 闈炲尰鐤楁垨1绫讳骇鍝侊紝鍙栧緱
+ if (proNotNeedList != null && proNotNeedList.size() > 0) {
+ pro2List = [select id, SFDA_Approbated_Status__c, RegisterNo_ALL__c from Product2 where Id in :proNotNeedList];
+ }
+ for (Product2 pro2 : pro2List) {
+ pro2Map.put(pro2.Id, pro2);
+ }
+
+ for (OpportunityLineItem ol : OppItemList) {
+ if (proAllBSstrMap.containsKey(ol.PricebookEntry.Product2Id)) {
+ ol.Register_alleffective__c = '';
+ for(String str: proAllBSstrMap.get(ol.PricebookEntry.Product2Id)) {
+
+ if (String.isNotBlank(ol.Register_alleffective__c)) {
+ ol.Register_alleffective__c += ';' + str;
+ } else {
+ ol.Register_alleffective__c = str;
+ }
+ }
+ // 闈炲尰鐤楁垨1绫讳骇鍝�
+ if (pro2Map.containskey(ol.PricebookEntry.Product2Id)) {
+ if (pro2Map.get(ol.PricebookEntry.Product2Id).SFDA_Approbated_Status__c == '涓嶈') {
+ ol.Register_alleffective__c = 'FYL';
+ } else {
+ ol.Register_alleffective__c = pro2Map.get(ol.PricebookEntry.Product2Id).RegisterNo_ALL__c;
+ }
+ }
+ }
+ updList.add(ol);
+ }
+ if (updList.size() > 0) update updList;
+ }
+ }
+ //濡傛灉涓嶆弧瓒抽樋瑗胯禌澶氱殑鏉′欢锛岃繘鍏ヨ繖涓彉閲� 20200821 ljh
+ return retMap;
+ }
+ public class UpdateResult {
+ @AuraEnabled public String recordId {get;set;}
+ @AuraEnabled public Boolean success {get;set;}
+ @AuraEnabled public List<String> errors {get;set;}
+ }
+ public class InitData{
+
+
+ }
+}
\ No newline at end of file
diff --git a/force-app/main/default/classes/LexContractAuthorizeController.cls-meta.xml b/force-app/main/default/classes/LexContractAuthorizeController.cls-meta.xml
new file mode 100644
index 0000000..d75b058
--- /dev/null
+++ b/force-app/main/default/classes/LexContractAuthorizeController.cls-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>51.0</apiVersion>
+ <status>Active</status>
+</ApexClass>
diff --git a/force-app/main/default/classes/LexInventoryController.cls b/force-app/main/default/classes/LexInventoryController.cls
index 3436794..edbf83a 100644
--- a/force-app/main/default/classes/LexInventoryController.cls
+++ b/force-app/main/default/classes/LexInventoryController.cls
@@ -1,4 +1,11 @@
public without sharing class LexInventoryController {
+ // page
+ public static Integer pagesize { get; set; }
+ public static Integer pageToken { get; set; }
+ public static String sortField { get; set; }
+ public static String sortOrder { get; set; }
+
+ public static Integer totalcount { get; set; }
//鍒嗛〉浣跨敤鏁版嵁
public static String fileName { get; set; }
public static Integer size{get;set;}
@@ -35,10 +42,10 @@
//list<String> notexitlist = new list<String>();
public static Map<String,String> reFindProduct = new Map<String,String>();
//鎺掑簭鐢�
- public static String sortKey;
- public static String preSortKey;
- public static Boolean sortOrderAsc;
- public static String[] sortOrder;
+ // public static String sortKey;
+ // public static String preSortKey;
+ // public static Boolean sortOrderAsc;
+ // public static String[] sortOrder;
//private Set<String> carCodeListLose = new Set<String>(); //ProductCount_Res 鏈夛紝BarCodeListP 娌℃湁
/*****************缁忛攢鍟咺D******************/
private static String accountid = null;
@@ -105,6 +112,8 @@
// 鐢婚潰鍒濆鍖�
@AuraEnabled
public static ResponseBodyLWC init() {
+
+
ResponseBodyLWC res = new ResponseBodyLWC();
Map<String,object> data = new Map<String,object>();
res.entity = data;
@@ -123,11 +132,11 @@
System.debug('pandiandetailsMap====>'+pandiandetailsMap);
initStandardController();
makepagerecords();
- sortKey = '1';
- preSortKey = '1';
- sortOrderAsc = false;
- sortOrder = new String[1];
- sortOrder = new String[]{' ',' ','鈫�'};
+ // sortKey = '1';
+ // preSortKey = '1';
+ // sortOrderAsc = false;
+ // sortOrder = new String[1];
+ // sortOrder = new String[]{' ',' ','鈫�'};
String userId = UserInfo.getUserId();
//String userId = '00510000006k82X';
@@ -236,15 +245,10 @@
}
//consumableorderdetailsCount = consumableorderdetailsRecords.size();
listCut();
-
+
system.debug('ConsumableorderdetailsRecordsview'+ConsumableorderdetailsRecordsview);
System.debug('ConsumableorderdetailsRecordsview==>'+ConsumableorderdetailsRecordsview);
- // data.put('ConsumableorderdetailsRecordsview',ConsumableorderdetailsRecordsview);
-
- // for(ConsumableorderdetailsInfo con: ConsumableorderdetailsRecordsview){
- // consumableorderdetailsviewRecords.add(con);
- // }
System.debug('consumableorderdetailsviewRecords===>'+consumableorderdetailsviewRecords);
System.debug('consumableorderdetailsRecords===>'+consumableorderdetailsRecords);
@@ -321,7 +325,12 @@
//========20160311======ADD_End==================================
// BarCode褰曞叆
@AuraEnabled
- public static ResponseBodyLWC searchConsumableorderdetails(String agencyProType,String userWorkLocation,String accountName,String barcode,String consumableorderdetailsRecordsLWC){
+ public static ResponseBodyLWC searchConsumableorderdetails(String agencyProType,String userWorkLocation,String accountName,String barcode,String consumableorderdetailsRecordsLWC,Integer pageSizeLWC, Integer pageTokenLWC, String sortFieldLWC, String sortOrderLWC){
+ pageSize = pageSizeLWC;
+ pageToken = pageTokenLWC;
+ sortField = sortFieldLWC;
+ sortOrder = sortOrderLWC;
+
System.debug('===>consumableorderdetailsRecordsLWC'+consumableorderdetailsRecordsLWC);
List<ConsumableorderdetailsInfo> consumableorderdetailsRecords = (List<ConsumableorderdetailsInfo>)JSON.deserialize(consumableorderdetailsRecordsLWC,List<ConsumableorderdetailsInfo>.class);
// ConsumableorderdetailsInfo[] consumableorderdetailsRecords=(List<ConsumableorderdetailsInfo>)JSON.deserialize(consumableorderdetailsRecordsLWC,List<ConsumableorderdetailsInfo>.class);
@@ -492,6 +501,7 @@
}
initStandardController();
showcod2nid = cod2s();
+ system.debug('showcod2nid===>'+showcod2nid);
for (Consumable_order_details2__c cod2 : showcod2nid) {
codPageRecords.add(new ConsumableorderdetailsInfo(cod2,pandiandetailsMap.get(cod2.Id)));
}
@@ -520,15 +530,40 @@
if(pandiandetailsListMid.size() > 0){
pandiandetailsListShow.add(pandiandetailsListMid);
}
+
+ PaginatedAccounts paginatedAccounts = new PaginatedAccounts();
+ totalCount = codPageRecords.size();
+ paginatedAccounts.nextPageToken = (pageToken + pageSize < totalCount) ? pageToken + pageSize : null;
+ paginatedAccounts.recordStart = pageToken + 1;
+ paginatedAccounts.pageNumber = pageToken / pageSize + 1;
+ Integer recordEnd = pageSize * paginatedAccounts.pageNumber;
+ paginatedAccounts.recordEnd = totalCount >= recordEnd ? recordEnd : totalCount;
+ paginatedAccounts.totalRecords = totalCount;
+
+ Integer startIdx;
+ Integer endIdx;
+ List<ConsumableorderdetailsInfo> pageCodeRecords = new List<ConsumableorderdetailsInfo>();
+ startIdx = pageToken;
+ endIdx = startIdx + pageSize;
+ if (endIdx > codPageRecords.size()) {
+ endIdx = codPageRecords.size();
+ }
+ for (Integer i = startIdx; i < endIdx; i++) {
+ pageCodeRecords.add(codPageRecords.get(i));
+ }
+
+ data.put('paginatedAccounts', paginatedAccounts);
data.put('codPageRecords',JSON.serialize(codPageRecords));
+ data.put('consumableorderdetailsRecords',JSON.serialize(consumableorderdetailsRecords));
data.put('consumableorderdetailsRecords',JSON.serialize(consumableorderdetailsRecords));
data.put('pandiandetailsMap',pandiandetailsMap);
System.debug('iSinventory===>'+iSinventory);
+ System.debug('codPageRecords===>'+codPageRecords);
data.put('iSinventory',JSON.serialize(iSinventory));
- data.put('iSinventory',JSON.serialize(iSinventory));
+ data.put('reSet1',JSON.serialize(reSet1));
res.code = 200;
- res.status = 'Success';
- res.msg = 'barcode涓虹┖';
+ res.status = 'Success1';
+ // res.msg = 'barcode涓虹┖';
return res;
// return;
}
@@ -937,6 +972,33 @@
if(pandiandetailsListMid.size() > 0){
pandiandetailsListShow.add(pandiandetailsListMid);
}
+ //鍒嗛〉
+ PaginatedAccounts paginatedAccounts = new PaginatedAccounts();
+ totalCount = codPageRecords.size();
+ paginatedAccounts.nextPageToken = (pageToken + pageSize < totalCount) ? pageToken + pageSize : null;
+ paginatedAccounts.recordStart = pageToken + 1;
+ paginatedAccounts.pageNumber = pageToken / pageSize + 1;
+ Integer recordEnd = pageSize * paginatedAccounts.pageNumber;
+ paginatedAccounts.recordEnd = totalCount >= recordEnd ? recordEnd : totalCount;
+ paginatedAccounts.totalRecords = totalCount;
+
+ Integer startIdx;
+ Integer endIdx;
+ List<ConsumableorderdetailsInfo> pageCodeRecords = new List<ConsumableorderdetailsInfo>();
+ startIdx = pageToken;
+ endIdx = startIdx + pageSize;
+ if (endIdx > codPageRecords.size()) {
+ endIdx = codPageRecords.size();
+ }
+ for (Integer i = startIdx; i < endIdx; i++) {
+ pageCodeRecords.add(codPageRecords.get(i));
+ }
+
+ data.put('paginatedAccounts', paginatedAccounts);
+ data.put('pageCodeRecords', pageCodeRecords);
+
+ //end
+
System.debug('=====>codPageRecords2'+codPageRecords);
System.debug('=====>consumableorderdetailsRecords'+consumableorderdetailsRecords);
data.put('codPageRecords',JSON.serialize(codPageRecords));
@@ -946,6 +1008,10 @@
System.debug('pandiandetailsMap===>'+pandiandetailsMap);
data.put('pandiandetailsMap',pandiandetailsMap);
data.put('reSet',reSet);
+ data.put('consumableorderdetailsRecordsview',JSON.serialize(consumableorderdetailsRecordsview));
+ System.debug('=====>consumableorderdetailsRecordsview'+consumableorderdetailsRecordsview);
+
+
res.code = 200;
@@ -1121,6 +1187,19 @@
Pagereference pr = page.InventoryCSV;
return pr;
}
+ //鍒嗛〉Bean
+ public class PaginatedAccounts {
+ @AuraEnabled
+ public Integer nextPageToken;
+ @AuraEnabled
+ public Integer pageNumber { get; set; }
+ @AuraEnabled
+ public Integer totalRecords { get; set; }
+ @AuraEnabled
+ public Integer recordStart { get; set; }
+ @AuraEnabled
+ public Integer recordEnd { get; set; }
+ }
// Data Bean
class ConsumableorderdetailsInfo implements Comparable {
diff --git a/force-app/main/default/classes/LexInventoryViewController.cls b/force-app/main/default/classes/LexInventoryViewController.cls
index 71b43cb..3a36902 100644
--- a/force-app/main/default/classes/LexInventoryViewController.cls
+++ b/force-app/main/default/classes/LexInventoryViewController.cls
@@ -7,9 +7,8 @@
public static Integer pagesize { get; set; }
public static Integer pageToken { get; set; }
public static String sortField { get; set; }
- public static String sortOrder{ get; set; }
+ public static String sortOrder { get; set; }
-
public static Integer totalcount { get; set; }
// public static Integer pagecount { get; set; }
// public static Integer currentpage { get; set; }
@@ -86,19 +85,16 @@
}
@AuraEnabled
- public static ResponseBodyLWC init2(Integer pageSizeLWC,Integer pageTokenLWC,String sortFieldLWC,String sortOrderLWC) {
+ public static ResponseBodyLWC init2(Integer pageSizeLWC, Integer pageTokenLWC, String sortFieldLWC, String sortOrderLWC) {
return new ResponseBodyLWC('Error', 500, '娴嬭瘯 init2', '');
}
@AuraEnabled
public static ResponseBodyLWC init(Integer pageSizeLWC, Integer pageTokenLWC, String sortFieldLWC, String sortOrderLWC) {
- pageSize =pageSizeLWC;
+ pageSize = pageSizeLWC;
pageToken = pageTokenLWC;
sortField = sortFieldLWC;
sortOrder = sortOrderLWC;
-
-
-
ResponseBodyLWC res = new ResponseBodyLWC();
Map<String, object> data = new Map<String, object>();
@@ -400,12 +396,10 @@
PaginatedAccounts paginatedAccounts = new PaginatedAccounts();
paginatedAccounts.nextPageToken = (pageToken + pageSize < totalCount) ? pageToken + pageSize : null;
paginatedAccounts.recordStart = pageToken + 1;
- paginatedAccounts.pageNumber = pageToken/pageSize + 1;
+ paginatedAccounts.pageNumber = pageToken / pageSize + 1;
Integer recordEnd = pageSize * paginatedAccounts.pageNumber;
paginatedAccounts.recordEnd = totalCount >= recordEnd ? recordEnd : totalCount;
paginatedAccounts.totalRecords = totalCount;
-
-
data.put('paginatedAccounts', paginatedAccounts);
@@ -421,17 +415,23 @@
data.put('userWorkLocation', userWorkLocation);
data.put('agencyProType', agencyProType);
data.put('pageRecords', pageRecords);
+ data.put('hasHos', hasHos);
res.status = 'Success';
res.code = 200;
System.debug('res = ' + res);
return res;
}
-
- public static void categoryAllload() {
+ @AuraEnabled
+ public static ResponseBodyLWC categoryAllload(String category3LWC,String agencyProTypeLWC) {
ResponseBodyLWC res = new ResponseBodyLWC();
- // Map<String, object> data = new Map<String, object>();
- // dataselect = new List<SelectOption>();
- // res.entity = dataselect;
+ Map<String, object> data = new Map<String, object>();
+ res.entity = data;
+ category3 = category3LWC;
+ agencyProType = '%' + agencyProTypeLWC + '%';
+
+ System.debug('category3LWC===>'+category3LWC);
+ System.debug('agencyProType===>'+agencyProType);
+
AggregateResult[] category4List = [
SELECT Count(id), Category4_text__c c4c
FROM Product2__c
@@ -445,9 +445,13 @@
];
category4OptionList = new List<SelectOption>();
category4OptionList.add(new SelectOption('', '-鏃�-'));
+ category4OptionMap = new Map<String, String>();
+ category4OptionMap.put('', '-鏃�-');
+
for (AggregateResult category4Search : category4List) {
String deliverycnt4 = String.valueOf(category4Search.get('c4c'));
category4OptionList.add(new SelectOption(deliverycnt4, deliverycnt4));
+ category4OptionMap.put(deliverycnt4, deliverycnt4);
}
AggregateResult[] category5List = [
@@ -464,16 +468,21 @@
category5OptionList = new List<SelectOption>();
category5OptionList.add(new SelectOption('', '-鏃�-'));
+ category5OptionMap = new Map<String, String>();
+ category5OptionMap.put('', '-鏃�-');
for (AggregateResult category5Search : category5List) {
String deliverycnt5 = String.valueOf(category5Search.get('c5c'));
category5OptionList.add(new SelectOption(deliverycnt5, deliverycnt5));
+ category5OptionMap.put(deliverycnt5, deliverycnt5);
}
-
- // data.put('category4OptionList'+category4OptionList);
- // data.put('category5OptionList'+category5OptionList);
- // res.status = 'Success';
- // res.code = '200';
- // return res;
+ System.debug('绫诲埆4'+category4OptionList);
+ System.debug('绫诲埆5'+category5OptionList);
+ data.put('category4OptionMap', category4OptionMap);
+ data.put('category5OptionMap', category5OptionMap);
+ res.status = 'Success';
+ res.code = 200;
+ System.debug('res = ' + res);
+ return res;
}
public static void categoryload() {
@@ -525,13 +534,16 @@
String accountName,
string agencyProType,
string userWorkLocation,
- Integer pageSizeLWC, Integer pageTokenLWC, String sortFieldLWC, String sortOrderLWC
+ Integer pageSizeLWC,
+ Integer pageTokenLWC,
+ String sortFieldLWC,
+ String sortOrderLWC
) {
try {
- pageSize =pageSizeLWC;
- pageToken = pageTokenLWC;
- sortField = sortFieldLWC;
- sortOrder = sortOrderLWC;
+ pageSize = pageSizeLWC;
+ pageToken = pageTokenLWC;
+ sortField = sortFieldLWC;
+ sortOrder = sortOrderLWC;
orderDetZaikuList = orderDetZaikuListLWC;
sqlagencyProType = '%' + agencyProType + '%';
@@ -590,13 +602,18 @@
System.debug('orderDetZaikuList = ' + orderDetZaikuList);
System.debug('accountName = ' + accountName);
System.debug('soql====>' + soql);
- if(String.isNotBlank(sortField) && String.isNotBlank(sortOrder)){
- soql += ' ORDER BY ' + sortField + ' ' + sortOrder;
- }
+ //鎺掑簭
+ // if (String.isNotBlank(sortField) && String.isNotBlank(sortOrder)) {
+ // if(sortFieldLWC != 'limitCount'){
+ // soql += ' ORDER BY ' + sortField + ' ' + sortOrder;
+
+ // }
+ // }
System.debug('soql = ' + soql);
//soql += ' ORDER BY ' + this.columus[Integer.valueOf(this.sortKey)] + ' ' + (this.sortOrderAsc == true ? 'asc nulls first' : 'desc nulls last');
List<Product2__c> queryList = Database.query(soql);
System.debug('queryList = ' + queryList);
+
for (Integer i = 0; i < queryList.size(); i++) {
MidMap.put(queryList[i].Id, queryList[i]);
}
@@ -758,19 +775,29 @@
PaginatedAccounts paginatedAccounts = new PaginatedAccounts();
paginatedAccounts.nextPageToken = (pageToken + pageSize < totalCount) ? pageToken + pageSize : null;
paginatedAccounts.recordStart = pageToken + 1;
- paginatedAccounts.pageNumber = pageToken/pageSize + 1;
+ paginatedAccounts.pageNumber = pageToken / pageSize + 1;
Integer recordEnd = pageSize * paginatedAccounts.pageNumber;
paginatedAccounts.recordEnd = totalCount >= recordEnd ? recordEnd : totalCount;
paginatedAccounts.totalRecords = totalCount;
-
-
+ List<ConsumableorderdetailsInfo> pageRecordsCompare = new List<ConsumableorderdetailsInfo>();
+ System.debug('queryList = ' + JSON.serialize(queryList));
+ for (Integer i = 0; i < queryList.size(); i++) {
+ for(ConsumableorderdetailsInfo ci : pageRecords){
+ if(queryList[i].Id == ci.Prod.Id){
+ System.debug('queryList[i].Id =' + queryList[i].Id);
+ System.debug('ci.Prod.Id =' + queryList[i].Id);
+ pageRecordsCompare.add(ci);
+ }
+ }
+ }
data.put('paginatedAccounts', paginatedAccounts);
data.put('accountid', accountid);
data.put('userWorkLocation', userWorkLocation);
data.put('agencyProType', agencyProType);
- data.put('pageRecords', pageRecords);
- system.debug('===========>pageRecords' + pageRecords);
+ data.put('pageRecords', pageRecordsCompare);
+ data.put('hasHos', hasHos);
+ system.debug('===========>pageRecords' + pageRecordsCompare);
system.debug('===========>data' + data);
if (pageRecords.isEmpty()) {
res.msg = '鏈悳绱㈠埌鐩稿叧娑堣�楀搧璁㈠崟锛�';
@@ -897,7 +924,7 @@
// public static void SortStore() {
// if (sortKey == preSortKey) {
// // 鏂瑰悜銇屽銈忋倠銇伩
- // sortOrderAsc = !sortOrderAsc;
+ // sortOrder = !sortOrder;
// sortOrder[Integer.valueOf(sortKey)] = (sortOrderAsc == true ? '鈫�' : '鈫�');
// } else {
// sortOrderAsc = true;
@@ -911,6 +938,7 @@
// }
// pageRecords.sort();
// }
+
//妫�绱ql鏂囧仛鎴�
private static String makeSoql(String CateName, String CateCode, String Category3, String Category4, String Category5) {
@@ -1005,30 +1033,27 @@
Integer endIdx;
pageRecords = new List<ConsumableorderdetailsInfo>();
startIdx = pageToken;
- endIdx = pageToken+pageSize;
- if (endIdx > consumableorderdetailsRecords.size()){
+ endIdx = pageToken + pageSize;
+ if (endIdx > consumableorderdetailsRecords.size()) {
endIdx = consumableorderdetailsRecords.size();
- }
- for(Integer i=startIdx; i < endIdx ; i++){
+ }
+ for (Integer i = startIdx; i < endIdx; i++) {
pageRecords.add(consumableorderdetailsRecords.get(i));
}
}
-
//鍒嗛〉Bean
public class PaginatedAccounts {
@AuraEnabled
- public List<Account> records;
- @AuraEnabled
public Integer nextPageToken;
@AuraEnabled
- public Integer pageNumber {get;set;}
+ public Integer pageNumber { get; set; }
@AuraEnabled
- public Integer totalRecords {get;set;}
+ public Integer totalRecords { get; set; }
@AuraEnabled
- public Integer recordStart {get;set;}
+ public Integer recordStart { get; set; }
@AuraEnabled
- public Integer recordEnd {get;set;}
+ public Integer recordEnd { get; set; }
}
// Data Bean
diff --git a/force-app/main/default/classes/LexOutboundorderImportController.cls b/force-app/main/default/classes/LexOutboundorderImportController.cls
index 9732707..a1f00f6 100644
--- a/force-app/main/default/classes/LexOutboundorderImportController.cls
+++ b/force-app/main/default/classes/LexOutboundorderImportController.cls
@@ -54,18 +54,24 @@
}
@AuraEnabled
- public static ResponseBodyLWC importCSVFile(String base64Data, String sqlagencyProType, String userWorkLocation, String accountName) {
+ public static ResponseBodyLWC importCSVFile(
+ String base64DataLwc,
+ String sqlagencyProTypeLwc,
+ String userWorkLocationLwc,
+ String accountNameLwc
+ ) {
System.debug('enter importCSVFile');
ResponseBodyLWC res = new ResponseBodyLWC();
Map<String, object> data = new Map<String, object>();
res.entity = data;
errorMsg = '';
- sqlagencyProType = sqlagencyProType;
- userWorkLocation = userWorkLocation;
- accountName = accountName;
- base64Data = EncodingUtil.urlDecode(base64Data, 'UTF-8');
+ sqlagencyProType = sqlagencyProTypeLwc;
+ userWorkLocation = userWorkLocationLwc;
+ accountName = accountNameLwc;
+ String base64Data = EncodingUtil.urlDecode(base64DataLwc, 'UTF-8');
csvFileBody = EncodingUtil.base64Decode(base64Data);
+ product2conMap = new Map<String, String>();
messageCount = 0;
errormessage = null;
@@ -157,21 +163,21 @@
// ApexPages.addmessage(
// new ApexPages.message(ApexPages.severity.ERROR, 'Barcode ' + bc + ' 涓嶅瓨鍦ㄦ垨鍗曚綅閿欒锛岃纭銆�')
// );
- errorMsg += 'Barcode ' + bc + ' 涓嶅瓨鍦ㄦ垨鍗曚綅閿欒锛岃纭銆俓n';
+ errorMsg += 'Barcode ' + bc + ' 涓嶅瓨鍦ㄦ垨鍗曚綅閿欒锛岃纭銆�<br />';
saveFLGbln = true;
messageCount++;
} else if (exitpieceBarcodeMap.containsKey(bc) && exitpieceBarcodeMap.get(bc) < barcodePieceMap.get(bc)) {
if (messageCount >= 100)
break;
// ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, 'Barcode ' + bc + ' 搴撳瓨涓嶈冻锛岃纭銆�'));
- errorMsg += 'Barcode ' + bc + ' 搴撳瓨涓嶈冻锛岃纭銆俓n';
+ errorMsg += 'Barcode ' + bc + ' 搴撳瓨涓嶈冻锛岃纭銆�<br />';
saveFLGbln = true;
messageCount++;
}
}
} catch (Exception e) {
//ApexPages.addMessages(e);
- errorMsg += e.getMessage();
+ errorMsg += e.getMessage() + ' ' + e.getLineNumber() + ';';
//return new ResponseBodyLWC('Error', 500, e.getMessage()+e.getStackTraceString(), '');
}
getorderinfo();
@@ -182,8 +188,10 @@
}
data.put('orderRecords', orderRecords);
data.put('saveFLGbln', saveFLGbln);
- data.put('csvRecordStr',csvRecordStr);
- data.put('barcodeList',barcodeList);
+ data.put('csvRecordStr', csvRecordStr);
+ data.put('barcodeList', barcodeList);
+ data.put('secondAgencyMap',secondAgencyMap);
+ data.put('hospitalSysMap',hospitalSysMap);
res.status = 'Success';
res.code = 200;
res.msg = errorMsg;
@@ -210,7 +218,7 @@
// ApexPages.addmessage(
// new ApexPages.message(ApexPages.severity.ERROR, '鍑哄簱鍗� ' + csvRecordData[0] + '鍑鸿揣鐩殑涓虹┖锛岃纭銆�')
// );
- errorMsg += '鍑哄簱鍗� ' + csvRecordData[0] + '鍑鸿揣鐩殑涓虹┖锛岃纭銆俓n';
+ errorMsg += '鍑哄簱鍗� ' + csvRecordData[0] + '鍑鸿揣鐩殑涓虹┖锛岃纭銆�<br />';
saveFLGbln = true;
messageCount++;
}
@@ -224,7 +232,7 @@
// ApexPages.addmessage(
// new ApexPages.message(ApexPages.severity.ERROR, '鍑哄簱鍗� ' + cocObj.Name + '鐨勪骇鍝佷腑锛屽瓨鍦ㄥ嚭搴撴棩鏈熶负绌猴紝璇风‘璁ゃ��')
// );
- errorMsg += '鍑哄簱鍗� ' + cocObj.Name + '鐨勪骇鍝佷腑锛屽瓨鍦ㄥ嚭搴撴棩鏈熶负绌猴紝璇风‘璁ゃ�俓n';
+ errorMsg += '鍑哄簱鍗� ' + cocObj.Name + '鐨勪骇鍝佷腑锛屽瓨鍦ㄥ嚭搴撴棩鏈熶负绌猴紝璇风‘璁ゃ��<br />';
saveFLGbln = true;
messageCount++;
} else {
@@ -238,7 +246,7 @@
}
} catch (Exception e) {
//return new ResponseBodyLWC('Error', 500, e.getMessage(), '');
- errorMsg += e.getMessage();
+ errorMsg += e.getMessage() + ' ' + e.getLineNumber() + ';';
}
}
@@ -260,7 +268,7 @@
// ApexPages.addmessage(
// new ApexPages.message(ApexPages.severity.ERROR, '鍑哄簱鍗�' + ass.order.Name + '鍖婚櫌鐩稿叧淇℃伅涓嶈兘绌猴紝璇风‘璁ゃ��')
// );
- errorMsg += '鍑哄簱鍗�' + ass.order.Name + '鍖婚櫌鐩稿叧淇℃伅涓嶈兘绌猴紝璇风‘璁ゃ�俓n';
+ errorMsg += '鍑哄簱鍗�' + ass.order.Name + '鍖婚櫌鐩稿叧淇℃伅涓嶈兘绌猴紝璇风‘璁ゃ��<br />';
messageCount++;
saveFLGbln = true;
//return null;
@@ -272,7 +280,7 @@
// ApexPages.addmessage(
// new ApexPages.message(ApexPages.severity.ERROR, '鍑哄簱鍗�' + ass.order.Name + '缁忛攢鍟嗕俊鎭笉鑳界┖锛岃纭銆�')
// );
- errorMsg += '鍑哄簱鍗�' + ass.order.Name + '缁忛攢鍟嗕俊鎭笉鑳界┖锛岃纭銆俓n';
+ errorMsg += '鍑哄簱鍗�' + ass.order.Name + '缁忛攢鍟嗕俊鎭笉鑳界┖锛岃纭銆�<br />';
messageCount++;
saveFLGbln = true;
}
@@ -284,7 +292,7 @@
// ApexPages.addmessage(
// new ApexPages.message(ApexPages.severity.ERROR, '鍑哄簱鍗�' + ass.order.Name + '涓嶉渶瑕佷簩绾х粡閿�鍟嗭紝璇风‘璁ゃ��')
// );
- errorMsg += '鍑哄簱鍗�' + ass.order.Name + '涓嶉渶瑕佷簩绾х粡閿�鍟嗭紝璇风‘璁ゃ�俓n';
+ errorMsg += '鍑哄簱鍗�' + ass.order.Name + '涓嶉渶瑕佷簩绾х粡閿�鍟嗭紝璇风‘璁ゃ��<br />';
messageCount++;
saveFLGbln = true;
}
@@ -296,7 +304,7 @@
// ApexPages.addmessage(
// new ApexPages.message(ApexPages.severity.ERROR, '鍑哄簱鍗�' + ass.order.Name + '缁忛攢鍟嗕俊鎭笉鑳界┖锛岃纭銆�')
// );
- errorMsg += '鍑哄簱鍗�' + ass.order.Name + '缁忛攢鍟嗕俊鎭笉鑳界┖锛岃纭銆俓n';
+ errorMsg += '鍑哄簱鍗�' + ass.order.Name + '缁忛攢鍟嗕俊鎭笉鑳界┖锛岃纭銆�<br />';
messageCount++;
saveFLGbln = true;
}
@@ -310,12 +318,13 @@
// ApexPages.addmessage(
// new ApexPages.message(ApexPages.severity.ERROR, '鍑哄簱鍗�' + ass.order.Name + '涓嶉渶瑕佸尰闄㈢浉鍏充俊鎭紝璇风‘璁ゃ��')
// );
- errorMsg += '鍑哄簱鍗�' + ass.order.Name + '涓嶉渶瑕佸尰闄㈢浉鍏充俊鎭紝璇风‘璁ゃ�俓n';
+ errorMsg += '鍑哄簱鍗�' + ass.order.Name + '涓嶉渶瑕佸尰闄㈢浉鍏充俊鎭紝璇风‘璁ゃ��<br />';
messageCount++;
saveFLGbln = true;
}
}
}
+ System.debug('accountName = ' + accountName);
List<Agency_Hospital_Link__c> hospitalInfo = [
SELECT Hospital__c, Hospital__r.Management_Code__c, Hospital__r.Name
FROM Agency_Hospital_Link__c
@@ -333,6 +342,8 @@
secondAgencyMap.put(safo.Dealer_subordinate__r.Name, safo.Dealer_subordinate__c);
}
//鍑哄簱鍗曚俊鎭獙璇�
+ System.debug('hospitalconMap = ' + hospitalconMap);
+ System.debug('hospitalSysMap = ' + hospitalSysMap);
for (String widget : hospitalconMap.keySet()) {
if (!hospitalSysMap.containsKey(widget)) {
if (messageCount >= 100)
@@ -352,7 +363,7 @@
hospitalconMap.get(widget) +
' 鐨勫尰闄㈢紪鐮�' +
widget +
- ' 涓嶅瓨鍦ㄦ垨鑰呬笉鏄湰缁忛攢鍟嗚礋璐g殑鍖婚櫌锛岃纭銆俓n';
+ ' 涓嶅瓨鍦ㄦ垨鑰呬笉鏄湰缁忛攢鍟嗚礋璐g殑鍖婚櫌锛岃纭銆�<br />';
saveFLGbln = true;
}
}
@@ -382,7 +393,7 @@
// ' 涓嶅瓨鍦ㄥ嚭搴撳崟浣嶏紝璇风‘璁ゃ��'
// )
// );
- errorMsg += '鍑哄簱鍗� ' + cod2Obj.TracingCode__c + '鐨刡arcode ' + cod2Obj.Bar_Code__c + ' 涓嶅瓨鍦ㄥ嚭搴撳崟浣嶏紝璇风‘璁ゃ�俓n';
+ errorMsg += '鍑哄簱鍗� ' + cod2Obj.TracingCode__c + '鐨刡arcode ' + cod2Obj.Bar_Code__c + ' 涓嶅瓨鍦ㄥ嚭搴撳崟浣嶏紝璇风‘璁ゃ��<br />';
saveFLGbln = true;
messageCount++;
} else if (String.valueOf(csvRecordData[9]) != '鐩�' && String.valueOf(csvRecordData[9]) != '涓�') {
@@ -410,7 +421,7 @@
// ApexPages.addmessage(
// new ApexPages.message(ApexPages.severity.ERROR, '鍑哄簱鍗� ' + cod2Obj.TracingCode__c + '浜у搧鍑鸿揣鍗曚环涓虹┖锛岃纭銆�')
// );
- errorMsg += '鍑哄簱鍗� ' + cod2Obj.TracingCode__c + '浜у搧鍑鸿揣鍗曚环涓虹┖锛岃纭銆俓n';
+ errorMsg += '鍑哄簱鍗� ' + cod2Obj.TracingCode__c + '浜у搧鍑鸿揣鍗曚环涓虹┖锛岃纭銆�<br />';
saveFLGbln = true;
messageCount++;
} else if (String.isNotBlank(csvRecordData[8])) {
@@ -429,7 +440,7 @@
// '浜у搧鍑鸿揣鍗曚环涓嶈兘涓�0锛岃纭銆�'
// )
// );
- errorMsg += '鍑哄簱鍗� ' + cod2Obj.TracingCode__c + '浜у搧鍑鸿揣鍗曚环涓嶈兘涓�0锛岃纭銆俓n';
+ errorMsg += '鍑哄簱鍗� ' + cod2Obj.TracingCode__c + '浜у搧鍑鸿揣鍗曚环涓嶈兘涓�0锛岃纭銆�<br />';
saveFLGbln = true;
messageCount++;
} else {
@@ -447,7 +458,7 @@
// '鐨勪骇鍝佷腑锛屽瓨鍦╞arcode涓虹┖锛岃纭銆�'
// )
// );
- errorMsg += '鍑哄簱鍗� ' + cod2Obj.TracingCode__c + '鐨勪骇鍝佷腑锛屽瓨鍦╞arcode涓虹┖锛岃纭銆俓n';
+ errorMsg += '鍑哄簱鍗� ' + cod2Obj.TracingCode__c + '鐨勪骇鍝佷腑锛屽瓨鍦╞arcode涓虹┖锛岃纭銆�<br />';
saveFLGbln = true;
messageCount++;
} else if (String.isBlank(csvRecordData[12])) {
@@ -488,7 +499,7 @@
}
} catch (Exception e) {
//return new ResponseBodyLWC('Error', 500, e.getMessage(), '');
- errorMsg += e.getMessage();
+ errorMsg += e.getMessage() + ' ' + e.getLineNumber() + ';';
}
}
@@ -507,7 +518,7 @@
// ApexPages.addmessage(
// new ApexPages.message(ApexPages.severity.ERROR, '鍑哄簱鍗� ' + csvRecordData[0] + '浜у搧鍑鸿揣鏁伴噺涓虹┖锛岃纭銆�')
// );
- errorMsg += '鍑哄簱鍗� ' + csvRecordData[0] + '浜у搧鍑鸿揣鏁伴噺涓虹┖锛岃纭銆俓n';
+ errorMsg += '鍑哄簱鍗� ' + csvRecordData[0] + '浜у搧鍑鸿揣鏁伴噺涓虹┖锛岃纭銆�<br />';
saveFLGbln = true;
messageCount++;
} else if (Decimal.valueOf(csvRecordData[7]) > 1 && String.valueOf(csvRecordData[9]) == '鐩�') {
@@ -521,7 +532,7 @@
// '瀛樺湪鍗曚綅鏄洅锛屼骇鍝佸嚭璐ф暟閲忓ぇ浜�1锛岃纭銆�'
// )
// );
- errorMsg += '鍑哄簱鍗� ' + csvRecordData[0] + '瀛樺湪鍗曚綅鏄洅锛屼骇鍝佸嚭璐ф暟閲忓ぇ浜�1锛岃纭銆俓n';
+ errorMsg += '鍑哄簱鍗� ' + csvRecordData[0] + '瀛樺湪鍗曚綅鏄洅锛屼骇鍝佸嚭璐ф暟閲忓ぇ浜�1锛岃纭銆�<br />';
saveFLGbln = true;
messageCount++;
} else {
@@ -536,7 +547,7 @@
// ApexPages.addmessage(
// new ApexPages.message(ApexPages.severity.ERROR, '鍑哄簱鍗� ' + csvRecordData[0] + '浜у搧鍑鸿揣鍗曚环涓虹┖锛岃纭銆�')
// );
- errorMsg += '鍑哄簱鍗� ' + csvRecordData[0] + '鍑哄簱鍗� ' + csvRecordData[0] + '浜у搧鍑鸿揣鍗曚环涓虹┖锛岃纭銆俓n';
+ errorMsg += '鍑哄簱鍗� ' + csvRecordData[0] + '鍑哄簱鍗� ' + csvRecordData[0] + '浜у搧鍑鸿揣鍗曚环涓虹┖锛岃纭銆�<br />';
saveFLGbln = true;
messageCount++;
}
@@ -551,28 +562,50 @@
}
} catch (Exception e) {
//return new ResponseBodyLWC('Error', 500, e.getMessage(), '');
- errorMsg += e.getMessage();
+ errorMsg += e.getMessage() + ' ' + e.getLineNumber() + ';';
}
}
@AuraEnabled
- public static ResponseBodyLWC dataImport(List<String[]> csvRecordStr,List<ConsumableorderdetailsInfo> orderRecords,String sqlagencyProType, String userWorkLocation, String accountName) {
+ public static ResponseBodyLWC dataImport(
+ List<String[]> csvRecordStrLwc,
+ String orderRecordsLwc,
+ String sqlagencyProTypeLwc,
+ String userWorkLocationLwc,
+ String accountNameLwc,
+ String accountidLwc,
+ String agencyProTypeLwc,
+ Map<String, String> secondAgencyMapLwc,
+ Map<String, String> hospitalSysMapLwc
+ ) {
List<ConsumableorderdetailsInfo> orderdetRecords = new List<ConsumableorderdetailsInfo>();
List<ConsumableorderdetailsInfo> orderdet2BoxRecords = new List<ConsumableorderdetailsInfo>();
List<ConsumableorderdetailsInfo> orderdet2PieceRecords = new List<ConsumableorderdetailsInfo>();
+ product2conMap = new Map<String, String>();
ResponseBodyLWC res = new ResponseBodyLWC();
Map<String, object> data = new Map<String, object>();
res.entity = data;
- csvRecordStr = csvRecordStr;
- orderRecords = orderRecords;
- sqlagencyProType = sqlagencyProType;
- userWorkLocation = userWorkLocation;
- accountName = accountName;
- errorMessage = '';
+ csvRecordStr = csvRecordStrLwc;
+ orderRecords = (List<ConsumableorderdetailsInfo>)JSON.deserialize(orderRecordsLwc, List<ConsumableorderdetailsInfo>.class);
+ System.debug('orderRecords = ' + orderRecords);
+ sqlagencyProType = sqlagencyProTypeLwc;
+ userWorkLocation = userWorkLocationLwc;
+ accountName = accountNameLwc;
+ secondAgencyMap = secondAgencyMapLwc;
+ hospitalSysMap = hospitalSysMapLwc;
+ accountid = accountidLwc;
+ agencyProType = agencyProTypeLwc;
+ System.debug('agencyProType = ' + agencyProType);
+
+ errorMsg = '';
+ System.debug('csvRecordStr = ' + csvRecordStr);
orderdetRecords = getorderdetList(csvRecordStr);
orderdet2BoxRecords = getorderdet2BoxList(csvRecordStr);
orderdet2PieceRecords = getorderdet2pieceList(csvRecordStr);
+ System.debug('orderdetRecords = ' + orderdetRecords);
+ System.debug('orderdet2BoxRecords = ' + orderdet2BoxRecords);
+ System.debug('orderdet2PieceRecords = ' + orderdet2PieceRecords);
Savepoint sp = Database.setSavepoint();
try {
Map<String, String> orderInfoMap = new Map<String, String>();
@@ -591,6 +624,7 @@
ass.order.RecordTypeId = System.Label.RT_ConOrder_Sale;
coc.add(ass.order);
}
+ System.debug('coc = ' + coc);
if (coc.size() > 0) {
insert coc;
}
@@ -615,6 +649,7 @@
}
}
}
+ System.debug('cod = ' + cod);
if (cod.size() > 0) {
insert cod;
}
@@ -705,7 +740,7 @@
Database.rollback(sp);
// ApexPages.addMessages(e);
// return null;
- return new ResponseBodyLWC('Error', 500, e.getMessage()+e.getStackTraceString(), '');
+ return new ResponseBodyLWC('Error', 500, e.getMessage() + e.getStackTraceString(), '');
}
}
@@ -745,11 +780,13 @@
ass.orderdetails1.Shipment_Count__c = orderdetMap.get(ass.orderName + ass.productName + ass.orderdetails1.Box_Piece__c);
}
}
+ System.debug('orderdetRecords = ' + orderdetRecords);
return orderdetRecords;
} catch (Exception e) {
// ApexPages.addMessages(e);
// return null;
- errorMsg += e.getMessage();
+ errorMsg += e.getMessage() + ' ' + e.getLineNumber() + ';';
+ System.debug('orderdetRecords = null ' + e.getLineNumber());
return null;
}
}
@@ -787,7 +824,7 @@
} catch (Exception e) {
// ApexPages.addMessages(e);
// return null;
- errorMsg += e.getMessage();
+ errorMsg += e.getMessage() + ' ' + e.getLineNumber() + ';';
return null;
}
}
diff --git a/force-app/main/default/classes/LexOverdueStockController.cls b/force-app/main/default/classes/LexOverdueStockController.cls
index 6e79714..c32d6a1 100644
--- a/force-app/main/default/classes/LexOverdueStockController.cls
+++ b/force-app/main/default/classes/LexOverdueStockController.cls
@@ -68,10 +68,10 @@
AND Dealer_Info_text__c = :accountInfo.Name
AND Arrive_Owner_Work_Location__c = :userWorkLocation
group by Consumable_Product__c,Box_Piece__c,Consumable_Product__r.Name_Text__c];
+
for(AggregateResult overdue : orderDetZaiku){
codPageRecords.add(new orderBean(overdue));
}
-
system.debug('codPageRecords====>'+codPageRecords);
data.put('codPageRecords',JSON.serialize(codPageRecords));
@@ -201,6 +201,7 @@
data.put('overduePageRecords',JSON.serialize(overduePageRecords));
data.put('codPageRecords',JSON.serialize(codPageRecords));
data.put('iSinventory',iSinventory);
+ data.put('overdueList',overdueList);
res.status = 'Success';
res.code = 200;
System.debug('res = ' + res);
@@ -210,12 +211,14 @@
// 淇濆瓨鎸夐挳
@AuraEnabled
- public static ResponseBodyLWC save(Boolean iSinventory,string saveCodPageRecords) {
+ public static ResponseBodyLWC save(Boolean iSinventory,string saveCodPageRecords,String saveoverdueList) {
ResponseBodyLWC res = new ResponseBodyLWC();
Map<String, object> data = new Map<String, object>();
res.entity = data;
system.debug('saveCodPageRecords=============>'+saveCodPageRecords);
List<orderBean> codPageRecords = (List<orderBean>)JSON.deserialize(saveCodPageRecords,List<orderBean>.class);
+ List<Consumable_order_details2__c> overdueList = (List<Consumable_order_details2__c>)JSON.deserialize(saveoverdueList,List<Consumable_order_details2__c>.class);
+
// add by Wang Xueqin 2023/04/12
// 鑾峰彇鐢ㄦ埛鍜岀粡閿�鍟嗕俊鎭�
diff --git a/force-app/main/default/classes/LexPrintInspectupReportController.cls b/force-app/main/default/classes/LexPrintInspectupReportController.cls
new file mode 100644
index 0000000..5f5829f
--- /dev/null
+++ b/force-app/main/default/classes/LexPrintInspectupReportController.cls
@@ -0,0 +1,124 @@
+public with sharing class LexPrintInspectupReportController {
+ public lexPrintInspectupReportController() {
+
+ }
+ @AuraEnabled
+ public static InitData init(String recordId) {
+ InitData initData = new InitData();
+ initData.maintenanceContractId = recordId;
+ getAssetType(initData);
+
+ return initData;
+ }
+
+ public class InitData {
+ //缁翠慨鍚堝悓id
+ public String maintenanceContractId;
+ //鏄惁绌虹櫧鍗曟嵁
+ public String isResultShow;
+ //鏍规嵁淇濇湁璁惧鏌ヨ鍚堝悓
+ public String selectAssetType;
+ //鎴樼暐绉戝鐨勪笅鎷夊唴瀹�
+ public List<CustomData> strategyDepartment;
+ //绉戝鐨勪笅鎷夊唴瀹�
+ public List<CustomData> department;
+ //璁惧鐨勮鏈哄湴鐐�
+ public List<CustomData> installationSite;
+ //鏄惁鍒嗛〉
+ public Boolean isPaging;
+
+ public String produceText;
+ //娲楁秷淇℃伅
+ public Boolean activeOn ;
+ //鐐规鏁版嵁
+ public List<Inspectup_Plan__c> inspectupPlanList;
+ //鏉′欢鍙傛暟
+ public String parameter;
+
+ }
+
+
+ //鑾峰彇淇悊鍚堝悓涓婄殑淇濇湁璁惧閮芥槸閭d釜鎴樼暐绉戝鍜岀瀹�
+ public static void getAssetType(InitData initData){
+ String assetTypeSQl = makeTextDepSQl(initData.maintenanceContractId);
+ try{
+ List<Maintenance_Contract_Asset__c> assetTypeList = Database.query(assetTypeSQl);
+ if(assetTypeList != null && assetTypeList.size() > 0){
+ //涓存椂瀛楃涓�
+ String strategyDepartmentStr = '';
+ String departmentStr = '';
+ String installationSiteStr = '';
+ //鎴樼暐绉戝瀛樻斁澶�
+ initData.strategyDepartment = new List<CustomData>();
+ initData.department = new List<CustomData>();
+ initData.installationSite = new List<CustomData>();
+ for(Maintenance_Contract_Asset__c mca : assetTypeList){
+ //鎵�鏈夌殑鎴樼暐绉戝
+ if(strategyDepartmentStr.indexOf(mca.Asset__r.Strategic_department_Class_Name__c) == -1){
+ strategyDepartmentStr += mca.Asset__r.Strategic_department_Class_Name__c;
+ initData.strategyDepartment.add(new CustomData(mca.Asset__r.Department_Class__c,mca.Asset__r.Acc_Department_Class_Name__c));
+ }
+ //绉戝
+ if(departmentStr.indexOf(mca.Asset__r.Account.Name) == -1){
+ departmentStr += mca.Asset__r.Account.Name;
+ initData.department.add(new CustomData(mca.Asset__r.Account.Id,mca.Asset__r.Department_Name__c));
+ }
+ //瑁呮満鍦扮偣
+ if(mca.Asset__r.Installation_Site__c != null && mca.Asset__r.Installation_Site__c != ''){
+ if(installationSiteStr.indexOf(mca.Asset__r.Installation_Site__c) == -1){
+ installationSiteStr += mca.Asset__r.Installation_Site__c;
+ initData.installationSite.add(new CustomData(mca.Asset__r.Installation_Site__c,mca.Asset__r.Installation_Site__c));
+ }
+ }
+ }
+ }
+ }catch(exception e){
+ //澶辫触鎻愮ず
+ ApexPages.addMessages(e);
+ }
+ }
+ //鑾峰彇鎵�鏈夌殑鐐规鏁版嵁
+ public static void getInspectupPlan(InitData initData){
+ String InspectupPlanSQL = makeTextInspectupPlanSQl(initData.maintenanceContractId);
+ try{
+ initData.inspectupPlanList = Database.query(InspectupPlanSQL);
+ }catch(exception e){
+ //澶辫触鎻愮ず
+ ApexPages.addMessages(e);
+ }
+ }
+ //鏌ヨ鐐规鎶ュ憡涔︾殑pdf
+ public static String makeTextInspectupPlanSQl(String maintenanceContractId){
+ String InspectupPlanSQL = 'SELECT ID,NAME,Execution_End_Date__c,Chack_Plan_NO__c FROM Inspectup_Plan__c WHERE Maintenance_Contract__c = \''+maintenanceContractId+'\' '
+ + ' order by Maintenance_Contract__c desc';
+ return InspectupPlanSQL;
+ }
+
+ //鏌ヨ淇悊鍚堝悓閲岄潰淇濇湁璁惧閮芥槸閭d簺绉戝鍜屾垬鐣ョ瀹�
+ public static String makeTextDepSQl(String maintenanceContractId){
+ String depSQl = 'select id,name,Asset__c,Asset__r.name,Asset__r.SerialNumber,Asset__r.Strategic_department_Class_Name__c,Asset__r.Department_Class__c,Asset__r.Acc_Department_Class_Name__c,'
+ +' Asset__r.Department_Name__c,Asset__r.Account.Id,Asset__r.Account.Name,Asset__r.Installation_Site__c '
+ +' from Maintenance_Contract_Asset__c '
+ //+' where Check_object__c = true and Maintenance_Contract__c = \''+maintenanceContractId+'\' '
+ +' where Maintenance_Contract__c = \''+maintenanceContractId+'\' and isdianjian__c != 0 '
+ +' order by Asset__r.Acc_Department_Class_Name__c,Asset__r.Account.Name';
+ return depSQl;
+ }
+
+
+
+ /**
+ * 涓轰簡鏂逛究鍓嶇table鑾峰彇鍊�
+ */
+ class CustomData {
+ //id
+ public String parameterId ;
+ //name
+ public String parameterName ;
+
+ public CustomData(String accountId,String accountName){
+ parameterId = accountId;
+ parameterName = accountName;
+ }
+ }
+}
\ No newline at end of file
diff --git a/force-app/main/default/classes/LexPrintInspectupReportController.cls-meta.xml b/force-app/main/default/classes/LexPrintInspectupReportController.cls-meta.xml
new file mode 100644
index 0000000..d75b058
--- /dev/null
+++ b/force-app/main/default/classes/LexPrintInspectupReportController.cls-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>51.0</apiVersion>
+ <status>Active</status>
+</ApexClass>
diff --git a/force-app/main/default/classes/LexRemoveBoxController.cls b/force-app/main/default/classes/LexRemoveBoxController.cls
index bd91a35..ce10a46 100644
--- a/force-app/main/default/classes/LexRemoveBoxController.cls
+++ b/force-app/main/default/classes/LexRemoveBoxController.cls
@@ -414,8 +414,10 @@
return new ResponseBodyLWC('Error',500, 'BarCode'+ notInlist + '涓嶅瓨鍦ㄣ��', '');
}
+
data.put('ConsumableorderdetailsRecordsdummy',JSON.serialize(ConsumableorderdetailsRecordsdummy));
data.put('ConsumableorderdetailsRecordserror',JSON.serialize(ConsumableorderdetailsRecordserror));
+ data.put('dataSize',ConsumableorderdetailsRecordsdummy.size());
res.status = 'Success';
res.code = 200;
System.debug('res = ' + res);
diff --git a/force-app/main/default/classes/LexSISearchSetProductController.cls b/force-app/main/default/classes/LexSISearchSetProductController.cls
new file mode 100644
index 0000000..36dd0d8
--- /dev/null
+++ b/force-app/main/default/classes/LexSISearchSetProductController.cls
@@ -0,0 +1,173 @@
+public with sharing class LexSISearchSetProductController {
+
+
+ public LexSISearchSetProductController(){
+
+ }
+ @AuraEnabled
+ public static InitData init(){
+ InitData data=new InitData();
+ data.rc = new Product_Set__c();
+ data.sc = new Product_Set__c();
+ data.cl = new List<Product_Set__c>();
+ data.baseUrl = URL.getSalesforceBaseUrl().toExternalForm();
+ data.SearchName='';
+ data.SearchCode='';
+ data.SearchPrice='';
+ data.SearchQuantity='';
+ data.reportid='';
+ data.setProductidFullList=new list<String>();
+ data.activities=new List<SSPLine>();
+ data.setPFString='';
+ data.DataStatus='';
+ data.LabelI='';
+ Report r = new Report();
+ List<Report> rs = new List<Report>();
+ rs=[Select id,DeveloperName,Name,NamespacePrefix from Report Where DeveloperName='Set_Product_Detail'];
+ if (rs.size()>0){
+ data.reportid = rs[0].id;
+ data.reportid = data.reportid.substring(0,15);
+ }
+ data.LabelI=Product_Set__c.Quote_Select_Info__c.getDescribe().getLabel();
+ System.debug('init: '+data);
+ return data;
+ }
+
+ @AuraEnabled
+ public static InitData serContact(String searchName,String searchCode){
+ InitData data=new InitData();
+
+ String searchSql = 'Select id, name, Price__c, Product_Set_CD__c, Quantity__c,Valid_Status__c,Quote_Select_Info__c From Product_Set__c ';
+ String whereStr = 'Where id != null ';
+ String whereSql = '';
+
+ if(searchName != null && searchName != ''){
+ whereSql += 'and name Like ' + '\'%' + searchName + '%\' ';
+ }
+
+ if(searchCode != null && searchCode != ''){
+ whereSql += 'and Product_Set_CD__c like ' + '\'%' + searchCode + '%\' ';
+ }
+/*
+*/
+ searchSql = searchSql + whereStr + whereSql;
+
+ searchSql += ' order by Product_Set_CD__c limit 500';
+
+ data.cl = Database.query(searchSql);
+ data.activities = New List<SSPLine>();
+// SSPLine a = new SSPLine();
+ for(Product_Set__c psl : data.cl){
+ SSPLine a = new SSPLine(psl);
+ data.activities.add(a);
+ }
+ return data;
+ }
+
+ @AuraEnabled
+ public static InitData SelectDone(List<String> activities,List<Boolean> isSelected){
+ try{
+ InitData data=new InitData();
+ data.setPFString = '';
+ data.setProductidFullList = New List<String>();
+ if(activities.size()==1){
+ data.setPFString = activities[0];
+ }else{
+ for(Integer i=0;i<activities.size();i++){
+ if(isSelected[i]==true){
+ if(String.isblank(data.setPFString)||data.setPFString==null){
+ data.setPFString = activities[i];
+ }else{
+ data.setPFString = data.setPFString+','+activities[i];
+ }
+
+ }
+ }
+ }
+ data.DataStatus = 'Fin';
+ return data;
+ }catch(Exception e){
+ System.debug('SelectDone error:'+e);
+ }
+
+ return null;
+ }
+
+ @AuraEnabled
+ public static String getFileName(){
+ Schema.DescribeFieldResult r = Product_Set__c.Quote_Select_Info__c.getDescribe();
+ return r.getLabel();
+ }
+
+ public class InitData{
+ @AuraEnabled
+ public Product_Set__c rc;
+ @AuraEnabled
+ public Product_Set__c sc;
+ @AuraEnabled
+ public List<Product_Set__c> cl;
+ @AuraEnabled
+ public String SearchName;
+ @AuraEnabled
+ public String SearchCode;
+ @AuraEnabled
+ public String SearchPrice;
+ @AuraEnabled
+ public String SearchQuantity;
+ @AuraEnabled
+ public String baseUrl;
+ @AuraEnabled
+ public String reportid;
+ @AuraEnabled
+ public List<String> setProductidFullList;
+ @AuraEnabled
+ public List<SSPLine> activities;
+ @AuraEnabled
+ public String setPFString;
+ @AuraEnabled
+ public String DataStatus;
+ @AuraEnabled
+ public String LabelI;
+ }
+
+ public class SSPLine {
+ @AuraEnabled
+ public Boolean isSelected;
+
+ @AuraEnabled
+ public String setProductid;
+
+ @AuraEnabled
+ public String setProductidFull;
+
+ @AuraEnabled
+ public Decimal Quantity;
+
+ @AuraEnabled
+ public Product_Set__c theObject;
+
+ @AuraEnabled
+ public String Name;
+
+ @AuraEnabled
+ public String Product_Set_CD_c;
+
+ @AuraEnabled
+ public String Quote_Select_Info_c;
+
+ @AuraEnabled
+ public Boolean Valid_c;
+
+ public SSPLine(Product_Set__c psl) {
+ isSelected = false;
+ setProductid = psl.id;
+ setProductid = setProductid.substring(0,15);
+ setProductidFull = psl.id;
+ Name = psl.Name;
+ Product_Set_CD_c= psl.Product_Set_CD__c;
+ Quantity = psl.Quantity__c;
+ Quote_Select_Info_c = psl.Quote_Select_Info__c;
+ Valid_c = psl.Valid_Status__c;
+ }
+ }
+}
\ No newline at end of file
diff --git a/force-app/main/default/classes/LexSISearchSetProductController.cls-meta.xml b/force-app/main/default/classes/LexSISearchSetProductController.cls-meta.xml
new file mode 100644
index 0000000..d75b058
--- /dev/null
+++ b/force-app/main/default/classes/LexSISearchSetProductController.cls-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>51.0</apiVersion>
+ <status>Active</status>
+</ApexClass>
diff --git a/force-app/main/default/classes/LexSaleAndDeliveryController.cls b/force-app/main/default/classes/LexSaleAndDeliveryController.cls
index 4891a47..6f07385 100644
--- a/force-app/main/default/classes/LexSaleAndDeliveryController.cls
+++ b/force-app/main/default/classes/LexSaleAndDeliveryController.cls
@@ -1,7 +1,7 @@
public with sharing class LexSaleAndDeliveryController {
// 鏄剧ず鏁版嵁鏉℃暟闄愬埗
private static Integer Select_Limit = 100;
-
+
//鍒濆鍖�
@AuraEnabled
public static ResponseBodyLWC init() {
@@ -17,31 +17,37 @@
String userWorkLocation = '';
ResponseBodyLWC res = new ResponseBodyLWC();
- Map<String,object> data = new Map<String,object>();
+ Map<String, object> data = new Map<String, object>();
res.entity = data;
userinfoId = UserInfo.getUserId();
- List<user> Useracc = New List<user>();
- Useracc = [SELECT
- accountid, Work_Location__c,UserPro_Type__c
- FROM user
- WHERE id =:userinfoId];
+ List<user> Useracc = new List<user>();
+ Useracc = [SELECT accountid, Work_Location__c, UserPro_Type__c FROM user WHERE id = :userinfoId];
accountid = Useracc[0].accountid;
agencyProType = Useracc[0].UserPro_Type__c;
- if(String.isBlank(Useracc[0].UserPro_Type__c)){
+ if (String.isBlank(Useracc[0].UserPro_Type__c)) {
agencyProType = 'ET';
}
userWorkLocation = Useracc[0].Work_Location__c;
- data.put('userinfoId',userinfoId);
- data.put('accountid',accountid);
- data.put('agencyProType',agencyProType);
- data.put('userWorkLocation',userWorkLocation);
- System.debug('userinfoId = ' + userinfoId + ' accountid = ' + accountid + ' agencyProType = ' + agencyProType + ' userWorkLocation = ' + userWorkLocation);
+ data.put('userinfoId', userinfoId);
+ data.put('accountid', accountid);
+ data.put('agencyProType', agencyProType);
+ data.put('userWorkLocation', userWorkLocation);
+ System.debug(
+ 'userinfoId = ' +
+ userinfoId +
+ ' accountid = ' +
+ accountid +
+ ' agencyProType = ' +
+ agencyProType +
+ ' userWorkLocation = ' +
+ userWorkLocation
+ );
//榛樿妫�绱㈡樉绀烘湭瀹屾垚鐨勬寚绀哄崟
List<Consumable_order__c> raesList = new List<Consumable_order__c>();
String soql = 'select Id, Name,ShipmentAccount__c,SummonsStatus_c__c,Billed_Status__c,CreatedDate,Outbound_Date__c,Order_ForCustomerText__c,InvoiceNotPro_total_amount__c,InvoiceNotPro_money__c from Consumable_order__c';
soql += ' WHERE Order_type__c = \'' + '浼犵エ' + '\' ';
- soql += ' and Order_ProType__c =\'' + agencyProType +'\' ';
- soql += 'and SummonsStatus_c__c != \'' + '宸插畬鎴�' + '\' and Dealer_Info__c =\'' + accountid +'\' ';
+ soql += ' and Order_ProType__c =\'' + agencyProType + '\' ';
+ soql += 'and SummonsStatus_c__c != \'' + '宸插畬鎴�' + '\' and Dealer_Info__c =\'' + accountid + '\' ';
soql += 'and Order_Owner_WorkLocal__c = \'' + userWorkLocation + '\' ';
soql += 'order by SummonsStatus_c__c';
System.debug('soql = ' + soql);
@@ -53,16 +59,24 @@
res.msg = '';
return res;
} catch (Exception e) {
- return new ResponseBodyLWC('Error',500, e.getMessage(), '');
+ return new ResponseBodyLWC('Error', 500, e.getMessage(), '');
}
}
// 宸插嚭搴撴湭寮�绁ㄧ殑鍑哄簱鍗�
@AuraEnabled
- public static ResponseBodyLWC searchOrderInstatus(String orderDate,String deliverDate,String accountid,String agencyProType,String userWorkLocation,String category1,String category2) {
+ public static ResponseBodyLWC searchOrderInstatus(
+ String orderDate,
+ String deliverDate,
+ String accountid,
+ String agencyProType,
+ String userWorkLocation,
+ String category1,
+ String category2
+ ) {
try {
ResponseBodyLWC res = new ResponseBodyLWC();
- Map<String,object> data = new Map<String,object>();
+ Map<String, object> data = new Map<String, object>();
res.entity = data;
Date cate2 = String.isEmpty(orderDate) ? null : Date.valueOf(orderDate.replace('/', '-'));
@@ -71,8 +85,8 @@
List<Consumable_order__c> raesList = new List<Consumable_order__c>();
String soql = 'select Id, Name,ShipmentAccount__c,SummonsStatus_c__c,Billed_Status__c,CreatedDate,Outbound_Date__c,Order_ForCustomerText__c,InvoiceNotPro_total_amount__c,InvoiceNotPro_money__c from Consumable_order__c';
soql += ' WHERE Order_type__c = \'' + '浼犵エ' + '\' ';
- soql += ' and Dealer_Info__c =\'' + accountid +'\' ';
- soql += ' and Order_ProType__c =\'' + agencyProType +'\' ';
+ soql += ' and Dealer_Info__c =\'' + accountid + '\' ';
+ soql += ' and Order_ProType__c =\'' + agencyProType + '\' ';
soql += ' and Order_Owner_WorkLocal__c = \'' + userWorkLocation + '\' ';
if (!String.isBlank(category1)) {
soql += ' and Name like \'%' + String.escapeSingleQuotes(category1.replaceAll('%', '\\%')) + '%\' ';
@@ -80,10 +94,10 @@
if (!String.isBlank(category2)) {
soql += ' and ShipmentAccount__c like \'%' + String.escapeSingleQuotes(category2.replaceAll('%', '\\%')) + '%\' ';
}
- if(cate2 != null){
+ if (cate2 != null) {
soql += ' and Outbound_Date__c >= :cate2 ';
}
- if(cate3 != null){
+ if (cate3 != null) {
soql += ' and Outbound_Date__c <= :cate3 ';
}
soql += 'and SummonsForDirction__c != \'' + '浜掔浉璋冭揣' + '\' ';
@@ -93,34 +107,44 @@
System.debug('soql = ' + soql);
raesList = Database.query(soql);
data.put('raesList', raesList);
- if(raesList.size()>0){
+ if (raesList.size() > 0) {
res.msg = '鍏辨湁' + raesList.size() + '涓嚭搴撳崟';
- }else{
+ } else {
res.msg = '娌℃湁鎼滅储鍒扮浉鍏冲嚭搴撳崟銆�';
}
res.status = 'Success';
res.code = 200;
return res;
} catch (Exception e) {
- return new ResponseBodyLWC('Error',500, e.getMessage(), '');
+ return new ResponseBodyLWC('Error', 500, e.getMessage(), '');
}
}
//杩樻病鍑哄簱鐨勫嚭搴撳崟
@AuraEnabled
- public static ResponseBodyLWC searchConsumableorderdetails(String orderDate,String deliverDate,String accountid,String agencyProType,String userWorkLocation,String category1,String category2) {
+ public static ResponseBodyLWC searchConsumableorderdetails(
+ String orderDate,
+ String deliverDate,
+ String accountid,
+ String agencyProType,
+ String userWorkLocation,
+ String category1,
+ String category2
+ ) {
try {
ResponseBodyLWC res = new ResponseBodyLWC();
- Map<String,object> data = new Map<String,object>();
+ Map<String, object> data = new Map<String, object>();
res.entity = data;
Date cate2 = String.isEmpty(orderDate) ? null : Date.valueOf(orderDate.replace('/', '-'));
Date cate3 = String.isEmpty(deliverDate) ? null : Date.valueOf(deliverDate.replace('/', '-'));
+ System.debug('cate2 = ' + cate2);
+ System.debug('cate3 = ' + cate3);
// 鑾峰緱璁㈠崟涓�瑙�
List<Consumable_order__c> raesList = new List<Consumable_order__c>();
String soql = 'select Id, Name,ShipmentAccount__c,SummonsStatus_c__c,Billed_Status__c,CreatedDate,Outbound_Date__c,Order_ForCustomerText__c,InvoiceNotPro_total_amount__c,InvoiceNotPro_money__c from Consumable_order__c';
soql += ' WHERE Order_type__c = \'' + '浼犵エ' + '\' ';
- soql += ' and Dealer_Info__c =\'' + accountid +'\' ';
- soql += ' and Order_ProType__c =\'' + agencyProType +'\' ';
+ soql += ' and Dealer_Info__c =\'' + accountid + '\' ';
+ soql += ' and Order_ProType__c =\'' + agencyProType + '\' ';
soql += ' and Order_Owner_WorkLocal__c = \'' + userWorkLocation + '\' ';
if (!String.isBlank(category1)) {
soql += ' and Name like \'%' + String.escapeSingleQuotes(category1.replaceAll('%', '\\%')) + '%\' ';
@@ -128,44 +152,52 @@
if (!String.isBlank(category2)) {
soql += ' and ShipmentAccount__c like \'%' + String.escapeSingleQuotes(category2.replaceAll('%', '\\%')) + '%\' ';
}
- if(cate2 != null){
+ if (cate2 != null) {
soql += ' and Order_date__c >= :cate2 ';
}
- if(cate3 != null){
+ if (cate3 != null) {
soql += ' and Order_date__c <= :cate3 ';
}
soql += 'and SummonsStatus_c__c != \'' + '宸插畬鎴�' + '\' ';
- soql += 'order by SummonsStatus_c__c limit '+ Select_Limit;
+ soql += 'order by SummonsStatus_c__c limit ' + Select_Limit;
System.debug('soql+++++' + soql);
raesList = Database.query(soql);
data.put('raesList', raesList);
- if(raesList.size()>0){
+ if (raesList.size() > 0) {
res.msg = '鍏辨湁' + raesList.size() + '涓嚭搴撳崟';
- }else{
+ } else {
res.msg = '娌℃湁鎼滅储鍒扮浉鍏冲嚭搴撳崟銆�';
}
res.status = 'Success';
res.code = 200;
return res;
} catch (Exception e) {
- return new ResponseBodyLWC('Error',500, e.getMessage(), '');
+ return new ResponseBodyLWC('Error', 500, e.getMessage(), '');
}
}
// 宸插嚭搴撳凡寮�绁ㄧ殑鍑哄簱鍗�
@AuraEnabled
- public static ResponseBodyLWC searchConsumableorFinish(String orderDate,String deliverDate,String accountid,String agencyProType,String userWorkLocation,String category1,String category2) {
+ public static ResponseBodyLWC searchConsumableorFinish(
+ String orderDate,
+ String deliverDate,
+ String accountid,
+ String agencyProType,
+ String userWorkLocation,
+ String category1,
+ String category2
+ ) {
try {
ResponseBodyLWC res = new ResponseBodyLWC();
- Map<String,object> data = new Map<String,object>();
+ Map<String, object> data = new Map<String, object>();
res.entity = data;
Date cate2 = String.isEmpty(orderDate) ? null : Date.valueOf(orderDate.replace('/', '-'));
Date cate3 = String.isEmpty(deliverDate) ? null : Date.valueOf(deliverDate.replace('/', '-'));
List<Consumable_order__c> raesList = new List<Consumable_order__c>();
String soql = 'select Id, Name,ShipmentAccount__c,SummonsStatus_c__c,Billed_Status__c,CreatedDate,Outbound_Date__c,Order_ForCustomerText__c,InvoiceNotPro_total_amount__c,InvoiceNotPro_money__c from Consumable_order__c';
soql += ' WHERE Order_type__c = \'' + '浼犵エ' + '\' ';
- soql += ' and Dealer_Info__c =\'' + accountid +'\' ';
- soql += ' and Order_ProType__c =\'' + agencyProType +'\' ';
+ soql += ' and Dealer_Info__c =\'' + accountid + '\' ';
+ soql += ' and Order_ProType__c =\'' + agencyProType + '\' ';
soql += ' and Order_Owner_WorkLocal__c = \'' + userWorkLocation + '\' ';
if (!String.isBlank(category1)) {
soql += ' and Name like \'%' + String.escapeSingleQuotes(category1.replaceAll('%', '\\%')) + '%\' ';
@@ -173,10 +205,10 @@
if (!String.isBlank(category2)) {
soql += ' and ShipmentAccount__c like \'%' + String.escapeSingleQuotes(category2.replaceAll('%', '\\%')) + '%\' ';
}
- if(cate2 != null){
+ if (cate2 != null) {
soql += ' and Outbound_Date__c >= :cate2 ';
}
- if(cate3 != null){
+ if (cate3 != null) {
soql += ' and Outbound_Date__c <= :cate3 ';
}
soql += 'and SummonsStatus_c__c = \'' + '宸插畬鎴�' + '\' ';
@@ -184,16 +216,47 @@
soql += 'order by CreatedDate desc limit ' + Select_Limit;
raesList = Database.query(soql);
data.put('raesList', raesList);
- if(raesList.size()>0){
+ if (raesList.size() > 0) {
res.msg = '鍏辨湁' + raesList.size() + '涓嚭搴撳崟';
- }else{
+ } else {
res.msg = '娌℃湁鎼滅储鍒扮浉鍏冲嚭搴撳崟銆�';
}
res.status = 'Success';
res.code = 200;
return res;
} catch (Exception e) {
- return new ResponseBodyLWC('Error',500, e.getMessage(), '');
+ return new ResponseBodyLWC('Error', 500, e.getMessage(), '');
+ }
+ }
+
+ @AuraEnabled
+ public static ResponseBodyLWC cleanUp(String accountid, String agencyProType, String userWorkLocation) {
+ try {
+ ResponseBodyLWC res = new ResponseBodyLWC();
+ Map<String, object> data = new Map<String, object>();
+ res.entity = data;
+
+ // 鑾峰緱鏄剧ず鏁版嵁
+ List<Consumable_order__c> raesList = new List<Consumable_order__c>();
+ String soql = 'select Id, Name,ShipmentAccount__c,SummonsStatus_c__c,Billed_Status__c,CreatedDate,Outbound_Date__c,Order_ForCustomerText__c,InvoiceNotPro_total_amount__c,InvoiceNotPro_money__c from Consumable_order__c';
+ soql += ' WHERE Order_type__c = \'' + '浼犵エ' + '\' ';
+ soql += ' and Order_ProType__c =\'' + agencyProType + '\' ';
+ soql += 'and SummonsStatus_c__c != \'' + '宸插畬鎴�' + '\' and Dealer_Info__c =\'' + accountid + '\' ';
+ soql += 'and Order_Owner_WorkLocal__c = \'' + userWorkLocation + '\' ';
+ soql += 'order by SummonsStatus_c__c';
+ System.debug('soql = ' + soql);
+ raesList = Database.query(soql);
+ data.put('raesList', raesList);
+ if (raesList.size() > 0) {
+ res.msg = '鍏辨湁' + raesList.size() + '涓嚭搴撳崟';
+ } else {
+ res.msg = '娌℃湁鎼滅储鍒扮浉鍏冲嚭搴撳崟銆�';
+ }
+ res.status = 'Success';
+ res.code = 200;
+ return res;
+ } catch (Exception e) {
+ return new ResponseBodyLWC('Error', 500, e.getMessage(), '');
}
}
}
\ No newline at end of file
diff --git a/force-app/main/default/classes/LexSearchProductController.cls b/force-app/main/default/classes/LexSearchProductController.cls
index 65e08c2..37c935b 100644
--- a/force-app/main/default/classes/LexSearchProductController.cls
+++ b/force-app/main/default/classes/LexSearchProductController.cls
@@ -14,7 +14,7 @@
public class InitData{
- @AuraEnabled
+ @AuraEnabled
public String Asset_Model_No;
@AuraEnabled
public String OT_CODE_no_link;
@@ -33,6 +33,30 @@
@AuraEnabled
public Decimal Packing_list_manual;
+
+ @AuraEnabled
+ public string VenderName;
+
+
+ @AuraEnabled
+ public Decimal Intra_Trade_Gurantee_RMB;
+ @AuraEnabled
+ public String GuranteeType;
+ @AuraEnabled
+ public boolean Estimation_Entry_Possibility;
+ @AuraEnabled
+ public boolean CostFlag;
+ @AuraEnabled
+ public Decimal Foreign_Trade_Cost_US;
+ @AuraEnabled
+ public Decimal Intra_Trade_Gurantee_USD;
+ @AuraEnabled
+ public Decimal Intra_Trade_Service_USD;
+ @AuraEnabled
+ public decimal Maintenance_Price_Year_USD;
+
+
+
public InitData(Integer i, PricebookEntry pbe){
this.Asset_Model_No=pbe.Product2.Asset_Model_No__c;
this.OT_CODE_no_link=pbe.Product2.OT_CODE_no_link__c;
@@ -43,10 +67,37 @@
this.Intra_Trade_List_RMB=pbe.Product2.Intra_Trade_List_RMB__c;
this.Foreign_Trade_List_US=pbe.Product2.Foreign_Trade_List_US__c;
this.Packing_list_manual = pbe.Product2.Packing_list_manual__c;
+ this.Intra_Trade_Gurantee_USD = pbe.Product2.Intra_Trade_Foreign_RMB__c;
+
+
+ //闇�瑕佺殑闅愯棌鏁版嵁
+ this.Intra_Trade_Gurantee_RMB = pbe.Product2.Intra_Trade_Gurantee_RMB__c;
+ this.GuranteeType=pbe.Product2.GuranteeType__c;
+ if(pbe.Product2.Estimation_Entry_Possibility__c=='脳' ){
+ this.Estimation_Entry_Possibility = true;
+ }else{
+ this.Estimation_Entry_Possibility = false;
+ }
+ if(pbe.Product2.VenderName__c==null||
+ pbe.Product2.VenderName__c.trim().length() == 0){
+ this.VenderName =' 鏃� ';
+ }
+ else{
+ this.VenderName = pbe.Product2.VenderName__c;
}
+ if(pbe.Product2.Intra_Trade_Cost_RMB__c > 0 ){
+ this.CostFlag = false;
+ }
+ else{
+ this.CostFlag = true;
+ }
+ this.Foreign_Trade_Cost_US = pbe.Product2.Foreign_Trade_Cost_US__c;
+ this.Intra_Trade_Service_USD = pbe.Product2.NoDiscount_Foreign__c;
+ this.Maintenance_Price_Year_USD = pbe.Product2.Repair_Contract_USD__c;
}
+}
public class ProductLine {
@AuraEnabled
public Integer idx;
@@ -245,17 +296,16 @@
//20211123 lt update 450 鍘�500
searchSql += ' order by Product2.Asset_Model_No__c Limit 450';
System.debug('searchSql::::::' + searchSql);
- System.debug('whereStr::::::' + whereStr);
- System.debug('whereSql::::::' + whereSql);
- // system.debug(searchSql);
- List<PricebookEntry> pbes = Database.query(searchSql);
-
- List<initData> res=new List<initData>();
- for (Integer i = 0; i < pbes.size(); i++) {
- initData pl = new initData(i, pbes[i]);
- res.add(pl);
- }
+ System.debug('whereStr::::::' + whereStr);
+ System.debug('whereSql::::::' + whereSql);
+ List<PricebookEntry> pbes = Database.query(searchSql);
+
+ List<initData> res=new List<initData>();
+ for (Integer i = 0; i < pbes.size(); i++) {
+ initData pl = new initData(i, pbes[i]);
+ res.add(pl);
+ }
return res;
- }
+ }
}
\ No newline at end of file
diff --git a/force-app/main/default/classes/LexSearchProductIraiController.cls b/force-app/main/default/classes/LexSearchProductIraiController.cls
new file mode 100644
index 0000000..2706a7f
--- /dev/null
+++ b/force-app/main/default/classes/LexSearchProductIraiController.cls
@@ -0,0 +1,314 @@
+public virtual class LexSearchProductIraiController {
+
+ //lexSearchProduct鎵�闇�瑕佺殑鏂规硶
+ //add author:kkbes
+ // @AuraEnabled
+ // public static List<ProductLine> getCl(){
+ // SearchProductController searchProduct= new SearchProductController();
+ // searchProduct.serContact();
+ // List<ProductLine> getCl = searchProduct.cl;
+ // return getCl;
+ // }
+ public class InitData{
+ @AuraEnabled
+ public String searchMode;
+ @AuraEnabled // 妞滅储銉€兗銉�
+ public String trade {get;set;}
+ @AuraEnabled // hidden闋呯洰銇嬨倝銈傘倝銇c仧 CNY 銇� USD 銇枃瀛楀垪
+ public String lineNo {get;set;}
+ @AuraEnabled // 瑕敾闈€伄閬告姙銇椼仧琛�
+ public String val {get;set;}
+ @AuraEnabled // 瑕敾闈€伄銇嬨倝銇绱㈡枃瀛楀垪
+ public String celon {get;set;}
+ @AuraEnabled // 瑕敾闈€伄銇嬨倝銇绱㈡枃瀛楀垪 Celon璇环澧炲姞 2022-04-24 ssm
+ public String SearchName {get;set;}
+ @AuraEnabled // 妞滅储鏂囧瓧鍒�
+ public List<ProductLine> cl {get;set;}
+ @AuraEnabled
+ public String LabelOT;
+ @AuraEnabled
+ public String Labelsuit;
+ @AuraEnabled
+ public String LabelAl;
+
+ }
+ @AuraEnabled
+ public static InitData init(){
+ InitData data=new InitData();
+ data.searchMode='';
+ data.trade='CNY'; // hidden闋呯洰銇嬨倝銈傘倝銇c仧 CNY 銇� USD 銇枃瀛楀垪
+ data.lineNo='3123'; // 瑕敾闈€伄閬告姙銇椼仧琛�
+ data.val='123'; // 瑕敾闈€伄銇嬨倝銇绱㈡枃瀛楀垪
+ data.celon=null; // 瑕敾闈€伄銇嬨倝銇绱㈡枃瀛楀垪 Celon璇环澧炲姞 2022-04-24 ssm
+ data.SearchName=''; // 妞滅储鏂囧瓧鍒�
+ data.cl=new List<ProductLine>();
+ data.LabelOT=Product2.OT_CODE_no_link__c.getDescribe().getLabel();
+ data.Labelsuit=Product2.suitDepartment__c.getDescribe().getLabel();
+ data.LabelAl=Product2.Alternative_Products__c.getDescribe().getLabel();
+ // data.LabelI=Product_Set__c.Quote_Select_Info__c.getDescribe().getLabel();
+ return data;
+ }
+
+ public Boolean getHascl(List<ProductLine> cl) {
+ Boolean rtn = true;
+ if (cl != null && cl.size() > 0) {
+ rtn = false;
+ }
+ return rtn;
+ }
+
+
+
+ public LexSearchProductIraiController(){
+ }
+
+ // public LexSearchProductIraiController(ApexPages.StandardController controller){
+ // this();
+ // }
+// public LexSearchProductIraiController() {
+// this.trade = Apexpages.currentPage().getParameters().get('trade');
+// this.lineNo = Apexpages.currentPage().getParameters().get('lineno');
+// this.val = Apexpages.currentPage().getParameters().get('val');
+// this.celon = Apexpages.currentPage().getParameters().get('celon');
+
+// if (val!=null && val!=''){
+// SearchName = val;
+// val = null;
+// }
+
+// cl = new List<ProductLine>();
+// }
+
+ @AuraEnabled
+ public static InitData serContact(String trade,String searchMode,String celon,String SearchName){
+ InitData data=new InitData();
+ String x = '脳';
+ String searchSql = 'select Id,Product2Id,Product2.Name,Product2.ProductCode,Product2.StorageStatus__c,Product2.OT_CODE_no_link__c, Product2.Alternative_Products__c, '
+ + 'Product2.Foreign_Trade_Cost_US__c, Product2.Foreign_Trade_List_US__c, Product2.Intra_Trade_Cost_RMB__c, Product2.Intra_Trade_List_RMB__c, '
+ + 'Product2.Asset_Model_No__c, Product2.Serial_Lot_No__c, Product2.Sales_Possibility__c, Product2.Estimation_Entry_Possibility__c, '
+ + 'Product2.SFDA_Status__c, Product2.Qty_Unit__c, Product2.BSSCategory__c, Product2.Asset_loaner_category__c, Product2.Packing_list_manual__c '
+ // 澶氬勾淇濅慨 start
+ + ' ,Product2.Extend_new_product_gurantee_MD__c , Product2.Extend_new_product_gurantee__c , Product2.Entend_gurantee_period_all__c , '
+ + ' Product2.Intra_Trade_Gurantee_RMB__c '
+ //澶栬锤澶氬勾淇� 鍙栦骇鍝佷富鏁版嵁涓婄殑澶栬锤閲戦鍙婃姤浠� 绮剧悽鎶�鏈� wql 2021/01/04 start
+ + ',Product2.Intra_Trade_Foreign_RMB__c,Product2.NoDiscount_Foreign__c,Product2.Repair_Contract_USD__c '
+ //澶栬锤澶氬勾淇� 鍙栦骇鍝佷富鏁版嵁涓婄殑澶栬锤閲戦鍙婃姤浠� 绮剧悽鎶�鏈� wql 2021/01/04 end
+ //+ ' , Product2.If_Consumable__c '
+ //澧炲姞浜у搧涓嶅彲鍙栨秷澶氬勾淇濋�昏緫 绮剧悽鎶�鏈� wql 2020/09/02 start 闃胯タ璧涘 2020/12/29 start
+ + ' , Product2.Intra_Trade_Service_RMB__c,Product2.CanNotCancelledGurantee__c,Product2.Is_DangerousChemicals__c '
+ //澧炲姞浜у搧涓嶅彲鍙栨秷澶氬勾淇濋�昏緫 绮剧悽鎶�鏈� wql 2020/09/02 end 闃胯タ璧涘 2020/12/29 end
+ + ' , Product2.GuranteeType__c , product2.VenderName__c , product2.Maintenance_Price_Year__c '
+ // 澶氬勾淇濅慨 end
+ // 20221020 ljh SWAG-CJ98AJ start
+ + ' , Product2.suitDepartment__c '
+ // 20221020 ljh SWAG-CJ98AJ end
+ //SFDC鍋滄棰勮锛堥璁℃秷鑰楀埌鏈熸棩锛� lt 20210929 add start
+ + ' , Product2.Estimated_ConsumptionDueDate__c '
+ //SFDC鍋滄棰勮锛堥璁℃秷鑰楀埌鏈熸棩锛� lt 20210929 add end
+
+ + 'FROM PricebookEntry ';
+ //HWAG-BLWB9F 璇环鎶ヤ环锛氬骞翠繚浜у搧鏈櫥褰曡鎻愰噾棰濇椂涓嶅彲鎶ヤ环 绮剧悽鎶�鏈� 2020/03/03 Start
+
+ //娉ㄩ噴鍘熸潵閫昏緫
+ String whereStr = 'Where Product2.Asset_Model_No__c != null And Product2.Manual_Entry__c = false And Product2.Estimation_Entry_Possibility__c !=' + '\'' + x + '\' '
+ // String whereStr = 'Where Product2.Asset_Model_No__c != null And Product2.Manual_Entry__c = false '
+ //HWAG-BLWB9F 璇环鎶ヤ环锛氬骞翠繚浜у搧鏈櫥褰曡鎻愰噾棰濇椂涓嶅彲鎶ヤ环 绮剧悽鎶�鏈� 2020/03/03 end
+ + 'AND CurrencyIsoCode =' + '\'' + String.escapeSingleQuotes(trade) + '\' '
+ + 'AND IsActive = true ';
+ String whereSql = '';
+ if (searchMode == 'CS') {
+ whereSql += 'and Product2.Asset_loaner_category__c = \'涓鸿�楁潗绠$悊\' ';
+ }
+ if (SearchName != null && SearchName != '') {
+ String likename = String.escapeSingleQuotes(SearchName);
+ String prdcd = String.escapeSingleQuotes(SearchName);
+ if (likename.indexOf('*') >= 0) {
+ // TODO escape銇�冮噺銇椼仸銇亜銇戙仼銆佸晱椤屻仾銇勩仺鎬濄亜銇俱仚銆備竴鏂囧瓧銇� _ 銇蹇溿伅銇勩倝銇亜銇ㄦ�濄亜銇俱仚銆�
+ likename = likename.replace('*', '%');
+ } else {
+ // default涓″伌銇傘亜銇俱亜妞滅储
+ likename = '%' + likename + '%';
+ }
+ whereSql += 'and (Product2.Name Like ' + '\'' + likename + '\' or Product2.ProductCode = ' + '\'' + prdcd + '\' or Product2.Asset_Model_No__c Like ' + '\'' + likename + '\') ';
+ }
+ if (trade=='CNY') {
+ //HWAG-BLWB9F 璇环鎶ヤ环锛氬骞翠繚浜у搧鏈櫥褰曡鎻愰噾棰濇椂涓嶅彲鎶ヤ环 绮剧悽鎶�鏈� 2020/03/03 Start
+
+ //娉ㄩ噴鍘熼�昏緫
+
+ // whereSql += 'and Product2.Intra_Trade_List_RMB__c > 0 and Product2.Intra_Trade_Cost_RMB__c > 0';
+ whereSql += '';
+ } else if(trade=='USD'){
+ // whereSql += 'and Product2.Foreign_Trade_List_US__c > 0 and Product2.Foreign_Trade_Cost_US__c > 0';
+ whereSql += '';
+ //HWAG-BLWB9F 璇环鎶ヤ环锛氬骞翠繚浜у搧鏈櫥褰曡鎻愰噾棰濇椂涓嶅彲鎶ヤ环 绮剧悽鎶�鏈� 2020/03/03 end
+ } else {
+ system.debug(' trade = '+ trade);
+ }
+
+ // Celon璇环淇敼 2022-04-24 ssm start
+ celon = String.isNotBlank(celon) ? celon : null;
+ whereSql += ' and Product2.Celon_Product__c = :celon ';
+ // Celon璇环淇敼 2022-04-24 ssm end
+
+ searchSql = searchSql + whereStr + whereSql;
+
+ //20211123 lt update 450 鍘�500
+ searchSql += ' order by Product2.Asset_Model_No__c Limit 450';
+ System.debug('searchSql::::::' + searchSql);
+ System.debug('whereStr::::::' + whereStr);
+ System.debug('whereSql::::::' + whereSql);
+ // system.debug(searchSql);
+ List<PricebookEntry> pbes = Database.query(searchSql);
+
+ data.cl = new List<ProductLine>();
+ for (Integer i = 0; i < pbes.size(); i++) {
+ ProductLine pl = new ProductLine(i, pbes[i]);
+ data.cl.add(pl);
+ }
+
+ return data;
+ }
+
+
+ public class ProductLine {
+ @AuraEnabled
+ public Integer idx {get; set;}
+ @AuraEnabled
+ public PricebookEntry pbe {get; set;}
+ @AuraEnabled
+ public Decimal Intra_Trade_Cost_RMB {get; set;}
+ @AuraEnabled
+ public Decimal Foreign_Trade_Cost_US {get; set;}
+ @AuraEnabled
+ public String NameCode {get; set;}
+ @AuraEnabled
+ public String Sales_Possibility {get; set;}
+ @AuraEnabled
+ public String Bsscategory {get; set;}
+ @AuraEnabled
+ public String Product_Id {get; set;}
+ @AuraEnabled
+ public String PricebookEntryId {get; set;}
+ @AuraEnabled
+ public Decimal Packing_list_manual { get; set; }
+ @AuraEnabled
+ // 澶氬勾淇濅慨 start
+ public string GuranteeType {get;set;}
+ @AuraEnabled
+ public Decimal Entend_gurantee_period_all { get; set; }
+ @AuraEnabled
+ public Decimal Intra_Trade_Gurantee_RMB { get; set; }
+ @AuraEnabled
+ public Decimal Intra_Trade_Service_RMB { get; set; }
+ @AuraEnabled
+ //2021/01/06 liying start
+ public Decimal NoDiscount_Foreign {get; set;}
+ @AuraEnabled
+ //2021/01/06 liying end
+ public string VenderName {get; set;}
+ @AuraEnabled
+ public decimal Maintenance_Price_Year {get; set; }
+ @AuraEnabled
+
+ //澶栬锤澶氬勾淇� 鍙栦骇鍝佷富鏁版嵁涓婄殑澶栬锤閲戦浠ュ強缁翠慨鍚堝悓鎶ヤ环 绮剧悽鎶�鏈� wql 2021/01/04 start
+ public Decimal Intra_Trade_Gurantee_USD { get; set; }
+ @AuraEnabled
+ public Decimal Intra_Trade_Service_USD { get; set; }
+ @AuraEnabled
+ public decimal Maintenance_Price_Year_USD {get; set; }
+ @AuraEnabled
+ //澶栬锤澶氬勾淇� 鍙栦骇鍝佷富鏁版嵁涓婄殑澶栬锤閲戦浠ュ強缁翠慨鍚堝悓鎶ヤ环 绮剧悽鎶�鏈� wql 2021/01/04 end
+
+ //HWAG-BLWB9F 璇环鎶ヤ环锛氬骞翠繚浜у搧鏈櫥褰曡鎻愰噾棰濇椂涓嶅彲鎶ヤ环 绮剧悽鎶�鏈� 2020/03/03 Start
+ //鏄惁鐧诲綍鎶ヤ环
+ public boolean Estimation_Entry_Possibility {get; set; }
+ @AuraEnabled
+ //鎴愭湰鏄惁涓虹┖
+ public boolean CostFlag {get; set; }
+ @AuraEnabled
+
+ //HWAG-BLWB9F 璇环鎶ヤ环锛氬骞翠繚浜у搧鏈櫥褰曡鎻愰噾棰濇椂涓嶅彲鎶ヤ环 绮剧悽鎶�鏈� 2020/03/03 end
+
+ //澧炲姞浜у搧涓嶅彲鍙栨秷澶氬勾淇濋�昏緫 绮剧悽鎶�鏈� wql 2020/09/02 start
+ public boolean CanNotCancelledGurantee {get; set;}
+ @AuraEnabled
+ //澧炲姞浜у搧涓嶅彲鍙栨秷澶氬勾淇濋�昏緫 绮剧悽鎶�鏈� wql 2020/09/02 end
+
+ //澧炲姞闃胯タ璧涘閫昏緫 绮剧悽鎶�鏈� wql 2020/12/29 start
+ public boolean Is_DangerousChemicals {get; set;}
+ //澧炲姞闃胯タ璧涘閫昏緫 绮剧悽鎶�鏈� wql 2020/12/29 end
+
+
+ // 澶氬勾淇濅慨 end
+ public ProductLine(Integer i, PricebookEntry pbe) {
+ this.idx = i;
+ this.pbe = pbe;
+ this.Intra_Trade_Cost_RMB = pbe.Product2.Intra_Trade_Cost_RMB__c;
+ this.Foreign_Trade_Cost_US = pbe.Product2.Foreign_Trade_Cost_US__c;
+ this.NameCode = pbe.Product2.ProductCode;
+ this.Sales_Possibility = pbe.Product2.Sales_Possibility__c;
+ this.Bsscategory = pbe.Product2.BSSCategory__c;
+ this.Product_Id = pbe.Product2Id;
+ this.PricebookEntryId = pbe.Id;
+ this.Packing_list_manual = pbe.Product2.Packing_list_manual__c;
+
+ // 澶氬勾淇濅慨 start
+ this.GuranteeType = pbe.Product2.GuranteeType__c;
+ this.Entend_gurantee_period_all = pbe.Product2.Entend_gurantee_period_all__c;
+ this.Intra_Trade_Gurantee_RMB = pbe.Product2.Intra_Trade_Gurantee_RMB__c;
+ this.Intra_Trade_Service_RMB= pbe.Product2.Intra_Trade_Service_RMB__c;
+
+ //2021/01/06 liying start
+ this.NoDiscount_Foreign=pbe.Product2.NoDiscount_Foreign__c;
+ //2021/01/06 liying end
+ this.Maintenance_Price_Year = pbe.Product2.Maintenance_Price_Year__c;
+
+ //澶栬锤澶氬勾淇� 鍙栦骇鍝佷富鏁版嵁涓婄殑澶栬锤閲戦浠ュ強缁翠慨鍚堝悓鎶ヤ环 绮剧悽鎶�鏈� wql 2021/01/04 start
+ this.Intra_Trade_Gurantee_USD = pbe.Product2.Intra_Trade_Foreign_RMB__c;
+ this.Intra_Trade_Service_USD = pbe.Product2.NoDiscount_Foreign__c;
+ this.Maintenance_Price_Year_USD = pbe.Product2.Repair_Contract_USD__c;
+ //澶栬锤澶氬勾淇� 鍙栦骇鍝佷富鏁版嵁涓婄殑澶栬锤閲戦浠ュ強缁翠慨鍚堝悓鎶ヤ环 绮剧悽鎶�鏈� wql 2021/01/04 end
+
+
+ if(pbe.Product2.VenderName__c==null||
+ pbe.Product2.VenderName__c.trim().length() == 0){
+ this.VenderName =' 鏃� ';
+ }else{
+ this.VenderName = pbe.Product2.VenderName__c;
+ }
+ // 澶氬勾淇濅慨 end
+
+ //澧炲姞浜у搧涓嶅彲鍙栨秷澶氬勾淇濋�昏緫 绮剧悽鎶�鏈� wql 2020/09/02 start
+ this.CanNotCancelledGurantee = pbe.Product2.CanNotCancelledGurantee__c;
+ //澧炲姞浜у搧涓嶅彲鍙栨秷澶氬勾淇濋�昏緫 绮剧悽鎶�鏈� wql 2020/09/02 end
+ //澧炲姞闃胯タ璧涘閫昏緫 绮剧悽鎶�鏈� wql 2020/12/29 start
+ this.Is_DangerousChemicals = pbe.Product2.Is_DangerousChemicals__c;
+ //澧炲姞闃胯タ璧涘閫昏緫 绮剧悽鎶�鏈� wql 2020/12/29 end
+
+
+ //HWAG-BLWB9F 璇环鎶ヤ环锛氬骞翠繚浜у搧鏈櫥褰曡鎻愰噾棰濇椂涓嶅彲鎶ヤ环 绮剧悽鎶�鏈� 2020/03/03 Start
+ //鏄惁鐧诲綍鎶ヤ环
+ System.debug('aaaaaa:'+pbe.Product2.Estimation_Entry_Possibility__c);
+ if(pbe.Product2.Estimation_Entry_Possibility__c=='脳' ){
+ this.Estimation_Entry_Possibility = true;
+ }else{
+ this.Estimation_Entry_Possibility = false;
+ }
+ //鎴愭湰鏄惁涓虹┖
+ system.debug('bbbbb:'+pbe.Product2.Intra_Trade_Cost_RMB__c);
+ if(pbe.Product2.Intra_Trade_Cost_RMB__c > 0 ){
+ this.CostFlag = false;
+ }else{
+ this.CostFlag = true;
+ }
+ //HWAG-BLWB9F 璇环鎶ヤ环锛氬骞翠繚浜у搧鏈櫥褰曡鎻愰噾棰濇椂涓嶅彲鎶ヤ环 绮剧悽鎶�鏈� 2020/03/03 end
+ }
+
+
+
+
+ }
+
+
+}
\ No newline at end of file
diff --git a/force-app/main/default/classes/LexSearchProductIraiController.cls-meta.xml b/force-app/main/default/classes/LexSearchProductIraiController.cls-meta.xml
new file mode 100644
index 0000000..d75b058
--- /dev/null
+++ b/force-app/main/default/classes/LexSearchProductIraiController.cls-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>51.0</apiVersion>
+ <status>Active</status>
+</ApexClass>
diff --git a/force-app/main/default/classes/LexStockCancelController.cls b/force-app/main/default/classes/LexStockCancelController.cls
new file mode 100644
index 0000000..bbded2b
--- /dev/null
+++ b/force-app/main/default/classes/LexStockCancelController.cls
@@ -0,0 +1,65 @@
+public with sharing class LexStockCancelController {
+ public LexStockCancelController() {
+
+ }
+ @AuraEnabled
+ public static Opportunity init(String recordId){
+ try{
+ Opportunity item=[select
+ Stock_cancel_reason__c,Whether_Upload_Question_Document__c
+ from Opportunity
+ where id = :recordId];
+ return item;
+
+ }catch(Exception e){
+ System.debug('LexStockCancelController init error: '+e.getMessage());
+ }
+ return null;
+ }
+
+ @AuraEnabled
+ public static UpdateResult updateOppotunity(
+ String recordId,
+ String stStatus
+ ) {
+ UpdateResult result = new UpdateResult();
+ result.recordId = recordId;
+ try{
+ Opportunity op=new Opportunity(id=recordId);
+ if(stStatus!=null&&stStatus!=''){
+ op.Stock_apply_status__c= stStatus;
+ }
+ update op;
+ result.success = true;
+ result.errors = new List<String>();
+ return result;
+ }catch(Exception e){
+ result.success = false;
+ result.errors = new List<String>();
+ result.errors.add(e.getMessage());
+ System.debug(LoggingLevel.INFO,'updateOppotunity Error : ' + e);
+ }
+ return result;
+ }
+ @AuraEnabled
+ public static String submitApprovalRequest(String recordId) {
+ try{
+ Approval.ProcessSubmitRequest req = new Approval.ProcessSubmitRequest();
+ req.setObjectId(recordId);
+ Approval.ProcessResult result = Approval.process(req);
+ if(result.getErrors()!=null&&result.getErrors().size()>0)return result.getErrors().get(0).getMessage();
+ }catch(Exception e){
+ System.debug('LexStockCancelController submitApprovalRequest error: '+e.getMessage());
+ return e.getMessage();
+ }
+ return null;
+ }
+ public class UpdateResult {
+ @AuraEnabled public String recordId {get;set;}
+ @AuraEnabled public Boolean success {get;set;}
+ @AuraEnabled public List<String> errors {get;set;}
+ }
+ public class InitData{
+
+ }
+}
\ No newline at end of file
diff --git a/force-app/main/default/classes/LexStockCancelController.cls-meta.xml b/force-app/main/default/classes/LexStockCancelController.cls-meta.xml
new file mode 100644
index 0000000..d75b058
--- /dev/null
+++ b/force-app/main/default/classes/LexStockCancelController.cls-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>51.0</apiVersion>
+ <status>Active</status>
+</ApexClass>
diff --git a/force-app/main/default/classes/LexSummonsCreatController.cls b/force-app/main/default/classes/LexSummonsCreatController.cls
index bc47bb8..cee85a3 100644
--- a/force-app/main/default/classes/LexSummonsCreatController.cls
+++ b/force-app/main/default/classes/LexSummonsCreatController.cls
@@ -105,31 +105,42 @@
public static Boolean EditDelCommitBtnDisabled { get; private set; }
public static Boolean saveBtnDisabled { get; private set; }
public static Boolean SorderBtnDisabled { get; private set; }
+
+ // page
+ public static Integer pagesize { get; set; }
+ public static Integer pageToken { get; set; }
+ //public static String sortField { get; set; }
+ //public static String sortOrder { get; set; }
+ public static Integer totalcount { get; set; }
+ public static Integer addSize { get; set; }
+ //List<ConsumableorderdetailsInfoLwc> reSetLwc
+ public static List<ConsumableorderdetailsInfo> addData { get; set; }
+ public static Map<String, String> skipData { get; set; }
// 淇濆瓨鍚庡姩浣滐細 1.妫�绱� 2.鎺掑簭
- public static String sortKey { get; set; }
- public static String preSortKey { get; private set; }
- public static Boolean sortOrderAsc { get; private set; }
- public static String[] sortOrder { get; private set; }
- private static String[] columus = new List<String>{
- 'Consumable_Product__r.Name',
- 'Consumable_Product__r.Asset_Model_No__c',
- 'Consumable_Product__r.Intra_Trade_List_RMB__c',
- '',
- '',
- 'Consumable_Product__r.Category3__c',
- 'Consumable_Product__r.Category4__c',
- 'Consumable_Product__r.Category5__c'
- };
- private static String[] columus_no = new List<String>{
- 'Product2__c.Name',
- 'Product2__c.Asset_Model_No__c',
- 'Product2__c.Intra_Trade_List_RMB__c',
- '',
- '',
- 'Category3__c',
- 'Category4__c',
- 'Category5__c'
- };
+ // public static String sortKey { get; set; }
+ // public static String preSortKey { get; private set; }
+ // public static Boolean sortOrderAsc { get; private set; }
+ // public static String[] sortOrder { get; private set; }
+ // private static String[] columus = new List<String>{
+ // 'Consumable_Product__r.Name',
+ // 'Consumable_Product__r.Asset_Model_No__c',
+ // 'Consumable_Product__r.Intra_Trade_List_RMB__c',
+ // '',
+ // '',
+ // 'Consumable_Product__r.Category3__c',
+ // 'Consumable_Product__r.Category4__c',
+ // 'Consumable_Product__r.Category5__c'
+ // };
+ // private static String[] columus_no = new List<String>{
+ // 'Product2__c.Name',
+ // 'Product2__c.Asset_Model_No__c',
+ // 'Product2__c.Intra_Trade_List_RMB__c',
+ // '',
+ // '',
+ // 'Category3__c',
+ // 'Category4__c',
+ // 'Category5__c'
+ // };
//鍒拌揣鍗曟槑缁�1
private static List<Consumable_Orderdetails__c> consumableorderdetailsSelected = new List<Consumable_Orderdetails__c>();
@@ -234,7 +245,12 @@
// 鐢婚潰鍒濆鍖�
@AuraEnabled
- public static ResponseBodyLWC init(String ESetidJs,String statusEdit) {
+ public static ResponseBodyLWC init(
+ String ESetidJs,
+ String statusEdit,
+ Integer pageSizeLWC,
+ Integer pageTokenLWC
+ ) {
// try {
firstInit(ESetidJs);
statusEdit = statusEdit;
@@ -245,12 +261,18 @@
ResponseBodyLWC res = new ResponseBodyLWC();
Map<String, object> data = new Map<String, object>();
res.entity = data;
+ // public static Integer pagesize { get; set; }
+ // public static Integer pageToken { get; set; }
+ // public static String sortField { get; set; }
+ // public static String sortOrder { get; set; }
+ pagesize = pageSizeLWC;
+ pageToken = pageTokenLWC > 2000 ? 2000 : pageTokenLWC;
- sortKey = '1';
- preSortKey = '1';
- sortOrderAsc = false;
- sortOrder = new List<String>(8);
- sortOrder = new List<String>{ ' ', ' ', ' ', ' ', '鈫�', '', '', '' };
+ // sortKey = '1';
+ // preSortKey = '1';
+ // sortOrderAsc = false;
+ // sortOrder = new List<String>(8);
+ // sortOrder = new List<String>{ ' ', ' ', ' ', ' ', '鈫�', '', '', '' };
//cate1ForSort = '';
sumPrice = 0;
IdCheck = EsetId;
@@ -326,6 +348,9 @@
for (AggregateResult orderdetail : orderdetailCount) {
zaikuId.add(String.valueOf(orderdetail.get('cpc')));
}
+ System.debug('sqlagencyProType = ' + sqlagencyProType);
+ System.debug('userWorkLocation = ' + userWorkLocation);
+ System.debug('accountName = ' + accountName);
List<Consumable_order_details2__c> CountDel = [
SELECT
Id,
@@ -359,8 +384,8 @@
SummonsFlag = 'hidden';
String msoql = makeSoqlinventory();
initStandardController(msoql);
+ System.debug('msoql = ' + msoql);
product2Selected = Database.query(msoql);
- //product2Selected = product2s();
if (String.isBlank(arriveorder)) {
EditDelCommitBtnDisabled = true;
for (Integer i = 0; i < product2Selected.size(); i++) {
@@ -414,6 +439,7 @@
MidMap2.put(CountDel[i].Consumable_Product__c + str, Jstage);
}
}
+ System.debug('MidMap2.size() = ' + MidMap2.size());
/*//鐒跺悗寰幆CountDel鍘讳慨鏀筸ap閲岀殑allnumber
if(MidMap.containsKey(CountDel[i].Consumable_Product__c)){
ConsumableorderdetailsInfo Jstage = MidMap.get(CountDel[i].Consumable_Product__c);
@@ -450,7 +476,7 @@
Integer ishosnum = 0;
for (ConsumableorderdetailsInfo ass : consumableorderdetailsSelectRecords) {
- ass.sortBy = sortOrderAsc;
+ //ass.sortBy = sortOrderAsc;
//add by rentx 2021-3-10
if (ass.hospitalSpecialOffer) {
ishosnum = ishosnum + 1;
@@ -641,7 +667,7 @@
Integer ishosnum = 0;
for (ConsumableorderdetailsInfo ass : consumableorderdetailsSelectRecords) {
- ass.sortBy = sortOrderAsc;
+ //ass.sortBy = sortOrderAsc;
for (Consumable_Orderdetails__c cdc1 : consumableorderdetailsSelected) {
cdc1.Shipment_Count__c = cdc1.Consumable_count__c;
if (ass.prod.Id == cdc1.Consumable_Product__c) {
@@ -720,6 +746,8 @@
AND Invoice_status__c != '鑽夋涓�'
];
+ System.debug('coc ESetId = ' + ESetId);
+ System.debug('coc userWorkLocation = ' + userWorkLocation);
coc = [
SELECT
Id,
@@ -1173,7 +1201,7 @@
// return null;
Integer ishosnum = 0;
for (ConsumableorderdetailsInfo ass : consumableorderdetailsSelectRecords) {
- ass.sortBy = sortOrderAsc;
+ //ass.sortBy = sortOrderAsc;
for (Consumable_Orderdetails__c cdc1 : consumableorderdetailsSelected) {
//update by rentx 2012-3-1 start
// if(ass.prod.Id == cdc1.Consumable_Product__c){
@@ -1311,10 +1339,38 @@
category5OptionMap = new Map<String, String>();
category5OptionMap.put('', '-鏃�-');
+ //鍒嗛〉
+ PaginatedAccounts paginatedAccounts = new PaginatedAccounts();
+ totalCount = pageRecords.size();
+ System.debug('pageToken = ' + pageToken);
+ System.debug('pageSize = ' + pageSize);
+ System.debug('totalCount = ' + totalCount);
+ paginatedAccounts.nextPageToken = (pageToken + pageSize < totalCount) ? pageToken + pageSize : null;
+ System.debug('paginatedAccounts.nextPageToken = ' + paginatedAccounts.nextPageToken);
+ paginatedAccounts.recordStart = pageToken + 1;
+ paginatedAccounts.pageNumber = pageToken / pageSize + 1;
+ Integer recordEnd = pageSize * paginatedAccounts.pageNumber;
+ paginatedAccounts.recordEnd = totalCount >= recordEnd ? recordEnd : totalCount;
+ paginatedAccounts.totalRecords = totalCount;
+
+ Integer startIdx;
+ Integer endIdx;
+ startIdx = pageToken;
+ endIdx = pageToken + pageSize;
+ List<ConsumableorderdetailsInfo> pageRecordsTemp = new List<ConsumableorderdetailsInfo>();
+ if (endIdx > pageRecords.size()) {
+ endIdx = pageRecords.size();
+ }
+ for (Integer i = startIdx; i < endIdx; i++) {
+ pageRecordsTemp.add(pageRecords.get(i));
+ }
+
Boolean Existarrive = (coc.Arrive_Order__c != null);
String ConsumableOut_report = System.Label.ConsumableOut_report;
System.debug('consumableproductdetailsRecords = ' + consumableproductdetailsRecords);
- data.put('ConsumableOut_report', 'ConsumableOut_report');
+
+ data.put('paginatedAccounts', paginatedAccounts);
+ data.put('ConsumableOut_report', ConsumableOut_report);
data.put('accountid', accountid);
data.put('consumableproductdetailsRecords', consumableproductdetailsRecords);
data.put('agencyProType', agencyProType);
@@ -1333,7 +1389,7 @@
data.put('EditDelCommitBtnDisabled', EditDelCommitBtnDisabled);
data.put('EditAble', EditAble);
data.put('coc', coc);
- data.put('pageRecords', pageRecords);
+ data.put('pageRecords', pageRecordsTemp);
data.put('arriveorder', arriveorder);
data.put('consumableorderdetails2Count', consumableorderdetails2Count);
data.put('consumableorderdetails2Records', consumableorderdetails2Records);
@@ -1362,7 +1418,7 @@
];
category4OptionList = new List<SelectOption>();
category4OptionList.add(new SelectOption('', '-鏃�-'));
- category4OptionMap = new Map<String,String>();
+ category4OptionMap = new Map<String, String>();
category4OptionMap.put('', '-鏃�-');
for (AggregateResult category4Search : category4List) {
String deliverycnt4 = String.valueOf(category4Search.get('c4c'));
@@ -1379,15 +1435,15 @@
category5OptionList = new List<SelectOption>();
category5OptionList.add(new SelectOption('', '-鏃�-'));
- category5OptionMap = new Map<String,String>();
+ category5OptionMap = new Map<String, String>();
category5OptionMap.put('', '-鏃�-');
for (AggregateResult category5Search : category5List) {
String deliverycnt5 = String.valueOf(category5Search.get('c5c'));
category5OptionList.add(new SelectOption(deliverycnt5, deliverycnt5));
category5OptionMap.put(deliverycnt5, deliverycnt5);
}
- data.put('category4OptionMap',category4OptionMap);
- data.put('category5OptionMap',category5OptionMap);
+ data.put('category4OptionMap', category4OptionMap);
+ data.put('category5OptionMap', category5OptionMap);
res.status = 'Success';
res.code = 200;
System.debug('res = ' + res);
@@ -1395,7 +1451,7 @@
}
@AuraEnabled
- public static ResponseBodyLWC categoryload(String category3Lwc,String category4Lwc) {
+ public static ResponseBodyLWC categoryload(String category3Lwc, String category4Lwc) {
ResponseBodyLWC res = new ResponseBodyLWC();
Map<String, object> data = new Map<String, object>();
res.entity = data;
@@ -1410,7 +1466,7 @@
];
category4OptionList = new List<SelectOption>();
category4OptionList.add(new SelectOption('', '-鏃�-'));
- category4OptionMap = new Map<String,String>();
+ category4OptionMap = new Map<String, String>();
category4OptionMap.put('', '-鏃�-');
for (AggregateResult category4Search : category4List) {
String deliverycnt4 = String.valueOf(category4Search.get('c4c'));
@@ -1427,15 +1483,15 @@
category5OptionList = new List<SelectOption>();
category5OptionList.add(new SelectOption('', '-鏃�-'));
- category5OptionMap = new Map<String,String>();
+ category5OptionMap = new Map<String, String>();
category5OptionMap.put('', '-鏃�-');
for (AggregateResult category5Search : category5List) {
String deliverycnt5 = String.valueOf(category5Search.get('c5c'));
category5OptionList.add(new SelectOption(deliverycnt5, deliverycnt5));
category5OptionMap.put(deliverycnt5, deliverycnt5);
}
- data.put('category4OptionMap',category4OptionMap);
- data.put('category5OptionMap',category5OptionMap);
+ data.put('category4OptionMap', category4OptionMap);
+ data.put('category5OptionMap', category5OptionMap);
res.status = 'Success';
res.code = 200;
System.debug('res = ' + res);
@@ -1456,7 +1512,9 @@
Boolean editAbleLwc,
List<ConsumableorderdetailsInfoLwc> pageRecordsLwcLwc,
List<ConsumableorderdetailsInfo> consumableproductdetailsRecordsLwc,
- String arriveorderLwc
+ String arriveorderLwc,
+ Integer pageSizeLWC,
+ Integer pageTokenLWC
) {
consumableproductdetailsRecords = consumableproductdetailsRecordsLwc;
pageRecordsLwc = pageRecordsLwcLwc;
@@ -1465,6 +1523,14 @@
accountName = accountNameLwc;
userWorkLocation = userWorkLocationLwc;
agencyProType = agencyProTypeLwc;
+ product2Selected = new List<Product2__c>();
+ pagesize = pageSizeLWC;
+ pageToken = pageTokenLWC > 2000 ? 2000 : pageTokenLWC;
+ addSize = 0;
+ addData = new List<ConsumableorderdetailsInfo>();
+ System.debug('start addData = ' + addData);
+ System.debug('accountName = ' + accountName);
+ System.debug('userWorkLocation = ' + userWorkLocation);
String sqlagencyProType = '%' + agencyProTypeLwc + '%';
List<AggregateResult> orderdetailCount = [
SELECT count(id), Consumable_Product__c cpc, Box_Piece__c
@@ -1509,9 +1575,9 @@
consumableorderdetailsSelectRecords = new List<ConsumableorderdetailsInfo>();
//consumableorderdetailsSelectRecords = reSet;
String soql = makeSoql(category1, category3, category4, category5);
- System.debug('soql = ' + soql);
size = Integer.valueOf(System.Label.orderdetLimitsize);
initStandardController(soql);
+ System.debug('soql = ' + soql);
product2Selected = Database.query(soql);
for (Integer i = 0; i < product2Selected.size(); i++) {
MidMap.put(product2Selected[i].Id, new ConsumableorderdetailsInfo(product2Selected[i]));
@@ -1591,18 +1657,52 @@
}
consumableorderdetailsSelectRecords.sort();
- //add by rentx
- //noOfRecords = consumableorderdetailsSelectRecords.size();
- //add by rentx
- //makepagerecords();
makepagerecordsLwc();
- // this.sortKey = '1';
- // this.preSortKey = '1';
- // this.sortOrderAsc = false;
- // this.sortOrder = new String[8];
- // this.sortOrder = new String[]{' ',' ',' ',' ','鈫�','','',''};
- data.put('pageRecords', pageRecords);
- data.put('test', 'test');
+ //鍒嗛〉
+ PaginatedAccounts paginatedAccounts = new PaginatedAccounts();
+ totalCount = pageRecords.size();
+ paginatedAccounts.nextPageToken = (pageToken + pageSize < totalCount) ? pageToken + pageSize : null;
+ paginatedAccounts.recordStart = pageToken + 1;
+ paginatedAccounts.pageNumber = pageToken / pageSize + 1;
+ Integer recordEnd = pageSize * paginatedAccounts.pageNumber;
+ paginatedAccounts.recordEnd = totalCount >= recordEnd ? recordEnd : totalCount;
+ paginatedAccounts.totalRecords = totalCount;
+
+ System.debug('addSize = ' + addSize);
+ Integer startIdx;
+ Integer endIdx;
+ startIdx = pageToken;
+ endIdx = pageToken + pageSize;
+ List<ConsumableorderdetailsInfo> pageRecordsTemp = new List<ConsumableorderdetailsInfo>();
+ if (endIdx > pageRecords.size()) {
+ endIdx = pageRecords.size();
+ }
+
+ System.debug('addData.size() = ' + addData.size());
+ for (ConsumableorderdetailsInfo ci : addData) {
+ pageRecordsTemp.add(ci);
+ }
+ System.debug('startIdx = ' + startIdx);
+ System.debug('endIdx = ' + endIdx);
+ System.debug('skipData = ' + skipData);
+ System.debug('pageRecords = ' + pageRecords.size());
+ String hos = '';
+ for (Integer i = startIdx; i < endIdx; i++) {
+ System.debug('skipData.get(pageRecords.get(i).Prod.Id) = ' + skipData.get(pageRecords.get(i).Prod.Id));
+ if (pageRecords.get(i).hospitalSpecialOffer == true) {
+ hos = 'ishos';
+ } else {
+ hos = 'nothos';
+ }
+ if (skipData.get(pageRecords.get(i).Prod.Id + hos) == null) {
+ pageRecordsTemp.add(pageRecords.get(i));
+ }
+ }
+
+ System.debug('pageRecordsTemp = ' + pageRecordsTemp.size());
+ data.put('paginatedAccounts', paginatedAccounts);
+ data.put('pageRecords', pageRecordsTemp);
+ data.put('SearchDone', SearchDone);
res.status = 'Success';
res.code = 200;
System.debug('res = ' + res);
@@ -1612,10 +1712,12 @@
private static String makeSoql(String CateName, String Category3, String Category4, String Category5) {
String sqlTail1 = '(\'';
for (Integer i = 0; i < zaikuId.size(); i++) {
- if (i < zaikuId.size() - 1) {
- sqlTail1 += zaikuId[i] + '\',\'';
- } else {
- sqlTail1 += zaikuId[i];
+ if (zaikuId[i] != null) {
+ if (i < zaikuId.size() - 1) {
+ sqlTail1 += zaikuId[i] + '\',\'';
+ } else {
+ sqlTail1 += zaikuId[i];
+ }
}
}
sqlTail1 += '\')';
@@ -1659,10 +1761,12 @@
public static String makeSoqlinventory() {
String sqlTail = '(\'';
for (Integer i = 0; i < zaikuId.size(); i++) {
- if (i < zaikuId.size() - 1) {
- sqlTail += zaikuId[i] + '\',\'';
- } else {
- sqlTail += zaikuId[i];
+ if (zaikuId[i] != null) {
+ if (i < zaikuId.size() - 1) {
+ sqlTail += zaikuId[i] + '\',\'';
+ } else {
+ sqlTail += zaikuId[i];
+ }
}
}
sqlTail += '\')';
@@ -1701,6 +1805,7 @@
}
System.debug('zhj3');
pageRecords = new List<ConsumableorderdetailsInfo>();
+ System.debug('reSet.size() = ' + reSet.size());
if (editAble && String.isBlank(arriveorder)) {
pageRecords = reSet;
}
@@ -1708,7 +1813,7 @@
//Integer pageendNo = (setCon.getPageNumber() * size)>noOfRecords ? noOfRecords :(setCon.getPageNumber() * size-1);
Integer addNo = 0;
//update by rentx 2021-2-26 start
- System.debug('consumableorderdetailsSelectRecords = ' + consumableorderdetailsSelectRecords);
+ System.debug('consumableorderdetailsSelectRecords.size() = ' + consumableorderdetailsSelectRecords.size());
for (ConsumableorderdetailsInfo info : consumableorderdetailsSelectRecords) {
Consumable_Orderdetails__c orderdetails1 = new Consumable_Orderdetails__c();
if (
@@ -1733,6 +1838,7 @@
public static List<ConsumableorderdetailsInfo> makepagerecordsLwc() {
List<ConsumableorderdetailsInfoLwc> reSetLwc = new List<ConsumableorderdetailsInfoLwc>();
Map<String, String> selectedIdMap = new Map<String, String>();
+ skipData = new Map<String, String>();
System.debug('makepagerecordsLwc pageRecordsLwc = ' + pageRecordsLwc);
//鍙栧嚭閫夋嫨鐨勪骇鍝�
if (pageRecordsLwc != null) {
@@ -1741,18 +1847,20 @@
if (ass.check == true) {
if (ass.hospitalSpecialOffer == true) {
selectedIdMap.put(ass.Prod.Id + 'ishos', ass.Prod.Id);
+ skipData.put(ass.Prod.Id + 'ishos', ass.Prod.Id);
} else {
selectedIdMap.put(ass.Prod.Id + 'nothos', ass.Prod.Id);
+ skipData.put(ass.Prod.Id + 'nothos', ass.Prod.Id);
}
reSetLwc.add(ass);
}
}
}
- System.debug('reSetLwc = ' + reSetLwc);
System.debug('selectedIdMap = ' + selectedIdMap);
pageRecords = new List<ConsumableorderdetailsInfo>();
if (editAble && String.isBlank(arriveorder)) {
List<ConsumableorderdetailsInfo> reSet = new List<ConsumableorderdetailsInfo>();
+ System.debug('reSetLwc = ' + reSetLwc);
for (ConsumableorderdetailsInfoLwc assLwc : reSetLwc) {
ConsumableorderdetailsInfo ci = new ConsumableorderdetailsInfo();
ci.check = assLwc.check;
@@ -1779,19 +1887,24 @@
reSet.add(ci);
}
pageRecords = reSet;
+ System.debug('reSet = ' + reSet);
+ addData = reSet.clone();
+ System.debug('addData = reSet = ' + addData);
}
//Integer pagestartNo = (setCon.getPageNumber() * size)-size;
//Integer pageendNo = (setCon.getPageNumber() * size)>noOfRecords ? noOfRecords :(setCon.getPageNumber() * size-1);
Integer addNo = 0;
//update by rentx 2021-2-26 start
- System.debug('consumableorderdetailsSelectRecords = ' + consumableorderdetailsSelectRecords);
+ System.debug('consumableorderdetailsSelectRecords.size() = ' + consumableorderdetailsSelectRecords.size());
for (ConsumableorderdetailsInfo info : consumableorderdetailsSelectRecords) {
Consumable_Orderdetails__c orderdetails1 = new Consumable_Orderdetails__c();
if (
(info.hospitalSpecialOffer && selectedIdMap.containsKey(info.Prod.Id + 'ishos')) ||
(info.hospitalSpecialOffer == false && selectedIdMap.containsKey(info.Prod.Id + 'nothos'))
) {
+ System.debug('鍘绘帀鐨刬d : ' + info.Prod.Id);
addNo++;
+ addSize++;
} else {
if (info.check == false) {
info.orderdetails1 = orderdetails1;
@@ -1800,7 +1913,8 @@
addNo++;
}
}
- System.debug('pageRecords = ' + pageRecords);
+ System.debug('pageRecords.size() = ' + pageRecords.size());
+ System.debug('end addData = ' + addData);
return pageRecords;
}
@@ -1810,19 +1924,33 @@
Consumable_order__c cocLwc,
String hospitalInfoLwc,
String hospitalNameLwc,
- String secondaryDistributor,
+ String secondaryDistributorLwc,
List<ConsumableorderdetailsInfoLwc> pageRecordsLwc,
- String accountid,
- String ESetId,
- List<ConsumableorderdetailsInfo> consumableproductdetailsRecordsLwc
+ String accountidLwc,
+ String ESetIdLwc,
+ List<ConsumableorderdetailsInfo> consumableproductdetailsRecordsLwc,
+ String agencyProTypeLwc,
+ String userWorkLocationLwc
) {
- System.debug('cocLwc = ' + cocLwc);
coc = cocLwc;
HospitalInfo = hospitalInfoLwc;
HospitalName = hospitalNameLwc;
- SecondDealer = secondaryDistributor;
+ SecondDealer = secondaryDistributorLwc;
pageRecordsLwc = pageRecordsLwc;
+ accountid = accountidLwc;
consumableproductdetailsRecords = consumableproductdetailsRecordsLwc;
+ ESetId = ESetIdLwc;
+ agencyProType = agencyProTypeLwc;
+ userWorkLocation = userWorkLocationLwc;
+
+ System.debug('coc = ' + coc);
+ System.debug('HospitalInfo = ' + HospitalInfo);
+ System.debug('HospitalName = ' + HospitalName);
+ System.debug('SecondDealer = ' + SecondDealer);
+ System.debug('pageRecordsLwc = ' + pageRecordsLwc);
+ System.debug('accountid = ' + accountid);
+ System.debug('consumableproductdetailsRecords = ' + consumableproductdetailsRecords);
+ System.debug('ESetId = ' + ESetId);
ResponseBodyLWC res = new ResponseBodyLWC();
Map<String, object> data = new Map<String, object>();
res.entity = data;
@@ -2453,7 +2581,7 @@
Map<String, object> data = new Map<String, object>();
res.entity = data;
List<ContentVersion> cvList = [
- SELECT id, Title, CreatedBy.Name, PathOnClient,CreatedDate
+ SELECT id, Title, CreatedBy.Name, PathOnClient, CreatedDate
FROM ContentVersion
WHERE FirstPublishLocationId = :recordId
];
@@ -2518,7 +2646,7 @@
ESetId = ESetId;
Savepoint sp = Database.setSavepoint();
- try{
+ try {
List<Consumable_order__c> qs = new List<Consumable_order__c>();
List<Consumable_orderdetails__c> Dqs = new List<Consumable_orderdetails__c>();
Dqs = [SELECT Id FROM Consumable_orderdetails__c WHERE Consumable_order__c = :ESetId];
@@ -2527,7 +2655,7 @@
delete Dqs;
delete qs;
}
- }catch(Exception e){
+ } catch (Exception e) {
Database.rollback(sp);
System.debug(e.getMessage() + e.getLineNumber());
return new ResponseBodyLWC('Error', 500, e.getMessage(), '');
@@ -2742,4 +2870,18 @@
@AuraEnabled
public String Category5 { get; set; }
}
+
+ //鍒嗛〉Bean
+ public class PaginatedAccounts {
+ @AuraEnabled
+ public Integer nextPageToken;
+ @AuraEnabled
+ public Integer pageNumber { get; set; }
+ @AuraEnabled
+ public Integer totalRecords { get; set; }
+ @AuraEnabled
+ public Integer recordStart { get; set; }
+ @AuraEnabled
+ public Integer recordEnd { get; set; }
+ }
}
\ No newline at end of file
diff --git a/force-app/main/default/classes/LexVisitReportCancelController.cls b/force-app/main/default/classes/LexVisitReportCancelController.cls
new file mode 100644
index 0000000..40d9039
--- /dev/null
+++ b/force-app/main/default/classes/LexVisitReportCancelController.cls
@@ -0,0 +1,52 @@
+public with sharing class LexVisitReportCancelController {
+ public LexVisitReportCancelController() {
+
+ }
+
+ @AuraEnabled
+ public static String Init(String recordId){
+ try {
+ Visit_Report__c vistReport = [SELECT Id, Status__c, OwnerId from Visit_Report__c WHERE Id = :recordId];
+ UserResult currentUser = UserInfo_Owner();
+ if(currentUser.Id == vistReport.OwnerId && vistReport.Status__c=='鑽夋涓�'){
+ Visit_Report__c updateData = new Visit_Report__c();
+ updateData.Id = vistReport.Id;
+ UPDATE updateData;
+ return '鍙栨秷鎴愬姛';
+ }else{
+ return '鍙崏妗堜腑鐘舵�佸強鍚岃鎶ュ憡涔︾殑鎵�鏈変汉鍙互鍙栨秷';
+ }
+ }
+ catch (Exception e) {
+ return e.getMessage();
+ }
+
+ }
+
+ //鑾峰彇褰撳墠鐧诲綍浜虹殑Id
+ public static UserResult UserInfo_Owner() {
+ UserResult result = new UserResult();
+ ID myUserID = UserInfo.getUserId();
+
+ try {
+ User tempUser =
+ [select id from user where id = : myUserID ];
+ result.id = tempUser.id;
+ } catch (exception e) {
+
+ result.result = e.getMessage();
+ }
+ return result;
+ }
+
+ public class UserResult {
+ @AuraEnabled
+ public string result;
+ public UserResult( ) {
+ result = 'Success';
+ }
+ @AuraEnabled
+ public string id;
+ //20210105 CHAN-BWX3YU you end
+ }
+}
\ No newline at end of file
diff --git a/force-app/main/default/classes/LexVisitReportCancelController.cls-meta.xml b/force-app/main/default/classes/LexVisitReportCancelController.cls-meta.xml
new file mode 100644
index 0000000..541584f
--- /dev/null
+++ b/force-app/main/default/classes/LexVisitReportCancelController.cls-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>50.0</apiVersion>
+ <status>Active</status>
+</ApexClass>
diff --git a/force-app/main/default/classes/LogAutoSendBatch.cls b/force-app/main/default/classes/LogAutoSendBatch.cls
index edbc062..8f607bc 100644
--- a/force-app/main/default/classes/LogAutoSendBatch.cls
+++ b/force-app/main/default/classes/LogAutoSendBatch.cls
@@ -148,12 +148,14 @@
if (strType_c == 'NFM001') {
NFM001Controller.execute(rowData, null);
}
- if (strType_c == 'NFM002') {
- NFM002WebService.execute(rowData.Id);
- }
- if (strType_c == 'NFM006') {
- NFM006WebService.execute(rowData.Id);
- }
+ // 娓呯悊Apex 20230428 LHJ Start
+ //if (strType_c == 'NFM002') {
+ // NFM002WebService.execute(rowData.Id);
+ //}
+ //if (strType_c == 'NFM006') {
+ // NFM006WebService.execute(rowData.Id);
+ //}
+ // 娓呯悊Apex 20230428 LHJ End
if (strType_c == 'NFM007') {
NFM007Controller.execute(rowData, null);
}
diff --git a/force-app/main/default/classes/NewPaymentPlanLoadLWCController.cls b/force-app/main/default/classes/NewPaymentPlanLoadLWCController.cls
index 536b126..91de681 100644
--- a/force-app/main/default/classes/NewPaymentPlanLoadLWCController.cls
+++ b/force-app/main/default/classes/NewPaymentPlanLoadLWCController.cls
@@ -142,10 +142,17 @@
@AuraEnabled
public static ReturnData print(Maintenance_Contract__c MCEElement) {
- System.debug('print start');
- // save();
- save(MCEElement);
ReturnData returnData = new ReturnData();
+ System.debug('save start');
+ // save();
+ ReturnData res = save(MCEElement);
+ if (res.statusSave != 'Fin') {
+ returnData.status = res.status;
+ returnData.statusSave = 'Denied';
+ return returnData;
+ }
+ System.debug('save end');
+
returnData.statusSave = 'Fin';
returnData.agreeUpperLimit = MCEElement.URF_Contract__c;
if (PageMCEElement.Decided_Estimation__c == null) {
@@ -154,6 +161,7 @@
// statusSave = 'Denied';
returnData.status = '鎶ヤ环鍗曟病鏈夊喅瀹氫箣鍓嶄笉鑳芥墦鍗板悎鍚屾枃鏈�!';
returnData.statusSave = 'Denied';
+ return returnData;
}
if (MCEElement.Estimate_Target__c == null) {
@@ -162,6 +170,7 @@
// statusSave = 'Denied';
returnData.status = '璇风‘瀹氭彁浜ゅ璞�!';
returnData.statusSave = 'Denied';
+ return returnData;
}
@@ -171,6 +180,7 @@
// statusSave = 'Denied';
returnData.status = '闈炴爣鍚堝悓涓嶉渶瑕佹墦鍗板悎鍚屾枃鏈紒';
returnData.statusSave = 'Denied';
+ return returnData;
}
@@ -189,6 +199,7 @@
//return;
returnData.status = '浠樻鎬婚噾棰濅笌鍚堝悓閲戦涓嶇銆�';
returnData.statusSave = 'Denied';
+ return returnData;
}
// HWAG-BHT7XX 2019-12-09 by vivek start
@@ -220,6 +231,7 @@
// statusSave = 'Denied';
returnData.status = '浠樻鏈熸暟鍜屼粯娆捐鍒掓暟鐩笉绗︺��';
returnData.statusSave = 'Denied';
+ return returnData;
}
}
@@ -247,11 +259,18 @@
*澶氭浠樻鑷冲皯杈撳叆浠樻璁″垝1鍜屼粯娆捐鍒�1閲戦
*涓�娆℃�т粯娆鹃渶瑕佽緭鍏ヤ竴娆℃�т粯娆剧害瀹氭湡闄�
*/
+
PageMCEElement = MCEElement;
PageMCEElement.id = MCEElement.id;
- system.debug('*************PageMCEElement='+PageMCEElement);
- system.debug('*************MCEElement='+MCEElement);
- if (PageMCEElement.Is_Standard_Contract__c == null ) {
+ Maintenance_Contract__c MCE1 = [select
+ id,
+ Service_Contract_Staff__r.Salesdepartment__c
+ from
+ Maintenance_Contract__c
+ where
+ id = :MCEElement.id limit 1];
+
+ if (PageMCEElement.Is_Standard_Contract__c == null || PageMCEElement.Is_Standard_Contract__c == '' ) {
// ApexPages.addmessage(new ApexPages.message(ApexPages.severity.WARNING, '璇烽�夋嫨鏄惁鏍囧噯鍚堝悓锛�'));
// statusSave = 'Denied';
returnData.status = '璇烽�夋嫨鏄惁鏍囧噯鍚堝悓锛�';
@@ -317,21 +336,22 @@
Savepoint sp = Database.setSavepoint();
try {
- if (PageMCEElement.Service_Contract_Staff__r.Salesdepartment__c == '1.鍗庡寳') {
+ system.debug('*************PageMCEElement='+MCE1.Service_Contract_Staff__r.Salesdepartment__c);
+ if (MCE1.Service_Contract_Staff__r.Salesdepartment__c == '1.鍗庡寳') {
PageMCEElement.User_Salesdepartment__c = System.Label.Payment_Block_Leader_HB;
PageMCEElement.User_Salesdepartment_Sec__c = System.Label.Payment_Block_Leader_SD;
- } else if (PageMCEElement.Service_Contract_Staff__r.Salesdepartment__c == '2.涓滃寳') {
+ } else if (MCE1.Service_Contract_Staff__r.Salesdepartment__c == '2.涓滃寳') {
PageMCEElement.User_Salesdepartment__c = System.Label.Payment_Block_Leader_DB;
- } else if (PageMCEElement.Service_Contract_Staff__r.Salesdepartment__c == '3.瑗垮寳') {
+ } else if (MCE1.Service_Contract_Staff__r.Salesdepartment__c == '3.瑗垮寳') {
PageMCEElement.User_Salesdepartment__c = System.Label.Payment_Block_Leader_XB;
- } else if (PageMCEElement.Service_Contract_Staff__r.Salesdepartment__c == '4.瑗垮崡') {
+ } else if (MCE1.Service_Contract_Staff__r.Salesdepartment__c == '4.瑗垮崡') {
PageMCEElement.User_Salesdepartment__c = System.Label.Payment_Block_Leader_XN;
- } else if (PageMCEElement.Service_Contract_Staff__r.Salesdepartment__c == '5.鍗庝笢') {
+ } else if (MCE1.Service_Contract_Staff__r.Salesdepartment__c == '5.鍗庝笢') {
PageMCEElement.User_Salesdepartment__c = System.Label.Payment_Block_Leader_HD;
- } else if (PageMCEElement.Service_Contract_Staff__r.Salesdepartment__c == '6.鍗庡崡') {
+ } else if (MCE1.Service_Contract_Staff__r.Salesdepartment__c == '6.鍗庡崡') {
PageMCEElement.User_Salesdepartment__c = System.Label.Payment_Block_Leader_HN;
PageMCEElement.User_Salesdepartment_Sec__c = System.Label.Payment_Block_Leader_HNVice;
- } else if (PageMCEElement.Service_Contract_Staff__r.Salesdepartment__c == '7.鑳介噺') {
+ } else if (MCE1.Service_Contract_Staff__r.Salesdepartment__c == '7.鑳介噺') {
}
// 瀵逛簬鏍囧噯鍚堝悓杩涜楠岃瘉蹇呭~椤�
diff --git a/force-app/main/default/classes/OpportunityLightingButtonController.cls b/force-app/main/default/classes/OpportunityLightingButtonController.cls
index 5c0b778..e2b9655 100644
--- a/force-app/main/default/classes/OpportunityLightingButtonController.cls
+++ b/force-app/main/default/classes/OpportunityLightingButtonController.cls
@@ -4,7 +4,7 @@
* @Author: chen jing wu
* @Date: 2023-04-12 11:16:07
* @LastEditors: chen jing wu
- * @LastEditTime: 2023-04-14 17:24:54
+ * @LastEditTime: 2023-04-23 14:55:57
*/
public with sharing class OpportunityLightingButtonController {
@AuraEnabled
@@ -305,6 +305,88 @@
return res;
}
@AuraEnabled
+ public static InitData initForCopyWithAssetButton(String recordId){
+ InitData res = new InitData();
+ try {
+ Opportunity oppo = [
+ select
+ Name,
+ SAP_Send_OK__c,
+ IsAuthorized__c
+ from Opportunity where Id =: recordId
+ ];
+ res.name = oppo.Name;
+ res.sapSendOK = oppo.SAP_Send_OK__c;
+ res.isAuthorized = oppo.IsAuthorized__c;
+ } catch (Exception e) {
+ throw new AuraHandledException(e.getMessage());
+ }
+ return res;
+ }
+ @AuraEnabled
+ public static InitData initForNewOpportunityAgencyButton(String recordId){
+ InitData res = new InitData();
+ try {
+ Opportunity opp = [
+ select
+ Agency1__r.Id,
+ Agency_Opportunity__c,
+ Trade__c,
+ Hospital__r.Id,
+ Name,
+ Close_Forecasted_Date__c,
+ Bid_Planned_Date__c,
+ Dealer_Final_Price__c,
+ Wholesale_Price__c,
+ Agency1__r.Name,
+ Opportunity_stage__c,
+ Opportunity_Category__c
+ from Opportunity where Id =: recordId
+ ];
+ res.agency1Id = opp.Agency1__r.Id;
+ res.agencyOpportunity = opp.Agency_Opportunity__c;
+ res.trade = opp.Trade__c;
+ res.hospitalId = opp.Hospital__r.Id;
+ res.name = opp.Name;
+ res.closeForecastedDate = opp.Close_Forecasted_Date__c;
+ res.bidPlannedDate = opp.Bid_Planned_Date__c;
+ res.dealerFinalPrice = opp.Dealer_Final_Price__c;
+ res.wholesalePrice = opp.Wholesale_Price__c;
+ res.agency1 = opp.Agency1__c;
+ res.opportunityStage = opp.Opportunity_stage__c;
+ res.opportunityCategory = opp.Opportunity_Category__c;
+ res.agency1Name = opp.Agency1__r.Name;
+ } catch (Exception e) {
+ throw new AuraHandledException(e.getMessage());
+ }
+ return res;
+ }
+ @AuraEnabled
+ public static InitData initForOpporSpliteButton(String recordId){
+ InitData res = new InitData();
+ try {
+ Opportunity oppo = [
+ select
+ Authorized_DB_No__c,
+ Estimation_Decision__c,
+ SI_Decide_ID__c,
+ Name,
+ Opportunity_No__c,
+ IsAuthorized__c
+ from Opportunity where Id =: recordId
+ ];
+ res.authorizedDBNo = oppo.Authorized_DB_No__c;
+ res.estimationDecision = oppo.Estimation_Decision__c;
+ res.siDecideID = oppo.SI_Decide_ID__c;
+ res.name = oppo.Name;
+ res.opportunityNo = oppo.Opportunity_No__c;
+ res.isAuthorized = oppo.IsAuthorized__c;
+ } catch (Exception e) {
+ throw new AuraHandledException(e.getMessage());
+ }
+ return res;
+ }
+ @AuraEnabled
public static string updateForAgencyAuthorizeButton(String recordId){
try {
Opportunity opp = new Opportunity();
@@ -443,6 +525,68 @@
}
return quotes;
}
+
+ @AuraEnabled
+ public static List<Agency_Hospital_Link__c> queryForNewOpportunityAgencyButtonToRecords(String agency1Id,String hospitalId){
+ List<Agency_Hospital_Link__c> links = null;
+ try {
+ links = [
+ SELECT
+ Id,
+ Name
+ FROM Agency_Hospital_Link__c WHERE Agency__c =: agency1Id AND Hospital__c =: hospitalId
+ ];
+ } catch (Exception e) {
+ System.debug('e:****' + e);
+ }
+ return links;
+ }
+
+ @AuraEnabled
+ public static List<RecordType> queryForNewOpportunityAgencyButtonToRecTypeList(String sobjectType,String developerName,Boolean isActive){
+ List<RecordType> types = null;
+ try {
+ types = [
+ SELECT
+ Id,
+ Name FROM RecordType WHERE SobjectType =: sobjectType And developerName=: developerName And IsActive =: isActive
+ ];
+ } catch (Exception e) {
+ System.debug('e:****' + e);
+ }
+ return types;
+ }
+
+ @AuraEnabled
+ public static List<FieldDefinition> queryForNewOpportunityAgencyButtonToRecords2(String qualifiedApiName){
+ List<FieldDefinition> fields = null;
+ try {
+ fields = [
+ select
+ QualifiedApiName,
+ EntityDefinition.KeyPrefix,
+ DurableId From FieldDefinition WHERE EntityDefinition.QualifiedApiName =: qualifiedApiName
+ ];
+ } catch (Exception e) {
+ System.debug('e:****' + e);
+ }
+ return fields;
+ }
+ @AuraEnabled
+ public static Object submitProcess(String opportunityId) {
+ try {
+ Approval.ProcessSubmitRequest request = new Approval.ProcessSubmitRequest();
+ request.setObjectId(opportunityId);
+ Approval.ProcessResult[] processResults = new Approval.ProcessResult[] {};
+ processResults.add(Approval.process(request));
+ return processResults[0].errors;
+ } catch (Exception e) {
+ String eMessage = e.getMessage();
+ Integer left = eMessage.indexOf(',') + 1;
+ Integer right = eMessage.length();
+ return eMessage.substring(left,right);
+ }
+ }
public class InitData{
@AuraEnabled
public Boolean directLossFLG;
@@ -520,5 +664,29 @@
public String lastOpportunityFileId;
@AuraEnabled
public String currencyIsoCode;
+ @AuraEnabled
+ public Boolean isAuthorized;
+ @AuraEnabled
+ public String agencyOpportunity;
+ @AuraEnabled
+ public String hospitalId;
+ @AuraEnabled
+ public Date closeForecastedDate;
+ @AuraEnabled
+ public Decimal dealerFinalPrice;
+ @AuraEnabled
+ public Decimal wholesalePrice;
+ @AuraEnabled
+ public String opportunityStage;
+ @AuraEnabled
+ public String opportunityCategory;
+ @AuraEnabled
+ public String agency1Name;
+ @AuraEnabled
+ public String authorizedDBNo;
+ @AuraEnabled
+ public String siDecideID;
+ @AuraEnabled
+ public String opportunityNo;
}
}
\ No newline at end of file
diff --git a/force-app/main/default/classes/PAEDecisionRecordController.cls b/force-app/main/default/classes/PAEDecisionRecordController.cls
index bbbe490..d77fbf0 100644
--- a/force-app/main/default/classes/PAEDecisionRecordController.cls
+++ b/force-app/main/default/classes/PAEDecisionRecordController.cls
@@ -15,6 +15,7 @@
get;
set;
}
+ public Integer pageLimit{get;set;}
public String ASac_ASrc;
public String RepairId {
get;
@@ -128,6 +129,7 @@
RecordTypeName = ApexPages.currentPage().getParameters().get('RecordTypeIds');
productIdx = '';
updateIsPaeMap = false;
+ pageLimit = Integer.valueOf(System.Label.mpddetPageLimitsize);//绯荤粺鏍囩
}
public void init() {
editAble = true;
diff --git a/force-app/main/default/classes/RepPAEDecisionRecordController.cls b/force-app/main/default/classes/RepPAEDecisionRecordController.cls
index b9f10dd..30fe21a 100644
--- a/force-app/main/default/classes/RepPAEDecisionRecordController.cls
+++ b/force-app/main/default/classes/RepPAEDecisionRecordController.cls
@@ -42,6 +42,7 @@
get;
set;
}
+ public Integer pageLimit{get;set;}
// 濡傛灉Repair__c 涓璂OJ_Status__c 鐨勫瓧娈靛�间负寰匛tQ Response 鎴栬��
// Report__c 涓瑿omplaintStatus__c 鐨勫瓧娈靛�间负寰匛tQ Response 灏嗘爣璁版敼涓簍rue
// 褰卞搷鑷冲搴旈〉闈腑鐨勬寜閽槸鍚﹀彲鐢�
@@ -107,6 +108,7 @@
// ASRCDecision --> Intake
// ASACDecision --> Final
RecordTypeName = ApexPages.currentPage().getParameters().get('RecordTypeIds');
+ pageLimit = Integer.valueOf(System.Label.mpddetPageLimitsize);//绯荤粺鏍囩
}
public void init() {
editAble = true;
diff --git a/force-app/main/default/classes/SearchProductController.cls b/force-app/main/default/classes/SearchProductController.cls
index 8b4f4f9..e455f66 100644
--- a/force-app/main/default/classes/SearchProductController.cls
+++ b/force-app/main/default/classes/SearchProductController.cls
@@ -1,14 +1,6 @@
public virtual class SearchProductController {
- //lexSearchProduct鎵�闇�瑕佺殑鏂规硶
- //add author:kkbes
- @AuraEnabled
- public static List<ProductLine> getCl(){
- SearchProductController searchProduct= new SearchProductController();
- searchProduct.serContact();
- List<ProductLine> getCl = searchProduct.cl;
- return getCl;
- }
+
public List<ProductLine> cl {get;set;}
@@ -27,7 +19,7 @@
public String lineNo {get;set;} // 瑕敾闈€伄閬告姙銇椼仧琛�
public String val {get;set;} // 瑕敾闈€伄銇嬨倝銇绱㈡枃瀛楀垪
public String celon {get;set;} // 瑕敾闈€伄銇嬨倝銇绱㈡枃瀛楀垪 Celon璇环澧炲姞 2022-04-24 ssm
-
+ public String maxLen {get;set;}
public String SearchName {get;set;} // 妞滅储鏂囧瓧鍒�
public SearchProductController(ApexPages.StandardController controller){
@@ -253,6 +245,11 @@
}
+
+ public void searchNameisNUll(){
+ maxLen =SearchName;
+ SearchName='';
+ }
}
\ No newline at end of file
diff --git a/force-app/main/default/classes/TestSearchProductController.cls b/force-app/main/default/classes/TestSearchProductController.cls
new file mode 100644
index 0000000..a773e23
--- /dev/null
+++ b/force-app/main/default/classes/TestSearchProductController.cls
@@ -0,0 +1,16 @@
+/**********************************************************************
+ *
+ *
+ * @url: /services/apexrest/rest
+ * @data:
+ * {
+
+ }
+*************************************************************************/
+@RestResource(urlMapping='/rest')
+global with sharing class TestSearchProductController {
+ @HttpPost
+ global static String doPost() {
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/force-app/main/default/classes/TestSearchProductController.cls-meta.xml b/force-app/main/default/classes/TestSearchProductController.cls-meta.xml
new file mode 100644
index 0000000..d75b058
--- /dev/null
+++ b/force-app/main/default/classes/TestSearchProductController.cls-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>51.0</apiVersion>
+ <status>Active</status>
+</ApexClass>
diff --git a/force-app/main/default/classes/buttonAccountCtl.cls b/force-app/main/default/classes/buttonAccountCtl.cls
new file mode 100644
index 0000000..1093cf6
--- /dev/null
+++ b/force-app/main/default/classes/buttonAccountCtl.cls
@@ -0,0 +1,40 @@
+public with sharing class buttonAccountCtl {
+ public buttonAccountCtl() {
+
+ }
+
+ @AuraEnabled
+ public static InitData init(String recordId){
+ InitData res = new initData();
+ try{
+ Account report = [SELECT Name,Department_Class_ID_18__c,Department_Class__c,Hospital_ID__c,Hospital__c,Id FROM Account WHERE Id =: recordId LIMIT 1];
+ System.debug(LoggingLevel.INFO, '*** opp: ' + report);
+ res.Id = report.Id;
+ res.HospitalC = report.Hospital__c;
+ res.HospitalIdC = report.Hospital_ID__c;
+ res.DepartmentClassC = report.Department_Class__c;
+ res.DepartmentClassIdC = report.Department_Class_ID_18__c;
+ res.Name = report.Name;
+
+ System.debug(LoggingLevel.INFO, '*** res: ' + res);
+ }catch(Exception e){
+ System.debug(LoggingLevel.INFO, '*** e: ' + e);
+ }
+ return res;
+ }
+
+ public class InitData{
+ @AuraEnabled
+ public String Id;
+ @AuraEnabled
+ public String HospitalC;
+ @AuraEnabled
+ public String HospitalIdC;
+ @AuraEnabled
+ public String DepartmentClassC;
+ @AuraEnabled
+ public String DepartmentClassIdC;
+ @AuraEnabled
+ public String Name;
+ }
+}
\ No newline at end of file
diff --git a/force-app/main/default/classes/buttonAccountCtl.cls-meta.xml b/force-app/main/default/classes/buttonAccountCtl.cls-meta.xml
new file mode 100644
index 0000000..fbbad0a
--- /dev/null
+++ b/force-app/main/default/classes/buttonAccountCtl.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/classes/buttonQISReportCtl.cls b/force-app/main/default/classes/buttonQISReportCtl.cls
new file mode 100644
index 0000000..364dfe5
--- /dev/null
+++ b/force-app/main/default/classes/buttonQISReportCtl.cls
@@ -0,0 +1,162 @@
+public with sharing class buttonQISReportCtl {
+ public buttonQISReportCtl() {
+
+ }
+
+ @AuraEnabled
+ public static InitData init(String recordId){
+ InitData res = new initData();
+ try{
+ QIS_Report__c report = [SELECT QIS_Status__c,PAE_DetermineAC__c,AE_DetermineResult__c,ETQ_UPLOAD_STATUS__c,QIS_final_judgement__c,OCM_judgement__c,PAE_Determine__c,Id FROM QIS_Report__c WHERE Id =: recordId LIMIT 1];
+ res.PAEDetermineC = report.PAE_Determine__c;
+ res.PAEDetermineACC = report.PAE_DetermineAC__c;
+ res.OCMJudgementC = report.OCM_judgement__c;
+ res.QISFinalJudgementC = report.QIS_final_judgement__c;
+ res.ETQUPLOADSTATUSC = report.ETQ_UPLOAD_STATUS__c;
+ res.AEDetermineResultC = report.AE_DetermineResult__c;
+ res.Id = report.Id;
+ res.QISStatusC = report.QIS_Status__c;
+ res.userId = UserInfo.getUserId();
+ res.email = UserInfo.getUserEmail();
+ res.profileId = UserInfo.getProfileId();
+ }catch(Exception e){
+ System.debug(LoggingLevel.INFO, '*** e: ' + e);
+ }
+ return res;
+ }
+
+ // 鏍规嵁ID淇悊鎶ヤ环鎻愪氦
+ @AuraEnabled
+ public static String updateOSHNogoods(String Id,String email,String userId){
+ List<User> user = new List<User>();
+ user = [SELECT Id,Alias from User];
+
+ String res ='';
+ try {
+ QIS_Report__c rac = new QIS_Report__c();
+ rac.Id = Id;
+ rac.QIS_Status__c = 'OSH妫�娴嬩腑';
+ rac.OSHRecievedDate__c = Date.today();
+ rac.OSH_Receive_staff__c = user[0].Alias;
+ rac.OSH_staff__c = user[0].Alias;
+ rac.OSH_staff_email__c = email;
+ rac.Is_ProductGot__c = true;
+ rac.OSH_GotProductPeople__c = userId;
+
+ List<User> records = new List<User>();
+ records = [SELECT Id, JingliApprovalManager__c, BuchangApprovalManager__c, ZongjianApprovalManager__c FROM User WHERE Id=: userId ];
+ if (records != null && records.size() > 0 && records[0].JingliApprovalManager__c != null&& records[0].BuchangApprovalManager__c != null) {
+ rac.OSH_Manager__c= records[0].JingliApprovalManager__c;
+ rac.OSH_Buzhang__c= records[0].BuchangApprovalManager__c;
+ } else {
+ rac.OSH_Manager__c= userId;
+ rac.OSH_Buzhang__c= userId;
+ }
+ rac.OSHInspectionDate__c = Date.today();
+ rac.OSH_Nogoods__c = true;
+ update rac;
+ } catch (Exception e) {
+ System.debug(LoggingLevel.INFO, '*** e: ' + e);
+ res = e.getMessage();
+ }
+ return res;
+ }
+
+ @AuraEnabled
+ public static String sendToETQ(String iflog_Id,BatchIF_Log__c rowDataSFDC, List<String> repairIds,String statu){
+ List<QIS_Report__c> temp = [select id from QIS_Report__c where id in :repairIds ];
+ if(temp != null && temp.size() > 0){
+ try {
+ Database.executeBatch(new QISToPDFBatch(iflog_Id, rowDataSFDC,repairIds,statu),50); //鐢熸垚PDF
+ }
+ catch (Exception e) {
+ return '鏇存柊QIS鎶ラ敊:'+ e.getMessage();
+ }
+ }else{
+ BatchIF_Log__c iflog = new BatchIF_Log__c();
+ iflog.Type__c = 'sendToETQ';
+ iflog.ErrorLog__c = '';
+ iflog.Log__c = 'NFM401WebService start--';
+
+ Repair__c updateRe = new Repair__c();
+ updateRe.Id = repairIds[0];
+ updateRe.INTERFACE_RECORD_ID__c = null;
+ updateRe.ETQ_UPLOAD_STATUS__c = null;
+ updateRe.ETQ_UPLOAD_MESSAGE__c = null;
+ updateRe.OSH_ConfirmationDate__c = Date.today();
+ updateRe.OSH_Affirmant__c = UserInfo.getUserId();
+ updateRe.AWS_Interface_Time__c = Datetime.now();
+ updateRe.AsyncData__c = true;
+ try{
+ update updateRe;
+ Database.executeBatch(new RepairToPDFBatch(iflog_Id, rowDataSFDC,repairIds,statu)); //鐢熸垚PDF
+ iflog.Log__c += '\n淇悊:'+updateRe+' 鏇存柊鎴愬姛';
+ iflog.Log__c = '\nNFM401WebService end--';
+ insert iflog;
+ }catch(Exception ex){
+ iflog.ErrorLog__c += '淇悊:'+updateRe+' 鏇存柊澶辫触,鍥犱负::'+ex.getMessage();
+ iflog.Log__c = '\nNFM401WebService end--';
+ insert iflog;
+ return '鏇存柊淇悊鎶ラ敊:'+ ex.getMessage();
+ }
+ }
+ return '鍙戦�佹垚鍔�!';
+ }
+
+ // 鏍规嵁ID淇悊鎶ヤ环鎻愪氦
+ @AuraEnabled
+ public static void updateQISReportC(String QId,String uid){
+ try {
+ QIS_Report__c rac = new QIS_Report__c();
+ rac.Id = QId;
+ rac.INTERFACE_RECORD_ID__c = null;
+ rac.ETQ_UPLOAD_STATUS__c = null;
+ rac.ETQ_UPLOAD_MESSAGE__c = null;
+ rac.AsyncData__c = true;
+ rac.AWS_Interface_Time__c = Datetime.now();
+ rac.OSH_ConfirmationDate__c = Date.today();
+ rac.OSH_Affirmant__c = uid;
+ update rac;
+ } catch (Exception e) {
+ System.debug(LoggingLevel.INFO, '*** e: ' + e);
+ }
+ }
+
+ // 鏍规嵁ID淇悊鎶ヤ环鎻愪氦
+ @AuraEnabled
+ public static List<QIS_Report__c> selectQISReportC(String QId){
+ List<QIS_Report__c> res = new List<QIS_Report__c>();
+ try {
+ res = [SELECT Id,AsyncData__c,Complaint_Number__c,ETQ_UPLOAD_STATUS__c from QIS_Report__c where Id=: QId ];
+ } catch (Exception e) {
+ System.debug(LoggingLevel.INFO, '*** e: ' + e);
+ }
+ return res;
+ }
+
+ public class InitData{
+ @AuraEnabled
+ public String Id;
+ @AuraEnabled
+ public String QISStatusC;
+ @AuraEnabled
+ public String userId;
+ @AuraEnabled
+ public String email;
+ @AuraEnabled
+ public String profileId;
+ @AuraEnabled
+ public String PAEDetermineC;
+ @AuraEnabled
+ public String PAEDetermineACC;
+ @AuraEnabled
+ public String OCMJudgementC;
+ @AuraEnabled
+ public String QISFinalJudgementC;
+ @AuraEnabled
+ public String ETQUPLOADSTATUSC;
+ @AuraEnabled
+ public String AEDetermineResultC;
+
+ }
+}
\ No newline at end of file
diff --git a/force-app/main/default/classes/buttonQISReportCtl.cls-meta.xml b/force-app/main/default/classes/buttonQISReportCtl.cls-meta.xml
new file mode 100644
index 0000000..fbbad0a
--- /dev/null
+++ b/force-app/main/default/classes/buttonQISReportCtl.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/classes/buttonQISSCReportCtl.cls b/force-app/main/default/classes/buttonQISSCReportCtl.cls
new file mode 100644
index 0000000..8704763
--- /dev/null
+++ b/force-app/main/default/classes/buttonQISSCReportCtl.cls
@@ -0,0 +1,41 @@
+public with sharing class buttonQISSCReportCtl {
+ public buttonQISSCReportCtl() {
+
+ }
+
+ @AuraEnabled
+ public static InitData init(String recordId){
+ InitData res = new initData();
+ try{
+ QIS_SC_Report__c report = [SELECT Status__c,Id FROM QIS_SC_Report__c WHERE Id =: recordId LIMIT 1];
+ System.debug(LoggingLevel.INFO, '*** opp: ' + report);
+ res.Id = report.Id;
+ res.StatusC = report.Status__c;
+
+ System.debug(LoggingLevel.INFO, '*** res: ' + res);
+ }catch(Exception e){
+ System.debug(LoggingLevel.INFO, '*** e: ' + e);
+ }
+ return res;
+ }
+
+ // 鏍规嵁ID淇敼QIS甯傚満閮�
+ @AuraEnabled
+ public static void updateQISSCReport(String Id){
+ try {
+ QIS_SC_Report__c qis_Sc = new QIS_SC_Report__c();
+ qis_Sc.Id = Id;
+ qis_Sc.Status__c = '宸叉彁浜�';
+ update qis_Sc;
+ } catch (Exception e) {
+ System.debug(LoggingLevel.INFO, '*** e: ' + e);
+ }
+ }
+
+ public class InitData{
+ @AuraEnabled
+ public String Id;
+ @AuraEnabled
+ public String StatusC;
+ }
+}
\ No newline at end of file
diff --git a/force-app/main/default/classes/buttonQISSCReportCtl.cls-meta.xml b/force-app/main/default/classes/buttonQISSCReportCtl.cls-meta.xml
new file mode 100644
index 0000000..fbbad0a
--- /dev/null
+++ b/force-app/main/default/classes/buttonQISSCReportCtl.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/classes/buttonRepairSubOrderCtl.cls b/force-app/main/default/classes/buttonRepairSubOrderCtl.cls
new file mode 100644
index 0000000..6569071
--- /dev/null
+++ b/force-app/main/default/classes/buttonRepairSubOrderCtl.cls
@@ -0,0 +1,28 @@
+public with sharing class buttonRepairSubOrderCtl {
+ public buttonRepairSubOrderCtl() {
+
+ }
+
+ @AuraEnabled
+ public static InitData init(String recordId){
+ InitData res = new initData();
+ try{
+ RepairSubOrder__c report = [SELECT Id,Status__c FROM RepairSubOrder__c WHERE Id =: recordId LIMIT 1];
+ System.debug(LoggingLevel.INFO, '*** opp: ' + report);
+ res.Id = report.Id;
+ res.StatusC = report.Status__c;
+
+ System.debug(LoggingLevel.INFO, '*** res: ' + res);
+ }catch(Exception e){
+ System.debug(LoggingLevel.INFO, '*** e: ' + e);
+ }
+ return res;
+ }
+
+ public class InitData{
+ @AuraEnabled
+ public String Id;
+ @AuraEnabled
+ public String StatusC;
+ }
+}
\ No newline at end of file
diff --git a/force-app/main/default/classes/buttonRepairSubOrderCtl.cls-meta.xml b/force-app/main/default/classes/buttonRepairSubOrderCtl.cls-meta.xml
new file mode 100644
index 0000000..fbbad0a
--- /dev/null
+++ b/force-app/main/default/classes/buttonRepairSubOrderCtl.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/classes/lexAddressCtl.cls b/force-app/main/default/classes/lexAddressCtl.cls
new file mode 100644
index 0000000..c2f49d3
--- /dev/null
+++ b/force-app/main/default/classes/lexAddressCtl.cls
@@ -0,0 +1,25 @@
+public with sharing class lexAddressCtl {
+ public lexAddressCtl() {
+
+ }
+
+ @AuraEnabled
+ public static InitData init(String recordId){
+ InitData res = new initData();
+ try{
+ Address__c report = [SELECT Id FROM Address__c WHERE Id =: recordId LIMIT 1];
+ System.debug(LoggingLevel.INFO, '*** opp: ' + report);
+ res.Id = report.Id;
+
+ System.debug(LoggingLevel.INFO, '*** res: ' + res);
+ }catch(Exception e){
+ System.debug(LoggingLevel.INFO, '*** e: ' + e);
+ }
+ return res;
+ }
+
+ public class InitData{
+ @AuraEnabled
+ public String Id;
+ }
+}
\ No newline at end of file
diff --git a/force-app/main/default/classes/lexAddressCtl.cls-meta.xml b/force-app/main/default/classes/lexAddressCtl.cls-meta.xml
new file mode 100644
index 0000000..fbbad0a
--- /dev/null
+++ b/force-app/main/default/classes/lexAddressCtl.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/classes/lexNewOnCall.cls b/force-app/main/default/classes/lexNewOnCall.cls
new file mode 100644
index 0000000..a4eebfd
--- /dev/null
+++ b/force-app/main/default/classes/lexNewOnCall.cls
@@ -0,0 +1,5 @@
+public with sharing class lexNewOnCall {
+ public lexNewOnCall() {
+
+ }
+}
\ No newline at end of file
diff --git a/force-app/main/default/classes/lexNewOnCall.cls-meta.xml b/force-app/main/default/classes/lexNewOnCall.cls-meta.xml
new file mode 100644
index 0000000..541584f
--- /dev/null
+++ b/force-app/main/default/classes/lexNewOnCall.cls-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>50.0</apiVersion>
+ <status>Active</status>
+</ApexClass>
diff --git a/force-app/main/default/classes/lexNewPaymentPlanLoadLWCController.cls b/force-app/main/default/classes/lexNewPaymentPlanLoadLWCController.cls
new file mode 100644
index 0000000..739f3bf
--- /dev/null
+++ b/force-app/main/default/classes/lexNewPaymentPlanLoadLWCController.cls
@@ -0,0 +1,502 @@
+public with sharing class lexNewPaymentPlanLoadLWCController {
+ public static Maintenance_Contract__c PageMCEElement;
+ public static Datetime testDateTime;
+ public static Boolean printTripartite;
+
+
+ //鏌ヨ鏁版嵁
+ @AuraEnabled(cacheable=true)
+ public static ReturnData init(String recordId) {
+ ReturnData returnData = new ReturnData();
+ // page 閫昏緫
+ returnData.statusSave = 'Fin';
+ testDateTime = system.now();
+ List<Maintenance_Contract__c> PageMCE = [select
+ id,
+ Name,
+ Service_Contract_Staff__c,
+ Payment_Plan_Sum_First__c,
+ Payment_Plan_Date_First__c,
+ Payment_Plan_Sum_Fifth__c,
+ Payment_Plan_Date_Fifth__c,
+ Payment_Plan_Sum_Third__c,
+ Payment_Plan_Date_Third__c,
+ Payment_Plan_Sum_Forth__c,
+ Payment_Plan_Date_Forth__c,
+ Payment_Plan_Sum_Second__c,
+ Payment_Plan_Date_Second__c,
+ Payment_Plan_Sum_Sixth__c,
+ Payment_Plan_Date_Sixth__c,
+ MainLeaderManager__c,
+ Service_Contract_Staff__r.JingliApprovalManager__c,
+ User_Salesdepartment__c,
+ User_Salesdepartment_Sec__c,
+ Service_Contract_Staff__r.Salesdepartment__c,
+ Is_Standard_Contract__c,
+ Small_Repair_Time__c,
+ Big_Repair_Time__c,
+ Live_Technical_Support_Time__c,
+ Engineer_Name__c,
+ Phone_Number__c,
+ Tour_Check__c,
+ Inspection_Time__c,
+ Dedust__c,
+ // fxk
+ Contract_End_Date__c,
+ Contract_Start_Date__c,
+ Contract_Range__c,
+ Contract_Limit_Times__c,
+ Service_contract_target_number__c,
+ // fxk
+ Negotiate_Mean__c,
+ First_Party_Contract_Number__c,
+ Second_Party_Contract_Number__c,
+ Term_Of_Payment__c,
+ one_off_payment_agreed_period__c,
+ Contract_Amount__c,
+ Total_Contract_Amount_In_Words__c,
+ Service_Contract_Staff__r.Name,
+ Total_Payment_Time__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_Fifth_in_Word__c,
+ Payment_Plan_Sum_Sixth_in_Word__c,
+ Estimation_Id__c,
+ Estimation_Id__r.Estimate_Target__c,
+ Estimate_Target__c,
+ Status__c,
+ //HWAG-BHT7XX 2019/11/26 START
+ agree_Upper_limit__c,
+ Amount_Warranty_Coverage__c,
+ Amount_Warranty_Coverage_In_Word__c,
+ //HWAG-BHT7XX 2019/11/26 END
+ Decided_Estimation__c,
+ //XLIU-CEP8WW 銆愬鎵樸�戝悎鍚屾枃鏈洿鏂�/鏂板 LY 20220524 star
+ old_Is_RecognitionModel__c
+ //XLIU-CEP8WW 銆愬鎵樸�戝悎鍚屾枃鏈洿鏂�/鏂板 LY 20220524 end
+ //URF闄愭鍚堝悓2鏈� LY 20220811 star
+ ,URF_Contract__c
+ //URF闄愭鍚堝悓2鏈� LY 20220811 end
+ from
+ Maintenance_Contract__c
+ where
+ id = :recordId];
+ //鏉冮檺绠$悊-Denid
+ if (PageMCE.size() == 1) {
+ //if(PageMCE[0].Service_Contract_Staff__c != UserInfo.getUserId() && UserInfo.getProfileId() != System.Label.ProfileId_SystemAdmin && UserInfo.getProfileId() != System.Label.ProfileId_IThelp){
+ // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.WARNING, '娌℃湁浠樻璁″垝鐨勭紪杈戞潈闄�'));
+ // PageMCEElement = new Maintenance_Contract__c();
+ //}else{
+
+ PageMCEElement = PageMCE[0];
+ //HWAG-BHT7XX 2019/11/26 START
+ returnData.agreeUpperLimit = PageMCE[0].URF_Contract__c ;
+ //HWAG-BHT7XX 2019/11/26 END
+ // fxk 2021/8/31 鐐规娆℃暟蹇呴』閫� Star
+ // if (PageMCEElement.Inspection_Time__c == null || ''.equals(PageMCEElement.Inspection_Time__c) || '0'.equals(PageMCEElement.Inspection_Time__c)) {
+ // PageMCEElement.Inspection_Time__c = '1';
+ // }
+ // fxk 2021/8/31 鐐规娆℃暟蹇呴』閫� end
+ if (PageMCEElement.Small_Repair_Time__c == null) {
+ //XLIU-CEP8WW 銆愬鎵樸�戝悎鍚屾枃鏈洿鏂�/鏂板 LY 20220524 start
+ //PageMCEElement.Small_Repair_Time__c = '48';
+ PageMCEElement.Small_Repair_Time__c = '7';
+ //XLIU-CEP8WW 銆愬鎵樸�戝悎鍚屾枃鏈洿鏂�/鏂板 LY 20220524 end
+
+ }
+ if (PageMCEElement.Big_Repair_Time__c == null) {
+ PageMCEElement.Big_Repair_Time__c = '15';
+
+ }
+ if (PageMCEElement.Live_Technical_Support_Time__c == null) {
+ PageMCEElement.Live_Technical_Support_Time__c = '48';
+
+ }
+ if (PageMCEElement.Engineer_Name__c == null && PageMCEElement.Service_Contract_Staff__r.Name != null ) {
+ PageMCEElement.Engineer_Name__c = PageMCEElement.Service_Contract_Staff__r.Name.replaceAll(' ', '');
+ }
+ if (PageMCEElement.First_Party_Contract_Number__c == null) {
+ PageMCEElement.First_Party_Contract_Number__c = '2';
+ }
+ if (PageMCEElement.Second_Party_Contract_Number__c == null) {
+ PageMCEElement.Second_Party_Contract_Number__c = '1';
+ }
+ returnData.PageMCE = PageMCEElement;
+ //}
+
+ } else {
+ // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.WARNING, '鎵句笉鍒板搴旂殑缁翠慨鍚堝悓'));
+ returnData.status = '鎵句笉鍒板搴旂殑缁翠慨鍚堝悓';
+ returnData.statusSave = 'Denied';
+ }
+ //fxk 鏂板姞鐐规鎬绘鏁� 2021.9.2 Star
+ if (PageMCEElement.Contract_End_Date__c != null || PageMCEElement.Contract_Start_Date__c != null) {
+ returnData.Contract_validMonth = Integer.valueOf(PageMCEElement.Contract_Range__c);
+
+ }
+ //fxk 鏂板姞鐐规鎬绘鏁� 2021.9.2 End
+ return returnData;
+ }
+
+ @AuraEnabled
+ public static ReturnData print(Maintenance_Contract__c MCEElement) {
+ ReturnData returnData = new ReturnData();
+ System.debug('save start');
+ // save();
+ ReturnData res = save(MCEElement);
+ if (res.statusSave != 'Fin') {
+ returnData.status = res.status;
+ returnData.statusSave = 'Denied';
+ return returnData;
+ }
+ System.debug('save end');
+
+ returnData.statusSave = 'Fin';
+ returnData.agreeUpperLimit = MCEElement.URF_Contract__c;
+ if (PageMCEElement.Decided_Estimation__c == null) {
+ // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.WARNING,
+ // '鎶ヤ环鍗曟病鏈夊喅瀹氫箣鍓嶄笉鑳芥墦鍗板悎鍚屾枃鏈�!'));
+ // statusSave = 'Denied';
+ returnData.status = '鎶ヤ环鍗曟病鏈夊喅瀹氫箣鍓嶄笉鑳芥墦鍗板悎鍚屾枃鏈�!';
+ returnData.statusSave = 'Denied';
+ return returnData;
+ }
+
+ if (MCEElement.Estimate_Target__c == null) {
+ // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.WARNING,
+ // '璇风‘瀹氭彁浜ゅ璞�'));
+ // statusSave = 'Denied';
+ returnData.status = '璇风‘瀹氭彁浜ゅ璞�!';
+ returnData.statusSave = 'Denied';
+ return returnData;
+ }
+
+
+ if (PageMCEElement.Is_Standard_Contract__c != null && PageMCEElement.Is_Standard_Contract__c.equals('鍚�')) {
+ // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.WARNING,
+ // '闈炴爣鍚堝悓涓嶉渶瑕佹墦鍗板悎鍚屾枃鏈紒'));
+ // statusSave = 'Denied';
+ returnData.status = '闈炴爣鍚堝悓涓嶉渶瑕佹墦鍗板悎鍚屾枃鏈紒';
+ returnData.statusSave = 'Denied';
+ return returnData;
+ }
+
+
+ if (PageMCEElement.Term_Of_Payment__c != null &&
+ '澶氭浠樻'.equals(PageMCEElement.Term_Of_Payment__c)) {
+ decimal PriceSum = (PageMCEElement.Payment_Plan_Sum_First__c == null ? 0 : PageMCEElement.Payment_Plan_Sum_First__c) +
+ (PageMCEElement.Payment_Plan_Sum_Second__c == null ? 0 : PageMCEElement.Payment_Plan_Sum_Second__c) +
+ (PageMCEElement.Payment_Plan_Sum_Third__c == null ? 0 : PageMCEElement.Payment_Plan_Sum_Third__c) +
+ (PageMCEElement.Payment_Plan_Sum_Forth__c == null ? 0 : PageMCEElement.Payment_Plan_Sum_Forth__c) +
+ (PageMCEElement.Payment_Plan_Sum_Fifth__c == null ? 0 : PageMCEElement.Payment_Plan_Sum_Fifth__c) +
+ (PageMCEElement.Payment_Plan_Sum_Sixth__c == null ? 0 : PageMCEElement.Payment_Plan_Sum_Sixth__c);
+ if (PriceSum != PageMCEElement.Contract_Amount__c ) {
+ // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.WARNING,
+ // '浠樻鎬婚噾棰濅笌鍚堝悓閲戦涓嶇銆�'));
+ // statusSave = 'Denied';
+ //return;
+ returnData.status = '浠樻鎬婚噾棰濅笌鍚堝悓閲戦涓嶇銆�';
+ returnData.statusSave = 'Denied';
+ return returnData;
+ }
+
+ // HWAG-BHT7XX 2019-12-09 by vivek start
+ Integer payTimeSum = 0;
+ if (PageMCEElement.Payment_Plan_Sum_First__c != null) {
+ payTimeSum++;
+ }
+ if (PageMCEElement.Payment_Plan_Sum_Second__c != null) {
+ payTimeSum++;
+ }
+ if (PageMCEElement.Payment_Plan_Sum_Third__c != null) {
+ payTimeSum++;
+ }
+ if (PageMCEElement.Payment_Plan_Sum_Forth__c != null) {
+ payTimeSum++;
+ }
+ if (PageMCEElement.Payment_Plan_Sum_Fifth__c != null) {
+ payTimeSum++;
+ }
+ if (PageMCEElement.Payment_Plan_Sum_Sixth__c != null) {
+ payTimeSum++;
+ }
+ if (PageMCEElement.Total_Payment_Time__c != null) {
+ system.debug(payTimeSum + '======' + Integer.valueOf(PageMCEElement.Total_Payment_Time__c));
+ if (Integer.valueOf(PageMCEElement.Total_Payment_Time__c) != payTimeSum) {
+ System.debug(Integer.valueOf(PageMCEElement.Total_Payment_Time__c) + '======');
+ // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.WARNING,
+ // '浠樻鏈熸暟鍜屼粯娆捐鍒掓暟鐩笉绗︺��'));
+ // statusSave = 'Denied';
+ returnData.status = '浠樻鏈熸暟鍜屼粯娆捐鍒掓暟鐩笉绗︺��';
+ returnData.statusSave = 'Denied';
+ return returnData;
+ }
+ }
+
+ // HWAG-BHT7XX 2019-12-09 by vivek end
+ }
+
+
+
+ system.debug('returnData.statusSave='+returnData.statusSave);
+ system.debug('MCEElement.Estimate_Target__c='+MCEElement.Estimate_Target__c);
+ if (returnData.statusSave.equals('Fin') && MCEElement.Estimate_Target__c.equals('鍖婚櫌')) {
+ returnData.printContract = true;
+ returnData.printAgent = false;
+ } else if (returnData.statusSave.equals('Fin')) {
+ returnData.printContract = false;
+ returnData.printAgent = true;
+ }
+ return returnData;
+ }
+
+ @AuraEnabled
+ public static ReturnData save(Maintenance_Contract__c MCEElement) {
+ ReturnData returnData = new ReturnData();
+ /*楠岃瘉鏄惁杈撳叆浠樻璁″垝
+ *澶氭浠樻鑷冲皯杈撳叆浠樻璁″垝1鍜屼粯娆捐鍒�1閲戦
+ *涓�娆℃�т粯娆鹃渶瑕佽緭鍏ヤ竴娆℃�т粯娆剧害瀹氭湡闄�
+ */
+
+ PageMCEElement = MCEElement;
+ PageMCEElement.id = MCEElement.id;
+ Maintenance_Contract__c MCE1 = [select
+ id,
+ Service_Contract_Staff__r.Salesdepartment__c
+ from
+ Maintenance_Contract__c
+ where
+ id = :MCEElement.id limit 1];
+
+ if (PageMCEElement.Is_Standard_Contract__c == null || PageMCEElement.Is_Standard_Contract__c == '' ) {
+ // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.WARNING, '璇烽�夋嫨鏄惁鏍囧噯鍚堝悓锛�'));
+ // statusSave = 'Denied';
+ returnData.status = '璇烽�夋嫨鏄惁鏍囧噯鍚堝悓锛�';
+ returnData.statusSave = 'Denied';
+ return returnData;
+ }
+ if (PageMCEElement.Term_Of_Payment__c != null &&
+ '澶氭浠樻'.equals(PageMCEElement.Term_Of_Payment__c)) {
+ if (PageMCEElement.Payment_Plan_Sum_First__c == null || PageMCEElement.Payment_Plan_Date_First__c == null || PageMCEElement.Payment_Plan_Sum_First__c == 0) {
+ // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.WARNING, '璇疯緭鍏ヨ嚦灏戜竴涓粯娆捐鍒掞紒'));
+ // statusSave = 'Denied';
+ returnData.status = '璇疯緭鍏ヨ嚦灏戜竴涓粯娆捐鍒掞紒';
+ returnData.statusSave = 'Denied';
+ return returnData;
+ }
+
+ } else if (PageMCEElement.Term_Of_Payment__c != null
+ && '涓�娆℃�т粯娆�'.equals(PageMCEElement.Term_Of_Payment__c)
+ && PageMCEElement.one_off_payment_agreed_period__c == null ) {
+ // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.WARNING, '璇疯緭鍏ヤ粯娆捐鍒掞紒'));
+ // statusSave = 'Denied';
+ returnData.status = '璇疯緭鍏ヤ粯娆捐鍒掞紒';
+ returnData.statusSave = 'Denied';
+ return returnData;
+ }
+ if (PageMCEElement.Is_Standard_Contract__c == '鏄�') {
+ if (PageMCEElement.Contract_End_Date__c == null || PageMCEElement.Contract_Start_Date__c == null) {
+ // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.WARNING, '璇峰鎵规姤浠峰苟decide'));
+ // statusSave = 'Denied';
+ // return null;
+ returnData.status = '璇峰鎵规姤浠峰苟decide';
+ returnData.statusSave = 'Denied';
+ return returnData;
+ }
+ }
+ // fxk 2021/8/31 鐐规娆℃暟蹇呴』濉� end
+ // fxk 涓虹淮淇悎鍚岀偣妫�鎬绘鏁拌祴鍊� star
+ if (PageMCEElement.Inspection_Time__c != null) {
+ if (PageMCEElement.Contract_End_Date__c != null || PageMCEElement.Contract_Start_Date__c != null) {
+ System.debug('PageMCEElement.Contract_End_Date__c.year():' + PageMCEElement.Contract_End_Date__c.year());
+ Integer Contract_validMonth = Integer.valueOf(PageMCEElement.Contract_Range__c);
+
+ if((Integer.valueOf(PageMCEElement.Inspection_Time__c) == 1 && Contract_validMonth < 9)
+ || (Integer.valueOf(PageMCEElement.Inspection_Time__c) == 2 && Contract_validMonth < 6)
+ || (Integer.valueOf(PageMCEElement.Inspection_Time__c) == 3 && Contract_validMonth < 4)
+ || (Integer.valueOf(PageMCEElement.Inspection_Time__c) == 4 && Contract_validMonth < 3)){
+ PageMCEElement.Service_contract_target_number__c = 1;
+ }else{
+ // add 涓�骞村唴鐐规鍖洪棿涓嶅鐢熸垚涓�娆$偣妫�璁″垝锛岄粯璁ょ敓鎴愪竴涓偣妫�璁″垝锛岃鍒掑尯闂翠负鍚堝悓寮�濮嬫棩-缁撴潫鏃� 2021/10/25 fxk End
+ Integer All_check;
+ if (Contract_validMonth - Integer.valueOf(Contract_validMonth / 12) * 12 >= 6
+ && Integer.valueOf(PageMCEElement.Inspection_Time__c) == 1) {
+ All_check = (Contract_validMonth * Integer.valueOf(PageMCEElement.Inspection_Time__c)) / 12 + 1;
+ } else {
+ All_check = (Contract_validMonth * Integer.valueOf(PageMCEElement.Inspection_Time__c)) / 12;
+ }
+ // Integer All_check = (Contract_validMonth * Integer.valueOf(PageMCEElement.Inspection_Time__c)) / 12;
+ PageMCEElement.Service_contract_target_number__c = All_check;
+ }
+ }
+ }
+ // fxk 涓虹淮淇悎鍚岀偣妫�鎬绘鏁拌祴鍊� end
+
+ Savepoint sp = Database.setSavepoint();
+ try {
+ system.debug('*************PageMCEElement='+MCE1.Service_Contract_Staff__r.Salesdepartment__c);
+ if (MCE1.Service_Contract_Staff__r.Salesdepartment__c == '1.鍗庡寳') {
+ PageMCEElement.User_Salesdepartment__c = System.Label.Payment_Block_Leader_HB;
+ PageMCEElement.User_Salesdepartment_Sec__c = System.Label.Payment_Block_Leader_SD;
+ } else if (MCE1.Service_Contract_Staff__r.Salesdepartment__c == '2.涓滃寳') {
+ PageMCEElement.User_Salesdepartment__c = System.Label.Payment_Block_Leader_DB;
+ } else if (MCE1.Service_Contract_Staff__r.Salesdepartment__c == '3.瑗垮寳') {
+ PageMCEElement.User_Salesdepartment__c = System.Label.Payment_Block_Leader_XB;
+ } else if (MCE1.Service_Contract_Staff__r.Salesdepartment__c == '4.瑗垮崡') {
+ PageMCEElement.User_Salesdepartment__c = System.Label.Payment_Block_Leader_XN;
+ } else if (MCE1.Service_Contract_Staff__r.Salesdepartment__c == '5.鍗庝笢') {
+ PageMCEElement.User_Salesdepartment__c = System.Label.Payment_Block_Leader_HD;
+ } else if (MCE1.Service_Contract_Staff__r.Salesdepartment__c == '6.鍗庡崡') {
+ PageMCEElement.User_Salesdepartment__c = System.Label.Payment_Block_Leader_HN;
+ PageMCEElement.User_Salesdepartment_Sec__c = System.Label.Payment_Block_Leader_HNVice;
+ } else if (MCE1.Service_Contract_Staff__r.Salesdepartment__c == '7.鑳介噺') {
+
+ }
+ // 瀵逛簬鏍囧噯鍚堝悓杩涜楠岃瘉蹇呭~椤�
+ string requiredInput = '';
+ if (PageMCEElement.Is_Standard_Contract__c.equals('鏄�')) {
+ if (PageMCEElement.Engineer_Name__c == null || ''.equals(PageMCEElement.Engineer_Name__c)) {
+ requiredInput += '宸ョ▼甯堝鍚�';
+ }
+ if (PageMCEElement.Small_Repair_Time__c == null || ''.equals(PageMCEElement.Small_Repair_Time__c)) {
+ if (!''.equals(requiredInput)) {
+ requiredInput += '銆�';
+ }
+ requiredInput += '灏忎慨鐞嗘椂闄�';
+ }
+ if (PageMCEElement.Big_Repair_Time__c == null || ''.equals(PageMCEElement.Big_Repair_Time__c)) {
+ if (!''.equals(requiredInput)) {
+ requiredInput += '銆�';
+ }
+ requiredInput += '澶т慨鐞嗘椂闄�';
+ }
+ if (PageMCEElement.Live_Technical_Support_Time__c == null || ''.equals(PageMCEElement.Live_Technical_Support_Time__c)) {
+ if (!''.equals(requiredInput)) {
+ requiredInput += '銆�';
+ }
+ requiredInput += '鐜板満鎶�鏈敮鎸佹椂闄�';
+ }
+ if (PageMCEElement.Tour_Check__c == null || ''.equals(PageMCEElement.Tour_Check__c)) {
+ if (!''.equals(requiredInput)) {
+ requiredInput += '銆�';
+ }
+ requiredInput += '宸″洖';
+ }
+ if (PageMCEElement.Inspection_Time__c == null || ''.equals(PageMCEElement.Inspection_Time__c)) {
+ if (!''.equals(requiredInput)) {
+ requiredInput += '銆�';
+ }
+ requiredInput += '鐐规';
+ }
+ if (PageMCEElement.Dedust__c == null || ''.equals(PageMCEElement.Dedust__c)) {
+ if (!''.equals(requiredInput)) {
+ requiredInput += '銆�';
+ }
+ requiredInput += '闄ゅ皹';
+ }
+
+ if (PageMCEElement.First_Party_Contract_Number__c == null || ''.equals(PageMCEElement.First_Party_Contract_Number__c)) {
+ if (!''.equals(requiredInput)) {
+ requiredInput += '銆�';
+ }
+ requiredInput += '鍚堝悓浠芥暟锛氱敳鏂�:';
+ }
+ if (PageMCEElement.Second_Party_Contract_Number__c == null || ''.equals(PageMCEElement.Second_Party_Contract_Number__c)) {
+ if (!''.equals(requiredInput)) {
+ requiredInput += '銆�';
+ }
+ requiredInput += '鍚堝悓浠芥暟锛氫箼鏂�:';
+ }
+ if (!''.equals(requiredInput)) {
+ // ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.ERROR, '璇ュ悎鍚屾槸鏍囧噯鍚堝悓锛岃杈撳叆锛�' + requiredInput));
+ returnData.status = '璇ュ悎鍚屾槸鏍囧噯鍚堝悓锛岃杈撳叆锛�' + requiredInput;
+ returnData.statusSave = 'Denied';
+ return returnData;
+ }
+ } else {
+ if (PageMCEElement.Term_Of_Payment__c != null &&
+ '澶氭浠樻'.equals(PageMCEElement.Term_Of_Payment__c)) {
+ decimal PriceSum = (PageMCEElement.Payment_Plan_Sum_First__c == null ? 0 : PageMCEElement.Payment_Plan_Sum_First__c) +
+ (PageMCEElement.Payment_Plan_Sum_Second__c == null ? 0 : PageMCEElement.Payment_Plan_Sum_Second__c) +
+ (PageMCEElement.Payment_Plan_Sum_Third__c == null ? 0 : PageMCEElement.Payment_Plan_Sum_Third__c) +
+ (PageMCEElement.Payment_Plan_Sum_Forth__c == null ? 0 : PageMCEElement.Payment_Plan_Sum_Forth__c) +
+ (PageMCEElement.Payment_Plan_Sum_Fifth__c == null ? 0 : PageMCEElement.Payment_Plan_Sum_Fifth__c) +
+ (PageMCEElement.Payment_Plan_Sum_Sixth__c == null ? 0 : PageMCEElement.Payment_Plan_Sum_Sixth__c);
+ if (PriceSum != PageMCEElement.Contract_Amount__c ) {
+ returnData.status = '浠樻鎬婚噾棰濅笌鍚堝悓閲戦涓嶇銆�';
+ returnData.statusSave = 'Denied';
+ return returnData;
+ }
+
+ }
+ }
+
+ if (PageMCEElement.Term_Of_Payment__c != null
+ && '涓�娆℃�т粯娆�'.equals(PageMCEElement.Term_Of_Payment__c)) {
+ PageMCEElement.Payment_Plan_Sum_First__c = PageMCEElement.Contract_Amount__c;
+ PageMCEElement.Payment_Plan_Sum_Second__c = null;
+ PageMCEElement.Payment_Plan_Sum_Third__c = null;
+ PageMCEElement.Payment_Plan_Sum_Forth__c = null;
+ PageMCEElement.Payment_Plan_Sum_Fifth__c = null;
+ PageMCEElement.Payment_Plan_Sum_Sixth__c = null;
+
+ PageMCEElement.Payment_Plan_Date_First__c = null;
+ PageMCEElement.Payment_Plan_Date_Second__c = null;
+ PageMCEElement.Payment_Plan_Date_Third__c = null;
+ PageMCEElement.Payment_Plan_Date_Forth__c = null;
+ PageMCEElement.Payment_Plan_Date_Fifth__c = null;
+ PageMCEElement.Payment_Plan_Date_Sixth__c = null;
+ PageMCEElement.Total_Payment_Time__c = null;
+ } else {
+ PageMCEElement.one_off_payment_agreed_period__c = null;
+
+ }
+ if (PageMCEElement.Is_Standard_Contract__c != null && PageMCEElement.Is_Standard_Contract__c.equals('鍚�')) {
+ System.debug('-------1-------'+PageMCEElement.Is_Standard_Contract__c);
+ PageMCEElement.Engineer_Name__c = null;
+ PageMCEElement.Phone_Number__c = null;
+ PageMCEElement.Small_Repair_Time__c = null;
+ PageMCEElement.Big_Repair_Time__c = null;
+ PageMCEElement.Live_Technical_Support_Time__c = null;
+ PageMCEElement.Tour_Check__c = null;
+ PageMCEElement.Dedust__c = null;
+ PageMCEElement.First_Party_Contract_Number__c = null;
+ PageMCEElement.Second_Party_Contract_Number__c = null;
+ }
+ PageMCEElement.MainLeaderManager__c = MCEElement.JingliApprovalManager__c;
+ update PageMCEElement;
+ returnData.statusSave = 'Fin';
+ return returnData;
+ } catch (exception ex) {
+ returnData.statusSave = 'Denied';
+ Database.rollback(sp);
+ returnData.status = ex.getMessage();
+ return returnData;
+ }
+ }
+
+ // 杩斿洖鏌ヨ缁撴灉鍜岀姸鎬�
+ public class ReturnData {
+ @AuraEnabled
+ public Maintenance_Contract__c PageMCE;
+ @AuraEnabled
+ public String status;
+ @AuraEnabled
+ public String statusSave;
+ @AuraEnabled
+ public Integer Contract_validMonth;
+ @AuraEnabled
+ public Boolean printContract;
+ @AuraEnabled
+ public Boolean printAgent;
+ @AuraEnabled
+ public Boolean agreeUpperLimit;
+ // 鏂板鐐规鎬绘鏁帮紙鍙湪椤甸潰涓樉绀猴級fxk 2021/9/2 End
+ public ReturnData(){
+ PageMCE = new Maintenance_Contract__c();
+ }
+
+ }
+}
\ No newline at end of file
diff --git a/force-app/main/default/classes/lexNewPaymentPlanLoadLWCController.cls-meta.xml b/force-app/main/default/classes/lexNewPaymentPlanLoadLWCController.cls-meta.xml
new file mode 100644
index 0000000..541584f
--- /dev/null
+++ b/force-app/main/default/classes/lexNewPaymentPlanLoadLWCController.cls-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>50.0</apiVersion>
+ <status>Active</status>
+</ApexClass>
diff --git a/force-app/main/default/classes/lexNewRepairAuraController.cls b/force-app/main/default/classes/lexNewRepairAuraController.cls
index f743b7e..e8e1279 100644
--- a/force-app/main/default/classes/lexNewRepairAuraController.cls
+++ b/force-app/main/default/classes/lexNewRepairAuraController.cls
@@ -14,6 +14,10 @@
String PIPL_Input_Account_Error_Msg = label.PIPL_Input_Account_Error_Msg;
Map<string,string> mso = (Map<string,string>)JSON.deserialize(urlStr, Map<string,string>.class);
system.debug('mso='+mso);
+ if (recordId != null) {
+ res.recordTypeId = [SELECT Id,RecordTypeId FROM Repair__c WHERE Id = :recordId].RecordTypeId;
+ res.status = true;
+ }
String RepairSubOrderAWSDataId;
// AssignValueFromUrl(mso,controller.getRecord());
//閫氳繃id鏌� 闂
@@ -74,26 +78,41 @@
}
}
- PIHelper.PIIntegration piIntegration = PIHelper.getPIIntegrationInfo('Repair__c');
- PIHelper.PIIntegration piIntegrationAddress = PIHelper.getPIIntegrationInfo('Address__c');
- PIHelper.PIIntegration piIntegrationContact = PIHelper.getPIIntegrationInfo('Contact');
- PIHelper.PIIntegration piIntegrationRepairSubOrder = PIHelper.getPIIntegrationInfo('RepairSubOrder__c');
- String staticResource = JSON.serialize(piIntegration);
- //zhj MEBG鏂版柟妗堟敼閫� 2022-11-29 start
- String staticResourceV2 = JSON.serialize(PIHelper.getPIIntegrationInfo('Repair__cV2'));
- //zhj MEBG鏂版柟妗堟敼閫� 2022-11-29 end
- String staticResourceAddress = JSON.serialize(piIntegrationAddress);
- String staticResourceContact = JSON.serialize(piIntegrationContact);
- String staticResourceRepairSubOrder = JSON.serialize(piIntegrationRepairSubOrder);
- List<String> encryptedAPIList = piIntegration.PIFields;
- String sobjectPrefix = piIntegration.sobjectPrefix;
+ //2023/04/23 lwc鐨勪繚瀛樺苟鏂板缓 淇濆瓨鍚庡埛鏂伴〉闈�
+ // PIHelper.PIIntegration piIntegration = PIHelper.getPIIntegrationInfo('Repair__c');
+ // PIHelper.PIIntegration piIntegrationAddress = PIHelper.getPIIntegrationInfo('Address__c');
+ // PIHelper.PIIntegration piIntegrationContact = PIHelper.getPIIntegrationInfo('Contact');
+ // PIHelper.PIIntegration piIntegrationRepairSubOrder = PIHelper.getPIIntegrationInfo('RepairSubOrder__c');
+ // String staticResource = JSON.serialize(piIntegration);
+ // //zhj MEBG鏂版柟妗堟敼閫� 2022-11-29 start
+ // String staticResourceV2 = JSON.serialize(PIHelper.getPIIntegrationInfo('Repair__cV2'));
+ // //zhj MEBG鏂版柟妗堟敼閫� 2022-11-29 end
+ // String staticResourceAddress = JSON.serialize(piIntegrationAddress);
+ // String staticResourceContact = JSON.serialize(piIntegrationContact);
+ // String staticResourceRepairSubOrder = JSON.serialize(piIntegrationRepairSubOrder);
+ // List<String> encryptedAPIList = piIntegration.PIFields;
+ // String sobjectPrefix = piIntegration.sobjectPrefix;
- //save and new url
- String newUrl = '/setup/ui/recordtypeselect.jsp?ent=' + sobjectId + '&retURL=/' + sobjectPrefix + '/o&save_new_url=/' + sobjectPrefix + '/e?retURL=%2F' + sobjectPrefix + '%2Fo';
- res.newUrl = newUrl;
+ //save and new url page澶勪繚瀛樺苟鏂板缓璺宠浆鍦板潃锛歯ew?recordTypeId=01210000000QmS9&additionalParams=retURL%3D%252Fa0J%252Fo%26&count=1
+ // String newUrl = '/setup/ui/recordtypeselect.jsp?ent=' + sobjectId + '&retURL=/' + sobjectPrefix + '/o&save_new_url=/' + sobjectPrefix + '/e?retURL=%2F' + sobjectPrefix + '%2Fo';
+ // res.newUrl = newUrl;
return res;
}
+
+ public static String getAllFieldNames(String objName){
+ Map <String, Schema.SObjectType> schemaMap = Schema.getGlobalDescribe();
+ List<Schema.sObjectField> fields = schemaMap.get(objName).getDescribe().fields.getMap().values();
+
+ String fieldString = '';
+ for( Schema.sObjectField field : fields ){
+ fieldString += field + ',';
+ }
+ fieldString = fieldString.removeEnd(',');
+
+ return fieldString;
+ }
+
// @AuraEnabled
public static List <LayoutDescriberHelper.LayoutSection > init1(String recordId,String urlStr) {
String sobjectId = [SELECT CustomObjectId,CustomObjectName FROM CustomObjectUserLicenseMetrics where CustomObjectName ='Repair' limit 1].CustomObjectId;
@@ -379,6 +398,8 @@
//鍒ゆ柇鏄惁鏈塕epair鐨勯粯璁ゅ��
@AuraEnabled
public Boolean status;
+ // @AuraEnabled
+ // public Repair__c repair;
//todo 鎶ヤ慨浜�
@AuraEnabled
public String AWS_Data_Id;
@@ -406,7 +427,9 @@
@AuraEnabled
public String Rental_Apply_Equipment_Set_Detail;
@AuraEnabled
- public String newUrl;
+ public String recordTypeId;
+ // @AuraEnabled
+ // public String newUrl;
public ReturnData(){
this.status = false;
diff --git a/force-app/main/default/classes/lexPCLLostReportLwcController.cls b/force-app/main/default/classes/lexPCLLostReportLwcController.cls
index 6b5484f..8c7573b 100644
--- a/force-app/main/default/classes/lexPCLLostReportLwcController.cls
+++ b/force-app/main/default/classes/lexPCLLostReportLwcController.cls
@@ -1,59 +1,102 @@
public with sharing class lexPCLLostReportLwcController {
- public static Product2 pro2;
- public static string oppId;
- public static string lostReportId;
+
+ public static Product2 pro2 { get; set; }
+
+ public static string oppId { get; set; }
+
+ public static string lostReportId { get; set; }
// 褰撳墠椤甸潰鐘舵�� Create,View and Edit, MarketEdit
- public static string pageStatus;
+
+ public static string pageStatus { get; set; }
// 澶卞崟锛岄儴鍒嗗け鍗�
- public static string lostType;
- public static Set<ID> deleteBrandIDSet = new Set<ID>();
- public static string submitFlag;
- public static LostReport LostReport;
- public static integer brandNo;
- public static integer RemoveBrandNo;
- public static integer setBrandNo;
- public static integer brandCount;
+
+ public static string lostType {get; set;}
+ public static Set<ID> deleteBrandIDSet = new Set<ID>();
+
+ public static string submitFlag {get; set;}
+
+ public static LostReport LostReport {get; set;}
+
+ public static integer brandNo {get; set;}
+
+ public static integer RemoveBrandNo {get; set;}
+
+ public static integer setBrandNo {get; set;}
+
+ public static integer brandCount {get; set;}
// add tcm 20211122 start
- public static integer topNum;
- public static integer secondNum;
+
+ public static integer topNum {get; set;}
+
+ public static integer secondNum {get; set;}
// add tcm 20211122 end
-
-
- // 绔炰簤瀵规墜瀵圭収鍏崇郴琛紝key鏄搧鐗屽悕瀛楋紝value鏄疘D
- public static map<string,id> CompetitionMap;
-
- // public PCLLostReportController(ApexPages.StandardController controller) {
- // this();
- // }
- // public PCLLostReportController(){
- // oppId =
- // ApexPages.currentPage().getParameters().get('oppId') == null ? ''
- // : ApexPages.currentPage().getParameters().get('oppId');
- // lostReportId =
- // ApexPages.currentPage().getParameters().get('Id') == null ? ''
- // : ApexPages.currentPage().getParameters().get('Id');
- // pageStatus =
- // ApexPages.currentPage().getParameters().get('pageStatus') == null ? ''
- // : ApexPages.currentPage().getParameters().get('pageStatus');
- // lostType =
- // ApexPages.currentPage().getParameters().get('lostType') == null ? ''
- // : ApexPages.currentPage().getParameters().get('lostType');
- // submitFlag = ApexPages.currentPage().getParameters().get('submitFlag') == null ? ''
- // : ApexPages.currentPage().getParameters().get('submitFlag');
+ @AuraEnabled
+ public static LostReport getLostReport(){
+ try {
+ return LostReport;
+ } catch (Exception e) {
+ throw new AuraHandledException(e.getMessage());
+ }
+ }
- // }
+ @AuraEnabled( cacheable = true )
+ public static List< Account > getAccounts() {
+
+ return [ SELECT Id, Name, Industry FROM Account LIMIT 10 ];
+
+ }
+
+ @AuraEnabled( cacheable = true )
+ public static void saveAccounts(List<Account> accList){
+ Insert accList;
+ /*if(accList.size()>0 && accList != null){
+ insert accList;
+ }*/
+ }
+
+ @AuraEnabled
+ public static List<String> getPickList(String objectName, String fieldName) {
+ List<String> values = new List<String>();
+ List<Schema.DescribeSobjectResult> results = Schema.describeSObjects(new List<String>{objectName});
+
+ for(Schema.DescribeSobjectResult res : results) {
+ for (Schema.PicklistEntry entry : res.fields.getMap().get(fieldName).getDescribe().getPicklistValues()) {
+ if (entry.isActive()) {
+ values.add(entry.getValue());
+ }
+ }
+ }
+ return values;
+ }
+
+
+ @AuraEnabled
+ public static Map<string,object> init (string oppId1,string lostReportId1,string pageStatus1,string lostType1,string submitFlag1){
+ try {
+ oppId = oppId1;
+ lostReportId = lostReportId1;
+ pageStatus = pageStatus1;
+ lostType = lostType1;
+ submitFlag = submitFlag1;
+ return init1();
+ } catch (Exception e) {
+ throw new AuraHandledException(e.getMessage());
+ }
+ }
// 鍒濆鍖�
- @AuraEnabled
- public static String init(){
+ public static Map<string,object> init1(){
+ Map<string,object> maps = new Map<string,object>();
if(string.isblank(pageStatus)) {
// 杩欓噷闇�瑕佹姤閿欐病鏈変紶鍙傛暟
- return '椤甸潰鍑洪敊锛岃鍒锋柊鍚庨噸璇曪紒';
+ maps.put('message', '椤甸潰鍑洪敊锛岃鍒锋柊鍚庨噸璇曪紒');
+ return maps;
}
else if(pageStatus.equals('Create')) {
if(string.isBlank(oppId)) {
// 杩欓噷鎶ラ敊鍒涘缓鏃跺�欏繀椤绘湁璇环
- return '鍒涘缓澶卞崟鎶ュ憡鏃讹紝璇烽噸璇环椤甸潰鍒涘缓';
+ maps.put('message', '鍒涘缓澶卞崟鎶ュ憡鏃讹紝璇烽噸璇环椤甸潰鍒涘缓');
+ return maps;
}
list<opportunity> opplist =
[select id,Name,
@@ -64,11 +107,13 @@
limit 1];
if( opplist.size() == 0) {
pageStatus = null;
- return '鎮ㄦ病鏈夎浠风殑鏌ョ湅鏉冮檺锛屾棤娉曞垱寤哄け鍗曟姤鍛婏紒';
+ maps.put('message', '鎮ㄦ病鏈夎浠风殑鏌ョ湅鏉冮檺锛屾棤娉曞垱寤哄け鍗曟姤鍛婏紒');
+ return maps;
}
Schema.DescribeSObjectResult s = Lost_cancel_report__c.sObjectType.getDescribe();
if( !s.isCreateable()) {
- return '鎮ㄤ笉鑳藉垱寤哄け鍗�/閮ㄥ垎澶卞崟鎶ュ憡锛�';
+ maps.put('message', '鎮ㄤ笉鑳藉垱寤哄け鍗�/閮ㄥ垎澶卞崟鎶ュ憡锛�');
+ return maps;
}
Lost_cancel_report__c tempLostReport =
new Lost_cancel_report__c(LostType__c= lostType,
@@ -85,7 +130,8 @@
system.debug('edit1');
if(string.isBlank(lostReportId)) {
pageStatus = null;
- return '鎮ㄦ病鏈夋煡鐪嬭繖涓け鍗�/閮ㄥ垎澶卞崟鎶ュ憡鐨勬潈闄愶紒';
+ maps.put('message', '鎮ㄦ病鏈夋煡鐪嬭繖涓け鍗�/閮ㄥ垎澶卞崟鎶ュ憡鐨勬潈闄愶紒');
+ return maps;
}
system.debug('edit2');
list<Lost_cancel_report__c> lostReportList =
@@ -102,7 +148,8 @@
if(lostReportList.size() == 0) {
pageStatus = null;
- return '鎮ㄦ病鏈夋煡鐪嬭繖涓け鍗�/閮ㄥ垎澶卞崟鎶ュ憡鐨勬潈闄愶紒';
+ maps.put('message', '鎮ㄦ病鏈夋煡鐪嬭繖涓け鍗�/閮ㄥ垎澶卞崟鎶ュ憡鐨勬潈闄愶紒');
+ return maps;
}
lostReportList[0].Sales_assistant__c =
lostReportList[0].Opportunity__r.Sales_assistant_ID__c;
@@ -176,26 +223,31 @@
// 璇诲彇绔炰簤瀵规墜鍝佺墝
// BrandmapSet();
if(string.isNotEmpty(submitFlag)) {
- return '鎻愪氦鎴愬姛锛�';
+ maps.put('message', '鎻愪氦鎴愬姛锛�');
+ maps.put('LostReport', LostReport);
+ return maps;
+
}
- return null;
+ maps.put('LostReport', LostReport);
+ return maps;
}
+ //鍐欏埌js
// 缂栬緫 鍙湁绯荤粺绠$悊鍛樻垨鑰呰崏妗堜腑鍙互缂栬緫
- @AuraEnabled
+ @AuraEnabled
public static String edit2(){
if( userinfo.getProfileId() == (ID) '00e10000000Y3o5AAC' ||
'鑽夋'.equals(LostReport.LostReport.Report_Status__c)
) {
pageStatus = 'Edit';
- init();
+ init1();
}
else{
- return '鍙湁鍦ㄨ崏妗堜腑鎵嶈兘杩涜缂栬緫锛�';
+ return '鍙湁鍦ㄨ崏妗堜腑鎵嶈兘杩涜缂栬緫锛�';
}
return null;
}
// 璁剧疆鍝佺墝
- @AuraEnabled
+ @AuraEnabled
public static void setBrand(){
list<LostBrand> LostBrandlist = LostReport.LostBrands;
LostBrand tempBrand = LostBrandlist.get(setBrandNo);
@@ -220,7 +272,7 @@
}
}
// 璁剧疆鍝佺墝
- @AuraEnabled
+ @AuraEnabled
public static void setbrandmannual(){
list<LostBrand> LostBrandlist = LostReport.LostBrands;
LostBrand tempBrand = LostBrandlist.get(setBrandNo);
@@ -243,7 +295,7 @@
}
}
// 淇濆瓨
- @AuraEnabled
+ @AuraEnabled
public static String save(){
if(!DataCheck()) {
@@ -268,7 +320,7 @@
// }
// 鏁版嵁妫�鏌�
- @AuraEnabled
+ @AuraEnabled
public static boolean DataCheck(){
boolean dataCheck = true;
if(string.isBlank(LostReport.LostReport.LostType__c))
@@ -347,7 +399,30 @@
return dataCheck;
}
- @AuraEnabled
+ @AuraEnabled
+ public static String searchBrands(){
+ String ObjectApi_name = 'PCLLostBrand__c';
+ String Field_name = 'Lost_By_Company__c';
+ //From the Object Api name retrieving the SObject
+ Schema.SObjectType targetType = Schema.getGlobalDescribe().get(ObjectApi_name);
+ Sobject Object_name = targetType.newSObject();
+ //grab the sobject that was passed
+ Schema.sObjectType sobject_type = Object_name.getSObjectType();
+ //describe the sobject
+ Schema.DescribeSObjectResult sobject_describe = sobject_type.getDescribe();
+ //get a map of fields for the passed sobject
+ Map<String, Schema.SObjectField> field_map = sobject_describe.fields.getMap();
+ //grab the list of picklist values for the passed field on the sobject
+ List<Schema.PicklistEntry> pick_list_values = field_map.get(Field_name).getDescribe().getPickListValues();
+ List<Map<String, Object>> lstPickvals = new List<Map<String, Object>>();
+ for (Schema.PicklistEntry a : pick_list_values)
+ { //for all values in the picklist list
+ lstPickvals.add(new Map<String, Object>{'label' => a.getValue(), 'value' => a.getValue()});
+ }
+ String jsonStr = JSON.serialize(lstPickvals);
+ return jsonStr;
+ }
+ @AuraEnabled
public static list<LostBrand> brandcopy(){
list<LostBrand> tempbrands = new list<LostBrand>();
for(LostBrand tempbrand: LostReport.LostBrands) {
@@ -360,7 +435,7 @@
return tempbrands;
}
// 鏁版嵁褰曞叆
- @AuraEnabled
+ @AuraEnabled
public static boolean dataEntry(){
system.debug('save---start:');
Savepoint sp = Database.setSavepoint();
@@ -488,51 +563,55 @@
LostReport.lostReport = templostReport;
LostReport.LostBrands = tempBrands;
// 杩欓噷闇�瑕佸啓涓�浜涙姤閿欎俊鎭�
+ ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error,ex.getMessage()));
return false;
}
return true;
}
- // 鍙栨秷
- // public PageReference cancel(){
- // PageReference page = new PageReference('/'+oppId);
- // page.setRedirect(true);
- // return page;
- // }
+
// 鎻愪氦
- // public PageReference submit(){
- // if(!'鑽夋'.equals(LostReport.LostReport.Report_Status__c) ) {
- // return '鍙湁鍦ㄨ崏妗堜腑鎵嶈兘鎻愪氦鐢宠锛�';
- // }
-
- // Savepoint sp = Database.setSavepoint();
- // try{
- // LostReport.lostReport.Report_Status__c = '鎻愪氦';
- // update LostReport.lostReport;
- // Approval.ProcessSubmitRequest psr = new Approval.ProcessSubmitRequest();
- // psr.setObjectId(lostReportId);
- // Approval.ProcessResult submitResult = Approval.process(psr);
- // PageReference page = new PageReference('/apex/PCLLostReportPage');
- // page.getParameters().put('Id', lostReportId);
- // page.getParameters().put('pageStatus', 'View');
- // page.getParameters().put('submitFlag', '1');
-
- // page.setRedirect(true);
- // return page;
- // }catch(exception ex) {
- // Database.rollback(sp);
- // return ex.getMessage();
- // }
- // }
- // 娣诲姞鍝佺墝
- @AuraEnabled
- public static String addBrand(){
- LostReport.LostBrands.add(new LostBrand(LostReport.LostBrands.size()));
- brandCount = LostReport.LostBrands.size();
- return null;
+ @AuraEnabled
+ public static Map<string,Object> submit(){
+ Map<string,string> messages = new Map<string,string>();
+ if(!'鑽夋'.equals(LostReport.LostReport.Report_Status__c) ) {
+ messages.put('error', '鍙湁鍦ㄨ崏妗堜腑鎵嶈兘鎻愪氦鐢宠锛�');
+ return messages;
+ }
+ Map<string,Object> objs = new Map<string,Object>();
+ Savepoint sp = Database.setSavepoint();
+ try{
+ LostReport.lostReport.Report_Status__c = '鎻愪氦';
+ update LostReport.lostReport;
+ Approval.ProcessSubmitRequest psr = new Approval.ProcessSubmitRequest();
+ psr.setObjectId(lostReportId);
+ Approval.ProcessResult submitResult = Approval.process(psr);
+ objs.put('uri', '/apex/PCLLostReportPage');
+ objs.put('Id', lostReportId);
+ objs.put('pageStatus', 'View');
+ objs.put('submitFlag', '1');
+ return objs;
+ }catch(exception ex) {
+ Database.rollback(sp);
+ messages.put('error', ex.getMessage());
+ return messages;
+ }
}
+ // 娣诲姞鍝佺墝
+ @AuraEnabled
+ public static LostBrand getNewLostBrand(Integer lineNo){
+ LostBrand lostBrand = null;
+ try {
+ //report.LostBrands.add(new LostBrand(report.LostBrands.size()));
+ lostBrand = new LostBrand(lineNo);
+ } catch (Exception e) {
+ System.debug(e.getMessage());
+ }
+ return lostBrand;
+ }
+
// 鍒犻櫎鍝佺墝 杩欎釜鏈夊弬鏁癰randNo锛屾墠鐭ラ亾鏄垹闄ら偅涓搧鐗�
- @AuraEnabled
+ @AuraEnabled
public static String Remove(){
system.debug('RemoveBrandNo:'+RemoveBrandNo);
list<LostBrand> tempLostBrands = new List<lostBrand>();
@@ -555,7 +634,7 @@
}
// 娣诲姞鍨嬪彿锛� 杩欎釜鏈夊弬鏁癰randNo锛屾墠鐭ラ亾鏄坊鍔犲埌閭d釜鍝佺墝
// update tcm 20211125 娣诲姞鍨嬪彿鏃惰嚜鍔ㄥ甫鍑哄搧鐗� start
- @AuraEnabled
+ @AuraEnabled
public static String addProduct(){
system.debug('brandNo:'+brandNo);
LostBrand tempLostBrand = LostReport.LostBrands.get(brandNo);
@@ -570,9 +649,9 @@
// update tcm 20211125 娣诲姞鍨嬪彿鏃惰嚜鍔ㄥ甫鍑哄搧鐗� end
// 椤甸潰鐨勬暟鎹粨鏋�
public class LostReport {
- @AuraEnabled
+ @AuraEnabled
public Lost_cancel_report__c lostReport { get; set; }
- @AuraEnabled
+ @AuraEnabled
public list<LostBrand> LostBrands { get; set; }
public LostReport(){
lostReport = new Lost_cancel_report__c();
@@ -589,13 +668,13 @@
}
public class LostBrand {
- @AuraEnabled
+ @AuraEnabled
public PCLLostBrand__c lostBrand;
- @AuraEnabled
+ @AuraEnabled
public Integer lineNo;
- @AuraEnabled
+ @AuraEnabled
public list<PCLLostProducts> LostProducts;
- @AuraEnabled
+ @AuraEnabled
public Integer ProductSize;
public LostBrand( integer lineNo ){
lostBrand = new PCLLostBrand__c();
@@ -619,11 +698,11 @@
}
// add tcm 20211119 start
public class PCLLostProducts {
- @AuraEnabled
+ @AuraEnabled
public Integer lineNo2;
- @AuraEnabled
+ @AuraEnabled
public PCLLostProduct__c LostProductss;
- @AuraEnabled
+ @AuraEnabled
public Boolean bool;
public PCLLostProducts() {
@@ -647,7 +726,6 @@
// add tcm 20211119 end
// add tcm 20211118 start
- @AuraEnabled
public static void search() {
if (LostReport.LostBrands[topNum].LostProducts[secondNum].LostProductss.LostProduct__c==null) {
LostReport.LostBrands[topNum].LostProducts[secondNum].LostProductss.ProductClass__c=null;
diff --git a/force-app/main/default/classes/lexRepPAEDecisionRecordController.cls b/force-app/main/default/classes/lexRepPAEDecisionRecordController.cls
new file mode 100644
index 0000000..00c8349
--- /dev/null
+++ b/force-app/main/default/classes/lexRepPAEDecisionRecordController.cls
@@ -0,0 +1,29 @@
+public with sharing class lexRepPAEDecisionRecordController {
+ @AuraEnabled
+ public static ReturnData init() {
+ ReturnData returnData = new ReturnData();
+ // 鏌ヨ瀵硅薄鐨勬弿杩颁俊鎭�
+ Schema.DescribeSObjectResult objResult = Schema.SObjectType.Report__c;
+ // 鑾峰彇瀵硅薄鐨勫瓧娈靛垪琛�
+ Map<String, Schema.SObjectField> fields = objResult.fields.getMap();
+ returnData.RCDate = fields.get('Repair_ConfirmationDate__c').getDescribe().getLabel();
+ returnData.OCSMDate = fields.get('OCSM_RC_CordingDate__c').getDescribe().getLabel();
+ returnData.RAtor = fields.get('Repair_Authenticator__c').getDescribe().getLabel();
+ returnData.OCSMuser = fields.get('OCSM_RC_CordingUser__c').getDescribe().getLabel();
+ return returnData;
+ }
+ //2023/04/07 杩斿洖鏌ヨ缁撴灉鍜岀姸鎬�
+ public class ReturnData {
+ @AuraEnabled
+ public String status;
+ @AuraEnabled
+ public String RCDate;
+ @AuraEnabled
+ public String OCSMDate;
+ @AuraEnabled
+ public String RAtor;
+ @AuraEnabled
+ public String OCSMuser;
+
+ }
+}
\ No newline at end of file
diff --git a/force-app/main/default/classes/lexRepPAEDecisionRecordController.cls-meta.xml b/force-app/main/default/classes/lexRepPAEDecisionRecordController.cls-meta.xml
new file mode 100644
index 0000000..541584f
--- /dev/null
+++ b/force-app/main/default/classes/lexRepPAEDecisionRecordController.cls-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>50.0</apiVersion>
+ <status>Active</status>
+</ApexClass>
diff --git a/force-app/main/default/classes/otherButtonRepairController.cls b/force-app/main/default/classes/otherButtonRepairController.cls
index 7e007a7..986cab3 100644
--- a/force-app/main/default/classes/otherButtonRepairController.cls
+++ b/force-app/main/default/classes/otherButtonRepairController.cls
@@ -141,7 +141,8 @@
// 鏍规嵁ID淇敼淇悊
@AuraEnabled
- public static void updateRepair(String recordId){
+ public static String updateRepair(String recordId){
+ String res;
try {
Repair__c repair = new Repair__c();
repair.Id = recordid;
@@ -149,8 +150,10 @@
update repair;
} catch (Exception e) {
System.debug(LoggingLevel.INFO, '*** e: ' + e);
+ res=e.getMessage();
}
- }
+ return res;
+ }
// 淇敼楠屾敹鍗�
@AuraEnabled
diff --git a/force-app/main/default/classes/overrideStandabuttonwithLC.cls b/force-app/main/default/classes/overrideStandabuttonwithLC.cls
new file mode 100644
index 0000000..29d69bb
--- /dev/null
+++ b/force-app/main/default/classes/overrideStandabuttonwithLC.cls
@@ -0,0 +1,15 @@
+public with sharing class overrideStandabuttonwithLC {
+
+ @AuraEnabled
+ public static ID saveTransferApply(TransferApply__c taRec){
+ try{
+ insert taRec;
+ }
+ catch(Exception e){
+ system.debug('e-->' + e.getMessage());
+ }
+
+ return taRec.Id;
+ }
+
+}
\ No newline at end of file
diff --git a/force-app/main/default/classes/overrideStandabuttonwithLC.cls-meta.xml b/force-app/main/default/classes/overrideStandabuttonwithLC.cls-meta.xml
new file mode 100644
index 0000000..fbbad0a
--- /dev/null
+++ b/force-app/main/default/classes/overrideStandabuttonwithLC.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/classes/summonsCreatController.cls b/force-app/main/default/classes/summonsCreatController.cls
index 2cf394c..90349cc 100644
--- a/force-app/main/default/classes/summonsCreatController.cls
+++ b/force-app/main/default/classes/summonsCreatController.cls
@@ -341,6 +341,7 @@
String msoql = makeSoqlinventory();
initStandardController(msoql);
product2Selected = Database.query(msoql);
+ System.debug('product2Selected.size() = ' + product2Selected.size());
//product2Selected = product2s();
if (String.isBlank(arriveorder)) {
EditDelCommitBtnDisabled = true;
@@ -2636,10 +2637,12 @@
private String makeSoqlinventory(){
String sqlTail = '(\'';
for(Integer i = 0 ; i< zaikuId.size();i++){
- if(i<zaikuId.size()-1){
- sqlTail += zaikuId[i]+'\',\'';
- }else{
- sqlTail += zaikuId[i];
+ if(zaikuId[i] != null){ //deloitte-zhj 2023-04-24
+ if(i<zaikuId.size()-1){
+ sqlTail += zaikuId[i]+'\',\'';
+ }else{
+ sqlTail += zaikuId[i];
+ }
}
}
sqlTail += '\')';
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/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
new file mode 100644
index 0000000..b473261
--- /dev/null
+++ b/force-app/main/default/lwc/childComponentTest/childComponentTest.html
@@ -0,0 +1,8 @@
+<template>
+ <p class="slds-text-align_center slds-var-m-vertical_medium">
+ Prior Count:
+ <lightning-formatted-number
+ value={priorCount}
+ ></lightning-formatted-number>
+ </p>
+</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
new file mode 100644
index 0000000..ebed1f2
--- /dev/null
+++ b/force-app/main/default/lwc/childComponentTest/childComponentTest.js
@@ -0,0 +1,18 @@
+import { LightningElement,api } from 'lwc';
+
+export default class ChildComponentTest extends LightningElement {
+ _currentCount = 0;
+ priorCount = 0;
+ @api counter = 0;
+ get counter() {
+ return this._currentCount;
+ }
+ set counter(value) {
+ this.priorCount = this._currentCount;
+ this._currentCount = value;
+ }
+ @api
+ maximizeCounter() {
+ this.counter += 1000000;
+ }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/childComponentTest/childComponentTest.js-meta.xml b/force-app/main/default/lwc/childComponentTest/childComponentTest.js-meta.xml
new file mode 100644
index 0000000..f8c5cb4
--- /dev/null
+++ b/force-app/main/default/lwc/childComponentTest/childComponentTest.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/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/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/customOutputGood/customOutputGood.html b/force-app/main/default/lwc/customOutputGood/customOutputGood.html
new file mode 100644
index 0000000..9c1696b
--- /dev/null
+++ b/force-app/main/default/lwc/customOutputGood/customOutputGood.html
@@ -0,0 +1,20 @@
+<template>
+ <template if:true={showTitle}>
+ <template if:true={showLink}>
+ <a style="margin-left: 10px;" onclick={clickLink}><lightning-formatted-text value={outputValue}></lightning-formatted-text></a>
+ </template>
+ <template if:false={showLink}>
+ <div style="margin-left: 10px;margin-top: 10px;margin-bottom: 10px;font-size:14px;">
+ <strong><lightning-formatted-text value={outputValue}></lightning-formatted-text></strong>
+ </div>
+ </template>
+ </template>
+ <template if:false={showTitle}>
+ <template if:true={showLink}>
+ <a style="margin-left: 10px;" onclick={clickLink}><lightning-formatted-number value={outputValue}></lightning-formatted-number></a>
+ </template>
+ <template if:false={showLink}>
+ <lightning-formatted-number style="margin-left: 10px;" value={outputValue}></lightning-formatted-number>
+ </template>
+ </template>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/customOutputGood/customOutputGood.js b/force-app/main/default/lwc/customOutputGood/customOutputGood.js
new file mode 100644
index 0000000..3f12848
--- /dev/null
+++ b/force-app/main/default/lwc/customOutputGood/customOutputGood.js
@@ -0,0 +1,42 @@
+import { LightningElement,api,track } from 'lwc';
+
+export default class CustomOutputGood extends LightningElement {
+ @api outputValue;
+ @api outputType;
+ @api recordId;
+
+ get showTitle(){
+ if(this.outputType == 'Title'){
+ return true;
+ }else{
+ return false;
+ }
+ }
+
+ get showLink(){
+ if(this.outputType == 'Title'){
+ if(this.outputValue == '璁㈠崟鏄庣粏姹囨��'){
+ return false;
+ }else{
+ return true
+ }
+ }else{
+ if(this.outputValue == 0 || this.outputValue == '0' || this.outputValue == ''){
+ return false;
+ }else{
+ return true;
+ }
+ }
+ }
+
+ clickLink(event){
+ this.dispatchEvent(new CustomEvent('clicklink', {
+ composed: true,
+ bubbles: true,
+ cancelable: true,
+ detail: {
+ data: { value: this.outputValue, type: this.outputType, recordId:this.recordId}
+ }
+ }));
+ }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/customOutputGood/customOutputGood.js-meta.xml b/force-app/main/default/lwc/customOutputGood/customOutputGood.js-meta.xml
new file mode 100644
index 0000000..f8c5cb4
--- /dev/null
+++ b/force-app/main/default/lwc/customOutputGood/customOutputGood.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/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..a8a3b77
--- /dev/null
+++ b/force-app/main/default/lwc/customShipmentNumberComp/customShipmentNumberComp.html
@@ -0,0 +1,8 @@
+<template>
+ <lightning-input style="border:1px solid red" step="0" type="number" name="shipmentNumber" label="鍑鸿揣鏁伴噺"
+ variant="label-hidden" onchange={dataChange} data-field="shipmentNumber" value={shipmentNumber}
+ onblur={shipmentNumberBlur} min="0"></lightning-input>
+ <!-- <lightning-input style="border:1px solid red" name="shipmentNumber" label="鍑鸿揣鏁伴噺"
+ variant="label-hidden" onchange={dataChange} data-field="shipmentNumber" value={shipmentNumber}
+ onblur={shipmentNumberBlur}></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
new file mode 100644
index 0000000..9e49c47
--- /dev/null
+++ b/force-app/main/default/lwc/customShippingUnitPriceComp/customShippingUnitPriceComp.html
@@ -0,0 +1,5 @@
+<template>
+ <lightning-input style="border:1px solid red" step="0.01" type="number" name="shipmentUnitPrice"
+ label="deliveryOrderNo" variant="label-hidden" data-field="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
new file mode 100644
index 0000000..6e1f1e7
--- /dev/null
+++ b/force-app/main/default/lwc/customShippingUnitPriceComp/customShippingUnitPriceComp.js
@@ -0,0 +1,24 @@
+import { LightningElement,api,track } from 'lwc';
+
+export default class CustomShippingUnitPriceComp extends LightningElement {
+ @api recordId;
+ @api shippingUnitPrice;
+
+ connectedCallback(){
+ console.log('shippingUnitPrice = ' + this.shippingUnitPrice);
+ }
+
+ shipmentUnitPriceBlur(event){
+ console.log('shipmentUnitPriceBlur')
+ this.shippingUnitPrice = event.target.value;
+
+ this.dispatchEvent(new CustomEvent('shipmentunitprice', {
+ composed: true,
+ bubbles: true,
+ cancelable: true,
+ detail: {
+ data: { shipmentunitprice: this.shippingUnitPrice, recordId: this.recordId }
+ }
+ }));
+ }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/customShippingUnitPriceComp/customShippingUnitPriceComp.js-meta.xml b/force-app/main/default/lwc/customShippingUnitPriceComp/customShippingUnitPriceComp.js-meta.xml
new file mode 100644
index 0000000..f8c5cb4
--- /dev/null
+++ b/force-app/main/default/lwc/customShippingUnitPriceComp/customShippingUnitPriceComp.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/customUnitComp/customUnitComp.html b/force-app/main/default/lwc/customUnitComp/customUnitComp.html
new file mode 100644
index 0000000..776392f
--- /dev/null
+++ b/force-app/main/default/lwc/customUnitComp/customUnitComp.html
@@ -0,0 +1,21 @@
+<!-- sldsValidatorIgnore -->
+<!-- sldsValidatorIgnore -->
+<template>
+ <!-- <select id="citySel" class="selectUnit" onchange={handleDataChange} data-field="selectUnit">
+ <template for:each={unitOptions} for:item="uo">
+ <option value={uo.value} key={uo.value}>{uo.label}</option>
+ </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>
+ </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
new file mode 100644
index 0000000..420a519
--- /dev/null
+++ b/force-app/main/default/lwc/customUnitComp/customUnitComp.js
@@ -0,0 +1,23 @@
+import { LightningElement,api } from 'lwc';
+
+export default class CustomUnitComp extends LightningElement {
+ @api unitValue;
+ @api unitOptions;
+ @api recordId;
+
+ connectedCallback(){
+ }
+
+ handleDataChange(event){
+ console.log('unitValue = ' + event.target.value);
+ this.unitValue = event.target.value;
+ this.dispatchEvent(new CustomEvent('unitchange', {
+ composed: true,
+ bubbles: true,
+ cancelable: true,
+ detail: {
+ data: { unitValue: this.unitValue, recordId: this.recordId }
+ }
+ }));
+ }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/customUnitComp/customUnitComp.js-meta.xml b/force-app/main/default/lwc/customUnitComp/customUnitComp.js-meta.xml
new file mode 100644
index 0000000..f8c5cb4
--- /dev/null
+++ b/force-app/main/default/lwc/customUnitComp/customUnitComp.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/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
new file mode 100644
index 0000000..8a72d0c
--- /dev/null
+++ b/force-app/main/default/lwc/improvedForecastTime/improvedForecastTime.html
@@ -0,0 +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>
+ </div>
+ </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>
+</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
new file mode 100644
index 0000000..a35eaa0
--- /dev/null
+++ b/force-app/main/default/lwc/improvedForecastTime/improvedForecastTime.js
@@ -0,0 +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';
+
+export default class ImprovedForecastTime extends LightningElement {
+
+ //鏄剧ず涓庨殣钘�
+ isAdvance = false; //閫夌潃 鎻愬墠 鐨勬爣璇�
+ isDelay = false; //閫夌潃 寤跺悗 鐨勬爣璇�
+
+ RelateOption=[
+ {label:"鎻愬墠",value:"鎻愬墠"},
+ {label:"寤跺悗",value:"寤跺悗"},
+ ]
+
+ 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;
+ }
+
+ }
+
+ 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/improvedForecastTime/improvedForecastTime.js-meta.xml b/force-app/main/default/lwc/improvedForecastTime/improvedForecastTime.js-meta.xml
new file mode 100644
index 0000000..eac275d
--- /dev/null
+++ b/force-app/main/default/lwc/improvedForecastTime/improvedForecastTime.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/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/jzDataTable/jzDataTable.html b/force-app/main/default/lwc/jzDataTable/jzDataTable.html
new file mode 100644
index 0000000..b0a8b06
--- /dev/null
+++ b/force-app/main/default/lwc/jzDataTable/jzDataTable.html
@@ -0,0 +1,18 @@
+<template>
+ <div style={miniheight} >
+ <lightning-datatable
+ key-field={idkey}
+ data={dataPlus}
+ columns={dataTableConfig.columns}
+ hide-checkbox-column={dataTableConfig.hideCheckboxColumn}
+ is-loading={isLoading}
+ default-sort-direction={dataTableConfig.defaultSortDirection}
+ sorted-direction={dataTableConfig.sortDirection}
+ sorted-by={dataTableConfig.sortedBy}
+ onsort={onHandleSort}
+ onrowselection={selecttionPlus}
+ onsave={handleSave}
+ >
+ </lightning-datatable>
+ </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/jzDataTable/jzDataTable.js b/force-app/main/default/lwc/jzDataTable/jzDataTable.js
new file mode 100644
index 0000000..3ffc28d
--- /dev/null
+++ b/force-app/main/default/lwc/jzDataTable/jzDataTable.js
@@ -0,0 +1,132 @@
+import { LightningElement, api, track } from 'lwc';
+
+const dateTableConfig_init = {
+ // 濡傛灉瀛樺湪锛屽垯鐢ㄤ簬琛岄�夋嫨鐨勫閫夋鍒楀皢琚殣钘忋��
+ hideCheckboxColumn: false,
+ // 鎸囧畾鏈帓搴忓垪鐨勯粯璁ゆ帓搴忔柟鍚戙�傛湁鏁堥�夐」鍖呮嫭鈥� asc鈥濆拰鈥� desc鈥濄�傞粯璁ゅ�间负鈥� asc鈥濓紝鐢ㄤ簬鎸夊崌搴忔帓搴忋��
+ defaultSortDirection: 'asc',
+ // 鎸囧畾鎺掑簭鏂瑰悜銆備娇鐢╫nsort浜嬩欢澶勭悊绋嬪簭瀵规暟鎹繘琛屾帓搴忋�傛湁鏁堥�夐」鍖呮嫭鈥� asc鈥濆拰鈥� desc鈥濄��
+ sortDirection: 'asc',
+ // 鎺у埗鎺掑簭椤哄簭鐨勫垪瀛楁鍚嶃�備娇鐢╫nsort浜嬩欢澶勭悊绋嬪簭瀵规暟鎹繘琛屾帓搴�
+ sortedBy: undefined,
+ // 鏄惁鍚庡彴鎺ュ彛鎺掑簭
+ sortInterfaces: true,
+ // 鎼滅储鍒�
+ searchColumns: [],
+ // 鎼滅储鏉′欢
+ listQuery: {
+ page: 1,
+ limit: 10,
+ sort: "",
+ sortOrder: "",
+ search: ""
+ },
+ // 鍒嗛〉
+ page: {
+ currentPage: 1,
+ total: 0,
+ pageSize: 10
+ },
+
+}
+
+export default class BasicDatatable extends LightningElement {
+ @api name;
+ @api idkey = "Id";
+ @api miniheight = "min-height: 250px";
+ @api options = {};
+ // 鏁版嵁闆�
+ @api tableData = [];
+ @api tableIsLoding = false;
+
+ connectedCallback(){
+ this.initJzDataTable(this.options);
+ }
+
+ @track dataTableConfig = dateTableConfig_init;
+
+ initJzDataTable(init){
+ let searchParams = {};
+ for(let obj of init.searchColumns){
+ if(obj.value) searchParams[obj.name] = obj.value;
+ }
+ this.refreshDataTable(init);
+ }
+
+ @api
+ refreshDataTable(init){
+ init = init || {};
+ // 瀹氫箟鎼滅储鍙傛暟鍙橀噺
+ let listQuery = {};
+ // 鑾峰彇鎼滅储淇℃伅 灏嗘悳绱俊鎭斁鍏ユ悳绱㈠彉閲忎腑
+ listQuery = {search: init.searchParams ? encodeURI(JSON.stringify(init.searchParams), 'utf-8') : this.dataTableConfig.listQuery.search};
+ // 鑾峰彇褰撳墠鍒嗛〉淇℃伅 灏嗗垎椤典俊鎭斁鍏ユ悳绱㈡潯浠朵腑
+ let page = init.page || this.dataTableConfig.page;
+ listQuery = {...listQuery, page: page.currentPage, pageLimit: page.pageSize};
+ // 灏嗘帓搴忎俊鎭斁鍏ユ悳绱㈡潯浠朵腑
+ listQuery = {...listQuery, sortPlus: init.sortedBy || this.dataTableConfig.sortedBy, sortOrder: init.sortDirection || this.dataTableConfig.sortDirection };
+ // 鎵ц鎼滅储鑾峰彇鏁版嵁
+ // let data = await fetchDataHelper(listQuery);
+ const getTableDataEvent = new CustomEvent('gettabledata', {
+ detail: {listQuery: listQuery}
+ });
+ this.dispatchEvent(getTableDataEvent);
+
+ // 灏嗘暟鎹繑鍥炵粰琛ㄦ牸涓�
+ this.dataTableConfig = {...this.dataTableConfig, ...init, listQuery: listQuery, page: page};
+ }
+
+ // 鐐瑰嚮鎺掑簭
+ onHandleSort(event) {
+ const { fieldName: sortedBy, sortDirection } = event.detail;
+ if(this.dataTableConfig.sortInterfaces){
+ this.refreshDataTable({sortDirection,sortedBy});
+ } else {
+ const cloneData = [...this.tableData];
+
+ cloneData.sort(this.sortBy(sortedBy, sortDirection === 'asc' ? 1 : -1));
+ this.tableData = cloneData;
+ this.dataTableConfig.sortDirection = sortDirection;
+ this.dataTableConfig.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));
+ };
+ }
+
+ get dataPlus(){
+ return this.tableData;
+ }
+
+ get isLoading(){
+ return this.tableIsLoding;
+ }
+
+ selecttionPlus(event){
+ const getSearchParamsEvent = new CustomEvent('rowselection', {
+ detail: {rows:event.detail.selectedRows}
+ });
+ this.dispatchEvent(getSearchParamsEvent);
+ }
+ handleSave(event)
+ {
+ const getSearchParamsEvent = new CustomEvent('save', {
+ detail: {rows:event.detail.draftValues}
+ });
+ this.dispatchEvent(getSearchParamsEvent);
+ }
+
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/jzDataTable/jzDataTable.js-meta.xml b/force-app/main/default/lwc/jzDataTable/jzDataTable.js-meta.xml
new file mode 100644
index 0000000..80b0241
--- /dev/null
+++ b/force-app/main/default/lwc/jzDataTable/jzDataTable.js-meta.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>51.0</apiVersion>
+ <isExposed>true</isExposed>
+ <targets>
+ <target>lightning__AppPage</target>
+ <target>lightning__HomePage</target>
+ <target>lightning__RecordPage</target>
+ <target>lightning__UtilityBar</target>
+ <target>lightning__FlowScreen</target>
+ <target>lightning__Tab</target>
+ <target>lightning__Inbox</target>
+ <target>lightningCommunity__Page</target>
+ <target>lightningCommunity__Default</target>
+ <target>lightningSnapin__ChatMessage</target>
+ <target>lightningSnapin__Minimized</target>
+ <target>lightningSnapin__PreChat</target>
+ <target>lightningSnapin__ChatHeader</target>
+ </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/jzSearchForm/jzSearchForm.css b/force-app/main/default/lwc/jzSearchForm/jzSearchForm.css
new file mode 100644
index 0000000..3965827
--- /dev/null
+++ b/force-app/main/default/lwc/jzSearchForm/jzSearchForm.css
@@ -0,0 +1,14 @@
+.form-group{
+ margin-bottom: 10px;
+ display: inline-block;
+ vertical-align: middle;
+}
+.defaultWidth{
+ width: 150px;
+}
+.marginTop22{
+ margin-top: 22px;
+}
+.marginRight10{
+ margin-right: 10px;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/jzSearchForm/jzSearchForm.html b/force-app/main/default/lwc/jzSearchForm/jzSearchForm.html
new file mode 100644
index 0000000..994412f
--- /dev/null
+++ b/force-app/main/default/lwc/jzSearchForm/jzSearchForm.html
@@ -0,0 +1,26 @@
+<template>
+ <div>
+ <template for:each={jzSearchFormConfig} for:item="item">
+ <div key={item.name} class="form-group">
+ <div class="defaultWidth" width={item.width}>
+ <lightning-input if:true={item.isInput}
+ class="marginRight10" type={item.type}
+ label={item.label} name={item.name} value={item.value}
+ variant={item.variant} onchange={handleChange}></lightning-input>
+ <lightning-combobox if:true={item.isCombobox}
+ class="marginRight10"
+ name={item.name}
+ label={item.label}
+ value={item.value}
+ variant={item.variant}
+ placeholder="璇烽�夋嫨"
+ options={item.options}
+ onchange={handleChange}></lightning-combobox>
+ </div>
+ </div>
+ </template>
+ <div class="form-group marginTop22">
+ <lightning-button variant="brand" label="鎼滅储" onclick={searchData} class="slds-m-left_x-small"></lightning-button>
+ </div>
+ </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/jzSearchForm/jzSearchForm.js b/force-app/main/default/lwc/jzSearchForm/jzSearchForm.js
new file mode 100644
index 0000000..add4ab5
--- /dev/null
+++ b/force-app/main/default/lwc/jzSearchForm/jzSearchForm.js
@@ -0,0 +1,56 @@
+import { LightningElement,api, track } from 'lwc';
+
+export default class JzSearchForm extends LightningElement {
+ @api name;
+ @api options = [];
+
+ connectedCallback(){
+ this.initJzSearchForm(this.options);
+ }
+
+ /**
+ * 鍒濆鍖栨悳绱㈡帶浠跺唴瀹�
+ * [
+ * {
+ * label: 鎻忚堪鍊� 蹇呭~
+ * type: isInput:涓簍rue鏃朵笌Lwc input 涓被鍨嬩竴鑷达紝鍏跺畠鍙负涓嶅~
+ * name: 鎺т欢鍚嶇О - 鐢ㄤ笌鎼滅储涓紶鍏ュ悗鍙扮殑鍙傛暟鍚� 蹇呭~
+ * value: 鎺т欢榛樿鍊�
+ * isInput: 涓簍rue鏃讹紝鏄剧ずLwc涓璱nput妗�
+ * isCombobox: 涓簍rue鏃讹紝鏄剧ずLwc涓璴ightning-combobox涓嬫媺妗�
+ * options: 涓篊ombobox鏃讹紝濉啓涓嬫媺妗嗗�� [{label: 'New', value: 'new'},...]
+ * },
+ * ...
+ * ]
+ * of jzSearchFormConfig
+ */
+ @track jzSearchFormConfig = [];
+ @track searchParams = {};
+
+ initJzSearchForm(init){
+ let temp = [];
+ init.forEach((item,index)=>{
+ temp.push({...item});
+ if(item.value)this.searchParams[item.name] = item.value;
+ if(item.isCombobox) temp[index].options = [{label: '鍏ㄩ儴', value: ''}, ...item.options];
+ })
+ this.jzSearchFormConfig = temp;
+ }
+
+ // 鍊兼敼鍙�
+ handleChange(event) {
+ const name = event.target.name;
+ this.searchParams[name] = event.target.value;
+ }
+
+ // 鐐瑰嚮鎼滅储鑾峰彇鎼滅储妗嗕腑鏁版嵁
+ searchData(event) {
+ // Prevent default behavior of anchor tag click which is to navigate to the href url
+ event.preventDefault();
+ const getSearchParamsEvent = new CustomEvent('getsearchparams', {
+ detail: {searchParams: this.searchParams}
+ });
+ this.dispatchEvent(getSearchParamsEvent);
+ }
+
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/jzSearchForm/jzSearchForm.js-meta.xml b/force-app/main/default/lwc/jzSearchForm/jzSearchForm.js-meta.xml
new file mode 100644
index 0000000..80b0241
--- /dev/null
+++ b/force-app/main/default/lwc/jzSearchForm/jzSearchForm.js-meta.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>51.0</apiVersion>
+ <isExposed>true</isExposed>
+ <targets>
+ <target>lightning__AppPage</target>
+ <target>lightning__HomePage</target>
+ <target>lightning__RecordPage</target>
+ <target>lightning__UtilityBar</target>
+ <target>lightning__FlowScreen</target>
+ <target>lightning__Tab</target>
+ <target>lightning__Inbox</target>
+ <target>lightningCommunity__Page</target>
+ <target>lightningCommunity__Default</target>
+ <target>lightningSnapin__ChatMessage</target>
+ <target>lightningSnapin__Minimized</target>
+ <target>lightningSnapin__PreChat</target>
+ <target>lightningSnapin__ChatHeader</target>
+ </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/jzTable/jzTable.html b/force-app/main/default/lwc/jzTable/jzTable.html
new file mode 100644
index 0000000..1e94e83
--- /dev/null
+++ b/force-app/main/default/lwc/jzTable/jzTable.html
@@ -0,0 +1,461 @@
+<template>
+
+ <div >
+ <table class="slds-table slds-table_cell-buffer slds-table_bordered">
+ <thead>
+
+ <tr class="slds-line-height_reset" >
+ <th scope="col" style="text-align:center;background-color:#e0e5ee" >
+ <span id="column-group-header" class="slds-assistive-text">Choose a row</span>
+ <div class="slds-th__action slds-th__action_form">
+ <div class="slds-checkbox">
+ <input type="checkbox" name="options" id="checkbox-unique-id-33" value="checkbox-unique-id-33" tabindex="0" aria-labelledby="check-select-all-label column-group-header" onclick={selectedAllOnClick}/>
+ <label class="slds-checkbox__label" for="checkbox-unique-id-33" id="check-select-all-label">
+ <span class="slds-checkbox_faux"></span>
+ </label>
+ </div>
+ </div>
+ </th>
+
+ <template for:each={optionsdata} for:item="item">
+ <th class="" scope="col" key={item.label} style="background-color:#e0e5ee">
+ <div class="slds-truncate" title={item.label}>{item.label}</div>
+ </th>
+ </template>
+ </tr>
+ </thead>
+ <tbody>
+ <tr class="slds-hint-parent " if:true={isselectedtable}>
+ <th data-label={selecttitle} onclick={clickShowFn}>
+ <div class="slds-truncate" title={selecttitle}>{selecttitle}</div>
+ </th>
+ </tr>
+ <template for:each={showData} for:item="item" if:true={clickShow} >
+ <tr class="slds-hint-parent slds-is-selected" key={item.Id} aria-selected="true">
+
+ <td style="text-align:center">
+ <div class="slds-checkbox">
+ <input type="checkbox" name="options" id={item.checkId} value={item.checkId} tabindex="0" aria-labelledby={item.checkId} checked={item.IsSelected} title={item.Id} onclick={SelectShowFn}/>
+ <label class="slds-checkbox__label" for={item.checkId} id={item.checkId} >
+ <span class="slds-checkbox_faux"></span>
+ </label>
+ </div>
+ </td>
+
+ <template for:each={item.values} for:item="values">
+ <td data-label="Account Name" key={values.valueId}>
+
+
+ <lightning-formatted-rich-text if:true={values.richtext} value={values.value}></lightning-formatted-rich-text>
+
+ <a href={values.urlValue} target="_blank" if:true={values.url} name={values.IdDataStr} title={values.value} >{values.value}</a>
+
+ <a href="javascript:void(0);" if:true={values.urlNoJump} title={values.value} name={values.IdDataStr} onclick={UrlOnClick} >{values.value} </a>
+
+ <div class="slds-truncate" title={values.value} if:true={values.text} style="width:120px;white-space:normal">{values.value}</div>
+
+ <input type="text" placeholder="input.." class="slds-input" value={values.value} if:true={values.input} name={values.IdDataStr} title={values.value} onchange={onChangeFn} />
+
+
+ <div class="slds-select_container" if:true={values.checkBox}>
+ <select class="slds-select" onchange={onChangeFn} title={values.value} name={values.IdDataStr} >
+ <option>{values.value}</option>
+ <option>鏃�</option>
+ <template for:each={values.checkBoxOptionData} for:item="checkData">
+ <option key={checkData}>{checkData}</option>
+ </template>
+ </select>
+ </div>
+
+ <div style="margin-top:-5px">
+ <lightning-input type="date" label=" " value={values.value} if:true={values.date} title={values.value} name={values.IdDataStr} onchange={onChangeFn} ></lightning-input>
+ </div>
+
+ <!-- 鏌ヨ -->
+ <div >
+ <lightning-input
+ label=" "
+ type="search"
+ if:true={values.search}
+ name={values.IdDataStr}
+ value={values.value}
+ title={values.value}
+ onclick={onChangeSearchFn}
+
+ ></lightning-input>
+ </div>
+
+ <!-- End -->
+
+ </td>
+ </template>
+ </tr>
+ </template>
+ <tr class="slds-hint-parent " if:true={isselectedtable} >
+ <th data-label={notselecttitle} onclick={clickShowNotSelectFn}>
+ <div class="slds-truncate" title={notselecttitle}>{notselecttitle}</div>
+ </th>
+ </tr>
+ <template for:each={NotData} for:item="item" if:true={clickShowNotSelect}>
+ <tr class="slds-hint-parent" key={item.Id} data-parent-id={item.Id} >
+
+ <td style="text-align:center">
+ <div class="slds-checkbox">
+ <input type="checkbox" name="options" id={item.checkId} value={item.checkId} tabindex="0" aria-labelledby={item.checkId} checked={item.IsSelected} title={item.Id} onclick={NotSelectShowFn} />
+ <label class="slds-checkbox__label" for={item.checkId} id={item.checkId} >
+ <span class="slds-checkbox_faux"></span>
+ </label>
+ </div>
+ </td>
+
+ <template for:each={item.values} for:item="values">
+ <td data-label="Account Name" key={values.valueId} >
+
+ <lightning-formatted-rich-text if:true={values.richtext} value={values.value}></lightning-formatted-rich-text>
+
+ <a href={values.urlValue} target="_blank" if:true={values.url} name={values.IdDataStr} title={values.value} >{values.value}</a>
+
+ <a href="javascript:void(0);" if:true={values.urlNoJump} title={values.value} name={values.IdDataStr} onclick={UrlOnClick}>{values.value} </a>
+
+ <div class="slds-truncate" title={values.value} if:true={values.text} style="width:120px;white-space:normal" >{values.value}</div>
+
+ <input type="text" placeholder="input.." class="slds-input" name={values.IdDataStr} value={values.value} if:true={values.input} title={values.value} onchange={onChangeFn} />
+
+
+ <div class="slds-select_container" if:true={values.checkBox}>
+ <select class="slds-select" onchange={onChangeFn} title={values.value} name={values.IdDataStr} >
+ <option>{values.value}</option>
+ <option>鏃�</option>
+ <template for:each={values.checkBoxOptionData} for:item="checkData">
+ <option key={checkData}>{checkData}</option>
+ </template>
+ </select>
+ </div>
+
+ <div style="margin-top:-5px">
+ <lightning-input type="date" name={values.IdDataStr} title={values.value} label=" " value={values.value} if:true={values.date} onchange={onChangeFn} ></lightning-input>
+ </div>
+ <div>
+ <lightning-input
+ label=" "
+ type="search"
+ if:true={values.search}
+ name={values.IdDataStr}
+ value={values.value}
+ title={values.value}
+ onclick={onChangeSearchFn}
+ ></lightning-input>
+ </div>
+ </td>
+ </template>
+ </tr>
+ </template>
+ </tbody>
+ </table>
+ <div if:true={TempModelShows}>
+ <section role="dialog" tabindex="-1" aria-label="Meaningful description of the modal content" aria-modal="true" aria-describedby="modal-content-id-1" class="slds-modal slds-fade-in-open" >
+ <div class="slds-modal__container">
+ <header class="slds-modal__header" if:true={isQuery}>
+
+
+ <div class="slds-grid slds-wrap">
+ <template for:each={queryoptions} for:item="item">
+ <div class="slds-col slds-size_4-of-12" key={item.Id} >
+ <p style="float: left;"> {item.label} </p>
+
+ <input type="text" placeholder="input.." class="slds-input" value={item.value} if:true={item.input} title={item.prop} onchange={onQueryChangeFn} />
+
+ <div class="slds-select_container" if:true={item.checkBox} style="margin-top:20px">
+ <select class="slds-select" onchange={onQueryChangeFn} title={item.prop} >
+ <option>{item.value}</option>
+ <option>鏃�</option>
+ <template for:each={item.checkBoxOptionData} for:item="checkData">
+ <option key={checkData}>{checkData}</option>
+ </template>
+ </select>
+ </div>
+
+ <div if:true={item.date} style="height:30px;display:flex; align-items:flex-end;float:left">
+ <lightning-input type="date" name="input2" label=" " value={item.value} title={item.prop} onchange={onQueryChangeFn} ></lightning-input>
+ </div>
+ </div>
+ </template>
+
+ <div class="slds-col slds-size_4-of-12" >
+ <button style="float: left;background-color:#e0e5ee" class="slds-button slds-button_neutral" onclick={querySearchFn} >妫�绱�</button>
+ </div>
+ </div>
+ </header>
+
+ <div class="slds-modal__content slds-p-around_medium" id="modal-content-id-1">
+ <table class="slds-table slds-table_cell-buffer slds-table_bordered">
+ <thead>
+ <tr class="slds-line-height_reset" >
+ <td scope="col" style="text-align:center" >
+ <!-- <span id="column-group-header1" class="slds-assistive-text">Choose a row</span>
+ <div class="slds-th__action slds-th__action_form">
+ <div class="slds-checkbox">
+ <input type="checkbox" name="options" id="checkbox-unique-id-34" value="checkbox-unique-id-34" tabindex="0" aria-labelledby="check-select-all-label2 column-group-header" />
+ <label class="slds-checkbox__label" for="checkbox-unique-id-34" id="check-select-all-label2">
+ <span class="slds-checkbox_faux"></span>
+ </label>
+ </div>
+ </div> -->
+ </td>
+ <template for:each={searchoptions} for:item="item">
+ <th class="" scope="col" key={item.label}>
+ <div class="slds-truncate" title={item.label}>{item.label}</div>
+ </th>
+ </template>
+ </tr>
+ </thead>
+ <tbody>
+ <template for:each={searchdatas} for:item="item">
+ <tr class="slds-hint-parent" key={item.Id} >
+
+ <td style="text-align:center">
+ <div class="slds-checkbox" >
+ <input type="checkbox" name="options" id={item.checkId} value={item.checkId} tabindex="0" aria-labelledby={item.checkId} checked={item.IsSelected} title={item.Id} onclick={showCheckFn} />
+ <label class="slds-checkbox__label" for={item.checkId} id={item.checkId} >
+ <span class="slds-checkbox_faux"></span>
+ </label>
+ </div>
+ </td>
+ <template for:each={item.values} for:item="values">
+ <td data-label={values.value} key={values.valueId}>
+ <div class="slds-truncate" title={values.value}>{values.value}</div>
+ </td>
+ </template>
+ </tr>
+ </template>
+ </tbody>
+ </table>
+ </div>
+ <footer class="slds-modal__footer">
+ <button class="slds-button slds-button_neutral" onclick={ShowModelCloseFn}>鍏抽棴</button>
+ <button class="slds-button slds-button_brand" onclick={ShowModelSaveFn} >纭畾</button>
+ </footer>
+ </div>
+ </section>
+ <div class="slds-backdrop slds-backdrop_open"></div>
+ </div>
+
+
+ <div>
+ <!-- <div class="slds-form-element">
+ <label class="slds-form-element__label" for="combobox-id-2">璇环1:</label>
+ <div class="slds-form-element__control">
+ <div class="slds-combobox_container">
+ <div class="slds-combobox slds-dropdown-trigger slds-dropdown-trigger_click slds-is-open" aria-expanded="true" aria-haspopup="listbox" role="combobox">
+ <div class="slds-combobox__form-element slds-input-has-icon slds-input-has-icon_right" role="none">
+ <input type="text" onmousedown={onmousedownFn} class="slds-input slds-combobox__input slds-has-focus" id="combobox-id-2" aria-autocomplete="list" aria-controls="listbox-id-2" onchange={handleChanges} autocomplete="off" role="textbox" placeholder="Search..." value="123"/>
+ <span class="slds-icon_container slds-icon-utility-search slds-input__icon slds-input__icon_right">
+ <svg class="slds-icon slds-icon slds-icon_x-small slds-icon-text-default" aria-hidden="true">
+ <use xlink:href="/assets/icons/utility-sprite/svg/symbols.svg#search"></use>
+ </svg>
+ </span>
+ </div>
+ <div id="listbox-id-2" class="slds-dropdown slds-dropdown_length-with-icon-7 slds-dropdown_fluid" role="listbox" if:true ={isShow}>
+ <ul class="slds-listbox slds-listbox_vertical" role="presentation" >
+ <li role="presentation" class="slds-listbox__item" onclick={onClicks}>
+ <div id="option1" class="slds-media slds-listbox__option slds-listbox__option_entity slds-listbox__option_has-meta" role="option">
+ <span class="slds-media__figure slds-listbox__option-icon">
+ <span class="slds-icon_container slds-icon-standard-account">
+ <svg class="slds-icon slds-icon_small" aria-hidden="true">
+ <use xlink:href="/assets/icons/standard-sprite/svg/symbols.svg#account"></use>
+ </svg>
+ </span>
+ </span>
+ <span class="slds-media__body">
+ <span class="slds-listbox__option-text slds-listbox__option-text_entity">BJ-GI-BJ0654020</span>
+ <span class="slds-listbox__option-meta slds-listbox__option-meta_entity">鍖椾含甯� 閲嶇偣浜у搧01</span>
+ </span>
+ </div>
+ </li>
+ <li role="presentation" class="slds-listbox__item" onclick={onClicks}>
+ <div id="option2" class="slds-media slds-listbox__option slds-listbox__option_entity slds-listbox__option_has-meta" role="option">
+ <span class="slds-media__figure slds-listbox__option-icon">
+ <span class="slds-icon_container slds-icon-standard-account">
+ <svg class="slds-icon slds-icon_small" aria-hidden="true">
+ <use xlink:href="/assets/icons/standard-sprite/svg/symbols.svg#account"></use>
+ </svg>
+ </span>
+ </span>
+ <span class="slds-media__body">
+ <span class="slds-listbox__option-text slds-listbox__option-text_entity"> BJ-GI-XJ0653899</span>
+ <span class="slds-listbox__option-meta slds-listbox__option-meta_entity">鏂扮枂鑷不鍖� 鐪佺洰鏍�</span>
+ </span>
+ </div>
+ </li>
+ <li role="presentation" class="slds-listbox__item" onclick={onClicks}>
+ <div id="option3" class="slds-media slds-listbox__option slds-listbox__option_entity slds-listbox__option_has-meta" role="option">
+ <span class="slds-media__figure slds-listbox__option-icon">
+ <span class="slds-icon_container slds-icon-standard-account">
+ <svg class="slds-icon slds-icon_small" aria-hidden="true">
+ <use xlink:href="/assets/icons/standard-sprite/svg/symbols.svg#account"></use>
+ </svg>
+ </span>
+ </span>
+ <span class="slds-media__body">
+ <span class="slds-listbox__option-text slds-listbox__option-text_entity"> BJ-GI-BJ0654022</span>
+ <span class="slds-listbox__option-meta slds-listbox__option-meta_entity">鍖椾含甯� 閲嶇偣浜у搧01</span>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div> -->
+ </div>
+
+ <!-- <table class="slds-table slds-table_bordered " >
+ <thead>
+ <tr class="slds-line-height_reset">
+ <th class="slds-text-align_right" scope="col" style="width:3.25rem">
+ <span id="column-group-header" class="slds-assistive-text">Choose a row</span>
+ <div class="slds-th__action slds-th__action_form">
+ <div class="slds-checkbox">
+ <input type="checkbox" name="options" id="checkbox-unique-id-33" value="checkbox-unique-id-33" tabindex="0" aria-labelledby="check-select-all-label column-group-header" />
+ <label class="slds-checkbox__label" for="checkbox-unique-id-33" id="check-select-all-label">
+ <span class="slds-checkbox_faux"></span>
+ </label>
+ </div>
+ </div>
+ </th>
+ <th aria-label="Name" aria-sort="none" class="slds-is-resizable slds-is-sortable" scope="col">
+ <a class="slds-th__action slds-text-link_reset" href="#" 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">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">
+ <input type="range" aria-label="Name column width" class="slds-resizable__input slds-assistive-text" id="cell-resize-handle-78" max="1000" min="20" tabindex="0" />
+ <span class="slds-resizable__handle">
+ <span class="slds-resizable__divider"></span>
+ </span>
+ </div>
+ </th>
+
+ </tr>
+ </thead>
+ <tbody>
+ <tr aria-selected="true" class="slds-hint-parent slds-is-selected">
+ <td class="slds-text-align_right">
+ <div class="slds-checkbox">
+ <input type="checkbox" name="options" id="checkbox-02" value="checkbox-02" tabindex="0" aria-labelledby="check-button-label-02 column-group-header" checked='' />
+ <label class="slds-checkbox__label" for="checkbox-02" id="check-button-label-02">
+ <span class="slds-checkbox_faux"></span>
+ </label>
+ </div>
+ </td>
+
+ <th scope="row">
+ <div class="slds-truncate" title="Acme - 200 Widgets">
+ <a href="#" tabindex="0">Acme - 200 Widgets</a>
+ </div>
+ </th>
+ </tr>
+ </tbody>
+ </table> -->
+
+ <!-- <table aria-multiselectable="true" class="slds-table slds-table_bordered slds-table_fixed-layout slds-table_resizable-cols" role="grid">
+ <thead>
+ <tr class="slds-line-height_reset">
+ <th class="slds-text-align_right" scope="col" style="width:3.25rem">
+ <span id="column-group-header" class="slds-assistive-text">Choose a row</span>
+ <div class="slds-th__action slds-th__action_form">
+ <div class="slds-checkbox">
+ <input type="checkbox" name="options" id="checkbox-unique-id-309" value="checkbox-unique-id-309" tabindex="0" aria-labelledby="check-select-all-label column-group-header" checked="" />
+ <label class="slds-checkbox__label" for="checkbox-unique-id-309" id="check-select-all-label">
+ <span class="slds-checkbox_faux"></span>
+ <span class="slds-form-element__label slds-assistive-text">Select All</span>
+ </label>
+ </div>
+ </div>
+ </th>
+ <th aria-label="Name" aria-sort="none" class="slds-is-resizable slds-is-sortable" scope="col">
+ <a class="slds-th__action slds-text-link_reset" href="#" 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">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">
+ <input type="range" aria-label="Name column width" class="slds-resizable__input slds-assistive-text" id="cell-resize-handle-561" max="1000" min="20" tabindex="0" />
+ <span class="slds-resizable__handle">
+ <span class="slds-resizable__divider"></span>
+ </span>
+ </div>
+ </th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr aria-selected="true" class="slds-hint-parent slds-is-selected">
+ <td class="slds-text-align_right" role="gridcell">
+ <div class="slds-checkbox">
+ <input type="checkbox" name="options" id="checkbox-01" value="checkbox-01" tabindex="0" aria-labelledby={TextValues} checked="" />
+ <label class="slds-checkbox__label" for="checkbox-01" id="check-button-label-01">
+ <span class="slds-checkbox_faux"></span>
+ <span class="slds-form-element__label slds-assistive-text">Select item 1</span>
+ </label>
+ </div>
+ </td>
+ <th scope="row">
+ <div class="slds-truncate" title="Acme - 1,200 Widgets">
+ <a href="#" tabindex="0">Acme - 1,200 Widgets</a>
+ </div>
+ </th>
+ </tr>
+ <tr aria-selected="true" class="slds-hint-parent slds-is-selected">
+ <td class="slds-text-align_right" role="gridcell">
+ <div class="slds-checkbox">
+ <input type="checkbox" name="options" id="checkbox-02" value="checkbox-02" tabindex="0" aria-labelledby="check-button-label-02 column-group-header" checked="" />
+ <label class="slds-checkbox__label" for="checkbox-02" id="check-button-label-02">
+ <span class="slds-checkbox_faux"></span>
+ <span class="slds-form-element__label slds-assistive-text">Select item 2</span>
+ </label>
+ </div>
+ </td>
+ <th scope="row">
+ <div class="slds-truncate" title="Acme - 200 Widgets">
+ <a href="#" tabindex="0">Acme - 200 Widgets</a>
+ </div>
+ </th>
+
+ </tr>
+ <tr aria-selected="true" class="slds-hint-parent slds-is-selected">
+ <td class="slds-text-align_right" role="gridcell">
+ <div class="slds-checkbox">
+ <input type="checkbox" name="options" id="checkbox-03" value="checkbox-03" tabindex="0" aria-labelledby="check-button-label-03 column-group-header" checked="" />
+ <label class="slds-checkbox__label" for="checkbox-03" id="check-button-label-03">
+ <span class="slds-checkbox_faux"></span>
+ <span class="slds-form-element__label slds-assistive-text">Select item 3</span>
+ </label>
+ </div>
+ </td>
+ <th scope="row">
+ <div class="slds-truncate" title="salesforce.com - 1,000 Widgets">
+ <a href="#" tabindex="0">salesforce.com - 1,000 Widgets</a>
+ </div>
+ </th>
+
+ </tr>
+ </tbody>
+ </table> -->
+
+ </div>
+
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/jzTable/jzTable.js b/force-app/main/default/lwc/jzTable/jzTable.js
new file mode 100644
index 0000000..f8e47a5
--- /dev/null
+++ b/force-app/main/default/lwc/jzTable/jzTable.js
@@ -0,0 +1,585 @@
+import { LightningElement,api, track } from 'lwc';
+
+export default class jzTable extends LightningElement {
+
+
+ connectedCallback(){
+ this.OnChreateNotSelectedData();
+ if (this.isselectedtable) {
+ this.OnChreateShowData();
+ }
+ this.clickShow = this.isselectedtable;
+
+ }
+
+
+ @api selecttitle = "宸查�夋嫨";
+ @api notselecttitle = '鏈�夋嫨';
+
+ idKey = 0;
+
+ isSelected = false; //鍏ㄩ��
+ //鍏ㄩ��
+ selectedAllOnClick(){
+
+ this.isSelected = !this.isSelected;
+
+ var newshowData = [];
+ var newshowIds = [];
+ this.showData.forEach(sItem=>{
+ var temp = {...{},...sItem};
+ if (this.isSelected) {
+ temp.IsSelected = "1"
+ }else{
+ temp.IsSelected = ""
+ }
+ newshowIds.push(sItem.Id);
+ newshowData.push(temp);
+ })
+
+ var newNotData = [];
+ var notshowIds = [];
+ this.NotData.forEach(sItem=>{
+ var temp = {...{},...sItem};
+ if (this.isSelected) {
+ temp.IsSelected = "1"
+
+ }else{
+ temp.IsSelected = ""
+ }
+ notshowIds.push(sItem.Id);
+ newNotData.push(temp);
+ })
+
+ if (this.isSelected) {
+ this.SelectShowArr = [];
+ this.NotSelectShowArr = notshowIds;
+ }else{
+ this.SelectShowArr = newshowIds;
+ this.NotSelectShowArr = [];
+ }
+
+ this.showData = newshowData;
+ this.NotData = newNotData;
+
+ this.onselecteChange();
+ }
+
+ @api isselectedtable = false;
+ isselectedtable = true;
+
+// --- 宸查�夋嫨
+ @api optionsdata=[]
+
+ @api selectdata=[]
+
+
+
+ //宸查�夋嫨
+ @track showData=[]
+
+
+ clickShow=true;
+ clickShowFn(event)
+ {
+ this.clickShow = !this.clickShow;
+ }
+
+ SelectShowArr=[];
+ SelectShowFn(event)
+ {
+ var id = event.target.title;
+ var flag = false;
+ var newArr = [];
+ this.SelectShowArr.forEach(item=>{
+ if (item == id) {
+ flag = true;
+ }else{
+ newArr.push(item);
+ }
+ })
+ if (flag) {
+ this.SelectShowArr = newArr;
+ }else{
+ this.SelectShowArr.push(id);
+ }
+
+ this.onselecteChange();
+ }
+
+ OnChreateShowData()
+ {
+ var TempShowData= [];
+ this.selectdata.forEach(item=>{
+ var values=[];
+ this.optionsdata.forEach(option=>{
+ var valuesItem = {};
+ valuesItem.value = item[option.props];
+ valuesItem.type = option.Type;
+ valuesItem.valueId = this.idKey++;
+ valuesItem.IdDataStr = item.Id+"##-##"+option.props;
+ valuesItem.checkBoxOptionData = option.CheckOptionData;
+ if (valuesItem.type == 'input') {
+ valuesItem.input= true
+ }else if (valuesItem.type == 'checkBox') {
+ valuesItem.checkBox= true
+ }else if (valuesItem.type == 'date') {
+ valuesItem.date= true
+ }else if (valuesItem.type == 'search') {
+ valuesItem.search= true
+ }else if (valuesItem.type == 'text') {
+ valuesItem.text= true;
+ }else if (valuesItem.type == 'url') {
+ valuesItem.url= true
+ valuesItem.urlValue= '/'+item[option.url];
+ }else if (valuesItem.type == 'urlNoJump') {
+ valuesItem.urlNoJump= true
+ }
+ else if (valuesItem.type == 'richtext') {
+ valuesItem.richtext= true
+ }
+
+ values.push(valuesItem);
+
+ })
+ var showDataTemp = {};
+
+ showDataTemp.Id = item.Id;
+ showDataTemp.values = values;
+ showDataTemp.checkId = item.Id +" column-group-header"
+ showDataTemp.IsSelected = '1';
+ TempShowData.push(showDataTemp);
+ })
+
+ this.showData = TempShowData;
+ }
+
+ @api NotData=[]
+
+
+ @api notselectdata=[]
+
+
+
+ clickShowNotSelect=true;
+ clickShowNotSelectFn(event)
+ {
+ this.clickShowNotSelect = !this.clickShowNotSelect;
+ }
+
+
+ NotSelectShowArr=[];
+ NotSelectShowFn(event)
+ {
+ var id = event.target.title;
+ var flag = false;
+ var newArr = [];
+ this.NotSelectShowArr.forEach(item=>{
+ if (item == id) {
+ flag = true;
+ }else{
+ newArr.push(item);
+ }
+ })
+ if (flag) {
+ this.NotSelectShowArr = newArr;
+ }else{
+ this.NotSelectShowArr.push(id);
+ }
+ this.onselecteChange();
+ }
+
+ //鏇存敼閫変腑鐨勯鑹�
+ CheckNoDataSelected()
+ {
+ this.NotData.forEach(item=>{
+ this.template.querySelector('[data-parent-id="'+item.Id+'"]').style.backgroundColor="";
+ })
+ this.NotSelectShowArr.forEach(item=>{
+ this.template.querySelector('[data-parent-id="'+item+'"]').style.backgroundColor="#ecebea";
+ })
+ }
+
+ OnChreateNotSelectedData()
+ {
+ var TempShowData= [];
+ this.notselectdata.forEach(item=>{
+ var values=[];
+ this.optionsdata.forEach(option=>{
+ var valuesItem = {};
+ valuesItem.value = item[option.props];
+ valuesItem.type = option.Type;
+ valuesItem.valueId = this.idKey++;
+ valuesItem.IdDataStr = item.Id+"##-##"+option.props;
+ valuesItem.checkBoxOptionData = option.CheckOptionData;
+ if (valuesItem.type == 'input') {
+ valuesItem.input= true
+ }else if (valuesItem.type == 'checkBox') {
+ valuesItem.checkBox= true
+ }else if (valuesItem.type == 'date') {
+ valuesItem.date= true
+ }else if (valuesItem.type == 'search') {
+ valuesItem.search= true
+ }else if (valuesItem.type == 'text') {
+ valuesItem.text= true
+ }else if (valuesItem.type == 'url') {
+ valuesItem.url= true
+ valuesItem.urlValue= '/'+item[option.url];
+ }else if (valuesItem.type == 'urlNoJump') {
+ valuesItem.urlNoJump= true
+ }
+ else if (valuesItem.type == 'richtext') {
+ valuesItem.richtext= true
+ }
+
+ values.push(valuesItem);
+
+ })
+ var showDataTemp = {};
+
+ showDataTemp.Id = item.Id;
+ showDataTemp.values = values;
+ showDataTemp.checkId = item.Id +" column-group-header"
+ showDataTemp.IsSelected = '';
+ showDataTemp.SelecedStyle = '';
+ TempShowData.push(showDataTemp);
+ })
+
+ this.NotData = TempShowData;
+ }
+
+
+ //鍒锋柊 鏈�変腑鍜岄�変腑鐨勬暟鎹�
+ @api refreshdata(selectdata,notselectdata){
+ this.SelectShowArr = [];
+ this.NotSelectShowArr = [];
+ if (selectdata!=undefined) {
+ this.selectdata = selectdata;
+ }
+ if (notselectdata!=undefined) {
+ this.notselectdata = notselectdata;
+ }
+ this.OnChreateShowData();
+ this.OnChreateNotSelectedData();
+ }
+ // 鍕鹃��
+ onselecteChange(){
+ this.SelectShowArr;
+ this.NotSelectShowArr;
+
+ var SelectedShowTemp = [];
+ var NotSelectShowTemp = [];
+
+ this.SelectShowArr.forEach(sId=>{
+ this.selectdata.forEach(s=>{
+ if (s.Id == sId) {
+ SelectedShowTemp.push({...{},...s});
+ return;
+ }
+ })
+ })
+
+ this.NotSelectShowArr.forEach(sId=>{
+ this.notselectdata.forEach(s=>{
+ if (s.Id == sId) {
+ NotSelectShowTemp.push({...{},...s});
+ return;
+ }
+ })
+ })
+ var returnSelected = {
+ selected:SelectedShowTemp,
+ notselected:NotSelectShowTemp
+ }
+ const getSearchParamsEvent = new CustomEvent('selectedchange', {
+ detail: returnSelected
+ });
+ this.dispatchEvent(getSearchParamsEvent);
+ //鏇存敼棰滆壊
+ this.CheckNoDataSelected();
+ }
+// ---End
+
+
+ //妫�绱㈡潯浠�
+
+ onChangeFn(event)
+ {
+ var a = event;
+
+ var DataStr = event.target.name;
+ DataStr= DataStr.split("##-##");
+
+ var TargetValue = event.target.value;
+
+ this.ChangeDataFn(DataStr[0],DataStr[1],TargetValue);
+ }
+
+ searchoptions=[]
+ searchdatas=[]
+ queryoptions=[]
+ isQuery = false;
+ queryData=[];
+
+ SearchOption = {}; //閫変腑鐨刼ption
+ SearchInitData = []; //閫変腑鏌ヨ鐨勬暟鎹�
+ SearchReturnData={Id:"",prop:"",value:[]}
+
+
+ onChangeSearchFn(event)
+ {
+
+ // const isEnterKey = event.keyCode === 13;
+
+ // if (isEnterKey) {
+ var value = event.target.value;
+ var DataStr = event.target.name;
+ DataStr= DataStr.split("##-##");
+
+ this.SearchReturnData.Id = DataStr[0];
+ this.SearchReturnData.prop = DataStr[1];
+
+
+ //淇敼浜嬩欢
+ this.ChangeDataFn(DataStr[0],DataStr[1],value);
+
+ // 鍒濆鍖� 妯℃�佹
+ var propTemp = {};
+ if (this.SearchOption!= {} && this.SearchOption.props == DataStr[1]) {
+ propTemp = this.SearchOption;
+ }else{
+ this.optionsdata.forEach(item=>{
+ if (item.props == DataStr[1]) {
+ propTemp = {...{},...item};
+ return;
+ }
+ })
+
+ if (propTemp == {}&&propTemp.searchoption == undefined&&propTemp.searchTableDataInit == undefined) {
+ console.error("鎼滅储鍒楅厤缃敊璇�");
+ }
+ }
+
+ this.SearchOption = propTemp;
+
+ this.searchoptions = propTemp.searchoption;
+ var initData = propTemp.searchTableDataInit({Id:DataStr[0],prop:DataStr[1],value:value});
+ //鍒ゆ柇鏄惁鍚敤鎼滅储
+ if (propTemp.isQuery) {
+ this.isQuery = true;
+ var queryoptionsTemp =[];
+ propTemp.queryOption.forEach(item=>{
+ var tempItem = {};
+ tempItem.label = item.label;
+ tempItem.prop = item.prop;
+ tempItem.value = item.value;
+ if (item.Type == 'input') {
+ tempItem.input= true
+ }else if (item.Type == 'checkBox') {
+ tempItem.checkBox= true
+ }else if (item.Type == 'date') {
+ tempItem.date= true
+ }
+ tempItem.checkBoxOptionData = item.CheckOptionData;
+ tempItem.Id = this.idKey++;
+
+ queryoptionsTemp.push(tempItem);
+
+ this.queryData.push({prop:item.prop,value:item.value});
+ })
+ this.queryoptions = queryoptionsTemp;
+ }else{
+ this.isQuery = false;
+ }
+
+ this.SearchInitData = initData;
+
+
+ this.OpenShowModelFn();
+
+ this.searchDataInit(initData);
+
+
+
+ }
+ //妯℃�� 鏌ヨ
+ onQueryChangeFn(event){
+
+ var prop = event.target.title;
+ var value = event.target.value;
+
+ var queryDataTemp = [];
+ this.queryData.forEach(item=>{
+ var temp = {...{},...item};
+ if (temp.prop == prop) {
+ temp.value = value;
+ }
+ queryDataTemp.push(temp);
+ })
+ this.queryData = queryDataTemp;
+ }
+
+ querySearchFn(){
+ var querySearchData= this.SearchOption.queryTable(this.queryData);
+ this.SearchInitData = querySearchData;
+ this.searchDataInit(querySearchData);
+ }
+
+ searchDataInit(data)
+ {
+ var TempShowData= [];
+ data.forEach(item=>{
+
+ var values=[];
+
+ this.searchoptions.forEach(option=>{
+ var temp = {};
+ temp.value=item[option.props];
+ temp.IdDataStr = item.Id+"##-##"+option.props;
+ temp.valueId = this.idKey++;
+ values.push({...{},...temp});
+ })
+ var showDataTemp = {};
+
+ showDataTemp.Id = item.Id;
+ showDataTemp.values = values;
+ showDataTemp.checkId = item.Id +" column-group-header"
+ showDataTemp.IsSelected = '';
+ TempShowData.push(showDataTemp);
+ })
+
+ this.searchdatas = TempShowData;
+ }
+
+ //妯℃�佹閫変腑
+ OnSearchId=[];
+ showCheckFn(event)
+ {
+ var a = event;
+ var id = event.target.title;
+
+ var flag = false;
+ var newArr = [];
+ this.OnSearchId.forEach(item=>{
+ if (item == id) {
+ flag = true;
+ }else{
+ newArr.push(item);
+ }
+ })
+ if (flag) {
+ this.OnSearchId = newArr;
+ }else{
+ this.OnSearchId.push(id);
+ }
+ //鍒ゆ柇鏄惁鏄崟閫�
+ if(this.SearchOption.isSingle)
+ {
+ this.ShowModelSaveFn();
+ }
+ }
+
+ TempModelShows = false;
+ OpenShowModelFn()
+ {
+ this.TempModelShows = true;
+ }
+
+ ShowModelCloseFn()
+ {
+ this.TempModelShows = false;
+ }
+ ShowModelSaveFn()
+ {
+
+ if (this.SearchOption.searchTableSave != undefined) {
+ var arrTemp = [];
+ this.OnSearchId.forEach(id=>{
+ this.SearchInitData.forEach(item=>{
+ if (item.Id == id) {
+ arrTemp.push({...{},...item});
+ return;
+ }
+ })
+ })
+ this.SearchReturnData.value = arrTemp;
+
+ this.SearchOption.searchTableSave(this.SearchReturnData);
+ }else{
+ console.error("searchTableSave 鏂规硶鏈厤缃�");
+ }
+ //娓呯┖鍊�
+ this.OnSearchId = [];
+ this.SearchOption = {};
+ //TODU鍒锋柊鍒楄〃
+ this.TempModelShows = false;
+ }
+
+
+ //淇敼 鍊� 浜嬩欢
+ ChangeDataFn(Id,prop,value){
+ var flag = false;
+ var newselectdata = [];
+ var returnData = {Id:"",prop:"",PreValue:"",CurrentValue:""};
+ this.selectdata.forEach(sitem=>{
+ var temp = {...{},...sitem};
+ if (sitem.Id == Id) {
+ returnData.Id = Id;
+ returnData.prop=prop;
+ returnData.PreValue = temp[prop];
+ returnData.CurrentValue = value;
+
+ temp[prop] = value;
+
+ flag = true;
+ }
+ newselectdata.push(temp);
+ })
+ if (flag) {
+ this.selectdata = newselectdata;
+ }else
+ {
+ var newNotSeletctData = []
+ this.notselectdata.forEach(nitem=>{
+ var temp = {...{},...nitem};
+ if (nitem.Id == Id) {
+ returnData.Id = Id;
+ returnData.prop=prop;
+ returnData.PreValue = temp[prop];
+ returnData.CurrentValue = value;
+
+ temp[prop] = value;
+
+ flag = true;
+ }
+ newNotSeletctData.push(temp);
+ })
+ this.notselectdata = newNotSeletctData;
+ }
+
+ if (flag) {
+ const getSearchParamsEvent = new CustomEvent('datachange', {
+ detail: returnData
+ });
+ this.dispatchEvent(getSearchParamsEvent);
+ }
+ // this.refreshdata();
+ }
+
+ UrlOnClick(event)
+ {
+ var DataStr = event.target.name;
+ DataStr= DataStr.split("##-##");
+
+ const getSearchParamsEvent = new CustomEvent('urlclick', {
+ detail: {Id:DataStr[0],prop:DataStr[1]}
+ });
+ this.dispatchEvent(getSearchParamsEvent);
+ debugger;
+ }
+ //瀵圭埗缁勪欢鎻愪緵鑾峰彇褰撳墠琛ㄦ牸鏁版嵁
+ @api getdata(){
+ return {selectdata:this.selectdata,notselectdata:[...[],...this.notselectdata]}
+ }
+
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/jzTable/jzTable.js-meta.xml b/force-app/main/default/lwc/jzTable/jzTable.js-meta.xml
new file mode 100644
index 0000000..0416469
--- /dev/null
+++ b/force-app/main/default/lwc/jzTable/jzTable.js-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>51.0</apiVersion>
+ <isExposed>false</isExposed>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/jzlookup/jzlookup.html b/force-app/main/default/lwc/jzlookup/jzlookup.html
new file mode 100644
index 0000000..0473b63
--- /dev/null
+++ b/force-app/main/default/lwc/jzlookup/jzlookup.html
@@ -0,0 +1,45 @@
+<template>
+ <div>
+ <div class="slds-form-element" >
+
+ <label class="slds-form-element__label" for="combobox-id-2">{label}</label>
+ <div class="slds-form-element__control">
+ <div class="slds-combobox_container" >
+ <div class="slds-combobox slds-dropdown-trigger slds-dropdown-trigger_click slds-is-open" aria-expanded="true" aria-haspopup="listbox" role="combobox">
+ <div class="slds-combobox__form-element slds-input-has-icon slds-input-has-icon_right" role="none">
+ <input type="text" class="slds-input slds-combobox__input slds-has-focus" id="combobox-id-2" aria-autocomplete="list" aria-controls="listbox-id-2" autocomplete="off" role="textbox" value={InputValue} placeholder={placeholder} onkeyup={searchchange} onclick={searchClick} onblur={onblurFn} />
+ <!-- <input type="text" value={InputValue} placeholder={placeholder} onkeyup={searchchange} onclick={searchClick} onblur={onblurFn} /> -->
+
+ </div>
+
+ <div id="listbox-id-2" class="slds-dropdown slds-dropdown_length-with-icon-7 slds-dropdown_fluid" role="listbox" if:true={isShow} >
+ <div class="exampleHolder" if:true={IsLoading}>
+ <lightning-spinner alternative-text="Loading" size="large"></lightning-spinner>
+ </div>
+ <ul class="slds-listbox slds-listbox_vertical" role="presentation" >
+
+ <template for:each={ShowData} for:item="item">
+ <li role="presentation" class="slds-listbox__item" key={item.Id} onclick={itemclick} title={item.value1}>
+ <div id={item.Id} class="slds-media slds-listbox__option slds-listbox__option_entity slds-listbox__option_has-meta" role="option" >
+ <span class="slds-media__figure slds-listbox__option-icon">
+ <span class="slds-icon_container slds-icon-standard-account">
+ <lightning-icon icon-name="standard:account" alternative-text="Account" title="Account"></lightning-icon>
+ </span>
+ </span>
+ <span class="slds-media__body" data-id={item.Id} >
+ <span class="slds-listbox__option-text slds-listbox__option-text_entity" data-id={item.Id} style="font-size:small">{item.value1}</span>
+ <span class="slds-listbox__option-meta slds-listbox__option-meta_entity" data-id={item.Id}>{item.value2}</span>
+ </span>
+ </div>
+ </li>
+ </template>
+ </ul>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+
+
+</template>
\ 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
new file mode 100644
index 0000000..b2662e4
--- /dev/null
+++ b/force-app/main/default/lwc/jzlookup/jzlookup.js
@@ -0,0 +1,156 @@
+import { LightningElement,api, track } from 'lwc';
+
+export default class jzlookup extends LightningElement {
+
+
+ connectedCallback(){
+ this.changeSearchData();
+
+ setInterval(()=>{
+ this.time++;
+ this.searchchangeRefresh();
+ },1000);
+ }
+ time =0;
+ //鍔犺浇
+ IsLoading = false;
+ OnLoading(flag){
+ this.IsLoading = flag;
+ }
+ @api name=''
+ @api option = []
+ @api searchdata=[];
+ @api label = ''
+ @api placeholder = ''
+ @track InputValue = '';
+ ShowData = []
+
+ isShow = false;
+ searchClick(event)
+ {
+ this.isShow= true;
+ }
+ onblurFn(event)
+ {
+ const getSearchParamsEvent = new CustomEvent('clear', {
+ detail: {}
+ });
+ this.dispatchEvent(getSearchParamsEvent);
+ setTimeout(()=>{
+ this.isShow= false;
+ if (!this.isClick) {
+ this.InputValue = '';
+ }
+ },300)
+
+ }
+
+ changeSearchData()
+ {
+ var TempShowData= [];
+ this.searchdata.forEach(item=>{
+ var temp = {};
+ this.option.forEach(option=>{
+ temp.value1 = item[option.lableOne];
+ temp.value2 = item[option.lableTwo];
+ })
+ temp.Id = item.Id;
+ TempShowData.push(temp);
+ })
+
+ this.ShowData = [...[],...TempShowData];
+
+ setTimeout(()=>{
+ this.OnLoading(false);
+ },1000);
+ }
+
+
+ ifFlag = false;
+ //鎼滅储杈撳叆
+ searchchange(event)
+ {
+
+ this.OnLoading(true);
+ var values = event.target.value;
+ this.InputValue = values;
+ this.isClick = false;
+
+ this.time = 0;
+ this.inputTiem = 0;
+ this.ifFlag = false;
+ }
+
+
+ inputTiem = 0;
+ // oldSearchContent = '';
+ searchchangeRefresh()
+ {
+ // if (this.oldSearchContent === this.InputValue ) {
+ // return;
+ // }else{
+ // this.oldSearchContent = this.InputValue ;
+ // }
+ if (this.time - this.inputTiem >= 1) {
+ this.ifFlag = true;
+ this.inputTiem = this.time;
+ const getSearchParamsEvent = new CustomEvent('searchchange', {
+ detail: {searchContent:this.InputValue}
+ });
+ this.dispatchEvent(getSearchParamsEvent);
+ }
+
+ }
+
+
+ isClick = false;
+ //閫夐」鍒楄〃鐐瑰嚮
+ itemclick(event)
+ {
+ var Id = event.target.dataset.id;
+ var tempData = {};
+ this.searchdata.forEach(item=>{
+ if (item.Id == Id) {
+ tempData = {...{},...item};
+ }
+ })
+ this.InputValue = tempData[this.option[0].lableOne] == undefined?"":tempData[this.option[0].lableOne];
+ debugger;
+ const getSearchParamsEvent = new CustomEvent('selected', {
+ detail: {selectdata:tempData,name:this.name}
+ });
+ this.dispatchEvent(getSearchParamsEvent);
+
+ this.isShow= false;
+ this.isClick = true;
+
+ }
+
+ @api refreshdata(data){
+ if (data!=undefined) {
+ this.searchdata = [...[],...data];
+ if (this.ifFlag) {
+ console.warn("isTrue");
+
+ this.ifFlag = false;
+ this.time = -1;
+ this.inputTiem = 0;
+ this.changeSearchData();
+
+
+ }
+ }
+
+ }
+
+ @api setvalue(data){
+ this.InputValue=data;
+ }
+ @api getvalue(){
+ return this.InputValue;
+ }
+
+
+
+
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/jzlookup/jzlookup.js-meta.xml b/force-app/main/default/lwc/jzlookup/jzlookup.js-meta.xml
new file mode 100644
index 0000000..0416469
--- /dev/null
+++ b/force-app/main/default/lwc/jzlookup/jzlookup.js-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>51.0</apiVersion>
+ <isExposed>false</isExposed>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/jzlookuplightning/jzlookuplightning.html b/force-app/main/default/lwc/jzlookuplightning/jzlookuplightning.html
new file mode 100644
index 0000000..824efff
--- /dev/null
+++ b/force-app/main/default/lwc/jzlookuplightning/jzlookuplightning.html
@@ -0,0 +1,13 @@
+<template>
+ <div style="width:500px;padding:1px">
+ <lightning-record-edit-form
+ object-api-name={objectname}
+ onsubmit={handleSubmit}
+ >
+ <lightning-input-field field-name={fieldname} value={selectValue} >
+
+ </lightning-input-field>
+
+ </lightning-record-edit-form>
+ </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/jzlookuplightning/jzlookuplightning.js b/force-app/main/default/lwc/jzlookuplightning/jzlookuplightning.js
new file mode 100644
index 0000000..b73b3a1
--- /dev/null
+++ b/force-app/main/default/lwc/jzlookuplightning/jzlookuplightning.js
@@ -0,0 +1,62 @@
+import { LightningElement,api } from 'lwc';
+
+export default class Jzlookuplightning extends LightningElement {
+
+ selectValue = '';
+
+
+ @api objectname = '';
+ @api fieldname = '';
+
+
+ connectedCallback()
+ {
+ this.setIntervalFn();
+
+ }
+
+ setIntervalFn()
+ {
+ setInterval(()=>{
+ const inputFields = this.template.querySelectorAll(
+ 'lightning-input-field'
+ );
+ if (inputFields) {
+ inputFields.forEach(field => {
+
+ if (this.selectValue != field.value) {
+ this.selectValue = field.value
+
+ const getSearchParamsEvent = new CustomEvent('searchchange', {
+ detail: {value:this.selectValue}
+ });
+ this.dispatchEvent(getSearchParamsEvent);
+ }
+ });
+ }
+
+ },500);
+
+ }
+
+ handleSubmit(event) {
+ event.preventDefault();
+ console.log(JSON.stringify(event.detail.fields.Hospital__c));
+ }
+
+ @api setvalue(value){
+ this.selectValue = value;
+ }
+ @api getvalue(){
+ return this.selectValue;
+ }
+
+ @api todisabled()
+ {
+ var inputs = this.template.querySelectorAll('lightning-input-field');
+ inputs.forEach(inputFile=>{
+ inputFile.disabled = true;
+ })
+ this.ondisabledShow = true;
+ }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/jzlookuplightning/jzlookuplightning.js-meta.xml b/force-app/main/default/lwc/jzlookuplightning/jzlookuplightning.js-meta.xml
new file mode 100644
index 0000000..0416469
--- /dev/null
+++ b/force-app/main/default/lwc/jzlookuplightning/jzlookuplightning.js-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>51.0</apiVersion>
+ <isExposed>false</isExposed>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/jzlookupv2/jzlookupv2.html b/force-app/main/default/lwc/jzlookupv2/jzlookupv2.html
new file mode 100644
index 0000000..57df3e4
--- /dev/null
+++ b/force-app/main/default/lwc/jzlookupv2/jzlookupv2.html
@@ -0,0 +1,43 @@
+<template>
+ <div>
+ <div class="slds-form-element" >
+
+ <div class="slds-form-element__control">
+ <div class="slds-combobox_container" >
+ <div class="slds-combobox slds-dropdown-trigger slds-dropdown-trigger_click slds-is-open" aria-expanded="true" aria-haspopup="listbox" role="combobox">
+ <div class="slds-combobox__form-element slds-input-has-icon slds-input-has-icon_right" role="none">
+ <lightning-input type="text" label={label} placeholder={placeholder} value={InputValue} onkeyup={searchchange} onclick={searchClick} onblur={onblurFn}></lightning-input>
+
+ </div>
+
+ <div id="listbox-id-2" class="slds-dropdown slds-dropdown_length-with-icon-7 slds-dropdown_fluid" role="listbox" if:true={isShow} >
+ <div class="exampleHolder" if:true={IsLoading}>
+ <lightning-spinner alternative-text="Loading" size="large"></lightning-spinner>
+ </div>
+ <ul class="slds-listbox slds-listbox_vertical" role="presentation" >
+ <div style="color:darkgray;height:10px" if:true={IsZero} ></div>
+ <template for:each={ShowData} for:item="item" if:false={IsZero}>
+ <li role="presentation" class="slds-listbox__item" key={item.Id} onclick={itemclick} title={item.value1}>
+ <div id={item.Id} class="slds-media slds-listbox__option slds-listbox__option_entity slds-listbox__option_has-meta" role="option" >
+ <span class="slds-media__figure slds-listbox__option-icon">
+ <span class="slds-icon_container slds-icon-standard-account">
+ <lightning-icon icon-name="standard:account" alternative-text="Account" title="Account"></lightning-icon>
+ </span>
+ </span>
+ <span class="slds-media__body" data-id={item.Id} >
+ <span class="slds-listbox__option-text slds-listbox__option-text_entity" data-id={item.Id} style="font-size:small">{item.value1}</span>
+ <span class="slds-listbox__option-meta slds-listbox__option-meta_entity" data-id={item.Id}>{item.value2}</span>
+ </span>
+ </div>
+ </li>
+ </template>
+ </ul>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+
+
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/jzlookupv2/jzlookupv2.js b/force-app/main/default/lwc/jzlookupv2/jzlookupv2.js
new file mode 100644
index 0000000..11dd2e0
--- /dev/null
+++ b/force-app/main/default/lwc/jzlookupv2/jzlookupv2.js
@@ -0,0 +1,152 @@
+import { LightningElement,api, track } from 'lwc';
+
+export default class jzlookup extends LightningElement {
+
+
+ connectedCallback(){
+ this.changeSearchData();
+
+ setInterval(()=>{
+ this.searchchangeRefresh();
+ },400);
+ }
+
+ renderedCallback(){
+ if (this.disabled == true) {
+ var inputs = this.template.querySelectorAll('lightning-input');
+ inputs.forEach(fileInput=>{
+ fileInput.disabled = true;
+ })
+ }
+ }
+ //鍔犺浇
+ IsLoading = false;
+ OnLoading(flag){
+ this.IsLoading = flag;
+ }
+ @api name=''
+ @api option = []
+ @api searchdata=[];
+ @api label = ''
+ @api placeholder = ''
+ @track InputValue = '';
+
+ @api disabled= false;
+ ShowData = []
+
+ isShow = false;
+ searchClick(event)
+ {
+ this.isShow= true;
+ }
+ onblurFn(event)
+ {
+ const getSearchParamsEvent = new CustomEvent('clear', {
+ detail: {}
+ });
+ this.dispatchEvent(getSearchParamsEvent);
+ setTimeout(()=>{
+ this.isShow= false;
+ if (!this.isClick) {
+ this.InputValue = '';
+ }
+ },300)
+
+ }
+
+ changeSearchData()
+ {
+ var TempShowData= [];
+ this.searchdata.forEach(item=>{
+ var temp = {};
+ this.option.forEach(option=>{
+ temp.value1 = item[option.lableOne];
+ temp.value2 = item[option.lableTwo];
+ })
+ temp.Id = item.Id;
+ TempShowData.push(temp);
+ })
+
+ this.ShowData = [...[],...TempShowData];
+
+ setTimeout(()=>{
+ this.OnLoading(false);
+ },1000);
+ }
+
+
+ ifFlag = false;
+ //鎼滅储杈撳叆
+ searchchange(event)
+ {
+
+ this.OnLoading(true);
+ var values = event.target.value;
+ this.InputValue = values;
+ this.isClick = false;
+
+ }
+
+ oldSearchContent = '';
+ searchchangeRefresh()
+ {
+ if (this.oldSearchContent === this.InputValue ) {
+ return;
+ }else{
+ this.oldSearchContent = this.InputValue ;
+ }
+
+ const getSearchParamsEvent = new CustomEvent('searchchange', {
+ detail: {searchContent:this.InputValue}
+ });
+ this.dispatchEvent(getSearchParamsEvent);
+
+
+ }
+
+
+ isClick = false;
+ //閫夐」鍒楄〃鐐瑰嚮
+ itemclick(event)
+ {
+ var Id = event.target.dataset.id;
+ var tempData = {};
+ this.searchdata.forEach(item=>{
+ if (item.Id == Id) {
+ tempData = {...{},...item};
+ }
+ })
+ this.InputValue = tempData[this.option[0].lableOne] == undefined?"":tempData[this.option[0].lableOne];
+ const getSearchParamsEvent = new CustomEvent('selected', {
+ detail: {selectdata:tempData,name:this.name}
+ });
+ this.dispatchEvent(getSearchParamsEvent);
+
+ this.isShow= false;
+ this.isClick = true;
+
+ }
+
+ @api refreshdata(data){
+ if (data!=undefined) {
+ this.IsZero = false;
+ this.searchdata = [...[],...data];
+ this.changeSearchData();
+ }
+ }
+
+ @api setvalue(data){
+ this.InputValue=data;
+ }
+ @api getvalue(){
+ return this.InputValue;
+ }
+
+ IsZero = false;
+
+ @api iszero(){
+ this.OnLoading(false);
+ this.IsZero = true;
+ }
+
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/jzlookupv2/jzlookupv2.js-meta.xml b/force-app/main/default/lwc/jzlookupv2/jzlookupv2.js-meta.xml
new file mode 100644
index 0000000..0416469
--- /dev/null
+++ b/force-app/main/default/lwc/jzlookupv2/jzlookupv2.js-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>51.0</apiVersion>
+ <isExposed>false</isExposed>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/jzlookupv3/jzlookupv3.html b/force-app/main/default/lwc/jzlookupv3/jzlookupv3.html
new file mode 100644
index 0000000..c13d85c
--- /dev/null
+++ b/force-app/main/default/lwc/jzlookupv3/jzlookupv3.html
@@ -0,0 +1,43 @@
+<template>
+ <div>
+ <div class="slds-form-element" >
+
+ <div class="slds-form-element__control">
+ <div class="slds-combobox_container" >
+ <div class="slds-combobox slds-dropdown-trigger slds-dropdown-trigger_click slds-is-open" aria-expanded="true" aria-haspopup="listbox" role="combobox">
+ <div class="slds-combobox__form-element slds-input-has-icon slds-input-has-icon_right" role="none">
+ <lightning-input type="text" label={label} placeholder={placeholder} value={InputValue} onkeyup={searchchange} onclick={searchClick} onblur={onblurFn}></lightning-input>
+
+ </div>
+
+ <div id="listbox-id-2" class="slds-dropdown slds-dropdown_length-with-icon-7 slds-dropdown_fluid" role="listbox" if:true={isShow} >
+ <div style="margin:5px;font-size:13px" if:true={IsLoading}>
+ <p>{LodingText}</p>
+ </div>
+ <ul class="slds-listbox slds-listbox_vertical" role="presentation" if:false={IsLoading}>
+ <div style="color:darkgray;height:10px" if:true={IsZero} ></div>
+ <template for:each={ShowData} for:item="item" if:false={IsZero}>
+ <li role="presentation" class="slds-listbox__item" key={item.Id} onclick={itemclick} title={item.value1}>
+ <div id={item.Id} class="slds-media slds-listbox__option slds-listbox__option_entity slds-listbox__option_has-meta" role="option" >
+ <span class="slds-media__figure slds-listbox__option-icon" >
+ <span class="slds-icon_container slds-icon-standard-account" >
+ <lightning-icon icon-name="standard:account" alternative-text="Account" title={item.Id} onclick={iconclick} ></lightning-icon>
+ </span>
+ </span>
+ <span class="slds-media__body" data-id={item.Id} >
+ <span class="slds-listbox__option-text slds-listbox__option-text_entity" data-id={item.Id} style="font-size:small">{item.value1}</span>
+ <span class="slds-listbox__option-meta slds-listbox__option-meta_entity" data-id={item.Id}>{item.value2}</span>
+ </span>
+ </div>
+ </li>
+ </template>
+ </ul>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+
+
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/jzlookupv3/jzlookupv3.js b/force-app/main/default/lwc/jzlookupv3/jzlookupv3.js
new file mode 100644
index 0000000..4b2a0b3
--- /dev/null
+++ b/force-app/main/default/lwc/jzlookupv3/jzlookupv3.js
@@ -0,0 +1,243 @@
+import { LightningElement,api, track } from 'lwc';
+
+export default class jzlookup extends LightningElement {
+
+
+ connectedCallback(){
+ // this.changeSearchData();
+
+ // setInterval(()=>{
+ // this.searchchangeRefresh();
+ // },400);
+ }
+
+ renderedCallback(){
+ if (this.disabled == true) {
+ var inputs = this.template.querySelectorAll('lightning-input');
+ inputs.forEach(fileInput=>{
+ fileInput.disabled = true;
+ })
+ }
+ }
+ //鍔犺浇
+ IsLoading = false;
+ LodingText = ''
+ OnLoading(flag,value=''){
+ this.LodingText = value;
+ this.IsLoading = flag;
+
+ }
+ @api name=''
+ @api option = []
+ @api searchdata=[];
+ @api label = ''
+ @api placeholder = ''
+ @track InputValue = '';
+
+ @api disabled= false;
+ ShowData = []
+
+ isShow = false;
+ searchClick(event)
+ {
+ //鍒ゆ柇鏄惁绂佺敤
+ if(this.ondisabledShow)
+ {
+ return;
+ }
+ //鍒ゆ柇鍊兼槸鍚︽湁鍙樺寲
+ if(this.itemClickValue == this.InputValue && this.InputValue != undefined && this.InputValue!='')
+ {
+ return;
+ }
+
+ if(this.InputValue == undefined || this.InputValue == '' )
+ {
+ this.isShow= true;
+ this.OnLoading(true,"鎼滅储涓�...");
+ const getSearchParamsEvent = new CustomEvent('searchclick', {
+ detail: {}
+ });
+ this.dispatchEvent(getSearchParamsEvent);
+ return;
+ }
+
+ this.isShow= true;
+ }
+ onblurFn(event)
+ {
+ setTimeout(()=>{
+ if (!this.isClick) {
+ const getSearchParamsEvent = new CustomEvent('clear', {
+ detail: {}
+ });
+ this.dispatchEvent(getSearchParamsEvent);
+ }
+ this.isShow= false;
+ //鍒ゆ柇鍊兼槸鍚︽湁鍙樺寲
+ if(this.itemClickValue == this.InputValue)
+ {
+ return;
+ }
+
+ if (!this.isClick) {
+ this.InputValue = '';
+ }
+ },400)
+
+ }
+
+ refreshCount = 0;
+ changeSearchData()
+ {
+
+ this.refreshCount ++;
+ console.warn(this.refreshCount +" == "+ this.searchCount);
+
+
+ if (this.refreshCount > this.searchCount) {
+ this.refreshCount = this.searchCount;
+ }
+ if (this.refreshCount < this.searchCount) {
+ return;
+ }
+
+
+
+ var TempShowData= [];
+ this.searchdata.forEach(item=>{
+ var temp = {};
+ this.option.forEach(option=>{
+ temp.value1 = item[option.lableOne];
+ temp.value2 = item[option.lableTwo];
+ })
+ temp.Id = item.Id;
+ TempShowData.push(temp);
+ })
+
+ this.ShowData = [...[],...TempShowData];
+
+
+ setTimeout(()=>{
+ if (this.ShowData.length<1) {
+ this.OnLoading(true,"鏆傛棤鏁版嵁");
+ }else{
+ this.OnLoading(false,"");
+ }
+ },300);
+
+ }
+
+
+ ifFlag = false;
+ searchCount = 0;
+ //鎼滅储杈撳叆
+ searchchange(event)
+ {
+ this.isClick = false;
+ var values = event.target.value;
+ //鍒ゆ柇鍊兼槸鍚︽湁鍙樺寲
+ if(this.itemClickValue == values)
+ {
+ return;
+ }
+ if (values.length >= 3) {
+ this.isShow= true;
+ this.OnLoading(true,"鎼滅储涓�...");
+ this.InputValue = values;
+ this.searchchangeRefresh();
+ this.searchCount++;
+ }
+
+
+ }
+
+ oldSearchContent = '';
+ searchchangeRefresh()
+ {
+ const getSearchParamsEvent = new CustomEvent('searchchange', {
+ detail: {searchContent:this.InputValue}
+ });
+ this.dispatchEvent(getSearchParamsEvent);
+ }
+
+
+ isClick = false;
+ itemClickValue = '';
+ //閫夐」鍒楄〃鐐瑰嚮
+ itemclick(event,id)
+ {
+ if(this.isIconClick)
+ {
+ return;
+ }
+
+ var Id;
+ if (id!=undefined) {
+ Id = id;
+ }else{
+ Id = event.target.dataset.id;
+ }
+
+
+ var tempData = {};
+ this.searchdata.forEach(item=>{
+ if (item.Id == Id) {
+ tempData = {...{},...item};
+ }
+ })
+ this.InputValue = tempData[this.option[0].lableOne] == undefined?"":tempData[this.option[0].lableOne];
+ this.itemClickValue = this.InputValue;
+ const getSearchParamsEvent = new CustomEvent('selected', {
+ detail: {selectdata:tempData,name:this.name}
+ });
+ this.dispatchEvent(getSearchParamsEvent);
+
+ this.isShow= false;
+ this.isClick = true;
+ }
+ isIconClick = false;
+ iconclick(event)
+ {
+ this.itemclick(null,event.target.title);
+ this.isIconClick = true;
+
+ setTimeout(() => {
+ this.isIconClick = false;
+ }, 200);
+ }
+
+ @api refreshdata(data){
+ if (data!=undefined) {
+ this.IsZero = false;
+ this.searchdata = [...[],...data];
+ this.changeSearchData();
+ }
+ }
+
+ @api setvalue(data){
+ this.InputValue=data;
+ this.itemClickValue = this.InputValue;
+ }
+ @api getvalue(){
+ return this.InputValue;
+ }
+
+ IsZero = false;
+
+ @api iszero(){
+ this.OnLoading(false);
+ this.IsZero = true;
+ }
+
+ ondisabledShow = false;
+
+ @api todisabled()
+ {
+ var inputs = this.template.querySelectorAll('lightning-input');
+ inputs.forEach(inputFile=>{
+ inputFile.disabled = true;
+ })
+ this.ondisabledShow = true;
+ }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/jzlookupv3/jzlookupv3.js-meta.xml b/force-app/main/default/lwc/jzlookupv3/jzlookupv3.js-meta.xml
new file mode 100644
index 0000000..0416469
--- /dev/null
+++ b/force-app/main/default/lwc/jzlookupv3/jzlookupv3.js-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>51.0</apiVersion>
+ <isExposed>false</isExposed>
+</LightningComponentBundle>
\ No newline at end of file
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..54e7d73
--- /dev/null
+++ b/force-app/main/default/lwc/lexAddSubmitApprovalProcess/lexAddSubmitApprovalProcess.js
@@ -0,0 +1,197 @@
+import { LightningElement, track, wire, api } from 'lwc';
+import { CloseActionScreenEvent } from 'lightning/actions';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+import { CurrentPageReference,NavigationMixin } from 'lightning/navigation';
+import { updateRecord } from 'lightning/uiRecordApi';
+
+import init from '@salesforce/apex/AddSubmitApprovalProcessController.init';
+import setSObjectShare from '@salesforce/apex/ControllerUtil.setSObjectShare'
+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;
+ }
+ }
+
+ if(result.campaignId!=null || result.campaignId!=''){
+ if(result.rentalApplyFlag == '鑽夋涓�'){
+ this.ToastShow('瀛︿細鐘舵�佷负鑽夋涓紝涓嶈兘鎻愪氦');
+ return;
+ }
+ if(result.rentalApplyFlag == '鐢宠涓�'){
+ this.ToastShow('瀛︿細鐘舵�佷负鐢宠涓紝涓嶈兘鎻愪氦');
+ return;
+ }
+ if(result.rentalApplyFlag == '宸茬粨鏉�'){
+ this.ToastShow('瀛︿細鐘舵�佷负宸茬粨鏉燂紝涓嶈兘鎻愪氦');
+ return;
+ }
+ if(result.rentalApplyFlag == '宸叉彁浜ゆ姤鍛�'){
+ this.ToastShow('瀛︿細鐘舵�佷负宸叉彁浜ゆ姤鍛婏紝涓嶈兘鎻愪氦');
+ return;
+ }
+ if(result.rentalApplyFlag == '鍙栨秷鐢宠涓�'){
+ this.ToastShow('瀛︿細鐘舵�佷负鍙栨秷鐢宠涓紝涓嶈兘鎻愪氦');
+ return;
+ }
+ if(result.rentalApplyFlag == '鍙栨秷'){
+ this.ToastShow('瀛︿細鐘舵�佷负鍙栨秷锛屼笉鑳芥彁浜�');
+ return;
+ }
+ }
+
+ if(result.qISNumber!=null || result.qISNumber!=''){
+ if(result.nextAction=='閫佸洖'){
+ this.ToastShow('QIS 宸查�佸洖锛屼笉鑳藉啀鐢宠澶囧搧浜�');
+ return;
+ }
+ }
+
+ // share
+ var userAccess = new Array();
+ userAccess.push(result.applyUserId + '_Edit');
+
+ //SWAG-BZMA8W 鍘绘帀 鏈嶅姟缁忕悊閮ㄩ暱鍏变韩 start
+ //update lxy DLIU-BZNBG9 鍘绘帀鏈嶅姟缁忕悊閮ㄩ暱鍏变韩
+ //userAccess.push('{!Rental_Apply__c.JingliApprovalManagerId__c}_Read');
+ //userAccess.push('{!Rental_Apply__c.SalesManagerId__c}_Read');//20210727 ljh SFDC-C54C33 update 鍏变韩瑙﹀彂鍣ㄥ畬鎴�
+ //update lxy DLIU-BZNBG9 鍘绘帀鏈嶅姟缁忕悊閮ㄩ暱鍏变韩
+ //userAccess.push('{!Rental_Apply__c.BuchangApprovalManagerId__c}_Read');
+ //SWAG-BZMA8W 鍘绘帀 鏈嶅姟缁忕悊閮ㄩ暱鍏变韩 end
+ //userAccess.push('{!Rental_Apply__c.BuchangApprovalManagerSalesId__c}_Read');//20210727 ljh SFDC-C54C33 update 鍏变韩瑙﹀彂鍣ㄥ畬鎴�
+ //userAccess.push('{!Rental_Apply__c.ZongjianApprovalManagerId__c}_Read');//20210727 ljh SFDC-C54C33 update 鍏变韩瑙﹀彂鍣ㄥ畬鎴�
+ //userAccess.push('{!Rental_Apply__c.Status__c}_Read');
+
+ setSObjectShare({
+ sobjectName:'Rental_Apply__Share',
+ rowCause:'ApplyUserShare__c',
+ parentId:result.rentalApplyId,
+ userAccess:userAccess,
+ ownerId:result.ownerId
+ }).then(res=>{
+ if(res!='OK'){
+ this.ToastShow(res);
+ return;
+ }
+ }).catch(err=>{
+ console.log('setSObjectShareErr====',err);
+ })
+
+
+ var request = new sforce.ProcessSubmitRequest();
+ request.objectId = "{!Rental_Apply__c.Id}";
+ var processResults = sforce.connection.process([request]);
+
+
+ if (processResults[0].errors != null) {
+ var back = new sforce.SObject("Rental_Apply__c");
+ back.Id = "{!Rental_Apply__c.Id}";
+ back.Add_Approval_Status__c = "鑽夋涓�";
+ var backResult = sforce.connection.update([back]);
+ backMessages = this.getConnectDMLErrorMessages(backResult);
+ if (backMessages.length > 0) {
+ alert(backMessages.join("\n"));
+ return;
+ }
+
+ var errmsg = processResults[0].errors.message.toString();
+ alert(errmsg);
+ return;
+ }
+
+ updateRecord({fields: { Id: this.recordId }});
+
+ }).catch(err=>{
+ console.log('sErr====',err);
+ })
+ }
+
+ ToastShow(msg){
+ const evt = new ShowToastEvent({
+ title : msg,
+ message: '',
+ variant: 'warning'
+ });
+ this.dispatchEvent(evt);
+ this.dispatchEvent(new CloseActionScreenEvent());
+ }
+
+ getConnectDMLErrorMessages(results){
+ var messages = [],
+ i = 0,
+ len = results.length,
+ r;
+ for (; i < len; i++) {
+ r = results[i];
+ if (!r.getBoolean("success")) {
+ messages = messages.concat(this.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 + " " + this.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/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/lexApplyForRepair/lexApplyForRepair.html b/force-app/main/default/lwc/lexApplyForRepair/lexApplyForRepair.html
new file mode 100644
index 0000000..87f391a
--- /dev/null
+++ b/force-app/main/default/lwc/lexApplyForRepair/lexApplyForRepair.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/lexApplyForRepair/lexApplyForRepair.js b/force-app/main/default/lwc/lexApplyForRepair/lexApplyForRepair.js
new file mode 100644
index 0000000..40da9e3
--- /dev/null
+++ b/force-app/main/default/lwc/lexApplyForRepair/lexApplyForRepair.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/buttonRepairSubOrderCtl.init';
+import {
+ ShowToastEvent
+} from 'lightning/platformShowToastEvent';
+
+export default class LexApplyForRepair extends LightningElement {
+ @api recordId;
+ str;
+ IsLoading = true;
+ Id;
+ StatusC;
+
+ @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.StatusC = result.StatusC;
+
+ this.ApplyForRepair();
+ this.dispatchEvent(new CloseActionScreenEvent());
+ }
+ }).catch(error => {
+ console.log(error);
+ }).finally(() => {
+
+ });
+ }
+
+ //鐢宠淇悊
+ ApplyForRepair() {
+ var status = this.StatusC;
+ if (status != '寰呭鐞�') {
+ this.ShowToastEvent("鎶ヤ慨瀛愬崟鐨勭姸鎬佷笉鏄� 寰呭鐞� 鏃犳硶鐢宠淇悊", "error")
+ // alert('鎶ヤ慨瀛愬崟鐨勭姸鎬佷笉鏄� 寰呭鐞� 鏃犳硶鐢宠淇悊');
+ return;
+ }
+ var url = '/apex/ChoiceAsset?Id=' + this.Id + '&Type=Repair';
+ window.open(url, '鐢宠淇悊', 'height=700, width=1000, top=200, left=200, toolbar=no, menubar=no, scrollbars=no, location=no, status=no');
+ }
+
+ 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/lexApplyForRepair/lexApplyForRepair.js-meta.xml b/force-app/main/default/lwc/lexApplyForRepair/lexApplyForRepair.js-meta.xml
new file mode 100644
index 0000000..3392981
--- /dev/null
+++ b/force-app/main/default/lwc/lexApplyForRepair/lexApplyForRepair.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/lexArriveGoods/lexArriveGoods.html b/force-app/main/default/lwc/lexArriveGoods/lexArriveGoods.html
new file mode 100644
index 0000000..107063b
--- /dev/null
+++ b/force-app/main/default/lwc/lexArriveGoods/lexArriveGoods.html
@@ -0,0 +1,166 @@
+<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="border-bottom: 1px solid #D4D4D4;padding:3px;">
+ <p style="font-size: 16px;"><strong>鍏ュ簱/杩斿搧</strong></p>
+ </div>
+ <div style="padding:10px;">
+ <!-- 鎸夐挳 -->
+ <template if:false={returnFLGbln}>
+ <lightning-button style="margin: 5px;" label="鍒拌揣纭" onclick={arriveGoodsConfim} disabled={saveFLGbln}></lightning-button>
+ </template>
+ <template if:true={returnFLGbln}>
+ <lightning-button style="margin: 5px;" label="鐧诲綍杩斿搧" onclick={updateGoodsOfReturn}></lightning-button>
+ </template>
+ <p style="height: 10px;"></p>
+ <!-- 璁㈠崟淇℃伅 -->
+ <template if:true={showOrderDetail}>
+ <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:60px;">
+ <div style="color:#696969;font-size:12px;">璁㈠崟鍚嶇О</div>
+ </td>
+ <td style="width:200px;">
+ <lightning-formatted-text value={coc.Name}></lightning-formatted-text>
+ </td>
+ <td style="width:30px;"></td>
+ <td style="width:60px;">
+ <div style="color:#696969;font-size:12px;">璁㈠崟鎬绘暟</div>
+ </td>
+ <td style="width:100px;">
+ <lightning-formatted-number value={coc.Total_num__c}></lightning-formatted-number>
+ </td>
+ <td style="width:30px;"></td>
+ <td style="width:72px;">
+ <div style="color:#696969;font-size:12px;">宸插埌璐ф暟閲�</div>
+ </td>
+ <td style="width:100px;">
+ <lightning-formatted-number value={coc.OrderNumber_arrived__c}></lightning-formatted-number>
+ </td>
+ <td style="width:30px;"></td>
+ <td style="width:84px;">
+ <div style="color:#696969;font-size:12px;">杩樻病鍙戣揣鏁伴噺</div>
+ </td>
+ <td style="width:100px;">
+ <lightning-formatted-number value={coc.OrderNumber_notarrive__c}></lightning-formatted-number>
+ </td>
+ <td></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ </template>
+ <!-- BarCode褰曞叆 -->
+ <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>BarCode褰曞叆</strong></p>
+ </div>
+ <div style="padding:10px;">
+ <table>
+ <tbody>
+ <tr>
+ <td style="width:20px;"></td>
+ <td style="width:60px;">BarCode</td>
+ <td style="width:600px;">
+ <lightning-textarea name="BarCode" value={barcode} label="" variant="label-hiden" onchange={barcodeChange}></lightning-textarea>
+ </td>
+ <td style="width:20px;"></td>
+ <td style="width:200px;">
+ <lightning-button label="鑾峰彇鏄庣粏" title="鑾峰彇鏄庣粏" onclick={barcodeEntrys} style="width: 300px;"></lightning-button>
+ </td>
+ <td></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <!-- 璀﹀憡鎻愰啋 -->
+ <template if:true={hasWarning}>
+ <div style="border: 1px solid #D4D4D4;border-radius:5px;margin-bottom:7px;">
+ <div style="border-bottom: 1px solid #D4D4D4;border-radius:5px;margin-bottom:7px;color:#ff6a00;font-size:17px;">
+ <lightning-button-icon icon-name="utility:warning"></lightning-button-icon>
+ <strong> 璀﹀憡</strong>
+ </div>
+ <template for:each={warningMsgs} for:item="msg">
+ <p key={msg} style="color:#ff6a00;padding-left:7px;font-size:14px;"> 銉� {msg}</p>
+ </template>
+ </div>
+ </template>
+ <!-- 鎶ラ敊鎻愰啋 -->
+ <template if:true={hasError}>
+ <div style="border: 1px solid #D4D4D4;border-radius:5px;margin-bottom:7px;">
+ <div style="border-bottom: 1px solid #D4D4D4;border-radius:5px;margin-bottom:7px;color:red;font-size:17px;">
+ <lightning-button-icon icon-name="utility:error"></lightning-button-icon>
+ <strong> 閿欒</strong>
+ </div>
+ <template for:each={errorMsgs} for:item="msg">
+ <p key={msg} style="color:red;padding-left:7px;font-size:14px;"> 銉� {msg}</p>
+ </template>
+ </div>
+ </template>
+ <!-- 鏈鍒拌揣浜у搧姹囨�� -->
+ <template if:false={returnFLGbln}>
+ <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;">
+ <lightning-datatable hide-checkbox-column key-field="recordId" columns={currentArrProdCols} data={detailsSummary}></lightning-datatable>
+ </div>
+ </div>
+ </template>
+ <!-- 鍒拌揣鏄庣粏 -->
+ <template if:false={returnFLGbln}>
+ <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;">
+ <lightning-datatable hide-checkbox-column key-field="recordId" columns={arrDetailCols} data={consumableorderdetailsRecords}></lightning-datatable>
+ </div>
+ </div>
+ </template>
+ <!-- 杩斿搧鏄庣粏 -->
+ <template if:true={returnFLGbln}>
+ <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;">
+ <c-lex-custom-lightning-datatable hide-checkbox-column key-field="recordId" data={showGoodsofReturnList} columns={returnDetailCols} onchangereturncount={returnCountChange} onchangevalue={returnReasonChange}></c-lex-custom-lightning-datatable>
+ </div>
+ </div>
+ </template>
+ <!-- 鍏ュ簱鏄庣粏 -->
+ <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;">
+ <lightning-datatable hide-checkbox-column key-field="recordId" columns={inDetailCols} data={consumableInventory}></lightning-datatable>
+ </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;">
+ <lightning-datatable hide-checkbox-column key-field="recordId" columns={errorDetailCols} data={consumableorderdetailsRecordserror}></lightning-datatable>
+ </div>
+ </div>
+ </div>
+ </div>
+ </template>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexArriveGoods/lexArriveGoods.js b/force-app/main/default/lwc/lexArriveGoods/lexArriveGoods.js
new file mode 100644
index 0000000..fd8b410
--- /dev/null
+++ b/force-app/main/default/lwc/lexArriveGoods/lexArriveGoods.js
@@ -0,0 +1,425 @@
+import { LightningElement,wire,track } from 'lwc';
+import { CurrentPageReference } from 'lightning/navigation';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+import { NavigationMixin } from 'lightning/navigation';
+import init from '@salesforce/apex/LexArriveGoodsController.init';
+import searchProduct from '@salesforce/apex/LexArriveGoodsController.searchProduct';
+import arriveGoodsConfim from '@salesforce/apex/LexArriveGoodsController.arriveGoodsConfim';
+import updateGoodsOfReturn from '@salesforce/apex/LexArriveGoodsController.updateGoodsOfReturn';
+
+export default class LexArriveGoods extends NavigationMixin(LightningElement) {
+ //椤甸潰鍙橀噺
+ @track arrType;
+ @track eSetId;
+ @track returnFLGbln = false;
+ @track saveFLGbln = false;
+ @track barcode;
+ @track arrController;
+ // @track accountId;
+ // @track accountName;
+ // @track userProType;
+ // @track userProTypestr;
+ // @track productType;
+ // @track engFlag = false;
+ // @track etFlag = false;
+ // @track userWorkLocation;
+ // @track inventoryOrderId;
+ // @track returnOrderId;
+ // @track arriveId;
+ // @track productList;
+ // @track orderProductCunMap;
+ // @track orderProductArrivedCunMap;
+ // @track orderWantArriveCunMap;
+ // @track overOrderCunMap;
+ // @track overOrderBARcodeCunMap;
+ @track showSpinner = true;
+ @track showPage = false;
+ //
+ // @track consumableorderdetailsRecordsUse;
+ // @track consumableInventoryUse;
+ // @track consumableorderdetails2Cancle;
+ // @track orderdetails2trMap;
+ // @track consumableorderdetails2Insert;
+ // @track consumableorderdetails2Nobox;
+ // @track consumableorderdetailsRecordsdummy;
+ // @track existIdMap;
+ // @track errorIdMap;
+ // @track allMap;
+ //娑堣�楀搧璁㈠崟
+ @track coc;
+ @track cocId;
+ //鏈鍒拌揣浜у搧姹囨��
+ @track detailsSummary = [];
+ //鍒拌揣鏄庣粏
+ @track consumableorderdetailsRecords = [];
+ @track consumableorderdetailsRecordsview = [];
+ //杩斿搧鏄庣粏
+ @track showGoodsofReturnList = [];
+ //鍏ュ簱鏄庣粏
+ @track consumableInventory = [];
+ //閿欒鏄庣粏
+ @track consumableorderdetailsRecordserror = [];
+ //鎶ラ敊鎻愰啋
+ @track errorMsgs = [];
+ @track warningMsgs = [];
+
+ //鏄惁鏈夎鍛�
+ get hasWarning(){
+ if(this.warningMsgs == null || this.warningMsgs.length == 0){
+ return false;
+ }
+ if(this.warningMsgs.length > 0){
+ return true;
+ }
+ }
+
+ //鏄惁鏈夐敊璇�
+ get hasError(){
+ if(this.errorMsgs == null || this.errorMsgs.length == 0){
+ return false;
+ }
+ if(this.errorMsgs.length > 0){
+ return true;
+ }
+ }
+
+ //鏈鍒拌揣浜у搧姹囨�籧ols
+ @track currentArrProdCols = [
+ {label:'浜у搧鍨嬪彿' , fieldName:'assetModelNo', hideDefaultActions: true},
+ {label:'浜у搧鍚嶇О' , fieldName:'prodName', hideDefaultActions: true},
+ {label:'鍒拌揣鏁伴噺' , fieldName:'arrivedCount', hideDefaultActions: true},
+ {label:'鍒拌揣閲戦' , fieldName:'arriveAmount', hideDefaultActions: true}
+ ];
+ //鍒拌揣鏄庣粏cols
+ @track arrDetailCols = [
+ {label:'娑堣�楀搧鍚嶇О' , fieldName:'prodName', hideDefaultActions: true},
+ {label:'瑙勬牸' , fieldName:'productPackingListManual', hideDefaultActions: true},
+ {label:'CFDA鐘舵��' , fieldName:'status', hideDefaultActions: true},
+ {label:'娉ㄥ唽璇佺紪鐮佸彿' , fieldName:'reportProductApprobation', hideDefaultActions: true},
+ {label:'娉ㄥ唽璇佹晥鏈�' , fieldName:'ReportProductExpirationDate', hideDefaultActions: true},
+ {label:'BarCode' , fieldName:'barCode', hideDefaultActions: true}
+ ];
+ //杩斿搧鏄庣粏cols
+ get returnDetailCols(){
+ var cols = [];
+ cols.push({label:'鍑哄簱鍗�',fieldName:'orderUrl',type:'url',typeAttributes:{label:{fieldName:'orderNo'},target: "_blank"},hideDefaultActions: true});
+ // cols.push({label:'鍑哄簱鍗�' , fieldName:'orderNo', hideDefaultActions: true});
+ cols.push({label:'鍑哄簱鏃�' , fieldName:'prodOutDate', hideDefaultActions: true});
+ cols.push({label:'娑堣�楀搧鍚嶇О' , fieldName:'prodName', hideDefaultActions: true});
+ cols.push({label:'鍑哄簱鐩殑' , fieldName:'summonsForDirctionDet', hideDefaultActions: true});
+ cols.push({label:'瀹㈡埛鍚�' , fieldName:'hospitalName', hideDefaultActions: true});
+ cols.push({label:'缁忛攢鍟�' , fieldName:'orderDealer', hideDefaultActions: true});
+ cols.push({label:'BarCode' , fieldName:'barCode', hideDefaultActions: true});
+ cols.push({label:'浣跨敤鏈熼檺' , fieldName:'sterilizationLimit', hideDefaultActions: true});
+ cols.push({label:'鍗曚綅' , fieldName:'boxPiece', hideDefaultActions: true});
+ cols.push({
+ label:'杩斿搧鏁伴噺',
+ type: "customReturnGoodInput",
+ typeAttributes: {
+ inputValue: { fieldName: "returnCount" },
+ boxPrice: { fieldName: "boxPiece" },
+ recordId: { fieldName: "recordId" }
+ },
+ hideDefaultActions: true});
+ cols.push({
+ label:'杩斿搧鍘熷洜',
+ type: "customTableInput",
+ typeAttributes: {
+ recordId: { fieldName: "recordId" },
+ inputValue: { fieldName: "returnReason" },
+ valueType: 'Text'
+ },
+ hideDefaultActions: true,initialWidth:70});
+ // cols.push({label:'杩斿搧鍘熷洜' , fieldName:'returnReason', hideDefaultActions: true});
+ return cols;
+ }
+ //鍏ュ簱鏄庣粏cols
+ get inDetailCols(){
+ var cols = [];
+ cols.push({label:'娑堣�楀搧鍚嶇О' , fieldName:'prodName', hideDefaultActions: true});
+ cols.push({label:'BarCode' , fieldName:'barCodeNo', hideDefaultActions: true});
+ cols.push({label:'浣跨敤鏈熼檺' , fieldName:'sterilizationlimitDate', hideDefaultActions: true});
+ cols.push({label:'serialNoorLotNo' , fieldName:'serialNoorLotNo', hideDefaultActions: true});
+ cols.push({label:'tracingCode' , fieldName:'tracingCodeNo', hideDefaultActions: true});
+ if(this.returnFLGbln){
+ cols.push({label:'杩斿搧鍘熷洜' , fieldName:'ReturnReason', hideDefaultActions: true});
+ }
+ return cols;
+ }
+ //閿欒鏄庣粏cols
+ @track errorDetailCols = [
+ {label:'娑堣�楀搧璁㈠崟' , fieldName:'consumableOrderMinor', hideDefaultActions: true},
+ {label:'娑堣�楀搧鍚嶇О' , fieldName:'prodName', hideDefaultActions: true},
+ {label:'BarCode' , fieldName:'barCode', hideDefaultActions: true},
+ {label:'鍗曚綅' , fieldName:'boxPiece', hideDefaultActions: true},
+ {label:'鏁伴噺' , fieldName:'intMark', hideDefaultActions: true},
+ {label:'閿欒鍘熷洜' , fieldName:'ErrorReason', hideDefaultActions: true}
+ ];
+
+ // 鑾峰彇鍙傛暟
+ @wire(CurrentPageReference)
+ getStateParameters(currentPageReference) {
+ console.log('CurrentPageReference');
+ if (currentPageReference) {
+ this.arrType = currentPageReference.state?.ArrType;
+ this.eSetId = currentPageReference.state?.ESetId;
+ }
+ }
+
+ get showOrderDetail(){
+ if(this.eSetId != '' && this.eSetId != null){
+ return true;
+ }else{
+ return false;
+ }
+ }
+
+ //鍒濆鍖�
+ connectedCallback(){
+ init({arrType:this.arrType, eSetId:this.eSetId})
+ .then(result=>{
+ this.arrController = result.arrGoodCon;
+ console.log("this.arrController:"+this.arrController);
+ if(result.result == 'Success'){
+ this.saveFLGbln = result.saveFLGbln;
+ this.returnFLGbln = result.returnFLGbln;
+ this.coc = result.coc;
+ this.cocId = result.coc.Id;
+ this.warningMsgs = result.warningMsgList;
+ this.errorMsgs = result.warningMsgList;
+ this.showSpinner = false;
+ this.showPage = true;
+ }else{
+ this.warningMsgs = result.warningMsgList;
+ this.errorMsgs = result.warningMsgList;
+ this.showSpinner = false;
+ this.showPage = true;
+ console.log("error:"+result.errorMsg);
+ this.showMyToast('鍒濆鍖栭〉闈㈠け璐�',result.errorMsg,'error');
+ }
+ })
+ .catch(error=>{
+ this.showSpinner = false;
+ this.showPage = true;
+ console.log("error:"+error);
+ this.showMyToast('鍒濆鍖栭〉闈㈠け璐�',error,'error');
+ })
+ }
+
+ //barcode change
+ barcodeChange(event){
+ this.barcode = event.detail.value;
+ }
+
+ //鏍规嵁barcode鎼滅储
+ barcodeEntrys(){
+ this.showSpinner = true;
+ searchProduct({
+ barcode : this.barcode,
+ arrControllerStr : this.arrController
+ })
+ .then(result=>{
+ this.arrController = result.arrGoodCon;
+ if(result.result == 'Success'){
+ this.saveFLGbln = result.saveFLGbln;
+ this.returnFLGbln = result.returnFLGbln;
+ this.coc = result.coc;
+ this.warningMsgs = result.warningMsgList;
+ this.errorMsgs = result.warningMsgList;
+ this.detailsSummary = result.detailsSummary;
+ for(var i in this.detailsSummary){
+ if(this.detailsSummary[i].Prod != null){
+ this.detailsSummary[i]['recordId'] = this.detailsSummary[i].Prod.Id;
+ this.detailsSummary[i]['assetModelNo'] = this.detailsSummary[i].Prod.Asset_Model_No__c;
+ this.detailsSummary[i]['prodName'] = this.detailsSummary[i].Prod.Name__c;
+ console.log('this.detailsSummary:'+this.detailsSummary[i]['recordId']+'---'+this.detailsSummary[i]['prodName']);
+ }
+ }
+ console.log('this.detailsSummary:'+JSON.stringify(this.detailsSummary));
+ this.consumableorderdetailsRecords = result.consumableorderdetailsRecords;
+ for(var i in this.consumableorderdetailsRecords){
+ if(this.consumableorderdetailsRecords[i].Prod != null){
+ this.consumableorderdetailsRecords[i]['recordId'] = this.consumableorderdetailsRecords[i].Prod.Id;
+ this.consumableorderdetailsRecords[i]['prodName'] = this.consumableorderdetailsRecords[i].Prod.Name__c;
+ }
+ if(this.consumableorderdetailsRecords[i].esd != null){
+ this.consumableorderdetailsRecords[i]['productPackingListManual'] = this.consumableorderdetailsRecords[i].esd.ProductPacking_list_manual__c;
+ this.consumableorderdetailsRecords[i]['status'] = this.consumableorderdetailsRecords[i].esd.CFDA_Status__c;
+ this.consumableorderdetailsRecords[i]['reportProductApprobation'] = this.consumableorderdetailsRecords[i].esd.Report_Product_Approbation__c;
+ this.consumableorderdetailsRecords[i]['barCode'] = this.consumableorderdetailsRecords[i].esd.Bar_Code__c;
+ }
+ }
+ console.log('this.consumableorderdetailsRecords:'+JSON.stringify(this.consumableorderdetailsRecords));
+ this.showGoodsofReturnList = result.showGoodsofReturnList;
+ for(var i in this.showGoodsofReturnList){
+ if(this.showGoodsofReturnList[i].Prod != null){
+ this.showGoodsofReturnList[i]['recordId'] = this.showGoodsofReturnList[i].Prod.Id;
+ this.showGoodsofReturnList[i]['prodName'] = this.showGoodsofReturnList[i].Prod.Name__c;
+ }
+ if(this.showGoodsofReturnList[i].esd != null){
+ if(this.showGoodsofReturnList[i].esd.Consumable_Shipment_order__c == '' || this.showGoodsofReturnList[i].esd.Consumable_Shipment_order__c == null){
+ this.showGoodsofReturnList[i]['orderUrl'] = '/lexsummonscreat?ESetid='+this.showGoodsofReturnList[i].esd.Consumable_Sale_order__c;
+ this.showGoodsofReturnList[i]['orderNo'] = this.showGoodsofReturnList[i].esd.Consumable_Sale_order__r.Name;
+ }else{
+ this.showGoodsofReturnList[i]['orderUrl'] = '/lexsummonscreat?ESetid='+this.showGoodsofReturnList[i].esd.Consumable_Shipment_order__c;
+ this.showGoodsofReturnList[i]['orderNo'] = this.showGoodsofReturnList[i].esd.Consumable_Shipment_order__r.Name;
+ }
+ this.showGoodsofReturnList[i]['prodOutDate'] = this.showGoodsofReturnList[i].esd.Product_OutDate__c;
+ this.showGoodsofReturnList[i]['summonsForDirctionDet'] = this.showGoodsofReturnList[i].esd.SummonsForDirction_det__c;
+ this.showGoodsofReturnList[i]['hospitalName'] = this.showGoodsofReturnList[i].esd.HospItal_Name__c;
+ this.showGoodsofReturnList[i]['orderDealer'] = this.showGoodsofReturnList[i].esd.Order_Dealer_Info__c;
+ this.showGoodsofReturnList[i]['barCode'] = this.showGoodsofReturnList[i].esd.Bar_Code__c;
+ this.showGoodsofReturnList[i]['sterilizationLimit'] = this.showGoodsofReturnList[i].esd.Sterilization_limit__c;
+ this.showGoodsofReturnList[i]['boxPiece'] = this.showGoodsofReturnList[i].esd.Box_Piece__c;
+ this.showGoodsofReturnList[i]['returnCount'] = this.showGoodsofReturnList[i].esd.Rrturn_count__c;
+ console.log('returnCount:'+this.showGoodsofReturnList[i].esd.Rrturn_count__c);
+ this.showGoodsofReturnList[i]['returnReason'] = this.showGoodsofReturnList[i].esd.Return_reason__c;
+ }
+ }
+ console.log('this.showGoodsofReturnList:'+JSON.stringify(this.showGoodsofReturnList));
+ this.consumableInventory = result.consumableInventory;
+ for(var i in this.consumableInventory){
+ if(this.consumableInventory[i].Prod != null){
+ this.consumableInventory[i]['recordId'] = this.consumableInventory[i].Prod.Id;
+ this.consumableInventory[i]['prodName'] = this.consumableInventory[i].Prod.Name__c;
+ }
+ }
+ console.log('this.consumableInventory:'+JSON.stringify(this.consumableInventory));
+ this.consumableorderdetailsRecordserror = result.consumableorderdetailsRecordserror;
+ for(var i in this.consumableorderdetailsRecordserror){
+ if(this.consumableorderdetailsRecordserror[i].Prod != null){
+ this.consumableorderdetailsRecordserror[i]['recordId'] = this.consumableorderdetailsRecordserror[i].Prod.Id;
+ this.consumableorderdetailsRecordserror[i]['prodName'] = this.consumableorderdetailsRecordserror[i].Prod.Name__c;
+ }
+ if(this.consumableorderdetailsRecordserror[i].esd != null){
+ this.consumableorderdetailsRecordserror[i]['consumableOrderMinor'] = this.consumableorderdetailsRecordserror[i].esd.Consumable_order_minor__c;
+ this.consumableorderdetailsRecordserror[i]['barCode'] = this.consumableorderdetailsRecordserror[i].esd.Bar_Code__c;
+ this.consumableorderdetailsRecordserror[i]['boxPiece'] = this.consumableorderdetailsRecordserror[i].esd.Box_Piece__c;
+ }
+ }
+ console.log('this.consumableorderdetailsRecordserror:'+JSON.stringify(this.consumableorderdetailsRecordserror));
+ this.showSpinner = false;
+ this.showMyToast('鑾峰彇鎴愬姛','','success');
+ }else {
+ this.showSpinner = false;
+ this.warningMsgs = result.warningMsgList;
+ this.errorMsgs = result.warningMsgList;
+ console.log("error:"+result.errorMsg);
+ this.showMyToast('鑾峰彇澶辫触',result.errorMsg,'error');
+ }
+ })
+ .catch(error=>{
+ this.showSpinner = false;
+ console.log("error:"+error);
+ this.showMyToast('鎼滅储澶辫触',error,'error');
+ })
+ }
+
+ //杩斿搧鏁伴噺change
+ returnCountChange(event){
+ var value = event.detail.data.value;
+ var boxPrice = event.detail.data.boxPrice;
+ var recordId = event.detail.data.recordId;
+ console.log("杩斿搧鏁伴噺:"+value+boxPrice+"---"+recordId);
+ var showGood;
+ for(var i in this.showGoodsofReturnList){
+ if(this.showGoodsofReturnList[i]['recordId'] == recordId){
+ if(this.showGoodsofReturnList[i].canEdit){
+ this.showGoodsofReturnList[i].esd.Rrturn_count__c = 1;
+ this.showGoodsofReturnList[i]['returnCount'] = this.showGoodsofReturnList[i].esd.Rrturn_count__c;
+ }else{
+ this.showGoodsofReturnList[i].esd.Rrturn_count__c = value;
+ this.showGoodsofReturnList[i]['returnCount'] = this.showGoodsofReturnList[i].esd.Rrturn_count__c;
+ }
+ }
+ }
+ }
+
+ //杩斿搧鍘熷洜change
+ returnReasonChange(event){
+ var recordId = event.detail.data.recordId;
+ var value = event.detail.data.value;
+ console.log("杩斿搧鍘熷洜:"+value+"---"+recordId);
+ for(var i in this.showGoodsofReturnList){
+ if(this.showGoodsofReturnList[i]['recordId'] == recordId){
+ this.showGoodsofReturnList[i].esd.Return_reason__c = value;
+ this.showGoodsofReturnList[i]['returnReason'] = this.showGoodsofReturnList[i].esd.Return_reason__c;
+ }
+ }
+ }
+
+ // 鍒拌揣纭
+ arriveGoodsConfim(){
+ this.showSpinner = true;
+ arriveGoodsConfim({arrControllerStr : this.arrController})
+ .then(result=>{
+ this.arrController = result.arrGoodCon;
+ if(result.result == 'Success'){
+ this.showSpinner = false;
+ this.warningMsgs = result.warningMsgList;
+ this.errorMsgs = result.warningMsgList;
+ var url = result.url;
+ const config = {
+ type: 'standard__webPage',
+ attributes: {
+ url: url
+ }
+ };
+ this[NavigationMixin.Navigate](config);
+ }else {
+ this.showSpinner = false;
+ this.warningMsgs = result.warningMsgList;
+ this.errorMsgs = result.warningMsgList;
+ console.log("error:"+error);
+ this.showMyToast('鍒拌揣纭澶辫触',result.errorMsg,'error');
+ }
+ })
+ .catch(error=>{
+ this.showSpinner = false;
+ console.log("error:"+error);
+ this.showMyToast('鍒拌揣纭澶辫触',error,'error');
+ })
+ }
+
+ // 鐧诲綍杩斿搧
+ updateGoodsOfReturn(){
+ this.showSpinner = true;
+ updateGoodsOfReturn({arrControllerStr : this.arrController,showGoodsofReturnListStr : this.showGoodsofReturnList})
+ .then(result=>{
+ this.showSpinner = false;
+ this.arrController = result.arrGoodCon;
+ if(result.result == 'Success'){
+ this.warningMsgs = result.warningMsgList;
+ this.errorMsgs = result.warningMsgList;
+ var url = result.url;
+ const config = {
+ type: 'standard__webPage',
+ attributes: {
+ url: url
+ }
+ };
+ this[NavigationMixin.Navigate](config);
+ }else {
+ this.showSpinner = false;
+ this.warningMsgs = result.warningMsgList;
+ this.errorMsgs = result.warningMsgList;
+ console.log("error:"+error);
+ this.showMyToast('鐧诲綍杩斿搧澶辫触',result.errorMsg,'error');
+ }
+ })
+ .catch(error=>{
+ this.showSpinner = false;
+ console.log("error:"+error);
+ this.showMyToast('鐧诲綍杩斿搧澶辫触',error,'error');
+ })
+ }
+
+ 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/lexArriveGoods/lexArriveGoods.js-meta.xml b/force-app/main/default/lwc/lexArriveGoods/lexArriveGoods.js-meta.xml
new file mode 100644
index 0000000..d893635
--- /dev/null
+++ b/force-app/main/default/lwc/lexArriveGoods/lexArriveGoods.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/lexArriveGoodsMain/lexArriveGoodsMain.html b/force-app/main/default/lwc/lexArriveGoodsMain/lexArriveGoodsMain.html
new file mode 100644
index 0000000..7a6c8a6
--- /dev/null
+++ b/force-app/main/default/lwc/lexArriveGoodsMain/lexArriveGoodsMain.html
@@ -0,0 +1,81 @@
+<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;">
+ <!-- <lightning-datatable hide-checkbox-column key-field="id" columns={colms} data={raesList}></lightning-datatable> -->
+ <c-lex-custom-lightning-datatable hide-checkbox-column key-field="Id" data={raesList} columns={colms} onclicklink={clickLick}></c-lex-custom-lightning-datatable>
+ </div>
+ </div>
+ </div>
+ </div>
+ </template>
+ <!-- 璁㈠崟鍚勭鏁伴噺淇℃伅寮圭獥 -->
+ <template if:true={showPop}>
+ <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_small" style="border: 1px solid #D4D4D4;">
+ <div class="slds-modal__container">
+ <header class="slds-modal__header" style="background-color: #F3F3F3;">
+ <button style="" class="slds-button slds-button_icon slds-modal__close slds-button_icon-inverse" title="Close" onclick={closePop}>
+ <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">{popTitle}</h2>
+ </header>
+ <div class="slds-modal__content slds-p-around_medium" id="modal-content-id-1" style="border: 1px solid #F3F3F3;">
+ <lightning-datatable hide-checkbox-column key-field="prodModel" columns={colms2} data={recordList}></lightning-datatable>
+ </div>
+ <footer class="slds-modal__footer">
+ <lightning-button style="margin-left: 10px;" variant="neutral" label="鍏抽棴" onclick={closePop}></lightning-button>
+ </footer>
+ </div>
+ </section>
+ <div class="slds-backdrop slds-backdrop_open"></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..e88f4d3
--- /dev/null
+++ b/force-app/main/default/lwc/lexArriveGoodsMain/lexArriveGoodsMain.js
@@ -0,0 +1,367 @@
+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';
+import initTotalNum from '@salesforce/apex/LexConsumableGoodsInfo.initTotalNum';
+import initArrDet from '@salesforce/apex/LexConsumableGoodsInfo.initArrDet';
+import initArrDetAll from '@salesforce/apex/LexConsumableGoodsInfo.initArrDetAll';
+import initDeliveryDet from '@salesforce/apex/LexConsumableGoodsInfo.initDeliveryDet';
+import initDeliveryDetAll from '@salesforce/apex/LexConsumableGoodsInfo.initDeliveryDetAll';
+import initNotArrDet from '@salesforce/apex/LexConsumableGoodsInfo.initNotArrDet';
+import initNotArrDetAll from '@salesforce/apex/LexConsumableGoodsInfo.initNotArrDetAll';
+import initMoreThan7 from '@salesforce/apex/LexConsumableGoodsInfo.initMoreThan7';
+import initMoreThan7All from '@salesforce/apex/LexConsumableGoodsInfo.initMoreThan7All';
+
+export default class LexArriveGoodsMain extends NavigationMixin(LightningElement) {
+ //椤甸潰鍩虹鍙橀噺
+ @track agencyProType;
+ @track category1;
+ @track cate2;
+ // @track eSetId;
+ @track accountId;
+ @track title = [];
+ @track raesList = [];
+ @track recordList = [];
+ @track userWorkLocation;
+ @track totalNum;
+ @track orderNumberArrived;
+ @track deliveryDetailCount;
+ @track orderNumberNotarrive;
+ @track moreThanSevenDays;
+ @track showSpinner = true;
+ @track showPage = false;
+ @track showPop = false;
+ @track popTitle;
+
+ @track colms = [
+ // {label:'娑堣�楀搧璁㈠崟鍚嶇О',fieldName:'Name'},
+ // {label:'璁㈠崟鎬绘暟',fieldName:'Total_num__c'},
+ // {label:'宸插埌璐ф暟閲�',fieldName:'OrderNumber_arrived__c'},
+ // {label:'寰呯郴缁熸搷浣滃叆搴撴暟閲�',fieldName:'Delivery_detail_count__c'},
+ // {label:'杩樻病鍙戣揣鏁伴噺',fieldName:'OrderNumber_notarrive__c'},
+ // {label:'鍙戣揣涓冨ぉ杩樻湭鍒拌揣鏁�',fieldName:'More_than_seven_days__c'},
+ {label:'娑堣�楀搧璁㈠崟鍚嶇О',
+ type: "customOutputGood",
+ typeAttributes: {
+ outputValue: { fieldName: "Name" },
+ type: 'Title',
+ recordId: { fieldName: "Id" }
+ },
+ hideDefaultActions: true,initialWidth:180},
+ {label:'SAP鍚堝悓鍙�',fieldName:'ContractNo__c',hideDefaultActions: true},
+ {label:'璁㈠崟鎬绘暟',
+ type: "customOutputGood",
+ typeAttributes: {
+ outputValue: { fieldName: "Total_num__c" },
+ type: 'TotalNum',
+ recordId: { fieldName: "Id" }
+ },
+ hideDefaultActions: true},
+ {label:'宸插埌璐ф暟閲�',
+ type: "customOutputGood",
+ typeAttributes: {
+ outputValue: { fieldName: "OrderNumber_arrived__c" },
+ type: 'ArrDet',
+ recordId: { fieldName: "Id" }
+ },
+ hideDefaultActions: true},
+ {label:'寰呯郴缁熸搷浣滃叆搴撴暟閲�',
+ type: "customOutputGood",
+ typeAttributes: {
+ outputValue: { fieldName: "Delivery_detail_count__c" },
+ type: 'DeliveryDet',
+ recordId: { fieldName: "Id" }
+ },
+ hideDefaultActions: true},
+ {label:'杩樻病鍙戣揣鏁伴噺',
+ type: "customOutputGood",
+ typeAttributes: {
+ outputValue: { fieldName: "OrderNumber_notarrive__c" },
+ type: 'NotArrDet',
+ recordId: { fieldName: "Id" }
+ },
+ hideDefaultActions: true},
+ {label:'鍙戣揣涓冨ぉ杩樻湭鍒拌揣鏁�',
+ type: "customOutputGood",
+ typeAttributes: {
+ outputValue: { fieldName: "More_than_seven_days__c" },
+ type: 'MoreThan7',
+ recordId: { fieldName: "Id" }
+ },
+ hideDefaultActions: true},
+ {label:'鏈�鏂板彂璐ф棩鏈�',fieldName:'Shipment_date__c',hideDefaultActions: true},
+ {label:'棣栨鍙戣揣鏃ユ湡',fieldName:'First_Delivery__c',hideDefaultActions: true}
+ ];
+
+ @track colms2 = [
+ {label:'浜у搧鍨嬪彿',fieldName:'prodModel',hideDefaultActions: true},
+ {label:'鏁伴噺',fieldName:'recordCount',hideDefaultActions: 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.userWorkLocation = result.userWorkLocation;
+ this.totalNum = result.totalNum;
+ this.orderNumberArrived = result.orderNumberArrived;
+ this.deliveryDetailCount = result.deliveryDetailCount;
+ this.orderNumberNotarrive = result.orderNumberNotarrive;
+ this.moreThanSevenDays = result.moreThanSevenDays;
+ this.raesList = result.raesList;
+ this.raesList.push({Id:'1',Name:'璁㈠崟鏄庣粏姹囨��',Total_num__c:this.totalNum,OrderNumber_arrived__c:this.orderNumberArrived,Delivery_detail_count__c:this.deliveryDetailCount,OrderNumber_notarrive__c:this.orderNumberNotarrive,More_than_seven_days__c:this.moreThanSevenDays});
+ this.showSpinner = false;
+ this.showPage = true;
+ }else{
+ this.showSpinner = false;
+ console.log("Error:"+result.errorMsg);
+ this.showMyToast('鍒濆鍖栭〉闈㈠け璐�',result.errorMsg,'error');
+ }
+ })
+ }
+
+ //鐐瑰嚮閾炬帴
+ clickLick(event){
+ var outputValue = event.detail.data.value;
+ var outputType = event.detail.data.type;
+ var recordId = event.detail.data.recordId;
+ console.log("click:"+outputValue+"---"+outputType+"---"+recordId);
+ if(outputType == 'Title'){
+ const config = {
+ type: 'standard__webPage',
+ attributes: {
+ url: '/lexarrivegoods?ESetId='+recordId
+ }
+ };
+ this[NavigationMixin.Navigate](config);
+ }else if(outputType == 'TotalNum'){
+ this.popTitle = '鎵�鏈変骇鍝佷竴瑙�';
+ initTotalNum({ordId:recordId, type:'all'})
+ .then(result=>{
+ if(result.result == 'Success'){
+ this.recordList = result.recordList;
+ console.log('data:'+JSON.stringify(this.recordList));
+ this.showPop = true;
+ }else{
+ this.showMyToast('鍔犺浇鎵�鏈変骇鍝佷竴瑙堥〉闈㈠け璐�',result.errorMsg,'error');
+ }
+ })
+ }else if(outputType == 'ArrDet'){
+ if(recordId == '1'){
+ this.popTitle = '鎵�鏈夊凡鍒拌揣浜у搧涓�瑙�';
+ initArrDetAll({type:'all'})
+ .then(result=>{
+ if(result.result == 'Success'){
+ this.recordList = result.recordList;
+ console.log('data:'+JSON.stringify(this.recordList));
+ this.showPop = true;
+ }else{
+ this.showMyToast('鍔犺浇鎵�鏈夊凡鍒拌揣浜у搧涓�瑙堥〉闈㈠け璐�',result.errorMsg,'error');
+ }
+ })
+ }else{
+ this.popTitle = '宸插埌璐т骇鍝佷竴瑙�';
+ initArrDet({orderId:recordId})
+ .then(result=>{
+ if(result.result == 'Success'){
+ this.recordList = result.recordList;
+ console.log('data:'+JSON.stringify(this.recordList));
+ this.showPop = true;
+ }else{
+ this.showMyToast('鍔犺浇宸插埌璐т骇鍝佷竴瑙堥〉闈㈠け璐�',result.errorMsg,'error');
+ }
+ })
+ }
+ }else if(outputType == 'DeliveryDet'){
+ if(recordId == '1'){
+ this.popTitle = '鎵�鏈夊凡鍙戣揣杩樻病鍒拌揣浜у搧涓�瑙�';
+ initDeliveryDetAll({type:'all'})
+ .then(result=>{
+ if(result.result == 'Success'){
+ this.recordList = result.recordList;
+ console.log('data:'+JSON.stringify(this.recordList));
+ this.showPop = true;
+ }else{
+ this.showMyToast('鍔犺浇鎵�鏈夊凡鍙戣揣杩樻病鍒拌揣浜у搧涓�瑙堥〉闈㈠け璐�',result.errorMsg,'error');
+ }
+ })
+ }else{
+ this.popTitle = '鏈埌璐т骇鍝佷竴瑙�';
+ initDeliveryDet({orderId:recordId})
+ .then(result=>{
+ if(result.result == 'Success'){
+ this.recordList = result.recordList;
+ console.log('data:'+JSON.stringify(this.recordList));
+ this.showPop = true;
+ }else{
+ this.showMyToast('鍔犺浇鏈埌璐т骇鍝佷竴瑙堥〉闈㈠け璐�',result.errorMsg,'error');
+ }
+ })
+ }
+ }else if(outputType == 'NotArrDet'){
+ if(recordId == '1'){
+ this.popTitle = '鎵�鏈夎繕娌″彂璐т骇鍝佷竴瑙�';
+ initNotArrDetAll({type:'all'})
+ .then(result=>{
+ if(result.result == 'Success'){
+ this.recordList = result.recordList;
+ console.log('data:'+JSON.stringify(this.recordList));
+ this.showPop = true;
+ }else{
+ this.showMyToast('鍔犺浇鎵�鏈夎繕娌″彂璐т骇鍝佷竴瑙堥〉闈㈠け璐�',result.errorMsg,'error');
+ }
+ })
+ }else{
+ this.popTitle = '杩樻病鍙戣揣鏁伴噺';
+ initNotArrDet({orderId:recordId})
+ .then(result=>{
+ if(result.result == 'Success'){
+ this.recordList = result.recordList;
+ console.log('data:'+JSON.stringify(this.recordList));
+ this.showPop = true;
+ }else{
+ this.showMyToast('鍔犺浇杩樻病鍙戣揣鏁伴噺椤甸潰澶辫触',result.errorMsg,'error');
+ }
+ })
+ }
+
+ }else if(outputType == 'MoreThan7'){
+ if(recordId == '1'){
+ this.popTitle = '鎵�鏈夊彂璐т竷澶╄繕鏈埌璐ф暟';
+ initMoreThan7All({type:'all'})
+ .then(result=>{
+ if(result.result == 'Success'){
+ this.recordList = result.recordList;
+ console.log('data:'+JSON.stringify(this.recordList));
+ this.showPop = true;
+ }else{
+ this.showMyToast('鍔犺浇鎵�鏈夊彂璐т竷澶╄繕鏈埌璐ф暟椤甸潰澶辫触',result.errorMsg,'error');
+ }
+ })
+ }else{
+ this.popTitle = '鍙戣揣涓冨ぉ杩樻湭鍒拌揣鏁�';
+ initMoreThan7({orderId:recordId})
+ .then(result=>{
+ if(result.result == 'Success'){
+ this.recordList = result.recordList;
+ console.log('data:'+JSON.stringify(this.recordList));
+ this.showPop = true;
+ }else{
+ this.showMyToast('鍔犺浇鍙戣揣涓冨ぉ杩樻湭鍒拌揣鏁伴〉闈㈠け璐�',result.errorMsg,'error');
+ }
+ })
+ }
+ }
+ }
+
+ //鍏抽棴寮圭獥
+ closePop(){
+ this.showPop = false;
+ }
+
+ //娑堣�楀搧璁㈠崟鍚嶇О鍙樻洿
+ category1Change(event){
+ this.category1 = event.detail.value;
+ }
+
+ //鏈�鏂板彂璐ф棩鏈熷彉鏇�
+ cate2Change(event){
+ this.cate2 = event.detail.value;
+ }
+
+ //妫�绱�
+ search(){
+ searchConsumableorderdetails({
+ category1Str:this.category1,
+ cate2Str:this.cate2,
+ accountidStr:this.accountId,
+ userWorkLocationStr:this.userWorkLocation,
+ agencyProTypeStr:this.agencyProType})
+ .then(result=>{
+ if(result.result == 'Success'){
+ this.raesList = result.raesList;
+ this.raesList.push({Id:'1',Name:'璁㈠崟鏄庣粏姹囨��',Total_num__c:this.totalNum,OrderNumber_arrived__c:this.orderNumberArrived,Delivery_detail_count__c:this.deliveryDetailCount,OrderNumber_notarrive__c:this.orderNumberNotarrive,More_than_seven_days__c:this.moreThanSevenDays});
+ if(this.raesList.length > 1){
+ var count = this.raesList.length - 1;
+ this.showMyToast('鎼滅储鎴愬姛','鍏辨悳绱㈠埌'+count+'鏉℃暟鎹�','success');
+ }else{
+ this.showMyToast('鏈悳绱㈠埌鏁版嵁','','error');
+ }
+ }else{
+ this.showMyToast('鎼滅储澶辫触',result.errorMsg,'error');
+ }
+ })
+ }
+
+ //娓呯┖鎼滅储妗�
+ clear(){
+ this.category1 = '';
+ this.cate2 = null;
+ searchConsumableorderdetails({
+ category1Str:this.category1,
+ cate2Str:this.cate2,
+ accountidStr:this.accountId,
+ userWorkLocationStr:this.userWorkLocation,
+ agencyProTypeStr:this.agencyProType})
+ .then(result=>{
+ if(result.result == 'Success'){
+ this.raesList = result.raesList;
+ this.raesList.push({Id:'1',Name:'璁㈠崟鏄庣粏姹囨��',Total_num__c:this.totalNum,OrderNumber_arrived__c:this.orderNumberArrived,Delivery_detail_count__c:this.deliveryDetailCount,OrderNumber_notarrive__c:this.orderNumberNotarrive,More_than_seven_days__c:this.moreThanSevenDays});
+ if(this.raesList.length > 1){
+ var count = this.raesList.length - 1;
+ this.showMyToast('鎼滅储鎴愬姛','鍏辨悳绱㈠埌'+count+'鏉℃暟鎹�','success');
+ }else{
+ this.showMyToast('鏈悳绱㈠埌鏁版嵁','','error');
+ }
+ }else{
+ this.showMyToast('鎼滅储澶辫触',result.errorMsg,'error');
+ }
+ })
+ }
+
+ //鍏ュ簱
+ orderArrive(){
+ const config = {
+ type: 'standard__webPage',
+ attributes: {
+ url: '/lexarrivegoods?ArrType=Arr'
+ }
+ };
+ this[NavigationMixin.Navigate](config);
+ }
+
+ //杩斿搧
+ orderReturn(){
+ const config = {
+ type: 'standard__webPage',
+ attributes: {
+ url: '/lexarrivegoods?ArrType=ReG'
+ }
+ };
+ this[NavigationMixin.Navigate](config);
+ }
+
+ 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/lexArriveGsDetails/lexArriveGsDetails.html b/force-app/main/default/lwc/lexArriveGsDetails/lexArriveGsDetails.html
new file mode 100644
index 0000000..7f25186
--- /dev/null
+++ b/force-app/main/default/lwc/lexArriveGsDetails/lexArriveGsDetails.html
@@ -0,0 +1,67 @@
+<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="border-bottom: 1px solid #D4D4D4;padding:3px;">
+ <p style="font-size: 16px;"><strong>鍒拌揣</strong></p>
+ </div>
+ <div style="padding:10px;">
+ <!-- 鎸夐挳 -->
+ <lightning-button style="margin: 5px;" label="鍑哄簱" onclick={proSale} disabled={arrivetoorder}></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:84px;">
+ <div style="color:#696969;font-size:12px;">鍒拌揣璁㈠崟鍚嶇О</div>
+ </td>
+ <td style="width:200px;">
+ <lightning-formatted-text value={coc.Name}></lightning-formatted-text>
+ </td>
+ <td style="width:30px;"></td>
+ <td style="width:108px;">
+ <div style="color:#696969;font-size:12px;">鏈鍏ュ簱浜у搧閲戦</div>
+ </td>
+ <td style="width:100px;">
+ <lightning-formatted-number value={coc.Arrive_total_amount__c}></lightning-formatted-number>
+ </td>
+ <td></td>
+ </tr>
+ <tr style="height: 20px;"></tr>
+ <tr>
+ <td style="width:10px;"></td>
+ <td style="width:96px;">
+ <div style="color:#696969;font-size:12px;">娑堣�楀搧璁㈠崟鍚嶇О</div>
+ </td>
+ <td style="width:200px;">
+ <lightning-formatted-text value={coc.arriveOrder}></lightning-formatted-text>
+ <!-- <lightning-formatted-text value={coc.Arrive_Order__r.Name}></lightning-formatted-text> -->
+ </td>
+ <td></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;">
+ <lightning-datatable hide-checkbox-column key-field="recordId" columns={colms} data={consumableorderdetailsRecords}></lightning-datatable>
+ </div>
+ </div>
+ </div>
+ </div>
+ </template>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexArriveGsDetails/lexArriveGsDetails.js b/force-app/main/default/lwc/lexArriveGsDetails/lexArriveGsDetails.js
new file mode 100644
index 0000000..e537402
--- /dev/null
+++ b/force-app/main/default/lwc/lexArriveGsDetails/lexArriveGsDetails.js
@@ -0,0 +1,123 @@
+import { LightningElement,wire,track } from 'lwc';
+import { CurrentPageReference } from 'lightning/navigation';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+import { NavigationMixin } from 'lightning/navigation';
+import init from '@salesforce/apex/LexArriveGsDetailsController.init';
+import proSale from '@salesforce/apex/LexArriveGsDetailsController.proSale';
+
+export default class LexArriveGsDetails extends NavigationMixin(LightningElement) {
+
+ @track eSetId;
+ @track showSpinner = true;
+ @track showPage = false;
+ @track accountid;
+ @track orderallcount;
+ @track consumableorderdetailsCount;
+ @track arrivetoorder = false;
+ @track coc;
+ @track consumableorderdetailsRecords = [];
+ @track colms = [
+ {label:'娑堣�楀搧鍚嶇О' , fieldName:'prodName', hideDefaultActions: true,initialWidth:200},
+ {label:'瑙勬牸' , fieldName:'packing_list', hideDefaultActions: true},
+ {label:'CFDA鐘舵��' , fieldName:'statusCFDA', hideDefaultActions: true},
+ {label:'娉ㄥ唽璇佺紪鐮佸彿' , fieldName:'approbation_No', hideDefaultActions: true},
+ {label:'娉ㄥ唽璇佹晥鏈�' , fieldName:'expiration_DateStr', hideDefaultActions: true},
+ {label:'浣跨敤鏈熼檺' , fieldName:'Sterilization_limitStr', hideDefaultActions: true},
+ {label:'BarCode' , fieldName:'barCode', hideDefaultActions: true,initialWidth:200},
+ {label:'閲囪喘鍗曚环' , fieldName:'intraTradeList', hideDefaultActions: true}
+ ];
+
+ // 鑾峰彇鍙傛暟
+ @wire(CurrentPageReference)
+ getStateParameters(currentPageReference) {
+ if (currentPageReference) {
+ this.eSetId = currentPageReference.state?.EsetId;
+ }
+ console.log('CurrentPageReference:'+this.eSetId);
+ }
+
+ //鍒濆鍖�
+ connectedCallback(){
+ init({eSetIdStr : this.eSetId})
+ .then(result=>{
+ this.showPage = true;
+ if(result.result == 'Success'){
+ this.coc = result.coc;
+ if(this.coc.Arrive_Order__c != null && this.coc.Arrive_Order__c != ''){
+ this.coc['arriveOrder'] = this.coc.Arrive_Order__r.Name;
+ }
+ console.log('this.coc:'+JSON.stringify(this.coc));
+ this.accountid = result.accountid;
+ this.orderallcount = result.orderallcount;
+ this.arrivetoorder = result.arrivetoorder;
+ this.consumableorderdetailsCount = result.consumableorderdetailsCount;
+ this.consumableorderdetailsRecords = result.consumableorderdetailsRecords;
+ for(var i in this.consumableorderdetailsRecords){
+ if(this.consumableorderdetailsRecords[i].esd != null){
+ this.consumableorderdetailsRecords[i]['recordId'] = this.consumableorderdetailsRecords[i].esd.Id;
+ if(this.consumableorderdetailsRecords[i].esd.Consumable_Product__c != null && this.consumableorderdetailsRecords[i].esd.Consumable_Product__c != ''){
+ this.consumableorderdetailsRecords[i]['prodName'] = this.consumableorderdetailsRecords[i].esd.Consumable_Product__r.Name__c;
+ }
+ // this.consumableorderdetailsRecords[i]['prodName'] = this.consumableorderdetailsRecords[i].prodName;
+ this.consumableorderdetailsRecords[i]['barCode'] = this.consumableorderdetailsRecords[i].esd.Bar_Code__c;
+ this.consumableorderdetailsRecords[i]['intraTradeList'] = this.consumableorderdetailsRecords[i].esd.Intra_Trade_List_RMB__c;
+ }
+ if(this.consumableorderdetailsRecords[i].Prod != null){
+ this.consumableorderdetailsRecords[i]['statusCFDA'] = this.consumableorderdetailsRecords[i].Prod.SFDA_Status__c;
+ }
+ }
+ this.showSpinner = false;
+ }else {
+ this.showSpinner = false;
+ console.log("error:"+error);
+ this.showMyToast('鍒濆鍖栧け璐�',result.errorMsg,'error');
+ }
+ })
+ .catch(error=>{
+ this.showSpinner = false;
+ this.showPage = true;
+ console.log("error:"+error);
+ this.showMyToast('鍒濆鍖栧け璐�',error,'error');
+ })
+ }
+
+ proSale(){
+ this.showSpinner = true;
+ proSale({
+ cocStr : JSON.stringify(this.coc),
+ orderallcountParm : this.orderallcount,
+ consumableorderdetailsCountParm : this.consumableorderdetailsCount
+ })
+ .then(result=>{
+ if(result.result == 'Success'){
+ var url = result.url;
+ const config = {
+ type: 'standard__webPage',
+ attributes: {
+ url: url
+ }
+ };
+ this[NavigationMixin.Navigate](config);
+ }else {
+ this.showSpinner = false;
+ console.log("error:"+error);
+ this.showMyToast('鍑哄簱澶辫触',result.errorMsg,'error');
+ }
+ })
+ .catch(error=>{
+ this.showPage = true;
+ this.showSpinner = false;
+ console.log("error:"+error);
+ this.showMyToast('鍑哄簱澶辫触',error,'error');
+ })
+ }
+
+ 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/lexArriveGsDetails/lexArriveGsDetails.js-meta.xml b/force-app/main/default/lwc/lexArriveGsDetails/lexArriveGsDetails.js-meta.xml
new file mode 100644
index 0000000..d893635
--- /dev/null
+++ b/force-app/main/default/lwc/lexArriveGsDetails/lexArriveGsDetails.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/lexAssetMaintainHeaderAbandon/lexAssetMaintainHeaderAbandon.css b/force-app/main/default/lwc/lexAssetMaintainHeaderAbandon/lexAssetMaintainHeaderAbandon.css
new file mode 100644
index 0000000..635bc6c
--- /dev/null
+++ b/force-app/main/default/lwc/lexAssetMaintainHeaderAbandon/lexAssetMaintainHeaderAbandon.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/lexAssetMaintainHeaderAbandon/lexAssetMaintainHeaderAbandon.html b/force-app/main/default/lwc/lexAssetMaintainHeaderAbandon/lexAssetMaintainHeaderAbandon.html
new file mode 100644
index 0000000..49a10f7
--- /dev/null
+++ b/force-app/main/default/lwc/lexAssetMaintainHeaderAbandon/lexAssetMaintainHeaderAbandon.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/lexAssetMaintainHeaderAbandon/lexAssetMaintainHeaderAbandon.js b/force-app/main/default/lwc/lexAssetMaintainHeaderAbandon/lexAssetMaintainHeaderAbandon.js
new file mode 100644
index 0000000..5127851
--- /dev/null
+++ b/force-app/main/default/lwc/lexAssetMaintainHeaderAbandon/lexAssetMaintainHeaderAbandon.js
@@ -0,0 +1,58 @@
+import { LightningElement, track, wire, api } from 'lwc';
+import { CurrentPageReference,NavigationMixin } from 'lightning/navigation';
+import { CloseActionScreenEvent } from 'lightning/actions';
+import { updateRecord } from 'lightning/uiRecordApi';
+
+import abandon from '@salesforce/apex/AssetMaintainHeaderWebService.abandon';
+import applyPermission from '@salesforce/apex/AssetMaintainHeaderWebService.applyPermission';
+export default class lexAssetMaintainHeaderAbandon extends LightningElement {
+ @api recordId;
+ IsLoading = true;
+
+ @wire(CurrentPageReference)
+ getStateParameters(currentPageReference) {
+ if (currentPageReference) {
+ const urlValue = currentPageReference.state.recordId;
+ if (urlValue) {
+ let str = `${urlValue}`;
+ console.log("str:"+str);
+ this.recordId = str;
+ }
+ }
+ }
+
+ connectedCallback(){
+ applyPermission().then(res=>{
+ if(res=='false'){
+ this.showToast('娌℃湁鎿嶄綔搴熷純鐨勬潈闄�','error');
+ }else{
+ abandon({
+ amhId: this.recordId
+ }).then(result=>{
+ if(result=='1'){
+ this.showToast('宸插惎鍔˙atch锛屽畬鎴愭椂浼氭湁閭欢鎻愰啋','success');
+ }else{
+ this.showToast(result,'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/lexAssetMaintainHeaderAbandon/lexAssetMaintainHeaderAbandon.js-meta.xml b/force-app/main/default/lwc/lexAssetMaintainHeaderAbandon/lexAssetMaintainHeaderAbandon.js-meta.xml
new file mode 100644
index 0000000..74849f3
--- /dev/null
+++ b/force-app/main/default/lwc/lexAssetMaintainHeaderAbandon/lexAssetMaintainHeaderAbandon.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/lexAssetMaintainHeaderDeleteApply/lexAssetMaintainHeaderDeleteApply.css b/force-app/main/default/lwc/lexAssetMaintainHeaderDeleteApply/lexAssetMaintainHeaderDeleteApply.css
new file mode 100644
index 0000000..635bc6c
--- /dev/null
+++ b/force-app/main/default/lwc/lexAssetMaintainHeaderDeleteApply/lexAssetMaintainHeaderDeleteApply.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/lexAssetMaintainHeaderDeleteApply/lexAssetMaintainHeaderDeleteApply.html b/force-app/main/default/lwc/lexAssetMaintainHeaderDeleteApply/lexAssetMaintainHeaderDeleteApply.html
new file mode 100644
index 0000000..49a10f7
--- /dev/null
+++ b/force-app/main/default/lwc/lexAssetMaintainHeaderDeleteApply/lexAssetMaintainHeaderDeleteApply.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/lexAssetMaintainHeaderDeleteApply/lexAssetMaintainHeaderDeleteApply.js b/force-app/main/default/lwc/lexAssetMaintainHeaderDeleteApply/lexAssetMaintainHeaderDeleteApply.js
new file mode 100644
index 0000000..db8c855
--- /dev/null
+++ b/force-app/main/default/lwc/lexAssetMaintainHeaderDeleteApply/lexAssetMaintainHeaderDeleteApply.js
@@ -0,0 +1,57 @@
+import { LightningElement, track, wire, api } from 'lwc';
+import { CurrentPageReference,NavigationMixin } from 'lightning/navigation';
+import { CloseActionScreenEvent } from 'lightning/actions';
+import { updateRecord } from 'lightning/uiRecordApi';
+
+import deleteApply from '@salesforce/apex/AssetMaintainHeaderWebService.deleteApply';
+import applyPermission from '@salesforce/apex/AssetMaintainHeaderWebService.applyPermission';
+export default class lexAssetMaintainHeaderDeleteApply extends LightningElement {
+ @api recordId;
+ IsLoading = true;
+
+ @wire(CurrentPageReference)
+ getStateParameters(currentPageReference) {
+ if (currentPageReference) {
+ const urlValue = currentPageReference.state.recordId;
+ if (urlValue) {
+ let str = `${urlValue}`;
+ console.log("str:"+str);
+ this.recordId = str;
+ }
+ }
+ }
+
+ connectedCallback(){
+ applyPermission().then(res=>{
+ if(res=='false'){
+ this.showToast('娌℃湁鍒犻櫎鐢宠鐨勬潈闄�','error');
+ }else if(confirm("鏄惁纭畾鍒犻櫎锛�")){
+ deleteApply({
+ amhId:this.recordId
+ }).then(result=>{
+ if(result=='1'){
+ this.showToast('宸插惎鍔˙atch锛屽畬鎴愭椂浼氭湁閭欢鎻愰啋','success');
+ }else{
+ this.showToast(result,'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/lexAssetMaintainHeaderDeleteApply/lexAssetMaintainHeaderDeleteApply.js-meta.xml b/force-app/main/default/lwc/lexAssetMaintainHeaderDeleteApply/lexAssetMaintainHeaderDeleteApply.js-meta.xml
new file mode 100644
index 0000000..74849f3
--- /dev/null
+++ b/force-app/main/default/lwc/lexAssetMaintainHeaderDeleteApply/lexAssetMaintainHeaderDeleteApply.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/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..0e9f9cc
--- /dev/null
+++ b/force-app/main/default/lwc/lexCancelRemoveBox/lexCancelRemoveBox.html
@@ -0,0 +1,108 @@
+<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:10px">
+ <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-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> -->
+ <lightning-datatable
+ key-field="id" data={errorDetail} columns={column}
+ onrowselection={getSelectedRows} hide-checkbox-column="true"
+ selected-rows={selectedRows}>
+ </lightning-datatable>
+
+
+ </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..44364b0
--- /dev/null
+++ b/force-app/main/default/lwc/lexCancelRemoveBox/lexCancelRemoveBox.js
@@ -0,0 +1,235 @@
+import { LightningElement, wire, api, track } from 'lwc';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+import oninit from "@salesforce/apex/LexCancelRemoveBoxController.init";
+import searchDeatail from "@salesforce/apex/LexCancelRemoveBoxController.searchConsumableorderdetails"
+import saveConfirm from '@salesforce/apex/LexCancelRemoveBoxController.cancelRemoveBoxConfirm';
+
+
+
+
+
+const columns = [
+ {
+ label: '娑堣�楀搧鍚嶇О',
+ fieldName: 'Name__c',
+ hideDefaultActions: true,
+ wrapText:true
+ // 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: 400,
+ }
+ ];
+
+ const column = [
+ {
+ label: '娑堣�楀搧鍚嶇О',
+ fieldName: 'Name__c',
+ hideDefaultActions: true,
+
+ },
+ {
+ 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 showSpinner = false;
+
+ //鏁版嵁鏋勬垚
+ @track accountName
+ @track userWorkLocation
+ @track agencyProType
+ @track barcode = ''
+ @track saveFLGbln = false
+ @track dataSize = 0;
+
+
+
+ connectedCallback() {
+ console.log('鍒濆鍖�');
+ // this.showTable = false;
+ oninit().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() {
+ this.showSpinner = true;
+ 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);
+ this.dataSize = result.entity.dataSize;
+ 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;
+ this.showSpinner = false;
+ } else{
+ console.log('result.msg = ' + result.msg);
+ const evt = new ShowToastEvent({
+ title: '鑾峰彇澶辫触',
+ message: result.msg,
+ variant: 'error'
+ });
+ this.dispatchEvent(evt);
+ this.showSpinner = false;
+ }
+ }).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() {
+ let msg = "纭鍙栨秷鎷嗙洅鍚�";
+ if (this.dataSize>0) {
+ if (confirm(msg) == true) {
+ this.CancelRemoveBox();
+ }
+ } else {
+ this.CancelRemoveBox();
+ }
+ }
+ CancelRemoveBox(){
+ 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);
+ this.showSpinner = false;
+
+
+ }
+ } else {
+ console.log('result.msg = ' + result.msg);
+ const evt = new ShowToastEvent({
+ title: '澶辫触',
+ message: result.msg,
+ variant: 'error'
+ });
+ this.dispatchEvent(evt);
+ this.showSpinner = false;
+ }
+ })
+ .catch((error) => {
+ console.log('error = ' + JSON.stringify(error));
+ });
+
+ }
+
+
+
+
+
+}
\ 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..710c9d2
--- /dev/null
+++ b/force-app/main/default/lwc/lexConInvoiceView/lexConInvoiceView.html
@@ -0,0 +1,641 @@
+<!-- sldsValidatorIgnore -->
+<!-- sldsValidatorIgnore -->
+<template>
+ <template if:true={isShowSpinner}>
+ <lightning-spinner alternative-text="Loading" size="large"></lightning-spinner>
+ </template>
+
+
+ <template if:false={isDetailsShow}>
+ <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>
+
+ <lightning-layout-item size="3"></lightning-layout-item>
+ <template if:true={EditAble}>
+ <lightning-layout-item size="1" padding="around-small">
+ <lightning-button label=" 纭畾 "
+ onclick={SaveJs}></lightning-button>
+ </lightning-layout-item>
+ </template>
+
+ <template if:false={EditAble}>
+ <lightning-layout-item size="1" padding="around-small">
+ <lightning-button label=" 缂栬緫 " onclick={SetEditAbleJs}
+ disabled={isDisabledEdit}></lightning-button>
+ </lightning-layout-item>
+ <lightning-layout-item size="1" padding="around-small">
+ <lightning-button label=" 鎻愪氦 " onclick={approvalJs}
+ disabled={isDisabledEdit}></lightning-button>
+ </lightning-layout-item>
+ <lightning-layout-item size="1" padding="around-small">
+ <lightning-button label="鏄剧ず鏄庣粏" onclick={openReportJs}></lightning-button>
+ </lightning-layout-item>
+ <lightning-layout-item size="1" padding="around-small">
+ <lightning-button label="浣滃簾閲嶅紑" onclick={reopenJs}
+ disabled={isDisabledReopen}></lightning-button>
+ </lightning-layout-item>
+ <lightning-layout-item size="1" 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}
+ onload={handleLoad}>
+ <!-- 鍙戠エ鍙� 鐘舵�� -->
+ <lightning-layout multiple-rows="true">
+ <lightning-layout-item size="1"></lightning-layout-item>
+
+ <lightning-layout-item class="hehe-layoutItem" size="4">
+ <lightning-output-field field-name="Name"></lightning-output-field>
+ </lightning-layout-item>
+
+ <lightning-layout-item size="1"></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 size="1"></lightning-layout-item>
+
+ <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-item size="1"></lightning-layout-item>
+
+ <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 size="1"></lightning-layout-item>
+
+ <lightning-layout-item class="hehe-layoutItem" size="4">
+ <lightning-output-field field-name="ShipmentAccount__c"
+ class="hideHelpText"></lightning-output-field>
+ </lightning-layout-item>
+ </lightning-layout>
+
+ <!-- 绉戝 鍙戠エ绁ㄩ潰閲戦 -->
+ <lightning-layout multiple-rows="true">
+ <lightning-layout-item size="1"></lightning-layout-item>
+
+ <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 size="1"></lightning-layout-item>
+
+ <lightning-layout-item 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 size="1"></lightning-layout-item>
+ <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 size="1"></lightning-layout-item>
+
+ <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 size="1"></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 size="1"></lightning-layout-item>
+
+ <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 size="1"></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 size="1"></lightning-layout-item>
+
+ <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 size="1"></lightning-layout-item>
+
+ <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 size="1"></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 size="1"></lightning-layout-item>
+
+ <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 size="1"></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 size="1"></lightning-layout-item>
+
+ <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">
+
+ <lightning-layout>
+ <lightning-layout-item size="1" padding="around-small">
+ <p style="font-size: 16px">
+ <strong>鍑哄簱鍗曚竴瑙�</strong>
+ </p>
+ </lightning-layout-item>
+ <lightning-layout-item size="3" padding="around-small">
+ </lightning-layout-item>
+ <template if:false={hideCheckbox}>
+ <lightning-layout-item padding="around-small">
+ <lightning-button label=" 妫�绱� "
+ onclick={InvoiceorderSearchJs}></lightning-button>
+ </lightning-layout-item>
+ </template>
+
+ </lightning-layout>
+ </div>
+
+ <!-- <template if:false={hideCheckbox}>
+ <div style="padding: 10px">
+ <div lwc:dom="manual" class="resultDiv"></div>
+ <div draggable="false">
+ <lightning-layout>
+ <lightning-layout-item size="5" padding="around-small">
+ </lightning-layout-item>
+ <lightning-layout-item padding="around-small">
+ <lightning-button label="妫�绱�"
+ onclick={InvoiceorderSearchJs}></lightning-button>
+ </lightning-layout-item>
+ </lightning-layout>
+ </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} selected-rows={selectedRows}>
+ </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">鍑哄簱鏃� 浠�</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">    鍒�
+ </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>
+
+ <template if:true={isDetailsShow}>
+ <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={detailsSaveJs}></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-record-edit-form object-api-name="Consumable_order__c"
+ record-id={detailsInvoiceId} onload={handleLoad2}>
+ <lightning-layout multiple-rows="true">
+ <lightning-layout-item size="2"></lightning-layout-item>
+ <lightning-layout-item size="4">
+ <lightning-output-field field-name="Name"></lightning-output-field>
+ </lightning-layout-item>
+ </lightning-layout>
+ <lightning-layout multiple-rows="true">
+ <lightning-layout-item size="2"></lightning-layout-item>
+ <lightning-layout-item size="4">
+ <lightning-output-field field-name="ShipmentAccount__c"
+ class="hideHelpText"></lightning-output-field>
+ </lightning-layout-item>
+ </lightning-layout>
+ <lightning-layout multiple-rows="true">
+ <lightning-layout-item size="2"></lightning-layout-item>
+ <lightning-layout-item size="4">
+ <lightning-output-field
+ field-name="Order_ForCustomerText__c"></lightning-output-field>
+ </lightning-layout-item>
+ </lightning-layout>
+ </lightning-record-edit-form>
+ </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-record-edit-form object-api-name="Consumable_order__c" record-id={detailsCocId}>
+ <lightning-layout multiple-rows="true">
+ <lightning-layout-item size="2"></lightning-layout-item>
+ <lightning-layout-item size="4">
+ <lightning-output-field field-name="Name"></lightning-output-field>
+ </lightning-layout-item>
+ </lightning-layout>
+ <lightning-layout multiple-rows="true">
+ <lightning-layout-item size="2"></lightning-layout-item>
+ <lightning-layout-item size="4">
+ <lightning-output-field field-name="Outbound_Date__c"></lightning-output-field>
+ </lightning-layout-item>
+ </lightning-layout>
+ </lightning-record-edit-form>
+ </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 class="datatabel slds-border_top" key-field="id"
+ data={detaisData} columns={detailsColumns}>
+ </lightning-datatable> -->
+ <c-lex-custom-lightning-datatable key-field="Id" data={detailsData} columns={detailsColumns}
+ onunitchange={handleUnitChange} onshipmentnumber={handleShipmentNumber}
+ onrowselection={detailsGetSelectedRows} selected-rows={detailsSelectedRows}
+ style="word-wrap:break-word; word-break:break-all; ">
+ </c-lex-custom-lightning-datatable>
+ <lightning-datatable class="datatabel slds-border_top" key-field="id"
+ data={invoiceAllpriceData} columns={detailsColumns} hide-checkbox-column
+ hide-table-header>
+ </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..768f6af
--- /dev/null
+++ b/force-app/main/default/lwc/lexConInvoiceView/lexConInvoiceView.js
@@ -0,0 +1,1565 @@
+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 deleteButton from "@salesforce/apex/LexConInvoiceViewController.deleteButton";
+import approval from "@salesforce/apex/LexConInvoiceViewController.approval";
+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 detailsInit from "@salesforce/apex/LexConInvoicedetailsController.init";
+import detailsSave from "@salesforce/apex/LexConInvoicedetailsController.save";
+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,
+ type: "number",
+ typeAttributes: {
+ minimumFractionDigits: 8,
+ },
+ },
+ {
+ label: "鍙戠エ鏁伴噺",
+ fieldName: "esdetInvoicedCount",
+ hideDefaultActions: true,
+ },
+ {
+ label: "鍙戠エ绁ㄩ潰閲戦(鍏�)",
+ fieldName: "esdetInvoicedProCostRMB",
+ hideDefaultActions: true,
+ type: "number",
+ typeAttributes: {
+ minimumFractionDigits: 2,
+ },
+ },
+];
+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,
+ type: "number",
+ typeAttributes: {
+ minimumFractionDigits: 2,
+ },
+ },
+ {
+ label: "鍙戠エ闄勪欢",
+ fieldName: "Invoice_attachment__c",
+ type: 'boolean',
+ hideDefaultActions: true,
+ },
+ {
+ label: "鍙戠エ鏄庣粏闄勪欢",
+ fieldName: "Invoicedet_attachment__c",
+ type: 'boolean',
+ hideDefaultActions: true,
+ },
+];
+const detailsColumns = [
+ {
+ label: "浜у搧鍨嬪彿",
+ fieldName: "esdAssetModelNo",
+ hideDefaultActions: true,
+ },
+ {
+ label: "瑙勬牸",
+ fieldName: "packingListManual",
+ hideDefaultActions: true,
+ initialWidth : 30
+ },
+ {
+ label: "鍑鸿揣鍗曚环(鍏�)",
+ fieldName: "esdDeliveryListRMB",
+ hideDefaultActions: true,
+ type: "number",
+ typeAttributes: {
+ minimumFractionDigits: 2,
+ },
+ },
+ {
+ label: "鍑鸿揣鏁伴噺",
+ fieldName: "esdShipmentCount",
+ hideDefaultActions: true,
+ },
+ {
+ label: "杩斿搧鏁伴噺",
+ fieldName: "esdRrturnProCount",
+ hideDefaultActions: true,
+ },
+ {
+ label: "鍑哄簱鍗曚綅",
+ fieldName: "esdBoxPiece",
+ hideDefaultActions: true,
+ },
+ {
+ label: "宸插彂绁ㄦ暟閲�",
+ fieldName: "esdInvoicedProcount",
+ hideDefaultActions: true,
+ type: "number",
+ typeAttributes: {
+ minimumFractionDigits: 2,
+ },
+ },
+ {
+ label: "杩樻病鍙戠エ鏁伴噺",
+ fieldName: "esdInvoiceProNotCount",
+ hideDefaultActions: true,
+ type: "number",
+ typeAttributes: {
+ minimumFractionDigits: 2,
+ },
+ },
+ {
+ label: "寮�绁ㄥ崟浣�",
+ //fieldName: "esdInvoiceUnit",
+ hideDefaultActions: true,
+ type: "customUnit",
+ typeAttributes: {
+ unitValue: { fieldName: "unitValue" },
+ unitOptions: { fieldName: "unitOptions" },
+ recordId: { fieldName: "recordId" },
+ },
+ },
+ {
+ label: "鍙戠エ鍗曚环",
+ fieldName: "esdInvoiceUnitprice",
+ hideDefaultActions: true,
+ type: "number",
+ typeAttributes: {
+ minimumFractionDigits: 8,
+ },
+ initialWidth : 130
+ },
+ {
+ label: "鍙戠エ鏁伴噺",
+ //fieldName: "invoiceCount",
+ hideDefaultActions: true,
+ type: "customShipment",
+ typeAttributes: {
+ recordId: { fieldName: "recordId" },
+ shipmentNumber: { fieldName: "shipmentNumber" },
+ },
+ },
+ {
+ label: "鍙戠エ绁ㄩ潰閲戦(鍏�)",
+ fieldName: "invoiceAllprice",
+ hideDefaultActions: true,
+ type: "number",
+ typeAttributes: {
+ minimumFractionDigits: 2,
+ },
+ },
+]
+export default class LexConInvoiceView extends NavigationMixin(LightningElement) {
+
+ invoiceColumns = invoiceColumns;
+ detailsColumns = detailsColumns;
+ @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 = [];
+ @track invoiceData = [];
+ @track invoiceAllpriceData = [];
+ @track detailsSelectedRows = [];
+
+ @track invoiceId = '';
+ @track orderId = '';
+ @track userWorkLocation = '';
+ @track deliveryId = '';
+ @track cocId = '';
+ @track statusEdit = '';
+ @track coc = {};
+ @track EditAble = false;
+ @track isChange = false;
+ @track sumPrice = 0.00;
+ @track OrderCode = '';
+ @track ExistOutbound = false;
+ @track reopen = '';
+ @track invoiceOrderRecoedschange = [];
+ @track isNew = '';
+ @track outOrderStringListLwc = [];
+ @track outordercountMapLwc = {};
+ @track selectedRows = [];
+ @track detailsInvoiceId = '';
+ @track detailsCocId = '';
+ @track detailsData = [];
+ @track invoiceAllprice = 0.00;
+ //鐘舵��
+ @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;
+ @track isDetailsShow = false;
+
+ //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.orderId = this.getQueryString("orderId");
+ this.orderId = this.orderId == null ? "" : this.orderId;
+ 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.invoiceId != '' && this.orderId != '') {
+ //杩涘叆coninvoiceDetails
+ detailsInit({
+ orderIdLwc: this.orderId,
+ invoiceIdLwc: this.invoiceId
+ }).then((r) => {
+ r = JSON.parse(JSON.stringify(r));
+ if (r.status == "Success") {
+ this.detailsInvoiceId = r.entity.invoicecode.Id;
+ this.detailsCocId = r.entity.coc.Id;
+ this.detailsData = r.entity.consumableorderdetails1Records;
+ for (var i in this.detailsData) {
+ this.detailsData[i]['Id'] = this.detailsData[i].esd.Id;
+
+ this.detailsData[i]['esdAssetModelNo'] = this.detailsData[i].esd.Asset_Model_No__c;
+ this.detailsData[i]['packingListManual'] = this.detailsData[i].Packing_list_manual;
+ this.detailsData[i]['esdDeliveryListRMB'] = this.detailsData[i].esd.Delivery_List_RMB__c;
+ this.detailsData[i]['esdShipmentCount'] = this.detailsData[i].esd.Shipment_Count__c;
+ this.detailsData[i]['esdRrturnProCount'] = this.detailsData[i].esd.RrturnPro_count__c;
+ this.detailsData[i]['esdBoxPiece'] = this.detailsData[i].esd.Box_Piece__c;
+
+ this.detailsData[i]['esdInvoicedProcount'] = this.detailsData[i].esd.Invoiced_Procount__c;
+ this.detailsData[i]['esdInvoiceProNotCount'] = this.detailsData[i].esd.InvoiceProNot_count__c;
+ //寮�绁ㄥ崟浣�
+ this.detailsData[i]['unitValue'] = this.detailsData[i].esd.Invoice_Unit__c;
+ this.detailsData[i]['recordId'] = this.detailsData[i].esd.Id;
+ let unitOptions = [];
+ for (var key in this.detailsData[i].Invoice_UnitOptsMap) {
+ let unitOption = {};
+ unitOption["label"] = this.detailsData[i].Invoice_UnitOptsMap[key];
+ unitOption["value"] = key;
+ unitOptions.push(unitOption);
+ }
+ this.detailsData[i]["unitOptions"] = unitOptions;
+ this.detailsData[i]['esdInvoiceUnitprice'] = this.detailsData[i].esd.Invoice_Unitprice__c;
+ //鍙戠エ鏁伴噺
+ this.detailsData[i]['shipmentNumber'] = this.detailsData[i].invoiceCount;
+ this.detailsData[i]['invoiceAllprice'] = this.detailsData[i].invoiceAllprice;
+
+ if(this.detailsData[i].check){
+ this.detailsSelectedRows.push(this.detailsData[i]['Id']);
+ this.invoiceAllprice += this.detailsData[i]['invoiceAllprice'];
+ }
+ }
+
+ console.log('this.detailsData = ' + JSON.stringify(this.detailsData));
+
+ let lastInvoiceAllprice = {
+ invoiceAllprice: this.invoiceAllprice
+ }
+ this.invoiceAllpriceData.push(lastInvoiceAllprice);
+ console.log('this.invoiceAllpriceData = ' + JSON.stringify(this.invoiceAllpriceData))
+
+ this.isShowSpinner = false;
+ this.isDetailsShow = true;
+ } else {
+ this.showToast("Error", r.msg);
+ }
+ }).catch((error) => {
+ this.isShowSpinner = false;
+ console.log("error = " + JSON.stringify(error));
+ });
+ } else 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;
+ this.outOrderStringListLwc = r.entity.outOrderStringList;
+ this.outordercountMapLwc = r.entity.outordercountMap;
+ 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;
+ this.OrderCode = this.coc.Name;
+ this.InvoiceDate = this.coc.Invoice_Date__c;
+
+ for (var i in this.outboundData) {
+ this.outboundData[i].Id = this.outboundData[i].esd.Id;
+ if (this.outboundData[i].check)
+ this.selectedRows.push(this.outboundData[i].esd.Id);
+ }
+ this.selectedRows = [...this.selectedRows];
+ 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.fileData[i]["mailSelectOptsin"] = this.fileData[i].mailSelectOptsin == null ? typeOptions[0].value : this.fileData[i].mailSelectOptsin;
+ }
+ }
+ console.log('this.fileData = ' + JSON.stringify(this.fileData));
+
+ //鍙戠エ鏄庣粏
+ 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;
+ }
+ //瀹㈡埛鍚�
+ this.HospitalName = r.entity.HospitalName;
+ this.HospitalInfo = r.entity.HospitalInfo;
+ this.agencyProType = r.entity.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);
+ }
+ //鍑鸿揣涓�瑙坈olumns
+
+
+ if (this.EditAble) {
+ let object1 = {
+ label: '瀹㈡埛鍚�',
+ fieldName: "hospitalName",
+ hideDefaultActions: true,
+ };
+ let object2 = {
+ label: '鍑鸿揣閲戦(鍏�)',
+ fieldName: "shipmentAmount",
+ type: "number",
+ typeAttributes: {
+ minimumFractionDigits: 2,
+ },
+ hideDefaultActions: true,
+ };
+ let object3 = {
+ label: '杩斿搧閲戦(鍏�)',
+ fieldName: "returnAmount",
+ type: "number",
+ typeAttributes: {
+ minimumFractionDigits: 2,
+ },
+ hideDefaultActions: true,
+ };
+ this.outboundColumns.push(object1)
+ this.outboundColumns.push(object2)
+ this.outboundColumns.push(object3)
+ }
+ let object4 = {
+ label: '鏈彂绁ㄩ噾棰�(鍏�)',
+ fieldName: "uninvoicedAmount",
+ type: "number",
+ typeAttributes: {
+ minimumFractionDigits: 2,
+ },
+ 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.toFixed(2);
+ if (!(this.outboundData[i].esd.Billed_Status__c == '鍏ㄩ儴寮�绁�' || this.EditAble || this.coc.Invoice_status__c != '鑽夋涓�')) {
+ console.log('杩涘叆 if')
+ let url = "/lexconinvoiceview?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 {
+ console.log('杩涘叆 else')
+ if (index == 0) {
+ let object5 = {
+ label: '鍙戠エ绁ㄩ潰閲戦(鍏�)',
+ fieldName: "invoiceFaceAmount",
+ hideDefaultActions: true,
+ };
+ this.outboundColumns.push(object5)
+ index++;
+ }
+ }
+ //璁$畻鍙戠エ绁ㄩ潰閲戦
+ this.sumPrice += this.outboundData[i].needInvoiceCount;
+ }
+
+ //鍥涜垗浜斿叆
+ //this.sumPrice = this.sumPrice.toFixed(2);
+ //濡傛灉涓嶅洓鑸嶄簲鍏�
+ // console.log('start keepTwoDecimalStr')
+ // this.sumPrice = keepTwoDecimalStr(this.sumPrice);
+ // console.log('end keepTwoDecimalStr = ' + this.sumPrice)
+ //鍔犳渶鍚庝竴琛屾樉绀洪噾棰�
+ if (this.EditAble) {
+ let lastOutboundData = {
+ invoiceFaceAmount: this.sumPrice
+ }
+ 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;
+ case "InvoiceNote":
+ this.InvoiceNote = value;
+ this.coc['Invoice_Note__c'] = 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;
+ }
+
+ 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.HospitalName = ' + this.HospitalName);
+ 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,
+ HospitalNameLwc: this.HospitalName,
+ 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 == '') {
+ this.isShowSpinner = false;
+ 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("invoiceId = " +this.invoiceId);
+ console.log("fileName = " +this.fileName);
+ 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;
+ delete cloneData[i].mailSelectOptsMap;
+ }
+ console.log('cloneData = ' + JSON.stringify(cloneData));
+ saveAttachment({
+ attachmentRecoedsLwc: JSON.stringify(cloneData),
+ invoiceId : this.invoiceId
+ }).then((r) => {
+ r = JSON.parse(JSON.stringify(r));
+ console.log("r = " + JSON.stringify(r));
+ if (r.status == "Success") {
+ this.showLoadingSpinner = false;
+ this.isShowSpinner = true;
+ const event = new ShowToastEvent({
+ title: 'Success',
+ variant: 'Success',
+ message: '涓婁紶鎴愬姛',
+ });
+ this.dispatchEvent(event);
+ //this.init();
+ setTimeout(function(){
+ //1绉掑悗鎵ц鍒锋柊
+ window.location.reload();
+ }, 2000); //鍗曚綅鏄绉�
+ // let url = "/lexconinvoiceview?invoiceId=" + this.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 = " + 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;
+ let url = "/s/lexconinvoiceview?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;
+ this.outboundData[i].check = true;
+ }
+ }
+ }
+ console.log('this.outboundData = ' + JSON.stringify(this.outboundData));
+ }
+
+ deleteButtonJs() {
+ this.isShowSpinner = true;
+ deleteButton({
+ cocLwc: this.coc,
+ invoiceIdLwc: this.invoiceId,
+ }).then((r) => {
+ r = JSON.parse(JSON.stringify(r));
+ console.log("r = " + JSON.stringify(r));
+ if (r.status == "Success") {
+ this.isShowSpinner = false
+ let url = "/lexconinvoiceview";
+ console.log('url = ' + url);
+ this[NavigationMixin.Navigate]({
+ type: "standard__webPage",
+ attributes: {
+ url: url,
+ },
+ });
+ } else {
+ this.showToast("Error", r.msg);
+ }
+ }).catch((error) => {
+ console.log("error = " + error.message);
+ this.showToast("Error", error.message);
+ });
+ }
+
+ SetEditAbleJs() {
+ let statusEditAbleJs = 'Redirect';
+ let url = "/lexconinvoiceview?invoiceId=" + this.invoiceId + '&KeyWords=' + statusEditAbleJs;
+ console.log('url = ' + url);
+ this[NavigationMixin.Navigate]({
+ type: "standard__webPage",
+ attributes: {
+ url: url,
+ },
+ });
+ }
+
+ approvalJs() {
+ this.isShowSpinner = true;
+ approval({
+ outOrderStringListLwc: this.outOrderStringListLwc,
+ outordercountMapLwc: this.outordercountMapLwc,
+ invoiceIdLwc : this.invoiceId
+ }).then((r) => {
+ r = JSON.parse(JSON.stringify(r));
+ console.log("r = " + JSON.stringify(r));
+ if (r.status == "Success") {
+ this.isShowSpinner = false
+ let url = "/lexconinvoiceview?invoiceId=" + this.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 = " + error.message);
+ this.showToast("Error", error.message);
+ });
+ }
+
+ openReportJs() {
+ console.log("openReportJs");
+ //let url = "/report/00O100000058VzB?fv1=" + this.OrderCode;
+ let reportFilters = '[{"operator":"equals","value":"' + this.OrderCode + '","column":"FK_NAME"}]';
+ let url = "/report/00O0l000000zaGcEAI?reportFilters=" + encodeURIComponent(reportFilters);
+ this[NavigationMixin.Navigate]({
+ type: "standard__webPage",
+ attributes: {
+ url: url,
+ },
+ });
+ }
+
+ reopenJs() {
+ // statusEdit = 'Redirect';
+ // PageReference ref = new Pagereference('/ConInvoiceView?invoiceId=' + invoiceId + '&reopen=isreopen' + '&KeyWords=' + statusEdit);
+ let statusEditAbleJs = 'Redirect';
+ let url = "/lexconinvoiceview?invoiceId=" + this.invoiceId + '&reopen=isreopen' + '&KeyWords=' + statusEditAbleJs;
+ console.log('url = ' + url);
+ this[NavigationMixin.Navigate]({
+ type: "standard__webPage",
+ attributes: {
+ url: url,
+ },
+ });
+ }
+
+ showToast(type, msg) {
+ this.isShowSpinner = false;
+ this.showLoadingSpinner = false;
+ const event = new ShowToastEvent({
+ title: type,
+ variant: type,
+ message: msg,
+ });
+ this.dispatchEvent(event);
+ }
+
+ handleLoad() {
+ console.log('handleLoad')
+ try {
+ const style = document.createElement('style');
+ style.innerText = '.slds-button__icon {display: none;}';
+ this.template.querySelector('.hideHelpText').appendChild(style);
+
+ const style2 = document.createElement('style');
+ style2.innerText = '.hehe-layoutItem .slds-form-element__label {padding : 0px}';
+ this.template.querySelector('.hideHelpText').appendChild(style2);
+ } catch (error) {
+ console.log(error);
+ }
+ }
+
+ keepTwoDecimalStr(num) {
+ const result = Number(num.toString().match(/^\d+(?:\.\d{0,2})?/));
+ let s = result.toString();
+ let rs = s.indexOf('.');
+ if (rs < 0) {
+ rs = s.length;
+ s += '.';
+ }
+ while (s.length <= rs + 2) {
+ s += '0';
+ }
+ return s;
+ };
+
+ handleLoad2() {
+ console.log('handleLoad2')
+ try {
+ const style = document.createElement('style');
+ style.innerText = '.slds-button__icon {display: none;}';
+ this.template.querySelector('.hideHelpText').appendChild(style);
+
+ const style2 = document.createElement('style');
+ style2.innerText = '.hehe-layoutItem .slds-form-element__label {padding : 0px}';
+ this.template.querySelector('.hideHelpText').appendChild(style2);
+ } catch (error) {
+ console.log(error);
+ }
+ }
+
+ handleUnitChange(event) {
+ console.log("handleUnitChange");
+ this.invoiceAllpriceData[0].invoiceAllprice = 0.00;
+ const unitDetail = event.detail;
+ console.log("unitDetail = " + JSON.stringify(unitDetail));
+ for (var i in this.detailsData) {
+ if (this.detailsData[i].recordId == unitDetail.data.recordId) {
+ this.detailsData[i].unitValue = unitDetail.data.unitValue;
+ this.detailsData[i].esd.Invoice_Unit__c = unitDetail.data.unitValue;
+ if (this.detailsSelectedRows.indexOf(this.detailsData[i].recordId) == -1)
+ this.detailsSelectedRows.push(this.detailsData[i].recordId);
+ }
+ }
+ this.detailsSelectedRows = [...this.detailsSelectedRows];
+
+
+ console.log('this.detailsSelectedRows = ' + JSON.stringify(this.detailsSelectedRows))
+ for (var i in this.detailsData) {
+ this.detailsData[i].invoiceAllprice = 0.00;
+ for (var j in this.detailsSelectedRows) {
+ console.log('this.detailsData[i].Id = ' + this.detailsData[i].Id);
+ console.log('this.detailsSelectedRows[j] = ' + this.detailsSelectedRows[j]);
+ if (this.detailsData[i].Id == this.detailsSelectedRows[j]) {
+ this.detailsData[i].invoiceAllprice = this.amend(this.detailsData[i].shipmentNumber,this.detailsData[i].esdInvoiceUnitprice,'*');
+ console.log('this.detailsData[i].invoiceAllprice = ' + this.detailsData[i].invoiceAllprice);
+ }
+ }
+ this.invoiceAllpriceData[0].invoiceAllprice = this.amend(this.invoiceAllpriceData[0].invoiceAllprice,this.detailsData[i].invoiceAllprice,'+');
+ }
+ this.detailsData = [...this.detailsData];
+ this.invoiceAllpriceData = [...this.invoiceAllpriceData];
+ }
+
+ handleShipmentNumber(event){
+ console.log("handleShipmentNumber");
+ this.invoiceAllpriceData[0].invoiceAllprice = 0.00;
+ const numberDetail = event.detail;
+ console.log('numberDetail = ' + JSON.stringify(numberDetail))
+ if(numberDetail.data.shipmentnumber == 0){
+ if(this.detailsSelectedRows.indexOf(numberDetail.data.recordId) != -1){
+ this.detailsSelectedRows.splice(this.detailsSelectedRows.indexOf(numberDetail.data.recordId),1);
+ }
+ }
+ console.log("start this.detailsSelectedRows = " + JSON.stringify(this.detailsSelectedRows));
+ console.log("numberDetail = " + JSON.stringify(numberDetail));
+ for (var i in this.detailsData) {
+ if (this.detailsData[i].recordId == numberDetail.data.recordId) {
+ this.detailsData[i].shipmentNumber = Number(numberDetail.data.shipmentnumber);
+ this.detailsData[i].invoiceCount = Number(numberDetail.data.shipmentnumber);
+ if (this.detailsSelectedRows.indexOf(this.detailsData[i].recordId) == -1 && numberDetail.data.shipmentnumber != 0)
+ this.detailsSelectedRows.push(this.detailsData[i].recordId);
+ }
+ }
+
+ console.log("end this.detailsSelectedRows = " + JSON.stringify(this.detailsSelectedRows));
+ this.detailsSelectedRows = [...this.detailsSelectedRows];
+
+
+ console.log('this.detailsSelectedRows = ' + JSON.stringify(this.detailsSelectedRows));
+ for (var i in this.detailsData) {
+ this.detailsData[i].invoiceAllprice = 0.00;
+ for (var j in this.detailsSelectedRows) {
+ console.log('this.detailsData[i].Id = ' + this.detailsData[i].Id);
+ console.log('this.detailsSelectedRows[j] = ' + this.detailsSelectedRows[j]);
+ if (this.detailsData[i].Id == this.detailsSelectedRows[j]) {
+ this.detailsData[i].invoiceAllprice = this.amend(this.detailsData[i].shipmentNumber,this.detailsData[i].esdInvoiceUnitprice,'*');
+ console.log('this.detailsData[i].invoiceAllprice = ' + this.detailsData[i].invoiceAllprice);
+ }
+ }
+ this.invoiceAllpriceData[0].invoiceAllprice = this.amend(this.invoiceAllpriceData[0].invoiceAllprice,this.detailsData[i].invoiceAllprice,'+');
+ }
+ this.detailsData = [...this.detailsData];
+ this.invoiceAllpriceData = [...this.invoiceAllpriceData];
+ }
+
+ detailsGetSelectedRows(event){
+ console.log("detailsGetSelectedRows ");
+ this.invoiceAllpriceData[0].invoiceAllprice = 0.00;
+ let selectedRows = event.detail.selectedRows;
+ for (var i in this.detailsData) {
+ this.detailsData[i].invoiceAllprice = 0.00;
+ for (var j in selectedRows) {
+ if (this.detailsData[i].Id == selectedRows[j].esd.Id) {
+ this.detailsData[i].invoiceAllprice = this.amend(this.detailsData[i].shipmentNumber,this.detailsData[i].esdInvoiceUnitprice,'*');
+ console.log('this.detailsData[i].invoiceAllprice = ' + this.detailsData[i].invoiceAllprice);
+ }
+ }
+ this.invoiceAllpriceData[0].invoiceAllprice = this.amend(this.invoiceAllpriceData[0].invoiceAllprice,this.detailsData[i].invoiceAllprice,'+');
+ console.log('this.invoiceAllpriceData[0].invoiceAllprice = ' + this.invoiceAllpriceData[0].invoiceAllprice);
+ }
+ console.log('start this.detailsData = ' + JSON.stringify(this.detailsData));
+ this.detailsData = [...this.detailsData];
+ console.log('end this.detailsData = ' + JSON.stringify(this.detailsData));
+ this.invoiceAllpriceData = [...this.invoiceAllpriceData];
+ }
+
+ 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;
+ }
+ this.sumPrice = sumPrice + "鍏�";
+ //瀛樹笅閫夋嫨琛岋紝涓嶄細琚竻绌�
+ if (this.selectedRows.indexOf(this.data[index].Id) == -1)
+ this.selectedRows.push(this.data[index].Id);
+ this.data = [...this.data];
+ this.selectedRows = [...this.selectedRows]
+ console.log("this.selectedRows = " + JSON.stringify(this.selectedRows));
+ console.log("this.data = " + JSON.stringify(this.data));
+ }
+
+ detailsSaveJs(){
+ this.isShowSpinner = true;
+ let cloneData = this.detailsData;
+
+ let selectedRows = this.template.querySelector('c-lex-custom-lightning-datatable').getSelectedRows();
+ console.log('selectedRows = ' + JSON.stringify(selectedRows));
+
+ for (var i in cloneData) {
+ delete cloneData[i].Id;
+ delete cloneData[i].esdAssetModelNo;
+ delete cloneData[i].packingListManual;
+ delete cloneData[i].esdDeliveryListRMB;
+ delete cloneData[i].esdShipmentCount;
+ delete cloneData[i].esdRrturnProCount;
+ delete cloneData[i].esdBoxPiece;
+ delete cloneData[i].esdInvoicedProcount;
+ delete cloneData[i].esdInvoiceProNotCount;
+ delete cloneData[i].unitValue;
+ delete cloneData[i].recordId;
+ delete cloneData[i].unitOptions;
+ delete cloneData[i].esdInvoiceUnitprice;
+ delete cloneData[i].shipmentNumber;
+ delete cloneData[i].invoiceAllprice;
+ for(var j in selectedRows){
+ if(cloneData[i].esd.Id == selectedRows[j].esd.Id){
+ cloneData[i]['check'] = true;
+ }
+ }
+ }
+ console.log('cloneData = ' + JSON.stringify(cloneData));
+
+
+
+ detailsSave({
+ consumableorderdetails1RecordsLwc: JSON.stringify(cloneData),
+ invoiceIdLwc : this.invoiceId,
+ orderIdLwc : this.orderId
+ }).then((r) => {
+ r = JSON.parse(JSON.stringify(r));
+ console.log("r = " + JSON.stringify(r));
+ if (r.status == "Success") {
+ let url = "/lexconinvoiceview?invoiceId=" + this.invoiceId;
+ this[NavigationMixin.Navigate]({
+ type: "standard__webPage",
+ attributes: {
+ url: url,
+ },
+ });
+ }else {
+ this.showToast("Error", r.msg);
+ }
+ }).catch((error) => {
+ console.log("error = " + error.message);
+ this.showToast("Error", error.message);
+ });
+ }
+
+ //num1 num2浼犲叆涓や釜鍊� symbol +-*/绗﹀彿
+ 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));
+ switch (symbol) {
+ case "+":
+ result = (num1 * step + num2 * step) / step;
+ break;
+ case "-":
+ result = (num1 * step - num2 * step) / step;
+ break;
+ case "*":
+ result = (num1 * step * (num2 * step)) / step / step;
+ break;
+ case "/":
+ result = (num1 * step) / (num2 * step);
+ break;
+ default:
+ break;
+ }
+ return result;
+ }
+}
\ 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
new file mode 100644
index 0000000..ba46201
--- /dev/null
+++ b/force-app/main/default/lwc/lexConsumable/lexConsumable.css
@@ -0,0 +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
new file mode 100644
index 0000000..c691916
--- /dev/null
+++ b/force-app/main/default/lwc/lexConsumable/lexConsumable.html
@@ -0,0 +1,499 @@
+<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;">
+ <!-- 鎸夐挳 -->
+ <template if:true={showEditBtn}>
+ <lightning-button style="margin: 5px;" label="缂栬緫" disabled={disabledEditBtn} onclick={editOrder}></lightning-button>
+ </template>
+ <template if:true={showPrintSheetBtn}>
+ <lightning-button style="margin: 5px;" label="鎵撳嵃閰嶇疆鍗�" onclick={printOrder}></lightning-button>
+ </template>
+ <template if:true={showUploadSheetBtn}>
+ <lightning-button style="margin: 5px;" label="涓婁紶閰嶇疆鍗�" disabled={disabledUploadSheetBtn} onclick={uploadOrder}></lightning-button>
+ </template>
+ <template if:true={showSubOrderbtn}>
+ <lightning-button style="margin: 5px;" label="鎻愪氦璁㈠崟" disabled={disabledSubOrderbtn} onclick={submitOrder}></lightning-button>
+ </template>
+ <template if:true={showSaveOrderbtn1}>
+ <lightning-button style="margin: 5px;" label="淇濆瓨璁㈠崟" onclick={saveOrder}></lightning-button>
+ </template>
+ <template if:true={showSaveOrderbtn2}>
+ <lightning-button style="margin: 5px;" label="淇濆瓨璁㈠崟" onclick={orderCopy}></lightning-button>
+ </template>
+ <template if:true={showDeleteBtn}>
+ <lightning-button style="margin: 5px;" label="鍒犻櫎" disabled={disabledDeleteBtn} onclick={deleteOrder}></lightning-button>
+ </template>
+ <template if:true={showOfferPriceInputBtn}>
+ <lightning-button style="margin: 5px;" label="鐗逛环閲戦褰曞叆" disabled={disabledOfferPriceInputBtn} onclick={inputOfferPrice}></lightning-button>
+ </template>
+ <template if:true={showReapplyBtn}>
+ <lightning-button style="margin: 5px;" label="鍐嶇敵璇�" onclick={reapplyOrder}></lightning-button>
+ </template>
+ <p style="height: 10px;"></p>
+ <!-- <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;">
+ </div>
+ <div style="padding:10px;">
+ </div>
+ </div> -->
+ <!-- 璁㈠崟淇℃伅 -->
+ <template if:false={editAble}>
+ <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;">
+ <lightning-record-view-form record-id={cocId} object-api-name="Consumable_order__c">
+ <table style="width: 100%;">
+ <tbody>
+ <tr>
+ <td style="width: 10%"></td>
+ <td style="width: 40%;"><lightning-output-field field-name="Name"></lightning-output-field></td>
+ <td style="width: 40%;"><lightning-output-field field-name="Order_status__c"></lightning-output-field></td>
+ <td style="width: 10%"></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>
+ <template if:false={editAble}>
+ <lightning-output-field field-name="Total_amount__c"></lightning-output-field>
+ </template>
+ </td>
+ <td>
+ <div class="slds-grid slds-grid_vertical-align-center">
+ <div class="slds-form-element__label"><lightning-formatted-text value={contractLabel}></lightning-formatted-text> </div>
+ <lightning-formatted-text value={contractName}></lightning-formatted-text>
+ </div>
+ <!-- <lightning-output-field field-name="Order_effective_contact__c"></lightning-output-field> -->
+ </td>
+ <!-- <td>鍚堝悓锛�<lightning-formatted-text value={coc.Order_effective_contact__r.Name}></lightning-formatted-text></td> -->
+ <td></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>
+ <template if:false={edoffersPrice}>
+ <lightning-output-field id="sumPrice_buttom1" field-name="Offers_Price__c"></lightning-output-field>
+ </template>
+ </td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>
+ <template if:true={edoffersPrice}>
+ <lightning-input label="鐗逛环鎬婚噾棰�" variant="label-inline" id="sumPrice_buttom2" value={coc.Offers_Price__c} onchange={offerPriceChange}></lightning-input>
+ </template>
+ </td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>
+ <template if:true={showAttUploadDate}>
+ <lightning-output-field field-name="Consumable_pdf_insert_day__c"></lightning-output-field>
+ </template>
+ </td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>
+ <template if:true={showOrderDate}>
+ <lightning-output-field field-name="Order_date__c"></lightning-output-field>
+ </template>
+ </td>
+ <td></td>
+ <td></td>
+ </tr>
+ </tbody>
+ </table>
+ </lightning-record-view-form>
+ </div>
+ </div>
+ </template>
+ <!-- searchBlock -->
+ <template if:true={editAble}>
+ <div style="border: 1px solid #D4D4D4;border-top: 3px solid #51606E;border-radius:5px;margin-bottom:7px;">
+ <div style="padding:10px;">
+ <table style="width: 100%;">
+ <tbody>
+ <tr>
+ <td style="width: 6%;">
+ <template if:true={showHospital}>
+ <div style="color:#696969;font-size:12px;text-align: right;padding-right:7px;"><span style="color: red;">* </span>鍖婚櫌</div>
+ </template>
+ </td>
+ <td style="width:20%;padding-bottom:5px;padding-top:5px;">
+ <template if:true={showHospital}>
+ <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 variant="label-hidden" label="鍖婚櫌" placeholder="璇烽�夋嫨鍖婚櫌" value={hospitalName} onclick={showSearchHos}></lightning-input>
+ </div>
+ </template>
+ </td>
+ <td style="width: 6%;"></td>
+ <td style="width:14%;"></td>
+ <td style="width: 6%;"></td>
+ <td style="width:14%;"></td>
+ <td style="width: 6%;"></td>
+ <td style="width:14%;"></td>
+ <td style="width:16%;"></td>
+ </tr>
+ <tr>
+ <td>
+ <div style="color:#696969;font-size:12px;text-align: right;padding-right:7px;">娑堣�楀搧鍚嶇О</div>
+ </td>
+ <td>
+ <lightning-input variant="label-hidden" label="娑堣�楀搧鍚嶇О" value={category1} onchange={category1Change}></lightning-input>
+ </td>
+ <td>
+ <div style="color:#696969;font-size:12px;text-align: right;padding-right:7px;">绗�3鍒嗙被</div>
+ </td>
+ <td>
+ <lightning-combobox variant="label-hidden" label="绗�3鍒嗙被" value={category3} options={category3Option} onchange={category3Change}></lightning-combobox>
+ </td>
+ <td>
+ <div style="color:#696969;font-size:12px;text-align: right;padding-right:7px;">绗�4鍒嗙被</div></td>
+ <td>
+ <lightning-combobox variant="label-hidden" label="绗�4鍒嗙被" value={category4} options={category4Option} onchange={category4Change}></lightning-combobox>
+ </td>
+ <td>
+ <div style="color:#696969;font-size:12px;text-align: right;padding-right:7px;">绗�5鍒嗙被</div></td>
+ <td>
+ <lightning-combobox variant="label-hidden" label="绗�5鍒嗙被" value={category5} options={category5Option} onchange={category5Change}></lightning-combobox>
+ </td>
+ <td>
+ <lightning-button style="margin-right: 10px;margin-left: 15px;" label="娑堣�楀搧鎼滅储" onclick={searchProduct}></lightning-button>
+ <lightning-button label="娓呯┖" onclick={clear}></lightning-button>
+ </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td></td>
+ <td></td>
+ <td></td>
+ <td></td>
+ <td><div style="color:#696969;font-size:12px;text-align: right;padding-right:7px;"><span style="color: red;">* </span>鍚堝悓</div></td>
+ <td colspan="2" style="padding-bottom:5px;padding-top:5px;">
+ <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 variant="label-hidden" label="鍚堝悓" placeholder="璇烽�夋嫨鍚堝悓" value={contractName} onclick={showSearchCon} required="true"></lightning-input>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ </template>
+ <!-- 璀﹀憡鎻愰啋 -->
+ <template if:true={hasWarning}>
+ <div style="border: 1px solid #D4D4D4;border-radius:5px;margin-bottom:7px;">
+ <div style="border-bottom: 1px solid #D4D4D4;border-radius:5px;margin-bottom:7px;color:#ff6a00;font-size:17px;">
+ <lightning-button-icon icon-name="utility:warning"></lightning-button-icon>
+ <strong> 璀﹀憡</strong>
+ </div>
+ <template for:each={warningMsgs} for:item="msg">
+ <p key={msg} style="color:#ff6a00;padding-left:7px;font-size:14px;"> 銉� {msg}</p>
+ </template>
+ </div>
+ </template>
+ <!-- 鎶ラ敊鎻愰啋 -->
+ <template if:true={hasError}>
+ <div style="border: 1px solid #D4D4D4;border-radius:5px;margin-bottom:7px;">
+ <div style="border-bottom: 1px solid #D4D4D4;border-radius:5px;margin-bottom:7px;color:red;font-size:17px;">
+ <lightning-button-icon icon-name="utility:error"></lightning-button-icon>
+ <strong> 閿欒</strong>
+ </div>
+ <template for:each={errorMsgs} for:item="msg">
+ <p key={msg} style="color:red;padding-left:7px;font-size:14px;"> 銉� {msg}</p>
+ </template>
+ </div>
+ </template>
+ <!-- 娑堣�楀搧鏄庣粏 -->
+ <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 style="width: 100%;" class="conTable">
+ <thead>
+ <tr style="border-bottom: 1px solid #D4D4D4;">
+ <template if:true={editAble}>
+ <th><lightning-input type="checkbox" onchange={checkAll} name="checkAll"></lightning-input></th>
+ </template>
+ <th style="width: 20%;">娑堣�楀搧鍚嶇О</th>
+ <th>瑙勬牸</th>
+ <th>CFDA鐘舵��</th>
+ <th>娉ㄥ唽璇佺紪鐮佸彿</th>
+ <th>娉ㄥ唽璇佹晥鏈�</th>
+ <th>绗�3鍒嗙被</th>
+ <th>绗�4鍒嗙被</th>
+ <th>绗�5鍒嗙被</th>
+ <template if:true={cansee}>
+ <th>鏍囧噯鍗曚环(鍏�)</th>
+ </template>
+ <th style="width: 5%;">閲囪喘鏁伴噺</th>
+ <th>鍦ㄥ簱鏁颁笅闄�</th>
+ <th>鍦ㄥ簱鏁颁笂闄�</th>
+ <th>鏈夋晥鏈熷簱瀛�(鐩�)</th>
+ <th>鏈夋晥鏈熷簱瀛�(涓�)</th>
+ </tr>
+ </thead>
+ <tbody>
+ <template for:each={consumableorderdetailsRecordsview} for:item="record" for:index="index">
+ <tr key={record.Prod.Name}>
+ <template if:true={editAble}>
+ <td>
+ <lightning-input data-index={index} type="checkbox" checked={record.check} onchange={check} name="check"></lightning-input>
+ <lightning-input data-index={index} type="checkbox" checked={record.oldCheck} onchange={check} name="check" style="display:none;"></lightning-input>
+ </td>
+ </template>
+ <td>
+ {record.Prod.Name__c}
+ </td>
+ <td>
+ <div class="slds-truncate" title="Value Proposition">{record.packing_list}</div>
+ </td>
+ <td>
+ <div class="slds-truncate" title="Value Proposition">{record.Prod.SFDA_Status__c}</div>
+ </td>
+ <td>
+ <div class="slds-truncate" title="Value Proposition">{record.approbation_No}</div>
+ </td>
+ <td>
+ <div class="slds-truncate" title="Value Proposition">{record.expiration_Date}</div>
+ </td>
+ <td>
+ <div class="slds-truncate" title="Value Proposition">{record.Prod.Category3__c}</div>
+ </td>
+ <td>
+ <div class="slds-truncate" title="Value Proposition">{record.Prod.Category4__c}</div>
+ </td>
+ <td>
+ <div class="slds-truncate" title="Value Proposition">{record.Prod.Category5__c}</div>
+ </td>
+ <template if:true={cansee}>
+ <td>
+ <div class="slds-truncate" title="Value Proposition">{record.Prod.Intra_Trade_List_RMB__c}</div>
+ </td>
+ </template>
+ <td>
+ <template if:true={editAble}>
+ <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>
+ </template>
+ </td>
+ <td>
+ <div class="slds-truncate" title="Value Proposition">{record.lowerlimit}</div>
+ </td>
+ <td>
+ <div class="slds-truncate" title="Value Proposition">{record.upperlimit}</div>
+ </td>
+ <td>
+ <div class="slds-truncate" title="Value Proposition">{record.allnumber}</div>
+ </td>
+ <td>
+ <div class="slds-truncate" title="Value Proposition">{record.allnumber_piece}</div>
+ </td>
+ </tr>
+ </template>
+ </tbody>
+ </table> -->
+ <template if:true={editAble}>
+ <c-lex-custom-lightning-datatable key-field="recordId" data={consumableorderdetailsRecordsview} columns={cols} selected-rows={selectRows} onrowselection={checkRows} onchangevalue={conCountChange}></c-lex-custom-lightning-datatable>
+ </template>
+ <template if:false={editAble}>
+ <c-lex-custom-lightning-datatable hide-checkbox-column key-field="recordId" data={consumableorderdetailsRecordsview} columns={cols}></c-lex-custom-lightning-datatable>
+ </template>
+ </div>
+ </div>
+ </div>
+ </div>
+ <!-- 闄勪欢 -->
+ <template if:false={editAble}>
+ <div style="border: 1px solid #D4D4D4;border-top: 3px solid #51606E;border-radius:5px;margin-top:10px;">
+ <div style="border-bottom: 1px solid #D4D4D4;padding:3px;">
+ <p style="font-size: 16px;"><strong>闄勪欢</strong></p>
+ </div>
+ <div style="padding:10px;">
+ <lightning-datatable hide-checkbox-column key-field="recordId" columns={attCols} data={attachmentRecoeds}></lightning-datatable>
+ </div>
+ </div>
+ </template>
+ <!-- 涓婁紶闄勪欢寮圭獥 -->
+ <template if:true={showAttPop}>
+ <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_small" style="border: 1px solid #D4D4D4;">
+ <template if:true={showPopSpinner}>
+ <lightning-spinner size="medium" variant="brand"></lightning-spinner>
+ </template>
+ <div class="slds-modal__container">
+ <header class="slds-modal__header" style="background-color: #F3F3F3;">
+ <button style="" class="slds-button slds-button_icon slds-modal__close slds-button_icon-inverse" title="Close" onclick={closePop}>
+ <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>
+ <div class="slds-modal__content slds-p-around_medium" id="modal-content-id-1" style="border: 1px solid #F3F3F3;">
+ <div class="slds-m-top_medium slds-m-bottom_x-large">
+ <div class="slds-p-around_medium lgc-bg">
+ <lightning-input type="file" label="闄勪欢涓婁紶" accept=".xlsx, .xls, .csv, .png, .doc, .docx, .pdf" onchange={attChange}></lightning-input>
+ </div>
+ <p>宸查�夋嫨鏂囦欢锛歿fileName}
+ <template if:true={attDelBtn}>
+ <a onclick={removeAtt}>绉婚櫎</a>
+ </template>
+ </p>
+ </div>
+ </div>
+ <footer class="slds-modal__footer">
+ <lightning-button style="margin-left: 10px;" variant="neutral" label="鍙栨秷" onclick={closePop}></lightning-button>
+ <lightning-button style="margin-left: 10px;" variant="neutral" label="涓婁紶" onclick={uploadAtt}></lightning-button>
+ </footer>
+ </div>
+ </section>
+ <div class="slds-backdrop slds-backdrop_open"></div>
+ </template>
+ <!-- 鎼滅储鍖婚櫌 -->
+ <template if:true={showAttHosPop}>
+ <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" style="border: 1px solid #D4D4D4;">
+ <div class="slds-modal__container">
+ <header class="slds-modal__header" style="background-color: #F3F3F3;">
+ <button style="" class="slds-button slds-button_icon slds-modal__close slds-button_icon-inverse" title="Close" onclick={closeHospitalPop}>
+ <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;">
+ <table style="width: 100%;">
+ <tbody>
+ <tr>
+ <td style="width: 60px;"><div style="color:#696969;font-size:13px;text-align: left;">鍖婚櫌鍚嶇О</div></td>
+ <td style="width: 60%;"><lightning-input label="鍖婚櫌鍚嶇О" variant="label-hidden" placeholder="璇疯緭鍏ュ尰闄㈠悕绉�" value={searchNameHos} onchange={searchNameHosChange}></lightning-input></td>
+ <td style="width: 10px;"></td>
+ <td><lightning-button label="鎼滅储" onclick={searchHos}></lightning-button></td>
+ </tr>
+ </tbody>
+ </table>
+ <p style="height: 20px;"></p>
+ <!-- <p>宸查�夋嫨鍖婚櫌锛歿chooseHospital}</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 class="myTable" style="padding:10px;">
+ <!-- <table>
+ <thead>
+ <th style="width: 50%;">鍖婚櫌鍚嶇О</th>
+ <th style="width: 10%;">鐪佷唤</th>
+ <th style="width: 40%;">鍦板潃</th>
+ </thead>
+ <tbody>
+ <template for:each={hospitalList} for:item="hos" for:index="index">
+ <tr key={hos.Id}>
+ <td><a data-hosid={hos.Id} data-name={hos.Name} onclick={chooseHos}>{hos.Name}</a></td>
+ <td>{hos.StateMaster}</td>
+ <td>{hos.Address__c}</td>
+ </tr>
+ </template>
+ <tr></tr>
+ </tbody>
+ </table> -->
+ <lightning-datatable key-field="id" hide-checkbox-column="true" data={hospitalList} columns={hosCols} onrowaction={chooseHos}></lightning-datatable>
+ </div>
+ </div>
+ </div>
+ <footer class="slds-modal__footer">
+ <lightning-button style="margin-left: 10px;" variant="neutral" label="鍙栨秷" onclick={closeHospitalPop}></lightning-button>
+ <!-- <lightning-button style="margin-left: 10px;" variant="neutral" label="纭" onclick={confirmHospital}></lightning-button> -->
+ </footer>
+ </div>
+ </section>
+ <div class="slds-backdrop slds-backdrop_open"></div>
+ </template>
+ <!-- 鎼滅储鍚堝悓 -->
+ <template if:true={showConPop}>
+ <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" style="border: 1px solid #D4D4D4;">
+ <div class="slds-modal__container">
+ <header class="slds-modal__header" style="background-color: #F3F3F3;">
+ <button style="" class="slds-button slds-button_icon slds-modal__close slds-button_icon-inverse" title="Close" onclick={closeContractPop}>
+ <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-03" class="slds-text-heading_medium slds-hyphenate">鍚堝悓妫�绱�</h2>
+ </header>
+ <div class="slds-modal__content slds-p-around_medium" id="modal-content-id-3" style="border: 1px solid #F3F3F3;">
+ <table style="width: 100%;">
+ <tbody>
+ <tr>
+ <td style="width: 60px;"><div style="color:#696969;font-size:13px;text-align: left;">鍚堝悓鍚嶇О</div></td>
+ <td style="width: 60%;"><lightning-input label="鍚堝悓鍚嶇О" variant="label-hidden" placeholder="璇疯緭鍏ュ悎鍚屽悕绉�" value={searchNameCon} onchange={searchNameConChange}></lightning-input></td>
+ <td style="width: 10px;"></td>
+ <td><lightning-button label="鎼滅储" onclick={searchCon}></lightning-button></td>
+ </tr>
+ </tbody>
+ </table>
+ <p style="height: 10px;"></p>
+ <!-- <p>宸查�夋嫨鍚堝悓锛歿chooseContract}</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:20px;">
+ <!-- <table>
+ <thead>
+ <th style="width: 30%;">鍚堝悓鍚嶇О</th>
+ <th style="width: 10%;">鐪佷唤</th>
+ <th style="width: 20%;">鐢宠閿�鍞</th>
+ <th style="width: 20%;">鍏佽鎶ヤ环鏈熼棿(寮�濮嬫棩)</th>
+ <th style="width: 20%;">鍏佽鎶ヤ环鏈熼棿(缁撴潫鏃�)</th>
+ </thead>
+ <tbody>
+ <template for:each={contractList} for:item="con" for:index="index">
+ <tr key={con.Id}>
+ <td><a data-hosid={con.Id} data-name={con.Name} onclick={chooseCon}>{con.Name}</a></td>
+ <td>{con.StateMaster}</td>
+ <td>{con.Sales_Section__c}</td>
+ <td>{con.Contract_Decide_Start_Date__c}</td>
+ <td>{con.Contract_Decide_End_Date__c}</td>
+ </tr>
+ </template>
+ <tr></tr>
+ </tbody>
+ </table> -->
+ <lightning-datatable key-field="id" hide-checkbox-column="true" data={contractList} columns={conCols} onrowaction={chooseCon}></lightning-datatable>
+ </div>
+ </div>
+ </div>
+ <footer class="slds-modal__footer">
+ <lightning-button style="margin-left: 10px;" variant="neutral" label="鍙栨秷" onclick={closeContractPop}></lightning-button>
+ <!-- <lightning-button style="margin-left: 10px;" variant="neutral" label="纭" onclick={confirmContract}></lightning-button> -->
+ </footer>
+ </div>
+ </section>
+ <div class="slds-backdrop slds-backdrop_open"></div>
+ </template>
+ </template>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexConsumable/lexConsumable.js b/force-app/main/default/lwc/lexConsumable/lexConsumable.js
new file mode 100644
index 0000000..9f8f12b
--- /dev/null
+++ b/force-app/main/default/lwc/lexConsumable/lexConsumable.js
@@ -0,0 +1,1064 @@
+import { LightningElement,wire,api,track } from 'lwc';
+import { CurrentPageReference } from 'lightning/navigation';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+import { NavigationMixin } from 'lightning/navigation';
+import initPage from '@salesforce/apex/LexConsumableController.init';
+import categoryAllload from '@salesforce/apex/LexConsumableController.categoryAllload';
+import categoryload from '@salesforce/apex/LexConsumableController.categoryload';
+import searchConsumableorderdetails from '@salesforce/apex/LexConsumableController.searchConsumableorderdetails';
+import searchorderdetails from '@salesforce/apex/LexConsumableController.searchorderdetails';
+import save from '@salesforce/apex/LexConsumableController.save';
+import ordrCopy from '@salesforce/apex/LexConsumableController.ordrCopy';
+import setEditAble from '@salesforce/apex/LexConsumableController.setEditAble';
+import backOrder from '@salesforce/apex/LexConsumableController.backOrder';
+import delConsumable from '@salesforce/apex/LexConsumableController.delConsumable';
+import sorder from '@salesforce/apex/LexConsumableController.sorder';
+import filesUpload from '@salesforce/apex/LexConsumableController.filesUpload';
+import initHospital from '@salesforce/apex/LexSearchHospitalController.init';
+import searchHospital from '@salesforce/apex/LexSearchHospitalController.searchHospital';
+import initContract from '@salesforce/apex/LexSearchContractController.init';
+import searchContract from '@salesforce/apex/LexSearchContractController.searchContract';
+
+export default class LexConsumable extends NavigationMixin(LightningElement) {
+
+ //椤甸潰鍩虹鏁版嵁
+ @track editAble;
+ @track pageType;
+ @track esetId;
+ @track keyWords;
+ @track coc;
+ @track cocId;
+ @track userWorkLocation;
+ @track accountName;
+ @track accountid;
+ @track specialCampaign = false;
+ @track dealerProductId = [];
+ @track category1;
+ @track category3 = '';
+ @track category4 = '';
+ @track category5 = '';
+ @track category_Goods;
+ @track category3Option = [];
+ @track category4Option = [];
+ @track category5Option = [];
+ @track consumableorderdetailsRecordsview = [];
+ @track selectRows = [];
+ @track attachmentRecoeds = [];
+ @track contactDealer = [];
+ @track proLimitAndDate = [];
+ @track agencyProType;
+ @track bargainPrice;
+ @track showOrderDate = false;
+ @track showAttUploadDate = false;
+ @track edoffersPrice = false;
+ @track editDelCommitBtnDisabled = false;
+ @track showEditBtn = false;
+ @track disabledEditBtn = false;
+ @track showPrintSheetBtn = false;
+ @track showUploadSheetBtn = false;
+ @track disabledUploadSheetBtn = false;
+ @track showSubOrderbtn = false;
+ @track disabledSubOrderbtn = false;
+ @track showSaveOrderbtn1 = false;
+ @track showSaveOrderbtn2 = false;
+ @track showDeleteBtn = false;
+ @track disabledDeleteBtn = false;
+ @track showOfferPriceInputBtn = false;
+ @track disabledOfferPriceInputBtn = false;
+ @track showReapplyBtn = false;
+ @track showHospital = false;
+ @track showPage = false;
+ @track cansee = false;
+ @track showSpinner = true;
+ @track showPopSpinner = false;
+ //鎶ラ敊鎻愰啋
+ // @track hasError = false;
+ @track errorMsgs = [];
+ // @track hasWarning = false;
+ @track warningMsgs = [];
+ //闄勪欢涓婁紶
+ @track showAttPop = false;
+ @track filesUploaded = [];
+ @track fileName;
+ file;
+ fileContents;
+ fileReader;
+ content;
+ //鍖婚櫌鎼滅储
+ @track showAttHosPop = false;
+ @track hospitalList = [];
+ @track searchNameHos;
+ @track chooseHospital;
+ @track chooseHospitalId;
+ @track hospitalId;
+ @track hospitalName;
+ @track tempidHp;
+ @track hosCols = [
+ // {label:'鍖婚櫌鍚嶇О',fieldName:'Name',type:'button',typeAttributes:{label:{fieldName:'Name'},variant:'base'}},
+ {label:'',type:'button',typeAttributes:{label:'閫夋嫨'},initialWidth:80,hideDefaultActions: true},
+ {label:'鍖婚櫌鍚嶇О',fieldName:'Name',initialWidth:380,wrapText:true,hideDefaultActions: true},
+ {label:'鐪佷唤',fieldName:'StateMaster',initialWidth:80,hideDefaultActions: true},
+ {label:'鍦板潃',fieldName:'Address__c',hideDefaultActions: true}
+ ];
+ //鍚堝悓鎼滅储
+ @track contractLabel;
+ @track showConPop = false;
+ @track contractList = [];
+ @track searchNameCon;
+ @track chooseContract;
+ @track chooseContractId;
+ @track contractId;
+ @track contractName;
+ @track tempidPp;
+ @track conCols = [
+ {label:'',type:'button',typeAttributes:{label:'閫夋嫨'},initialWidth:80,hideDefaultActions: true},
+ {label:'鍚堝悓鍚嶇О',fieldName:'Name',wrapText:true,hideDefaultActions: true},
+ {label:'鐪佷唤',fieldName:'StateMaster',initialWidth:80,hideDefaultActions: true},
+ {label:'鐢宠閿�鍞',fieldName:'Sales_Section__c',initialWidth:200,hideDefaultActions: true},
+ {label:'鍏佽鎶ヤ环鏈熼棿(寮�濮嬫棩)',fieldName:'Contract_Decide_Start_Date__c',initialWidth:200,hideDefaultActions: true},
+ {label:'鍏佽鎶ヤ环鏈熼棿(缁撴潫鏃�)',fieldName:'Contract_Decide_End_Date__c',initialWidth:200,hideDefaultActions: true}
+ ];
+
+ //娑堣�楀搧鏁版嵁col
+ get cols(){
+ var cols = [];
+ cols.push({label:'娑堣�楀搧鍚嶇О',fieldName:'prodName',wrapText:true,hideDefaultActions: true});
+ cols.push({label:'瑙勬牸',fieldName:'packing_list',hideDefaultActions: true,initialWidth:40});
+ cols.push({label:'CFDA鐘舵��',fieldName:'prodSFDAStatus',hideDefaultActions: true,initialWidth:78});
+ cols.push({label:'娉ㄥ唽璇佺紪鐮佸彿',fieldName:'approbation_No',wrapText:true,hideDefaultActions: true,initialWidth:153});
+ cols.push({label:'娉ㄥ唽璇佹晥鏈�',fieldName:'expiration_Date',hideDefaultActions: true,initialWidth:100});
+ cols.push({label:'绗�3鍒嗙被',fieldName:'prodCategory3',wrapText:true,hideDefaultActions: true,initialWidth:95});
+ cols.push({label:'绗�4鍒嗙被',fieldName:'prodCategory4',wrapText:true,hideDefaultActions: true,initialWidth:80});
+ cols.push({label:'绗�5鍒嗙被',fieldName:'prodCategory5',wrapText:true,hideDefaultActions: true,initialWidth:90});
+ if(this.cansee){
+ cols.push({label:'鏍囧噯鍗曚环',fieldName:'prodIntraTradeList',hideDefaultActions: true,initialWidth:60});
+ }
+ if(this.editAble){
+ cols.push(
+ {label:'閲囪喘鏁伴噺',
+ type: "customTableInput",typeAttributes: {
+ recordId: { fieldName: "recordId" },
+ inputValue: { fieldName: "consumableCount" },
+ valueType: 'Number'
+ },
+ hideDefaultActions: true,initialWidth:70});
+ }else{
+ cols.push({label:'閲囪喘鏁伴噺',fieldName:'consumableCount',hideDefaultActions: true,initialWidth:70});
+ }
+ cols.push({label:'鍦ㄥ簱鏁颁笅闄�',fieldName:'lowerlimit',hideDefaultActions: true,initialWidth:85});
+ cols.push({label:'鍦ㄥ簱鏁颁笂闄�',fieldName:'upperlimit',hideDefaultActions: true,initialWidth:85});
+ cols.push({label:'鏈夋晥鏈熷簱瀛�(鐩�)',fieldName:'allnumber',hideDefaultActions: true,initialWidth:105});
+ cols.push({label:'鏈夋晥鏈熷簱瀛�(涓�)',fieldName:'allnumber_piece',hideDefaultActions: true,initialWidth:105});
+ return cols;l
+ }
+
+ //闄勪欢cols
+ @track attCols = [
+ {label:'鏍囬',fieldName:'attUrl',type:'url',typeAttributes:{label:{fieldName:'fileName'},target: "_blank"},hideDefaultActions: true},
+ {label:'鍒涘缓浜�',fieldName:'ownerUrl',type:'url',typeAttributes:{label:{fieldName:'ownerName'},target: "_blank"},hideDefaultActions: true},
+ {label:'涓婁紶鏃ユ湡',fieldName:'updateDate',hideDefaultActions: true}
+ ];
+
+ //鍙栧緱鎵�鏈夎鍕鹃�夌殑浜у搧id
+ getAllChecked(){
+ this.selectRows = [];
+ for(var i in this.consumableorderdetailsRecordsview){
+ if(this.consumableorderdetailsRecordsview[i].check){
+ this.selectRows.push(this.consumableorderdetailsRecordsview[i].recordId);
+ }
+ }
+ }
+
+ //鍕鹃�夋搷浣�
+ checkRows(event){
+ this.selectRows = [];
+ const selectedRows = event.detail.selectedRows;
+ for(var i in this.consumableorderdetailsRecordsview){
+ var count = 0;
+ for(var j in selectedRows){
+ if(this.consumableorderdetailsRecordsview[i].recordId == selectedRows[j].recordId){
+ count++
+ console.log("checkId:"+selectedRows[j].recordId+'---'+this.consumableorderdetailsRecordsview[i].prodName);
+ }
+ }
+ if(count == 0){
+ this.consumableorderdetailsRecordsview[i].check = false;
+ }else{
+ this.consumableorderdetailsRecordsview[i].check = true;
+ this.selectRows.push(this.consumableorderdetailsRecordsview[i].recordId);
+ }
+ }
+ for(var i in this.selectRows){
+ console.log("checkId1:"+this.selectRows[i]);
+ }
+ }
+
+ //閲囪喘鏁伴噺鑾峰彇
+ conCountChange(event){
+ var recordId = event.detail.data.recordId;
+ var conCount = event.detail.data.value;
+ console.log('countChange:'+recordId+'---'+conCount);
+ for(var i in this.consumableorderdetailsRecordsview){
+ if(this.consumableorderdetailsRecordsview[i].recordId == recordId){
+ this.consumableorderdetailsRecordsview[i].esd.Consumable_count__c = conCount;
+ this.consumableorderdetailsRecordsview[i].consumableCount = conCount;
+ if(conCount != null && conCount !=0 && conCount!=''){
+ this.consumableorderdetailsRecordsview[i].check = true;
+ }else{
+ this.consumableorderdetailsRecordsview[i].check = false;
+ }
+ }
+ }
+ this.getAllChecked();
+ }
+
+ @wire(CurrentPageReference)
+ getStateParameters(currentPageReference) {
+ console.log('CurrentPageReference');
+ if (currentPageReference) {
+ this.pageType = currentPageReference.state?.type;
+ this.esetId = currentPageReference.state?.ESetid;
+ this.keyWords = currentPageReference.state?.KeyWords;
+ console.log('type:'+this.pageType);
+ console.log('esetId:'+this.esetId);
+ console.log('keyWords:'+this.keyWords);
+ }
+ }
+
+ //椤甸潰鍒濆鍖�
+ connectedCallback(){
+ this.showSpinner = true;
+ initPage({type:this.pageType, esetId:this.esetId, keywordStr:this.keyWords})
+ .then(result=>{
+ if(result.result == 'Success'){
+ this.editAble = result.editAble;
+ this.edoffersPrice = result.edoffersPrice;
+ this.cansee = result.cansee;
+ this.editDelCommitBtnDisabled = result.editDelCommitBtnDisabled;
+ this.category3Option = result.category3Option;
+ this.category4Option = result.category4Option;
+ this.category5Option = result.category5Option;
+ this.agencyProType = result.agencyProType;
+ this.hospitalName = result.hospitalName;
+ this.contractName = result.contractName;
+ this.contractLabel = '缁忛攢鍟嗘湁鏁堝悎鍚�';
+ this.consumableorderdetailsRecordsview = result.consumableorderdetailsRecordsview;
+ this.getAllChecked();
+ this.attachmentRecoeds = result.attachmentRecoeds;
+ console.log("attSize:"+this.attachmentRecoeds.length);
+ for(var i in this.attachmentRecoeds){
+ this.attachmentRecoeds[i]['recordId'] = this.attachmentRecoeds[i].Concc.Id;
+ this.attachmentRecoeds[i]['fileName'] = this.attachmentRecoeds[i].Concc.Title;
+ this.attachmentRecoeds[i]['ownerName'] = this.attachmentRecoeds[i].Concc.Owner.Name;
+ this.attachmentRecoeds[i]['updateDate'] = this.attachmentRecoeds[i].Concc.CreatedDate;
+ this.attachmentRecoeds[i]['attUrl'] = '/'+this.attachmentRecoeds[i].Concc.Id;
+ this.attachmentRecoeds[i]['ownerUrl'] = '/'+this.attachmentRecoeds[i].Concc.OwnerId;
+ }
+ this.errorMsgs = result.errorMsgList;
+ this.warningMsgs = result.warningMsgList;
+ this.userWorkLocation = result.userWorkLocation;
+ this.accountName = result.accountName;
+ this.accountid = result.accountid;
+ this.hospitalId = result.hospitalId;
+ this.contractId = result.contractId;
+ this.category_Goods = result.category_Goods;
+ this.specialCampaign = result.specialCampaign;
+ this.dealerProductId = result.dealerProductId;
+ this.contactDealer = result.contactDealer;
+ this.pageType = result.methodType;
+ this.proLimitAndDate = result.proLimitAndDate;
+ this.coc = result.coc;
+ this.cocId = this.coc.Id;
+ if(this.pageType == 'hospitalorder' && this.agencyProType != 'ET'){
+ this.showHospital = true;
+ }
+ if(this.coc.Order_status__c == "宸叉彁浜�" || this.coc.Order_status__c == "鎵瑰噯"){
+ this.showOrderDate = true;
+ }
+ if(this.coc.Consumable_pdf_insert_day__c != null){
+ this.showAttUploadDate = true;
+ }
+ if(!(this.editAble || this.edoffersPrice)){
+ this.showEditBtn = true;
+ this.showOfferPriceInputBtn = true;
+ }
+ if(this.coc.Order_status__c == "宸叉彁浜�" || this.coc.Order_status__c == "鎵瑰噯" || this.coc.Order_status__c == "椹冲洖"){
+ this.disabledEditBtn = true;
+ this.disabledUploadSheetBtn = true;
+ this.disabledSubOrderbtn = true;
+ this.disabledDeleteBtn = true;
+ this.disabledOfferPriceInputBtn = true;
+ }
+ if(!(this.editDelCommitBtnDisabled || this.editAble || this.edoffersPrice)){
+ this.showPrintSheetBtn = true;
+ this.showUploadSheetBtn = true;
+ this.showSubOrderbtn = true;
+ this.showDeleteBtn = true;
+ }
+ if((this.editDelCommitBtnDisabled || this.editAble || this.edoffersPrice) && this.coc.Order_status__c != "椹冲洖"){
+ this.showSaveOrderbtn1 = true;
+ }
+ if(this.coc.Order_status__c == "椹冲洖" && this.editAble){
+ this.showSaveOrderbtn2 = true;
+ }
+ if(this.coc.Order_status__c == "椹冲洖" && !this.editAble){
+ this.showReapplyBtn = true;
+ }
+ this.showSpinner = false;
+ this.showPage = true;
+ }else{
+ this.showSpinner = false;
+ console.log("Error:"+result.errorMsg);
+ this.showMyToast('鍒濆鍖栭〉闈㈠け璐�',result.errorMsg,'error');
+ }
+ })
+ .catch(error=>{
+ this.showSpinner = false;
+ console.log("error:"+error);
+ this.showMyToast('鍒濆鍖栭〉闈㈠け璐�',error,'error');
+ })
+ }
+
+ //鏄惁鏈夎鍛�
+ get hasWarning(){
+ if(this.warningMsgs == null || this.warningMsgs.length == 0){
+ return false;
+ }
+ if(this.warningMsgs.length > 0){
+ return true;
+ }
+ }
+
+ //鏄惁鏈夐敊璇�
+ get hasError(){
+ if(this.errorMsgs == null || this.errorMsgs.length == 0){
+ return false;
+ }
+ if(this.errorMsgs.length > 0){
+ return true;
+ }
+ }
+
+ //鐗逛环change浜嬩欢
+ offerPriceChange(event){
+ this.coc.Offers_Price__c = event.detail.value;
+ }
+
+ //娑堣�楀搧鍚嶇Оchange浜嬩欢
+ category1Change(event){
+ this.category1 = event.detail.value;
+ }
+
+ //绗笁鍒嗙被change浜嬩欢
+ category3Change(event){
+ this.showSpinner = true;
+ this.category3 = event.detail.value;
+ this.category4 = '';
+ this.category5 = '';
+ categoryAllload({agencyProTypeStr:this.agencyProType, category3Str:this.category3})
+ .then(result=>{
+ if(result.result == 'Success'){
+ this.category4Option = result.category4Option;
+ this.category5Option = result.category5Option;
+ this.showSpinner = false;
+ }else{
+ this.showSpinner = false;
+ console.log("Error:"+result.errorMsg);
+ this.showMyToast('鍔犺浇鍒嗙被澶辫触',result.errorMsg,'error');
+ }
+ })
+ }
+
+ //绗洓鍒嗙被change浜嬩欢
+ category4Change(event){
+ this.showSpinner = true;
+ this.category4 = event.detail.value;
+ this.category5 = '';
+ categoryload({agencyProTypeStr:this.agencyProType, category3Str:this.category3, category4Str:this.category4})
+ .then(result=>{
+ if(result.result == 'Success'){
+ this.category4Option = result.category4Option;
+ this.category5Option = result.category5Option;
+ this.showSpinner = false;
+ }else{
+ this.showSpinner = false;
+ console.log("Error:"+result.errorMsg);
+ this.showMyToast('鍔犺浇鍒嗙被澶辫触',result.errorMsg,'error');
+ }
+ })
+ }
+
+ //绗簲鍒嗙被change浜嬩欢
+ category5Change(event){
+ this.category5 = event.detail.value;
+ }
+
+ //鎼滅储浜у搧
+ searchProduct(event){
+ this.showSpinner = true;
+ searchConsumableorderdetails({userWorkLocationStr:this.userWorkLocation,
+ agencyProTypeStr:this.agencyProType,
+ accountNameStr:this.accountName,
+ accountIdStr:this.accountid,
+ contractIdStr:this.contractId,
+ hospitalIdStr:this.hospitalId,
+ category1Str:this.category1,
+ category3Str:this.category3,
+ category4Str:this.category4,
+ category5Str:this.category5,
+ category_GoodStr:this.category_Goods,
+ specialCampaignStr:this.specialCampaign,
+ dealerProductIdStr:JSON.stringify(this.dealerProductId),
+ methodTypeStr:this.pageType,
+ editAbleStr:this.editAble,
+ consumableorderdetailsRecordsviewStr:JSON.stringify(this.consumableorderdetailsRecordsview)})
+ .then(result=>{
+ if(result.result == 'Success'){
+ this.consumableorderdetailsRecordsview = result.consumableorderdetailsRecordsview;
+ this.getAllChecked();
+ this.showSpinner = false;
+ this.errorMsgs = result.errorMsgList;
+ this.warningMsgs = result.warningMsgList;
+ // this.hasError = result.hasError;
+ // this.hasWarning = result.hasWarning;
+ this.showMyToast('鎼滅储鎴愬姛',result.errorMsg,'success');
+ }else{
+ this.showSpinner = false;
+ console.log("Error:"+result.errorMsg);
+ if(result.errorMsg == '娌℃湁鎼滅储鍒扮浉鍏虫暟鎹�'){
+ this.showMyToast(result.errorMsg,'','error');
+ }else{
+ this.showMyToast('鎼滅储澶辫触',result.errorMsg,'error');
+ }
+ }
+ })
+ .catch(error=>{
+ console.log("Error:"+error);
+ })
+ }
+
+ //娓呴櫎鎼滅储鏍�
+ clear(event){
+ this.category1 = '';
+ this.category3 = '';
+ this.category4 = '';
+ this.category5 = '';
+ this.showSpinner = true;
+ searchConsumableorderdetails({
+ userWorkLocationStr:this.userWorkLocation,
+ agencyProTypeStr:this.agencyProType,
+ accountNameStr:this.accountName,
+ accountIdStr:this.accountid,
+ contractIdStr:this.contractId,
+ hospitalIdStr:this.hospitalId,
+ category1Str:this.category1,
+ category3Str:this.category3,
+ category4Str:this.category4,
+ category5Str:this.category5,
+ category_GoodStr:this.category_Goods,
+ specialCampaignStr:this.specialCampaign,
+ dealerProductIdStr:JSON.stringify(this.dealerProductId),
+ methodTypeStr:this.pageType,
+ editAbleStr:this.editAble,
+ consumableorderdetailsRecordsviewStr:JSON.stringify(this.consumableorderdetailsRecordsview)
+ }).then(result=>{
+ if(result.result == 'Success'){
+ this.consumableorderdetailsRecordsview = result.consumableorderdetailsRecordsview;
+ this.getAllChecked();
+ this.showSpinner = false;
+ this.showMyToast('鎼滅储鎴愬姛',result.errorMsg,'success');
+ }else{
+ this.showSpinner = false;
+ console.log("Error:"+result.errorMsg);
+ if(result.errorMsg == '娌℃湁鎼滅储鍒扮浉鍏虫暟鎹�'){
+ this.showMyToast(result.errorMsg,'','error');
+ }else{
+ this.showMyToast('鎼滅储澶辫触',result.errorMsg,'error');
+ }
+ }
+ })
+ }
+
+ //闄勪欢璇︽儏
+ attClick1(event){
+ var id = event.currentTarget.dataset.name;
+ console.log('id:'+id);
+ const config = {
+ type: 'standard__webPage',
+ attributes: {
+ url: '/detail/'+id,
+ }
+ };
+ this[NavigationMixin.Navigate](config);
+ }
+
+ //闄勪欢鍒涘缓浜鸿鎯�
+ attClick2(event){
+ var id = event.currentTarget.dataset.name;
+ var site = window.location.origin;
+ console.log('id:'+id);
+ const config = {
+ type: 'standard__webPage',
+ attributes: {
+ url: site+'/consumable/servlet/servlet.FileDownload?file='+id,
+ }
+ };
+ this[NavigationMixin.Navigate](config);
+ }
+
+ //閫夋嫨鎵�鏈�
+ checkAll(event){
+ for(let i=0, len=this.consumableorderdetailsRecordsview.length; i < len ;i++){
+ this.consumableorderdetailsRecordsview[i].check = event.target.checked;
+ }
+ }
+
+ //閫夋嫨
+ check(event){
+ let index = event.target.getAttribute("data-index");
+ this.consumableorderdetailsRecordsview[index].check = event.target.checked;
+ }
+
+ //閲囪喘鏁伴噺change浜嬩欢
+ consumableCountChange(event){
+ let index = event.target.getAttribute("data-index");
+ var value = event.target.value;
+ this.consumableorderdetailsRecordsview[index].esd.Consumable_count__c = value;
+ if(isNaN(value)){
+ value=0.00;
+ }
+ if(value != null && value !=0 && value!=''){
+ this.consumableorderdetailsRecordsview[index].check = true;
+ }else{
+ this.consumableorderdetailsRecordsview[index].check = false;
+ }
+ }
+
+ //淇濆瓨璁㈠崟
+ saveOrder(event){
+ this.showSpinner = true;
+ console.log('start save');
+ save({
+ contractNameStr:this.contractName,
+ cocStr:JSON.stringify(this.coc),
+ agencyProTypeStr:this.agencyProType,
+ accountidStr:this.accountid,
+ consumableorderdetailsRecordsviewStr:JSON.stringify(this.consumableorderdetailsRecordsview),
+ contactDealerStr:JSON.stringify(this.contactDealer),
+ methodTypeStr:this.pageType,
+ eSetIdStr:this.esetId,
+ hospitalIdStr : this.hospitalId
+ }).then(result=>{
+ this.showSpinner = false;
+ if(result.result == 'Success'){
+ this.esetId = result.eSetId;
+ const config = {
+ type: 'standard__webPage',
+ attributes: {
+ url: '/lexconsumable?ESetid=' + this.esetId + '&type=' + this.pageType
+ }
+ };
+ this[NavigationMixin.Navigate](config);
+ }else{
+ this.showSpinner = false;
+ console.log("Error:"+result.errorMsg);
+ this.showMyToast('淇濆瓨澶辫触',result.errorMsg,'error');
+ }
+ })
+ }
+
+ //淇濆瓨璁㈠崟锛堥┏鍥烇級
+ orderCopy(event){
+ this.showSpinner = true;
+ ordrCopy({
+ contractNameStr:this.contractName,
+ cocStr:JSON.stringify(this.coc),
+ agencyProTypeStr:this.agencyProType,
+ accountidStr:this.accountid,
+ consumableorderdetailsRecordsviewStr:JSON.stringify(this.consumableorderdetailsRecordsview),
+ contactDealerStr:JSON.stringify(this.contactDealer),
+ methodTypeStr:this.pageType,
+ hospitalIdStr:this.hospitalId
+ }).then(result=>{
+ this.showSpinner = false;
+ if(result.result == 'Success'){
+ this.esetId = result.eSetId;
+ const config = {
+ type: 'standard__webPage',
+ attributes: {
+ url: '/lexconsumable?ESetid=' + this.esetId + '&type=' + this.pageType
+ }
+ };
+ this[NavigationMixin.Navigate](config);
+ }else{
+ this.showSpinner = false;
+ console.log("Error:"+result.errorMsg);
+ this.showMyToast('淇濆瓨澶辫触',result.errorMsg,'error');
+ }
+ })
+ }
+
+ //缂栬緫
+ editOrder(event){
+ setEditAble({eSetidStr:this.esetId})
+ .then(result=>{
+ if(result.result == 'Success'){
+ const config = {
+ type: 'standard__webPage',
+ attributes: {
+ url: result.url
+ }
+ };
+ this[NavigationMixin.Navigate](config);
+ }else{
+ this.showSpinner = false;
+ console.log("Error:"+result.errorMsg);
+ this.showMyToast('缂栬緫澶辫触',result.errorMsg,'error');
+ }
+ })
+ }
+
+ //鎵撳嵃閰嶇疆鍗�
+ printOrder(event){
+ var site = window.location.origin;
+ const config = {
+ type: 'standard__webPage',
+ attributes: {
+ url: site+'/consumable/PrintConsumblePDF?ESetid='+this.esetId
+ }
+ };
+ this[NavigationMixin.Navigate](config);
+ }
+
+ //涓婁紶閰嶇疆鍗�
+ uploadOrder(event){
+ this.showAttPop = true;
+ }
+
+ //鎻愪氦璁㈠崟
+ submitOrder(event){
+ sorder({eSetidStr:this.esetId,accountidStr:this.accountid})
+ .then(result=>{
+ if(result.result == 'Success'){
+ const config = {
+ type: 'standard__webPage',
+ attributes: {
+ url: result.url
+ }
+ };
+ this[NavigationMixin.Navigate](config);
+ }else{
+ this.showSpinner = false;
+ this.errorMsgs = result.errorMsgList;
+ this.warningMsgs = result.warningMsgList;
+ console.log("Error:"+result.errorMsg);
+ if(result.errorMsg.indexOf("璇蜂笂浼犺璐ч厤缃崟闄勪欢") != -1){
+ result.errorMsg = '璇蜂笂浼犺璐ч厤缃崟闄勪欢';
+ }
+ this.showMyToast('鎻愪氦澶辫触',result.errorMsg,'error');
+ }
+ })
+ .catch(error=>{
+ console.log("Error:"+error);
+ })
+ }
+
+ //鍒犻櫎璁㈠崟
+ deleteOrder(event){
+ if(!window.confirm('鍒犻櫎鏄笉鍙仮澶嶇殑锛屼綘纭瑕佸垹闄ゅ悧锛�')){
+ return;
+ }
+ delConsumable({eSetidStr:this.esetId})
+ .then(result=>{
+ if(result.result == 'Success'){
+ const config = {
+ type: 'standard__webPage',
+ attributes: {
+ url: result.url
+ }
+ };
+ this[NavigationMixin.Navigate](config);
+ }else{
+ this.showSpinner = false;
+ console.log("Error:"+result.errorMsg);
+ this.showMyToast('鍒犻櫎澶辫触',result.errorMsg,'error');
+ }
+ })
+ }
+
+ //鐗逛环閲戦褰曞叆
+ inputOfferPrice(event){
+ this.edoffersPrice = true;
+ if(!(this.editAble || this.edoffersPrice)){
+ this.showEditBtn = true;
+ this.showOfferPriceInputBtn = true;
+ }else{
+ this.showEditBtn = false;
+ this.showOfferPriceInputBtn = false;
+ }
+ if(!(this.editDelCommitBtnDisabled || this.editAble || this.edoffersPrice)){
+ this.showPrintSheetBtn = true;
+ this.showUploadSheetBtn = true;
+ this.showSubOrderbtn = true;
+ this.showDeleteBtn = true;
+ }else{
+ this.showPrintSheetBtn = false;
+ this.showUploadSheetBtn = false;
+ this.showSubOrderbtn = false;
+ this.showDeleteBtn = false;
+ }
+ if((this.editDelCommitBtnDisabled || this.editAble || this.edoffersPrice) && this.coc.Order_status__c != "椹冲洖"){
+ this.showSaveOrderbtn1 = true;
+ }else{
+ this.showSaveOrderbtn1 = false;
+ }
+ }
+
+ //鍐嶇敵璇�
+ reapplyOrder(event){
+ backOrder({eSetidStr:this.esetId})
+ .then(result=>{
+ if(result.result == 'Success'){
+ const config = {
+ type: 'standard__webPage',
+ attributes: {
+ url: result.url
+ }
+ };
+ this[NavigationMixin.Navigate](config);
+ }else{
+ this.showSpinner = false;
+ console.log("Error:"+result.errorMsg);
+ this.showMyToast('鍐嶇敵璇峰け璐�',result.errorMsg,'error');
+ }
+ })
+ }
+
+ //闄勪欢change浜嬩欢
+ attChange(event){
+ if(event.target.files.length > 0) {
+ this.filesUploaded = event.target.files;
+ this.fileName = event.target.files[0].name;
+ console.log('this.fileName:'+this.fileName);
+ }
+ }
+
+ //鏄惁鏄剧ず闄勪欢绉婚櫎
+ get attDelBtn(){
+ if(this.fileName != '' && this.fileName != null && this.fileName != '璇烽�夋嫨涓�涓枃浠朵笂浼�'){
+ return true;
+ }else{
+ return false;
+ }
+ }
+
+ //鍏抽棴闄勪欢寮圭獥
+ closePop(){
+ this.showAttPop = false;
+ this.filesUploaded = [];
+ this.fileName = null;
+ }
+
+ //绉婚櫎闄勪欢
+ removeAtt(){
+ this.filesUploaded = [];
+ this.fileName = '';
+ }
+
+ //涓婁紶闄勪欢
+ uploadAtt(event){
+ if(this.filesUploaded.length > 0) {
+ this.showPopSpinner = true;
+ this.file = this.filesUploaded[0];
+ if (this.file.size > this.MAX_FILE_SIZE) {
+ this.showPopSpinner = false;
+ window.console.log('鏂囦欢杩囧ぇ');
+ 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);
+ this.saveToFile();
+ });
+ this.fileReader.readAsDataURL(this.file);
+ }
+ else {
+ this.fileName = '璇烽�夋嫨涓�涓枃浠朵笂浼�';
+ }
+ this.showPopSpinner = false;
+ }
+
+ //璋冪敤涓婁紶闄勪欢鍚庡彴鏂规硶
+ saveToFile() {
+ // this.showSpinner = true;
+ filesUpload({pId:this.esetId, fileName: this.file.name, base64Data: encodeURIComponent(this.fileContents)})
+ .then(result => {
+ this.showPopSpinner = false;
+ if(result.result == 'Success'){
+ // this.showMyToast('涓婁紶鎴愬姛','','success');
+ this.closePop();
+ window.location.reload();
+ }else{
+ console.log("Error:"+result.errorMsg);
+ this.showMyToast('涓婁紶澶辫触',result.errorMsg,'error');
+ }
+ })
+ .catch(error => {
+ this.showPopSpinner = false;
+ this.showMyToast('涓婁紶澶辫触',error,'error');
+ });
+ }
+
+ //鎵撳紑鎼滅储寮圭獥锛屽苟鍒濆鍖栧脊绐�
+ showSearchHos(event){
+ initHospital()
+ .then(result=>{
+ if(result.result == 'Success'){
+ this.showAttHosPop = true;
+ this.hospitalList = result.attList;
+ for(var i in this.hospitalList){
+ if(this.hospitalList[i].State_Master__c){
+ this.hospitalList[i]['StateMaster'] = this.hospitalList[i].State_Master__r.Name;
+ }
+ }
+ }else{
+ console.log("Error:"+result.errorMsg);
+ this.showMyToast('鍒濆鍖栨绱㈠尰闄㈤〉闈㈠け璐�',result.errorMsg,'error');
+ }
+ })
+ .catch(error=>{
+ console.log("Error:"+error);
+ this.showMyToast('鍒濆鍖栨绱㈠尰闄㈤〉闈㈠け璐�',error,'error');
+ })
+ }
+
+ //妫�绱㈠尰闄�
+ searchHos(event){
+ searchHospital({searchName:this.searchNameHos, accountId:this.accountid})
+ .then(result=>{
+ if(result.result == 'Success'){
+ this.hospitalList = result.attList;
+ for(var i in this.hospitalList){
+ if(this.hospitalList[i].State_Master__c){
+ this.hospitalList[i]['StateMaster'] = this.hospitalList[i].State_Master__r.Name;
+ }
+ }
+ }else{
+ console.log("Error:"+result.errorMsg);
+ this.showMyToast('鎼滅储澶辫触',result.errorMsg,'error');
+ }
+ })
+ .catch(error=>{
+ console.log("Error:"+error);
+ this.showMyToast('鎼滅储澶辫触',error,'error');
+ })
+ }
+
+ //鍖婚櫌鍚嶇Оchange
+ searchNameHosChange(event){
+ this.searchNameHos = event.detail.value;
+ }
+
+ //鍏抽棴寮圭獥
+ closeHospitalPop(){
+ this.showAttHosPop = false;
+ this.chooseHospital = '';
+ this.chooseHospitalId = '';
+ }
+
+ // //閫夋嫨鍖婚櫌
+ // chooseHos(event){
+ // var hosName = event.target.getAttribute("data-name");
+ // var hosid = event.target.getAttribute("data-hosid");
+ // console.log('hos:'+hosName+'---'+hosid);
+ // this.chooseHospital = hosName;
+ // this.chooseHospitalId = hosid;
+ // }
+
+ chooseHos(event){
+ const row = event.detail.row;
+ this.chooseHospitalId = row.Id;
+ this.chooseHospital = row.Name;
+ console.log('row.Id:'+row.Id);
+ console.log('row.Name:'+row.Name);
+ this.confirmHospital();
+ }
+
+ //纭閫夋嫨鍖婚櫌
+ confirmHospital(){
+ if(this.chooseHospital != '' && this.chooseHospital != null){
+ this.hospitalId = this.chooseHospitalId;
+ this.tempidHp = this.chooseHospitalId;
+ this.hospitalName = this.chooseHospital;
+ this.closeHospitalPop();
+ //娑堥櫎璀﹀憡
+ var arr = [];
+ for(var i in this.warningMsgs){
+ if(this.warningMsgs[i] != '璇烽�夋嫨鍖婚櫌'){
+ arr.push(this.warningMsgs[i]);
+ }
+ }
+ this.warningMsgs = arr;
+ if(this.tempidHp != 'tempId' && this.tempidHp != ''){
+ searchorderdetails({
+ methodTypeStr : this.pageType,
+ accountIdStr : this.accountid,
+ hospitalIdStr : this.hospitalId,
+ contractIdStr : this.contractId,
+ userWorkLocationStr : this.userWorkLocation,
+ accountNameStr : this.accountName,
+ proLimitAndDateList : this.proLimitAndDate,
+ editAbleStr : this.editAble
+ }).then(result=>{
+ if(result.result == 'Success'){
+ this.consumableorderdetailsRecordsview = result.consumableorderdetailsRecordsview;
+ this.getAllChecked();
+ this.showMyToast('鎼滅储鎴愬姛',result.errorMsg,'success');
+ }else{
+ console.log("Error:"+result.errorMsg);
+ if(result.errorMsg == '娌℃湁鎼滅储鍒扮浉鍏虫暟鎹�'){
+ this.showMyToast(result.errorMsg,'','error');
+ }else{
+ this.showMyToast('鎼滅储浜у搧澶辫触',result.errorMsg,'error');
+ }
+ }
+ })
+ .catch(error=>{
+ console.log("Error:"+error);
+ this.showMyToast('鎼滅储浜у搧澶辫触',error,'error');
+ })
+ this.tempidHp = 'tempId';
+ }
+ }else{
+ this.showMyToast('璇烽�夋嫨鍖婚櫌','','error');
+ }
+ }
+
+ //鎵撳紑鍚堝悓妫�绱㈠脊绐楀苟鍒濆鍖�
+ showSearchCon(){
+ initContract({ctype:this.agencyProType})
+ .then(result=>{
+ if(result.result == 'Success'){
+ this.showConPop = true;
+ this.contractList = result.attList;
+ for(var i in this.contractList){
+ if(this.contractList[i].State_Master__c){
+ this.contractList[i]['StateMaster'] = this.contractList[i].State_Master__r.Name;
+ }
+ }
+ }else{
+ console.log("Error:"+result.errorMsg);
+ this.showMyToast('鍒濆鍖栨绱㈠悎鍚岄〉闈㈠け璐�',result.errorMsg,'error');
+ }
+ })
+ .catch(error=>{
+ console.log("Error:"+error);
+ this.showMyToast('鍒濆鍖栨绱㈠悎鍚岄〉闈㈠け璐�',error,'error');
+ })
+ }
+
+ //妫�绱㈠悎鍚�
+ searchCon(){
+ searchContract({searchName:this.searchNameCon, accountId:this.accountid, ctype:this.agencyProType})
+ .then(result=>{
+ if(result.result == 'Success'){
+ this.contractList = result.attList;
+ for(var i in this.contractList){
+ if(this.contractList[i].State_Master__c){
+ this.contractList[i]['StateMaster'] = this.contractList[i].State_Master__r.Name;
+ }
+ }
+ }else{
+ console.log("Error:"+result.errorMsg);
+ this.showMyToast('鎼滅储澶辫触',result.errorMsg,'error');
+ }
+ })
+ .catch(error=>{
+ console.log("Error:"+error);
+ this.showMyToast('鎼滅储澶辫触',error,'error');
+ })
+ }
+
+ searchNameConChange(event){
+ this.searchNameCon = event.detail.value;
+ }
+
+ //鍏抽棴寮圭獥
+ closeContractPop(){
+ this.showConPop = false;
+ this.chooseContract = '';
+ this.chooseContractId = '';
+ }
+
+ //閫夋嫨鍚堝悓
+ // chooseCon(event){
+ // var conName = event.target.getAttribute("data-name");
+ // var conid = event.target.getAttribute("data-hosid");
+ // console.log('hos:'+conName+'---'+conid);
+ // this.chooseContract = conName;
+ // this.chooseContractId = conid;
+ // }
+
+ chooseCon(event){
+ const row = event.detail.row;
+ this.chooseContractId = row.Id;
+ this.chooseContract = row.Name;
+ console.log('row.Id:'+row.Id);
+ console.log('row.Name:'+row.Name);
+ this.confirmContract();
+ }
+
+ //纭閫夋嫨鍚堝悓
+ confirmContract(){
+ if(this.chooseContract != '' && this.chooseContract != null){
+ this.contractId = this.chooseContractId;
+ this.tempidPp = this.chooseContractId;
+ this.contractName = this.chooseContract;
+ this.closeContractPop();
+ if(this.tempidPp != 'tempId' && this.tempidPp != '' && this.contractId != '' && this.pageType == 'promotionorder'){
+ searchorderdetails({
+ methodTypeStr : this.pageType,
+ accountIdStr : this.accountid,
+ hospitalIdStr : this.hospitalId,
+ contractIdStr : this.contractId,
+ userWorkLocationStr : this.userWorkLocation,
+ accountNameStr : this.accountName,
+ proLimitAndDateList : this.proLimitAndDate,
+ editAbleStr : this.editAble
+ }).then(result=>{
+ if(result.result == 'Success'){
+ this.consumableorderdetailsRecordsview = result.consumableorderdetailsRecordsview;
+ this.showMyToast('鎼滅储鎴愬姛',result.errorMsg,'success');
+ }else{
+ console.log("Error:"+result.errorMsg);
+ if(result.errorMsg == '娌℃湁鎼滅储鍒扮浉鍏虫暟鎹�'){
+ this.showMyToast(result.errorMsg,'','error');
+ }else{
+ this.showMyToast('鎼滅储浜у搧澶辫触',result.errorMsg,'error');
+ }
+ }
+ })
+ .catch(error=>{
+ console.log("Error:"+error);
+ this.showMyToast('鎼滅储浜у搧澶辫触',error,'error');
+ })
+ this.tempidPp = 'tempId';
+ }
+ }else{
+ this.showMyToast('璇烽�夋嫨鍚堝悓','','error');
+ }
+ }
+
+ 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/lexConsumable/lexConsumable.js-meta.xml b/force-app/main/default/lwc/lexConsumable/lexConsumable.js-meta.xml
new file mode 100644
index 0000000..d893635
--- /dev/null
+++ b/force-app/main/default/lwc/lexConsumable/lexConsumable.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/lexConsumableOrderManage/lexConsumableOrderManage.html b/force-app/main/default/lwc/lexConsumableOrderManage/lexConsumableOrderManage.html
new file mode 100644
index 0000000..028a891
--- /dev/null
+++ b/force-app/main/default/lwc/lexConsumableOrderManage/lexConsumableOrderManage.html
@@ -0,0 +1,66 @@
+<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={agreementorder}></lightning-button>
+ <template if:true={showHop}>
+ <lightning-button style="margin: 5px;" label="鍖婚櫌鐗逛环" onclick={hospitalorder}></lightning-button>
+ </template>
+ <template if:true={hasSpecial}>
+ <lightning-button style="margin: 5px;" label="淇冮攢璁㈣揣" onclick={promotionorder}></lightning-button>
+ </template>
+ <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: 9%;text-align: right;padding-right:7px;">
+ <div style="color:#696969;font-size:12px;">娑堣�楀搧璁㈠崟鍚嶇О</div>
+ </td>
+ <td style="width: 22%;">
+ <lightning-input type="text" label="娑堣�楀搧璁㈠崟鍚嶇О" value={category1} variant="label-hidden" onchange={category1Change}></lightning-input>
+ </td>
+ <td style="width: 8%;text-align: right;padding-right:7px;">
+ <div style="color:#696969;font-size:12px;">璁㈠崟鏃ユ湡</div>
+ </td>
+ <td style="width: 19%;">
+ <lightning-input type="date" name="orderDate" value={orderDate} label="璁㈠崟鏃ユ湡" variant="label-hidden" onchange={orderDateChange}></lightning-input>
+ </td>
+ <td style="width: 8%;text-align: right;padding-right:7px;">
+ <div style="color:#696969;font-size:12px;">璁㈠崟鐘舵��</div>
+ </td>
+ <td style="width: 19%;">
+ <lightning-combobox name="orderStatus" label="璁㈠崟鐘舵��" value={orderStatus} placeholder="璇烽�夋嫨..." options={provinceOpts} variant="label-hidden" onchange={orderStatusChange}></lightning-combobox>
+ </td>
+ <td style="width: 2%;"></td>
+ <td style="width: 14%;">
+ <lightning-button style="margin: 5px;" label="鎼滅储" onclick={searchProduct}></lightning-button>
+ <lightning-button style="margin: 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;">
+ <lightning-datatable key-field="id" hide-checkbox-column="true" data={raesList} columns={cols}></lightning-datatable>
+ </div>
+ </div>
+ </div>
+ </div>
+ </template>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexConsumableOrderManage/lexConsumableOrderManage.js b/force-app/main/default/lwc/lexConsumableOrderManage/lexConsumableOrderManage.js
new file mode 100644
index 0000000..f145e4c
--- /dev/null
+++ b/force-app/main/default/lwc/lexConsumableOrderManage/lexConsumableOrderManage.js
@@ -0,0 +1,178 @@
+import { LightningElement,wire,api,track } from 'lwc';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+import { NavigationMixin } from 'lightning/navigation';
+import initPage from '@salesforce/apex/LexConsumableOrderManageController.init1';
+import searchConsumableorderdetails from '@salesforce/apex/LexConsumableOrderManageController.searchConsumableorderdetails';
+
+export default class LexConsumableOrderManage extends NavigationMixin(LightningElement) {
+ @track category1;
+ @track orderDate;
+ @track orderStatus = '';
+ @track provinceOpts = [];
+ @track raesList = [];
+ @track title = [];
+ @track agencyProType;
+ @track accountid;
+ @track userWorkLocation;
+ @track hasHop = false;
+ @track showHop = false;
+ @track hasSpecial = false;
+ @track cols = [];
+ @track showSpinner = false;
+ @track showPage = false;
+
+ connectedCallback(){
+ this.showSpinner = true;
+ initPage()
+ .then(result=>{
+ if(result.result == 'Success'){
+ this.provinceOpts = result.provinceOpts;
+ this.title = result.title;
+ this.raesList = result.raesList;
+ this.agencyProType = result.agencyProType;
+ this.accountid = result.accountid;
+ this.userWorkLocation = result.userWorkLocation;
+ this.hasHop = result.hasHop;
+ this.hasSpecial = result.hasSpecial;
+ this.cols = result.cols;
+ if(this.hasHop == true && this.agencyProType == 'ENG'){
+ this.showHop = true;
+ }
+ for(var i in this.raesList){
+ if(this.raesList[i].Order_ForHospital__c){
+ this.raesList[i]['hosUrl'] = '/s/detail/'+this.raesList[i].Order_ForHospital__c;
+ this.raesList[i]['hosName'] = this.raesList[i].Order_ForHospital__r.Name;
+ }
+ this.raesList[i]['nameUrl'] = '/s/lexconsumable?ESetid='+this.raesList[i].Id;
+ }
+ this.showSpinner = false;
+ this.showPage = true;
+ }else{
+ this.showSpinner = false;
+ console.log("Error:"+result.errorMsg);
+ const evt = new ShowToastEvent({
+ title : '鍒濆鍖栭〉闈㈠け璐�',
+ message: result.errorMsg,
+ variant: 'error'
+ });
+ this.dispatchEvent(evt);
+ }
+ })
+ .catch(error=>{
+ this.showSpinner = false;
+ console.log("Error:"+error);
+ })
+ }
+
+ category1Change(event){
+ this.category1 = event.detail.value;
+ console.log('category1:'+this.category1);
+ }
+
+ orderDateChange(event){
+ this.orderDate = event.detail.value;
+ console.log('orderDate:'+this.orderDate);
+ }
+
+ orderStatusChange(event){
+ this.orderStatus = event.detail.value;
+ console.log('orderStatus:'+this.orderStatus);
+ }
+
+ agreementorder(event){
+ const config = {
+ type: 'standard__webPage',
+ attributes: {
+ url: '/lexconsumable?type=agreementorder'
+ }
+ };
+ this[NavigationMixin.Navigate](config);
+ }
+
+ hospitalorder(event){
+ const config = {
+ type: 'standard__webPage',
+ attributes: {
+ url: '/lexconsumable?type=hospitalorder'
+ }
+ };
+ this[NavigationMixin.Navigate](config);
+ }
+
+ promotionorder(event){
+ const config = {
+ type: 'standard__webPage',
+ attributes: {
+ url: '/lexconsumable?type=promotionorder'
+ }
+ };
+ this[NavigationMixin.Navigate](config);
+ }
+
+ searchProduct(event){
+ this.showSpinner = true;
+ searchConsumableorderdetails({categoryStr:this.category1,orderDate:this.orderDate,orderStatus:this.orderStatus,accountidStr:this.accountid,agencyProTypeStr:this.agencyProType,userWorkLocationStr:this.userWorkLocation})
+ .then(result=>{
+ if(result.result == 'Success'){
+ this.raesList = result.raesList;
+ for(var i in this.raesList){
+ if(this.raesList[i].Order_ForHospital__c){
+ this.raesList[i]['hosUrl'] = '/s/detail/'+this.raesList[i].Order_ForHospital__c;
+ this.raesList[i]['hosName'] = this.raesList[i].Order_ForHospital__r.Name;
+ }
+ this.raesList[i]['nameUrl'] = '/s/lexconsumable?ESetid='+this.raesList[i].Id;
+ }
+ this.showSpinner = false;
+ this.showMyToast('鎼滅储鎴愬姛',result.errorMsg,'success');
+ }else{
+ this.showSpinner = false;
+ this.raesList = result.raesList;
+ console.log("Error:"+result.errorMsg);
+ if(result.errorMsg == '娌℃湁鎼滅储鍒扮浉鍏宠鍗�'){
+ this.showMyToast(result.errorMsg,'','error');
+ }else{
+ this.showMyToast('鎼滅储澶辫触',result.errorMsg,'error');
+ }
+ this.dispatchEvent(evt);
+ }
+ })
+ }
+
+ clear(event){
+ this.category1 = '';
+ this.orderDate = null;
+ this.orderStatus = '';
+ searchConsumableorderdetails({categoryStr:this.category1,orderDate:this.orderDate,orderStatus:this.orderStatus,accountidStr:this.accountid,agencyProTypeStr:this.agencyProType,userWorkLocationStr:this.userWorkLocation})
+ .then(result=>{
+ if(result.result == 'Success'){
+ this.raesList = result.raesList;
+ for(var i in this.raesList){
+ if(this.raesList[i].Order_ForHospital__c){
+ this.raesList[i]['hosUrl'] = '/s/detail/'+this.raesList[i].Order_ForHospital__c;
+ this.raesList[i]['hosName'] = this.raesList[i].Order_ForHospital__r.Name;
+ }
+ this.raesList[i]['nameUrl'] = '/s/lexconsumable?ESetid='+this.raesList[i].Id;
+ }
+ this.showMyToast('鎼滅储鎴愬姛',result.errorMsg,'success');
+ }else{
+ this.raesList = result.raesList;
+ console.log("Error:"+result.errorMsg);
+ if(result.errorMsg == '娌℃湁鎼滅储鍒扮浉鍏宠鍗�'){
+ this.showMyToast(result.errorMsg,'','error');
+ }else{
+ this.showMyToast('鎼滅储澶辫触',result.errorMsg,'error');
+ }
+ this.dispatchEvent(evt);
+ }
+ })
+ }
+
+ 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/lexConsumableOrderManage/lexConsumableOrderManage.js-meta.xml b/force-app/main/default/lwc/lexConsumableOrderManage/lexConsumableOrderManage.js-meta.xml
new file mode 100644
index 0000000..d893635
--- /dev/null
+++ b/force-app/main/default/lwc/lexConsumableOrderManage/lexConsumableOrderManage.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/lexContractAuthorize/lexContractAuthorize.css b/force-app/main/default/lwc/lexContractAuthorize/lexContractAuthorize.css
new file mode 100644
index 0000000..af18c76
--- /dev/null
+++ b/force-app/main/default/lwc/lexContractAuthorize/lexContractAuthorize.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/lexContractAuthorize/lexContractAuthorize.html b/force-app/main/default/lwc/lexContractAuthorize/lexContractAuthorize.html
new file mode 100644
index 0000000..bf9cadc
--- /dev/null
+++ b/force-app/main/default/lwc/lexContractAuthorize/lexContractAuthorize.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/lexContractAuthorize/lexContractAuthorize.js b/force-app/main/default/lwc/lexContractAuthorize/lexContractAuthorize.js
new file mode 100644
index 0000000..52329fc
--- /dev/null
+++ b/force-app/main/default/lwc/lexContractAuthorize/lexContractAuthorize.js
@@ -0,0 +1,264 @@
+import { LightningElement,api, track, wire } from 'lwc';
+
+import {CurrentPageReference} from 'lightning/navigation';
+import { CloseActionScreenEvent } from 'lightning/actions';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+import LightningConfirm from 'lightning/confirm';
+import customJSFile from '@salesforce/resourceUrl/CommonUtilJs';
+import { loadScript } from 'lightning/platformResourceLoader';
+import init from '@salesforce/apex/LexContractAuthorizeController.init';
+import getProfileId from '@salesforce/apex/LexContractAuthorizeController.getProfileId';
+import judgeIsAssistantAppliedOutTime from '@salesforce/apex/LexContractAuthorizeController.judgeIsAssistantAppliedOutTime';
+import searchOpportunity from '@salesforce/apex/LexContractAuthorizeController.searchOpportunity';
+import checkDangerItem from '@salesforce/apex/LexContractAuthorizeController.checkDangerItem';
+import oppCheck from '@salesforce/apex/LexContractAuthorizeController.oppCheck';
+import updReg from '@salesforce/apex/LexContractAuthorizeController.updReg';
+import updateOppotunity from '@salesforce/apex/LexContractAuthorizeController.updateOppotunity';
+
+export default class lexContractAuthorize extends LightningElement {
+
+
+ @api recordId;
+ IsLoading=true;
+ data;
+ @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.data=result;
+ this.cancelSubmit().then(res=>{
+ this.IsLoading=false;
+ this.dispatchEvent(new CloseActionScreenEvent());
+ });
+ }
+ }).catch(err=>{
+ console.log("error:");
+ console.log(err.message);
+ }).finally(()=>{
+
+ });
+ }
+
+
+
+ async cancelSubmit(){
+
+ let oppid = this.data.Id;
+ let decide_quote = this.data.Estimation_Decision__c;
+ let complete_day = this.data.Contract_DB_complite_day__c;
+ let if_contract_auth = this.data.Contract_Authorize__c;
+ let if_contract_lock = this.data.Contract_Authorize_Lock__c;
+ let If_Need_Authorize = this.data.If_Need_Authorize__c;
+ let Authorized_DB_No =this.data.Authorized_DB_No__c;
+ let profileId = await getProfileId({});
+ let spoURL = this.data.SPO_URL__c;
+ //SWAG-CG88AG銆愬鎵樸�戞彁鍑轰环鏍肩敵璇锋槸鍦ㄥ崗璁湁鏁堟湡鍐咃紝鍏佽WIN fy start
+ let DecidedQuoteNo = this.data.Estimation_No__c;
+ //SWAG-CG88AG銆愬鎵樸�戞彁鍑轰环鏍肩敵璇锋槸鍦ㄥ崗璁湁鏁堟湡鍐咃紝鍏佽WIN fy end
+ //2022-03-22 yjk SWAG-CCL6R7
+ let Closing_Bid_Date = this.data.Closing_Bid_Date__c;//13.涓爣鏃�
+ let Closing_Bid_Date_Bid = this.data.Closing_Bid_Date_Bid__c;
+
+ if (profileId != '00e10000000Y3o5' && profileId != '00e10000000Nab7' &&
+ profileId != '00e10000000xnpR' && profileId != '00e10000000xyK6' && profileId != '00e10000000xnpW' && profileId != '00e10000000NbCE' && profileId != '00e10000000Nb7i'
+ && profileId != '00e10000000xyK6') {
+
+ const event = new ShowToastEvent({
+ title: '鎻愮ず淇℃伅',
+ message:"鎮ㄦ病鏈夊悎鍚岀敵璇风殑鏉冮檺銆傝鑱旂郴绯荤粺绠$悊鍛樸��"
+ });
+ this.dispatchEvent(event);
+ return;
+ }
+ if(!Closing_Bid_Date){
+ const event = new ShowToastEvent({
+ title: '鎻愮ず淇℃伅',
+ message:"璇峰~鍐�13.涓爣鏃ャ��"
+ });
+ this.dispatchEvent(event);
+ return;
+ }
+
+ if (decide_quote != '1') {
+ const event = new ShowToastEvent({
+ title: '鎻愮ず淇℃伅',
+ message:'璇峰厛鍐冲畾鎶ヤ环銆�'
+ });
+ this.dispatchEvent(event);
+ return;
+ }
+ //SWAG-CG88AG銆愬鎵樸�戞彁鍑轰环鏍肩敵璇锋槸鍦ㄥ崗璁湁鏁堟湡鍐咃紝鍏佽WIN fy start
+ if (DecidedQuoteNo !="") {
+ let judg=await judgeIsAssistantAppliedOutTime({Quoteid:DecidedQuoteNo});
+ // alert('judg寰楀�硷細'+judg);
+ // return;
+ if(judg == 'false'){
+ const event = new ShowToastEvent({
+ title: '鎻愮ず淇℃伅',
+ message:'缁忛攢鍟嗗崗璁凡杩囨湡锛岃閲嶆柊鍋氭姤浠疯绠椼��'
+ });
+ this.dispatchEvent(event);
+ return;
+ }
+ }
+ //SWAG-CG88AG銆愬鎵樸�戞彁鍑轰环鏍肩敵璇锋槸鍦ㄥ崗璁湁鏁堟湡鍐咃紝鍏佽WIN fy end
+ // 20221009 ljh SWAG-CK29AJ start
+ let ClosingBidDate =this.data.Closing_Bid_Date__c;
+ let BidDate = this.data.Bid_Date__c;
+ if( ClosingBidDate < BidDate){
+ const event = new ShowToastEvent({
+ title: '鎻愮ず淇℃伅',
+ message:'13.涓爣鏃ヤ笉鑳芥棭浜�12.鎷涙爣鏃�'
+ });
+ this.dispatchEvent(event);
+ return;
+ }
+ // 20221009 ljh SWAG-CK29AJ end
+
+ if(If_Need_Authorize == '1' && (Authorized_DB_No == null || Authorized_DB_No == '')){
+ const event = new ShowToastEvent({
+ title: '鎻愮ず淇℃伅',
+ message:'璇峰厛鍋氭巿鏉冪敵璇枫��'
+ });
+ this.dispatchEvent(event);
+ return;
+ }
+
+ if (this.data.Cnt_Lost_cancel_Draft__c > 0) {
+ if(!confirm('璇环鏈夎崏妗堜腑鐨勫彇娑�/澶卞崟鎶ュ憡锛屾槸鍚︾户缁紵')){
+ return ;
+ }
+ } else if (this.data.Cnt_Lost_cancel_report__c - this.data.Cnt_Lost_cancel_Draft__c > 0) {
+ const event = new ShowToastEvent({
+ title: '鎻愮ず淇℃伅',
+ message:'璇环鏈夊凡鎻愪氦鐨勫彇娑�/澶卞崟鎶ュ憡銆�'
+ });
+ this.dispatchEvent(event);
+ return;
+ }
+
+ console.log("11");
+
+ // 2022-03-31 鏂拌储骞翠环鏍艰皟鏁� start
+ let decide_date = this.data.DecideQuoteDate__c;
+ let before = new Date("2022-4-1");
+ if (decide_date != null && decide_date < before) {
+ const event = new ShowToastEvent({
+ title: '鎻愮ず淇℃伅',
+ message:'鎶ヤ环鍙樻洿锛岃閲嶆柊鍋欴ecide銆�'
+ });
+ this.dispatchEvent(event);
+ return;
+ }
+ // 2022-03-31 鏂拌储骞翠环鏍艰皟鏁� end
+ let sqlResult = await searchOpportunity({oppid:oppid});
+ let records = sqlResult;
+ console.log(records);
+ if ((complete_day != null && complete_day != '') && records.Contract_Authorize_Lock__c== 'true') {
+ const event = new ShowToastEvent({
+ title: '鎻愮ず淇℃伅',
+ message:'鍚堝悓鐢宠宸茬粡瀹屾垚锛岃涓嶈閲嶅鎻愪氦銆�'
+ });
+ this.dispatchEvent(event);
+ return;
+ }
+ // if ('{!Opportunity.AcecideCntCheck__c}' != '1') {
+ // alert('闃胯タ璧涘璇环鍙兘鍖呭惈鍗卞寲鍝侊紝鎴栬�咃紝鏅�氳浠蜂笉鑳藉寘鍚嵄鍖栧搧銆�');
+ // return;
+ // }
+ console.log("111");
+ if ((complete_day == null || complete_day == '') && records.Contract_Authorize_Lock__c== 'true') {
+ const event = new ShowToastEvent({
+ title: '鎻愮ず淇℃伅',
+ message:'鍚堝悓姝e湪鐢宠涓紝璇蜂笉瑕侀噸澶嶆彁浜ゃ��'
+ });
+ this.dispatchEvent(event);
+ return;
+ }
+
+ if (this.data.IF_Submit__c == '1') {
+ const event = new ShowToastEvent({
+ title: '鎻愮ず淇℃伅',
+ message:'涓婁紶澶辫触锛岃鑱旂郴绯荤粺绠$悊鍛�!'
+ });
+ this.dispatchEvent(event);
+ return;
+ }
+ console.log("111");
+ let angency = this.data.Agency1__c;
+ if(this.data.Trade__c == '澶栬部' || this.data.Sales_Root__c == 'OCM鐩存帴璨╁2'){
+ let rtn = await updReg({oppid:oppid});
+ } else {
+ if(this.data.Is_Corrosion__c == '1'){
+ let rtn1 = await checkDangerItem({agency1:angency});
+ if (rtn1 != 'OK') {
+ const event = new ShowToastEvent({
+ title: '鎻愮ず淇℃伅',
+ message:rtn1
+ });
+ this.dispatchEvent(event);
+ return;
+ }
+ }else{
+ let rtn = await oppCheck({oppid:oppid, saveFlg:'1'});
+ if (rtn != 'OK') {
+ const event = new ShowToastEvent({
+ title: '鎻愮ず淇℃伅',
+ message:rtn
+ });
+ this.dispatchEvent(event);
+ return;
+ }
+ }
+ }
+ console.log("222");
+
+ let flag=false;
+ await updateOppotunity({recordId:this.recordId}).then(res=>{
+ console.log(res);
+ if(res!=null&&res.success==false){
+ let messages ="";
+ flag=true;
+ messages=res.errors[0];
+ const event = new ShowToastEvent({
+ title: '鎻愮ず淇℃伅',
+ message:"鎿嶄綔澶辫触,鎻愮ず淇℃伅:"+messages,
+ });
+ this.dispatchEvent(event);
+ return;
+ }
+ });
+ if(flag)return;
+ console.log("333");
+ const event = new ShowToastEvent({
+ title: '鎻愮ず淇℃伅',
+ message:'鎻愪氦鎴愬姛锛佽鍦⊿PO绯荤粺涓畬鎴愬悎鍚岀敵璇枫��'
+ });
+ this.dispatchEvent(event);
+ //window.location.reload();
+ window.open(spoURL);
+ }
+
+
+
+
+
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexContractAuthorize/lexContractAuthorize.js-meta.xml b/force-app/main/default/lwc/lexContractAuthorize/lexContractAuthorize.js-meta.xml
new file mode 100644
index 0000000..93e66fc
--- /dev/null
+++ b/force-app/main/default/lwc/lexContractAuthorize/lexContractAuthorize.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lexContractAuthorize">
+ <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/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;">: </div>
+ <div style="height:25px;">: </div>
+ <!-- <template layout="none" if:true="{!IF(params.salesRoot == '璨╁2搴�', true, false)}"> -->
+ <template layout="none" if:true={params.salesRoot}>
+ <div style="height:25px;">: </div>
+ </template>
+ <div style="height:25px;">: </div>
+ </td>
+ <td>
+ <div style="height:25px;"> {params.quoteNo}</div>
+ <div style="height:25px;"> {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;"> {params.agentNameForContract}</div>
+ </template>
+ <div style="height:25px;"> {params.addressName}</div>
+ </td>
+ <td>
+ <div style="height:25px;"> </div>
+ <div style="height:25px;"> </div>
+ <template layout="none" if:true={params.salesRoot}>
+ <div style="height:25px;"> </div>
+ </template>
+ <div style="height:25px;"> </div>
+ </td>
+ <td>
+ <div style="height:25px;"> </div>
+ <div style="height:25px;">{Quote_Department}</div>
+ <template layout="none" if:true={params.salesRoot}>
+ <div style="height:25px;"> </div>
+ </template>
+ <div style="height:25px;"> </div>
+ </td>
+ <td>
+ <div style="height:25px;"> </div>
+ <div style="height:25px;">: </div>
+ <template layout="none" if:true={params.salesRoot}>
+ <div style="height:25px;"> </div>
+ </template>
+ <div style="height:25px;"> </div>
+ </td>
+ <td>
+ <div style="height:25px;"> </div>
+ <div style="height:25px;"> {params.departmentName}</div>
+ <template layout="none" if:true={params.salesRoot}>
+ <div style="height:25px;"> </div>
+ </template>
+ <div style="height:25px;"> </div>
+ </td>
+ </tr>
+ </table>
+ <table style="top:0px; right:0px; position:absolute; height:100%;">
+ <tr>
+ <td>
+ <div style="height:25px;"> </div>
+ <div style="height:25px;"> </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;"> </div>
+ </template>
+ <!-- 鐢靛瓙绛炬敹ID鍙� wql 绮剧悽鎶�鏈� 2020/11/20 end -->
+ <div style="height:25px;">{Contract_Detail_Print_Date}</div>
+ </td>
+ <td>
+ <div style="height:25px;"> </div>
+ <div style="height:25px;"> </div>
+ <div style="height:25px;">: </div>
+ <div style="height:25px;">: </div>
+ </td>
+ <td>
+ <div style="height:25px;"> </div>
+ <div style="height:25px;"> </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;"> </div>
+ </template>
+ <!-- 鐢靛瓙绛炬敹ID鍙� wql 绮剧悽鎶�鏈� 2020/11/20 end -->
+ <div style="height:25px;"> {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;">: </div>
+ </td>
+ <td>
+ <div style="height:25px;">
+ <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 {Contract_Detail_System_Code}</div>
+ <div style="height:25px;">End user {Quote_Client_Name}</div>
+ <div style="height:25px;">Department {Quote_Department}</div>
+ <div style="height:25px;">The Buyer {Contract_Detail_Dealer_Name}</div>
+ </td>
+ <td>
+ <div style="height:25px;">: </div>
+ <div style="height:25px;">: </div>
+ <div style="height:25px;">: </div>
+ <div style="height:25px;">: </div>
+ </td>
+ <td>
+ <div style="height:25px;"> {!params.quoteNo}</div>
+ <div style="height:25px;"> {!params.clientName}</div>
+ <div style="height:25px;"> {!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;"> {params.agentNameForContract}</div>
+ </template>
+ <!-- <template if:true="{!IF(params.agentNameForContract != null && params.lenAgentName < 40, true, false)}"> -->
+ <template>
+ <div style="height:25px;"> {params.agentNameForContract}</div>
+ </template>
+ </td>
+ </tr>
+ </table>
+ <table style="top:0px; right:0px; position:absolute; height:100%;">
+ <tr>
+ <td>
+ <div style="height:25px;"> </div>
+ <div style="height:25px;"> </div>
+ <!-- -->
+ <div style="height:25px;">Print date {Contract_Detail_Print_Date}</div>
+ <div style="height:25px;"> ID Code</div>
+ </td>
+ <td>
+ <div style="height:25px;"> </div>
+ <div style="height:25px;"> </div>
+ <!-- <div style="height:25px;"> </div> -->
+ <div style="height:25px;">: </div>
+ <div style="height:25px;">: </div>
+ </td>
+ <td>
+ <div style="height:25px;"> </div>
+ <div style="height:25px;"> </div>
+ <div style="height:25px;"> {params.offerPrintDateStringContract}</div>
+ <div style="height:25px;"> </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">
+ Description</apex:facet>
+ </apex:column>
+ <apex:column styleClass="detailRowNumeric">
+ <apex:facet name="header"> Quantity</apex:facet>
+ </apex:column>
+ <apex:column styleClass="detailRowNumeric">
+ <apex:facet name="header"> Special Warranty 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/lexCopyPIAddress/lexCopyPIAddress.html b/force-app/main/default/lwc/lexCopyPIAddress/lexCopyPIAddress.html
new file mode 100644
index 0000000..d044dbb
--- /dev/null
+++ b/force-app/main/default/lwc/lexCopyPIAddress/lexCopyPIAddress.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/lexCopyPIAddress/lexCopyPIAddress.js b/force-app/main/default/lwc/lexCopyPIAddress/lexCopyPIAddress.js
new file mode 100644
index 0000000..90e807f
--- /dev/null
+++ b/force-app/main/default/lwc/lexCopyPIAddress/lexCopyPIAddress.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/lexAddressCtl.init';
+
+export default class LexCopyPIAddress 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/lexCopyPIAddress/lexCopyPIAddress.js-meta.xml b/force-app/main/default/lwc/lexCopyPIAddress/lexCopyPIAddress.js-meta.xml
new file mode 100644
index 0000000..3392981
--- /dev/null
+++ b/force-app/main/default/lwc/lexCopyPIAddress/lexCopyPIAddress.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/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/lexCopyWithAsset/lexCopyWithAsset.html b/force-app/main/default/lwc/lexCopyWithAsset/lexCopyWithAsset.html
new file mode 100644
index 0000000..22c6a45
--- /dev/null
+++ b/force-app/main/default/lwc/lexCopyWithAsset/lexCopyWithAsset.html
@@ -0,0 +1,14 @@
+<!--
+ * @Description:
+ * @version:
+ * @Author: chen jing wu
+ * @Date: 2023-04-21 14:32:09
+ * @LastEditors: chen jing wu
+ * @LastEditTime: 2023-04-21 14:32:48
+-->
+<template>
+ <div class="lexCopyWithAssetHolder" 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/lexCopyWithAsset/lexCopyWithAsset.js b/force-app/main/default/lwc/lexCopyWithAsset/lexCopyWithAsset.js
new file mode 100644
index 0000000..9f9694c
--- /dev/null
+++ b/force-app/main/default/lwc/lexCopyWithAsset/lexCopyWithAsset.js
@@ -0,0 +1,69 @@
+/*
+ * @Description:
+ * @version:
+ * @Author: chen jing wu
+ * @Date: 2023-04-21 14:32:09
+ * @LastEditors: chen jing wu
+ * @LastEditTime: 2023-04-21 14:44:55
+ */
+import { api, wire,LightningElement } from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+import init from '@salesforce/apex/OpportunityLightingButtonController.initForCopyWithAssetButton';
+export default class LexCopyWithAsset extends LightningElement {
+ @api recordId;
+ sapSendOK;
+ name;
+ isAuthorized;
+ @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);
+ }
+ connectedCallback(){
+ init({
+ recordId: this.recordId
+ }).then(result=>{
+ this.sapSendOK = result.sapSendOK;
+ this.name = result.name;
+ this.isAuthorized = result.isAuthorized;
+ this.copyWithAsset();
+ })
+ }
+ copyWithAsset(){
+ if(this.sapSendOK){
+ this.showToast("璇环宸茬粡WIN锛屼笉鑳借繘琛屾媶鍗�","error");
+ } else {
+ window.open(
+ "/"
+ + this.recordId
+ + "/e?clone=1&retURL=%2F006p0000004bsox&_CONFIRMATIONTOKEN=VmpFPSxNakF4Tnkwd05DMHdPVlF3TmpvME16bzFPUzR5TWpsYSxuc010bXY2U1MxYWgzTHcwNzdUX0VpLE5HUmlaR013&common.udd.actions.ActionsUtilORIG_URI=%2F006p0000004bsox%2Fe&cloneli=1&CF00N10000006qHai="
+ + this.name
+ +"&CF00N10000006qHai_lkid="
+ + this.recordId
+ + "&00N10000009Glvn="
+ + this.isAuthorized
+ + "&00N10000008pnmd=1&00N10000002Cb9P=&00N10000002DItz=&00N10000003O9oO=&00N10000003O9o4=&00N10000002CYHy=&00Np00000030gzb=&00Np0000002ajGe=&00Np00000034Qlb");
+ }
+ this.dispatchEvent(new CloseActionScreenEvent());
+ }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCopyWithAsset/lexCopyWithAsset.js-meta.xml b/force-app/main/default/lwc/lexCopyWithAsset/lexCopyWithAsset.js-meta.xml
new file mode 100644
index 0000000..8b2c3d6
--- /dev/null
+++ b/force-app/main/default/lwc/lexCopyWithAsset/lexCopyWithAsset.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/lexCreateNewServiceContract/lexCreateNewServiceContract.html b/force-app/main/default/lwc/lexCreateNewServiceContract/lexCreateNewServiceContract.html
new file mode 100644
index 0000000..d044dbb
--- /dev/null
+++ b/force-app/main/default/lwc/lexCreateNewServiceContract/lexCreateNewServiceContract.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/lexCreateNewServiceContract/lexCreateNewServiceContract.js b/force-app/main/default/lwc/lexCreateNewServiceContract/lexCreateNewServiceContract.js
new file mode 100644
index 0000000..0b30c96
--- /dev/null
+++ b/force-app/main/default/lwc/lexCreateNewServiceContract/lexCreateNewServiceContract.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';
+
+export default class LexCreateNewServiceContract extends LightningElement {
+ @api recordId;
+ str;
+ IsLoading = true;
+ Id;
+ HospitalC;
+ HospitalIdC;
+ DepartmentClassC;
+ DepartmentClassIdC;
+ 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 => {
+ console.log(result);
+ if (result != null) {
+ this.IsLoading = false;
+ this.Id = result.Id;
+ this.HospitalC = result.HospitalC;
+ this.HospitalIdC = result.HospitalIdC;
+ this.DepartmentClassC = result.DepartmentClassC;
+ this.DepartmentClassIdC = result.DepartmentClassIdC;
+ this.Name = result.Name;
+
+ this.PrintInspectupReport();
+ this.dispatchEvent(new CloseActionScreenEvent());
+ }
+ }).catch(error => {
+ console.log(error);
+ })
+ }
+
+ // 鎶ュ憡涔︽槑缁嗙紪杈�
+ PrintInspectupReport() {
+ var Hospital = this.HospitalC;
+ var Hospitalid = this.HospitalIdC;
+ var Department = this.DepartmentClassC;
+ var Departmentid = this.DepartmentClassIdC;
+ var accountname = this.Name;
+ var accountid = this.Id;
+
+
+ var url = 'a0H/e?CF00N10000002Dx56=' + Hospital + '&CF00N10000002Dx56_lkid=' +
+ Hospitalid + '&CF00N10000002Dx4p=' + Department + '&CF00N10000002Dx4p_lkid=' +
+ Departmentid + '&CF00N10000002Dx4q=' + accountname + '&CF00N10000002Dx4q_lkid=' +
+ accountid + '&RecordType=01210000000gTYq';
+
+ console.log(url);
+
+ // window.top.location.href = url;
+ }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCreateNewServiceContract/lexCreateNewServiceContract.js-meta.xml b/force-app/main/default/lwc/lexCreateNewServiceContract/lexCreateNewServiceContract.js-meta.xml
new file mode 100644
index 0000000..3392981
--- /dev/null
+++ b/force-app/main/default/lwc/lexCreateNewServiceContract/lexCreateNewServiceContract.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/lexCreateReportMaintenanceTask/lexCreateReportMaintenanceTask.html b/force-app/main/default/lwc/lexCreateReportMaintenanceTask/lexCreateReportMaintenanceTask.html
new file mode 100644
index 0000000..d044dbb
--- /dev/null
+++ b/force-app/main/default/lwc/lexCreateReportMaintenanceTask/lexCreateReportMaintenanceTask.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/lexCreateReportMaintenanceTask/lexCreateReportMaintenanceTask.js b/force-app/main/default/lwc/lexCreateReportMaintenanceTask/lexCreateReportMaintenanceTask.js
new file mode 100644
index 0000000..ea1d95a
--- /dev/null
+++ b/force-app/main/default/lwc/lexCreateReportMaintenanceTask/lexCreateReportMaintenanceTask.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 LexCreateReportMaintenanceTask 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/lexCreateReportMaintenanceTask/lexCreateReportMaintenanceTask.js-meta.xml b/force-app/main/default/lwc/lexCreateReportMaintenanceTask/lexCreateReportMaintenanceTask.js-meta.xml
new file mode 100644
index 0000000..3392981
--- /dev/null
+++ b/force-app/main/default/lwc/lexCreateReportMaintenanceTask/lexCreateReportMaintenanceTask.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/lexCopyRepair.html b/force-app/main/default/lwc/lexCustomDelete/lexCopyRepair.html
new file mode 100644
index 0000000..87f391a
--- /dev/null
+++ b/force-app/main/default/lwc/lexCustomDelete/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/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..0c3c21f
--- /dev/null
+++ b/force-app/main/default/lwc/lexCustomDelete/lexCustomDelete.js
@@ -0,0 +1,100 @@
+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';
+import {
+ ShowToastEvent
+} from 'lightning/platformShowToastEvent';
+
+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.淇悊鍝佽繑閫侀樁娈�"
+ ) {
+ this.ShowToastEvent("涓嶆槸鑽夋涓紝涓嶈兘鍒犻櫎", "error")
+ } else if (rp.Status__c == "4.淇悊鍝佽繑閫侀樁娈�" &&
+ (rp.SAP_Transfer_time__c != undefined || rp.Repair_Ordered_Date__c != undefined)
+ ) {
+ this.ShowToastEvent("宸茬粡鍙戦�佽繃SAP锛屼笉鑳藉垹闄�", "error")
+ } 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)) {
+ this.ShowToastEvent("涓嶆槸鎵�鏈変汉銆佸垱寤轰汉鎴朏SE涓昏礋璐d汉锛屼笉鑳藉垹闄�", "error")
+ } else {
+ if (confirm("鏄惁纭畾锛�")) {
+ deleteRepair({
+ rid: rp.Id
+ }).then(rtn => {
+ if (rtn == "OK") {
+ window.location.href = "/a0J/o";
+ } else {
+ alert(rtn);
+ }
+ })
+ }
+ }
+ }
+ })
+ }
+
+ 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/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/customOutputGoods.html b/force-app/main/default/lwc/lexCustomLightningDatatable/customOutputGoods.html
new file mode 100644
index 0000000..3dedf49
--- /dev/null
+++ b/force-app/main/default/lwc/lexCustomLightningDatatable/customOutputGoods.html
@@ -0,0 +1,3 @@
+<template>
+ <c-custom-output-good output-value={typeAttributes.outputValue} output-type={typeAttributes.type} record-id={typeAttributes.recordId}></c-custom-output-good>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCustomLightningDatatable/customReturnGoodInput.html b/force-app/main/default/lwc/lexCustomLightningDatatable/customReturnGoodInput.html
new file mode 100644
index 0000000..00045c0
--- /dev/null
+++ b/force-app/main/default/lwc/lexCustomLightningDatatable/customReturnGoodInput.html
@@ -0,0 +1,3 @@
+<template>
+ <c-lex-return-good-cus-input input-value={typeAttributes.inputValue} box-price={typeAttributes.boxPrice} record-id={typeAttributes.recordId}></c-lex-return-good-cus-input>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCustomLightningDatatable/customShipmentAmount.html b/force-app/main/default/lwc/lexCustomLightningDatatable/customShipmentAmount.html
new file mode 100644
index 0000000..6b8fb9f
--- /dev/null
+++ b/force-app/main/default/lwc/lexCustomLightningDatatable/customShipmentAmount.html
@@ -0,0 +1,7 @@
+<template>
+ <c-custom-shipment-Amount-comp
+ shipment-amount={typeAttributes.shipmentAmount}
+ record-id={typeAttributes.recordId}>
+
+ </c-custom-shipment-Amount-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
new file mode 100644
index 0000000..9213e1e
--- /dev/null
+++ b/force-app/main/default/lwc/lexCustomLightningDatatable/customShipmentNumber.html
@@ -0,0 +1,9 @@
+<template>
+ <c-custom-shipment-number-comp
+ style="border-color: red;"
+ 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
new file mode 100644
index 0000000..56d603a
--- /dev/null
+++ b/force-app/main/default/lwc/lexCustomLightningDatatable/customShippingUnitPrice.html
@@ -0,0 +1,8 @@
+<template>
+ <c-custom-shipping-unit-price-comp
+ 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..c35b7ed
--- /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} value-type={typeAttributes.valueType}></c-lex-custom-table-input>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCustomLightningDatatable/customUnit.html b/force-app/main/default/lwc/lexCustomLightningDatatable/customUnit.html
new file mode 100644
index 0000000..b1dddef
--- /dev/null
+++ b/force-app/main/default/lwc/lexCustomLightningDatatable/customUnit.html
@@ -0,0 +1,11 @@
+<!-- sldsValidatorIgnore -->
+<!-- sldsValidatorIgnore -->
+<template>
+ <c-custom-unit-comp
+ unit-value={typeAttributes.unitValue}
+ unit-options={typeAttributes.unitOptions}
+ record-id={typeAttributes.recordId}
+ onunitchange={handleDataChange}
+ >
+ </c-custom-unit-comp>
+</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.html b/force-app/main/default/lwc/lexCustomLightningDatatable/lexCustomLightningDatatable.html
new file mode 100644
index 0000000..27e0f69
--- /dev/null
+++ b/force-app/main/default/lwc/lexCustomLightningDatatable/lexCustomLightningDatatable.html
@@ -0,0 +1,3 @@
+<template>
+
+</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
new file mode 100644
index 0000000..eb6822a
--- /dev/null
+++ b/force-app/main/default/lwc/lexCustomLightningDatatable/lexCustomLightningDatatable.js
@@ -0,0 +1,59 @@
+import LightningDatatable from 'lightning/datatable';
+import customUnitTemplate from './customUnit.html';
+import customShipmentNumberTemplate from './customShipmentNumber.html';
+import customShippingUnitPriceTemplate from './customShippingUnitPrice.html';
+import customShipmentAmountTemplate from './customShipmentAmount.html';
+import customDiffReasonTemplate from './lexCustomDiffReason.html';
+import attachmentTypeTemplate from './customAttachmentType.html';
+import customTableInputTemplate from './customTableInput.html';
+import customOutputGoodsTemplate from './customOutputGoods.html';
+import customReturnGoodInputTemplate from './customReturnGoodInput.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'],
+ },
+ customShipment: {
+ template: customShipmentNumberTemplate,
+ typeAttributes: ['shipmentNumber','recordId'],
+ },
+ customShipmentUnitPrice: {
+ template: customShippingUnitPriceTemplate,
+ typeAttributes: ['shippingUnitPrice','recordId'],
+ },
+ customShipmentAmount: {
+ template: customShipmentAmountTemplate,
+ typeAttributes: ['shipmentAmount','recordId'],
+ },
+ customDiffReason : {
+ template: customDiffReasonTemplate,
+ typeAttributes: ['ProdId'],
+ },
+ customAttachmentType: {
+ template: attachmentTypeTemplate,
+ typeAttributes: ['typeValue','typeOptions','recordId','isDisabledAttachment'],
+ },
+ customTableInput: {
+ template: customTableInputTemplate,
+ typeAttributes:['inputValue','recordId','valueType'],
+ },
+ customOutputGood:{
+ template: customOutputGoodsTemplate,
+ typeAttributes:['outputValue','type','recordId'],
+ },
+ customReturnGoodInput:{
+ template: customReturnGoodInputTemplate,
+ typeAttributes:['inputValue','boxPrice','recordId'],
+ }
+ };
+ constructor() {
+ super();
+ Promise.all([
+ loadStyle(this, LexCustomDataTable),
+ ]).then(() => {})
+ }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCustomLightningDatatable/lexCustomLightningDatatable.js-meta.xml b/force-app/main/default/lwc/lexCustomLightningDatatable/lexCustomLightningDatatable.js-meta.xml
new file mode 100644
index 0000000..f8c5cb4
--- /dev/null
+++ b/force-app/main/default/lwc/lexCustomLightningDatatable/lexCustomLightningDatatable.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/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..587e66b
--- /dev/null
+++ b/force-app/main/default/lwc/lexCustomTableInput/lexCustomTableInput.html
@@ -0,0 +1,8 @@
+<template>
+ <template if:true={showInputType}>
+ <lightning-input type="number" name="cusInput" label="cusInput" variant="label-hidden" value={inputValue} onchange={valueChange}></lightning-input>
+ </template>
+ <template if:false={showInputType}>
+ <lightning-input name="cusInput" label="cusInput" variant="label-hidden" value={inputValue} onchange={valueChange}></lightning-input>
+ </template>
+</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..4e41e96
--- /dev/null
+++ b/force-app/main/default/lwc/lexCustomTableInput/lexCustomTableInput.js
@@ -0,0 +1,28 @@
+import { LightningElement,api } from 'lwc';
+
+export default class LexCustomTableInput extends LightningElement {
+ @api inputValue;
+ @api recordId;
+ @api valueType;
+
+ get showInputType(){
+ if(this.valueType == 'Number'){
+ return true;
+ }else{
+ return false;
+ }
+ }
+
+ valueChange(event){
+ this.inputValue = event.target.value;
+
+ this.dispatchEvent(new CustomEvent('changevalue', {
+ composed: true,
+ bubbles: true,
+ cancelable: true,
+ detail: {
+ data: { value: this.inputValue, recordId: this.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/lexDiscountRequest/lexDiscountRequest.html b/force-app/main/default/lwc/lexDiscountRequest/lexDiscountRequest.html
new file mode 100644
index 0000000..aaa4cbd
--- /dev/null
+++ b/force-app/main/default/lwc/lexDiscountRequest/lexDiscountRequest.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/lexDiscountRequest/lexDiscountRequest.js b/force-app/main/default/lwc/lexDiscountRequest/lexDiscountRequest.js
new file mode 100644
index 0000000..a29af3b
--- /dev/null
+++ b/force-app/main/default/lwc/lexDiscountRequest/lexDiscountRequest.js
@@ -0,0 +1,109 @@
+import {
+ LightningElement,
+ wire,
+ api
+} from 'lwc';
+import {
+ CurrentPageReference
+} from "lightning/navigation";
+import {
+ CloseActionScreenEvent
+} from 'lightning/actions';
+import init from '@salesforce/apex/buttonRepairQuotationCtl.init';
+import selectRepairC from '@salesforce/apex/buttonRepairQuotationCtl.selectRepairC';
+import updateRepairQuotation from '@salesforce/apex/buttonRepairQuotationCtl.updateRepairQuotation';
+import updateRepairQuotation04 from '@salesforce/apex/buttonRepairQuotationCtl.updateRepairQuotation04';
+import {
+ ShowToastEvent
+} from 'lightning/platformShowToastEvent';
+
+export default class LexDiscountRequest extends LightningElement {
+ @api recordId;
+ str;
+ IsLoading = true;
+ Id;
+ RepairC;
+
+ @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.RepairC = result.RepairC;
+
+ this.DiscountRequest();
+ this.dispatchEvent(new CloseActionScreenEvent());
+ }
+ }).catch(error => {
+ console.log(error);
+ })
+ }
+
+ // 鍑忎环鐢宠
+ DiscountRequest() {
+ selectRepairC({
+ recordId: this.RepairC
+ }).then(repairs => {
+ if (repairs != null && repairs.length > 0) {
+ var rp = repairs[0];
+ if (rp.Return_Without_Repair_IF__c == 'true') {
+ this.ShowToastEvent("鏈慨鐞嗗綊杩樼殑淇悊涓嶅厑璁稿噺浠风敵璇�", "error");
+ // alert("鏈慨鐞嗗綊杩樼殑淇悊涓嶅厑璁稿噺浠风敵璇�");
+ return;
+ } else {
+ if (rp.Return_Without_Repair__c == 'true') {
+ this.ShowToastEvent("宸茬粡鐢宠鏈慨鐞嗚繑鍥烇紝濡傛灉闇�瑕佺户缁慨鐞嗚鍙栨秷\"鏈慨鐞嗗綊杩樼敵璇穃"鐨勫嬀閫夊悗鍐嶈繘琛屽噺浠风敵璇锋搷浣�", "error");
+ // alert("宸茬粡鐢宠鏈慨鐞嗚繑鍥烇紝濡傛灉闇�瑕佺户缁慨鐞嗚鍙栨秷\"鏈慨鐞嗗綊杩樼敵璇穃"鐨勫嬀閫夊悗鍐嶈繘琛屽噺浠风敵璇锋搷浣�");
+ return;
+ }
+ }
+ }
+ updateRepairQuotation({
+ recordId: this.Id
+ }).then(result => {
+ console.log(result);
+ if (result.length > 0) {
+ var split = result.split(", ");
+ alert(split[1]);
+ return;
+ }
+ })
+ updateRepairQuotation04({
+ recordId: this.Id
+ }).then(result => {
+ console.log(result);
+ if (result.length > 0) {
+ var split = result.split(", ");
+ alert(split[1]);
+ 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/lexDiscountRequest/lexDiscountRequest.js-meta.xml b/force-app/main/default/lwc/lexDiscountRequest/lexDiscountRequest.js-meta.xml
new file mode 100644
index 0000000..3392981
--- /dev/null
+++ b/force-app/main/default/lwc/lexDiscountRequest/lexDiscountRequest.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/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/lexDynamicTable/lexDynamicTable.html b/force-app/main/default/lwc/lexDynamicTable/lexDynamicTable.html
new file mode 100644
index 0000000..9a0d471
--- /dev/null
+++ b/force-app/main/default/lwc/lexDynamicTable/lexDynamicTable.html
@@ -0,0 +1,41 @@
+<!--
+ * @Description:
+ * @version:
+ * @Author: chen jing wu
+ * @Date: 2023-04-27 11:23:11
+ * @LastEditors: chen jing wu
+ * @LastEditTime: 2023-04-27 13:52:17
+-->
+<template>
+ <lightning-card class="slds-card_boundary" icon-name="custom:custom13">
+ <h1 slot="title">{title}</h1>
+ <lightning-button slot="actions" variant="brand" label="Add Row" onclick={addRow}></lightning-button>
+ <div class="slds-card__body slds-card__body_inner">
+ <table class="slds-table slds-table_bordered slds-table_cell-buffer slds-var-m-bottom_large">
+ <thead>
+ <tr class="slds-text-title_caps">
+ <template for:each={columns} for:item="column">
+ <th key={column.apiName}><div class="slds-truncate">{column.label}</div></th>
+ </template>
+ </tr>
+ </thead>
+ <tbody>
+ <template for:each={rows} for:item="row" for:index="index">
+ <tr class="inputRows" key={row.uuid}>
+ <template for:each={columns} for:item="column">
+ <td key={column.apiName}>
+ <c-lex-input-pick-list-cell class="fields" field-type={column.fieldType} record={row} field={column.apiName} object-name={column.objectName}></c-lex-input-pick-list-cell>
+ <c-lex-input-table-cell class="fields" field-type={column.fieldType} record={row} field={column.apiName} ></c-lex-input-table-cell>
+ <c-lex-input-lookup-cell class="fields" field-type={column.fieldType} field-name={column.apiName} record={row} api-name={column.objectName}></c-lex-input-lookup-cell>
+ </td>
+ </template>
+ <td>
+ <lightning-button-icon icon-name="utility:delete" value={index} variant="bare" onclick={removeRow}></lightning-button-icon>
+ </td>
+ </tr>
+ </template>
+ </tbody>
+ </table>
+ </div>
+ </lightning-card>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexDynamicTable/lexDynamicTable.js b/force-app/main/default/lwc/lexDynamicTable/lexDynamicTable.js
new file mode 100644
index 0000000..dd4e031
--- /dev/null
+++ b/force-app/main/default/lwc/lexDynamicTable/lexDynamicTable.js
@@ -0,0 +1,64 @@
+/*
+ * @Description:
+ * @version:
+ * @Author: chen jing wu
+ * @Date: 2023-04-27 11:23:11
+ * @LastEditors: chen jing wu
+ * @LastEditTime: 2023-04-27 13:24:48
+ */
+import { LightningElement, track, api,wire } from 'lwc';
+export default class LexDynamicTable extends LightningElement {
+ @api columnList;
+ @api title;
+ @track columns;
+ @track objectApiName;
+ @track pickListvalues;
+ @track rows = [{ uuid: this.createUUID()}];
+ connectedCallback() {
+ let cleanedColumnList = this.columnList[0] === '\\' ? this.columnList.substring(1) : this.columnList;
+ if(cleanedColumnList)
+ {
+ this.columns = cleanedColumnList;
+ }
+ }
+
+ createUUID() {
+ return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
+ var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);
+ return v.toString(16);
+ });
+ }
+
+ @api
+ retrieveRecords() {
+ let rows = Array.from(this.template.querySelectorAll("tr.inputRows") );
+ var records=[];
+ rows.map(row => {
+ let texts = Array.from(row.querySelectorAll(".fields"));
+ if(texts)
+ {
+ var textVal=this.fieldValues(texts);
+ records=[...records,textVal];
+ }
+ });
+ return records;
+ }
+ fieldValues(cells)
+ {
+ return cells.reduce((record, cell) => {
+ let inputVal = cell.inputValue();
+ if(inputVal.value!=undefined)
+ {
+ record[inputVal.field] = inputVal.value;
+ }
+ return record;
+ }, {});
+ }
+ removeRow(event) {
+ this.rows.splice(event.target.value, 1);
+ }
+
+ addRow() {
+ this.rows.push({ uuid: this.createUUID()});
+ }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexDynamicTable/lexDynamicTable.js-meta.xml b/force-app/main/default/lwc/lexDynamicTable/lexDynamicTable.js-meta.xml
new file mode 100644
index 0000000..2ba8956
--- /dev/null
+++ b/force-app/main/default/lwc/lexDynamicTable/lexDynamicTable.js-meta.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>49.0</apiVersion>
+ <description>Dynamic Table</description>
+ <isExposed>true</isExposed>
+ <masterLabel>Dynamic Table</masterLabel>
+ <targets>
+ <target>lightningCommunity__Page</target>
+ <target>lightningCommunity__Default</target>
+ <target>lightning__RecordPage</target>
+ <target>lightning__AppPage</target>
+ <target>lightning__HomePage</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/lexEnquiryNoBidding/lexEnquiryNoBidding.html b/force-app/main/default/lwc/lexEnquiryNoBidding/lexEnquiryNoBidding.html
new file mode 100644
index 0000000..617f069
--- /dev/null
+++ b/force-app/main/default/lwc/lexEnquiryNoBidding/lexEnquiryNoBidding.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/lexEnquiryNoBidding/lexEnquiryNoBidding.js b/force-app/main/default/lwc/lexEnquiryNoBidding/lexEnquiryNoBidding.js
new file mode 100644
index 0000000..abb57f1
--- /dev/null
+++ b/force-app/main/default/lwc/lexEnquiryNoBidding/lexEnquiryNoBidding.js
@@ -0,0 +1,34 @@
+/*
+ * @Description:
+ * @version:
+ * @Author: chen jing wu
+ * @Date: 2023-04-21 14:11:57
+ * @LastEditors: chen jing wu
+ * @LastEditTime: 2023-04-21 14:15:55
+ */
+import { api, wire,LightningElement } from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+
+export default class LexEnquiryNoBidding extends LightningElement {
+ @api recordId;
+ @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(){
+ window.open ('/apex/EnquiryNoBiddingPage?oid=' + this.recordId, 'height=350, width=600, top=200, left=350,location=no');
+ this.dispatchEvent(new CloseActionScreenEvent());
+ }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexEnquiryNoBidding/lexEnquiryNoBidding.js-meta.xml b/force-app/main/default/lwc/lexEnquiryNoBidding/lexEnquiryNoBidding.js-meta.xml
new file mode 100644
index 0000000..3392981
--- /dev/null
+++ b/force-app/main/default/lwc/lexEnquiryNoBidding/lexEnquiryNoBidding.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/lexEquipmentRentalPDF/lexEquipmentRentalPDF.css b/force-app/main/default/lwc/lexEquipmentRentalPDF/lexEquipmentRentalPDF.css
new file mode 100644
index 0000000..ebb43d9
--- /dev/null
+++ b/force-app/main/default/lwc/lexEquipmentRentalPDF/lexEquipmentRentalPDF.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/lexEquipmentRentalPDF/lexEquipmentRentalPDF.html b/force-app/main/default/lwc/lexEquipmentRentalPDF/lexEquipmentRentalPDF.html
new file mode 100644
index 0000000..3eff9e8
--- /dev/null
+++ b/force-app/main/default/lwc/lexEquipmentRentalPDF/lexEquipmentRentalPDF.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/lexEquipmentRentalPDF/lexEquipmentRentalPDF.js b/force-app/main/default/lwc/lexEquipmentRentalPDF/lexEquipmentRentalPDF.js
new file mode 100644
index 0000000..12d6d76
--- /dev/null
+++ b/force-app/main/default/lwc/lexEquipmentRentalPDF/lexEquipmentRentalPDF.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/lexEquipmentRentalPDF/lexEquipmentRentalPDF.js-meta.xml b/force-app/main/default/lwc/lexEquipmentRentalPDF/lexEquipmentRentalPDF.js-meta.xml
new file mode 100644
index 0000000..36ce96d
--- /dev/null
+++ b/force-app/main/default/lwc/lexEquipmentRentalPDF/lexEquipmentRentalPDF.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/lexInputLookupCell/lexInputLookupCell.html b/force-app/main/default/lwc/lexInputLookupCell/lexInputLookupCell.html
new file mode 100644
index 0000000..081898f
--- /dev/null
+++ b/force-app/main/default/lwc/lexInputLookupCell/lexInputLookupCell.html
@@ -0,0 +1,18 @@
+<!--
+ * @Description:
+ * @version:
+ * @Author: chen jing wu
+ * @Date: 2023-04-27 11:38:36
+ * @LastEditors: chen jing wu
+ * @LastEditTime: 2023-04-27 11:44:04
+-->
+<template>
+ <template if:true={isLookup}>
+ <lightning-record-edit-form
+ object-api-name={apiName}
+ record-id=''
+ >
+ <lightning-input-field field-name={fieldName} onclick={handleinputChange} variant="label-hidden"> </lightning-input-field>
+ </lightning-record-edit-form>
+ </template>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexInputLookupCell/lexInputLookupCell.js b/force-app/main/default/lwc/lexInputLookupCell/lexInputLookupCell.js
new file mode 100644
index 0000000..fd6cc02
--- /dev/null
+++ b/force-app/main/default/lwc/lexInputLookupCell/lexInputLookupCell.js
@@ -0,0 +1,39 @@
+/*
+ * @Description:
+ * @version:
+ * @Author: chen jing wu
+ * @Date: 2023-04-27 11:38:36
+ * @LastEditors: chen jing wu
+ * @LastEditTime: 2023-04-27 13:50:37
+ */
+import { LightningElement, api } from 'lwc';
+
+export default class LexInputLookupCell extends LightningElement {
+ @api record;
+ @api fieldName;
+ @api apiName;
+ @api type;
+ @api fieldType;
+ value;
+ label;
+ connectedCallback() {
+ this.value = this.record[this.fieldName];
+ this.label = this.fieldName;
+ }
+
+ handleInputChange(event) {
+ this.value = event.target.value;
+ }
+
+ @api
+ inputValue() {
+ return { value : this.value, field: this.field };
+ }
+ get isLookup() {
+ if(this.fieldType)
+ {
+ return this.fieldType.toLowerCase()=='lookup';
+ }
+ return false;
+ }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexInputLookupCell/lexInputLookupCell.js-meta.xml b/force-app/main/default/lwc/lexInputLookupCell/lexInputLookupCell.js-meta.xml
new file mode 100644
index 0000000..f57dafd
--- /dev/null
+++ b/force-app/main/default/lwc/lexInputLookupCell/lexInputLookupCell.js-meta.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>49.0</apiVersion>
+ <description>Lookup Component</description>
+ <isExposed>true</isExposed>
+ <masterLabel>Lookup Component</masterLabel>
+ <targets>
+ <target>lightningCommunity__Page</target>
+ <target>lightningCommunity__Default</target>
+ <target>lightning__RecordPage</target>
+ <target>lightning__AppPage</target>
+ <target>lightning__HomePage</target>
+ <target>lightning__FlowScreen</target>
+ </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexInputPickListCell/lexInputPickListCell.html b/force-app/main/default/lwc/lexInputPickListCell/lexInputPickListCell.html
new file mode 100644
index 0000000..d1061c7
--- /dev/null
+++ b/force-app/main/default/lwc/lexInputPickListCell/lexInputPickListCell.html
@@ -0,0 +1,11 @@
+<template>
+ <template if:true={isPickList}>
+ <lightning-combobox
+ name="progress"
+ variant="label-hidden"
+ value={value}
+ placeholder="Select Values"
+ options={options}
+ onchange={handleChange} ></lightning-combobox>
+ </template>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexInputPickListCell/lexInputPickListCell.js b/force-app/main/default/lwc/lexInputPickListCell/lexInputPickListCell.js
new file mode 100644
index 0000000..450758c
--- /dev/null
+++ b/force-app/main/default/lwc/lexInputPickListCell/lexInputPickListCell.js
@@ -0,0 +1,63 @@
+/*
+ * @Description:
+ * @version:
+ * @Author: chen jing wu
+ * @Date: 2023-04-27 11:15:23
+ * @LastEditors: chen jing wu
+ * @LastEditTime: 2023-04-27 13:24:21
+ */
+import { LightningElement, track,wire, api } from 'lwc';
+import getPickList from '@salesforce/apex/lexPCLLostReportLwcController.getPickList';
+
+export default class LexInputPickListCell extends LightningElement {
+ @api options=[];
+ value;
+ @api record;
+ @api field;
+ @api fieldType;
+ @api objectName;
+
+ value;
+ label;
+ connectedCallback() {
+ this.value = this.record[this.field];
+ this.label = this.field;
+ if(this.objectName!==undefined && this.isPickList)
+ {
+ this.getPicklist(this.objectName,this.field);
+ }
+ }
+ getPicklist(obj,field)
+ {
+ getPickList({ objectName : obj, fieldName :field})
+ .then(result => {
+ if(result)
+ {
+ for(let i=0; i<result.length; i++) {
+ console.log('id=' + result[i]);
+ this.options = [...this.options ,{value: result[i] , label: result[i]}];
+ }
+ this.error = undefined;
+ }
+ })
+ .catch(error => {
+ this.message = undefined;
+ this.error = error;
+ });
+ }
+ handleChange(event) {
+ this.value = event.target.value;
+ }
+ get isPickList() {
+ if(this.fieldType)
+ {
+ return this.fieldType.toLowerCase()=='picklist';
+ }
+ return false;
+ }
+
+ @api
+ inputValue() {
+ return { value : this.value, field: this.field };
+ }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexInputPickListCell/lexInputPickListCell.js-meta.xml b/force-app/main/default/lwc/lexInputPickListCell/lexInputPickListCell.js-meta.xml
new file mode 100644
index 0000000..053f85f
--- /dev/null
+++ b/force-app/main/default/lwc/lexInputPickListCell/lexInputPickListCell.js-meta.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>49.0</apiVersion>
+ <description>PickList Component</description>
+ <isExposed>true</isExposed>
+ <masterLabel>PickList Component</masterLabel>
+ <targets>
+ <target>lightningCommunity__Page</target>
+ <target>lightningCommunity__Default</target>
+ <target>lightning__RecordPage</target>
+ <target>lightning__AppPage</target>
+ <target>lightning__HomePage</target>
+ <target>lightning__FlowScreen</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/lexInputTableCell/lexInputTableCell.html b/force-app/main/default/lwc/lexInputTableCell/lexInputTableCell.html
new file mode 100644
index 0000000..4d89961
--- /dev/null
+++ b/force-app/main/default/lwc/lexInputTableCell/lexInputTableCell.html
@@ -0,0 +1,13 @@
+<!--
+ * @Description:
+ * @version:
+ * @Author: chen jing wu
+ * @Date: 2023-04-27 11:12:28
+ * @LastEditors: chen jing wu
+ * @LastEditTime: 2023-04-27 11:12:45
+-->
+<template>
+ <template if:true={isText}>
+ <lightning-input type={type} variant="label-hidden" label={field} name={field} value={value} onchange={handleInputChange}></lightning-input>
+ </template>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexInputTableCell/lexInputTableCell.js b/force-app/main/default/lwc/lexInputTableCell/lexInputTableCell.js
new file mode 100644
index 0000000..70a2da5
--- /dev/null
+++ b/force-app/main/default/lwc/lexInputTableCell/lexInputTableCell.js
@@ -0,0 +1,31 @@
+import { LightningElement, api } from 'lwc';
+
+export default class LexInputTableCell extends LightningElement {
+ @api record;
+ @api field;
+ @api fieldType;
+ @api type;
+ value;
+ label;
+ connectedCallback() {
+ this.value = this.record[this.field];
+ this.label = this.field;
+ this.type='text';
+ }
+
+ handleInputChange(event) {
+ this.value = event.target.value;
+ }
+
+ @api
+ inputValue() {
+ return { value : this.value, field: this.field };
+ }
+ get isText() {
+ if(this.fieldType)
+ {
+ return this.fieldType.toLowerCase()=='text';
+ }
+ return false;
+ }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexInputTableCell/lexInputTableCell.js-meta.xml b/force-app/main/default/lwc/lexInputTableCell/lexInputTableCell.js-meta.xml
new file mode 100644
index 0000000..c607bfb
--- /dev/null
+++ b/force-app/main/default/lwc/lexInputTableCell/lexInputTableCell.js-meta.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>49.0</apiVersion>
+ <description>Input Cell component</description>
+ <isExposed>true</isExposed>
+ <masterLabel>Input Cell component</masterLabel>
+ <targets>
+ <target>lightningCommunity__Page</target>
+ <target>lightningCommunity__Default</target>
+ <target>lightning__RecordPage</target>
+ <target>lightning__AppPage</target>
+ <target>lightning__HomePage</target>
+ <target>lightning__FlowScreen</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/lexInventory/lexInventory.html b/force-app/main/default/lwc/lexInventory/lexInventory.html
new file mode 100644
index 0000000..bab1119
--- /dev/null
+++ b/force-app/main/default/lwc/lexInventory/lexInventory.html
@@ -0,0 +1,162 @@
+<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;">
+ <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></td>
+ </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 style="width:200px"><lightning-button label="BarCode褰曞叆" title="BarCode褰曞叆"
+ onclick={barcodeEntrys} style="width: 300px;"></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}
+ ondiffreasons={diffreasons} 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:10px">
+ <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>
+ <template if:true={showbutton}>
+ <td align="center"> <lightning-button label="涓嬭浇鏈鐩樼偣搴撳瓨鍙樺寲鏄庣粏" title="涓嬭浇鏈鐩樼偣搴撳瓨鍙樺寲鏄庣粏"
+ onclick={exportData} style="width: 150px;"></lightning-button></td>
+ </template>
+ </tr>
+ </table>
+ </div>
+ <!-- <template if:true={showTable}> -->
+ <div style="padding:10px;">
+ <lightning-datatable key-field="id" data={pageCodeRecords} columns={column}
+ hide-checkbox-column={hidecheckbox>
+ </lightning-datatable>
+ <c-paginator 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>
+
+ <!-- <c-lwc-datatable-utility records={codPageRecords} total-records={codPageRecords.length}
+ columns={column} key-field="Id" show-search-box="true" hidecheckboxcolumn={hidecheckbox}
+ max-row-selection={codPageRecords.length} onpaginatorchange={handlePaginatorChange}>
+ </c-lwc-datatable-utility> -->
+ </div>
+ <!-- </template> -->
+ </div>
+ </div>
+ </template>
+
+
+ <template if:true={EditAble}>
+ <div style="border: 1px solid #D4D4D4;border-radius:5px;">
+ <div style="border-top: 3px solid #51606E;;border-bottom: 1px solid #D4D4D4;padding:3px;">
+ <div style="border: 1px solid #D4D4D4;border-radius:5px;">
+ <div style="border-top: 3px solid #51606E;;border-bottom: 1px solid #D4D4D4;padding:6px;">
+ <p style="font-size: 19px;"><strong>鐩樼偣鎯呭喌涓�瑙�</strong></p>
+
+ </div>
+ <div class="acc-container">
+ <lightning-record-edit-form object-api-name="Consumable_order__c" record-id={conId}>
+ <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="Inventory_date__c"></lightning-output-field>
+ </lightning-layout-item>
+ <lightning-layout-item class="hehe-layoutItem" size="4">
+ </lightning-layout-item>
+ <!-- </template> -->
+ </lightning-layout>
+ </lightning-record-edit-form>
+ </div>
+ </div>
+ </div>
+
+ <lightning-accordion allow-multiple-sections-open class="slds-m-around_medium"
+ active-section-name={activeSections}>
+ <lightning-accordion-section name="dataExpand" label="鐩樼偣鏄庣粏">
+ <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="鍦ㄥ簱璋冩暣鏄庣粏">
+ <lightning-datatable key-field="id" data={adjustdata} columns={stockadjustcolumns}
+ hide-checkbox-column>
+ </lightning-datatable>
+ </lightning-accordion-section>
+ </lightning-accordion>
+ </div>
+ </template>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexInventory/lexInventory.js b/force-app/main/default/lwc/lexInventory/lexInventory.js
new file mode 100644
index 0000000..9c9f098
--- /dev/null
+++ b/force-app/main/default/lwc/lexInventory/lexInventory.js
@@ -0,0 +1,631 @@
+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",
+ hideDefaultActions: true,
+ initialWidth: 80,
+ cellAttributes: { alignment: "left" },
+ },
+ {
+ label: "娑堣�楀搧鍚嶇О",
+ fieldName: "Name__c",
+ hideDefaultActions: true,
+ initialWidth: 250,
+ cellAttributes: { alignment: "left" },
+ },
+ {
+ label: "瑙勬牸",
+ fieldName: "Packing_list_manual__c",
+ hideDefaultActions: true,
+ },
+ {
+ label: "鍗曚綅",
+ fieldName: "boxPiece",
+ hideDefaultActions: true,
+ },
+ {
+ label: "鏈夋晥鏈熷唴搴撳瓨",
+ fieldName: "limitCount",
+ hideDefaultActions: true,
+ },
+
+ {
+ label: "杩囨湡搴撳瓨",
+ fieldName: "overlimitCount",
+ hideDefaultActions: true,
+ initialWidth: 100,
+ },
+ {
+ label: "鐩樼偣",
+ fieldName: "Pandian",
+ hideDefaultActions: true,
+ initialWidth: 100,
+ },
+ {
+ label: "涓㈠け",
+ fieldName: "Diff",
+ hideDefaultActions: true,
+ initialWidth: 100,
+ },
+ {
+ label: "瀵诲洖 ",
+ fieldName: "refind",
+ hideDefaultActions: true,
+ initialWidth: 150,
+ },
+ {
+ label: "宸紓鍘熷洜",
+ // fieldName: "DiffReason",
+ hideDefaultActions: true,
+ type: "customDiffReason",
+ typeAttributes: {
+ DiffReason: { fieldName: "DiffReason" },
+ ProdId: { fieldName: "ProdId" },
+ },
+ },
+];
+
+//璋冩暣鏄庣粏
+const column = [
+ {
+ label: "娑堣�楀搧鍚嶇О",
+ fieldName: "Name__c",
+ hideDefaultActions: true,
+ cellAttributes: { alignment: "left" },
+ },
+ {
+ 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",
+ hideDefaultActions: true,
+ initialWidth: 250,
+ wrapText: true,
+ cellAttributes: { alignment: "left" },
+
+ },
+ {
+ label: "搴撳瓨",
+ fieldName: "Count_Sum__c",
+ hideDefaultActions: true,
+ },
+ {
+ label: "鐩樼偣",
+ fieldName: "inventory_sum__c",
+ hideDefaultActions: true,
+ initialWidth: 150,
+ },
+ {
+ 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",
+ wrapText: true,
+ cellAttributes: { alignment: "left" },
+ },
+ {
+ label: "浜у搧鍨嬪彿",
+ fieldName: "Asset_Model_No__c",
+ hideDefaultActions: true,
+ },
+ {
+ label: "宸紓鍘熷洜",
+ fieldName: "Lose_reason__c",
+ hideDefaultActions: true,
+ initialWidth: 150,
+ },
+ {
+ label: "鏄惁涓㈠け",
+ type: "boolean",
+ fieldName: "Lose_Flag__c",
+ hideDefaultActions: true,
+ },
+];
+
+export default class LexInventory extends NavigationMixin(LightningElement) {
+ columns = columns;
+ column = column;
+ stockadjustcolumns = stockadjustcolumns;
+ dcolumns = dcolumns;
+ @track data = [];
+ @track codPageRecords = [];
+ @track pageCodeRecords = [];
+ @track accountName;
+ @track agencyProType;
+ @track userWorkLocation;
+ @track accountid
+ @track pandiandetailsMap
+ @track reSet
+ @track reSet1
+
+ @track showTable = false;
+ @track showbutton = false;
+ @track barcode = "";
+ @track ConsumableorderdetailsRecordsview = [];
+ @track consumableorderdetailsRecords = [];
+ @track showcount = true;
+
+ @track iSinventory = false
+ @track numberDetail;
+ @track hidecheckbox = true;
+ //鍒嗛〉start
+ @track sortBy = "";
+ @track sortDirection = "asc";
+ @track pageSize = 5;
+ error;
+ records;
+ currentPageToken = 0;
+ nextPageToken = this.pageSize;
+ @track totalRecords = 0;
+ @track loader = false;
+ @track pageNumber = 1;
+ @track paginationVisibility = false;
+ @track totalPages = 1;
+ pageSizeOptions = [5, 10, 25, 50, 75, 100];
+ @track recordStart = 0;
+ @track recordEnd = 0;
+ //end
+
+
+ //鍔犺浇妗�
+ // @track casesSpinner = true;
+ @track showSpinner = true;
+
+ //row
+ @track selectedRows = [];
+ //inventoryList
+ @track isSummonsFlag;
+ //灞曞紑鏍�
+ activeSections = ["dataExpand"];
+ columnHeader = ["娑堣�楀搧鍚嶇О", "鍗曚綅", "barCode", "璋冩暣鍘熷洜"];
+ //纭涓�瑙�
+ @track eSetId = "";
+ @track EditAble = false;
+ @track selectedData;
+ @track conId;
+ @track detailData = [];
+ @track adjustdata = [];
+
+ //鑾峰彇閾炬帴鍙傛暟
+ 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() {
+ console.log("===>鍒濆鍖�");
+
+ //鑾峰彇ESetid
+ this.eSetId = this.getQueryString("eSetId");
+ this.eSetId = this.eSetId == null ? "" : this.eSetId;
+ console.log(" this.eSetId" + this.eSetId);
+ if (this.eSetId == "") {
+ this.EditAble = false;
+ this.init();
+ } else {
+ this.inits();
+ this.showcount = false;
+ this.EditAble = true;
+ }
+
+ }
+ init(){
+ this.showSpinner = true;
+ oninit()
+ .then((result) => {
+ console.log("1112" + JSON.stringify(result));
+ result = JSON.parse(JSON.stringify(result));
+ console.log("result.status = " + result.status);
+ console.log("ConsumableorderdetailsRecordsview= " + result.entity.ConsumableorderdetailsRecordsview);
+ this.ConsumableorderdetailsRecordsview = JSON.parse(result.entity.ConsumableorderdetailsRecordsview);
+ this.consumableorderdetailsRecords = result.entity.consumableorderdetailsRecords;
+ console.log("consumableorderdetailsRecords= " + result.entity.consumableorderdetailsRecords);
+ console.log("浼犲弬绫诲瀷", typeof this.consumableorderdetailsRecords);
+ if (result.status == "Success") {
+ this.data = [];
+ this.data = this.ConsumableorderdetailsRecordsview[0];
+ 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].Prod.Packing_list_manual__c;
+ }
+ this.accountName = result.entity.accountName;
+ this.agencyProType = result.entity.agencyProType;
+ this.userWorkLocation = result.entity.userWorkLocation;
+ this.showSpinner = false;
+ this.accountid = result.entity.accountid;
+ this.showTable = true;
+ } 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));
+ });
+ //榛樿灞曞紑鏍�
+ this.activeSections = ["dataExpand"];
+ this.showTable = false;
+ this.showbutton = false;
+
+ }
+
+ //褰曞叆barcode
+ barcodeEntrys() {
+ console.log('Test');
+ this.showTable = false;
+ this.showbutton = false;
+ this.showSpinner = true;
+ this.selectedRows = [];
+ //鏌ヨ鏈夊摢浜涢�夋嫨浜嗙殑鐒跺悗check
+ const selectedRows = this.template.querySelector('c-lex-custom-lightning-datatable').getSelectedRows();
+ console.log('selectedRows========> ' + JSON.stringify(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].ProdId == selectedRows[j].ProdId) {
+ this.data[i]["check"] = true;
+ }
+ }
+ }
+ barcodeEntry({
+ accountName: this.accountName,
+ agencyProType: this.agencyProType,
+ userWorkLocation: this.userWorkLocation,
+ barcode: this.barcode,
+ consumableorderdetailsRecordsLWC: JSON.stringify(this.data),
+ pageSizeLWC: this.pageSize,
+ pageTokenLWC: this.currentPageToken,
+ sortFieldLWC: this.sortBy,
+ sortOrderLWC: this.sortDirection
+
+ })
+ .then((result) => {
+ result = JSON.parse(JSON.stringify(result));
+ console.log("result ===>" + JSON.stringify(result));
+ if (result.status == "Success1") {
+ console.log('test');
+ 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.reSet1 = result.entity.reSet1;
+ console.log("iSinventory:" + this.iSinventory);
+ this.showTable = true;
+ this.showbutton = true;
+ this.showSpinner = false;
+ console.log('status2');
+ 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 {
+ if (result.status == "Sucess") {
+ //鍒嗛〉start
+ this.nextPageToken = result.entity.paginatedAccounts.nextPageToken;
+ this.totalRecords = result.entity.paginatedAccounts.totalRecords;
+ this.recordStart = result.entity.paginatedAccounts.recordStart;
+ this.recordEnd = result.entity.paginatedAccounts.recordEnd;
+ this.totalPages = Math.ceil(result.entity.paginatedAccounts.totalRecords / this.pageSize);
+ console.log('this.totalPages = ' + this.totalPages);
+ this.paginationVisibility = this.totalPages > 1 ? true : false;
+ console.log('this.sortDirection = ' + this.sortDirection);
+ //鍒嗛〉end
+ // this.codPageRecords = JSON.parse(result.entity.codPageRecords);
+ this.pageCodeRecords = result.entity.pageCodeRecords;
+ for (var i in this.pageCodeRecords) {
+ this.pageCodeRecords[i]["Name__c"] = this.pageCodeRecords[i].Prod.Name__c;
+ this.pageCodeRecords[i]["Box_Piece__c"] = this.pageCodeRecords[i].orderdetails2.Box_Piece__c;
+ this.pageCodeRecords[i]["Bar_Code__c"] = this.pageCodeRecords[i].orderdetails2.Bar_Code__c;
+ }
+ // 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("result褰曞叆= " + JSON.stringify(result));
+ } else {
+ console.log('Error:' + result.msg);
+ 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));
+ });
+ }
+ //鑾峰彇褰撳墠杈撳叆鍊�
+ handleChange(event) {
+ let value = event.detail.value;
+ console.log("value" + value);
+ this.barcode = value;
+ }
+
+ getSelectedRows(event) {
+ let selectedRowsEvent = event.detail.selectedRows;
+ this.selectedRows = [];
+ for (var i in selectedRowsEvent) {
+ this.selectedRows.push(selectedRowsEvent[i].ProdId)
+ }
+ // const selectedRows = event.detail.selectedRows;
+ // console.log("this.selectedRows = " + JSON.stringify(selectedRows));
+ // for (var i in selectedRows) {
+ // this.selectedRows.push(selectedRows[i].ProdId);
+ // }
+
+ }
+
+ //瀵煎嚭涓篶sv
+ exportData() {
+ console.log("瀵煎嚭");
+ // 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.columnHeader.forEach((element) => {
+ doc += "<th>" + element + "</th>";
+ });
+ 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 += "</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();
+ }
+
+ //鑷畾涔塪ataType
+
+ diffreasons(event) {
+ const numberDetail = event.detail;
+ // this.numberDetail = 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;
+ }
+ }
+ console.log(" this.data==>" + JSON.stringify(this.data));
+ }
+
+ saveConfirm() {
+ console.log("杩涘叆鐩樼偣纭");
+ console.log('reSet' + this.reSet);
+ this.showSpinner = true;
+ 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));
+ save({
+ iSinventory: this.iSinventory,
+ consumableorderdetailsRecordsLWC: JSON.stringify(this.selectedData),
+ accountid: this.accountid,
+ agencyProType: this.agencyProType,
+ reSet: this.reSet,
+ pandiandetailsMap: this.pandiandetailsMap
+ })
+ .then((result) => {
+ result = JSON.parse(JSON.stringify(result));
+ console.log("result = " + JSON.stringify(result));
+ console.log("111111");
+
+ if (result.status == "Success") {
+ let url = "/lexInventory?ESetid=" + result.entity.eSetId;
+ this[NavigationMixin.Navigate]({
+ type: "standard__webPage",
+ attributes: {
+ url: url,
+ },
+ });
+ this.showSpinner = false;
+ 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);
+ this.showSpinner = false;
+ }
+ })
+ .catch((error) => {
+ console.log("error = " + JSON.stringify(error));
+ });
+ }
+
+ 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));
+ console.log("璋冩暣鏄庣粏" + JSON.stringify(this.adjustdata));
+ })
+ .catch((error) => {
+ console.log("error = " + JSON.stringify(error));
+ });
+ }
+ //鍒嗛〉
+ handlePrevious() {
+ this.currentPageToken = Number(this.currentPageToken) - Number(this.pageSize);
+ this.barcodeEntrys();
+ }
+
+ handleNext() {
+ console.log('111');
+ this.currentPageToken = Number(this.currentPageToken) + Number(this.pageSize);
+ this.barcodeEntrys();
+ }
+ handleFirst() {
+ this.currentPageToken = 0;
+ this.barcodeEntrys();
+ }
+
+ handleLast() {
+ this.currentPageToken = this.totalPages > 1 ? (this.totalPages - 1) * this.pageSize : 0;
+ this.barcodeEntrys();
+ }
+
+ handlePageschange(event) {
+ console.log(event.detail);
+ this.pageSize = event.detail;
+ this.currentPageToken = 0;
+ this.barcodeEntrys();
+ }
+ get previousButtonDisabled() {
+ return this.currentPageToken === 0;
+ }
+
+ get nextButtonDisabled() {
+ return this.nextPageToken === undefined;
+ }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexInventory/lexInventory.js-meta.xml b/force-app/main/default/lwc/lexInventory/lexInventory.js-meta.xml
new file mode 100644
index 0000000..6cf1ec7
--- /dev/null
+++ b/force-app/main/default/lwc/lexInventory/lexInventory.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/lexInventoryCount/lexInventoryCount.html b/force-app/main/default/lwc/lexInventoryCount/lexInventoryCount.html
new file mode 100644
index 0000000..94d45d2
--- /dev/null
+++ b/force-app/main/default/lwc/lexInventoryCount/lexInventoryCount.html
@@ -0,0 +1,162 @@
+<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;">
+ <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></td>
+ </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 style="width:200px"><lightning-button label="BarCode褰曞叆" title="BarCode褰曞叆" onclick={barcodeEntrys}
+ style="width: 300px;"></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}
+ ondiffreasons={diffreasons} 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>
+ <template if:true={showbutton}>
+ <td align="center"> <lightning-button label="涓嬭浇鏈鐩樼偣搴撳瓨鍙樺寲鏄庣粏" title="涓嬭浇鏈鐩樼偣搴撳瓨鍙樺寲鏄庣粏"
+ onclick={exportData} style="width: 150px;"></lightning-button></td>
+ </template>
+ </tr>
+ </table>
+ </div>
+ <!-- <template if:true={showTable}> -->
+ <div style="padding:10px;">
+ <lightning-datatable
+ key-field="id"
+ data={codPageRecords}
+ columns={column}
+ hide-checkbox-column={hidecheckbox>
+ </lightning-datatable>
+
+ <!-- <c-lwc-datatable-utility records={codPageRecords} total-records={codPageRecords.length}
+ columns={column} key-field="Id" show-search-box="true" hidecheckboxcolumn={hidecheckbox}
+ max-row-selection={codPageRecords.length} onpaginatorchange={handlePaginatorChange}>
+ </c-lwc-datatable-utility> -->
+ </div>
+ <!-- </template> -->
+ </div>
+ </div>
+ </template>
+
+
+ <template if:true={EditAble}>
+ <div style="border: 1px solid #D4D4D4;border-radius:5px;">
+ <div style="border-top: 3px solid #51606E;;border-bottom: 1px solid #D4D4D4;padding:3px;">
+ <div style="border: 1px solid #D4D4D4;border-radius:5px;">
+ <div style="border-top: 3px solid #51606E;;border-bottom: 1px solid #D4D4D4;padding:6px;">
+ <p style="font-size: 19px;"><strong>鐩樼偣鎯呭喌涓�瑙�</strong></p>
+
+ </div>
+ <div class="acc-container">
+ <lightning-record-edit-form object-api-name="Consumable_order__c" record-id={conId}>
+ <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="Inventory_date__c"></lightning-output-field>
+ </lightning-layout-item>
+ <lightning-layout-item class="hehe-layoutItem" size="4">
+ </lightning-layout-item>
+ <!-- </template> -->
+ </lightning-layout>
+ </lightning-record-edit-form>
+ </div>
+ </div>
+ </div>
+
+ <lightning-accordion allow-multiple-sections-open class="slds-m-around_medium"
+ active-section-name={activeSections}>
+ <lightning-accordion-section name="dataExpand" label="鐩樼偣鏄庣粏">
+ <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="鍦ㄥ簱璋冩暣鏄庣粏">
+ <lightning-datatable key-field="id" data={adjustdata}
+ columns={stockadjustcolumns} hide-checkbox-column>
+ </lightning-datatable>
+ </lightning-accordion-section>
+ </lightning-accordion>
+ </div>
+ </template>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexInventoryCount/lexInventoryCount.js b/force-app/main/default/lwc/lexInventoryCount/lexInventoryCount.js
new file mode 100644
index 0000000..5beb4d1
--- /dev/null
+++ b/force-app/main/default/lwc/lexInventoryCount/lexInventoryCount.js
@@ -0,0 +1,553 @@
+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",
+ hideDefaultActions: true,
+ cellAttributes: { alignment: "left" },
+ },
+ {
+ label: "娑堣�楀搧鍚嶇О",
+ fieldName: "Name__c",
+ hideDefaultActions: true,
+ initialWidth: 250,
+ cellAttributes: { alignment: "left" },
+ },
+ {
+ label: "瑙勬牸",
+ fieldName: "Packing_list_manual__c",
+ hideDefaultActions: true,
+ },
+ {
+ label: "鍗曚綅",
+ fieldName: "boxPiece",
+ hideDefaultActions: true,
+ },
+ {
+ label: "鏈夋晥鏈熷唴搴撳瓨",
+ fieldName: "limitCount",
+ hideDefaultActions: true,
+ },
+
+ {
+ label: "杩囨湡搴撳瓨",
+ fieldName: "overlimitCount",
+ hideDefaultActions: true,
+ initialWidth: 100,
+ },
+ {
+ label: "鐩樼偣",
+ fieldName: "Pandian",
+ hideDefaultActions: true,
+ initialWidth: 100,
+ },
+ {
+ label: "涓㈠け",
+ fieldName: "Diff",
+ hideDefaultActions: true,
+ initialWidth: 100,
+ },
+ {
+ label: "瀵诲洖 ",
+ fieldName: "refind",
+ hideDefaultActions: true,
+ initialWidth: 150,
+ },
+ {
+ label: "宸紓鍘熷洜",
+ // fieldName: "DiffReason",
+ hideDefaultActions: true,
+ type: "customDiffReason",
+ typeAttributes: {
+ DiffReason: { fieldName: "DiffReason" },
+ ProdId: { fieldName: "ProdId" },
+ },
+ },
+];
+
+//璋冩暣鏄庣粏
+const column = [
+ {
+ label: "娑堣�楀搧鍚嶇О",
+ fieldName: "Name__c",
+ hideDefaultActions: true,
+ cellAttributes: { alignment: "left" },
+ },
+ {
+ 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",
+ hideDefaultActions: true,
+ cellAttributes: { alignment: "left" },
+ },
+ {
+ label: "搴撳瓨",
+ fieldName: "Count_Sum__c",
+ hideDefaultActions: true,
+ },
+ {
+ label: "鐩樼偣",
+ fieldName: "inventory_sum__c",
+ hideDefaultActions: true,
+ initialWidth: 150,
+ },
+ {
+ 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",
+ cellAttributes: { alignment: "left" },
+ },
+ {
+ label: "浜у搧鍨嬪彿",
+ fieldName: "Asset_Model_No__c",
+ 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(LightningElement) {
+ columns = columns;
+ column = column;
+ stockadjustcolumns = stockadjustcolumns;
+ dcolumns = dcolumns;
+ @track data = [];
+ @track codPageRecords = [];
+ @track accountName;
+ @track agencyProType;
+ @track userWorkLocation;
+ @track accountid
+ @track pandiandetailsMap
+ @track reSet
+
+ @track showTable = false;
+ @track showbutton = false;
+ @track barcode = "";
+ @track ConsumableorderdetailsRecordsview = [];
+ @track consumableorderdetailsRecords = [];
+ @track showcount = true;
+
+ @track iSinventory = false
+ @track numberDetail;
+ @track hidecheckbox = true;
+
+
+ //鍔犺浇妗�
+ // @track casesSpinner = true;
+ @track showSpinner = true;
+
+ //row
+ @track selectedRows = [];
+ //inventoryList
+ @track isSummonsFlag;
+ //灞曞紑鏍�
+ activeSections = ["dataExpand"];
+ columnHeader = ["娑堣�楀搧鍚嶇О", "鍗曚綅", "barCode", "璋冩暣鍘熷洜"];
+ //纭涓�瑙�
+ @track eSetId = "";
+ @track EditAble = false;
+ @track selectedData;
+ @track conId;
+ @track detailData = [];
+ @track adjustdata = [];
+
+ //鑾峰彇閾炬帴鍙傛暟
+ 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() {
+ console.log("===>鍒濆鍖�");
+ this.showSpinner = true;
+ //鑾峰彇ESetid
+ 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));
+ result = JSON.parse(JSON.stringify(result));
+ console.log("result.status = " + result.status);
+ console.log(
+ " ConsumableorderdetailsRecordsview= " +
+ result.entity.ConsumableorderdetailsRecordsview
+ );
+ this.ConsumableorderdetailsRecordsview = JSON.parse(
+ result.entity.ConsumableorderdetailsRecordsview
+ );
+ this.consumableorderdetailsRecords =
+ result.entity.consumableorderdetailsRecords;
+ console.log(
+ " consumableorderdetailsRecords= " +
+ result.entity.consumableorderdetailsRecords
+ );
+
+ console.log("浼犲弬绫诲瀷", typeof this.consumableorderdetailsRecords);
+ if (result.status == "Success") {
+ console.log(
+ "this.ConsumableorderdetailsRecordsview[0] = " +
+ JSON.stringify(this.ConsumableorderdetailsRecordsview[0])
+ );
+ console.log(
+ "this.ConsumableorderdetailsRecordsview[0].length = " +
+ this.ConsumableorderdetailsRecordsview[0].length
+ );
+
+ // let cloneData = [];
+ // for (let i in this.ConsumableorderdetailsRecordsview[0]) {
+ // cloneData.push(JSON.parse(this.ConsumableorderdetailsRecordsview[0][i]));
+ // }
+ // console.log('cloneData = ' + typeof cloneData);
+ // console.log('cloneData = ' + cloneData);
+ // this.data = cloneData;
+ this.data = [];
+ this.data = this.ConsumableorderdetailsRecordsview[0];
+ 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].Prod.Packing_list_manual__c;
+ }
+ this.accountName = result.entity.accountName;
+ this.agencyProType = result.entity.agencyProType;
+ this.userWorkLocation = result.entity.userWorkLocation;
+ this.showSpinner = false;
+ this.accountid = result.entity.accountid;
+ // this.casesSpinner = false;
+ this.showTable = true;
+ } 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));
+ });
+ //榛樿灞曞紑鏍�
+ this.activeSections = ["dataExpand"];
+ this.showTable = false;
+ this.showbutton = false;
+ //init
+ }
+ //褰曞叆barcode
+
+ barcodeEntrys() {
+ this.showTable = false;
+ this.showbutton = false;
+ this.showSpinner = true;
+ console.log("杩涘叆褰曞叆");
+ console.log(
+ "this.consumableorderdetailsRecords===>" +
+ this.consumableorderdetailsRecords
+ );
+
+ barcodeEntry({
+ accountName: this.accountName,
+ agencyProType: this.agencyProType,
+ userWorkLocation: this.userWorkLocation,
+ barcode: this.barcode,
+ consumableorderdetailsRecordsLWC: this.consumableorderdetailsRecords,
+ })
+ .then((result) => {
+ result = JSON.parse(JSON.stringify(result));
+ console.log("result ===>" + JSON.stringify(result));
+
+ 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));
+ });
+ }
+ //鑾峰彇褰撳墠杈撳叆鍊�
+ handleChange(event) {
+ let value = event.detail.value;
+ console.log("value" + value);
+ this.barcode = value;
+ }
+
+ getSelectedRows(event) {
+ 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) {
+ if (this.data[i].ProdId == selectedRows[j].ProdId) {
+ this.data[i]["check"] = true;
+ }
+ }
+ }
+ }
+
+ //瀵煎嚭涓篶sv
+ exportData() {
+ console.log("瀵煎嚭");
+ // 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.columnHeader.forEach((element) => {
+ doc += "<th>" + element + "</th>";
+ });
+ 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 += "</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();
+ }
+
+ //鑷畾涔塪ataType
+
+ diffreasons(event) {
+ const numberDetail = event.detail;
+ // this.numberDetail = 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;
+ }
+ }
+ console.log(" this.data==>" + JSON.stringify(this.data));
+ }
+
+ saveConfirm() {
+ 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));
+ save({
+ iSinventory: this.iSinventory,
+ consumableorderdetailsRecordsLWC: JSON.stringify(this.selectedData),
+ accountid: this.accountid,
+ agencyProType: this.agencyProType,
+ reSet: this.reSet,
+ pandiandetailsMap: this.pandiandetailsMap
+ })
+ .then((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,
+ },
+ });
+ 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));
+ });
+ }
+
+ 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));
+ 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/lexInventoryCount/lexInventoryCount.js-meta.xml b/force-app/main/default/lwc/lexInventoryCount/lexInventoryCount.js-meta.xml
new file mode 100644
index 0000000..6cf1ec7
--- /dev/null
+++ b/force-app/main/default/lwc/lexInventoryCount/lexInventoryCount.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/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..2fe1df5
--- /dev/null
+++ b/force-app/main/default/lwc/lexLookup/lexLookup.js
@@ -0,0 +1,483 @@
+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;
+ @api isDisabledForDealerText = false;
+
+ // 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();
+ }
+
+ connectedCallback(){
+ console.log('isDisabledForDealerText = ' + this.isDisabledForDealerText);
+ }
+
+ // 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..3c1bcf1
--- /dev/null
+++ b/force-app/main/default/lwc/lexLoseReport/lexLoseReport.js
@@ -0,0 +1,112 @@
+/*
+ * @Description:
+ * @version:
+ * @Author: chen jing wu
+ * @Date: 2023-04-20 14:08:55
+ * @LastEditors: chen jing wu
+ * @LastEditTime: 2023-04-24 13:58:53
+ */
+/*
+ * @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 {
+ var url = '/apex/PCLLostReportPage?pageStatus=Create&oppId=' + this.recordId + '&lostType=澶卞崟';
+ location.href = url;
+ // 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/lexNewOnCall/lexNewOnCall.css b/force-app/main/default/lwc/lexNewOnCall/lexNewOnCall.css
new file mode 100644
index 0000000..1e56880
--- /dev/null
+++ b/force-app/main/default/lwc/lexNewOnCall/lexNewOnCall.css
@@ -0,0 +1,17 @@
+.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: green;
+ --slds-c-accordion-heading-font-size: 15px;
+}/* sample css file */
+.links {
+ float: right;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexNewOnCall/lexNewOnCall.html b/force-app/main/default/lwc/lexNewOnCall/lexNewOnCall.html
new file mode 100644
index 0000000..c95a23d
--- /dev/null
+++ b/force-app/main/default/lwc/lexNewOnCall/lexNewOnCall.html
@@ -0,0 +1,124 @@
+<template>
+ <lightning-card variant="Narrow">
+ <lightning-spinner variant="brand" size="medium" if:true={isLoading}></lightning-spinner>
+ <div class="content">
+ <h1 class="pageType" style="font-size:30px">OnCall缂栬緫
+ <span class="titleSeparatingColon">:</span>
+ </h1>
+ <h2 class="pageDescription" style="font-size:25px">鏂板缓OnCall</h2>
+ <div class="blank"> </div>
+ </div>
+ <div class="links">
+ <a href="javascript:openPopupFocusEscapePounds(%27https://help.salesforce.com/apex/htdoor?loc=help&target=onCalls_edit.htm&section=onCalls&language=zh_CN&release=234.18.8&instance=CS117&showSplash=true%27, %27Help%27, 700, 600, %27width=700,height=600,resizable=yes,toolbar=yes,status=no,scrollbars=yes,menubar=yes,directories=no,location=no,dependant=no%27, false, false);"
+ title="姝ら〉闈㈢殑甯姪 锛堟柊绐楀彛锛�">
+ <span class="helpLink">姝ら〉闈㈢殑甯姪</span>
+ </a>
+ </div>
+
+ <div id="errorMsg">
+ <template if:true={hasMessages}>
+ <ul>
+ <template for:each={messages} for:item="message">
+ <li key={message.key}>{message.message}</li>
+ </template>
+ </ul>
+ </template>
+ </div>
+ <lightning-accordion allow-multiple-sections-open
+ active-section-name={activeSections} class="Firstaccordion">
+ <lightning-record-edit-form record-id={recordId}
+ object-api-name="On_Call__c"
+ onsuccess={handleSuccess}
+ onsubmit={handleSubmit}
+ onerror={handleError}
+ >
+ <div style="display:flex; justify-content:center; align-items:center;">
+ <lightning-button label="淇濆瓨" type="submit" ></lightning-button>
+ <lightning-button label="淇濆瓨骞舵柊寤�" type="submit" onclick ={CloseJs} ></lightning-button>
+ <lightning-button label="鍙栨秷" onclick={handlePrint} ></lightning-button>
+ </div>
+ <lightning-accordion-section name="info" label="淇℃伅">
+ <lightning-layout>
+ <div class="slds-grid">
+ <div class="slds-col slds-size_1-of-2">
+ <lightning-input-field field-name="Status_c__c"></lightning-input-field>
+ <lightning-input-field required field-name="Responsible_Person_HP__c"></lightning-input-field>
+ <lightning-input-field field-name="Hospital__c"></lightning-input-field>
+ </div>
+ <div class="slds-col slds-size_1-of-2">
+ <lightning-input-field required field-name="segment__c"></lightning-input-field>
+ <lightning-input-field field-name="OwnerId"></lightning-input-field>
+ </div>
+ <div class="slds-col slds-size_1-of-2">
+ <lightning-input-field field-name="Oncall_report_number_c__c" required></lightning-input-field>
+ <lightning-input-field required field-name="Caller_phone__c"></lightning-input-field>
+ </div>
+ </div>
+ </lightning-layout>
+ </lightning-accordion-section>
+ <lightning-accordion-section name="createinfo" label="鍒涘缓浜轰俊鎭�">
+ <lightning-layout>
+ <div class="slds-grid">
+ <div class="slds-col slds-size_6-of-7">
+ <lightning-input-field required field-name="Trable_occur_day_c__c"></lightning-input-field>
+ <lightning-input-field required field-name="Taking_call_Time_c__c"></lightning-input-field>
+ </div>
+ </div>
+ </lightning-layout>
+ </lightning-accordion-section>
+ <lightning-accordion-section name="descr" label="鏁呴殰鎻忚堪">
+ <lightning-layout>
+ <div class="slds-grid">
+ <div class="slds-col slds-size_6-of-7">
+ <lightning-input-field field-name="First_ploblem_c__c"></lightning-input-field>
+ </div>
+ </div>
+ </lightning-layout>
+ </lightning-accordion-section>
+ <lightning-accordion-section name="assinfo" label="鏁呴殰鍝佷俊鎭�">
+ <lightning-layout>
+ <div class="slds-grid">
+ <div class="slds-col slds-size_6-of-7">
+ <lightning-input-field field-name="From_c__c"></lightning-input-field>
+ </div>
+ <div class="slds-col slds-size_6-of-7">
+ <lightning-input-field field-name="To_c__c"></lightning-input-field>
+ </div>
+ </div>
+ </lightning-layout>
+ </lightning-accordion-section>
+ <lightning-accordion-section name="newmod" label="鏂板缓閮ㄥ垎">
+ <lightning-layout>
+ <div class="slds-grid">
+ <div class="slds-col slds-size_6-of-7">
+ <lightning-input-field field-name="Oncall_Equipment__c"></lightning-input-field>
+ <lightning-input-field field-name="Oncall_Product_manual__c"></lightning-input-field>
+ <lightning-input-field field-name="FinishDataTime__c"></lightning-input-field>
+ </div>
+ <div class="slds-col slds-size_6-of-7">
+ <lightning-input-field field-name="Customer_Problem_c__c"></lightning-input-field>
+ </div>
+ </div>
+ </lightning-layout>
+ </lightning-accordion-section>
+ <lightning-accordion-section name="special" label="鍏朵粬鐗规畩淇℃伅">
+ <lightning-layout>
+ <div class="slds-grid">
+ <div class="slds-col slds-size_6-of-7">
+ <lightning-input-field field-name="Customer_sigh_c__c"></lightning-input-field>
+ </div>
+ <div class="slds-col slds-size_6-of-7">
+ <lightning-input-field field-name="Customer_sigh_day_c__c"></lightning-input-field>
+ </div>
+ </div>
+ </lightning-layout>
+ </lightning-accordion-section>
+ <div style="display:flex; justify-content:center; align-items:center; height: 40px;">
+ <lightning-button label="淇濆瓨" type="submit" ></lightning-button>
+ <lightning-button label="淇濆瓨骞舵柊寤�" onclick ={CloseJs} ></lightning-button>
+ <lightning-button label="鍙栨秷" onclick={handlePrint} ></lightning-button>
+ </div>
+ </lightning-record-edit-form>
+ </lightning-accordion>
+ </lightning-card>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexNewOnCall/lexNewOnCall.js b/force-app/main/default/lwc/lexNewOnCall/lexNewOnCall.js
new file mode 100644
index 0000000..e25e77c
--- /dev/null
+++ b/force-app/main/default/lwc/lexNewOnCall/lexNewOnCall.js
@@ -0,0 +1,71 @@
+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 { refreshPage } from 'lightning/navigation';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+
+export default class lexNewOnCall extends LightningElement {
+ @api recordId;
+ resultId;
+ @track messages = [];
+ isLoading = false;
+ activeSections = ['special', 'newmod', 'assinfo', 'descr', 'createinfo', 'info'];
+ btntable;
+
+
+
+ // EditButton(isDisabled){
+ // if (isDisabled) {
+ // this.btntable = true;
+ // }else {
+ // this.btntable = false;
+ // }
+ // }
+
+ get hasMessages() {
+ return this.messages.length > 0;
+ }
+ handleSuccess(event){
+ console.log('鎴愬姛鍟�');
+ this.resultId = event.detail.id;
+ console.log('this.resultId='+this.resultId);
+ if (this.resultId !=null) {
+ this.isLoading = false;
+ }
+ }
+ handleSubmit(event) {
+ console.log('鎻愪氦鍟�');
+ this.isLoading = true;
+ event.preventDefault();
+ const fields = event.detail.fields;
+ this.template.querySelector('lightning-record-edit-form').submit(fields);
+ }
+
+ handleError(event) {
+ console.log('鍑洪敊鍟�');
+ const error = event.detail;
+ const toastEvent = new ShowToastEvent({
+ title: 'Error',
+ message: error.body.message,
+ variant: 'error',
+ });
+ this.dispatchEvent(toastEvent);
+ // this.isLoading = false;
+ }
+ // saveOnCallProcess(saveMode) {
+ // EditButton(true);
+ // redirectMode = saveMode;
+ // console.log('redirectMode' + redirectMode);
+ // this.messages = [];
+ // //1. Get onCall Information from Form
+ // let onCallJson = getOnCallInformation();
+
+ // //3. Prepare the payload for New PI API To AWS - To Do
+ // let payloadForNewPI = getPIPayload(onCallJson);
+
+ // //4. onCall to AWS
+ // ProcessPI(onCallJson, payloadForNewPI);
+ // }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexNewOnCall/lexNewOnCall.js-meta.xml b/force-app/main/default/lwc/lexNewOnCall/lexNewOnCall.js-meta.xml
new file mode 100644
index 0000000..6e6bf52
--- /dev/null
+++ b/force-app/main/default/lwc/lexNewOnCall/lexNewOnCall.js-meta.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lexNewOnCall">
+ <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/lexNewOpportunityAgency/lexNewOpportunityAgency.css b/force-app/main/default/lwc/lexNewOpportunityAgency/lexNewOpportunityAgency.css
new file mode 100644
index 0000000..8ce8187
--- /dev/null
+++ b/force-app/main/default/lwc/lexNewOpportunityAgency/lexNewOpportunityAgency.css
@@ -0,0 +1,10 @@
+.lexNewOpportunityAgencyHolder{
+ 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/lexNewOpportunityAgency/lexNewOpportunityAgency.html b/force-app/main/default/lwc/lexNewOpportunityAgency/lexNewOpportunityAgency.html
new file mode 100644
index 0000000..b62fe53
--- /dev/null
+++ b/force-app/main/default/lwc/lexNewOpportunityAgency/lexNewOpportunityAgency.html
@@ -0,0 +1,6 @@
+<template>
+ <div class="lexNewOpportunityAgencyHolder" 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/lexNewOpportunityAgency/lexNewOpportunityAgency.js b/force-app/main/default/lwc/lexNewOpportunityAgency/lexNewOpportunityAgency.js
new file mode 100644
index 0000000..7871e35
--- /dev/null
+++ b/force-app/main/default/lwc/lexNewOpportunityAgency/lexNewOpportunityAgency.js
@@ -0,0 +1,225 @@
+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.initForNewOpportunityAgencyButton';
+import queryForRecords from '@salesforce/apex/OpportunityLightingButtonController.queryForNewOpportunityAgencyButtonToRecords';
+import queryForRecTypeList from '@salesforce/apex/OpportunityLightingButtonController.queryForNewOpportunityAgencyButtonToRecTypeList';
+import queryForRecords2 from '@salesforce/apex/OpportunityLightingButtonController.queryForNewOpportunityAgencyButtonToRecords2';
+export default class LexNewOpportunityAgency extends LightningElement {
+ @api recordId;
+ agency1Id;
+ agencyOpportunity;
+ trade;
+ hospitalId;
+ name;
+ closeForecastedDate;
+ bidPlannedDate;
+ dealerFinalPrice;
+ wholesalePrice;
+ agency1;
+ agency1Name;
+ opportunityStage;
+ opportunityCategory;
+ 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.agencyOpportunity = result.agencyOpportunity;
+ this.trade = result.trade;
+ this.hospitalId = result.hospitalId;
+ this.name = result.name;
+ this.closeForecastedDate = result.closeForecastedDate;
+ this.bidPlannedDate = result.bidPlannedDate;
+ this.dealerFinalPrice = result.dealerFinalPrice;
+ this.wholesalePrice = result.wholesalePrice;
+ this.agency1 = result.agency1;
+ this.opportunityStage = result.opportunityStage;
+ this.opportunityCategory = result.opportunityCategory;
+ this.agency1Name = result.agency1Name;
+ console.log("1");
+ if(this.closeForecastedDate == undefined){
+ this.closeForecastedDate = '';
+ }else{
+ this.closeForecastedDate = new String(this.closeForecastedDate).replace("-","/");
+ }
+ console.log(this.closeForecastedDate);
+ if(this.bidPlannedDate == undefined){
+ this.bidPlannedDate = '';
+ }else{
+ this.bidPlannedDate = new String(this.bidPlannedDate).replace("-","/");
+ }
+ if(this.dealerFinalPrice == undefined){
+ this.dealerFinalPrice = '';
+ }
+ console.log(this.bidPlannedDate);
+ console.log(this.dealerFinalPrice);
+ this.newOpportunityAgency();
+ }).catch(error=>{
+ console.log("error");
+ console.log(error);
+ })
+ }
+ newOpportunityAgency(){
+
+ console.log("2");
+ var newflag = true;
+ if (this.agency1Id == undefined) {
+ newflag = false;
+ this.showToast("缁忛攢鍟嗕笉瀛樺湪锛屼笉鑳借浆鎴愩�愮粡閿�鍟嗙洰鏍囪浠枫�戙��","error");
+ }
+ else if (this.agencyOpportunity != undefined) {
+ newflag = false;
+ this.showToast("宸茬粡杞垚杩囥�愮粡閿�鍟嗙洰鏍囪浠枫�戙��","error");
+ }
+ else if (this.trade != '鍐呰部') {
+ newflag = false;
+ this.showToast("涓嶆槸鍐呰锤锛屼笉鑳借浆鎴愩�愮粡閿�鍟嗙洰鏍囪浠枫�戙��","error");
+ }
+ else {
+ var records = null;
+ console.log("3");
+ queryForRecords({
+ agency1Id: this.agency1Id,
+ hospitalId: this.hospitalId
+ }).then(result=>{
+ records = result;
+ if (records == null || records.length == 0) {
+ newflag = false;
+ this.showToast("娌℃湁鏈夋晥鐨勩�愮粡閿�鍟嗗尰闄€�戙��","error");
+ }
+ if (newflag) {
+ console.log("5");
+ queryForRecTypeList({
+ sobjectType: 'Agency_Opportunity__c',
+ developerName: 'Opportunity',
+ isActive: true
+ }).then(result=>{
+ console.log("6");
+ var recTypeList = result;
+ if (recTypeList.length == 0) {
+ this.showToast("娌℃湁鎵惧埌锛岀粡閿�鍟嗚浠风殑瀹氫箟銆�","error");
+ } else {
+ console.log("7");
+ queryForRecords2({
+ qualifiedApiName: 'Agency_Opportunity__c'
+ }).then(result=>{
+ console.log("8");
+ var records2 = result;
+ var recTypeId = recTypeList[0].Id;
+ var prefix, fId_Close_Forecasted_Date__c, fId_Agency_Hospital__c
+ , fId_OCM_Change_To_Opportunity_Flg__c, fId_Amount__c
+ , fId_OCMSale_Price__c, fId_Agency__c
+ , fId_StageName__c, fId_Change_To_Opportunity__c
+ , fId_Department_Cateogy__c, fId_Bid_Planned_Date__c;
+ console.log("9");
+ console.log(records2);
+ for (var i=0; i< records2.length; i++) {
+ var record = records2[i];
+ prefix = record.EntityDefinition.KeyPrefix.toString();
+ if (record.QualifiedApiName == 'Close_Forecasted_Date__c') {
+ fId_Close_Forecasted_Date__c = record.DurableId.toString().split('.')[1];
+ }
+ if (record.QualifiedApiName == 'OCM_Change_To_Opportunity_Flg__c') {
+ fId_OCM_Change_To_Opportunity_Flg__c = record.DurableId.toString().split('.')[1];
+ }
+ if (record.QualifiedApiName == 'Agency_Hospital__c') {
+ fId_Agency_Hospital__c = record.DurableId.toString().split('.')[1];
+ }
+ if (record.QualifiedApiName == 'Amount__c') {
+ fId_Amount__c = record.DurableId.toString().split('.')[1];
+ }
+ if (record.QualifiedApiName == 'OCMSale_Price__c') {
+ fId_OCMSale_Price__c = record.DurableId.toString().split('.')[1];
+ }
+ if (record.QualifiedApiName == 'Agency__c') {
+ fId_Agency__c = record.DurableId.toString().split('.')[1];
+ }
+ if (record.QualifiedApiName == 'StageName__c') {
+ fId_StageName__c = record.DurableId.toString().split('.')[1];
+ }
+ if (record.QualifiedApiName == 'Change_To_Opportunity__c') {
+ fId_Change_To_Opportunity__c = record.DurableId.toString().split('.')[1];
+ }
+ if (record.QualifiedApiName == 'Department_Cateogy__c') {
+ fId_Department_Cateogy__c = record.DurableId.toString().split('.')[1];
+ }
+ if (record.QualifiedApiName == 'Bid_Planned_Date__c') {
+ fId_Bid_Planned_Date__c = record.DurableId.toString().split('.')[1];
+ }
+ }
+ console.log("10");
+ console.log(records[0]);
+ var ahl = records[0];
+
+ try {
+ var url = "/a2Y/e?retURL=%2F"
+ + this.recordId
+ + "&Name='(OLYMPUS)'"
+ + encodeURIComponent(this.name)
+ + "&RecordType=" + recTypeId + "&" + fId_Close_Forecasted_Date__c + "="
+ + encodeURIComponent(this.closeForecastedDate)
+ + "&" + fId_Bid_Planned_Date__c + "="
+ + encodeURIComponent(this.bidPlannedDate)
+ + "&" + fId_OCM_Change_To_Opportunity_Flg__c + "=1" + "&CF" + fId_Agency_Hospital__c + "_lkid=" + ahl.Id + "&CF" + fId_Agency_Hospital__c + "=" + encodeURIComponent(ahl.Name) + "&" + fId_Amount__c + "="
+ + encodeURIComponent(this.dealerFinalPrice)
+ + "&" + fId_OCMSale_Price__c + "="
+ + encodeURIComponent(this.wholesalePrice)
+ + "&CF" + fId_Agency__c + "_lkid="
+ + encodeURIComponent(this.agency1Id)
+ + "&CF" + fId_Agency__c + "="
+ + encodeURIComponent(this.agency1Name)
+ + "&" + fId_StageName__c + "="
+ + encodeURIComponent(this.opportunityStage)
+ + "&CF" + fId_Change_To_Opportunity__c + "_lkid="
+ + encodeURIComponent(this.recordId )
+ + "&CF" + fId_Change_To_Opportunity__c + "="
+ + encodeURIComponent(this.name )
+ + "&" + fId_Department_Cateogy__c + "="
+ + encodeURIComponent(this.opportunityCategory);
+ console.log(url);
+ window.open(url);
+ } catch (error) {
+ console.log(error)
+ }
+ })
+ }
+ })
+ }
+ });
+ console.log("4");
+ }
+ this.IsLoading = false;
+ 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/lexNewOpportunityAgency/lexNewOpportunityAgency.js-meta.xml b/force-app/main/default/lwc/lexNewOpportunityAgency/lexNewOpportunityAgency.js-meta.xml
new file mode 100644
index 0000000..8b2c3d6
--- /dev/null
+++ b/force-app/main/default/lwc/lexNewOpportunityAgency/lexNewOpportunityAgency.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/lexNewPaymentPlanLoadLWC/lexNewPaymentPlanLoadLWC.css b/force-app/main/default/lwc/lexNewPaymentPlanLoadLWC/lexNewPaymentPlanLoadLWC.css
new file mode 100644
index 0000000..571ad53
--- /dev/null
+++ b/force-app/main/default/lwc/lexNewPaymentPlanLoadLWC/lexNewPaymentPlanLoadLWC.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/lexNewPaymentPlanLoadLWC/lexNewPaymentPlanLoadLWC.html b/force-app/main/default/lwc/lexNewPaymentPlanLoadLWC/lexNewPaymentPlanLoadLWC.html
new file mode 100644
index 0000000..0616732
--- /dev/null
+++ b/force-app/main/default/lwc/lexNewPaymentPlanLoadLWC/lexNewPaymentPlanLoadLWC.html
@@ -0,0 +1,229 @@
+<template>
+ <lightning-card variant="Narrow">
+ <lightning-spinner variant="brand" size="medium" if:true={isLoading}></lightning-spinner>
+ <div style="padding: 0 20px">
+ <div>
+ <lightning-button label="淇濆瓨" onclick={handlesave} disabled = {dis29}></lightning-button>
+ <lightning-button label="鍙栨秷" onclick ={CloseJs} disabled = {dis30}></lightning-button>
+ <lightning-button label="鎵撳嵃" onclick={handlePrint} disabled = {dis28}></lightning-button>
+ <lightning-layout>
+ <lightning-combobox
+ name="progress"
+ label="鏄惁涓烘爣鍑嗗悎鍚岋細"
+ value={MCEElement.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={MCEElement.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;">鏈悎鍚屾寮忕璁箣鏃ヨ捣 </p>
+ <lightning-combobox name="progress" label="" disabled = {dis3} value={MCEElement.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;"> 鏃ュ唴锛岀敳鏂瑰悜涔欐柟鏀粯鍏ㄩ儴鍚堝悓娆句汉姘戝竵</p>{MCEElement.Contract_Amount__c}<p style="font-size: 15px;"> 鍏冿紝澶у啓</p>{MCEElement.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;">鏈悎鍚屾椤瑰垎 </p>
+ <lightning-combobox name="progress" label="" disabled = {dis4} value={MCEElement.Total_Payment_Time__c} options={TotalPaymentTimeOption}
+ onchange={handleTotalPaymentTime} class="searchField" style = "width:60px" variant="label-hidden"></lightning-combobox>
+ <p style="font-size: 15px;"> 鏈熶粯鍑猴紝璇︾粏濡備笅锛�</p>
+ </lightning-layout>
+ <lightning-layout vertical-align="center">
+ <p style="font-size: 15px;">绗竴鏈熸椤逛粯娆炬椂闂翠负 </p>
+ <lightning-input disabled = {dis5} type="date" variant="label-hidden" label="" value={MCEElement.Payment_Plan_Date_First__c} onchange={handleDateFirst} ></lightning-input>
+ <p style="font-size: 15px;"> 鍓�,鐢叉柟鍚戜箼鏂规敮浠樹汉姘戝竵 </p>
+ <lightning-input disabled = {dis6} value={MCEElement.Payment_Plan_Sum_First__c} type="text" variant="label-hidden" label="" class="searchField" onchange={handleSumFirst}></lightning-input>
+ <p style="font-size: 15px;"> 鍏冿紝澶у啓</p>{MCEElement.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;">绗簩鏈熸椤逛粯娆炬椂闂翠负 </p>
+ <lightning-input disabled = {dis7} type="date" variant="label-hidden" label="" value={MCEElement.Payment_Plan_Date_Second__c} onchange={handleDateSecond}></lightning-input>
+ <p style="font-size: 15px;"> 鍓�,鐢叉柟鍚戜箼鏂规敮浠樹汉姘戝竵 </p>
+ <lightning-input disabled = {dis8} value={MCEElement.Payment_Plan_Sum_Second__c} type="text" variant="label-hidden" label="" class="searchField" onchange={handleSumSecond}></lightning-input>
+ <p style="font-size: 15px;"> 鍏冿紝澶у啓</p>{MCEElement.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;">绗笁鏈熸椤逛粯娆炬椂闂翠负 </p>
+ <lightning-input disabled = {dis9} type="date" variant="label-hidden" label="" value={MCEElement.Payment_Plan_Date_Third__c} onchange={handleDateThird}></lightning-input>
+ <p style="font-size: 15px;"> 鍓�,鐢叉柟鍚戜箼鏂规敮浠樹汉姘戝竵 </p>
+ <lightning-input disabled = {dis10} value={MCEElement.Payment_Plan_Sum_Third__c} type="text" variant="label-hidden" label="" class="searchField" onchange={handleSumThird}></lightning-input>
+ <p style="font-size: 15px;"> 鍏冿紝澶у啓</p>{MCEElement.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;">绗洓鏈熸椤逛粯娆炬椂闂翠负 </p>
+ <lightning-input disabled = {dis11} type="date" variant="label-hidden" label="" value={MCEElement.Payment_Plan_Date_Forth__c} onchange={handleDateForth}></lightning-input>
+ <p style="font-size: 15px;"> 鍓�,鐢叉柟鍚戜箼鏂规敮浠樹汉姘戝竵 </p>
+ <lightning-input disabled = {dis12} value={MCEElement.Payment_Plan_Sum_Forth__c} type="text" variant="label-hidden" label="" class="searchField" onchange={handleSumForth}></lightning-input>
+ <p style="font-size: 15px;"> 鍏冿紝澶у啓</p>{MCEElement.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;">绗簲鏈熸椤逛粯娆炬椂闂翠负 </p>
+ <lightning-input disabled = {dis13} type="date" variant="label-hidden" label="" value={MCEElement.Payment_Plan_Date_Fifth__c} onchange={handleDateFivth}></lightning-input>
+ <p style="font-size: 15px;"> 鍓�,鐢叉柟鍚戜箼鏂规敮浠樹汉姘戝竵 </p>
+ <lightning-input disabled = {dis14} value={MCEElement.Payment_Plan_Sum_Fifth__c} type="text" variant="label-hidden" label="" class="searchField" onchange={handleSumFivth}></lightning-input>
+ <p style="font-size: 15px;"> 鍏冿紝澶у啓</p>{MCEElement.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;">绗叚鏈熸椤逛粯娆炬椂闂翠负 </p>
+ <lightning-input disabled = {dis15} type="date" variant="label-hidden" label="" value={MCEElement.Payment_Plan_Date_Sixth__c} onchange={handleDateSixth}></lightning-input>
+ <p style="font-size: 15px;"> 鍓�,鐢叉柟鍚戜箼鏂规敮浠樹汉姘戝竵 </p>
+ <lightning-input disabled = {dis16} value={MCEElement.Payment_Plan_Sum_Sixth__c} type="text" variant="label-hidden" label="" class="searchField" onchange={handleSumSixth}></lightning-input>
+ <p style="font-size: 15px;"> 鍏冿紝澶у啓</p>{MCEElement.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={MCEElement.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={MCEElement.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={MCEElement.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={MCEElement.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={MCEElement.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={MCEElement.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={MCEElement.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={MCEElement.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={MCEElement.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={MCEElement.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>鐐规鎬绘鏁帮細 鍏� {MCEElement.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={MCEElement.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} disabled = {dis29}></lightning-button>
+ <lightning-button label="鍙栨秷" onclick ={CloseJs} disabled = {dis30}></lightning-button>
+ <lightning-button label="鎵撳嵃" onclick={handlePrint} disabled = {dis28}></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/lexNewPaymentPlanLoadLWC/lexNewPaymentPlanLoadLWC.js b/force-app/main/default/lwc/lexNewPaymentPlanLoadLWC/lexNewPaymentPlanLoadLWC.js
new file mode 100644
index 0000000..dbd2a0c
--- /dev/null
+++ b/force-app/main/default/lwc/lexNewPaymentPlanLoadLWC/lexNewPaymentPlanLoadLWC.js
@@ -0,0 +1,575 @@
+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 { refreshPage } from 'lightning/navigation';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+import print from '@salesforce/apex/lexNewPaymentPlanLoadLWCController.print';
+import init from '@salesforce/apex/lexNewPaymentPlanLoadLWCController.init';
+import save from '@salesforce/apex/lexNewPaymentPlanLoadLWCController.save';
+
+export default class lexNewPaymentPlanLoadLWC extends LightningElement {
+ @api recordId;
+ isLoading = false;
+ MCEElement = {
+ Id: '',
+ Phone_Number__c: '',
+ Status__c: '',
+ old_Is_RecognitionModel__c: '',
+ Engineer_Name__c: '',
+ Is_Standard_Contract__c: '',
+ Term_Of_Payment__c: '',
+ Contract_Range__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_Fifth__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_Fifth__c: '',
+ Payment_Plan_Sum_Sixth__c: '',
+ Small_Repair_Time__c: '',
+ Big_Repair_Time__c: '',
+ Live_Technical_Support_Time__c: '',
+ Tour_Check__c: '',
+ Dedust__c: '',
+ URF_Contract__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 :'',
+ Contract_End_Date__c:'',
+ Contract_Start_Date__c:'',
+ Service_contract_target_number__c:'',
+ User_Salesdepartment__c:'',
+ JingliApprovalManager__c:'',
+ Estimate_Target__c:'',
+ Decided_Estimation__c:'',
+ Salesdepartment__c:''
+ };
+ printContract;
+ printAgent;
+ agreeUpperLimit;
+ ContractAllMonth;
+ statusSave;
+ activeSections = ['paymentPlan', 'TextInformation'];
+ showTabOne ;
+ showTabTwice ;
+ showTabOnce ;
+ // 椤甸潰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.MCEElement.Status__c = result.PageMCE.Status__c;
+ this.MCEElement.URF_Contract__c = result.PageMCE.URF_Contract__c;
+ this.MCEElement.Id = this.recordId;
+ this.MCEElement.Contract_Range__c = result.PageMCE.Contract_Range__c;
+ this.MCEElement.Decided_Estimation__c = result.PageMCE.Decided_Estimation__c;
+ this.MCEElement.Estimate_Target__c = result.PageMCE.Estimation_Id__r.Estimate_Target__c;
+ this.MCEElement.Salesdepartment__c = result.PageMCE.Service_Contract_Staff__r.Salesdepartment__c;
+ this.MCEElement.Contract_End_Date__c = result.PageMCE.Contract_End_Date__c;
+ this.MCEElement.Contract_Start_Date__c = result.PageMCE.Contract_Start_Date__c;
+ this.MCEElement.User_Salesdepartment__c = result.PageMCE.User_Salesdepartment__c;
+ this.MCEElement.Service_contract_target_number__c = result.PageMCE.Service_contract_target_number__c;
+ this.MCEElement.JingliApprovalManager__c = result.PageMCE.Service_Contract_Staff__r.JingliApprovalManager__c;
+ this.ContractAllMonth = result.Contract_validMonth;
+ this.statusSave = result.statusSave;
+ this.MCEElement.old_Is_RecognitionModel__c = result.PageMCE.old_Is_RecognitionModel__c;
+ this.MCEElement.Engineer_Name__c = result.PageMCE.Engineer_Name__c;
+ this.MCEElement.Is_Standard_Contract__c = result.PageMCE.Is_Standard_Contract__c;
+ this.MCEElement.Term_Of_Payment__c = result.PageMCE.Term_Of_Payment__c;
+ this.MCEElement.one_off_payment_agreed_period__c = result.PageMCE.one_off_payment_agreed_period__c;
+ this.MCEElement.Total_Payment_Time__c = result.PageMCE.Total_Payment_Time__c;
+ this.MCEElement.Payment_Plan_Date_First__c = result.PageMCE.Payment_Plan_Date_First__c;
+ this.MCEElement.Payment_Plan_Date_Second__c = result.PageMCE.Payment_Plan_Date_Second__c;
+ this.MCEElement.Payment_Plan_Date_Third__c = result.PageMCE.Payment_Plan_Date_Third__c;
+ this.MCEElement.Payment_Plan_Date_Forth__c = result.PageMCE.Payment_Plan_Date_Forth__c;
+ this.MCEElement.Payment_Plan_Date_Fifth__c = result.PageMCE.Payment_Plan_Date_Fifth__c;
+ this.MCEElement.Payment_Plan_Date_Sixth__c = result.PageMCE.Payment_Plan_Date_Sixth__c;
+ this.MCEElement.Payment_Plan_Sum_First__c = result.PageMCE.Payment_Plan_Sum_First__c;
+ this.MCEElement.Payment_Plan_Sum_Second__c = result.PageMCE.Payment_Plan_Sum_Second__c;
+ this.MCEElement.Payment_Plan_Sum_Third__c = result.PageMCE.Payment_Plan_Sum_Third__c;
+ this.MCEElement.Payment_Plan_Sum_Forth__c = result.PageMCE.Payment_Plan_Sum_Forth__c;
+ this.MCEElement.Payment_Plan_Sum_Fifth__c = result.PageMCE.Payment_Plan_Sum_Fifth__c;
+ this.MCEElement.Payment_Plan_Sum_Sixth__c = result.PageMCE.Payment_Plan_Sum_Sixth__c;
+ this.MCEElement.Small_Repair_Time__c = result.PageMCE.Small_Repair_Time__c;
+ this.MCEElement.Big_Repair_Time__c = result.PageMCE.Big_Repair_Time__c;
+ this.MCEElement.Live_Technical_Support_Time__c = result.PageMCE.Live_Technical_Support_Time__c;
+ this.MCEElement.Tour_Check__c = result.PageMCE.Tour_Check__c;
+ this.MCEElement.Phone_Number__c = result.PageMCE.Phone_Number__c;
+ this.MCEElement.Dedust__c = result.PageMCE.Dedust__c;
+ this.MCEElement.First_Party_Contract_Number__c = result.PageMCE.First_Party_Contract_Number__c;
+ this.MCEElement.Second_Party_Contract_Number__c = result.PageMCE.Second_Party_Contract_Number__c;
+ this.MCEElement.Contract_Amount__c = result.PageMCE.Contract_Amount__c;
+ this.MCEElement.Total_Contract_Amount_In_Words__c = result.PageMCE.Total_Contract_Amount_In_Words__c;
+ this.MCEElement.Payment_Plan_Sum_First_in_Word__c = result.PageMCE.Payment_Plan_Sum_First_in_Word__c;
+ this.MCEElement.Payment_Plan_Sum_Second_in_Word__c = result.PageMCE.Payment_Plan_Sum_Second_in_Word__c;
+ this.MCEElement.Payment_Plan_Sum_Third_in_Word__c = result.PageMCE.Payment_Plan_Sum_Third_in_Word__c;
+ this.MCEElement.Payment_Plan_Sum_Forth_in_Word__c = result.PageMCE.Payment_Plan_Sum_Forth_in_Word__c;
+ this.MCEElement.Payment_Plan_Sum_Fivth_in_Word__c = result.PageMCE.Payment_Plan_Sum_Fivth_in_Word__c;
+ this.MCEElement.Payment_Plan_Sum_Sixth_in_Word__c = result.PageMCE.Payment_Plan_Sum_Sixth_in_Word__c;
+ this.MCEElement.Negotiate_Mean__c = result.PageMCE.Negotiate_Mean__c;
+ this.MCEElement.Inspection_Time__c = result.PageMCE.Inspection_Time__c;
+ this.MCEElement.Amount_Warranty_Coverage__c = (result.PageMCE.Contract_Amount__c*1.3).toString();
+ this.MCEElement.Amount_Warranty_Coverage_In_Word__c = this.smalltoBIG(this.MCEElement.Amount_Warranty_Coverage__c);
+ this.AllChecktime();
+ this.Initdisabled();
+ this.refresh();
+ }).catch(error => {
+ console.log("error");
+ console.log(error.message());
+ });
+ }
+ handleIsStandardContract(event) {
+ this.MCEElement.Is_Standard_Contract__c = event.detail.value;
+ this.refresh();
+ this.AllChecktime();
+ }
+ handleTermOfPayment(event) {
+ this.MCEElement.Term_Of_Payment__c = event.detail.value;
+ this.refresh();
+ }
+ handleOneoff(event) {
+ this.MCEElement.one_off_payment_agreed_period__c = event.detail.value;
+ }
+ handleSmallRepairTime(event) {
+ this.MCEElement.Small_Repair_Time__c = event.detail.value;
+ }
+ handleBigRepairTime(event) {
+ this.MCEElement.Big_Repair_Time__c = event.detail.value;
+ }
+ handleLiveTechnicalSupportTime(event) {
+ this.MCEElement.Live_Technical_Support_Time__c = event.detail.value;
+ }
+ handleTourCheck(event) {
+ this.MCEElement.Tour_Check__c = event.detail.value;
+ }
+ handleInspectionTime(event) {
+ this.MCEElement.Inspection_Time__c = event.detail.value;
+ this.AllChecktime();
+ }
+ handleDedust(event) {
+ this.MCEElement.Dedust__c = event.detail.value;
+ }
+ handleFirstPartyContractNumber(event) {
+ this.MCEElement.First_Party_Contract_Number__c = event.detail.value;
+ }
+ handleSecondPartyContractNumber(event) {
+ this.MCEElement.Second_Party_Contract_Number__c = event.detail.value;
+ }
+
+ handleTotalPaymentTime(event) {
+ this.MCEElement.Total_Payment_Time__c = event.detail.value;
+ }
+ // 澶氭浠樻鍒�
+ handleDateFirst(event){
+ this.MCEElement.Payment_Plan_Date_First__c = event.detail.value;
+ }
+ handleDateSecond(event){
+ this.MCEElement.Payment_Plan_Date_Second__c = event.detail.value;
+ }
+ handleDateThird(event){
+ this.MCEElement.Payment_Plan_Date_Third__c = event.detail.value;
+ }
+ handleDateForth(event){
+ this.MCEElement.Payment_Plan_Date_Forth__c = event.detail.value;
+ }
+ handleDateFivth(event){
+ this.MCEElement.Payment_Plan_Date_Fifth__c = event.detail.value;
+ }
+ handleDateSixth(event){
+ this.MCEElement.Payment_Plan_Date_Sixth__c = event.detail.value;
+ }
+ handleSumFirst(event){
+ this.MCEElement.Payment_Plan_Sum_First__c = event.detail.value;
+ this.MCEElement.Payment_Plan_Sum_First_in_Word__c = this.smalltoBIG(this.MCEElement.Payment_Plan_Sum_First__c);
+ this.refresh();
+ }
+ handleSumSecond(event){
+ this.MCEElement.Payment_Plan_Sum_Second__c = event.detail.value;
+ this.MCEElement.Payment_Plan_Sum_Second_in_Word__c = this.smalltoBIG(this.MCEElement.Payment_Plan_Sum_Second__c);
+ this.refresh();
+ }
+ handleSumThird(event){
+ this.MCEElement.Payment_Plan_Sum_Third__c = event.detail.value;
+ this.MCEElement.Payment_Plan_Sum_Third_in_Word__c = this.smalltoBIG(this.MCEElement.Payment_Plan_Sum_Third__c);
+ this.refresh();
+ }
+ handleSumForth(event){
+ this.MCEElement.Payment_Plan_Sum_Forth__c = event.detail.value;
+ this.MCEElement.Payment_Plan_Sum_Forth_in_Word__c = this.smalltoBIG(this.MCEElement.Payment_Plan_Sum_Forth__c);
+ this.refresh();
+ }
+ handleSumFivth(event){
+ this.MCEElement.Payment_Plan_Sum_Fifth__c = event.detail.value;
+ this.MCEElement.Payment_Plan_Sum_Fivth_in_Word__c = this.smalltoBIG(this.MCEElement.Payment_Plan_Sum_Fifth__c);
+ this.refresh();
+ }
+ handleSumSixth(event){
+ this.MCEElement.Payment_Plan_Sum_Sixth__c = event.detail.value;
+ this.MCEElement.Payment_Plan_Sum_Sixth_in_Word__c = this.smalltoBIG(this.MCEElement.Payment_Plan_Sum_Sixth__c);
+ this.refresh();
+ }
+ handleNegotiateMean(event){
+ this.MCEElement.Negotiate_Mean__c = event.detail.value;
+ }
+ handleEngineerName(event){
+ this.MCEElement.Engineer_Name__c = event.detail.value;
+ }
+ handlephoneNumber(event){
+ // this.phoneNumber = event.detail.value;
+ this.MCEElement.Phone_Number__c = event.detail.value;
+ }
+ handlePrint(event){
+ this.isLoading = true;
+ print({
+ MCEElement:this.MCEElement
+ }).then(result =>{
+ console.log('result.statusSave='+result.statusSave);
+ if (result.statusSave == 'Denied') {
+ const event = new ShowToastEvent({
+ title: 'warning',
+ message: result.status,
+ variant:'warning',
+ });
+ this.dispatchEvent(event);
+ this.isLoading = false;
+ }else{
+ this.printContract = result.printContract;
+ this.printAgent = result.printAgent;
+ this.agreeUpperLimit = result.agreeUpperLimit;
+ this.statusSave = result.statusSave;
+ this.PrintJs();
+ }
+
+ }).catch(error => {
+ console.log(error.message());
+ });
+ }
+ handlesave(event){
+ this.isLoading = true;
+ save({
+ MCEElement:this.MCEElement
+ }).then(result =>{
+ if (result.statusSave == 'Denied') {
+ const event = new ShowToastEvent({
+ title: 'warning',
+ message: result.status,
+ variant:'warning',
+ });
+ this.dispatchEvent(event);
+ this.isLoading = false;
+ }
+ this.isLoading = false;
+ }).catch(error => {
+ const event = new ShowToastEvent({
+ title: 'warning',
+ message: '鍑洪敊鍟�',
+ variant:'warning',
+ });
+ this.dispatchEvent(event);
+ this.isLoading = false;
+ 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.MCEElement.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.MCEElement.old_Is_RecognitionModel__c == 'true' && this.MCEElement.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.MCEElement.Inspection_Time__c == '1' && this.ContractAllMonth < 9)
+ || ( this.MCEElement.Inspection_Time__c == '2' && this.ContractAllMonth < 6)
+ || ( this.MCEElement.Inspection_Time__c == '3' && this.ContractAllMonth < 4)
+ || ( this.MCEElement.Inspection_Time__c == '4' && this.ContractAllMonth < 3)){
+ Allchecks = '1';
+ }else{
+ if (this.ContractAllMonth - parseInt(this.ContractAllMonth / 12) * 12 >= 6 && this.MCEElement.Inspection_Time__c == '1'){
+ Allchecks = ((this.ContractAllMonth * Number( this.MCEElement.Inspection_Time__c))/12+1).toString();
+ }else{
+ Allchecks =((this.ContractAllMonth * Number( this.MCEElement.Inspection_Time__c))/12).toString();
+ }
+ }
+ if (Allchecks!=null) {
+ this.MCEElement.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');
+ this.isLoading = false;
+ }else{
+ // 鎵撳嵃鍖婚櫌鍚堝悓閰嶇疆
+ window.open('/apex/NewMCHPDF?id='+this.recordId, 'MCHPDF');
+ this.isLoading = false;
+ }
+ //HWAG-BHT7XX 2019/11/26 END
+ }else if (this.printAgent == true) {
+ if(this.agreeUpperLimit == true){
+ //鎵撳嵃缁忛攢鍟嗛檺娆″悎鍚�
+ window.open('/apex/NewMCAgentPDFLimit?id='+this.recordId, 'MCAgentLimitPDF');
+ this.isLoading = false;
+ }else{
+ //鎵撳嵃缁忛攢鍟嗗悎鍚�
+ window.open('/apex/NewMCAgentPDF?id='+this.recordId, 'MCHPDF');
+ this.isLoading = false;
+ }
+ }else {
+ alert('1');
+ }
+ }else{
+ this.dispatchEvent(new CloseActionScreenEvent());
+ this.isLoading = false;
+ }
+ }
+ refresh(){
+ if (this.MCEElement.Is_Standard_Contract__c == '鍚�') {
+ this.showTabOne = false;
+ }
+ if (this.MCEElement.Is_Standard_Contract__c == '鏄�'){
+ this.showTabOne = true;
+ }
+ if (this.MCEElement.Term_Of_Payment__c == '澶氭浠樻'){
+ this.showTabOnce = false;
+ this.showTabTwice = true;
+ }
+ if (this.MCEElement.Term_Of_Payment__c == '涓�娆℃�т粯娆�'){
+ this.showTabOnce = true;
+ this.showTabTwice = false;
+ }
+ }
+
+
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexNewPaymentPlanLoadLWC/lexNewPaymentPlanLoadLWC.js-meta.xml b/force-app/main/default/lwc/lexNewPaymentPlanLoadLWC/lexNewPaymentPlanLoadLWC.js-meta.xml
new file mode 100644
index 0000000..5166f6a
--- /dev/null
+++ b/force-app/main/default/lwc/lexNewPaymentPlanLoadLWC/lexNewPaymentPlanLoadLWC.js-meta.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lexNewPaymentPlanLoadLWC">
+ <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/lexNewRepairLWC/lexNewRepairLWC.css b/force-app/main/default/lwc/lexNewRepairLWC/lexNewRepairLWC.css
new file mode 100644
index 0000000..adaad9f
--- /dev/null
+++ b/force-app/main/default/lwc/lexNewRepairLWC/lexNewRepairLWC.css
@@ -0,0 +1,12 @@
+.exampleHolder{
+ position: relative;
+ top: 0;
+ width: 0;
+ left: 0;
+ right: 0;
+ margin: 0 auto;
+}
+.repairTitle{
+ --slds-c-accordion-heading-font-size: 1.05rem;
+ --slds-c-accordion-summary-color-background:#f3f3f3;
+}
\ 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..71e2e87
--- /dev/null
+++ b/force-app/main/default/lwc/lexNewRepairLWC/lexNewRepairLWC.html
@@ -0,0 +1,93 @@
+<template>
+ <div class="exampleHolder" if:true={isLoading}>
+ <lightning-spinner alternative-text="Loading" size="small"></lightning-spinner>
+ </div>
+ <div class="newRepair">
+ <div class="slds-modal__content slds-p-around_medium" id="modal-content-id-2">
+ <!-- onsectiontoggle={handleSectionToggle} -->
+ <lightning-accordion allow-multiple-sections-open="true"
+ active-section-name={activeSections}>
+ <!-- Repair__c -->
+ <lightning-record-edit-form onload={handleRecordEditFormLoad} onsubmit={handleSubmit} onsuccess={handleSucess} onerror={handleError} object-api-name='{objectName}' record-type-id={recordTypeId} record-id={recordIdStr}>
+ <lightning-messages></lightning-messages>
+ <template if:true={uiPageLayoutView}>
+ <lightning-layout multiple-rows="true">
+ <lightning-layout-item size="12">
+ <!-- active-section-name={activeSections} -->
+
+ <template for:each={uiPageLayoutView.sections} for:item="section">
+ <lightning-accordion-section name={section.id} key={section.id} label={section.heading} class="repairTitle">
+ <lightning-layout multiple-rows="true" style="margin-top: 10px;">
+ <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>
+ </template>
+ </lightning-layout-item>
+ </lightning-layout>
+ </template>
+ <lightning-messages></lightning-messages>
+ <div class="" style="text-align: center;">
+ <lightning-button
+ label="鍙栨秷"
+ onclick={handleCancel}
+ ></lightning-button>
+ <lightning-button
+ type="submit"
+ name="save"
+ label="淇濆瓨"
+ style="margin-left: 10px;"
+ ></lightning-button>
+ <lightning-button if:true={hasRecordId}
+ name="saveAndNew"
+ type="submit"
+ label="淇濆瓨骞舵柊寤�"
+ onclick={handleSubmitAndNew}
+ style="margin-left: 10px;"
+ ></lightning-button>
+ </div>
+ </lightning-record-edit-form>
+ </lightning-accordion>
+ </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>
+<!-- a0J0l00000Ep9XHEAZ -->
+<!-- <lightning-record-edit-form record-id="" 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..cfe8142
--- /dev/null
+++ b/force-app/main/default/lwc/lexNewRepairLWC/lexNewRepairLWC.js
@@ -0,0 +1,171 @@
+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/lexNewRepairAuraController.init';
+
+export default class lexNewRepairLWC extends NavigationMixin(LightningElement) {
+
+ // Flexipage provides recordId
+ @api recordId;
+ // @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;
+ //灞炴�ч粯璁ゅ��
+ defaultValue = {};
+ isLoading = true;
+ activeSections;
+ isSaveAndNew = false;
+ //鏇存柊鎿嶄綔鏃� 涓嶆樉绀轰繚瀛樻柊寤�
+ hasRecordId = false;
+ recordIdStr;
+ recordTypeId = '';
+
+ connectedCallback(){
+ console.log(this.recordId);
+ console.log(JSON.parse(this.urlStr));
+ if (!this.recordId) {
+ this.hasRecordId = true;
+ // urlStr 浼犲弬澶勭悊
+ let urlObj = JSON.parse(this.urlStr);
+ if (urlObj.hasOwnProperty("CF00N10000009H1rR_lkid") || urlObj.hasOwnProperty("retURL") ) {
+ console.log('urlObj.hasOwnProperty:',urlObj);
+ // init 鍚慍ontroller鍙戦�佽姹傝幏鍙栨暟鎹�
+ init({
+ recordId : this.recordId,urlStr : this.urlStr
+ }).then(result => {
+ console.log("result");
+ console.log(result);
+ this.defaultValue = result;
+ //杩斿洖缁撴灉璧嬪��
+ if (result.status) {
+ this.recordTypeId = result.recordTypeId;
+ }
+ }).catch(error => {
+ console.log("error");
+ console.log(error);
+ }).finally(() => {
+ });
+ }
+ }
+ }
+ //鑾峰彇Layout瀛楁
+ handleRecordEditFormLoad(event) {
+ if (event.detail.layout == undefined) {
+ return;
+ }
+ console.log('Layout => ', JSON.stringify(event.detail.layout));
+ this.uiPageLayoutView = event.detail.layout;
+ console.log('Layout1 => ',this.uiPageLayoutView);
+
+ //椤甸潰鍐呭鍒濆鍖� del
+ //to del ! err: Delivered_Product 02i10000004tNXIAA2 Hospital 0011000001g11rDAAQ
+ // this.defaultValue['Delivered_Product'] = '02i10000004tMKgAAM';
+ // // this.defaultValue['Delivered_Product'] = '02i10000004tNXIAA2';
+ // this.defaultValue['Account'] = '0011000001g11rDAAQ';
+ // this.defaultValue['SalesOfficeCode_selection'] = '鍖椾含';
+ // this.defaultValue['On_site_repair'] = 'RC淇悊';
+ // this.defaultValue['Repair_Detail'] = 'testLwcSaveAndNew';
+ // this.defaultValue['Hospital'] = '0011000001g0R8vAAE';
+ // // this.defaultValue['Hospital'] = '0011000001g11rDAAQ';
+ // // 0011000000V9SG5AAN
+ // this.defaultValue['work_location_select'] = '鍖椾含鍔炰簨澶�';
+
+ const inputFields = this.template.querySelectorAll('lightning-input-field');
+ if (inputFields) {
+ inputFields.forEach(field => {
+ let fieldName = field.name.replace("__c","");
+ if (this.defaultValue.hasOwnProperty(fieldName)) {
+ field.value= this.defaultValue[fieldName];
+ }
+ });
+ }
+
+ let checkedSections = new Set();
+ if (this.uiPageLayoutView.sections.length > 0) {
+ for(const tabs of this.uiPageLayoutView.sections){
+ checkedSections.add(tabs.id);
+ }
+ this.activeSections = Array.from(checkedSections);
+ }
+ this.isLoading = false;
+ this.recordIdStr = this.recordId;
+
+ }
+ //淇濆瓨 淇濆瓨鏂板缓鎻愪氦浜嬩欢
+ handleSubmit(event){
+ this.isLoading = true;
+ console.log("handleSubmit");
+ event.preventDefault(); // stop the form from submitting
+ const fields = event.detail.fields;
+ /*console.log("fields");
+ console.log(fields);*/
+ this.template.querySelector('lightning-record-edit-form').submit(fields);
+ // console.log("success");
+ }
+ handleSubmitAndNew(event){
+ this.isSaveAndNew = true;
+ }
+ //鎴愬姛鍚庤烦杞�
+ handleSucess(event){
+ // console.log("handleSucess");
+ const updatedRecord = event.detail.id;
+ console.log('onsuccess: ', updatedRecord);
+ if (this.isSaveAndNew) {
+ // console.log("isSaveAndNew");
+ window.location.reload();
+ }else if (event.detail.id) {
+ // console.log("NavigationMixin");
+ this[NavigationMixin.Navigate]({
+ type:'standard__recordPage',
+ attributes:{
+ recordId:updatedRecord,
+ objectApiName:this.objectName,
+ actionName:'view'
+ }
+ });
+ }
+ this.isLoading = false;
+ }
+ //瀵硅薄楠岃瘉锛屽睘鎬ч獙璇�
+ handleError(event) {
+ console.log("handleError event");
+ console.log(JSON.stringify(event.detail));
+ }
+ handleCancel(event) {
+ window.location.href = "https://ocsm--partial.sandbox.lightning.force.com/lightning/o/Repair__c/list?filterName=Recent&0.source=alohaHeader";
+ }
+
+
+ showToast(theTitle, theMessage, theVariant) {
+ const event = new ShowToastEvent({
+ title: theTitle,
+ message: theMessage,
+ variant: theVariant
+ });
+ this.dispatchEvent(event);
+ }
+
+}
\ 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..dd78103
--- /dev/null
+++ b/force-app/main/default/lwc/lexOCSMToReportRepair/lexOCSMToReportRepair.js
@@ -0,0 +1,91 @@
+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
+ }).then(result => {
+ console.log(result);
+ if (result.length > 0) {
+ var split = result.split(", ");
+ alert(split[1]);
+ }
+ 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/lexOSHNogoods/lexOSHNogoods.html b/force-app/main/default/lwc/lexOSHNogoods/lexOSHNogoods.html
new file mode 100644
index 0000000..aaa4cbd
--- /dev/null
+++ b/force-app/main/default/lwc/lexOSHNogoods/lexOSHNogoods.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/lexOSHNogoods/lexOSHNogoods.js b/force-app/main/default/lwc/lexOSHNogoods/lexOSHNogoods.js
new file mode 100644
index 0000000..c8ce47e
--- /dev/null
+++ b/force-app/main/default/lwc/lexOSHNogoods/lexOSHNogoods.js
@@ -0,0 +1,90 @@
+import {
+ LightningElement,
+ wire,
+ api
+} from 'lwc';
+import {
+ CurrentPageReference
+} from "lightning/navigation";
+import {
+ CloseActionScreenEvent
+} from 'lightning/actions';
+import init from '@salesforce/apex/buttonQISReportCtl.init';
+import updateOSHNogoods from '@salesforce/apex/buttonQISReportCtl.updateOSHNogoods';
+import {
+ ShowToastEvent
+} from 'lightning/platformShowToastEvent';
+
+export default class LexOSHNogoods extends LightningElement {
+ @api recordId;
+ str;
+ IsLoading = true;
+ Id;
+ QISStatusC;
+ userId;
+ email;
+
+ @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.QISStatusC = result.QISStatusC;
+ this.userId = result.userId;
+ this.email = result.email;
+
+ this.OSHNogoods();
+ this.dispatchEvent(new CloseActionScreenEvent());
+ }
+ }).catch(error => {
+ console.log(error);
+ })
+ }
+
+ // 鍑忎环鐢宠
+ OSHNogoods() {
+ if (this.QISStatusC != 'OSH妫�娴嬬敵璇�' && this.QISStatusC != '瀹屾瘯') {
+ this.ShowToastEvent("OSH宸茬粡鏀跺埌瀹炵墿", "error")
+ // alert('OSH宸茬粡鏀跺埌瀹炵墿');
+ } else {
+ updateOSHNogoods({
+ Id: this.Id,
+ email: this.email,
+ userId: this.userId
+ }).then(result => {
+ console.log(result);
+ if (result.length > 0) {
+ var split = result.split(", ");
+ alert(split[1]);
+ }
+ location.reload();
+ }).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/lexOSHNogoods/lexOSHNogoods.js-meta.xml b/force-app/main/default/lwc/lexOSHNogoods/lexOSHNogoods.js-meta.xml
new file mode 100644
index 0000000..3392981
--- /dev/null
+++ b/force-app/main/default/lwc/lexOSHNogoods/lexOSHNogoods.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/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/lexOpporSplite/lexOpporSplite.html b/force-app/main/default/lwc/lexOpporSplite/lexOpporSplite.html
new file mode 100644
index 0000000..7c1379b
--- /dev/null
+++ b/force-app/main/default/lwc/lexOpporSplite/lexOpporSplite.html
@@ -0,0 +1,6 @@
+<template>
+ <div class="lexOpporSpliteHolder" 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/lexOpporSplite/lexOpporSplite.js b/force-app/main/default/lwc/lexOpporSplite/lexOpporSplite.js
new file mode 100644
index 0000000..564dea5
--- /dev/null
+++ b/force-app/main/default/lwc/lexOpporSplite/lexOpporSplite.js
@@ -0,0 +1,88 @@
+/*
+ * @Description:
+ * @version:
+ * @Author: chen jing wu
+ * @Date: 2023-04-23 10:09:31
+ * @LastEditors: chen jing wu
+ * @LastEditTime: 2023-04-23 11:29:15
+ */
+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.initForOpporSpliteButton';
+
+export default class LexOpporSplite extends LightningElement {
+ @api recordId;
+ authorizedDBNo;
+ estimationDecision;
+ siDecideID;
+ name;
+ opportunityNo;
+ isAuthorized;
+ @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.authorizedDBNo = result.authorizedDBNo;
+ this.estimationDecision = result.estimationDecision;
+ this.siDecideID = result.siDecideID;
+ this.name = result.name;
+ this.opportunityNo = result.opportunityNo;
+ this.isAuthorized = result.isAuthorized;
+ this.opporSplite();
+ })
+ }
+ opporSplite(){
+ if(this.recordId == '宸茬粓姝�'){
+ this.showToast("闇�姹傝〃宸茬粓姝紝涓嶈兘鎷嗗崟","error");
+ }else if(this.authorizedDBNo == ''){
+ this.showToast("娌℃湁鍚堝悓鎺堟潈缂栫爜锛屼笉鑳芥媶鍗�","error");
+ }else if(this.estimationDecision == true){
+ this.showToast("鎶ヤ环宸茬粡Decided锛屼笉鑳芥媶鍗�","error");
+ }else if(this.siDecideID == ''){
+ this.showToast("闇�姹傝〃鏈壒鍑嗭紝涓嶈兘鎷嗗崟","error");
+ }else if(this.recordId != '鑽夋涓�' && this.recordId != '宸叉彁浜�' && this.recordId != '宸茬粓姝�'){
+ window.open(
+ this.recordId
+ + "/e?clone=1&retURL=%2F"
+ + this.recordId + "&00N10000002Cbwh=*&CF00N10000006qHai="
+ + this.name + "&00Np0000001DOwi=***&00Np0000001CxmR="
+ + this.opportunityNo + "&CF00N10000006qHai_lkid="
+ + this.recordId + "&00N10000006qHav="
+ + this.opportunityNo + "&00N10000009Glvn="
+ + this.isAuthorized + "&00N10000008pnmd=1&00N10000002DXkZ=&00N10000002DXke=&00N10000002CmTf=&00N10000002Cb9P=&00N10000002DItz=&00N10000003O9oO=&00N10000003O9o4=&00N10000002CYHy=&00Np00000030gzb=&00Np0000002ajGe=&00Np00000034Qlb"
+ );
+ }
+ 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 }});
+ }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexOpporSplite/lexOpporSplite.js-meta.xml b/force-app/main/default/lwc/lexOpporSplite/lexOpporSplite.js-meta.xml
new file mode 100644
index 0000000..3392981
--- /dev/null
+++ b/force-app/main/default/lwc/lexOpporSplite/lexOpporSplite.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/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..c2b5fd7
--- /dev/null
+++ b/force-app/main/default/lwc/lexOutboundorderImport/lexOutboundorderImport.js
@@ -0,0 +1,244 @@
+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;
+ @track secondAgencyMap = {};
+ @track hospitalSysMap = {};
+
+ 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;
+ console.log('this.agencyProType = ' + this.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')
+ console.log('this.sqlagencyProType = ' + this.sqlagencyProType);
+ console.log('this.userWorkLocation = ' + this.userWorkLocation);
+ console.log('this.accountName = ' + this.accountName);
+ importCSVFile({
+ base64DataLwc: encodeURIComponent(this.fileContents),
+ sqlagencyProTypeLwc: this.sqlagencyProType,
+ userWorkLocationLwc: this.userWorkLocation,
+ accountNameLwc: 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.secondAgencyMap = r.entity.secondAgencyMap;
+ this.hospitalSysMap = r.entity.hospitalSysMap;
+ 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;
+ }
+ console.log('this.agencyProType = ' + this.agencyProType);
+ dataImport({
+ csvRecordStrLwc: this.csvRecordStr,
+ orderRecordsLwc: JSON.stringify(cloneData),
+ sqlagencyProTypeLwc: this.sqlagencyProType,
+ userWorkLocationLwc: this.userWorkLocation,
+ accountNameLwc: this.accountName,
+ accountidLwc: this.accountid,
+ agencyProTypeLwc: this.agencyProType,
+ secondAgencyMapLwc: this.secondAgencyMap,
+ hospitalSysMapLwc: this.hospitalSysMap,
+ }).then((r) => {
+ r = JSON.parse(JSON.stringify(r));
+ console.log("r = " + JSON.stringify(r));
+ if (r.status == "Success" && r.msg == "") {
+ this.saveFLGbln = true;
+ 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..d764c4e
--- /dev/null
+++ b/force-app/main/default/lwc/lexOverdueStock/lexOverdueStock.html
@@ -0,0 +1,110 @@
+<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 style="width:200px"><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:5px;">
+ <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:5px">
+ <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;">
+ <lightning-datatable
+ key-field="id" data={overduePageRecords} columns={column}
+ onrowselection={getSelectedRows} hide-checkbox-column="true"
+ selected-rows={selectedRows}>
+ </lightning-datatable>
+ <!-- <template if:true={showTables}>
+ <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..a79600b
--- /dev/null
+++ b/force-app/main/default/lwc/lexOverdueStock/lexOverdueStock.js
@@ -0,0 +1,275 @@
+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: 80,
+ },
+ {
+ 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;
+ @track overdueList = [];
+
+
+ //鍒濆鍖�
+ 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.overdueList = result.entity.overdueList;
+ this.iSinventory = result.entity.iSinventory;
+ console.log('result褰曞叆'+JSON.stringify( result));
+ console.log('overdueList==>'+JSON.stringify( this.overdueList));
+
+
+ for(let i in this.overduePageRecords){
+ if(this.overduePageRecords[i].Prod!=null){
+ 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);
+ this.showSpinner = false;
+ }
+
+ }).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('杩涘叆閿�瀛樼‘璁�');
+ this.showSpinner = true;
+ 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),
+ saveoverdueList:JSON.stringify(this.overdueList)
+ }).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'
+ }
+ });
+ this.showSpinner = false;
+ } else {
+ console.log('result.msg = ' + result.msg);
+ const evt = new ShowToastEvent({
+ title: '澶辫触',
+ message: result.msg,
+ variant: 'error'
+ });
+ this.dispatchEvent(evt);
+ this.showSpinner = false;
+ }
+ })
+ .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/lexPCLLostReportPage/lexPCLLostReportPage.css b/force-app/main/default/lwc/lexPCLLostReportPage/lexPCLLostReportPage.css
new file mode 100644
index 0000000..80c5615
--- /dev/null
+++ b/force-app/main/default/lwc/lexPCLLostReportPage/lexPCLLostReportPage.css
@@ -0,0 +1,56 @@
+.combobox-container {
+ display: flex;
+ align-items: center;
+}
+
+.combobox-container label {
+ margin-right: 10px;
+}
+
+
+.my-combobox {
+ display: flex;
+ align-items: center;
+ padding: 0 0.5rem;
+ width: 200px;
+}
+
+.slds-form-element__label {
+ width: 144px;
+ margin-right: -5rem;
+
+}
+.myinitDiv{
+
+}
+.card{
+
+}
+
+.my-addbutton{
+ -webkit-text-size-adjust: 100%;
+ font-family: -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol';
+ line-height: normal;
+ color: rgb(3, 45, 96);
+ -webkit-tap-highlight-color: transparent;
+ border-spacing: 0;
+ border-collapse: separate;
+ font-size: 13px;
+ white-space: normal;
+ box-sizing: border-box;
+ border: 0;
+}
+
+.container {
+ display: flex;
+ justify-content: space-between; /* 璁剧疆瀛愬厓绱犻棿鐨勯棿璺� */
+ }
+
+ .item {
+ flex: 1; /* 璁剧疆瀛愬厓绱犵殑浼哥缉姣斾緥锛屽钩鍒嗗墿浣欑┖闂� /
+ max-width: 100%; / 闃叉瀛愬厓绱犳孩鍑哄鍣� */
+ }
+
+ .slds-button_reset{
+ background: rgb(243, 243, 243);
+ }
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexPCLLostReportPage/lexPCLLostReportPage.html b/force-app/main/default/lwc/lexPCLLostReportPage/lexPCLLostReportPage.html
new file mode 100644
index 0000000..0df0dec
--- /dev/null
+++ b/force-app/main/default/lwc/lexPCLLostReportPage/lexPCLLostReportPage.html
@@ -0,0 +1,180 @@
+<!--
+ * @Description:
+ * @version:
+ * @Author: chen jing wu
+ * @Date: 2023-04-20 17:16:48
+ * @LastEditors: chen jing wu
+ * @LastEditTime: 2023-04-28 16:41:33
+-->
+<template>
+ <lightning-card id="my-element" class="card" variant="Narrow" data-id="my-card">
+ <!-- <lightning-input onchange={initAll}></lightning-input> -->
+ <div style="padding: 0 20px">
+ <lightning-layout>
+ <lightning-layout-item>
+ <div class="mainTitle" style="padding: 10px 3px;font-weight: bold;">澶卞崟鎶ュ憡缂栬緫椤甸潰</div>
+ </lightning-layout-item>
+ <div style="margin-left: 550px;">
+ <lightning-layout-item size="12">
+ <lightning-button label="杩藉姞鍝佺墝" onclick={addBrandJs}></lightning-button>
+ <lightning-button label="淇濆瓨" onclick={saveJs}></lightning-button>
+ <lightning-button label="杩斿洖璇环" onclick={cancel}></lightning-button>
+ </lightning-layout-item>
+ </div>
+ <!-- <lightning-layout-item flexibility="auto" padding="around-small">
+ <lightning-button label="淇濆瓨" onclick={saveJs}></lightning-button>
+ </lightning-layout-item>
+ <lightning-layout-item flexibility="auto" padding="around-small">
+ <lightning-button label="杩斿洖璇环" onclick={cancel}></lightning-button>
+ </lightning-layout-item> -->
+ </lightning-layout>
+ <div style="margin-top: 5px">
+ <lightning-layout>
+ <lightning-layout-item size="2" padding="around-small">
+ <!-- <div class="combobox-container">
+ <label for="losttype">澶卞崟绫诲瀷:</label>
+ <lightning-combobox id="losttype" name="progress" value={lostReportObj.RecordType} options={RecordTypeOptions}
+ onchange={handleStatus1Change} class="searchField" style="width: 71.33px; height: 32px;">
+ </lightning-combobox>
+ </div> -->
+ <div class="slds-form_horizontal my-combobox">
+ <label class="slds-form-element__label">澶卞崟绫诲瀷锛�</label>
+ <lightning-combobox name="progress" value={LostReport.lostReport.LostType__c} options={RecordTypeOptions}
+ onchange={handleStatus1Change} class="searchField">
+ </lightning-combobox>
+ </div>
+ </lightning-layout-item>
+ <lightning-layout-item size="3" padding="around-small">
+ <div style="padding: 10px 3px;font: 16px;">澶卞崟鎬婚噾棰濓紙鍏冿級: {LostReport.lostReport.LostTotalAmount__c}</div>
+ <!-- <lightning-output-field>{LostReport.lostReport.LostTotalAmount__c}</lightning-output-field> -->
+ </lightning-layout-item>
+ <lightning-layout-item size="3" padding="around-small">
+ <div style="padding: 10px 3px;font: 16px;">鐘舵��: {LostReport.lostReport.Report_Status__c}</div>
+ <!-- <lightning-output-field>{LostReport.lostReport.Report_Status__c}</lightning-output-field> -->
+ </lightning-layout-item>
+ </lightning-layout>
+ <lightning-accordion allow-multiple-sections-open class="myAccordion">
+ <template for:each={LostReport.LostBrands} for:item="brand" for:index="i">
+ <li key={brand}>
+ <lightning-accordion-section name="澶卞崟鍝佺墝" label="澶卞崟鍝佺墝">
+ <lightning-button name={i} label="鍒犻櫎" onclick={deleteBrandJs} disabled={isBrandCount2}></lightning-button>
+ <lightning-layout>
+ <lightning-layout-item size="4" padding="around-small">
+ <c-multi-select-combobox onselect={setBrandMannualName} data-id="Lost_By_Company" class="mycombobox" options={brandOptions} selected-value={reasonValue} label="澶卞崟鍝佺墝: "></c-multi-select-combobox>
+ </lightning-layout-item>
+ <lightning-layout-item flexibility="auto" padding="around-small">
+ <lightning-combobox name="progress" label="澶卞崟鍘熷洜锛堜富锛�:" value="" options={columns2}
+ onchange={handleStatus1Change} class="searchField"></lightning-combobox>
+ </lightning-layout-item>
+ <lightning-layout-item flexibility="auto" padding="around-small">
+ <lightning-combobox name="progress" label="澶卞崟鍘熷洜锛堟锛�:" value="" options={columns2}
+ onchange={handleStatus1Change} class="searchField"></lightning-combobox>
+ </lightning-layout-item>
+ </lightning-layout>
+ <lightning-layout>
+ <lightning-layout-item size="4" padding="horizontal-small">
+ <lightning-input data-id="Lost_By_Company_Mannual" value="" type="text" label="澶卞崟鍝佺墝锛堟墜鍔級: " class="searchField" onchange={handleStatus1Change}></lightning-input>
+ </lightning-layout-item>
+ <lightning-layout-item size="4" padding="horizontal-small">
+ <lightning-input value="" type="text" label="澶卞崟閲戦锛堝厓锛�: " class="searchField" onchange={handleStatus1Change}></lightning-input>
+ </lightning-layout-item>
+ <lightning-layout-item size="4" padding="horizontal-small">
+ <lightning-record-edit-form
+ object-api-name='PCLLostBrand__c'
+ record-id=''
+ >
+ <lightning-input-field field-name='Agency__c' onclick={handleStatus1Change}> </lightning-input-field>
+ </lightning-record-edit-form>
+ </lightning-layout-item>
+ </lightning-layout>
+ <lightning-layout>
+ <lightning-layout-item size="4" padding="horizontal-small">
+ <lightning-input value="" type="text" label="涓爣缁忛攢鍟嗭紙鎵嬪姩锛�:" class="searchField" onchange={handleStatus1Change}></lightning-input>
+ </lightning-layout-item>
+ </lightning-layout>
+ <!-- <lightning-layout style="background-color: rgb(243, 243, 243)">
+ <div></div>
+ <lightning-layout-item flexibility="auto" padding="horizontal-small">
+ <div>澶卞崟鍝佺墝</div>
+ </lightning-layout-item>
+ <lightning-layout-item flexibility="auto" padding="horizontal-small">
+ <div>澶卞崟瀵规墜鍨嬪彿</div>
+ </lightning-layout-item>
+ <lightning-layout-item flexibility="auto" padding="horizontal-small">
+ <div>澶卞崟鏁伴噺</div>
+ </lightning-layout-item>
+ <lightning-layout-item flexibility="auto" padding="horizontal-small">
+ <div>澶卞崟瀵规墜鍨嬪彿(鎵嬪姩)</div>
+ </lightning-layout-item>
+ <lightning-layout-item flexibility="auto" padding="horizontal-small">
+ <div>澶卞崟浜у搧绫诲埆</div>
+ </lightning-layout-item>
+ <lightning-layout-item flexibility="auto" padding="horizontal-small">
+ <div>澶卞崟浜у搧鍖哄垎</div>
+ </lightning-layout-item>
+ <lightning-layout-item flexibility="auto" padding="horizontal-small">
+ <div>+</div>
+ </lightning-layout-item>
+ </lightning-layout>
+ <lightning-layout>
+
+ <lightning-layout-item size="1" flexibility="auto" padding="horizontal-small">
+ <lightning-combobox name="progress" value="" options={status1Options}
+ onchange={handleStatus1Change} class="searchField"></lightning-combobox>
+ </lightning-layout-item>
+ <lightning-layout-item size="1" style="margin-left: 80px;padding-top: 17px;" flexibility="auto" padding="horizontal-small">
+
+ <lightning-record-edit-form
+ object-api-name='PCLLostProduct__c'
+ record-id=''
+ >
+ <lightning-input-field field-name='LostProduct__c' onclick={handleWinBidAgencyChange} variant="label-hidden"> </lightning-input-field>
+ </lightning-record-edit-form>
+ </lightning-layout-item>
+ <lightning-layout-item size="1" style="margin-left: 100px;" flexibility="auto" padding="horizontal-small">
+ <lightning-input value="" type="text" class="searchField" onchange={handleRepairNameChange}></lightning-input>
+ </lightning-layout-item>
+ <lightning-layout-item size="1" style="margin-left: 80px;" flexibility="auto" padding="horizontal-small">
+ <lightning-input value="" type="text" class="searchField" onchange={handleRepairNameChange}></lightning-input>
+ </lightning-layout-item>
+ <lightning-layout-item size="1" style="margin-left: 140px;" flexibility="auto" padding="horizontal-small">
+ <lightning-combobox name="progress" value="" options={status1Options}
+ onchange={handleStatus1Change} class="searchField"></lightning-combobox>
+ </lightning-layout-item>
+ <lightning-layout-item size="1" style="margin-left: 100px;" flexibility="auto" padding="horizontal-small">
+ <lightning-combobox name="progress" value="" options={status1Options}
+ onchange={handleStatus1Change} class="searchField"></lightning-combobox>
+ </lightning-layout-item>
+ <lightning-layout-item size="2" style="margin-left: 100px;padding-top: 17px;" flexibility="auto" padding="horizontal-small">
+ <lightning-button
+ label="娣诲姞"
+ onclick={handleAddClick}>
+ </lightning-button>
+ </lightning-layout-item>
+ </lightning-layout> -->
+ <lightning-layout>
+ <lightning-layout-item flexibility="auto" padding="around-small">
+ <c-lex-dynamic-table column-list={columns}>
+ </c-lex-dynamic-table>
+ </lightning-layout-item>
+ </lightning-layout>
+ </lightning-accordion-section>
+ </li>
+ </template>
+
+ </lightning-accordion>
+ <lightning-layout style="margin-top: 20px;">
+ <div class="slds-align_absolute-center">
+ <lightning-layout-item size="12">
+ <lightning-button label="杩藉姞鍝佺墝" onclick={addBrandJs}></lightning-button>
+ <lightning-button label="淇濆瓨" onclick={saveJs}></lightning-button>
+ <lightning-button label="杩斿洖璇环" onclick={cancel}></lightning-button>
+ </lightning-layout-item>
+ </div>
+ </lightning-layout>
+ </div>
+ </div>
+
+
+ </lightning-card>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexPCLLostReportPage/lexPCLLostReportPage.js b/force-app/main/default/lwc/lexPCLLostReportPage/lexPCLLostReportPage.js
new file mode 100644
index 0000000..e3c946b
--- /dev/null
+++ b/force-app/main/default/lwc/lexPCLLostReportPage/lexPCLLostReportPage.js
@@ -0,0 +1,302 @@
+/*
+ * @Description:
+ * @version:
+ * @Author: chen jing wu
+ * @Date: 2023-04-20 15:04:03
+ * @LastEditors: chen jing wu
+ * @LastEditTime: 2023-04-28 17:33:23
+ */
+const columns=[
+ { "label" : "澶卞崟鍝佺墝", "apiName" : "LostBrandName__c" ,"fieldType":"picklist","objectName":"PCLLostProduct__c"},
+ { "label" : "澶卞崟瀵规墜鍨嬪彿", "apiName" : "LostProduct__c" ,"fieldType":"lookup","objectName":"PCLLostProduct__c"},
+ { "label" : "澶卞崟鏁伴噺", "apiName" : "Quantity__c","fieldType":"text","objectName":"PCLLostProduct__c" },
+ { "label" : "澶卞崟瀵规墜鍨嬪彿(鎵嬪姩)", "apiName" : "LostProductMannual__c","fieldType":"text","objectName":"PCLLostProduct__c" },
+ { "label" : "澶卞崟浜у搧绫诲埆", "apiName" : "ProductClass__c","fieldType":"picklist","objectName":"PCLLostProduct__c" },
+ { "label" : "澶卞崟浜у搧鍖哄垎", "apiName" : "ProductCategory__c","fieldType":"picklist","objectName":"PCLLostProduct__c" }
+];
+const columns2=[
+ { label: '--鏃�--', value: '' },
+ { label: '鏃犱俊鎭紝璺熻繘涓嶅強鏃�', value: '鏃犱俊鎭紝璺熻繘涓嶅強鏃�' },
+ { label: '浠锋牸', value: '浠锋牸' },
+ { label: '鍖荤敓鍋忓ソ', value: '鍖荤敓鍋忓ソ' },
+ { label: '鏈嶅姟涓嶅埌浣�', value: '鏈嶅姟涓嶅埌浣�' },
+ { label: '琛屾斂鍐崇瓥', value: '琛屾斂鍐崇瓥' },
+ { label: '绔炲搧鍘熸湁鍩虹涓婂娣昏澶�', value: '绔炲搧鍘熸湁鍩虹涓婂娣昏澶�' },
+ { label: '娓犻亾鍥犵礌', value: '娓犻亾鍥犵礌' },
+ { label: '鏌愮浜у搧缂哄け', value: '鏌愮浜у搧缂哄け' },
+ { label: '閲囪喘骞宠 ', value: '閲囪喘骞宠 ' }
+];
+
+import { api, wire,track,LightningElement } from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import save from '@salesforce/apex/lexPCLLostReportLwcController.save';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+import { loadStyle, loadScript } from 'lightning/platformResourceLoader';
+import setbrand from '@salesforce/apex/lexPCLLostReportLwcController.setBrand';
+import init from '@salesforce/apex/lexPCLLostReportLwcController.init';
+import multiSelectCombobox from 'c/multiSelectCombobox'
+import searchBrands from '@salesforce/apex/lexPCLLostReportLwcController.searchBrands';
+import getNewLostBrand from '@salesforce/apex/lexPCLLostReportLwcController.getNewLostBrand';
+import getLostReport from '@salesforce/apex/lexPCLLostReportLwcController.getLostReport';
+export default class LexPCLLostReportPage extends LightningElement {
+
+
+ @track records;
+ @api recordJson;
+ @track columns=columns;
+ @track columns2=columns2;
+ @api reasonValue;
+ oppId = '0061000001R2xjWAAR';
+ lostReportId = '';
+ pageStatus = 'Create';
+ lostType = '澶卞崟';
+ submitFlag = '';
+ searchResult;
+ brandsCount = [""];
+ @track LostReport = {
+ LostBrands: [],
+ lostReport: {}
+ };
+ @track brandOptions = [];
+ connectedCallback(){
+ init({
+ oppId1: this.oppId,
+ lostReportId1: this.lostReportId,
+ pageStatus1: this.pageStatus,
+ lostType1: this.lostType,
+ submitFlag1: this.submitFlag
+ }).then(result=>{
+ console.log(result);
+ if(result.message != null){
+ if(result.message == '鎻愪氦鎴愬姛锛�'){
+ this.showToast(result.message,"success");
+ this.LostReport = result.LostReport;
+ console.log(this.LostReport);
+ }else{
+ console.log("211");
+ this.showToast(result.message,"error");
+ console.log("985");
+ }
+ }else{
+ this.LostReport = result.LostReport;
+ console.log("520");
+ }
+ console.log('success');
+ }).catch(error=>{
+ console.log("error");
+ console.log(error);
+ });
+ searchBrands().then(result=>{
+ console.log(result);
+ this.brandOptions = JSON.parse(result);
+ console.log(this.brandOptions);
+ // const div = this.template.querySelector('[data-Id="initDiv"]');
+ // console.log(success);
+ // div.classList.add("mynewclass");
+ const multiCombobox = this.template.querySelector('c-multi-select-combobox');
+ multiCombobox.refreshOptions(this.brandOptions);
+ }).catch(error=>{
+ console.log("error");
+ console.log(error);
+ });
+ }
+
+
+ //澶卞崟绫诲瀷
+ RecordTypeOptions = [{ label: '--鏃�--', value: '' },
+ { label: '澶卞崟', value: '澶卞崟' },
+ { label: '閮ㄥ垎澶卞崟', value: '閮ㄥ垎澶卞崟' }];
+ @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.oppId = str;
+ }
+ }
+ }
+ getBrandLabel(index){
+ return "澶卞崟鍝佺墝" + (this.LostReport.LostBrands[index].lineno + 1);
+ }
+ // connectedCallback(){
+ // this.initAll();
+ // }
+
+
+ // connectedCallback(){
+ // console.log("1");
+ // initForApex({
+ // oppId1: this.oppId,
+ // lostReportId1: this.lostReportId,
+ // pageStatus1: this.pageStatus,
+ // lostType1: this.lostType,
+ // submitFlag1: this.submitFlag
+ // }).then(()=>{
+ // console.log("2");
+ // init().then(result=>{
+ // console.log("3");
+ // console.log(result);
+ // if(result.message == '鎻愪氦鎴愬姛锛�'){
+ // this.showToast(result.message,"success");
+ // this.LostReport = result.LostReport;
+ // }else{
+ // console.log("211");
+ // this.showToast(result.message,"error");
+ // console.log("985");
+ // }
+ // });
+ // });
+ // }
+
+
+ getParamValue(paramName) {
+ // Use the URLSearchParams API to get the value of a query parameter
+ const params = new URLSearchParams(window.location.search);
+ return params.get(paramName);
+ }
+ saveJs() {
+ save().then(result=>{
+ if(result){
+ this.showToast(result,"success");
+ this.clearBrandMannualName();
+ }
+ })
+ }
+ addBrandJs() {
+ getNewLostBrand({
+ lineNo: this.LostReport.LostBrands.length
+ }).then(result=>{
+ this.LostReport.LostBrands.push(result);
+ })
+ }
+ submitJS() {
+ submit().then(result=>{
+ if(result.get('error')){
+ this.showToast(result.get('error'),"error");
+ }else{
+ this[NavigationMixin.Navigate]({
+ type: 'standard__recordPage',
+ attributes: {
+ uri: result.get('uri'),
+ Id: result.get('Id'),
+ pageStatus: result.get('pageStatus'),
+ submitFlag: result.get('submitFlag')
+ }
+ });
+ }
+ });
+ }
+ addProductJs(number) {
+
+ }
+ RemoveJs(number) {
+ Remove().then(()=>{
+ });
+ }
+ // add tcm 20211118 start
+ searchJs(topNum, secondNum) {
+ search().then(()=>{
+ });
+ }
+ get pageStatusIsCreateOrEdit() {
+ return this.pageStatus === 'Create' || this.pageStatus === 'Edit';
+ }
+
+ get isBrandCount2(){
+ var flag = true;
+ if(this.LostReport.LostBrands.length > 1){
+ flag = false;
+ }
+ return flag;
+ }
+
+ deleteBrandJs(event){
+ var str = event.target.name;
+ this.LostReport.LostBrands.splice(str,1);
+ console.log(this.LostReport);
+ }
+
+ // add tcm 20211118 end
+ setLostTotalAmount() {
+ //console.log('setLostTotalAmount start:');
+ var totalAmount = this.template.querySelector('[data-id="LostTotalAmount"]');
+ var totalAmountHidden = this.template.querySelector('[data-id="LostTotalAmountHidden"]');
+ var brandAmountObjects = this.template.querySelectorAll('[data-id^="BrandContent:LostPriceOut"]');
+ var brandCompanyObjects = this.template.querySelectorAll('[data-id^="BrandContent:Lost_By_CompanyOut"]');
+ if (!!totalAmount && !!totalAmountHidden) {
+ var tempLostAmount = 0.0;
+ var brandCount = parseInt(this.brandCount);
+ //console.log(brandCount);
+
+ for (var i = 0; i < brandCount; i++) {
+ var brandAmountObject = brandAmountObjects[i];
+ var brandCompanyObject = brandCompanyObjects[i];
+
+ if (!!brandAmountObject && !!brandCompanyObject) {
+ var brandCompanyText = brandCompanyObject.innerText;
+ var brandCompanyValue = brandCompanyObject.value;
+
+ if (!!brandCompanyText && brandCompanyText !== '--鏃�--' && !!brandCompanyValue) {
+ var brandAmount = parseFloat(brandAmountObject.value);
+ tempLostAmount = tempLostAmount + brandAmount;
+ }
+ }
+ }
+ totalAmount.innerHTML = toNumComma(tempLostAmount);
+ totalAmountHidden.value = tempLostAmount;
+ }
+ //console.log('setLostTotalAmount end');
+ }
+ setBrandName(brandNumber) {
+ setbrand().then(()=>{
+ this.clearBrandMannualName();
+ });
+ }
+ setBrandMannualName(event) {
+ var set = event;
+ console.log(set);
+ }
+
+ // 澶卞崟鍝佺墝涓嶇瓑浜庡叾浠栨椂,澶卞崟鍝佺墝锛堟墜鍔級娓呯┖骞朵笖涓嶅厑璁稿~鍐�,澶卞崟鍝佺墝绛変簬鍏朵粬鏃�,澶卞崟瀵规墜鍨嬪彿涓嶅彲鐢� thh 2022-01-13 start
+ clearBrandMannualName(value){
+ if (value == '鍏朵粬') {
+ // this.template.querySelector('[data-id="LostProduct"]').setAttribute('disabled', true);
+ this.template.querySelector('[data-id="LostProduct"]]').disabled = true;
+ console.log("213");
+ } else {
+ console.log("5435");
+ this.template.querySelector('[data-id="Lost_By_Company_Mannual"]').value = '';
+ // this.template.querySelector('[data-id="Lost_By_Company_Mannual"]').setAttribute('disabled', true);
+ this.template.querySelector('[data-id="Lost_By_Company_Mannual"]').disabled = true;
+ }
+ }
+ cancel() {
+ // Navigate to the specified opportunity page using the NavigationMixin
+ this[NavigationMixin.Navigate]({
+ type: 'standard__recordPage',
+ attributes: {
+ recordId: this.oppId,
+ actionName: 'view'
+ }
+ });
+ }
+ showToast(msg,type) {
+ const event = new ShowToastEvent({
+ title: '',
+ message: msg,
+ variant: type
+ });
+ this.dispatchEvent(event);
+ this.dispatchEvent(new CloseActionScreenEvent());
+ }
+ handleStatus1Change(){
+
+ }
+
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexPCLLostReportPage/lexPCLLostReportPage.js-meta.xml b/force-app/main/default/lwc/lexPCLLostReportPage/lexPCLLostReportPage.js-meta.xml
new file mode 100644
index 0000000..8b2c3d6
--- /dev/null
+++ b/force-app/main/default/lwc/lexPCLLostReportPage/lexPCLLostReportPage.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/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.css b/force-app/main/default/lwc/lexPaymentPlanLoad/lexPaymentPlanLoad.css
new file mode 100644
index 0000000..bd1ecc4
--- /dev/null
+++ b/force-app/main/default/lwc/lexPaymentPlanLoad/lexPaymentPlanLoad.css
@@ -0,0 +1,10 @@
+.accordion {
+ --slds-c-accordion-summary-color-background: #e0d8d8;
+}
+.errorMsg {
+ color: red;
+}
+
+.layout lightning-layout {
+ height: 40px;
+}
\ 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..80aac44
--- /dev/null
+++ b/force-app/main/default/lwc/lexPaymentPlanLoad/lexPaymentPlanLoad.html
@@ -0,0 +1,269 @@
+<template>
+ <lightning-card variant="Narrow">
+ <lightning-spinner variant="brand" size="medium" if:true={isLoading}></lightning-spinner>
+ <div style="padding: 0 20px">
+ <div>
+ <lightning-button disabled={statusDisable} onclick={saveJs} label="淇濆瓨"></lightning-button>
+ <lightning-button disabled={statusDisable} onclick={closeJs} 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 style="color:red;">* </span> -->
+ <span>鏄惁涓烘爣鍑嗗悎鍚岋細</span>
+ <lightning-combobox class='isStandardContract' required disabled={statusDisable} value={PageMCEElement.Is_Standard_Contract__c} options={Is_Standard_Contract_Options} onchange={handleIsStandardContract} style="width:80px;display:inline-block;"></lightning-combobox>
+ <span> (蹇呭~椤癸紝鎵�鏈夊悎鍚屽潎蹇呴』鍕鹃��)</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="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>浠樻鏂瑰紡锛� </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" >
+ <h2>涓�娆℃�т粯娆撅細</h2>
+ <lightning-layout>
+ <lightning-layout-item padding="horizontal-small">
+ <span>鏈悎鍚屾寮忕璁箣鏃ヨ捣 </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> 鏃ュ唴锛岀敳鏂瑰悜涔欐柟鏀粯鍏ㄩ儴鍚堝悓娆句汉姘戝竵 {PageMCEElement.Contract_Amount__c} 鍏冿紝澶у啓{PageMCEElement.Total_Contract_Amount_In_Words__c}銆�</span>
+ </lightning-layout-item>
+
+ </lightning-layout>
+ </div>
+
+ <div if:true={payTwince} class="layout slds- slds-p-around_medium slds-text-align_left" >
+ <p>澶氭浠樻锛�</p>
+ <lightning-layout>
+ <lightning-layout-item size="4" padding="horizontal-small">
+ <span>鏈悎鍚屾椤瑰垎 </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> 鏈熶粯鍑猴紝璇︾粏濡備笅锛�</span>
+ </lightning-layout-item>
+ </lightning-layout>
+
+ <!-- 绗竴鏈� -->
+ <lightning-layout>
+ <lightning-layout-item padding="horizontal-small" >
+ <span>绗竴鏈熸椤逛粯娆炬椂闂翠负 </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> [2013/4/19]</span> -->
+ <span> 鍓嶏紝鐢叉柟鍚戜箼鏂规敮浠樹汉姘戝竵 </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> 鍏冿紝澶у啓</span>
+ <span>{Payment_Plan_Sum_1_in_Word}</span>锛�
+ </lightning-layout-item>
+ </lightning-layout>
+
+ <!-- 绗簩鏈� -->
+ <lightning-layout>
+ <lightning-layout-item padding="horizontal-small" >
+ <span>绗簩鏈熸椤逛粯娆炬椂闂翠负 </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> [2013/4/19]</span> -->
+ <span> 鍓嶏紝鐢叉柟鍚戜箼鏂规敮浠樹汉姘戝竵 </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> 鍏冿紝澶у啓</span>
+ <span>{Payment_Plan_Sum_2_in_Word}</span>锛�
+ </lightning-layout-item>
+ </lightning-layout>
+
+ <!-- 绗笁鏈� -->
+ <lightning-layout>
+ <lightning-layout-item padding="horizontal-small" >
+ <span>绗笁鏈熸椤逛粯娆炬椂闂翠负 </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> [2013/4/19]</span> -->
+ <span> 鍓嶏紝鐢叉柟鍚戜箼鏂规敮浠樹汉姘戝竵 </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> 鍏冿紝澶у啓</span>
+ <span>{Payment_Plan_Sum_3_in_Word}</span>锛�
+ </lightning-layout-item>
+ </lightning-layout>
+
+ <!-- 绗洓鏈� -->
+ <lightning-layout>
+ <lightning-layout-item padding="horizontal-small" >
+ <span>绗洓鏈熸椤逛粯娆炬椂闂翠负 </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> [2013/4/19]</span> -->
+ <span> 鍓嶏紝鐢叉柟鍚戜箼鏂规敮浠樹汉姘戝竵 </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> 鍏冿紝澶у啓</span>
+ <span>{Payment_Plan_Sum_4_in_Word}</span>锛�
+ </lightning-layout-item>
+ </lightning-layout>
+
+ <!-- 绗簲鏈� -->
+ <lightning-layout>
+ <lightning-layout-item padding="horizontal-small" >
+ <span>绗簲鏈熸椤逛粯娆炬椂闂翠负 </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> [2013/4/19]</span> -->
+ <span> 鍓嶏紝鐢叉柟鍚戜箼鏂规敮浠樹汉姘戝竵 </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> 鍏冿紝澶у啓</span>
+ <span>{Payment_Plan_Sum_5_in_Word}</span>锛�
+ </lightning-layout-item>
+ </lightning-layout>
+
+ <!-- 绗叚鏈� -->
+ <lightning-layout>
+ <lightning-layout-item padding="horizontal-small" >
+ <span>绗叚鏈熸椤逛粯娆炬椂闂翠负 </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> [2013/4/19]</span> -->
+ <span> 鍓嶏紝鐢叉柟鍚戜箼鏂规敮浠樹汉姘戝竵 </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> 鍏冿紝澶у啓</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} >
+ <div class="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.Small_Repair_Time__c} options={Small_Repair_Time_Options} onchange={handleSmallRepairTime} style="display: inline-block;"></lightning-combobox>
+ <span> 灏忔椂</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> 宸ヤ綔鏃�</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> 灏忔椂</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>姣忓勾 </span>
+ <lightning-combobox disabled={statusDisable} value={PageMCEElement.Tour_Check__c} options={Tour_Check_Options} onchange={handleTourCheck} style="display: inline-block;"></lightning-combobox>
+ <span> 娆�</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} onchange={handleEngineerName} 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} onchange={handlePhoneNumber} 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> 娆� (蹇呭~椤�)</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>姣忓勾 </span>
+ <lightning-combobox disabled={statusDisable} value={PageMCEElement.Dedust__c} options={Dedust_Options} onchange={handleDedust} style="display: inline-block;"></lightning-combobox>
+ <span> 娆�</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">
+ <div class="slds- slds-p-around_medium slds-text-align_left" style="padding-top:30px">鍏� {PageMCEElement.Contract_Limit_Times__c} 娆�</div>
+ </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> 浠�</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> 浠�</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> 鎻愮ず淇℃伅锛�(1)鍚戣鍦ㄥ寳浜殑涓浗鍥介檯缁忔祹璐告槗浠茶濮斿憳浼氱敵璇蜂徊瑁併��(2)鍚戞湁绠¤緰鏉冪殑浜烘皯娉曢櫌鎻愯捣璇夎銆�</span>
+ </lightning-layout-item>
+ </lightning-layout>
+ </div>
+ </template>
+
+ </lightning-accordion-section>
+
+ <div style="border-top:1px solid #e3deb8;margin: 5px 3px;"></div>
+ </lightning-accordion>
+ </div>
+ <div>
+ <lightning-button label="淇濆瓨" onclick={saveJs} disabled={statusDisable}></lightning-button>
+ <lightning-button label="鍙栨秷" onclick={closeJs} 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..737b80e
--- /dev/null
+++ b/force-app/main/default/lwc/lexPaymentPlanLoad/lexPaymentPlanLoad.js
@@ -0,0 +1,442 @@
+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';
+import save from '@salesforce/apex/LexPaymentPlanLoadController.save';
+import print from '@salesforce/apex/LexPaymentPlanLoadController.print';
+
+
+
+export default class lexPaymentPlanLoad extends LightningElement {
+
+ 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: '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'];
+ isLoading = false;
+ 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 = '1';
+ }
+ if(!this.PageMCEElement.Tour_Check__c) {
+ this.PageMCEElement.Tour_Check__c = '1';
+ }
+ 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 = true;
+ }else{
+ this.tabTextInfo = false;
+
+ }
+ }
+
+ //涓�娆℃垨澶氭浠樻
+ 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;
+ }
+
+ 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_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;
+
+ 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;
+ }
+ }
+
+
+ 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;
+ }
+
+ handleEngineerName(event) {
+ this.PageMCEElement.Engineer_Name__c = event.detail.value;
+ }
+ handlePhoneNumber(event) {
+ this.PageMCEElement.Phone_Number__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;
+ }
+
+ handleNegotiateMean(event){
+ this.PageMCEElement.Negotiate_Mean__c = event.detail.value;
+ }
+ // 鏂板鐐规鎬绘鏁帮紙鍙湪椤甸潰涓樉绀猴級fxk 2021/9/2 Star
+ AllChecktime(){
+ var Allchecks;
+
+ 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();
+ }
+ }
+ 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() {
+ this.isLoading = true;
+ console.log(this.PageMCEElement);
+ print({PageMCEElement:this.PageMCEElement}).then(res=>{
+ console.log('print result:');
+ console.log(res);
+ if(res.statusSave == '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{
+ const event = new ShowToastEvent({
+ title: '',
+ message: res.msg,
+ variant:'error',
+ });
+ this.dispatchEvent(event);
+
+ }
+ this.isLoading = false;
+ });
+ }
+
+ saveJs() {
+ this.isLoading = true;
+ console.log(this.PageMCEElement);
+ save({PageMCEElement:this.PageMCEElement}).then(res=>{
+ if (res == '1') {
+ const event = new ShowToastEvent({
+ title: '',
+ message: "淇濆瓨鎴愬姛銆�",
+ variant:'success',
+ });
+ this.dispatchEvent(event);
+ this.isLoading = false;
+ } else {
+ const event = new ShowToastEvent({
+ title: '',
+ message: res,
+ variant:'error',
+ });
+ this.dispatchEvent(event);
+ this.isLoading = false;
+ }
+ }).catch(error => {
+ const event = new ShowToastEvent({
+ title: '',
+ message: '鍑洪敊鍟�',
+ variant:'error',
+ });
+ this.dispatchEvent(event);
+ this.isLoading = false;
+ console.log("error"+error.message());
+ });
+
+ }
+
+ closeJs() {
+ if(this.statusSave == 'Fin'){
+ window.opener.top.location.href = '/'+this.recordId;
+ window.close();
+ this.dispatchEvent(new CloseActionScreenEvent());
+ }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/lexPrintInspectupReport/lexPrintInspectupReport.html b/force-app/main/default/lwc/lexPrintInspectupReport/lexPrintInspectupReport.html
new file mode 100644
index 0000000..d044dbb
--- /dev/null
+++ b/force-app/main/default/lwc/lexPrintInspectupReport/lexPrintInspectupReport.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/lexPrintInspectupReport/lexPrintInspectupReport.js b/force-app/main/default/lwc/lexPrintInspectupReport/lexPrintInspectupReport.js
new file mode 100644
index 0000000..001bedd
--- /dev/null
+++ b/force-app/main/default/lwc/lexPrintInspectupReport/lexPrintInspectupReport.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/otherButtonMaintenanceContractCtl.init';
+
+export default class LexPrintInspectupReport 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.PrintInspectupReport();
+ this.dispatchEvent(new CloseActionScreenEvent());
+ }
+ }).catch(error => {
+ console.log(error);
+ }).finally(() => {
+
+ });
+ }
+
+ // 鎶ュ憡涔︽槑缁嗙紪杈�
+ PrintInspectupReport() {
+ window.open("/apex/PrintInspectupReport?id=" + this.Id, "_blank", "height=700px,innerHeight=700,width=700px,innerWidth=700px,top=100,left=300", "scrollbars=auto,resizable=yes,modal=false,alwaysRaised=yes");
+ }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexPrintInspectupReport/lexPrintInspectupReport.js-meta.xml b/force-app/main/default/lwc/lexPrintInspectupReport/lexPrintInspectupReport.js-meta.xml
new file mode 100644
index 0000000..3392981
--- /dev/null
+++ b/force-app/main/default/lwc/lexPrintInspectupReport/lexPrintInspectupReport.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..6db76f5
--- /dev/null
+++ b/force-app/main/default/lwc/lexRemoveBox/lexRemoveBox.html
@@ -0,0 +1,114 @@
+<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;margin-top:10px">
+ <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> -->
+ <lightning-datatable
+ key-field="prodid" data={data} columns={columns}
+ onrowselection={getSelectedRows} hide-checkbox-column="true"
+ selected-rows={selectedRows}>
+ </lightning-datatable>
+ <!-- </template> -->
+ <!-- </div> -->
+
+ </div>
+ </div>
+ <div style="border: 1px solid #D4D4D4;border-radius:5px;margin-bottom:7px;margin-top:10px">
+ <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-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> -->
+ <lightning-datatable
+ key-field="id" data={errorDetail} columns={column}
+ onrowselection={getSelectedRows} hide-checkbox-column="true"
+ selected-rows={selectedRows}>
+ </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..a662674
--- /dev/null
+++ b/force-app/main/default/lwc/lexRemoveBox/lexRemoveBox.js
@@ -0,0 +1,233 @@
+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',
+ wrapText:true,
+ hideDefaultActions: true,
+ // 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,
+ wrapText:true,
+ initialWidth:400,
+ }
+];
+
+const column = [
+ {
+ label: '娑堣�楀搧鍚嶇О',
+ fieldName: 'Name__c',
+ hideDefaultActions: true,
+
+ },
+ {
+ 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 dataSize = 0;
+
+ //鍔犺浇妗�
+ @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);
+ this.dataSize = result.entity.dataSize;
+ console.log('this.dataSize'+this.dataSize);
+ 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;
+ }
+ 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;
+ 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);
+ }
+ saveConfirm() {
+ console.log('杩涘叆纭');
+ let msg = "纭鎷嗙洅鍚�";
+ if (this.dataSize>0) {
+ if (confirm(msg) == true) {
+ this.removeBox();
+ }
+ } else {
+ this.removeBox();
+ }
+
+ }
+ removeBox(){
+ 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);
+ this.showSpinner = false;
+
+ }
+ } else {
+ console.log('result.msg = ' + result.msg);
+ const evt = new ShowToastEvent({
+ title: '澶辫触',
+ message: result.msg,
+ variant: 'error'
+ });
+ this.dispatchEvent(evt);
+ this.showSpinner = false;
+ }
+ })
+ .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..07b8885
--- /dev/null
+++ b/force-app/main/default/lwc/lexRentalApplyDiscountApproval/lexRentalApplyDiscountApproval.js
@@ -0,0 +1,111 @@
+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') {
+ this.ShowToastEvent("瀵逛笉璧凤紝鎮ㄦ病鏈夋潈闄愭彁浜ゆ鐢宠锛�", "error");
+ // alert('瀵逛笉璧凤紝鎮ㄦ病鏈夋潈闄愭彁浜ゆ鐢宠锛�');
+ return;
+ }
+
+ var status = this.RentalApplyDiscountStatusC;
+ if (status == '瀹℃壒涓�') {
+ this.ShowToastEvent("瀹℃壒鎻愪氦鎴愬姛,褰撳墠姝e湪瀹℃壒璇峰嬁鍐嶆彁浜わ紒", "error");
+ // alert("瀹℃壒鎻愪氦鎴愬姛,褰撳墠姝e湪瀹℃壒璇峰嬁鍐嶆彁浜わ紒");
+ return;
+ }
+ if (status == '鎵瑰噯') {
+ this.ShowToastEvent("瀹℃壒宸叉壒鍑�,璇峰嬁鍐嶆彁浜わ紒", "error");
+ // alert("瀹℃壒宸叉壒鍑�,璇峰嬁鍐嶆彁浜わ紒");
+ return;
+ }
+ if (status == '鑽夋涓�' || status == undefined || status == '椹冲洖') {
+ if (this.LoanerRepairSysC) {
+ updateRepairQuotation03({
+ recordId: this.Id
+ }).then(result => {
+ console.log(result);
+ if (result.length > 0) {
+ var split = result.split(", ");
+ alert("鎻愪氦澶辫触 " + split[1]);
+ return;
+ }
+ })
+ } else {
+ this.ShowToastEvent("璇峰厛濉啓澶囧搧鍑忎环閲戦锛�", "error");
+ // 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/lexRepPAEDecisionRecord/lexRepPAEDecisionRecord.css b/force-app/main/default/lwc/lexRepPAEDecisionRecord/lexRepPAEDecisionRecord.css
new file mode 100644
index 0000000..fa4ac70
--- /dev/null
+++ b/force-app/main/default/lwc/lexRepPAEDecisionRecord/lexRepPAEDecisionRecord.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/lexRepPAEDecisionRecord/lexRepPAEDecisionRecord.html b/force-app/main/default/lwc/lexRepPAEDecisionRecord/lexRepPAEDecisionRecord.html
new file mode 100644
index 0000000..984e694
--- /dev/null
+++ b/force-app/main/default/lwc/lexRepPAEDecisionRecord/lexRepPAEDecisionRecord.html
@@ -0,0 +1,56 @@
+<template>
+ <lightning-card variant="Narrow">
+ <lightning-spinner variant="brand" size="medium" if:true={isLoading}></lightning-spinner>
+ <div style="padding: 0 20px">
+ <h1 style="text-align: center; font-size: 30px"> {Title}</h1>
+ <table>
+ <tbody>
+ <tr>
+ <td><lightning-input style="border:none;" readonly value={rdRecord.PAEDetail_DetermineResults__c} type="text" label="PAE鍒ゅ畾缁撴灉" class="searchField"></lightning-input></td>
+ <td>
+ <lightning-input style="border:none;" readonly type="date" value={rdRecord.PAE_ConfirmationDate__c} label={rdDate} class="searchField"></lightning-input>
+ </td>
+ <td>
+ <lightning-input type="text" style="border:none;" readonly value={rdRecord.PAE_Authenticator__c} label={rdUser} class="searchField"></lightning-input>
+ </td>
+ <template if:true={isASACDecision}>
+ <td align="left" style={reappearConfirmStyle}>
+ <lightning-input type="text" style="border:none;" readonly value={reappearConfirmValue} label="鍐嶇幇缁撴灉纭锛�" class="searchField"></lightning-input>
+ </td>
+ <td style="vertical-align: bottom;">
+ <lightning-button label="Intake universal code 缂栬緫" style={buttonStyle} onclick={handleClick}></lightning-button>
+ </td>
+ </template>
+ </tr>
+ </tbody>
+ </table>
+
+ <div class="container">
+ <div class="buttons-container">
+ <template if:true={buttonshow}>
+ <lightning-button label="鍏抽棴" style="margin-left: 30px; width: 80px;" onclick={handleClose}></lightning-button>
+ <lightning-button label="淇濆瓨" disabled={isSaveButtonDisabled} style="margin-left: 30px; width: 80px;" onclick={handleSave}></lightning-button>
+ <template if:true={buttonshow1}>
+ <lightning-button label="淇濆瓨骞跺叧闂�" disabled={editFlag} style="margin-left: 30px; width: 120px;" onclick={handleSaveAndClose}></lightning-button>
+ </template>
+ <template if:true={buttonshow2}>
+ <lightning-button label="纭畾骞跺叧闂�" disabled={editFlag} style="margin-left: 30px; width: 100px;" onclick={handleSaveAndClose}></lightning-button>
+ </template>
+ <lightning-button label="鎻掑叆琛�" disabled={isInsertButtonDisabled} style="margin-left: 30px; width: 60px;" onclick={handleInsert}></lightning-button>
+ <lightning-button label="鍙栨秷琛�" disabled={isCancelButtonDisabled} style="margin-left: 30px; width: 60px;" onclick={handleCancel}></lightning-button>
+ </template>
+ </div>
+ </div>
+ <template if:true={buttonshow}>
+ <h1 style="text-align: right;padding-bottom: 10px;width:100%;font-weight: 800;"> 鍐嶇幇缁撴灉鏈‘璁�,璇风偣鍑籌ntake universal code 缂栬緫 鎸夐挳鍓嶅幓纭</h1>
+ </template>
+ <!-- <lightning-datatable
+ key-field="id"
+ data={data}
+ columns={columns}
+ onrowselection={getSelectedRows}
+ onrowaction={handleRowAction}>
+ </lightning-datatable> -->
+ </div>
+ </lightning-card>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexRepPAEDecisionRecord/lexRepPAEDecisionRecord.js b/force-app/main/default/lwc/lexRepPAEDecisionRecord/lexRepPAEDecisionRecord.js
new file mode 100644
index 0000000..2336059
--- /dev/null
+++ b/force-app/main/default/lwc/lexRepPAEDecisionRecord/lexRepPAEDecisionRecord.js
@@ -0,0 +1,108 @@
+import { LightningElement,wire,track,api} from 'lwc';
+import { getRecord } from 'lightning/uiRecordApi';
+import { updateRecord } from 'lightning/uiRecordApi';
+import { NavigationMixin } from 'lightning/navigation';
+import { encodeDefaultFieldValues } from 'lightning/pageReferenceUtils';
+import { getObjectInfo } from 'lightning/uiObjectInfoApi';
+import { createRecord } from 'lightning/uiRecordApi';
+import { refreshApex } from '@salesforce/apex';
+import { reduceErrors } from 'c/ldsUtils';
+import { FlowAttributeChangeEvent } from 'lightning/flowSupport';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+import { OutputField } from 'lightning/uiRecordApi';
+import init from '@salesforce/apex/lexRepPAEDecisionRecordController.init';
+
+export default class lexRepPAEDecisionRecord extends LightningElement {
+ @api recordId;
+ @track buttonStyle;
+ isLoading = false;
+ rdRecord = {
+ PAE_reappear_confirm__c:'',
+ PAE_ConfirmationDate__c:'',
+ PAE_Authenticator__c:'',
+ PAEDetail_DetermineResults__c:''
+
+ };
+ isASRCDecision = false;
+ isASACDecision = true;
+ rdDate;
+ rdUser;
+ Title;
+ buttonshow = false;
+ buttonshow1 = false;
+ buttonshow2 = false;
+ OCSM_QARA;
+ repa = '1';
+ ReportId = '1';
+
+
+
+ get reappearConfirmStyle() {
+ return `color: ${this.rdRecord.PAE_reappear_confirm__c === '鏈‘璁�' ? 'red' : ''}; font-weight: ${this.rdRecord.PAE_reappear_confirm__c === '鏈‘璁�' ? '800' : 'normal'};`;
+ }
+
+ get reappearConfirmValue() {
+ return this.rdRecord.PAE_reappear_confirm__c;
+ }
+
+ handleClick() {
+ const event = new CustomEvent('intakeclick');
+ this.dispatchEvent(event);
+ }
+ @wire(CurrentPageReference)
+ getStateParameters(currentPageReference) {
+ if (currentPageReference) {
+ const urlValue = currentPageReference.state.recordId;
+ if (urlValue) {
+ let str = `${urlValue}`;
+ this.recordId = str;
+ }
+ }
+ }
+
+ connectedCallback() {
+ init().then(result =>{
+ if (this.isASRCDecision == true && this.isASACDecision == false) {
+ this.rdDate = result.RCDate;
+ this.rdUser = result.RAtor;
+ }
+ if (this.isASRCDecision == false && this.isASACDecision == true) {
+ this.rdDate = result.OCSMDate;
+ this.rdUser = result.OCSMuser;
+ }
+ this.rdRecord.PAE_reappear_confirm__c = '鏈‘璁�';
+ this.rdRecord.PAE_ConfirmationDate__c =new Date();;
+ this.rdRecord.PAE_Authenticator__c = '榛勫崈榫�';
+ this.rdRecord.PAEDetail_DetermineResults__c = 'nonPAE';
+ this.verificButton();
+ }).catch(error => {
+ console.log("error");
+ console.log(error.message());
+ });
+
+ }
+
+ verificButton(){
+ if (this.isASACDecision && this.rdRecord.PAE_reappear_confirm__c == '鏈‘璁�') {
+ this.buttonshow = true;
+ }
+ if (this.isASACDecision && this.repa !=null ) {
+ this.buttonshow1 = true;
+ }
+ if ((this.OCSM_QARA == '1' && this.isASRCDecision && this.repa !=null)|| (this.isASRCDecision && this.ReportId !=null)) {
+ this.buttonshow2 = true;
+ }
+ this.buttonStyle = this.rdRecord.PAE_reappear_confirm__c === '鏈‘璁�'
+ ? 'margin-left: 30px; float: right; color: red;'
+ : 'margin-left: 30px; float: right;';
+ if (this.isASRCDecision == true) {
+ this.Title = 'Intake universal code 缂栬緫鐢婚潰';
+ }
+ if (this.isASACDecision == true) {
+ this.Title = 'Final universal code 缂栬緫鐢婚潰';
+ }
+
+ }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexRepPAEDecisionRecord/lexRepPAEDecisionRecord.js-meta.xml b/force-app/main/default/lwc/lexRepPAEDecisionRecord/lexRepPAEDecisionRecord.js-meta.xml
new file mode 100644
index 0000000..5221726
--- /dev/null
+++ b/force-app/main/default/lwc/lexRepPAEDecisionRecord/lexRepPAEDecisionRecord.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lexRepPAEDecisionRecord">
+ <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/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/lexReturnGoodCusInput/lexReturnGoodCusInput.html b/force-app/main/default/lwc/lexReturnGoodCusInput/lexReturnGoodCusInput.html
new file mode 100644
index 0000000..a78a29b
--- /dev/null
+++ b/force-app/main/default/lwc/lexReturnGoodCusInput/lexReturnGoodCusInput.html
@@ -0,0 +1,8 @@
+<template>
+ <template if:true={showInputOrText}>
+ <lightning-input label="" variant="label-hiden" value={inputValue} onchange={changeInputValue}></lightning-input>
+ </template>
+ <template if:false={showInputOrText}>
+ <lightning-formatted-number style="margin-left: 10px;" value={inputValue}></lightning-formatted-number>
+ </template>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexReturnGoodCusInput/lexReturnGoodCusInput.js b/force-app/main/default/lwc/lexReturnGoodCusInput/lexReturnGoodCusInput.js
new file mode 100644
index 0000000..03864a1
--- /dev/null
+++ b/force-app/main/default/lwc/lexReturnGoodCusInput/lexReturnGoodCusInput.js
@@ -0,0 +1,30 @@
+import { LightningElement,api,track } from 'lwc';
+
+export default class LexReturnGoodCusInput extends LightningElement {
+ @api boxPrice;
+ @api inputValue;
+ @api recordId;
+
+ get showInputOrText(){
+ if(this.boxPrice == '鐩�'){
+ return false;
+ }else{
+ return true;
+ }
+ }
+
+ connectedCallback(){
+ console.log('inputValue:'+this.inputValue+this.boxPrice);
+ }
+
+ changeInputValue(event){
+ this.dispatchEvent(new CustomEvent('changereturncount', {
+ composed: true,
+ bubbles: true,
+ cancelable: true,
+ detail: {
+ data: { value: this.inputValue, boxPrice: this.boxPrice, recordId:this.recordId}
+ }
+ }));
+ }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexReturnGoodCusInput/lexReturnGoodCusInput.js-meta.xml b/force-app/main/default/lwc/lexReturnGoodCusInput/lexReturnGoodCusInput.js-meta.xml
new file mode 100644
index 0000000..f8c5cb4
--- /dev/null
+++ b/force-app/main/default/lwc/lexReturnGoodCusInput/lexReturnGoodCusInput.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/lexSCSubmit/lexSCSubmit.html b/force-app/main/default/lwc/lexSCSubmit/lexSCSubmit.html
new file mode 100644
index 0000000..87f391a
--- /dev/null
+++ b/force-app/main/default/lwc/lexSCSubmit/lexSCSubmit.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/lexSCSubmit/lexSCSubmit.js b/force-app/main/default/lwc/lexSCSubmit/lexSCSubmit.js
new file mode 100644
index 0000000..2ff072b
--- /dev/null
+++ b/force-app/main/default/lwc/lexSCSubmit/lexSCSubmit.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/buttonQISSCReportCtl.init';
+import updateQISSCReport from '@salesforce/apex/buttonQISSCReportCtl.updateQISSCReport';
+import {
+ ShowToastEvent
+} from 'lightning/platformShowToastEvent';
+
+export default class LexSCSubmit extends LightningElement {
+ @api recordId;
+ str;
+ IsLoading = true;
+ Id;
+ StatusC;
+
+ @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.StatusC = result.StatusC;
+
+ this.SCSubmit();
+ this.dispatchEvent(new CloseActionScreenEvent());
+ }
+ }).catch(error => {
+ console.log(error);
+ }).finally(() => {
+
+ });
+ }
+
+ // 鎻愪氦寰呭鎵�
+ SCSubmit() {
+ if (this.StatusC != '鑽夋涓�') {
+ this.ShowToastEvent("宸茬粡鎻愪氦瀹℃壒", "error")
+ // alert('宸茬粡鎻愪氦瀹℃壒');
+ return;
+ }
+
+ if (!confirm("涓�鏃CM鎻愪氦姝よ褰曚互寰呮壒鍑嗭紝鏍规嵁鎮ㄧ殑璁剧疆鎮ㄥ彲鑳戒笉鍐嶈兘澶熺紪杈戞璁板綍鎴栧皢浠栦粠鎵瑰噯杩囩▼涓皟鍥炪�傛槸鍚︾户缁紵")) {
+ return;
+ }
+
+ updateQISSCReport({
+ Id: this.Id
+ }).then(result => {
+ if (result.length > 0) {
+ var split = result.split(", ");
+ alert(split[1]);
+ }
+ this.ShowToastEvent("宸叉彁浜�", "success")
+ // alert('宸叉彁浜�!')
+ window.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/lexSCSubmit/lexSCSubmit.js-meta.xml b/force-app/main/default/lwc/lexSCSubmit/lexSCSubmit.js-meta.xml
new file mode 100644
index 0000000..3392981
--- /dev/null
+++ b/force-app/main/default/lwc/lexSCSubmit/lexSCSubmit.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/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;"> </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;"> </th>
+// <td style="text-align:right;width:100px;"><lightning-button onclick={updateOtcode} label="鏇挎崲浜у搧otcode" ></lightning-button></td>
+// <th style="text-align:right;width:50px;"> </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;"> </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> </td>
+// </tr>
+// </table>
+// -->
+// <!-- 鍘熶唬鐮� end -->
+// <table>
+// <tr>
+// <td> </td>
+// </tr>
+// <tr>
+// <th style="text-align:right;width:30px;"> </th>
+// <th style="text-align:right;width:50px;">鍚堝悓淇濅慨鏈燂紙骞达級: </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}
+// </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}
+// </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;">
+// 娣诲姞琛�
+// : </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;"> </th>
+// <th style="text-align:left;width:50px;">{!$ObjectType.Quote.fields.QuotationChange__c.label}: </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}: </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}
+// : </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> </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;"> <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;"> </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"> </th>
+// <th style="width:120px;" bgcolor="#ffd6c1"> </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"> </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;"> </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"> </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..742b9b2
--- /dev/null
+++ b/force-app/main/default/lwc/lexSISearchSetProduct/lexSISearchSetProduct.css
@@ -0,0 +1,10 @@
+/*div {
+ color: #fff;
+ height: 300px;
+ overflow-y: auto;
+ overflow-x: hidden;
+}*/
+ .spacer {
+ height: 10px;
+ /* 璁剧疆鍚堥�傜殑楂樺害鏉ラ殧寮�涓婁笅涓や釜妯″潡 */
+ }
\ 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..b93b96c
--- /dev/null
+++ b/force-app/main/default/lwc/lexSISearchSetProduct/lexSISearchSetProduct.html
@@ -0,0 +1,117 @@
+<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}"> -->
+ <div class="spacer" style="background-color:#DCDCDC;">
+ </div>
+
+ <table width="900" border="0" style="background-color:#DCDCDC;" class="my-table" >
+
+ <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> </td>
+ <th style="width: 50px">{Label.Search_Condition}</th>
+ <td> </td>
+ <th>{Label.Set_Name}</th>
+ <th>{Label.Set_Code}</th>
+ <td> </td>
+ <td> </td>
+ </tr>
+ <tr>
+ <td> </td>
+ <td> </td>
+ <td> </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"> </td>
+ </tr>
+ </table>
+ <div class="spacer" style="background-color:#DCDCDC;">
+ </div>
+ <table width="900" border="0" style="background-color:#DCDCDC;" >
+ <tr>
+ <td width="12"> </td>
+ <th valign="top">{Label.Search_Result}</th>
+ <td width="20"> </td>
+ <td>
+ <table border="0">
+ <tr>
+ <td>
+ <div id="iframelike" style="width:1000px;
+ 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..ad0b058
--- /dev/null
+++ b/force-app/main/default/lwc/lexSISearchSetProduct/lexSISearchSetProduct.js
@@ -0,0 +1,181 @@
+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/LexSISearchSetProductController.serContact';
+import SelectDone from '@salesforce/apex/LexSISearchSetProductController.SelectDone';
+import getFileName from '@salesforce/apex/LexSISearchSetProductController.getFileName';
+import init from '@salesforce/apex/LexSISearchSetProductController.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;
+ this.data.activities[i].urlIcon=true;
+ if(this.data.activities[i].Valid_c){
+ this.data.activities[i].img='';
+ }
+ }
+
+ this.columns = [
+ // { label: '閫夋嫨', fieldName: 'isSelected' },
+ {
+ label: 'Report',
+ fieldName: 'setUrl',
+ type: 'url',
+ typeAttributes: {
+ label: '鈼�',
+ target: '_blank'
+ },
+ cellAttributes: {
+ iconName: {
+ fieldName: 'urlIcon',
+ operator: '=',
+ value: true
+ } ? 'standard:link' : '',
+ iconPosition: 'left',
+ }
+ },
+ { 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..e6f25b9
--- /dev/null
+++ b/force-app/main/default/lwc/lexSaleAndDelivery/lexSaleAndDelivery.html
@@ -0,0 +1,138 @@
+<!-- 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">
+ <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">鍑哄簱鏃� 浠�</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">    鍒�
+ </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..ff7628f
--- /dev/null
+++ b/force-app/main/default/lwc/lexSaleAndDelivery/lexSaleAndDelivery.js
@@ -0,0 +1,452 @@
+import { LightningElement, wire, api, track } from 'lwc';
+import { NavigationMixin } from 'lightning/navigation';
+import init from '@salesforce/apex/LexSaleAndDeliveryController.init';//cleanUp
+import cleanUp from '@salesforce/apex/LexSaleAndDeliveryController.cleanUp';
+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,
+ initialWidth : 120
+ },
+ {
+ 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,
+ type : "number",
+ typeAttributes:{
+ minimumFractionDigits:2,
+ },
+ initialWidth : 150
+ },
+ {
+ label: '鍒涘缓鏃ユ湡',
+ fieldName: 'CreatedDate',
+ hideDefaultActions: true,
+ sortable: true ,
+ type: "date",
+ typeAttributes:{
+ timeZone : "Asia/Shanghai",
+ day: "numeric",
+ month: "numeric",
+ year: "numeric",
+ 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');
+ console.log('this.deliveryFromDate = ' + this.deliveryFromDate);
+ console.log('this.deliveryToDate = ' + this.deliveryToDate);
+ 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 = '';
+ this.isShowSpinner = true;
+ this.showTable = false;
+ cleanUp({
+ accountid: this.accountid,
+ agencyProType: this.agencyProType,
+ userWorkLocation: this.userWorkLocation,
+ }).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))
+ })
+ }
+
+ //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..f09efe8
--- /dev/null
+++ b/force-app/main/default/lwc/lexSearchProduct/lexSearchProduct.html
@@ -0,0 +1,79 @@
+<template>
+<apex:page id="Page" extensions="SearchProductController" sidebar="false" lightningstylesheets="true" >
+
+
+
+<!-- <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>
+ <!-- 杩欓噷鏈変釜闅愯棌鐨則read -->
+ <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> </td>
+ <th>{Label.Search_Condition}</th>
+ <td> </td>
+ <th>{Label.Asset_No}</th>
+ <td> </td>
+ <td> </td>
+ </tr>
+ <tr>
+ <td> </td>
+ <td> </td>
+ <td> </td>
+ <td><lightning-input onchange={getInput} >
+ </lightning-input></td>
+ <td><lightning-button class="slds-m-left_x-small" label="鎼滅储" onclick={serContact} variant="brand-outline" ></lightning-button></td>
+ <td> <lightning-button class="slds-m-left_x-small" title="Selected Records" label="杩藉姞" variant="brand-outline" onclick={setProductList}></lightning-button></td>
+ </tr>
+ <tr>
+ <td style="border-bottom: 1px solid #888;" colspan="15"> </td>
+ </tr>
+ </table>
+
+
+
+
+
+
+ <table width="900" border="0" style="background-color:#DCDCDC">
+ <tr>
+ <td width="12"> </td>
+ <th valign="top">{Label.Search_Result}</th>
+ <td width="20"> </td>
+ <td>
+ <table border="0">
+ <tr>
+ <td>
+ <div style="height: 300px;">
+ <lightning-datatable
+ key-field="id"
+ data={data}
+ columns={columns}
+ >
+
+ </lightning-datatable>
+ </div>
+ </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+ </table>
+
+ </form>
+</apex:page>
+</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..01d1686
--- /dev/null
+++ b/force-app/main/default/lwc/lexSearchProduct/lexSearchProduct.js
@@ -0,0 +1,472 @@
+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 { ShowToastEvent } from 'lightning/platformShowToastEvent';
+
+
+
+import getData from "@salesforce/apex/LexSearchProductController.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' },
+ { label: '浜у搧缂栫爜', fieldName: 'OT_CODE_no_link' },
+ { label: '浜у搧鍚嶇О', fieldName: 'Name' },
+ { label: '閫傜敤绉戝', fieldName: 'suitDepartment' },
+ { label: '浠f浛浜у搧', fieldName: 'Alternative_Products' },
+ { label: 'NMPA鐘舵��', fieldName: 'SFDA_Status', },
+ { label: 'ListPrice锛堝唴璐革級', fieldName: 'Intra_Trade_List_RMB' },
+ { label: 'ListPrice锛堝璐革級', fieldName: 'Foreign_Trade_List_US' },
+ { label: '瑙勬牸', fieldName: 'Packing_list_manual' },
+
+];
+const actions = [
+ {label:'setProductOne ' , name : 'setProductOne'},
+
+]
+ const event1 = new ShowToastEvent({
+ title: 'Recheck Please',
+ message:
+ '浜у搧鐨勬垚鏈负绌烘椂涓嶅彲鎶ヤ环锛�',
+ });
+ const event2 = new ShowToastEvent({
+ title: 'Recheck Please',
+ message:
+ '浜у搧鐨勬姤浠烽噾棰濅负绌烘椂涓嶅彲鎶ヤ环锛�',
+ });
+ const event3 = new ShowToastEvent({
+ title: 'Recheck Please',
+ message:
+ '浜у搧鏈櫥褰曟姤浠锋椂涓嶅彲鎶ヤ环!',
+ });
+
+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;
+ trade='CNY';
+
+ connectedCallback(){
+
+
+ }
+
+
+
+ getInput(event){
+ this.inputData=event.detail.value;
+
+ }
+
+
+ handleRowAction(){
+ alert('ssssssss');
+ }
+
+ 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(res=>{
+ if(res!=null){
+ this.IsLoading=false;
+
+ this.data=res;
+ console.log(res);
+ console.log(this.data[0]);
+
+ }
+ }).catch(error=>{
+ console.log(error);
+ })
+ }
+
+ setProductList() {
+ console.log('in setProductList');
+ //杩欎袱涓簲璇ュ氨鏄渶澶ц鏁板拰涓嬩竴琛屾暟浜嗭紝鍥犱负杩欎釜璺熻繘鎸夐挳鍚庝細琚坊鍔犲埌涓嬮潰鍘汇�傛墍浠ヤ細鎷胯繖涓や釜涓滆タ鏉ュ垽鏂竴涓�
+ var QuoteEntryMaxLine = window.opener.QuoteEntryMaxLine;
+ console.log('111111QMaxLine');
+ var nextLine = top.window.opener.getLastLineNoNext(window.opener.document);
+ var selectedRecords = this.template.querySelector("lightning-datatable").getSelectedRows();
+ console.log(selectedRecords);
+ if(selectedRecords.length > 0){
+ console.log('selectedRecords are ', selectedRecords);
+ for(var i =0;i<selectedRecords.length;i++){
+ //鍐呰锤
+ if(this.trade == "CNY") {
+ if(selectedRecords[i].Estimation_Entry_Possibility == 'true'){
+ const event = new ShowToastEvent({
+ title: 'Error',
+ message: '浜у搧鏈櫥褰曟姤浠锋椂涓嶅彲鎶ヤ环!',
+
+ });
+ this.dispatchEvent(event);
+ }else if(selectedRecords[i].CostFlag == 'true'){
+ this.dispatchEvent(event1);
+ }else if(selectedRecords[i].Intra_Trade_List_RMB__c == ''||selectedRecords[i].Intra_Trade_List_RMB__c<0){
+ this.dispatchEvent(event2);
+ }
+ // else{
+ // if (nextLine < QuoteEntryMaxLine) {
+ // this.SetProductId(nextLine, i);
+ // nextLine++;
+ // }
+ // else {
+ // alert('Over Max Line ' + QuoteEntryMaxLine);
+ // return false;
+ // }
+ // }
+ //澶栬锤
+ }else if(trade == "USD"){
+ if(selectedRecords[i].Estimation_Entry_Possibility == 'true'){
+ this.dispatchEvent(event3);
+ }
+ //澶栬锤澶氬勾淇� 澧炲姞鍒ゆ柇鍚屽唴璐� 绮剧悽鎶�鏈� wql 2021/01/21 end
+ else if(selectedRecords[i].Foreign_Trade_List_US__c ==''||selectedRecords[i].Foreign_Trade_List_US__c<0 ){
+ this.dispatchEvent(event2);
+ }else if(selectedRecords[i].Foreign_Trade_Cost_US__c == ''||selectedRecords[i].Foreign_Trade_Cost_US__c<0){
+ this.dispatchEvent(event1);
+ }
+ // else{
+ // if (nextLine < QuoteEntryMaxLine) {
+ // this.SetProductId(nextLine, i);
+ // nextLine++;
+ // }
+ // else {
+ // alert('Over Max Line ' + QuoteEntryMaxLine);
+ // return false;
+ // }
+ // }
+ }
+
+
+ //HWAG-BLWB9F 璇环鎶ヤ环锛氬骞翠繚浜у搧鏈櫥褰曡鎻愰噾棰濇椂涓嶅彲鎶ヤ环 绮剧悽鎶�鏈� 20200224 end
+ }
+ }
+ if (selectedRecords.length == 0) {
+ alert(top.window.opener.Error_Message34);
+ return false;
+ }
+ top.window.opener.calPriceAll();
+ top.window.close();
+
+ }
+
+ setProductOne(lineno, i) {
+ //鍐呰锤
+ if(trade == "CNY") {
+ if(Estimation_Entry_Possibility == 'true'){
+ this.dispatchEvent(event3);
+ }else if(CostFlag == 'true'){
+ this.dispatchEvent(event1);
+ }else if(Intra_Trade_List_RMB__c == ''||Intra_Trade_List_RMB__c<0){
+ this.dispatchEvent(event2);
+ }else{
+ this.SetProductId(lineno, i);
+ }
+ //澶栬锤
+ }else if(trade == "USD"){
+ if(Estimation_Entry_Possibility == 'true'){
+ this.dispatchEvent(event3);
+ }
+ //澶栬锤澶氬勾淇� 澧炲姞鍒ゆ柇鍚屽唴璐� 绮剧悽鎶�鏈� wql 2021/01/21 end
+ else if(Foreign_Trade_List_US__c ==''||Foreign_Trade_List_US__c<0 ){
+ this.dispatchEvent(event2);
+ }else if(Foreign_Trade_Cost_US__c == ''||Foreign_Trade_Cost_US__c<0){
+ this.dispatchEvent(event1);
+ }else{
+ this.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> </td>
+ <th>{Label.Search_Condition}</th>
+ <td> </td>
+ <th>{Label.Asset_No}</th>
+ <td> </td>
+ <td> </td>
+ </tr>
+ <tr>
+ <td> </td>
+ <td> </td>
+ <td> </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> <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"> </td>
+ </tr>
+ </table>
+ <table width="1000" border="0" style="background-color:#DCDCDC">
+ <tr>
+ <td width="12"> </td>
+ <th valign="top">{Label.Search_Result}</th>
+ <td width="20"> </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/lexSearchProductIrai/lexSearchProductIrai.html b/force-app/main/default/lwc/lexSearchProductIrai/lexSearchProductIrai.html
new file mode 100644
index 0000000..69b8b91
--- /dev/null
+++ b/force-app/main/default/lwc/lexSearchProductIrai/lexSearchProductIrai.html
@@ -0,0 +1,145 @@
+<template >
+<!-- <apex:page id="Page" standardController="Product2" extensions="SearchProductController" sidebar="false" showHeader="false" lightningStylesheets="true" > -->
+<!-- <apex:stylesheet value="{!URLFOR($Resource.blockUIcss)}"/>
+ <apex:includeScript value="{!URLFOR($Resource.jquery183minjs)}"/>
+ <apex:includeScript value="{!URLFOR($Resource.PleaseWaitDialog)}"/> -->
+
+<!-- <style type="text/css">
+ div#iframelike {
+ color: #fff;
+ height: 300px;
+ overflow-y: auto;
+ overflow-x: hidden;
+ }
+ </style> -->
+ <template if:true={isLoad}>
+ <div id="all">
+ <from id="mainForm">
+ <lightning-card id="idSearchSetProduct" title={Label.Product_Search}>
+
+ <lightning-input type="hidden" id="Trade" value={data.trade}></lightning-input>
+ <table width="900" border="0" style="background-color:#DCDCDC;">
+ <colgroup>
+ <col width="12" />
+ <col width="1000" /> <!-- lighting鍗囩骇 20230210 lt 鍚嶇О涓茶闂 20==50 -->
+ <col width="20" />
+ <col width="200" />
+ <col width="20" />
+ <col width="428" />
+ </colgroup>
+ <tr>
+ <td> </td>
+ <th style="width: 50px">{Label.Search_Condition}</th>
+ <td> </td>
+ <th>{Label.Asset_No}</th>
+ <td> </td>
+ <td> </td>
+ </tr>
+ <tr>
+ <td> </td>
+ <td> </td>
+ <td> </td>
+ <td><lightning-input type="search" value={data.SearchName} onchange={searchNameInputChange} style="width:200px" ></lightning-input></td>
+ <!-- <td><apex:commandButton value="{!$Label.Search}" action="{!serContact}" style="width:100px" rerender="all,message1" onclick="blockme();" oncomplete="unblockUI();"/></td>-->
+ <!-- xudan Enter銈兗銈掑蹇溿仚銈嬨仧銈併�乺erender銆乷nclick銆乷ncomplete鍏ㄩ儴銇仐 -->
+ <td><lightning-button label={Label.Search} onclick={serContact} class="slds-m-left_x-small" style="width:1000px;float:right;"> </lightning-button></td>
+ <td> <lightning-button label={Label.Add_Product} style="width:100px;float:right;" disabled={Hascl} rerender="dummy" onclick={setProductList} class="slds-m-left_x-small"> </lightning-button></td>
+ </tr>
+ <tr>
+ <td style="border-bottom: 1px solid #888;" colspan="15"> </td>
+ </tr>
+ </table>
+ <div class="spacer" style="height:10px;background-color:#DCDCDC;">
+ </div>
+ <table width="900" border="0" style="background-color:#DCDCDC;">
+ <tr>
+ <td width="12"> </td>
+ <th valign="top">{Label.Search_Result}</th>
+ <td width="20"> </td>
+ <td>
+ <table border="0">
+ <tr>
+ <td>
+ <div id="iframelike" style="width:1200px;
+ height: 300px;
+ overflow-y: auto;
+ overflow-x: hidden;">
+ <lightning-datatable
+ key-field="id"
+ data={data.cc}
+ columns = {columns}>
+ </lightning-datatable>
+ <!-- 20221020 ljh SWAG-CJ98AJ start-->
+ <!-- <lightning-cardTable id="idRezultVisitor" value="{!cl}" var="c" border="1" columns="9" columnsWidth="25px,120px,120px,280px,60px,60px,60px,60px,35px"> -->
+
+
+
+
+ <!-- <lightning-cardTable id="idRezultVisitor" value="{!cl}" var="c" border="1" columns="10" columnsWidth="25px,120px,120px,280px,60px,60px,60px,60px,35px">
+
+ <apex:column style="width:15px;" >
+ <apex:facet name="header">{Label.Selected}</apex:facet>
+ <input type="checkbox" name="checklist" value="" style="width:10px;"/>
+ </apex:column>
+
+ <apex:column >
+ <apex:facet name="header">{Label.Asset_No}</apex:facet>
+ <apex:outputLink id="Asset_Model_No__c" value="{!c.pbe.Product2.Asset_Model_No__c}" onclick="setProductOne('{!lineno}','{!c.idx}');return false;">{c.pbe.Product2.Asset_Model_No__c}</apex:outputLink>
+ <lightning-input type="hidden" id="NameCode" value={c.NameCode}/>
+ <lightning-input type="hidden" id="Sales_Possibility" value={c.Sales_Possibility}/>
+ <lightning-input type="hidden" id="Bsscategory" value={c.Bsscategory}/>
+ <lightning-input type="hidden" id="Product_Id" value={c.Product_Id}/>
+ <lightning-input type="hidden" id="PricebookEntryId" value={c.PricebookEntryId}/>
+ <lightning-input type="hidden" id="Intra_Trade_Cost_RMB__c" value={c.Intra_Trade_Cost_RMB}/>
+ <lightning-input type="hidden" id="Foreign_Trade_Cost_US__c" value={c.Foreign_Trade_Cost_US}/>
+ <lightning-input type="hidden" id="GuaranteePeriod" value={c.Entend_gurantee_period_all/>
+ <lightning-input type="hidden" id="Intra_Trade_Service_RMB" value={c.Intra_Trade_Service_RMB}/>
+ <lightning-input type="hidden" id="CanNotCancelledGurantee__c" value={c.CanNotCancelledGurantee}/>
+ </apex:column>
+
+ <apex:column >
+ <apex:facet name="header">{!$ObjectType.Product2.fields.OT_CODE_no_link__c.Label}</apex:facet>
+ <apex:outputField id="OT_CODE_no_link__c" value="{!c.pbe.Product2.OT_CODE_no_link__c}" />
+ </apex:column>
+ <apex:column >
+ <apex:facet name="header">{Label.Product_Name}</apex:facet>
+ <apex:outputField id="Name" value="{!c.pbe.Product2.Name}" />
+ </apex:column>
+ <apex:column >
+ <apex:facet name="header">{!$ObjectType.Product2.fields.suitDepartment__c.Label}</apex:facet>
+ <apex:outputField id="suitDepartment__c" value="{!c.pbe.Product2.suitDepartment__c}" />
+ </apex:column>
+ <apex:column >
+ <apex:facet name="header">{!$ObjectType.Product2.fields.Alternative_Products__c.Label}</apex:facet>
+ <apex:outputField id="Alternative" value="{!c.pbe.Product2.Alternative_Products__c}" />
+ </apex:column>
+ <apex:column >
+ <apex:facet name="header">{Label.SFDA_Status}</apex:facet>
+ <apex:outputField id="SFDA_Status__c" value="{!c.pbe.Product2.SFDA_Status__c}" />
+ </apex:column>
+ <apex:column style="text-align:right;">
+ <apex:facet name="header">{Label.ListPrice_In}</apex:facet>
+ <apex:outputField id="Intra_Trade_List_RMB__c" value="{!c.pbe.Product2.Intra_Trade_List_RMB__c}" />
+ </apex:column>
+ <apex:column style="text-align:right;">
+ <apex:facet name="header">{!$Label.ListPrice_Out}</apex:facet>
+ <apex:outputField id="Foreign_Trade_List_US__c" value="{!c.pbe.Product2.Foreign_Trade_List_US__c}" />
+ </apex:column>
+ <apex:column style="text-align:right;">
+ <apex:facet name="header">{Label.Unit}</apex:facet>
+ <apex:outputField id="Qty_Unit__c" value="{!c.pbe.Product2.Qty_Unit__c}" />
+ </apex:column>
+ </lightning-cardTable> -->
+ </div>
+ </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+ </table>
+ </lightning-card>
+ </from>
+ </div>
+ </template>
+<!-- </apex:page> -->
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSearchProductIrai/lexSearchProductIrai.js b/force-app/main/default/lwc/lexSearchProductIrai/lexSearchProductIrai.js
new file mode 100644
index 0000000..0354f36
--- /dev/null
+++ b/force-app/main/default/lwc/lexSearchProductIrai/lexSearchProductIrai.js
@@ -0,0 +1,297 @@
+import { LightningElement, track, wire } from 'lwc';
+import serContact from '@salesforce/apex/LexSearchProductIraiController.serContact';
+import init from '@salesforce/apex/LexSearchProductIraiController.init';
+
+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 Product_Search from '@salesforce/label/c.Product_Search';
+import Add_Product from '@salesforce/label/c.Add_Product';
+import Selected from '@salesforce/label/c.Selected';
+import Asset_No from '@salesforce/label/c.Asset_No';
+import Product_Name from '@salesforce/label/c.Product_Name';
+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';
+
+export default class lexSearchProductIrai extends LightningElement {
+
+
+ Label={
+ Set_Name,
+ Search_Condition,
+ Set_Search,
+ Set_Code,
+ Search_Result,
+ Search,
+ Quantity,
+ Valid_Status,
+ Product_Search,
+ Add_Product,
+ Selected,
+ Asset_No,
+ Product_Name,
+ SFDA_Status,
+ ListPrice_In,
+ ListPrice_Out,
+ Unit
+ };
+ 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(){
+ console.log("ddddd");
+ await init().then(res=>{
+ console.log("new res:");
+ console.log(res);
+ this.data=res;
+ this.isLoad=true;
+ this.columns=[
+ { label: this.Label.Selected, fieldName: 'idx' },
+ { label: this.Label.Asset_No, fieldName: 'Name' },
+ { label: this.data.LabelOT, fieldName: 'OT_CODE_no_link__c' },
+ { label: this.Label.Product_Name, fieldName: 'Name' },
+ { label: this.data.Labelsuit, fieldName: 'suitDepartment__c' },
+ { label: this.data.LabelAl, fieldName: 'Alternative_Products__c' },
+ { label: this.Label.SFDA_Status, fieldName: 'SFDA_Status__c' },
+ { label: this.Label.ListPrice_In, fieldName: 'Intra_Trade_List_RMB__c' },
+ { label: this.Label.ListPrice_Out, fieldName: 'Foreign_Trade_List_US__c' },
+ { label: this.Label.Unit, fieldName: 'Qty_Unit__c' },
+ ]
+ })
+ }
+
+
+
+ serContact(){
+ serContact({trade:this.data.trade,searchMode:this.data.searchMode,celon:this.data.celon,SearchName:this.data.SearchName}).then(res=>{
+ console.log(res);
+ this.data.cl=res.cl;
+ if(res!=null){
+ this.data.cl=res.cl;
+ this.data.activities=res.activities;
+ this.data.cc=[];
+ for (var i = this.data.cl.length - 1; i >= 0; i--) {
+ this.data.cc.push(this.data.cl[i].pbe.Product2)
+ }
+ console.log("activities!");
+ }
+ let t=this.data;
+ this.data={};
+ this.data=t;
+ })
+ }
+ searchNameInputChange(event){
+ this.data.SearchName = event.detail.value;
+ }
+
+// QuoteEntryMaxLine = window.opener.QuoteEntryMaxLine;
+ add(){
+ setProductList();
+ return false;
+ }
+ 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++;
+ if (nextLine < QuoteEntryMaxLine) {
+ SetProductId(nextLine, i);
+ 聽 聽 聽 聽 聽 聽 聽 聽 nextLine++;
+ } else {
+ alert('Over Max Line ' + QuoteEntryMaxLine);
+ return false;
+ }
+ }
+ 聽 聽 聽 聽 聽 聽}
+ if (hasCheckedCnt == 0) {
+ alert(top.window.opener.Error_Message34);
+ return false;
+ }
+ top.window.opener.calPriceAll(window.opener.document);
+ top.window.close();
+ }
+// function setProductOne(lineno, i) {
+// //lineno = getLastLineNo();
+// SetProductId(lineno, i);
+// top.window.opener.calPriceAll(window.opener.document);
+// top.window.close();
+// }
+// function SetProductId(lineno, i) {
+// debugger
+// 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 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 Intra_Trade_Service_RMB__c =j$(escapeVfId("Page:mainForm:idSearchSetProduct:idRezultVisitor:"+ i +":Intra_Trade_Service_RMB")).val();
+// 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();
+// //DB202212304166 銆愮揣鎬�-鎶ヤ环濮旀墭涓庤喘涔版剰鍚戙�戣灏嗘渶鍚庢搷浣滅殑鎶ヤ环濮旀墭鐘舵�佹斁鍒拌喘涔版剰鍚戜腑 fy start
+// var CanNotCancelledGurantee__c = j$(escapeVfId("Page:mainForm:idSearchSetProduct:idRezultVisitor:"+ i +":CanNotCancelledGurantee__c")).val();
+// //DB202212304166 銆愮揣鎬�-鎶ヤ环濮旀墭涓庤喘涔版剰鍚戙�戣灏嗘渶鍚庢搷浣滅殑鎶ヤ环濮旀墭鐘舵�佹斁鍒拌喘涔版剰鍚戜腑 fy end
+
+// //CHAN-BHNBX6 2019/11/20 START
+// var GuaranteePeriod = j$(escapeVfId("Page:mainForm:idSearchSetProduct:idRezultVisitor:"+ i +":GuaranteePeriod")).value();
+// //nodiscount 灏忚
+// var Intra_Trade_Service_RMB =j$(escapeVfId("Page:mainForm:idSearchSetProduct:idRezultVisitor:"+ i +":Intra_Trade_Service_RMB")).value();
+// //CHAN-BHNBX6 2019/11/20 END
+// //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);
+// //SFDA hidden
+// window.opener.j$(escapeVfId("Page:mainForm:block:lists:"+ lineno +":SFDA")).val(SFDA_Status__c);
+
+// //DB202212304166 銆愮揣鎬�-鎶ヤ环濮旀墭涓庤喘涔版剰鍚戙�戣灏嗘渶鍚庢搷浣滅殑鎶ヤ环濮旀墭鐘舵�佹斁鍒拌喘涔版剰鍚戜腑 fy start
+// //鍙栨秷甯傚満澶氬勾淇�
+// window.opener.j$(escapeVfId("Page:mainForm:block:lists:"+ lineno +":CanNotCancelledGurantee__c")).val(CanNotCancelledGurantee__c);
+// //DB202212304166 銆愮揣鎬�-鎶ヤ环濮旀墭涓庤喘涔版剰鍚戙�戣灏嗘渶鍚庢搷浣滅殑鎶ヤ环濮旀墭鐘舵�佹斁鍒拌喘涔版剰鍚戜腑 fy end
+
+
+// //鍝佺洰鍚�
+// 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;
+// //CHAN-BHNBX6 2019/11/20 START
+// var NoDiscount = 0;
+
+// if(trade == "CNY") {
+// ListPrice = Intra_Trade_List_RMB__c;
+// Cost_c = Intra_Trade_Cost_RMB__c;
+// NoDiscount = Intra_Trade_Service_RMB;
+// } 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);
+// NoDiscount = top.window.opener.toNum(NoDiscount);
+// //CHAN-BHNBX6 2019/11/20 END
+// 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);
+// //CHAN-BHNBX6 NoDiscount 2019/11/20 START
+// window.opener.j$(escapeVfId("Page:mainForm:block:lists:"+ lineno +":NoDiscount")).val(NoDiscount);
+// //CHAN-BHNBX6 NoDiscount 2019/11/20 END
+// //鏁伴噺
+// window.opener.j$(escapeVfId("Page:mainForm:block:lists:"+ lineno +":Quantity")).val(1);
+
+// //CHAN-BHNBX6 淇濅慨骞撮檺 2019/11/20 START
+// window.opener.j$(escapeVfId("Page:mainForm:block:lists:"+ lineno +":itemGuaranteePeriod")).text(GuaranteePeriod);
+// window.opener.j$(escapeVfId("Page:mainForm:block:lists:"+ lineno +":itemGuaranteePeriod")).val(GuaranteePeriod);
+// //CHAN-BHNBX6 淇濅慨骞撮檺 2019/11/20 END
+// //渚℃牸
+// 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();
+
+// //灏忚▓ 涓荤敾闈D鍙樻洿锛岄�昏緫涓嶅彉璁惧�糏D鍙樻洿
+// // 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);
+
+// //灏忚▓lw
+// 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);
+
+// //CHAN-BHNBX6 nodiscount 灏忚 2019/11/20 START
+// //DB202212304166 銆愮揣鎬�-鎶ヤ环濮旀墭涓庤喘涔版剰鍚戙�戣灏嗘渶鍚庢搷浣滅殑鎶ヤ环濮旀墭鐘舵�佹斁鍒拌喘涔版剰鍚戜腑 fy start
+// // var cancelMultiyearInsurance = top.window.opener.j$(escapeVfId("Page:mainForm:block:cancelMultiyearInsurance")).val();
+// // var NoDiscount1;
+// // if(cancelMultiyearInsurance == '涓嶈' && CanNotCancelledGurantee__c == 'false'){
+// // NoDiscount1 = 0.00;
+// // }else{
+// // NoDiscount1 = NoDiscount;
+// // }
+// // window.opener.j$(escapeVfId("Page:mainForm:block:lists:"+ lineno +":NoDiscountTotalText")).text(top.window.opener.toNumComma(NoDiscount1));
+
+// //DB202212304166 銆愮揣鎬�-鎶ヤ环濮旀墭涓庤喘涔版剰鍚戙�戣灏嗘渶鍚庢搷浣滅殑鎶ヤ环濮旀墭鐘舵�佹斁鍒拌喘涔版剰鍚戜腑 fy end
+// window.opener.j$(escapeVfId("Page:mainForm:block:lists:"+ lineno +":NoDiscountTotalText")).text(top.window.opener.toNumComma(NoDiscount));
+// //CHAN-BHNBX6 nodiscount 灏忚 2019/11/20 END
+// // window.opener.j$(escapeVfId("Page:mainForm:block:lists:"+ lineno +":NoDiscountTotal")).val(Intra_Trade_Service_RMB);
+
+
+// //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/lexSearchProductIrai/lexSearchProductIrai.js-meta.xml b/force-app/main/default/lwc/lexSearchProductIrai/lexSearchProductIrai.js-meta.xml
new file mode 100644
index 0000000..41c798f
--- /dev/null
+++ b/force-app/main/default/lwc/lexSearchProductIrai/lexSearchProductIrai.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lexSearchProductIrai">
+ <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/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/lexSendQISToEtQ/lexSendQISToEtQ.html b/force-app/main/default/lwc/lexSendQISToEtQ/lexSendQISToEtQ.html
new file mode 100644
index 0000000..aaa4cbd
--- /dev/null
+++ b/force-app/main/default/lwc/lexSendQISToEtQ/lexSendQISToEtQ.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/lexSendQISToEtQ/lexSendQISToEtQ.js b/force-app/main/default/lwc/lexSendQISToEtQ/lexSendQISToEtQ.js
new file mode 100644
index 0000000..30ae41a
--- /dev/null
+++ b/force-app/main/default/lwc/lexSendQISToEtQ/lexSendQISToEtQ.js
@@ -0,0 +1,183 @@
+import {
+ LightningElement,
+ wire,
+ api
+} from 'lwc';
+import {
+ CurrentPageReference
+} from "lightning/navigation";
+import {
+ CloseActionScreenEvent
+} from 'lightning/actions';
+import init from '@salesforce/apex/buttonQISReportCtl.init';
+import sendToETQ from '@salesforce/apex/buttonQISReportCtl.sendToETQ';
+import updateQISReportC from '@salesforce/apex/buttonQISReportCtl.updateQISReportC';
+import selectQISReportC from '@salesforce/apex/buttonQISReportCtl.selectQISReportC';
+
+import {
+ ShowToastEvent
+} from 'lightning/platformShowToastEvent';
+
+export default class LexSendQISToEtQ extends LightningElement {
+ @api recordId;
+ str;
+ IsLoading = true;
+ Id;
+ userId;
+ profileId;
+ PAEDetermineC;
+ PAEDetermineACC;
+ OCMJudgementC;
+ QISFinalJudgementC;
+ ETQUPLOADSTATUSC;
+ AEDetermineResultC;
+
+ @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.profileId = result.profileId;
+ this.PAEDetermineC = result.PAEDetermineC;
+ this.PAEDetermineACC = result.PAEDetermineACC;
+ this.OCMJudgementC = result.OCMJudgementC;
+ this.QISFinalJudgementC = result.QISFinalJudgementC;
+ this.ETQUPLOADSTATUSC = result.ETQUPLOADSTATUSC;
+ this.AEDetermineResultC = result.AEDetermineResultC;
+
+ this.myDate();
+ this.myReload();
+ this.dispatchEvent(new CloseActionScreenEvent());
+ }
+ }).catch(error => {
+ console.log(error);
+ })
+ }
+
+ myDate() {
+ let messageNumber = '';
+ let today = new Date();
+ messageNumber = today.getFullYear() + '' + (today.getMonth() + 1) + '' + today.getDate() + '' + today.getHours() + '' +
+ today.getMinutes() + '' + today.getSeconds();
+ return messageNumber;
+ }
+
+ // 鍙戦�丵IS鍒癊tQ
+ SendQISToEtQ() {
+ var QId = this.Id;
+ var uid = this.userId;
+
+ if (this.profileId != "00e10000000xnoO" && this.profileId != "00e10000000hl7w") {
+ alert("鎮ㄦ病鏈夊彂閫丵IS鍒癊tQ鐨勬潈闄愩��");
+ return;
+ }
+
+ if (this.PAEDetermineC == undefined) {
+ alert("OCSM QARA鐨凱AE鍒ゅ畾鏄┖鐨勬椂鍊欙紝涓嶅彲浠ュ彂閫佸埌EtQ銆�");
+ return;
+ }
+
+ if (this.AEDetermineResultC == "nonAE" && this.PAEDetermineC == "nonPAE" && this.PAEDetermineACC == "nonPAE" && this.OCMJudgementC == undefined && this.QISFinalJudgementC == undefined) {
+ alert("nonAE骞秐onPAE鐨凲IS鍚屾鍒癊tQ鐨勬椂鍊欙紝妫�娴嬬粨璁�(OCSM)鏄繀濉殑銆備笉鍙互鍙戦�佸埌EtQ銆�");
+ return;
+ }
+
+ if (this.ETQUPLOADSTATUSC == "3") {
+ if (!confirm("鏄惁娓呯┖EtQ鍚屾鐘舵�侊紝閲嶆柊鍚屾鏁版嵁锛�")) {
+ return;
+ }
+ }
+
+ var statu = '';
+ if (this.AEDetermineResultC != undefined && this.PAEDetermineC != undefined && this.PAEDetermineACC == undefined) {
+ statu = "Q1";
+ } else if (
+ (this.AEDetermineResultC != undefined && this.PAEDetermineC != undefined && this.PAEDetermineACC != "nonPAE" && this.PAEDetermineACC != undefined) ||
+ (this.AEDetermineResultC == "nonAE" && this.PAEDetermineC == "nonPAE" && this.PAEDetermineACC == "nonPAE") &&
+ ((this.OCMJudgementC == undefined &&
+ this.QISFinalJudgementC == "璐ㄩ噺闂") ||
+ ((this.OCMJudgementC == "璐ㄩ噺闂" || this.OCMJudgementC == "璐ㄩ噺闂+闈炶川閲忛棶棰�") &&
+ (this.QISFinalJudgementC == undefined || this.QISFinalJudgementC == "璐ㄩ噺闂")) ||
+ (this.OCMJudgementC == "闈炶川閲忛棶棰�" || this.OCMJudgementC == "鐜拌薄鏈彂鐜�") &&
+ this.QISFinalJudgementC == "璐ㄩ噺闂")) {
+ statu = "Q2";
+ } else if ((this.AEDetermineResultC == "nonAE" && this.PAEDetermineC == "nonPAE" && this.PAEDetermineACC == "nonPAE") &&
+ ((this.OCMJudgementC == undefined || this.OCMJudgementC == "璐ㄩ噺闂" || this.OCMJudgementC == "璐ㄩ噺闂+闈炶川閲忛棶棰�") && this.QISFinalJudgementC == "闈炶川閲忛棶棰�") ||
+ ((this.OCMJudgementC == "闈炶川閲忛棶棰�" || this.OCMJudgementC == "鐜拌薄鏈彂鐜�") && (this.QISFinalJudgementC == undefined || this.QISFinalJudgementC == "闈炶川閲忛棶棰�"))) {
+ statu = "Q3";
+ }
+ try {
+ updateQISReportC({
+ QId: QId,
+ uid: uid
+ })
+
+ var qisreports = new Array()
+ qisreports[0] = this.Id;
+
+ var statuArr = new Array();
+ statuArr.push(statu);
+
+ sendToETQ({
+ iflog_Id: "",
+ rowDataSFDC: "",
+ repairIds: qisreports,
+ statu: statuArr[0]
+ }).then(result => {
+ alert(result);
+ })
+
+ alert("鍙戦�佹垚鍔�!")
+ var btns = document.getElementsByName("sendqistoetq");
+ for (var i = 0; i < btns.length; i++) {
+ btns[i].disabled = true;
+ btns[i].className = 'btnDisabled';
+ }
+ location.reload();
+ } catch (error) {
+ alert("鍙戦�丵IS鍒癊tQ澶辫触" + error.faultstring + ' code:' + error.faultcode)
+ }
+ }
+
+ myReload() {
+ selectQISReportC({
+ QId: this.Id
+ }).then(record => {
+ if (record.AsyncData__c == 'true' && record.ETQ_UPLOAD_STATUS__c != '3' || record.Complaint_Number__c != null) {
+ var btns = document.getElementsByName("sendqistoetq");
+ for (var i = 0; i < btns.length; i++) {
+ btns[i].disabled = true;
+ btns[i].className = 'btnDisabled';
+ }
+ alert('璇IS涔嬪墠宸茬粡鍙戦�佽繃浜�')
+ } else {
+ SendQISToEtQ();
+ }
+ })
+ }
+
+ // 寮圭獥
+ 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/lexSendQISToEtQ/lexSendQISToEtQ.js-meta.xml b/force-app/main/default/lwc/lexSendQISToEtQ/lexSendQISToEtQ.js-meta.xml
new file mode 100644
index 0000000..3392981
--- /dev/null
+++ b/force-app/main/default/lwc/lexSendQISToEtQ/lexSendQISToEtQ.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/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..ed36fa7
--- /dev/null
+++ b/force-app/main/default/lwc/lexServiceCutPriceApply/lexServiceCutPriceApply.js
@@ -0,0 +1,115 @@
+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') {
+ this.ShowToastEvent("瀵逛笉璧凤紝鎮ㄦ病鏈夋潈闄愭彁浜ゆ鐢宠锛�", "error");
+ // alert('瀵逛笉璧凤紝鎮ㄦ病鏈夋潈闄愭彁浜ゆ鐢宠锛�');
+ return;
+ }
+ var status = this.CutPriceStatusServiceC;
+ if (status == '瀹℃壒涓�') {
+ this.ShowToastEvent("瀹℃壒鎻愪氦鎴愬姛,褰撳墠姝e湪瀹℃壒璇峰嬁鍐嶆彁浜わ紒", "error");
+ // alert("瀹℃壒鎻愪氦鎴愬姛,褰撳墠姝e湪瀹℃壒璇峰嬁鍐嶆彁浜わ紒");
+ return;
+ }
+ if (status == '鎵瑰噯') {
+ this.ShowToastEvent("瀹℃壒宸叉壒鍑�,璇峰嬁鍐嶆彁浜わ紒", "error");
+ // alert("瀹℃壒宸叉壒鍑�,璇峰嬁鍐嶆彁浜わ紒");
+ return;
+ }
+ if (status == '鑽夋涓�' || status == undefined || status == '椹冲洖') {
+ updateRepairQuotation({
+ recordId: this.Id
+ }).then(result => {
+ console.log(result);
+ if (result.length > 0) {
+ var split = result.split(", ");
+ alert(split[1]);
+ return;
+ }
+ })
+ updateRepairQuotation02({
+ recordId: this.Id
+ }).then(result => {
+ console.log(result);
+ if (result.length > 0) {
+ var split = result.split(", ");
+ alert("鎻愪氦澶辫触 " + split[1]);
+ return;
+ } else {
+ // alert("瀹℃壒鎻愪氦鎴愬姛锛�");
+ this.ShowToastEvent("瀹℃壒鎻愪氦鎴愬姛锛�", "success");
+ }
+ })
+ }
+ 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..d2f94b3
--- /dev/null
+++ b/force-app/main/default/lwc/lexStockApply/lexStockApply.js
@@ -0,0 +1,127 @@
+/*
+ * @Description:
+ * @version:
+ * @Author: chen jing wu
+ * @Date: 2023-04-14 13:04:53
+ * @LastEditors: chen jing wu
+ * @LastEditTime: 2023-04-23 14:49:52
+ */
+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';
+import submitProcess from '@salesforce/apex/OpportunityLightingButtonController.submitProcess';
+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");
+ this.dispatchEvent(new CloseActionScreenEvent);
+ return;
+ }
+ var oppfile = this.lastOpportunityFileId;
+ if (oppfile == undefined || oppfile == '') {
+ this.showToast("璇蜂笂浼犺浠锋枃浠躲��","error");
+ this.dispatchEvent(new CloseActionScreenEvent);
+ return;
+ }
+
+ if (!confirm("涓�鏃︽彁浜ゆ璁板綍浠ュ緟鎵瑰噯锛屾牴鎹偍鐨勮缃偍鍙兘涓嶅啀鑳藉缂栬緫姝よ褰曟垨灏嗕粬浠庢壒鍑嗚繃绋嬩腑璋冨洖銆傛槸鍚︾户缁紵")) {
+ this.dispatchEvent(new CloseActionScreenEvent);
+ return;
+ }
+
+ updateForStockApplyButton({
+ recordId: this.recordId,
+ flag: true
+ }).then(result=>{
+ if(result){
+ this.showToast(result,"error");
+ this.dispatchEvent(new CloseActionScreenEvent);
+ return;
+ }
+ // 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);
+ submitProcess({
+ opportunityId: this.recordId
+ }).then(result=>{
+ if(result){
+ this.showToast(result,"error");
+ updateForStockApplyButton({
+ recordId: this.recordId,
+ flag: false
+ }).then(result=>{
+ if(result){
+ this.showToast(result,"error");
+ this.dispatchEvent(new CloseActionScreenEvent);
+ return;
+ }
+ this.IsLoading = false;
+ this.updateRecordView(this.recordId);
+ this.dispatchEvent(new CloseActionScreenEvent);
+ })
+
+ }else{
+ this.showToast("鎴愬姛","success");
+ 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/lexStockCancel/lexStockCancel.css b/force-app/main/default/lwc/lexStockCancel/lexStockCancel.css
new file mode 100644
index 0000000..af18c76
--- /dev/null
+++ b/force-app/main/default/lwc/lexStockCancel/lexStockCancel.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/lexStockCancel/lexStockCancel.html b/force-app/main/default/lwc/lexStockCancel/lexStockCancel.html
new file mode 100644
index 0000000..bf9cadc
--- /dev/null
+++ b/force-app/main/default/lwc/lexStockCancel/lexStockCancel.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/lexStockCancel/lexStockCancel.js b/force-app/main/default/lwc/lexStockCancel/lexStockCancel.js
new file mode 100644
index 0000000..a436a25
--- /dev/null
+++ b/force-app/main/default/lwc/lexStockCancel/lexStockCancel.js
@@ -0,0 +1,166 @@
+import { LightningElement,api, track, wire } from 'lwc';
+import {CurrentPageReference} from 'lightning/navigation';
+import { CloseActionScreenEvent } from 'lightning/actions';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+import LightningConfirm from 'lightning/confirm';
+import init from '@salesforce/apex/LexStockCancelController.init';
+import updateOppotunity from '@salesforce/apex/LexStockCancelController.updateOppotunity';
+import submitApprovalRequest from '@salesforce/apex/LexStockCancelController.submitApprovalRequest';
+export default class lexStockCancel extends LightningElement {
+ @api recordId;
+ IsLoading=true;
+ data;
+ @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.data=result;
+ this.cancelSubmit().then(res=>{
+ this.IsLoading=false;
+ this.dispatchEvent(new CloseActionScreenEvent());
+ });
+ }
+ }).catch(err=>{
+ console.log("error:");
+ console.log(err.message);
+ }).finally(()=>{
+
+ });
+ }
+
+
+
+ async cancelSubmit(){
+ console.log("222");
+ let reason = this.data.Stock_cancel_reason__c;
+ if (reason == null || reason == '') {
+ const event = new ShowToastEvent({
+ title: '鎻愮ず淇℃伅',
+ message:'蹇呴』濉啓鎾ら攢澶囪揣鐞嗙敱銆�'
+ });
+ this.dispatchEvent(event);
+ return;
+ }
+
+ // CHAN-BCS8T5 LHJ 20190604 Start
+ let stage = this.data.Whether_Upload_Question_Document__c;
+ if (stage == '0') {
+ const event = new ShowToastEvent({
+ title: "鎻愮ず淇℃伅",
+ message:'璇蜂笂浼犺川鐤戝嚱銆�'
+ });
+ this.dispatchEvent(event);
+ return;
+ }
+ // CHAN-BCS8T5 LHJ 20190604 End
+ console.log("333");
+ const resul = await LightningConfirm.open({
+ message: "涓�鏃︽彁浜ゆ璁板綍浠ュ緟鎵瑰噯锛屾牴鎹偍鐨勮缃偍鍙兘涓嶅啀鑳藉缂栬緫姝よ褰曟垨灏嗕粬浠庢壒鍑嗚繃绋嬩腑璋冨洖銆傛槸鍚︾户缁紵",
+ variant: 'headerless',
+ label: '鎻愮ず淇℃伅',
+ // setting theme would have no effect
+ });
+ console.log("444");
+ if (resul==false) {
+ return;
+ }
+ let flag=true;
+ console.log("555");
+ await updateOppotunity({recordId:this.recordId,stStatus:"鎾ら攢濉啓瀹屾瘯"}).then(res=>{
+ console.log(res);
+ if(res!=null&&res.success==false){
+ console.log("hhh26");
+ let messages ="";
+ flag=false;
+ messages=res.errors[0];
+ console.log("hhh26");
+ const event = new ShowToastEvent({
+ title: '鎻愮ず淇℃伅',
+ message:"鎿嶄綔澶辫触,鎻愮ず淇℃伅:"+messages
+ });
+ this.dispatchEvent(event);
+ return;
+ }
+ })
+ if(flag==false)return;
+ console.log("666");
+
+ // let rac = new sforce.SObject("Opportunity");
+ // rac.Id = "{!Opportunity.Id}";
+ // rac.Stock_apply_status__c = "鎾ら攢濉啓瀹屾瘯";
+ // let result = sforce.connection.update([rac]);
+ // let messages = getConnectDMLErrorMessages(result);
+ // if (messages.length > 0) {
+ // alert(messages.join("\n"));
+ // return;
+ // }
+ let ress;
+ await submitApprovalRequest({recordId:this.recordId}).then(res=>{
+ console.log(res);
+ ress=res;
+ })
+ console.log("777");
+ if (ress != null) {
+ // let back = new window.sforce.SObject("Opportunity");
+ // back.Id = "{!Opportunity.Id}";
+ // back.Stock_apply_status__c = "鎵瑰噯";
+ // let backResult = sforce.connection.update([back]);
+ // backMessages = getConnectDMLErrorMessages(backResult);
+ // if (backMessages.length > 0) {
+ // showTost("鎻愮ず淇℃伅",backMessages.join("\n"));
+ // return;
+ // }
+
+ // let errmsg = processResults[0].errors.message.toString();
+ // showTost("鎻愮ず淇℃伅",errmsg);
+
+ await updateOppotunity({recordId:this.recordId,stStatus: "鎵瑰噯"}).then(res=>{
+ console.log(res);
+ if(res!=null&&res.success==false){
+ let messages ="";
+ flag=false;
+ messages=res.errors[0];
+ const event = new ShowToastEvent({
+ title: '鎻愮ず淇℃伅',
+ message:"鎿嶄綔澶辫触,鎻愮ず淇℃伅:"+messages,
+ });
+ this.dispatchEvent(event);
+ return;
+ }
+ });
+ if(flag==false)return;
+ const event = new ShowToastEvent({
+ title: '鎻愮ず淇℃伅',
+ message:ress
+ });
+ this.dispatchEvent(event);
+ return;
+ }
+ // window.location.reload();
+ };
+
+
+ showTost(title,message){
+
+ }
+
+
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexStockCancel/lexStockCancel.js-meta.xml b/force-app/main/default/lwc/lexStockCancel/lexStockCancel.js-meta.xml
new file mode 100644
index 0000000..e1c0fef
--- /dev/null
+++ b/force-app/main/default/lwc/lexStockCancel/lexStockCancel.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lexStockCancel">
+ <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/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..aa88e1f
--- /dev/null
+++ b/force-app/main/default/lwc/lexSubmitForApproval/lexSubmitForApproval.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';
+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");
+ })
+ }
+}
\ 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.css b/force-app/main/default/lwc/lexSummonsCreat/lexSummonsCreat.css
new file mode 100644
index 0000000..ade7b53
--- /dev/null
+++ b/force-app/main/default/lwc/lexSummonsCreat/lexSummonsCreat.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/lexSummonsCreat/lexSummonsCreat.html b/force-app/main/default/lwc/lexSummonsCreat/lexSummonsCreat.html
new file mode 100644
index 0000000..442b103
--- /dev/null
+++ b/force-app/main/default/lwc/lexSummonsCreat/lexSummonsCreat.html
@@ -0,0 +1,912 @@
+<!-- sldsValidatorIgnore -->
+<!-- sldsValidatorIgnore -->
+<template>
+ <template if:true={isShowSpinner}>
+ <lightning-spinner alternative-text="Loading" size="large"></lightning-spinner>
+ </template>
+ <!-- 鎼滅储瀹㈡埛鍚� -->
+ <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>
+
+ <!-- 涓婁紶闄勪欢寮圭獥 -->
+ <template if:true={showAttPop}>
+ <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_small"
+ style="border: 1px solid #D4D4D4;">
+ <template if:true={showPopSpinner}>
+ <lightning-spinner size="medium" variant="brand"></lightning-spinner>
+ </template>
+ <div class="slds-modal__container">
+ <header class="slds-modal__header" style="background-color: #F3F3F3;">
+ <button style="" class="slds-button slds-button_icon slds-modal__close slds-button_icon-inverse"
+ title="Close" onclick={closePop}>
+ <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;">
+ <div class="slds-m-top_medium slds-m-bottom_x-large">
+ <div class="slds-p-around_medium lgc-bg">
+ <lightning-input type="file" label="闄勪欢涓婁紶"
+ accept=".xlsx, .xls, .csv, .png, .doc, .docx, .pdf"
+ onchange={attChange}></lightning-input>
+ </div>
+ <p>宸查�夋嫨鏂囦欢锛歿fileName}
+ <template if:true={attDelBtn}>
+ <a onclick={removeAtt}>绉婚櫎</a>
+ </template>
+ </p>
+ </div>
+ </div>
+ <footer class="slds-modal__footer">
+ <lightning-button style="margin-left: 10px;" variant="neutral" label="鍙栨秷"
+ onclick={closePop}></lightning-button>
+ <lightning-button style="margin-left: 10px;" variant="neutral" label="涓婁紶"
+ onclick={handleSave}></lightning-button>
+ </footer>
+ </div>
+ </section>
+ <div class="slds-backdrop slds-backdrop_open"></div>
+ </template>
+
+ <div class="outerBorderCss">
+ <div style="padding: 5px">
+ <template if:false={isShippingSales}>
+ <!-- 鎸夐挳 -->
+ <div class="borderCss">
+ <div style="padding: 10px">
+ <div lwc:dom="manual" class="resultDiv"></div>
+ <div draggable="false">
+ <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>
+ <template if:true={isSaveShow}>
+ <lightning-button label="淇濆瓨" onclick={saveConfirmJs}
+ style="width: 150px"></lightning-button>
+ </template>
+ </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>
+
+ <template if:true={isEditShow}>
+ <lightning-button label="缂栬緫鍑哄簱鍗�" onclick={EditConsumable}
+ style="width: 150px" disabled={isEditDisabled}></lightning-button>
+ </template>
+ </td>
+
+ <td>
+ <template if:true={isDeliveryShow}>
+ <lightning-button label="鍑鸿揣/閿�鍞�" onclick={GoodsDeliveryJs}
+ style="width: 150px;" disabled={isDeliveryDisabled}></lightning-button>
+ </template>
+ </td>
+
+ <td>
+
+ <template if:true={isOpenToInvoiceShow}>
+ <lightning-button label="寮�绁�" onclick={openToInvoiceJs} style="width: 150px"
+ disabled={isOpenToInvoiceDisabled}></lightning-button>
+ </template>
+ </td>
+ </tr>
+ <tr>
+ <td></td>
+
+ <td>
+
+ <template if:true={isPraseToPDFShow}>
+ <lightning-button label="鎵撳嵃鎸囩ず鍗�" onclick={PraseToPDFJs} style="width: 150px"
+ disabled={isPraseToPDFDisabled}></lightning-button>
+ </template>
+ </td>
+
+ <td>
+
+ <template if:true={isOpenReportShow}>
+ <lightning-button label="鏄剧ず鏄庣粏" onclick={openReportJs} style="width: 150px"
+ disabled={isOpenReportDisabled}></lightning-button>
+ </template>
+ </td>
+ <td>
+
+ <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}>
+ <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}
+ onload={handleLoad}>
+ <!-- 鍑哄簱鍗曞彿 鍑哄簱鍗曠姸鎬� -->
+ <lightning-layout multiple-rows="true">
+ <template if:true={isSummonsFlag}>
+ <lightning-layout-item size="1"></lightning-layout-item>
+
+ <lightning-layout-item size="4">
+ <lightning-output-field field-name="Name"
+ class="hehe-layoutItem"></lightning-output-field>
+ </lightning-layout-item>
+
+ <lightning-layout-item size="1"></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>
+ </template>
+ </lightning-layout>
+
+ <!-- 鐩殑 寮�绁ㄧ姸鎬� -->
+ <lightning-layout multiple-rows="true">
+ <lightning-layout-item size="1"></lightning-layout-item>
+
+ <lightning-layout-item class="hehe-layoutItem" size="4">
+ <lightning-output-field
+ field-name="SummonsForDirction__c"></lightning-output-field>
+ </lightning-layout-item>
+
+ <lightning-layout-item size="1"></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>
+
+ <!-- 浜岀骇缁忛攢鍟� -->
+ <template if:true={isSummonsForDirctionTwoShow}>
+ <lightning-layout multiple-rows="true">
+ <lightning-layout-item size="1"></lightning-layout-item>
+
+ <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 size="1"></lightning-layout-item>
+
+ <lightning-layout-item class="hehe-layoutItem" size="4">
+ <lightning-output-field class="hideHelpText"
+ field-name="ShipmentAccount__c"></lightning-output-field>
+ </lightning-layout-item>
+
+ <lightning-layout-item size="1"></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>
+
+ <!-- 绉戝 鍑哄簱閲戦 -->
+ <lightning-layout multiple-rows="true">
+ <lightning-layout-item size="1"></lightning-layout-item>
+
+ <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 size="1"></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>
+
+ <!-- 娌℃湁纭畾浠锋牸 -->
+ <lightning-layout multiple-rows="true">
+ <lightning-layout-item size="1"></lightning-layout-item>
+
+ <lightning-layout-item class="hehe-layoutItem" size="4">
+ <lightning-output-field
+ field-name="NoConfirmedPrice__c"></lightning-output-field>
+ </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} onload={handleLoad}>
+ <!-- 鍑哄簱鍗曞彿 鍑哄簱鍗曠姸鎬� -->
+ <lightning-layout multiple-rows="true">
+ <template if:true={isSummonsFlag}>
+ <lightning-layout-item size="1"></lightning-layout-item>
+
+ <lightning-layout-item class="hehe-layoutItem" size="4">
+ <lightning-output-field field-name="Name"></lightning-output-field>
+ </lightning-layout-item>
+
+ <lightning-layout-item size="1"></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>
+ </template>
+ </lightning-layout>
+
+ <!-- 鐩殑 浜岀骇缁忛攢鍟� -->
+ <lightning-layout multiple-rows="true">
+ <lightning-layout-item size="1"></lightning-layout-item>
+
+ <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 size="1"></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>
+
+ <!-- 瀹㈡埛鍚� 缁忛攢鍟嗗綍鍏� -->
+ <lightning-layout multiple-rows="true">
+ <lightning-layout-item size="1"></lightning-layout-item>
+
+ <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 size="1"></lightning-layout-item>
+
+ <lightning-layout-item class="hehe-layoutItem" size="4">
+ <template if:true={isMutualTransferGoods}>
+ <c-lex-lookup onsearch={handleSearch}
+ onselectionchange={handleSelectionChange} label="缁忛攢鍟�(褰曞叆)"
+ variant="label-inline" placeholder="鎼滅储缁忛攢鍟�"
+ onisdisabledfordealertext={isDisabledForDealerText}
+ 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>
+
+ <!-- 绉戝 鎬婚噾棰� -->
+ <lightning-layout multiple-rows="true">
+ <lightning-layout-item size="1"></lightning-layout-item>
+
+ <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 size="1"></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>
+
+ <!-- 娌℃湁纭畾浠锋牸 -->
+ <lightning-layout multiple-rows="true">
+ <lightning-layout-item size="1"></lightning-layout-item>
+
+ <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>
+ </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}
+ onload={handleLoad2}>
+ <!-- 鍑哄簱鍗曞彿 鍑哄簱鍗曠姸鎬� -->
+ <lightning-layout multiple-rows="true">
+ <template if:true={isSummonsFlag}>
+ <lightning-layout-item size="1"></lightning-layout-item>
+
+ <lightning-layout-item size="4">
+ <lightning-output-field field-name="Name"
+ class="hehe-layoutItem"></lightning-output-field>
+ </lightning-layout-item>
+
+ <lightning-layout-item size="1"></lightning-layout-item>
+
+ <lightning-layout-item size="4">
+ <lightning-output-field field-name="SummonsStatus_c__c"
+ class="hehe-layoutItem"></lightning-output-field>
+ </lightning-layout-item>
+ </template>
+ </lightning-layout>
+
+ <!-- 鐩殑 寮�绁ㄧ姸鎬� -->
+ <lightning-layout multiple-rows="true">
+ <lightning-layout-item size="1"></lightning-layout-item>
+
+ <lightning-layout-item size="4">
+ <lightning-output-field field-name="SummonsForDirction__c"
+ class="hehe-layoutItem"></lightning-output-field>
+ </lightning-layout-item>
+
+ <lightning-layout-item size="1"></lightning-layout-item>
+
+ <lightning-layout-item size="4">
+ <lightning-output-field field-name="Billed_Status__c"
+ class="hehe-layoutItem"></lightning-output-field>
+ </lightning-layout-item>
+ </lightning-layout>
+
+ <!-- 浜岀骇缁忛攢鍟� -->
+ <template if:true={isSummonsForDirctionTwoShow}>
+ <lightning-layout multiple-rows="true">
+ <lightning-layout-item size="1"></lightning-layout-item>
+
+ <lightning-layout-item size="4">
+ <lightning-output-field field-name="Order_Dealer_Info__c"
+ class="hehe-layoutItem"></lightning-output-field>
+ </lightning-layout-item>
+ </lightning-layout>
+ </template>
+
+ <!-- 瀹㈡埛鍚� 鍙戠エ-->
+ <lightning-layout multiple-rows="true">
+ <lightning-layout-item size="1"></lightning-layout-item>
+
+ <lightning-layout-item size="4" class="hehe-layoutItem">
+ <lightning-output-field class="hideHelpText"
+ field-name="ShipmentAccount__c"></lightning-output-field>
+ </lightning-layout-item>
+
+ <lightning-layout-item size="1"></lightning-layout-item>
+
+ <template if:true={isConInvoiceShow}>
+ <lightning-layout-item size="4">
+ <lightning-input-field data-field={ConInvoice_Code__c}
+ onchange={invoiceChange} field-name="ConInvoice_Code__c"
+ class="hehe-layoutItem"></lightning-input-field>
+ </lightning-layout-item>
+ </template>
+ </lightning-layout>
+
+ <!-- 绉戝 鍑哄簱閲戦 -->
+ <lightning-layout multiple-rows="true">
+ <lightning-layout-item size="1"></lightning-layout-item>
+
+ <lightning-layout-item size="4">
+ <lightning-output-field field-name="Order_ForCustomerText__c"
+ class="hehe-layoutItem"></lightning-output-field>
+ </lightning-layout-item>
+
+ <lightning-layout-item size="1"></lightning-layout-item>
+
+ <lightning-layout-item size="4">
+ <lightning-output-field field-name="Shipment_total_amount__c"
+ class="hehe-layoutItem"></lightning-output-field>
+ </lightning-layout-item>
+ </lightning-layout>
+
+ <!-- 娌℃湁纭畾浠锋牸 -->
+ <lightning-layout multiple-rows="true">
+ <lightning-layout-item size="1"></lightning-layout-item>
+
+ <lightning-layout-item size="4">
+ <lightning-output-field field-name="NoConfirmedPrice__c"
+ class="hehe-layoutItem"></lightning-output-field>
+ </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 multiple-rows>
+ <lightning-layout-item padding="around-small" flexibility="auto">
+ <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-item>
+ <lightning-layout-item padding="around-small" flexibility="auto">
+ <div class="slds-grid slds-grid_vertical-align-center">
+ <div class="slds-form-element__label" style="width:70px">绗�3鍒嗙被</div>
+ <lightning-combobox name="progress" label="绗�3鍒嗙被" value={Category3}
+ variant="label-hidden" options={category3Options} onchange={dataChange}
+ data-field="Category3" style="min-width: 160px;"></lightning-combobox>
+ </div>
+ </lightning-layout-item>
+ <lightning-layout-item padding="around-small" flexibility="auto">
+ <div class="slds-grid slds-grid_vertical-align-center">
+ <div class="slds-form-element__label" style="width:70px">绗�4鍒嗙被</div>
+ <lightning-combobox name="progress" label="绗�4鍒嗙被" value={Category4}
+ variant="label-hidden" options={category4Options} onchange={dataChange}
+ data-field="Category4" style="min-width: 160px;"></lightning-combobox>
+ </div>
+
+ </lightning-layout-item>
+ <lightning-layout-item padding="around-small" flexibility="auto">
+ <div class="slds-grid slds-grid_vertical-align-center">
+ <div class="slds-form-element__label" style="width:70px">绗�5鍒嗙被</div>
+ <lightning-combobox name="progress" label="绗�5鍒嗙被" value={Category5}
+ variant="label-hidden" onchange={dataChange} data-field="Category5"
+ options={category5Options}
+ style="min-width: 160px;"></lightning-combobox>
+ </div>
+
+ </lightning-layout-item>
+ <template if:true={hasHosPro}>
+ <lightning-layout-item padding="around-small" flexibility="auto">
+ <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>
+ </template>
+
+ <lightning-layout-item padding="around-small" flexibility="auto">
+ <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" 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>
+ </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-lex-custom-lightning-datatable key-field="Id" data={data} columns={columns}
+ onunitchange={handleUnitChange} onshipmentnumber={handleShipmentNumber}
+ onshipmentunitprice={handleShipmentUnitPrice} onrowselection={getSelectedRows}
+ selected-rows={selectedRows} default-sort-direction={defaultSortDirection}
+ sorted-direction={sortDirection} sorted-by={sortedBy} onsort={onHandleSort}
+ style="word-wrap:break-word; word-break:break-all; ">
+ </c-lex-custom-lightning-datatable>
+ </template>
+ <c-paginator 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>
+
+ <template if:false={EditAble}>
+ <template if:true={showTable}>
+ <c-lex-custom-lightning-datatable hide-checkbox-column key-field="Id" data={editData}
+ columns={editColumns} onunitchange={handleUnitChange}
+ onshipmentnumber={handleShipmentNumber}
+ onshipmentunitprice={handleShipmentUnitPrice} onrowselection={getSelectedRows}
+ selected-rows={selectedRows} default-sort-direction={defaultSortDirection}
+ sorted-direction={sortDirection} sorted-by={sortedBy} onsort={onHandleSort}
+ style="word-wrap:break-word; word-break:break-all; ">
+ </c-lex-custom-lightning-datatable>
+ <c-paginator onprevious={editHandlePrevious} onnext={editHandleNext}
+ onpageschange={editHandlePageschange} onfirst={editHandleFirst}
+ onlast={editHandleLast} page-size-options={pageSizeOptions}
+ previous-button-disabled={previousButtonDisabled}
+ next-button-disabled={nextButtonDisabled} record-start={recordStart}
+ record-end={recordEnd} total-records={totalRecords}></c-paginator>
+ </template>
+ </template>
+
+ <template if:true={isEditShowSpinner}>
+ <lightning-spinner alternative-text="Uploading now"></lightning-spinner>
+ </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-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-item size="5">
+ </lightning-layout-item>
+ <lightning-layout-item padding="around-small">
+ <lightning-button label='涓婁紶闄勪欢' onclick={uploadOrder}></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-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}
+ style="margin-top:-10px"></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 if:true={isShowInformation}>
+ <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-record-edit-form object-api-name="Consumable_order__c"
+ record-id={cocId} onload={handleLoad2}>
+ <lightning-layout multiple-rows="true">
+ <lightning-layout-item size="3" padding="around-small">
+ <!-- <lightning-output-field field-name="Name"></lightning-output-field> -->
+ <div class="slds-grid slds-grid_vertical-align-center">
+ <div class="slds-form-element__label" style="padding: 0px;">
+ 鍑哄簱鍗曞彿锛�</div>
+ <lightning-output-field field-name="Name"
+ variant="label-hidden"></lightning-output-field>
+ </div>
+ </lightning-layout-item>
+ <lightning-layout-item size="4" padding="around-small">
+ <!-- <lightning-output-field
+ field-name="ShipmentAccount__c" class="hideHelpText"></lightning-output-field> -->
+ <div class="slds-grid slds-grid_vertical-align-center hehe-layoutItem">
+ <div class="slds-form-element__label" style="padding: 0px;">
+ 瀹㈡埛鍚嶏細</div>
+ <lightning-output-field field-name="ShipmentAccount__c"
+ variant="label-hidden"></lightning-output-field>
+ </div>
+ </lightning-layout-item>
+ <lightning-layout-item size="2" padding="around-small">
+ <!-- <lightning-output-field
+ field-name="Order_ForCustomerText__c"></lightning-output-field> -->
+ <div class="slds-grid slds-grid_vertical-align-center">
+ <div class="slds-form-element__label" style="padding: 0px;">
+ 绉戝锛�</div>
+ <lightning-output-field
+ field-name="Order_ForCustomerText__c"
+ variant="label-hidden"></lightning-output-field>
+ </div>
+ </lightning-layout-item>
+ <lightning-layout-item size="2" padding="around-small">
+ <!-- <lightning-output-field
+ field-name="SummonsForDirction__c"></lightning-output-field> -->
+ <div class="slds-grid slds-grid_vertical-align-center">
+ <div class="slds-form-element__label" style="padding: 0px;">
+ 鐩殑锛�</div>
+ <lightning-output-field field-name="SummonsForDirction__c"
+ variant="label-hidden"></lightning-output-field>
+ </div>
+ </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 size="1"></lightning-layout-item>
+ <lightning-layout-item padding="around-small">
+ <!-- <lightning-textarea name="Barcode" label="BarCode鍙�"
+ onchange={dataChange} variant="label-inline"
+ data-field="Barcode"
+ value={Barcode}></lightning-textarea> -->
+
+ <div class="slds-grid">
+ <div class="slds-form-element__label">BarCode鍙�</div>
+ <lightning-textarea name="Barcode" label="BarCode鍙�"
+ onchange={dataChange} variant="label-hidden"
+ data-field="Barcode" value={Barcode}
+ style="min-width: 400px;"></lightning-textarea>
+ </div>
+ </lightning-layout-item>
+ <lightning-layout-item padding="around-small">
+ <div class="slds-grid slds-grid_vertical-align-center">
+ <div class="slds-form-element__label">
+ <lightning-button label="纭"
+ onclick={SalesearchProductJs}></lightning-button>
+ </div>
+ </div>
+ </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
+ style="word-wrap:break-word; word-break:break-all; ">
+ </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
+ style="word-wrap:break-word; word-break:break-all; ">
+ </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>
+ </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSummonsCreat/lexSummonsCreat.js b/force-app/main/default/lwc/lexSummonsCreat/lexSummonsCreat.js
new file mode 100644
index 0000000..d638229
--- /dev/null
+++ b/force-app/main/default/lwc/lexSummonsCreat/lexSummonsCreat.js
@@ -0,0 +1,2336 @@
+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 isEditShowSpinner = false;
+ @track showResults = true;
+ @track results = [
+ {
+ Id: "1",
+ Name: "z",
+ },
+ {
+ Id: "2",
+ Name: "h",
+ },
+ {
+ Id: "3",
+ Name: "j",
+ },
+ ];
+
+ @track COLS = [
+ {
+ label: "Account Name",
+ type: "customName",
+ typeAttributes: {
+ accountName: { fieldName: "Name" },
+ },
+ },
+ ];
+ @track columns = [
+ {
+ label: "娑堣�楀搧鍚嶇О",
+ fieldName: "Name__c",
+ hideDefaultActions: true,
+ wrapText: true,
+ initialWidth: 150,
+ sortable: true
+ },
+ {
+ label: "瑙勬牸",
+ fieldName: "packinglist",
+ //initialWidth : 50,
+ wrapText: true,
+ hideDefaultActions: true,
+ },
+ {
+ label: "CFDA鐘舵��",
+ fieldName: "SFDA_Status__c",
+ //initialWidth : 100,
+ wrapText: true,
+ hideDefaultActions: true,
+ },
+ {
+ label: "娉ㄥ唽璇佺紪鐮佸彿",
+ fieldName: "approbation_No",
+ //initialWidth : 150,
+ wrapText: true,
+ hideDefaultActions: true,
+ },
+ {
+ label: "娉ㄥ唽璇佹晥鏈�",
+ //initialWidth : 100,
+ 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",
+ //initialWidth : 100,
+ wrapText: true,
+ hideDefaultActions: true,
+ sortable: true,
+ },
+ {
+ label: "绗�5鍒嗙被",
+ fieldName: "Category5__c",
+ //initialWidth : 100,
+ wrapText: true,
+ hideDefaultActions: true,
+ sortable: true,
+ },
+ {
+ label: "鍗曚綅",
+ type: "customUnit",
+ //initialWidth : 100,
+ hideDefaultActions: true,
+ typeAttributes: {
+ unitValue: { fieldName: "unitValue" },
+ unitOptions: { fieldName: "unitOptions" },
+ recordId: { fieldName: "recordId" },
+ },
+ },
+ {
+ label: "鍑鸿揣鏁伴噺",
+ type: "customShipment",
+ //initialWidth : 150,
+ hideDefaultActions: true,
+ typeAttributes: {
+ recordId: { fieldName: "recordId" },
+ shipmentNumber: { fieldName: "shipmentNumber" },
+ },
+ },
+ {
+ label: "鍑鸿揣鍗曚环(鍏�)",
+ type: "customShipmentUnitPrice",
+ //initialWidth : 150,
+ hideDefaultActions: true,
+ typeAttributes: {
+ recordId: { fieldName: "recordId" },
+ shippingUnitPrice: { fieldName: "shippingUnitPrice" },
+ },
+ },
+ {
+ label: "鍑鸿揣閲戦(鍏�)",
+ type: "customShipmentAmount",
+ //initialWidth : 120,
+ hideDefaultActions: true,
+ typeAttributes: {
+ shipmentAmount: { fieldName: "shipmentAmount" },
+ },
+ },
+ {
+ label: "鏈夋晥鏈熷唴搴撳瓨(鐩�)",
+ fieldName: "Boxnumber",
+ //initialWidth : 120,
+ wrapText: true,
+ hideDefaultActions: true,
+ },
+ {
+ label: "鏈夋晥鏈熷唴搴撳瓨(涓�)",
+ fieldName: "Piecenumber",
+ //initialWidth : 120,
+ wrapText: true,
+ hideDefaultActions: true,
+ },
+ ];
+ @track editColumns = [
+ {
+ label: "娑堣�楀搧鍚嶇О",
+ fieldName: "Name__c",
+ hideDefaultActions: true,
+ initialWidth: 250,
+ wrapText: true,
+ sortable: true,
+ },
+ {
+ label: "瑙勬牸",
+ fieldName: "packinglist",
+ initialWidth: 50,
+ hideDefaultActions: true,
+ },
+ {
+ label: "CFDA鐘舵��",
+ fieldName: "SFDA_Status__c",
+ initialWidth: 100,
+ hideDefaultActions: true,
+ },
+ {
+ label: "娉ㄥ唽璇佺紪鐮佸彿",
+ fieldName: "approbation_No",
+ initialWidth: 150,
+ hideDefaultActions: true,
+ },
+ {
+ label: "娉ㄥ唽璇佹晥鏈�",
+ initialWidth: 100,
+ fieldName: "expiration_Date",
+ hideDefaultActions: true,
+ },
+ {
+ label: "绗�3鍒嗙被",
+ fieldName: "Category3__c",
+ initialWidth: 100,
+ hideDefaultActions: true,
+ sortable: true,
+ },
+ {
+ label: "绗�4鍒嗙被",
+ fieldName: "Category4__c",
+ initialWidth: 100,
+ hideDefaultActions: true,
+ sortable: true,
+ },
+ {
+ label: "绗�5鍒嗙被",
+ fieldName: "Category5__c",
+ initialWidth: 100,
+ hideDefaultActions: true,
+ sortable: true,
+ },
+ {
+ label: "鍗曚綅",
+ fieldName: "Box_Piece__c",
+ initialWidth: 100,
+ hideDefaultActions: true,
+ },
+ {
+ label: "鍑鸿揣鏁伴噺",
+ fieldName: "Shipment_Count__c",
+ initialWidth: 150,
+ hideDefaultActions: true,
+ },
+ {
+ label: "鍑鸿揣鍗曚环(鍏�)",
+ fieldName: "Shipment_amount__c",
+ type: "number",
+ typeAttributes: {
+ minimumFractionDigits: 2,
+ },
+ initialWidth: 150,
+ hideDefaultActions: true,
+ },
+ ];
+ @track editData = [];
+
+ @track hospitalList = [];
+ @track 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,
+ },
+ },
+ ];
+
+ @track accountid = "";
+ @track consumableproductdetailsRecords = [];
+ @track SummonsStatus = "";
+ @track ESetid = "";
+ @track statusEdit = "";
+ @track cocLwc = {};
+ @track selectedRows = [];
+ @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,
+ initialWidth: 240
+ },
+ {
+ 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,
+ initialWidth: 500
+ },
+ {
+ 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;
+ @track isEditShow = false;
+ @track isDeliveryShow = false;
+ @track isOpenToInvoiceShow = false;
+ @track isPraseToPDFShow = false;
+ @track isOpenReportShow = false;
+ @track isDeleteShow = false;
+ @track isFileShow = false;
+ @track isShippingSales = false;
+ @track isSales = false;
+ @track isBarcode = true;
+ @track isShowInformation = true;
+ @track isShowOutboundProductDetails = false;
+ @track showAttPop = false;
+ @track showPopSpinner = false;
+
+ //disable鎸夐挳
+ @track isEditDisabled = false;
+ @track isDeliveryDisabled = false;
+ @track isOpenToInvoiceDisabled = true;
+ @track isPraseToPDFDisabled = true;
+ @track isOpenReportDisabled = true;
+ @track isDeleteDisabled = false;
+
+ //鍑哄簱鍗曚俊鎭�
+ @track cocId = "";
+ @track EditAble = false;
+ @track summonsStatusPriceNotDetermined = false;
+ @track isSummonsForDirctionTwoShow = false;
+ @track isSummonsFlag = false;
+ @track isConInvoiceShow = false;
+ @track sumPrice = "";
+ @track isSearchShow = false;
+ @track Existarrive = false;
+ @track Category3 = "";
+ @track category3Options = [];
+ @track Category4 = "";
+ @track category4Options = [];
+ @track Category5 = "";
+ @track category5Options = [];
+ //鍙戠エid
+ @track invoiceId = '';
+
+ //浜岀骇缁忛攢鍟�
+ @track secondaryDistributor = "";
+ @track secondaryDistributorOptions = [];
+ @track isDisabledSecondaryDistributor = false;
+
+ //缁忛攢鍟嗗綍鍏�
+ @track ForDealerText = "";
+ @track isDisabledForDealerText = false;
+
+ //瀹㈡埛鍚�
+ @track isModalOpen = false;
+ @track HospitalName = "";
+ @track searchHospitalName = "";
+ @track OECId = "";
+ @track isDisabledHospitalName = false;
+
+ //绉戝
+ @track ForCustomerText = "";
+ @track isDisabledForCustomerText = false;
+
+ //娌℃湁纭畾浠锋牸
+ @track NoConfirmedPrice = false;
+
+ //娑堣�楀搧鍚嶇О
+ @track consumableName = "";
+
+ @track agencyProType = "";
+ @track accountName = "";
+ @track userWorkLocation = "";
+ @track OutPattern__c = false;
+ @track outOutPattern = "";
+
+ //鍑哄簱鍗曟槑缁�
+ @track showTable = false;
+ @track data = [];
+ @track isSelectShow = false;
+ @track hidecheckboxcolumn = false;
+ @track is345Show = false;
+ @track arriveorder = "";
+ @track hasHosPro = false;
+ @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;
+
+ //鍒嗛〉start
+ //@track sortBy = "";
+ //@track sortDirection = "asc";
+ defaultSortDirection = 'asc';
+ sortDirection = 'asc';
+ sortedBy;
+ @track pageSize = 5;
+ error;
+ records;
+ currentPageToken = 0;
+ nextPageToken = this.pageSize;
+ @track totalRecords = 0;
+ @track loader = false;
+ @track pageNumber = 1;
+ @track paginationVisibility = false;
+ @track totalPages = 1;
+ pageSizeOptions = [5, 10, 25, 50, 75, 100];
+ @track recordStart = 0;
+ @track recordEnd = 0;
+ //end
+ @track SearchDone = '';
+
+ //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);
+ }
+ }
+
+ //鑾峰彇閾炬帴鍙傛暟
+ 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() {
+ 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,
+ statusEdit: this.statusEdit,
+ pageSizeLWC: this.pageSize,
+ pageTokenLWC: this.currentPageToken
+ }).then((r) => {
+ r = JSON.parse(JSON.stringify(r));
+ console.log("r = " + JSON.stringify(r));
+
+ if (r.status == "Success") {
+
+ //鍒嗛〉
+ console.log('r.entity.paginatedAccounts = ' + JSON.stringify(r.entity.paginatedAccounts));
+ this.nextPageToken = r.entity.paginatedAccounts.nextPageToken;
+ this.totalRecords = r.entity.paginatedAccounts.totalRecords;
+ this.recordStart = r.entity.paginatedAccounts.recordStart;
+ this.recordEnd = r.entity.paginatedAccounts.recordEnd;
+ this.totalPages = Math.ceil(r.entity.paginatedAccounts.totalRecords / this.pageSize);
+ console.log('this.totalPages = ' + this.totalPages);
+
+
+ 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);
+ this.accountid = r.entity.accountid;
+ 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;
+ 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) {
+ let object = {};
+ object["label"] = r.entity.categoryOptionMap[key];
+ object["value"] = key;
+ this.category3Options.push(object);
+ }
+ console.log("this.category3Options = " + JSON.stringify(this.category3Options));
+ //绗�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);
+ }
+ console.log("this.category5Options = " + this.category5Options);
+
+ this.data = r.entity.pageRecords;
+ this.editData = r.entity.pageRecords;
+ console.log("this.data start = " + JSON.stringify(this.data));
+ if (this.EditAble) {
+ for (var i in this.data) {
+ let unitOptions = [];
+ for (var key in this.data[i].boxorpieceMap) {
+ let unitOption = {};
+ unitOption["label"] = this.data[i].boxorpieceMap[key];
+ unitOption["value"] = key;
+ unitOptions.push(unitOption);
+ }
+ 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.0;
+ //this.data[i]["shipmentNumber"] = this.data[i].orderdetails1["Shipment_Count__c"] == 0 ? '' : this.data[i].orderdetails1["Shipment_Count__c"];
+ //this.data[i]["shippingUnitPrice"] = this.data[i].orderdetails1["Delivery_List_RMB__c"] == 0 ? '' : this.data[i].orderdetails1["Delivery_List_RMB__c"];
+ 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;
+
+ if (this.data[i]['check']) {
+ this.selectedRows.push(this.data[i].Id);
+ }
+ }
+ } else {
+ for (var i in this.editData) {
+ this.editData[i]["unitValue"] = this.editData[i]["unitValue"];
+ this.editData[i]["InvoiceProNot_count__c"] = this.editData[i].orderdetails1.InvoiceProNot_count__c;
+ this.editData[i]["RrturnPro_count__c"] = this.editData[i].orderdetails1.RrturnPro_count__c;
+ this.editData[i]["Invoiced_Procount__c"] = this.editData[i].orderdetails1.Invoiced_Procount__c;
+ this.editData[i]["shipmentNumber"] = this.editData[i].orderdetails1["Shipment_Count__c"];
+ this.editData[i]["shippingUnitPrice"] = this.editData[i].orderdetails1["Delivery_List_RMB__c"];
+
+ this.editData[i]["recordId"] = this.editData[i].Prod.Id;
+ this.editData[i]["Id"] = this.editData[i].Prod.Id;
+ this.editData[i]["Name__c"] = this.editData[i].Prod.Name__c;
+ this.editData[i]["SFDA_Status__c"] = this.editData[i].Prod.SFDA_Status__c;
+ this.editData[i]["Category3__c"] = this.editData[i].Prod.Category3__c;
+ this.editData[i]["Category4__c"] = this.editData[i].Prod.Category4__c;
+ this.editData[i]["Category5__c"] = this.editData[i].Prod.Category5__c;
+ this.editData[i]["Box_Piece__c"] = this.editData[i].orderdetails1.Box_Piece__c;
+ this.editData[i]["shipmentAmount"] = this.editData[i].orderdetails1.Shipment_amount__c;
+ this.editData[i]["Shipment_amount__c"] = this.editData[i].orderdetails1.Shipment_amount__c;
+ this.editData[i]["Shipment_Count__c"] = this.editData[i].orderdetails1.Shipment_Count__c;
+ }
+ }
+
+ console.log("this.data = " + JSON.stringify(this.data));
+ //show
+ if (r.entity.EditDelCommitBtnDisabled || r.entity.EditAble) {
+ this.isSaveShow = true;
+ } else {
+ this.isEditShow = true;
+ this.isDeliveryShow = true;
+ this.isOpenToInvoiceShow = true;
+ this.isPraseToPDFShow = true;
+ this.isOpenReportShow = true;
+ this.isDeleteShow = true;
+ }
+
+ this.Existarrive = r.entity.Existarrive;
+
+ console.log("this.EditAble = " + this.EditAble);
+ this.hasHosPro = r.entity.hasHosPro;
+ //disable
+
+ if (Object.values(r.entity.coc).length > 0) {
+ this.cocLwc = r.entity.coc;
+ 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 == "宸插畬鎴�") {
+ this.isEditDisabled = true;
+ }
+ 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 != "浜掔浉璋冭揣"
+ ) {
+ this.isOpenToInvoiceDisabled = false;
+ }
+ 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 == "宸插畬鎴�"
+ ) {
+ this.isOpenReportDisabled = false;
+ }
+ 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.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;
+ //濡傛灉涓嶆樉绀�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);
+ }
+ }
+ 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.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 == "绗�5鍒嗙被") {
+ this.editColumns.splice(i, 1);
+ }
+ }
+ }
+ //濡傛灉EditAble==false锛屽垹闄� 鍑鸿揣閲戦(鍏�) 鏈夋晥鏈熷唴搴撳瓨(鐩�) 鏈夋晥鏈熷唴搴撳瓨(涓�) 3鍒� 灞曠ず 杩樻病鍙戠エ鏁伴噺 杩斿搧鏁伴噺 宸插彂绁ㄦ暟閲�
+ //type : "number",
+ // typeAttributes:{
+ // minimumFractionDigits:2,
+ // },
+ if (!this.EditAble) {
+ let object1 = {
+ label: this.InvoiceProNotLabel,
+ fieldName: "InvoiceProNot_count__c",
+ type: "number",
+ typeAttributes: {
+ minimumFractionDigits: 2,
+ },
+ hideDefaultActions: true,
+ };
+ let object2 = {
+ label: this.RrturnProLabel,
+ fieldName: "RrturnPro_count__c",
+ hideDefaultActions: true,
+ };
+ let object3 = {
+ label: this.InvoicedLabel,
+ fieldName: "Invoiced_Procount__c",
+ type: "number",
+ typeAttributes: {
+ minimumFractionDigits: 2,
+ },
+ 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) {
+ let object1 = {
+ label: "鍖婚櫌鐗逛环",
+ fieldName: "hospitalSpecialOffer",
+ type: 'boolean',
+ 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) {
+ let object = {};
+ object["label"] = r.entity.provinceOptsMap[key];
+ object["value"] = key;
+ this.secondaryDistributorOptions.push(object);
+ }
+ for (var key in r.entity.outOutPatternOptionMap) {
+ let object = {};
+ object["label"] = r.entity.outOutPatternOptionMap[key];
+ object["value"] = key;
+ this.outOutPatternOptionList.push(object);
+ }
+ console.log(
+ "this.secondaryDistributorOptions = " +
+ JSON.stringify(this.secondaryDistributorOptions)
+ );
+ this.HospitalName = r.entity.HospitalName;
+ this.sumPrice = r.entity.sumPrice.toFixed(2) + "鍏�";
+ this.isShowSpinner = false;
+ this.showTable = true;
+ console.log("ESetid = " + this.ESetid);
+ } else {
+ console.log("r = " + JSON.stringify(r));
+ this.showToast("Error", r.msg);
+ }
+ }).catch((error) => {
+ console.log("error = " + JSON.stringify(error));
+ });
+ }
+
+ ChangeDirction(event) {
+ let value = event.target.value;
+ this.summonsForDirction = value;
+ this.cocLwc["SummonsForDirction__c"] = value;
+ console.log("閫夋嫨浜� = " + value);
+ switch (value) {
+ case "鐩存帴閿�鍞粰鍖婚櫌":
+ this.isDisabledHospitalName = false;
+ this.isDisabledForCustomerText = false;
+ this.secondaryDistributor = "";
+ this.ForDealerText = "";
+ this.isDisabledForDealerText = true;
+ this.isDisabledSecondaryDistributor = true;
+ this.isMutualTransferGoods = false;
+ 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;
+ }
+ }
+
+ dataChange(event) {
+ let fieldName = event.target.getAttribute("data-field");
+ let value = event.detail.value;
+ console.log("fieldName = " + fieldName + " value = " + value);
+ switch (fieldName) {
+ case "summonsForDirction":
+ this.summonsForDirction = value;
+ break;
+ case "secondaryDistributor":
+ this.secondaryDistributor = value;
+ break;
+ case "HospitalName":
+ this.HospitalName = value;
+ break;
+ case "ForDealerText":
+ this.ForDealerText = value;
+ this.cocLwc["Order_ForDealerText__c"] = value;
+ break;
+ case "ForCustomerText":
+ this.cocLwc["Order_ForCustomerText__c"] = value;
+ this.ForCustomerText = value;
+ break;
+ case "sumPrice":
+ this.sumPrice = value.toFixed(2);
+ 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":
+ this.Category3 = value;
+ //璋冪敤鍚庡彴鏄剧ず绗洓浜斿垎绫�
+ this.showAllCate();
+ if (this.Category3 == '') {
+ this.Category4 = '';
+ this.Category5 = '';
+ }
+ break;
+ case "Category4":
+ this.Category4 = value;
+ //璋冪敤鍚庡彴鏄剧ず绗簲鍒嗙被
+ this.showCate();
+ if (this.Category4 == '') {
+ this.Category5 = '';
+ }
+ break;
+ case "Category5":
+ this.Category5 = value;
+ break;
+ case "searchHospitalName":
+ this.searchHospitalName = value;
+ 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;
+ this.isEditShowSpinner = false;
+ const event = new ShowToastEvent({
+ title: type,
+ variant: type,
+ message: msg,
+ });
+ this.dispatchEvent(event);
+ }
+
+ searchProductJs() {
+ this.isEditShowSpinner = true;
+ //this.showTable = false;
+ //鏌ヨ鏈夊摢浜涢�夋嫨浜嗙殑鐒跺悗check
+ const selectedRows = this.template.querySelector('c-lex-custom-lightning-datatable').getSelectedRows();
+ console.log('selectedRows = ' + 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;
+ }
+ }
+ }
+
+ 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));
+ 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,
+ pageSizeLWC: this.pageSize,
+ pageTokenLWC: this.currentPageToken
+ }).then((r) => {
+ r = JSON.parse(JSON.stringify(r));
+ console.log("r = " + JSON.stringify(r));
+ if (r.status == "Success") {
+
+ //鍒嗛〉
+ console.log('r.entity.paginatedAccounts = ' + JSON.stringify(r.entity.paginatedAccounts));
+ this.nextPageToken = r.entity.paginatedAccounts.nextPageToken;
+ this.totalRecords = r.entity.paginatedAccounts.totalRecords;
+ this.recordStart = r.entity.paginatedAccounts.recordStart;
+ this.recordEnd = r.entity.paginatedAccounts.recordEnd;
+ this.totalPages = Math.ceil(r.entity.paginatedAccounts.totalRecords / this.pageSize);
+ console.log('this.totalPages = ' + this.totalPages);
+
+
+ this.SearchDone = r.entity.SearchDone;
+ let tempData = [];
+ this.selectedRows = [];
+ tempData = r.entity.pageRecords;
+ for (var i in tempData) {
+ let unitOptions = [];
+ for (var key in tempData[i].boxorpieceMap) {
+ let unitOption = {};
+ unitOption["label"] = tempData[i].boxorpieceMap[key];
+ unitOption["value"] = key;
+ unitOptions.push(unitOption);
+ }
+ tempData[i]["unitOptions"] = unitOptions;
+ tempData[i]["unitValue"] = tempData[i]["unitValue"] == null ? unitOptions[0].value : tempData[i]["unitValue"];
+ if (this.EditAble) {
+ tempData[i].orderdetails1["Box_Piece__c"] = tempData[i].orderdetails1["Box_Piece__c"] == null ? unitOptions[0].value : tempData[i].orderdetails1["Box_Piece__c"];
+ tempData[i].orderdetails1["Shipment_Count__c"] = tempData[i].orderdetails1["Shipment_Count__c"] == null ? 0 : tempData[i].orderdetails1["Shipment_Count__c"];
+ tempData[i].orderdetails1["Delivery_List_RMB__c"] = tempData[i].orderdetails1["Delivery_List_RMB__c"] == null ? 0.0 : tempData[i].orderdetails1["Delivery_List_RMB__c"];
+ } else {
+ tempData[i]["InvoiceProNot_count__c"] =
+ tempData[i].orderdetails1.InvoiceProNot_count__c;
+ tempData[i]["RrturnPro_count__c"] =
+ tempData[i].orderdetails1.RrturnPro_count__c;
+ tempData[i]["Invoiced_Procount__c"] =
+ tempData[i].orderdetails1.Invoiced_Procount__c;
+ }
+ tempData[i]["shipmentNumber"] = tempData[i].orderdetails1["Shipment_Count__c"];
+ tempData[i]["shippingUnitPrice"] = tempData[i].orderdetails1["Delivery_List_RMB__c"];
+
+ tempData[i]["recordId"] = tempData[i].Prod.Id;
+ console.log('tempData[i]["hospitalSpecialOffer"] = ' + tempData[i]["hospitalSpecialOffer"])
+ if (tempData[i]["hospitalSpecialOffer"]) {
+ tempData[i]["Id"] = tempData[i].Prod.Id + 'ishos';
+ } else {
+ tempData[i]["Id"] = tempData[i].Prod.Id + 'nothos';
+ }
+ 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]["shipmentAmount"] = tempData[i].orderdetails1.Shipment_amount__c;
+ tempData[i]["Shipment_amount__c"] = tempData[i].orderdetails1.Shipment_amount__c;
+ tempData[i]["Shipment_Count__c"] = tempData[i].orderdetails1.Shipment_Count__c;
+
+ if (tempData[i]["shippingUnitPrice"] && tempData[i]["shipmentNumber"])
+ tempData[i]["shipmentAmount"] = this.amend(
+ tempData[i]["shipmentNumber"],
+ tempData[i]["shippingUnitPrice"],
+ "*"
+ );
+
+ if (tempData[i]['check']) {
+ this.selectedRows.push(tempData[i].Id);
+ }
+
+ }
+ this.data = tempData;
+ console.log("this.data = " + JSON.stringify(this.data));
+ console.log(" this.selectedRows = " + JSON.stringify(this.selectedRows));
+ //this.showTable = true;
+ this.isEditShowSpinner = false;
+ } else {
+ console.log("r = " + JSON.stringify(r));
+ this.showToast("Error", r.msg);
+ }
+ });
+ }
+
+ 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.OECId = row.Id;
+ this.HospitalName = row.Name;
+ console.log(
+ "this.OECId = " + this.OECId + " this.HospitalName = " + this.HospitalName
+ );
+ this.isModalOpen = false;
+ console.log("this.isModalOpen = " + this.isModalOpen);
+ }
+
+ clearAgencyI(event) {
+ this.HospitalName = event.target.value;
+ 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 != "") {
+ this.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;
+ }
+ }
+ if (ishos > 0) {
+ this.cocLwc["OutPattern__c"] = true;
+ } else {
+ this.cocLwc["OutPattern__c"] = false;
+ }
+ }
+
+ closeModal() {
+ this.isModalOpen = false;
+ }
+
+ 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) {
+ this.data[i].unitValue = unitDetail.data.unitValue;
+ this.data[i].orderdetails1["Box_Piece__c"] = unitDetail.data.unitValue;
+ }
+ }
+ console.log("this.data = " + JSON.stringify(this.data));
+ }
+
+ handleShipmentNumber(event) {
+ console.log("handleShipmentNumber");
+ const numberDetail = event.detail;
+ console.log("numberDetail = " + JSON.stringify(numberDetail));
+ let index = 0;
+ 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
+ );
+ }
+ }
+ this.ComputePrice(
+ index,
+ this.data[index].shipmentNumber,
+ this.data[index].shippingUnitPrice
+ );
+ }
+
+ 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) {
+ index = i;
+ this.data[i].shippingUnitPrice = Number(
+ priceDetail.data.shipmentunitprice
+ );
+ this.data[i].orderdetails1["Delivery_List_RMB__c"] = Number(
+ priceDetail.data.shipmentunitprice
+ );
+ }
+ }
+ 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.0;
+ this.data[index].shipmentAmount = shipmentAmount;
+ for (var i in this.data) {
+ if (this.data[i].shipmentAmount) sumPrice += this.data[i].shipmentAmount;
+ }
+ this.sumPrice = sumPrice.toFixed(2) + "鍏�";
+ //瀛樹笅閫夋嫨琛岋紝涓嶄細琚竻绌�
+ // if (this.selectedRows.indexOf(this.data[index].Id) == -1)
+ // this.selectedRows.push(this.data[index].Id);
+ // this.selectedRows = [];
+ // for (var i in this.data) {
+ // if (this.data[i].check) {
+ // this.selectedRows.push(this.data[i].Id);
+ // }
+ // }
+ this.data = [...this.data];
+ this.selectedRows = [...this.selectedRows]
+ 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;
+ //瑙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));
+ //
+ console.log(step);
+ switch (symbol) {
+ case "+":
+ result = (num1 * step + num2 * step) / step;
+ break;
+ case "-":
+ result = (num1 * step - num2 * step) / step;
+ break;
+ case "*":
+ result = (num1 * step * (num2 * step)) / step / step;
+ break;
+ case "/":
+ result = (num1 * step) / (num2 * step);
+ break;
+ default:
+ break;
+ }
+ return result;
+ }
+
+ getSelectedRows(event) {
+ let selectedRowsEvent = event.detail.selectedRows;
+ console.log('selectedRowsEvent = ' + JSON.stringify(selectedRowsEvent))
+ this.selectedRows = [];
+ for (var i in selectedRowsEvent) {
+ this.selectedRows.push(selectedRowsEvent[i].Id)
+ }
+ // for (var i in this.data) {
+ // for (var j in selectedRowsEvent) {
+ // if (this.data[i].Id == selectedRowsEvent[j].Prod.Id) {
+ // this.ComputePrice(
+ // i,
+ // this.data[i].shipmentNumber,
+ // this.data[i].shippingUnitPrice
+ // );
+ // }
+ // }
+ // }
+ // this.ComputePrice(
+ // index,
+ // this.data[index].shipmentNumber,
+ // this.data[index].shippingUnitPrice
+ // );
+ // 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) {
+ // if (this.data[i].Id == selectedRows[j].Id) {
+ // this.data[i]["check"] = true;
+ // }
+ // }
+ // }
+ }
+
+ saveConfirmJs() {
+ let msg = "鍑哄簱浠锋牸浠呭彲鎿嶄綔涓�娆″彉鏇达紝淇濆瓨鍚庡皢鏃犳硶淇敼銆俓n\n璇风‘璁わ紒";
+ if (this.SummonsStatus == "浠锋牸鏈畾") {
+ if (confirm(msg) == true) {
+ this.saveConfirm();
+ }
+ } else {
+ this.saveConfirm();
+ }
+ }
+
+ saveConfirm() {
+ this.isShowSpinner = true;
+
+ //鏌ヨ鏈夊摢浜涢�夋嫨浜嗙殑鐒跺悗check
+ const selectedRows = this.template.querySelector('c-lex-custom-lightning-datatable').getSelectedRows();
+ console.log('selectedRows = ' + 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;
+ }
+ }
+ }
+
+ 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("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,
+ secondaryDistributorLwc: this.secondaryDistributor,
+ pageRecordsLwc: cloneData,
+ accountidLwc: this.accountid,
+ ESetIdLwc: this.ESetid,
+ consumableproductdetailsRecordsLwc: this.consumableproductdetailsRecords,
+ agencyProTypeLwc: this.agencyProType,
+ userWorkLocationLwc: this.userWorkLocation
+ }).then((r) => {
+ r = JSON.parse(JSON.stringify(r));
+ console.log("r = " + JSON.stringify(r));
+ debugger
+ 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);
+ PraseToPDF({
+ 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);
+ }
+ });
+ }
+
+ //鏄剧ず鏄庣粏
+ openReportJs() {
+ console.log("openReportJs");
+ var reportId = this.ESetid;
+ reportId = reportId.substring(0, 15);
+ let reportFilters = '[{"operator":"equals","value":"' + reportId + '","column":"FK_CUSTENT_ID"}]';
+ let url = "/report/00O0l000000zZtpEAE?reportFilters=" + encodeURIComponent(reportFilters);
+ console.log("url = " + url);
+ this[NavigationMixin.Navigate]({
+ type: "standard__webPage",
+ attributes: {
+ url: url,
+ },
+ });
+ }
+
+ 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) {
+ const lookupElement = event.target;
+ console.log("event.detail = " + JSON.stringify(event.detail));
+ apexSearch({
+ searchTerm: event.detail.searchTerm,
+ })
+ .then((results) => {
+ lookupElement.setSearchResults(results);
+ })
+ .catch((error) => {
+ console.log("error" + JSON.stringify(error));
+ });
+ }
+
+ handleSelectionChange(event) {
+ const selection = event.target.getSelection();
+ 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.showPopSpinner = 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) => {
+ this.showPopSpinner = false;
+ r = JSON.parse(JSON.stringify(r));
+ console.log("r = " + JSON.stringify(r));
+ this.closePop();
+ this.showToast("Success", "涓婁紶鎴愬姛");
+ this.getFiles();
+ })
+ .catch((error) => {
+ this.showPopSpinner = false;
+ 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;
+
+ //鏌ヨ鏈夊摢浜涢�夋嫨浜嗙殑鐒跺悗check
+ const selectedRows = this.template.querySelector('c-lex-custom-lightning-datatable').getSelectedRows();
+ console.log('selectedRows = ' + 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;
+ }
+ }
+ }
+
+ 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", "璺宠浆澶辫触");
+ });
+ }
+
+ handleLoad() {
+ console.log('handleLoad')
+ try {
+ const style = document.createElement('style');
+ style.innerText = '.hehe-layoutItem .slds-button__icon {display: none;}';
+ this.template.querySelector('.hideHelpText').appendChild(style);
+ } catch (error) {
+ console.log(error);
+ }
+ }
+
+ handleLoad2() {
+ console.log('handleLoad2')
+ try {
+ const style = document.createElement('style');
+ style.innerText = '.hehe-layoutItem .slds-button__icon {display: none;}';
+ this.template.querySelector('.hideHelpText').appendChild(style);
+
+ const style2 = document.createElement('style');
+ style2.innerText = '.hehe-layoutItem .slds-form-element__label {padding : 0px}';
+ this.template.querySelector('.hideHelpText').appendChild(style2);
+ } catch (error) {
+ console.log(error);
+ }
+ }
+ //缂栬緫鍑哄簱鍗�
+ EditConsumable() {
+ let url = "/lexsummonscreat?ESetid=" + this.ESetid + "&KeyWords=Redirect";
+ this[NavigationMixin.Navigate]({
+ type: "standard__webPage",
+ attributes: {
+ url: url,
+ },
+ });
+ }
+
+ //鏄剧ず涓婁紶闄勪欢
+ uploadOrder(event) {
+ this.showAttPop = true;
+ }
+
+ //闄勪欢change浜嬩欢
+ attChange(event) {
+ if (event.target.files.length > 0) {
+ this.filesUploaded = event.target.files;
+ this.fileName = event.target.files[0].name;
+ console.log('this.fileName:' + this.fileName);
+ }
+ }
+
+ //鏄惁鏄剧ず闄勪欢绉婚櫎
+ get attDelBtn() {
+ if (this.fileName != '' && this.fileName != null && this.fileName != '璇烽�夋嫨涓�涓枃浠朵笂浼�') {
+ return true;
+ } else {
+ return false;
+ }
+ }
+
+ //鍏抽棴闄勪欢寮圭獥
+ closePop() {
+ this.showAttPop = false;
+ this.filesUploaded = [];
+ this.fileName = null;
+ }
+
+ //绉婚櫎闄勪欢
+ removeAtt() {
+ this.filesUploaded = [];
+ this.fileName = '';
+ }
+
+ ClearJs() {
+ this.consumableName = '';
+ this.Category3 = '';
+ this.Category4 = '';
+ this.Category5 = '';
+ this.searchProductJs();
+ }
+
+ 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) {
+
+ //灏嗗凡缁忛�夊ソ浜嗙殑鏀惧埌鍓嶉潰锛屼笉杩涜鎺掑簭
+ if(this.EditAble){
+ const { fieldName: sortedBy, sortDirection } = event.detail;
+ const cloneData = [...this.data];
+ cloneData.sort(this.sortBy(sortedBy, sortDirection === 'asc' ? 1 : -1));
+ let index = 0;
+ let selectedRows = this.template.querySelector('c-lex-custom-lightning-datatable').getSelectedRows();
+ let selectedRowsIds = [];
+ for(var i in selectedRows){
+ selectedRowsIds.push(selectedRows[i].Id);
+ }
+ console.log('selectedRowsIds = ' + JSON.stringify(selectedRowsIds));
+ for(var i = 0;i < cloneData.length ; i++){
+ if(selectedRowsIds.indexOf(cloneData[i].Id) != -1){
+ if(i != 0){
+ let temp = cloneData[index];
+ cloneData[index] = cloneData[i];
+ cloneData[i] = temp;
+ }
+ index++;
+ }
+ }
+ this.data = cloneData;
+ this.sortDirection = sortDirection;
+ this.sortedBy = sortedBy;
+ }else{
+ const { fieldName: sortedBy, sortDirection } = event.detail;
+ const cloneData = [...this.editData];
+ cloneData.sort(this.sortBy(sortedBy, sortDirection === 'asc' ? 1 : -1));
+ this.editData = cloneData;
+ this.sortDirection = sortDirection;
+ this.sortedBy = sortedBy;
+ }
+ }
+
+ handlePrevious() {
+ this.currentPageToken = Number(this.currentPageToken) - Number(this.pageSize);
+ this.searchProductJs();
+ }
+
+ handleNext() {
+ this.currentPageToken = Number(this.currentPageToken) + Number(this.pageSize);
+ this.searchProductJs();
+ }
+ handleFirst() {
+ this.currentPageToken = 0;
+ this.searchProductJs();
+ }
+
+ handleLast() {
+ this.currentPageToken = this.totalPages > 1 ? (this.totalPages - 1) * this.pageSize : 0;
+ this.searchProductJs();
+ }
+
+ handlePageschange(event) {
+ console.log(event.detail);
+ this.pageSize = event.detail;
+ this.currentPageToken = 0;
+ this.searchProductJs();
+ }
+
+
+
+ editHandlePrevious() {
+ this.currentPageToken = Number(this.currentPageToken) - Number(this.pageSize);
+ this.searchEditProductJs();
+ }
+
+ editHandleNext() {
+ this.currentPageToken = Number(this.currentPageToken) + Number(this.pageSize);
+ this.searchEditProductJs();
+ }
+ editHandleFirst() {
+ this.currentPageToken = 0;
+ this.searchEditProductJs();
+ }
+
+ editHandleLast() {
+ this.currentPageToken = this.totalPages > 1 ? (this.totalPages - 1) * this.pageSize : 0;
+ this.searchEditProductJs();
+ }
+
+ editHandlePageschange(event) {
+ console.log(event.detail);
+ this.pageSize = event.detail;
+ this.currentPageToken = 0;
+ this.searchEditProductJs();
+ }
+
+ searchEditProductJs(){
+ this.isEditShowSpinner = true;
+ this.showTable = false;
+ init({
+ ESetidJs: this.ESetid,
+ statusEdit: this.statusEdit,
+ pageSizeLWC: this.pageSize,
+ pageTokenLWC: this.currentPageToken
+ }).then((r) => {
+ r = JSON.parse(JSON.stringify(r));
+ console.log("r = " + JSON.stringify(r));
+ if (r.status == "Success") {
+ //鍒嗛〉
+ console.log('r.entity.paginatedAccounts = ' + JSON.stringify(r.entity.paginatedAccounts));
+ this.nextPageToken = r.entity.paginatedAccounts.nextPageToken;
+ this.totalRecords = r.entity.paginatedAccounts.totalRecords;
+ this.recordStart = r.entity.paginatedAccounts.recordStart;
+ this.recordEnd = r.entity.paginatedAccounts.recordEnd;
+ this.totalPages = Math.ceil(r.entity.paginatedAccounts.totalRecords / this.pageSize);
+ console.log('this.totalPages = ' + this.totalPages);
+
+ this.editData = r.entity.pageRecords;
+ console.log("this.data start = " + JSON.stringify(this.data));
+ for (var i in this.editData) {
+ this.editData[i]["unitValue"] = this.editData[i]["unitValue"];
+ this.editData[i]["InvoiceProNot_count__c"] = this.editData[i].orderdetails1.InvoiceProNot_count__c;
+ this.editData[i]["RrturnPro_count__c"] = this.editData[i].orderdetails1.RrturnPro_count__c;
+ this.editData[i]["Invoiced_Procount__c"] = this.editData[i].orderdetails1.Invoiced_Procount__c;
+ this.editData[i]["shipmentNumber"] = this.editData[i].orderdetails1["Shipment_Count__c"];
+ this.editData[i]["shippingUnitPrice"] = this.editData[i].orderdetails1["Delivery_List_RMB__c"];
+
+ this.editData[i]["recordId"] = this.editData[i].Prod.Id;
+ this.editData[i]["Id"] = this.editData[i].Prod.Id;
+ this.editData[i]["Name__c"] = this.editData[i].Prod.Name__c;
+ this.editData[i]["SFDA_Status__c"] = this.editData[i].Prod.SFDA_Status__c;
+ this.editData[i]["Category3__c"] = this.editData[i].Prod.Category3__c;
+ this.editData[i]["Category4__c"] = this.editData[i].Prod.Category4__c;
+ this.editData[i]["Category5__c"] = this.editData[i].Prod.Category5__c;
+ this.editData[i]["Box_Piece__c"] = this.editData[i].orderdetails1.Box_Piece__c;
+ this.editData[i]["shipmentAmount"] = this.editData[i].orderdetails1.Shipment_amount__c;
+ this.editData[i]["Shipment_amount__c"] = this.editData[i].orderdetails1.Shipment_amount__c;
+ this.editData[i]["Shipment_Count__c"] = this.editData[i].orderdetails1.Shipment_Count__c;
+ }
+ this.showTable = true;
+ this.isEditShowSpinner = false;
+ } else {
+ console.log("r = " + JSON.stringify(r));
+ this.showToast("Error", r.msg);
+ }
+ }).catch((error) => {
+ console.log("error = " + JSON.stringify(error));
+ });
+ }
+
+ get previousButtonDisabled() {
+ return this.currentPageToken === 0;
+ }
+
+ get nextButtonDisabled() {
+ return this.nextPageToken === undefined;
+ }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSummonsCreat/lexSummonsCreat.js-meta.xml b/force-app/main/default/lwc/lexSummonsCreat/lexSummonsCreat.js-meta.xml
new file mode 100644
index 0000000..d893635
--- /dev/null
+++ b/force-app/main/default/lwc/lexSummonsCreat/lexSummonsCreat.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/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..90dbf6a
--- /dev/null
+++ b/force-app/main/default/lwc/lexTenderingEnquiryButton/lexTenderingEnquiryButton.js
@@ -0,0 +1,92 @@
+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=>{
+ console.log(result,'璧板紑浜嗗悧锛�')
+ if(result != 'OK'){
+ this.showToast(result,'error');
+ }else {
+ console.log('鐑�')
+ // alert('鍙嶆槧瀹屼簡');
+ this.showToast('鍙嶆槧瀹屼簡','success');
+ }
+ })
+ }
+
+ showToast(msg,type) {
+ console.log(msg,type);
+ const event = new ShowToastEvent({
+ message: msg,
+ variant: type
+ });
+ console.log('鎻愮ず妗嗕笉鑳界敤浜嗗悧锛�');
+ 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..eb7832f
--- /dev/null
+++ b/force-app/main/default/lwc/lexTenderingNotarizeButton/lexTenderingNotarizeButton.js
@@ -0,0 +1,134 @@
+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(){
+ console.log(this.ProfileId,'琛屽悧');
+ 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/lexVisitReportCancel/lexVisitReportCancel.css b/force-app/main/default/lwc/lexVisitReportCancel/lexVisitReportCancel.css
new file mode 100644
index 0000000..635bc6c
--- /dev/null
+++ b/force-app/main/default/lwc/lexVisitReportCancel/lexVisitReportCancel.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/lexVisitReportCancel/lexVisitReportCancel.html b/force-app/main/default/lwc/lexVisitReportCancel/lexVisitReportCancel.html
new file mode 100644
index 0000000..49a10f7
--- /dev/null
+++ b/force-app/main/default/lwc/lexVisitReportCancel/lexVisitReportCancel.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/lexVisitReportCancel/lexVisitReportCancel.js b/force-app/main/default/lwc/lexVisitReportCancel/lexVisitReportCancel.js
new file mode 100644
index 0000000..f0ea034
--- /dev/null
+++ b/force-app/main/default/lwc/lexVisitReportCancel/lexVisitReportCancel.js
@@ -0,0 +1,51 @@
+import { LightningElement, track, wire, api } from 'lwc';
+import { CurrentPageReference,NavigationMixin } from 'lightning/navigation';
+import { CloseActionScreenEvent } from 'lightning/actions';
+import { updateRecord } from 'lightning/uiRecordApi';
+
+import init from '@salesforce/apex/LexVisitReportCancelController.Init';
+export default class lexVisitReportCancel extends LightningElement {
+ @api recordId;
+ 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(res=>{
+ if(res == '鍙栨秷鎴愬姛'){
+ this.showToast('鍙栨秷鎴愬姛','success');
+ }else{
+ this.showToast(res,'warning');
+ }
+ })
+ }
+
+ 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/lexVisitReportCancel/lexVisitReportCancel.js-meta.xml b/force-app/main/default/lwc/lexVisitReportCancel/lexVisitReportCancel.js-meta.xml
new file mode 100644
index 0000000..74849f3
--- /dev/null
+++ b/force-app/main/default/lwc/lexVisitReportCancel/lexVisitReportCancel.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/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..ad1fd9a
--- /dev/null
+++ b/force-app/main/default/lwc/lexYanshoudanRequest/lexYanshoudanRequest.js
@@ -0,0 +1,112 @@
+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);
+ })
+ }
+
+ // 楠屾敹鍗曞洖鏀剁敵璇�
+ YanshoudanRequest() {
+ updateYanshoudan({
+ recordId: this.Id
+ }).then(result => {
+ console.log(result);
+ if (result.length > 0) {
+ var split = result.split(", ");
+ alert(split[1]);
+ }
+ location.reload();
+ }).catch(error => {
+ console.log(error);
+ })
+ }
+
+ getConnectDMLErrorMessages(results) {
+ var messages = [],
+ i = 0,
+ len = results.length,
+ r;
+ for (; i < len; i++) {
+ r = results[i];
+ if (!r.getBoolean("success")) {
+ messages = messages.concat(this.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 + " " + this.getConnectDMLErrorFields(e));
+ }
+ return messages;
+ }
+ getConnectDMLErrorFields(error) {
+ var fields = error.getArray('fields');
+ if (fields.length > 0) {
+ return "[" + fields.join(",") + "]"
+ } else {
+ 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/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
new file mode 100644
index 0000000..0ac5a1c
--- /dev/null
+++ b/force-app/main/default/lwc/lexinventoryViewLWC/lexinventoryViewLWC.html
@@ -0,0 +1,194 @@
+<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>
+ </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 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"/>
+ <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 style="width:15%;"></td>
+ <td style="width:15%;"><lightning-button label="搴撳瓨鐩樼偣" title="搴撳瓨鐩樼偣" onclick={inventoryCount} ></lightning-button></td>
+ <td></td>
+ <td></td>
+ <td style="width:15%"><lightning-button label="杩囨湡搴撳瓨閿�瀛�" title="杩囨湡搴撳瓨閿�瀛�" onclick={handleExpired} ></lightning-button></td>
+ <td></td>
+ <td></td>
+ <td style="width:15%;"><lightning-button label="鎷嗙洅" title="鎷嗙洅" onclick={removeBox} ></lightning-button></td>
+ <td></td>
+ <td></td>
+ <td style="width:15%;"><lightning-button label="鍙栨秷鎷嗙洅" title="鍙栨秷鎷嗙洅" onclick={handleClick}></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;">
+ <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={dataChange}
+ data-field="Name"></lightning-input>
+ </td>
+ <td style="width: 21%;">
+ <lightning-combobox name="CategoryThree" label="绗�3鍒嗙被" value={value}
+ placeholder="璇烽�夋嫨..." options={category3Options} variant="label-inline"
+ data-field="CategoryThree" onchange={dataChange}></lightning-combobox>
+ </td>
+ <td style="width: 21%;">
+ <lightning-combobox name="CategoryFour" label="绗�4鍒嗙被" value={value}
+ placeholder="璇烽�夋嫨..." options={category4Options} variant="label-inline"
+ data-field="CategoryFour" onchange={dataChange}></lightning-combobox>
+ </td>
+ <td style="width: 21%;">
+ <lightning-combobox name="CategoryFive" label="绗�5鍒嗙被" value={value}
+ placeholder="璇烽�夋嫨..." options={category5Options} variant="label-inline"
+ data-field="CategoryFive" onchange={dataChange}></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}>
+ <lightning-datatable key-field="id" data={data} columns={columns}
+ default-sort-direction={defaultSortDirection} sorted-direction={sortDirection}
+ sorted-by={sortedBy} onsort={onHandleSort} hide-checkbox-column={hidecheckboxcolumn}
+ style="word-wrap:break-word; word-break:break-all; ">
+ </lightning-datatable>
+ </template>
+ <c-paginator 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>
+
+
+ <!-- <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>
+
+ <template if:true={hasHos}>
+ <th>鍖婚櫌鐗逛环</th>
+ </template>
+ </tr>
+ </thead>
+ <tbody>
+ <template for:each={pageRecords} for:item="m">
+ <tr key={m.Prod.Name__c}>
+ <td align="center">{m.Prod.Name__c}</td>
+ <td align="center">{m.Prod.Category3__c}</td>
+ <td align="center">{m.Prod.Category4__c}</td>
+ <td align="center">{m.Prod.Category5__c}</td>
+ <td align="center">{m.packing_list}</td>
+ <td align="center">{m.BoxPiece}</td>
+ <td align="center">{m.approbation_No}</td>
+ <td align="center">{m.expiration_Date}</td>
+ <td align="center">{m.Prod.SFDA_Status__c}</td>
+ <td align="center">{m.guaranteeperiod}</td>
+ <td align="center">{m.limitCount}</td>
+ <td align="center">{m.overlimitCount}</td>
+ <template if:true={hasHos}>
+ <td>
+ <template if:true={m.hospitalSpecialOffer}>
+ 鈭�
+ </template>
+ </td>
+ </template>
+ </tr>
+ </template>
+ </tbody>
+ </table> -->
+ <!-- <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>
+ </div>
+ </div>
+
+
+ </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexinventoryViewLWC/lexinventoryViewLWC.js b/force-app/main/default/lwc/lexinventoryViewLWC/lexinventoryViewLWC.js
new file mode 100644
index 0000000..1ae2e49
--- /dev/null
+++ b/force-app/main/default/lwc/lexinventoryViewLWC/lexinventoryViewLWC.js
@@ -0,0 +1,583 @@
+import { LightningElement, wire, api, track } from 'lwc';
+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 categoryAllload from "@salesforce/apex/LexInventoryViewController.categoryAllload";
+import { NavigationMixin } from "lightning/navigation";
+
+export default class LexinventoryViewLWC extends NavigationMixin(LightningElement) {
+ //鍒嗛〉start
+ @track sortBy = "";
+ //@track sortDirection = "asc";
+ @track pageSize = 5;
+ error;
+ records;
+ currentPageToken = 0;
+ nextPageToken = this.pageSize;
+ @track totalRecords = 0;
+ @track loader = false;
+ @track pageNumber = 1;
+ @track paginationVisibility = false;
+ @track totalPages = 1;
+ pageSizeOptions = [5, 10, 25, 50, 75, 100];
+ @track recordStart = 0;
+ @track recordEnd = 0;
+ //end
+
+ @track data = [];
+ @track message = "";
+ @track Name;
+ @track CategoryThree;
+
+ @track category3Options = [];
+ @track CategoryFour;
+ @track category4Options = [];
+ @track CategoryFive;
+ @track category5Options = [];
+ @track orderDetZaikuList = [];
+ @track accountName;
+ @track agencyProType;
+ @track userWorkLocation;
+ @track value = "";
+ @track showTable = false;
+ @track hidecheckboxcolumn = true;
+ @track check = false;
+ //鍔犺浇
+ @track showSpinner = false;
+ @track showSpinners = false;
+ //鍖婚櫌鐗逛环
+ @track hasHos = false;
+
+
+
+ @track columns = [
+ {
+ label: "娑堣�楀搧鍚嶇О",
+ fieldName: "Name__c",
+ type: "Name",
+ sortable: true,
+ hideDefaultActions: true,
+ initialWidth: 250,
+ wrapText: true,
+ cellAttributes: { alignment: "left" }
+ },
+ {
+ label: "绗笁鍒嗙被",
+ fieldName: "Category3__c",
+ hideDefaultActions: true,
+ sortable: true,
+ wrapText: true,
+ },
+ {
+ label: "绗洓鍒嗙被",
+ fieldName: "Category4__c",
+ hideDefaultActions: true,
+ wrapText: true,
+ sortable: true,
+
+ },
+ {
+ label: "绗簲鍒嗙被",
+ fieldName: "Category5__c",
+ hideDefaultActions: true,
+ wrapText: true,
+ sortable: true,
+
+ },
+
+ {
+ label: "瑙勬牸",
+ fieldName: "packing_list",
+ wrapText: true,
+ hideDefaultActions: true,
+ },
+ {
+ label: "鍗曚綅",
+ fieldName: "BoxPiece",
+ wrapText: true,
+ hideDefaultActions: true,
+ },
+ {
+ label: "娉ㄥ唽璇佺紪鐮佸彿",
+ fieldName: "approbation_No",
+ wrapText: true,
+ initialWidth: 100,
+ hideDefaultActions: true,
+ },
+ {
+ label: "娉ㄥ唽鏈夋晥鏈�",
+ fieldName: "expiration_Date",
+ wrapText: true,
+ hideDefaultActions: true,
+ initialWidth: 150
+ },
+ {
+ label: "CFDA鐘舵��",
+ fieldName: "SFDA_Status__c",
+ hideDefaultActions: true,
+ },
+ {
+ label: "浣跨敤鏈熼檺",
+ fieldName: "guaranteeperiod",
+ hideDefaultActions: true,
+ initialWidth: 100
+ },
+ {
+ label: "鏈夋晥鏈熷唴搴撳瓨",
+ fieldName: "limitCount",
+ hideDefaultActions: true,
+ sortable: true,
+ },
+ {
+ label: "杩囨湡搴撳瓨",
+ fieldName: "overlimitCount",
+ hideDefaultActions: true,
+ }
+ ];
+ defaultSortDirection = "asc";
+ sortDirection = "asc";
+ sortedBy;
+
+
+ connectedCallback() {
+ this.loader = true;
+ this.init();
+ }
+
+ init() {
+ this.showSpinner = true;
+ oninit({
+ pageSizeLWC: this.pageSize,
+ pageTokenLWC: this.currentPageToken,
+ sortFieldLWC: this.sortBy,
+ sortOrderLWC: this.sortDirection
+ }).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") {
+ console.log('result.entity.paginatedAccounts = ' + JSON.stringify(result.entity.paginatedAccounts));
+ this.nextPageToken = result.entity.paginatedAccounts.nextPageToken;
+ this.totalRecords = result.entity.paginatedAccounts.totalRecords;
+ this.recordStart = result.entity.paginatedAccounts.recordStart;
+ this.recordEnd = result.entity.paginatedAccounts.recordEnd;
+ this.totalPages = Math.ceil(result.entity.paginatedAccounts.totalRecords / this.pageSize);
+ console.log('this.totalPages = ' + this.totalPages);
+ this.paginationVisibility = this.totalPages > 1 ? true : false;
+
+ this.loader = false;
+ 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.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.category3Options = 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.category4Options = 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.category5Options = option3ValueTemp;
+ this.hasHos = result.entity.hasHos;
+ console.log('this.hasHos'+this.hasHos);
+ //hasHos = true 鍖婚櫌鐗逛环
+ if (this.hasHos) {
+ let object1 = {
+ label: "鍖婚櫌鐗逛环",
+ fieldName: "hospitalSpecialOffer__c",
+ hideDefaultActions: true,
+ type:'boolean'
+ };
+ this.columns.push(object1);
+ console.log(' this.columns'+ this.columns);
+ for (var j in this.data) {
+ this.data[j]["Name__c"] = this.data[j].Prod.Name__c;
+ this.data[j]["Category3__c"] = this.data[j].Prod.Category3__c;
+ this.data[j]["Category4__c"] = this.data[j].Prod.Category3__c;
+ this.data[j]["Category5__c"] = this.data[j].Prod.Category3__c;
+ this.data[j]["SFDA_Status__c"] = this.data[j].Prod.SFDA_Status__c;
+ this.data[j]["hospitalSpecialOffer__c"] = this.data[j].hospitalSpecialOffer;
+ console.log('this.data[j].hospitalSpecialOffer__c'+this.data[j].hospitalSpecialOffer);
+ }
+ }
+ this.showSpinner = false;
+ } else {
+ this.loader = false;
+ console.log("Error:" + result.errorMsg);
+ const evt = new ShowToastEvent({
+ title: "瑙f瀽澶辫触",
+ message: result.errorMsg,
+ variant: "error"
+ });
+ this.dispatchEvent(evt);
+ this.showSpinner = false;
+ }
+ }).catch((error) => {
+ this.loader = false;
+ this.showSpinner = false;
+ console.log("error = " + JSON.stringify(error));
+ });
+ }
+
+ 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;
+ }
+ }
+
+ 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");
+ }
+ }
+ dataChange(event) {
+ let fieldName = event.target.getAttribute("data-field");
+ let value = event.detail.value;
+ console.log("fieldName = " + fieldName + " value = " + value);
+ switch (fieldName) {
+ case "Name":
+ this.Name = value;
+ break;
+ case "CategoryThree":
+ this.CategoryThree = value;
+ //璋冪敤鍚庡彴鏄剧ず绗洓浜斿垎绫�
+ this.showAllCate();
+ if (this.CategoryThree == '') {
+ this.CategoryFour = '';
+ this.CategoryFive = '';
+ }
+ break;
+ case "CategoryFour":
+ this.Category4 = value;
+ //璋冪敤鍚庡彴鏄剧ず绗簲鍒嗙被
+ this.showCate();
+ if (this.CategoryFour == '') {
+ this.CategoryFive = '';
+ }
+ break;
+ case "CategoryFive":
+ this.CategoryFive = value;
+ break;
+ }
+ }
+
+
+ showAllCate() {
+ categoryAllload({
+ category3LWC: this.CategoryThree,
+ agencyProTypeLWC:this.agencyProType
+ }).then((result) => {
+ result = JSON.parse(JSON.stringify(result));
+ console.log("result = " + JSON.stringify(result));
+ if (result.status == "Success") {
+ this.category4Options = [];
+ this.category5Options = [];
+ //绗�4鍒嗙被
+ for (var key in result.entity.category4OptionMap) {
+ let object = {};
+ object["label"] = result.entity.category4OptionMap[key];
+ object["value"] = key;
+ this.category4Options.push(object);
+ }
+ console.log("this.category4Options = " + JSON.stringify(this.category4Options));
+ //绗�5鍒嗙被
+ for (var key in result.entity.category5OptionMap) {
+ let object = {};
+ object["label"] = result.entity.category5OptionMap[key];
+ object["value"] = key;
+ this.category5Options.push(object);
+ }
+ } else {
+ console.log("result = " + JSON.stringify(result));
+ this.showToast("Error", result.msg);
+ }
+ }).catch((error) => {
+ console.log("error" + JSON.stringify(error));
+ });
+ }
+
+ searchOrderDetail() {
+ this.showTable = false;
+ 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,
+ pageSizeLWC: this.pageSize,
+ pageTokenLWC: this.currentPageToken,
+ // sortFieldLWC: this.sortBy,
+ // sortOrderLWC: this.sortDirection
+ })
+ .then((result) => {
+ result = JSON.parse(JSON.stringify(result));
+ if (result.status == "Success") {
+ this.nextPageToken = result.entity.paginatedAccounts.nextPageToken;
+ this.totalRecords = result.entity.paginatedAccounts.totalRecords;
+ this.recordStart = result.entity.paginatedAccounts.recordStart;
+ this.recordEnd = result.entity.paginatedAccounts.recordEnd;
+ this.totalPages = Math.ceil(result.entity.paginatedAccounts.totalRecords / this.pageSize);
+ console.log('this.totalPages = ' + this.totalPages);
+ this.paginationVisibility = this.totalPages > 1 ? true : false;
+ console.log('this.sortDirection = ' + this.sortDirection);
+ const evt = new ShowToastEvent({
+ title: "鎼滅储鎴愬姛",
+ message: result.msg,
+ variant: "Success"
+ });
+ this.dispatchEvent(evt);
+ this.data = result.entity.pageRecords;
+ console.log('鎼滅储Data==>'+JSON.stringify(this.data));
+ 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.data[i]["hospitalSpecialOffer__c"] = this.data[i].hospitalSpecialOffer;
+ }
+ this.data = [...this.data];
+ console.log('this.data = ' + JSON.stringify(this.data));
+ this.showTable = true;
+ } else {
+ const evt = new ShowToastEvent({
+ title: "",
+ message: result.msg,
+ variant: "Success"
+ });
+ this.dispatchEvent(evt);
+ }
+ })
+ .catch((error) => {
+ console.log("error = " + JSON.stringify(error));
+ });
+ }
+ inventoryCount() {
+ this[NavigationMixin.Navigate]({
+ type: 'standard__webPage',
+ attributes: {
+ url: '/lexInventory'
+ }
+ });
+ }
+
+ 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));
+ });
+ }
+
+ sortByMethod(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) {
+ console.log("Sort");
+ this.sortBy = event.detail.fieldName;
+ this.sortDirection = event.detail.sortDirection;
+ this.currentPageToken = 0;
+ console.log('this.sortBy = ' + this.sortBy)
+ console.log('this.sortDirection = ' + this.sortDirection)
+ // if('limitCount' != this.sortBy)
+ // this.searchOrderDetail();
+ // else{
+ // const { fieldName: sortedBy, sortDirection } = event.detail;
+ // const cloneData = [...this.data];
+ // cloneData.sort(this.sortByMethod(sortedBy, sortDirection === 'asc' ? 1 : -1));
+ // this.data = cloneData;
+ // this.sortDirection = sortDirection;
+ // this.sortedBy = sortedBy;
+ // }
+ const { fieldName: sortedBy, sortDirection } = event.detail;
+ const cloneData = [...this.data];
+ cloneData.sort(this.sortByMethod(sortedBy, sortDirection === 'asc' ? 1 : -1));
+ this.data = cloneData;
+ this.sortDirection = sortDirection;
+ this.sortedBy = sortedBy;
+ }
+
+ handlePrevious() {
+ this.currentPageToken = Number(this.currentPageToken) - Number(this.pageSize);
+ this.searchOrderDetail();
+ }
+
+ handleNext() {
+ this.currentPageToken = Number(this.currentPageToken) + Number(this.pageSize);
+ this.searchOrderDetail();
+ }
+ handleFirst() {
+ this.currentPageToken = 0;
+ this.searchOrderDetail();
+ }
+
+ handleLast() {
+ this.currentPageToken = this.totalPages > 1 ? (this.totalPages - 1) * this.pageSize : 0;
+ this.searchOrderDetail();
+ }
+
+ handlePageschange(event) {
+ console.log(event.detail);
+ this.pageSize = event.detail;
+ this.currentPageToken = 0;
+ this.searchOrderDetail();
+ }
+ get previousButtonDisabled() {
+ return this.currentPageToken === 0;
+ }
+
+ get nextButtonDisabled() {
+ return this.nextPageToken === undefined;
+ }
+
+
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexinventoryViewLWC/lexinventoryViewLWC.js-meta.xml b/force-app/main/default/lwc/lexinventoryViewLWC/lexinventoryViewLWC.js-meta.xml
new file mode 100644
index 0000000..d893635
--- /dev/null
+++ b/force-app/main/default/lwc/lexinventoryViewLWC/lexinventoryViewLWC.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/lexmultiSelectCombobox/lexmultiSelectCombobox.css b/force-app/main/default/lwc/lexmultiSelectCombobox/lexmultiSelectCombobox.css
new file mode 100644
index 0000000..b7eb8c7
--- /dev/null
+++ b/force-app/main/default/lwc/lexmultiSelectCombobox/lexmultiSelectCombobox.css
@@ -0,0 +1,29 @@
+.multi-select-combobox__dropdown {
+ max-height: 500px;
+ overflow-y: auto;
+ }
+
+ .multi-select-combobox__input {
+ background-color: #ffffff;
+ border: 1px solid #dddbda;
+ border-radius: 0.25rem;
+ width: 100%;
+ transition: border 0.1s linear, background-color 0.1s linear;
+ display: inline-block;
+ padding: 0 1rem 0 0.75rem;
+ line-height: 1.875rem;
+ min-height: calc(1.875rem + (1px * 2));
+ }
+
+ .multi-select-combobox__input:disabled {
+ background-color: #ecebea;
+ border: 1px solid #c9c7c5;
+ }
+
+ .multi-select-combobox__icon {
+ margin-right: -3px;
+ }
+
+ .multi-select-combobox__listbox {
+ width: 100%;
+ }
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexmultiSelectCombobox/lexmultiSelectCombobox.html b/force-app/main/default/lwc/lexmultiSelectCombobox/lexmultiSelectCombobox.html
new file mode 100644
index 0000000..d69a101
--- /dev/null
+++ b/force-app/main/default/lwc/lexmultiSelectCombobox/lexmultiSelectCombobox.html
@@ -0,0 +1,61 @@
+<template>
+ <div class="slds-form-element">
+ <label if:true={label} class="slds-form-element__label">
+ <abbr if:true={required} title="required" class="slds-required">*</abbr>
+ {label}</label
+ >
+ <div class="slds-form-element__control">
+ <div class="slds-combobox_container">
+ <div
+ class="slds-combobox slds-dropdown-trigger slds-dropdown-trigger_click slds-picklist multi-select-combobox__dropdown"
+ >
+ <div class="slds-combobox_form-element slds-input-has-icon slds-input-has-icon_right" role="none">
+ <input
+ class="slds-combobox__input multi-select-combobox__input"
+ aria-label="Multi Select Combobox Input"
+ aria-controls="multi-pick-list-dropdown-items"
+ role="textbox"
+ type="text"
+ value={selectedItems}
+ required={required}
+ disabled={isDisabled}
+ readonly
+ />
+ <span
+ class="slds-icon_container slds-icon-utility-down slds-input__icon slds-input__icon_right multi-select-combobox__icon"
+ title="Click to open the dropdown"
+ >
+ <lightning-icon
+ icon-name="utility:down"
+ size="xx-small"
+ alternative-text="Click here"
+ class="slds-icon slds-icon--selected slds-icon--x-small slds-icon-text-default"
+ >
+ </lightning-icon>
+ </span>
+ </div>
+ <div
+ class="slds-dropdown slds-dropdown_length-5 slds-dropdown_fluid multi-select-combobox__listbox"
+ aria-label="Multi Select Combobox Dropdown"
+ role="listbox"
+ >
+ <ul class="slds-listbox slds-listbox_vertical" role="presentation">
+ <template for:each={currentOptions} for:item="item">
+ <c-lex-multi-select-combobox-item key={item.value} item={item} onchange={handleChange}>
+ </c-lex-multi-select-combobox-item>
+ </template>
+ </ul>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div if:true={hasPillsEnabled}>
+ <lightning-pill-container
+ if:true={isVisible}
+ items={selectedOptions}
+ variant="bare"
+ onitemremove={handleRemove}
+ ></lightning-pill-container>
+ </div>
+ </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexmultiSelectCombobox/lexmultiSelectCombobox.js b/force-app/main/default/lwc/lexmultiSelectCombobox/lexmultiSelectCombobox.js
new file mode 100644
index 0000000..a4f1ad8
--- /dev/null
+++ b/force-app/main/default/lwc/lexmultiSelectCombobox/lexmultiSelectCombobox.js
@@ -0,0 +1,166 @@
+/*
+ * @Description:
+ * @version:
+ * @Author: chen jing wu
+ * @Date: 2023-04-28 17:41:48
+ * @LastEditors: chen jing wu
+ * @LastEditTime: 2023-04-28 17:50:29
+ */
+import { api, LightningElement, track } from 'lwc';
+import lexmultiSelectComboboxItem from 'c/lexmultiSelectComboboxItem';
+export default class LexmultiSelectCombobox extends LightningElement {
+/**
+* If present, the combobox is disabled and users cannot interact with it.
+* @type {boolean}
+* @default false
+*/
+@api disabled = false;
+
+/**
+* Text label for the combobox.
+* @type {string}
+* @default ''
+*/
+@api label = '';
+/**
+* Specifies the name of the combobox.
+* @type {string}
+*/
+@api name;
+/**
+* A list of options that are available for selection. Each option has the following attributes: label and value.
+* @type {Array}
+* @example
+* options = [
+* {
+* "label": "Option 1",
+* "value": "option1"
+* },
+* {
+* "label": "Option 2",
+* "value": "option2"
+* },
+* ]
+*/
+@api options = [];
+/**
+* Text that is displayed before an option is selected, to prompt the user to select an option.
+* @type {string}
+* @default 'Select an Option'
+*/
+@api placeholder = 'Select an Option';
+/**
+* If present, the combobox is read-only. A read-only combobox is also disabled.
+* @type {boolean}
+* @default false
+*/
+@api readOnly = false;
+/**
+* If present, a value must be selected before a form can be submitted.
+* @type {boolean}
+* @default false
+*/
+@api required = false;
+/**
+* If present, the combobox only allows the selection of a single value.
+* @type {boolean}
+* @default false
+*/
+@api singleSelect = false;
+/**
+* If present, the combobox will show a pill container with the currently selected options.
+* @type {boolean}
+* @default false
+*/
+@api showPills = false;
+@track currentOptions = [];
+selectedItems = [];
+selectedOptions = [];
+isInitialized = false;
+isLoaded = false;
+isVisible = false;
+isDisabled = false;
+connectedCallback() {
+ this.isDisabled = this.disabled || this.readOnly;
+ this.hasPillsEnabled = this.showPills && !this.singleSelect;
+}
+renderedCallback() {
+ if (!this.isInitialized) {
+ this.template.querySelector('.multi-select-combobox__input').addEventListener('click', (event) => {
+ this.handleClick(event.target);
+ event.stopPropagation();
+ });
+ this.template.addEventListener('click', (event) => {
+ event.stopPropagation();
+ });
+ document.addEventListener('click', () => {
+ this.close();
+ });
+ this.isInitialized = true;
+ this.setSelection();
+ }
+}
+handleChange(event) {
+ this.change(event);
+}
+handleRemove(event) {
+ this.selectedOptions.splice(event.detail.index, 1);
+ this.change(event);
+}
+handleClick() {
+ // initialize picklist options on first click to make them editable
+ if (this.isLoaded === false) {
+ this.currentOptions = JSON.parse(JSON.stringify(this.options));
+ this.isLoaded = true;
+ }
+ if (this.template.querySelector('.slds-is-open')) {
+ this.close();
+ } else {
+ this.template.querySelectorAll('.multi-select-combobox__dropdown').forEach((node) => {
+ node.classList.add('slds-is-open');
+ });
+ }
+}
+change(event) {
+ // remove previous selection for single select picklist
+ if (this.singleSelect) {
+ this.currentOptions.forEach((item) => (item.selected = false));
+ }
+ // set selected items
+ this.currentOptions
+ .filter((item) => item.value === event.detail.item.value)
+ .forEach((item) => (item.selected = event.detail.selected));
+ this.setSelection();
+ const selection = this.getSelectedItems();
+ this.dispatchEvent(new CustomEvent('change', { detail: this.singleSelect ? selection[0] : selection }));
+ // for single select picklist close dropdown after selection is made
+ if (this.singleSelect) {
+ this.close();
+ }
+}
+close() {
+ this.template.querySelectorAll('.multi-select-combobox__dropdown').forEach((node) => {
+ node.classList.remove('slds-is-open');
+ });
+ this.dispatchEvent(new CustomEvent('close'));
+}
+setSelection() {
+ const selectedItems = this.getSelectedItems();
+ let selection = '';
+ if (selectedItems.length < 1) {
+ selection = this.placeholder;
+ this.selectedOptions = [];
+ } else if (selectedItems.length > 2) {
+ selection = `${selectedItems.length} Options Selected`;
+ this.selectedOptions = this.getSelectedItems();
+ } else {
+ selection = selectedItems.map((selected) => selected.label).join(', ');
+ this.selectedOptions = this.getSelectedItems();
+ }
+ this.selectedItems = selection;
+ this.isVisible = this.selectedOptions && this.selectedOptions.length > 0;
+}
+
+getSelectedItems() {
+ return this.currentOptions.filter((item) => item.selected);
+}}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexmultiSelectCombobox/lexmultiSelectCombobox.js-meta.xml b/force-app/main/default/lwc/lexmultiSelectCombobox/lexmultiSelectCombobox.js-meta.xml
new file mode 100644
index 0000000..0e8b661
--- /dev/null
+++ b/force-app/main/default/lwc/lexmultiSelectCombobox/lexmultiSelectCombobox.js-meta.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>57.0</apiVersion>
+ <isExposed>true</isExposed>
+ <targets>
+ <target>lightning__RecordPage</target>
+ <target>lightning__AppPage</target>
+ <target>lightning__HomePage</target>
+ <target>lightning__RecordAction</target>
+ </targets>
+ <masterLabel>Multi Select Combobox</masterLabel>
+ <description>Combobox with different configuration options that also supports multi select.</description>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexmultiSelectComboboxItem/lexmultiSelectComboboxItem.html b/force-app/main/default/lwc/lexmultiSelectComboboxItem/lexmultiSelectComboboxItem.html
new file mode 100644
index 0000000..ac4f097
--- /dev/null
+++ b/force-app/main/default/lwc/lexmultiSelectComboboxItem/lexmultiSelectComboboxItem.html
@@ -0,0 +1,33 @@
+<!--
+ * @Description:
+ * @version:
+ * @Author: chen jing wu
+ * @Date: 2023-04-28 17:45:47
+ * @LastEditors: chen jing wu
+ * @LastEditTime: 2023-04-28 17:46:06
+-->
+<template>
+ <li
+ role="presentation"
+ key={item.key}
+ class={itemClass}
+ data-id={item.key}
+ data-name={item.value}
+ onclick={handleClick}
+ >
+ <div class="slds-media slds-listbox__option slds-listbox__option_plain slds-media_small" role="option">
+ <span class="slds-media__figure">
+ <lightning-icon
+ icon-name="utility:check"
+ size="x-small"
+ alternative-text="Selected"
+ class="slds-icon slds-icon--selected slds-icon--x-small slds-icon-text-default slds-m-right--x-small"
+ >
+ </lightning-icon>
+ </span>
+ <span class="slds-media__body">
+ <span class="slds-truncate" title={item.value}>{item.label}</span>
+ </span>
+ </div>
+ </li>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexmultiSelectComboboxItem/lexmultiSelectComboboxItem.js b/force-app/main/default/lwc/lexmultiSelectComboboxItem/lexmultiSelectComboboxItem.js
new file mode 100644
index 0000000..6ae3b5f
--- /dev/null
+++ b/force-app/main/default/lwc/lexmultiSelectComboboxItem/lexmultiSelectComboboxItem.js
@@ -0,0 +1,29 @@
+/*
+ * @Description:
+ * @version:
+ * @Author: chen jing wu
+ * @Date: 2023-04-28 17:45:47
+ * @LastEditors: chen jing wu
+ * @LastEditTime: 2023-04-28 17:46:27
+ */
+import { api, LightningElement } from 'lwc';
+
+export default class LexmultiSelectComboboxItem extends LightningElement {
+ /**
+ * Single selectable item received from the multi select combobox parent component.
+ * @type {Object}
+ */
+ @api item;
+
+ get itemClass() {
+ return `slds-listbox__item ${this.item.selected ? 'slds-is-selected' : ''}`;
+ }
+
+ handleClick() {
+ this.dispatchEvent(
+ new CustomEvent('change', {
+ detail: { item: this.item, selected: !this.item.selected }
+ })
+ );
+ }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexmultiSelectComboboxItem/lexmultiSelectComboboxItem.js-meta.xml b/force-app/main/default/lwc/lexmultiSelectComboboxItem/lexmultiSelectComboboxItem.js-meta.xml
new file mode 100644
index 0000000..2f8b9d9
--- /dev/null
+++ b/force-app/main/default/lwc/lexmultiSelectComboboxItem/lexmultiSelectComboboxItem.js-meta.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>57.0</apiVersion>
+ <isExposed>true</isExposed>
+ <targets>
+ <target>lightning__RecordPage</target>
+ <target>lightning__AppPage</target>
+ <target>lightning__HomePage</target>
+ <target>lightning__RecordAction</target>
+ </targets>
+ <masterLabel>Multi Select Combobox Item</masterLabel>
+ <description>Component that represents an item within the multi select combobox parent component.</description>
+</LightningComponentBundle>
\ 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/lookup/lookup.css b/force-app/main/default/lwc/lookup/lookup.css
new file mode 100644
index 0000000..0286cad
--- /dev/null
+++ b/force-app/main/default/lwc/lookup/lookup.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/lookup/lookup.html b/force-app/main/default/lwc/lookup/lookup.html
new file mode 100644
index 0000000..36864a9
--- /dev/null
+++ b/force-app/main/default/lwc/lookup/lookup.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/lookup/lookup.js b/force-app/main/default/lwc/lookup/lookup.js
new file mode 100644
index 0000000..f071366
--- /dev/null
+++ b/force-app/main/default/lwc/lookup/lookup.js
@@ -0,0 +1,468 @@
+import { LightningElement, api } 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 Lookup 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;
+ }
+ this._hasFocus = false;
+ }
+
+ 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/lookup/lookup.js-meta.xml b/force-app/main/default/lwc/lookup/lookup.js-meta.xml
new file mode 100644
index 0000000..036b264
--- /dev/null
+++ b/force-app/main/default/lwc/lookup/lookup.js-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lookup">
+ <apiVersion>57.0</apiVersion>
+ <isExposed>false</isExposed>
+</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
new file mode 100644
index 0000000..021bb90
--- /dev/null
+++ b/force-app/main/default/lwc/lwcDatatableUtility/lwcDatatableUtility.css
@@ -0,0 +1,24 @@
+.customSelect select {
+ padding-right: 1.25rem;
+ min-height: inherit;
+ line-height: normal;
+ height: 1.4rem;
+}
+.customSelect label {
+ margin-top: .1rem;
+}
+.customSelect .slds-select_container::before {
+ border-bottom: 0;
+}
+.customInput {
+ width: 3rem;
+ height: 1.4rem;
+ text-align: center;
+ border: 1px solid #dddbda;
+ border-radius: 3px;
+ background-color:#fff;
+}
+
+.THIS .slds-table_header-fixed_container {
+ min-height: 12em;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lwcDatatableUtility/lwcDatatableUtility.html b/force-app/main/default/lwc/lwcDatatableUtility/lwcDatatableUtility.html
new file mode 100644
index 0000000..8294ccc
--- /dev/null
+++ b/force-app/main/default/lwc/lwcDatatableUtility/lwcDatatableUtility.html
@@ -0,0 +1,80 @@
+<template>
+ <template if:true={records}>
+ <div class="slds-grid slds-grid_vertical-align-center slds-grid_align-spread">
+ <div class="slds-col"><!--RECORDS PER PAGE-->
+ <div style={paginationVisibility} class="slds-list_inline slds-p-bottom_xx-small customSelect">
+ <label class="slds-text-color_weak slds-p-horizontal_x-small" for="recordsPerPage">Page Size:</label>
+ <div class="slds-select_container">
+ <select class="slds-select" id="recordsPerPage" onchange={handleRecordsPerPage}>
+ <template for:each={pageSizeOptions} for:item="option">
+ <option key={option} value={option}>{option}</option>
+ </template>
+ </select>
+ </div>
+ </div>
+ </div>
+ <!-- <div class="slds-col">
+ <div if:true={showSearchBox}>
+ <div class="slds-p-horizontal_x-small slds-p-bottom_xx-small">
+ <lightning-input label="" type="search" placeholder="Search" variant="label-hidden" onchange={handleKeyChange}></lightning-input>
+ </div>
+ </div>
+ </div> -->
+ </div>
+
+ <div class="slds-grid slds-grid_vertical-align-center slds-grid_align-spread">
+ <div class="slds-col">
+ <div class="slds-col slds-p-bottom_xx-small">
+ <span>
+ <label class="slds-text-color_weak slds-p-horizontal_x-small" >Total: {filtredNum}</label>
+ </span>
+ <span>
+ <label class="slds-text-color_weak slds-p-horizontal_x-small" >Selected: {totalSelected}</label>
+ </span>
+ </div>
+ </div>
+ </div>
+
+
+ <div class="slds-grid slds-grid_vertical-align-center slds-grid_align-spread" >
+ <div class="slds-col" style={tableHeightStyle}>
+ <lightning-datatable key-field={keyField}
+ hide-checkbox-column = {hidecheckboxcolumn}
+ data={recordsToDisplay}
+ columns={columns}
+ max-row-selection={maxRowSelection}
+ onrowselection={getSelectedRows}
+ selected-rows={preSelected}
+ default-sort-direction={defaultSortDirection}
+ sorted-direction={sortDirection}
+ sorted-by={sortedBy}
+ onsort={handelSort}
+ show-row-number-column = {showrownumber}>
+ </lightning-datatable>
+ </div>
+ </div>
+
+ <div class="slds-grid slds-grid_vertical-align-center slds-grid_align-spread" style="padding-top: 0.5em;">
+ <div class="slds-col"></div>
+ <div class="slds-col"></div>
+ <!--PAGE NAVIGATION-->
+ <div class="slds-col">
+ <div style={paginationVisibility}>
+ <div class="slds-col slds-p-bottom_xx-small">
+ <span>
+ <lightning-button-icon icon-name="utility:chevronleft" variant="bare" size="medium" alternative-text="Previous Page" onclick={previousPage}></lightning-button-icon>
+ </span>
+ <label class="slds-text-color_weak slds-p-horizontal_x-small" for="pageNum">Page:</label>
+ <input type="number" id="pageNum" value={pageNumber} maxlength="4" onkeypress={handlePageNumberChange} class="customInput" title="Go to a Page"></input>
+ <span> of <b id="totalPages">{totalPages}</b></span>
+ <span>
+ <template if:true={pageNumber}></template>
+ <lightning-button-icon icon-name="utility:chevronright" variant="bare" size="medium" alternative-text="Next Page" onclick={nextPage} class="slds-p-horizontal_x-small"></lightning-button-icon>
+ </span>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ </template>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lwcDatatableUtility/lwcDatatableUtility.js b/force-app/main/default/lwc/lwcDatatableUtility/lwcDatatableUtility.js
new file mode 100644
index 0000000..a6ede92
--- /dev/null
+++ b/force-app/main/default/lwc/lwcDatatableUtility/lwcDatatableUtility.js
@@ -0,0 +1,273 @@
+import { LightningElement, api,track } from 'lwc';
+import customUnitTemplate from './templates/customUnit.html';
+import customShipmentNumberTemplate from './templates/customShipmentNumber.html';
+import customShippingUnitPriceTemplate from './templates/customShippingUnitPrice.html';
+
+const DELAY = 300;
+const recordsPerPage = [5,10,25,50,75,100];
+const pageNumber = 1;
+const SHOWDIV = 'visibility:visible';
+const HIDEDIV = 'visibility:hidden';
+const DEFAULTHEIGHT = '300';
+
+export default class LwcDatatableUtility extends LightningElement {
+
+ static customTypes = {
+ customUnit: {
+ template: customUnitTemplate,
+ standardCellLayout: true,
+ typeAttributes: ['Id'],
+ },
+ customShipment: {
+ template: customShipmentNumberTemplate,
+ standardCellLayout: true,
+ typeAttributes: ['Id'],
+ },
+ customShipmentUnitPrice: {
+ template: customShippingUnitPriceTemplate,
+ standardCellLayout: true,
+ typeAttributes: ['Id'],
+ }
+ // Other types here
+ }
+
+ // Input Attributes from Parent Componant
+ @api keyField = 'Id';
+ @api showSearchBox = false; //Show/hide search box; valid values are true/false
+ @api showPagination; //Show/hide pagination; valid values are true/false
+ @api pageSizeOptions = recordsPerPage; //Page size options; valid values are array of integers
+ @api totalRecords; //Total no.of records; valid type is Integer
+ @api records; //All records available in the data table; valid type is Array
+ @api maxRowSelection; //All records available in the data table; valid type is Array
+ @api columns = []; //Records to be displayed on the page
+ @api hidecheckboxcolumn = false;
+ @api showrownumber = false;
+
+ tableHeightStyle = 'height: '+ DEFAULTHEIGHT +'px;'; // Set Default Height as 300px
+ @api
+ get tableHeight() {
+ return this.tableHeightStyle;
+ }
+
+ set tableHeight(value) {
+ this.tableHeightStyle = 'height: '+ value +'px;';
+ }
+
+ pageSize; //No.of records to be displayed per page
+ totalPages; //Total no.of pages
+ pageNumber = pageNumber; //Page number
+ searchKey; //Search Input
+ paginationVisibility = SHOWDIV;
+ rowNumberOffset; //Row number
+ preSelected; //preSelectedOnDisplay
+ recordsToDisplay = []; //Records to be displayed on the page
+
+ filteredRecords = []; //Filtered records available in the data table; valid type is Array
+ selectedRecords = []; //OverallSelected records in the data table; valid type is Array
+ pageSelectedRecords = []; //Page Selected rows in the data table; valid type is Array
+ filtredNum; // Total no.of Filtered records; valid type is Integer
+ totalSelected = 0;
+ refreshCurrentData;
+ //SORT
+ defaultSortDirection = 'asc';
+ sortDirection = 'asc';
+ sortedBy;
+
+ //Called after the component finishes inserting to DOM
+ connectedCallback() {
+ console.log('杩涘叆 瀛愮粍浠� connectedCallback ');
+ console.log('this.records = ' + JSON.stringify(this.records));
+ console.log('keyField = ' + this.keyField);
+ if(this.pageSizeOptions && this.pageSizeOptions.length > 0)
+ this.pageSize = this.pageSizeOptions[0];
+ else{
+ this.pageSize = this.totalRecords;
+ this.showPagination = false;
+ }
+ this.paginationVisibility = this.showPagination === false ? HIDEDIV : SHOWDIV;
+ this.filteredRecords = this.records;
+ this.filtredNum = this.totalRecords;
+ this.setRecordsOnPage();
+ }
+
+ handleRecordsPerPage(event){
+ this.pageSize = event.target.value;
+ this.setRecordsOnPage();
+ }
+
+ handlePageNumberChange(event){
+ if(event.keyCode === 13){
+ this.pageNumber = event.target.value;
+ this.setRecordsOnPage();
+ }
+ }
+
+ previousPage(){
+ this.pageNumber = this.pageNumber-1;
+ this.setRecordsOnPage();
+ }
+ nextPage(){
+ this.pageNumber = this.pageNumber+1;
+ this.setRecordsOnPage();
+ }
+
+ @api
+ setRecordsOnPage(){
+ this.recordsToDisplay = [];
+ if(!this.pageSize)
+ this.pageSize = this.filtredNum;
+
+ this.totalPages = Math.ceil(this.filtredNum/this.pageSize);
+
+ this.setPaginationControls();
+ for(let i=(this.pageNumber-1)*this.pageSize; i < this.pageNumber*this.pageSize; i++){
+ if(i === this.filtredNum) break;
+ this.recordsToDisplay.push(this.filteredRecords[i]);
+ }
+
+ this.preSelected = [];
+ this.selectedRecords.forEach((item) => {
+ if(item.selected)
+ this.preSelected.push(item.Id);
+ })
+ let paginatedRecords = new Object();
+ paginatedRecords.recordsToDisplay = this.recordsToDisplay;
+ paginatedRecords.preSelected = this.preSelected;
+ if(this.maxRowSelection === '1' ){
+ this.totalSelected = 0;
+ }
+ if(this.selectedRecords && this.selectedRecords.length > 0){
+ this.refreshCurrentData = true;
+ }
+ }
+
+ setPaginationControls(){
+ // Previous/Next buttons visibility by Total pages
+ if(this.totalPages === 1){
+ this.showPrevious = HIDEDIV;
+ this.showNext = HIDEDIV;
+ }else if(this.totalPages > 1){
+ this.showPrevious = SHOWDIV;
+ this.showNext = SHOWDIV;
+ }
+ // Previous/Next buttons visibility by Page number
+ if(this.pageNumber <= 1){
+ this.pageNumber = 1;
+ this.showPrevious = HIDEDIV;
+ }else if(this.pageNumber >= this.totalPages){
+ this.pageNumber = this.totalPages;
+ this.showNext = HIDEDIV;
+ }
+ // Previous/Next buttons visibility by Pagination visibility
+ if(this.paginationVisibility === HIDEDIV){
+ this.showPrevious = HIDEDIV;
+ this.showNext = HIDEDIV;
+ }
+ }
+
+ handleKeyChange(event) {
+ window.clearTimeout(this.delayTimeout);
+ const searchKey = event.target.value;
+ if(searchKey){
+ this.delayTimeout = setTimeout(() => {
+ //this.paginationVisibility = HIDEDIV;
+ this.setPaginationControls();
+
+ this.searchKey = searchKey;
+ //Use other field name here in place of 'Name' field if you want to search by other field
+ //this.recordsToDisplay = this.records.filter(rec => rec.includes(searchKey));
+ //Search with any column value (Updated as per the feedback)
+ this.filteredRecords = this.records.filter(rec => JSON.stringify(rec).toLowerCase().includes(searchKey.toLowerCase()));
+ this.filtredNum = this.filteredRecords.length;
+ this.setRecordsOnPage();
+ }, DELAY);
+ }else{
+ this.filteredRecords = this.records;
+ this.filtredNum = this.totalRecords;
+ this.paginationVisibility = SHOWDIV;
+ this.setRecordsOnPage();
+ }
+ }
+
+ handelRowsSelected(selectedRows) {
+ console.log(selectedRows.length);
+ this.totalSelected = 0;
+ this.pageSelectedRecords = [];
+ if(this.maxRowSelection != '1' && this.recordsToDisplay &&
+ this.recordsToDisplay.length > 0 &&
+ ((selectedRows.length === 0 && !this.refreshCurrentData) || selectedRows.length > 0) ){
+ this.recordsToDisplay.forEach((item)=>{
+ var row = new Object();
+ row.Id = item.Id;
+ if(selectedRows.includes(item.Id)){
+ row.selected = true;
+ }else{
+ row.selected = false;
+ }
+ this.pageSelectedRecords.push(row) ;
+ });
+ }
+ // To store previous row Selection
+ if(this.selectedRecords.length == 0 ){
+ this.selectedRecords = this.pageSelectedRecords;
+ }
+ this.selectedRecords = this.mergeObjectArray(this.selectedRecords, this.pageSelectedRecords, "Id");
+ if(this.maxRowSelection === '1' && selectedRows && selectedRows.length > 0){
+ this.totalSelected = 1;
+ }else{
+ let i=0;
+ this.selectedRecords.forEach(item => {
+ if(item.selected){
+ i++;
+ this.totalSelected = i;
+ }
+ })
+ //this.totalSelected = this.totalSelected ===1 && selectedRows.length ===0? 0: this.totalSelected;
+ }
+ const filterSelected = this.selectedRecords.filter(({ selected }) => selected === true );
+ this.dispatchEvent(new CustomEvent('setselectedrecords', {detail: filterSelected})); //Send records to display on table to the parent component
+ this.refreshCurrentData = false;
+ }
+
+ mergeObjectArray(firstArray, secondArray, prop){
+ var reduced = firstArray.filter( aitem => ! secondArray.find ( bitem => aitem[prop] === bitem[prop]) )
+ //let arr3 = arr1.map((item, i) => Object.assign({}, item, arr2[i]));
+ return reduced.concat(secondArray);
+ }
+
+ getSelectedRows(event) {
+ const selectedRows = event.detail.selectedRows;
+ let selectedRecordIds = [];
+ // Display that fieldName of the selected rows
+ for (let i = 0; i < selectedRows.length; i++){
+ selectedRecordIds.push(selectedRows[i].Id);
+ }
+ this.handelRowsSelected(selectedRecordIds);
+ }
+
+ handelSort(event){
+ const { fieldName: sortedBy, sortDirection } = event.detail;
+ const cloneData = [...this.filteredRecords];
+ cloneData.sort(this.sortBy(sortedBy, sortDirection === 'asc' ? 1 : -1));
+ this.filteredRecords = cloneData;
+ this.sortDirection = sortDirection;
+ this.sortedBy = sortedBy;
+ this.setRecordsOnPage();
+ }
+
+ 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));
+ };
+ }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lwcDatatableUtility/lwcDatatableUtility.js-meta.xml b/force-app/main/default/lwc/lwcDatatableUtility/lwcDatatableUtility.js-meta.xml
new file mode 100644
index 0000000..4087371
--- /dev/null
+++ b/force-app/main/default/lwc/lwcDatatableUtility/lwcDatatableUtility.js-meta.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>48.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/lwcDatatableUtility/templates/customShipmentNumber.html b/force-app/main/default/lwc/lwcDatatableUtility/templates/customShipmentNumber.html
new file mode 100644
index 0000000..62d1cfc
--- /dev/null
+++ b/force-app/main/default/lwc/lwcDatatableUtility/templates/customShipmentNumber.html
@@ -0,0 +1,11 @@
+<template>
+ <lightning-input
+ type="text"
+ name="shipmentNumber"
+ label="deliveryOrderNo"
+ variant="label-hidden"
+ onchange={dataChange}
+ data-field="shipmentNumber"
+ value={shipmentNumber}
+ ></lightning-input>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lwcDatatableUtility/templates/customShippingUnitPrice.html b/force-app/main/default/lwc/lwcDatatableUtility/templates/customShippingUnitPrice.html
new file mode 100644
index 0000000..d10e147
--- /dev/null
+++ b/force-app/main/default/lwc/lwcDatatableUtility/templates/customShippingUnitPrice.html
@@ -0,0 +1,11 @@
+<template>
+ <lightning-input
+ type="number"
+ name="shipmentUnitPrice"
+ label="deliveryOrderNo"
+ variant="label-hidden"
+ onchange={dataChange}
+ data-field="shipmentUnitPrice"
+ value={shipmentUnitPrice}
+ ></lightning-input>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lwcDatatableUtility/templates/customUnit.html b/force-app/main/default/lwc/lwcDatatableUtility/templates/customUnit.html
new file mode 100644
index 0000000..169416c
--- /dev/null
+++ b/force-app/main/default/lwc/lwcDatatableUtility/templates/customUnit.html
@@ -0,0 +1,8 @@
+<!-- sldsValidatorIgnore -->
+<!-- sldsValidatorIgnore -->
+<template>
+ <select>
+ <option value="鐩�">鐩�</option>
+ <option value="涓�">涓�</option>
+ </select>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/maintenanceContract/maintenanceContract.css b/force-app/main/default/lwc/maintenanceContract/maintenanceContract.css
new file mode 100644
index 0000000..791aaa3
--- /dev/null
+++ b/force-app/main/default/lwc/maintenanceContract/maintenanceContract.css
@@ -0,0 +1,11 @@
+.customPagination {
+ margin-top: 10px;
+ background-color: white;
+ border-radius: 3px;
+}
+
+.customPagination>a {
+ padding: 5px 10px;
+ font-size: 10px;
+ font-weight:bolder
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/maintenanceContract/maintenanceContract.html b/force-app/main/default/lwc/maintenanceContract/maintenanceContract.html
new file mode 100644
index 0000000..1b38400
--- /dev/null
+++ b/force-app/main/default/lwc/maintenanceContract/maintenanceContract.html
@@ -0,0 +1,301 @@
+<template>
+ <div class="exampleHolder" if:true={IsLoading}>
+ <lightning-spinner alternative-text="Loading" size="large"></lightning-spinner>
+ </div>
+
+ <!-- 寮规 -->
+ <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>
+ </div>
+ </div>
+
+ <!-- End -->
+
+ <div style="margin-left: 5px;margin-top: 5px;height:160px">
+ <div style="width: 800px;">
+ <div class="slds-grid slds-wrap">
+ <div class="slds-col slds-size_3-of-12" >
+ <lightning-input type="text" label="鍚堝悓璇环缂栫爜" placeholder="璇疯緭鍏ュ悎鍚岃浠风紪鐮�" value={ManagementCodeSearch} onchange={ManagementCodeSearchChange} ></lightning-input>
+ </div>
+
+ <div class="slds-col slds-size_3-of-12" >
+ <lightning-input type="text" label="鍚堝悓鍚�" placeholder="璇疯緭鍏ュ悎鍚屽悕" value={NameSearch} onchange={NameSearchChange} ></lightning-input>
+ </div>
+
+ <div class="slds-col slds-size_3-of-12" >
+ <!-- <lightning-input type="text" label="璁板綍绫诲瀷" placeholder="璇疯緭鍏ヨ褰曠被鍨�" value={RecordTypeSearch} onchange={RecordTypeSearchChange} ></lightning-input>
+ -->
+ <lightning-combobox
+ label="璁板綍绫诲瀷"
+ value={RecordTypeSearch}
+ placeholder="璇烽�夋嫨璁板綍绫诲瀷"
+ options={RecordTypeSearchList}
+ onchange={RecordTypeSearchChange}
+ ></lightning-combobox>
+ </div>
+
+ <div class="slds-col slds-size_3-of-12" >
+
+ </div>
+
+ <div class="slds-col slds-size_3-of-12" >
+ <lightning-input type="text" label="鍖婚櫌" placeholder="璇疯緭鍏ュ尰闄�" value={HospitalSearch} onchange={HospitalSearchChange} ></lightning-input>
+ </div>
+
+ <div class="slds-col slds-size_3-of-12" >
+ <lightning-input type="text" label="OCSM绠$悊鐪�" placeholder="璇疯緭鍏CSM绠$悊鐪�" value={OCSMglsSearch} onchange={OCSMglsSearchChange} ></lightning-input>
+ </div>
+
+ <div class="slds-col slds-size_3-of-12" >
+ <lightning-input type="text" label="涓绘媴褰�" placeholder="璇疯緭鍏ヤ富鎷呭綋" value={ZddSearch} onchange={ZddSearchChange} ></lightning-input>
+ </div>
+
+
+
+
+ <div class="slds-col slds-size_1-of-12" >
+ <button class="slds-button slds-button_brand" onclick={OnSearch} style="margin-top:20px">妫�绱�</button>
+ </div>
+
+ <!-- <div class="slds-col slds-size_1-of-12" >
+ <button class="slds-button slds-button_brand" onclick={OnUpdateDataFn} style="margin-top:20px">淇濆瓨</button>
+ </div> -->
+
+ </div>
+ </div>
+ </div>
+
+ <div style={tab} if:true={iftab}>
+ <c-jz-table data-parent-id="table2" selecttitle={selecttitle2} notselecttitle={notselecttitle2} selectdata={selectdata2} isselectedtable={isselectedtable2} optionsdata={optionsdata2} notselectdata={notselectdata2} ondatachange={datachange2} onselectedchange={selectedchange2} onurlclick={urlClickFn}> </c-jz-table>
+ </div>
+ <!-- 鍒嗛〉 start-->
+ <div class="customPagination">
+ <a onclick={lastPage}>涓婁竴椤�</a>
+ <template for:each={paginationRange} for:item="pageNumber">
+ <!-- style={apagination} -->
+ <a if:true={pageNumber.ifagechange} data-target-number={pageNumber.i} key={pageNumber.i} style="color: red;" onclick={handlePaginationClick}>{pageNumber.i}</a>
+ <a if:true={pageNumber.ifagenochange} data-target-number={pageNumber.i} key={pageNumber.i} onclick={handlePaginationClick}>{pageNumber.i}</a>
+ </template>
+ <a onclick={nextPage}>涓嬩竴椤�</a>
+ </div>
+ <!-- 鍒嗛〉 end-->
+
+ <!-- 妯℃�佹 -->
+ <div if:true={ModelShow}>
+ <section role="dialog" tabindex="-1" aria-label="Meaningful description of the modal content" aria-modal="true" aria-describedby="modal-content-id-1" class="slds-modal slds-fade-in-open">
+ <div class="slds-modal__container">
+ <header class="slds-modal__header slds-modal__header_empty">
+ <button class="slds-button slds-button_icon slds-modal__close slds-button_icon-inverse" title="Close">
+ <svg class="slds-button__icon slds-button__icon_large" aria-hidden="true">
+ <use xlink:href="/assets/icons/utility-sprite/svg/symbols.svg#close"></use>
+ </svg>
+ <span class="slds-assistive-text">鍏抽棴</span>
+ </button>
+ </header>
+ <div class="slds-modal__content slds-p-around_medium" id="modal-content-id-1">
+ <div>
+ <lightning-combobox
+ label="鍏蜂綋鍘熷洜"
+ value={TempData.Specific_Reasons__c}
+ placeholder="璇烽�夋嫨澶卞崟鍘熷洜(娆�)"
+ options={JTYYList}
+ onchange={Specific_Reasons__cFn}
+ data-parent-id="model1"
+ ></lightning-combobox>
+ </div>
+
+ <div if:true={Other_Reasons__cShow}>
+ <lightning-input type="text" label="鍏朵粬鍘熷洜锛堟墜鍐欙級" placeholder="璇烽�夋嫨澶卞崟鍨嬪彿"
+ value={TempData.Other_Reasons__c} onchange={Other_Reasons__cFn} data-parent-id="model2" >
+ </lightning-input>
+
+ </div>
+
+ <div>
+ <lightning-combobox
+ label="鍘诲悜"
+ value={TempData.To_Where__c}
+ placeholder="璇烽�夋嫨鍘诲悜"
+ options={QXList}
+ onchange={To_Where__cFn}
+ data-parent-id="model3"
+ ></lightning-combobox>
+ </div>
+
+ <div if:true={Third_Party_Company__cShow}>
+ <lightning-input type="text" label="绗笁鏂瑰叕鍙�" placeholder="绗笁鏂瑰叕鍙�"
+ value={TempData.Third_Party_Company__c} onchange={Third_Party_Company__cFn} data-parent-id="model4" >
+ </lightning-input>
+
+ </div>
+
+ <div if:true={Third_Party_Contract_Price__cShow}>
+ <lightning-input type="text" label="绗笁鏂规垚绾︿环鏍�" placeholder="璇烽�夋嫨绗笁鏂规垚绾︿环鏍�"
+ value={TempData.Third_Party_Contract_Price__c} onchange={Third_Party_Contract_Price__cFn} data-parent-id="model5">
+ </lightning-input>
+
+ </div>
+
+
+ <div if:true={Other__cShow}>
+ <lightning-input type="text" label="鍏朵粬锛堟墜鍐欙級" placeholder="璇烽�夋嫨鍏朵粬锛堟墜鍐欙級"
+ value={TempData.Other__c} onchange={Other__cFn} data-parent-id="model6">
+ </lightning-input>
+
+ </div>
+
+ <div style="height:100px;width:200px"></div>
+ </div>
+ <footer class="slds-modal__footer">
+ <button class="slds-button slds-button_brand" onclick={SaveClickFn} data-parent-id="model7">淇濆瓨</button>
+ <button class="slds-button slds-button_brand" onclick={SubmitClickFn} data-parent-id="model8">鎻愪氦瀹℃牳</button>
+ <button class="slds-button slds-button_neutral" onclick={ModelCancelFn}>鍙栨秷</button>
+
+ </footer>
+ </div>
+ </section>
+ <div class="slds-backdrop slds-backdrop_open"></div>
+ </div>
+
+
+ <!-- 缁忛攢鍟嗘ā鎬佹 -->
+ <div if:true={JXSModelShow}>
+ <section role="dialog" tabindex="-1" aria-label="Meaningful description of the modal content" aria-modal="true" aria-describedby="modal-content-id-1" class="slds-modal slds-fade-in-open">
+ <div class="slds-modal__container">
+ <header class="slds-modal__header slds-modal__header_empty">
+ <button class="slds-button slds-button_icon slds-modal__close slds-button_icon-inverse" title="Close">
+ <svg class="slds-button__icon slds-button__icon_large" aria-hidden="true">
+ <use xlink:href="/assets/icons/utility-sprite/svg/symbols.svg#close"></use>
+ </svg>
+ <span class="slds-assistive-text">鍏抽棴</span>
+ </button>
+ </header>
+ <div class="slds-modal__content slds-p-around_medium" id="modal-content-id-2">
+
+ <c-jzlookuplightning data-parent-id="lookupyy1" onsearchchange={onsearchchange1} objectname="Maintenance_Contract__c" fieldname="Dealer__c" > </c-jzlookuplightning>
+
+ <div style="height:100px;width:200px"></div>
+ </div>
+ <footer class="slds-modal__footer">
+ <!-- <button class="slds-button slds-button_brand" onclick={SaveClickJxsFn}>淇濆瓨</button> -->
+ <button class="slds-button slds-button_neutral" onclick={ModelCancelJxsFn}>鍙栨秷</button>
+
+ </footer>
+ </div>
+ </section>
+ <div class="slds-backdrop slds-backdrop_open"></div>
+
+
+ </div>
+
+ <!-- 涓绘媴褰撴ā鎬佹 -->
+ <div if:true={ZDDModelShow}>
+ <section role="dialog" tabindex="-1" aria-label="Meaningful description of the modal content" aria-modal="true" aria-describedby="modal-content-id-1" class="slds-modal slds-fade-in-open">
+ <div class="slds-modal__container">
+ <header class="slds-modal__header slds-modal__header_empty">
+ <button class="slds-button slds-button_icon slds-modal__close slds-button_icon-inverse" title="Close">
+ <svg class="slds-button__icon slds-button__icon_large" aria-hidden="true">
+ <use xlink:href="/assets/icons/utility-sprite/svg/symbols.svg#close"></use>
+ </svg>
+ <span class="slds-assistive-text">鍏抽棴</span>
+ </button>
+ </header>
+ <div class="slds-modal__content slds-p-around_medium" id="modal-content-id-3">
+
+ <c-jzlookuplightning data-parent-id="lookupyy2" onsearchchange={onsearchchangeZDD} objectname="Maintenance_Contract__c" fieldname="Service_Contract_Staff__c" > </c-jzlookuplightning>
+
+ <div style="height:100px;width:200px"></div>
+ </div>
+ <footer class="slds-modal__footer">
+ <!-- <button class="slds-button slds-button_brand" onclick={SaveClickJxsFn}>淇濆瓨</button> -->
+ <button class="slds-button slds-button_neutral" onclick={ModelCancelZDDFn}>鍙栨秷</button>
+
+ </footer>
+ </div>
+ </section>
+ <div class="slds-backdrop slds-backdrop_open"></div>
+ </div>
+
+
+
+ <!-- 鍖婚櫌妯℃�佹 -->
+ <div if:true={YYModelShow}>
+ <section role="dialog" tabindex="-1" aria-label="Meaningful description of the modal content" aria-modal="true" aria-describedby="modal-content-id-1" class="slds-modal slds-fade-in-open">
+ <div class="slds-modal__container">
+ <header class="slds-modal__header slds-modal__header_empty">
+ <button class="slds-button slds-button_icon slds-modal__close slds-button_icon-inverse" title="Close">
+ <svg class="slds-button__icon slds-button__icon_large" aria-hidden="true">
+ <use xlink:href="/assets/icons/utility-sprite/svg/symbols.svg#close"></use>
+ </svg>
+ <span class="slds-assistive-text">鍏抽棴</span>
+ </button>
+ </header>
+ <div class="slds-modal__content slds-p-around_medium" id="modal-content-id-4">
+
+ <c-jzlookuplightning data-parent-id="lookupyy3" onsearchchange={onsearchchangeYY} objectname="Maintenance_Contract__c" fieldname="Hospital__c" > </c-jzlookuplightning>
+
+ <div style="height:100px;width:200px"></div>
+ </div>
+ <footer class="slds-modal__footer">
+ <!-- <button class="slds-button slds-button_brand" onclick={SaveClickJxsFn}>淇濆瓨</button> -->
+ <button class="slds-button slds-button_neutral" onclick={ModelCancelYYFn}>鍙栨秷</button>
+
+ </footer>
+ </div>
+ </section>
+ <div class="slds-backdrop slds-backdrop_open"></div>
+ </div>
+
+
+ <!-- 绉戝妯℃�佹 -->
+ <div if:true={KSModelShow}>
+ <section role="dialog" tabindex="-1" aria-label="Meaningful description of the modal content" aria-modal="true" aria-describedby="modal-content-id-1" class="slds-modal slds-fade-in-open">
+ <div class="slds-modal__container">
+ <header class="slds-modal__header slds-modal__header_empty">
+ <button class="slds-button slds-button_icon slds-modal__close slds-button_icon-inverse" title="Close">
+ <svg class="slds-button__icon slds-button__icon_large" aria-hidden="true">
+ <use xlink:href="/assets/icons/utility-sprite/svg/symbols.svg#close"></use>
+ </svg>
+ <span class="slds-assistive-text">鍏抽棴</span>
+ </button>
+ </header>
+ <div class="slds-modal__content slds-p-around_medium" id="modal-content-id-5">
+
+ <c-jzlookuplightning data-parent-id="lookupyy4" onsearchchange={onsearchchangeKS} objectname="Maintenance_Contract__c" fieldname="Department__c" > </c-jzlookuplightning>
+
+ <div style="height:100px;width:200px"></div>
+ </div>
+ <footer class="slds-modal__footer">
+ <!-- <button class="slds-button slds-button_brand" onclick={SaveClickJxsFn}>淇濆瓨</button> -->
+ <button class="slds-button slds-button_neutral" onclick={ModelCancelKSFn}>鍙栨秷</button>
+
+ </footer>
+ </div>
+ </section>
+ <div class="slds-backdrop slds-backdrop_open"></div>
+ </div>
+
+
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/maintenanceContract/maintenanceContract.js b/force-app/main/default/lwc/maintenanceContract/maintenanceContract.js
new file mode 100644
index 0000000..219c89f
--- /dev/null
+++ b/force-app/main/default/lwc/maintenanceContract/maintenanceContract.js
@@ -0,0 +1,988 @@
+import { LightningElement,track } from 'lwc';
+
+
+import SearchData from '@salesforce/apex/MaintenanceContractController.SearchData';
+import GetJTYY from '@salesforce/apex/MaintenanceContractController.GetJTYY';
+import GetQX from '@salesforce/apex/MaintenanceContractController.GetQX';
+
+import SaveData from '@salesforce/apex/MaintenanceContractController.SaveData';
+
+import SubmitData from '@salesforce/apex/MaintenanceContractController.SubmitData';
+
+import SearchLostReportData from '@salesforce/apex/MaintenanceContractController.SearchLostReportData';
+
+import GetUserById from '@salesforce/apex/MaintenanceContractController.GetUserById';
+
+import GetAccountById from '@salesforce/apex/MaintenanceContractController.GetAccountById';
+
+import SaveUpdateData from '@salesforce/apex/MaintenanceContractController.SaveUpdateData';
+
+export default class MaintenanceContract extends LightningElement {
+ iftab=false;
+ tab="";
+ IsLoading = false;
+ OnLoading(flag){
+ this.IsLoading = flag;
+ }
+
+
+
+//鎻愮ず
+Tongzhishow=false; //鎻愮ず鏄剧ず鐨勬爣璇�
+SaveShowText="鎿嶄綔鎴愬姛"; //鎻愮ず鏄剧ず鐨勬枃鏈�
+TongzhiIcon = 'standard:account' //鎻愮ず鏄剧ず鐨勬爣绛�
+IsLeftStyle = "" //鎻愮ず鏄剧ず鐨勬牱寮�
+BgColorStyle = ""
+Alert(content,error = false,left = false){
+ this.SaveShowText = content;
+ this.Tongzhishow = true;
+ // setTimeout(()=>{
+ // this.Tongzhishow = false;
+ // this.SaveShowText = "";
+ // },3000)
+ 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()
+{
+ if (this.Tongzhishow == true) {
+ this.Tongzhishow = false;
+ }
+ if (this.SaveShowText != "") {
+ this.SaveShowText = "";
+ }
+
+}
+
+
+
+ connectedCallback()
+ {
+ this.getTableData();
+ var windowsheight=(window.screen.availHeight-255);
+ this.tab="height:"+windowsheight+"px;overflow:scroll;margin-left: 5px;margin-top: 5px;";
+ this.iftab=true;
+ this.InitPorpsData();
+ }
+
+ ///閲戦鏍煎紡鍖�
+ moneyFormat (value) { // 閲戦 鏍煎紡鍖�
+ if (!value && value !== 0) return '-';
+ var intPart = Number(value) | 0; //鑾峰彇鏁存暟閮ㄥ垎
+ var intPartFormat = intPart.toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,'); //灏嗘暣鏁伴儴鍒嗛�笁涓�鏂�
+
+ var floatPart = ".00"; //棰勫畾涔夊皬鏁伴儴鍒�
+ var value2Array = value.toString().split(".");
+
+ //=2琛ㄧず鏁版嵁鏈夊皬鏁颁綅
+ if (value2Array.length == 2) {
+ floatPart = value2Array[1].toString(); //鎷垮埌灏忔暟閮ㄥ垎
+
+ if (floatPart.length == 1) { //琛�0,瀹為檯涓婄敤涓嶇潃
+ return intPartFormat + "." + floatPart + '0';
+ } else {
+ return intPartFormat + "." + floatPart;
+ }
+ } else {
+ return intPartFormat + floatPart;
+ }
+ }
+
+ //鍒濆鍖栨柟娉�
+ InitPorpsData()
+ {
+ GetJTYY().then(response=>{var data = JSON.parse(response);this.JTYYList = data; console.warn(this.JTYYList);})
+
+ GetQX().then(response=>{var data = JSON.parse(response);this.QXList = data;})
+ }
+
+
+ //鍒嗛〉鐢ㄥ埌鐨勫睘鎬� fy start
+ @track paginationRange = [];
+ ifagechange=false;
+ ifagenochange=true;
+ notselectdata2copy=[];
+ //鍒嗛〉鐢ㄥ埌鐨勫睘鎬� fy end
+ //String OCSMglsSearch,String ZddSearch,String RecordTypeSearch
+ getTableData()
+ {
+ console.warn("Search "+this.ManagementCodeSearch);
+ SearchData({ManagementCodeSearch:this.ManagementCodeSearch,NameSearch:this.NameSearch,HospitalSearch:this.HospitalSearch,cmlsearch:this.OCSMglsSearch,zddseach:this.ZddSearch,recordtype:this.RecordTypeSearch}).then(result=>{
+
+ var responseObj = JSON.parse(result);
+
+ responseObj.forEach(element => {
+ element.show1 = "鍏抽棴缁";
+
+ if (element.Hospital__r != undefined && element.Hospital__r.Name!=undefined) {
+ element.Hospital__r_Name = element.Hospital__r.Name;
+ }
+ if (element.Department__r != undefined && element.Department__r.Name!=undefined) {
+ element.Department__r_Name = element.Department__r.Name;
+ }
+
+ if (element.Service_Contract_Staff__r != undefined && element.Service_Contract_Staff__r.Alias!=undefined) {
+
+ element.Service_Contract_Staff__r_Name = element.Service_Contract_Staff__r.Alias;
+ }
+
+ if (element.Dealer__r != undefined && element.Dealer__r.Name!=undefined) {
+ element.Dealer__r_Name = element.Dealer__r.Name;
+ }
+
+ if (element.Status__c != undefined) {
+ if (element.Status__c == "寮曞悎涓�") {
+ element.Status__c = '璇环涓�'
+ }
+ if (element.Status__c == "濂戠磩") {
+ element.Status__c = '鍚堝悓涓�'
+ }
+ if (element.Status__c == "鏈绱�") {
+ element.Status__c = '鏈悎鍚�(鍙栨秷)'
+ }
+ if (element.Status__c == "濂戠磩婧�浜�") {
+ element.Status__c = '鍚堝悓缁撴潫'
+ }
+ }
+
+ if (element.Contract_Amount_F__c != undefined) {
+ element.Contract_Amount_F__c = this.moneyFormat( element.Contract_Amount_F__c );
+ }
+ if (element.Sum_repair_price_new__c != undefined) {
+ element.Sum_repair_price_new__c = this.moneyFormat( element.Sum_repair_price_new__c );
+ }
+ if (element.Contract_Consumption_rate__c != undefined) {
+ element.Contract_Consumption_rate__c = element.Contract_Consumption_rate__c+"%";
+ }
+
+ if (element.Recommended_Lowerprice__c != undefined) {
+ element.Recommended_Lowerprice__c = this.moneyFormat( element.Recommended_Lowerprice__c );
+ }
+ if (element.Recommended_Upperprice__c != undefined) {
+ element.Recommended_Upperprice__c = this.moneyFormat( element.Recommended_Upperprice__c );
+ }
+
+ // element.Hospital__r_Name = element.Hospital__r.Name;
+ // element.Department__r_Name = element.Department__r.Name;
+ // element.Service_Contract_Staff__r_Name = element.Service_Contract_Staff__r.Name;
+ });
+ //鍒嗛〉椤甸潰鍔犺浇鏃� fy start
+ let i=1;
+ let count=responseObj.length;
+ if(count){
+ var paginationNumbers = Math.ceil(count / 10);
+ var pagination=[];
+ for(i;i<=paginationNumbers;i++){
+ var page={i:'',ifagechange:'',ifagenochange:''};
+ page.i=i;
+ if(i==1){
+ page.ifagechange=true;
+ page.ifagenochange=false;
+ pagination.push(page);
+ }else{
+ page.ifagechange=false;
+ page.ifagenochange=true;
+ pagination.push(page);
+ }
+ }
+ this.paginationRange=pagination;
+ }
+ this.notselectdata2copy = responseObj;
+ // this.notselectdata2 = responseObj;
+ debugger
+ let num=0;
+ var pagedate=[];
+ if(count>=10){
+ num=10;
+ }else{
+ num=count;
+ }
+ for(var j=0;j<num;j++){
+ pagedate.push(responseObj[j])
+ }
+ this.notselectdata2=pagedate;
+ //鍒嗛〉椤甸潰鍔犺浇鏃� fy end
+ this.template.querySelector('[data-parent-id="table2"]').refreshdata([],this.notselectdata2 );
+
+ this.getShiDan();
+ })
+ }
+
+ getShiDan()
+ {
+ this.TempData =={
+ Specific_Reasons__c :'',
+ To_Where__c : '',
+ Status__c:"",
+ Other_Reasons__c:"",
+ Other__c:"",
+ Third_Party_Company__c:"",
+ Third_Party_Contract_Price__c:"",
+ Maintenance_Contract__c:""
+ };
+ var TempData = [];
+ this.notselectdata2.forEach(element => {
+ TempData.push(element.Id);
+ });
+
+ SearchLostReportData({Ids:TempData}).then(response=>{
+ this.ShiDanList = JSON.parse(response);
+
+ })
+
+ }
+
+
+
+ //--
+
+
+
+// Hospital__r.Name,Department__r.Name,Service_Contract_Staff__r.Name
+ @track optionsdata2=[
+ {
+ label:"鍚堝悓鍙风爜",
+ props:"Management_Code__c",
+ Type:"url",
+ url:"Id",
+ },
+ {
+ label:"鍖婚櫌鍚�",
+ props:"Hospital__r_Name",
+ Type:"text",
+ // Type:"urlNoJump",
+ },
+ {
+ label:"绉戝",
+ props:"Department__r_Name",
+ Type:"text",
+ // Type:"urlNoJump",
+ },
+ {
+ label:"鎶ヤ环鎻愪氦瀵硅薄",
+ props:"Estimate_Target__c",
+ Type:"text",
+ // Type:"checkBox",
+ CheckOptionData:['缁忛攢鍟�','鍖婚櫌']
+ },
+ {
+ label:"缁忛攢鍟嗗悕",
+ props:"Dealer__r_Name",
+ Type:"text",
+ // Type:"urlNoJump",
+ },
+ {
+ label:"涓绘媴褰�",
+ props:"Service_Contract_Staff__r_Name",
+ Type:"text",
+ // Type:"urlNoJump",
+ },
+ {
+ label:"鍖婚櫌OCSM",
+ props:"HP_OCM__c",
+ Type:"text",
+ },
+ // {
+ // label:"绛夌骇",
+ // props:"1",
+ // Type:"text",
+ // },
+ {
+ label:"鍚堝悓缁撴潫鏃�",
+ props:"Contract_End_Date__c",
+ Type:"text",
+ },
+ {
+ label:"鍚堝悓鐘舵��",
+ props:"Status__c",
+ Type:"text",
+ },
+ {
+ label:"璺濆嚭淇濇棩鏁�",
+ props:"NowToEnd__c",
+ Type:"text",
+ },
+ {
+ label:"璺濆嚭淇濆懆鏈�",
+ props:"From_warranty_period__c",
+ Type:"text",
+ },
+ {
+ label:"褰撴湡鍚堝悓閲戦",
+ props:"Contract_Amount_F__c",
+ Type:"text",
+ },
+ {
+ label:"鍚堝悓鏈熼棿淇悊閲戦",
+ props:"Sum_repair_price_new__c",
+ Type:"text",
+ },
+ // {
+ // label:"缁閲囩敤",
+ // props:"6",
+ // Type:"text",
+ // },
+ {
+ label:"缁閲囩敤娑堣垂鐜�",
+ props:"Contract_Consumption_rate__c",
+ Type:"text",
+ },
+ // {
+ // label:"鎺ㄨ崘缁浠锋牸",
+ // props:"Recommended_renewal_price__c",
+ // Type:"text",
+ // },
+ {
+ label:" 鎺ㄨ崘缁浠锋牸(涓婇檺)",
+ props:"Recommended_Upperprice__c",
+ Type:"text",
+ },
+ {
+ label:"鎺ㄨ崘缁浠锋牸(涓嬮檺)",
+ props:"Recommended_Lowerprice__c",
+ Type:"text",
+ },
+ // {
+ // label:"鎺ㄨ崘缁浠锋牸",
+ // props:"8",
+ // Type:"text",
+ // },
+ {
+ label:"鏁版嵁纭",
+ props:"show1",
+ Type:"urlNoJump",
+ },
+ ]
+
+
+
+ @track notselectdata2=[
+ ]
+
+ ShiDanList=[]; //澶卞崟闆嗗悎
+ @track isselectedtable2 = false;
+
+ //鍏蜂綋鍘熷洜
+ JTYYList = [];
+ //鍘诲悜
+ QXList = [];
+
+
+
+
+ initsearchdata2(event){
+ var detail = event.detail;
+
+ return [];
+
+ }
+
+ datachange2(event)
+ {
+
+ this.SaveDataListPushFn(event.detail.Id);
+ this.UpdateProsToId(event.detail.Id,event.detail.prop,event.detail.CurrentValue);
+
+ }
+
+
+
+
+ selectedchange2(event)
+ {
+ debugger;
+ console.warn("selectedchange");
+ console.warn(event.detail);
+ }
+
+
+ //鎼滅储鏉′欢
+
+ ManagementCodeSearch = '';//鎼滅储
+ NameSearch = ''; // 鍚堝悓鍚�
+ HospitalSearch = '';//鍖婚櫌
+ OCSMglsSearch = '';//OCSM绠$悊鐪� Service_man_province_HP__c
+ ZddSearch = '';//涓绘媴褰�
+ RecordTypeSearch = '';//璁板綍绫诲瀷
+ RecordTypeSearchList = [
+ {label: "缁翠慨鍚堝悓",value: "缁翠慨鍚堝悓"},
+ {label: "鏈嶅姟鍚堝悓",value: "鏈嶅姟鍚堝悓"},
+ {label: "澶氬勾淇濅慨鍚堝悓",value: "澶氬勾淇濅慨鍚堝悓"},
+ ]
+ ManagementCodeSearchChange(event)
+ {
+ debugger;
+ this.ManagementCodeSearch = event.target.value.trim();
+ }
+
+ NameSearchChange(event)
+ {
+ this.NameSearch = event.target.value;
+ }
+
+ HospitalSearchChange(event)
+ {
+ this.HospitalSearch = event.target.value.trim();
+ }
+
+ OCSMglsSearchChange(event)
+ {
+ this.OCSMglsSearch = event.target.value.trim();
+ }
+ ZddSearchChange(event)
+ {
+ this.ZddSearch = event.target.value.trim();
+ }
+ RecordTypeSearchChange(event)
+ {
+ this.RecordTypeSearch = event.target.value.trim();
+ }
+
+ OnSearch(event)
+ {
+ this.getTableData();
+ }
+
+ TempData ={
+ Specific_Reasons__c :'',
+ To_Where__c : '',
+ Status__c:"",
+ Other_Reasons__c:"",
+ Other__c:"",
+ Third_Party_Company__c:"",
+ Third_Party_Contract_Price__c:"",
+ Maintenance_Contract__c:""
+ }
+ Other_Reasons__cShow = false;
+ Third_Party_Company__cShow = false;
+ Third_Party_Contract_Price__cShow = false;
+ Other__cShow = false;
+
+
+ ModelShow = false;
+ ModelIsDistory = false;
+ // show1
+ modalShow1Fn(event)
+ {
+ var Id = event.detail.Id;
+ var Temp = undefined;
+ this.ShiDanList.forEach(item=>{
+ if (item.Maintenance_Contract__c == Id) {
+ Temp = {...{},...item};
+ }
+ })
+
+ if (Temp != undefined) {
+ this.TempData = Temp;
+ if (this.TempData.Status__c == '鎵瑰噯' || this.TempData.Status__c == '瀹℃壒涓�') {
+ this.ModelIsDistory = true;
+ }
+ }
+ if (this.TempData.Specific_Reasons__c == "鍏朵粬锛堟墜鍐欙級") {
+ this.Other_Reasons__cShow = true;
+ }else
+ {
+ this.Other_Reasons__cShow = false;
+ }
+
+ if (this.TempData.To_Where__c == '鍖婚櫌閫夋嫨绗笁鏂�') {
+ this.Third_Party_Company__cShow= true;
+ this.Third_Party_Contract_Price__cShow= true;
+ }else
+ {
+ this.Third_Party_Company__cShow= false;
+ this.Third_Party_Contract_Price__cShow= false;
+ }
+
+ if (this.TempData.To_Where__c == '鍏朵粬锛堟墜鍐欙級') {
+ this.Other__cShow = true;
+ }else
+ {
+ this.Other__cShow = false;
+ }
+
+ this.TempData.Maintenance_Contract__c = Id;
+ this.ModelShow = true;
+
+ setTimeout(()=>{
+ if ( this.ModelIsDistory == true) {
+ this.OnDisableModelBar();
+ }
+ },500);
+
+ }
+ //绂佺敤妯℃�佹涓殑缁勪欢
+ OnDisableModelBar()
+ {
+ var model1 = this.template.querySelectorAll('[data-parent-id="model1"]');
+ model1.forEach(fileInput=>{
+ fileInput.disabled = true;
+ })
+
+ var model2 = this.template.querySelectorAll('[data-parent-id="model2"]');
+ model2.forEach(fileInput=>{
+ fileInput.disabled = true;
+ })
+
+ var model3 = this.template.querySelectorAll('[data-parent-id="model3"]');
+ model3.forEach(fileInput=>{
+ fileInput.disabled = true;
+ })
+
+ var model4 = this.template.querySelectorAll('[data-parent-id="model4"]');
+ model4.forEach(fileInput=>{
+ fileInput.disabled = true;
+ })
+
+
+ var model5 = this.template.querySelectorAll('[data-parent-id="model5"]');
+ model5.forEach(fileInput=>{
+ fileInput.disabled = true;
+ })
+ var model6 = this.template.querySelectorAll('[data-parent-id="model6"]');
+ model6.forEach(fileInput=>{
+ fileInput.disabled = true;
+ })
+ var model7 = this.template.querySelectorAll('[data-parent-id="model7"]');
+ model7.forEach(fileInput=>{
+ fileInput.disabled = true;
+ })
+ var model8 = this.template.querySelectorAll('[data-parent-id="model8"]');
+ model8.forEach(fileInput=>{
+ fileInput.disabled = true;
+ })
+
+
+ }
+
+ Specific_Reasons__cFn(event)
+ {
+ var values = event.target.value;
+ // var IndexNum = event.target.name;
+ if (values == '鍏朵粬锛堟墜鍐欙級') {
+ this.Other_Reasons__cShow= true;
+ }else{
+ this.Other_Reasons__cShow= false;
+ }
+
+ this.TempData.Specific_Reasons__c = values;
+ }
+
+ Other_Reasons__cFn(event)
+ {
+
+ var values = event.target.value;
+
+ this.TempData.Other_Reasons__c = values;
+ console.warn(this.TempData.Other_Reasons__c);
+ }
+ To_Where__cFn(event)
+ {
+ var values = event.target.value;
+ if (values == '鍖婚櫌閫夋嫨绗笁鏂�') {
+ this.Third_Party_Company__cShow= true;
+ this.Third_Party_Contract_Price__cShow= true;
+ }else{
+ this.Third_Party_Company__cShow= false;
+ this.Third_Party_Contract_Price__cShow= false;
+ }
+
+ if (values == '鍏朵粬锛堟墜鍐欙級') {
+ this.Other__cShow = true;
+ }else
+ {
+ this.Other__cShow = false;
+ }
+
+ this.TempData.To_Where__c = values;
+ }
+ Third_Party_Company__cFn(event)
+ {
+ var values = event.target.value;
+ this.TempData.Third_Party_Company__c = values;
+ }
+ Third_Party_Contract_Price__cFn(event)
+ {
+ var values = event.target.value;
+ this.TempData.Third_Party_Contract_Price__c = values;
+ }
+ Other__cFn(event)
+ {
+
+ var values = event.target.value;
+ this.TempData.Other__c = values;
+ console.warn(this.TempData.Other__c);
+ }
+
+
+ SaveClickFn(event)
+ {debugger
+ // this.OnLoading(true);
+ var n = Number(this.TempData.Third_Party_Contract_Price__c);
+ if(!isNaN(n)){
+ SaveData({JsonData:JSON.stringify(this.TempData),Id:this.TempData.Id}).then((response)=>{
+
+ if (response == '鎴愬姛') {
+ this.ModelCancelFn();
+ this.getShiDan();
+
+ setTimeout(()=>{
+ this.Alert("淇濆瓨鎴愬姛");
+ },500);
+
+ }else
+ {
+ setTimeout(()=>{
+ this.Alert(response,true);
+ },500);
+ }
+ });
+ }else{
+ this.Alert("绗笁鏂规垚绾︿环鏍煎繀椤绘槸鏁板瓧",true);
+ }
+
+ }
+
+ SubmitClickFn(event)
+ {
+ // this.OnLoading(true);
+
+ SubmitData({JsonData:JSON.stringify(this.TempData),Id:this.TempData.Id}).then((response)=>{
+
+
+ if (response == '鎴愬姛') {
+ this.ModelCancelFn();
+ this.getShiDan();
+
+ setTimeout(()=>{
+ this.Alert("鎻愪氦鎴愬姛");
+ },500);
+
+ }else
+ {
+ setTimeout(()=>{
+ this.Alert(response,true);
+ },500);
+ }
+ });
+ }
+ ModelCancelFn()
+ {
+ this.ModelShow = false;
+ this.TempData = {
+ Specific_Reasons__c :'',
+ To_Where__c : '',
+ Status__c:"",
+ Other_Reasons__c:"",
+ Other__c:"",
+ Third_Party_Company__c:"",
+ Third_Party_Contract_Price__c:"",
+ Maintenance_Contract__c:""
+ };
+
+ this.Other__cShow = false;
+ this.Third_Party_Company__cShow= false;
+ this.Third_Party_Contract_Price__cShow= false;
+ this.Other_Reasons__cShow = false;
+
+ this.ModelIsDistory = false;
+ }
+
+ clickId = '' //閫変腑鐨処d
+ SaveDataList = [] //淇濆瓨淇敼鐨勬暟鎹�
+ urlClickFn(event)
+ {
+
+ this.clickId = event.detail.Id;
+ this.SaveDataListPushFn(this.clickId);
+ if (event.detail.prop == "show1") {
+ this.modalShow1Fn(event);
+ }
+ //缁忛攢鍟嗗悕绉�
+ else if(event.detail.prop == "Dealer__r_Name")
+ {
+
+ this.JXSModelShow = true;
+ }
+ //涓绘媴褰�
+ else if(event.detail.prop == "Service_Contract_Staff__r_Name")
+ {
+
+ this.ZDDModelShow = true;
+ }
+ //鍖婚櫌
+ else if(event.detail.prop == "Hospital__r_Name")
+ {
+
+ this.YYModelShow = true;
+ }
+ //绉戝
+ else if(event.detail.prop == "Department__r_Name")
+ {
+
+ this.KSModelShow = true;
+ }
+
+
+
+ }
+
+ SaveDataListPushFn(Id)
+ {
+ var flag = true;
+ this.SaveDataList.forEach(item=>{
+ if(item == Id)
+ {
+ flag =false;
+ }
+ });
+ if(flag)
+ {
+ this.SaveDataList.push(Id);
+ }
+ }
+
+
+// 缁忛攢鍟� 妯℃�佹
+ JXSModelShow = false;
+
+ SaveClickJxsFn(event)
+ {
+
+ }
+ ModelCancelJxsFn(event)
+ {
+ this.JXSModelShow = false;
+ }
+
+ onsearchchange1(event){
+
+ var value = event.detail.value;
+ if (value == undefined || value == "") {
+ return;
+ }
+ this.UpdateProsToId(this.clickId,"Dealer__c",value);
+ GetAccountById({Id:value}).then((response)=>{
+ var data = JSON.parse(response);
+ this.UpdateProsToId(this.clickId,"Dealer__r_Name",data[0].Name);
+
+ this.template.querySelector('[data-parent-id="table2"]').refreshdata([],this.notselectdata2);
+
+ this.JXSModelShow = false;
+ });
+
+ }
+//End
+
+// 涓绘媴褰� 妯℃�佹
+ZDDModelShow = false;
+
+SaveClickZDDFn(event)
+{
+
+}
+ModelCancelZDDFn(event)
+{
+ this.ZDDModelShow = false;
+}
+
+onsearchchangeZDD(event){
+
+ var value = event.detail.value;
+ if (value == undefined || value == "") {
+ return;
+ }
+ this.UpdateProsToId(this.clickId,"Service_Contract_Staff__c",value);
+ GetUserById({Id:value}).then((response)=>{
+ var data = JSON.parse(response);
+ this.UpdateProsToId(this.clickId,"Service_Contract_Staff__r_Name",data[0].Name);
+
+ this.template.querySelector('[data-parent-id="table2"]').refreshdata([],this.notselectdata2);
+
+ this.ZDDModelShow = false;
+ });
+
+ }
+//End
+
+// 鍖婚櫌 妯℃�佹
+YYModelShow = false;
+
+SaveClickYYFn(event)
+{
+
+}
+ModelCancelYYFn(event)
+{
+ this.YYModelShow = false;
+}
+
+onsearchchangeYY(event){
+
+ var value = event.detail.value;
+ if (value == undefined || value == "") {
+ return;
+ }
+ this.UpdateProsToId(this.clickId,"Hospital__c",value);
+ GetAccountById({Id:value}).then((response)=>{
+ var data = JSON.parse(response);
+ this.UpdateProsToId(this.clickId,"Hospital__r_Name",data[0].Name);
+
+ this.template.querySelector('[data-parent-id="table2"]').refreshdata([],this.notselectdata2);
+
+ this.YYModelShow = false;
+ });
+
+ }
+//End
+
+// 绉戝 妯℃�佹
+KSModelShow = false;
+
+SaveClickKSFn(event)
+{
+
+}
+ModelCancelKSFn(event)
+{
+ this.KSModelShow = false;
+}
+
+onsearchchangeKS(event){
+
+ var value = event.detail.value;
+ if (value == undefined || value == "") {
+ return;
+ }
+ this.UpdateProsToId(this.clickId,"Department__c",value);
+ GetAccountById({Id:value}).then((response)=>{
+ var data = JSON.parse(response);
+ this.UpdateProsToId(this.clickId,"Department__r_Name",data[0].Name);
+
+ this.template.querySelector('[data-parent-id="table2"]').refreshdata([],this.notselectdata2);
+
+ this.KSModelShow = false;
+ });
+
+ }
+//End
+
+ UpdateProsToId(id,prop,value)
+ {
+ var tepItem = null;
+ this.notselectdata2.forEach(item=>{
+ if (item.Id == id) {
+ item[prop] = value;
+ tepItem = item;
+ console.warn(prop+" value = "+item[prop] +" "+"ClickID="+id);
+ }
+ });
+ return tepItem
+ }
+ // ENd
+
+
+
+ //淇濆瓨
+ OnUpdateDataFn(event)
+ {
+ var SaveDataTemp = [];
+ this.notselectdata2.forEach(item=>{
+ this.SaveDataList.forEach(svItem=>{
+ if (item.Id == svItem) {
+ SaveDataTemp.push(item);
+ }
+ })
+ });
+ console.warn(SaveDataTemp);
+ debugger;
+ var JsonData = JSON.stringify(SaveDataTemp);
+ SaveUpdateData({JsonData:JsonData}).then((response)=>{
+ if (response == '鎴愬姛') {
+ this.getTableData();
+ setTimeout(()=>{
+ this.Alert("淇濆瓨鎴愬姛");
+ },500);
+
+ }else
+ {
+ setTimeout(()=>{
+ this.Alert(response,true);
+ },500);
+ }
+ });
+ }
+ //鍒嗛〉 fy start
+ selectOffsetNumber=1;
+ handlePaginationClick(event) {
+ let offsetNumber = event.target.dataset.targetNumber;
+ this.selectOffsetNumber=offsetNumber;
+ this.changePage(offsetNumber);
+ debugger
+ }
+
+ changePage(offsetNumber){
+ let i=1;
+ let num=0;
+ var pagedate=[];
+ let startSubScript=(offsetNumber-1)*10;
+ let count=this.notselectdata2copy.length;
+ if(count-startSubScript>=10){
+ num=10;
+ }else{
+ num=count-startSubScript;
+ }
+ let SubScript=startSubScript;
+ for(var j=0;j<num;j++){
+ pagedate.push(this.notselectdata2copy[SubScript]);
+ SubScript++;
+ }
+ if(count>0){
+ var paginationNumbers = Math.ceil(count / 10);
+ var pagination=[];
+ for(i;i<=paginationNumbers;i++){
+ var page={i:'',ifagechange:'',ifagenochange:''};
+ page.i=i;
+ if(i==offsetNumber){
+ page.ifagechange=true;
+ page.ifagenochange=false;
+ pagination.push(page);
+ }else{
+ page.ifagechange=false;
+ page.ifagenochange=true;
+ pagination.push(page);
+ }
+ }
+ this.paginationRange=pagination;
+ }
+ this.notselectdata2=pagedate;
+ this.template.querySelector('[data-parent-id="table2"]').refreshdata([],this.notselectdata2 );
+ this.getShiDan();
+ }
+ lastPage(){
+ debugger
+ if(this.selectOffsetNumber>1){
+ this.selectOffsetNumber--;
+ this.changePage(this.selectOffsetNumber);
+ }
+ }
+ nextPage(){
+ debugger
+ if(this.selectOffsetNumber<this.paginationRange.length){
+ this.selectOffsetNumber++;
+ this.changePage(this.selectOffsetNumber);
+ }
+ }
+ //鍒嗛〉 fy end
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/maintenanceContract/maintenanceContract.js-meta.xml b/force-app/main/default/lwc/maintenanceContract/maintenanceContract.js-meta.xml
new file mode 100644
index 0000000..0416469
--- /dev/null
+++ b/force-app/main/default/lwc/maintenanceContract/maintenanceContract.js-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>51.0</apiVersion>
+ <isExposed>false</isExposed>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/maintenanceContractNotOpen/maintenanceContractNotOpen.css b/force-app/main/default/lwc/maintenanceContractNotOpen/maintenanceContractNotOpen.css
new file mode 100644
index 0000000..791aaa3
--- /dev/null
+++ b/force-app/main/default/lwc/maintenanceContractNotOpen/maintenanceContractNotOpen.css
@@ -0,0 +1,11 @@
+.customPagination {
+ margin-top: 10px;
+ background-color: white;
+ border-radius: 3px;
+}
+
+.customPagination>a {
+ padding: 5px 10px;
+ font-size: 10px;
+ font-weight:bolder
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/maintenanceContractNotOpen/maintenanceContractNotOpen.html b/force-app/main/default/lwc/maintenanceContractNotOpen/maintenanceContractNotOpen.html
new file mode 100644
index 0000000..13ec361
--- /dev/null
+++ b/force-app/main/default/lwc/maintenanceContractNotOpen/maintenanceContractNotOpen.html
@@ -0,0 +1,174 @@
+<template>
+ <div class="exampleHolder" if:true={IsLoading}>
+ <lightning-spinner alternative-text="Loading" size="large"></lightning-spinner>
+ </div>
+
+ <!-- 寮规 -->
+ <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>
+ </div>
+ </div>
+
+ <!-- End -->
+
+ <div style="margin-left: 5px;margin-top: 5px;height:160px">
+ <div style="width: 800px;">
+ <div class="slds-grid slds-wrap">
+ <div class="slds-col slds-size_3-of-12" >
+ <lightning-input type="text" label="鍚堝悓璇环缂栫爜" placeholder="璇疯緭鍏ュ悎鍚岃浠风紪鐮�" value={ManagementCodeSearch} onchange={ManagementCodeSearchChange} ></lightning-input>
+ </div>
+
+ <div class="slds-col slds-size_3-of-12" >
+ <lightning-input type="text" label="鍚堝悓鍚�" placeholder="璇疯緭鍏ュ悎鍚屽悕" value={NameSearch} onchange={NameSearchChange}></lightning-input>
+ </div>
+
+ <div class="slds-col slds-size_3-of-12" >
+ <!-- <lightning-input type="text" label="璁板綍绫诲瀷" placeholder="璇疯緭鍏ヨ褰曠被鍨�" value={RecordTypeSearch} onchange={RecordTypeSearchChange} ></lightning-input>
+ -->
+ <lightning-combobox
+ label="璁板綍绫诲瀷"
+ value={RecordTypeSearch}
+ placeholder="璇烽�夋嫨璁板綍绫诲瀷"
+ options={RecordTypeSearchList}
+ onchange={RecordTypeSearchChange}
+ ></lightning-combobox>
+ </div>
+ <div class="slds-col slds-size_1-of-12" >
+ <button class="slds-button slds-button_brand" onclick={OnSearch} style="margin-top:20px">妫�绱�</button>
+ </div>
+
+ <div class="slds-col slds-size_3-of-12" >
+ <lightning-input type="text" label="鍖婚櫌" placeholder="璇疯緭鍏ュ尰闄�" value={HospitalSearch} onchange={HospitalSearchChange} ></lightning-input>
+ </div>
+
+ <div class="slds-col slds-size_3-of-12" >
+ <lightning-input type="text" label="OCSM绠$悊鐪�" placeholder="璇疯緭鍏CSM绠$悊鐪�" value={OCSMglsSearch} onchange={OCSMglsSearchChange} ></lightning-input>
+ </div>
+
+ <div class="slds-col slds-size_3-of-12" >
+ <lightning-input type="text" label="涓绘媴褰�" placeholder="璇疯緭鍏ヤ富鎷呭綋" value={ZddSearch} onchange={ZddSearchChange} ></lightning-input>
+ </div>
+
+ <div class="slds-col slds-size_1-of-12" >
+ <button class="slds-button slds-button_brand" onclick={OnUpdateDataFn} style="margin-top:20px">淇濆瓨</button>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div style={tab} if:true={iftab}>
+ <c-jz-table data-parent-id="table2" selecttitle={selecttitle2} notselecttitle={notselecttitle2} selectdata={selectdata2} isselectedtable={isselectedtable2} optionsdata={optionsdata2} notselectdata={notselectdata2} ondatachange={datachange2} onselectedchange={selectedchange2} onurlclick={urlClickFn}> </c-jz-table>
+ </div>
+ <!-- 鍒嗛〉 start-->
+ <div class="customPagination">
+ <a onclick={lastPage}>涓婁竴椤�</a>
+ <template for:each={paginationRange} for:item="pageNumber">
+ <!-- style={apagination} -->
+ <a if:true={pageNumber.ifagechange} data-target-number={pageNumber.i} key={pageNumber.i} style="color: red;" onclick={handlePaginationClick}>{pageNumber.i}</a>
+ <a if:true={pageNumber.ifagenochange} data-target-number={pageNumber.i} key={pageNumber.i} onclick={handlePaginationClick}>{pageNumber.i}</a>
+ </template>
+ <a onclick={nextPage}>涓嬩竴椤�</a>
+ </div>
+ <!-- 鍒嗛〉 end-->
+ <!-- 妯℃�佹 -->
+ <div if:true={ModelShow}>
+ <section role="dialog" tabindex="-1" aria-label="Meaningful description of the modal content" aria-modal="true" aria-describedby="modal-content-id-1" class="slds-modal slds-fade-in-open">
+ <div class="slds-modal__container">
+ <header class="slds-modal__header slds-modal__header_empty">
+ <button class="slds-button slds-button_icon slds-modal__close slds-button_icon-inverse" title="Close">
+ <svg class="slds-button__icon slds-button__icon_large" aria-hidden="true">
+ <use xlink:href="/assets/icons/utility-sprite/svg/symbols.svg#close"></use>
+ </svg>
+ <span class="slds-assistive-text">鍏抽棴</span>
+ </button>
+ </header>
+ <div class="slds-modal__content slds-p-around_medium" id="modal-content-id-1">
+ <div>
+ <lightning-combobox
+ label="鍏蜂綋鍘熷洜"
+ value={TempData.Specific_Reasons__c}
+ placeholder="璇烽�夋嫨澶卞崟鍘熷洜"
+ options={JTYYList}
+ onchange={Specific_Reasons__cFn}
+ data-parent-id="model1"
+ ></lightning-combobox>
+ </div>
+
+ <div if:true={Other_Reasons__cShow}>
+ <lightning-input type="text" label="鍏朵粬鍘熷洜锛堟墜鍐欙級" placeholder="璇烽�夋嫨澶卞崟鍨嬪彿"
+ value={TempData.Other_Reasons__c} onchange={Other_Reasons__cFn} data-parent-id="model2" >
+ </lightning-input>
+ </div>
+
+ <div if:true={Price_Code}>
+ <c-jzlookupv3 data-parent-id="lookup1" label="鍏宠仈鎶ヤ环缂栫爜" placeholder="璇疯緭鍏ユ姤浠峰悕绉版垨鑰呭悎鍚屽彿.." onsearchchange={onsearchchange} searchdata={searchdata} option={option} onselected={selectedFn}> </c-jzlookupv3>
+ </div>
+
+ <div if:true={GoWhere}>
+ <lightning-combobox
+ label="鍘诲悜"
+ value={TempData.To_Where__c}
+ placeholder="璇烽�夋嫨鍘诲悜"
+ options={QXList}
+ onchange={To_Where__cFn}
+ data-parent-id="model3"
+
+ ></lightning-combobox>
+ </div>
+
+ <div if:true={Third_Party_Company__cShow}>
+ <lightning-input type="text" label="绗笁鏂瑰叕鍙�" placeholder="绗笁鏂瑰叕鍙�"
+ value={TempData.Third_Party_Company__c} onchange={Third_Party_Company__cFn} data-parent-id="model4" >
+ </lightning-input>
+
+ </div>
+
+ <div if:true={Third_Party_Contract_Price__cShow}>
+ <lightning-input type="text" label="绗笁鏂规垚绾︿环鏍�" placeholder="璇烽�夋嫨绗笁鏂规垚绾︿环鏍�"
+ value={TempData.Third_Party_Contract_Price__c} onchange={Third_Party_Contract_Price__cFn} data-parent-id="model5" >
+ </lightning-input>
+
+ </div>
+
+
+ <div if:true={Other__cShow}>
+ <lightning-input type="text" label="鍏朵粬锛堟墜鍐欙級" placeholder="璇峰~鍐欏叾浠栧師鍥狅紙鎵嬪啓锛�"
+ value={TempData.Other__c} onchange={Other__cFn} data-parent-id="model6">
+ </lightning-input>
+
+ </div>
+
+ <div style="height:100px;width:200px"></div>
+ </div>
+ <footer class="slds-modal__footer">
+ <!-- <button class="slds-button slds-button_brand" onclick={SaveClickFn} data-parent-id="model7">淇濆瓨</button> -->
+ <button class="slds-button slds-button_brand" onclick={SubmitClickFn} data-parent-id="model8" >鎻愪氦瀹℃牳</button>
+ <button class="slds-button slds-button_neutral" onclick={ModelCancelFn}>鍙栨秷</button>
+
+ </footer>
+ </div>
+ </section>
+ <div class="slds-backdrop slds-backdrop_open"></div>
+ </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/maintenanceContractNotOpen/maintenanceContractNotOpen.js b/force-app/main/default/lwc/maintenanceContractNotOpen/maintenanceContractNotOpen.js
new file mode 100644
index 0000000..a44c21e
--- /dev/null
+++ b/force-app/main/default/lwc/maintenanceContractNotOpen/maintenanceContractNotOpen.js
@@ -0,0 +1,898 @@
+import { LightningElement,track } from 'lwc';
+
+
+import SearchData from '@salesforce/apex/MaintenanceContractNotOpenController.SearchData';
+import GetJTYY from '@salesforce/apex/MaintenanceContractNotOpenController.GetJTYY';
+import GetQX from '@salesforce/apex/MaintenanceContractNotOpenController.GetQX';
+
+import SaveData from '@salesforce/apex/MaintenanceContractNotOpenController.SaveData';
+
+import SubmitData from '@salesforce/apex/MaintenanceContractNotOpenController.SubmitData';
+
+import SearchLostReportData from '@salesforce/apex/MaintenanceContractNotOpenController.SearchLostReportData';
+import SearchMaintenance_ContractData from '@salesforce/apex/MaintenanceContractNotOpenController.SearchMaintenance_ContractData';
+
+import SaveUpdateData from '@salesforce/apex/MaintenanceContractNotOpenController.SaveUpdateData';
+
+
+export default class MaintenanceContract extends LightningElement {
+ iftab=false;
+ tab="";
+ IsLoading = false;
+ OnLoading(flag){
+ this.IsLoading = flag;
+ }
+
+
+
+//鎻愮ず
+Tongzhishow=false; //鎻愮ず鏄剧ず鐨勬爣璇�
+SaveShowText="鎿嶄綔鎴愬姛"; //鎻愮ず鏄剧ず鐨勬枃鏈�
+TongzhiIcon = 'standard:account' //鎻愮ず鏄剧ず鐨勬爣绛�
+IsLeftStyle = "" //鎻愮ず鏄剧ず鐨勬牱寮�
+BgColorStyle = ""
+Alert(content,error = false,left = false){
+ this.SaveShowText = content;
+ this.Tongzhishow = true;
+ // setTimeout(()=>{
+ // this.Tongzhishow = false;
+ // this.SaveShowText = "";
+ // },3000)
+ 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()
+{
+ if (this.Tongzhishow == true) {
+ this.Tongzhishow = false;
+ }
+ if (this.SaveShowText != "") {
+ this.SaveShowText = "";
+ }
+
+}
+
+
+
+ connectedCallback()
+ {
+ this.getTableData();
+ debugger
+ var windowsheight=(window.screen.availHeight-255);
+ this.tab="height:"+windowsheight+"px;overflow:scroll;margin-left: 5px;margin-top: 5px;";
+ this.iftab=true;
+ this.InitPorpsData();
+ }
+
+
+ //鍒濆鍖栨柟娉�
+ InitPorpsData()
+ {
+ GetJTYY().then(response=>{var data = JSON.parse(response);this.JTYYList = data;})
+ console.log(this.JTYYList);
+ GetQX().then(response=>{var data = JSON.parse(response);this.QXList = data;})
+
+ }
+
+ ///閲戦鏍煎紡鍖�
+ moneyFormat (value) { // 閲戦 鏍煎紡鍖�
+ if (!value && value !== 0) return '-';
+ var intPart = Number(value) | 0; //鑾峰彇鏁存暟閮ㄥ垎
+ var intPartFormat = intPart.toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,'); //灏嗘暣鏁伴儴鍒嗛�笁涓�鏂�
+
+ var floatPart = ".00"; //棰勫畾涔夊皬鏁伴儴鍒�
+ var value2Array = value.toString().split(".");
+
+ //=2琛ㄧず鏁版嵁鏈夊皬鏁颁綅
+ if (value2Array.length == 2) {
+ floatPart = value2Array[1].toString(); //鎷垮埌灏忔暟閮ㄥ垎
+
+ if (floatPart.length == 1) { //琛�0,瀹為檯涓婄敤涓嶇潃
+ return intPartFormat + "." + floatPart + '0';
+ } else {
+ return intPartFormat + "." + floatPart;
+ }
+ } else {
+ return intPartFormat + floatPart;
+ }
+ }
+
+ //鍒嗛〉鐢ㄥ埌鐨勫睘鎬� fy start
+ @track paginationRange = [];
+ ifagechange=false;
+ ifagenochange=true;
+ notselectdata2copy=[];
+ //鍒嗛〉鐢ㄥ埌鐨勫睘鎬� fy end
+ getTableData()
+ {
+ debugger;
+ SearchData({ManagementCodeSearch:this.ManagementCodeSearch,NameSearch:this.NameSearch,HospitalSearch:this.HospitalSearch,cmlsearch:this.OCSMglsSearch,zddseach:this.ZddSearch,recordtype:this.RecordTypeSearch}).then(result=>{
+ debugger;
+ var responseObj = JSON.parse(result);
+ responseObj.forEach(element => {
+ element.show1 = "鍏抽棴璇环";
+ element.Management_Code__c == undefined?"": element.Management_Code__c ;
+ if (element.Hospital__r != undefined && element.Hospital__r.Name!=undefined) {
+ element.Hospital__r_Name = element.Hospital__r.Name;
+ }
+ if (element.Department__r != undefined && element.Department__r.Name!=undefined) {
+ element.Department__r_Name = element.Department__r.Name;
+ }
+
+ if (element.Service_Contract_Staff__r != undefined && element.Service_Contract_Staff__r.Alias!=undefined) {
+
+ element.Service_Contract_Staff__r_Name = element.Service_Contract_Staff__r.Alias;
+ }
+ if (element.Dealer__r != undefined && element.Dealer__r.Name!=undefined) {
+ element.Dealer__r_Name = element.Dealer__r.Name;
+ }
+
+ if (element.Last_year_service_contract__r != undefined && element.Last_year_service_contract__r.Management_Code__c != undefined) {
+ element.Last_year_service_contract__r_Management_Code__c = element.Last_year_service_contract__r.Management_Code__c;
+ }
+ if (element. Estimation_Id__r != undefined && element.Estimation_Id__r.Process_Status__c !=undefined) {
+ element.Estimation_Id__r_Process_Status__c = element.Estimation_Id__r.Process_Status__c;
+ }
+
+ if (element.Estimation_Id__r != undefined && element.Estimation_Id__r.Name !=undefined) {
+ element.Estimation_Id__r_Name = element.Estimation_Id__r.Name;
+ }
+ if (element.Status__c != undefined) {
+ if (element.Status__c == "寮曞悎涓�") {
+ element.Status__c = '璇环涓�'
+ }
+ if (element.Status__c == "濂戠磩") {
+ element.Status__c = '鍚堝悓涓�'
+ }
+ if (element.Status__c == "鏈绱�") {
+ element.Status__c = '鏈悎鍚�(鍙栨秷)'
+ }
+ if (element.Status__c == "濂戠磩婧�浜�") {
+ element.Status__c = '鍚堝悓缁撴潫'
+ }
+ }
+
+ if (element.Contract_Amount__c != undefined) {
+ element.Contract_Amount__c_show = this.moneyFormat( element.Contract_Amount__c );
+ }
+
+ if (element.Three_Years_Repair_Cost__c != undefined) {
+ element.Three_Years_Repair_Cost__c_show = this.moneyFormat( element.Three_Years_Repair_Cost__c );
+ }
+
+ });
+ //鍒嗛〉椤甸潰鍔犺浇鏃� fy start
+ let i=1;
+ let count=responseObj.length;
+ if(count){
+ var paginationNumbers = Math.ceil(count / 10);
+ var pagination=[];
+ for(i;i<=paginationNumbers;i++){
+ var page={i:'',ifagechange:'',ifagenochange:''};
+ page.i=i;
+ if(i==1){
+ page.ifagechange=true;
+ page.ifagenochange=false;
+ pagination.push(page);
+ }else{
+ page.ifagechange=false;
+ page.ifagenochange=true;
+ pagination.push(page);
+ }
+ }
+ this.paginationRange=pagination;
+ }
+ this.notselectdata2copy = responseObj;
+ // this.notselectdata2 = responseObj;
+ debugger
+ let num=0;
+ var pagedate=[];
+ if(count>=10){
+ num=10;
+ }else{
+ num=count;
+ }
+ for(var j=0;j<num;j++){
+ pagedate.push(responseObj[j])
+ }
+ this.notselectdata2 = pagedate;
+ //鍒嗛〉椤甸潰鍔犺浇鏃� fy end
+ this.template.querySelector('[data-parent-id="table2"]').refreshdata([],this.notselectdata2 );
+ this.getShiDan();
+ })
+ }
+
+ getThree(){
+ GetQX1().then(response=>{
+ var data = JSON.parse(response);
+ this.QXList = data[0].To_Where__c;
+ })
+ }
+ getShiDan()
+ {
+ this.TempData =={
+ Specific_Reasons__c :'',
+ To_Where__c : '',
+ Status__c:"",
+ Other_Reasons__c:"",
+
+ Other__c:"",
+ Third_Party_Company__c:"",
+ Third_Party_Contract_Price__c:"",
+ Maintenance_Contract__c:"",
+ MC_Code__c:""
+ };
+ var TempData = [];
+ this.notselectdata2.forEach(element => {
+ TempData.push(element.Id);
+ });
+
+ SearchLostReportData({Ids:TempData}).then(response=>{
+ this.ShiDanList = JSON.parse(response);
+ })
+
+ }
+
+
+
+ //--
+
+
+ @track optionsdata2=[
+ // {
+ // label:"绫诲瀷",
+ // props:"Contract_create_reason__c",
+ // Type:"text",
+ // },
+ {
+ label:"璇环鍙风爜",
+ props:"Management_Code__c",
+ Type:"url",
+ url:"Id",
+ },
+ {
+ label:"涓婃湡鍚堝悓鍙风爜",
+ props:"Last_year_service_contract__r_Management_Code__c",
+ Type:"url",
+ url:"Last_year_service_contract__c",
+ },
+ {
+ label:"鍖婚櫌鍚�",
+ props:"Hospital__r_Name",
+ Type:"text",
+ },
+ // {
+ // label:"绉戝",
+ // props:"Department__r_Name",
+ // Type:"text",
+ // },
+ {
+ label:"鎶ヤ环鎻愪氦瀵硅薄",
+ props:"Estimate_Target__c",
+ Type:"text",
+ },
+ {
+ label:"缁忛攢鍟嗗悕",
+ props:"Dealer__r_Name",
+ Type:"text",
+ },
+ {
+ label:"涓绘媴褰�",
+ props:"Service_Contract_Staff__r_Name",
+ Type:"text",
+ },
+ {
+ label:"鍖婚櫌OCSM绛夌骇",
+ props:"HP_OCM__c",
+ Type:"text",
+ },
+ {
+ label:"璇环绛夌骇",
+ props:"Opportunity_Level__c",
+ Type:"text",
+ },
+ // {
+ // label:"绱璺熻繘娆℃暟",
+ // props:"Cumulative_Followup__c",
+ // Type:"text",
+ // },
+ // {
+ // label:"宸叉彁浜ゆ姤浠峰彿锛堟渶鏂帮級",
+ // props:"",
+ // Type:"text",
+ // },
+ {
+ label:"鏈�鏂帮紙纭锛夌殑鎶ヤ环",
+ props:"Estimation_Id__r_Name",
+ Type:"url",
+ url:"Estimation_Id__c",
+ },
+ {
+ label:"鎶ヤ环鐘舵�� ",
+ props:"Estimation_Id__r_Process_Status__c",
+ Type:"text",
+ },
+ {
+ label:"鏈�鏂扮敵璇蜂环鏍�",
+ props:"Contract_Amount__c_show",
+ Type:"text",
+ },
+ {
+ label:"杩囧幓涓夊勾骞冲潎缁翠慨",
+ props:"Three_Years_Repair_Cost__c_show",
+ Type:"text",
+ },
+ {
+ label:"鍚堝悓绉嶇被",
+ props:"New_Contract_TypeF__c",
+ Type:"text",
+ },
+ {
+ label:"鐢宠浠锋牸绾у埆",
+ props:"Estimate_Price_rangeF__c",
+ Type:"text",
+ },
+ {
+ label:"璇环杩涘睍鐘舵��",
+ props:"Opportunity_Stage__c",
+ // Type:"text",
+ Type:"checkBox",
+ CheckOptionData:['鎰忓悜纭','纭畾鍙傛暟锛堝惈棰勭畻锛�','鍟嗚皥/鎷涙爣','纭畾浠锋牸/涓爣','鎶ヤ环宸插喅瀹�',]
+ },
+ {
+ label:" ",
+ props:"show1",
+ Type:"urlNoJump",
+ },
+ ]
+
+
+
+ @track notselectdata2=[
+ ]
+
+ ShiDanList=[]; //澶卞崟闆嗗悎
+ @track isselectedtable2 = false;
+
+ //鍏蜂綋鍘熷洜
+ JTYYList = [];
+ //鍘诲悜
+ QXList = [];
+ //鎶ヤ环
+ BAOJIAList = [];
+ BJNameList = [];
+
+
+
+
+ initsearchdata2(event){
+ var detail = event.detail;
+
+ return [];
+
+ }
+
+ // datachange2(event)
+ // {
+ // console.warn("datachange");
+ // console.warn(event.detail.Id);
+ // }
+
+ datachange2(event)
+ {
+
+ this.SaveDataListPushFn(event.detail.Id);
+ this.UpdateProsToId(event.detail.Id,event.detail.prop,event.detail.CurrentValue);
+
+ }
+
+ clickId = '' //閫変腑鐨処d
+ SaveDataList = [] //淇濆瓨淇敼鐨勬暟鎹�
+ SaveDataListPushFn(Id)
+ {
+ var flag = true;
+ this.SaveDataList.forEach(item=>{
+ if(item == Id)
+ {
+ flag =false;
+ }
+ });
+ if(flag)
+ {
+ this.SaveDataList.push(Id);
+ }
+ }
+ UpdateProsToId(id,prop,value)
+ {
+ var tepItem = null;
+ this.notselectdata2.forEach(item=>{
+ if (item.Id == id) {
+ item[prop] = value;
+ tepItem = item;
+ console.warn(prop+" value = "+item[prop] +" "+"ClickID="+id);
+ }
+ });
+ return tepItem
+ }
+
+
+ onChange2(){
+ var data = this.template.querySelector('[data-parent-id="table2"]').getdata();
+ console.warn(data);
+ // this.notselectdata2 = [ {Name:"Notname1",Id:"17",Age:1,Sex:"鐢�",Dates:"2012-01-01",SB:"123"},];
+ var tems = this.template.querySelector('[data-parent-id="table2"]').refreshdata([],data.notselectdata);
+
+ }
+
+
+ selectedchange2(event)
+ {
+ console.warn("selectedchange");
+ console.warn(event.detail);
+ }
+
+
+ //鎼滅储鏉′欢
+
+ ManagementCodeSearch = '';//鎼滅储
+ NameSearch = ''; // 鍚堝悓鍚�
+ Maintenance_ContractName ='';
+ HospitalSearch = '';//鍖婚櫌
+ OCSMglsSearch = '';//OCSM绠$悊鐪� Service_man_province_HP__c
+ ZddSearch = '';//涓绘媴褰�
+ RecordTypeSearch = '';//璁板綍绫诲瀷
+ RecordTypeSearchList = [
+ {label: "缁翠慨鍚堝悓",value: "缁翠慨鍚堝悓"},
+ {label: "鏈嶅姟鍚堝悓",value: "鏈嶅姟鍚堝悓"},
+ {label: "澶氬勾淇濅慨鍚堝悓",value: "澶氬勾淇濅慨鍚堝悓"},
+ ]
+ ManagementCodeSearchChange(event)
+ {
+ debugger;
+ this.ManagementCodeSearch = event.target.value.trim();
+ }
+
+ NameSearchChange(event)
+ {
+ this.NameSearch = event.target.value;
+ }
+
+ HospitalSearchChange(event)
+ {
+ this.HospitalSearch = event.target.value.trim();
+ }
+ OCSMglsSearchChange(event)
+ {
+ this.OCSMglsSearch = event.target.value.trim();
+ }
+ ZddSearchChange(event)
+ {
+ this.ZddSearch = event.target.value.trim();
+ }
+ RecordTypeSearchChange(event)
+ {
+ this.RecordTypeSearch = event.target.value.trim();
+ }
+
+
+
+ OnSearch(event)
+ {
+ this.getTableData();
+ }
+
+ TempData ={
+ Specific_Reasons__c :'',
+ To_Where__c : '',
+ Status__c:"",
+ Other_Reasons__c:"",
+ Other__c:"",
+ Third_Party_Company__c:"",
+ Third_Party_Contract_Price__c:"",
+ Maintenance_Contract__c:"",
+ MC_Code__c:""
+ }
+ Other_Reasons__cShow = false;
+ Third_Party_Company__cShow = false;
+ GoWhere = true;
+ Third_Party_Contract_Price__cShow = false;
+ Other__cShow = false;
+ Price_Code = false;
+ Price_Code2 = false;
+
+
+ ModelShow = false;
+ ModelIsDistory = false;
+ urlClickFn(event)
+ {
+ var Id = event.detail.Id;
+ var Temp = undefined;
+ this.ShiDanList.forEach(item=>{
+ if (item.Maintenance_Contract__c == Id) {
+ Temp = {...{},...item};
+ }
+ })
+ debugger;
+ if (Temp != undefined) {
+ this.TempData = Temp;
+ if (this.TempData.Status__c == '鎵瑰噯' || this.TempData.Status__c == '瀹℃壒涓�') {
+ this.ModelIsDistory = true;
+ }
+ }
+ this.TempData.Maintenance_Contract__c = Id;
+ this.ModelShow = true;
+
+ setTimeout(()=>{
+ if ( this.ModelIsDistory == true) {
+ this.OnDisableModelBar();
+ }
+ },500);
+
+ }
+ //绂佺敤妯℃�佹涓殑缁勪欢
+ OnDisableModelBar()
+ {
+ var model1 = this.template.querySelectorAll('[data-parent-id="model1"]');
+ model1.forEach(fileInput=>{
+ fileInput.disabled = true;
+ })
+
+ var model2 = this.template.querySelectorAll('[data-parent-id="model2"]');
+ model2.forEach(fileInput=>{
+ fileInput.disabled = true;
+ })
+
+ var model3 = this.template.querySelectorAll('[data-parent-id="model3"]');
+ model3.forEach(fileInput=>{
+ fileInput.disabled = true;
+ })
+
+ var model4 = this.template.querySelectorAll('[data-parent-id="model4"]');
+ model4.forEach(fileInput=>{
+ fileInput.disabled = true;
+ })
+
+
+ var model5 = this.template.querySelectorAll('[data-parent-id="model5"]');
+ model5.forEach(fileInput=>{
+ fileInput.disabled = true;
+ })
+ var model6 = this.template.querySelectorAll('[data-parent-id="model6"]');
+ model6.forEach(fileInput=>{
+ fileInput.disabled = true;
+ })
+ var model7 = this.template.querySelectorAll('[data-parent-id="model7"]');
+ model7.forEach(fileInput=>{
+ fileInput.disabled = true;
+ })
+ var model8 = this.template.querySelectorAll('[data-parent-id="model8"]');
+ model8.forEach(fileInput=>{
+ fileInput.disabled = true;
+ })
+
+
+ }
+
+ Specific_Reasons__cFn(event)
+ {
+ var values = event.target.value;
+ // var IndexNum = event.target.name;
+ if (values == '鍏朵粬锛堟墜鍐欙級') {
+ this.Other_Reasons__cShow= true;
+ }else{
+ this.Other_Reasons__cShow= false;
+ }
+ if (values == '閲嶅鎶ヤ环') {
+ this.Price_Code = true;
+ this.GoWhere= false;
+ }else{
+ this.Price_Code = false;
+ this.GoWhere= true;
+ }
+ if (values == '杞涓夋柟鎴栫淮淇墭绠�') {
+ this.TempData.QXList = '鍖婚櫌閫夋嫨绗笁鏂�';
+ this.TempData.To_Where__c = '鍖婚櫌閫夋嫨绗笁鏂�';
+ this.Third_Party_Company__cShow= true;
+ this.Third_Party_Contract_Price__cShow= true;
+ this.template.querySelector('[data-parent-id="model3"]').disabled = true;
+ this.template.querySelector('[data-parent-id="model3"]').refreshdata([],this.QXList );
+
+ }else{
+ this.Third_Party_Company__cShow= false;
+ this.Third_Party_Contract_Price__cShow= false;
+ this.template.querySelector('[data-parent-id="model3"]').disabled = false;
+ }
+ this.TempData.Specific_Reasons__c = values;
+ }
+
+ Other_Reasons__cFn(event)
+ {
+ var values = event.target.value;
+
+ this.TempData.Other_Reasons__c = values;
+ }
+ Maintenance_Contract__c1Fn(event)
+ {
+ var values = event.target.value;
+
+ this.Maintenance_ContractName = values;
+ }
+
+ // onsearchchange1(event){
+ // var values = event.detail.value;
+
+ // this.Maintenance_ContractName = values;
+ // this.TempData.MC_Code__c = this.Maintenance_ContractName ;
+
+ // this.Maintenance_Contract__cFn();
+
+ // }
+ // tempArr = [];
+
+ option = [{lableOne:"Name",lableTwo:"RecordType_Name__c"}]
+ searchdata=[];
+ onsearchchange(event){
+ var searchContentStr = event.detail.searchContent;
+ SearchMaintenance_ContractData({name:searchContentStr}).then(response=>{
+ var datas = JSON.parse(response);
+ this.searchdata = datas;
+ console.log(this.searchdata+'!');
+ this.template.querySelector('[data-parent-id="lookup1"]').refreshdata(this.searchdata);
+ })
+ if (searchContentStr == undefined || searchContentStr == '') {
+ this.YYSelectedId = '';
+ }
+ }
+ YYSelectedId = '';
+ selectedFn(event)
+ {
+ console.warn(event.detail.selectdata.Id);
+ this.YYSelectedId = event.detail.selectdata.Id;
+ this.Maintenance_ContractName = this.YYSelectedId ;
+ this.TempData.MC_Code__c = this.Maintenance_ContractName ;
+ }
+
+ // Maintenance_Contract__cFn(event)
+ // {
+ // SearchMaintenance_ContractData({name:this.Maintenance_ContractName}).then(response=>{
+ // debugger;
+ // this.BAOJIAList = JSON.parse(response);
+ // this.BAOJIAList.forEach(item=>{
+ // this.tempArr.push(item.name);
+ // })
+ // })
+ // }
+ // MC_Code__cFn(event)
+ // {
+ // var values = event.target.value;
+ // console.log(values);
+ // this.TempData.MC_Code__c = values;
+ // }
+ To_Where__cFn(event)
+ {
+ var values = event.target.value;
+ if (values == '鍖婚櫌閫夋嫨绗笁鏂�') {
+ this.Third_Party_Company__cShow= true;
+ this.Third_Party_Contract_Price__cShow= true;
+ }else{
+ this.Third_Party_Company__cShow= false;
+ this.Third_Party_Contract_Price__cShow= false;
+ }
+
+ if (values == '鍏朵粬锛堟墜鍐欙級') {
+ this.Other__cShow = true;
+ }else
+ {
+ this.Other__cShow = false;
+ }
+
+
+ this.TempData.To_Where__c = values;
+ }
+ Third_Party_Company__cFn(event)
+ {
+ var values = event.target.value;
+ this.TempData.Third_Party_Company__c = values;
+ }
+ Third_Party_Contract_Price__cFn(event)
+ {
+ var values = event.target.value;
+ this.TempData.Third_Party_Contract_Price__c = values;
+ }
+ Other__cFn(event)
+ {
+ var values = event.target.value;
+ this.TempData.Other__c = values;
+ }
+
+
+ SaveClickFn(event)
+ {
+ // this.OnLoading(true);
+ debugger;
+ SaveData({JsonData:JSON.stringify(this.TempData),Id:this.TempData.Id}).then((response)=>{
+ debugger;
+ this.ModelCancelFn();
+ if (response == '鎴愬姛') {
+ this.getShiDan();
+
+ setTimeout(()=>{
+ this.Alert("淇濆瓨鎴愬姛");
+ },500);
+
+ }else
+ {
+ setTimeout(()=>{
+ this.Alert(response,true);
+ },500);
+ }
+ });
+ }
+
+ SubmitClickFn(event)
+ {
+ // this.OnLoading(true);
+ debugger;
+ SubmitData({JsonData:JSON.stringify(this.TempData),Id:this.TempData.Id}).then((response)=>{
+ debugger;
+
+ if (response == '鎴愬姛') {
+ this.ModelCancelFn();
+ this.getShiDan();
+
+ setTimeout(()=>{
+ this.Alert("鎻愪氦鎴愬姛");
+ },500);
+
+ }else
+ {
+ setTimeout(()=>{
+ this.Alert(response,true);
+ },500);
+ }
+ });
+ }
+ ModelCancelFn()
+ {
+ this.ModelShow = false;
+ this.TempData = {
+ Specific_Reasons__c :'',
+ To_Where__c : '',
+ Status__c:"",
+ Other_Reasons__c:"",
+
+ Other__c:"",
+ Third_Party_Company__c:"",
+ Third_Party_Contract_Price__c:"",
+ Maintenance_Contract__c:"",
+ MC_Code__c:""
+ };
+ this.Other__cShow = false;
+
+ this.Third_Party_Company__cShow= false;
+ this.Third_Party_Contract_Price__cShow= false;
+ this.Other_Reasons__cShow = false;
+ this.Price_Code = false;
+ this.ModelIsDistory = false;
+ }
+ // ENd
+
+
+
+ //淇濆瓨
+ OnUpdateDataFn(event)
+ {
+ var SaveDataTemp = [];
+ this.notselectdata2.forEach(item=>{
+ if (item.Status__c != undefined) {
+ if (item.Status__c == "璇环涓�") {
+ item.Status__c = '寮曞悎涓�'
+ }
+ if (item.Status__c == "鍚堝悓涓�") {
+ item.Status__c = '濂戠磩'
+ }
+ if (item.Status__c == "鏈悎鍚�(鍙栨秷)") {
+ item.Status__c = '鏈绱�'
+ }
+ if (item.Status__c == "鍚堝悓缁撴潫") {
+ item.Status__c = '濂戠磩婧�浜�'
+ }
+ }
+ this.SaveDataList.forEach(svItem=>{
+ if (item.Id == svItem) {
+ SaveDataTemp.push(item);
+ }
+ })
+ });
+ console.warn(SaveDataTemp);
+ debugger;
+ var JsonData = JSON.stringify(SaveDataTemp);
+ SaveUpdateData({JsonData:JsonData}).then((response)=>{
+ if (response == '鎴愬姛') {
+ this.getTableData();
+ setTimeout(()=>{
+ this.Alert("淇濆瓨鎴愬姛");
+ },500);
+
+ }else
+ {
+ setTimeout(()=>{
+ this.Alert(response,true);
+ },500);
+ }
+ });
+ }
+ //鍒嗛〉 fy start
+ selectOffsetNumber=1;
+ handlePaginationClick(event) {
+ let offsetNumber = event.target.dataset.targetNumber;
+ this.selectOffsetNumber=offsetNumber;
+ this.changePage(offsetNumber);
+ debugger
+ }
+
+ changePage(offsetNumber){
+ let i=1;
+ let num=0;
+ var pagedate=[];
+ let startSubScript=(offsetNumber-1)*10;
+ let count=this.notselectdata2copy.length;
+ if(count-startSubScript>=10){
+ num=10;
+ }else{
+ num=count-startSubScript;
+ }
+ let SubScript=startSubScript;
+ for(var j=0;j<num;j++){
+ pagedate.push(this.notselectdata2copy[SubScript]);
+ SubScript++;
+ }
+ if(count>0){
+ var paginationNumbers = Math.ceil(count / 10);
+ var pagination=[];
+ for(i;i<=paginationNumbers;i++){
+ var page={i:'',ifagechange:'',ifagenochange:''};
+ page.i=i;
+ if(i==offsetNumber){
+ page.ifagechange=true;
+ page.ifagenochange=false;
+ pagination.push(page);
+ }else{
+ page.ifagechange=false;
+ page.ifagenochange=true;
+ pagination.push(page);
+ }
+ }
+ this.paginationRange=pagination;
+ }
+ this.notselectdata2=pagedate;
+ this.template.querySelector('[data-parent-id="table2"]').refreshdata([],this.notselectdata2 );
+ this.getShiDan();
+ }
+ lastPage(){
+ debugger
+ if(this.selectOffsetNumber>1){
+ this.selectOffsetNumber--;
+ this.changePage(this.selectOffsetNumber);
+ }
+ }
+ nextPage(){
+ debugger
+ if(this.selectOffsetNumber<this.paginationRange.length){
+ this.selectOffsetNumber++;
+ this.changePage(this.selectOffsetNumber);
+ }
+ }
+ //鍒嗛〉 fy end
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/maintenanceContractNotOpen/maintenanceContractNotOpen.js-meta.xml b/force-app/main/default/lwc/maintenanceContractNotOpen/maintenanceContractNotOpen.js-meta.xml
new file mode 100644
index 0000000..0416469
--- /dev/null
+++ b/force-app/main/default/lwc/maintenanceContractNotOpen/maintenanceContractNotOpen.js-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>51.0</apiVersion>
+ <isExposed>false</isExposed>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/multiSelectCombobox/multiSelectCombobox .css b/force-app/main/default/lwc/multiSelectCombobox/multiSelectCombobox .css
new file mode 100644
index 0000000..4442364
--- /dev/null
+++ b/force-app/main/default/lwc/multiSelectCombobox/multiSelectCombobox .css
@@ -0,0 +1,35 @@
+.verticalAlign {
+ cursor: pointer;
+ padding: 0px 5px !important;
+}
+.slds-dropdown {
+ padding:0px !important;
+}
+.recordListBox {
+ margin-top:0px !important;
+ overflow-y: scroll;
+}
+.slds-listbox li {
+ padding: .45rem 0.7rem !important;
+ display: flex;
+}
+.inputBox input {
+ padding-left: 10px;
+}
+.eachItem:hover {
+ background-color: #F1F1F1;
+ cursor: pointer;
+}
+
+/* For Scrolling */
+::-webkit-scrollbar {
+ width: 7px;
+ height: 7px;
+}
+::-webkit-scrollbar-track {
+ display: none !important;
+}
+::-webkit-scrollbar-thumb {
+ border-radius: 10px;
+ background: rgba(0,0,0,0.4);
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/multiSelectCombobox/multiSelectCombobox.html b/force-app/main/default/lwc/multiSelectCombobox/multiSelectCombobox.html
new file mode 100644
index 0000000..de0e5d5
--- /dev/null
+++ b/force-app/main/default/lwc/multiSelectCombobox/multiSelectCombobox.html
@@ -0,0 +1,56 @@
+<!--
+ * @Description:
+ * @version:
+ * @Author: chen jing wu
+ * @Date: 2023-04-25 17:41:26
+ * @LastEditors: chen jing wu
+ * @LastEditTime: 2023-04-25 17:45:57
+-->
+
+<!-- Code by CafeForce || www.cafeforce.com || support@cafeforce.com || Mandatory Header -->
+<template>
+
+ <!-- Header Label -->
+ <template if:true={label}>
+ <label class="slds-form-element__label">{label}</label>
+ </template>
+ <div class="slds-combobox_container">
+ <div class="slds-combobox slds-dropdown-trigger slds-dropdown-trigger_click slds-is-open" aria-expanded="true" aria-haspopup="listbox" role="combobox">
+ <!-- Search Input -->
+ <div class="slds-combobox__form-element slds-input-has-icon slds-input-has-icon_right" role="none">
+ <lightning-input disabled={disabled} class="inputBox" placeholder="Select an Option" onblur={blurEvent} onclick={showOptions} onkeyup={filterOptions} value={searchString} auto-complete="off" variant="label-hidden" id="combobox-id-1" ></lightning-input>
+ <lightning-icon class="slds-input__icon" icon-name="utility:down" size="x-small" alternative-text="search"></lightning-icon>
+ </div>
+ <!-- Dropdown List -->
+ <template if:true={showDropdown}>
+ <div id="listbox-id-1" class="slds-dropdown slds-dropdown_length-5 slds-dropdown_fluid"><!--style="{! 'max-height:' + (8 + (v.recordCount * 40)) + 'px' }""-->
+ <ul class="slds-listbox slds-listbox_vertical recordListBox" role="presentation">
+ <template if:false={message} >
+ <template for:each={optionData} for:item="option">
+ <template if:true={option.isVisible}>
+ <li key={option.value} data-id={option.value} onmousedown={selectItem} class="slds-listbox__item eachItem">
+ <template if:true={option.selected}>
+ <lightning-icon icon-name="utility:check" size="x-small" alternative-text="icon" ></lightning-icon>
+ </template>
+ <span class="slds-media slds-listbox__option_entity verticalAlign slds-truncate">{option.label}</span>
+ </li>
+ </template>
+ </template>
+ </template>
+ <template if:true={message} >
+ <li class="slds-listbox__item">
+ <span class="slds-media slds-listbox__option_entity verticalAlign slds-truncate">{message}</span>
+ </li>
+ </template>
+ </ul>
+ </div>
+ </template>
+ </div>
+ </div>
+ <!-- Multi Select Pills -->
+ <template for:each={optionData} for:item="option">
+ <template if:true={option.selected}>
+ <lightning-pill key={option.value} class="slds-m-around_xx-small" name={option.value} label={option.label} onremove={removePill}></lightning-pill>
+ </template>
+ </template>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/multiSelectCombobox/multiSelectCombobox.js b/force-app/main/default/lwc/multiSelectCombobox/multiSelectCombobox.js
new file mode 100644
index 0000000..67085ff
--- /dev/null
+++ b/force-app/main/default/lwc/multiSelectCombobox/multiSelectCombobox.js
@@ -0,0 +1,177 @@
+/* Code by CafeForce || www.cafeforce.com || support@cafeforce.com || Mandatory Header */
+import { LightningElement, track, api } from 'lwc';
+
+export default class MultiSelectCombobox extends LightningElement {
+
+ @api options;
+ @api selectedValue;
+ @api selectedValues = [];
+ @api label;
+ @api minChar = 2;
+ @api disabled = false;
+ @api multiSelect = false;
+ @track value;
+ @track values = [];
+ @track optionData;
+ @track searchString;
+ @track message;
+ @track showDropdown = false;
+
+ connectedCallback() {
+ this.showDropdown = false;
+ var optionData = this.options ? (JSON.parse(JSON.stringify(this.options))) : null;
+ var value = this.selectedValue ? (JSON.parse(JSON.stringify(this.selectedValue))) : null;
+ var values = this.selectedValues ? (JSON.parse(JSON.stringify(this.selectedValues))) : null;
+ if(value || values) {
+ var searchString;
+ var count = 0;
+ for(var i = 0; i < optionData.length; i++) {
+ if(this.multiSelect) {
+ if(values.includes(optionData[i].value)) {
+ optionData[i].selected = true;
+ count++;
+ }
+ } else {
+ if(optionData[i].value == value) {
+ searchString = optionData[i].label;
+ }
+ }
+ }
+ if(this.multiSelect)
+ this.searchString = count + ' Option(s) Selected';
+ else
+ this.searchString = searchString;
+ }
+ this.value = value;
+ this.values = values;
+ this.optionData = optionData;
+ }
+
+ filterOptions(event) {
+ this.searchString = event.target.value;
+ if( this.searchString && this.searchString.length > 0 ) {
+ this.message = '';
+ if(this.searchString.length >= this.minChar) {
+ var flag = true;
+ for(var i = 0; i < this.optionData.length; i++) {
+ if(this.optionData[i].label.toLowerCase().trim().startsWith(this.searchString.toLowerCase().trim())) {
+ this.optionData[i].isVisible = true;
+ flag = false;
+ } else {
+ this.optionData[i].isVisible = false;
+ }
+ }
+ if(flag) {
+ this.message = "No results found for '" + this.searchString + "'";
+ }
+ }
+ this.showDropdown = true;
+ } else {
+ this.showDropdown = false;
+ }
+ }
+ @api refreshOptions(options) {
+ if(options && options.length > 0)
+ this.optionData = JSON.parse(JSON.stringify(options));
+ }
+
+ selectItem(event) {
+ var selectedVal = event.currentTarget.dataset.id;
+ if(selectedVal) {
+ var count = 0;
+ var options = JSON.parse(JSON.stringify(this.optionData));
+ for(var i = 0; i < options.length; i++) {
+ if(options[i].value === selectedVal) {
+ if(this.multiSelect) {
+ if(this.values.includes(options[i].value)) {
+ this.values.splice(this.values.indexOf(options[i].value), 1);
+ } else {
+ this.values.push(options[i].value);
+ }
+ options[i].selected = options[i].selected ? false : true;
+ } else {
+ this.value = options[i].value;
+ this.searchString = options[i].label;
+ }
+ }
+ if(options[i].selected) {
+ count++;
+ }
+ }
+ this.optionData = options;
+ if(this.multiSelect)
+ this.searchString = count + ' Option(s) Selected';
+ if(this.multiSelect)
+ event.preventDefault();
+ else
+ this.showDropdown = false;
+ }
+ }
+
+ showOptions() {
+ if(this.disabled == false && this.options) {
+ this.message = '';
+ this.searchString = '';
+ var options = JSON.parse(JSON.stringify(this.optionData));
+ for(var i = 0; i < options.length; i++) {
+ options[i].isVisible = true;
+ }
+ if(options.length > 0) {
+ this.showDropdown = true;
+ }
+ this.optionData = options;
+ }
+ }
+
+ removePill(event) {
+ var value = event.currentTarget.name;
+ var count = 0;
+ var options = JSON.parse(JSON.stringify(this.optionData));
+ for(var i = 0; i < options.length; i++) {
+ if(options[i].value === value) {
+ options[i].selected = false;
+ this.values.splice(this.values.indexOf(options[i].value), 1);
+ }
+ if(options[i].selected) {
+ count++;
+ }
+ }
+ this.optionData = options;
+ if(this.multiSelect)
+ this.searchString = count + ' Option(s) Selected';
+ }
+
+ blurEvent() {
+ var previousLabel;
+ var count = 0;
+ for(var i = 0; i < this.optionData.length; i++) {
+ if(this.optionData[i].value === this.value) {
+ previousLabel = this.optionData[i].label;
+ }
+ if(this.optionData[i].selected) {
+ count++;
+ }
+ }
+ if(this.multiSelect)
+ this.searchString = count + ' Option(s) Selected';
+ else
+ this.searchString = previousLabel;
+
+ this.showDropdown = false;
+
+ this.dispatchEvent(new CustomEvent('select', {
+ detail: {
+ 'payloadType' : 'multi-select',
+ 'payload' : {
+ 'value' : this.value,
+ 'values' : this.values
+ }
+ }
+ }));
+ }
+}
+/*
+ Code by CafeForce
+ Website: http://www.cafeforce.com
+ DO NOT REMOVE THIS HEADER/FOOTER FOR FREE CODE USAGE
+*/
\ No newline at end of file
diff --git a/force-app/main/default/lwc/multiSelectCombobox/multiSelectCombobox.js-meta.xml b/force-app/main/default/lwc/multiSelectCombobox/multiSelectCombobox.js-meta.xml
new file mode 100644
index 0000000..f8c5cb4
--- /dev/null
+++ b/force-app/main/default/lwc/multiSelectCombobox/multiSelectCombobox.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/myCustomTypeDatatable/customName.html b/force-app/main/default/lwc/myCustomTypeDatatable/customName.html
new file mode 100644
index 0000000..f33c4ea
--- /dev/null
+++ b/force-app/main/default/lwc/myCustomTypeDatatable/customName.html
@@ -0,0 +1,6 @@
+<template>
+ <lightning-badge
+ label={typeAttributes.accountName}
+ icon-name="standard:account">
+ </lightning-badge>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/myCustomTypeDatatable/customNumber.html b/force-app/main/default/lwc/myCustomTypeDatatable/customNumber.html
new file mode 100644
index 0000000..ae6203e
--- /dev/null
+++ b/force-app/main/default/lwc/myCustomTypeDatatable/customNumber.html
@@ -0,0 +1,6 @@
+<template>
+ <div class="slds-p-around_x-small">
+ <lightning-formatted-number value={value} class="slds-float_right"></lightning-formatted-number>
+ <lightning-icon icon-name={typeAttributes.status} alternative-text="Employer Status"></lightning-icon>
+ </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/myCustomTypeDatatable/customShipmentNumber.html b/force-app/main/default/lwc/myCustomTypeDatatable/customShipmentNumber.html
new file mode 100644
index 0000000..62d1cfc
--- /dev/null
+++ b/force-app/main/default/lwc/myCustomTypeDatatable/customShipmentNumber.html
@@ -0,0 +1,11 @@
+<template>
+ <lightning-input
+ type="text"
+ name="shipmentNumber"
+ label="deliveryOrderNo"
+ variant="label-hidden"
+ onchange={dataChange}
+ data-field="shipmentNumber"
+ value={shipmentNumber}
+ ></lightning-input>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/myCustomTypeDatatable/customShippingUnitPrice.html b/force-app/main/default/lwc/myCustomTypeDatatable/customShippingUnitPrice.html
new file mode 100644
index 0000000..d10e147
--- /dev/null
+++ b/force-app/main/default/lwc/myCustomTypeDatatable/customShippingUnitPrice.html
@@ -0,0 +1,11 @@
+<template>
+ <lightning-input
+ type="number"
+ name="shipmentUnitPrice"
+ label="deliveryOrderNo"
+ variant="label-hidden"
+ onchange={dataChange}
+ data-field="shipmentUnitPrice"
+ value={shipmentUnitPrice}
+ ></lightning-input>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/myCustomTypeDatatable/customUnit.html b/force-app/main/default/lwc/myCustomTypeDatatable/customUnit.html
new file mode 100644
index 0000000..169416c
--- /dev/null
+++ b/force-app/main/default/lwc/myCustomTypeDatatable/customUnit.html
@@ -0,0 +1,8 @@
+<!-- sldsValidatorIgnore -->
+<!-- sldsValidatorIgnore -->
+<template>
+ <select>
+ <option value="鐩�">鐩�</option>
+ <option value="涓�">涓�</option>
+ </select>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/myCustomTypeDatatable/myCustomTypeDatatable.html b/force-app/main/default/lwc/myCustomTypeDatatable/myCustomTypeDatatable.html
new file mode 100644
index 0000000..ba53413
--- /dev/null
+++ b/force-app/main/default/lwc/myCustomTypeDatatable/myCustomTypeDatatable.html
@@ -0,0 +1,2 @@
+<template>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/myCustomTypeDatatable/myCustomTypeDatatable.js b/force-app/main/default/lwc/myCustomTypeDatatable/myCustomTypeDatatable.js
new file mode 100644
index 0000000..5d161b7
--- /dev/null
+++ b/force-app/main/default/lwc/myCustomTypeDatatable/myCustomTypeDatatable.js
@@ -0,0 +1,41 @@
+import { LightningElement,api,wire,track } from 'lwc';
+import LightningDatatable from 'lightning/datatable';
+import customUnitTemplate from './customUnit.html';
+import customShipmentNumberTemplate from './customShipmentNumber.html';
+import customShippingUnitPriceTemplate from './customShippingUnitPrice.html';
+import customNameTemplate from './customName.html';
+import customNumberTemplate from './customNumber.html';
+
+
+export default class MyCustomTypeDatatable extends LightningDatatable {
+
+
+ // static customTypes = {
+ // customUnit: {
+ // template: customUnitTemplate,
+ // //typeAttributes: ['value'],
+ // },
+ // customShipment: {
+ // template: customShipmentNumberTemplate,
+ // //typeAttributes: ['value'],
+ // },
+ // customShipmentUnitPrice: {
+ // template: customShippingUnitPriceTemplate,
+ // //typeAttributes: ['value'],
+ // }
+ // // Other types here
+ // }
+
+ static customTypes = {
+ customName: {
+ template: customNameTemplate,
+ standardCellLayout: true,
+ typeAttributes: ['accountName'],
+ }
+ // Other types here
+ }
+
+ connectedCallback(){
+ console.log('MyCustomTypeDatatable enter')
+ }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/myCustomTypeDatatable/myCustomTypeDatatable.js-meta.xml b/force-app/main/default/lwc/myCustomTypeDatatable/myCustomTypeDatatable.js-meta.xml
new file mode 100644
index 0000000..f8c5cb4
--- /dev/null
+++ b/force-app/main/default/lwc/myCustomTypeDatatable/myCustomTypeDatatable.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/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..0616732
--- /dev/null
+++ b/force-app/main/default/lwc/newPaymentPlanLoadLWC/newPaymentPlanLoadLWC.html
@@ -0,0 +1,229 @@
+<template>
+ <lightning-card variant="Narrow">
+ <lightning-spinner variant="brand" size="medium" if:true={isLoading}></lightning-spinner>
+ <div style="padding: 0 20px">
+ <div>
+ <lightning-button label="淇濆瓨" onclick={handlesave} disabled = {dis29}></lightning-button>
+ <lightning-button label="鍙栨秷" onclick ={CloseJs} disabled = {dis30}></lightning-button>
+ <lightning-button label="鎵撳嵃" onclick={handlePrint} disabled = {dis28}></lightning-button>
+ <lightning-layout>
+ <lightning-combobox
+ name="progress"
+ label="鏄惁涓烘爣鍑嗗悎鍚岋細"
+ value={MCEElement.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={MCEElement.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;">鏈悎鍚屾寮忕璁箣鏃ヨ捣 </p>
+ <lightning-combobox name="progress" label="" disabled = {dis3} value={MCEElement.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;"> 鏃ュ唴锛岀敳鏂瑰悜涔欐柟鏀粯鍏ㄩ儴鍚堝悓娆句汉姘戝竵</p>{MCEElement.Contract_Amount__c}<p style="font-size: 15px;"> 鍏冿紝澶у啓</p>{MCEElement.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;">鏈悎鍚屾椤瑰垎 </p>
+ <lightning-combobox name="progress" label="" disabled = {dis4} value={MCEElement.Total_Payment_Time__c} options={TotalPaymentTimeOption}
+ onchange={handleTotalPaymentTime} class="searchField" style = "width:60px" variant="label-hidden"></lightning-combobox>
+ <p style="font-size: 15px;"> 鏈熶粯鍑猴紝璇︾粏濡備笅锛�</p>
+ </lightning-layout>
+ <lightning-layout vertical-align="center">
+ <p style="font-size: 15px;">绗竴鏈熸椤逛粯娆炬椂闂翠负 </p>
+ <lightning-input disabled = {dis5} type="date" variant="label-hidden" label="" value={MCEElement.Payment_Plan_Date_First__c} onchange={handleDateFirst} ></lightning-input>
+ <p style="font-size: 15px;"> 鍓�,鐢叉柟鍚戜箼鏂规敮浠樹汉姘戝竵 </p>
+ <lightning-input disabled = {dis6} value={MCEElement.Payment_Plan_Sum_First__c} type="text" variant="label-hidden" label="" class="searchField" onchange={handleSumFirst}></lightning-input>
+ <p style="font-size: 15px;"> 鍏冿紝澶у啓</p>{MCEElement.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;">绗簩鏈熸椤逛粯娆炬椂闂翠负 </p>
+ <lightning-input disabled = {dis7} type="date" variant="label-hidden" label="" value={MCEElement.Payment_Plan_Date_Second__c} onchange={handleDateSecond}></lightning-input>
+ <p style="font-size: 15px;"> 鍓�,鐢叉柟鍚戜箼鏂规敮浠樹汉姘戝竵 </p>
+ <lightning-input disabled = {dis8} value={MCEElement.Payment_Plan_Sum_Second__c} type="text" variant="label-hidden" label="" class="searchField" onchange={handleSumSecond}></lightning-input>
+ <p style="font-size: 15px;"> 鍏冿紝澶у啓</p>{MCEElement.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;">绗笁鏈熸椤逛粯娆炬椂闂翠负 </p>
+ <lightning-input disabled = {dis9} type="date" variant="label-hidden" label="" value={MCEElement.Payment_Plan_Date_Third__c} onchange={handleDateThird}></lightning-input>
+ <p style="font-size: 15px;"> 鍓�,鐢叉柟鍚戜箼鏂规敮浠樹汉姘戝竵 </p>
+ <lightning-input disabled = {dis10} value={MCEElement.Payment_Plan_Sum_Third__c} type="text" variant="label-hidden" label="" class="searchField" onchange={handleSumThird}></lightning-input>
+ <p style="font-size: 15px;"> 鍏冿紝澶у啓</p>{MCEElement.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;">绗洓鏈熸椤逛粯娆炬椂闂翠负 </p>
+ <lightning-input disabled = {dis11} type="date" variant="label-hidden" label="" value={MCEElement.Payment_Plan_Date_Forth__c} onchange={handleDateForth}></lightning-input>
+ <p style="font-size: 15px;"> 鍓�,鐢叉柟鍚戜箼鏂规敮浠樹汉姘戝竵 </p>
+ <lightning-input disabled = {dis12} value={MCEElement.Payment_Plan_Sum_Forth__c} type="text" variant="label-hidden" label="" class="searchField" onchange={handleSumForth}></lightning-input>
+ <p style="font-size: 15px;"> 鍏冿紝澶у啓</p>{MCEElement.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;">绗簲鏈熸椤逛粯娆炬椂闂翠负 </p>
+ <lightning-input disabled = {dis13} type="date" variant="label-hidden" label="" value={MCEElement.Payment_Plan_Date_Fifth__c} onchange={handleDateFivth}></lightning-input>
+ <p style="font-size: 15px;"> 鍓�,鐢叉柟鍚戜箼鏂规敮浠樹汉姘戝竵 </p>
+ <lightning-input disabled = {dis14} value={MCEElement.Payment_Plan_Sum_Fifth__c} type="text" variant="label-hidden" label="" class="searchField" onchange={handleSumFivth}></lightning-input>
+ <p style="font-size: 15px;"> 鍏冿紝澶у啓</p>{MCEElement.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;">绗叚鏈熸椤逛粯娆炬椂闂翠负 </p>
+ <lightning-input disabled = {dis15} type="date" variant="label-hidden" label="" value={MCEElement.Payment_Plan_Date_Sixth__c} onchange={handleDateSixth}></lightning-input>
+ <p style="font-size: 15px;"> 鍓�,鐢叉柟鍚戜箼鏂规敮浠樹汉姘戝竵 </p>
+ <lightning-input disabled = {dis16} value={MCEElement.Payment_Plan_Sum_Sixth__c} type="text" variant="label-hidden" label="" class="searchField" onchange={handleSumSixth}></lightning-input>
+ <p style="font-size: 15px;"> 鍏冿紝澶у啓</p>{MCEElement.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={MCEElement.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={MCEElement.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={MCEElement.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={MCEElement.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={MCEElement.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={MCEElement.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={MCEElement.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={MCEElement.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={MCEElement.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={MCEElement.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>鐐规鎬绘鏁帮細 鍏� {MCEElement.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={MCEElement.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} disabled = {dis29}></lightning-button>
+ <lightning-button label="鍙栨秷" onclick ={CloseJs} disabled = {dis30}></lightning-button>
+ <lightning-button label="鎵撳嵃" onclick={handlePrint} disabled = {dis28}></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..ffe4abb
--- /dev/null
+++ b/force-app/main/default/lwc/newPaymentPlanLoadLWC/newPaymentPlanLoadLWC.js
@@ -0,0 +1,575 @@
+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 { refreshPage } from 'lightning/navigation';
+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;
+ isLoading = false;
+ MCEElement = {
+ Id: '',
+ Phone_Number__c: '',
+ Status__c: '',
+ old_Is_RecognitionModel__c: '',
+ Engineer_Name__c: '',
+ Is_Standard_Contract__c: '',
+ Term_Of_Payment__c: '',
+ Contract_Range__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_Fifth__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_Fifth__c: '',
+ Payment_Plan_Sum_Sixth__c: '',
+ Small_Repair_Time__c: '',
+ Big_Repair_Time__c: '',
+ Live_Technical_Support_Time__c: '',
+ Tour_Check__c: '',
+ Dedust__c: '',
+ URF_Contract__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 :'',
+ Contract_End_Date__c:'',
+ Contract_Start_Date__c:'',
+ Service_contract_target_number__c:'',
+ User_Salesdepartment__c:'',
+ JingliApprovalManager__c:'',
+ Estimate_Target__c:'',
+ Decided_Estimation__c:'',
+ Salesdepartment__c:''
+ };
+ printContract;
+ printAgent;
+ agreeUpperLimit;
+ ContractAllMonth;
+ statusSave;
+ activeSections = ['paymentPlan', 'TextInformation'];
+ showTabOne ;
+ showTabTwice ;
+ showTabOnce ;
+ // 椤甸潰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.MCEElement.Status__c = result.PageMCE.Status__c;
+ this.MCEElement.URF_Contract__c = result.PageMCE.URF_Contract__c;
+ this.MCEElement.Id = this.recordId;
+ this.MCEElement.Contract_Range__c = result.PageMCE.Contract_Range__c;
+ this.MCEElement.Decided_Estimation__c = result.PageMCE.Decided_Estimation__c;
+ this.MCEElement.Estimate_Target__c = result.PageMCE.Estimation_Id__r.Estimate_Target__c;
+ this.MCEElement.Salesdepartment__c = result.PageMCE.Service_Contract_Staff__r.Salesdepartment__c;
+ this.MCEElement.Contract_End_Date__c = result.PageMCE.Contract_End_Date__c;
+ this.MCEElement.Contract_Start_Date__c = result.PageMCE.Contract_Start_Date__c;
+ this.MCEElement.User_Salesdepartment__c = result.PageMCE.User_Salesdepartment__c;
+ this.MCEElement.Service_contract_target_number__c = result.PageMCE.Service_contract_target_number__c;
+ this.MCEElement.JingliApprovalManager__c = result.PageMCE.Service_Contract_Staff__r.JingliApprovalManager__c;
+ this.ContractAllMonth = result.Contract_validMonth;
+ this.statusSave = result.statusSave;
+ this.MCEElement.old_Is_RecognitionModel__c = result.PageMCE.old_Is_RecognitionModel__c;
+ this.MCEElement.Engineer_Name__c = result.PageMCE.Engineer_Name__c;
+ this.MCEElement.Is_Standard_Contract__c = result.PageMCE.Is_Standard_Contract__c;
+ this.MCEElement.Term_Of_Payment__c = result.PageMCE.Term_Of_Payment__c;
+ this.MCEElement.one_off_payment_agreed_period__c = result.PageMCE.one_off_payment_agreed_period__c;
+ this.MCEElement.Total_Payment_Time__c = result.PageMCE.Total_Payment_Time__c;
+ this.MCEElement.Payment_Plan_Date_First__c = result.PageMCE.Payment_Plan_Date_First__c;
+ this.MCEElement.Payment_Plan_Date_Second__c = result.PageMCE.Payment_Plan_Date_Second__c;
+ this.MCEElement.Payment_Plan_Date_Third__c = result.PageMCE.Payment_Plan_Date_Third__c;
+ this.MCEElement.Payment_Plan_Date_Forth__c = result.PageMCE.Payment_Plan_Date_Forth__c;
+ this.MCEElement.Payment_Plan_Date_Fifth__c = result.PageMCE.Payment_Plan_Date_Fifth__c;
+ this.MCEElement.Payment_Plan_Date_Sixth__c = result.PageMCE.Payment_Plan_Date_Sixth__c;
+ this.MCEElement.Payment_Plan_Sum_First__c = result.PageMCE.Payment_Plan_Sum_First__c;
+ this.MCEElement.Payment_Plan_Sum_Second__c = result.PageMCE.Payment_Plan_Sum_Second__c;
+ this.MCEElement.Payment_Plan_Sum_Third__c = result.PageMCE.Payment_Plan_Sum_Third__c;
+ this.MCEElement.Payment_Plan_Sum_Forth__c = result.PageMCE.Payment_Plan_Sum_Forth__c;
+ this.MCEElement.Payment_Plan_Sum_Fifth__c = result.PageMCE.Payment_Plan_Sum_Fifth__c;
+ this.MCEElement.Payment_Plan_Sum_Sixth__c = result.PageMCE.Payment_Plan_Sum_Sixth__c;
+ this.MCEElement.Small_Repair_Time__c = result.PageMCE.Small_Repair_Time__c;
+ this.MCEElement.Big_Repair_Time__c = result.PageMCE.Big_Repair_Time__c;
+ this.MCEElement.Live_Technical_Support_Time__c = result.PageMCE.Live_Technical_Support_Time__c;
+ this.MCEElement.Tour_Check__c = result.PageMCE.Tour_Check__c;
+ this.MCEElement.Phone_Number__c = result.PageMCE.Phone_Number__c;
+ this.MCEElement.Dedust__c = result.PageMCE.Dedust__c;
+ this.MCEElement.First_Party_Contract_Number__c = result.PageMCE.First_Party_Contract_Number__c;
+ this.MCEElement.Second_Party_Contract_Number__c = result.PageMCE.Second_Party_Contract_Number__c;
+ this.MCEElement.Contract_Amount__c = result.PageMCE.Contract_Amount__c;
+ this.MCEElement.Total_Contract_Amount_In_Words__c = result.PageMCE.Total_Contract_Amount_In_Words__c;
+ this.MCEElement.Payment_Plan_Sum_First_in_Word__c = result.PageMCE.Payment_Plan_Sum_First_in_Word__c;
+ this.MCEElement.Payment_Plan_Sum_Second_in_Word__c = result.PageMCE.Payment_Plan_Sum_Second_in_Word__c;
+ this.MCEElement.Payment_Plan_Sum_Third_in_Word__c = result.PageMCE.Payment_Plan_Sum_Third_in_Word__c;
+ this.MCEElement.Payment_Plan_Sum_Forth_in_Word__c = result.PageMCE.Payment_Plan_Sum_Forth_in_Word__c;
+ this.MCEElement.Payment_Plan_Sum_Fivth_in_Word__c = result.PageMCE.Payment_Plan_Sum_Fivth_in_Word__c;
+ this.MCEElement.Payment_Plan_Sum_Sixth_in_Word__c = result.PageMCE.Payment_Plan_Sum_Sixth_in_Word__c;
+ this.MCEElement.Negotiate_Mean__c = result.PageMCE.Negotiate_Mean__c;
+ this.MCEElement.Inspection_Time__c = result.PageMCE.Inspection_Time__c;
+ this.MCEElement.Amount_Warranty_Coverage__c = (result.PageMCE.Contract_Amount__c*1.3).toString();
+ this.MCEElement.Amount_Warranty_Coverage_In_Word__c = this.smalltoBIG(this.MCEElement.Amount_Warranty_Coverage__c);
+ this.AllChecktime();
+ this.Initdisabled();
+ this.refresh();
+ }).catch(error => {
+ console.log("error");
+ console.log(error.message());
+ });
+ }
+ handleIsStandardContract(event) {
+ this.MCEElement.Is_Standard_Contract__c = event.detail.value;
+ this.refresh();
+ this.AllChecktime();
+ }
+ handleTermOfPayment(event) {
+ this.MCEElement.Term_Of_Payment__c = event.detail.value;
+ this.refresh();
+ }
+ handleOneoff(event) {
+ this.MCEElement.one_off_payment_agreed_period__c = event.detail.value;
+ }
+ handleSmallRepairTime(event) {
+ this.MCEElement.Small_Repair_Time__c = event.detail.value;
+ }
+ handleBigRepairTime(event) {
+ this.MCEElement.Big_Repair_Time__c = event.detail.value;
+ }
+ handleLiveTechnicalSupportTime(event) {
+ this.MCEElement.Live_Technical_Support_Time__c = event.detail.value;
+ }
+ handleTourCheck(event) {
+ this.MCEElement.Tour_Check__c = event.detail.value;
+ }
+ handleInspectionTime(event) {
+ this.MCEElement.Inspection_Time__c = event.detail.value;
+ this.AllChecktime();
+ }
+ handleDedust(event) {
+ this.MCEElement.Dedust__c = event.detail.value;
+ }
+ handleFirstPartyContractNumber(event) {
+ this.MCEElement.First_Party_Contract_Number__c = event.detail.value;
+ }
+ handleSecondPartyContractNumber(event) {
+ this.MCEElement.Second_Party_Contract_Number__c = event.detail.value;
+ }
+
+ handleTotalPaymentTime(event) {
+ this.MCEElement.Total_Payment_Time__c = event.detail.value;
+ }
+ // 澶氭浠樻鍒�
+ handleDateFirst(event){
+ this.MCEElement.Payment_Plan_Date_First__c = event.detail.value;
+ }
+ handleDateSecond(event){
+ this.MCEElement.Payment_Plan_Date_Second__c = event.detail.value;
+ }
+ handleDateThird(event){
+ this.MCEElement.Payment_Plan_Date_Third__c = event.detail.value;
+ }
+ handleDateForth(event){
+ this.MCEElement.Payment_Plan_Date_Forth__c = event.detail.value;
+ }
+ handleDateFivth(event){
+ this.MCEElement.Payment_Plan_Date_Fifth__c = event.detail.value;
+ }
+ handleDateSixth(event){
+ this.MCEElement.Payment_Plan_Date_Sixth__c = event.detail.value;
+ }
+ handleSumFirst(event){
+ this.MCEElement.Payment_Plan_Sum_First__c = event.detail.value;
+ this.MCEElement.Payment_Plan_Sum_First_in_Word__c = this.smalltoBIG(this.MCEElement.Payment_Plan_Sum_First__c);
+ this.refresh();
+ }
+ handleSumSecond(event){
+ this.MCEElement.Payment_Plan_Sum_Second__c = event.detail.value;
+ this.MCEElement.Payment_Plan_Sum_Second_in_Word__c = this.smalltoBIG(this.MCEElement.Payment_Plan_Sum_Second__c);
+ this.refresh();
+ }
+ handleSumThird(event){
+ this.MCEElement.Payment_Plan_Sum_Third__c = event.detail.value;
+ this.MCEElement.Payment_Plan_Sum_Third_in_Word__c = this.smalltoBIG(this.MCEElement.Payment_Plan_Sum_Third__c);
+ this.refresh();
+ }
+ handleSumForth(event){
+ this.MCEElement.Payment_Plan_Sum_Forth__c = event.detail.value;
+ this.MCEElement.Payment_Plan_Sum_Forth_in_Word__c = this.smalltoBIG(this.MCEElement.Payment_Plan_Sum_Forth__c);
+ this.refresh();
+ }
+ handleSumFivth(event){
+ this.MCEElement.Payment_Plan_Sum_Fifth__c = event.detail.value;
+ this.MCEElement.Payment_Plan_Sum_Fivth_in_Word__c = this.smalltoBIG(this.MCEElement.Payment_Plan_Sum_Fifth__c);
+ this.refresh();
+ }
+ handleSumSixth(event){
+ this.MCEElement.Payment_Plan_Sum_Sixth__c = event.detail.value;
+ this.MCEElement.Payment_Plan_Sum_Sixth_in_Word__c = this.smalltoBIG(this.MCEElement.Payment_Plan_Sum_Sixth__c);
+ this.refresh();
+ }
+ handleNegotiateMean(event){
+ this.MCEElement.Negotiate_Mean__c = event.detail.value;
+ }
+ handleEngineerName(event){
+ this.MCEElement.Engineer_Name__c = event.detail.value;
+ }
+ handlephoneNumber(event){
+ // this.phoneNumber = event.detail.value;
+ this.MCEElement.Phone_Number__c = event.detail.value;
+ }
+ handlePrint(event){
+ this.isLoading = true;
+ print({
+ MCEElement:this.MCEElement
+ }).then(result =>{
+ console.log('result.statusSave='+result.statusSave);
+ if (result.statusSave == 'Denied') {
+ const event = new ShowToastEvent({
+ title: 'warning',
+ message: result.status,
+ variant:'warning',
+ });
+ this.dispatchEvent(event);
+ this.isLoading = false;
+ }else{
+ this.printContract = result.printContract;
+ this.printAgent = result.printAgent;
+ this.agreeUpperLimit = result.agreeUpperLimit;
+ this.statusSave = result.statusSave;
+ this.PrintJs();
+ }
+
+ }).catch(error => {
+ console.log(error.message());
+ });
+ }
+ handlesave(event){
+ this.isLoading = true;
+ save({
+ MCEElement:this.MCEElement
+ }).then(result =>{
+ if (result.statusSave == 'Denied') {
+ const event = new ShowToastEvent({
+ title: 'warning',
+ message: result.status,
+ variant:'warning',
+ });
+ this.dispatchEvent(event);
+ this.isLoading = false;
+ }
+ this.isLoading = false;
+ }).catch(error => {
+ const event = new ShowToastEvent({
+ title: 'warning',
+ message: '鍑洪敊鍟�',
+ variant:'warning',
+ });
+ this.dispatchEvent(event);
+ this.isLoading = false;
+ 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.MCEElement.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.MCEElement.old_Is_RecognitionModel__c == 'true' && this.MCEElement.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.MCEElement.Inspection_Time__c == '1' && this.ContractAllMonth < 9)
+ || ( this.MCEElement.Inspection_Time__c == '2' && this.ContractAllMonth < 6)
+ || ( this.MCEElement.Inspection_Time__c == '3' && this.ContractAllMonth < 4)
+ || ( this.MCEElement.Inspection_Time__c == '4' && this.ContractAllMonth < 3)){
+ Allchecks = '1';
+ }else{
+ if (this.ContractAllMonth - parseInt(this.ContractAllMonth / 12) * 12 >= 6 && this.MCEElement.Inspection_Time__c == '1'){
+ Allchecks = ((this.ContractAllMonth * Number( this.MCEElement.Inspection_Time__c))/12+1).toString();
+ }else{
+ Allchecks =((this.ContractAllMonth * Number( this.MCEElement.Inspection_Time__c))/12).toString();
+ }
+ }
+ if (Allchecks!=null) {
+ this.MCEElement.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');
+ this.isLoading = false;
+ }else{
+ // 鎵撳嵃鍖婚櫌鍚堝悓閰嶇疆
+ window.open('/apex/NewMCHPDF?id='+this.recordId, 'MCHPDF');
+ this.isLoading = false;
+ }
+ //HWAG-BHT7XX 2019/11/26 END
+ }else if (this.printAgent == true) {
+ if(this.agreeUpperLimit == true){
+ //鎵撳嵃缁忛攢鍟嗛檺娆″悎鍚�
+ window.open('/apex/NewMCAgentPDFLimit?id='+this.recordId, 'MCAgentLimitPDF');
+ this.isLoading = false;
+ }else{
+ //鎵撳嵃缁忛攢鍟嗗悎鍚�
+ window.open('/apex/NewMCAgentPDF?id='+this.recordId, 'MCHPDF');
+ this.isLoading = false;
+ }
+ }else {
+ alert('1');
+ }
+ }else{
+ this.dispatchEvent(new CloseActionScreenEvent());
+ this.isLoading = false;
+ }
+ }
+ refresh(){
+ if (this.MCEElement.Is_Standard_Contract__c == '鍚�') {
+ this.showTabOne = false;
+ }
+ if (this.MCEElement.Is_Standard_Contract__c == '鏄�'){
+ this.showTabOne = true;
+ }
+ if (this.MCEElement.Term_Of_Payment__c == '澶氭浠樻'){
+ this.showTabOnce = false;
+ this.showTabTwice = true;
+ }
+ if (this.MCEElement.Term_Of_Payment__c == '涓�娆℃�т粯娆�'){
+ this.showTabOnce = true;
+ this.showTabTwice = false;
+ }
+ }
+
+
+}
\ 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/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
new file mode 100644
index 0000000..ebb43d9
--- /dev/null
+++ b/force-app/main/default/lwc/otherButtonInOpportunity/otherButtonInOpportunity.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/otherButtonInOpportunity/otherButtonInOpportunity.html b/force-app/main/default/lwc/otherButtonInOpportunity/otherButtonInOpportunity.html
new file mode 100644
index 0000000..f69803e
--- /dev/null
+++ b/force-app/main/default/lwc/otherButtonInOpportunity/otherButtonInOpportunity.html
@@ -0,0 +1,17 @@
+<template>
+ <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 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-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
new file mode 100644
index 0000000..52b1885
--- /dev/null
+++ b/force-app/main/default/lwc/otherButtonInOpportunity/otherButtonInOpportunity.js
@@ -0,0 +1,617 @@
+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';
+import selectAgencyHospital from '@salesforce/apex/OtherButtonOppCtl.selectAgencyHospital';
+import selectRecordType from '@salesforce/apex/OtherButtonOppCtl.selectRecordType';
+import selectFieldDefinition from '@salesforce/apex/OtherButtonOppCtl.selectFieldDefinition';
+
+
+
+export default class reportInOpportunity extends LightningElement {
+ @api recordId;//OpportunityId
+ currencyIsoCode;
+ str;
+ status;
+ quostatus;
+ win;
+ Auth;
+ agency1Id;
+ agencyOpportunity;
+ 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);
+ init({
+ recordId: this.recordId
+ }).then(result => {
+ console.log(result);
+ if (result != null) {
+
+ this.IsLoading = false;
+ this.currencyIsoCode = result.currencyIsoCode;
+ this.status = result.stageName;
+ this.quostatus = result.estimationDecision;
+ this.win = result.SAPSendOK;
+ this.Auth = result.IfAuthorizingLock;
+ this.agency1Id = result.agency1Id;
+ this.agencyOpportunity = result.agencyOpportunity;
+ 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(() => {
+
+ });
+ }
+
+ navigateReportDetail(){
+ /*this[NavigationMixin.Navigate]({
+ type:'standard__recordPage',
+ attributes:{
+ recordId:"00O10000002jviu",
+ objectApiName:'Report',
+ actionName:'view'
+ }
+ });*/
+ 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);
+
+ }
+ changeContractType(){
+ if(this.status != '寮曞悎'){
+ alert('鍙湁鐘舵��1鏄浠风殑鍙互鏇存敼鍚堝悓绫诲瀷');
+ return null;
+ }
+ if(this.Auth == '1'){
+ alert('璇环姝e湪鎺堟潈鐢宠涓紝璇峰湪SPO涓┏鍥炲悗鍐嶅仛杞崲銆�');
+ return null;
+ }
+ if(this.quostatus == 'true' || this.quostatus == true){
+ alert('宸插喅瀹氭姤浠凤紝涓嶈兘淇敼鍐呰锤/澶栬锤');
+ // window.location.reload();
+ return null;
+ }
+ if(this.win == 'true' || this.win == true){
+ alert('璇峰厛鍙栨秷WIN锛� 鍐嶈浆鎹㈠唴澶栬锤');
+ return null;
+ }
+ if(confirm('鍙樻洿鍚堝悓绫诲瀷浼氬垹闄ゅ叏閮ㄦ姤浠凤紝鏄惁缁х画锛�')){
+ changeTrade({
+ oppId: this.recordId
+ }).then(result => {
+ console.log(result);
+ this.str = result;
+ if(this.str != '1'){
+ alert(this.str);
+ }
+ window.location.reload();
+ }).catch(error => {
+ console.log("error");
+ }).finally(() => {
+ // $A.get("e.force:closeQuickAction").fire();
+ });
+ }else{
+ return null;
+ }
+ }
+ sharedToDealers(){
+ /*if (document.getElementsByName('newopportunity_agency')[0].className == 'btn') {
+ console.log("sharedToDealers");
+
+ var bottons = document.getElementsByName('newopportunity_agency');
+ for (var i=0;i<bottons.length;i++){
+ bottons[i].className += "btnDisabled";
+ bottons[i].disabled = true;
+ }*/
+
+ var newflag = true;
+ var records;
+ if (this.agency1Id == '' || this.agency1Id == null) {
+ newflag = false;
+ alert("缁忛攢鍟嗕笉瀛樺湪锛屼笉鑳借浆鎴愩�愮粡閿�鍟嗙洰鏍囪浠枫�戙��");
+ //this.agencyOpportunity != ''
+ }else if (this.agencyOpportunity != null) {
+ newflag = false;
+ alert("宸茬粡杞垚杩囥�愮粡閿�鍟嗙洰鏍囪浠枫�戙��");
+ }else if (this.trade != '鍐呰部') {
+ newflag = false;
+ alert("涓嶆槸鍐呰锤锛屼笉鑳借浆鎴愩�愮粡閿�鍟嗙洰鏍囪浠枫�戙��");
+ }else {
+ selectAgencyHospital({
+ recordId: this.recordId
+ }).then(result => {
+ console.log(result);
+ records = result;
+ if (records == null || records.length == 0) {
+ newflag = false;
+ alert("娌℃湁鏈夋晥鐨勩�愮粡閿�鍟嗗尰闄€�戙��");
+ }
+ }).catch(error => {
+ console.log("error11");
+ }).finally(() => {
+
+ });
+ /*var resultSet = sforce.connection.query("SELECT Id, Name FROM Agency_Hospital_Link__c WHERE Agency__c = '{!Opportunity.Agency1Id__c}' AND Hospital__c = '{!Opportunity.HospitalId__c}'");
+ var records = resultSet.getArray("records");
+ if (records == null || records.length == 0) {
+ newflag = false;
+ alert("娌℃湁鏈夋晥鐨勩�愮粡閿�鍟嗗尰闄€�戙��");
+ }*/
+ }
+
+ if (newflag) {
+ selectRecordType({
+ }).then(result => {
+ console.log(result);
+ //var query = "SELECT Id, Name FROM RecordType WHERE SobjectType='Agency_Opportunity__c' And developerName='Opportunity' And IsActive = TRUE";
+ var recTypeList = result;
+ if (recTypeList.length == 0) {
+ alert("娌℃湁鎵惧埌锛岀粡閿�鍟嗚浠风殑瀹氫箟銆�");
+ } else {
+ var recTypeId = recTypeList[0].Id;
+ var prefix, fId_Close_Forecasted_Date__c, fId_Agency_Hospital__c
+ , fId_OCM_Change_To_Opportunity_Flg__c, fId_Amount__c
+ , fId_OCMSale_Price__c, fId_Agency__c
+ , fId_StageName__c, fId_Change_To_Opportunity__c
+ , fId_Department_Cateogy__c, fId_Bid_Planned_Date__c;
+ selectFieldDefinition({
+ }).then(res => {
+ console.log(res);
+ var records2 = res;
+ for (var i=0; i< records2.length; i++) {
+ var record = records2[i];
+ prefix = record.EntityDefinition.KeyPrefix.toString();
+ if (record.QualifiedApiName == 'Close_Forecasted_Date__c') {
+ fId_Close_Forecasted_Date__c = record.DurableId.toString().split('.')[1];
+ }
+ if (record.QualifiedApiName == 'OCM_Change_To_Opportunity_Flg__c') {
+ fId_OCM_Change_To_Opportunity_Flg__c = record.DurableId.toString().split('.')[1];
+ }
+ if (record.QualifiedApiName == 'Agency_Hospital__c') {
+ fId_Agency_Hospital__c = record.DurableId.toString().split('.')[1];
+ }
+ if (record.QualifiedApiName == 'Amount__c') {
+ fId_Amount__c = record.DurableId.toString().split('.')[1];
+ }
+ if (record.QualifiedApiName == 'OCMSale_Price__c') {
+ fId_OCMSale_Price__c = record.DurableId.toString().split('.')[1];
+ }
+ if (record.QualifiedApiName == 'Agency__c') {
+ fId_Agency__c = record.DurableId.toString().split('.')[1];
+ }
+ if (record.QualifiedApiName == 'StageName__c') {
+ fId_StageName__c = record.DurableId.toString().split('.')[1];
+ }
+ if (record.QualifiedApiName == 'Change_To_Opportunity__c') {
+ fId_Change_To_Opportunity__c = record.DurableId.toString().split('.')[1];
+ }
+ if (record.QualifiedApiName == 'Department_Cateogy__c') {
+ fId_Department_Cateogy__c = record.DurableId.toString().split('.')[1];
+ }
+ if (record.QualifiedApiName == 'Bid_Planned_Date__c') {
+ fId_Bid_Planned_Date__c = record.DurableId.toString().split('.')[1];
+ }
+ }
+ }).catch(error => {
+ console.log("error22");
+ }).finally(() => {
+ var ahl = records[0];
+
+ console.log("222");
+ console.log(this.opp);
+ console.log(this.opp.Bid_Planned_Date__c);
+ console.log(this.recordId);
+ /*window.open("/a2Y/e?retURL=%2F{!URLENCODE(Opportunity.Id)}&Name={!URLENCODE('(OLYMPUS)'+Opportunity.Name)}&RecordType=" + recTypeId +
+ "&"+fId_Close_Forecasted_Date__c+"={!Opportunity.Close_Forecasted_Date__c}" +
+ "&"+fId_Bid_Planned_Date__c+"={!Opportunity.Bid_Planned_Date__c}"+
+ "&"+fId_OCM_Change_To_Opportunity_Flg__c+"=1" +
+ "&CF"+fId_Agency_Hospital__c+"_lkid=" + ahl.Id +
+ "&CF"+fId_Agency_Hospital__c+"=" + encodeURIComponent(ahl.Name) +
+ "&"+fId_Amount__c+"=" + '{!Opportunity.Dealer_Final_Price__c}'.substr(4) +
+ "&"+fId_OCMSale_Price__c+"=" + '{!Opportunity.Wholesale_Price__c}'.substr(4) +
+ "&CF"+fId_Agency__c+"_lkid={!URLENCODE(Opportunity.Agency1Id__c)}" +
+ "&CF"+fId_Agency__c+"={!URLENCODE(Opportunity.Agency1__c)}" +
+ "&"+fId_StageName__c+"={!URLENCODE(text(Opportunity.Opportunity_stage__c))}" +
+ "&CF"+fId_Change_To_Opportunity__c+"_lkid={!Opportunity.Id}" +
+ "&CF"+fId_Change_To_Opportunity__c+"={!URLENCODE(Opportunity.Name)}" +
+ "&"+fId_Department_Cateogy__c+"={!URLENCODE(text(Opportunity.Opportunity_Category__c))}");*/
+ let url = "/a2Y/e?retURL=%2F{!URLENCODE(" + this.recordId + ")}&Name={!URLENCODE('(OLYMPUS)'+" + this.opp.Name + ")}&RecordType=" + recTypeId;
+ url +=
+ // "&"+fId_Close_Forecasted_Date__c+ "=" + this.opp.Close_Forecasted_Date__c +
+ this.opp.Close_Forecasted_Date__c == null ? "" : "&"+fId_Close_Forecasted_Date__c+ "=" + this.opp.Close_Forecasted_Date__c;
+ url +=
+ // "&"+fId_Bid_Planned_Date__c+"=" + this.opp.Bid_Planned_Date__c +
+ this.opp.Bid_Planned_Date__c == null ? "" : "&"+fId_Bid_Planned_Date__c+"=" + this.opp.Bid_Planned_Date__c;
+ url +=
+ "&"+fId_OCM_Change_To_Opportunity_Flg__c+"=1" +
+ "&CF"+fId_Agency_Hospital__c+"_lkid=" + ahl.Id +
+ "&CF"+fId_Agency_Hospital__c+"=" + encodeURIComponent(ahl.Name);
+ url +=
+ // "&"+fId_OCMSale_Price__c+"=" + this.opp.Wholesale_Price__c.substr(4) +
+ this.opp.Wholesale_Price__c == null ? "" : "&"+fId_OCMSale_Price__c+"=" + this.opp.Wholesale_Price__c.substr(4);
+ url +=
+ "&CF"+fId_Agency__c+"_lkid={!URLENCODE("+ this.opp.Agency1_ID_18__c+")}" +
+ "&CF"+fId_Agency__c+"={!URLENCODE("+this.opp.Agency1__c+")}" ;
+ url +=
+ // "&"+fId_StageName__c+"={!URLENCODE(text("+ this.opp.Opportunity_stage__c+"))}" +
+ this.opp.Opportunity_stage__c == null ? "" : "&"+fId_StageName__c+"={!URLENCODE(text("+ this.opp.Opportunity_stage__c+"))}" ;
+ url +=
+ "&CF"+fId_Change_To_Opportunity__c+"_lkid="+ this.recordId +
+ "&CF"+fId_Change_To_Opportunity__c+"={!URLENCODE("+ this.opp.Name+")}";
+ url +=
+ // "&"+fId_Department_Cateogy__c+"={!URLENCODE(text("+ this.opp.Opportunity_Category__c+
+ this.opp.Opportunity_Category__c == null ? "" :"&"+fId_Department_Cateogy__c+"={!URLENCODE(text("+ this.opp.Opportunity_Category__c+
+ "))}";
+ console.log(url);
+ window.open(url);
+ /* window.open("/a2Y/e?retURL=%2F{!URLENCODE(" + this.recordId + ")}&Name={!URLENCODE('(OLYMPUS)'+" + this.opp.Name + ")}&RecordType=" + recTypeId +
+ "&"+fId_Close_Forecasted_Date__c+ "=" + this.opp.Close_Forecasted_Date__c +
+ "&"+fId_Bid_Planned_Date__c+"=" + this.opp.Bid_Planned_Date__c +
+ "&"+fId_OCM_Change_To_Opportunity_Flg__c+"=1" +
+ "&CF"+fId_Agency_Hospital__c+"_lkid=" + ahl.Id +
+ "&CF"+fId_Agency_Hospital__c+"=" + encodeURIComponent(ahl.Name) +
+ "&"+fId_OCMSale_Price__c+"=" + this.opp.Wholesale_Price__c.substr(4) +
+ "&CF"+fId_Agency__c+"_lkid={!URLENCODE("+ this.opp.Agency1_ID_18__c+")}" +
+ "&CF"+fId_Agency__c+"={!URLENCODE("+this.opp.Agency1__c+")}" +
+ "&"+fId_StageName__c+"={!URLENCODE(text("+ this.opp.Opportunity_stage__c+"))}" +
+ "&CF"+fId_Change_To_Opportunity__c+"_lkid="+ this.recordId +
+ "&CF"+fId_Change_To_Opportunity__c+"={!URLENCODE("+ this.opp.Name+")}" +
+ "&"+fId_Department_Cateogy__c+"={!URLENCODE(text("+ this.opp.Opportunity_Category__c+"))}");*/
+ });
+ }
+
+ }).catch(error => {
+ console.log("error");
+ }).finally(() => {
+
+ });
+
+ }
+ // ==}
+ }
+ authorisationRequest(){
+ var btns = document.getElementsByName("agency_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 angency = '{!Opportunity.Agency1Id__c}';
+ var profileId = '{!$User.ProfileId}';
+
+ if (profileId != '00e10000000Y3o5' && profileId != '00e10000000Nab7' && profileId != '00e10000000xnpR' && profileId != '00e10000000xyK6' && profileId != '00e10000000NbCE'
+ && profileId != '00e10000000xyK6' && profileId != '00e10000000Nb7i') {
+ alert("鎮ㄦ病鏈夋巿鏉冪敵璇风殑鏉冮檺銆傝鑱旂郴绯荤粺绠$悊鍛樸��");
+ return;
+ }
+
+ if ('{!Opportunity.StageName}' != '寮曞悎' && '{!Opportunity.StageName}' != '璇环' ) {
+ alert("鐘舵��1:" + '{!Opportunity.StageName}' + "銆佷笉鑳藉仛鎺堟潈鐢宠锛�");
+ return;
+
+ } else if ('{!Opportunity.SAP_Send_OK__c}' == '1') {
+ alert("宸茬粡涓婁紶SAP銆佷笉鑳藉仛鎺堟潈鐢宠浜嗭紒");
+ return;
+
+ } else if ('{!Opportunity.Opp_order_Type__c}' != '' && '{!Opportunity.If_Have_170__c}' == true) {
+ alert("鑰楁潗涓嶅彲涓�170浜у搧鍚屾椂瀛樺湪锛�");
+ return;
+ } else if ('{!Opportunity.Opp_order_Type__c}' != '' && '{!Opportunity.If_Have_AH__c}' == true) {
+ alert("鑰楁潗涓嶅彲涓庡ゥ杈変骇鍝佸悓鏃跺瓨鍦紒");
+ return;
+ } else 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;
+ } else if ('{!Opportunity.Estimation_Id__c}' == '' || '{!Opportunity.DetailNum__c}' == 0) {
+ alert('鎶ヤ环鏈畬鎴愶紝璇峰厛鎶ヤ环銆�');
+ return;
+
+ } else if ('{!Opportunity.Estimation_Decision__c}' == '1') {
+ alert('鎶ヤ环宸插喅瀹氾紝涓嶈兘杩涜鎺堟潈鐢宠銆�');
+ return;
+
+ } else if ('{!Opportunity.Sales_Root__c}' != '璨╁2搴�') {
+ alert('鍖婚櫌鐩撮攢涓嶉渶瑕佹巿鏉冪敵璇枫��');
+ return;
+
+ }
+ // else if ('{!Opportunity.AcecideCntCheck__c}' != '1') {
+ // alert('闃胯タ璧涘璇环鍙兘鍖呭惈鍗卞寲鍝侊紝鎴栬�咃紝鏅�氳浠蜂笉鑳藉寘鍚嵄鍖栧搧銆�');
+ // return;
+
+ // }
+ else if ('{!Opportunity.IF_Submit__c }' == '1') {
+ alert('涓婁紶澶辫触锛岃鑱旂郴绯荤粺绠$悊鍛�!');
+ return;
+ }
+
+ var sql = "select Id,If_Authorizing_Lock__c from Opportunity where Id ='" + oppid + "'";
+ var sqlResult = sforce.connection.query(sql);
+ var records = sqlResult.getArray("records");
+ if (records[0].If_Authorizing_Lock__c == 'true') {
+ alert('璇环姝e湪鎺堟潈涓紝璇蜂笉瑕侀噸澶嶆彁浜ゃ��');
+ return;
+ }
+ if ('{!Opportunity.Trade__c}' == '鍐呰部') {
+ 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;
+ }
+ }
+
+ } else {
+ var rtn = sforce.apex.execute("OpportunityWebService", "updReg",{oppid:oppid});
+ }
+
+
+ var opp = new sforce.SObject('Opportunity');
+ opp.Id = '{!Opportunity.Id}';
+ opp.If_Authorizing__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("https://olympus.sharepoint.cn/sites/GSPWF/SitePages/HomePage.aspx");
+
+ };
+ foo();*/
+
+ }
+ 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
new file mode 100644
index 0000000..2b7649d
--- /dev/null
+++ b/force-app/main/default/lwc/otherButtonInOpportunity/otherButtonInOpportunity.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/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.html b/force-app/main/default/lwc/paginatedList/paginatedList.html
new file mode 100644
index 0000000..2f7fc61
--- /dev/null
+++ b/force-app/main/default/lwc/paginatedList/paginatedList.html
@@ -0,0 +1,34 @@
+<template>
+ <template if:true={loader}>
+ <lightning-spinner alternative-text="Loading..." size="small"></lightning-spinner>
+ </template>
+ <template if:true={records}>
+ <div class="table-container">
+ <lightning-datatable
+ key-field="id"
+ data={records}
+ columns={columns}
+ sorted-by={sortBy}
+ sorted-direction={sortDirection}
+ onsort={doSorting}
+ >
+ </lightning-datatable>
+ </div>
+ <c-paginator
+ 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>
+ <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/paginatedList/paginatedList.js b/force-app/main/default/lwc/paginatedList/paginatedList.js
new file mode 100644
index 0000000..fd3051b
--- /dev/null
+++ b/force-app/main/default/lwc/paginatedList/paginatedList.js
@@ -0,0 +1,120 @@
+import { LightningElement, api, track } from "lwc";
+import getAccountsPaginated from "@salesforce/apex/PaginatedListControllerLwc.getAccountsPaginated";
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+import { reduceErrors } from 'c/ldsUtils';
+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.Type";
+import ACCOUNT_EMPLOYEES_FIELD from "@salesforce/schema/Account.NumberOfEmployees";
+
+const COLUMNS = [
+ {
+ label: "Account Name",
+ fieldName: ACCOUNT_NAME_FIELD.fieldApiName,
+ type: "text",
+ sortable: "true"
+ },
+ { 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 PaginatedList extends LightningElement {
+ columns = COLUMNS;
+ @track sortBy = "Name";
+ @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];
+ connectedCallback() {
+ this.getAccounts();
+ }
+
+ getAccounts() {
+ this.loader = true;
+ getAccountsPaginated({
+ pageSize: this.pageSize,
+ pageToken: this.currentPageToken,
+ sortField: this.sortBy,
+ sortOrder: this.sortDirection
+ })
+ .then((result) => {
+ this.loader = false;
+ if (result) {
+ this.records = result.records;
+ this.nextPageToken = result.nextPageToken;
+ this.totalRecords = result.totalRecords;
+ this.recordStart = result.recordStart;
+ this.recordEnd = result.recordEnd;
+ this.totalPages = Math.ceil(result.totalRecords / this.pageSize);
+ this.paginationVisibility = this.totalPages > 1 ? true : false;
+ }
+ })
+ .catch((error) => {
+ this.loader = false;
+ this.error = error;
+ this.currentPageToken = 0;
+ const evt = new ShowToastEvent({
+ title: 'Error',
+ message: reduceErrors(error).join(', '),
+ variant: 'error'
+ });
+ this.dispatchEvent(evt);
+ });
+ }
+ doSorting(event) {
+ console.log("Sort");
+ this.sortBy = event.detail.fieldName;
+ this.sortDirection = event.detail.sortDirection;
+ this.currentPageToken = 0;
+ this.getAccounts();
+ }
+
+ handlePrevious() {
+ this.currentPageToken = Number(this.currentPageToken) - Number(this.pageSize);
+ this.getAccounts();
+ }
+
+ handleNext() {
+ this.currentPageToken = Number(this.currentPageToken) + Number(this.pageSize);
+ this.getAccounts();
+ }
+ handleFirst() {
+ this.currentPageToken = 0;
+ this.getAccounts();
+ }
+
+ handleLast() {
+ this.currentPageToken = this.totalPages > 1? (this.totalPages-1)* this.pageSize:0;
+ this.getAccounts();
+ }
+
+ handlePageschange(event) {
+ console.log(event.detail);
+ this.pageSize = event.detail;
+ this.currentPageToken = 0;
+ this.getAccounts();
+ }
+ get previousButtonDisabled() {
+ return this.currentPageToken === 0;
+ }
+
+ get nextButtonDisabled() {
+ return this.nextPageToken === undefined;
+ }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/paginatedList/paginatedList.js-meta.xml b/force-app/main/default/lwc/paginatedList/paginatedList.js-meta.xml
new file mode 100644
index 0000000..98de4a2
--- /dev/null
+++ b/force-app/main/default/lwc/paginatedList/paginatedList.js-meta.xml
@@ -0,0 +1,9 @@
+<?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>
+ <target>lightning__Tab</target>
+ </targets>
+</LightningComponentBundle>
\ 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
new file mode 100644
index 0000000..12cf97d
--- /dev/null
+++ b/force-app/main/default/lwc/paginator/paginator.css
@@ -0,0 +1,12 @@
+.customSelect select {
+ padding-right: 1.25rem;
+ min-height: inherit;
+ line-height: normal;
+ height: 1.4rem;
+}
+.customSelect label {
+ margin-top: .1rem;
+}
+.customSelect .slds-select_container::before {
+ border-bottom: 0;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/paginator/paginator.html b/force-app/main/default/lwc/paginator/paginator.html
new file mode 100644
index 0000000..3add3b3
--- /dev/null
+++ b/force-app/main/default/lwc/paginator/paginator.html
@@ -0,0 +1,42 @@
+<template>
+ <lightning-card>
+ <div class="slds-grid slds-grid_vertical-align-center slds-grid_align-spread">
+ <div class="slds-col"><!--RECORDS PER PAGE-->
+ <div class="slds-list_inline slds-p-bottom_xx-small customSelect">
+ <label class="slds-text-color_weak slds-p-horizontal_x-small" for="recordsPerPage">Page Size:</label>
+ <div class="slds-select_container">
+ <select class="slds-select" id="recordsPerPage" onchange={handleRecordsPerPage}>
+ <template for:each={pageSizeOptions} for:item="option">
+ <option key={option} value={option}>{option}</option>
+ </template>
+ </select>
+ </div>
+ </div>
+ </div>
+ <div class="slds-align_absolute-center">
+ <lightning-layout>
+ <lightning-layout-item>
+ <lightning-button icon-name="utility:jump_to_left" onclick={handleFirst} class="first"
+ disabled={previousButtonDisabled}></lightning-button>
+ </lightning-layout-item>
+ <lightning-layout-item>
+ <lightning-button icon-name="utility:chevronleft" onclick={handlePrevious} class="previous"
+ disabled={previousButtonDisabled}></lightning-button>
+ </lightning-layout-item>
+ <lightning-layout-item flexibility="grow"></lightning-layout-item>
+ <span class="slds-badge slds-badge_lightest">
+ {recordStart}-{recordEnd} 鍏� {totalRecords}涓�
+ </span>
+ <lightning-layout-item>
+ <lightning-button icon-name="utility:chevronright" onclick={handleNext}
+ class="next" disabled={nextButtonDisabled}></lightning-button>
+ </lightning-layout-item>
+ <lightning-layout-item>
+ <lightning-button icon-name="utility:jump_to_right" onclick={handleLast} class="last"
+ disabled={nextButtonDisabled}></lightning-button>
+ </lightning-layout-item>
+ </lightning-layout>
+ </div>
+ </div>
+ </lightning-card>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/paginator/paginator.js b/force-app/main/default/lwc/paginator/paginator.js
new file mode 100644
index 0000000..290042f
--- /dev/null
+++ b/force-app/main/default/lwc/paginator/paginator.js
@@ -0,0 +1,32 @@
+import { LightningElement, api } from 'lwc';
+
+export default class Paginator extends LightningElement {
+ @api previousButtonDisabled;
+ @api nextButtonDisabled;
+ @api recordStart;
+ @api recordEnd;
+ @api totalRecords;
+ @api pageSizeOptions;
+
+ handlePrevious() {
+ this.dispatchEvent(new CustomEvent('previous'));
+ }
+
+ handleNext() {
+ this.dispatchEvent(new CustomEvent('next'));
+ }
+
+ handleFirst() {
+ this.dispatchEvent(new CustomEvent('first'));
+ }
+
+ handleLast() {
+ this.dispatchEvent(new CustomEvent('last'));
+ }
+
+ handleRecordsPerPage(event){
+ let perpages = event.target.value;
+ let pageschangeEvent = new CustomEvent("pageschange",{detail:perpages});
+ this.dispatchEvent(pageschangeEvent);
+ }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/paginator/paginator.js-meta.xml b/force-app/main/default/lwc/paginator/paginator.js-meta.xml
new file mode 100644
index 0000000..b9a3113
--- /dev/null
+++ b/force-app/main/default/lwc/paginator/paginator.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/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
new file mode 100644
index 0000000..572df46
--- /dev/null
+++ b/force-app/main/default/lwc/parentComponentTest/parentComponentTest.html
@@ -0,0 +1,44 @@
+<template>
+ <lightning-card title="Augmentor" icon-name="action:download">
+ <lightning-layout>
+ <lightning-layout-item flexibility="auto" padding="around-small">
+ <lightning-input
+ label="Set Starting Counter"
+ type="number"
+ min="0"
+ max="1000000"
+ value={startCounter}
+ onchange={handleStartChange}
+ >
+ </lightning-input>
+ <lightning-button
+ class="slds-var-p-vertical_xx-small"
+ label="Add 1m To Counter"
+ onclick={handleMaximizeCounter}
+ >
+ </lightning-button>
+ </lightning-layout-item>
+ </lightning-layout>
+ <c-child-component-test
+ class="slds-show slds-is-relative"
+ counter={startCounter}
+ >
+ </c-child-component-test>
+ <lightning-vertical-navigation selected-item={newPageId}>
+ <lightning-vertical-navigation-section
+ label="Navigation"
+ selected-item={newPageId}
+ >
+ <template for:each={navigationItems} for:item="navigationItem">
+ <lightning-vertical-navigation-item
+ key={navigationItem.pageId}
+ label={navigationItem.label}
+ name={navigationItem.pageId}
+ onclick={handleNavigate}
+ ></lightning-vertical-navigation-item>
+ </template>
+ </lightning-vertical-navigation-section>
+ </lightning-vertical-navigation>
+ <p>Current Page is <strong>{newPageId}</strong></p>
+ </lightning-card>
+</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
new file mode 100644
index 0000000..30c8595
--- /dev/null
+++ b/force-app/main/default/lwc/parentComponentTest/parentComponentTest.js
@@ -0,0 +1,62 @@
+import { LightningElement,wire } from 'lwc';
+import { CurrentPageReference, NavigationMixin } from 'lightning/navigation';
+
+const NAVIGATION_ITEMS = [
+ { label: 'Home', pageId: 'home', isCurrentPage: false },
+ { label: 'PageA', pageId: 'pageA', isCurrentPage: false },
+ { label: 'PageB', pageId: 'pageB', isCurrentPage: false },
+ { label: 'PageC', pageId: 'pageC', isCurrentPage: false },
+];
+
+export default class ParentComponentTest extends NavigationMixin(LightningElement) {
+ startCounter = 0;
+ handleStartChange(event) {
+ this.startCounter = parseInt(event.target.value);
+ }
+ handleMaximizeCounter() {
+ this.template.querySelector('c-child-component-test').maximizeCounter();
+ }
+
+ //Navigation Start
+ currentPageReference;
+ selectedPageId;
+ newPageId = 'home';
+ navigationItems = NAVIGATION_ITEMS;
+
+ get newPageReferenceUrlParams() {
+ return {
+ c__ids: this.selectedPageId
+ };
+ }
+
+ get newPageReference() {
+ return Object.assign({}, this.currentPageReference, {
+ state: Object.assign({}, this.currentPageReference.state, this.newPageReferenceUrlParams)
+ });
+ }
+
+ navigateToNewPage() {
+ this[NavigationMixin.Navigate](
+ this.newPageReference,
+ false // if true js history is replaced without pushing a new history entry onto the browser history stack
+ ); // if false new js history entry is created. User will be able to click browser back/forward buttons
+ }
+
+ handleNavigate(event) {
+ this.selectedPageId = event.target.name;
+ this.navigateToNewPage();
+ }
+
+ @wire(CurrentPageReference)
+ setCurrentPageReference(currentPageReference) {
+ if (currentPageReference) {
+ this.currentPageReference = currentPageReference;
+ this.setCurrentPageIdBasedOnUrl();
+ }
+ }
+
+ setCurrentPageIdBasedOnUrl() {
+ 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
new file mode 100644
index 0000000..78dd1e6
--- /dev/null
+++ b/force-app/main/default/lwc/parentComponentTest/parentComponentTest.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>lightning__AppPage</target>
+ <target>lightning__Tab</target>
+ </targets>
+</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/pocLightningDatatable/customShipmentAmount.html b/force-app/main/default/lwc/pocLightningDatatable/customShipmentAmount.html
new file mode 100644
index 0000000..6b8fb9f
--- /dev/null
+++ b/force-app/main/default/lwc/pocLightningDatatable/customShipmentAmount.html
@@ -0,0 +1,7 @@
+<template>
+ <c-custom-shipment-Amount-comp
+ shipment-amount={typeAttributes.shipmentAmount}
+ record-id={typeAttributes.recordId}>
+
+ </c-custom-shipment-Amount-comp>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/pocLightningDatatable/customShipmentNumber.html b/force-app/main/default/lwc/pocLightningDatatable/customShipmentNumber.html
new file mode 100644
index 0000000..9c16166
--- /dev/null
+++ b/force-app/main/default/lwc/pocLightningDatatable/customShipmentNumber.html
@@ -0,0 +1,6 @@
+<template>
+ <c-custom-shipment-number-comp
+ record-id={typeAttributes.recordId}>
+
+ </c-custom-shipment-number-comp>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/pocLightningDatatable/customShippingUnitPrice.html b/force-app/main/default/lwc/pocLightningDatatable/customShippingUnitPrice.html
new file mode 100644
index 0000000..a4d518a
--- /dev/null
+++ b/force-app/main/default/lwc/pocLightningDatatable/customShippingUnitPrice.html
@@ -0,0 +1,6 @@
+<template>
+ <c-custom-shipping-unit-price-comp
+ record-id={typeAttributes.recordId}>
+
+ </c-custom-shipping-unit-price-comp>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/pocLightningDatatable/customUnit.html b/force-app/main/default/lwc/pocLightningDatatable/customUnit.html
new file mode 100644
index 0000000..f4f17ba
--- /dev/null
+++ b/force-app/main/default/lwc/pocLightningDatatable/customUnit.html
@@ -0,0 +1,12 @@
+<!-- sldsValidatorIgnore -->
+<!-- sldsValidatorIgnore -->
+<template>
+ <c-custom-unit-comp
+ style="position:relative; z-index:9999;"
+ unit-value={typeAttributes.unitValue}
+ unit-options={typeAttributes.unitOptions}
+ record-id={typeAttributes.recordId}
+ onunitchange={handleDataChange}
+ >
+ </c-custom-unit-comp>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/pocLightningDatatable/pocFileUpload.html b/force-app/main/default/lwc/pocLightningDatatable/pocFileUpload.html
new file mode 100644
index 0000000..deebcf7
--- /dev/null
+++ b/force-app/main/default/lwc/pocLightningDatatable/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/pocLightningDatatable/pocLightningDatatable.html b/force-app/main/default/lwc/pocLightningDatatable/pocLightningDatatable.html
new file mode 100644
index 0000000..27e0f69
--- /dev/null
+++ b/force-app/main/default/lwc/pocLightningDatatable/pocLightningDatatable.html
@@ -0,0 +1,3 @@
+<template>
+
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/pocLightningDatatable/pocLightningDatatable.js b/force-app/main/default/lwc/pocLightningDatatable/pocLightningDatatable.js
new file mode 100644
index 0000000..15828ae
--- /dev/null
+++ b/force-app/main/default/lwc/pocLightningDatatable/pocLightningDatatable.js
@@ -0,0 +1,28 @@
+import LightningDatatable from 'lightning/datatable';
+import pocFileUpload from './pocFileUpload.html';
+import customUnitTemplate from './customUnit.html';
+import customShipmentNumberTemplate from './customShipmentNumber.html';
+import customShippingUnitPriceTemplate from './customShippingUnitPrice.html';
+import customShipmentAmountTemplate from './customShipmentAmount.html';
+
+
+export default class PocLightningDatatable extends LightningDatatable {
+ static customTypes = {
+ customUnit: {
+ template: customUnitTemplate,
+ typeAttributes: ['unitValue','unitOptions','recordId'],
+ },
+ customShipment: {
+ template: customShipmentNumberTemplate,
+ typeAttributes: ['recordId'],
+ },
+ customShipmentUnitPrice: {
+ template: customShippingUnitPriceTemplate,
+ typeAttributes: ['recordId'],
+ },
+ customShipmentAmount: {
+ template: customShipmentAmountTemplate,
+ typeAttributes: ['shipmentAmount','recordId'],
+ }
+ };
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/pocLightningDatatable/pocLightningDatatable.js-meta.xml b/force-app/main/default/lwc/pocLightningDatatable/pocLightningDatatable.js-meta.xml
new file mode 100644
index 0000000..f8c5cb4
--- /dev/null
+++ b/force-app/main/default/lwc/pocLightningDatatable/pocLightningDatatable.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/productsh/productsh.css b/force-app/main/default/lwc/productsh/productsh.css
new file mode 100644
index 0000000..e6bf091
--- /dev/null
+++ b/force-app/main/default/lwc/productsh/productsh.css
@@ -0,0 +1,3 @@
+.bodyFont{
+ font-size: 12px;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/productsh/productsh.html b/force-app/main/default/lwc/productsh/productsh.html
new file mode 100644
index 0000000..0d4cba3
--- /dev/null
+++ b/force-app/main/default/lwc/productsh/productsh.html
@@ -0,0 +1,321 @@
+<template>
+
+ <div>
+ <div class="exampleHolder" if:true={IsLoading}>
+ <lightning-spinner alternative-text="Loading" size="large"></lightning-spinner>
+ </div>
+ <!-- 鎴愬姛 -->
+ <div class="demo-only demo-only_viewport" style="height:4.5rem" if:true = {Tongzhishow}>
+ <div class="slds-notification-container">
+ <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="#">
+ <span class="slds-icon_container slds-icon-standard-task slds-media__figure" title="task">
+ <svg class="slds-icon slds-icon_small" aria-hidden="true">
+ <use xlink:href="/assets/icons/standard-sprite/svg/symbols.svg#task"></use>
+ </svg>
+ </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>
+ </div>
+ </section>
+ </div>
+ </div>
+
+ <article class="slds-card bodyFont" style="width:1370px" if:true={IsLoadingEnd}>
+ <div class="slds-card__header slds-grid" >
+ <header class="slds-media slds-media_center slds-has-flexi-truncate">
+ <div class="slds-media__figure">
+ <!-- <span class="slds-icon_container slds-icon-standard-account" title="account">
+ <svg class="slds-icon slds-icon_small" aria-hidden="true">
+ <use xlink:href="/assets/icons/standard-sprite/svg/symbols.svg#account"></use>
+ </svg>
+ <span class="slds-assistive-text">account</span>
+ </span> -->
+ </div>
+ <div class="slds-media__body">
+ <h2 class="slds-card__header-title" style="background:#5ac8fa;height:33px">
+
+ <a href="#" class="slds-card__header-link slds-truncate" title="Accounts" style="margin-left: 560px">
+ <span style="color:#fff;width:100px">娲诲姩杩涘害绠$悊</span>
+ </a>
+ <!-- <span onclick={OnSaveClick} style="color:#fff;float:right">淇濆瓨</span> -->
+ <button class="slds-button slds-button_success" onclick={OnSaveClick} style="margin-left: 560px;" >淇濆瓨</button>
+ </h2>
+ </div>
+ </header>
+ </div>
+ <div class="slds-card__body slds-card__body_inner" >
+ <ul class="slds-accordion" style="width:1000px" >
+ <li class="slds-accordion__list-item">
+ <section class="slds-accordion__section slds-is-open">
+ <div class="slds-accordion__summary">
+ <h2 class="slds-accordion__summary-heading">
+ <button onclick={NotCompleteShowFn} class="slds-button slds-button_reset slds-accordion__summary-action" aria-controls="referenceId-45" aria-expanded="true" title="Accordion summary">
+ <svg class="slds-accordion__summary-action-icon slds-button__icon slds-button__icon_left" aria-hidden="true">
+ <use xlink:href="/assets/icons/utility-sprite/svg/symbols.svg#switch"></use>
+ </svg>
+ <span class="slds-accordion__summary-content">杩涜涓�</span>
+ </button>
+ </h2>
+ </div>
+ <div if:true={NotCompleteShow} class="slds-accordion__content" id="referenceId-45">
+ <table class="slds-table slds-table_cell-buffer slds-table_bordered">
+ <thead>
+ <tr class="slds-line-height_reset">
+ <th class="" scope="col" style="background:#facca5;">
+ <div class="" title="鍖婚櫌鍚�" style="width:100px">鍖婚櫌鍚�</div>
+ </th>
+ <th class="" scope="col" style="background:#facca5;">
+ <div class="" title="鐩爣ET" style="width:100px" >鐩爣ET</div>
+ </th>
+
+ <th class="" scope="col" style="background:#facca5;">
+ <div class="" title="鐩爣璐叆鏁伴噺锛堜欢锛�" style="width:110px">鐩爣璐叆鏁伴噺锛堜欢锛�</div>
+ </th>
+ <th class="" scope="col" style="background:#facca5;">
+ <div class="" title="鐩爣璁惧畾鏃�" style="width:100px">鐩爣璁惧畾鏃�</div>
+ </th>
+ <th class="" scope="col" style="background:#149feb">
+ <div class="" title="瀹炴柦-鍐呭" style="width:100px" >瀹炴柦-鍐呭</div>
+ </th>
+ <th class="" scope="col" style="background:#149feb">
+ <div class="slds-truncate" title="瀹炴柦-鏃ユ湡" style="width:80px">瀹炴柦-鏃ユ湡</div>
+ </th>
+ <th class="" scope="col" style="background:#149feb">
+ <div class="slds-truncate" title="妫�鏌�-璐叆鎰忓悜" style="width:100px">妫�鏌�-璐叆鎰忓悜</div>
+ </th>
+ <th class="" scope="col" style="background:#149feb">
+ <div class="slds-truncate" title="妫�鏌�-鏃ユ湡" style="width:80px">妫�鏌�-鏃ユ湡</div>
+ </th>
+ <th class="" scope="col" style="background:#149feb">
+ <div class="slds-truncate" title="澶勭悊-鍐呭" style="width:100px">澶勭悊-鍐呭</div>
+ </th>
+ <th class="" scope="col" style="background:#149feb">
+ <div class="slds-truncate" title="澶勭悊-鏃ユ湡" style="width:80px">澶勭悊-鏃ユ湡</div>
+ </th>
+ <th class="" scope="col" style="background:#149feb">
+ <div class="slds-truncate" title="缁撴灉" style="width:60px">缁撴灉</div>
+ </th>
+ <th class="" scope="col" style="background:#facca5">
+ <div class="slds-truncate" title="缁撴潫" style="width:80px">缁撴潫</div>
+ </th>
+
+ </tr>
+ </thead>
+ <tbody>
+ <template for:each={jzDataNotCompleteShow} for:item="item">
+ <tr class="slds-hint-parent" key={item.Id}>
+ <td data-label="demo1">
+ <div class="" title={item.Hospital_Name__c} style="width:100px;white-space:normal">{item.Hospital_Name__c}</div>
+ </td>
+ <td data-label="demo2">
+ <div class="" title={item.Category4__c} style="width:100px;white-space:normal" >
+ {item.Category4__c}
+ </div>
+ </td>
+ <td data-label="demo2">
+ <div class="slds-truncate" title={item.Qty__c}>{item.Qty__c}</div>
+ </td>
+ <td data-label="demo2">
+ <div class="slds-truncate" title={item.Plan_Date__c}>{item.Plan_Date__c}</div>
+ </td>
+ <td data-label="demo2" style="background:#e89b29">
+ <div class="slds-select_container">
+ <select class="slds-select" onchange={changeSSNR} name={item.Id}>
+ <option>{item.Do_Content__c}</option>
+ <option>涓嶉��</option>
+ <template for:each={DoContentList} for:item="DoItem">
+ <option key={DoItem.value} >{DoItem.value}</option>
+ </template>
+ </select>
+ </div>
+ </td>
+ <td data-label="demo2" >
+ <div class="slds-truncate" title={item.Do_Date__c} >{item.Do_Date__c}</div>
+ </td>
+ <td data-label="demo2" style="background:#e89b29">
+ <div class="slds-select_container" if:true={item.Do_ContentFlag}>
+ <select class="slds-select" onchange={changeJCGRYX} name={item.Id} >
+ <option>{item.Check_Purchase__c}</option>
+ <option>涓嶉��</option>
+ <template for:each={CheckPurchaseList} for:item="CPItem">
+ <option key={CPItem.value} >{CPItem.value}</option>
+ </template>
+ </select>
+ </div>
+ </td>
+ <td data-label="demo2">
+ <div class="slds-truncate" title={item.Check_Date__c} >{item.Check_Date__c}</div>
+ </td>
+ <td data-label="demo2" style="background:#e89b29">
+ <div class="slds-select_container" if:true={item.Check_PurchaseFlag}>
+ <select class="slds-select" onchange={changeCLNR} name={item.Id} >
+ <option>{item.Action_Content__c}</option>
+ <option>涓嶉��</option>
+ <template for:each={ActionContent} for:item="ACItem">
+ <option key={ACItem.value} >{ACItem.value}</option>
+ </template>
+ </select>
+ </div>
+ </td>
+ <td data-label="demo2">
+ <div class="slds-truncate" title={item.Action_Date__c} >{item.Action_Date__c}</div>
+ </td>
+ <td data-label="demo2" style="background:#e89b29">
+ <div >
+ <!-- 鍘绘帀閫夋嫨妗� -->
+ <!-- if:true={item.ResultShow} -->
+ <!-- <div class="slds-select_container" if:true={item.IsResultChack}>
+ <select class="slds-select" onchange={changeResult} name={item.Id} >
+ <option>{item.Result__c}</option>
+ <option>涓嶉��</option>
+ <template for:each={ResultCheckList} for:item="RSItem" >
+ <option key={RSItem.value} >{RSItem.value}</option>
+ </template>
+ </select>
+ </div> -->
+ <!-- <p if:false={item.IsResultChack} >{item.Result__c}</p> -->
+ <p>{item.Result__c}</p>
+ </div>
+ </td>
+ <td data-label="demo2" >
+ <div class="slds-truncate" title={item.ResultS} style="display: inline;">
+ <p >{item.ResultS}</p>
+ <!-- <div style="float: left;">缁撴潫 </div> -->
+
+ <!-- <div style="color:blue" onclick={RevokeChangeFn} name={item.Id} if:true={item.IsBetWeen}> 鎾ら攢</div> -->
+ </div>
+
+ </td>
+ </tr>
+ </template>
+ </tbody>
+ </table>
+ </div>
+ </section>
+ </li>
+
+ <li class="slds-accordion__list-item" style="width:1000px">
+ <section class="slds-accordion__section slds-is-open">
+ <div class="slds-accordion__summary">
+ <h2 class="slds-accordion__summary-heading">
+ <button onclick={CompleteShowFn} class="slds-button slds-button_reset slds-accordion__summary-action" aria-controls="referenceId-45" aria-expanded="true" title="Accordion summary">
+ <svg class="slds-accordion__summary-action-icon slds-button__icon slds-button__icon_left" aria-hidden="true">
+ <use xlink:href="/assets/icons/utility-sprite/svg/symbols.svg#switch"></use>
+ </svg>
+ <span class="slds-accordion__summary-content">宸插畬鎴�</span>
+ </button>
+ </h2>
+ </div>
+ <div if:true={CompleteShow} class="slds-accordion__content" id="referenceId-46">
+ <table class="slds-table slds-table_cell-buffer slds-table_bordered" >
+ <thead>
+ <tr class="slds-line-height_reset">
+ <th class="" scope="col" style="background:#facca5" >
+ <div class="slds-truncate" title="鍖婚櫌鍚�" style="width:100px">鍖婚櫌鍚�</div>
+ </th>
+ <th class="" scope="col" style="background:#facca5;">
+ <div class="slds-truncate" title="鐩爣ET" style="width:100px">鐩爣ET</div>
+ </th>
+
+ <th class="" scope="col" style="background:#facca5;">
+ <div class="slds-truncate" title="鐩爣璐叆鏁伴噺锛堜欢锛�" style="width:110px">鐩爣璐叆鏁伴噺锛堜欢锛�</div>
+ </th>
+ <th class="" scope="col" style="background:#facca5;">
+ <div class="slds-truncate" title="鐩爣璁惧畾鏃�" style="width:100px">鐩爣璁惧畾鏃�</div>
+ </th>
+ <th class="" scope="col" style="background:#149feb">
+ <div class="slds-truncate" title="瀹炴柦-鍐呭" style="width:100px" >瀹炴柦-鍐呭</div>
+ </th>
+ <th class="" scope="col" style="background:#149feb">
+ <div class="slds-truncate" title="瀹炴柦-鏃ユ湡" style="width:80px">瀹炴柦-鏃ユ湡</div>
+ </th>
+ <th class="" scope="col" style="background:#149feb">
+ <div class="slds-truncate" title="妫�鏌�-璐叆鎰忓悜" style="width:100px">妫�鏌�-璐叆鎰忓悜</div>
+ </th>
+ <th class="" scope="col" style="background:#149feb">
+ <div class="slds-truncate" title="妫�鏌�-鏃ユ湡" style="width:80px">妫�鏌�-鏃ユ湡</div>
+ </th>
+ <th class="" scope="col" style="background:#149feb">
+ <div class="slds-truncate" title="澶勭悊-鍐呭" style="width:100px">澶勭悊-鍐呭</div>
+ </th>
+ <th class="" scope="col" style="background:#149feb">
+ <div class="slds-truncate" title="澶勭悊-鏃ユ湡" style="width:80px">澶勭悊-鏃ユ湡</div>
+ </th>
+ <th class="" scope="col" style="background:#149feb">
+ <div class="slds-truncate" title="缁撴灉" style="width:60px">缁撴灉</div>
+ </th>
+ <th class="" scope="col" style="background:#facca5">
+ <div class="slds-truncate" title="缁撴潫" style="width:80px">缁撴潫</div>
+ </th>
+
+ </tr>
+ </thead>
+ <tbody>
+ <template for:each={jzDataCompleteShow} for:item="item">
+ <tr class="slds-hint-parent" key={item.Id} >
+ <td data-label="demo1" >
+ <div class="" title={item.Hospital_Name__c} style="width:100px;white-space:normal" >{item.Hospital_Name__c}</div>
+ </td>
+ <td data-label="demo2">
+ <div class="" title={item.Category4__c} style="width:100px;white-space:normal" >{item.Category4__c}</div>
+ </td>
+ <td data-label="demo2">
+ <div class="" title={item.Qty__c} >{item.Qty__c}</div>
+ </td>
+ <td data-label="demo2">
+ <div class="" title={item.Plan_Date__c}>{item.Plan_Date__c}</div>
+ </td>
+ <td data-label="demo2" style="background:#e89b29">
+ <div class="" title={item.Do_Content__c}>{item.Do_Content__c}</div>
+ </td>
+ <td data-label="demo2">
+ <div class="" title={item.Do_Date__c}>{item.Do_Date__c}</div>
+ </td>
+ <td data-label="demo2" style="background:#e89b29">
+ <div class="" title={item.Check_Purchase__c}>{item.Check_Purchase__c}</div>
+ </td>
+ <td data-label="demo2">
+ <div class="" title={item.Check_Date__c}>{item.Check_Date__c}</div>
+ </td>
+ <td data-label="demo2" style="background:#e89b29">
+ <div class="" title={item.Action_Content__c}>{item.Action_Content__c}</div>
+ </td>
+ <td data-label="demo2">
+ <div class="" title={item.Action_Date__c} >{item.Action_Date__c}</div>
+ </td>
+ <td data-label="demo2" style="background:#e89b29">
+ <div class="" title={item.Result__c} >{item.Result__c}</div>
+ </td>
+ <td data-label="demo2" >
+ <div class="" title="demo2" style="display: inline;">
+ <div style="float: left;">缁撴潫 </div>
+
+ <div style="color:blue" onclick={RevokeChangeFn} title={item.Id} if:true={item.IsBetWeen}> 鎾ら攢</div>
+ </div>
+
+ </td>
+ </tr>
+ </template>
+ </tbody>
+ </table>
+ </div>
+ </section>
+ </li>
+
+
+ </ul>
+
+ </div>
+
+ </article>
+
+ </div>
+
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/productsh/productsh.js b/force-app/main/default/lwc/productsh/productsh.js
new file mode 100644
index 0000000..ad93b65
--- /dev/null
+++ b/force-app/main/default/lwc/productsh/productsh.js
@@ -0,0 +1,460 @@
+import { LightningElement,track } from 'lwc';
+
+import GetNotCompleteData from '@salesforce/apex/ProductScoreHistoryService.GetNotCompleteData';
+import GetDoContentC from '@salesforce/apex/ProductScoreHistoryService.GetDoContentC';
+import GetCheckPurchaseC from '@salesforce/apex/ProductScoreHistoryService.GetCheckPurchaseC';
+import GetActionContentC from '@salesforce/apex/ProductScoreHistoryService.GetActionContentC';
+
+
+import SaveData from '@salesforce/apex/ProductScoreHistoryService.SaveData';
+
+import RevokeData from '@salesforce/apex/ProductScoreHistoryService.RevokeData';
+
+export default class productsh extends LightningElement {
+
+ ParamIdStr = '';
+ 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);
+ }
+//鍔犺浇
+ IsLoading = false;
+ IsLoadingEnd = true;
+ OnLoading(flag){
+ this.IsLoading = flag;
+ this.IsLoadingEnd = !flag;
+ }
+//END 鍔犺浇
+//鎻愮ず
+ Tongzhishow=false;
+ SaveShowText="鎿嶄綔鎴愬姛";
+ Alert(content){
+ this.SaveShowText = content;
+ this.Tongzhishow = true;
+ setTimeout(()=>{
+ this.Tongzhishow = false;
+ this.SaveShowText = "";
+ },3000)
+ }
+//END 鎻愮ず
+ //--鑾峰彇鏃堕棿
+ getDataFN()
+ {
+ var date = new Date();
+
+ var year = date.getFullYear();
+ var month = date.getMonth() + 1;
+ var day = date.getDate();
+
+
+ //鑾峰彇褰撳墠绯荤粺鏃堕棿
+ var currentDate = year + "-" + month + "-" + day;
+ //淇敼鏈堜唤鏍煎紡
+ if (month >= 1 && month <= 9) {
+ month = "0" + month;
+ }
+
+ //淇敼鏃ユ湡鏍煎紡
+ if (day >= 0 && day <= 9) {
+ day = "0" + day;
+ }
+ //鑾峰彇褰撳墠绯荤粺鏃堕棿 鏍煎紡(yyyy-mm-dd hh:mm:ss)
+ var currentFormatDate = year + "-" + month + "-" + day ;
+ return currentFormatDate;
+ }
+//鍒ゆ柇鏃ユ湡宸嚑澶�
+ getDaysBetween(dateString1,dateString2){
+ dateString1+=' 00:00:00';
+ dateString2+=' 00:00:00';
+ var startDate = Date.parse(dateString1);
+ var endDate = Date.parse(dateString2);
+ var days=(endDate - startDate)/(1*24*60*60*1000);
+ return days;
+ }
+
+
+//END
+
+// --- 鏈畬鎴� 鏄鹃殣
+ NotCompleteShow = true;
+
+
+ NotCompleteShowFn(event){
+ this.NotCompleteShow = !this.NotCompleteShow;
+
+ }
+// END
+
+
+// --- 宸插畬鎴� 鏄鹃殣
+ CompleteShow = true;
+
+
+ CompleteShowFn(event){
+ this.CompleteShow = !this.CompleteShow;
+
+ }
+ // END
+
+// --- 鍔犺浇鏁版嵁
+ DoContentList= []; //瀹炴柦
+ CheckPurchaseList=[]; //妫�鏌�
+ ActionContent = []; //澶勭悊
+ connectedCallback(){
+
+ debugger
+ this.OnLoading(true);
+ this.ParamIdStr = this.getQueryVariable('Id');
+ this.onLoadData();
+ }
+
+ onLoadData(){
+ GetNotCompleteData({HospitalId:this.ParamIdStr}).then(result => {
+ //杩斿洖鏁版嵁姣旇緝瑙勫垯
+ var responseObj = JSON.parse(result);
+ console.log("===",responseObj)
+
+ var WlList = [];
+ var WWList = [];
+ responseObj.forEach(item=>{
+
+ if (item.Do_Content__c != undefined && item.Do_Content__c != '' && item.Do_Content__c != ' ' ) {
+ item.Do_ContentFlag = true;
+ }else{
+ item.Do_ContentFlag = false;
+ }
+ if (item.Check_Purchase__c != undefined && item.Check_Purchase__c != '' && item.Check_Purchase__c != ' ' ) {
+ item.Check_PurchaseFlag = true;
+ }else{
+ item.Check_PurchaseFlag = false;
+ }
+
+ if (item.Action_Content__c != undefined && item.Action_Content__c != '' && item.Action_Content__c != ' ' ) {
+ item.ResultShow = true;
+ item.IsResultChack = true;
+ }
+ //鏈夊彂璐ц仈鍔ㄤ笖鏈夌粨鏋滐紝鎾ら攢濮嬬粓鏄剧ず
+ if(item.Agency_Linkage__c == true && item.Result__c!= undefined && item.Result__c !=''){
+ item.IsBetWeen = true;
+ }else{
+ if (item.Action_Date__c != undefined && item.Action_Date__c != '' ) {
+ //TODU
+ var BetWeenData = this.getDaysBetween(item.Action_Date__c,this.getDataFN());
+
+ if (BetWeenData >= 3) {
+ item.IsBetWeen = false;
+ }else{
+ item.IsBetWeen = true;
+ }
+
+ }
+ }
+
+ if (item.PDCA__c!=undefined && item.PDCA__c != '' && item.PDCA__c == '瀹屼簡') {
+ if (item.Qty__c !=undefined && item.Qty__c > 0) {
+ WlList.push(item);
+ }
+ }else{
+ if (item.Qty__c !=undefined && item.Qty__c > 0) {
+ WWList.push(item);
+ }
+ }
+ })
+ //TODO 杩欓噷闇�瑕佺粰鏁版嵁璧嬪��
+ this.jzDataNotCompleteShow = WWList;
+ console.log("======",this.jzDataNotCompleteShow)
+ this.jzDataCompleteShow = WlList;
+ this.OnLoading(false);
+ })
+
+ GetDoContentC().then(result=>{
+ var responseObj = JSON.parse(result);
+ this.DoContentList = responseObj;
+ })
+
+ GetCheckPurchaseC().then(result=>{
+ var responseObj = JSON.parse(result);
+ this.CheckPurchaseList = responseObj;
+ })
+ GetActionContentC().then(result=>{
+ var responseObj = JSON.parse(result);
+ this.ActionContent= responseObj;
+ })
+
+ }
+
+// END
+
+// ===================== 鏈畬鎴愭暟鎹� =============================
+
+
+ @track jzDataNotCompleteShow = [];
+
+
+ //鏀瑰彉浜嬩欢
+ changeSSNR(event)
+ {
+ var valueData = event.target.value;
+ if (valueData == '涓嶉��') {
+ valueData = '';
+ }
+ var IdValue = event.target.name;
+ var flag = 0;
+ //鍒ゆ柇鍊�
+ if (valueData == undefined || valueData == '' || valueData == ' ') {
+ flag = 1;
+ }else{
+ flag = 2;
+ }
+ var newArr = [];
+
+ this.jzDataNotCompleteShow.forEach(item=>{
+ if (item.Id == IdValue) {
+ if (flag == 1) {
+ item.Do_Content__c= null;
+ item.Check_Purchase__c = null;
+ item.Action_Content__c = null;
+
+ item.Do_Date__c = null;
+ item.Check_Date__c = null;
+ item.Action_Date__c = null;
+
+ item.Do_ContentFlag = false;
+ item.Check_PurchaseFlag = false;
+ item.ResultShow = false;
+
+ item.ResultS = "";
+ }else if(flag == 2)
+ {
+ var DataStr = this.getDataFN();
+ item.Do_Content__c= valueData;
+ item.Do_Date__c = DataStr;
+ item.Do_ContentFlag = true;
+ }
+ }
+ newArr.push({...{},...item});
+ })
+ this.jzDataNotCompleteShow = newArr;
+ console.warn(this.jzDataNotCompleteShow);
+ }
+ changeJCGRYX(event)
+ {
+ var valueData = event.target.value;
+ if (valueData == '涓嶉��') {
+ valueData = '';
+ }
+ var IdValue = event.target.name;
+ var flag = 0;
+ //鍒ゆ柇鍊�
+ if (valueData == undefined || valueData == '' || valueData == ' ') {
+ flag = 1;
+ }else{
+ flag = 2;
+ }
+ var newArr = [];
+ this.jzDataNotCompleteShow.forEach(item=>{
+ if (item.Id == IdValue) {
+ if (flag == 1) {
+ item.Check_Purchase__c = null;
+ item.Action_Content__c = null;
+
+ item.Check_Date__c = null;
+ item.Action_Date__c = null;
+
+ item.Check_PurchaseFlag = false;
+ item.ResultShow = false;
+
+ item.ResultS = "";
+ }else if(flag == 2)
+ {
+ if (item.Do_Content__c != undefined && item.Do_Content__c != '' && item.Do_Content__c != ' ' ) {
+
+ item.Check_Purchase__c= valueData;
+ item.Check_Date__c = this.getDataFN();
+ item.Check_PurchaseFlag = true;
+
+ if (valueData == "涓嶄娇鐢�") {
+ item.Action_Content__c= '涓嶄娇鐢�';
+ item.Action_Date__c = this.getDataFN();
+ // item.ResultShow = true;
+
+ // item.Result__c = '涓嶄娇鐢�'
+ // item.IsResultChack = false;
+
+ // item.ResultS = "缁撴潫";
+ }
+ }else{
+ item.Check_Purchase__c= null;
+ }
+ }
+ }
+ newArr.push({...{},...item});
+ })
+ this.jzDataNotCompleteShow = newArr;
+ console.warn(this.jzDataNotCompleteShow);
+
+ }
+ changeCLNR(event)
+ {
+
+ var valueData = event.target.value;
+ if (valueData == '涓嶉��') {
+ valueData = '';
+ }
+ var IdValue = event.target.name;
+ var flag = 0;
+ //鍒ゆ柇鍊�
+ if (valueData == undefined || valueData == '' || valueData == ' ') {
+ flag = 1;
+ }else{
+ flag = 2;
+ }
+ var newArr = [];
+ this.jzDataNotCompleteShow.forEach(item=>{
+ if (item.Id == IdValue) {
+ if (flag == 1) {
+ item.Action_Content__c = null;
+
+ item.Action_Date__c = null;
+
+ item.ResultShow = false;
+
+ item.ResultS = "";
+ }else if(flag == 2)
+ {
+ if (item.Do_Content__c != undefined && item.Do_Content__c != '' && item.Do_Content__c != ' '
+ && item.Check_Purchase__c != undefined && item.Check_Purchase__c != '' && item.Check_Purchase__c != ' ' ) {
+ item.Action_Content__c= valueData;
+ item.Action_Date__c = this.getDataFN();
+ item.ResultShow = true;
+ }else{
+ item.Action_Content__c= null;
+ }
+ }
+ }
+ newArr.push({...{},...item});
+ })
+ this.jzDataNotCompleteShow = newArr;
+ console.warn(this.jzDataNotCompleteShow);
+
+ //璁剧疆 缁撴潫
+ this.ChangeResultFn(IdValue);
+ }
+ //閫夋嫨缁撴瀯
+ changeResult(event){
+ var valueData = event.target.value;
+ if (valueData == '涓嶉��') {
+ valueData = '';
+ }
+ var IdValue = event.target.name;
+ var flag = 0;
+ //鍒ゆ柇鍊�
+ if (valueData == undefined || valueData == '' || valueData == ' ') {
+ flag = 1;
+ }else{
+ flag = 2;
+ }
+ var newArr = [];
+ this.jzDataNotCompleteShow.forEach(item=>{
+ if (item.Id == IdValue) {
+ if (flag == 1) {
+ item.Result__c = '';
+
+ item.ResultS = "";
+ }else if(flag == 2)
+ {
+ if (item.Action_Content__c != undefined && item.Action_Content__c != '' && item.Action_Content__c != ' ' )
+ {
+ item.Result__c= valueData;
+ item.ResultS = "缁撴潫";
+ }else{
+ item.Result__c= '';
+ }
+ }
+ }
+ newArr.push({...{},...item});
+ })
+ this.jzDataNotCompleteShow = newArr;
+ console.warn(this.jzDataNotCompleteShow);
+ }
+
+ ResultCheckList=[
+ {label:"浣跨敤",value:"浣跨敤"},
+ {label:"涓嶄娇鐢�",value:"涓嶄娇鐢�"},
+ ]
+ //璁剧疆 缁撴潫
+ ChangeResultFn(Id){
+ var newArr = [];
+ this.jzDataNotCompleteShow.forEach(item=>{
+ if (item.Id == Id && item.Action_Content__c != undefined && item.Action_Content__c != '' && item.Action_Content__c != ' ' ) {
+ if (item.Action_Content__c == '涓嶄娇鐢�' ) {
+ //item.Result__c = '涓嶄娇鐢�'
+ item.IsResultChack = false;
+ //item.ResultS = "缁撴潫";
+ }else{
+ item.IsResultChack = true;
+ }
+ }
+ newArr.push(item);
+ })
+
+ this.jzDataNotCompleteShow = newArr;
+ }
+
+
+ //淇濆瓨鏁版嵁
+ OnSaveClick(event)
+ {
+ this.OnLoading(true);
+ var jsondata=JSON.stringify(this.jzDataNotCompleteShow);
+ debugger
+ console.log("浼犻�掓暟鎹�=====",jsondata)
+ SaveData({JsonData:jsondata}).then(result=>{
+
+ if (result == '鎴愬姛') {
+ this.Alert("淇濆瓨鎴愬姛");
+ }else{
+ this.Alert("淇濆瓨澶辫触");
+ }
+ this.onLoadData();
+ })
+
+ }
+// ===================== END鏈畬鎴愭暟鎹� =============================
+
+
+// ===================== 瀹屾垚鏁版嵁 =============================
+
+
+ @track jzDataCompleteShow = [];
+
+
+
+ RevokeChangeFn(event)
+ {
+ var IdValue = event.target.title;
+ this.OnLoading(true);
+ var Datas = this.jzDataCompleteShow;
+
+ RevokeData({Id:IdValue}).then(result=>{
+
+ if (result == '鎴愬姛') {
+ this.Alert("鎾ら攢鎴愬姛");
+ }else{
+ this.Alert("鎾ら攢澶辫触");
+ }
+
+ this.onLoadData();
+ })
+ }
+
+// ===================== END 瀹屾垚鏁版嵁 =============================
+
+
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/productsh/productsh.js-meta.xml b/force-app/main/default/lwc/productsh/productsh.js-meta.xml
new file mode 100644
index 0000000..0416469
--- /dev/null
+++ b/force-app/main/default/lwc/productsh/productsh.js-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>51.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.css b/force-app/main/default/lwc/quoteTrial/quoteTrial.css
new file mode 100644
index 0000000..64caefb
--- /dev/null
+++ b/force-app/main/default/lwc/quoteTrial/quoteTrial.css
@@ -0,0 +1,26 @@
+.form-maxTab {
+ width: 700px;
+}
+
+.form-group {
+ margin-bottom: 10px;
+ display: inline-block;
+ vertical-align: middle;
+}
+
+.defaultWidth {
+ width: 150px;
+}
+
+.marginTop22 {
+ margin-top: 22px;
+}
+
+.marginRight10 {
+ margin-right: 10px;
+}
+
+.CSSClass {
+ color: red;
+ font-weight: bold;
+}
\ 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
new file mode 100644
index 0000000..8c74d58
--- /dev/null
+++ b/force-app/main/default/lwc/quoteTrial/quoteTrial.html
@@ -0,0 +1,433 @@
+<template>
+ <!-- <lightning-button label="Modal" onclick={showModal}></lightning-button> -->
+ <!-- 鍏ㄥ眬鍔犺浇 -->
+ <div class="exampleHolder" if:true={IsLoading} >
+ <lightning-spinner alternative-text="Loading" size="large"></lightning-spinner>
+ </div>
+
+ <!-- 閫氱煡鎻愮ず -->
+ <!-- <div style="float:right">
+
+ <div class="demo-only demo-only_viewport" style="height:4.5rem" if:true = {Tongzhishow}>
+ <div class="slds-notification-container">
+ <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="#">
+ <span class="slds-icon_container slds-icon-standard-task slds-media__figure" title="task">
+ <svg class="slds-icon slds-icon_small" aria-hidden="true">
+ <use xlink:href="/assets/icons/standard-sprite/svg/symbols.svg#task"></use>
+ </svg>
+ </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 onclick={TongzhiClick} class="slds-button slds-button_icon slds-button_icon-container slds-notification__close" title="Dismiss Call Two: Jane Johnson notification">
+ <svg class="slds-button__icon" aria-hidden="true">
+ <use xlink:href="/assets/icons/utility-sprite/svg/symbols.svg#close"></use>
+ </svg>
+ <span class="slds-assistive-text">Dismiss Call Two: Jane Johnson notification</span>
+ </button>
+ </div>
+ </section>
+ </div>
+ </div>
+
+
+ <div class="demo-only demo-only_viewport" style="height:4.5rem" if:true = {ErrorTongzhishow}>
+ <div class="slds-notification-container">
+ <div aria-live="assertive" aria-atomic="true" class="slds-assistive-text">event notification: Tesla - Renewal meeting</div>
+ <section class="slds-notification" role="dialog" aria-labelledby="noti52" aria-describedby="dialog-body-id-43">
+ <div class="slds-notification__body" id="dialog-body-id-44">
+ <a class="slds-notification__target slds-media" href="#">
+ <span class="slds-icon_container slds-icon-standard-event slds-media__figure" title="event">
+ <svg class="slds-icon slds-icon_small" aria-hidden="true">
+ <use xlink:href="/assets/icons/standard-sprite/svg/symbols.svg#event"></use>
+ </svg>
+ </span>
+ <div class="slds-media__body">
+ <h2 class="slds-text-heading_small slds-m-bottom_xx-small" id="noti52">
+ <span class="slds-assistive-text">event notification:</span>閿欒</h2>
+ <p>{ShowErrorContent}</p>
+ </div>
+ </a>
+ <button onclick={ErrorTongzhiClick} class="slds-button slds-button_icon slds-button_icon-container slds-notification__close" title="Dismiss Tesla - Renewal meeting notification">
+ <svg class="slds-button__icon" aria-hidden="true">
+ <use xlink:href="/assets/icons/utility-sprite/svg/symbols.svg#close"></use>
+ </svg>
+ <span class="slds-assistive-text">Dismiss Tesla - Renewal meeting notification</span>
+ </button>
+ </div>
+ </section>
+ </div>
+ </div>
+ </div> -->
+ <!-- END -->
+ <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>
+ </div>
+ </div>
+ <div style={ScreenWidth}>
+ <!-- 榛樿鏁版嵁 Default -->
+ <div >
+ <article class="slds-card" >
+ <div class="slds-card__header slds-grid" >
+ <header class="slds-media slds-media_center slds-has-flexi-truncate">
+ <div class="slds-media__figure">
+ <span class="slds-icon_container slds-icon-standard-account" title="account">
+ <svg class="slds-icon slds-icon_small" aria-hidden="true">
+ <use xlink:href="/assets/icons/standard-sprite/svg/symbols.svg#account"></use>
+ </svg>
+ <span class="slds-assistive-text">account</span>
+ </span>
+ </div>
+ <div class="slds-media__body">
+ <h2 class="slds-card__header-title">
+ <a href="#" class="slds-card__header-link slds-truncate" title="Accounts">
+ <span>寰呴�夋嫨浜у搧</span>
+ </a>
+ </h2>
+ </div>
+ </header>
+ </div>
+ <div class="slds-card__body slds-card__body_inner">
+ <div style="min-height: 60px;">
+ <c-jz-data-table miniheight="min-height: 60px" onrowselection={SelectedFnDefault} name="jzDataTableDefault" ongettabledata={getTableDataDefault} table-data={jzDataDefault} table-is-loding={tableIsLodingDefault} options={initDataTableDefault}></c-jz-data-table>
+ </div>
+ </div>
+ </article>
+ </div>
+
+ <!-- END -->
+ <!-- 浣跨敤浠锋牸鏀跨瓥 -->
+ <div >
+ <article class="slds-card">
+ <div class="slds-card__header slds-grid" >
+ <header class="slds-media slds-media_center slds-has-flexi-truncate">
+ <div class="slds-media__figure">
+ <span class="slds-icon_container slds-icon-standard-account" title="account">
+ <svg class="slds-icon slds-icon_small" aria-hidden="true">
+ <use xlink:href="/assets/icons/standard-sprite/svg/symbols.svg#account"></use>
+ </svg>
+ <span class="slds-assistive-text">account</span>
+ </span>
+ </div>
+ <div class="slds-media__body">
+ <h2 class="slds-card__header-title">
+ <a href="#" class="slds-card__header-link slds-truncate" title="Accounts">
+ <span>浣跨敤浠锋牸鏀跨瓥</span>
+ </a>
+ </h2>
+ </div>
+ </header>
+ </div>
+ <div class="slds-card__body slds-card__body_inner">
+ <div >
+ <div if:true={buttonIsShow}>
+ <button class="slds-button slds-button_brand" onclick={showModal}>閫夋嫨淇冮攢鏂规鍥哄畾浠锋牸</button>
+ <button class="slds-button slds-button_brand" onclick={showModalFix}>閫夋嫨涓�鑸骇鍝佸浐瀹氫环鏍�</button>
+ <button class="slds-button slds-button_brand" onclick={deleteFixedPrice}>鍒犻櫎</button>
+ </div>
+ <!-- -->
+
+ <div class="exampleHolder" if:true={IsLoading3} style="height:200px">
+ <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+ </div>
+ <!-- -->
+ <div if:true={jzDataTableFixedPriceIsShow}>
+ <c-jz-data-table miniheight="min-height: 60px" idkey="DelectId" onrowselection={SelectedFnFixedPrice} name="jzDataTableFixedPrice" ongettabledata={getTableDataFixedPrice} table-data={jzDataFixedPrice} table-is-loding={tableIsLodingFixedPrice} options={initDataTableFixedPrice} onsave={handleSaveFixedPrice} if:true={jzshows3}></c-jz-data-table>
+ </div>
+ </div>
+ </div>
+
+ </article>
+
+ </div>
+
+
+ <!-- END -->
+
+
+ <!-- 閫変腑妗� -->
+ <div if:true = {show} >
+ <section role="dialog" tabindex="-1" class="slds-modal slds-fade-in-open slds-modal_large" aria-labelledby="modal-heading-01" aria-modal="true" aria-describedby="modal-content-id-1">
+ <div class="slds-modal__container">
+ <div class="slds-modal__content slds-p-around_medium" id="modal-content-id-1">
+ <c-jz-search-form name="jzSearchForm1" ongetsearchparams={searchData} options={initSearchForm}></c-jz-search-form>
+ <c-jz-data-table onrowselection={SelectedFn} data-parent-id="parent-div-id" name="jzDataTable1" ongettabledata={getTableData} table-data={jzData} table-is-loding={tableIsLoding} options={initDataTable}></c-jz-data-table>
+ </div>
+ <footer class="slds-modal__footer">
+ <button class="slds-button slds-button_neutral" onclick={cancel}>鍏抽棴</button>
+ <button class="slds-button slds-button_brand">纭畾</button>
+ </footer>
+ </div>
+ </section>
+ <div class="slds-backdrop slds-backdrop_open"></div>
+ </div>
+
+ <!-- -->
+
+
+ <!-- 閫夋嫨涓�鑸骇鍝佸浐瀹氫环鏍� 寮瑰嚭妗� -->
+ <div if:true = {ShowFix} >
+ <section role="dialog" tabindex="-1" class="slds-modal slds-fade-in-open slds-modal_large" aria-labelledby="modal-heading-01" aria-modal="true" aria-describedby="modal-content-id-1">
+ <div class="slds-modal__container">
+ <div class="slds-modal__content slds-p-around_medium" id="modal-content-id-2">
+ <c-jz-search-form name="jzSearchForm1" ongetsearchparams={searchDataFix} options={initSearchFormFix}></c-jz-search-form>
+ <c-jz-data-table onrowselection={SelectedFnFix} data-parent-id="parent-div-idFix" name="jzDataTableFix" ongettabledata={getTableDataFix} table-data={jzDataFix} table-is-loding={tableIsLodingFix} options={initDataTableFix}></c-jz-data-table>
+ </div>
+ <footer class="slds-modal__footer">
+ <button class="slds-button slds-button_neutral" onclick={cancelFix}>鍏抽棴</button>
+ <button class="slds-button slds-button_brand">纭畾</button>
+ </footer>
+ </div>
+ </section>
+ <div class="slds-backdrop slds-backdrop_open"></div>
+ </div>
+ <!-- -->
+
+
+
+ <!-- 浣跨敤鐨勬姌鎵f斂绛� -->
+ <div >
+ <article class="slds-card">
+ <div class="slds-card__header slds-grid" >
+ <header class="slds-media slds-media_center slds-has-flexi-truncate">
+ <div class="slds-media__figure">
+ <span class="slds-icon_container slds-icon-standard-account" title="account">
+ <svg class="slds-icon slds-icon_small" aria-hidden="true">
+ <use xlink:href="/assets/icons/standard-sprite/svg/symbols.svg#account"></use>
+ </svg>
+ <span class="slds-assistive-text">account</span>
+ </span>
+ </div>
+ <div class="slds-media__body">
+ <h2 class="slds-card__header-title">
+ <a href="#" class="slds-card__header-link slds-truncate" title="Accounts">
+ <span>浣跨敤鐨勬姌鎵f斂绛�</span>
+ </a>
+ </h2>
+ </div>
+ </header>
+ </div>
+ <div class="slds-card__body slds-card__body_inner">
+ <div>
+ <div if:true={buttonIsShow}>
+ <button class="slds-button slds-button_brand" onclick={showModalSpecial} > 閫夋嫨鐗圭害鎶樻墸 </button>
+ <button class="slds-button slds-button_brand" onclick={showModalCommonly}> 閫夋嫨涓�鑸姌鎵� </button>
+ <button class="slds-button slds-button_brand" onclick={delectTableDiscount}>鍒犻櫎</button>
+ </div>
+ <!-- -->
+
+ <!-- <div class="exampleHolder" if:true={IsLoading2}>
+ <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+ </div> -->
+ <!-- -->
+ <div if:true={jzDataTableDiscountIsShow}>
+ <c-jz-data-table class="jzdtdis" miniheight="min-height: 60px" idkey="DelectId" onrowselection={SelectedFnDiscount} name="jzDataTableDiscount" ongettabledata={getTableDataDiscount} table-data={jzDataDiscount} table-is-loding={tableIsLodingDiscount} options={initDataTableDiscount} onsave={handleSaveDiscount} if:true={jzshows2}></c-jz-data-table>
+ </div>
+ </div>
+ </div>
+
+ </article>
+
+ </div>
+
+
+ <!-- END -->
+
+
+ <!-- 閫夋嫨鐗圭害鎶樻墸 寮瑰嚭妗� -->
+ <div if:true = {ShowSpecial} >
+ <section role="dialog" tabindex="-1" class="slds-modal slds-fade-in-open slds-modal_large" aria-labelledby="modal-heading-01" aria-modal="true" aria-describedby="modal-content-id-1">
+ <div class="slds-modal__container">
+ <div if:true = {ShowSpecialIsError}>
+ <div class="slds-notify slds-notify_alert slds-alert_error" role="alert">
+ <span class="slds-assistive-text">error</span>
+ <span class="slds-icon_container slds-icon-utility-error slds-m-right_x-small" title="Description of icon when needed">
+ <svg class="slds-icon slds-icon_x-small" aria-hidden="true">
+ <use xlink:href="/assets/icons/utility-sprite/svg/symbols.svg#error"></use>
+ </svg>
+ </span>
+ <h2>{ShowSpecialError}
+ <a href="#"></a>
+ </h2>
+ <div class="slds-notify__close">
+ <button class="slds-button slds-button_icon slds-button_icon-small slds-button_icon-inverse" title="Close">
+ <svg class="slds-button__icon" aria-hidden="true">
+ <use xlink:href="/assets/icons/utility-sprite/svg/symbols.svg#close"></use>
+ </svg>
+ <span class="slds-assistive-text">Close</span>
+ </button>
+ </div>
+ </div>
+ </div>
+
+ <div class="slds-modal__content slds-p-around_medium" id="modal-content-id-3">
+ <div style="height:335px;overflow:auto;">
+ <c-jz-data-table onrowselection={SelectedFnSpecial} data-parent-id="parent-div-idSpecial" name="jzDataTableSpecial" ongettabledata={getTableDataSpecial} table-data={jzDataSpecial} table-is-loding={tableIsLodingSpecial} options={initDataTableSpecial}></c-jz-data-table>
+ </div>
+
+ <!-- otherData -->
+ <div class="exampleHolder" if:true={IsLoading5} style="height:100px">
+ <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+ </div>
+ <div >
+ <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">
+ <button class="slds-button slds-button_neutral" onclick={cancelSpecial}>鍏抽棴</button>
+ <button class="slds-button slds-button_brand" onclick={SavesSpecial} >纭畾</button>
+ </footer>
+ </div>
+ </section>
+ <div class="slds-backdrop slds-backdrop_open"></div>
+ </div>
+ <!--END -->
+
+
+
+ <!-- 閫夋嫨涓�鑸姌鎵� 寮瑰嚭妗� -->
+ <div if:true = {ShowCommonly} >
+ <section role="dialog" tabindex="-1" class="slds-modal slds-fade-in-open slds-modal_large" aria-labelledby="modal-heading-01" aria-modal="true" aria-describedby="modal-content-id-1">
+ <div class="slds-modal__container">
+ <div if:true = {ShowCommonlyIsError}>
+ <div class="slds-notify slds-notify_alert slds-alert_error" role="alert">
+ <span class="slds-assistive-text">error</span>
+ <span class="slds-icon_container slds-icon-utility-error slds-m-right_x-small" title="Description of icon when needed">
+ <svg class="slds-icon slds-icon_x-small" aria-hidden="true">
+ <use xlink:href="/assets/icons/utility-sprite/svg/symbols.svg#error"></use>
+ </svg>
+ </span>
+ <h2>{ShowCommonlyError}
+ <a href="#"></a>
+ </h2>
+ <div class="slds-notify__close">
+ <button class="slds-button slds-button_icon slds-button_icon-small slds-button_icon-inverse" title="Close">
+ <svg class="slds-button__icon" aria-hidden="true">
+ <use xlink:href="/assets/icons/utility-sprite/svg/symbols.svg#close"></use>
+ </svg>
+ <span class="slds-assistive-text">Close</span>
+ </button>
+ </div>
+ </div>
+ </div>
+ <div class="slds-modal__content slds-p-around_medium" id="modal-content-id-4">
+ <div class ="form-group">
+ <div class ="form-group" style=" display: inline-block; margin-right: 20px;">
+ <div class="slds-form-element">
+ <label class="slds-form-element__label" for="select-01">浜у搧绯诲垪锛�</label>
+ <div class="slds-form-element__control">
+ <div class="slds-select_container">
+ <select class="slds-select" style="width:150px" onchange={handleChangeLb}>
+ <option value="">閫夋嫨</option>
+ <option>GI鍒嗛噹</option>
+ <option>SP鍒嗛噹</option>
+ <option>ET鍒嗛噹</option>
+ <option>鑳介噺鍒�澶�</option>
+ </select>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class ="form-group" style=" display: inline-block;"> <lightning-input type="text" name="input2" label="浣跨敤鎶樻墸锛�" style="width:150px" onblur={handleChangeZk}></lightning-input></div>
+ </div>
+ <!-- <div style="height:10px"> -->
+ <div class="exampleHolder" if:true={IsLoading4} style="height:100px">
+ <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+ </div>
+ <!-- </div> -->
+ <c-jz-data-table onrowselection={SelectedFnCommonly} data-parent-id="parent-div-idCommonly" name="jzDataTableCommonly" ongettabledata={getTableDataCommonly} table-data={jzDataCommonly} table-is-loding={tableIsLodingCommonly} options={initDataTableCommonly} onsave={SaveGeneralDiscount} if:true={jzshows4}></c-jz-data-table>
+ </div>
+ <footer class="slds-modal__footer">
+ <button class="slds-button slds-button_neutral" onclick={cancelCommonly}>鍏抽棴</button>
+ <button class="slds-button slds-button_brand" onclick={cancelSaveCommonly}>纭畾</button>
+ </footer>
+ </div>
+ </section>
+ <div class="slds-backdrop slds-backdrop_open"></div>
+ </div>
+ <!-- -->
+ <!-- 浜у搧鏄庣粏 Product -->
+ <div>
+ <article class="slds-card">
+ <div class="slds-card__header slds-grid" >
+ <header class="slds-media slds-media_center slds-has-flexi-truncate">
+ <div class="slds-media__figure">
+ <span class="slds-icon_container slds-icon-standard-account" title="account">
+ <svg class="slds-icon slds-icon_small" aria-hidden="true">
+ <use xlink:href="/assets/icons/standard-sprite/svg/symbols.svg#account"></use>
+ </svg>
+ <span class="slds-assistive-text">account</span>
+ </span>
+ </div>
+ <div class="slds-media__body">
+ <h2 class="slds-card__header-title">
+ <a href="#" class="slds-card__header-link slds-truncate" title="Accounts">
+ <span>浜у搧鏄庣粏</span>
+ </a>
+ </h2>
+ </div>
+ </header>
+ </div>
+ <div class="slds-card__body slds-card__body_inner">
+ <div>
+ <div if:true={buttonIsShow}>
+ <button class="slds-button slds-button_brand" onclick={delectTableProduct}>鍒犻櫎</button>
+ </div>
+ <!-- -->
+
+ <!-- <div class="exampleHolder" if:true={IsLoading}>
+ <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+ </div> -->
+ <!-- -->
+ <c-jz-data-table data-parent-id="chuxiao" idkey="DelectId" miniheight="min-height: 60px" onrowselection={SelectedFnProduct} name="jzDataTableProduct" ongettabledata={getTableDataProduct} table-data={jzDataProduct} table-is-loding={tableIsLodingProduct} options={initDataTableProduct} if:true={jzshows}></c-jz-data-table>
+ </div>
+
+ <p align="center" ><b>鍚堝悓鎬讳环锛歿ContractPrice}</b></p>
+ <div align="right" >
+ <button if:true={buttonIsShow} class="slds-button slds-button_brand" onclick={saveAllDataProductFn}>淇濆瓨</button>
+ <button if:true={buttonIsShow} class="slds-button slds-button_outline-brand" onclick={jumpNewQuoteEntryAndSave}>淇濆瓨骞惰繑鍥�</button>
+ <button class="slds-button slds-button_outline-brand" onclick={jumpNewQuoteEntry}>涓嶄繚瀛樿繑鍥�</button>
+ <button id="btn" class="slds-button slds-button_brand" onclick={copyJzDataTableProduct}>澶嶅埗</button>
+ </div>
+
+ </div>
+ <!-- <button class="slds-button slds-button_brand" onclick={deleteAllDiscounttable}>鍒犻櫎浜у搧</button>
+ <button class="slds-button slds-button_brand" onclick={deleteAlltable}>鍒犻櫎鏂规</button>
+ -->
+ </article>
+
+ </div>
+
+ <!-- END -->
+ </div>
+
+
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/quoteTrial/quoteTrial.js b/force-app/main/default/lwc/quoteTrial/quoteTrial.js
new file mode 100644
index 0000000..27b3b9d
--- /dev/null
+++ b/force-app/main/default/lwc/quoteTrial/quoteTrial.js
@@ -0,0 +1,3017 @@
+import {
+ LightningElement,
+ track
+} from 'lwc';
+//寮曞叆鍚庡彴鏂规硶
+import GetPromotionDefalut from '@salesforce/apex/QuoteTrialController.GetPromotionDefalut';
+import GetPromotionPromotionSearch from '@salesforce/apex/QuoteTrialController.GetPromotionPromotionSearch';
+import GetNormalProductSearch from '@salesforce/apex/QuoteTrialController.GetNormalProductSearch';
+import GetAuthorizerSearch from '@salesforce/apex/QuoteTrialController.GetAuthorizerSearch';
+import GetSearchProductById from '@salesforce/apex/QuoteTrialController.GetSearchProductById';
+import saveAllDataProduct from '@salesforce/apex/QuoteTrialController.saveAllDataProduct';
+import GetParamToId from '@salesforce/apex/QuoteTrialController.GetParamToId';
+import SelectAllDataProduct from '@salesforce/apex/QuoteTrialController.selectAllDataProduct';
+import SelectAllDataDiscount from '@salesforce/apex/QuoteTrialController.selectAllDataDiscount';
+import GetQuoteData from '@salesforce/apex/QuoteTrialController.GetQuoteData';
+import GetAgencyRName from '@salesforce/apex/QuoteTrialController.GetAgencyRName';
+import selectUpdateFiexedpriceData from '@salesforce/apex/QuoteTrialController.selectUpdateFiexedpriceData';
+import selectUpdateQuoteLineItemData from '@salesforce/apex/QuoteTrialController.selectUpdateQuoteLineItemData';
+import ClipboardJS from '@salesforce/resourceUrl/clipboardminjs';
+import Please_Save_Quote from '@salesforce/label/c.Please_Save_Quote';
+import Check_Your_Clipboard from '@salesforce/label/c.Check_Your_Clipboard';
+import {
+ arrTempsss,
+ arrProductTempsss,
+ initDataTableProduct2,
+ initDataTable2,
+ initSearchForm2,
+ initDataTableFix2,
+ initSearchFormFix2,
+ getQueryVariable,
+ ChangeFiexedData,
+ GetUUID,
+ initDataTableDefault2,
+ initSearchFormDefalt2,
+ initSearchFormFixedPrice2,
+ initDataTableFixedPrice2,
+ initSearchFormDiscount2,
+ initDataTableDiscount2,
+ initSearchFormSpecial2,
+ initDataTableSpecial2,
+ initSearchFormOtherData2,
+ initDataTableOtherData2,
+ initSearchFormCommonly2,
+ initDataTableCommonly2,
+ ConsolidationScheme,
+ MergeProducts,
+ ProductAssignmentSelect,
+ ProductSelected,
+ UnselectedScheme,
+ SelectedScheme,
+ commonlyDiscountLogic,
+ PriceConsolidation,
+ contributingDiscountLogic,
+ ReplacementUnitPriceLogic,
+ ConsolidatedDiscountDetailsLogic,
+ ConsolidatedDiscountPolicyLogic,
+ partPromotionSchemeLogical,
+ partGeneralDiscountLogical,
+ ComputationalLogic,
+ addOfferLogic,
+ ReverseCalculationModifyDiscountLogic,
+ HeTongPriceComputeLogic,
+ InverseCalculationTiShi,
+ ContractPriceComputeLogic,
+ SpecialPriceComputeReverse,
+ GeneralDiscountContractSummaryLogic,
+ SpecialSavesChangePartLogic,
+ NewDefaultDatass,
+ AddProductDatass,
+ jzDataFixedPriceTemps,
+ jzDataDiscountTemps,
+ updatesNumsLogic,
+ IfCopyProperties,
+ PathJump,
+ ContractPriceComputeReverse,
+ copyLogic,
+ updateCDLogic,
+ DeftCopyQtyLists,
+ countListAndNodLogic
+} from "./quoteTrialUtil.js";
+
+export default class Test02 extends LightningElement {
+ //鍏ㄥ眬鍔犺浇
+ IsLoading = false; //鍔犺浇鐨勬爣璇�
+ //鍔犺浇鎻愮ず妗�
+ OnLoading(flag) {
+ this.IsLoading = flag;
+ }
+ label = {
+ Please_Save_Quote,
+ Check_Your_Clipboard
+ };
+ //浠锋牸鏀跨瓥琛ㄥ崟寮�鍏虫爣璇嗙
+ jzDataTableFixedPriceIsShow = false;
+ //鎶樻墸鏀跨瓥琛ㄥ崟寮�鍏�
+ jzDataTableDiscountIsShow = false;
+ //鎶ヤ环Decied鍚庡彧璇绘爣璇嗙,骞舵帶鍒舵寜閽槸鍚﹂殣钘�
+ buttonIsShow = false;
+ // ===============閫氱敤鐨勬柟娉� ====================
+ //鑾峰彇鎶ヤ环璇曠畻椤甸潰鍦板潃鏍忎腑鐨勬姤浠稩d
+ ParamIdStr = '';
+ //椤甸潰鍒濆鍖栧姞杞芥暟鎹�
+ ScreenWidth = ''
+ connectedCallback() {
+
+ var paramId = getQueryVariable('Id');
+ if (paramId == null || paramId == '') {
+ return;
+ }
+ this.ParamIdStr = paramId;
+ GetParamToId({
+ Param: paramId
+ }).then(result => {
+ if (result) {
+ console.warn("ID OK");
+ }
+ })
+ this.ScreenWidth = "height:" + (window.screen.availHeight - 120) + "px;overflow:scroll;";
+ //鍔犺浇鏁版嵁
+ this.OnLoading(true);
+ setTimeout(() => {
+ this.ItmeOutFn();
+ }, 1000);
+ this.OnLoadSavesDatas();
+ this.OnLoadQuoteData(this.ParamIdStr);
+ var event = {
+ page: 1,
+ pageLimit: 10,
+ search: "",
+ sortOrder: "asc",
+ sortPlus: undefined,
+ fag: true
+ };
+ setTimeout(() => {
+ this.getTableDataFix(event);
+ this.getTableData(event);
+ }, 1000);
+
+
+
+ }
+ //妫�鏌ヤ繚瀛樻暟鎹槸鍚︽敼鍙�
+ ItmeOutFn() {
+ this.OnLoading(false);
+ if (this.Complate) {
+ this.Alert("淇濆瓨鏁版嵁鍙戠敓鏀瑰彉锛屽凡鍔犺浇鏈�鏂版暟鎹�!", false, true);
+ setTimeout(() => {
+ this.CloseAlert();
+ }, 2000);
+ }
+ }
+
+ //鍔犺浇鎶ヤ环鏁版嵁
+ QuoteData = [];
+ OnLoadQuoteData(idStr) { //idStr 鎶ヤ环id
+ GetQuoteData({
+ QuoteID: idStr
+ }).then(result => {
+ var responseObj = JSON.parse(result);
+ this.QuoteData = responseObj;
+ if(this.QuoteData[0].Dealer_Final_Price_F__c==undefined||this.QuoteData[0].Dealer_Final_Price_F__c==''){
+ this.QuoteData[0].Dealer_Final_Price_F__c=0
+ }
+ if(this.QuoteData[0].Agent1_Agent2_Price__c==undefined||this.QuoteData[0].Agent1_Agent2_Price__c==''){
+ this.QuoteData[0].Agent1_Agent2_Price__c=null;
+ }
+ debugger
+ if (this.QuoteData[0].Quote_Decision__c != "鈭�") {
+ this.buttonIsShow = true;
+ this.initDataTableFixedPrice.columns[7].editable = true;
+ this.initDataTableFixedPrice.columns[10].editable = true;
+ this.initDataTableDiscount.columns[2].editable = true;
+ this.initDataTableDiscount.columns[3].editable = true;
+ this.initDataTableDiscount.columns[4].editable = true;
+ this.initDataTableDiscount.columns[5].editable = true;
+ this.initDataTableOtherData.columns[3].editable = true;
+ this.initDataTableCommonly.columns[3].editable = true;
+ }
+ this.jzDataTableFixedPriceIsShow = true;
+ this.jzDataTableDiscountIsShow = true;
+ })
+ }
+ OnLoadProduct = []; //鏈�夋嫨浜у搧
+ OnLoadSaveProduct = []; //宸查�夋嫨浜у搧
+ OnLoadDiscount = []; //鎶樻墸鏀跨瓥
+ OnLoadFixDiscount = []; //浠锋牸鏀跨瓥
+ flagall = false;
+ //鍔犺浇淇濆瓨鐨勬暟鎹�
+
+ OnLoadSavesDatas() {
+ //鑾峰彇浜у搧鏁版嵁
+ SelectAllDataDiscount({
+ ParamIdStr: this.ParamIdStr
+ }).then(result => {
+ result.forEach(item => { //item宸查�変骇鍝佹煡璇㈢殑缁撴灉鐨勪竴涓璞�
+ if (item.ismatch__c == "0") {
+ //寰呴�変骇鍝佹暟鎹彉鍖栧瓧娈佃祴鍊�
+ item = ProductAssignmentSelect(item);
+ this.OnLoadProduct.push(item);
+ } else if (item.ismatch__c == "1") {
+ //宸查�変骇鍝佹暟鎹彉鍖栧瓧娈佃祴鍊�
+ item = ProductSelected(item);
+ this.OnLoadSaveProduct.push(item);
+ }
+ })
+ var arrss = [...[], ...this.OnLoadSaveProduct];
+ //鍚堝苟涓婁竴娆¤瘯绠楃殑鎶ヤ环琛�
+ this.addOffer(arrss);
+ //澶勭悊鎶ヤ环鏁版嵁鏀瑰姩鍚庤瘯绠楃晫闈㈢殑鍙樺寲
+ this.comparisonUniqueKey();
+ if (this.OnLoadProduct != undefined && this.OnLoadProduct.length > 0) {
+ this.flagall = true;
+ this.jzDataDefault = this.OnLoadProduct;
+ //鏇存柊鏁版嵁 UpdateBy 2021 06 29
+ if (this.jzDataDefault != undefined && this.jzDataDefault.length > 0) {
+ this.UpdateSaveDataQuoteLineItemSelectByID(0);
+ }
+ }
+ if (this.OnLoadSaveProduct != undefined && this.OnLoadSaveProduct.length > 0) {
+ this.flagall = true;
+ this.jzDataProduct = this.OnLoadSaveProduct;
+ //鏇存柊鏁版嵁 UpdateBy 2021 06 29
+ if (this.jzDataProduct != undefined && this.jzDataProduct.length > 0) {
+ this.UpdateSaveDataQuoteLineItemSelectByID(1);
+ }
+ //TODU 杩欓噷鐨勯�昏緫闇�瑕侀噸鏂拌绠�
+ this.updateIdStr("1");
+ //鍚堝悓浠锋牸姹囨��
+ this.ContractPriceCompute();
+ }
+ })
+ //鑾峰彇 鎶樻墸鏂规鏁版嵁 UpdateBy 2021 06 29
+ SelectAllDataProduct({
+ ParamIdStr: this.ParamIdStr
+ }).then(result => { //宸查�夋柟妗堣〃涓煡璇㈢殑鏁版嵁
+ result.forEach(items => {
+ if (items.typess__c == "鎶樻墸鏀跨瓥") {
+ //鎶樻墸鏂规鏁版嵁鍙樺寲瀛楁璧嬪��
+ items = UnselectedScheme(items);
+ this.OnLoadDiscount.push(items);
+ } else if (items.typess__c == "浠锋牸鏀跨瓥") {
+ //浠锋牸鏂规鏁版嵁鍙樺寲瀛楁璧嬪��
+ items = SelectedScheme(items)
+ this.OnLoadFixDiscount.push(items);
+ }
+ })
+ //澶勭悊鎶ヤ环鏁版嵁鏀瑰姩鍚庤瘯绠楃晫闈㈢殑鍙樺寲
+ this.comparisonUniqueKey();
+ if (this.OnLoadFixDiscount != undefined && this.OnLoadFixDiscount.length > 0) {
+ this.jzDataFixedPrice = this.OnLoadFixDiscount;
+ // this.updateIdStr("3");
+ //鏇存柊鏁版嵁 UpdateBy 2021 06 29
+ if (this.jzDataFixedPrice != undefined && this.jzDataFixedPrice.length > 0) {
+ this.UpdateSaveDataFixedPriceSelectByID();
+ }
+ }
+ if (this.OnLoadDiscount != undefined && this.OnLoadDiscount.length > 0) {
+ this.jzDataDiscount = this.OnLoadDiscount;
+ this.updateIdStr("2");
+ }
+ })
+ }
+ //鍚堝苟涓婁竴娆$殑鎶ヤ环琛�
+ lastQuotation = [];
+ addOffer(TrialLine) {
+ this.lastQuotation = [...[], ...addOfferLogic(TrialLine)]; //鍚堝苟涓婁竴娆$殑鎶ヤ环琛岀殑閫昏緫
+ }
+ Complate = false;
+ //浠庢暟鎹簱鏇存柊宸蹭繚瀛樼殑鏁版嵁 鏂规 UpdateBy 2021 06 29
+ UpdateSaveDataFixedPriceSelectByID() {
+ var idArr = [];
+ this.jzDataFixedPrice.forEach(item => { //浠锋牸鏀跨瓥闆嗗悎
+ idArr.push(item.Id);
+ })
+ selectUpdateFiexedpriceData({
+ ProId: idArr
+ }).then(result => { //淇冮攢鏂规涓绘暟鎹�
+ var newArr = [];
+ this.jzDataFixedPrice.forEach(dp => { //浠锋牸鏀跨瓥闆嗗悎
+ var temp = {
+ ...{},
+ ...dp
+ };
+ result.forEach(item => {
+ if (item.Id == temp.Id) {
+ var keys = Object.keys(temp);
+ keys.forEach(k => {
+ var flag = ChangeFiexedData(k);
+ if (flag && item[k] != undefined && item[k] != temp[k]) {
+ temp[k] = item[k];
+ this.Complate = true;
+ }
+ })
+ }
+ })
+ newArr.push(temp);
+ })
+ this.jzDataFixedPrice = newArr;
+ this.updateIdStr("3");
+ })
+ }
+ //浜у搧闇�瑕佹洿鏂扮殑瀛楁
+ ChangeProductData(key) {
+ var keyArr = [''];
+ var flag = false;
+ keyArr.forEach(item => {
+ if (item == key) {
+ flag = true;
+ }
+ })
+ return flag;
+ }
+ //浠庢暟鎹簱鏇存柊宸蹭繚瀛樼殑鏁版嵁 浜у搧 UpdateBy 2021 06 29
+ UpdateSaveDataQuoteLineItemSelectByID(flag) { //flag 璇嗗埆鏁板瓧
+ // flag 0 榛樿浜у搧 flag 1 宸查�変骇鍝�
+ if (flag == 0) {
+ var idArr = [];
+ this.jzDataDefault.forEach(item => { //寰呴�変骇鍝�
+ idArr.push(item.QuiteLineitem__c);
+ })
+ selectUpdateQuoteLineItemData({
+ ItemId: idArr
+ }).then(result => { //鎶ヤ环琛岄」鐩富鏁版嵁
+ var newArr = [];
+ this.jzDataDefault.forEach(dp => { //寰呴�変骇鍝�
+ var temp = {
+ ...{},
+ ...dp
+ };
+ result.forEach(item => {
+ if (item.Id == temp.QuiteLineitem__c) {
+ var keys = Object.keys(temp);
+ keys.forEach(k => {
+ var flag = this.ChangeProductData(k);
+ if (flag && item[k] != undefined && item[k] != temp[k]) {
+ this.Complate = true;
+ temp[k] = item[k];
+ }
+ })
+ }
+ })
+ newArr.push(temp);
+ })
+ this.jzDataDefault = newArr;
+ })
+ }
+ if (flag == 1) {
+ var idArrPro = [];
+ this.jzDataProduct.forEach(item => { //浜у搧鏄庣粏
+ idArrPro.push(item.QuiteLineitem__c);
+ })
+ selectUpdateQuoteLineItemData({
+ ItemId: idArrPro
+ }).then(result => { //鎶ヤ环琛岄」鐩富鏁版嵁
+ var newArr = [];
+ this.jzDataProduct.forEach(dp => { //浜у搧鏄庣粏
+ var temp = {
+ ...{},
+ ...dp
+ };
+ result.forEach(item => {
+ if (item.Id == temp.QuiteLineitem__c) {
+ var keys = Object.keys(temp);
+ keys.forEach(k => {
+ var flag = this.ChangeProductData(k);
+ if (flag && item[k] != undefined && item[k] != temp[k]) {
+ this.Complate = true;
+ temp[k] = item[k];
+ }
+ })
+ }
+ })
+ newArr.push(temp);
+ })
+ this.jzDataProduct = newArr;
+ //瑙e喅鍒犻櫎鏍峰紡涓嶆洿鏂伴棶棰�
+ this.updateIdStr("1");
+ //鍚堝悓浠锋牸姹囨��
+ this.ContractPriceCompute();
+ })
+ }
+ }
+ // ==== 鐗圭害涓庝竴鑸姌鎵f坊鍔� 浠锋牸= jzDataFixedPrice 鎶樻墸=jzDataDiscount 宸查�夋嫨鐨�= jzDataProduct
+ //鎶樻墸鏀跨瓥鍖归厤瑙勫垯
+ SpecialSavesChange(SaveName, SelectedData, IdStr, CompareId) { //SelectedData 閫変腑鐨勬暟鎹� IdStr 閫変腑鐨勬暟鎹甀d CompareId 鏂规涓敤鍒扮殑uuid
+ var DefalutQuantity = 0;
+ var jzDataDefaultList = this.jzDataDefault//寰呴�変骇鍝�
+ var jzDataDiscountList = this.jzDataDiscount//鎶樻墸鏀跨瓥
+ var newDicountData = [];
+ newDicountData=SpecialSavesChangePartLogic(jzDataDefaultList,SaveName, SelectedData, IdStr, CompareId,DefalutQuantity,newDicountData,jzDataDiscountList);
+ this.jzDataDefault = NewDefaultDatass;
+ this.jzDataProduct = [...this.jzDataProduct, ...AddProductDatass]; //浜у搧鏄庣粏
+ //鍚堝悓浠锋牸姹囨��
+ this.ContractPriceCompute();
+ this.jzDataDiscount = newDicountData;
+ }
+ //浠锋牸鏀跨瓥鍖归厤
+ //idStr 閫変腑鐨勬暟鎹甀D jzDataProductParam 閫変腑鐨勬暟鎹璞� TypeName 鏂规绫诲瀷 arrData 閫変腑鐨勬暟鎹泦鍚�
+ GetSearchProductByIdFn(idStr, jzDataProductParam, TypeName, jzDataDefaultToTemps, arrData, isShow = true) {
+ //dddd
+ var SeachData = {
+ SearchId: idStr
+ };
+ GetSearchProductById(SeachData).then(result => {
+ var tempObject = {
+ ...{},
+ ...jzDataProductParam
+ }
+ jzDataProductParam = this.countListAndNod(tempObject, result);
+ arrData = [...[], jzDataProductParam];
+ //杩斿洖鏁版嵁姣旇緝瑙勫垯
+ this.CompareData(result, idStr, jzDataProductParam, TypeName, jzDataDefaultToTemps, arrData, isShow);
+ })
+ }
+ //璁$畻listPrice鐨勫拰浠ュ強nod鍜�
+ //item 閫変腑鐨勫璞� result 鏌ュ嚭鐨勬柟妗堝叧鑱旂殑浜у搧
+ countListAndNod(item, result) {
+ var ifTrade = this.QuoteData[0].Opportunity.Trade__c; //鍐呭璐镐俊鎭�
+ var copydate=this.jzDataDefaultCopy;
+ var DeftCopyQtyList = this.jzDataDefaultCopyQuantityList;
+ //璁$畻list鍜宯od鍚堣閫昏緫
+ item=countListAndNodLogic(ifTrade,copydate,item,result,DeftCopyQtyList);
+ this.jzDataDefaultCopyQuantityList=DeftCopyQtyLists;
+ var arr = {
+ ...{},
+ ...item
+ };
+ return arr;
+ }
+ //鍖归厤浠锋牸鏀跨瓥鏃舵暟鎹瘮杈冭鍒�
+ //list 鏌ュ嚭鐨勬柟妗堝叧鑱旂殑浜у搧 idStr 閫変腑鐨勬暟鎹甀D jzDataProductParam 閫変腑鐨勬暟鎹璞� TypeName 鏂规绫诲瀷 arrData 閫変腑鐨勬暟鎹泦鍚� isShow 璇嗗埆绗�
+ CompareData(list, idStr, jzDataProductParam, TypeName, jzDataDefaultToTemps, arrData, isShow) {
+ var isChange = false;
+ var TempsJzData = []
+ TempsJzData = [...[], ...this.jzDataDefault]; //寰呴�変骇鍝�
+ var TempsJzDataToCompare = []
+ TempsJzData.forEach(item => {
+ list.forEach(element => { //淇冮攢鏂规涓绘暟鎹叧鑱斾骇鍝�
+ if (element.Asset_Model_No__c == item.Product2.MDM_Model_No__c) {
+ if (item.Quantity >= element.Quantity__c) {
+ isChange = true;
+ let CompareTemp = {
+ item: item,
+ element: element
+ }
+ TempsJzDataToCompare.push(CompareTemp);
+ }
+ }
+ });
+ })
+ //add 0602
+ var CheckMinNum = 0;
+ var newTempsJzDataToCompare = []
+ TempsJzDataToCompare.forEach(item => { //绗﹀悎瑙勫垯鐨勪骇鍝�
+ var intNum = parseInt(item.item.Quantity / item.element.Quantity__c);
+ if (CheckMinNum == 0) {
+ CheckMinNum = intNum;
+ }
+ if (intNum < CheckMinNum) {
+ CheckMinNum = intNum;
+ }
+ })
+ TempsJzDataToCompare.forEach(item => {
+ var newItem = {
+ ...{},
+ ...item.item
+ };
+ var newElement = {
+ ...{},
+ ...item.element
+ };
+ newItem.Quantity = item.element.Quantity__c * CheckMinNum;
+ var newObj = {};
+ newObj.item = newItem;
+ newObj.element = newElement;
+ newTempsJzDataToCompare.push(newObj);
+ })
+ TempsJzDataToCompare = [...[], ...newTempsJzDataToCompare];
+ //End
+ if (TempsJzDataToCompare.length == list.length&&list.length!=0) {
+ TempsJzDataToCompare.forEach(TempsItems => {
+ this.ComparePushData(TempsItems.item.Quantity, TempsItems.element.Quantity__c, TempsItems.element.Asset_Model_No__c, idStr, jzDataProductParam, TypeName);
+ });
+ //鍒ゆ柇鏄惁鏄剧ず 鎻愮ず妗�
+ if (isShow) {
+ if (this.ifqianpi) {
+ this.Alert("淇冮攢鏂规閫夋嫨瀹屾垚", false, true);
+ setTimeout(() => {
+ this.CloseAlert();
+ }, 2000);
+ }
+ }
+ } else {
+ if (isShow) {
+ if (this.ifqianpi) {
+ this.Alert("淇冮攢鏂规涓嶆弧瓒筹紝璇烽噸鏂伴�夋嫨", true, true);
+ }
+ }
+ return;
+ }
+ if (isChange) {
+ this.ChangeNumZeroTrueChanges();
+ }
+ var temps = this.CompareFullData;
+ //娣诲姞
+ this.UpdateJZData(arrData);
+ //鏇存柊娆℃暟
+ this.updatesNums();
+ //鍚堝苟閲嶅浠锋牸鏀跨瓥鏂规
+ var jzarr = [...[], ...this.jzDataFixedPrice];
+ this.MergeDuplicateSchemes(jzarr);
+ //淇濆瓨鏈�澶ф鏁�
+ this.savecount(idStr);
+ //璁$畻浠锋牸
+ this.ComputeData(idStr, '浠锋牸鏀跨瓥');
+ }
+ //鍚堝苟閲嶅浠锋牸鏀跨瓥鏂规
+ MergeDuplicateSchemes(SchemeSet) {
+ var a = this.CompareFullData;
+ var CompareFullDataedit = [];
+ var Setmap = new Map();
+ var arr = [];
+ var arr2 = SchemeSet;
+ arr2.forEach(arrs => {
+ var object = {};
+ if (Setmap.has(arrs.Id)) {
+ object = {
+ ...{},
+ ...Setmap.get(arrs.Id)
+ };
+ object.Counts = object.Counts + arrs.Counts;
+ object.determine = '';
+ a.forEach(editnum => {
+ if (editnum.Id == object.Id) {
+ editnum.num = object.Counts;
+ CompareFullDataedit.push(editnum);
+ } else {
+ CompareFullDataedit.push(editnum);
+ }
+ });
+ this.CompareFullData = [...[], ...CompareFullDataedit];
+ Setmap.set(arrs.Id, object);
+ } else {
+ object = {
+ ...{},
+ ...arrs
+ };
+ Setmap.set(arrs.Id, object);
+ }
+ });
+ for (let [k, v] of Setmap) {
+ arr.push(v);
+ }
+ this.jzDataFixedPrice = [...[], ...arr]
+ this.ConsolidationProgramProducts(arr);
+ }
+ //褰掑苟鐩稿悓浠锋牸鏀跨瓥鏂规鐨勪骇鍝�
+ ConsolidationProgramProducts(arrSchemes) {
+ var jzdataList = [...[], ...this.jzDataProduct];
+ this.jzDataProduct = PriceConsolidation(arrSchemes, jzdataList);
+ }
+ //淇濆瓨鏈�澶ф鏁�
+ savecount(idStr) { //idStr 閫変腑鐨勬暟鎹甀D
+ var arr = []
+ this.jzDataFixedPrice.forEach(item => { //浠锋牸鏀跨瓥
+ if (idStr == item.Id) {
+ item.maxCounts = item.Counts
+ arr.push(item);
+ } else {
+ arr.push(item);
+ }
+ });
+ this.jzDataFixedPrice = arr;
+ }
+ //鏇挎崲listprice鍗曚环
+ ReplacementUnitPrice() {
+ var ifTrade = this.QuoteData[0].Opportunity.Trade__c; //鍐呭璐�
+ var arr = [...[], ...this.jzDataProduct];
+ this.jzDataProduct = [...[], ...ReplacementUnitPriceLogic(arr, ifTrade)]; //鏇挎崲listprice鍗曚环閫昏緫
+ //鍚堝悓浠锋牸姹囨��
+ this.ContractPriceCompute();
+ }
+ //璁$畻浠锋牸鏀跨瓥浠锋牸
+ ComputeData(id, category) { //id 閫変腑鐨勬暟鎹甀D category 鏂规绫诲瀷
+ //璋冪敤鏇挎崲listprice鍗曚环
+ this.ReplacementUnitPrice();
+ //鏁版嵁
+ this.updateIdStr("3");
+ var arrTemp = this.jzDataFixedPrice; // id 浠锋牸鏀跨瓥
+ this.updateIdStr("1");
+ var arrProductTemp = this.jzDataProduct; // PromotionId 浜у搧鏄庣粏
+ // this.updateIdStr("2");
+ // var arrTemp1 = this.jzDataDiscount; //鎶樻墸鏀跨瓥
+ var arrTemp2 = this.jzDataDefault; //寰呴�変骇鍝�
+ if (category == '浠锋牸鏀跨瓥') {
+ arrTemp.forEach(item => { // item浠锋牸鏀跨瓥
+ if (id == item.Id) {
+ item.Total = item.Counts * item.Price_CNY__c;
+ item.sumNoDiscountTotal = item.sumNoDiscount * item.Counts;
+ //璁$畻淇冮攢鎬讳环&& item.HeTongTotal == undefined
+ if (item.Price_CNY__c != undefined) {
+ if (item.determine != '鏀硅繃') {
+ if (item.if_Contain_Nod__c) {
+ item.HeTongTotal = item.Total;
+ } else {
+ item.HeTongTotal = item.Total + item.sumNoDiscountTotal;
+ }
+ }
+ }
+ //璁$畻閫夋嫨淇冮攢鏀跨瓥鐨勭粡閿�鍟嗗崟浠峰拰灏忚
+ var PromotionHeadRecordId = item.recordTypeName__c;
+ if (PromotionHeadRecordId == "Promotion") { //淇冮攢鏂规
+ this.newArrsTemp3 = []; //闇�瑕佽绠楃殑浜у搧鏄庣粏鐨勬暟鎹�
+ this.newArrsTemp4 = []; //涓嶉渶瑕佽绠楃殑浜у搧鏄庣粏鐨勬暟鎹�
+ var newArrsTemp5 = [];
+ var newArrsTemp6 = [];
+ arrProductTemp.forEach(itemsss => { //itemsss浜у搧鏄庣粏
+
+ if (itemsss.PromotionId == item.Id) {
+ if (item.determine == '鏀硅繃') {
+ var flag = true;
+ var b = this.jzDataDefaultCopyQuantityList; //鑾峰彇鏂规涓殑浜у搧鏁伴噺
+ arrTemp2.forEach(datedefault => { //datedefault寰呴�変骇鍝�
+
+ var quantity = 0;
+ if (datedefault.Id == itemsss.Id) {
+ b.forEach(iem => { //iem鏂规涓殑浜у搧鏁伴噺
+ if (iem.Asset_Model_No__c == datedefault.Product2.MDM_Model_No__c && iem.Id_H == item.PromotionNo__c) {
+ quantity = (itemsss.Quantity - iem.Quantity__c__c * item.Counts) + datedefault.Quantity;
+ datedefault.Quantity = quantity;
+ itemsss.Quantity = iem.Quantity__c__c * item.Counts;
+ }
+ });
+ flag = false;
+ }
+ });
+ if (flag) {
+ this.jzDataDefaultCopy.forEach(add => { //add鎶ヤ环琛岄」鐩富鏁版嵁
+ var quantity = 0;
+ if (add.Id == itemsss.Id) {
+ b.forEach(iems => { //iems鏂规鍏宠仈浜у搧鏁伴噺
+ if (iems.Asset_Model_No__c == add.Product2.MDM_Model_No__c && iems.Id_H == item.PromotionNo__c) {
+ quantity = itemsss.Quantity - iems.Quantity__c__c * item.Counts;
+ add.Quantity = quantity;
+ itemsss.Quantity = iems.Quantity__c__c * item.Counts;
+ arrTemp2.push(add);
+ }
+ });
+ flag = true;
+ }
+ });
+ }
+ }
+ itemsss = partPromotionSchemeLogical(itemsss, item,this.QuoteData[0].multiYearWarranty__c);
+ this.newArrsTemp3.push(itemsss);
+ } else if (itemsss.PromotionId != item.Id) {
+ this.newArrsTemp4.push(itemsss);
+ }
+ });
+ if (item.determine == '鏀硅繃') {
+ arrTemp2.forEach(itsss => { //itsss寰呴�変骇鍝�
+ if (itsss.Quantity != 0) {
+ newArrsTemp6.push(itsss);
+ }
+ });
+ newArrsTemp5 = [...[], ...newArrsTemp6];
+ this.jzDataDefault = newArrsTemp5;
+ }
+ this.jzDataProduct = arrProductTemp;
+ //鍚堝悓浠锋牸姹囨��
+ this.ContractPriceCompute();
+
+ } else if (PromotionHeadRecordId == "NormalProduct") { //涓�鑸骇鍝�
+ //todu3
+ this.newArrsTemp3 = []; //闇�瑕佽绠楃殑浜у搧鏄庣粏鐨勬暟鎹�
+ this.newArrsTemp4 = []; //涓嶉渶瑕佽绠楃殑浜у搧鏄庣粏鐨勬暟鎹�
+ var newArrsTemp5 = [];
+ var newArrsTemp6 = [];
+ arrProductTemp.forEach(itemsss => { //itemsss浜у搧鏄庣粏
+ var flag = true;
+ if (itemsss.PromotionId == item.Id) {
+ if (item.determine == '鏀硅繃') {
+ var b = this.jzDataDefaultCopyQuantityList; //鑾峰彇鏂规涓殑浜у搧鏁伴噺
+ var jzDataDefaultCopy = this.jzDataDefaultCopy;
+ arrTemp2.forEach(datedefault => { //datedefault寰呴�変骇鍝�
+ var quantity = 0;
+ if (datedefault.Id == itemsss.Id) {
+ b.forEach(iem => { //iem鏂规涓殑浜у搧鏁伴噺
+ if (iem.Asset_Model_No__c == datedefault.Product2.MDM_Model_No__c && iem.Id_H == item.PromotionNo__c) {
+ quantity = (itemsss.Quantity - iem.Quantity__c__c * item.Counts) + datedefault.Quantity;
+ datedefault.Quantity = quantity;
+ itemsss.Quantity = iem.Quantity__c__c * item.Counts;
+ }
+ });
+ flag = false;
+ }
+ });
+ if (flag) {
+ jzDataDefaultCopy.forEach(add => { //add鎶ヤ环琛岄」鐩富鏁版嵁
+ var quantity = 0;
+ if (add.Id == itemsss.Id) {
+ b.forEach(iems => { //iems鏂规鍏宠仈浜у搧鏁伴噺
+ if (iems.Asset_Model_No__c == add.Product2.MDM_Model_No__c && iems.Id_H == item.PromotionNo__c) {
+ quantity = itemsss.Quantity - iems.Quantity__c__c * item.Counts;
+ add.Quantity = quantity;
+ itemsss.Quantity = iems.Quantity__c__c * item.Counts;
+ arrTemp2.push(add);
+ }
+ });
+ }
+ });
+ }
+ }
+ if(this.QuoteData[0].multiYearWarranty__c){
+ itemsss.AgencyUnitPrice__c = (item.HeTongTotal / item.Counts) * (itemsss.ListPrice / item.sumListPrice);
+ }else{
+ itemsss.AgencyUnitPrice__c = ((item.HeTongTotal / item.Counts) - item.sumNoDiscount) * (itemsss.ListPrice / item.sumListPrice) + itemsss.ServicePrice__c;
+ }
+ if (item.HeTongTotal == undefined || item.HeTongTotal == "") {
+ itemsss.AgencyUnitPrice__c = 0;
+ }
+ itemsss = partGeneralDiscountLogical(itemsss, item);
+ this.newArrsTemp3.push(itemsss);
+ } else if (itemsss.PromotionId != item.Id) {
+ this.newArrsTemp4.push(itemsss);
+ }
+ });
+ if (item.determine == '鏀硅繃') {
+ arrTemp2.forEach(itsss => { //寰呴�変骇鍝�
+ if (itsss.Quantity != 0) {
+ newArrsTemp6.push(itsss);
+ }
+ });
+ newArrsTemp5 = [...[], ...newArrsTemp6];
+ this.jzDataDefault = newArrsTemp5;
+ }
+ this.jzDataProduct = arrProductTemp;
+ //鍚堝悓浠锋牸姹囨��
+ this.ContractPriceCompute();
+ }
+ }
+ });
+ this.jzDataFixedPrice = [...[], ...arrTemp];
+ }
+
+ }
+ //璁$畻鎶樻墸鏀跨瓥
+ ComputeDiscount(id, NormalDiscount__c_Input, GuaranteeDiscount__c_Input, Category__c, JxsType) {
+ //todu2
+ //鏁版嵁
+ // this.updateIdStr("3");
+ // var arrTemp = this.jzDataFixedPrice; // id 浠锋牸鏀跨瓥
+ this.updateIdStr("1");
+ var arrProductTemp = this.jzDataProduct; // PromotionId 浜у搧鏄庣粏
+ this.updateIdStr("2");
+ var arrTemp1 = this.jzDataDiscount; //鎶樻墸鏀跨瓥
+ // var arrTemp2 = this.jzDataDefault; //寰呴�変骇鍝�
+ arrTemp1.forEach(item => { //item鎶樻墸鏀跨瓥
+ if (JxsType == '鐗圭害鎶樻墸') {
+ if (item.JxsType == '鐗圭害鎶樻墸') {
+ if (id == item.Id) {
+ if (item.iftrue != "鏀硅繃" &&
+ item.GuaranteeDiscount__c_Input == undefined &&
+ item.NormalDiscount__c_Input == undefined) {
+ item.GuaranteeDiscount__c_Input = item.GuaranteeDiscount__c;
+ item.NormalDiscount__c_Input = item.NormalDiscount__c;
+ }
+ if (NormalDiscount__c_Input == item.NormalDiscount__c_Input && //闈炲璞″搧鎶樻墸褰曞叆
+ GuaranteeDiscount__c_Input == item.GuaranteeDiscount__c_Input) { //瀵硅薄鍝佹姌鎵e綍鍏�
+ this.newArrsTemp = [];
+ this.newArrsTemp2 = [];
+ arrProductTemp.forEach(itemss => { //itemss浜у搧鏄庣粏
+ var Discount__c_Input = 0;
+ if (itemss.warrantyType__c=="甯傚満澶氬勾淇濅慨") {
+ Discount__c_Input = item.GuaranteeDiscount__c_Input;
+ Discount__c_Input = parseFloat(Discount__c_Input);
+ debugger
+ // item.GuaranteeDiscount__c_Input = (Discount__c_Input*100).toFixed(0)+"%";
+ } else {
+ Discount__c_Input = item.NormalDiscount__c_Input;
+ Discount__c_Input = parseFloat(Discount__c_Input);
+ // item.NormalDiscount__c_Input = (Discount__c_Input*100).toFixed(0)+"%";
+ }
+ if (itemss.PromotionId == item.Id && //鏂规Id
+ itemss.GuaranteeDiscount__c_Input == item.GuaranteeDiscount__c_Input && //瀵硅薄鍝佹姌鎵e綍鍏�
+ itemss.NormalDiscount__c_Input == item.NormalDiscount__c_Input) { //闈炲璞″搧鎶樻墸褰曞叆
+ itemss = contributingDiscountLogic(itemss, Discount__c_Input, item); //鐗圭害鎶樻墸璁$畻閫昏緫
+ this.newArrsTemp.push(itemss);
+ } else if (itemss.PromotionId != item.Id ||
+ itemss.GuaranteeDiscount__c_Input != item.GuaranteeDiscount__c_Input ||
+ itemss.NormalDiscount__c_Input != item.NormalDiscount__c_Input) {
+ this.newArrsTemp2.push(itemss);
+ }
+ });
+ this.jzDataProduct = arrProductTemp;
+ //鍚堝悓浠锋牸姹囨��
+ this.ContractPriceCompute();
+ }
+ }
+ }
+ } else if (JxsType == '涓�鑸姌鎵�') {
+ if (item.JxsType == '涓�鑸姌鎵�') {
+ if (NormalDiscount__c_Input == item.NormalDiscount__c_Input &&
+ Category__c == item.Category__c) {
+ this.newArrsTemp = [];
+ this.newArrsTemp2 = [];
+ arrProductTemp.forEach(itemss => { //itemss浜у搧鏄庣粏
+ if (itemss.NormalDiscount__c_Input == item.NormalDiscount__c_Input &&
+ itemss.Category__c == item.Category__c) {
+ itemss = commonlyDiscountLogic(itemss, item); //涓�鑸姌鎵h绠楅�昏緫
+ this.newArrsTemp.push(itemss);
+ } else if (itemss.Category__c != item.Category__c ||
+ itemss.NormalDiscount__c_Input != item.NormalDiscount__c_Input) {
+ this.newArrsTemp2.push(itemss);
+ }
+ });
+ this.jzDataProduct = arrProductTemp;
+ //鍚堝悓浠锋牸姹囨��
+ this.ContractPriceCompute();
+ }
+ }
+ }
+ });
+ this.jzDataDiscount = [...[], ...arrTemp1];
+ }
+ //涓�鑸姌鎵f洿鏀硅繃鍚堝悓浠锋牸璁$畻
+ updateCommonlyDiscountLogic(Id,JxsType,GuaranteeDiscount__c_Input,NormalDiscount__c_Input,Category__c,jzDataDiscount) {
+ //todu13
+ this.updateIdStr("1");
+ var arrProductTemp = this.jzDataProduct; // PromotionId 浜у搧鏄庣粏
+ this.jzDataProduct=updateCDLogic(Id,JxsType,GuaranteeDiscount__c_Input,NormalDiscount__c_Input,Category__c,jzDataDiscount,arrProductTemp);
+ this.GeneralDiscountContractSummary();
+ }
+ //璁$畻涓�鑸姌鎵i潪瀵硅薄鍝佹姌鎵�
+ ComouteProductDiscount(Id,Category__c,GuaranteeDiscount__c_Input, NormalDiscount__c_Input,GuaranteeDiscount_H_Money__c, NormalDiscount_H_Money__c, item) {
+ //todu12
+ this.updateIdStr("2");
+ var arrTemp1 = 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);
+ this.jzDataDiscount=[...[], ...arrTempsss];
+ this.jzDataProduct =[...[], ...arrProductTempsss];
+ return reslut;
+ }
+ //todu
+ //鍒犻櫎浠锋牸鐨刲istprice鍜�
+ ComputeListPrice(PromotionId) { //PromotionId 鏂规id
+ var sum = 0;
+ this.jzDataProduct.forEach(jzdp => { //jzdp浜у搧鏄庣粏
+ if (jzdp.PromotionId == PromotionId) {
+ sum = sum + jzdp.ListPrice * jzdp.Quantity;
+ }
+ });
+ return sum;
+ }
+ //鍒犻櫎浠锋牸璁$畻
+ delectComputeData(item) { //item 浜у搧鏄庣粏鐨勪竴鏉℃暟鎹�
+ var sum = this.ComputeListPrice(item.PromotionId);
+ 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);
+ japdt.AgencyUnitPrice__c = japdt.AgencySubtotal__c / japdt.Quantity;
+ japdt.AgencySubtotal__c = Math.round(japdt.AgencySubtotal__c * 100) / 100;
+ japdt.AgencyUnitPrice__c = Math.round(japdt.AgencyUnitPrice__c * 100) / 100;
+ }
+ });
+ this.jzDataProduct = [...[], ...jzProductarry];
+ //鍚堝悓浠锋牸姹囨��
+ this.ContractPriceCompute();
+ }
+ //length 鏁伴噺 Quantity 鏁伴噺 Asset_Model_No__c 浜у搧鍨嬪彿 Id 閫変腑鐨勬暟鎹甀D jzDataProductParam 閫変腑鐨勬暟鎹璞� TypeName 鏂规绫诲瀷
+ ComparePushData(length, Quantity, Asset_Model_No__c, Id, jzDataProductParam, TypeName) {
+ //淇敼 浜у搧鏄庣粏
+ let num = parseInt(length / Quantity);
+ let addArr = [];
+ var newss = [...[], ...this.jzDataDefault];
+ var newDataDefault = newss.map(item => {
+ if (item == undefined) {
+ console.warn("undefined!!");
+ }
+ if (item.Product2.MDM_Model_No__c == Asset_Model_No__c) {
+ let ItemTemp = {
+ ...{},
+ ...item
+ };
+ ItemTemp.Quantity = Quantity * num
+ ItemTemp.PromotionNo__c = jzDataProductParam.PromotionNo__c;
+ ItemTemp.Name = jzDataProductParam.Name;
+ ItemTemp.TypeName = TypeName;
+ ItemTemp.PromotionId = Id;
+ addArr.push(ItemTemp);
+ item.Quantity -= num * Quantity;
+ }
+ return item;
+ })
+ this.jzDataProduct = [...this.jzDataProduct, ...addArr];
+ //鍚堝悓浠锋牸姹囨��
+ this.ContractPriceCompute();
+ this.jzDataDefault = newDataDefault;
+ //鍒ゆ柇鏄惁鏈� full鐨勫��
+ this.ChangeNumZeroTrue();
+ //杩藉姞娆℃暟
+ this.AddNums(TypeName, Asset_Model_No__c, num, Id);
+ }
+ // ======================== 杩藉姞娆℃暟
+ //鐢ㄤ簬濉厖娆℃暟
+ CompareFullData = []
+ //ListName 鏂规绫诲瀷 Asset_Model_No__c 浜у搧鍨嬪彿 Id 閫変腑鐨勬暟鎹甀D
+ AddNums(ListName, Asset_Model_No__c, addNums, Id) {
+ //TODO 鐢╢ind
+ var FilterList = this.CompareFullData.filter(item => {
+ if (item.ListName == ListName && item.Id == Id) {
+ return true;
+ } else {
+ return false;
+ }
+ })
+ if (FilterList == undefined || FilterList.length <= 0) {
+ var newTemp = {
+ ListName: ListName,
+ Asset_Model_No__c: Asset_Model_No__c,
+ Id: Id,
+ num: addNums
+ }
+ this.CompareFullData.push(newTemp);
+ } else {
+ FilterList[0].Asset_Model_No__c += Asset_Model_No__c + "||";
+ FilterList[0].num = addNums;
+ }
+ }
+ // =======鏇存柊淇冮攢鏂规娆℃暟鏁版嵁
+ updatesNums() {
+ var jzDataFixedPriceTemp = [...[], ...this.jzDataFixedPrice];
+ var jzDataDiscountTemp = [...[], ...this.jzDataDiscount];
+ var CompareFullData = this.CompareFullData;
+ updatesNumsLogic(jzDataFixedPriceTemp,jzDataDiscountTemp,CompareFullData);
+ this.jzDataFixedPrice = jzDataFixedPriceTemps;
+ this.jzDataDiscount = jzDataDiscountTemps;
+ }
+ // ====================== 鍒ゆ柇鏄惁涓�0
+ ChangeNumZeroTrueData = []
+ ChangeNumZeroTrue() {
+ this.ChangeNumZeroTrueData = [...[], ...this.jzDataDefault];
+ var newJzDataDefault = this.ChangeNumZeroTrueData.filter(item => {
+ if (item.Quantity > 0) {
+ return true;
+ } else {
+ return false;
+ }
+ })
+ this.ChangeNumZeroTrueData = newJzDataDefault;
+ }
+ ChangeNumZeroTrueChanges() {
+ if (this.jzDataDefault.length != this.ChangeNumZeroTrueData) {
+ this.jzDataDefault = this.ChangeNumZeroTrueData;
+ }
+ }
+ // --- 鍒犻櫎鍖归厤瑙勫垯 jzDataProduct jzDataDefaultNotChange(鍒濆浜у搧鍒楄〃) jzDataDefault(褰撳墠浜у搧鍒楄〃) CompareFullData(淇濆瓨鐨勬鏁�)
+ DeleteChangesFn(ids, TypeName) { // ids 閫変腑鐨勬柟妗圛d TypeName 鏂规绫诲瀷
+ var CompareFullDataTemp = [];
+ ids.forEach(id => {
+ //鍒犻櫎 瑙勫垯鏁伴噺
+ this.CompareFullData.forEach(cItem => {
+ if (cItem.Id == id && cItem.ListName == TypeName) {
+ console.warn("CompareFullData 鍒犻櫎");
+ } else {
+ CompareFullDataTemp.push(cItem);
+ }
+ })
+ //鍒犻櫎 宸查�変骇鍝�
+ var CurrentTemp = {};
+ if (TypeName == "浠锋牸鏀跨瓥") {
+ CurrentTemp = this.jzDataFixedPrice.filter(fItem => {
+ if (fItem.Id == id) {
+ return true;
+ }
+ return false;
+ })[0];
+ }
+ if (TypeName == "鎶樻墸鏀跨瓥") {
+ CurrentTemp = this.jzDataDiscount.filter(fItem => {
+ if (fItem.Id == id) {
+ return true;
+ }
+ return false;
+ })[0];
+ }
+ //鍖归厤闇�瑕佸垹闄や骇鍝�
+ var ProductNumsTemp = [];
+ var NewjzDataProduct = [];;
+ if (TypeName == "浠锋牸鏀跨瓥") {
+ this.jzDataProduct.forEach(proItem => {
+ if (proItem.PromotionNo__c == CurrentTemp.PromotionNo__c) {
+ ProductNumsTemp.push({
+ Id: proItem.Id,
+ num: proItem.Quantity
+ })
+ } else {
+ NewjzDataProduct.push(proItem);
+ }
+ });
+ } else if (TypeName == "鎶樻墸鏀跨瓥") {
+ this.jzDataProduct.forEach(proItem => {
+ if (proItem.CompareId == CurrentTemp.CompareId) {
+ ProductNumsTemp.push({
+ Id: proItem.Id,
+ num: proItem.Quantity
+ })
+ } else {
+ NewjzDataProduct.push(proItem);
+ }
+ });
+ }
+ // 鎵ц鍒犻櫎
+ this.jzDataProduct = NewjzDataProduct;
+ //鍚堝悓浠锋牸姹囨��
+ this.ContractPriceCompute();
+ // 娣诲姞鏁伴噺
+ var newjzDataDefaults = [];
+ var AddnumsTemp = [];
+ this.jzDataDefault.forEach(defItem => {
+ var defItemTemp = {
+ ...{},
+ ...defItem
+ };
+ ProductNumsTemp.forEach(pTempItem => {
+ if (pTempItem.Id == defItem.Id) {
+ defItemTemp.Quantity += pTempItem.num;
+ AddnumsTemp.push(pTempItem.Id);
+ }
+ });
+ newjzDataDefaults.push(defItemTemp);
+ })
+ this.jzDataDefault = newjzDataDefaults;
+ //娣诲姞鏁存潯鏁版嵁
+ var PFTempArr = ProductNumsTemp.filter(pTempItem => {
+ var flag = true;
+ AddnumsTemp.filter(addItem => {
+ if (addItem == pTempItem.Id) {
+ flag = false;
+ }
+ })
+ return flag;
+ })
+ this.jzDataDefaultNotChange.forEach(noChangeItem => {
+ PFTempArr.forEach(pftItem => {
+ if (pftItem.Id == noChangeItem.Id) {
+ let newChangeItem = {
+ ...{},
+ ...noChangeItem
+ };
+ newChangeItem.Quantity = pftItem.num;
+ this.jzDataDefault.push(newChangeItem);
+ }
+ })
+ })
+ });
+ this.CompareFullData = CompareFullDataTemp;
+ }
+ //todu6
+ //================鍒犻櫎宸查�変骇鍝�==========
+ DeleteIsChangesFnSingle(list) { //list閫変腑鐨勪骇鍝佹槑缁�
+ let num = 0;
+ list.forEach(item => {
+ num++;
+ var falg = true;
+ if (item.TypeName == "浠锋牸鏀跨瓥") {
+ this.DeleteIsChangelogic(item, item.TypeName, num, list);
+ var arrTemp = [...[], ...this.jzDataFixedPrice]; //浠锋牸鏀跨瓥
+ var TempItem = {};
+ arrTemp.forEach(atItem => {
+ if (atItem.Id == item.PromotionId) {
+ TempItem = atItem;
+ return;
+ }
+ })
+ this.jzDataProduct.forEach(ite => { //ite浜у搧鏄庣粏
+ if (ite.PromotionId == TempItem.Id) {
+ falg = false;
+ }
+ });
+ if (TempItem != undefined && falg) {
+ this.SelectedFnDataFixedPrice.push(TempItem);
+ this.deleteFixedPriceTemp();
+ }
+ } else if (item.TypeName == "鎶樻墸鏀跨瓥") {
+ this.DeleteIsChangelogic(item, item.TypeName, num, list);
+ var arrTempTOName = [...[], ...this.jzDataDiscount]; //鎶樻墸鏀跨瓥
+ var TempItemTOName = {};
+ var PromotionHeadRecordId = item.recordTypeName__c;
+ if (PromotionHeadRecordId == "Authorizer") {
+ arrTempTOName.forEach(atItem => {
+
+ if (atItem.Id == item.PromotionId && //鏂规Id
+ item.NormalDiscount__c_Input == atItem.NormalDiscount__c_Input && //闈炲璞″搧鎶樻墸褰曞叆
+ item.GuaranteeDiscount__c_Input == atItem.GuaranteeDiscount__c_Input) { //瀵硅薄鍝佹姌鎵e綍鍏�
+ TempItemTOName = atItem;
+ return;
+ }
+ })
+ this.jzDataProduct.forEach(ite => {
+ if (ite.PromotionId == TempItemTOName.Id &&
+ ite.NormalDiscount__c_Input == TempItemTOName.NormalDiscount__c_Input &&
+ ite.GuaranteeDiscount__c_Input == TempItemTOName.GuaranteeDiscount__c_Input) {
+ falg = false;
+ }
+ });
+ } else {
+ arrTempTOName.forEach(atItem => {
+ if (item.Category__c == atItem.Category__c &&
+ item.Discount__c_Input == atItem.NormalDiscount__c_Input) {
+ TempItemTOName = atItem;
+ return;
+ }
+ })
+ this.jzDataProduct.forEach(ite => {
+ if (ite.Category__c == TempItemTOName.Category__c &&
+ ite.Discount__c_Input == TempItemTOName.NormalDiscount__c_Input) {
+ falg = false;
+ }
+ });
+ }
+ if (TempItemTOName != undefined && falg) {
+ this.SelectedFnDataDiscount.push(TempItemTOName);
+ this.delectTableDiscountTemp();
+ }
+ }
+ this.ContractPriceCompute();
+ })
+ }
+ //鍒犻櫎浜у搧鏄庣粏鍜屽緟閫変骇鍝� item鏄�変腑鐨勪骇鍝佹槑缁嗗璞� TypeName鏄�変腑鐨勪骇鍝佹槑缁嗗瀵瑰簲鐨勬柟妗堢被鍨�
+ DeleteIsChangelogic(item, TypeName, num, list) { //item 閫変腑鐨勬暟鎹璞� TypeName 鏂规绫诲瀷
+ var jzdatas = [];
+ var flg = true;
+ this.jzDataProduct.forEach(proItem => { //proItem浜у搧鏄庣粏
+ if (TypeName == "浠锋牸鏀跨瓥") {
+ var PromotionHeadRecordId = item.recordTypeName__c;
+ if (PromotionHeadRecordId == "Promotion") {
+ if (!item.if_Fix__c) {
+ if (proItem.Id == item.Id && item.PromotionId == proItem.PromotionId) {} else {
+ jzdatas.push(proItem);
+ }
+ } else {
+ flg = false;
+ this.Alert("淇冮攢鏂规鍐呬骇鍝佸瀷鍙凤紝鏁伴噺鍥哄畾锛屼笉鍙垹闄ゆ槑缁�", true, true);
+ }
+ } else if (PromotionHeadRecordId == "NormalProduct") {
+ flg = false;
+ this.Alert("璇ヤ骇鍝佷负涓�鑸骇鍝侊紝涓嶅彲鍒犻櫎鏄庣粏", true, true);
+ } else {
+ jzdatas.push(proItem);
+ }
+ } else if (TypeName == "鎶樻墸鏀跨瓥") {
+ var PromotionHeadRecordId = item.recordTypeName__c;
+ if (PromotionHeadRecordId == "Authorizer") {
+ if (proItem.Id == item.Id &&
+ item.PromotionId == proItem.PromotionId &&
+ item.NormalDiscount__c_Input == proItem.NormalDiscount__c_Input &&
+ item.GuaranteeDiscount__c_Input == proItem.GuaranteeDiscount__c_Input) {} else {
+ jzdatas.push(proItem);
+ }
+ } else {
+ if (proItem.Id == item.Id &&
+ item.Category__c == proItem.Category__c &&
+ item.Discount__c_Input == proItem.Discount__c_Input) {} else {
+ jzdatas.push(proItem);
+ }
+ }
+
+ }
+ });
+ if (flg) {
+ this.jzDataProduct = [...[], ...jzdatas];
+ if (TypeName == "浠锋牸鏀跨瓥") {
+ //鍒犻櫎浠锋牸璁$畻
+ this.delectComputeData(item);
+ }
+ //鍚堝悓浠锋牸姹囨��
+ this.ContractPriceCompute();
+ var fg = true;
+ var arr = this.jzDataDefault;
+ arr.forEach(jddf => { //jddf寰呴�変骇鍝�
+ if (jddf.Id == item.Id) {
+ jddf.Quantity = jddf.Quantity + item.Quantity
+ fg = false;
+ }
+ });
+ if (fg) {
+ this.jzDataDefaultCopy.forEach(itm => { //itm鎶ヤ环琛岄」鐩富鏁版嵁
+ if (itm.Id == item.Id) {
+ itm.Quantity = item.Quantity
+ arr.push(itm);
+ fg = false;
+ }
+ });
+ }
+ this.jzDataDefault = [...[], ...arr];
+ }
+ }
+ // ==================閫氱煡鏄剧ず ======================
+ @track Tongzhishow = false;
+ @track ErrorTongzhishow = false;
+ ShowErrorContent = '鎶樻墸绫诲彧鑳介�夋嫨涓�涓�';
+ // 鏂版彁绀�
+ Tongzhishow = false; //鎻愮ず鏄剧ず鐨勬爣璇�
+ SaveShowText = "鎿嶄綔鎴愬姛"; //鎻愮ず妗嗙殑鏂囨湰
+ 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:account";
+ this.BgColorStyle = "background-color:#f88568";
+ } else {
+ this.TongzhiIcon = "standard:account";
+ this.BgColorStyle = "background-color:#69e669";
+ }
+ if (left) {
+ this.IsLeftStyle = "left: 40%"
+ } else {
+ this.IsLeftStyle = ""
+ }
+ }
+ //鍏抽棴鎻愮ず妗�
+ CloseAlert() {
+ if (this.Tongzhishow == true) {
+ this.Tongzhishow = false;
+ }
+ if (this.SaveShowText != "") {
+ this.SaveShowText = "";
+ }
+ }
+ // END
+
+ // ===================== 寮瑰嚭妗嗙粍浠� =====================================
+ @track
+ show = false
+ showModal() {
+ this.show = true
+ }
+ cancel() {
+ this.show = false
+ }
+ @track
+ pagingShow;
+ constructor() {
+ super();
+ this.pagingShow = false;
+ }
+ @track
+ initSearchForm = initSearchForm2
+ @track
+ initDataTable = initDataTable2;
+ @track jzData = [];
+ @track tableIsLoding = true;
+ // 鐐瑰嚮鎼滅储瑙﹀彂
+ searchData(event) {
+ let searchParams = event.detail.searchParams || {};
+ let temp = this.template;
+ this.template.querySelector('[data-parent-id="parent-div-id"]').refreshDataTable({
+ searchParams: searchParams
+ });
+ }
+ //椤甸潰鍒囨崲瑙﹀彂
+ pagingClick(event) {
+ let page = event.detail.page || {};
+ this.template.querySelector('c-jz-data-table').refreshDataTable({
+ page: page
+ });
+ }
+ // 鍚庡彴浜や簰锛岃幏鍙栧垪琛ㄦ暟鎹�
+ getTableData(event) {
+ let listQuery = event;
+ if (event.fag == undefined) {
+ listQuery = event.detail.listQuery;
+ }
+ GetPromotionPromotionSearch(listQuery).then(result => { //淇冮攢鏂规鏌ヨ缁撴灉
+ //CCCC
+ var responseObj = JSON.parse(result);
+ responseObj.records.forEach(item => {
+ var SeachData = {
+ SearchId: item.Id
+ };
+ GetSearchProductById(SeachData).then(result => { //鏂规鍏宠仈鐨勪骇鍝�
+ // var sumListPrice = 0;
+ // var sumNoDiscount = 0;
+ result.forEach(itemss => { //itemss鏂规鍏宠仈鐨勪骇鍝�
+ var fl = true;
+ if (this.jzDataDefaultCopyQuantityList.length == 0) {
+ this.jzDataDefaultCopyQuantityList.push({
+ Asset_Model_No__c: itemss.Asset_Model_No__c,
+ Quantity__c__c: itemss.Quantity__c,
+ Id_H: item.PromotionNo__c
+ });
+ } else {
+ this.jzDataDefaultCopyQuantityList.forEach(jdcql => { //淇濆瓨鏂规鍏宠仈浜у搧鐨勬暟閲�
+ if (itemss.Asset_Model_No__c == jdcql.Asset_Model_No__c && jdcql.Id_H == item.PromotionNo__c) {
+ fl = false;
+ }
+ });
+ if (fl) {
+ this.jzDataDefaultCopyQuantityList.push({
+ Asset_Model_No__c: itemss.Asset_Model_No__c,
+ Quantity__c__c: itemss.Quantity__c,
+ Id_H: item.PromotionNo__c
+ });
+ }
+ }
+ });
+ var iflag = true;
+ var newarrjdf = [];
+ this.jzDataFixedPrice.forEach(jdf => { //jdf浠锋牸鏀跨瓥
+ if (jdf.Id == item.Id) {
+ iflag = false;
+ newarrjdf.push(jdf);
+ } else {
+ newarrjdf.push(jdf);
+ }
+ });
+ this.jzDataFixedPrice = [...[], ...newarrjdf];
+ });
+ });
+ this.jzData = [...[], ...responseObj.records];
+ // this.index=this.jzData.length;
+ this.tableIsLoding = false;
+ })
+ }
+ // 淇冮攢鏂规閫変腑
+ SelectedFn(event) {
+ let arr = event.detail.rows;
+ if (arr.length > 1) {
+ this.Alert("浠锋牸鏀跨瓥鍙彲閫夋嫨涓�涓柟妗�", true, true);
+ } else {
+ this.cancel();
+ this.ifqianpi = true;
+ this.GetSearchProductByIdFn(arr[0].Id, arr[0], "浠锋牸鏀跨瓥", [], arr);
+ }
+ }
+ // ================== END 寮瑰嚭妗� ==============================
+
+ // ===================== 寰呴�夌潃浜у搧 =============================
+ @track jzDataDefault = []; //鏁版嵁 寰呴�夋嫨浜у搧鏁版嵁鎹�
+ jzDataDefaultNotChange = [];
+ jzDataDefaultCopy = [];
+ @track tableIsLodingDefault = true;
+ @track
+ initSearchFormDefalt = initSearchFormDefalt2
+ @track
+ initDataTableDefault = initDataTableDefault2;
+ getRowActions(event) {
+ let a = event;
+ }
+ //鏌ヨ浠锋牸鏀跨瓥鏂规鍏宠仈浜у搧鏄庣粏
+ //绠楀嚭鐨勫悎璁�
+ sumTotal = [];
+ getschemedetails() {
+ this.jzDataFixedPrice.forEach(jdfp => { //浠锋牸鏀跨瓥闆嗗悎鍒楄〃
+ var SeachData = {
+ SearchId: jdfp.Id
+ };
+ GetSearchProductById(SeachData).then(result => {
+ var tempObject = {
+ ...{},
+ ...jdfp
+ }
+ jdfp = this.countListAndNod(tempObject, result);
+ this.sumTotal.push(jdfp);
+ });
+ });
+ }
+
+ //姣斿鎶ヤ环琛岄」鐩敼鍙樺悗璇曠畻鐣岄潰鐨勫彉鍖�
+ //鈥樿瘯绠楀悎鎴愬緟閫夋暟鎹�欐槸涓轰簡涓庣幇鍦ㄦ姤浠疯椤圭洰杩涜姣斿锛岀敤璇曠畻浜у搧琛ㄦ暟鎹悎骞跺嚭鐨勪笂涓�娆¤繘琛岃瘯绠楃殑鎶ヤ环琛岄」鐩�
+ //璇曠畻涔嬪墠宸插皢鎶ヤ环琛岄」鐩浉鍚岀殑浜у搧杩涜浜嗗悎骞�
+ //1.鈥樻姤浠疯椤圭洰鈥欐潯鏁板皯浜庘�樿瘯绠楀悎鎴愬緟閫夋暟鎹�欐潯鏁版椂灏嗕箣鍓嶇殑璇曠畻娓呯┖锛屼娇鐢ㄦ柊鐨勬姤浠疯椤圭洰
+ //2.褰撯�樻姤浠疯椤圭洰鈥欐潯鏁板ぇ浜庢垨绛変簬鈥樿瘯绠楀悎鎴愬緟閫夋暟鎹�欐潯鏁板皢涓ょ粍鏁版嵁杩涜姣斿
+ // 2-1锛夊綋鈥樻姤浠疯椤圭洰鈥欐潯鏁扮瓑浜庘�樿瘯绠楀悎鎴愬緟閫夋暟鎹�欐潯鏁版椂鍏堝姣斾袱缁勬暟鎹紙鏍规嵁浜у搧Id杩涜鍖归厤锛�
+ // 锛�2-1-1锛夊綋鏁版嵁鍖归厤鎴愬姛鍚庡垽鏂叾鏁伴噺瀛楁锛屽綋鈥樻姤浠疯椤圭洰鈥欐暟閲忓皬浜庘�樿瘯绠楀悎鎴愬緟閫夋暟鎹�欐暟閲忔椂灏嗕箣鍓嶇殑璇曠畻娓呯┖锛屼娇鐢ㄦ柊鐨勬姤浠疯椤圭洰
+ // 锛�2-1-2锛夌瓑浜庡垯鍒犻櫎鈥樿瘯绠楀悎鎴愬緟閫夋暟鎹�欎腑鍖归厤鎴愬姛鐨勬暟鎹�
+ // 锛�2-1-3锛夊ぇ浜庡垯鐢ㄢ�樻姤浠疯椤圭洰鈥欐暟閲忓噺鍘烩�樿瘯绠楀悎鎴愬緟閫夋暟鎹�欐暟閲忓苟灏嗚繖鏉℃暟鎹瓨鍏ュ緟閫夋姤浠疯椤圭洰闆嗗悎
+ // 2-2锛夊綋姣斿缁撴潫鍚庡鏋溾�樿瘯绠楀悎鎴愬緟閫夋暟鎹�欎腑鏈夋暟鎹病鏈夎鍖归厤鍒欏皢涔嬪墠鐨勮瘯绠楁竻绌猴紝浣跨敤鏂扮殑鎶ヤ环琛岄」鐩�
+ // 2-3锛夊綋鈥樻姤浠疯椤圭洰鈥欐潯鏁板ぇ浜庘�樿瘯绠楀悎鎴愬緟閫夋暟鎹�欐潯鏁帮紝涓斺�樿瘯绠楀悎鎴愬緟閫夋暟鎹�欓兘宸插尮閰嶅垯灏嗏�樻姤浠疯椤圭洰鈥欎腑鏈鍖归厤鐨勬暟鎹叏閮ㄥ瓨鍏ュ緟閫夋姤浠疯椤圭洰闆嗗悎
+ index = 3;
+ comparisonUniqueKey() { //xxx
+ this.index--;
+ if (this.index == 0) {
+ if (this.flagall) {
+ if (this.jzDataDefaultCopy.length < this.lastQuotation.length) { //1銆佹潯鏁板皬浜�
+ this.jzDataDefault = [...[], ...this.jzDataDefaultCopy];
+ this.jzDataProduct = [];
+ this.jzDataFixedPrice = [];
+ this.jzDataDiscount = [];
+ return;
+ } else { //2銆�
+ var lastQuotation = [...[], ...this.lastQuotation];
+ var DefaultCopy = [...[], ...this.jzDataDefaultCopy];
+ var Default = [];
+ for (var j = 0; j < DefaultCopy.length; j++) {
+ var arrList = [];
+ var fag = true
+ if (lastQuotation.length != 0) {
+ 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];
+ this.jzDataProduct = [];
+ this.jzDataFixedPrice = [];
+ this.jzDataDiscount = [];
+ return;
+ } else if (DefaultCopy[j].Quantity == lastQuotation[i].Quantity) { //2-1-2
+ fag = false;
+ } else { //2-1-3 鏁伴噺澶т簬 濉炲埌寰呴�変骇鍝�
+ DefaultCopy[j].Quantity = DefaultCopy[j].Quantity - lastQuotation[i].Quantity;
+ Default.push(DefaultCopy[j]);
+ fag = false;
+ }
+ } else {
+ arrList.push(lastQuotation[i]);
+ }
+ }
+ lastQuotation = arrList;
+ if (fag) {
+ Default.push(DefaultCopy[j]);
+ }
+
+ } else { //2-3 鏉℃暟澶т簬 灏嗘暟鎹鍒板緟閫変骇鍝�
+ Default.push(DefaultCopy[j]);
+ }
+ }
+ if (lastQuotation.length != 0) { //2-2 鍚堟垚鏁版嵁鏈夊墿浣�
+ this.jzDataDefault = [...[], ...this.jzDataDefaultCopy];
+ this.jzDataProduct = [];
+ this.jzDataFixedPrice = [];
+ this.jzDataDiscount = [];
+ return;
+ }
+ this.jzDataDefault = [...[], ...Default];
+ }
+ }
+ }
+ }
+ // 鍚庡彴浜や簰锛岃幏鍙栧緟閫夋嫨浜у搧鍒楄〃鏁版嵁
+ UniqueKey = new Map();
+ getTableDataDefault(event) {
+ let data = [];
+ //todu10
+ GetPromotionDefalut({
+ IdParam: this.ParamIdStr
+ }).then(result => {
+ this.jzDataDefaultNotChange = [];
+ this.jzDataDefaultCopy = [];
+ var i = 1;
+ result.forEach(rItem => {
+ rItem.ListPrice = rItem.ListPrice__c;
+ rItem.HangHao = i++;
+ // if (!this.flagall) {
+ rItem.Id = rItem.Product2Id; //鎶ヤ环琛屽敮涓�key
+ // }
+ let tempS = {
+ ...{},
+ ...rItem
+ };
+ this.jzDataDefaultNotChange.push(tempS);
+ this.jzDataDefaultCopy.push(tempS);
+ });
+ this.getschemedetails();
+ if (this.flagall) {
+ var newList = [];
+ this.OnLoadProduct.forEach(items => { //items鏈�夋嫨浜у搧
+ var DataTemp = {};
+ result.forEach(reItgem => {
+ if (reItgem.Id == items.Id) {
+ DataTemp = reItgem;
+ return;
+ }
+ reItgem.ListPrice = reItgem.ListPrice__c;
+ })
+ if (DataTemp != undefined && DataTemp != {}) {
+ DataTemp = {
+ ...DataTemp,
+ ...items
+ };
+ }
+ newList.push(DataTemp);
+ })
+ this.jzDataDefault = newList;
+ this.tableIsLodingDefault = false;
+ this.comparisonUniqueKey();
+ return;
+ } else {
+ result.forEach(rItems => {
+ rItems.ListPrice = rItems.ListPrice__c;
+ });
+ this.jzDataDefault = result;
+ this.tableIsLodingDefault = false;
+ var event = {
+ page: 1,
+ pageLimit: 10,
+ search: "",
+ sortOrder: "asc",
+ sortPlus: undefined,
+ fag: true
+ };
+ this.getTableDataFix(event);
+ }
+ })
+ }
+
+ SelectedFnDefault(rows) {
+ let arr = rows;
+ }
+ // ===================== END寰呴�夌潃浜у搧 =============================
+
+
+ // ===================== 浣跨敤浠锋牸鏀跨瓥 =============================
+
+
+ @track jzDataFixedPrice = []; //浠锋牸鏀跨瓥鏁版嵁瀛樺偍1 闆嗗悎
+ @track tableIsLodingFixedPrice = true;
+ Lianxi = true;
+ @track
+ initSearchFormFixedPrice = initSearchFormFixedPrice2
+ @track
+ initDataTableFixedPrice = initDataTableFixedPrice2
+ // 鍚庡彴浜や簰锛岃幏鍙栧垪琛ㄦ暟鎹�
+ getTableDataFixedPrice(event) {
+ this.tableIsLodingFixedPrice = false;
+ var indexTemp = [];
+ }
+ //瀵规瘮浠锋牸鏀跨瓥璧嬪��
+ comparativeAssignment() {
+ this.jzDataFixedPrice.forEach(jdfp => { //浠锋牸鏀跨瓥闆嗗悎
+ this.sumTotal.forEach(stl => { //鍒濆鍖栨椂浠锋牸鏀跨瓥闆嗗悎
+ if (jdfp.Id == stl.Id) {
+ if (stl.sumListPrice != undefined && stl.sumNoDiscount != undefined) {
+ jdfp.sumListPrice = stl.sumListPrice;
+ jdfp.sumNoDiscount = stl.sumNoDiscount;
+ }
+ }
+ });
+ });
+ }
+ //璁$畻浠锋牸鏀跨瓥鐨勬渶澶ф鏁�
+ ComputeMaximumTimes(priceArr) {
+ // var num=0;
+ var Pricepolicy = {
+ ...{},
+ ...priceArr
+ };
+ var b = this.jzDataDefaultCopyQuantityList; //鏌ュ嚭鐨勬瘡涓柟妗堢殑鏄庣粏鐨勬暟閲�
+ var selectproducts = this.jzDataDefault; //寰呴�変骇鍝�
+ Pricepolicy.maxCounts = ComputationalLogic(Pricepolicy, b, selectproducts);
+ return Pricepolicy;
+ }
+ //淇濆瓨浠锋牸鏀跨瓥缂栬緫鍒�
+ handleSaveFixedPrice(event) {
+ this.comparativeAssignment();
+ // 鏇存敼娆℃暟 鎶婂搴旂殑id 鐨� num鍊间篃闇�瑕佹敼鍙橈紝杩欎釜闆嗗悎鏄褰曟墍鏈夊尮閰嶄笂鐨� 鏀跨瓥鐨� 鍏崇郴鐨勶紝鏀瑰彉浜嗗搴斿叧绯� 涔熼渶瑕佺淮鎶や竴涓嬭繖涓泦鍚�
+ var a = this.CompareFullData;
+ var CompareFullDataedit = [];
+ var HeTongTotal = 0;
+ var data = event.detail.rows;
+ let newData = [];
+ let editnewDate = [];
+ var boolean = 1;
+ for (var i = 0; i < this.jzDataFixedPrice.length; i++) {
+ var editData = {};
+ var flag = false;
+ for (var j = 0; j < data.length; j++) {
+ var id = data[j].DelectId.replace("row-", "");
+ if (this.jzDataFixedPrice[i].DelectId == id) {
+ // editData=data[j];
+ editData = {
+ Counts: '',
+ HeTongTotal: ''
+ };
+ //瀵硅薄鎶樻墸
+ editData.Counts = data[j].Counts;
+ //璧嬪�� 闈炲璞℃姌鎵�
+ editData.HeTongTotal = data[j].HeTongTotal;
+ // editData.id=id;
+ flag = true;
+ }
+ }
+ if (flag) {
+ var newItem = {
+ ...this.jzDataFixedPrice[i],
+ ...{}
+ }; //浠锋牸鏀跨瓥鏁版嵁
+ //璁$畻鏈�澶ф鏁�
+ newItem = this.ComputeMaximumTimes(newItem);
+ if (editData.Counts != undefined) {
+ var ifNec = true;
+ if (newItem.recordTypeName__c == "NormalProduct") {
+ if (newItem.ifNecessary__c) {
+ ifNec = false;
+ }
+ }
+ newItem.maxCounts = Number(newItem.maxCounts);
+ if (newItem.maxCounts >= editData.Counts && ifNec) {
+ if (editData.Counts == 0) {
+ boolean = 4;
+ } else {
+ if (newItem.if_Contain_Nod__c) {
+ HeTongTotal = newItem.Price_CNY__c * editData.Counts;
+ } else {
+ HeTongTotal = newItem.Price_CNY__c * editData.Counts + newItem.sumNoDiscount * editData.Counts;
+ }
+ newItem.Counts = editData.Counts;
+ // newItem.HeTongTotal = HeTongTotal;
+ if (newItem.recordTypeName__c == "Promotion") {
+ newItem.HeTongTotal = HeTongTotal;
+ }
+ newItem.determine = '鏀硅繃';
+ a.forEach(editnum => {
+ if (editnum.Id == newItem.Id) {
+ editnum.num = newItem.Counts;
+ CompareFullDataedit.push(editnum);
+ } else {
+ CompareFullDataedit.push(editnum);
+ }
+ });
+ this.CompareFullData = [...[], ...CompareFullDataedit];
+ // }
+ }
+ } else {
+ if (ifNec) {
+ boolean = 3;
+ } else {
+ boolean = 5;
+ }
+ }
+ }
+ if (editData.HeTongTotal != undefined) {
+ if (newItem.if_Contain_Nod__c) {
+ HeTongTotal = newItem.Price_CNY__c * newItem.Counts;
+ } else {
+ HeTongTotal = newItem.Price_CNY__c * newItem.Counts + newItem.sumNoDiscount * newItem.Counts;
+ }
+ if (editData.HeTongTotal < HeTongTotal) {
+ boolean = 6;
+ } else {
+ newItem.HeTongTotal = editData.HeTongTotal;
+ newItem.determine = '鏀硅繃';
+ }
+ }
+ newData.push(newItem);
+ editnewDate.push(newItem);
+ } else {
+ newData.push({
+ ...{},
+ ...this.jzDataFixedPrice[i]
+ });
+ }
+ }
+ //haha
+ var newArrs = [...[], ...editnewDate];
+ if (boolean == 1) {
+ this.jzDataFixedPrice = newData;
+ newArrs.forEach(item => {
+ this.ComputeData(item.Id, '浠锋牸鏀跨瓥');
+ this.Alert("鏁版嵁淇敼鎴愬姛", false, true);
+ setTimeout(() => {
+ this.CloseAlert();
+ }, 2000);
+ });
+ this.jzDataProduct = [...this.newArrsTemp3, ...this.newArrsTemp4];
+ //鍚堝悓浠锋牸姹囨��
+ this.ContractPriceCompute();
+ } else if (boolean == 3) {
+ this.Alert("淇敼閿欒锛屾鏁板凡缁忚秴杩囨渶澶у�硷紝涓嶅彲澧炲姞", true, true);
+ } else if (boolean == 4) {
+ this.Alert("淇敼閿欒锛屾鏁颁笉鍙互涓�0", true, true);
+ } else if (boolean == 5) {
+ this.Alert("璇ユ柟妗堜负寮哄埗鍖归厤锛屾鏁颁笉鍙慨鏀癸紒", true, true);
+ } else if (boolean == 6) {
+ var str1 = String(HeTongTotal);
+ var str = "淇敼閿欒锛屽悎鍚屼环鏍间笉寰楀皬浜�";
+ var str3 = str + str1;
+ this.Alert(str3, true, true);
+ }
+ //鍒锋柊
+ this.jzshows3 = false;
+ this.IsLoading3 = true;
+ setTimeout(() => {
+ this.IsLoading3 = false;
+ this.jzshows3 = true;
+ }, 800);
+ }
+ newArrsTemp3 = [];
+ newArrsTemp4 = [];
+
+ UpdateJZData(arrs) { //arrs 閫変腑鐨勬暟鎹泦鍚�
+ if (this.jzDataFixedPrice == null || this.jzDataFixedPrice.length <= 0) {
+ this.jzDataFixedPrice = arrs;
+ } else {
+ this.jzDataFixedPrice = [...this.jzDataFixedPrice, ...arrs];
+ };
+ }
+ //浠锋牸鏀跨瓥閫変腑
+ @track SelectedFnDataFixedPrice = [];
+ SelectedFnFixedPrice(event) {
+ let arr = event.detail.rows;
+ this.SelectedFnDataFixedPrice = arr;
+ }
+ //鍒犻櫎浠锋牸鏀跨瓥
+ //todu8
+ deleteFixedPrice() {
+ let ids = [];
+ var fag = true;
+ var select = [];
+ for (var j = 0; j < this.SelectedFnDataFixedPrice.length; j++) {
+ fag = true;
+ var PromotionHeadRecordId = this.SelectedFnDataFixedPrice[j].recordTypeName__c;
+ if (PromotionHeadRecordId == "NormalProduct") {
+ if (this.SelectedFnDataFixedPrice[j].ifNecessary__c) {
+ fag = false;
+ this.Alert("涓�鑸骇鍝佷负寮哄埗鍖归厤锛屼笉鍙垹闄�", true, true);
+ } else {
+ select.push(this.SelectedFnDataFixedPrice[j]);
+ }
+ } else {
+ select.push(this.SelectedFnDataFixedPrice[j]);
+ }
+ if (fag) {
+ var a = this.CompareFullData;
+ var compareFu = [];
+ ids.push(this.SelectedFnDataFixedPrice[j].Id);
+ a.forEach(deletId => {
+ if (this.SelectedFnDataFixedPrice[j].Id != deletId.Id) {
+ compareFu.push(deletId);
+ }
+ });
+ this.CompareFullData = [...[], ...compareFu];
+ }
+ }
+ this.SelectedFnDataFixedPrice = [...[], ...select];
+ if (fag) {
+ //鍒犻櫎鎵�閫夋柟妗堝尮閰嶇殑浜у搧
+ this.DeleteChangesFn(ids, "浠锋牸鏀跨瓥");
+ //璋冪敤鍒犻櫎浠锋牸鏀跨瓥
+ this.deleteFixedPriceTemp();
+ //鍚堝悓浠锋牸姹囨��
+ this.ContractPriceCompute();
+ }
+ }
+ jzshows3 = true;
+ //鍔犺浇
+ //鍒犻櫎浠锋牸鏀跨瓥
+ deleteFixedPriceTemp() {
+ let newarr = [];
+ for (var j = 0; j < this.SelectedFnDataFixedPrice.length; j++) {
+ for (var i = 0; i < this.jzDataFixedPrice.length; i++) {
+ var a = this.CompareFullData;
+ var compareFu = [];
+ a.forEach(deletId => {
+ if (this.SelectedFnDataFixedPrice[j].Id != deletId.Id) {
+ compareFu.push(deletId);
+ }
+ });
+ this.CompareFullData = [...[], ...compareFu];
+ if (this.SelectedFnDataFixedPrice[j].Id == this.jzDataFixedPrice[i].Id) {
+ this.jzDataFixedPrice.splice(i, 1); // 灏嗕娇鍚庨潰鐨勫厓绱犱緷娆″墠绉伙紝鏁扮粍闀垮害鍑�1
+ i--;
+ }
+ }
+ }
+ for (var i = 0; i < this.jzDataFixedPrice.length; i++) {
+ newarr.push(this.jzDataFixedPrice[i]);
+ }
+ this.jzDataFixedPrice = newarr;
+ this.SelectedFnDataFixedPrice = [];
+ }
+ // ===================== END浣跨敤浠锋牸鏀跨瓥 =============================
+
+
+ // =========================鍥哄畾浠锋牸 寮瑰嚭妗� =========================
+ @track ShowFix;
+ showModalFix() {
+ this.ShowFix = true
+ }
+ cancelFix() {
+ this.ShowFix = false
+ }
+ @track
+ initSearchFormFix = initSearchFormFix2;
+ @track
+ initDataTableFix = initDataTableFix2;
+
+ @track jzDataFix = [];
+ @track tableIsLodingFix = true;
+
+ // 鐐瑰嚮鎼滅储瑙﹀彂
+ searchDataFix(event) {
+ let searchParams = event.detail.searchParams || {};
+ this.template.querySelector('[data-parent-id="parent-div-idFix"]').refreshDataTable({
+ searchParams: searchParams
+ });
+ }
+ //椤甸潰鍒囨崲瑙﹀彂
+ pagingClickFix(event) {
+ let page = event.detail.page || {};
+ this.template.querySelector('[data-parent-id="parent-div-idFix"]').refreshDataTable({
+ page: page
+ });
+ }
+
+ jzDataDefaultCopyQuantityList = [];
+ // 鍚庡彴浜や簰锛岃幏鍙栦竴鑸骇鍝佸垪琛ㄦ暟鎹�
+ ifqianpi = true;
+ getTableDataFix(event) {
+ let listQuery = event;
+ if (event.fag) {
+ this.ifqianpi = false;
+ } else {
+ listQuery = event.detail.listQuery;
+ }
+ listQuery.pageLimit = 200;
+ GetNormalProductSearch(listQuery).then(result => {
+ //BBBB
+ var tempArr = result.split("--");
+ var responseObj = JSON.parse(tempArr[0]);
+ var responseObjAll = JSON.parse(tempArr[1]);
+ //鎺掑簭
+ var newArrs = new Array;
+ responseObjAll.forEach(item => {
+ newArrs.push(item);
+ })
+ newArrs.sort((a, b) => {
+ return a.OrderNo__c - b.OrderNo__c;
+ })
+ newArrs.forEach(item => { //鎺掑簭鍚庣殑涓�鑸骇鍝佷富鏁版嵁
+ var SeachData = {
+ SearchId: item.Id
+ };
+ GetSearchProductById(SeachData).then(results => {
+ results.forEach(itemss => { //鏂规鍏宠仈鐨勪骇鍝�
+ var fl = true;
+ if (this.jzDataDefaultCopyQuantityList.length == 0) {
+ this.jzDataDefaultCopyQuantityList.push({
+ Asset_Model_No__c: itemss.Asset_Model_No__c,
+ Quantity__c__c: itemss.Quantity__c,
+ Id_H: item.PromotionNo__c
+ });
+ } else {
+ this.jzDataDefaultCopyQuantityList.forEach(jdcql => {
+ if (itemss.Asset_Model_No__c == jdcql.Asset_Model_No__c && jdcql.Id_H == item.PromotionNo__c) {
+ fl = false;
+ }
+ });
+ if (fl) {
+ this.jzDataDefaultCopyQuantityList.push({
+ Asset_Model_No__c: itemss.Asset_Model_No__c,
+ Quantity__c__c: itemss.Quantity__c,
+ Id_H: item.PromotionNo__c
+ });
+ }
+ }
+ // }
+ // });
+ });
+ var iflag = true;
+ var newarrjdf = [];
+ this.jzDataFixedPrice.forEach(jdf => { //浠锋牸鏀跨瓥
+ if (jdf.Id == item.Id) {
+ iflag = false;
+ // jdf.sumListPrice = sumListPrice;
+ // jdf.sumNoDiscount = sumNoDiscount;
+ newarrjdf.push(jdf);
+ } else {
+ newarrjdf.push(jdf);
+ }
+ });
+ this.jzDataFixedPrice = [...[], ...newarrjdf];
+ if (event.fag && iflag) {
+ var newArr = [];
+ newArr.push(item);
+ this.ifqianpi = false;
+ this.GetSearchProductByIdFn(item.Id, item, "浠锋牸鏀跨瓥", [], newArr, false);
+ }
+ });
+ });
+ var respons = [];
+ responseObj.records.forEach(rrds => { //鏌ュ嚭鐨勫墠鍗佹潯
+ responseObjAll.forEach(rsja => { //鏌ュ嚭鐨勬墍鏈変竴鑸骇鍝佹暟鎹�
+ if (rrds.Id == rsja.Id) {
+ respons.push(rsja);
+ }
+ })
+ })
+ this.jzDataFix = [...[], ...respons];
+ this.tableIsLodingFix = false;
+ })
+ }
+ // 浠锋牸鏀跨瓥閫変腑
+ SelectedFnFix(event) {
+ let arr = event.detail.rows;
+ this.ifqianpi = true;
+ if (arr.length > 1) {
+ this.TZshow(false);
+ this.TZErrorshow(true);
+ } else {
+ //鑾峰彇鏁版嵁
+ this.GetSearchProductByIdFn(arr[0].Id, arr[0], "浠锋牸鏀跨瓥", [], arr);
+ this.cancelFix();
+ }
+ }
+
+ // ============================END =======================
+
+ // ===================== 浣跨敤鎶樻墸鏀跨瓥 =============================
+
+ @track jzDataDiscount = []; //鎶樻墸鏀跨瓥鏁版嵁2 闆嗗悎
+ @track tableIsLodingDiscount = true;
+ @track
+ initSearchFormDiscount = initSearchFormDiscount2;
+ @track
+ initDataTableDiscount = initDataTableDiscount2;
+ // 鍚庡彴浜や簰锛岃幏鍙栧垪琛ㄦ暟鎹�
+ getTableDataDiscount(event) {
+ this.tableIsLodingDiscount = false;
+ }
+ //灏嗕骇鍝佷笌鏂规鍖归厤
+ UpdateDiscountData(arrs) { //閫変腑鐨勬暟鎹�
+ if (this.jzDataDiscount == null || this.jzDataDiscount.length <= 0) {
+ this.jzDataDiscount = arrs;
+ } else {
+ this.jzDataDiscount = [...this.jzDataDiscount, ...arrs];
+ }
+ }
+ //鎶樻墸鏀跨瓥閫変腑
+ @track SelectedFnDataDiscount = []
+ SelectedFnDiscount(event) {
+ let arr = event.detail.rows;
+ this.SelectedFnDataDiscount = arr;
+ }
+ //鍒犻櫎鎶樻墸鏀跨瓥
+ //todu9
+ delectTableDiscount() {
+ let ids = [];
+ for (var j = 0; j < this.SelectedFnDataDiscount.length; j++) {
+ ids.push(this.SelectedFnDataDiscount[j].Id);
+ }
+ //鍒犻櫎鏂规瀵瑰簲鐨勪骇鍝佹槑缁�
+ // this.DeleteChangesFn(ids, "鎶樻墸鏀跨瓥");
+ this.DeleteSchemeMatching(this.SelectedFnDataDiscount, "鎶樻墸鏀跨瓥");
+ //鍒犻櫎鎶樻墸鏀跨瓥
+ this.delectTableDiscountTemp();
+ //鍚堝悓浠锋牸姹囨��
+ this.ContractPriceCompute();
+ }
+ //鎶樻墸鏀跨瓥鍒犻櫎鏂规瀵瑰簲浜у搧瑙勫垯
+ DeleteSchemeMatching(ids, TypeName) {
+ var CompareFullDataTemp = [];
+ ids.forEach(id => {
+ //鍒犻櫎 瑙勫垯鏁伴噺
+ this.CompareFullData.forEach(cItem => {
+ if (cItem.Id == id.Id && cItem.ListName == TypeName) {
+ console.warn("CompareFullData 鍒犻櫎");
+ } else {
+ CompareFullDataTemp.push(cItem);
+ }
+ })
+ //鍒犻櫎 宸查�変骇鍝�
+ var CurrentTemp = {};
+ if (TypeName == "浠锋牸鏀跨瓥") {
+ CurrentTemp = this.jzDataFixedPrice.filter(fItem => {
+ if (fItem.Id == id.Id) {
+ return true;
+ }
+ return false;
+ })[0];
+ }
+ if (TypeName == "鎶樻墸鏀跨瓥") {
+ CurrentTemp = this.jzDataDiscount.filter(fItem => {
+ var PromotionHeadRecordId = id.recordTypeName__c;
+ if (PromotionHeadRecordId == "Authorizer") {
+ if (fItem.Id == id.Id && //鏂规Id
+ fItem.NormalDiscount__c_Input == id.NormalDiscount__c_Input && //闈炲璞″搧鎶樻墸褰曞叆
+ fItem.GuaranteeDiscount__c_Input == id.GuaranteeDiscount__c_Input) { //瀵硅薄鍝佹姌鎵e綍鍏�
+ return true;
+ }
+ } else {
+ if (fItem.NormalDiscount__c_Input == id.NormalDiscount__c_Input &&
+ fItem.Category__c == id.Category__c) { //鎶樻墸鏀跨瓥鍒嗙被
+ return true;
+ }
+ }
+ return false;
+ })[0];
+ }
+ //鍖归厤闇�瑕佸垹闄や骇鍝�
+ var ProductNumsTemp = [];
+ var NewjzDataProduct = [];;
+ if (TypeName == "浠锋牸鏀跨瓥") {
+ this.jzDataProduct.forEach(proItem => {
+ if (proItem.PromotionNo__c == CurrentTemp.PromotionNo__c) {
+ ProductNumsTemp.push({
+ Id: proItem.Id,
+ num: proItem.Quantity
+ })
+ } else {
+ NewjzDataProduct.push(proItem);
+ }
+ });
+ } else if (TypeName == "鎶樻墸鏀跨瓥") {
+ this.jzDataProduct.forEach(proItem => {
+ var PromotionHeadRecordId = id.recordTypeName__c;
+ if (PromotionHeadRecordId == "Authorizer") {
+ if (CurrentTemp.Id == proItem.PromotionId && //鏂规Id
+ CurrentTemp.NormalDiscount__c_Input == proItem.NormalDiscount__c_Input && //闈炲璞″搧鎶樻墸褰曞叆
+ CurrentTemp.GuaranteeDiscount__c_Input == proItem.GuaranteeDiscount__c_Input) { //瀵硅薄鍝佹姌鎵e綍鍏�
+ ProductNumsTemp.push({
+ Id: proItem.Id,
+ num: proItem.Quantity
+ })
+ } else {
+ NewjzDataProduct.push(proItem);
+ }
+ } else {
+ if (CurrentTemp.NormalDiscount__c_Input == proItem.NormalDiscount__c_Input &&
+ CurrentTemp.Category__c == proItem.Category__c) { //鎶樻墸鏀跨瓥鍒嗙被
+ ProductNumsTemp.push({
+ Id: proItem.Id,
+ num: proItem.Quantity
+ })
+ } else {
+ NewjzDataProduct.push(proItem);
+ }
+ }
+ });
+ }
+ // 鎵ц鍒犻櫎
+ this.jzDataProduct = NewjzDataProduct;
+ //鍚堝悓浠锋牸姹囨��
+ this.ContractPriceCompute();
+ // 娣诲姞鏁伴噺
+ var newjzDataDefaults = [];
+ var AddnumsTemp = [];
+ this.jzDataDefault.forEach(defItem => {
+ var defItemTemp = {
+ ...{},
+ ...defItem
+ };
+ ProductNumsTemp.forEach(pTempItem => {
+ if (pTempItem.Id == defItem.Id) {
+ defItemTemp.Quantity += pTempItem.num;
+ AddnumsTemp.push(pTempItem.Id);
+ }
+ });
+ newjzDataDefaults.push(defItemTemp);
+ })
+ this.jzDataDefault = newjzDataDefaults;
+ //娣诲姞鏁存潯鏁版嵁
+ var PFTempArr = ProductNumsTemp.filter(pTempItem => {
+ var flag = true;
+ AddnumsTemp.filter(addItem => {
+ if (addItem == pTempItem.Id) {
+ flag = false;
+ }
+ })
+ return flag;
+ })
+ this.jzDataDefaultNotChange.forEach(noChangeItem => {
+ PFTempArr.forEach(pftItem => {
+ if (pftItem.Id == noChangeItem.Id) {
+ let newChangeItem = {
+ ...{},
+ ...noChangeItem
+ };
+ newChangeItem.Quantity = pftItem.num;
+ this.jzDataDefault.push(newChangeItem);
+ }
+ })
+ })
+ });
+ this.CompareFullData = CompareFullDataTemp;
+ }
+ //ttt
+ jzshows2 = true;
+ jzshows3 = true;
+
+ //鍔犺浇
+ //鍒犻櫎鎶樻墸鏀跨瓥
+ delectTableDiscountTemp() {
+ let newarr = [];
+ for (var j = 0; j < this.SelectedFnDataDiscount.length; j++) {
+ for (var i = 0; i < this.jzDataDiscount.length; i++) {
+ var PromotionHeadRecordId = this.SelectedFnDataDiscount[j].recordTypeName__c;
+ if (PromotionHeadRecordId == "Authorizer") {
+ if (this.SelectedFnDataDiscount[j].Id == this.jzDataDiscount[i].Id &&
+ this.SelectedFnDataDiscount[j].NormalDiscount__c_Input == this.jzDataDiscount[i].NormalDiscount__c_Input &&
+ this.SelectedFnDataDiscount[j].GuaranteeDiscount__c_Input == this.jzDataDiscount[i].GuaranteeDiscount__c_Input) {
+ this.jzDataDiscount.splice(i, 1); // 灏嗕娇鍚庨潰鐨勫厓绱犱緷娆″墠绉伙紝鏁扮粍闀垮害鍑�1
+ i--;
+ }
+ } else {
+ if (this.SelectedFnDataDiscount[j].Category__c == this.jzDataDiscount[i].Category__c &&
+ this.SelectedFnDataDiscount[j].NormalDiscount__c_Input == this.jzDataDiscount[i].NormalDiscount__c_Input) {
+ this.jzDataDiscount.splice(i, 1); // 灏嗕娇鍚庨潰鐨勫厓绱犱緷娆″墠绉伙紝鏁扮粍闀垮害鍑�1
+ i--;
+ }
+ }
+ }
+ }
+ for (var i = 0; i < this.jzDataDiscount.length; i++) {
+ newarr.push(this.jzDataDiscount[i]);
+ }
+ this.jzDataDiscount = newarr;
+ this.SelectedFnDataDiscount = [];
+ }
+ //save 鏂规硶锛屼繚瀛樻姌鎵f斂绛栫紪杈戝垪
+ handleSaveDiscount(event) {
+ var boolean = 0;
+ var boolean2 = false;
+ var boolean3 = false;
+ var data = event.detail.rows;
+ let newData = [];
+ let newData2 = [];
+ var newMap3 = new Map();
+ let newData3 = [];
+ var key=0;
+ let editnewDate = [];
+ var GuaranteeDiscount__cZuiXiao =0;
+ var NormalDiscount__cZuiXiao =0;
+ for (var i = 0; i < this.jzDataDiscount.length; i++) {
+ var editData = {};
+ var flag = false;
+ for (var j = 0; j < data.length; j++) {
+ var id = data[j].DelectId.replace("row-", "");
+ if (this.jzDataDiscount[i].DelectId == id) {
+ // editData=data[j];
+ editData = {
+ GuaranteeDiscount__c_Input: '',
+ NormalDiscount__c_Input: '',
+ HeTongPrice: '',
+ GuaranteeDiscount_H_Money__c: '',
+ NormalDiscount_H_Money__c: ''
+ };
+ //瀵硅薄鎶樻墸
+ editData.GuaranteeDiscount__c_Input = data[j].GuaranteeDiscount__c_Input;
+ //璧嬪�� 闈炲璞℃姌鎵�
+ editData.NormalDiscount__c_Input = data[j].NormalDiscount__c_Input;
+ //涓�鑸姌鎵e悎鍚屼环鏍�
+ editData.HeTongPrice = data[j].HeTongPrice;
+ //瀵硅薄鍝佸悎鍚岄噾棰�
+ editData.GuaranteeDiscount_H_Money__c = data[j].GuaranteeDiscount_H_Money__c;
+ //闈炲璞″搧鍚堝悓閲戦
+ editData.NormalDiscount_H_Money__c = data[j].NormalDiscount_H_Money__c;
+ // editData.id=id;
+ flag = true;
+ }
+ }
+ if (flag) {
+ var newItem = {
+ ...this.jzDataDiscount[i],
+ ...{}
+ };
+ if (editData.GuaranteeDiscount__c_Input != undefined) {
+ if(newItem.JxsType == "鐗圭害鎶樻墸"){
+ var GuaranteeDiscount__c_Input = parseFloat(editData.GuaranteeDiscount__c_Input);
+ editData.GuaranteeDiscount__c_Input=GuaranteeDiscount__c_Input+'%';
+ var GuaranteeDiscount__c = parseFloat(newItem.GuaranteeDiscount__c);
+ if (GuaranteeDiscount__c_Input < GuaranteeDiscount__c) {
+ GuaranteeDiscount__cZuiXiao=GuaranteeDiscount__c;
+ boolean = 1;
+ break;
+ } else {
+ this.jzDataProduct.forEach(jdpt => {
+ if (newItem.Id == jdpt.PromotionId &&
+ newItem.GuaranteeDiscount__c_Input == jdpt.GuaranteeDiscount__c_Input &&
+ newItem.NormalDiscount__c_Input == jdpt.NormalDiscount__c_Input) {
+ jdpt.GuaranteeDiscount__c_Input = editData.GuaranteeDiscount__c_Input;
+ }
+ });
+ newItem.GuaranteeDiscount__c_Input = editData.GuaranteeDiscount__c_Input;
+ newItem.iftrue = "鏀硅繃";
+ }
+ }else{
+ boolean = 3;
+ break;
+ }
+ }
+ if (editData.NormalDiscount__c_Input != undefined) {
+ if(editData.NormalDiscount__c_Input!=''&&editData.NormalDiscount__c_Input>=0){
+ var NormalDiscount__c_Input = parseFloat(editData.NormalDiscount__c_Input);
+ editData.NormalDiscount__c_Input = NormalDiscount__c_Input+'%';
+ var NormalDiscount__c = parseFloat(newItem.NormalDiscount__c);
+ if (NormalDiscount__c_Input < NormalDiscount__c) {
+ NormalDiscount__cZuiXiao=NormalDiscount__c;
+ boolean = 2;
+ break;
+ } else {
+ this.jzDataProduct.forEach(jdpt => {
+ if (newItem.Id == jdpt.PromotionId &&
+ newItem.GuaranteeDiscount__c_Input == jdpt.GuaranteeDiscount__c_Input &&
+ newItem.NormalDiscount__c_Input == jdpt.NormalDiscount__c_Input) {
+ jdpt.NormalDiscount__c_Input = editData.NormalDiscount__c_Input;
+ }
+ });
+ newItem.NormalDiscount__c_Input = editData.NormalDiscount__c_Input;
+ newItem.iftrue = "鏀硅繃";
+ }
+ }else{
+ boolean = 5
+ break;
+ }
+ }
+ newItem.GuaranteeDiscount_H_Money_yuan=newItem.GuaranteeDiscount_H_Money__c;
+ if (editData.GuaranteeDiscount_H_Money__c != undefined) {
+ if(newItem.JxsType == "鐗圭害鎶樻墸"){
+ if(editData.GuaranteeDiscount_H_Money__c==""){
+ editData.GuaranteeDiscount_H_Money__c=0;
+ }
+ newItem.GuaranteeDiscount_H_Money__c = editData.GuaranteeDiscount_H_Money__c;
+ newMap3.set(key,newItem);
+ boolean = 4;
+ boolean2 = true ;
+ }else{
+ boolean = 3;
+ break;
+ }
+
+ }
+ newItem.NormalDiscount_H_Money_yuan=newItem.NormalDiscount_H_Money__c;
+ if (editData.NormalDiscount_H_Money__c != undefined) {
+ if(editData.NormalDiscount_H_Money__c==""){
+ editData.NormalDiscount_H_Money__c=0;
+ }
+ newItem.NormalDiscount_H_Money__c = editData.NormalDiscount_H_Money__c;
+ if(newItem.JxsType == "涓�鑸姌鎵�"){
+ newData2.push(newItem);
+ boolean = 4;
+ boolean3 = true;
+ }else{
+ newMap3.set(key,newItem);
+ boolean = 4;
+ boolean2 = true;
+ }
+ }
+ if (editData.NormalDiscount_H_Money__c != undefined||editData.GuaranteeDiscount_H_Money__c != undefined) {
+ if(newItem.JxsType == "涓�鑸姌鎵�"){
+ newItem.HeTongPrice = parseFloat(newItem.NormalDiscount_H_Money__c)
+ }else{
+ newItem.HeTongPrice = parseFloat(newItem.NormalDiscount_H_Money__c)+parseFloat(newItem.GuaranteeDiscount_H_Money__c);
+ }
+ }
+ key++;
+ newData.push(newItem);
+ editnewDate.push(newItem);
+ } else {
+ newData.push({
+ ...{},
+ ...this.jzDataDiscount[i]
+ });
+ }
+ }
+ for (let [k, v] of newMap3) {
+ newData3.push(v);
+ }
+ //haha2
+ debugger
+ if (boolean == 0) {
+ this.jzDataDiscount = newData;
+ 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];
+ //鍚堝悓浠锋牸姹囨��
+ this.ContractPriceCompute();
+ this.Alert("鏁版嵁淇敼鎴愬姛", false, true);
+ setTimeout(() => {
+ this.CloseAlert();
+ }, 2000);
+ } else if (boolean == 1) {
+ this.Alert("淇敼閿欒锛屽璞″搧鎶樻墸涓嶅緱灏忎簬瀵硅薄鍝佹渶浣庢姌鎵�:"+GuaranteeDiscount__cZuiXiao+"%", true, true);
+ } else if (boolean == 2) {
+ this.Alert("淇敼閿欒锛岄潪瀵硅薄鍝佹姌鎵d笉寰楀皬浜庨潪瀵硅薄鍝佹渶浣庢姌鎵�:"+NormalDiscount__cZuiXiao+"%", true, true);
+ } else if (boolean == 3) {
+ this.Alert("淇敼閿欒锛屼竴鑸姌鎵f病鏈夊璞″搧鎶樻墸", true, true);
+ } else if (boolean == 5) {
+ this.Alert("闈炲璞″搧鎶樻墸涓嶅彲浠ヤ负绌烘垨灏忎簬0", true, true);
+ } else if (boolean == 4) {
+ this.jzDataDiscount = newData;
+ var ffgg=0;
+ if(boolean3){
+ newData2.forEach(HeTo => {
+ //鏍规嵁鍚堝悓浠锋牸璁$畻涓�鑸姌鎵�
+ HeTo = this.ComouteProductDiscount(HeTo.Id,HeTo.Category__c,HeTo.GuaranteeDiscount__c_Input, HeTo.NormalDiscount__c_Input, HeTo.GuaranteeDiscount_H_Money__c,HeTo.NormalDiscount_H_Money__c, HeTo);
+ if(HeTo==1||HeTo==2||HeTo==12||HeTo==3){
+ ffgg=HeTo;
+ return ;
+ }
+ //鍚堝苟鎶樻墸鏀跨瓥閲嶅鏂规
+ this.ConsolidatedDiscountPolicy(this.jzDataDiscount);
+ //涓�鑸姌鎵f洿鏀硅繃鍚堝悓浠锋牸璁$畻
+ this.updateCommonlyDiscountLogic(HeTo.Id,HeTo.JxsType,HeTo.GuaranteeDiscount__c_Input,HeTo.NormalDiscount__c_Input,HeTo.Category__c,this.jzDataDiscount);
+ });
+ }
+ if(boolean2&&ffgg==0){
+ newData3.forEach(TeYue=>{
+ //鏍规嵁鍚堝悓浠锋牸璁$畻鐗圭害鎶樻墸
+ GuaranteeDiscount__cZuiXiao=parseFloat(TeYue.GuaranteeDiscount__c);
+ NormalDiscount__cZuiXiao=parseFloat(TeYue.NormalDiscount__c);
+ TeYue=this.ComouteProductDiscount(TeYue.Id,TeYue.Category__c,TeYue.GuaranteeDiscount__c_Input, TeYue.NormalDiscount__c_Input, TeYue.GuaranteeDiscount_H_Money__c,TeYue.NormalDiscount_H_Money__c, TeYue);
+ if(TeYue==1||TeYue==2||TeYue==12||TeYue==3){
+ ffgg=TeYue;
+ return ;
+ }else{
+ //鍚堝苟鎶樻墸鏀跨瓥閲嶅鏂规
+ this.ConsolidatedDiscountPolicy(this.jzDataDiscount);
+ //涓�鑸姌鎵f洿鏀硅繃鍚堝悓浠锋牸璁$畻
+ this.updateCommonlyDiscountLogic(TeYue.Id,TeYue.JxsType,TeYue.GuaranteeDiscount__c_Input,TeYue.NormalDiscount__c_Input,TeYue.Category__c,this.jzDataDiscount);
+ }
+ });
+ }
+ if(ffgg==1||ffgg==2||ffgg==12||ffgg==3){
+ this.Alert(InverseCalculationTiShi(ffgg,GuaranteeDiscount__cZuiXiao,NormalDiscount__cZuiXiao), true, true);
+ }else{
+ this.Alert("鏁版嵁淇敼鎴愬姛", false, true);
+ setTimeout(() => {
+ this.CloseAlert();
+ }, 2000);
+ }
+ }
+ //鍒锋柊
+ this.jzshows2 = false;
+ this.IsLoading2 = true;
+ setTimeout(() => {
+ this.jzshows2 = true;
+ this.IsLoading2 = false;
+ }, 800)
+ }
+ newArrsTemp = [];
+ newArrsTemp2 = [];
+ // ===================== END浣跨敤浠锋牸鏀跨瓥 =============================
+
+ // =========================鐗圭害鎶樻墸 寮瑰嚭妗� =========================
+ @track ShowSpecial;
+ //鎵撳紑鐗圭害鎶樻墸寮瑰嚭妗�
+ showModalSpecial() {
+ this.QuoteData.forEach(qtd => {
+ if (!qtd.Opportunity.IsAuthorized__c) {
+ this.Alert("璇ヨ浠蜂笉鏄壒绾︾粡閿�鍟嗘巿鏉�", true, true);
+ } else {
+ this.ShowSpecial = true;
+ }
+ });
+ }
+ cancelSpecial() {
+ this.ShowSpecial = false
+ this.ShowSpecialIsError = false;
+ this.SelectedFnDataSpecial = [];
+ this.SelectedOtherDataArr = [];
+ }
+ //鐗圭害閿欒鎻愮ず
+ errorTiShi(str){
+ this.ShowSpecialIsError = true;
+ this.ShowSpecial = true;
+ this.ShowSpecialError = str;
+ }
+ @track TyName = []
+ ShowSpecialError = "鍙兘閫夋嫨涓�鏉℃姌鎵f暟鎹紒";
+ //鐗圭害鎶樻墸鐐瑰嚮纭畾鍚庢墽琛�
+ SavesSpecial() {
+ this.ShowSpecialIsError = false;
+ this.ShowSpecial = false;
+ var ItempTempData = {
+ ...{},
+ ...this.SelectedFnDataSpecial[0]
+ };
+ if (this.SelectedOtherDataArr.length == 0 && this.SelectedFnDataSpecial.length != 0) {
+ this.errorTiShi("璇烽�夋嫨鐗圭害鎶樻墸浜у搧锛�");
+ } else if (this.SelectedFnDataSpecial.length == 0 && this.SelectedOtherDataArr.length != 0) {
+ this.errorTiShi("璇烽�夋嫨鐗圭害鎶樻墸鏂规锛�");
+ } else if (this.SelectedFnDataSpecial.length == 0 && this.SelectedOtherDataArr.length == 0) {
+ this.errorTiShi("璇烽�夋嫨鐗圭害鎶樻墸鏂规鍜屼骇鍝侊紒");
+ } else {
+ ItempTempData.itemss = this.SelectedOtherDataArr;
+ ItempTempData.IsTempItems = true;
+ //tt
+ // ItempTempData.NormalDiscount__c = parseFloat(ItempTempData.NormalDiscount__c);
+ // ItempTempData.GuaranteeDiscount__c = parseFloat(ItempTempData.GuaranteeDiscount__c);
+ ItempTempData.NormalDiscount__c_Input = ItempTempData.NormalDiscount__c;
+ ItempTempData.GuaranteeDiscount__c_Input = ItempTempData.GuaranteeDiscount__c;
+ //tt
+ this.SelectedFnDataSpecial[0] = ItempTempData;
+ //灏嗕骇鍝佷笌鏂规鍖归厤
+ this.UpdateDiscountData(this.SelectedFnDataSpecial);
+ //鐗圭害鎶樻墸鍖归厤瑙勫垯
+ this.SpecialSavesChange("鐗圭害鎶樻墸", ItempTempData, this.SelectedFnDataSpecial[0].Id, this.SelectedFnDataSpecial[0].CompareId);
+ this.Alert("鐗圭害鎶樻墸閫夋嫨瀹屾垚", false, true);
+ setTimeout(() => {
+ this.CloseAlert();
+ }, 2000);
+ //鍚堝苟鎶樻墸鏀跨瓥閲嶅鏂规
+ this.ConsolidatedDiscountPolicy(this.jzDataDiscount);
+ //鎶樻墸鏀跨瓥浠锋牸璁$畻
+ // this.ComputeData(ItempTempData.Id, '鎶樻墸鏀跨瓥');
+ this.ComputeDiscount(ItempTempData.Id, ItempTempData.NormalDiscount__c, ItempTempData.GuaranteeDiscount__c, ItempTempData.Category__c, ItempTempData.JxsType);
+ this.SelectedFnDataSpecial = [];
+ this.SelectedOtherDataArr = [];
+ }
+ }
+ //鍚堝苟鎶樻墸鏀跨瓥閲嶅鏂规
+ ConsolidatedDiscountPolicy(SchemeSet) {
+ var arr = [];
+ arr = ConsolidatedDiscountPolicyLogic(SchemeSet, arr); //鍚堝苟鎶樻墸鏀跨瓥閲嶅鏂规閫昏緫
+ this.jzDataDiscount = [...[], ...arr];
+ // this.ConsolidationProgramProducts(arr);
+ this.ConsolidatedDiscountDetails(arr); //鍚堝苟鎶樻墸鏀跨瓥浜у搧鏄庣粏
+ }
+ //鍚堝苟鎶樻墸鏀跨瓥浜у搧鏄庣粏
+ ConsolidatedDiscountDetails(arrSchemes) {
+ var jzdataList = [...[], ...this.jzDataProduct];
+ this.jzDataProduct = ConsolidatedDiscountDetailsLogic(arrSchemes, jzdataList); //鍚堝苟鎶樻墸鏀跨瓥浜у搧鏄庣粏閫昏緫
+ }
+ @track
+ initSearchFormSpecial = initSearchFormSpecial2;
+ @track
+ initDataTableSpecial = initDataTableSpecial2;
+ @track jzDataSpecial = [];
+ @track tableIsLodingSpecial = true;
+ // 鍚庡彴浜や簰锛岃幏鍙栫壒绾︽姌鎵f柟妗堝垪琛ㄦ暟鎹�
+ getTableDataSpecial(event) {
+ let listQuery = event.detail.listQuery;
+ var Agency1__c = this.QuoteData[0].Agency1__c;
+ listQuery.pageLimit = 40;
+ listQuery.Agency1c = Agency1__c;
+ GetAuthorizerSearch(listQuery).then(result => {
+ var responseObj = JSON.parse(result);
+ this.jzDataSpecial = responseObj.records;
+ this.jzDataSpecial.forEach(element => {
+ element.JxsType = "鐗圭害鎶樻墸";
+ //tt
+ element.NormalDiscount__c = element.NormalDiscount__c+"%";
+ // element.NormalDiscount__c=Number(element.NormalDiscount__c.toFixed(2));
+ element.GuaranteeDiscount__c = element.GuaranteeDiscount__c+'%';
+ // element.GuaranteeDiscount__c=Number(element.GuaranteeDiscount__c.toFixed(2));
+ //tt
+ });
+ GetAgencyRName().then(gar => { //鑾峰彇缁忛攢鍟嗗鍚�
+ var a = JSON.parse(gar);
+ a.forEach(ga => {
+ if (ga.Agency__r != undefined) {
+ var arr = [];
+ this.jzDataSpecial.forEach(jzdsc => { //鐗圭害鎶樻墸鏂规鏁版嵁
+ if (ga.Agency__c == jzdsc.Agency__c) {
+ jzdsc.Agency__Name = ga.Agency__r.Name;
+ arr.push(jzdsc);
+ } else {
+ arr.push(jzdsc);
+ }
+ });
+ this.jzDataSpecial = [...[], ...arr];
+ }
+ });
+ })
+ this.tableIsLodingSpecial = false;
+ })
+ }
+ // 閫変腑鐗圭害鎶樻墸鏂规鏁版嵁
+ @track SelectedFnDataSpecial = [];
+ ShowSpecialIsError = false;
+ SelectedFnSpecial(event) {
+ let arr = event.detail.rows;
+ if (event.detail.rows.length > 1) {
+ this.ShowSpecialIsError = true;
+ } else {
+ this.ShowSpecialIsError = false;
+ }
+ var TempArr = [];
+ TempArr.push(arr[0])
+ var tempObject = {
+ ...{},
+ ...TempArr[0]
+ }
+ tempObject.CompareId = GetUUID();
+ this.SelectedFnDataSpecial = [tempObject];
+ }
+ //鐗圭害鎶樻墸鏁伴噺鎷嗗垎
+ IsLoading5 = false;
+ jzshows5 = true;
+ IsLoadingFlag1 = true;
+ SaveSpecialDiscount(event) {
+ var data = event.detail.rows;
+ let newData = [];
+ let editnewDate = [];
+ var boolean = 1;
+ for (var i = 0; i < this.jzDataOtherData.length; i++) {
+ var editData = {};
+ var flag = false;
+ for (var j = 0; j < data.length; j++) {
+ var id = data[j].Id;
+ if (this.jzDataOtherData[i].Id == id) {
+ // editData=data[j];
+ editData = {
+ SplitQuantity: ''
+ };
+ //鎷嗗垎娆℃暟
+ editData.SplitQuantity = data[j].SplitQuantity;
+ // editData.id=id;
+ flag = true;
+ }
+ }
+ if (flag) {
+ var newItem = {
+ ...this.jzDataOtherData[i],
+ ...{}
+ };
+ if (editData.SplitQuantity != undefined) {
+ newItem.SplitQuantity = Number(editData.SplitQuantity);
+ }
+ newData.push(newItem);
+ editnewDate.push(newItem);
+ } else {
+ newData.push({
+ ...{},
+ ...this.jzDataOtherData[i]
+ });
+ }
+ }
+ //haha4
+ var newArrs = [...[], ...editnewDate];
+ newArrs.forEach(item => {
+ if (item.Quantity < item.SplitQuantity) {
+ boolean = 2;
+ } else if (item.SplitQuantity == 0 || item.SplitQuantity == '') {
+ boolean = 3;
+ }
+ });
+ if (boolean == 1) {
+ this.jzDataOtherData = newData;
+ this.ShowSpecialIsError = false;
+ } else if (boolean == 2) {
+ this.errorTiShi("淇敼閿欒锛屼娇鐢ㄦ暟閲忎笉寰楀ぇ浜庢暟閲�");
+ } else if (boolean == 3) {
+ this.errorTiShi("淇敼閿欒锛屼娇鐢ㄦ暟閲忎笉寰椾负0鎴栦负绌�");
+ }
+
+ //鍒锋柊
+ this.jzshows5 = false;
+ this.IsLoading5 = true;
+ this.IsLoadingFlag1 = false;
+ setTimeout(() => {
+ this.SelectedOtherDataArr = [];
+ this.IsLoading5 = false;
+ this.jzshows5 = true;
+ }, 1000);
+ setTimeout(() => {
+ this.IsLoadingFlag1 = true;
+ }, 2000);
+ }
+ // OtherData
+ @track
+ initSearchFormOtherData = initSearchFormOtherData2;
+ @track
+ initDataTableOtherData = initDataTableOtherData2;
+ @track jzDataOtherData = [];
+ @track tableIsLodingOtherData = true;
+ // 鍚庡彴浜や簰锛岃幏鍙栫壒绾︽姌鎵d骇鍝佸垪琛ㄦ暟鎹�
+ getTableDataOtherData(event) {
+ if (!this.IsLoadingFlag1) {
+ return
+ };
+ this.jzDataOtherData = this.jzDataDefault;
+ var jzDataOtherDataTemp = [];
+ this.jzDataOtherData.forEach(jzdod => {
+ var ItemsTemp = {
+ ...{},
+ ...jzdod
+ };
+ ItemsTemp.SplitQuantity = ItemsTemp.Quantity;
+ jzDataOtherDataTemp.push(ItemsTemp);
+ })
+ this.jzDataOtherData = jzDataOtherDataTemp;
+ this.tableIsLodingOtherData = false;
+ }
+ // 鐗圭害鎶樻墸浜у搧閫変腑
+ @track SelectedOtherDataArr = [];
+ SelectedFnOtherData(event) {
+ let arr = event.detail.rows;
+ this.SelectedOtherDataArr = arr;
+ }
+ // ============================END =======================
+
+
+ // =========================涓�鑸环鏍� 寮瑰嚭妗� =========================
+ @track ShowCommonly;
+ showModalCommonly() {
+ this.ShowCommonly = true
+ }
+ //淇濆瓨浣跨敤鏁伴噺
+ IsLoading4 = false;
+ jzshows4 = true;
+ IsLoadingFlag = true;
+ //涓�鑸姌鎵e尮閰嶈鍒�
+ SaveGeneralDiscount(event) {
+ var data = event.detail.rows;
+ let newData = [];
+ let editnewDate = [];
+ var boolean = 1;
+ for (var i = 0; i < this.jzDataCommonly.length; i++) {
+ var editData = {};
+ var flag = false;
+ for (var j = 0; j < data.length; j++) {
+ var id = data[j].Id;
+ if (this.jzDataCommonly[i].Id == id) {
+ // editData=data[j];
+ editData = {
+ SplitQuantity: ''
+ };
+ //鎷嗗垎娆℃暟
+ editData.SplitQuantity = data[j].SplitQuantity;
+ // editData.id=id;
+ flag = true;
+ }
+ }
+ if (flag) {
+ var newItem = {
+ ...this.jzDataCommonly[i],
+ ...{}
+ };
+ if (editData.SplitQuantity != undefined) {
+ newItem.SplitQuantity = Number(editData.SplitQuantity);
+ }
+ newData.push(newItem);
+ editnewDate.push(newItem);
+ } else {
+ newData.push({
+ ...{},
+ ...this.jzDataCommonly[i]
+ });
+ }
+ }
+ //haha3
+ var newArrs = [...[], ...editnewDate];
+ newArrs.forEach(item => {
+ if (item.Quantity < item.SplitQuantity) {
+ boolean = 2;
+ } else if (item.SplitQuantity == 0 || item.SplitQuantity == '') {
+ boolean = 3;
+ }
+ });
+ if (boolean == 1) {
+ this.jzDataCommonly = newData;
+ this.ShowCommonlyIsError = false;
+ } else if (boolean == 2) {
+ this.ShowCommonlyIsError = true;
+ this.ShowCommonlyError = "淇敼閿欒锛屼娇鐢ㄦ暟閲忎笉寰楀ぇ浜庢暟閲�";
+ } else if (boolean == 3) {
+ this.ShowCommonlyIsError = true;
+ this.ShowCommonlyError = "淇敼閿欒锛屼娇鐢ㄦ暟閲忎笉寰椾负0鎴栦负绌�";
+ }
+ //鍒锋柊
+ this.jzshows4 = false;
+ this.IsLoading4 = true;
+ this.IsLoadingFlag = false;
+ setTimeout(() => {
+ this.SelectedFnCommonlyData = [];
+ this.IsLoading4 = false;
+ this.jzshows4 = true;
+ }, 1000);
+ setTimeout(() => {
+ this.IsLoadingFlag = true;
+ }, 2000);
+ }
+ //鍏抽棴涓�鑸姌鎵e脊鍑烘瑙﹀彂
+ cancelCommonly() {
+ this.ShowCommonly = false;
+ this.ShowCommonlyIsError = false;
+ this.SelectedFnCommonlyData = [];
+ this.SaveLb = '';
+ this.SaveZk = '';
+ }
+ @track
+ initSearchFormCommonly = initSearchFormCommonly2;
+ @track
+ initDataTableCommonly = initDataTableCommonly2;
+ @track jzDataCommonly = [];
+ @track tableIsLodingCommonly = true;
+ // 鍚庡彴浜や簰锛岃幏鍙栦竴鑸姌鎵e垪琛ㄦ暟鎹�
+ getTableDataCommonly(event) {
+ if (!this.IsLoadingFlag) {
+ return
+ };
+ this.jzDataCommonly = this.jzDataDefault;
+ var jzDataCommonlyTemp = [];
+ this.jzDataCommonly.forEach(items => {
+ var ItemsTemp = {
+ ...{},
+ ...items
+ };
+ ItemsTemp.JxsType = "涓�鑸姌鎵�";
+ ItemsTemp.SplitQuantity = ItemsTemp.Quantity;
+ jzDataCommonlyTemp.push(ItemsTemp);
+ })
+ this.jzDataCommonly = jzDataCommonlyTemp;
+
+ this.tableIsLodingCommonly = false;
+ }
+ SelectedFnCommonlyData = [];
+ // 閫変腑涓�鑸姌鎵d骇鍝�
+ SelectedFnCommonly(event) {
+ let arr = event.detail.rows;
+ var newArr = [];
+ arr.forEach(item => {
+ var TempObject = {
+ ...{},
+ ...item
+ };
+ TempObject.JxsType = "涓�鑸姌鎵�";
+ newArr.push(TempObject);
+ })
+ this.SelectedFnCommonlyData = newArr;
+ }
+ SaveLb = '';
+ SaveZk = '';
+ //鑾峰彇涓�鑸姌鎵e脊鍑烘浜у搧绫诲埆
+ handleChangeLb(event) {
+ this.SaveLb = event.target.value;
+ }
+ //鑾峰彇涓�鑸姌鎵e脊鍑烘浣跨敤鎶樻墸
+ handleChangeZk(event) {
+ if (event.target.value != '') {
+ event.target.value = parseFloat(event.target.value) + "%";
+ }
+ this.SaveZk = event.target.value;
+
+ }
+ //涓�鑸敊璇彁绀�
+ errorTiShiYi(str){
+ this.ShowCommonlyIsError = true;
+ this.ShowCommonlyError = str;
+ }
+ //鐐瑰嚮涓�鑸姌鎵e脊鍑烘纭畾鎸夐挳瑙﹀彂
+ PromotionNoTemp = 1001;
+ ShowCommonlyError = "璇烽�夋嫨涓�鑸骇鍝侊紒";
+ ShowCommonlyIsError = false;
+ cancelSaveCommonly() {
+ //澶勭悊鏁版嵁
+ var arr = this.SelectedFnCommonlyData;
+ this.ShowCommonlyIsError = false;
+ if (this.SelectedFnCommonlyData.length != 0) {
+ var ItempTempData = {};
+ ItempTempData.Id = GetUUID();
+ ItempTempData.CompareId = GetUUID();
+ ItempTempData.Name = '涓�鑸姌鎵�';
+ ItempTempData.JxsType = "涓�鑸姌鎵�";
+ ItempTempData.itemss = arr;
+ if (this.SaveLb == '' || this.SaveZk == '') {
+ if (this.SaveLb == '' && this.SaveZk != '') {
+ this.errorTiShiYi("璇烽�夋嫨浜у搧绫诲埆锛�");
+ } else if (this.SaveZk == '' && this.SaveLb != '') {
+ this.errorTiShiYi("璇疯緭鍏ヤ娇鐢ㄦ姌鎵o紒");
+ } else if (this.SaveZk == '' && this.SaveLb == '') {
+ this.errorTiShiYi("璇疯緭鍏ヤ娇鐢ㄦ姌鎵e拰浜у搧绫诲埆锛�");
+ }
+ } else {
+ ItempTempData.Category__c = this.SaveLb;
+ ItempTempData.NormalDiscount__c_Input = this.SaveZk;
+ ItempTempData.if_Contain_Nod__c = false;
+ var TempList = [];
+ TempList.push(ItempTempData);
+ //灏嗕骇鍝佷笌鏂规鍖归厤
+ this.UpdateDiscountData(TempList);
+ //鎶樻墸鏀跨瓥鍖归厤瑙勫垯
+ this.SpecialSavesChange("涓�鑸姌鎵�", ItempTempData, ItempTempData.Id, ItempTempData.CompareId);
+ //鍏抽棴涓�鑸姌鎵e脊鍑烘瑙﹀彂
+ this.cancelCommonly();
+ this.Alert("涓�鑸姌鎵i�夋嫨瀹屾垚", false, true);
+ setTimeout(() => {
+ this.CloseAlert();
+ }, 2000);
+ this.ConsolidatedDiscountPolicy(this.jzDataDiscount);
+ //璁$畻鎶樻墸鏀跨瓥浠锋牸
+ // this.ComputeData(ItempTempData.Id, '鎶樻墸鏀跨瓥');
+ this.ComputeDiscount(ItempTempData.Id, ItempTempData.NormalDiscount__c_Input, ItempTempData.GuaranteeDiscount__c, ItempTempData.Category__c, ItempTempData.JxsType);
+ }
+ } else {
+ this.errorTiShiYi("璇烽�夋嫨涓�鑸骇鍝侊紒");
+ }
+ }
+ // ============================END =======================
+
+ // ===================== 浜у搧鏄庣粏 =============================
+ @track jzDataProduct = [];
+ @track tableIsLodingProduct = true;
+
+ @track
+ initDataTableProduct = initDataTableProduct2;
+ // 鍚庡彴浜や簰锛岃幏鍙栧垪琛ㄦ暟鎹�
+ getTableDataProduct(event) {
+ this.tableIsLodingProduct = false;
+ }
+ @track SelectedFnProductData = [];
+ //閫変腑浜у搧鏄庣粏
+ SelectedFnProduct(event) {
+ let arr = event.detail.rows;
+ this.SelectedFnProductData = arr;
+ }
+ //todu5
+ jzshows = true;
+ //鍔犺浇
+ IsLoading = false;
+ OnLoading(flag) {
+ this.IsLoading = flag;
+ }
+ //鍒犻櫎浜у搧鏄庣粏
+ delectTableProduct() {
+ this.DeleteIsChangesFnSingle(this.SelectedFnProductData);
+ }
+ ifTips=true;
+ ifFTip=true;
+ //淇濆瓨鎵�鏈夋姤浠疯瘯绠楃晫闈㈡暟鎹�
+ saveAllDataProductFn() {
+ var newTemp = [];
+ this.jzDataFixedPrice.forEach(item => { //浠锋牸鏀跨瓥
+ var itemTemp = {
+ ...{},
+ ...item
+ };
+ // itemTemp.鍒嗙被鍚嶇О锛堟牴鎹� 涓や釜鎶樻墸鏁版嵁鍒嗙被 1锛� 浠锋牸鏀跨瓥 2锛夋姌鎵f斂绛栵級
+ itemTemp.typess = "浠锋牸鏀跨瓥 ";
+ newTemp.push(itemTemp);
+ });
+ var newTemp2 = [];
+ this.jzDataDiscount.forEach(item => { //鎶樻墸鏀跨瓥
+ var itemTemp = {
+ ...{},
+ ...item
+ };
+ // itemTemp.鍒嗙被鍚嶇О锛堟牴鎹� 涓や釜鎶樻墸鏁版嵁鍒嗙被 1锛� 浠锋牸鏀跨瓥 2锛夋姌鎵f斂绛栵級
+ itemTemp.typess = "鎶樻墸鏀跨瓥";
+ newTemp2.push(itemTemp);
+ });
+ var data = [...newTemp, ...newTemp2];
+ var ParamIdStr = this.ParamIdStr;
+ var Trade__c = this.QuoteData[0].Opportunity.Trade__c;
+ var NewData = ConsolidationScheme(data, ParamIdStr, Trade__c);
+ var NewData1 = MergeProducts(this.jzDataProduct, this.jzDataDefault, data, ParamIdStr);
+ var jsondatasss = JSON.stringify(NewData);
+ var jsondatassss = JSON.stringify(NewData1);
+ var Sales_Root__c = this.QuoteData[0].Opportunity.Sales_Root__c;
+ var QuoteId = this.QuoteData[0].Id;
+ var OpportunityId = this.QuoteData[0].OpportunityId;
+ if (this.jzDataDefault.length == 0) {
+ var ifnull = true;
+ var ifnunum=1;
+ newTemp.forEach(ntp => { //浠锋牸鏀跨瓥
+ if (ntp.HeTongTotal == undefined || ntp.HeTongTotal == 0) {
+ ifnull = false;
+ }
+ });
+ this.jzDataProduct.forEach(jzdp=>{
+ if(jzdp.AgencyUnitPrice__c<0){
+ ifnunum=2;
+ return;
+ }
+ });
+ debugger;
+ if (ifnull&&ifnunum==1) {
+ this.IsLoading=true;
+ saveAllDataProduct({
+ JsonStr: jsondatasss,
+ ParamIdStr: this.ParamIdStr,
+ JsonStr2: jsondatassss,
+ QuoteId: QuoteId,
+ SalesRootc: Sales_Root__c,
+ ContractPrice: this.ContractPrice,
+ OpportunityId: OpportunityId,
+ DealerFinalPriceFc: this.QuoteData[0].Dealer_Final_Price_F__c,
+ Agent1Agent2Pricec: this.QuoteData[0].Agent1_Agent2_Price__c
+
+ }).then(result => {
+ if(this.ifTips){
+ this.IsLoading=false;
+ this.Alert("鏁版嵁宸蹭繚瀛�", false, true);
+ setTimeout(() => {
+ this.CloseAlert();
+ }, 2000);
+ }
+ // SWAG-C9X7S3 20211224 ssm start
+ else {
+ this.jumpNewQuoteEntry();
+ }
+ // SWAG-C9X7S3 20211224 ssm end
+ });
+ } else {
+ if(ifnunum==2){
+ this.ifFTip=false;
+ this.Alert("浜у搧鏄庣粏涓噾棰濇湁璐熸暟锛屼笉鍙繚瀛�", true, true);
+ }else{
+ this.ifFTip=false;
+ this.Alert("涓�鑸骇鍝佺殑鍚堝悓浠锋牸涓虹┖锛屼笉鍙繚瀛�", true, true);
+ }
+ }
+ } else {
+ this.ifFTip=false;
+ this.Alert("浜у搧鏈�夊畬锛屼笉鍙繚瀛�", true, true);
+ }
+
+ }
+
+ // ===================== 浜у搧鏄庣粏 =============================
+ //鎴愬姛鎻愮ず
+ SaveShowText = '淇冮攢鏂规閫夋嫨瀹屾垚';
+ //鎶樻墸鏀跨瓥鍚堝悓浠锋牸姹囨��
+ HeTongPriceCompute() {
+ var HeTongPriceList = [];
+ var jzdateList=this.jzDataDiscount;//鎶樻墸鏀跨瓥
+ var jzDataProductList=this.jzDataProduct;//浜у搧鏄庣粏
+ HeTongPriceList=HeTongPriceComputeLogic(jzdateList,jzDataProductList);
+ if (HeTongPriceList.length > 0) {
+ this.jzDataDiscount = HeTongPriceList;
+ }
+ }
+ //鍚堝悓浠锋牸姹囨��
+ ContractPrice = 0;
+ ContractPriceCompute() {
+ this.HeTongPriceCompute();
+ this.ContractPrice = 0;
+ var sum = this.ContractPrice;
+ var jzDataProductList = this.jzDataProduct//浜у搧鏄庣粏
+ var jzDataDiscountList = this.jzDataDiscount//鎶樻墸鏀跨瓥
+ var jzDataFixedPriceList = this.jzDataFixedPrice//浠锋牸鏀跨瓥
+ sum = parseFloat(sum);
+ sum=ContractPriceComputeLogic(sum,jzDataProductList,jzDataDiscountList,jzDataFixedPriceList);
+ this.ContractPrice = sum;
+ }
+ //鏇存敼涓�鑸姌鎵e悎鍚屼环鏍艰绠楀悎鍚屾�讳环
+ GeneralDiscountContractSummary(){
+ this.ContractPrice = 0;
+ var sum = this.ContractPrice;
+ sum = parseFloat(sum);
+ var jzDataDiscountList = this.jzDataDiscount;//鎶樻墸鏀跨瓥
+ var jzDataFixedPriceList = this.jzDataFixedPrice;//浠锋牸鏀跨瓥
+ sum=GeneralDiscountContractSummaryLogic(sum,jzDataDiscountList,jzDataFixedPriceList);
+ this.ContractPrice = sum;
+ }
+ //鍒犻櫎鏃堕渶瑕佺敤鐨勫敮涓�id鐨勬坊鍔�
+ updateIdStr(str) { //鏂规鐨勮瘑鍒瓧绗︿覆
+ // TODU
+ var newArr = [];
+ var indexNum = 0;
+ var jzdpdc = [];
+ if (str == "1") {
+ jzdpdc = [...[], ...this.jzDataProduct]; //淇冮攢浜у搧
+ } else if (str == "2") {
+ jzdpdc = [...[], ...this.jzDataDiscount]; //鎶樻墸鏀跨瓥
+ } else if (str == "3") {
+ jzdpdc = [...[], ...this.jzDataFixedPrice]; //浠锋牸鏀跨瓥
+ }
+ jzdpdc.forEach(item => {
+ indexNum++;
+ var temp = {
+ ...item
+ };
+ temp.DelectId = indexNum;
+ newArr.push(temp);
+ })
+ if (str == "1") {
+ this.jzDataProduct = [...[], ...newArr]; //淇冮攢浜у搧
+ } else if (str == "2") {
+ this.jzDataDiscount = [...[], ...newArr]; //鎶樻墸鏀跨瓥
+ } else if (str == "3") {
+ this.jzDataFixedPrice = [...[], ...newArr]; //浠锋牸鏀跨瓥
+ }
+ //TODU
+ }
+ //杩斿洖涓嶄繚瀛�
+ jumpNewQuoteEntry() {
+ var DeveloperName = this.QuoteData[0].Opportunity.RecordType.DeveloperName;
+ //璺緞璺宠浆
+ PathJump(DeveloperName,this.ParamIdStr);
+ }
+ //杩斿洖骞朵繚瀛�
+ jumpNewQuoteEntryAndSave(){
+ this.ifTips=false;
+ this.saveAllDataProductFn();
+ // SWAG-C9X7S3 20211224 ssm start
+ // if(this.ifFTip){
+ // this.jumpNewQuoteEntry();
+ // }
+ // SWAG-C9X7S3 20211224 ssm end
+ }
+ //澶嶅埗
+ copyJzDataTableProduct(){
+ var QuoteId = this.QuoteData[0].Id;
+ if (QuoteId == null || QuoteId == '') {
+ alert(this.label.Please_Save_Quote);
+ return null;
+ }
+ var records;
+ var x;
+ var targetString = '浜у搧鍨嬪彿\t浜у搧鍚嶇О\t鏁伴噺\t淇濅慨绫诲瀷\t鏂规浠g爜\t淇冮攢鏂规鍚嶇О/浜у搧绯诲垪\t涓绘姤浠穃t澶氬勾淇濅环鏍煎皬璁t鎶樻墸\t鍚堝悓鍗曚环\t鍚堝悓鎬讳环';
+ try {
+ SelectAllDataDiscount({
+ ParamIdStr: this.ParamIdStr
+ }).then(reslut=>{
+ copyLogic(this.label.Check_Your_Clipboard,records,x,targetString,reslut);
+ });
+ } catch (e) {
+ alert(e.faultcode + ',' + e.faultstring);
+ }
+ }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/quoteTrial/quoteTrial.js-meta.xml b/force-app/main/default/lwc/quoteTrial/quoteTrial.js-meta.xml
new file mode 100644
index 0000000..80b0241
--- /dev/null
+++ b/force-app/main/default/lwc/quoteTrial/quoteTrial.js-meta.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>51.0</apiVersion>
+ <isExposed>true</isExposed>
+ <targets>
+ <target>lightning__AppPage</target>
+ <target>lightning__HomePage</target>
+ <target>lightning__RecordPage</target>
+ <target>lightning__UtilityBar</target>
+ <target>lightning__FlowScreen</target>
+ <target>lightning__Tab</target>
+ <target>lightning__Inbox</target>
+ <target>lightningCommunity__Page</target>
+ <target>lightningCommunity__Default</target>
+ <target>lightningSnapin__ChatMessage</target>
+ <target>lightningSnapin__Minimized</target>
+ <target>lightningSnapin__PreChat</target>
+ <target>lightningSnapin__ChatHeader</target>
+ </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/quoteTrial/quoteTrialUtil.js b/force-app/main/default/lwc/quoteTrial/quoteTrialUtil.js
new file mode 100644
index 0000000..81660c0
--- /dev/null
+++ b/force-app/main/default/lwc/quoteTrial/quoteTrialUtil.js
@@ -0,0 +1,1916 @@
+const initSearchFormProduct = [{
+ label: "浜у搧鍨嬪彿",
+ type: "text",
+ name: "Asset_Model_No__c",
+ isInput: true
+},
+{
+ label: "浜у搧鍚嶇О",
+ type: "text",
+ name: "Name__c",
+ isInput: true
+}
+]
+export var arrTempsss = [];
+export var arrProductTempsss = [];
+export var NewDefaultDatass = [];
+export var AddProductDatass = [];
+export var jzDataFixedPriceTemps = [];
+export var jzDataDiscountTemps = [];
+export var DeftCopyQtyLists = [];
+
+export function GetName() {
+ // debugger;
+ // var divs = this.template.querySelectorAll('div');
+
+
+ // var outLine=[];
+ // divs.forEach(item=>{
+ // debugger
+ // });
+}
+//=======鏇存柊淇冮攢鏂规娆℃暟鏁版嵁閫昏緫
+export function updatesNumsLogic(jzDataFixedPriceTemp,jzDataDiscountTemp,CompareFullData) {
+ CompareFullData.forEach(item => {
+ if (item.ListName == "浠锋牸鏀跨瓥") {
+ var filterTemp = jzDataFixedPriceTemp.filter(fItem => {
+ if (fItem.Id == item.Id) {
+ return true;
+ } else {
+ return false;
+ }
+ })
+ if (filterTemp != undefined || filterTemp.length > 0) {
+ var fileterTempObject = {
+ ...{},
+ ...filterTemp[0]
+ };
+ fileterTempObject.Counts = item.num;
+ jzDataFixedPriceTemp = jzDataFixedPriceTemp.map(element => {
+ if (element.Id == fileterTempObject.Id) {
+ element = fileterTempObject;
+ } else {
+ let elementTemp = {
+ ...{},
+ ...element
+ };
+ element = elementTemp;
+ }
+ return element;
+ });
+ }
+ }
+ if (item.ListName == "鎶樻墸鏀跨瓥") {
+ var filterTemp = jzDataDiscountTemp.filter(fItem => {
+ if (fItem.Id == item.Id) {
+ return true;
+ } else {
+ return false;
+ }
+ })
+ if (filterTemp != undefined || filterTemp.length > 0) {
+ var fileterTempObject = {
+ ...{},
+ ...filterTemp[0]
+ };
+ fileterTempObject.Counts = item.num;
+ jzDataDiscountTemp = jzDataDiscountTemp.map(element => {
+ if (element.Id == fileterTempObject.Id) {
+ element = fileterTempObject;
+ } else {
+ let elementTemp = {
+ ...{},
+ ...element
+ };
+ element = elementTemp;
+ }
+ return element;
+ });
+ }
+ }
+ })
+ jzDataFixedPriceTemps = jzDataFixedPriceTemp;
+ jzDataDiscountTemps = jzDataDiscountTemp;
+}
+//鍙嶇畻鎶樻墸鏃朵慨鏀规姌鎵f斂绛栭�昏緫
+export function ReverseCalculationModifyDiscountLogic(arrTemp1,arrProductTemp,Id,Category__c,GuaranteeDiscount__c_Input, NormalDiscount__c_Input,GuaranteeDiscount_H_Money__c, NormalDiscount_H_Money__c, item){
+ //price鍜�
+ var sumListCount = 0;
+ //nod鍜�
+ var sumNodCount = 0;
+ //鐗圭害鎶樻墸nod鍜宭ist鍚�
+ var sumListAndNod = 0;
+ //鍚骞翠繚浜у搧list
+ var ObjectProducList=[];
+ //涓嶅惈澶氬勾淇濅骇鍝乴ist
+ var NotObjectProducList=[];
+ //鎶樻墸
+ var NormalDisN = 0;
+ var NormalDisG = 0;
+ var distinguish = 0;
+ var distinguish2 = 0;
+ arrProductTemp.forEach(itemss => {
+ if(itemss.recordTypeName__c=="Authorizer"){
+ if (itemss.PromotionId==Id&&
+ itemss.NormalDiscount__c_Input == NormalDiscount__c_Input &&
+ itemss.GuaranteeDiscount__c_Input == GuaranteeDiscount__c_Input) {
+ if(itemss.warrantyType__c=="甯傚満澶氬勾淇濅慨"){
+ sumListAndNod +=itemss.Quantity *(itemss.ListPrice+itemss.ServicePrice__c);
+ ObjectProducList.push(itemss);
+ }else if(itemss.warrantyType__c!="甯傚満澶氬勾淇濅慨"){
+ sumListCount += itemss.Quantity * itemss.ListPrice;
+ sumNodCount += itemss.Quantity * itemss.ServicePrice__c;
+ NotObjectProducList.push(itemss);
+ }
+ }
+ }else{
+ if (itemss.NormalDiscount__c_Input == NormalDiscount__c_Input &&
+ itemss.Category__c == Category__c) {
+ sumListCount += itemss.Quantity * itemss.ListPrice;
+ sumNodCount += itemss.Quantity * itemss.ServicePrice__c;
+ }
+ }
+ });
+ if (sumListCount != 0||sumListAndNod!=0) {
+ if(item.JxsType=='涓�鑸姌鎵�'||NotObjectProducList.length!=0){
+ NormalDisN = ((NormalDiscount_H_Money__c - sumNodCount) / sumListCount * 100).toFixed(2);
+ if(item.JxsType!='涓�鑸姌鎵�'){
+ if(item.NormalDiscount__c!=undefined&&item.NormalDiscount__c!=''){
+ var NormalDiscount__cc=parseFloat(item.NormalDiscount__c);
+ if(NormalDisN<NormalDiscount__cc){
+ distinguish=1;
+ }
+ }
+ }else if(NormalDisN<0){
+ distinguish=3;
+ }
+ }
+ debugger
+ if(ObjectProducList.length!=0){
+ NormalDisG =(GuaranteeDiscount_H_Money__c/sumListAndNod*100).toFixed(2);
+ if(item.GuaranteeDiscount__c!=undefined&&item.GuaranteeDiscount__c!=''){
+ var GuaranteeDiscount__cc=parseFloat(item.GuaranteeDiscount__c);
+ if(NormalDisG<GuaranteeDiscount__cc){
+ distinguish2 = 2;
+ }
+ }
+ }
+ arrTemp1.forEach(arrte => {
+ if (item.JxsType=="涓�鑸姌鎵�") {
+ if(arrte.NormalDiscount__c_Input == NormalDiscount__c_Input &&
+ arrte.Category__c == Category__c){
+ if(distinguish==1||distinguish==3){
+ arrte.NormalDiscount_H_Money__c = arrte.NormalDiscount_H_Money_yuan;
+ item.NormalDiscount_H_Money__c = item.NormalDiscount_H_Money_yuan;
+ }else{
+ arrte.NormalDiscount__c_Input = NormalDisN+'%';
+ item.NormalDiscount__c_Input = NormalDisN+'%';
+ }
+ }
+ }else if(item.JxsType=="鐗圭害鎶樻墸"){
+ if(arrte.Id==Id&&
+ arrte.NormalDiscount__c_Input == NormalDiscount__c_Input &&
+ arrte.GuaranteeDiscount__c_Input == GuaranteeDiscount__c_Input){
+
+ if(distinguish2==2||distinguish==1||distinguish==3){
+ arrte.NormalDiscount_H_Money__c = arrte.NormalDiscount_H_Money_yuan;
+ item.NormalDiscount_H_Money__c = item.NormalDiscount_H_Money_yuan;
+ arrte.GuaranteeDiscount_H_Money__c = arrte.GuaranteeDiscount_H_Money_yuan;
+ item.GuaranteeDiscount_H_Money__c = item.GuaranteeDiscount_H_Money_yuan;
+ }else{
+ if(NormalDisN!=0){
+ arrte.NormalDiscount__c_Input = NormalDisN+'%';
+ item.NormalDiscount__c_Input = NormalDisN+'%';
+ }
+ if(NormalDisG!=0){
+ arrte.GuaranteeDiscount__c_Input = NormalDisG+'%';
+ item.GuaranteeDiscount__c_Input = NormalDisG+'%';
+ }
+ }
+ }
+ }
+ });
+ if(distinguish!=1&&distinguish2!=2&&distinguish!=3){
+ arrProductTemp.forEach(arrpt => {
+ if(arrpt.recordTypeName__c=="Authorizer"){
+ if(arrpt.PromotionId==Id&&
+ arrpt.NormalDiscount__c_Input == NormalDiscount__c_Input &&
+ arrpt.GuaranteeDiscount__c_Input == GuaranteeDiscount__c_Input){
+ if(NormalDisN!=0){
+ arrpt.NormalDiscount__c_Input = NormalDisN+'%';
+ }
+ if(NormalDisG!=0){
+ arrpt.GuaranteeDiscount__c_Input = NormalDisG+'%';
+ }
+ }
+ }else{
+ if (arrpt.NormalDiscount__c_Input == NormalDiscount__c_Input &&
+ arrpt.Category__c == Category__c) {
+ arrpt.NormalDiscount__c_Input = NormalDisN+'%';
+ }
+ }
+ });
+ }
+ arrTempsss =arrTemp1;
+ arrProductTempsss = arrProductTemp;
+ }
+ debugger
+ if(distinguish==1&&distinguish2!=2){
+ return 1;
+ }else if(distinguish!=1&&distinguish2==2){
+ return 2;
+ }else if(distinguish==1&&distinguish2==2){
+ return 12;
+ }else if(distinguish==3){
+ return 3;
+ }else{
+ return item;
+ }
+}
+//鍙嶇畻鎶樻墸鎻愮ず淇℃伅
+export function InverseCalculationTiShi(ffgg,GuaranteeDiscount__cZuiXiao,NormalDiscount__cZuiXiao){
+ if(ffgg==1){
+ return "淇敼閿欒锛岄潪瀵硅薄鍝佹姌鎵d笉寰楀皬浜庨潪瀵硅薄鍝佹渶浣庢姌鎵�:"+NormalDiscount__cZuiXiao+"%";
+ }else if(ffgg==2){
+ return "淇敼閿欒锛屽璞″搧鎶樻墸涓嶅緱灏忎簬瀵硅薄鍝佹渶浣庢姌鎵�:"+GuaranteeDiscount__cZuiXiao+"%";
+ }else if(ffgg==12){
+ return "淇敼閿欒锛屽璞″搧鎶樻墸涓嶅緱灏忎簬瀵硅薄鍝佹渶浣庢姌鎵o細"+GuaranteeDiscount__cZuiXiao+"%"+"锛屼笖闈炲璞″搧鎶樻墸涓嶅緱灏忎簬闈炲璞″搧鏈�浣庢姌鎵o細"+NormalDiscount__cZuiXiao+"%";
+ }else if(ffgg==3){
+ return "淇敼閿欒锛岄潪瀵硅薄鍝佹姌鎵d笉寰楀皬浜�0";
+ }else{
+ return "鏁版嵁淇敼鎴愬姛";
+ }
+}
+//鍚堝悓浠锋牸姹囨�婚�昏緫
+export function ContractPriceComputeLogic(sum,jzDataProductList,jzDataDiscountList,jzDataFixedPriceList){
+ var DataDiscount = []; //鎶樻墸鏀跨瓥浜у搧鏄庣粏
+ jzDataProductList.forEach(jdpd => {
+ jzDataDiscountList.forEach(jddp => {
+ var PromotionHeadRecordId = jddp.recordTypeName__c;
+ if (PromotionHeadRecordId == "Authorizer") {
+ if (jdpd.PromotionId == jddp.Id && //鏂规Id
+ jddp.NormalDiscount__c_Input == jdpd.NormalDiscount__c_Input && //闈炲璞″搧鎶樻墸褰曞叆
+ jddp.GuaranteeDiscount__c_Input == jdpd.GuaranteeDiscount__c_Input) { //瀵硅薄鍝佹姌鎵e綍鍏�
+ DataDiscount.push(jdpd);
+ }
+ } else {
+ if (jddp.NormalDiscount__c_Input == jdpd.NormalDiscount__c_Input && //闈炲璞″搧鎶樻墸褰曞叆
+ jddp.Category__c == jdpd.Category__c) { //鎶樻墸鏀跨瓥鍒嗙被
+ DataDiscount.push(jdpd);
+ }
+ }
+ });
+ });
+ DataDiscount.forEach(jjc => {
+ jjc.AgencySubtotal__c = parseFloat(jjc.AgencySubtotal__c)
+ sum = sum + jjc.AgencySubtotal__c;
+ });
+ jzDataFixedPriceList.forEach(jzdfp => {
+ var HeTongTotals = parseFloat(jzdfp.HeTongTotal)
+ if (jzdfp.HeTongTotal == undefined || jzdfp.HeTongTotal == "") {
+ HeTongTotals = 0;
+ }
+ sum = sum + HeTongTotals;
+ });
+ sum = Math.round(sum * 100) / 100;
+ return sum;
+}
+ //璁$畻杩囧悗鐗圭害鎶樻墸鐨勫悎鍚屼环鏍�
+ export function SpecialPriceComputeReverse(DataDiscount,fag){
+ var sum=0;
+ var sum1=0
+ DataDiscount.forEach(jjc => {
+ if(jjc.warrantyType__c=="甯傚満澶氬勾淇濅慨"){
+ jjc.AgencySubtotal__c = parseFloat(jjc.AgencySubtotal__c)
+ sum = sum + jjc.AgencySubtotal__c;
+ sum=parseFloat(sum.toFixed(2));
+ }
+ if(jjc.warrantyType__c!="甯傚満澶氬勾淇濅慨"){
+ jjc.AgencySubtotal__c = parseFloat(jjc.AgencySubtotal__c)
+ sum1 = sum1 + jjc.AgencySubtotal__c;
+ sum1=parseFloat(sum1.toFixed(2));
+ }
+ });
+ if(fag){
+ return sum;
+ }else{
+ return sum1;
+ }
+}
+//鏇存敼涓�鑸姌鎵e悎鍚屼环鏍艰绠楀悎鍚屾�讳环閫昏緫
+export function GeneralDiscountContractSummaryLogic(sum,jzDataDiscountList,jzDataFixedPriceList){
+ jzDataDiscountList.forEach(jddp => {
+ var HeTongPrice = parseFloat(jddp.HeTongPrice)
+ if (jddp.HeTongPrice == undefined || jddp.HeTongPrice == "") {
+ HeTongPrice = 0;
+ }
+ sum =sum + HeTongPrice;
+ });
+ jzDataFixedPriceList.forEach(jzdfp =>{
+ var HeTongTotals = parseFloat(jzdfp.HeTongTotal)
+ if (jzdfp.HeTongTotal == undefined || jzdfp.HeTongTotal == "") {
+ HeTongTotals = 0;
+ }
+ sum =sum + HeTongTotals;
+ });
+ sum = Math.round(sum * 100) / 100;
+ return sum;
+}
+//鎶樻墸鏀跨瓥鍖归厤瑙勫垯閮ㄥ垎閫昏緫
+export function SpecialSavesChangePartLogic(jzDataDefaultList,SaveName, SelectedData, IdStr, CompareId,DefalutQuantity,newDicountData,jzDataDiscountList){
+ var NewDefaultData = [];
+ var AddProductData = [];
+ jzDataDefaultList.forEach(defaultItem => { //寰呴�変骇鍝�
+ var defaultItemTemp = {
+ ...{},
+ ...defaultItem
+ };
+ var SelectedList = SelectedData.itemss.filter(items => {
+ if (items.Id == defaultItem.Id) {
+ return true;
+ } else {
+ return false;
+ }
+ })
+ if (SelectedList != undefined && SelectedList.length > 0) {
+ var SelectedListDataTemp = {
+ ...{},
+ ...SelectedList[0]
+ };
+ SelectedListDataTemp.PromotionNo__c = SelectedData.PromotionNo__c;
+ SelectedListDataTemp.Name = SelectedData.Name;
+ SelectedListDataTemp.TypeName = "鎶樻墸鏀跨瓥";
+ SelectedListDataTemp.PromotionId = IdStr;
+ if (SaveName == "涓�鑸姌鎵�") {
+ SelectedListDataTemp.NormalDiscount__c_Input = SelectedData.NormalDiscount__c_Input;
+ } else {
+ SelectedListDataTemp.NormalDiscount__c_Input = SelectedData.NormalDiscount__c;
+ }
+ SelectedListDataTemp.GuaranteeDiscount__c_Input = SelectedData.GuaranteeDiscount__c;
+ SelectedListDataTemp.Category__c = SelectedData.Category__c;
+ SelectedListDataTemp.CompareId = CompareId;
+ SelectedListDataTemp.Quantity = SelectedListDataTemp.SplitQuantity;
+ if (defaultItemTemp.Quantity != SelectedListDataTemp.Quantity) {
+ defaultItemTemp.Quantity = defaultItemTemp.Quantity - SelectedListDataTemp.Quantity;
+ DefalutQuantity += defaultItemTemp.Quantity;
+ NewDefaultData.push(defaultItemTemp);
+ AddProductData.push(SelectedListDataTemp);
+ } else {
+ DefalutQuantity += SelectedListDataTemp.Quantity;
+ AddProductData.push(SelectedListDataTemp);
+ return
+ }
+ } else {
+ NewDefaultData.push(defaultItemTemp);
+ }
+ })
+ NewDefaultDatass=NewDefaultData;
+ AddProductDatass=AddProductData;
+ //娣诲姞鏁伴噺
+ jzDataDiscountList.forEach(disItem => { //鎶樻墸鏀跨瓥
+ var newTemp = {
+ ...{},
+ ...disItem
+ };
+ if (newTemp.Id == IdStr) {
+ newTemp.Counts = DefalutQuantity;
+ }
+ newDicountData.push(newTemp);
+ })
+ return newDicountData;
+}
+//鎶樻墸鏀跨瓥鍚堝悓浠锋牸姹囨�婚�昏緫
+export function HeTongPriceComputeLogic(jzdateList,jzDataProductList){
+ var HeTongPriceList = [];
+ jzdateList.forEach(jddp => {
+ var sum = 0;
+ var sumNor = 0;
+ var sumGua = 0;
+ var PromotionHeadRecordId = jddp.recordTypeName__c;
+ jzDataProductList.forEach(jdpd => {
+ if (PromotionHeadRecordId == "Authorizer") {
+ if (jddp.Id == jdpd.PromotionId && //鏂规Id
+ jddp.NormalDiscount__c_Input == jdpd.NormalDiscount__c_Input && //闈炲璞″搧鎶樻墸褰曞叆
+ jddp.GuaranteeDiscount__c_Input == jdpd.GuaranteeDiscount__c_Input) { //瀵硅薄鍝佹姌鎵e綍鍏�
+ if(jdpd.warrantyType__c=="甯傚満澶氬勾淇濅慨"){
+ sumGua = sumGua +jdpd.AgencySubtotal__c;
+ }else if(jdpd.warrantyType__c!="甯傚満澶氬勾淇濅慨"){
+ sumNor = sumNor +jdpd.AgencySubtotal__c;
+ }
+ sum = sum + jdpd.AgencySubtotal__c;
+ }
+ } else {
+ if (jddp.NormalDiscount__c_Input == jdpd.NormalDiscount__c_Input && //闈炲璞″搧鎶樻墸褰曞叆
+ jddp.Category__c == jdpd.Category__c) { //鎶樻墸鏀跨瓥鍒嗙被
+ sum = sum + jdpd.AgencySubtotal__c;
+ }
+ }
+ });
+ sum = Math.round(sum * 100) / 100;
+ sumGua = Math.round(sumGua * 100) / 100;
+ sumNor = Math.round(sumNor * 100) / 100;
+ jddp.HeTongPrice = sum;
+ if(PromotionHeadRecordId == "Authorizer"){
+ jddp.GuaranteeDiscount_H_Money__c = sumGua;
+ jddp.NormalDiscount_H_Money__c = sumNor;
+ }else{
+ jddp.NormalDiscount_H_Money__c = sum;
+ }
+ HeTongPriceList.push(jddp);
+ });
+ return HeTongPriceList;
+}
+//浠锋牸绛栧悎骞舵槑缁嗛�昏緫
+export function PriceConsolidation(arrSchemes,jzdataList){
+ arrSchemes.forEach(arrsch=>{
+ var Setmap=new Map();
+ var arrList=[];
+ jzdataList.forEach(jdpd=>{
+ if(arrsch.Id==jdpd.PromotionId){
+ var object={};
+ if(Setmap.has(jdpd.Id)){
+ object={...{},...Setmap.get(jdpd.Id)};
+ object.Quantity=object.Quantity+jdpd.Quantity;
+ Setmap.set(jdpd.Id,object);
+ }else{
+ Setmap.set(jdpd.Id,jdpd);
+ }
+ }else{
+ arrList.push(jdpd);
+ }
+ });
+ for (let [k, v] of Setmap) {
+ arrList.push(v);
+ }
+ jzdataList=[...[],...arrList];
+ });
+ return jzdataList;
+}
+ //鍚堝苟鎶樻墸鏀跨瓥閲嶅鏂规閫昏緫
+export function ConsolidatedDiscountPolicyLogic(SchemeSet,arr){
+ var Setmap=new Map();
+ var arr2=SchemeSet;
+ arr2.forEach(arrs=>{
+ var object={};
+ var PromotionHeadRecordId = arrs.recordTypeName__c;
+ if(PromotionHeadRecordId == "Authorizer"){
+ var key=arrs.Id+"_"+arrs.NormalDiscount__c_Input+"_"+arrs.GuaranteeDiscount__c_Input;//鏂规Id/闈炲璞″搧鎶樻墸褰曞叆/瀵硅薄鍝佹姌鎵e綍鍏�
+ if(Setmap.has(key)){
+ object={...{},...Setmap.get(key)};
+ object.determine='';
+ arrs.HeTongPrice=Number(arrs.HeTongPrice);
+ object.HeTongPrice=Number(object.HeTongPrice);
+ object.HeTongPrice +=arrs.HeTongPrice;
+ arrs.GuaranteeDiscount_H_Money__c=Number(arrs.GuaranteeDiscount_H_Money__c);
+ object.GuaranteeDiscount_H_Money__c=Number(object.GuaranteeDiscount_H_Money__c);
+ object.GuaranteeDiscount_H_Money__c +=arrs.GuaranteeDiscount_H_Money__c;
+ arrs.NormalDiscount_H_Money__c=Number(arrs.NormalDiscount_H_Money__c);
+ object.NormalDiscount_H_Money__c=Number(object.NormalDiscount_H_Money__c);
+ object.NormalDiscount_H_Money__c +=arrs.NormalDiscount_H_Money__c;
+ Setmap.set(key,object);
+ }else{
+ Setmap.set(key,arrs);
+ }
+ }else{
+ var key=arrs.NormalDiscount__c_Input+"_"+arrs.Category__c;//闈炲璞″搧鎶樻墸褰曞叆銆佹姌鎵f斂绛栧垎绫�
+ if(Setmap.has(key)){
+ object={...{},...Setmap.get(key)};
+ object.determine='';
+ arrs.HeTongPrice=Number(arrs.NormalDiscount_H_Money__c);
+ object.HeTongPrice=Number(object.HeTongPrice);
+ object.HeTongPrice +=arrs.HeTongPrice;
+ arrs.NormalDiscount_H_Money__c=Number(arrs.NormalDiscount_H_Money__c);
+ object.NormalDiscount_H_Money__c=Number(object.NormalDiscount_H_Money__c);
+ object.NormalDiscount_H_Money__c +=arrs.NormalDiscount_H_Money__c;
+
+ Setmap.set(key,object);
+ }else{
+ Setmap.set(key,arrs);
+ }
+ }
+ });
+ for (let [k, v] of Setmap) {
+ arr.push(v);
+ }
+ return arr;
+}
+//鍚堝苟鎶樻墸鏀跨瓥浜у搧鏄庣粏閫昏緫
+export function ConsolidatedDiscountDetailsLogic(arrSchemes,jzdataList){
+ arrSchemes.forEach(arrsch=>{
+ var Setmap=new Map();
+ var arrList=[];
+ jzdataList.forEach(jdpd=>{
+ var PromotionHeadRecordId = arrsch.recordTypeName__c;
+ if(PromotionHeadRecordId == "Authorizer"){
+ if(arrsch.Id==jdpd.PromotionId&&//鏂规Id
+ arrsch.NormalDiscount__c_Input==jdpd.NormalDiscount__c_Input&&//闈炲璞″搧鎶樻墸褰曞叆
+ arrsch.GuaranteeDiscount__c_Input==jdpd.GuaranteeDiscount__c_Input){//瀵硅薄鍝佹姌鎵e綍鍏�
+ var object={};
+ if(Setmap.has(jdpd.Id)){
+ object={...{},...Setmap.get(jdpd.Id)};
+ object.Quantity=object.Quantity+jdpd.Quantity;
+ Setmap.set(jdpd.Id,object);
+ }else{
+ Setmap.set(jdpd.Id,jdpd);
+ }
+ }else{
+ arrList.push(jdpd);
+ }
+ }else{
+ if(arrsch.NormalDiscount__c_Input==jdpd.NormalDiscount__c_Input&&//闈炲璞″搧鎶樻墸褰曞叆
+ arrsch.Category__c==jdpd.Category__c){//鎶樻墸鏀跨瓥鍒嗙被
+ var object={};
+ if(Setmap.has(jdpd.Id)){
+ object={...{},...Setmap.get(jdpd.Id)};
+ object.Quantity=object.Quantity+jdpd.Quantity;
+ Setmap.set(jdpd.Id,object);
+ }else{
+ Setmap.set(jdpd.Id,jdpd);
+ }
+ }else{
+ arrList.push(jdpd);
+ }
+ }
+ });
+ for (let [k, v] of Setmap) {
+ arrList.push(v);
+ }
+ jzdataList=[...[],...arrList];
+ });
+ return jzdataList;
+}
+//鍚堝苟涓婁竴娆$殑鎶ヤ环琛岀殑閫昏緫
+export function addOfferLogic(TrialLine){
+ var Offermap=new Map();
+ var arr=[];
+ var arr2=TrialLine;
+ arr2.forEach(arrs=>{
+ var object={};
+ if(Offermap.has(arrs.Id)){
+ object={...{},...Offermap.get(arrs.Id)};
+ object.Quantity=object.Quantity+arrs.Quantity;
+ Offermap.set(arrs.Id,object);
+ }else{
+ Offermap.set(arrs.Id,arrs);
+ }
+ });
+ for (let [k, v] of Offermap) {
+ arr.push(v);
+ }
+ return arr;
+}
+// ==============鐢熸垚UUID
+export function GetUUID() {
+ var s = [];
+ var hexDigits = "0123456789abcdef";
+ for (var i = 0; i < 36; i++) {
+ s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1);
+ }
+ s[14] = "4"; // bits 12-15 of the time_hi_and_version field to 0010
+ s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1); // bits 6-7 of the clock_seq_hi_and_reserved to 01
+ s[8] = s[13] = s[18] = s[23] = "-";
+ var uuid = s.join("");
+ return uuid;
+}
+//涓�鑸骇鍝侀儴鍒嗛�昏緫
+export function partGeneralDiscountLogical(itemsss,item){
+ itemsss.AgencySubtotal__c = itemsss.AgencyUnitPrice__c * itemsss.Quantity;
+ itemsss.AgencySubtotal__c = Math.round(itemsss.AgencySubtotal__c * 100) / 100;
+ itemsss.AgencyUnitPrice__c = Math.round(itemsss.AgencyUnitPrice__c * 100) / 100;
+ itemsss.NoDiscountTotal__c = itemsss.ServicePrice__c * itemsss.Quantity;
+ itemsss.UseCount__c = item.Counts;
+ itemsss.ifNecessary__c = item.ifNecessary__c;
+ itemsss.recordTypeName__c = item.recordTypeName__c;
+ return itemsss;
+}
+//淇冮攢鏂规閮ㄥ垎閫昏緫
+export function partPromotionSchemeLogical(itemsss,item,multiYearWarranty__c){
+ debugger
+ if(multiYearWarranty__c){
+ itemsss.AgencyUnitPrice__c = (item.HeTongTotal / item.Counts) * (itemsss.ListPrice / item.sumListPrice);
+ }else{
+ itemsss.AgencyUnitPrice__c = ((item.HeTongTotal / item.Counts) - item.sumNoDiscount) * (itemsss.ListPrice / item.sumListPrice) + itemsss.ServicePrice__c;
+ }
+ itemsss.AgencySubtotal__c = itemsss.AgencyUnitPrice__c * itemsss.Quantity;
+ itemsss.AgencySubtotal__c = Math.round(itemsss.AgencySubtotal__c * 100) / 100;
+ itemsss.AgencyUnitPrice__c = Math.round(itemsss.AgencyUnitPrice__c * 100) / 100;
+ itemsss.NoDiscountTotal__c = itemsss.ServicePrice__c * itemsss.Quantity;
+ itemsss.UseCount__c = item.Counts;
+ itemsss.if_Fix__c = item.if_Fix__c;
+ itemsss.if_Contain_Nod__c = item.if_Contain_Nod__c;
+ itemsss.recordTypeName__c = item.recordTypeName__c;
+ return itemsss;
+}
+//涓�鑸姌鎵h绠楅�昏緫
+export function commonlyDiscountLogic(itemss,item){
+ var Discount__c_Input = parseFloat(item.NormalDiscount__c_Input)*0.01;
+ debugger
+ itemss.AgencyUnitPrice__c = itemss.ListPrice * (Discount__c_Input) + itemss.ServicePrice__c;
+ itemss.AgencySubtotal__c = itemss.AgencyUnitPrice__c * itemss.Quantity;
+ itemss.AgencySubtotal__c = Math.round(itemss.AgencySubtotal__c * 100) / 100;
+ itemss.AgencyUnitPrice__c = Math.round(itemss.AgencyUnitPrice__c * 100) / 100;
+ itemss.NoDiscountTotal__c = itemss.ServicePrice__c * itemss.Quantity;
+ itemss.Discount__c_Input = item.NormalDiscount__c_Input;
+ itemss.Category__c=item.Category__c;
+ return itemss
+}
+//鐗圭害鎶樻墸璁$畻閫昏緫
+export function contributingDiscountLogic(itemss,Discount__c_Input,item){
+ if (itemss.warrantyType__c=="甯傚満澶氬勾淇濅慨") {
+ itemss.AgencyUnitPrice__c = (itemss.ListPrice + itemss.ServicePrice__c) * (Discount__c_Input*0.01);
+ } else {
+ itemss.AgencyUnitPrice__c = itemss.ListPrice * (Discount__c_Input*0.01) + itemss.ServicePrice__c;
+ }
+ itemss.AgencySubtotal__c = itemss.AgencyUnitPrice__c * itemss.Quantity;
+ itemss.AgencySubtotal__c = Math.round(itemss.AgencySubtotal__c * 100) / 100;
+ itemss.AgencyUnitPrice__c = Math.round(itemss.AgencyUnitPrice__c * 100) / 100;
+ itemss.NoDiscountTotal__c = itemss.ServicePrice__c * itemss.Quantity;
+ debugger
+ itemss.Discount__c_Input = Discount__c_Input+"%";
+ // itemss.Discount__c_Input = Discount__c_Input;
+ itemss.GuaranteeDiscount__c_Input=item.GuaranteeDiscount__c_Input;
+ itemss.NormalDiscount__c_Input=item.NormalDiscount__c_Input;
+ itemss.recordTypeName__c = item.recordTypeName__c;
+ return itemss
+}
+//璁$畻浠锋牸鏀跨瓥鐨勬渶澶ф鏁伴�昏緫
+export function ComputationalLogic(Pricepolicy,b,selectproducts){
+ var num=0;
+ var flag=true;
+ for(var j=0;j<b.length;j++){
+ if(b[j].Id_H==Pricepolicy.PromotionNo__c){
+ var fg=true;
+ for(var i=0;i<selectproducts.length;i++){
+ if(b[j].Asset_Model_No__c==selectproducts[i].Product2.MDM_Model_No__c){
+ var frequency = parseInt(selectproducts[i].Quantity/b[j].Quantity__c__c);
+ if(frequency<1){
+ fg=true;
+ break;
+ }else{
+ if(flag){
+ num=frequency;
+ flag=false;
+ }else{
+ if(num>frequency){
+ num=frequency;
+ }
+ }
+ }
+ fg=false;
+ }
+ }
+ if(fg){
+ num=0;
+ break;
+ }
+ }
+ }
+ var Counts = Number(Pricepolicy.Counts);
+ return Counts+num;
+}
+//鏇挎崲listprice鍗曚环閫昏緫
+export function ReplacementUnitPriceLogic(arr,ifTrade){
+ arr.forEach(jdpct => { //浜у搧鏄庣粏
+ if (ifTrade == "鍐呰部") {
+ jdpct.ListPrice = jdpct.Product2.Intra_Trade_List_RMB__c;
+ if (jdpct.multiYearWarranty__c) {
+ jdpct.ServicePrice__c = jdpct.Product2.Intra_Trade_Service_RMB__c;
+ } else {
+ jdpct.ServicePrice__c = 0;
+ }
+ } else if (ifTrade == "澶栬部") {
+ jdpct.ListPrice = jdpct.Product2.Foreign_Trade_List_US__c;
+ if (jdpct.multiYearWarranty__c) {
+ jdpct.ServicePrice__c = jdpct.Product2.NoDiscount_Foreign__c;
+ } else {
+ jdpct.ServicePrice__c = 0;
+ }
+ }
+ });
+ return arr
+}
+//鍚堝苟鏂规
+export function ConsolidationScheme(data,ParamIdStr,Trade__c){
+ var NewData = [];
+ data.forEach(itms => { //浠锋牸鏀跨瓥鍜屾姌鍜屾姌鎵f斂绛�
+ let Temp = {};
+ Temp.itemCounts = itms.Counts + "";
+ Temp.Id = itms.Id;
+ Temp.JxsType = itms.JxsType;
+ //淇冮攢鏂规
+ if (itms.JxsType != "涓�鑸姌鎵�") {
+ var PromotionHeadRecordId = itms.recordTypeName__c;
+ //tt
+ if (itms.JxsType == "鐗圭害鎶樻墸") {
+ Temp.GuaranteeDiscountcInput = parseFloat(itms.GuaranteeDiscount__c_Input);
+ Temp.GuaranteeDiscountc = parseFloat(itms.GuaranteeDiscount__c);
+ Temp.NormalDiscountc = parseFloat(itms.NormalDiscount__c);
+ Temp.NormalDiscountcInput = parseFloat(itms.NormalDiscount__c_Input);
+ }
+ }else{
+ //tt
+ Temp.NormalDiscountcInput = parseFloat(itms.NormalDiscount__c_Input);
+ }
+ if (PromotionHeadRecordId == 'Promotion') {
+ Temp.Categoryc = '淇冮攢鏂规';
+ }
+ //涓�鑸骇鍝�
+ else if (PromotionHeadRecordId == 'NormalProduct') {
+ Temp.Categoryc = '涓�鑸骇鍝�';
+ }
+ //鐗圭害鍥哄畾
+ else if (PromotionHeadRecordId == 'Authorizer') {
+ Temp.Categoryc = '缁忛攢鍟嗗浐瀹氭姌鎵�';
+ } else {
+ Temp.Categoryc = itms.Category__c;
+ }
+ Temp.PromotionNocEqual = itms.PromotionNo__cEqual;
+ Temp.typess = itms.typess;
+ Temp.PromotionNoc = itms.PromotionNo__c;
+ Temp.Name = itms.Name;
+ Temp.ParamIdStr = ParamIdStr;
+ Temp.Descriptionc = itms.Description__c;
+ Temp.ifContainNodc = itms.if_Contain_Nod__c;
+ Temp.ifFixc = itms.if_Fix__c;
+ Temp.PriceCNYc = itms.Price_CNY__c;
+ Temp.Total = itms.Total;
+
+ Temp.ListPriceTotalc = itms.sumListPrice;
+ Temp.sumNod = itms.sumNoDiscount;
+ // Temp.sumNodUSD=itms.sumNodUSD;
+ Temp.HeTongTotal = itms.HeTongTotal;
+ Temp.ifNecessaryc = itms.ifNecessary__c;
+ Temp.Trade = Trade__c;
+ Temp.maxCounts = itms.maxCounts;
+ Temp.CompareId = itms.CompareId;
+ Temp.sumNoDiscountTotal = itms.sumNoDiscountTotal;
+ Temp.GuaranteeDiscountHMoneyc = itms.GuaranteeDiscount_H_Money__c;
+ Temp.NormalDiscountHMoneyc = itms.NormalDiscount_H_Money__c;
+ //...c/compent
+ NewData.push(Temp);
+ });
+ return NewData;
+}
+//寰呴�変骇鍝佹暟鎹彉鍖栧瓧娈佃祴鍊�
+export function ProductAssignmentSelect(item){
+ item.Quantity = item.Quantity__c;
+ item.Name = item.Name__c;
+ item.Name__c = item.Name_c__c;
+ item.ListPrice = item.ListPrice__c;
+ item.Id = item.QuoteTrialKey__c;
+ item.PromotionId = item.Promotion_id__c;
+ item.TypeName = item.TypeName__c;
+ item.RecordTypeId = item.RecordTypeId__c;
+ item.ParamIdStr = item.QuantityId__c;
+ item.Product2Id = item.Product2__c;
+ item.QuiteLineitem__c = item.QuiteLineitem__c;
+ return item;
+}
+//宸查�変骇鍝佹暟鎹彉鍖栧瓧娈佃祴鍊�
+export function ProductSelected(item){
+ item.Quantity = item.Quantity__c;
+ item.Name = item.Name__c;
+ item.Name__c = item.Name_c__c;
+ item.ListPrice = item.ListPrice__c;
+ item.Id = item.QuoteTrialKey__c;
+ item.Product2Id = item.Product2__c;
+ item.Product2 = item.Product2__r;
+ if (item.Name == "涓�鑸姌鎵�") {
+ item.PromotionId = item.PromotionSales__c;
+ // item.GuaranteeDiscount__c_Input = item.GuaranteeDiscountcInput__c;
+ // item.Discount__c_Input = item.DiscountRate__c;
+ item.Discount__c_Input = item.DiscountRate__c+'%';
+ // item.NormalDiscount__c_Input = item.NormalDiscountcInput__c
+ item.NormalDiscount__c_Input = item.NormalDiscountcInput__c+'%';
+ } else {
+ item.PromotionId = item.Promotion_id__c;
+ if(item.TypeName__c != "浠锋牸鏀跨瓥"){
+ // item.GuaranteeDiscount__c_Input = item.GuaranteeDiscountcInput__c;
+ item.GuaranteeDiscount__c_Input = item.GuaranteeDiscountcInput__c+'%';
+ // item.Discount__c_Input = item.DiscountRate__c;
+ item.Discount__c_Input = item.DiscountRate__c+'%';
+ // item.NormalDiscount__c_Input = item.NormalDiscountcInput__c;
+ item.NormalDiscount__c_Input = item.NormalDiscountcInput__c+'%';
+ // item.GuaranteeDiscount__c_Input=Number(item.GuaranteeDiscount__c_Input.toFixed(2));
+ }
+ }
+ item.warrantyType__c=item.GuranteeType__c;
+ item.TypeName = item.TypeName__c;
+ item.RecordTypeId = item.RecordTypeId__c;
+ item.ParamIdStr = item.QuantityId__c;
+ item.QuiteLineitem__c = item.QuiteLineitem__c;
+ item.CompareId = item.CompareId__c;
+ // item.Discount__c_Input=Number(item.Discount__c_Input.toFixed(2));
+ // item.NormalDiscount__c_Input = item.NormalDiscountcInput__c;
+ // item.NormalDiscount__c_Input=Number(item.NormalDiscount__c_Input.toFixed(2));
+ return item;
+}
+//鎶樻墸鏂规鏁版嵁鍙樺寲瀛楁璧嬪��
+export function UnselectedScheme(items){
+ items.JxsType = items.JxsType__c;
+ // items.NormalDiscount__c_Input = items.NormalDiscount_c_Input__c;
+ items.NormalDiscount__c_Input=items.NormalDiscount_c_Input__c+'%';
+ // items.NormalDiscount__c_Input=Number(items.NormalDiscount__c_Input.toFixed(2));
+ items.TypeName = items.TypeName__c;
+ if (items.JxsType__c != "涓�鑸姌鎵�") {
+ items.Id = items.PromotionHead__c;
+ // items.NormalDiscount__c = items.NormalDiscountc__c;
+ items.NormalDiscount__c=items.NormalDiscountc__c+'%';
+ // items.NormalDiscount__c=Number(items.NormalDiscount__c.toFixed(2));
+ // items.GuaranteeDiscount__c = items.GuaranteeDiscount__c;
+ items.GuaranteeDiscount__c=items.GuaranteeDiscount__c+'%';
+ // items.GuaranteeDiscount__c=Number(items.GuaranteeDiscount__c.toFixed(2));
+ // items.GuaranteeDiscount__c_Input = items.GuaranteeDiscount_c_Input__c;
+ items.GuaranteeDiscount__c_Input=items.GuaranteeDiscount_c_Input__c+'%';
+ // items.GuaranteeDiscount__c_Input=Number(items.GuaranteeDiscount__c_Input.toFixed(2));
+
+ }
+ // else{
+ // items.NormalDiscount__c = items.NormalDiscountc__c;
+ // items.NormalDiscount__c=items.NormalDiscountc__c+'%';
+ // items.NormalDiscount__c=Number(items.NormalDiscount__c.toFixed(2));
+ // items.GuaranteeDiscount__c = items.GuaranteeDiscount__c;
+ // items.GuaranteeDiscount__c=Number(items.GuaranteeDiscount__c.toFixed(2));
+ // items.GuaranteeDiscount__c_Input = items.GuaranteeDiscount_c_Input__c;
+ // items.GuaranteeDiscount__c_Input=Number(items.GuaranteeDiscount__c_Input.toFixed(2));
+ // }
+ items.ParamIdStr = items.Quote__c;
+ items.sumNoDiscountTotal = items.sumNoDiscountTotal__c;
+ items.maxCounts = items.maxCounts__c;
+ items.CompareId = items.CompareId__c;
+ return items;
+}
+//寰幆鍒ゆ柇绌�
+export function IfCopyProperties(x){
+ debugger
+ if(x.Asset_Model_No__c==undefined){
+ x.Asset_Model_No__c='';
+ }
+ if(x.Name_c__c==undefined){
+ x.Name_c__c='';
+ }
+ if(x.Quantity__c==undefined){
+ x.Quantity__c='';
+ }
+ if(x.GuranteeType__c==undefined){
+ x.GuranteeType__c='';
+ }
+ if(x.PromotionNo__c==undefined){
+ x.PromotionNo__c='';
+ }
+ if(x.Name__c==undefined){
+ x.Name__c='';
+ }
+ if(x.ListPrice__c==undefined){
+ x.ListPrice__c='';
+ }
+ if(x.NoDiscountTotal__c==undefined){
+ x.NoDiscountTotal__c='';
+ }
+ if(x.DiscountRate__c==undefined){
+ x.DiscountRate__c='';
+ }
+ if(x.AgencyUnitPrice__c==undefined){
+ x.AgencyUnitPrice__c='';
+ }
+ if(x.AgencySubtotal__c==undefined){
+ x.AgencySubtotal__c='';
+ }
+ return x;
+}
+//浠锋牸鏂规鏁版嵁鍙樺寲瀛楁璧嬪��
+export function SelectedScheme(items){
+ items.Counts = items.itemCounts__c;
+ items.Total = items.Price_total__c;
+ items.HeTongTotal = items.contractPrice__c;
+ items.TypeName = items.TypeName__c;
+ items.Id = items.PromotionHead__c;
+ items.ParamIdStr = items.Quote__c;
+ if (items.trade__c == "鍐呰部") {
+ items.sumListPrice = items.ListPriceTotal__c;
+ items.sumNoDiscount = items.NodiscountTotal__c;
+ } else if (items.trade__c == "澶栬部") {
+ items.sumListPrice = items.ListPriceTotalUSD__c;
+ items.sumNoDiscount = items.NodiscountTotalUSD__c;
+ }
+ items.sumNoDiscountTotal = items.sumNoDiscountTotal__c;
+ items.maxCounts = items.maxCounts__c;
+ return items;
+}
+
+//鍚堝苟浜у搧
+export function MergeProducts(arr3,arr4,data,ParamIdStr){
+ var NewData1 = [];
+ var newTemp3 = [];
+ arr3.forEach(itmsss => { //浜у搧鏄庣粏
+ var itemTemp = {
+ ...{},
+ ...itmsss
+ };
+ // itemTemp.鍒嗙被鍚嶇О锛堟牴鎹� 浜у搧鐘舵�� 1锛� 0鏈尮閰� 2锛�1浠ュ尮閰嶏級
+ itemTemp.ismatch = '1';
+ newTemp3.push(itemTemp);
+ });
+ var newTemp4 = [];
+ arr4.forEach(itmsss => { //寰呴�変骇鍝�
+ var itemTemp = {
+ ...{},
+ ...itmsss
+ };
+ // itemTemp.鍒嗙被鍚嶇О锛堟牴鎹� 浜у搧鐘舵�� 1锛� 0鏈尮閰� 2锛�1浠ュ尮閰嶏級
+ itemTemp.ismatch = '0';
+ newTemp4.push(itemTemp);
+ });
+ var data2 = [...newTemp3, ...newTemp4];
+ data2.forEach(itmss => { //浜у搧鏄庣粏鍜屽緟閫変骇鍝�
+ let Temp1 = {};
+ Temp1.Id = itmss.Id;
+ Temp1.AssetModelNoc = itmss.Asset_Model_No__c;
+ Temp1.Namec = itmss.Name__c;
+ Temp1.Quantity = itmss.Quantity;
+ Temp1.GuranteeTypec = itmss.warrantyType__c;
+ Temp1.PromotionNoc = itmss.PromotionNo__c;
+ Temp1.Name = itmss.Name;
+ Temp1.ListPrice = itmss.ListPrice;
+ Temp1.AgencyUnitPricec = itmss.AgencyUnitPrice__c;
+ Temp1.AgencySubtotalc = itmss.AgencySubtotal__c;
+ Temp1.NoDiscountTotalc = itmss.NoDiscountTotal__c;
+ Temp1.ParamIdStr =ParamIdStr;
+ Temp1.TypeName = itmss.TypeName;
+ Temp1.UseCountc = itmss.UseCount__c;
+ if (itmss.TypeName == "浠锋牸鏀跨瓥") {
+ data.forEach(itemsss => {
+ if (itemsss.PromotionNo__c == itemsss.PromotionNo__c) {
+ Temp1.fanan_id = itemsss.Id;
+ }
+ });
+ } else if (itmss.TypeName == "鎶樻墸鏀跨瓥") {
+ data.forEach(itemss => {
+ if (itemss.PromotionNo__c == itemss.PromotionNo__c) {
+ Temp1.fanan_id = itemss.Id;
+ }
+ });
+
+ Temp1.DiscountcInput = parseFloat(itmss.Discount__c_Input);
+ if(itmss.Name=="涓�鑸姌鎵�"){
+ Temp1.NormalDiscountcInput = parseFloat(itmss.NormalDiscount__c_Input);
+ }else{
+ Temp1.GuaranteeDiscountcInput = parseFloat(itmss.GuaranteeDiscount__c_Input);
+ Temp1.NormalDiscountcInput = parseFloat(itmss.NormalDiscount__c_Input);
+ }
+ }
+ Temp1.ismatch = itmss.ismatch;
+ Temp1.PromotionId = itmss.PromotionId;
+ Temp1.Product2c = itmss.Product2Id;
+ Temp1.ServicePricec = itmss.ServicePrice__c;
+ Temp1.ifFixc = itmss.if_Fix__c;
+ Temp1.ifNecessaryc = itmss.ifNecessary__c;
+ Temp1.CompareId = itmss.CompareId;
+ Temp1.multiYearWarrantyc = itmss.multiYearWarranty__c;
+ Temp1.Categoryc = itmss.Category__c;
+
+ NewData1.push(Temp1);
+ });
+ return NewData1;
+}
+// //鏂规闇�瑕佹洿鏂扮殑瀛楁
+export function ChangeFiexedData(key) {
+ var keyArr = ['Status__c', 'ifNecessary__c', 'OrderNo__c', 'Price_CNY__c', 'Price_USD__c'];
+ var flag = false;
+ keyArr.forEach(item => {
+ if (item == key) {
+ flag = true;
+ }
+ })
+ return flag;
+}
+export function getQueryVariable(variable) { //id瀛楃涓�
+ 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);
+}
+//璺宠浆璺緞
+export function PathJump(DeveloperName,ParamIdStr){
+ if(DeveloperName=='Opportunity'){
+ // 娴嬭瘯闈炲畬鏁磋矾寰勬槸涓嶆槸鍙互姝g‘璺宠浆
+ window.open('/apex/NewQuoteEntry?id=' + ParamIdStr, '_self');
+ }else if(DeveloperName=='SI_Oppor'){
+ // 娴嬭瘯闈炲畬鏁磋矾寰勬槸涓嶆槸鍙互姝g‘璺宠浆
+ window.open('/apex/SI_NewQuoteEntry?id=' + ParamIdStr, '_self');
+ }
+}
+//璁$畻杩囧悗涓�鑸姌鎵g殑鍚堝悓浠锋牸
+export function ContractPriceComputeReverse(DataDiscount){
+ var sum=0;
+ DataDiscount.forEach(jjc => {
+ jjc.AgencySubtotal__c = parseFloat(jjc.AgencySubtotal__c)
+ sum = sum + jjc.AgencySubtotal__c;
+ });
+ sum=sum.toFixed(2);
+ return sum;
+}
+//澶嶅埗閫昏緫
+export function copyLogic(Check_Your_Clipboard,records,x,targetString,reslut){
+ records=reslut;
+ for (var i = 0; i < records.length; i++) {
+ x = records[i];
+ //鍒ゆ柇绌�
+ x=IfCopyProperties(x);
+ targetString += '\r\n' + x. Asset_Model_No__c + '\t' + x.Name_c__c + '\t' + x.Quantity__c + '\t' + x.GuranteeType__c + '\t' + x.PromotionNo__c +'\t' + x.Name__c + '\t' + x.ListPrice__c + '\t' + x.NoDiscountTotal__c + '\t' + x.DiscountRate__c +
+ '\t' + x.AgencyUnitPrice__c + '\t' + x.AgencySubtotal__c ;
+ console.warn(x.PromotionNo__c);
+ }
+ try {
+ console.warn(targetString);
+ var tag = document.createElement('textarea');
+ tag.setAttribute('id', 'cp_hgz_textarea');
+ var strlenght=targetString.replace(/[\u0000-\u007f]/g,"a").replace(/[\u0080-\u07ff]/g,"aa").replace(/[\u0800-\uffff]/g,"aaa").length;
+ tag.maxLength=strlenght+666;
+ tag.value = targetString;
+ document.getElementsByTagName('body')[0].appendChild(tag);
+ document.getElementById('cp_hgz_textarea').select();
+ document.execCommand('copy');
+ document.getElementById('cp_hgz_textarea').remove();
+ alert(Check_Your_Clipboard);
+ } catch (error) {
+ alert(error);
+ }
+}
+//涓�鑸姌鎵f洿鏀硅繃鍚堝悓浠锋牸璁$畻閫昏緫
+export function updateCDLogic(Id,JxsType,GuaranteeDiscount__c_Input,NormalDiscount__c_Input,Category__c,jzDataDiscount,arrProductTemp){
+ var newArrsTempplus1=[];
+ var newArrsTempplus2=[];
+ var jzDataProductlast=[];
+ jzDataDiscount.forEach(item=>{
+ if(JxsType=="鐗圭害鎶樻墸"){
+ if(item.JxsType=="鐗圭害鎶樻墸"){
+ if (Id == item.Id) {
+ if (NormalDiscount__c_Input == item.NormalDiscount__c_Input && //闈炲璞″搧鎶樻墸褰曞叆
+ GuaranteeDiscount__c_Input == item.GuaranteeDiscount__c_Input) { //瀵硅薄鍝佹姌鎵e綍鍏�
+ arrProductTemp.forEach(itemss => { //itemss浜у搧鏄庣粏
+ var Discount__c_Input = 0;
+ if (itemss.warrantyType__c=="甯傚満澶氬勾淇濅慨") {
+ Discount__c_Input = item.GuaranteeDiscount__c_Input;
+ Discount__c_Input = parseFloat(Discount__c_Input);
+ } else {
+ Discount__c_Input = item.NormalDiscount__c_Input;
+ Discount__c_Input = parseFloat(Discount__c_Input);
+ }
+ debugger
+ if (itemss.PromotionId == item.Id && //鏂规Id
+ itemss.GuaranteeDiscount__c_Input == item.GuaranteeDiscount__c_Input && //瀵硅薄鍝佹姌鎵e綍鍏�
+ itemss.NormalDiscount__c_Input == item.NormalDiscount__c_Input) { //闈炲璞″搧鎶樻墸褰曞叆
+ itemss = contributingDiscountLogic(itemss, Discount__c_Input, item); //鐗圭害鎶樻墸璁$畻閫昏緫
+ newArrsTempplus1.push(itemss);
+ } else if (itemss.PromotionId != item.Id ||
+ itemss.GuaranteeDiscount__c_Input != item.GuaranteeDiscount__c_Input ||
+ itemss.NormalDiscount__c_Input != item.NormalDiscount__c_Input) {
+ newArrsTempplus2.push(itemss);
+ }
+ });
+ var newArrsplusG=[];
+ var newArrsplusN=[];
+ newArrsTempplus1.forEach(ntp=>{
+ if(ntp.warrantyType__c=="甯傚満澶氬勾淇濅慨"){
+ newArrsplusG.push(ntp);
+ }else if(ntp.warrantyType__c!="甯傚満澶氬勾淇濅慨"){
+ newArrsplusN.push(ntp);
+ }
+ });
+ if(newArrsplusG.length!=0){
+ var yibanSumG = SpecialPriceComputeReverse(newArrsTempplus1,true);
+ var chazhiG=(Number(item.GuaranteeDiscount_H_Money__c)*100-Number(yibanSumG)*100)/100;
+ var dangechazhiG=Math.round((chazhiG/newArrsplusG[0].Quantity) * 100) / 100;
+ newArrsplusG[0].AgencySubtotal__c =newArrsplusG[0].AgencySubtotal__c+chazhiG;
+ newArrsplusG[0].AgencyUnitPrice__c =newArrsplusG[0].AgencyUnitPrice__c+dangechazhiG;
+ }
+ if(newArrsplusN.length!=0){
+ var yibanSumN = SpecialPriceComputeReverse(newArrsTempplus1,false);
+ var chazhiN=(Number(item.NormalDiscount_H_Money__c)*100-Number(yibanSumN)*100)/100;
+ var dangechazhiN=Math.round((chazhiN/newArrsplusN[0].Quantity) * 100) / 100;
+ newArrsplusN[0].AgencySubtotal__c =newArrsplusN[0].AgencySubtotal__c+chazhiN;
+ newArrsplusN[0].AgencyUnitPrice__c =newArrsplusN[0].AgencyUnitPrice__c+dangechazhiN;
+ }
+ newArrsTempplus1=[...newArrsplusG,...newArrsplusN];
+ jzDataProductlast = [...newArrsTempplus1,...newArrsTempplus2];
+ }
+ }
+ }
+ }else if(JxsType=="涓�鑸姌鎵�"){
+ if(item.JxsType=="涓�鑸姌鎵�"){
+ if (NormalDiscount__c_Input == item.NormalDiscount__c_Input &&
+ Category__c == item.Category__c){
+ arrProductTemp.forEach(itemss => { //itemss浜у搧鏄庣粏
+ if (itemss.NormalDiscount__c_Input == NormalDiscount__c_Input &&
+ itemss.Category__c == Category__c) {
+ itemss = commonlyDiscountLogic(itemss, item); //涓�鑸姌鎵h绠楅�昏緫
+ newArrsTempplus1.push(itemss);
+ } else if (itemss.Category__c != Category__c ||
+ itemss.NormalDiscount__c_Input != NormalDiscount__c_Input) {
+ newArrsTempplus2.push(itemss);
+ }
+ });
+ var yibanSum = ContractPriceComputeReverse(newArrsTempplus1);//璁$畻杩囧悗涓�鑸姌鎵g殑鍚堝悓浠锋牸
+ var chazhi=(Number(item.NormalDiscount_H_Money__c)*100-Number(yibanSum)*100)/100;
+ 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];
+ }
+ }
+ }
+ });
+ return jzDataProductlast;
+}
+
+export function countListAndNodLogic(ifTrade,copydate,item,result,DeftCopyQtyList){
+ var ListPrices = 0;
+ var Nodiscounts = 0;
+ result.forEach(itemss => { //鏂规涓绘暟鎹叧鑱旂殑浜у搧
+ copydate.forEach(jddc => { //鎶ヤ环琛岄」鐩富鏁版嵁
+ if (itemss.Asset_Model_No__c == jddc.Product2.MDM_Model_No__c) {
+ if (ifTrade == "鍐呰部") {
+ ListPrices += itemss.Quantity__c * jddc.Product2.Intra_Trade_List_RMB__c;
+ Nodiscounts += itemss.Quantity__c * jddc.Product2.Intra_Trade_Service_RMB__c;
+ } else if (ifTrade == "澶栬部") {
+ ListPrices += itemss.Quantity__c * jddc.Product2.Foreign_Trade_List_US__c;
+ Nodiscounts += itemss.Quantity__c * jddc.Product2.NoDiscount_Foreign__c;
+ }
+ var fl = true;
+ if (DeftCopyQtyList.length == 0) {
+ DeftCopyQtyList.push({
+ Asset_Model_No__c: itemss.Asset_Model_No__c,
+ Quantity__c__c: itemss.Quantity__c,
+ Id_H: item.PromotionNo__c
+ });
+ } else {
+ DeftCopyQtyList.forEach(jdcql => { //淇濆瓨鏂规鍏宠仈浜у搧鏁伴噺
+ if (itemss.Asset_Model_No__c == jdcql.Asset_Model_No__c && jdcql.Id_H == item.PromotionNo__c) {
+ fl = false;
+ }
+ });
+ if (fl) {
+ DeftCopyQtyList.push({
+ Asset_Model_No__c: itemss.Asset_Model_No__c,
+ Quantity__c__c: itemss.Quantity__c,
+ Id_H: item.PromotionNo__c
+ });
+ }
+ }
+ }
+ });
+ });
+ item.sumListPrice = ListPrices;
+ item.sumNoDiscount = Nodiscounts;
+ DeftCopyQtyLists=DeftCopyQtyList;
+ return item;
+}
+export const initDataTableProduct2 = {
+ columns: [{
+ label: '浜у搧鍨嬪彿',
+ fieldName: 'Asset_Model_No__c',
+ sortable: true,
+ typeAttributes: {
+
+ },
+ cellAttributes: {
+ alignment: 'center'
+ }
+ },
+ {
+ label: '浜у搧鍚嶇О',
+ fieldName: 'Name__c',
+ sortable: true,
+ initialWidth: 205
+ },
+ {
+ label: '鏁伴噺',
+ fieldName: 'Quantity',
+ type: 'number',
+ sortable: true,
+ cellAttributes: {
+ alignment: 'center'
+ },
+ initialWidth: 88
+ },
+ {
+ label: '淇濅慨绫诲瀷',
+ fieldName: 'warrantyType__c',
+ sortable: true,
+ cellAttributes: {
+ alignment: 'center'
+ }
+ },
+ {
+ label: '鏂规浠g爜',
+ fieldName: 'PromotionNo__c',
+ sortable: true,
+ cellAttributes: {
+ alignment: 'center'
+ }
+ },
+ {
+ label: '淇冮攢鏂规鍚嶇О/浜у搧绯诲垪',
+ fieldName: 'Name',
+ sortable: true,
+ initialWidth: 124
+ },
+ {
+ label: '涓绘姤浠�',
+ fieldName: 'ListPrice',
+ type: 'number',
+ sortable: true,
+ cellAttributes: {
+ alignment: 'center'
+ }
+ },
+ {
+ label: '澶氬勾淇濅环鏍煎皬璁�',
+ fieldName: 'NoDiscountTotal__c',
+ type: 'number',
+ sortable: true,
+ cellAttributes: {
+ alignment: 'center'
+ }
+ },
+ {
+ label: '鎶樻墸',
+ fieldName: 'Discount__c_Input',
+ sortable: true,
+ cellAttributes: {
+ alignment: 'center'
+ }
+ },
+ {
+ label: '鍚堝悓鍗曚环',
+ fieldName: 'AgencyUnitPrice__c',
+ type: 'number',
+ sortable: true,
+ cellAttributes: {
+ alignment: 'center'
+ },
+ typeAttributes: {
+ minimumFractionDigits: '2',
+ maximumFractionDigits: '2'
+ }
+ },
+ {
+ label: '鍚堝悓鎬讳环',
+ fieldName: 'AgencySubtotal__c',
+ type: 'number',
+ sortable: true,
+ cellAttributes: {
+ alignment: 'center'
+ },
+ typeAttributes: {
+ minimumFractionDigits: '2',
+ maximumFractionDigits: '2'
+ }
+ },
+
+
+ ],
+ sortInterfaces: false,
+ searchColumns:initSearchFormProduct
+}
+
+export const initSearchForm2 = [{
+ label: "鏂规浠g爜",
+ type: "text",
+ name: "PromotionNo__cEqual",
+ isInput: true
+},
+{
+ label: "鍚嶇О",
+ type: "text",
+ name: "NameLike",
+ isInput: true
+}
+]
+
+export const initDataTable2 = {
+ columns: [{
+ label: '鏂规浠g爜',
+ fieldName: 'PromotionNo__c',
+ sortable: true,
+ cellAttributes: {
+ alignment: 'center'
+ }
+ },
+ {
+ label: '鍚嶇О',
+ fieldName: 'Name',
+ sortable: true,
+ cellAttributes: {
+ alignment: 'center'
+ },
+ initialWidth: 300
+ },
+ {
+ label: '鎻忚堪',
+ fieldName: 'Description__c',
+ sortable: true,
+ cellAttributes: {
+ alignment: 'center'
+ },
+ initialWidth: 300
+ },
+ {
+ label: '淇冮攢浠锋牸',
+ fieldName: 'Price_CNY__c',
+ type: 'number',
+ sortable: true,
+ cellAttributes: {
+ alignment: 'center'
+ },
+ initialWidth: 200
+ },
+ {
+ label: '鏄惁鍖呭惈澶氬勾淇濅慨浠锋牸',
+ fieldName: 'if_Contain_Nod__c',
+ sortable: true,
+ type: 'boolean',
+ cellAttributes: {
+ alignment: 'center'
+ },
+ initialWidth: 200
+ },
+ {
+ label: '鏄惁鍥哄畾鏁伴噺',
+ type: 'boolean',
+ fieldName: 'if_Fix__c',
+ sortable: true,
+ cellAttributes: {
+ alignment: 'center'
+ },
+ initialWidth: 200
+ },
+ ],
+ sortInterfaces: false,
+ searchColumns: initSearchForm2
+}
+export const initSearchFormFix2 = [{
+ label: "鏂规浠g爜",
+ type: "text",
+ name: "PromotionNo__cEqual",
+ isInput: true
+},
+{
+ label: "鍚嶇О",
+ type: "text",
+ name: "NameLike",
+ isInput: true
+}
+]
+export const initDataTableFix2 = {
+ columns: [{
+ label: '鏂规浠g爜',
+ fieldName: 'PromotionNo__c',
+ sortable: true,
+ cellAttributes: {
+ alignment: 'center'
+ }
+ },
+ {
+ label: '鍚嶇О',
+ fieldName: 'Name',
+ sortable: true,
+ cellAttributes: {
+ alignment: 'center'
+ },
+ initialWidth: 351
+ },
+ {
+ label: '鎻忚堪',
+ fieldName: 'Description__c',
+ sortable: true,
+ cellAttributes: {
+ alignment: 'center'
+ },
+ initialWidth: 327
+ },
+ {
+ label: '淇冮攢浠锋牸',
+ fieldName: 'Price_CNY__c',
+ type: 'number',
+ sortable: true,
+ cellAttributes: {
+ alignment: 'center'
+ }
+ },
+ {
+ label: '鏄惁鍖呭惈澶氬勾淇濅慨浠锋牸',
+ fieldName: 'if_Contain_Nod__c',
+ type: 'boolean',
+ sortable: true,
+ cellAttributes: {
+ alignment: 'center'
+ }
+ },
+ {
+ label: '鏄惁鍥哄畾鏁伴噺',
+ fieldName: 'if_Fix__c',
+ type: 'boolean',
+ sortable: true,
+ cellAttributes: {
+ alignment: 'center'
+ }
+ }
+ ],
+ sortInterfaces: false,
+ searchColumns: initSearchFormFix2
+}
+export const initSearchFormDefalt2 = [{
+ label: "浜у搧鍨嬪彿",
+ type: "text",
+ name: "Asset_Model_No__c",
+ isInput: true
+},
+{
+ label: "浜у搧鍚嶇О",
+ type: "text",
+ name: "Name__c",
+ isInput: true
+}
+]
+export const initDataTableDefault2 = {
+ columns: [{
+ label: '浜у搧鍨嬪彿',
+ fieldName: 'Asset_Model_No__c',
+ sortable: true
+ },
+ {
+ label: '浜у搧鍚嶇О',
+ fieldName: 'Name__c',
+ sortable: true,
+ cellAttributes: {
+ alignment: 'center'
+ },
+ initialWidth: 251
+ },
+ {
+ label: '鏁伴噺',
+ fieldName: 'Quantity',
+ type: 'number',
+ sortable: true,
+ cellAttributes: {
+ alignment: 'center'
+ }
+ },
+ {
+ label: '淇濅慨绫诲瀷',
+ fieldName: 'warrantyType__c',
+ sortable: true,
+ cellAttributes: {
+ alignment: 'center'
+ }
+ },
+ {
+ label: '涓绘姤浠�',
+ fieldName: 'ListPrice',
+ type: 'number',
+ sortable: true,
+ cellAttributes: {
+ alignment: 'center'
+ }
+ },
+ {
+ label: '澶氬勾淇濅环鏍煎皬璁�',
+ fieldName: 'NoDiscountTotal__c',
+ type: 'number',
+ sortable: true,
+ cellAttributes: {
+ alignment: 'center'
+ }
+ },
+
+ ],
+ sortInterfaces: false,
+ searchColumns: initSearchFormDefalt2
+}
+export const initSearchFormFixedPrice2 = [{
+ label: "浜у搧鍨嬪彿",
+ type: "text",
+ name: "Asset_Model_No__c",
+ isInput: true
+},
+{
+ label: "浜у搧鍚嶇О",
+ type: "text",
+ name: "Name__c",
+ isInput: true
+}
+]
+export const initDataTableFixedPrice2 = {
+ columns: [{
+ label: '鏂规浠g爜',
+ fieldName: 'PromotionNo__c',
+ sortable: true,
+ cellAttributes: {
+ alignment: 'center'
+ }
+ },
+ {
+ label: '淇冮攢鏂规鍚嶇О/浜у搧绯诲垪',
+ fieldName: 'Name',
+ sortable: true,
+ initialWidth: 196
+ },
+ {
+ label: '鏂规鎻忚堪',
+ fieldName: 'Description__c',
+ sortable: true,
+ initialWidth: 105
+ },
+ {
+ label: '鍒嗙被',
+ fieldName: 'Category__c',
+ sortable: true,
+ cellAttributes: {
+ alignment: 'center'
+ }
+ },
+ {
+ label: '鏄惁鍖呭惈澶氬勾淇濅慨浠锋牸',
+ fieldName: 'if_Contain_Nod__c',
+ type: 'boolean',
+ sortable: true,
+ cellAttributes: {
+ alignment: 'center'
+ }
+ },
+ {
+ label: '鏄惁鍥哄畾鏁伴噺',
+ fieldName: 'if_Fix__c',
+ type: 'boolean',
+ sortable: true,
+ cellAttributes: {
+ alignment: 'center'
+ }
+ },
+ {
+ label: '淇冮攢鍗曚环',
+ fieldName: 'Price_CNY__c',
+ type: 'number',
+ sortable: true,
+ cellAttributes: {
+ alignment: 'center'
+ }
+ },
+ {
+ label: '娆℃暟',
+ fieldName: 'Counts',
+ type: 'number',
+ sortable: true,
+ cellAttributes: {
+ class: {},
+ alignment: 'center'
+ },
+ editable: false
+ },
+ {
+ label: '澶氬勾淇濅环鏍煎悎璁�',
+ fieldName: 'sumNoDiscountTotal',
+ type: 'number',
+ sortable: true,
+ cellAttributes: {
+ alignment: 'center'
+ }
+ },
+ {
+ label: '淇冮攢鎬讳环',
+ fieldName: 'Total',
+ type: 'number',
+ sortable: true,
+ cellAttributes: {
+ alignment: 'center'
+ }
+ },
+ {
+ label: '鍚堝悓浠锋牸',
+ fieldName: 'HeTongTotal',
+ type: 'number',
+ sortable: true,
+ cellAttributes: {
+ class: {},
+ alignment: 'center'
+ },
+ editable: false,
+ initialWidth: 100
+ },
+
+ ],
+ sortInterfaces: [],
+ searchColumns: initSearchFormFixedPrice2
+}
+export const initSearchFormDiscount2 = []
+export const initDataTableDiscount2 = {
+ columns: [{
+ label: '缁忛攢鍟嗗垎绫�',
+ fieldName: 'JxsType',
+ sortable: true,
+ cellAttributes: {
+ alignment: 'center'
+ }
+ },
+ {
+ label: '鍒嗙被',
+ fieldName: 'Category__c',
+ sortable: true,
+ cellAttributes: {
+ alignment: 'center'
+ }
+ },
+ // {
+ // label: '瀵硅薄鍝佹姌鎵�',
+ // fieldName: 'GuaranteeDiscount__c',
+ // sortable: true,
+ // cellAttributes: {
+ // alignment: 'center'
+ // }
+ // },
+ // {
+ // label: '闈炲璞″搧鎶樻墸',
+ // fieldName: 'NormalDiscount__c',
+ // sortable: true,
+ // cellAttributes: {
+ // alignment: 'center'
+ // }
+ // },
+ {
+ label: '瀵硅薄鍝佹姌鎵�',
+ fieldName: 'GuaranteeDiscount__c_Input',
+ editable: false,
+ cellAttributes: {
+ class: {},
+ alignment: 'center'
+ },
+ },
+ {
+ label: '瀵硅薄鍝佸悎鍚岄噾棰�',
+ fieldName: 'GuaranteeDiscount_H_Money__c',
+ type: 'number',
+ editable: false,
+ cellAttributes: {
+ class: {},
+ alignment: 'center'
+ },
+ typeAttributes: {
+ minimumFractionDigits: '2',
+ maximumFractionDigits: '2'
+ }
+ },
+ {
+ label: '闈炲璞″搧鎶樻墸',
+ fieldName: 'NormalDiscount__c_Input',
+ editable: false,
+ cellAttributes: {
+ class: {},
+ alignment: 'center'
+ },
+ },
+ {
+ label: '闈炲璞″搧鍚堝悓閲戦',
+ fieldName: 'NormalDiscount_H_Money__c',
+ type: 'number',
+ editable: false,
+ cellAttributes: {
+ class: {},
+ alignment: 'center'
+ },
+ typeAttributes: {
+ minimumFractionDigits: '2',
+ maximumFractionDigits: '2'
+ }
+ },
+ {
+ label: '鍚堝悓浠锋牸',
+ fieldName: 'HeTongPrice',
+ type: 'number',
+ editable: false,
+ cellAttributes: {
+ class: {},
+ alignment: 'center'
+ },
+ typeAttributes: {
+ minimumFractionDigits: '2',
+ maximumFractionDigits: '2'
+ }
+ }
+ ],
+ sortInterfaces: [],
+ searchColumns: initSearchFormDiscount2
+}
+export const initSearchFormSpecial2 = []
+export const initDataTableSpecial2 = {
+ columns: [{
+ label: '缂栫爜',
+ fieldName: 'PromotionNo__c',
+ sortable: true,
+ cellAttributes: {
+ alignment: 'center'
+ }
+ },
+ {
+ label: '鍗忚浜у搧',
+ fieldName: 'Department__c',
+ sortable: true,
+ cellAttributes: {
+ alignment: 'center'
+ }
+ },
+ {
+ label: '瀵硅薄鍝佹姌鎵�',
+ fieldName: 'GuaranteeDiscount__c',
+ sortable: true,
+ cellAttributes: {
+ alignment: 'center'
+ }
+ },
+ {
+ label: '闈炲璞″搧鎶樻墸',
+ fieldName: 'NormalDiscount__c',
+ sortable: true,
+ cellAttributes: {
+ alignment: 'center'
+ }
+ },
+ {
+ label: '鍗忚缂栫爜',
+ fieldName: 'Contract__c',
+ sortable: true,
+ cellAttributes: {
+ alignment: 'center'
+ }
+ },
+ {
+ label: '缁忛攢鍟�',
+ fieldName: 'Agency__Name',
+ sortable: true,
+ cellAttributes: {
+ alignment: 'center'
+ }
+ },
+ ],
+ sortInterfaces: false,
+ searchColumns: initSearchFormSpecial2
+}
+export const initSearchFormOtherData2 = []
+export const initDataTableOtherData2 = {
+ columns: [{
+ label: '浜у搧鍨嬪彿',
+ fieldName: 'Asset_Model_No__c',
+ sortable: true,
+ typeAttributes: {
+ },
+ cellAttributes: {
+ alignment: 'center'
+ }
+ },
+ {
+ label: '浜у搧鍚嶇О',
+ fieldName: 'Name__c',
+ sortable: true,
+
+ initialWidth: 268
+ },
+ {
+ label: '鏁伴噺',
+ fieldName: 'Quantity',
+ type: 'number',
+ sortable: true,
+ cellAttributes: {
+ alignment: 'center'
+ }
+ },
+ {
+ label: '浣跨敤鏁伴噺',
+ fieldName: 'SplitQuantity',
+ type: 'number',
+ sortable: true,
+ cellAttributes: {
+ alignment: 'center',
+ class: {}
+ },
+ editable: false
+ },
+ {
+ label: '淇濅慨绫诲瀷',
+ fieldName: 'warrantyType__c',
+ sortable: true,
+ cellAttributes: {
+ alignment: 'center'
+ }
+ },
+ {
+ label: '涓绘姤浠�',
+ fieldName: 'ListPrice',
+ type: 'number',
+ sortable: true,
+ cellAttributes: {
+ alignment: 'center'
+ }
+ },
+ {
+ label: '澶氬勾淇濅环鏍煎皬璁�',
+ fieldName: 'NoDiscountTotal__c',
+ type: 'number',
+ sortable: true,
+ cellAttributes: {
+ alignment: 'center'
+ }
+ },
+ ],
+ sortInterfaces: false,
+ searchColumns: initSearchFormOtherData2
+}
+export const initSearchFormCommonly2 = [{
+ label: "鏂规浠g爜",
+ type: "text",
+ name: "PromotionNo__cEqual",
+ isInput: true
+},
+{
+ label: "鍚嶇О",
+ type: "text",
+ name: "NameLike",
+ isInput: true
+}
+]
+export const initDataTableCommonly2 = {
+ columns: [{
+ label: '浜у搧鍨嬪彿',
+ fieldName: 'Asset_Model_No__c',
+ sortable: true,
+ typeAttributes: {
+ },
+ cellAttributes: {
+ alignment: 'center'
+ }
+ },
+ {
+ label: '浜у搧鍚嶇О',
+ fieldName: 'Name__c',
+ sortable: true,
+ cellAttributes: {
+ alignment: 'center'
+ },
+ initialWidth: 268
+ },
+ {
+ label: '鏁伴噺',
+ fieldName: 'Quantity',
+ type: 'number',
+ sortable: true,
+ cellAttributes: {
+ alignment: 'center'
+ }
+ },
+ {
+ label: '浣跨敤鏁伴噺',
+ fieldName: 'SplitQuantity',
+ type: 'number',
+ sortable: true,
+ cellAttributes: {
+ alignment: 'center',
+ class: {}
+ },
+ editable: false
+ },
+ {
+ label: '淇濅慨绫诲瀷',
+ fieldName: 'warrantyType__c',
+ sortable: true,
+ cellAttributes: {
+ alignment: 'center'
+ }
+ },
+ {
+ label: '涓绘姤浠�',
+ fieldName: 'ListPrice',
+ type: 'number',
+ sortable: true,
+ cellAttributes: {
+ alignment: 'center'
+ }
+ },
+ {
+ label: '澶氬勾淇濅环鏍煎皬璁�',
+ fieldName: 'NoDiscountTotal__c',
+ type: 'number',
+ sortable: true,
+ cellAttributes: {
+ alignment: 'center'
+ }
+ },
+
+ ],
+ sortInterfaces: false,
+ searchColumns: initSearchFormCommonly2
+}
\ No newline at end of file
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/relevant/relevant.css b/force-app/main/default/lwc/relevant/relevant.css
new file mode 100644
index 0000000..a3bd0ab
--- /dev/null
+++ b/force-app/main/default/lwc/relevant/relevant.css
@@ -0,0 +1,3 @@
+.slds-checkbox{
+ display : inline-block !important;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/relevant/relevant.html b/force-app/main/default/lwc/relevant/relevant.html
new file mode 100644
index 0000000..5192191
--- /dev/null
+++ b/force-app/main/default/lwc/relevant/relevant.html
@@ -0,0 +1,196 @@
+<template>
+ <div style="padding:30px">
+
+ <div class="exampleHolder" if:true={IsLoading}>
+ <lightning-spinner alternative-text="Loading" size="large"></lightning-spinner>
+ </div>
+ <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>
+ </div>
+ </div>
+
+
+ <div class={xgxLy} style="width: 495px;padding:1px">
+ <!-- <label class="slds-form-element__label" for="select-01">鏄惁鏈夊叧鑱�:</label>
+ <select class="slds-select" onchange={handleRelationFn}>
+ <option value={InspectData.IsRelateProject__c}> {InspectData.IsRelateProject__c} </option>
+ <option value="">閫夋嫨</option>
+ <option>鏄�</option>
+ <option>鍚�</option>
+ </select>
+ <div class="slds-form-element__help" id="error-03" if:true={xgxLyFlag}>璇烽�夋嫨鏄惁鏈夊叧鑱�</div> -->
+
+ <lightning-combobox
+ name="progress"
+ label="鏄惁鏈夊叧鑱�"
+ value={InspectData.IsRelateProject__c}
+ placeholder="璇烽�夋嫨鏄惁鏈夊叧鑱�"
+ options={RelateOption}
+ onchange={handleRelationFn}
+ disabled={xgxLyDisabled}></lightning-combobox>
+ <div style="font-size:10px;color:red" if:true={xgxLyFlag}>璇烽�夋嫨鏄惁鏈夊叧鑱�</div>
+ </div>
+
+
+ <div class={bxgLy} if:true={isFou}>
+ <!-- <label class="slds-form-element__label" for="select-02">涓嶇浉鍏崇悊鐢�:</label>
+ <select class="slds-select" onchange={handleIrrelevantFn} >
+ <option value={InspectData.irrelevantReasons__c}>{InspectData.irrelevantReasons__c}</option>
+ <option value="">閫夋嫨</option>
+ <template for:each={IrrelevantReasons} for:item="item">
+ <option key={item.label}>{item.label}</option>
+ </template>
+ </select>
+ <div class="slds-form-element__help" id="error-01" if:true={bxgLyFlag}>璇烽�夋嫨涓嶇浉鍏崇悊鐢�</div> -->
+ <lightning-combobox
+ name="progress"
+ label="涓嶇浉鍏崇悊鐢�"
+ value={InspectData.irrelevantReasons__c}
+ placeholder="璇烽�夋嫨涓嶇浉鍏崇悊鐢�"
+ options={IrrelevantReasons}
+ onchange={handleIrrelevantFn}
+ style="width: 495px;padding:1px"
+ ></lightning-combobox>
+ <div style="font-size:10px;color:red" if:true={bxgLyFlag}>璇烽�夋嫨涓嶇浉鍏崇悊鐢�</div>
+ </div>
+
+ <div class={qtLy} if:true={isOther}>
+ <!-- <div style="float: left;color:red">*</div> -->
+ <label class="slds-form-element__label" for="select-02">琛ュ厖璇存槑</label>
+ <div class="slds-form-element__control" style="width: 495px;padding:1px">
+ <input type="text" id="text-input-id-1" placeholder="璇疯緭鍏ヨˉ鍏呰鏄�" required="" onchange={handleOtherIrrelevantFn} value={InspectData.irrelevantReasonOther__c} aria-describedby="error-message-unique-id" class="slds-input" aria-invalid="true" />
+ </div>
+ <div class="slds-form-element__help" id="error-message-unique-id" if:true={qtLyFlag}>鍏朵粬鐞嗙敱涓嶈兘涓虹┖</div>
+ </div>
+
+
+ <div style={dispatchDivStyle}></div>
+ <div>
+
+ <c-jzlookuplightning if:true={isShi} data-parent-id="lookup1" onsearchchange={onsearchchange} objectname="Tender_information__c" fieldname="Hospital__c" > </c-jzlookuplightning>
+ <div style="font-size:10px;color:red" if:true={isErrorShowYY}>璇烽�夋嫨鍏宠仈鍖婚櫌</div>
+ <div style="font-size:10px;color:red" if:true={isHospitorCheck}>璇锋鏌ュ叧鑱斿尰闄㈠搴旂殑鎴樼暐绉戝</div>
+
+
+ <c-jzlookuplightning if:true={isShi} data-parent-id="lookupyy1" onsearchchange={onsearchchange1} objectname="Tender_information__c" fieldname="Hospital1__c" > </c-jzlookuplightning>
+
+ <!-- <c-jzlookupv3 if:true={isShi} data-parent-id="lookupyy1" label="鍏宠仈鍖婚櫌1" placeholder="璇烽�夋嫨鍏宠仈鍖婚櫌1.." onsearchchange={onsearchchange1} searchdata={searchdata1} option={option1} onselected={selected1} onclear={onclearYY1} > </c-jzlookupv3> -->
+
+ <c-jzlookuplightning if:true={isShi} data-parent-id="lookupyy2" onsearchchange={onsearchchange2} objectname="Tender_information__c" fieldname="Hospital2__c" > </c-jzlookuplightning>
+
+ <!-- <c-jzlookupv3 if:true={isShi} data-parent-id="lookupyy2" label="鍏宠仈鍖婚櫌2" placeholder="璇烽�夋嫨鍏宠仈鍖婚櫌2.." onsearchchange={onsearchchange2} searchdata={searchdata2} option={option2} onselected={selected2} onclear={onclearYY2} > </c-jzlookupv3> -->
+
+ <c-jzlookuplightning if:true={isShi} data-parent-id="lookupyy3" onsearchchange={onsearchchange3} objectname="Tender_information__c" fieldname="Hospital3__c" > </c-jzlookuplightning>
+ <!-- <c-jzlookupv3 if:true={isShi} data-parent-id="lookupyy3" label="鍏宠仈鍖婚櫌3" placeholder="璇烽�夋嫨鍏宠仈鍖婚櫌3.." onsearchchange={onsearchchange3} searchdata={searchdata3} option={option3} onselected={selected3} onclear={onclearYY3} > </c-jzlookupv3> -->
+
+ <c-jzlookuplightning if:true={isShi} data-parent-id="lookupyy4" onsearchchange={onsearchchange4} objectname="Tender_information__c" fieldname="Hospital4__c" > </c-jzlookuplightning>
+ <!-- <c-jzlookupv3 if:true={isShi} data-parent-id="lookupyy4" label="鍏宠仈鍖婚櫌4" placeholder="璇烽�夋嫨鍏宠仈鍖婚櫌4.." onsearchchange={onsearchchange4} searchdata={searchdata4} option={option4} onselected={selected4} onclear={onclearYY4} > </c-jzlookupv3> -->
+
+ </div>
+
+ <c-jzlookupv3 if:true={isDisable} data-parent-id="lookupfzr" label="椤圭洰璐熻矗浜�" placeholder="璇烽�夋嫨椤圭洰璐熻矗浜�.." onsearchchange={onsearchchange5} searchdata={searchdata5} option={option5} onselected={selected5} onclear={onclearFZR5} > </c-jzlookupv3>
+ <div style="font-size:10px;color:red" if:true={isErrorShowFZR}>璇烽�夋嫨椤圭洰璐熻矗浜�</div>
+
+ <c-jzlookupv3 if:true={isDisable} data-parent-id="lookup2" label="鍏宠仈涓绘垬鐣ョ瀹�" placeholder="璇烽�夋嫨涓绘垬鐣ョ瀹�.." onsearchchange={onsearchchangeZLKS} searchdata={searchdataZLKS} option={optionZLKS} onselected={selectedZLKS} onclear={onclearZLKS} ></c-jzlookupv3>
+ <div style="font-size:10px;color:red" if:true={isErrorShowZLKS}>璇烽�夋嫨鍏宠仈涓绘垬鐣ョ瀹�</div>
+ <div style="font-size:10px;color:red" if:true={isrepeate1}>鎴樼暐绉戝涓嶈兘閲嶅閫夌潃</div>
+
+
+
+ <c-jzlookupv3 if:true={isDisable} data-parent-id="lookup3" label="鍏宠仈鍓垬鐣ョ瀹�1" placeholder="璇烽�夋嫨鍓垬鐣ョ瀹�1.." onsearchchange={onsearchchangeZLKS1} searchdata={searchdataZLKS1} option={optionZLKS1} onselected={selectedZLKS1} onclear={onclearZLKS1} onsearchclick={InitZLKS1} > </c-jzlookupv3>
+ <div style="font-size:10px;color:red" if:true={isrepeate2}>鎴樼暐绉戝涓嶈兘閲嶅閫夌潃</div>
+
+ <c-jzlookupv3 if:true={isDisable} data-parent-id="lookup4" label="鍏宠仈鍓垬鐣ョ瀹�2" placeholder="璇烽�夋嫨鍓垬鐣ョ瀹�2.." onsearchchange={onsearchchangeZLKS2} searchdata={searchdataZLKS2} option={optionZLKS2} onselected={selectedZLKS2} onclear={onclearZLKS2}> </c-jzlookupv3>
+ <div style="font-size:10px;color:red" if:true={isrepeate3}>鎴樼暐绉戝涓嶈兘閲嶅閫夌潃</div>
+
+ <c-jzlookupv3 if:true={isDisable} data-parent-id="lookup5" label="鍏宠仈鍓垬鐣ョ瀹�3" placeholder="璇烽�夋嫨鍓垬鐣ョ瀹�3.." onsearchchange={onsearchchangeZLKS3} searchdata={searchdataZLKS3} option={optionZLKS3} onselected={selectedZLKS3} onclear={onclearZLKS3}> </c-jzlookupv3>
+ <div style="font-size:10px;color:red" if:true={isrepeate4}>鎴樼暐绉戝涓嶈兘閲嶅閫夌潃</div>
+
+ <c-jzlookupv3 if:true={isDisable} data-parent-id="lookup6" label="鍏宠仈鍓垬鐣ョ瀹�4" placeholder="璇烽�夋嫨鍓垬鐣ョ瀹�4.." onsearchchange={onsearchchangeZLKS4} searchdata={searchdataZLKS4} option={optionZLKS4} onselected={selectedZLKS4} onclear={onclearZLKS4}> </c-jzlookupv3>
+ <div style="font-size:10px;color:red" if:true={isrepeate5}>鎴樼暐绉戝涓嶈兘閲嶅閫夌潃</div>
+
+ <fieldset class="slds-form-element" >
+ <legend class="slds-form-element__legend slds-form-element__label">鍏宠仈鎴樼暐绉戝</legend>
+ <div class="slds-form-element__control">
+ <div class="slds-checkbox" style="float: left;">
+ <input type="checkbox" data-parent-id="unique297" name="options" id="checkbox-unique-id-297" value="01210000000QemLAAS" checked={uniqueid297} onchange={checkbox297} />
+ <label class="slds-checkbox__label" for="checkbox-unique-id-297">
+ <span class="slds-checkbox_faux"></span>
+ <span class="slds-form-element__label">娑堝寲绉�</span>
+ </label>
+ </div>
+ <div class="slds-checkbox" style="float: left;">
+ <input type="checkbox" data-parent-id="unique298" name="options" id="checkbox-unique-id-298" value="01210000000QezZAAS" checked={uniqueid298} onchange={checkbox298}/>
+ <label class="slds-checkbox__label" for="checkbox-unique-id-298">
+ <span class="slds-checkbox_faux"></span>
+ <span class="slds-form-element__label">鍛煎惛绉�</span>
+ </label>
+ </div>
+ <div class="slds-checkbox" style="float: left;">
+ <input type="checkbox" data-parent-id="unique299" name="options" id="checkbox-unique-id-299" value="01210000000QezeAAC" checked={uniqueid299} onchange={checkbox299}/>
+ <label class="slds-checkbox__label" for="checkbox-unique-id-299">
+ <span class="slds-checkbox_faux"></span>
+ <span class="slds-form-element__label">鏅绉�</span>
+ </label>
+ </div>
+ <div class="slds-checkbox" style="float: left;">
+ <input type="checkbox" data-parent-id="unique300" name="options" id="checkbox-unique-id-300" value="01210000000QezjAAC" checked={uniqueid300} onchange={checkbox300}/>
+ <label class="slds-checkbox__label" for="checkbox-unique-id-300">
+ <span class="slds-checkbox_faux"></span>
+ <span class="slds-form-element__label">娉屽翱绉�</span>
+ </label>
+ </div>
+ <div class="slds-checkbox" style="float: left;">
+ <input type="checkbox" data-parent-id="unique301" name="options" id="checkbox-unique-id-301" value="01210000000QezoAAC" checked={uniqueid301} onchange={checkbox301}/>
+ <label class="slds-checkbox__label" for="checkbox-unique-id-301">
+ <span class="slds-checkbox_faux"></span>
+ <span class="slds-form-element__label">濡囩</span>
+ </label>
+ </div>
+ <div class="slds-checkbox" style="float: left;">
+ <input type="checkbox" data-parent-id="unique302" name="options" id="checkbox-unique-id-302" value="01210000000QeztAAC" checked={uniqueid302} onchange={checkbox302}/>
+ <label class="slds-checkbox__label" for="checkbox-unique-id-302">
+ <span class="slds-checkbox_faux"></span>
+ <span class="slds-form-element__label">鑰抽蓟鍠夌</span>
+ </label>
+ </div>
+ </div>
+ </fieldset>
+ <!-- <div style="display: flex;">
+ <div>
+ <lightning-checkbox-group name="Checkbox Group"
+ label="Checkbox Group"
+ options={options}
+ value={value}
+ onchange={handleChange}
+ variant='label-inline' style="display : inline-block !important;" class='slds-checkbox_lin'></lightning-checkbox-group>
+
+ </div>
+ </div>
+ -->
+ <button data-parent-id="saveButton1" class="slds-button slds-button_brand" onclick={saveFn} style={dispatchButtonStyle} if:true={saveButtonShow}>淇濆瓨</button>
+
+</div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/relevant/relevant.js b/force-app/main/default/lwc/relevant/relevant.js
new file mode 100644
index 0000000..37f9cee
--- /dev/null
+++ b/force-app/main/default/lwc/relevant/relevant.js
@@ -0,0 +1,1204 @@
+import { LightningElement, track } from 'lwc';
+
+
+import GetInspectById from '@salesforce/apex/InspectCheckController.GetInspectById';
+import cannotModifyIsRelateProject from '@salesforce/apex/InspectCheckController.cannotModifyIsRelateProject';
+import { refreshApex } from '@salesforce/apex';
+import GetIrrelevantReasons from '@salesforce/apex/InspectCheckController.GetIrrelevantReasons';
+
+// import AssignValuesToOwner from '@salesforce/apex/InspectCheckController.AssignValuesToOwner';
+
+import SaveData from '@salesforce/apex/InspectCheckController.SaveData';
+
+
+
+import SearchYY from '@salesforce/apex/InspectCheckController.SearchYY';
+import SearchYH from '@salesforce/apex/InspectCheckController.SearchYH';
+
+import SearchZLKS from '@salesforce/apex/InspectCheckController.SearchZLKS';
+
+
+
+import SearchParent from '@salesforce/apex/InspectCheckController.SearchParent';
+
+import SearchAccountById from '@salesforce/apex/InspectCheckController.SearchAccountById';
+
+import SearchUserById from '@salesforce/apex/InspectCheckController.SearchUserById';
+import GetIsPrentIdArr from '@salesforce/apex/InspectCheckController.GetIsPrentIdArr';
+
+import SearchUserByIds from '@salesforce/apex/InspectCheckController.SearchUserByIds';
+
+
+import {ShowToastEvent} from 'lightning/platformShowToastEvent';
+
+export default class test01 extends LightningElement {
+
+//鎻愮ず
+Tongzhishow=false; //鎻愮ず鏄剧ず鐨勬爣璇�
+SaveShowText="鎿嶄綔鎴愬姛";//鎻愮ず妗嗙殑鏂囨湰
+TongzhiIcon = 'standard:account' //鎻愮ず妗嗙殑鍥炬爣
+IsLeftStyle = "" //鎻愮ず妗嗙殑鏍峰紡
+BgColorStyle = ""
+
+// 鏄惁鍏宠仈鑳戒笉鑳界紪杈�
+xgxLyDisabled = false;
+
+//寮规鎻愮ず content 鍐呭 error 鏄惁鏄敊璇彁绀烘 left 鏄惁灞呭乏
+Alert(content,error = false,left = false){
+ this.SaveShowText = content;
+ this.Tongzhishow = true;
+ // setTimeout(()=>{
+ // this.Tongzhishow = false;
+ // this.SaveShowText = "";
+ // },3000)
+ 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()
+{debugger
+ // if (this.Tongzhishow == true) {
+ // this.Tongzhishow = false;
+ // }
+ // if (this.SaveShowText != "") {
+ // this.SaveShowText = "";
+ // }
+ this.closeOffRefresh();
+}
+closeOffRefresh(){
+ if (this.Tongzhishow == true) {
+ this.Tongzhishow = false;
+ }
+ if (this.SaveShowText != "") {
+ this.SaveShowText = "";
+ }
+ if(this.InspectData.IsRelateProject__c == '鏄�'){
+ setTimeout(()=>{
+ this.CheckBoxAssignment(this.InspectData.department_selection__c);
+ },0.001);
+ }
+}
+IsLoading = false; //鍔犺浇鐨勬爣璇�
+//鍔犺浇鎻愮ず妗�
+OnLoading(flag){
+ this.IsLoading = flag;
+}
+
+//鏄剧ず涓庨殣钘�
+isShi = true; //閫夌潃 鏄� 鐨勬爣璇�
+isFou = false; //閫夌潃 鍚� 鐨勬爣璇�
+isOther = false; //閫夌潃 鍏朵粬 鐨勬爣璇�
+
+isDisable = false;
+
+ OnLoadingWait(time)
+ {
+ this.OnLoading(true);
+
+ setTimeout(()=>{
+ this.OnLoading(false);
+ },time);
+ }
+
+ 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);
+ }
+ paramIdStr = ''
+ connectedCallback(){
+ // this.OnLoadingWait(5000)
+ var paramId = this.getQueryVariable('id');
+ if (paramId == null || paramId == '') {
+ return ;
+ }
+ this.paramIdStr = paramId;
+ this.GetInspectByIdFn(paramId);
+ this.GetIrrelevantReasonsFn();
+ this.cannotModifyIsRelateProjectFn(paramId);
+
+
+ }
+ GetInspectByIdFn(Id)
+ {
+ GetInspectById({Id:Id}).then(result=>{
+ var response=JSON.parse(result);
+ if (response!=undefined && response.length == 1) {
+ var tempData = response[0];
+
+ this.checkDatas(tempData);
+
+ this.InspectData = tempData;
+
+ }
+
+ })
+ }
+
+ cannotModifyIsRelateProjectFn(Id) {
+ cannotModifyIsRelateProject({Id:Id}).then(result=>{
+ this.xgxLyDisabled = result;
+ console.log(this.xgxLyDisabled);
+ })
+ }
+
+ checkDatas(tempData)
+ {
+ if (tempData.irrelevantReasonOther__c == undefined || tempData.irrelevantReasonOther__c == '') {
+ tempData.irrelevantReasonOther__c = '';
+ }
+ // if (tempData.irrelevantReasons__c == '8.鍏朵粬(鎵嬪啓)'||tempData.irrelevantReasons__c == '1.鍏抽敭璇嶄笉鐩稿叧') {
+ this.isOther = true;
+
+ // }
+ if (tempData.IsRelateProject__c == "鏄�"
+ && !(tempData.status__c == '01.寰呯‘璁�'
+ || tempData.status__c == '02.涓嶇浉鍏�'
+ || tempData.status__c == '03.涓嶅簲鏍�'
+ || tempData.status__c == '04.寰呭叧鑱旇浠�')
+ ) {
+ this.isShi = true;
+ this.isFou = false;
+ this.isOther = false;
+ //鍔犺浇鍏宠仈鏁版嵁
+ // this.yyInit();
+ // this.InitZLKS();
+ // this.InitPTKS();
+ this.OnLoading(true);
+
+ setTimeout(()=>{
+
+ this.InitSearchDatas(tempData);
+ },3000);
+
+ this.dispatchFn(false);
+
+ var boxs = this.template.querySelectorAll('lightning-combobox');
+ boxs.forEach(fileInput=>{
+ fileInput.disabled = true;
+ })
+ } else if(tempData.IsRelateProject__c == "鏄�"){
+ this.isShi = true;
+ this.isFou = false;
+ this.isOther = false;
+ //鍔犺浇鍏宠仈鏁版嵁
+ // this.yyInit();
+ // this.InitZLKS();
+ // this.InitPTKS();
+ this.OnLoading(true);
+
+ setTimeout(()=>{
+
+ this.InitSearchDatas(tempData);
+ },3000);
+
+ this.dispatchFn(false);
+
+ var boxs = this.template.querySelectorAll('lightning-combobox');
+ boxs.forEach(fileInput=>{
+ fileInput.disabled = false;
+ })
+ } else if(tempData.IsRelateProject__c == "鍚�"){
+ this.isShi = false;
+ this.isFou = true;
+ this.dispatchFn(true);
+ }
+
+
+ }
+ //缁欏閫夋璧嬪��
+ CheckBoxAssignment(department_selection__c){
+ this.checkboxValue=department_selection__c;
+ var department_selection__cList =department_selection__c.split(";");
+ department_selection__cList.forEach(ticl=>{
+ debugger
+ if(ticl=='01210000000QemLAAS'){
+ this.template.querySelector('[data-parent-id="unique297"]').checked=true;
+ this.checkboxValueMap.set(1,ticl);
+ }else if(ticl=='01210000000QezZAAS'){
+ this.template.querySelector('[data-parent-id="unique298"]').checked=true;
+ this.checkboxValueMap.set(2,ticl);
+ }else if(ticl=='01210000000QezeAAC'){
+ this.template.querySelector('[data-parent-id="unique299"]').checked=true;
+ this.checkboxValueMap.set(3,ticl);
+ }else if(ticl=='01210000000QezjAAC'){
+ this.template.querySelector('[data-parent-id="unique300"]').checked=true;
+ this.checkboxValueMap.set(4,ticl);
+ }else if(ticl=='01210000000QezoAAC'){
+ this.template.querySelector('[data-parent-id="unique301"]').checked=true;
+ this.checkboxValueMap.set(5,ticl);
+ }else if(ticl=='01210000000QeztAAC'){
+ this.template.querySelector('[data-parent-id="unique302"]').checked=true;
+ this.checkboxValueMap.set(6,ticl);
+ }
+ });
+
+ }
+ //鍒濆鍖栨煡璇㈡柟娉�
+ InitSearchDatas(tempData){
+
+
+ var temp = 3;
+ //鍒ゆ柇鏄惁鏈夊尰闄�
+ if (tempData.Hospital__c != undefined) {
+ this.template.querySelector('[data-parent-id="lookup1"]').setvalue(tempData.Hospital__c);
+ this.yyId = tempData.Hospital__c;
+ this.yyIdArrs[0] = this.yyId;
+ temp --;
+ // this.InitZLKS();
+ }else {temp --;}
+ //鍒ゆ柇鏄惁鏈夊尰闄�1
+ if (tempData.Hospital1__c != undefined) {
+ this.template.querySelector('[data-parent-id="lookupyy1"]').setvalue(tempData.Hospital1__c);
+ this.yyId1 = tempData.Hospital1__c;
+ this.yyIdArrs[1] = this.yyId1;
+ temp --;
+
+ }else {temp --;}
+
+ //鍒ゆ柇鏄惁鏈夊尰闄�2
+ if (tempData.Hospital2__c != undefined) {
+ this.template.querySelector('[data-parent-id="lookupyy2"]').setvalue(tempData.Hospital2__c);
+ this.yyId2 = tempData.Hospital2__c;
+ this.yyIdArrs[2] = this.yyId2;
+ temp --;
+ }else {temp --;}
+
+ //鍒ゆ柇鏄惁鏈夊尰闄�3
+ if (tempData.Hospital3__c != undefined) {
+ this.template.querySelector('[data-parent-id="lookupyy3"]').setvalue(tempData.Hospital3__c);
+ this.yyId3 = tempData.Hospital3__c;
+ this.yyIdArrs[3] = this.yyId3;
+ temp --;
+ }else {temp --;}
+
+ // //鍒ゆ柇鏄惁鏈夊尰闄�4
+ if (tempData.Hospital4__c != undefined) {
+ this.template.querySelector('[data-parent-id="lookupyy4"]').setvalue(tempData.Hospital4__c);
+ this.yyId4 = tempData.Hospital4__c;
+ this.yyIdArrs[4] = this.yyId4;
+ temp --;
+ }else {temp --;}
+
+
+ //鍒ゆ柇鏄惁鏈夐」鐩礋璐d汉
+ // if (tempData.AccountOwner__c != undefined) {
+ // SearchUserById({Id:tempData.AccountOwner__c}).then(result=>{
+
+ // var datas = JSON.parse(result);
+ // this.template.querySelector('[data-parent-id="lookupfzr"]').setvalue(datas[0].Name);
+ // temp--;
+ // if (temp <= 0) {
+ // this.OnLoading(false);
+ // }
+ // })
+ // this.fzrId5 = tempData.AccountOwner__c;
+ // }else {temp --;}
+
+ //鍒ゆ柇鏄惁鏈夋垬鐣ョ瀹�
+ // if (tempData.department__c != undefined) {
+ // SearchAccountById({Id:tempData.department__c}).then(result=>{
+ // var datas = JSON.parse(result);
+ // this.template.querySelector('[data-parent-id="lookup2"]').setvalue(datas[0].Name);
+ // temp--;
+ // if (temp <= 0) {
+ // this.OnLoading(false);
+ // }
+ // })
+ // this.ZLKSId = tempData.department__c;
+ // }else {temp --;}
+
+
+// if (tempData.subDepartment1__c != undefined) {
+// SearchAccountById({Id:tempData.subDepartment1__c}).then(result=>{
+// var datas = JSON.parse(result);
+// this.template.querySelector('[data-parent-id="lookup3"]').setvalue(datas[0].Name);
+// temp--;
+// if (temp <= 0) {
+// this.OnLoading(false);
+// }
+// })
+// this.ZLKSId1 = tempData.subDepartment1__c;
+// }else {temp --;}
+
+
+// //鍒ゆ柇鏄惁鏈夋垬鐣ョ瀹�1
+// if (tempData.subDepartment2__c != undefined) {
+// SearchAccountById({Id:tempData.subDepartment2__c}).then(result=>{
+// var datas = JSON.parse(result);
+// this.template.querySelector('[data-parent-id="lookup4"]').setvalue(datas[0].Name);
+// temp--;
+// if (temp <= 0) {
+// this.OnLoading(false);
+// }
+// })
+// this.ZLKSId2 = tempData.subDepartment2__c;
+// }else {temp --;}
+// //鍒ゆ柇鏄惁鏈夋垬鐣ョ瀹�2
+// if (tempData.subDepartment3__c != undefined) {
+// SearchAccountById({Id:tempData.subDepartment3__c}).then(result=>{
+// var datas = JSON.parse(result);
+// this.template.querySelector('[data-parent-id="lookup5"]').setvalue(datas[0].Name);
+// temp--;
+// if (temp <= 0) {
+// this.OnLoading(false);
+// }
+// })
+// this.ZLKSId3 = tempData.subDepartment3__c;
+// }else {temp --;}
+
+// //鍒ゆ柇鏄惁鏈夋垬鐣ョ瀹�3
+// if (tempData.subDepartment4__c != undefined) {
+// SearchAccountById({Id:tempData.subDepartment4__c}).then(result=>{
+// var datas = JSON.parse(result);
+// this.template.querySelector('[data-parent-id="lookup6"]').setvalue(datas[0].Name);
+// temp--;
+// if (temp <= 0){
+// this.OnLoading(false);
+// }
+// })
+// this.ZLKSId4 = tempData.subDepartment4__c;
+// }else {temp --;}
+
+
+
+ // if (temp <= 0) {
+
+ // }
+ setTimeout(()=>{
+ this.OnLoading(false);
+ debugger
+ if(this.InspectData.department_selection__c!=null&&this.InspectData.department_selection__c!=''&&this.InspectData.department_selection__c!=undefined){
+ debugger
+ if(this.InspectData.IsRelateProject__c == '鏄�'){
+ setTimeout(()=>{
+ this.CheckBoxAssignment(this.InspectData.department_selection__c);
+ },1);
+ }
+ }
+ },2000);
+ }
+ GetIrrelevantReasonsFn()
+ {
+ GetIrrelevantReasons().then(result=>{
+ var response=JSON.parse(result);
+ this.IrrelevantReasons = response;
+ })
+ }
+
+ @track InspectData = {}; //鏁版嵁
+ IrrelevantReasons=[]; //鐩稿叧鎬ф鏌�
+
+
+
+ RelateOption=[
+ {label:"鏄�",value:"鏄�"},
+ {label:"鍚�",value:"鍚�"},
+ ]
+ IsRelateProjectShow = false; //鏄惁杈撳叆
+
+ //鏄惁鍏宠仈
+ handleRelationFn(event)
+ {
+ // this.IsRelateProjectShow = true;
+
+ var value = event.target.value;
+ // if (this.InspectData.IsRelateProject__c != undefined && this.InspectData.IsRelateProject__c == "鏄�" && value=="鍚�") {
+ // this.InspectData.IsRelateProject__c = "鏄�";
+ // return;
+ // }
+
+ this.InspectData.IsRelateProject__c = value;
+
+ if (value == "鏄�") {
+ this.isShi = true;
+ this.isFou = false;
+ this.isOther = false;
+
+ // this.OnLoading(true);
+
+ // setTimeout(()=>{
+ // this.InitSearchDatas(this.InspectData);
+ // },3000);
+ // this.InitSearchDatas(this.InspectData);
+ this.dispatchFn(false);
+ }
+
+ if (value == "鍚�") {
+ // this.isShi = false;
+ this.isFou = true;
+
+ // if (this.InspectData.irrelevantReasons__c = '8.鍏朵粬(鎵嬪啓)'||this.InspectData.irrelevantReasons__c == '1.鍏抽敭璇嶄笉鐩稿叧') {
+ this.isOther = true;
+ // }else{
+ // this.isOther = false;
+ // }
+ this.dispatchFn(true);
+ }
+ }
+
+ dispatchDivStyle="position: absolute;left: 30px;top: 90px;width: 600px;height: 500px;background-color: white;z-index: 998;";
+ dispatchButtonStyle = 'z-index: 999;position: absolute;left: 30px;top: 100px;';
+
+ dispatchFn(flag,top)
+ {
+
+ if (flag) {
+
+ if (this.isOther) {
+ this.dispatchDivStyle="position: absolute;left: 30px;top: 210px;width: 600px;height: 500px;background-color: white;z-index: 998;";
+ this.dispatchButtonStyle = 'margin-top: 10px;z-index: 999;position: absolute;left: 30px;top: 210px;';
+ }else{
+ this.dispatchDivStyle="position: absolute;left: 30px;top: 150px;width: 600px;height: 500px;background-color: white;z-index: 998;";
+ this.dispatchButtonStyle = 'margin-top: 10px;z-index: 999;position: absolute;left: 30px;top: 150px;';
+ }
+ }else{
+ this.dispatchDivStyle="";
+ this.dispatchButtonStyle = 'margin-top: 10px;';
+ }
+ }
+
+ //涓嶇浉鍏崇悊鐢�
+ handleIrrelevantFn(event)
+ {
+ var value = event.target.value;
+ this.InspectData.irrelevantReasons__c = value;
+ debugger;
+ // if (value == "8.鍏朵粬(鎵嬪啓)"||value == '1.鍏抽敭璇嶄笉鐩稿叧') {
+ this.isOther = true;
+ // }else{
+ // this.isOther = false;
+ // }
+ this.dispatchFn(true);
+ }
+
+ otherData = ""
+ saveButtonShow = true; //淇濆瓨鎸夐挳鏄惁鏄剧ず
+ //鍏朵粬鐞嗙敱
+ handleOtherIrrelevantFn(event)
+ {
+ var value = event.target.value;
+ this.otherData = value;
+ this.InspectData.irrelevantReasonOther__c = this.otherData ;
+
+ }
+
+
+ //娌℃湁杈撳叆鐨勬彁绀烘牱寮�
+ xgxLy ="slds-form-element"; //error = slds-form-element slds-has-error
+ xgxLyFlag = false;
+
+ bxgLy ="slds-form-element"; //error = slds-form-element slds-has-error
+ bxgLyFlag = false;
+
+ qtLy="slds-form-element";
+ qtLyFlag = false;
+ //淇濆瓨鏁版嵁閫昏緫
+ saveFn(){
+ var flag = true;
+
+ if(this.checkZLSKIsRepeate()== false)
+ {
+ this.Alert("淇濆瓨澶辫触",true,true);
+ return;
+ }
+ //鍒ゆ柇鏄惁涓虹┖
+ if (this.isShi==true) {
+ var id1 = this.template.querySelector('[data-parent-id="lookup1"]').getvalue();
+ // var id2 = this.template.querySelector('[data-parent-id="lookup2"]').getvalue();
+
+ if (id1 == undefined || id1 == '') {
+ this.InspectData.Hospital__c == undefined;
+ }
+ // if (id2 == undefined || id2 == '') {
+ // this.InspectData.department__c == undefined;
+ // }
+
+ }
+
+ //鍒ゆ柇 IsRelateProject__c
+ if (this.InspectData.IsRelateProject__c == undefined || this.InspectData.IsRelateProject__c == "" ) {
+ this.xgxLy = "slds-form-element slds-has-error"
+ this.xgxLyFlag = true;
+ flag = false;
+ }else{
+ this.xgxLy = "slds-form-element"
+ this.xgxLyFlag = false;
+ }
+ //鍒ゆ柇 irrelevantReasons__c
+ if (this.InspectData.irrelevantReasons__c == undefined | this.InspectData.irrelevantReasons__c == "" && this.InspectData.IsRelateProject__c != undefined && this.InspectData.IsRelateProject__c == "鍚�") {
+ this.bxgLy = "slds-form-element slds-has-error"
+ this.bxgLyFlag = true;
+ flag = false;
+ }else{
+ this.bxgLy = "slds-form-element"
+ this.bxgLyFlag = false;
+ }
+ //鍒ゆ柇 irrelevantReasons__c
+ // if ( (this.InspectData.irrelevantReasons__c == '8.鍏朵粬(鎵嬪啓)'||this.InspectData.irrelevantReasons__c== '1.鍏抽敭璇嶄笉鐩稿叧') && this.InspectData.irrelevantReasonOther__c == "") {
+ if (this.InspectData.irrelevantReasons__c == '8.鍏朵粬(鎵嬪啓)' && this.InspectData.irrelevantReasonOther__c == "") {
+ this.qtLy="slds-form-element slds-has-error";
+ this.qtLyFlag = true;
+ flag = false;
+ }else{
+ this.qtLy="slds-form-element";
+ this.qtLyFlag = false;
+ }
+ //鍒ゆ柇 Hospital__c
+
+ if ((this.InspectData.Hospital__c == undefined || this.InspectData.Hospital__c == '' ) && this.InspectData.IsRelateProject__c == "鏄�" ) {
+ this.isErrorShowYY = true;
+ flag = false;
+ }else{
+ this.isErrorShowYY = false;
+ }
+
+ //鍒ゆ柇 AccountOwner__c
+ // if ( this.InspectData.IsRelateProject__c == "鏄�" && (this.InspectData.AccountOwner__c == undefined || this.InspectData.AccountOwner__c == '' )) {
+ // this.isErrorShowFZR = true;
+ // flag = false;
+ // }else{
+ // this.isErrorShowFZR = false;
+ // }
+ // if ( (this.InspectData.department__c == undefined || this.InspectData.department__c =='') && this.InspectData.IsRelateProject__c == "鏄�" ) {
+ // this.isErrorShowZLKS = true;
+ // flag = false;
+ // }else{
+ // this.isErrorShowZLKS = false;
+ // }
+ // if (this.InspectData.irrelevantReasons__c != '8.鍏朵粬(鎵嬪啓)'&&this.InspectData.irrelevantReasons__c !='1.鍏抽敭璇嶄笉鐩稿叧') {
+ // this.InspectData.irrelevantReasonOther__c = '';
+ // }
+
+ if (this.InspectData.IsRelateProject__c == '鏄�') {
+ this.InspectData.irrelevantReasons__c = '';
+ this.InspectData.irrelevantReasonOther__c = '';
+ }
+ if(this.checkboxValue!=''){
+ this.InspectData.department_selection__c=this.checkboxValue;
+ }
+ if (flag) {
+ this.OnLoading(true);
+
+ console.warn(this.InspectData);
+ debugger
+ SaveData({JsonData:JSON.stringify(this.InspectData),Id:this.paramIdStr,checkboxValue:this.checkboxValue}).then((response)=>{
+ this.OnLoading(false);
+ // AssignValuesToOwner({Id:this.paramIdStr,checkboxValue:this.checkboxValue}).then((reslut)=>{
+ // debugger
+ // console.warn(reslut);
+ // });
+ if (response == '鎴愬姛') {
+
+ this.Alert("淇濆瓨鎴愬姛",false,true);
+ //淇濆瓨鎴愬姛 璁剧疆缁勪欢涓虹鐢�
+ var buttons = this.template.querySelectorAll('button');
+ buttons.forEach(fileInput=>{
+ fileInput.disabled = true;
+ })
+ var combbox = this.template.querySelectorAll('lightning-combobox');
+ combbox.forEach(fileInput=>{
+ fileInput.disabled = true;
+ })
+
+ var inputs = this.template.querySelectorAll('input');
+ inputs.forEach(input=>{
+ input.disabled = true;
+ })
+ var lookups = this.template.querySelectorAll('c-jzlookupv3');
+ lookups.forEach(lookups=>{
+ lookups.todisabled();
+ })
+
+ var lookupslighting = this.template.querySelectorAll('c-jzlookuplightning');
+ lookupslighting.forEach(lighting=>{
+ lighting.todisabled();
+ })
+ var checkboxgroup = this.template.querySelectorAll('lightning-checkbox-group');
+ debugger
+ checkboxgroup.forEach(group=>{
+ group.disabled = true;
+ })
+ window.location.hash = "Refresh"+"=="+this.paramIdStr;
+ }else{
+ this.Alert(response,true);
+ }
+ debugger
+ if(this.InspectData.IsRelateProject__c == '鏄�'){
+ setTimeout(()=>{
+ this.CheckBoxAssignment(this.InspectData.department_selection__c);
+ },1);
+ }
+ });
+ }
+ if(this.InspectData.IsRelateProject__c == '鏄�'){
+ setTimeout(()=>{
+ this.CheckBoxAssignment(this.InspectData.department_selection__c);
+ },1);
+ }
+ }
+
+ isHospitorCheck = false;
+
+
+
+ //鍒ゆ柇鏄惁閲嶅
+ isrepeate1 = false;
+ isrepeate2 = false;
+ isrepeate3 = false;
+ isrepeate4 = false;
+ isrepeate5 = false;
+ checkZLSKIsRepeate(){
+ this.isrepeate1 = false;
+ this.isrepeate2 = false;
+ this.isrepeate3 = false;
+ this.isrepeate4 = false;
+ this.isrepeate5 = false;
+
+ var arr = ['department__c','subDepartment1__c','subDepartment2__c','subDepartment3__c','subDepartment4__c'];
+ var repeateArr = [];
+ arr.forEach(item=>{
+ var tempId = this.InspectData[item];
+ if (tempId != undefined && tempId!= '') {
+ arr.forEach(temps=>{
+ if (this.InspectData[temps] == tempId && item!=temps) {
+ repeateArr.push(item);
+ repeateArr.push(temps);
+ }
+ })
+ }
+ })
+ if (repeateArr.length > 0 ) {
+ //鏄剧ず鏁堟灉
+ repeateArr.forEach(item=>{
+ if (item == 'department__c') {
+ this.isrepeate1 = true;
+ }
+ if (item == 'subDepartment1__c') {
+ this.isrepeate2 = true;
+ }
+ if (item == 'subDepartment2__c') {
+ this.isrepeate3 = true;
+ }
+ if (item == 'subDepartment3__c') {
+ this.isrepeate4 = true;
+ }
+ if (item == 'subDepartment4__c') {
+ this.isrepeate5 = true;
+ }
+ })
+ return false;
+ }else{
+ return true;
+ }
+
+ }
+ clear(flag){
+
+ if (flag == 0) {
+ this.InspectData.department__c = undefined;
+ this.ZLKSId = '';
+ this.template.querySelector('[data-parent-id="lookup2"]').setvalue("");
+ // this.InitZLKS();
+ }
+ }
+ //鍏宠仈鍖婚櫌
+ yyId = ''; //鍖婚櫌鐨処D
+ yyIdArrs = []; //鍖婚櫌閫夋嫨鐨勯泦鍚�
+ isErrorShowYY=false; //閿欒鏄剧ず
+ onsearchchange(event){
+ this.yyId = event.detail.value;
+ this.yyIdArrs[0] = this.yyId;
+ this.InspectData.Hospital__c = this.yyId;
+ this.SeachUserByIds();
+ }
+
+
+
+ //鍏宠仈鍖婚櫌
+
+ //鍏宠仈鍖婚櫌1
+ yyId1 = ''; //鍖婚櫌鐨処D
+ onsearchchange1(event){
+ this.yyId1 = event.detail.value;
+
+ this.yyIdArrs[1] = this.yyId1;
+ this.InspectData.Hospital1__c = this.yyId1;
+
+ this.SeachUserByIds();
+
+ }
+
+
+ //鍏宠仈鍖婚櫌1
+
+ //鍏宠仈鍖婚櫌2
+ yyId2 = ''; //鍖婚櫌鐨処D
+ onsearchchange2(event){
+ this.yyId2 = event.detail.value;
+
+ this.yyIdArrs[2] = this.yyId2;
+ this.InspectData.Hospital2__c = this.yyId2;
+ }
+
+
+
+ //鍏宠仈鍖婚櫌2
+
+
+ //鍏宠仈鍖婚櫌3
+ yyId3 = ''; //鍖婚櫌鐨処D
+ onsearchchange3(event){
+ this.yyId3 = event.detail.value;
+
+ this.yyIdArrs[3] = this.yyId3;
+ this.InspectData.Hospital3__c = this.yyId3;
+
+ this.SeachUserByIds();
+ }
+
+ //鍏宠仈鍖婚櫌3
+
+
+ //鍏宠仈鍖婚櫌4
+ yyId4 = ''; //鍖婚櫌鐨処D
+ onsearchchange4(event){
+ this.yyId4 = event.detail.value;
+
+ this.yyIdArrs[4] = this.yyId4;
+ this.InspectData.Hospital4__c = this.yyId4;
+
+ this.SeachUserByIds();
+ }
+ //鍏宠仈鍖婚櫌4
+
+
+
+
+
+ //鍏宠仈鎴樼暐绉戝
+ optionZLKS = [{lableOne:"Name",lableTwo:"Acc_Record_Type__c"}]
+ searchdataZLKS=[];
+ isErrorShowZLKS = false;
+ onsearchchangeZLKS(event){
+
+ var searchContentStr = event.detail.searchContent;
+ searchContentStr = searchContentStr.trim();
+
+ SearchZLKS({content:searchContentStr,ParentId:this.yyIdArrs}).then(response=>{
+ var datas = JSON.parse(response);
+ this.searchdataZLKS = datas;
+ if (this.isShi==true) {
+ if (this.searchdataZLKS !=undefined && this.searchdataZLKS.length > 0) {
+ this.template.querySelector('[data-parent-id="lookup2"]').refreshdata(this.searchdataZLKS);
+ }else{
+ this.template.querySelector('[data-parent-id="lookup2"]').iszero();
+ }
+ }
+ })
+
+ }
+ ZLKSId = '';
+ selectedZLKS(event)
+ {
+ console.warn(event.detail.selectdata.Id);
+ this.ZLKSId = event.detail.selectdata.Id;
+
+ this.InspectData.department__c = this.ZLKSId;
+
+ }
+
+ InitZLKS()
+ {
+ SearchZLKS({content:undefined,ParentId:this.yyIdArrs}).then(response=>{
+ var datas = JSON.parse(response);
+ this.searchdataZLKS = datas;
+ if (this.isShi==true) {
+ this.template.querySelector('[data-parent-id="lookup2"]').refreshdata(this.searchdataZLKS);
+ }
+ })
+ }
+ onclearZLKS(event)
+ {
+ this.InspectData.department__c = '';
+ this.template.querySelector('[data-parent-id="lookup2"]').setvalue("");
+ this.InitZLKS();
+
+ }
+ //鍏宠仈鎴樼暐绉戝
+
+
+
+
+ //鍏宠仈鎴樼暐绉戝 -- 1
+ optionZLKS1 = [{lableOne:"Name",lableTwo:"Acc_Record_Type__c"}]
+ searchdataZLKS1=[];
+ onsearchchangeZLKS1(event){
+ var searchContentStr = event.detail.searchContent;
+ SearchZLKS({content:searchContentStr,ParentId:this.yyIdArrs}).then(response=>{
+ var datas = JSON.parse(response);
+ this.searchdataZLKS1 = datas;
+ console.warn(datas);
+ if (this.isShi==true) {
+ if (this.searchdataZLKS1 !=undefined && this.searchdataZLKS1.length > 0) {
+ console.warn("refresh1");
+ this.template.querySelector('[data-parent-id="lookup3"]').refreshdata(this.searchdataZLKS1);
+ }else{
+ this.template.querySelector('[data-parent-id="lookup3"]').iszero();
+ }
+ }
+ })
+
+ }
+ ZLKSId1 = '';
+ selectedZLKS1(event)
+ {
+ this.ZLKSId1 = event.detail.selectdata.Id;
+ this.InspectData.subDepartment1__c = this.ZLKSId1;
+
+ }
+
+ InitZLKS1()
+ {
+ SearchZLKS({content:undefined,ParentId:this.yyIdArrs}).then(response=>{
+ var datas = JSON.parse(response);
+ this.searchdataZLKS1 = datas;
+ if (this.isShi==true) {
+ this.template.querySelector('[data-parent-id="lookup3"]').refreshdata(this.searchdataZLKS1);
+ }
+ })
+ }
+ onclearZLKS1(event)
+ {
+ this.InspectData.subDepartment1__c = '';
+ this.template.querySelector('[data-parent-id="lookup3"]').setvalue("");
+ this.InitZLKS1();
+
+ }
+ //鍏宠仈鎴樼暐绉戝 --1
+
+
+
+
+ //鍏宠仈鎴樼暐绉戝 -- 2
+ optionZLKS2 = [{lableOne:"Name",lableTwo:"Acc_Record_Type__c"}]
+ searchdataZLKS2=[];
+ onsearchchangeZLKS2(event){
+ var searchContentStr = event.detail.searchContent;
+ SearchZLKS({content:searchContentStr,ParentId:this.yyIdArrs}).then(response=>{
+ var datas = JSON.parse(response);
+ this.searchdataZLKS2 = datas;
+ console.warn(datas);
+ if (this.isShi==true) {
+ if (this.searchdataZLKS2 !=undefined && this.searchdataZLKS2.length > 0) {
+ this.template.querySelector('[data-parent-id="lookup4"]').refreshdata(this.searchdataZLKS2);
+ }else{
+ this.template.querySelector('[data-parent-id="lookup4"]').iszero();
+ }
+ }
+ })
+
+ }
+ ZLKSId2 = '';
+ selectedZLKS2(event)
+ {
+ this.ZLKSId2 = event.detail.selectdata.Id;
+ this.InspectData.subDepartment2__c = this.ZLKSId2;
+
+ }
+
+ InitZLKS2()
+ {
+ SearchZLKS({content:undefined,ParentId:this.yyIdArrs}).then(response=>{
+ var datas = JSON.parse(response);
+ this.searchdataZLKS2 = datas;
+ if (this.isShi==true) {
+ this.template.querySelector('[data-parent-id="lookup4"]').refreshdata(this.searchdataZLKS2);
+ }
+ })
+ }
+ onclearZLKS2(event)
+ {
+ this.InspectData.subDepartment2__c = '';
+ this.template.querySelector('[data-parent-id="lookup4"]').setvalue("");
+ this.InitZLKS2();
+
+ }
+ //鍏宠仈鎴樼暐绉戝 --2
+
+
+ //鍏宠仈鎴樼暐绉戝 -- 3
+ optionZLKS3 = [{lableOne:"Name",lableTwo:"Acc_Record_Type__c"}]
+ searchdataZLKS3=[];
+ onsearchchangeZLKS3(event){
+ var searchContentStr = event.detail.searchContent;
+ SearchZLKS({content:searchContentStr,ParentId:this.yyIdArrs}).then(response=>{
+ var datas = JSON.parse(response);
+ this.searchdataZLKS3 = datas;
+ console.warn(datas);
+ if (this.isShi==true) {
+ if (this.searchdataZLKS3 !=undefined && this.searchdataZLKS3.length > 0) {
+ this.template.querySelector('[data-parent-id="lookup5"]').refreshdata(this.searchdataZLKS3);
+ }else{
+ this.template.querySelector('[data-parent-id="lookup5"]').iszero();
+ }
+ }
+ })
+
+ }
+ ZLKSId3 = '';
+ selectedZLKS3(event)
+ {
+ this.ZLKSId3 = event.detail.selectdata.Id;
+ this.InspectData.subDepartment3__c = this.ZLKSId3;
+
+ }
+
+ InitZLKS3()
+ {
+ SearchZLKS({content:undefined,ParentId:this.yyIdArrs}).then(response=>{
+ var datas = JSON.parse(response);
+ this.searchdataZLKS3 = datas;
+ if (this.isShi==true) {
+ this.template.querySelector('[data-parent-id="lookup5"]').refreshdata(this.searchdataZLKS3);
+ }
+ })
+ }
+ onclearZLKS3(event)
+ {
+ this.InspectData.subDepartment3__c = '';
+ this.template.querySelector('[data-parent-id="lookup5"]').setvalue("");
+ this.InitZLKS3();
+
+ }
+ //鍏宠仈鎴樼暐绉戝 --3
+
+
+
+ //鍏宠仈鎴樼暐绉戝 -- 4
+ optionZLKS4 = [{lableOne:"Name",lableTwo:"Acc_Record_Type__c"}]
+ searchdataZLKS4=[];
+ onsearchchangeZLKS4(event){
+ var searchContentStr = event.detail.searchContent;
+ SearchZLKS({content:searchContentStr,ParentId:this.yyIdArrs}).then(response=>{
+ var datas = JSON.parse(response);
+ this.searchdataZLKS4 = datas;
+ console.warn(datas);
+ if (this.isShi==true) {
+ if (this.searchdataZLKS4 !=undefined && this.searchdataZLKS4.length > 0) {
+ this.template.querySelector('[data-parent-id="lookup6"]').refreshdata(this.searchdataZLKS4);
+ }else{
+ this.template.querySelector('[data-parent-id="lookup6"]').iszero();
+ }
+ }
+ })
+
+ }
+ ZLKSId4 = '';
+ selectedZLKS4(event)
+ {
+ this.ZLKSId4 = event.detail.selectdata.Id;
+ this.InspectData.subDepartment4__c = this.ZLKSId4;
+
+ }
+
+ InitZLKS4()
+ {
+ SearchZLKS({content:undefined,ParentId:this.yyIdArrs}).then(response=>{
+ var datas = JSON.parse(response);
+ this.searchdataZLKS4 = datas;
+ if (this.isShi==true) {
+ this.template.querySelector('[data-parent-id="lookup6"]').refreshdata(this.searchdataZLKS4);
+ }
+ })
+ }
+ onclearZLKS4(event)
+ {
+ this.InspectData.subDepartment4__c = '';
+ this.template.querySelector('[data-parent-id="lookup6"]').setvalue("");
+ this.InitZLKS4();
+
+ }
+ //鍏宠仈鎴樼暐绉戝 -- 4
+
+
+
+ //璐熻矗浜�
+ option5 = [{lableOne:"Name",lableTwo:"Acc_Record_Type__c"}] //lookup缁勪欢鐨勬樉绀哄瓧娈�
+ searchdata5=[]; // lookup缁勪欢鐨勬樉绀烘暟鎹�
+
+ isErrorShowFZR = false;
+
+ onsearchchange5(event){
+ var searchContentStr = event.detail.searchContent;
+ searchContentStr = searchContentStr.trim();
+
+ var SearchArr = this.SeachCheckUserByName(searchContentStr);
+
+ this.template.querySelector('[data-parent-id="lookupfzr"]').refreshdata(SearchArr);
+
+ if (searchContentStr == undefined || searchContentStr == '') {
+ this.onclearFZR5();
+ }
+ }
+ fzrId5 = ''; //鍖婚櫌鐨処D
+ //杩欎釜鏄痩ookup缁勪欢鐨勬煡璇㈡柟娉�
+ selected5(event)
+ {
+ console.warn(event.detail.selectdata.Id);
+ this.fzrId5 = event.detail.selectdata.Id;
+
+ this.InspectData.AccountOwner__c = this.fzrId5;
+
+ this.InspectData.departmentOwner__c = this.fzrId5;
+
+ this.InspectData.ownerid = this.fzrId5;
+ // this.clear(0);
+ }
+
+ //杩欎釜鏄痩ookup缁勪欢鐨勬竻闄ゆ柟娉�
+ onclearFZR5(event){
+ // this.yyInit();
+ }
+
+ ////////////////
+ //缂撳瓨鏌ヨ鐢ㄦ埛
+ ////////////////
+
+ UserList = []; //鐢ㄦ埛闆嗗悎
+ //鍏宠仈鍖婚櫌4
+ checkHospital()
+ {
+ var tempArr = [];
+ this.yyIdArrs.forEach(item=>{
+ if (item == this.InspectData.Hospital__c
+ || item == this.InspectData.Hospital1__c
+ || item == this.InspectData.Hospital2__c
+ || item == this.InspectData.Hospital3__c
+ || item == this.InspectData.Hospital4__c
+ )
+ {
+ tempArr.push(item);
+ }
+ })
+ this.yyIdArrs = tempArr;
+
+ }
+
+ SeachUserByIds()
+ {
+ this.checkHospital();
+ SearchUserByIds({his:this.yyIdArrs}).then(response=>{
+ var data = JSON.parse(response);
+ this.UserList = [];
+ this.UserList = data;
+ })
+ }
+
+
+ SeachCheckUserByName(content)
+ {
+ debugger;
+ var tempArr = [];
+ this.UserList.forEach(item=>{
+ if (item.Name.indexOf(content)!= -1 || item.Alias.indexOf(content)!= -1) {
+ tempArr.push(item);
+ }
+ })
+ return tempArr;
+ }
+ value = ['option2'];
+
+ get options() {
+ return [
+ { label: 'Ross', value: 'option1'},
+ { label: 'Rachel', value: 'option2' },
+ ];
+ }
+
+ get selectedValues() {
+ return this.value.join(',');
+ }
+
+ handleChange(e) {
+ debugger;
+ this.value = e.detail.value;
+ }
+ checkboxValue="";
+ checkboxValueMap=new Map();
+ //娣诲姞鎴栧垹闄ょ瀹�
+ splieStr(checked,e,i){
+ if(checked){
+ var tianjia =[];
+ this.checkboxValueMap.set(i,e.srcElement.defaultValue);
+ for (let [k, v] of this.checkboxValueMap) {
+ tianjia.push(v);
+ }
+ this.checkboxValue=tianjia.join(';');
+ }else{
+ var shanchu=[];
+ for (let [k, v] of this.checkboxValueMap) {
+ if(k!=i){
+ shanchu.push(v);
+ }else{
+ this.checkboxValueMap.delete(k);
+ debugger
+ }
+ }
+ if(shanchu.length!=0){
+ this.checkboxValue=shanchu.join(';');
+ }else{
+ this.checkboxValue='';
+ }
+ }
+ var chek=this.checkboxValue;
+ this.InspectData.department_selection__c=chek;
+ debugger
+ }
+ checkbox297(e){
+ debugger
+ var checked=this.template.querySelector('[data-parent-id="unique297"]').checked;
+ this.splieStr(checked,e,1);
+ }
+ checkbox298(e){
+ debugger
+ var checked=this.template.querySelector('[data-parent-id="unique298"]').checked;
+ this.splieStr(checked,e,2);
+ }
+ checkbox299(e){
+ debugger
+ var checked=this.template.querySelector('[data-parent-id="unique299"]').checked;
+ this.splieStr(checked,e,3);
+ }
+ checkbox300(e){
+ debugger
+ var checked=this.template.querySelector('[data-parent-id="unique300"]').checked;
+ this.splieStr(checked,e,4);
+ }
+ checkbox301(e){
+ debugger
+ var checked=this.template.querySelector('[data-parent-id="unique301"]').checked;
+ this.splieStr(checked,e,5);
+ }
+ checkbox302(e){
+ debugger
+ var checked=this.template.querySelector('[data-parent-id="unique302"]').checked;
+ this.splieStr(checked,e,6);
+ }
+
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/relevant/relevant.js-meta.xml b/force-app/main/default/lwc/relevant/relevant.js-meta.xml
new file mode 100644
index 0000000..0416469
--- /dev/null
+++ b/force-app/main/default/lwc/relevant/relevant.js-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>51.0</apiVersion>
+ <isExposed>false</isExposed>
+</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..71a6548
--- /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: '鎻愮ず淇℃伅',
+ // 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];
+ 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/tBidding/tBidding.html b/force-app/main/default/lwc/tBidding/tBidding.html
new file mode 100644
index 0000000..ef3fba0
--- /dev/null
+++ b/force-app/main/default/lwc/tBidding/tBidding.html
@@ -0,0 +1,167 @@
+<template>
+ <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>
+ </div>
+ </div>
+
+ <!-- <div>{ShowText}</div> -->
+
+ <div style="height:0px">
+ <!-- <lightning-combobox
+ name="progress"
+ label="鏄惁搴旀爣"
+ value={InspectData.IsBid__c}
+ placeholder="璇烽�夋嫨鏃跺�欏簲鏍�"
+ options={IsBidArr}
+ onchange={handleChange}
+ if:false={IsSQZ}
+ ></lightning-combobox>
+
+ <lightning-combobox
+ name="progress"
+ label="鏄惁搴旀爣"
+ value={InspectData.IsBid__c}
+ placeholder="璇烽�夋嫨鏃跺�欏簲鏍�"
+ options={IsBidArr}
+ onchange={handleChange}
+ disabled
+ if:true={IsSQZ}
+ ></lightning-combobox> -->
+ </div>
+
+
+
+ <div class={bxgLy} if:true={irresponsibleReasonShow}>
+ <!-- <label class="slds-form-element__label" for="select-02">涓嶅簲鏍囩悊鐢�:</label>
+ <select class="slds-select" onchange={handleIrresponsibleReasonsFn} >
+ <option value={InspectData.irresponsibleReason__c}>{InspectData.irresponsibleReason__c}</option>
+ <option value="">閫夋嫨</option>
+ <template for:each={IrresponsibleReasons} for:item="item">
+ <option key={item.label}>{item.label}</option>
+ </template>
+ </select>
+ <div class="slds-form-element__help" id="error-01" if:true={bxgLyFlag}>璇烽�夋嫨涓嶇浉鍏崇悊鐢�</div> -->
+
+ <lightning-combobox
+ name="progress"
+ label="涓嶅簲鏍囩悊鐢�"
+ value={InspectData.irresponsibleReason__c}
+ placeholder="璇烽�夋嫨涓嶅簲鏍囩悊鐢�"
+ options={IrresponsibleReasons}
+ onchange={handleIrresponsibleReasonsFn}
+ if:false={IsSQZ}
+ ></lightning-combobox>
+
+ <lightning-combobox
+ name="progress"
+ label="涓嶅簲鏍囩悊鐢�"
+ value={InspectData.irresponsibleReason__c}
+ placeholder="璇烽�夋嫨涓嶅簲鏍囩悊鐢�"
+ options={IrresponsibleReasons}
+ onchange={handleIrresponsibleReasonsFn}
+ disabled
+ if:true={IsSQZ}
+ ></lightning-combobox>
+ <div style="font-size:10px;color:red" if:true={bxgLyFlag}>璇烽�夋嫨涓嶅簲鏍囩悊鐢�</div>
+ </div>
+
+
+ <div class={qtLy} if:true={otherShow}>
+ <label class="slds-form-element__label" for="select-02">涓嶅簲鏍囩悊鐢�(鍏朵粬):</label>
+ <div class="slds-form-element__control">
+ <input type="text" id="text-input-id-1" placeholder="璇疯緭鍏ヤ笉搴旀爣鐞嗙敱(鍏朵粬)" required="" onchange={handleOtherIrrelevantFn} value={InspectData.irresponsibleReasonOther__c} aria-describedby="error-message-unique-id" class="slds-input" aria-invalid="true" if:false={IsSQZ} />
+ <input type="text" id="text-input-id-2" placeholder="璇疯緭鍏ヤ笉搴旀爣鐞嗙敱(鍏朵粬)" required="" onchange={handleOtherIrrelevantFn} value={InspectData.irresponsibleReasonOther__c} aria-describedby="error-message-unique-id" class="slds-input" aria-invalid="true" disabled if:true={IsSQZ}/>
+
+ </div>
+ <div class="slds-form-element__help" id="error-message-unique-id" if:true={qtLyFlag}>涓嶅簲鏍囩悊鐢变笉鑳戒负绌�</div>
+ </div>
+
+ <div class={bxgLy1} if:true={GetproInvolvedManualShow}>
+ <lightning-combobox
+ name="progress"
+ label="娑夊強浜у搧"
+ value={InspectData.proInvolvedManual__c}
+ placeholder="璇烽�夋嫨娑夊強浜у搧"
+ options={GetproInvolvedManuals}
+ onchange={handleIrresponsibleReasonsFn1}
+ if:false={IsSJCP}
+ ></lightning-combobox>
+
+ <lightning-combobox
+ name="progress"
+ label="娑夊強浜у搧"
+ value={InspectData.proInvolvedManual__c}
+ placeholder="璇烽�夋嫨娑夊強浜у搧"
+ options={GetproInvolvedManuals}
+ onchange={handleIrresponsibleReasonsFn1}
+ disabled
+ if:true={IsSJCP}
+ ></lightning-combobox>
+ </div>
+
+ <div class={qtLy1} if:true={SJCPIsShow}>
+ <label class="slds-form-element__label" for="select-02">娑夊強浜у搧锛堟墜鍔級:</label>
+ <div class="slds-form-element__control">
+ <input type="text" id="text-input-id-7" placeholder="璇疯緭鍏ユ秹鍙婁骇鍝�" required="" onchange={handleSJCPFN} value={InspectData.proInvolved__c} aria-describedby="error-message-unique-id" class="slds-input" aria-invalid="true" if:false={IsSJCP} />
+ <input type="text" id="text-input-id-8" placeholder="璇疯緭鍏ユ秹鍙婁骇鍝�" required="" onchange={handleSJCPFN} value={InspectData.proInvolved__c} aria-describedby="error-message-unique-id" class="slds-input" aria-invalid="true" disabled if:true={IsSJCP} />
+ </div>
+ <div class="slds-form-element__help" id="error-message-unique-id1" if:true={qtLyFlag1}>娑夊強浜у搧涓嶈兘涓虹┖</div>
+ </div>
+
+
+ <div if:true={BCIsShow}>
+ <label class="slds-form-element__label" for="select-02">琛ュ厖璇存槑:</label>
+ <div class="slds-form-element__control">
+ <input type="text" id="text-input-id-3" placeholder="璇疯緭鍏ヨˉ鍏呰鏄�" required="" onchange={handleBCSMFn} value={InspectData.RepsExtraContent__c} aria-describedby="error-message-unique-id" class="slds-input" aria-invalid="true" if:false={IsBC} />
+ <input type="text" id="text-input-id-4" placeholder="璇疯緭鍏ヨˉ鍏呰鏄�" required="" onchange={handleBCSMFn} value={InspectData.RepsExtraContent__c} aria-describedby="error-message-unique-id" class="slds-input" aria-invalid="true" disabled if:true={IsBC}/>
+
+ </div>
+ <!-- <div class="slds-form-element__help" id="error-message-unique-id2" if:true={qtLyFlag}>琛ュ厖璇存槑涓嶈兘涓虹┖</div> -->
+ </div>
+
+
+
+ <div if:true={YSJEIsShow}>
+ <label class="slds-form-element__label" for="select-02">娑夊強棰勭畻閲戦:</label>
+ <div class="slds-form-element__control">
+ <input type="text" id="text-input-id-5" placeholder="璇疯緭鍏ユ秹鍙婇绠楅噾棰�" required="" onchange={handleYSJEFn} value={YSJEIsContent} aria-describedby="error-message-unique-id" class="slds-input" aria-invalid="true" if:false={IsYSJE} />
+ <input type="text" id="text-input-id-6" placeholder="璇疯緭鍏ユ秹鍙婇绠楅噾棰�" required="" onchange={handleYSJEFn} value={YSJEIsContent} aria-describedby="error-message-unique-id" class="slds-input" aria-invalid="true" disabled if:true={IsYSJE}/>
+
+ </div>
+ <!-- <div class="slds-form-element__help" id="error-message-unique-id2" if:true={qtLyFlag}>琛ュ厖璇存槑涓嶈兘涓虹┖</div> -->
+ </div>
+
+
+ <!-- <button class="slds-button slds-button_brand" onclick={saveFn} style="margin-top: 10px;" if:false={IsSQZButton} >淇濆瓨</button>
+ <button class="slds-button slds-button_brand" onclick={saveFn} style="margin-top: 10px;" disabled if:true={IsSQZButton} >淇濆瓨</button> -->
+
+
+ <span if:true={irresponsibleReasonShow} style="margin-left:10px">
+ <button class="slds-button slds-button_brand" onclick={CheckFn} style="margin-top: 10px;" if:false={IsSQZ}>鎻愪氦瀹℃壒</button>
+ <button class="slds-button slds-button_brand" onclick={CheckFn} style="margin-top: 10px;" disabled if:true={IsSQZ} >鎻愪氦瀹℃壒</button>
+ </span>
+ </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/tBidding/tBidding.js b/force-app/main/default/lwc/tBidding/tBidding.js
new file mode 100644
index 0000000..fc8119c
--- /dev/null
+++ b/force-app/main/default/lwc/tBidding/tBidding.js
@@ -0,0 +1,429 @@
+import { LightningElement, track } from 'lwc';
+import GetInspectById from '@salesforce/apex/InspectCheckController.GetInspectById';
+import SaveDataYB from '@salesforce/apex/InspectCheckController.SaveDataYB';
+import ChangeDataYB from '@salesforce/apex/InspectCheckController.ChangeDataYB';
+import GetIrresponsibleReason from '@salesforce/apex/InspectCheckController.GetIrresponsibleReason';
+import GetproInvolvedManual from '@salesforce/apex/InspectCheckController.GetproInvolvedManual';
+
+import CheckOwnerRequest from '@salesforce/apex/InspectCheckController.CheckOwner';
+
+export default class Yb extends LightningElement {
+
+//鎻愮ず
+Tongzhishow=false; //鎻愮ず鏄剧ず鐨勬爣璇�
+SaveShowText="鎿嶄綔鎴愬姛"; //鎻愮ず鏄剧ず鐨勬枃鏈�
+TongzhiIcon = 'standard:account' //鎻愮ず鏄剧ず鐨勬爣绛�
+IsLeftStyle = "" //鎻愮ず鏄剧ず鐨勬牱寮�
+BgColorStyle = ""
+Alert(content,error = false,left = false){
+ this.SaveShowText = content;
+ this.Tongzhishow = true;
+ // setTimeout(()=>{
+ // this.Tongzhishow = false;
+ // this.SaveShowText = "";
+ // },3000)
+ 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()
+{
+ if (this.Tongzhishow == true) {
+ this.Tongzhishow = false;
+ }
+ if (this.SaveShowText != "") {
+ this.SaveShowText = "";
+ }
+
+}
+
+ 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);
+ }
+ ParamIdStr = ''
+ connectedCallback(){
+ var paramId = this.getQueryVariable('id');
+ if (paramId == null || paramId == '') {
+ return ;
+ }
+ this.ParamIdStr= paramId;
+
+ this.GetInspectByIdFn(paramId);
+ // this.CheckOwner(paramId);
+ this.GetIrresponsibleReasonFn();
+ //20220913 you SWAG-CJ3DS5 start
+ this.GetproInvolvedManualFn();
+ }
+
+ CheckResult = false;
+ CheckOwner(Id)
+ {
+ debugger;
+ CheckOwnerRequest({Id:Id}).then(result=>{
+ var resultArr = result.split("==");
+ if (resultArr[0] == resultArr[1]) {
+ this.CheckResult = false;
+ }else{
+ this.CheckResult = true;
+ }
+
+ if (this.CheckResult) {
+ this.InspectData.IsBid__c = '鏄�';
+ this.InspectData.irresponsibleReason__c = '';
+ this.InspectData.irresponsibleReasonOther__c = '';
+ //20220914 you SWAG-CJ3DS5 start
+ this.InspectData.proInvolvedManual__c = '';
+ this.InspectData.proInvolved__c = '';
+ //20220914 you SWAG-CJ3DS5 end
+ this.irresponsibleReasonShow = false;
+ this.otherShow = false;
+ this.IsBC= false;
+ this.BCIsShow = false;
+ this.YSJEIsShow = false;
+ this.IsYSJE = false;
+ this.IsSQZ = true;
+ }else{
+ this.IsSQZ = false;
+ }
+ // this.ShowText = result;
+ })
+ }
+ ShowText = '';
+ IrresponsibleReasons = []; //閫夐」鍒楄〃灞曠ず鐨勫垪
+ GetIrresponsibleReasonFn()
+ {
+ GetIrresponsibleReason().then(result=>{
+ var response=JSON.parse(result);
+ this.IrresponsibleReasons = response;
+ })
+
+ }
+ //20220913 you SWAG-CJ3DS5 start
+ GetproInvolvedManuals = []; //閫夐」鍒楄〃灞曠ず鐨勫垪
+ GetproInvolvedManualFn()
+ {
+ GetproInvolvedManual().then(result=>{
+ var response=JSON.parse(result);
+ this.GetproInvolvedManuals = response;
+ })
+
+ }
+ //20220913 you SWAG-CJ3DS5 end
+
+
+ @track InspectData = {}; //鏁版嵁
+ IsSQZ = false; //鐢宠涓殑鏍囪瘑
+ IsSQZButton = false;
+ GetInspectByIdFn(Id)
+ {
+ GetInspectById({Id:Id}).then(result=>{
+ var response=JSON.parse(result);
+ if (response!=undefined && response.length == 1) {
+ var tempData = response[0];
+ tempData.IsBid__c = '鍚�';
+ debugger;
+ if (tempData.InvolveBudgetAmount__c != undefined) {
+ this.YSJEIsContent = tempData.InvolveBudgetAmount__c;
+ }else
+ {
+ if (tempData.BudgetAmountNumber__c != undefined) {
+ this.YSJEIsContent = tempData.BudgetAmountNumber__c;
+ }
+ }
+
+ if (tempData.proInvolved__c != undefined) {
+ this.SJCPIsContent = tempData.proInvolved__c;
+ }else{
+ tempData.proInvolved__c = '';
+ }
+ //20220913 you SWAG-CJ3DS5 start
+ // if (tempData.irresponsibleReason__c == "鎷涙爣浜у搧涓庢垜鍙镐笉鍖归厤") {
+ // this.SJCPIsShow = true;
+ // }else{
+ // this.SJCPIsShow = false;
+ // }GetproInvolvedManualShow
+
+ if (tempData.irresponsibleReason__c == "鎷涙爣浜у搧涓庢垜鍙镐笉鍖归厤") {
+ this.GetproInvolvedManualShow = true;
+ }else{
+ this.GetproInvolvedManualShow = false;
+ }
+ if (tempData.proInvolvedManual__c == "鍏朵粬") {
+ this.SJCPIsShow = true;
+ }else{
+ this.SJCPIsShow = false;
+ }
+ //20220913 you SWAG-CJ3DS5 end
+ tempData.InvolveBudgetAmount__c = this.YSJEIsContent ;
+
+ if(this.YSJEIsContent == 0 || this.YSJEIsContent == '')
+ {
+ this.YSJEIsShow = false;
+ }
+
+ if (tempData.IsBid__c != undefined && tempData.IsBid__c == '鍚�') {
+ this.irresponsibleReasonShow = true;
+ this.BCIsShow = true;
+ // this.YSJEIsShow = true;
+ }else{
+ this.irresponsibleReasonShow = false;
+ }
+ if (tempData.IsBid__c != undefined && tempData.IsBid__c == '鍚�' && tempData.irresponsibleReason__c != undefined && tempData.irresponsibleReason__c == '鍏朵粬锛堝彲鎵嬪姩濉啓锛�') {
+ this.otherShow = true;
+ }else{
+ this.otherShow = false;
+ }
+
+
+ if (tempData.irresponsibleReason__c == undefined) {
+ tempData.irresponsibleReason__c = '';
+ }
+
+ if (tempData.RepsExtraContent__c == undefined) {
+ tempData.RepsExtraContent__c = '';
+ }
+
+ if (tempData.irresponsibleReasonOther__c == undefined) {
+ tempData.irresponsibleReasonOther__c = '';
+ }
+ //20220914 you SWAG-CJ3DS5 start
+ if (tempData.proInvolvedManual__c == undefined) {
+ tempData.proInvolvedManual__c = '';
+ }
+ if (tempData.proInvolved__c == undefined) {
+ tempData.proInvolved__c = '';
+ }
+ //20220914 you SWAG-CJ3DS5 end
+ debugger;
+ if (tempData.NotBidApprovalStatus__c == '鐢宠涓�') {
+ setTimeout(()=>{
+ this.IsSQZ = true;
+ this.IsSQZButton = true;
+ this.IsBC = true;
+ this.IsYSJE = true;
+ this.IsSJCP = true;
+ },1000)
+
+ }
+
+ this.InspectData =tempData;
+ }
+
+ })
+ }
+
+
+
+ IsBidArr=[
+ {label :"鏄�",value:"鏄�"},
+ {label :"鍚�",value:"鍚�"},
+ ]
+ //閫夐」鍒楄〃灞曠ず鐨勫垪
+ irresponsibleReasonShow = false;
+ handleChange(event) {
+ var value = event.detail.value;
+
+ this.InspectData.IsBid__c = value;
+ if (value == "鍚�") {
+
+ this.irresponsibleReasonShow = true;
+ this.BCIsShow = true;
+ // this.YSJEIsShow = true;
+ if( this.InspectData.irresponsibleReason__c != undefined && this.InspectData.irresponsibleReason__c == '鍏朵粬锛堝彲鎵嬪姩濉啓锛�')
+ {
+ this.otherShow = true;
+ }
+
+ }else{
+ // this.InspectData.irresponsibleReason__c = '';
+ // this.InspectData.irresponsibleReasonOther__c = '';
+ this.irresponsibleReasonShow = false;
+ this.otherShow = false;
+ this.IsBC= false;
+ this.BCIsShow = false;
+ this.YSJEIsShow = false;
+ this.IsYSJE = false;
+ }
+ }
+
+ //杈撳叆妗� 鏈緭鍏ュ睍绀虹殑鍊�
+ bxgLy ="slds-form-element"; //error = slds-form-element slds-has-error
+ bxgLyFlag = false;
+
+ otherShow = false; //鏄惁鏄叾浠栬緭鍏�
+ handleIrresponsibleReasonsFn(event)
+ {
+ this.SJCPIsShow =false;//20220914 you SWAG-CJ3DS5
+ var value = event.target.value;
+ this.InspectData.irresponsibleReason__c = value;
+ if (value == "鍏朵粬锛堝彲鎵嬪姩濉啓锛�") {
+ this.otherShow = true;
+ }else{
+ this.InspectData.irresponsibleReasonOther__c = '';
+ this.otherShow = false;
+ debugger;
+ }
+ //20220913 you SWAG-CJ3DS5 start
+ // if (value == "鎷涙爣浜у搧涓庢垜鍙镐笉鍖归厤") {
+ // this.SJCPIsShow = true;
+ // }else{
+ // this.SJCPIsShow = false;
+ // }
+ //20220913 you SWAG-CJ3DS5 start
+ if (value == "鎷涙爣浜у搧涓庢垜鍙镐笉鍖归厤") {
+ this.GetproInvolvedManualShow = true;
+ }else{
+ this.InspectData.proInvolvedManual__c = '';
+ this.InspectData.proInvolved__c = '';
+ this.GetproInvolvedManualShow = false;
+ }
+ //20220913 you SWAG-CJ3DS5 end
+ }
+ //20220913 you SWAG-CJ3DS5 start
+ bxgLy1 ="slds-form-element"; //error = slds-form-element slds-has-error
+ handleIrresponsibleReasonsFn1(event)
+ {
+ var value = event.target.value;
+ this.InspectData.proInvolvedManual__c = value;
+ if (value == "鍏朵粬") {
+ this.SJCPIsShow = true;
+ }else{
+ this.InspectData.proInvolved__c = '';
+ this.SJCPIsShow = false;
+ debugger;
+ }
+ }
+ //20220913 you SWAG-CJ3DS5 end
+ //杈撳叆妗� 鏈緭鍏ュ睍绀虹殑鍊�
+ qtLy="slds-form-element";
+ qtLyFlag = false;
+ //20220914 you SWAG-CJ3DS5 start
+ qtLy1="slds-form-element";
+ qtLyFlag1 = false;
+ //20220914 you SWAG-CJ3DS5 end
+ handleOtherIrrelevantFn(event)
+ {
+ var value = event.target.value;
+ this.InspectData.irresponsibleReasonOther__c = value;
+
+ }
+ //杈撳叆妗� 鏈緭鍏ュ睍绀虹殑鍊�
+ BCIsShow = false;
+ IsBC = false;
+ handleBCSMFn(event)
+ {
+ var value = event.target.value;
+ this.InspectData.RepsExtraContent__c = value;
+
+ }
+
+
+ //
+ YSJEIsShow = false;
+ YSJEIsContent = '';
+ IsYSJE = false;
+ handleYSJEFn(event)
+ {
+ var value = event.target.value;
+ this.YSJEIsContent = value;
+ this.InspectData.InvolveBudgetAmount__c = value;
+
+ }
+
+ //娑夊強浜у搧
+ //
+ SJCPIsShow = false;
+ SJCPIsContent = '';
+ IsSJCP = false;
+ handleSJCPFN(event)
+ {
+ var value = event.target.value;
+ this.SJCPIsContent = value;
+ this.InspectData.proInvolved__c = value;
+
+ }
+ //鏁版嵁淇濆瓨鏂规硶
+ saveFn(event,temp){
+
+
+ var flag = true;
+
+ if (this.InspectData.IsBid__c == "鍚�" && (this.InspectData.irresponsibleReason__c == undefined || this.InspectData.irresponsibleReason__c == "" )) {
+ this.bxgLy = "slds-form-element slds-has-error"
+ this.bxgLyFlag = true;
+ flag = false;
+ }else{
+ this.bxgLy = "slds-form-element"
+ this.bxgLyFlag = false;
+ }
+
+
+ if (this.InspectData.irresponsibleReason__c == "鍏朵粬锛堝彲鎵嬪姩濉啓锛�" && (this.InspectData.irresponsibleReasonOther__c == undefined || this.InspectData.irresponsibleReasonOther__c == "" )) {
+ this.qtLy = "slds-form-element slds-has-error"
+ this.qtLyFlag = true;
+ flag = false;
+ }else{
+ this.qtLy = "slds-form-element"
+ this.qtLyFlag = false;
+ }
+ //20220913 you SWAG-CJ3DS5 start
+ if (this.InspectData.proInvolvedManual__c == "鍏朵粬" && (this.InspectData.proInvolved__c == undefined || this.InspectData.proInvolved__c == "" )) {
+ this.qtLy1 = "slds-form-element slds-has-error"
+ this.qtLyFlag1 = true;
+ flag = false;
+ }else{
+ this.qtL1y = "slds-form-element"
+ this.qtLyFlag1 = false;
+ }
+ //20220913 you SWAG-CJ3DS5 end
+ if (flag) {
+ if (temp == 1) {
+ ChangeDataYB({JsonData:JSON.stringify(this.InspectData)}).then((response)=>{
+ if (response=="鎴愬姛") {
+ this.Alert("鎻愪氦鎴愬姛");
+ this.IsSQZ = true;
+ this.IsSQZButton = true;
+ this.IsBC = true;
+ this.IsYSJE = true;
+ window.location.hash = "Refresh"+"=="+this.ParamIdStr;
+ }else{
+ this.Alert(response,true);
+ }
+ });
+ }else
+ {
+ SaveDataYB({JsonData:JSON.stringify(this.InspectData)}).then((response)=>{
+ if (response=="鎴愬姛") {
+ this.Alert("淇濆瓨鎴愬姛",false,true);
+ window.location.hash = "Refresh"+"=="+this.ParamIdStr;
+ }else{
+ this.Alert(response,true);
+ }
+ });
+ }
+ }
+ }
+
+ CheckFn()
+ {
+ this.saveFn(null,1);
+
+ }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/tBidding/tBidding.js-meta.xml b/force-app/main/default/lwc/tBidding/tBidding.js-meta.xml
new file mode 100644
index 0000000..0416469
--- /dev/null
+++ b/force-app/main/default/lwc/tBidding/tBidding.js-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>51.0</apiVersion>
+ <isExposed>false</isExposed>
+</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
new file mode 100644
index 0000000..c620a8b
--- /dev/null
+++ b/force-app/main/default/lwc/tEnquiry/tEnquiry.html
@@ -0,0 +1,62 @@
+<template>
+
+ <!-- 鎴愬姛 -->
+ <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>
+ </div>
+ </div>
+ <div class="exampleHolder" if:true={IsLoading}>
+ <lightning-spinner alternative-text="Loading" size="large"></lightning-spinner>
+ </div>
+ <div style="height:600px;overflow:scroll;">
+ <div style="display:inline">
+ <!-- <div style="width:200px;float: left" >
+ <label class="slds-form-element__label" for="select-02">璇环缂栫爜:</label>
+ <div class="slds-form-element__control">
+ <input type="text" style="width:200px" id="text-input-id-1" placeholder="璇疯緭鍏ヨ浠风紪鐮�" required="" onchange={handleXJBMFn} aria-describedby="error-message-unique-id" class="slds-input" aria-invalid="true" />
+
+ </div>
+
+ </div> -->
+
+ <div style="width: 500px;float: left;margin-left: 10px;">
+ <!-- <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>
+
+ </div>
+
+ </div>
+
+ <button style="margin-top:24px" class="slds-button slds-button_brand" onclick={SearchFn}>妫�绱�</button>
+
+ <button style="margin-top:24px" class="slds-button slds-button_brand" onclick={SaveFn}>淇濆瓨</button>
+
+ <c-jz-table data-parent-id="table1" selecttitle={selecttitle} notselecttitle={notselecttitle} selectdata={selectdata} isselectedtable={isselectedtable} optionsdata={optionsdata} notselectdata={notselectdata} ondatachange={datachange} onselectedchange={selectedchange} onurlclick={urlClickFn}> </c-jz-table>
+
+ </div>
+
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/tEnquiry/tEnquiry.js b/force-app/main/default/lwc/tEnquiry/tEnquiry.js
new file mode 100644
index 0000000..5b368af
--- /dev/null
+++ b/force-app/main/default/lwc/tEnquiry/tEnquiry.js
@@ -0,0 +1,487 @@
+import { LightningElement,track } from 'lwc';
+import GetNormalProductDataNotSave from '@salesforce/apex/OpportunityService.GetNormalProductDataNotSave';
+import GetNormalProductDataIsSave from '@salesforce/apex/OpportunityService.GetNormalProductDataIsSave';
+
+import GetNormalProductDataSearch from '@salesforce/apex/OpportunityService.GetNormalProductDataSearch';
+
+import SaveData from '@salesforce/apex/OpportunityService.SaveData';
+
+
+import SearchYY from '@salesforce/apex/InspectCheckController.SearchYY';
+import SearchZLKS from '@salesforce/apex/InspectCheckController.SearchZLKS';
+
+
+
+
+import SearchParent from '@salesforce/apex/InspectCheckController.SearchParent';
+
+import SearchAccountById from '@salesforce/apex/InspectCheckController.SearchAccountById';
+
+
+
+import GetInspectById from '@salesforce/apex/InspectCheckController.GetInspectById';
+export default class test02 extends LightningElement {
+
+ //鍔犺浇
+ IsLoading = false;
+ OnLoading(flag){
+ this.IsLoading = flag;
+ }
+ //鍔犺浇
+ Tongzhishow=false; //鎻愮ず鏄剧ず鐨勬爣璇�
+ SaveShowText="鎿嶄綔鎴愬姛"; //鎻愮ず妗嗙殑鏂囨湰
+ TongzhiIcon = 'standard:account' //鎻愮ず妗嗙殑鍥炬爣
+ IsLeftStyle = "" //鎻愮ず妗嗙殑鏍峰紡
+ BgColorStyle = ""
+ 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()
+ {
+ if (this.Tongzhishow == true) {
+ this.Tongzhishow = false;
+ }
+ if (this.SaveShowText != "") {
+ this.SaveShowText = "";
+ }
+
+ }
+
+ //==================鑾峰彇鎷涙姇鏍囬」鐩甶d================
+ ParamIdStr = ''; // url 鍙傛暟Id
+ 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);
+ }
+ connectedCallback(){
+
+ var paramId = this.getQueryVariable('id');
+ if (paramId == null || paramId == '') {
+ return ;
+ }
+ this.ParamIdStr = paramId;
+
+ this.InitData(false);
+
+ }
+
+ departmentId = ''; //鎴樼暐绉戝鐨処d
+ accountIdTemp = '' //鏅�氱瀹ょ殑Id
+ yyId = ''; // 鍖婚櫌鐨処D
+ InitSelectdata = [] //宸查�変腑鐨勬暟鎹�
+ InitNotSelectdata = [] //鏈�変腑鐨勬暟鎹�
+ hisotryData = [];
+
+ // 20210914 鎴樼暐绉戝淇敼
+ depart_sels = '';
+ // 20210914 鎴樼暐绉戝淇敼
+
+ //鏁版嵁鏌ヨ
+ InitData(flag ){
+ this.OnLoading(true);
+ var isloading = 0;
+
+ GetInspectById({Id:this.ParamIdStr}).then(response=>{
+ var Datas = JSON.parse(response);
+ var accountData = Datas[0].account__c;
+ if (Datas[0].Hospital__c !=undefined) {
+ this.hisotryData.push(Datas[0].Hospital__c);
+ }
+ if (Datas[0].Hospital1__c !=undefined) {
+ this.hisotryData.push(Datas[0].Hospital1__c);
+ }
+ if (Datas[0].Hospital2__c !=undefined) {
+ this.hisotryData.push(Datas[0].Hospital2__c);
+ }
+ if (Datas[0].Hospital3__c !=undefined) {
+ this.hisotryData.push(Datas[0].Hospital3__c);
+ }
+ if (Datas[0].Hospital4__c !=undefined) {
+ this.hisotryData.push(Datas[0].Hospital4__c);
+ }
+ this.accountIdTemp = accountData;
+
+
+ this.departmentId = Datas[0].department__c;
+ // this.yyId = Datas[0].Hospital__c;
+
+ // 20210914 鎴樼暐绉戝淇敼
+ this.depart_sels = Datas[0].department_selection__c;
+ // 20210914 鎴樼暐绉戝淇敼
+
+ GetNormalProductDataNotSave({IdStr:this.ParamIdStr,hospital:this.hisotryData,departments:this.depart_sels}).then(response=>{
+ var datas = JSON.parse(response);
+ this.notselectdata = datas;
+ this.notselectdata.forEach(item=>{
+ if (item.Bidding_Project_Name_Bid__c != undefined && item.Bidding_Project_Name_Bid__c != "") {
+ item.Bidding_Project_Name_Bid__c_show = '宸插叧鑱�'
+ }else{
+ item.Bidding_Project_Name_Bid__c_show = '鏈叧鑱�'
+ }
+ })
+ this.InitNotSelectdata = datas;
+ this.template.querySelector('[data-parent-id="table1"]').refreshdata(this.selectdata,this.notselectdata);
+ isloading++;
+ if (isloading == 2) {
+ this.OnLoading(false);
+ if (flag) {
+ this.Alert("淇濆瓨鎴愬姛",false,true);
+ }
+ }
+ })
+ GetNormalProductDataIsSave({IdStr:this.ParamIdStr}).then(response=>{
+ var dataTemp = JSON.parse(response);
+ this.selectdata = dataTemp;
+ this.selectdata.forEach(item=>{
+ if (item.Bidding_Project_Name_Bid__c != undefined && item.Bidding_Project_Name_Bid__c != "") {
+ item.Bidding_Project_Name_Bid__c_show = '宸插叧鑱�'
+ }else{
+ item.Bidding_Project_Name_Bid__c_show = '鏈叧鑱�'
+ }
+ })
+ this.InitSelectdata = dataTemp;
+ this.template.querySelector('[data-parent-id="table1"]').refreshdata(this.selectdata,this.notselectdata);
+ isloading++;
+ if (isloading == 2) {
+ this.OnLoading(false);
+ if (flag) {
+ this.Alert("淇濆瓨鎴愬姛",false,true);
+ }
+ }
+
+ })
+ })
+
+
+ }
+// 璇环
+ //table 鍒楄〃鐨勬暟鎹�
+ @track optionsdata=[
+ {
+ label:"璇环鍚嶇О",
+ props:"Name",
+ url:"Id",
+ Type:"url",
+ },
+ {
+ label:"璇环缂栫爜",
+ props:"Opportunity_No__c",
+ Type:"text",
+ },
+ {
+ label:"瀹㈡埛鍚�",
+ props:"Account_Name_F__c",
+ url:"Id",
+ Type:"url",
+ },
+ {
+ label:"璇环闃舵",
+ props:"Opportunity_stage__c",
+ Type:"text",
+ },
+ {
+ label:"鍏宠仈鎷涙爣椤圭洰",
+ props:"Bidding_Project_Name_Bid__c_show",
+ Type:"text",
+ },
+ {
+ label:"鐘舵��1",
+ props:"StageName__c",
+ Type:"text",
+ },
+
+ ]
+
+ //table 琛ㄥ崟鏁版嵁
+ @track selectdata=[
+ ]
+
+ // table 鏈�変腑鐨勬暟鎹�
+ @track notselectdata=[
+ ]
+ // table 鏃跺�欓�変腑鐨勫垽鏂�
+ @track isselectedtable = true;
+
+ // 鍒濆鍖栨悳绱㈢殑鏂规硶
+ initsearchdata(event){
+ var detail = event.detail;
+
+ return [];
+
+ }
+
+ datachange(event)
+ {
+ console.warn("datachange");
+ console.warn(event.detail.Id);
+ }
+
+ selected = []; // 閫変腑鐨勬暟鎹�
+ notselected = [];// 鏈�夋嫨鐨勬暟鎹�
+ selectedchange(event)
+ {
+ console.warn("selectedchange");
+ console.warn(event.detail);
+
+ this.selected = event.detail.selected;
+ this.notselected = event.detail.notselected;
+ }
+
+ @track selecttitle ="宸插叧鑱旂殑璇环"
+ @track notselecttitle ="鏈叧鑱旂殑璇环"
+
+ // TableEnd
+ XJBMValue = '';
+ handleXJBMFn(event){
+ var value = event.target.value;
+ this.XJBMValue = value;
+ }
+
+ SearchFn(event){
+ debugger;
+ if (this.yyId != undefined && this.yyId != '') {
+ this.YYSelectedId = this.yyId;
+ }
+
+ if ((this.XJBMValue == '' || this.XJBMValue == ' ') && (this.YYSelectedId == '' || this.YYSelectedId == ' ')) {
+ this.OnLoading(true);
+ GetNormalProductDataSearch({noStr:undefined,IdStr:this.ParamIdStr,hospital:this.YYSelectedId,hospitalArr:this.hisotryData,departments:this.depart_sels}).then(response=>{
+ var datas = JSON.parse(response);
+ this.notselectdata = datas;
+ this.template.querySelector('[data-parent-id="table1"]').refreshdata(this.selectdata,this.notselectdata);
+ this.OnLoading(false);
+ })
+ return ;
+ }
+ this.OnLoading(true);
+
+ GetNormalProductDataSearch({noStr:this.XJBMValue,IdStr:this.ParamIdStr,hospital:this.YYSelectedId,hospitalArr:this.hisotryData,departments:this.depart_sels}).then(response=>{
+
+ var datas = JSON.parse(response);
+ this.notselectdata = datas;
+
+ this.template.querySelector('[data-parent-id="table1"]').refreshdata(this.selectdata,this.notselectdata);
+ this.OnLoading(false);
+ })
+ }
+
+ SaveInits(){
+ this.OnLoading(true);
+ var isloading = 0;
+
+ if (this.yyId != undefined && this.yyId != '') {
+ this.YYSelectedId = this.yyId;
+ }
+
+
+ GetNormalProductDataIsSave({IdStr:this.ParamIdStr}).then(response=>{
+ var dataTemp = JSON.parse(response);
+ this.selectdata = dataTemp;
+ this.InitSelectdata = dataTemp;
+ this.template.querySelector('[data-parent-id="table1"]').refreshdata(this.selectdata,this.notselectdata);
+ isloading ++;
+ if (isloading == 2) {
+ this.OnLoading(false);
+ this.Alert("淇濆瓨鎴愬姛",false,true);
+ }
+ })
+
+ GetNormalProductDataSearch({noStr:this.XJBMValue,IdStr:this.ParamIdStr,hospital:this.YYSelectedId,hospitalArr:this.hisotryData,departments:this.depart_sels}).then(response=>{
+
+ var datas = JSON.parse(response);
+ this.notselectdata = datas;
+ this.template.querySelector('[data-parent-id="table1"]').refreshdata(this.selectdata,this.notselectdata);
+ isloading ++;
+ if (isloading == 2) {
+ this.OnLoading(false);
+ this.Alert("淇濆瓨鎴愬姛",false,true);
+ }
+ })
+ }
+
+ SaveFn(event)
+ {
+ this.OnLoading(true);
+ // 鎷呭綋/鍔╃悊鎿嶄綔鍏宠仈鐨勬嫑鏍囬」鐩笉鑳藉啀鍙栨秷 20210824
+ var selectedJson = JSON.stringify([]);
+ var notselectJson = JSON.stringify(this.notselected);
+ var flag = this.compareSelected();
+ if (flag == false) {
+ this.OnLoading(false);
+ this.Alert("鍖婚櫌涓嶅尮閰嶏紝淇濆瓨澶辫触锛�",true);
+ return;
+ }
+ debugger;
+ SaveData({JsonSelected:selectedJson,JsonNotSelected:notselectJson,BiddingId:this.ParamIdStr,flag:true}).then(response=>{
+
+
+ debugger;
+
+
+ this.XJBMValue = '';
+
+ if (response == '鎴愬姛') {
+ // this.SaveInits();
+ this.UpdateDatas(this.notselected);
+ window.location.hash = "Refresh"+"=="+this.ParamIdStr;
+ this.OnLoading(false);
+ }else{
+ this.OnLoading(false);
+ this.Alert(response,true,false);
+ }
+
+ });
+ }
+ UpdateDatas(ids)
+ { var selectDataArr = []; //鏂伴泦鍚�
+ var selectData = []; //宸查�変腑鐨勯泦鍚�
+ this.notselectdata.forEach(element => {
+ var flag = true;
+ ids.forEach(item=>{
+ if(element.Id == item.Id)
+ {
+ flag = false;
+ }
+ });
+ var tempData = {...element,...{}};
+ if (flag) {
+ selectDataArr.push(tempData);
+ }else{
+ selectData.push(tempData);
+ }
+ });
+ this.notselectdata = selectDataArr;
+
+ selectData.forEach(item=>{
+ this.selectdata.push(item);
+ })
+ this.template.querySelector('[data-parent-id="table1"]').refreshdata(this.selectdata,this.notselectdata);
+
+ }
+ //鏍¢獙鏄惁鏈夐噸澶嶇殑
+ compareSelected()
+ {
+
+ var temp = '';
+ var flag = true;
+ if (this.selectdata.length>0) {
+ temp = this.selectdata[0].Hospital__c;
+ }
+ if (this.notselected.length>0) {
+ temp = this.notselected[0].Hospital__c;
+ }
+
+ //濡傛灉娌℃湁淇濆瓨 浠讳綍鍖婚櫌
+ if(!this.hisotryData.length > 0)
+ {
+ var TempArr = [];
+
+ this.selectdata.forEach(item=>{
+ let fTemp = TempArr.find(fItem=>{
+ return fItem.Hospital__c == item.Hospital__c;
+ })
+ if (fTemp == undefined) {
+ TempArr.push(item);
+ }
+ })
+
+ this.notselected.forEach(item=>{
+ let fTemp = TempArr.find(fItem=>{
+ return fItem.Hospital__c == item.Hospital__c;
+ })
+ if (fTemp == undefined) {
+ TempArr.push(item);
+ }
+ })
+ debugger;
+ if (TempArr.length > 5) {
+ return false;
+ }else{
+ return true;
+ }
+ }
+
+ // if (temp == '') {
+ // flag = false;
+ // }
+ this.selectdata.forEach(item=>{
+
+ let findResult = this.hisotryData.find((fItem=>{
+ return fItem == item.Hospital__c;
+ }))
+ if (!findResult) {
+ flag = false;
+ }
+ })
+
+ this.notselected.forEach(item=>{
+ let findResult = this.hisotryData.find((fItem=>{
+ return fItem == item.Hospital__c;
+ }))
+ if (!findResult) {
+ flag = false;
+ }
+ })
+
+ return flag;
+ }
+
+ urlClickFn(event)
+ {
+ var a =event;
+
+ }
+ //鍏宠仈鍖婚櫌
+
+ option = [{lableOne:"Name",lableTwo:"Acc_Record_Type__c"}]
+ searchdata=[];
+ isErrorShowYY=false;
+ onsearchchange(event){
+ var searchContentStr = event.detail.searchContent;
+ SearchYY({content:searchContentStr}).then(response=>{
+ var datas = JSON.parse(response);
+ this.searchdata = datas;
+ this.template.querySelector('[data-parent-id="lookup1"]').refreshdata(this.searchdata);
+ })
+ if (searchContentStr == undefined || searchContentStr == '') {
+ this.YYSelectedId = '';
+ }
+ }
+ YYSelectedId = '';
+ selectedFn(event)
+ {
+ console.warn(event.detail.selectdata.Id);
+ this.YYSelectedId = event.detail.selectdata.Id;
+
+
+ }
+
+ onsearchchange1(event){
+ this.YYSelectedId = event.detail.value;
+
+ }
+
+ //鍏宠仈鍖婚櫌
+
+
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/tEnquiry/tEnquiry.js-meta.xml b/force-app/main/default/lwc/tEnquiry/tEnquiry.js-meta.xml
new file mode 100644
index 0000000..0416469
--- /dev/null
+++ b/force-app/main/default/lwc/tEnquiry/tEnquiry.js-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>51.0</apiVersion>
+ <isExposed>false</isExposed>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/tEnquiryNoBidding/tEnquiryNoBidding.html b/force-app/main/default/lwc/tEnquiryNoBidding/tEnquiryNoBidding.html
new file mode 100644
index 0000000..1c189aa
--- /dev/null
+++ b/force-app/main/default/lwc/tEnquiryNoBidding/tEnquiryNoBidding.html
@@ -0,0 +1,81 @@
+<template>
+ <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>
+ </div>
+ </div>
+
+
+ <div class="exampleHolder" if:true={IsLoading}>
+ <lightning-spinner alternative-text="Loading" size="large"></lightning-spinner>
+ </div>
+
+
+ <div >
+ <lightning-combobox
+ name="progress"
+ label="涓嶅簲鏍囩悊鐢�"
+ value={InspectData.irresponsibleReason__c}
+ placeholder="璇烽�夋嫨涓嶅簲鏍囩悊鐢�"
+ options={IrresponsibleReasons}
+ onchange={handleIrresponsibleReasonsFn}
+ ></lightning-combobox>
+ <div style="font-size:10px;color:red" if:true={bxgLyFlag}>璇烽�夋嫨涓嶅簲鏍囩悊鐢�</div>
+ </div>
+
+
+ <div class={qtLy} if:true={otherShow}>
+ <label class="slds-form-element__label" for="select-02">涓嶅簲鏍囩悊鐢�(鍏朵粬):</label>
+ <div class="slds-form-element__control">
+ <input type="text" id="text-input-id-1" placeholder="璇疯緭鍏ヤ笉搴旀爣鐞嗙敱(鍏朵粬)" required="" onchange={handleOtherIrrelevantFn} value={InspectData.irresponsibleReasonOther__c} aria-describedby="error-message-unique-id" class="slds-input" aria-invalid="true" />
+ </div>
+ <div style="font-size:10px;color:red" if:true={qtLyFlag}>涓嶅簲鏍囩悊鐢�(鍏朵粬)涓嶈兘涓虹┖</div>
+ </div>
+
+
+ <div if:true={BCIsShow}>
+ <label class="slds-form-element__label" for="select-02">琛ュ厖璇存槑:</label>
+ <div class="slds-form-element__control">
+ <input type="text" id="text-input-id-3" placeholder="璇疯緭鍏ヨˉ鍏呰鏄�" required="" onchange={handleBCSMFn} value={InspectData.RepsExtraContent__c} aria-describedby="error-message-unique-id" class="slds-input" aria-invalid="true" />
+ </div>
+ <!-- <div class="slds-form-element__help" id="error-message-unique-id2" if:true={qtLyFlag}>琛ュ厖璇存槑涓嶈兘涓虹┖</div> -->
+ </div>
+
+ <div if:true={YSJEIsShow}>
+ <label class="slds-form-element__label" for="select-02">娑夊強棰勭畻閲戦:</label>
+ <div class="slds-form-element__control">
+ <input type="text" id="text-input-id-5" placeholder="璇疯緭鍏ユ秹鍙婇绠楅噾棰�" required="" onchange={handleYSJEFn} value={InspectData.InvolveBudgetAmount__c} aria-describedby="error-message-unique-id" class="slds-input" aria-invalid="true" if:false={IsYSJE} />
+ </div>
+ <!-- <div class="slds-form-element__help" id="error-message-unique-id2" if:true={qtLyFlag}>琛ュ厖璇存槑涓嶈兘涓虹┖</div> -->
+ </div>
+
+
+ <!-- <button class="slds-button slds-button_brand" onclick={saveFn} style="margin-top: 10px;" >淇濆瓨</button> -->
+
+ <span style="margin-left:10px">
+ <button class="slds-button slds-button_brand" onclick={CheckFn} style="margin-top: 10px;" >鎻愪氦瀹℃壒</button>
+ </span>
+ </div>
+ </template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/tEnquiryNoBidding/tEnquiryNoBidding.js b/force-app/main/default/lwc/tEnquiryNoBidding/tEnquiryNoBidding.js
new file mode 100644
index 0000000..b5ea9bb
--- /dev/null
+++ b/force-app/main/default/lwc/tEnquiryNoBidding/tEnquiryNoBidding.js
@@ -0,0 +1,336 @@
+import { LightningElement, track } from 'lwc';
+import GetInspectById from '@salesforce/apex/EnquiryNoBiddingController.GetInspectById';
+import SaveDataYB from '@salesforce/apex/EnquiryNoBiddingController.SaveDataYB';
+import ChangeDataYB from '@salesforce/apex/EnquiryNoBiddingController.ChangeDataYB';
+import GetIrresponsibleReason from '@salesforce/apex/EnquiryNoBiddingController.GetIrresponsibleReason';
+
+import CheckOwnerRequest from '@salesforce/apex/EnquiryNoBiddingController.CheckOwner';
+
+import GetTenderInformationById from '@salesforce/apex/EnquiryNoBiddingController.GetTenderInformationById';
+
+
+import GetDataById from '@salesforce/apex/EnquiryNoBiddingController.GetDataById';
+
+
+export default class TEnquiryNoBidding extends LightningElement {
+
+
+
+ IsLoading = false; //鍔犺浇鐨勬爣璇�
+ //鍔犺浇鎻愮ず妗�
+ OnLoading(flag){
+ this.IsLoading = flag;
+ }
+
+
+
+//鎻愮ず
+Tongzhishow=false; //鎻愮ず鏄剧ず鐨勬爣璇�
+SaveShowText="鎿嶄綔鎴愬姛"; //鎻愮ず鏄剧ず鐨勬枃鏈�
+TongzhiIcon = 'standard:account' //鎻愮ず鏄剧ず鐨勬爣绛�
+IsLeftStyle = "" //鎻愮ず鏄剧ず鐨勬牱寮�
+BgColorStyle = ""
+Alert(content,error = false,left = false){
+ this.SaveShowText = content;
+ this.Tongzhishow = true;
+ // setTimeout(()=>{
+ // this.Tongzhishow = false;
+ // this.SaveShowText = "";
+ // },3000)
+ 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()
+{
+ if (this.Tongzhishow == true) {
+ this.Tongzhishow = false;
+ }
+ if (this.SaveShowText != "") {
+ this.SaveShowText = "";
+ }
+
+}
+
+ 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);
+ }
+ ParamIdStr = '' //涓嶅簲鏍囩敵璇穒D
+ ParamOIdStr = '' //璇环ID
+ ParamPIdStr = '' //鎷涙姇鏍嘔D
+
+
+ connectedCallback(){
+ this.OnLoading(true);
+
+ var paramId = this.getQueryVariable('id');
+ var paramOId = this.getQueryVariable('oid');
+ var paramTId = this.getQueryVariable('tid');
+ // paramId = 'a4Y1m0000000dhGEAQ';
+ // paramOId = '0061000000QL9M4AAL';
+
+ this.ParamIdStr= paramId;
+ this.ParamOIdStr = paramOId;
+ this.ParamPIdStr = paramTId;
+
+ debugger;
+
+ this.GetIrresponsibleReasonFn();
+
+ // Opp_Bid__c | Bidding_Project_Name_BidId__c
+
+ if(this.ParamOIdStr !=undefined && this.ParamOIdStr!=false)
+ {
+ GetDataById({Id:this.ParamOIdStr}).then(response=>{
+ var data = JSON.parse(response);
+ console.warn(data);
+ this.OpportunityObjec = data.tender == null?{}:data.tender;
+ this.InspectData = data.enquiry == null?{}:data.enquiry ;
+
+ this.check();
+
+ setTimeout(()=>{
+ this.OnLoading(false);
+ },1500);
+ })
+ }
+ }
+
+ check()
+ {
+ if(this.InspectData != undefined && this.InspectData != null && this.InspectData != {})
+ {
+ this.checkData(this.InspectData);
+ }else{
+ this.InspectData.irresponsibleReason__c = ''
+ this.InspectData.InvolveBudgetAmount__c = 0
+ this.InspectData.RepsExtraContent__c = ''
+ this.InspectData.irresponsibleReasonOther__c = ''
+ }
+ if(this.OpportunityObjec != undefined && this.OpportunityObjec != null && this.OpportunityObjec != {})
+ {
+ this.checkTender();
+ }
+ }
+
+ OpportunityObjec = {}; //鎷涙姇鏍囩殑鏁版嵁
+
+ checkTender()
+ {
+ if (this.InspectData.InvolveBudgetAmount__c == null || this.InspectData.InvolveBudgetAmount__c == 0) {
+ if (this.OpportunityObjec.BudgetAmountNumber__c != null) {
+ this.InspectData.InvolveBudgetAmount__c = this.OpportunityObjec.BudgetAmountNumber__c;
+ }
+ }
+ }
+
+ ShowText = '';
+ IrresponsibleReasons = []; //閫夐」鍒楄〃灞曠ず鐨勫垪
+ GetIrresponsibleReasonFn()
+ {
+ GetIrresponsibleReason().then(result=>{
+ var response=JSON.parse(result);
+ this.IrresponsibleReasons = response;
+ })
+
+ }
+ @track InspectData = {}; //鏁版嵁
+ IsSQZButton = false;
+ checkData(tempData)
+ {
+
+ if (tempData.irresponsibleReason__c != undefined && tempData.irresponsibleReason__c == '鍏朵粬锛堝彲鎵嬪姩濉啓锛�') {
+ this.otherShow = true;
+ }else{
+ this.otherShow = false;
+ }
+
+ if (tempData.InvolveBudgetAmount__c == undefined) {
+ tempData.InvolveBudgetAmount__c = 0;
+ }
+
+ if (tempData.irresponsibleReason__c == undefined) {
+ tempData.irresponsibleReason__c = '';
+ }
+
+ if (tempData.RepsExtraContent__c == undefined) {
+ tempData.RepsExtraContent__c = '';
+ }
+
+ if (tempData.irresponsibleReasonOther__c == undefined) {
+ tempData.irresponsibleReasonOther__c = '';
+ }
+
+ if (tempData.NotBidApprovalStatus__c == '鐢宠涓�' || tempData.NotBidApprovalStatus__c == '鎵瑰噯' ) {
+ setTimeout(()=>{
+ this.DisabledSet();
+ },1000);
+ }
+ }
+
+
+ //杈撳叆妗� 鏈緭鍏ュ睍绀虹殑鍊�
+ bxgLy ="slds-form-element"; //error = slds-form-element slds-has-error
+ bxgLyFlag = false;
+
+ otherShow = false; //鏄惁鏄叾浠栬緭鍏�
+ handleIrresponsibleReasonsFn(event)
+ {
+ var value = event.target.value;
+ this.InspectData.irresponsibleReason__c = value;
+ if (value == "鍏朵粬锛堝彲鎵嬪姩濉啓锛�") {
+ this.otherShow = true;
+ }else{
+ this.InspectData.irresponsibleReasonOther__c = '';
+ this.otherShow = false;
+ }
+ }
+
+
+ //杈撳叆妗� 鏈緭鍏ュ睍绀虹殑鍊�
+ qtLy="slds-form-element";
+ qtLyFlag = false;
+ handleOtherIrrelevantFn(event)
+ {
+ var value = event.target.value;
+ this.InspectData.irresponsibleReasonOther__c = value;
+
+ }
+ //杈撳叆妗� 鏈緭鍏ュ睍绀虹殑鍊�
+ BCIsShow = true;
+ handleBCSMFn(event)
+ {
+ var value = event.target.value;
+ this.InspectData.RepsExtraContent__c = value;
+
+ }
+
+
+ //
+ YSJEIsShow = true;
+ InvolveBudgetAmount__c = '';
+ handleYSJEFn(event)
+ {
+ var value = event.target.value;
+ this.InvolveBudgetAmount__c = value;
+ this.InspectData.InvolveBudgetAmount__c = value;
+
+ }
+
+ //鏁版嵁淇濆瓨鏂规硶
+ saveFn(event,temp){
+ if(!this.IsCheck){return;}
+
+ this.IsCheck = false;
+
+ debugger;
+ var flag = true;
+
+
+ if (this.InspectData.irresponsibleReason__c == undefined || this.InspectData.irresponsibleReason__c == '' ) {
+ this.bxgLyFlag = true;
+ flag = false;
+ }else{
+ this.bxgLyFlag = false;
+ }
+
+ if (this.InspectData.irresponsibleReason__c == "鍏朵粬锛堝彲鎵嬪姩濉啓锛�" && (this.InspectData.irresponsibleReasonOther__c == undefined || this.InspectData.irresponsibleReasonOther__c == "" )) {
+ this.qtLyFlag = true;
+ flag = false;
+ }else{
+ this.qtLyFlag = false;
+ }
+
+ if (flag) {
+ debugger;
+
+ var IsInsert = this.InspectData.Id==undefined?"鏄�":"鍚�";
+ if (temp == 1) {
+ ChangeDataYB({JsonData:JSON.stringify(this.InspectData),Id:this.ParamOIdStr,IsInsert:IsInsert}).then((response)=>{
+ if (response.indexOf("鎴愬姛") != -1) {
+ this.Alert("鎻愪氦鎴愬姛");
+ this.DisabledSet();
+
+ this.IsCheck = true;
+
+
+ window.location.hash = "Refresh"+"=="+this.ParamOIdStr;
+ }else{
+ this.Alert(response,true);
+ this.IsCheck = true;
+ }
+ });
+ }else
+ {
+ SaveDataYB({JsonData:JSON.stringify(this.InspectData),Id:this.ParamOIdStr,IsInsert:IsInsert}).then((response)=>{
+ if (response=="鎴愬姛") {
+ this.Alert("淇濆瓨鎴愬姛",false,true);
+ window.location.hash = "Refresh"+"=="+this.ParamOIdStr;
+ this.IsCheck = true;
+ }else{
+ this.Alert(response,true);
+ this.IsCheck = true;
+ }
+ });
+ }
+ }
+ }
+ IsCheck = true;
+
+
+
+ CheckFn()
+ {
+
+ this.saveFn(null,1);
+
+ }
+
+
+
+
+ DisabledSet()
+ {
+ var inputs = this.template.querySelectorAll('input');
+ inputs.forEach(fileInput=>{
+ fileInput.disabled = true;
+ })
+
+ var buttons = this.template.querySelectorAll('button');
+ buttons.forEach(fileInput=>{
+ fileInput.disabled = true;
+ })
+
+ var combobox = this.template.querySelectorAll('lightning-combobox');
+ combobox.forEach(box=>{
+ box.disabled = true;
+ })
+
+
+ }
+
+
+
+
+
+
+
+
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/tEnquiryNoBidding/tEnquiryNoBidding.js-meta.xml b/force-app/main/default/lwc/tEnquiryNoBidding/tEnquiryNoBidding.js-meta.xml
new file mode 100644
index 0000000..0416469
--- /dev/null
+++ b/force-app/main/default/lwc/tEnquiryNoBidding/tEnquiryNoBidding.js-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>51.0</apiVersion>
+ <isExposed>false</isExposed>
+</LightningComponentBundle>
\ No newline at end of file
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/tenderDeletePage/tenderDeletePage.html b/force-app/main/default/lwc/tenderDeletePage/tenderDeletePage.html
new file mode 100644
index 0000000..cb39b0c
--- /dev/null
+++ b/force-app/main/default/lwc/tenderDeletePage/tenderDeletePage.html
@@ -0,0 +1,36 @@
+<template>
+ <div class="exampleHolder" if:true={IsLoading} >
+ <lightning-spinner alternative-text="Loading" size="large"></lightning-spinner>
+ </div>
+ <div if:true={ScreenWidth}>
+ <article class="slds-card" style="height: 90%">
+ <div class="slds-card__header slds-grid" >
+ <header class="slds-media slds-media_center slds-has-flexi-truncate">
+ <div class="slds-media__figure">
+ <span class="slds-icon_container slds-icon-standard-account" title="account">
+ <svg class="slds-icon slds-icon_small" aria-hidden="true">
+ <use xlink:href="/assets/icons/standard-sprite/svg/symbols.svg#account"></use>
+ </svg>
+ <span class="slds-assistive-text">account</span>
+ </span>
+ </div>
+ <div class="slds-media__body">
+ <h2 class="slds-card__header-title">
+ <label class="slds-card__header-link slds-truncate">閫夋嫨鎷涙姇鏍�</label>
+ </h2>
+ </div>
+ <div style="float: left;">
+ <button style="left: 10%;" class="slds-button slds-button_brand" onclick={saveAllData}>淇濆瓨</button>
+ </div>
+ </header>
+ </div>
+ <div class="slds-card__body slds-card__body_inner">
+ <!-- 2022-03-31 鏇存崲浜嗘帶浠剁被鍨� start -->
+ <!-- <c-jzlookuplightning data-parent-id="lookup" onsearchchange={onsearchchange} objectname="Tender_information__c" fieldname="Retain_Tender__c"></c-jzlookuplightning> -->
+ <c-jzlookup data-parent-id="lookup" label="鎷涙爣椤圭洰" placeholder="璇烽�夋嫨淇濈暀鐨勯」鐩�.." onsearchchange={onsearchchange} searchdata={searchdata} option={option} onselected={selected}></c-jzlookup>
+ <div style="font-size:10px;color:red" if:true={isErrorShow}>璇烽�夋嫨淇濈暀鐨勬嫑鏍囬」鐩紒</div>
+ <!-- 2022-03-31 鏇存崲浜嗘帶浠剁被鍨� end -->
+ </div>
+ </article>
+ </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/tenderDeletePage/tenderDeletePage.js b/force-app/main/default/lwc/tenderDeletePage/tenderDeletePage.js
new file mode 100644
index 0000000..6e027d5
--- /dev/null
+++ b/force-app/main/default/lwc/tenderDeletePage/tenderDeletePage.js
@@ -0,0 +1,133 @@
+import { LightningElement } from 'lwc';
+import GetTenderinformationcData from '@salesforce/apex/TenderDeleteLwcController.GetTenderinformationcData';
+import saveData from '@salesforce/apex/TenderDeleteLwcController.saveData';
+import searchTender from '@salesforce/apex/TenderDeleteLwcController.searchTender';
+export default class TenderDeletePage extends LightningElement {
+ ParamIdStr = '';
+ //椤甸潰鍒濆鍖栧姞杞芥暟鎹�
+ ScreenWidth = ''
+ //鍔犺浇鐨勬爣璇�
+ IsLoading = false;
+ onLoadin(flag){
+ this.IsLoading=flag;
+ }
+ //鎷涙姇鏍囬」鐩�
+ Tenderinformationc={};
+
+ connectedCallback() {
+ this.onLoadin(true);
+ debugger
+ var paramId = this.getQueryVariable('id');
+ if (paramId == null || paramId == '') {
+ return;
+ }
+ this.ScreenWidth = "height:" + (window.screen.availHeight - 50) + "px;overflow:scroll;";
+ debugger
+ this.ParamIdStr = paramId;
+ GetTenderinformationcData({ParamIdStr:paramId}).then(result => {
+ debugger
+ var results=JSON.parse(result);
+ if(results[0].Retain_Tender__c!=undefined && results[0].Retain_Tender__c!=''){
+ this.template.querySelector('[data-parent-id="lookup"]').setvalue(results[0].Retain_Tender__c);
+ }
+ this.Tenderinformationc=results[0];
+ this.onLoadin(false);
+ });
+ }
+ getQueryVariable(variable) { //id瀛楃涓�
+ 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);
+ }
+ // onsearchchange(event){
+ // debugger
+ // console.log(event.detail.value)
+ // this.Tenderinformationc.Retain_Tender__c=event.detail.value
+ // }
+ // saveAllData(){
+ // this.onLoadin(true);
+ // if(this.Tenderinformationc.Retain_Tender__c!=undefined&&this.Tenderinformationc.Retain_Tender__c!=''){
+ // var Tenderinformationcjson=JSON.stringify(this.Tenderinformationc);
+ // saveData({Tenderinformationc:Tenderinformationcjson}).then(result=>{
+ // debugger
+ // console.warn(result);
+ // if(result=="鎴愬姛"){
+ // alert('淇濆瓨鎴愬姛');
+ // window.location.hash = "Refresh"+"=="+this.ParamIdStr;
+ // debugger
+ // this.onLoadin(false);
+ // }
+ // });
+ // }else{
+ // alert('淇濈暀鐨勬嫑鎶曟爣:蹇呭~!');
+ // }
+ // }
+
+ // 2022-03-31 鏇存崲浜嗘帶浠剁被鍨� start
+ // 鎷涙爣椤圭洰
+ option = [{lableOne:"Name",lableTwo:"TenderManageCode__c"}]
+ searchdata=[];
+ onsearchchange(event){
+ var searchContentStr = event.detail.searchContent;
+ searchTender({content:searchContentStr}).then(response=>{
+ var datas = JSON.parse(response);
+ this.searchdata = datas;
+ this.template.querySelector('[data-parent-id="lookup"]').refreshdata(this.searchdata);
+ })
+ }
+
+ selected(event)
+ {
+ debugger;
+ console.warn(event.detail.selectdata.Id);
+ this.Tenderinformationc.Retain_Tender__c = event.detail.selectdata.Id;
+
+ }
+
+ isErrorShow = false;
+ saveAllData(){
+ var flag = true;
+ var id1 = this.template.querySelector('[data-parent-id="lookup"]').getvalue();
+
+ if (id1 == undefined || id1 == '') {
+ this.Tenderinformationc.Retain_Tender__c = undefined;
+ }
+
+ if (this.Tenderinformationc.Retain_Tender__c == undefined || this.Tenderinformationc.Retain_Tender__c == "" ) {
+ this.xgxLy = "slds-form-element slds-has-error"
+ this.xgxLyFlag = true;
+ this.isErrorShow = true;
+ flag = false;
+ }else{
+ this.xgxLy = "slds-form-element"
+ this.xgxLyFlag = false;
+ this.isErrorShow = false;
+ }
+
+ debugger;
+
+ if (flag) {
+ this.onLoadin(true);
+ debugger;
+ console.warn(this.Tenderinformationc);
+ var Tenderinformationcjson=JSON.stringify(this.Tenderinformationc);
+ saveData({Tenderinformationc:Tenderinformationcjson}).then(result=>{
+ debugger
+ console.warn(result);
+ if(result=="鎴愬姛"){
+ alert('淇濆瓨鎴愬姛');
+ window.location.hash = "Refresh"+"=="+this.ParamIdStr;
+ debugger
+ this.onLoadin(false);
+ }
+ });
+ }
+ }
+ // 2022-03-31 鏇存崲浜嗘帶浠剁被鍨� end
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/tenderDeletePage/tenderDeletePage.js-meta.xml b/force-app/main/default/lwc/tenderDeletePage/tenderDeletePage.js-meta.xml
new file mode 100644
index 0000000..884004a
--- /dev/null
+++ b/force-app/main/default/lwc/tenderDeletePage/tenderDeletePage.js-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>52.0</apiVersion>
+ <isExposed>false</isExposed>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/tenderLost/tenderLost.html b/force-app/main/default/lwc/tenderLost/tenderLost.html
new file mode 100644
index 0000000..0cb5d38
--- /dev/null
+++ b/force-app/main/default/lwc/tenderLost/tenderLost.html
@@ -0,0 +1,75 @@
+<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>
+ </div>
+ </div>
+
+ <!-- 椤甸潰涓讳綋 -->
+
+ <div style="width: 495px;padding:1px">
+ <lightning-combobox
+ name="fundBasic"
+ label="璧勯噾鏉ユ簮:"
+ placeholder="璇烽�夋嫨"
+ value={opp.Fund_Basis__c}
+ options={RelateOption}
+ onchange={handleRelationFn}
+ style="width: 495px;padding:1px"
+ >
+ </lightning-combobox>
+ </div>
+
+ <div style="width: 495px;padding:1px">
+ <lightning-combobox
+ name="salesMethod"
+ label="鎷涙爣鏂瑰紡:"
+ placeholder="璇烽�夋嫨"
+ value={opp.Sales_Method__c}
+ options={RelateOption1}
+ onchange={handleRelationFn1}
+ style="width: 495px;padding:1px"
+ >
+ </lightning-combobox>
+ </div>
+
+ <div style="width: 495px;padding:1px">
+ <!-- <c-jzlookup if:true={isShi} data-parent-id="lookup3" label="鍏宠仈鏅�氱瀹�" placeholder="璇烽�夋嫨鏅�氱瀹�.." onsearchchange={onsearchchangePTKS} searchdata={searchdataPTKS} option={optionPTKS} onselected={selectedPTKS}> </c-jzlookup> -->
+ <c-jzlookup data-parent-id="lookup3" label="绉戝:" placeholder="璇烽�夋嫨绉戝.." onsearchchange={onsearchchangePTKS} searchdata={searchdataPTKS} option={optionPTKS} onselected={selectedPTKS} > </c-jzlookup>
+ <!-- <c-jzlookuplightning ata-parent-id="lookup1" onsearchchange={onsearchchangePTKS} objectname="Opportunity" fieldname="AccountId" > </c-jzlookuplightning> -->
+ </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/tenderLost/tenderLost.js b/force-app/main/default/lwc/tenderLost/tenderLost.js
new file mode 100644
index 0000000..6530e03
--- /dev/null
+++ b/force-app/main/default/lwc/tenderLost/tenderLost.js
@@ -0,0 +1,172 @@
+import { LightningElement, api, track } from 'lwc';
+import SaveData from '@salesforce/apex/TenderLostController.SaveData';
+import SearchPTKS from '@salesforce/apex/TenderLostController.SearchPTKS';
+// import SearchParent from '@salesforce/apex/TenderLostController.SearchParent';
+import InitData from '@salesforce/apex/TenderLostController.InitData';
+import LinkedHospitals from '@salesforce/apex/TenderLostController.LinkedHospitals';
+
+export default class TenderLost extends LightningElement {
+
+ //璧勯噾鏉ユ簮閫夐」
+ RelateOption=[
+ {label:"鏀垮簻鎷ㄦ",value:"鏀垮簻璩囬噾"},
+ {label:"鍖婚櫌璧勯噾",value:"鐥呴櫌璩囬噾"},
+ {label:"鍥介檯璧勯噾",value:"鍥介殯璩囬噾"},
+ {label:"閾惰璧勯噾",value:"閵�琛岃硣閲�"},
+ {label:"鍏徃/涓汉鎶曡祫",value:"浼氱ぞ/鍊嬩汉璩囬噾"},
+ {label:"铻嶈祫绉熻祦",value:"铻嶈祫绉熻祦锛堛儶銉笺偣锛�"},
+ // SWAG-CK363P 2022-10-12 start
+ {label:"璐存伅璐锋",value:"璐存伅璐锋"},
+ // {label:"鍏朵粬",value:"銇濄伄浠�"},
+ // SWAG-CK363P 2022-10-12 end
+ ];
+
+ //鎷涙爣鏂瑰紡閫夐」
+ RelateOption1=[
+ {label:"鏀垮簻鎷涙爣",value:"鏀垮簻鎷涙爣"},
+ {label:"闄㈠唴鎷涙爣",value:"闄㈠唴鎷涙爣"},
+ {label:"绔熶簤鎬ц皥鍒�",value:"绔熶簤鎬ц皥鍒�(闈炴嫑鏍�)"},
+ {label:"鍗曚竴鏉ユ簮閲囪喘",value:"鍗曚竴鏉ユ簮閲囪喘"},
+ {label:"绉佺珛鍖婚櫌閲囪喘",value:"绉佺珛鍖婚櫌閲囪喘"},
+ {label:"鑰楁潗閲囪喘",value:"鑰楁潗閲囪喘"},
+ ];
+
+ // 椤甸潰瀵硅薄
+ opp = {};
+ hospitals = [];
+
+ //璧勯噾鏉ユ簮
+ handleRelationFn(event){
+ var value = event.target.value;
+ this.opp.Fund_Basis__c = value;
+ }
+
+ //鎷涙爣鏂瑰紡
+ handleRelationFn1(event){
+ var value = event.target.value;
+ this.opp.Sales_Method__c = 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);
+ }
+
+ //鍒濆鍖�
+ connectedCallback(){
+ this.tenId = this.getQueryVariable('id');
+
+ InitData({ParamIdStr:this.tenId}).then(response=>{
+ this.opp=JSON.parse(response);
+ });
+ LinkedHospitals({ParamIdStr:this.tenId}).then(response=>{
+ this.hospitals = response;
+ console.log('get linked hospital:' + this.hospitals);
+ });
+ }
+
+ //鍏宠仈鏅�氱瀹�
+ optionPTKS = [{lableOne:"Name",lableTwo:"Acc_Record_Type__c"}];
+ searchdataPTKS=[];
+
+ onsearchchangePTKS(event){
+ var searchContentStr = event.detail.searchContent;
+ console.log('hospitals: ' + this.hospitals);
+ SearchPTKS({content:searchContentStr, hospitals:this.hospitals}).then(response=>{
+ var datas = JSON.parse(response);
+ this.searchdataPTKS = datas;
+ this.template.querySelector('[data-parent-id="lookup3"]').refreshdata(this.searchdataPTKS);
+ })
+ }
+ PTKSId = '';
+ selectedPTKS(event)
+ {
+ console.warn(event.detail.selectdata.Id);
+ this.opp.AccountId = event.detail.selectdata.Id;
+ }
+
+ // InitPTKS()
+ // {
+ // SearchPTKS({content:undefined}).then(response=>{
+ // var datas = JSON.parse(response);
+ // this.searchdataPTKS = datas;
+ // this.template.querySelector('[data-parent-id="lookup3"]').refreshdata(this.searchdataPTKS);
+ // })
+ // }
+ //鍏宠仈鏅�氱瀹�
+
+ //淇濆瓨鏁版嵁閫昏緫
+ saveFn(){
+ 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);
+ SaveData({JsonData:JSON.stringify(this.opp)}).then((response)=>{
+ if (response != '' && response.indexOf('閿欒') < 0) {
+ this.OnLoading(false);
+ console.log(response);
+ this.Alert("淇濆瓨鎴愬姛",false,true);
+ window.open('/apex/PCLLostReportPage?pageStatus=Create&oppId=' + response + '&lostType=澶卞崟');
+ // window.location.hash = "Refresh"+"=="+response;
+ top.window.close();
+ }else{
+ this.Alert(response,true);
+ }
+ });
+ }
+ }
+
+
+ //-------- 淇濆瓨鎻愮ず妗� --------
+ //鎻愮ず
+ 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;
+ }
+ //-------- 淇濆瓨鎻愮ず妗� --------
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/tenderLost/tenderLost.js-meta.xml b/force-app/main/default/lwc/tenderLost/tenderLost.js-meta.xml
new file mode 100644
index 0000000..eac275d
--- /dev/null
+++ b/force-app/main/default/lwc/tenderLost/tenderLost.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/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/testPaginated/testPaginated.html b/force-app/main/default/lwc/testPaginated/testPaginated.html
new file mode 100644
index 0000000..9034aa2
--- /dev/null
+++ b/force-app/main/default/lwc/testPaginated/testPaginated.html
@@ -0,0 +1,3 @@
+<template>
+ <c-paginated-list slot="lwc"></c-paginated-list>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/testPaginated/testPaginated.js b/force-app/main/default/lwc/testPaginated/testPaginated.js
new file mode 100644
index 0000000..99a983f
--- /dev/null
+++ b/force-app/main/default/lwc/testPaginated/testPaginated.js
@@ -0,0 +1,3 @@
+import { LightningElement } from 'lwc';
+
+export default class TestPaginated extends LightningElement {}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/testPaginated/testPaginated.js-meta.xml b/force-app/main/default/lwc/testPaginated/testPaginated.js-meta.xml
new file mode 100644
index 0000000..5b31309
--- /dev/null
+++ b/force-app/main/default/lwc/testPaginated/testPaginated.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/testSearchProductPage/testSearchProductPage.css b/force-app/main/default/lwc/testSearchProductPage/testSearchProductPage.css
new file mode 100644
index 0000000..67ad375
--- /dev/null
+++ b/force-app/main/default/lwc/testSearchProductPage/testSearchProductPage.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/testSearchProductPage/testSearchProductPage.html b/force-app/main/default/lwc/testSearchProductPage/testSearchProductPage.html
new file mode 100644
index 0000000..c4314fd
--- /dev/null
+++ b/force-app/main/default/lwc/testSearchProductPage/testSearchProductPage.html
@@ -0,0 +1,70 @@
+<template>
+<apex:page id="Page" extensions="SearchProductController" sidebar="false" lightningstylesheets="true" >
+ <apex:outputPanel id="all">
+ <apex:outputPanel id="message1">
+ <!-- <apex:messages styleClass="editListError"></apex:messages> -->
+ </apex:outputPanel>
+ <apex:form id="mainForm">
+ <apex:pageBlock id="idSearchSetProduct" title={Label.Product_Search}>
+ <!-- <apex:inputHidden id="Trade" value="{!Trade}"/> -->
+ <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> </td>
+ <th>{Label.Search_Condition}</th>
+ <td> </td>
+ <th>{Label.Asset_No}</th>
+ <td> </td>
+ <td> </td>
+ </tr>
+ <tr>
+ <td> </td>
+ <td> </td>
+ <td> </td>
+ <td><lightning-input id="searchName" onchange={getInput} >
+ </lightning-input></td></td>
+ <td><lightning-button class="slds-m-left_x-small" label="鎼滅储" onclick={serContact} variant="brand-outline" ></lightning-button></td>
+ <td> <lightning-button class="slds-m-left_x-small" title="Selected Records" label="杩藉姞" variant="brand-outline" onclick={setProductList}></lightning-button></td>
+ </tr>
+ <tr>
+ <td style="border-bottom: 1px solid #888;" colspan="15"> </td>
+ </tr>
+ </table>
+ <table width="900" border="0" style="background-color:#DCDCDC">
+ <tr>
+ <td width="12"> </td>
+ <th valign="top">{Label.Search_Result}</th>
+ <td width="20"> </td>
+ <td>
+ <table border="0">
+ <tr>
+ <td>
+ <div style="height: 300px;">
+ <lightning-datatable
+ key-field="id"
+ data={data}
+ columns={columns}
+ onrowaction={handleRowAction} >
+ </lightning-datatable>
+ </div>
+ </div>
+ </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+ </table>
+ </apex:pageBlock>
+ </apex:form>
+ </apex:outputPanel>
+
+</apex:page>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/testSearchProductPage/testSearchProductPage.js b/force-app/main/default/lwc/testSearchProductPage/testSearchProductPage.js
new file mode 100644
index 0000000..2c157cc
--- /dev/null
+++ b/force-app/main/default/lwc/testSearchProductPage/testSearchProductPage.js
@@ -0,0 +1,433 @@
+import { LightningElement, track, wire } from 'lwc';
+
+import blockUIcss from '@salesforce/resourceUrl/blockUIcss';
+import jquery183minjs from '@salesforce/resourceUrl/jquery183minjs';
+import PleaseWaitDialog from '@salesforce/resourceUrl/PleaseWaitDialog';
+
+export default class testSearchProductPage extends LightningElement {
+
+
+
+
+
+
+
+
+
+
+
+
+ setProductList() {
+ var QuoteEntryMaxLine = window.opener.QuoteEntryMaxLine;
+ 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/testSearchProductPage/testSearchProductPage.js-meta.xml b/force-app/main/default/lwc/testSearchProductPage/testSearchProductPage.js-meta.xml
new file mode 100644
index 0000000..3888a44
--- /dev/null
+++ b/force-app/main/default/lwc/testSearchProductPage/testSearchProductPage.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="testSearchProductPage">
+ <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/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/force-app/main/default/pages/AL_MobileApp_Index.page b/force-app/main/default/pages/AL_MobileApp_Index.page
index 0ef0475..77f8174 100644
--- a/force-app/main/default/pages/AL_MobileApp_Index.page
+++ b/force-app/main/default/pages/AL_MobileApp_Index.page
@@ -1,4 +1,4 @@
-<apex:page docType="html-5.0" applyHtmlTag="false" showHeader="false" sidebar="false" standardStylesheets="false" controller="AL_MobileApp_Controller">
+<apex:page docType="html-5.0" applyHtmlTag="false" showHeader="false" sidebar="false" standardStylesheets="false" controller="AL_MobileApp_Controller" lightningStylesheets="true">
<head>
<meta charset="utf-8"/>
<meta name="format-detection" content="telephone=no"/>
diff --git a/force-app/main/default/pages/AL_MobileApp_Land.page b/force-app/main/default/pages/AL_MobileApp_Land.page
index 971a256..c0f0474 100644
--- a/force-app/main/default/pages/AL_MobileApp_Land.page
+++ b/force-app/main/default/pages/AL_MobileApp_Land.page
@@ -1,4 +1,5 @@
-<apex:page docType="html-5.0" applyHtmlTag="false" showHeader="false" sidebar="false" standardStylesheets="false" controller="OCM_Ctrl2">
+<!--20230421 zq 鍔犲3 <apex:page docType="html-5.0" applyHtmlTag="false" showHeader="false" sidebar="false" standardStylesheets="false" controller="OCM_Ctrl2"> -->
+<apex:page docType="html-5.0" applyHtmlTag="false" showHeader="false" sidebar="false" standardStylesheets="false" controller="OCM_Ctrl2" lightningStylesheets="true">
<head>
<title>鍦熷湴鐧婚尣 鍦熷湴鎯呭牨鍏ュ姏</title>
<style type="text/css">
diff --git a/force-app/main/default/pages/AL_MobileApp_Photos.page b/force-app/main/default/pages/AL_MobileApp_Photos.page
index f363516..0c98704 100644
--- a/force-app/main/default/pages/AL_MobileApp_Photos.page
+++ b/force-app/main/default/pages/AL_MobileApp_Photos.page
@@ -1,4 +1,5 @@
-<apex:page docType="html-5.0" applyHtmlTag="false" showHeader="false" sidebar="false" standardStylesheets="false">
+<!--20230421 zq 鍔犲3 <apex:page docType="html-5.0" applyHtmlTag="false" showHeader="false" sidebar="false" standardStylesheets="false"> -->
+<apex:page docType="html-5.0" applyHtmlTag="false" showHeader="false" sidebar="false" standardStylesheets="false" lightningStylesheets="true">
<head>
<title>鍦熷湴鐧婚尣 鍐欑湡閬告姙锛嬨偟銉犮儘銈ゃ儷</title>
<style type="text/css">
diff --git a/force-app/main/default/pages/AL_MobileApp_Send.page b/force-app/main/default/pages/AL_MobileApp_Send.page
index ab29382..a8b1825 100644
--- a/force-app/main/default/pages/AL_MobileApp_Send.page
+++ b/force-app/main/default/pages/AL_MobileApp_Send.page
@@ -1,4 +1,5 @@
-<apex:page docType="html-5.0" applyHtmlTag="false" showHeader="false" sidebar="false" standardStylesheets="false">
+<!--20230421 zq 鍔犲3 <apex:page docType="html-5.0" applyHtmlTag="false" showHeader="false" sidebar="false" standardStylesheets="false"> -->
+<apex:page docType="html-5.0" applyHtmlTag="false" showHeader="false" sidebar="false" standardStylesheets="false" lightningStylesheets="true">
<head>
<title>鍦熷湴鐧婚尣 閫佷俊 鍐欑湡閬告姙銉撱儱銉笺倰鍐呭寘</title>
<style type="text/css">
diff --git a/force-app/main/default/pages/AccessoryAdd.page b/force-app/main/default/pages/AccessoryAdd.page
index cfe06ea..401d6fa 100644
--- a/force-app/main/default/pages/AccessoryAdd.page
+++ b/force-app/main/default/pages/AccessoryAdd.page
@@ -1,3 +1,4 @@
+<!-- <apex:page controller="AccessoryAddController" showHeader="false" sidebar="false" id="allPage" action="{!init}"> -->
<apex:page controller="AccessoryAddController" showHeader="false" sidebar="false" id="allPage" action="{!init}" lightningStylesheets="true">
<head>
<title>闄勫睘鍝佽拷鍔�</title>
@@ -7,6 +8,16 @@
<apex:includeScript value="{!URLFOR($Resource.PleaseWaitDialog)}"/>
<apex:includeScript value="{!URLFOR($Resource.RelationListPagingCmpJS)}"/>
+<!-- 20230426 zq add style -->
+<style>
+ body .bPageBlock .detailList .labelCol {
+ width: auto;
+ }
+ body input.btn {
+ padding: 2px 3px;
+ margin-left: 55px;
+ }
+</style>
<script type="text/javascript">
var heightAjustment = 120;
var widthAjustment = 30;
@@ -47,7 +58,8 @@
<table>
<tr>
<td width="20px"/>
- <td width="200px">
+ <!--20230426 zq <td width="200px"> -->
+ <td width="220px">
<apex:outputLabel for="bieCunFangDi" value="澶囧搧瀛樻斁鍦�" />
<!-- <apex:outputText value="{!bieCunFangDi}"/> -->
<apex:selectList value="{!bieCunFangDi}" size="1" style="margin-left: 20px; width:110px" id="bieCunFangDi">
diff --git a/force-app/main/default/pages/CICReport.page b/force-app/main/default/pages/CICReport.page
index ab88180..19e8923 100644
--- a/force-app/main/default/pages/CICReport.page
+++ b/force-app/main/default/pages/CICReport.page
@@ -1,4 +1,4 @@
-<apex:page showHeader="false" sidebar="false">
+<apex:page showHeader="false" sidebar="false" lightningStylesheets="true">
<DIV align="left">
740_CIC 鎶ヨ〃
diff --git a/force-app/main/default/pages/CampaignMemberBMEEditAndDelete.page b/force-app/main/default/pages/CampaignMemberBMEEditAndDelete.page
index 3e77a27..2db9de1 100644
--- a/force-app/main/default/pages/CampaignMemberBMEEditAndDelete.page
+++ b/force-app/main/default/pages/CampaignMemberBMEEditAndDelete.page
@@ -1,5 +1,5 @@
<apex:page standardcontroller="BMEFollowup__c" extensions="CampaignMemberEditAndDeleteController"
-sidebar="true" showHeader="true" id="allPage" action="{!init}">
+sidebar="true" showHeader="true" id="allPage" action="{!init}" lightningStylesheets="true">
<apex:form >
<div style="font-size: 18px;text-align: center;">
<apex:outputPanel rendered="{!RecordTypecheck}">
diff --git a/force-app/main/default/pages/ChangeDealerApproval.page b/force-app/main/default/pages/ChangeDealerApproval.page
index 9c07d8c..41b0145 100644
--- a/force-app/main/default/pages/ChangeDealerApproval.page
+++ b/force-app/main/default/pages/ChangeDealerApproval.page
@@ -1,4 +1,4 @@
-<apex:page controller="ChangeDealerApprovalController" showHeader="false" sidebar="false" id="allPage" action="{!init}" title="鍙樻洿鎶ヤ环鎻愪氦瀵硅薄鐢宠">
+<apex:page controller="ChangeDealerApprovalController" showHeader="false" sidebar="false" id="allPage" action="{!init}" title="鍙樻洿鎶ヤ环鎻愪氦瀵硅薄鐢宠" lightningStylesheets="true">
<apex:stylesheet value="{!URLFOR($Resource.blockUIcss)}"/>
<apex:includeScript value="{!URLFOR($Resource.jquery183minjs)}"/>
<apex:includeScript value="{!URLFOR($Resource.PleaseWaitDialog)}"/>
diff --git a/force-app/main/default/pages/CheckPlanDeleteButton.page b/force-app/main/default/pages/CheckPlanDeleteButton.page
index a7156ea..05fd30d 100644
--- a/force-app/main/default/pages/CheckPlanDeleteButton.page
+++ b/force-app/main/default/pages/CheckPlanDeleteButton.page
@@ -1,4 +1,4 @@
-<apex:page standardController="Inspectup_Plan__c" >
+<apex:page standardController="Inspectup_Plan__c" lightningStylesheets="true">
<div style="position: relative; margin-top: 10px; margin-left: 10px;">
<span style="font-weight: bold; font-size: 12pt;">{!$Label.YouCantDeleteEvent1}</span>
diff --git a/force-app/main/default/pages/ChoiceAsset.page b/force-app/main/default/pages/ChoiceAsset.page
index 9a746d1..55be2a3 100644
--- a/force-app/main/default/pages/ChoiceAsset.page
+++ b/force-app/main/default/pages/ChoiceAsset.page
@@ -1,4 +1,4 @@
-<apex:page action="{!init}" controller="ChoiceAssetController" id="allPage" showHeader="false" sidebar="false" title="閫夋嫨淇濇湁璁惧">
+<apex:page action="{!init}" controller="ChoiceAssetController" id="allPage" showHeader="false" sidebar="false" title="閫夋嫨淇濇湁璁惧" lightningStylesheets="true">
<apex:stylesheet value="{!URLFOR($Resource.blockUIcss)}"></apex:stylesheet>
<apex:includeScript value="{!URLFOR($Resource.jquery183minjs)}"></apex:includeScript>
<apex:includeScript value="{!URLFOR($Resource.PleaseWaitDialog)}"></apex:includeScript>
@@ -64,18 +64,18 @@
<table>
<colgroup>
- <col width="9%"/>
- <col width="9%"/>
- <col width="9%"/>
- <col width="9%"/>
- <col width="8%"/>
- <col width="8%"/>
- <col width="8%"/>
- <col width="8%"/>
- <col width="8%"/>
- <col width="8%"/>
- <col width="8%"/>
- <col width="8%"/>
+ <col width="5%"/>
+ <col width="5%"/>
+ <col width="5%"/>
+ <col width="15%"/>
+ <col width="15%"/>
+ <col width="15%"/>
+ <col width="15%"/>
+ <col width="15%"/>
+ <col width="15%"/>
+ <col width="15%"/>
+ <col width="15%"/>
+ <col width="15%"/>
</colgroup>
diff --git a/force-app/main/default/pages/ConInvoiceView.page b/force-app/main/default/pages/ConInvoiceView.page
index 8e8d125..da233d8 100644
--- a/force-app/main/default/pages/ConInvoiceView.page
+++ b/force-app/main/default/pages/ConInvoiceView.page
@@ -8,6 +8,8 @@
<apex:includeScript value="{!URLFOR($Resource.apex20)}" />
<script>
console.log('attachmentRecoeds = ' + '{!attachmentRecoeds}');
+ console.log('invoiceOrderRecoeds = ' + '{!invoiceOrderRecoeds}');
+ console.log('SecondDealer = ' + '{!SecondDealer}');
function searchsearchAgencyI(str) {
openPopup('/customer/apex/searchAgencyHospital?Ctype=' + str, 'setsearch', 800, 600, 'width=800,height=600,scrollbars=yes', true);
}
diff --git a/force-app/main/default/pages/ConsumApplySplit.page b/force-app/main/default/pages/ConsumApplySplit.page
index d6efa2c..3d1b73f 100644
--- a/force-app/main/default/pages/ConsumApplySplit.page
+++ b/force-app/main/default/pages/ConsumApplySplit.page
@@ -1,4 +1,5 @@
-<apex:page controller="ConsumApplySplitController" action="{!init}" showHeader="false">
+<!--20230427 zq <apex:page controller="ConsumApplySplitController" action="{!init}" showHeader="false"> -->
+<apex:page lightningStylesheets="true" controller="ConsumApplySplitController" action="{!init}" showHeader="false">
<head>
<title>澶囧搧鍊熷嚭鐢宠鍒嗗崟</title>
<apex:includeScript value="{!URLFOR($Resource.jquery183minjs)}"/>
diff --git a/force-app/main/default/pages/ConsumAssignCancel.page b/force-app/main/default/pages/ConsumAssignCancel.page
index d3c9313..6663cf2 100644
--- a/force-app/main/default/pages/ConsumAssignCancel.page
+++ b/force-app/main/default/pages/ConsumAssignCancel.page
@@ -1,4 +1,5 @@
-<apex:page controller="ConsumAssignCancelController" showHeader="false" sidebar="false" id="allPage" action="{!init}">
+<!--20230427 zq <apex:page controller="ConsumAssignCancelController" showHeader="false" sidebar="false" id="allPage" action="{!init}"> -->
+<apex:page lightningStylesheets="true" controller="ConsumAssignCancelController" showHeader="false" sidebar="false" id="allPage" action="{!init}">
<head>
<title>鑰楁潗鍙栨秷鏄庣粏鐢宠</title>
<apex:stylesheet value="{!URLFOR($Resource.blockUIcss)}"/>
diff --git a/force-app/main/default/pages/ConsumEquipmentRentalResponse.page b/force-app/main/default/pages/ConsumEquipmentRentalResponse.page
index 526ec48..b9f07d8 100644
--- a/force-app/main/default/pages/ConsumEquipmentRentalResponse.page
+++ b/force-app/main/default/pages/ConsumEquipmentRentalResponse.page
@@ -1,4 +1,5 @@
-<apex:page standardController="Consum_Apply__c" extensions="ConsumEquipmentRentalResponseController" showHeader="false" sidebar="false" id="allPage" action="{!init}">
+<!--20230420 zq <apex:page standardController="Consum_Apply__c" extensions="ConsumEquipmentRentalResponseController" showHeader="false" sidebar="false" id="allPage" action="{!init}"> -->
+<apex:page standardController="Consum_Apply__c" extensions="ConsumEquipmentRentalResponseController" showHeader="false" sidebar="false" id="allPage" action="{!init}" lightningStylesheets="true">
<apex:stylesheet value="{!URLFOR($Resource.blockUIcss)}"/>
<apex:includeScript value="{!URLFOR($Resource.jquery183minjs)}"/>
<apex:includeScript value="{!URLFOR($Resource.PleaseWaitDialog)}"/>
diff --git a/force-app/main/default/pages/ConsumEquipmentRentalResponsePopUp.page b/force-app/main/default/pages/ConsumEquipmentRentalResponsePopUp.page
index ac381b6..c999198 100644
--- a/force-app/main/default/pages/ConsumEquipmentRentalResponsePopUp.page
+++ b/force-app/main/default/pages/ConsumEquipmentRentalResponsePopUp.page
@@ -1,4 +1,5 @@
-<apex:page Controller="ConsumEquipmentRentalResponseController" showHeader="false" sidebar="false" id="allPage" action="{!init}">
+<!-- zq <apex:page Controller="ConsumEquipmentRentalResponseController" showHeader="false" sidebar="false" id="allPage" action="{!init}"> -->
+<apex:page lightningStylesheets="true" Controller="ConsumEquipmentRentalResponseController" showHeader="false" sidebar="false" id="allPage" action="{!init}">
<apex:stylesheet value="{!URLFOR($Resource.blockUIcss)}"/>
<apex:includeScript value="{!URLFOR($Resource.jquery183minjs)}"/>
<apex:includeScript value="{!URLFOR($Resource.PleaseWaitDialog)}"/>
@@ -89,7 +90,8 @@
<tr>
<td> </td>
<td>
- <apex:inputField value="{!cc.ResponseNew__c}" style="resize:none; width:500px; height:150px;"/>
+ <!--zq <apex:inputField value="{!cc.ResponseNew__c}" style="resize:none; width:500px; height:150px;"/> -->
+ <apex:inputField value="{!cc.ResponseNew__c}" style="resize:none; width:500px; height:150px;margin:10px 0px;"/>
</td>
</tr>
</table>
diff --git a/force-app/main/default/pages/ConsumTrial.page b/force-app/main/default/pages/ConsumTrial.page
index c1f5089..4771485 100644
--- a/force-app/main/default/pages/ConsumTrial.page
+++ b/force-app/main/default/pages/ConsumTrial.page
@@ -1,4 +1,5 @@
-<apex:page standardController="Consum_Apply__c" extensions="ConsumTrialController" showHeader="false" action="{!init}" id="allPage">
+<!--20230427 zq <apex:page standardController="Consum_Apply__c" extensions="ConsumTrialController" showHeader="false" action="{!init}" id="allPage"> -->
+<apex:page lightningStylesheets="true" standardController="Consum_Apply__c" extensions="ConsumTrialController" showHeader="false" action="{!init}" id="allPage">
<apex:stylesheet value="{!URLFOR($Resource.blockUIcss)}"/>
<apex:includeScript value="{!URLFOR($Resource.jquery183minjs)}"/>
<apex:includeScript value="{!URLFOR($Resource.PleaseWaitDialog)}"/>
diff --git a/force-app/main/default/pages/EquipmentRentalCancel.page b/force-app/main/default/pages/EquipmentRentalCancel.page
index 1efd2d5..97ce137 100644
--- a/force-app/main/default/pages/EquipmentRentalCancel.page
+++ b/force-app/main/default/pages/EquipmentRentalCancel.page
@@ -1,4 +1,4 @@
-<apex:page Controller="EquipmentRentalCancelController" showHeader="false" sidebar="false" id="allPage" action="{!init}" title="鍙栨秷涓�瑙�">
+<apex:page Controller="EquipmentRentalCancelController" showHeader="false" sidebar="false" id="allPage" action="{!init}" title="鍙栨秷涓�瑙�" lightningStylesheets="true">
<apex:stylesheet value="{!URLFOR($Resource.blockUIcss)}"/>
<apex:includeScript value="{!URLFOR($Resource.jquery183minjs)}"/>
<apex:includeScript value="{!URLFOR($Resource.PleaseWaitDialog)}"/>
@@ -67,7 +67,7 @@
<apex:outputText id="rentalApplyId" value="{!rentalApplyId}" style="display:none"/>
<apex:inputHidden id="EquipmentSetCnt" value="{!EquipmentSetCnt}"/><!--20210708 SFDC-C448KZ you -->
- <table class="linetable" border="1" style="border-collapse: collapse;width: 750px;">
+ <table class="linetable" border="1" style="border-collapse: collapse;">
<colgroup>
<col width="25"/>
<col width="110"/>
diff --git a/force-app/main/default/pages/EquipmentRentalExtend.page b/force-app/main/default/pages/EquipmentRentalExtend.page
index ff3ba4f..945edbd 100644
--- a/force-app/main/default/pages/EquipmentRentalExtend.page
+++ b/force-app/main/default/pages/EquipmentRentalExtend.page
@@ -1,4 +1,4 @@
-<apex:page standardController="Rental_Apply__c" extensions="EquipmentRentalExtendController" showHeader="false" sidebar="false" id="allPage" action="{!init}">
+<apex:page standardController="Rental_Apply__c" extensions="EquipmentRentalExtendController" showHeader="false" sidebar="false" id="allPage" action="{!init}" lightningStylesheets="true">
<apex:stylesheet value="{!URLFOR($Resource.blockUIcss)}"/>
<apex:includeScript value="{!URLFOR($Resource.jquery183minjs)}"/>
<apex:includeScript value="{!URLFOR($Resource.PleaseWaitDialog)}"/>
@@ -41,6 +41,9 @@
div#in_Div_L td.dataCellBorder1 {
border-width: 0px 0px 1px 1px;
+ white-space: pre-line;
+ word-break: break-all;
+ word-wrap: break-word;
}
div#in_Div_L td.tdRed {
background-color:red;
@@ -59,6 +62,9 @@
}
div#in_Div_R td.dataCellBorder1 {
border-width: 0px 0px 1px 1px;
+ white-space: pre-line;
+ word-break: break-all;
+ word-wrap: break-word;
}
div#in_Div_R td.tdRed {
background-color:red;
@@ -101,6 +107,11 @@
function setDatejs() {
blockme();
setDatefunc();
+}
+function closePage(){
+ window.opener = window;
+ var win = window.open("","_self");
+ win.close();
}
function saveJs() {
blockme();
@@ -288,18 +299,18 @@
<apex:pageBlockButtons location="top">
<table>
<tr>
- <td align="right"><input type="button" value="鍏抽棴" onclick="window.close();" style="width:70px;"/></td>
+ <td align="right" style="padding-left: 1000px"><input type="button" value="鍏抽棴" onclick="closePage()" style="width:70px;"/></td>
</tr>
</table>
</apex:pageBlockButtons>
<table style='width:1150px;'>
- <tr>
+ <tr style="height:55px">
<td style="width:85px" align="right">閫夋嫨鏉′欢</td>
<td style="width:85px" align="right"><apex:selectList value="{!text1}" id="text1" size="1" style="width:80px"><apex:selectOptions value="{!textOpts}"/></apex:selectList></td>
<td style="width:85px" align="center"><apex:selectList value="{!cond1}" id="cond1" size="1" style="width:80px"><apex:selectOptions value="{!equalOpts}"/></apex:selectList></td>
- <td style="width:95px" align="left"><apex:inputText value="{!val1}" id="val1" style="width:100px"/></td>
+ <td style="width:95px" align="left"><apex:inputText value="{!val1}" id="val1" style="width:100px;"/></td>
<td style="width:85px" align="right">鎵�鏈夎��</td>
- <td style="width:120px" align="left"><apex:inputText value="{!ownerSearch}" style="width:80px;" /></td>
+ <td style="width:120px" align="left"><apex:inputText value="{!ownerSearch}" style="width:100px;" /></td>
<td style="width:135px" align="center"><input type="button" value="鍊熷嚭涓叏閮�" onclick="searchsp1Js();" style="width:130px"/></td>
<td style="width:135px" align="center"><input type="button" value="瓒呰繃涓�" onclick="searchsp2Js();" style="width:130px"/></td>
<td style="width:135px" align="center"><input type="button" value="1鍛ㄤ互鍐呭洖鏀堕瀹�" onclick="searchsp3Js();" style="width:130px"/></td>
@@ -309,9 +320,9 @@
<td align="right" colspan="2">{!$ObjectType.Rental_Apply__c.fields.Demo_purpose1__c.label} <apex:inputField value="{!searchCondition.Demo_purpose1__c}"/></td>
<td align="center" colspan="4">
{!$ObjectType.Rental_Apply_Equipment_Set__c.fields.Final_reply_day__c.label}
- <apex:inputField value="{!finalDayFrom.Birth_Date__c}"/>
+ <apex:inputField style="width:115px" value="{!finalDayFrom.Birth_Date__c}"/>
锝�
- <apex:inputField value="{!finalDayTo.Birth_Date__c}"/>
+ <apex:inputField style="width:115px" value="{!finalDayTo.Birth_Date__c}"/>
</td>
<td align="center"><input type="button" value="妫�绱�" onclick="searchJs();" style="width:130px;font-weight:bold"/></td>
<td></td>
@@ -324,7 +335,7 @@
<apex:pageBlock id="dataBlock" title="缁撴灉">
<apex:pageBlockButtons location="top" id="pageBlockButton1">
- <input type="button" value="淇濆瓨" onclick="saveJs();" style="width:80px;background-color:red;height:22px"/>
+ <input type="button" value="淇濆瓨" onclick="saveJs();" style="width:80px;background-color:red;height:22px;margin-right: 20px;margin-top: 5px;"/>
<!-- 鍒嗛〉鐢� SWAG-B9UBDP start -->
<table align="right" style="width: 700px;">
<tr>
@@ -385,14 +396,14 @@
</table>
<div id="out_Div_L">
<table class="list" border="1" style="border-collapse: collapse;table-layout:fixed;border-bottom-width: 0px;border-spacing:0;width:915px;">
- <tr style="background-color:#DCDCDC;" class="headerRow">
+ <tr style="background-color:#DCDCDC;height: 50px;" class="headerRow">
<td style="width:20px" align="center">
<input type='checkbox' onClick='checkAll()' id='checker'/>
</td>
<td style="width:110px" align="center">
<a href="#" onclick="sortTableJs('0');return false;" style="text-decoration: underline;">{!$ObjectType.Rental_Apply__c.fields.Name.label}</a>銆�{!sortOrder[0]}
</td>
- <td style="width:60px" align="center">
+ <td style="width:60px;white-space:pre-line;word-break:break-all;word-wrap:break-word;" align="center">
<a href="#" onclick="sortTableJs('1');return false;" style="text-decoration: underline;">{!$ObjectType.Rental_Apply_Equipment_Set__c.fields.RAES_Status__c.label}</a>銆�{!sortOrder[1]}
</td>
<!-- 澶囧搧鍑哄�熸媴褰� -->
diff --git a/force-app/main/default/pages/EquipmentRentalResponse.page b/force-app/main/default/pages/EquipmentRentalResponse.page
index 1cd283b..14af7a2 100644
--- a/force-app/main/default/pages/EquipmentRentalResponse.page
+++ b/force-app/main/default/pages/EquipmentRentalResponse.page
@@ -1,4 +1,5 @@
-<apex:page standardController="Rental_Apply__c" extensions="EquipmentRentalResponseController" showHeader="false" sidebar="false" id="allPage" action="{!init}">
+<!--20230420 zq 鍔犲3 <apex:page standardController="Rental_Apply__c" extensions="EquipmentRentalResponseController" showHeader="false" sidebar="false" id="allPage" action="{!init}"> -->
+<apex:page standardController="Rental_Apply__c" extensions="EquipmentRentalResponseController" showHeader="false" sidebar="false" id="allPage" action="{!init}" lightningStylesheets="true">
<apex:stylesheet value="{!URLFOR($Resource.blockUIcss)}"/>
<apex:includeScript value="{!URLFOR($Resource.jquery183minjs)}"/>
<apex:includeScript value="{!URLFOR($Resource.PleaseWaitDialog)}"/>
diff --git a/force-app/main/default/pages/EquipmentSetSRList2.page b/force-app/main/default/pages/EquipmentSetSRList2.page
index a7a53ab..a6b8963 100644
--- a/force-app/main/default/pages/EquipmentSetSRList2.page
+++ b/force-app/main/default/pages/EquipmentSetSRList2.page
@@ -1,7 +1,5 @@
-<!-- 2023-04-23 zyh lightning鍗囩骇 start -->
<!-- <apex:page Controller="EquipmentSetSRList2Controller" showHeader="false" sidebar="false" id="allPage" action="{!init}" title="鍊熷嚭澶囧搧閰嶅涓�瑙�"> -->
<apex:page Controller="EquipmentSetSRList2Controller" showHeader="false" sidebar="false" id="allPage" action="{!init}" lightningStylesheets="true" title="鍊熷嚭澶囧搧閰嶅涓�瑙�">
-<!-- 2023-04-23 zyh lightning鍗囩骇 start -->
<head>
<meta name="format-detection" content="telephone=no"/>
<meta name="viewport" content="width=device-width,initial-scale=1"/>
diff --git a/force-app/main/default/pages/EquipmentSetShippmentReceived3.page b/force-app/main/default/pages/EquipmentSetShippmentReceived3.page
index 78ac4f3..838e392 100644
--- a/force-app/main/default/pages/EquipmentSetShippmentReceived3.page
+++ b/force-app/main/default/pages/EquipmentSetShippmentReceived3.page
@@ -1,4 +1,6 @@
+<!-- <apex:page Controller="EquipmentSetShippmentReceived3Controller" showHeader="false" sidebar="false" id="allPage" action="{!init}" title="澶囧搧鍑哄簱鍏ュ簱"> -->
<apex:page Controller="EquipmentSetShippmentReceived3Controller" showHeader="false" sidebar="false" id="allPage" action="{!init}" lightningStylesheets="true" title="澶囧搧鍑哄簱鍏ュ簱">
+<!-- 2023-04-23 zyh lightning鍗囩骇 -->
<head>
<meta name="format-detection" content="telephone=no"/>
</head>
@@ -265,11 +267,13 @@
<tr>
<td style="text-align: right;" class="deliveryslip">鍙戣揣-杩愯緭鍗曞彿 锛� </td>
<td align="left">
+ <!-- 2023-04-23 zyh lightning鍗囩骇 -->
<apex:inputField value="{!slip.Name}" style="width:100px;float:left" id="SlipNo"/>
<!-- <apex:inputField value="{!slip.Name}" style="width:120px;float:left" id="SlipNo"/> -->
<apex:commandButton styleClass="commandbutton" onclick="blockme();searchSlip();return false;" style="float:left" value="妫�绱�" rerender="dummy"/>
<!-- <apex:commandButton styleClass="commandbutton" onclick="qrsacn(1)" value="鎵繍杈撳崟鍙�" rerender="dummy"/> -->
<apex:commandButton styleClass="commandbutton" onclick="qrsacn(1)" value="鎵繍杈撳崟鍙�" rerender="dummy" style="margin-left:0; "/>
+ <!-- 2023-04-23 zyh lightning鍗囩骇 -->
</td>
</tr>
<tr>
@@ -338,18 +342,27 @@
<apex:outputPanel layout="none" rendered="{!IF(esdInfo.rec.Rental_Apply_Equipment_Set__r.Inspection_not_finish__c > 0, false, true)}">
<apex:inputCheckbox value="{!esdInfo.isChecked}"/><input type="hidden" value="{!esdInfo.rec.Rental_Apply_Equipment_Set__c}"/><input type="hidden" value="{!esdInfo.rec.Rental_Apply__c}"/>
</apex:outputPanel>
- <h2 style="padding: 5px;" class="detailtab">{!esdInfo.rec.Rental_Apply_Equipment_Set__r.Name}锛歿!esdInfo.rec.Rental_Apply_Equipment_Set__r.Fixture_Set__r.Name}</h2>
+ <!-- 2023-04-26 zyh lightning鍗囩骇 start -->
+ <!-- <h2 style="padding: 5px;" class="detailtab">{!esdInfo.rec.Rental_Apply_Equipment_Set__r.Name}锛歿!esdInfo.rec.Rental_Apply_Equipment_Set__r.Fixture_Set__r.Name}</h2> -->
+ <span style="padding: 5px;font-weight: bold;" class="detailtab">{!esdInfo.rec.Rental_Apply_Equipment_Set__r.Name}锛歿!esdInfo.rec.Rental_Apply_Equipment_Set__r.Fixture_Set__r.Name}</span>
+ <!-- 2023-04-26 zyh lightning鍗囩骇 end -->
<apex:variable var="SetName2" value="{!esdInfo.rec.Rental_Apply_Equipment_Set__r.Id}" />
</apex:outputPanel>
<apex:outputPanel layout="none" rendered="{!IF(indexloop == 1, true, false)}">
- <h2 style="padding: 5px;" class="detailtab">{!esdInfo.rec.Rental_Apply_Equipment_Set__r.Rental_Apply__r.Name}</h2>
- <br/>
+ <!-- 2023-04-26 zyh lightning鍗囩骇 start -->
+ <!-- <h2 style="padding: 5px;" class="detailtab">{!esdInfo.rec.Rental_Apply_Equipment_Set__r.Rental_Apply__r.Name}</h2>
+ <br/> -->
+ <div style="padding: 5px;font-weight: bold;" class="detailtab">{!esdInfo.rec.Rental_Apply_Equipment_Set__r.Rental_Apply__r.Name}</div>
+ <!-- 2023-04-26 zyh lightning鍗囩骇 end -->
<input type="hidden" value="{!esdInfo.rec.Rental_Apply__r.Pre_inspection_ng_num__c}" data-ngnum="{!esdInfo.rec.Rental_Apply__c}"/>
<apex:outputPanel layout="none" rendered="{!IF(esdInfo.rec.Rental_Apply_Equipment_Set__r.Inspection_not_finish__c > 0, false, true)}">
<apex:inputCheckbox value="{!esdInfo.isChecked}"/><input type="hidden" value="{!esdInfo.rec.Rental_Apply_Equipment_Set__c}"/><input type="hidden" value="{!esdInfo.rec.Rental_Apply__c}"/>
</apex:outputPanel>
- <h3 style="padding: 5px;" class="detailtab">{!esdInfo.rec.Rental_Apply_Equipment_Set__r.Name}锛歿!esdInfo.rec.Rental_Apply_Equipment_Set__r.Fixture_Set__r.Name}</h3>
+ <!-- 2023-04-26 zyh lightning鍗囩骇 start -->
+ <span style="padding: 5px; font-weight: blod;" class="detailtab">{!esdInfo.rec.Rental_Apply_Equipment_Set__r.Name}锛歿!esdInfo.rec.Rental_Apply_Equipment_Set__r.Fixture_Set__r.Name}</span>
+ <!-- <h3 style="padding: 5px;" class="detailtab">{!esdInfo.rec.Rental_Apply_Equipment_Set__r.Name}锛歿!esdInfo.rec.Rental_Apply_Equipment_Set__r.Fixture_Set__r.Name}</h3> -->
+ <!-- 2023-04-26 zyh lightning鍗囩骇 end -->
</apex:outputPanel>
<div class="rtop">
<div class="r1"></div>
diff --git a/force-app/main/default/pages/EquipmentSetShippmentReceived4.page b/force-app/main/default/pages/EquipmentSetShippmentReceived4.page
index 1a0a536..9cc7d7b 100644
--- a/force-app/main/default/pages/EquipmentSetShippmentReceived4.page
+++ b/force-app/main/default/pages/EquipmentSetShippmentReceived4.page
@@ -582,7 +582,10 @@
</div>
<apex:outputText id="saveBtnDisabled" value="{!saveBtnDisabled}" style="display: none;"/>
</apex:outputPanel>
- <table style="border-collapse: collapse; font-size:13px;">
+ <!-- 2023-04-26 zyh lightning鍗囩骇 start -->
+ <!-- <table style="border-collapse: collapse; font-size:13px;"> -->
+ <table style="border-collapse: collapse; font-size:13px; width:340px;">
+ <!-- 2023-04-26 zyh lightning鍗囩骇 end -->
<colgroup>
<col width="150" />
<col width="170" />
@@ -611,7 +614,7 @@
<apex:actionRegion >
<tr>
<td style="text-align: right">鍥炲瘎-杩愯緭鍗曞彿 锛� </td>
- <td align="left"><apex:inputField value="{!slip.Name}" style="width:120px;float:left" id="SlipNo"/><apex:commandButton styleClass="commandbutton" onclick="blockme();searchSlip();return false;" style="float:left" value="妫�绱�"/></td>
+ <td align="left"><apex:inputField value="{!slip.Name}" style="width:120px;float:left" id="SlipNo"/><apex:commandButton styleClass="commandbutton" onclick="blockme();searchSlip();return false;" style="float:left;" value="妫�绱�"/></td>
<apex:actionFunction name="searchSlip" action="{!searchSlip}" reRender="allForm" onComplete="unblockUI();fixDeliveryType();resetDetailDivMargintop();" />
</tr>
diff --git a/force-app/main/default/pages/EquipmentSetShippmentReceived6.page b/force-app/main/default/pages/EquipmentSetShippmentReceived6.page
index d19f363..26c7383 100644
--- a/force-app/main/default/pages/EquipmentSetShippmentReceived6.page
+++ b/force-app/main/default/pages/EquipmentSetShippmentReceived6.page
@@ -259,7 +259,10 @@
<tr>
<!-- 鐘舵�佸垏鎹tn -->
<th colspan="2" style="font-size:20px;text-align: center;width:380px;">
- <ul id="Step_tab">
+ <!-- 2023-04-26 zyh lightning鍗囩骇 start -->
+ <!-- <ul id="Step_tab"> -->
+ <ul id="Step_tab" style="margin-left:0px;">
+ <!-- 2023-04-26 zyh lightning鍗囩骇 end -->
<li class="selected"><span class="tabsize">涓婃灦</span></li>
</ul>
</th>
diff --git a/force-app/main/default/pages/FixtureRemind.page b/force-app/main/default/pages/FixtureRemind.page
index 14cffe9..261988c 100644
--- a/force-app/main/default/pages/FixtureRemind.page
+++ b/force-app/main/default/pages/FixtureRemind.page
@@ -1,4 +1,4 @@
-<apex:page controller="FixtureRemindController" action="{!init}" id="allPage">
+<apex:page controller="FixtureRemindController" action="{!init}" id="allPage" lightningStylesheets="true">
<apex:stylesheet value="{!URLFOR($Resource.blockUIcss)}"/>
<apex:includeScript value="{!URLFOR($Resource.jquery183minjs)}"/>
<apex:includeScript value="{!URLFOR($Resource.PleaseWaitDialog)}"/>
diff --git a/force-app/main/default/pages/FixtureRemindForAgencyRequest.page b/force-app/main/default/pages/FixtureRemindForAgencyRequest.page
index 72d5c61..7730f45 100644
--- a/force-app/main/default/pages/FixtureRemindForAgencyRequest.page
+++ b/force-app/main/default/pages/FixtureRemindForAgencyRequest.page
@@ -1,5 +1,5 @@
<!-- <apex:page controller="FixtureRemindForAgencyRequestController" action="{!init}" id="allPage"> 娉ㄩ噴by rentx 20210902 -->
-<apex:page controller="FixtureRemindForAgencyRequestController" action="{!init}" id="allPage" rendered="{!canshowData}" title="鐜板湴棣栭〉">
+<apex:page controller="FixtureRemindForAgencyRequestController" action="{!init}" id="allPage" rendered="{!canshowData}" title="鐜板湴棣栭〉" lightningStylesheets="true">
<apex:stylesheet value="{!URLFOR($Resource.blockUIcss)}"/>
<apex:includeScript value="{!URLFOR($Resource.jquery183minjs)}"/>
<apex:includeScript value="{!URLFOR($Resource.PleaseWaitDialog)}"/>
diff --git a/force-app/main/default/pages/FixtureSetManage.page b/force-app/main/default/pages/FixtureSetManage.page
index 44c3837..220b059 100644
--- a/force-app/main/default/pages/FixtureSetManage.page
+++ b/force-app/main/default/pages/FixtureSetManage.page
@@ -10,6 +10,16 @@
<apex:includeScript value="{!URLFOR($Resource.PleaseWaitDialog)}"/>
<apex:includeScript value="{!URLFOR($Resource.RelationListPagingCmpJS)}"/>
+<!-- 20230426 zq add style -->
+<style>
+ td {
+ padding: 5px 5px;
+ width: auto;
+ }
+ body input[type="submit"], body input.btn{
+ padding: 0 10px;
+ }
+</style>
<script type="text/javascript">
var heightAjustment = 120;
@@ -33,8 +43,11 @@
<apex:pageBlock id="searchBlock" tabStyle="Report">
<apex:variable value="{!$ObjectType.Fixture_Set_Detail__c.updateable && $ObjectType.Fixture_Set_Detail__c.createable}" var="savedisabled" />
<apex:pageBlockButtons location="bottom">
- <apex:commandButton style="float:left;" disabled="{!Not(savedisabled)}" action="{!save}" value="淇濆瓨" onclick="blockme();" rerender="allForm,checEventFrame,message" oncomplete="unblockUI();" />
- <apex:commandButton style="float:right;" action="{!cancel}" value="鍙栨秷" rerender="message"/>
+ <!--20230426 zq <apex:commandButton style="float:left;" disabled="{!Not(savedisabled)}" action="{!save}" value="淇濆瓨" onclick="blockme();" rerender="allForm,checEventFrame,message" oncomplete="unblockUI();" />
+ <apex:commandButton style="float:right;" action="{!cancel}" value="鍙栨秷" rerender="message"/>
+ -->
+ <apex:commandButton disabled="{!Not(savedisabled)}" action="{!save}" value="淇濆瓨" onclick="blockme();" rerender="allForm,checEventFrame,message" oncomplete="unblockUI();" />
+ <apex:commandButton style="float:right;margin-right: 10px;" action="{!cancel}" value="鍙栨秷" rerender="message"/>
</apex:pageBlockButtons>
<div style="clear:both;"></div>
diff --git a/force-app/main/default/pages/Inventory.page b/force-app/main/default/pages/Inventory.page
index 7f05f37..3470c3d 100644
--- a/force-app/main/default/pages/Inventory.page
+++ b/force-app/main/default/pages/Inventory.page
@@ -5,6 +5,7 @@
<apex:includeScript value="{!URLFOR($Resource.PleaseWaitDialog)}" />
<script>
+ console.log('ConsumableorderdetailsRecordsview = ' + '{!ConsumableorderdetailsRecordsview}')
function checkAll() {
var productCount = j$(escapeVfId('allPage:allForm:allBlock:ConsumableorderdetailsSection:ConsumableorderdetailsCnt')).value();
if (j$(escapeVfId('checker')).attr('checked') == 'checked') {
diff --git a/force-app/main/default/pages/InventoryView.page b/force-app/main/default/pages/InventoryView.page
index 764097b..3f801b5 100644
--- a/force-app/main/default/pages/InventoryView.page
+++ b/force-app/main/default/pages/InventoryView.page
@@ -4,7 +4,6 @@
<apex:includeScript value="{!URLFOR($Resource.PleaseWaitDialog)}"/>
<apex:includeScript value="{!URLFOR($Resource.CommonUtilJs)}"/>
<script>
- console.log('pageRecords = ' + '{!pageRecords}')
function ClearJs(){
blockme();
//document.getElementById("allPage:allForm:allBlock:searchBlock:OrderCodeSearch").value = "";
diff --git a/force-app/main/default/pages/ListShip.page b/force-app/main/default/pages/ListShip.page
index f31b584..a84c571 100644
--- a/force-app/main/default/pages/ListShip.page
+++ b/force-app/main/default/pages/ListShip.page
@@ -35,19 +35,19 @@
<table style="border: 0; border-collapse: collapse;" id="searchTbl1">
<tr>
<th style="text-align:right; width:50px;">鏉′欢锛�</th>
- <th style="text-align:right; width:50px;">鏈儴</th>
- <td style="text-align:left; width:70px;"><apex:selectList value="{!salesDept}" size="1" style="width:95%"><apex:selectOptions value="{!salesDeptOpts}"/></apex:selectList></td>
- <th style="text-align:right; width:50px;">鐪�</th>
- <td style="text-align:left; width:70px;"><apex:selectList value="{!area}" size="1" style="width:95%"><apex:selectOptions value="{!areaOpts}"/></apex:selectList></td>
+ <th style="text-align:right; width:60px;">鏈儴</th>
+ <td style="text-align:left; width:75px;"><apex:selectList value="{!salesDept}" size="1" style="width:95%"><apex:selectOptions value="{!salesDeptOpts}"/></apex:selectList></td>
+ <th style="text-align:right; width:60px;">鐪�</th>
+ <td style="text-align:left; width:75px;"><apex:selectList value="{!area}" size="1" style="width:95%"><apex:selectOptions value="{!areaOpts}"/></apex:selectList></td>
<th style="text-align:right; width:60px;">鍖婚櫌</th>
<td style="text-align:left; width:75px;"><apex:inputText value="{!enduser}" style="width:95%;"/></td>
<th style="text-align:right; width:60px;">{!$ObjectType.Ship__c.fields.Shipping_date__c.Label}</th>
- <td style="text-align:left; width:65px;"><apex:inputField value="{!dateFrom.Birth_Date__c}" style="width:95%;"/></td>
+ <td style="text-align:left; width:75px;"><apex:inputField value="{!dateFrom.Birth_Date__c}" style="width:95%;"/></td>
<td style="text-align:left; width:10px;">锝�</td>
- <td style="text-align:left; width:65px;"><apex:inputField value="{!dateTo.Birth_Date__c}" style="width:95%;"/></td>
+ <td style="text-align:left; width:75px;"><apex:inputField value="{!dateTo.Birth_Date__c}" style="width:95%;"/></td>
</tr>
</table>
- <table style="width:100%; border: 0; border-collapse: collapse;" id="searchTbl2">
+ <table style="width:100%; border: 0; border-collapse: collapse; margin: 10px 0 10px 0; " id="searchTbl2">
<tr>
<th style="width:50px;"> </th>
<th style="text-align:right; width:60px;">{!$ObjectType.Ship__c.fields.Category2__c.Label}</th>
@@ -64,7 +64,7 @@
<td style="text-align:left;"><apex:commandButton value="閫傜敤" style="width:60px;" reRender="Page" onclick="searchJs();"/></td>
</tr>
</table>
- <table style="border: 0; border-collapse: collapse;" id="groupbyTbl">
+ <table style="border: 0; border-collapse: collapse;margin-bottom: 10px;" id="groupbyTbl">
<tr>
<th style="text-align:right; width:60px;">琛岄」鐩細</th>
<td style="text-align:left;"><apex:inputCheckbox id="isSalesDept" value="{!isSalesDept}" disabled="true"></apex:inputCheckbox><apex:outputLabel value="鏈儴" for="isSalesDept"/></td>
@@ -144,18 +144,18 @@
<apex:outputPanel rendered="{!isShowMonth || isShowWeek}" layout="none">
<apex:repeat value="{!headerYrCols}" var="yr"><apex:repeat value="{!headerDcCols[yr]}" var="dc">
<apex:outputPanel rendered="{!isShowSumQty}" layout="none">
- <th style="text-align:center;border: solid 1px;">鏁伴噺</th>
+ <th width="100px" style="text-align:center;border: solid 1px;">鏁伴噺</th>
</apex:outputPanel>
<apex:outputPanel rendered="{!isShowSumAmount}" layout="none">
- <th style="text-align:center;border: solid 1px;">澹蹭笂閲戦</th>
+ <th width="100px" style="text-align:center;border: solid 1px;">澹蹭笂閲戦</th>
</apex:outputPanel>
</apex:repeat></apex:repeat>
</apex:outputPanel>
<apex:outputPanel rendered="{!isShowSumQty}" layout="none">
- <th style="text-align:center;border: solid 1px;">鏁伴噺</th>
+ <th width="100px" style="text-align:center;border: solid 1px;">鏁伴噺</th>
</apex:outputPanel>
<apex:outputPanel rendered="{!isShowSumAmount}" layout="none">
- <th style="text-align:center;border: solid 1px;">澹蹭笂閲戦</th>
+ <th width="100px" style="text-align:center;border: solid 1px;">澹蹭笂閲戦</th>
</apex:outputPanel>
</tr>
<apex:variable value="{!0}" var="line" />
diff --git a/force-app/main/default/pages/LostViewPage1.page b/force-app/main/default/pages/LostViewPage1.page
index 24ee1b6..d451e2f 100644
--- a/force-app/main/default/pages/LostViewPage1.page
+++ b/force-app/main/default/pages/LostViewPage1.page
@@ -1,5 +1,5 @@
<apex:page standardController="Lost_cancel_report__c"
- showHeader="false" sidebar="false" id="LostReportView" title="璇环澶卞崟/鍙栨秷鎶ュ憡">
+ showHeader="false" sidebar="false" id="LostReportView" title="璇环澶卞崟/鍙栨秷鎶ュ憡" lightningStylesheets="true">
<apex:includeLightning />
<apex:includeScript value="{!URLFOR($Resource.connection20)}"/>
<div style="width:100%;height:100%;" id="ViewLostReport" />
diff --git a/force-app/main/default/pages/MCLastMContract.page b/force-app/main/default/pages/MCLastMContract.page
index a3782de..2f71795 100644
--- a/force-app/main/default/pages/MCLastMContract.page
+++ b/force-app/main/default/pages/MCLastMContract.page
@@ -1,4 +1,4 @@
-<apex:page controller="MCLastMContractController" tabStyle="Maintenance_Contract_Estimate__c" sidebar="false" showHeader="false" id="allPage" action="{!init}" title="缁鍚堝悓淇℃伅">
+<apex:page controller="MCLastMContractController" tabStyle="Maintenance_Contract_Estimate__c" sidebar="false" showHeader="false" id="allPage" action="{!init}" title="缁鍚堝悓淇℃伅" lightningStylesheets="true">
<apex:pageMessages />
<!-- update by rentongxiao 2020-09-09 start -->
<!-- <apex:form id="allForm">
diff --git a/force-app/main/default/pages/Maintenance.page b/force-app/main/default/pages/Maintenance.page
index f3eeac9..d806108 100644
--- a/force-app/main/default/pages/Maintenance.page
+++ b/force-app/main/default/pages/Maintenance.page
@@ -1,3 +1,3 @@
-<apex:page standardController="Account">
+<apex:page standardController="Account" lightningStylesheets="true">
<h1>姝e湪缁存姢涓�</h1>
</apex:page>
\ No newline at end of file
diff --git a/force-app/main/default/pages/MaintenanceContractPCL.page b/force-app/main/default/pages/MaintenanceContractPCL.page
index 96f9dfc..5e03817 100644
--- a/force-app/main/default/pages/MaintenanceContractPCL.page
+++ b/force-app/main/default/pages/MaintenanceContractPCL.page
@@ -1,4 +1,4 @@
-<apex:page controller="MaintenanceContractPCLController" showHeader="false" sidebar="false" id="allPage" action="{!init}">
+<apex:page controller="MaintenanceContractPCLController" showHeader="false" sidebar="false" id="allPage" action="{!init}" lightningStylesheets="true">
<head>
<title>鍛ㄤ細-缁翠慨鍚堝悓</title>
@@ -20,27 +20,25 @@
}
div#out_Div { /* 銇撱亾銇儤銉冦儉銈掓牸绱� */
position:relative;
- overflow: hidden;
+ overflow: auto;
float:left;
- width:32768px;
}
div#out_Div_L {
position:relative;
- overflow: hidden;
+ overflow: auto;
float:left;
}
div#in_Div {/* tbody銇屽叆銇c仸銇勩倠銆傘亾銇撱亴銈广偗銉兗銉璞�*/
position:relative;
- overflow: auto; /*銈广偗銉兗銉儛銉�*/
+ overflow: auto;
float:left;
- width:32768px;
- height: 100px; /* tbody銈掕〃绀恒仚銈嬮珮銇曘�佸緦銇s銇仸瑾挎暣 */
+ height: auto;/* tbody銈掕〃绀恒仚銈嬮珮銇曘�佸緦銇s銇仸瑾挎暣 */
}
div#in_Div_L {
position:relative;
- overflow: hidden;
+ overflow: auto;
float:left;
- height: 100px;
+ height: auto;
}
body .pbBody table.list tr.headerRow td {
@@ -57,59 +55,67 @@
padding:0px 0px 0px 1px; border-width: 0px 0px 1px 0px; vertical-align: middle; word-break:break-all;
}
body .pbBody table.list tr.dataRow td.dataCellBorder {
- /* 銇勩倝銇亜銆佷娇銇c仸銇勩仾銇� */
padding:0px 0px 0px 1px; border-width: 0px 0px 1px 0px; vertical-align: middle; word-break:break-all;
}
body .pbBody table.list tr.dataRow td.dataCellBorder1 {
padding:0px 0px 0px 1px;
border-width: 0px 0px 1px 1px; vertical-align: middle; word-break:break-all;
}
-@-moz-document url-prefix() {
+/*@-moz-document url-prefix() {
body .pbBody table.list tr.dataRow td.dataCellBorder1 {padding:0px 0px 0px 0px; border-width: 0px 0px 1px 1px; vertical-align: middle; word-break:break-all;}
-}
+}*/
-table.list td {width:100px;}
-
-table.list td select {width:95%;}
-table.list td input {width:95%;}
+table.list td {width:50px;}
+.lookupInput{width:150px;}
+table.list td select {width:55%;}
+table.list td input {width:100%;text-align: center}
table.list td textarea {
height:50px;
width:90%;
}
-
+.dataCellBorder1 col_State_Hospital__c 1_col_State_Hospital__c {width:10px;}
table.list .col_Management_Code__c {width:109px;}
table.list .col_Hospital__c {width:129px;}
-table.list .col_Department__c {width:129px;}
+table.list .col_Department__c {width:120px;}
table.list .col_Name {width:118px;}
table.list .col_Hospital__r_Salesdepartment_HP__c {width:88px;}
-table.list .col_State_Hospital__c {width:58px;}
+table.list .col_State_Hospital__c {width:80px;}
+table.list .col_HP_OCM__c {width:80px;}
table.list .col_Status__c {width:88px;}
table.list .col_Service_Contract_Staff__c {width:118px;}
-table.list .col_Service_contract_number__c {width:118px;}
-table.list .col_Estimate_Trial_Money__c {width:118px;}
+table.list .col_Service_contract_number__c {width:100px;}
+table.list .col_Estimate_Trial_Money__c {width:157px;}
table.list .col_Status2__c {width:88px;}
+table.list .col_Contract_Amount__c {width:148px;}
table.list .col_CreatedDate {width:98px;}
table.list .col_Contract_Start_Date__c {width:88px;}
table.list .col_Contract_End_Date__c {width:88px;}
table.list .col_Service_contract_target_number__c {width:78px;}
-
+/*.list4 td:nth-child(4) {
+ width: 120px;
+ }
+.list4 td:nth-child(10) {
+ width: 150px;
+}*/
body .pbBody table.list tr.headerRow td.colViewing {
/* 銉囥儠銈┿儷銉堝�ゃ�佹渶灏忓寲銈€偆銈炽兂銈掕〃绀� */
- background-image:url('{!URLFOR($Resource.IconResizeMinus_5)}') ;
- background-repeat:no-repeat;
+ /*background-image:url('{!URLFOR($Resource.IconResizeMinus_5)}') ;*/
+ /*background-repeat:no-repeat;*/
+}
+body .pbBody{
+ width:3800px;
}
body .pbBody table.list tr.headerRow td.colUnHideIcon {
/* 鏈�澶у寲銈€偆銈炽兂銈掕〃绀� */
- background-image:url('{!URLFOR($Resource.IconResizePlus_5)}');
- background-repeat:no-repeat;
+/* background-image:url('{!URLFOR($Resource.IconResizePlus_5)}');
+ background-repeat:no-repeat;*/
}
body .pbBody table.list tr.headerRow td.col_Scroll {width:0px; padding:0px; border-width:0px;}
body .pbBody table.list tr.dataRow td.col_Scroll {width:0px; padding:0px; border-width:0px;}
</style>
<script type="text/javascript">
-var heightAjustment = 120;
-var widthAjustment = 30;
+
</script>
</head>
<apex:form id="allForm">
@@ -130,8 +136,8 @@
<apex:pageBlock id="searchBlock" tabStyle="Report">
<table style="border-bottom-width: 0px; font-size:12px;">
<tr>
- <td width="150px">
- <apex:commandButton action="{!save}" value="淇濆瓨" rerender="allPanel" onclick="blockme();" oncomplete="unblockUI();" style="height:30px;width:50px;"/>
+ <td width="200px">
+ <apex:commandButton action="{!save}" value="淇濆瓨" rerender="allPanel" onclick="blockme();" oncomplete="unblockUI();" style="height:30px;width:80px;"/>
<apex:commandButton value="妫�绱�" onclick="searchOppJs();return false;" style="height:30px;width:70px;"/>
</td>
<td width="1000px">
@@ -144,7 +150,7 @@
<td width="250px">鍖婚櫌 <apex:inputText value="{!accSearch}" style="width:150px"/>銆�</td>
<td width="40px">鍒涘缓浜�</td>
<td width="150px"><span><apex:inputText value="{!ownerSearch}" style="width:100px;" /></span></td>
- <td width="400px">
+ <td width="600px">
<font>鏃ユ湡</font>
<apex:selectList value="{!dateField}" size="1" style="width:110px" id="dateFieldId"><apex:selectOptions value="{!dateOpts}" id="dateOptsId"/></apex:selectList>銆�
浠� <apex:inputField value="{!con1.BirthDate}" id="fromDateId"/>銆�
@@ -186,68 +192,68 @@
</apex:pageBlock>
<apex:pageBlock id="oppBlock" tabStyle="Report">
-<!-- <apex:pageblocksection columns="1" id="oppSection">-->
+ <!-- <apex:pageblocksection columns="1" id="oppSection"> -->
<apex:outputPanel >
<apex:inputHidden id="oppCount" value="{!oppCount}"/>
- <div id="out_Div_L">
- <table class="list" style="border-bottom-width: 0px; font-size:11px; border-spacing:0;" border="" id="tableHeader_L">
- <tr class="dataRow" height="1px">
- <apex:variable value="{!0}" var="cnt" />
- <apex:repeat value="{!titleLeft}" var="t">
- <td class="col_{!columnLeftCss[cnt]}"></td>
- <apex:variable value="{!cnt + 1}" var="cnt" />
- </apex:repeat>
- </tr>
- <tr class="headerRow" height="30px">
- <apex:variable value="{!0}" var="cnt" />
- <apex:repeat value="{!titleLeft}" var="t">
- <td class="col_{!columnLeftCss[cnt]}">
- <a href="#" onclick="sortTableJs('{!cnt + 1}');return false;" style="text-decoration: underline;"><apex:outputText value="{!t}"/></a>{!sortOrder[cnt + 1]}
- </td>
- <apex:variable value="{!cnt + 1}" var="cnt" />
- </apex:repeat>
- </tr>
- </table>
- </div>
+ <div id="out_Div_L">
+ <table class="list" style="table-layout:fixed;border-bottom-width: 0px; font-size:11px; border-spacing:0;" border="" id="tableHeader_L">
+ <tr class="dataRow" height="1px">
+ <apex:variable value="{!0}" var="cnt" />
+ <apex:repeat value="{!titleLeft}" var="t">
+ <td class="col_{!columnLeftCss[cnt]}" style="width: 140px"></td>
+ <apex:variable value="{!cnt + 1}" var="cnt" />
+ </apex:repeat>
+ </tr>
+ <tr class="headerRow" height="30px">
+ <apex:variable value="{!0}" var="cnt" />
+ <apex:repeat value="{!titleLeft}" var="t">
+ <td class="col_{!columnLeftCss[cnt]}">
+ <a href="#" onclick="sortTableJs('{!cnt + 1}');return false;" style="text-decoration: underline;"><apex:outputText value="{!t}"/></a>{!sortOrder[cnt + 1]}
+ </td>
+ <apex:variable value="{!cnt + 1}" var="cnt" />
+ </apex:repeat>
+ </tr>
+ </table>
+ </div>
<div id="out_Div">
- <table class="list" style="border-bottom-width: 0px; font-size:11px; border-spacing:0;" border="" id="tableHeader">
+ <table class="list" style="table-layout:fixed;border-bottom-width: 0px; font-size:11px; border-spacing:0;" border="" id="tableHeader">
<tr class="dataRow" height="1px">
<apex:variable value="{!0}" var="cnt" />
<apex:repeat value="{!titleRight}" var="t">
- <td class="col_{!columnRightCss[cnt]}"></td>
+ <td class="col_{!columnRightCss[cnt]}" style="width: 100px"></td>
<apex:variable value="{!cnt + 1}" var="cnt" />
</apex:repeat>
- <td id="cell_Scroll" class="col_Scroll"></td>
</tr>
<tr class="headerRow" height="30px">
<apex:variable value="{!0}" var="cnt" />
<apex:repeat value="{!titleRight}" var="t">
<td class="col_{!columnRightCss[cnt]}">
- <a href="#" onclick="sortTableJs('{!cnt + 1 + titleLeft.size}');return false;" style="text-decoration: underline;"><apex:outputText value="{!t}"/></a>{!sortOrder[cnt + 1 + titleLeft.size]}
+ <a href="#" onclick="sortTableJs('{!cnt + 1+ titleLeft.size}');return false;" style="text-decoration: underline;"><apex:outputText value="{!t}"/></a>{!sortOrder[cnt + 1 + titleLeft.size]}
</td>
<apex:variable value="{!cnt + 1}" var="cnt" />
</apex:repeat>
- <td id="cell_Scroll" class="col_Scroll"></td>
</tr>
</table>
- </div> <!-- out_Div -->
+ </div>
+ </apex:outputPanel>
+ <apex:outputPanel >
<div style="clear:both;height:0px;"></div>
<div id="in_Div_L">
- <table class="list" style="border-bottom-width: 0px; font-size:11px; border-spacing:0;" border="" id="tableData_L">
+ <table class="list" style="table-layout:fixed;border-bottom-width: 0px; font-size:11px; border-spacing:0;" border="" id="tableData_L">
<apex:variable value="{!1}" var="cnt" />
<apex:repeat value="{!oppRecords}" var="or" id="oppTable_L">
<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);}">
<apex:variable value="{!0}" var="cnt_2" />
<apex:repeat value="{!columnsLeftApi}" var="c">
- <td class="dataCellBorder1 col_{!columnLeftCss[cnt_2]}">
+ <td class="dataCellBorder1 col_{!columnLeftCss[cnt_2]}" style="width: 140px;text-align:center">
<apex:outputPanel rendered="{!(c.size==1 && columnLeftRW[c[0]]=='r')}" layout="none">
-<!-- in_Div_L銇瓵ccount鍚嶃伅鐗规畩瀵惧繙銆併儶銉炽偗銇仚銈� -->
-<apex:outputPanel rendered="{!c[0]=='Name'}" layout="none">
- <apex:outputLink value="/{!or.mc.Id}" target="LINK_{!or.mc.Id}"><apex:outputField value="{!or.mc[c[0]]}" /></apex:outputLink>
-</apex:outputPanel>
-<apex:outputPanel rendered="{!c[0]<>'Name'}" layout="none">
- <apex:inputField value="{!or.mc[c[0]]}" onchange="setChangeFlg('{!or.lineNo}')"/>
-</apex:outputPanel>
+
+ <apex:outputPanel rendered="{!c[0]=='Name'}" layout="none">
+ <apex:outputLink value="/{!or.mc.Id}" target="LINK_{!or.mc.Id}"><apex:outputField value="{!or.mc[c[0]]}" /></apex:outputLink>
+ </apex:outputPanel>
+ <apex:outputPanel rendered="{!c[0]<>'Name'}" layout="none">
+ <apex:inputField value="{!or.mc[c[0]]}" onchange="setChangeFlg('{!or.lineNo}')"/>
+ </apex:outputPanel>
</apex:outputPanel>
<apex:outputPanel rendered="{!(c.size==2)}" layout="none">
<apex:outputField value="{!or.mc[c[0]][c[1]]}"/>
@@ -267,13 +273,13 @@
</table>
</div>
<div id="in_Div">
- <table class="list" style="border-bottom-width: 0px; font-size:11px; border-spacing:0;" border="" id="tableData">
+ <table class="list4" style="table-layout:fixed;border-bottom-width: 0px; font-size:11px; border-spacing:0;" border="" id="tableData">
<apex:variable value="{!1}" var="cnt" />
<apex:repeat value="{!oppRecords}" var="or" id="oppTable">
<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);}">
<apex:variable value="{!0}" var="cnt_3" />
<apex:repeat value="{!columnsRightApi}" var="c">
- <td class="dataCellBorder1 col_{!columnRightCss[cnt_3]} {!cnt}_col_{!columnRightCss[cnt_3]}">
+ <td class="dataCellBorder1 col_{!columnRightCss[cnt_3]} {!cnt}_col_{!columnRightCss[cnt_3]}" style="width: 100px;text-align:center">
<apex:outputPanel rendered="{!(c.size==1 && columnRightRW[c[0]]=='r')}" layout="none">
<apex:outputField value="{!or.mc[c[0]]}"/>
</apex:outputPanel>
@@ -284,12 +290,12 @@
<apex:inputField value="{!or.mc[c[0]]}" onchange="setChangeFlg('{!or.lineNo}')"/>
</apex:outputPanel>
<apex:outputPanel rendered="{!(c.size==1 && columnRightRW[c[0]]=='wm')}" layout="none">
- <div class="requiredInput"><div class="requiredBlock"></div><apex:inputField value="{!or.mc[c[0]]}" onchange="setChangeFlg('{!or.lineNo}')"/></div>
+ <div class="requiredInput" ><div class="requiredBlock"></div><apex:inputField value="{!or.mc[c[0]]}" onchange="setChangeFlg('{!or.lineNo}')"/></div>
</apex:outputPanel>
<apex:variable value="{!cnt_3 + 1}" var="cnt_3" />
</td>
</apex:repeat>
- <td id="cell_Scroll" class="col_Scroll">
+ <!-- <td id="cell_Scroll" class="col_Scroll"> -->
<apex:inputHidden value="{!or.changeFlg}" id="changeFlg"/>
<script type="text/javascript">
if ("{!or.canEdit}" == "false") {
@@ -315,12 +321,12 @@
j$(leftFirst).css("background-color", "red");
}
</script>
- </td>
+ <!-- </td> -->
</tr>
<apex:variable value="{!cnt + 1}" var="cnt" />
</apex:repeat>
</table>
- </div><!-- /in_Div -->
+ </div>
</apex:outputPanel>
</apex:pageBlock>
<script type="text/javascript">
@@ -333,11 +339,11 @@
tableWidth += headerCol.width();
}
});
- j$('table#tableData').css('width', (tableWidth + 2) + 'px');
- j$('table#tableHeader').css('width', (tableWidth + 2) + 'px');
+ // j$('table#tableData').css('width', (tableWidth + 100) + 'px');
+ // j$('table#tableHeader').css('width', (tableWidth + 100) + 'px');
// list 銇� headerRow 銇� td銇� toggleWidth() 銈掕拷鍔�
- bindTdToggleWidth();
+ // bindTdToggleWidth();
});
var elements = document.getElementsByTagName("select");
for (i = 0; i < elements.length; i++) {
diff --git a/force-app/main/default/pages/MaintenanceProductDataManage.page b/force-app/main/default/pages/MaintenanceProductDataManage.page
index 44d9d32..e592880 100644
--- a/force-app/main/default/pages/MaintenanceProductDataManage.page
+++ b/force-app/main/default/pages/MaintenanceProductDataManage.page
@@ -1,4 +1,4 @@
-<apex:page standardController="Maintenance_Product_Data__c" showHeader="false" sidebar="false">
+<apex:page standardController="Maintenance_Product_Data__c" showHeader="false" sidebar="false" lightningStylesheets="true">
<script type="text/javascript">
function init() {
// var test = window.location.search;
diff --git a/force-app/main/default/pages/MoreMaintenanceContract.page b/force-app/main/default/pages/MoreMaintenanceContract.page
index 2373ec8..f3e20db 100644
--- a/force-app/main/default/pages/MoreMaintenanceContract.page
+++ b/force-app/main/default/pages/MoreMaintenanceContract.page
@@ -1,4 +1,4 @@
-<apex:page controller="MoreMaintenanceContractController" action="{!init}" showHeader="false" sidebar="true" id="allPage" title="缁忛攢鍟嗗鍖婚櫌淇悊浠锋牸褰曞叆">
+<apex:page controller="MoreMaintenanceContractController" action="{!init}" showHeader="false" sidebar="true" id="allPage" title="缁忛攢鍟嗗鍖婚櫌淇悊浠锋牸褰曞叆" lightningStylesheets="true">
<apex:stylesheet value="{!URLFOR($Resource.blockUIcss)}"/>
<apex:includeScript value="{!URLFOR($Resource.jquery183minjs)}"/>
<apex:includeScript value="{!URLFOR($Resource.PleaseWaitDialog)}"/>
@@ -111,15 +111,15 @@
<table style="width:100%;">
<colgroup>
- <col width="5%"/>
+ <col width="1%"/>
<col width="9%"/>
<col width="1%"/>
<col width="10%"/>
- <col width="20%"/>
+ <col width="9%"/>
+ <col width="10%"/>
+ <col width="15%"/>
<col width="10%"/>
<col width="10%"/>
- <col width="10%"/>
- <col width="5%"/>
<col width="10%"/>
<col width="5%"/>
<col width="5%"/>
diff --git a/force-app/main/default/pages/MoreMaintenanceContractPop.page b/force-app/main/default/pages/MoreMaintenanceContractPop.page
index 142438c..d99a1bf 100644
--- a/force-app/main/default/pages/MoreMaintenanceContractPop.page
+++ b/force-app/main/default/pages/MoreMaintenanceContractPop.page
@@ -1,4 +1,4 @@
-<apex:page controller="MoreMaintenanceContractPopController" showHeader="false" sidebar="true" id="allPage" title="缁忛攢鍟嗗鍖婚櫌淇悊浠锋牸褰曞叆">
+<apex:page controller="MoreMaintenanceContractPopController" showHeader="false" sidebar="true" id="allPage" title="缁忛攢鍟嗗鍖婚櫌淇悊浠锋牸褰曞叆" lightningStylesheets="true">
<apex:stylesheet value="{!URLFOR($Resource.blockUIcss)}"/>
<apex:includeScript value="{!URLFOR($Resource.jquery183minjs)}"/>
<!-- action="{!init}" -->
diff --git a/force-app/main/default/pages/NewOnCall.page b/force-app/main/default/pages/NewOnCall.page
index 9ad6843..11b0441 100644
--- a/force-app/main/default/pages/NewOnCall.page
+++ b/force-app/main/default/pages/NewOnCall.page
@@ -1,4 +1,4 @@
-<apex:page standardController="On_Call__c" extensions="OnCallController" id="page">
+<apex:page standardController="On_Call__c" extensions="OnCallController" id="page" lightningStylesheets="true">
<apex:includeScript value="{! URLFOR($Resource.AWSService, 'AWSService.js') }" />
<apex:stylesheet value="{!URLFOR($Resource.blockUIcss)}"/>
<apex:includeScript value="{!URLFOR($Resource.jquery183minjs)}"/>
diff --git a/force-app/main/default/pages/NewPaymentPlanLoad.page b/force-app/main/default/pages/NewPaymentPlanLoad.page
index ab7b9d7..44e540e 100644
--- a/force-app/main/default/pages/NewPaymentPlanLoad.page
+++ b/force-app/main/default/pages/NewPaymentPlanLoad.page
@@ -1,14 +1,19 @@
-<apex:page Controller="NewPaymentPlanLoadController" showHeader="false" sidebar="false" action="{!init}" id="allPage" title="缁翠慨鍚堝悓鏂囨湰淇℃伅褰曞叆椤甸潰" pageStyle="PageStyleCss">
+<apex:page Controller="NewPaymentPlanLoadController" showHeader="false" sidebar="false" action="{!init}" id="allPage" title="缁翠慨鍚堝悓鏂囨湰淇℃伅褰曞叆椤甸潰" pageStyle="PageStyleCss" lightningStylesheets="true">
<apex:stylesheet value="{!URLFOR($Resource.blockUIcss)}"/>
<apex:includeScript value="{!URLFOR($Resource.jquery183minjs)}"/>
<apex:includeScript value="{!URLFOR($Resource.PleaseWaitDialog)}"/>
<style type="text/css">
.BlockSytle{
- width: 970px;
+ width: 1000px;
}
.PageStyleCss{
width: 980px;
height: 340px;
+ }
+ .align-save-button {
+ vertical-align: top;
+ margin-top: 0.0rem;
+ margin-bottom: 0.125rem;
}
input{
disabled: false;
@@ -205,7 +210,7 @@
// var saveErrorflag = j$(escapeVfId('saveErrorflag')).value();
if(Rs == 'Fin'){
// fxk 2021/8/31 鐐规娆℃暟蹇呴』濉� end
- window.opener.top.location.href = '/{!PageMCEElement.id}';
+ // window.opener.top.location.href = '/{!PageMCEElement.id}';
// top.window.close();
window.close();
unblockUI();
@@ -615,7 +620,7 @@
</apex:pageBlockSection>
<apex:pageBlockButtons id="allButtons">
<apex:outputPanel rendered="{!IF(PageMCEElement.Status__c != '寮曞悎涓�', 'true', 'false')}">
- <apex:commandButton disabled="true" id="SaveButton1" value="淇濆瓨" action="{!save}" onclick="blockme();" reRender="hiddenInput,Messages" oncomplete="CloseJs();"/>
+ <apex:commandButton styleClass="align-save-button" disabled="true" id="SaveButton1" value="淇濆瓨" action="{!save}" onclick="blockme();" reRender="hiddenInput,Messages" oncomplete="CloseJs();"/>
<apex:commandButton disabled="true" id="CancelButton1" value="鍙栨秷" onclick="CloseJs(); return false;"/>
<apex:commandButton disabled="true" id="PrintButton1" value="鎵撳嵃" action="{!print}" onclick="blockme();" rerender="hiddenInput,Messages,pdfPrint" oncomplete="PrintJs();" />
</apex:outputPanel>
diff --git a/force-app/main/default/pages/NewQuoteEntry.page b/force-app/main/default/pages/NewQuoteEntry.page
index 0b36a96..a101288 100644
--- a/force-app/main/default/pages/NewQuoteEntry.page
+++ b/force-app/main/default/pages/NewQuoteEntry.page
@@ -10,98 +10,11 @@
<apex:includeScript value="{!URLFOR($Resource.apex20)}"/>
<apex:stylesheet value="{!URLFOR($Resource.NewQuoteEntryCss)}"/>
+
- <script type="text/javascript">
- //娣诲姞琛� 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';
-
- }
- // function decision2btns(){
- // ReservedProductVerification();
- // debugger
- // var filg=j$(escapeVfId('Page:mainForm:filg')).value();
- // // var filg={!filg};
- // console.warn(filg);
- // if(filg == 'true'){
- // console.warn('鎴愬姛');
- // // decision2btn();
- // }else{
- // alert('浜у搧鏁伴噺涓嶅彲瓒呰繃浜у搧棰勭暀鏁伴噺');
- // }
- // }
- //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}锛�';
- var QuoteDecide = {!QuoteDecide};
- 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;
- }
-
- // 2018/09/28 CHAN-B4YAB8 鍒濆鍖栨椂鏇存柊缁忛攢鍟嗘姌鎵� start
- //AgencyDiscountCalculation1();
- // 2018/09/28 CHAN-B4YAB8 鍒濆鍖栨椂鏇存柊缁忛攢鍟嗘姌鎵� end
- </script>
<style type="text/css">
div#iframelike {
- color: #fff;
+ color: rgb(24, 24, 24);
height: 300px;
overflow: auto;
}
@@ -287,7 +200,7 @@
</tr>
</table>
</apex:outputPanel>
- <div>
+ <div style="background-color:#f4f8fd73">
<table border="0">
<tr>
<th style="text-align:right;width:90px;">{!$Label.Quoto_No}</th>
@@ -331,12 +244,13 @@
<td style="width:130px;"><apex:commandButton onclick="openQuoteExcelImport(event);return false;" value="{!$Label.Excel_Import}" style="width:110px;" rerender="dummy"/></td>
<td style="text-align:right;width:50px;"><apex:commandButton rerender="dummy" id="Btn_RowDelete" onclick="radioChecker2('del');return false;" value="{!$Label.deleteLabel}" style="width:60px;" /></td>
<!-- 娣诲姞琛� -->
- <td width="40px;">
+ <td width="50px;">
<!-- 娣诲姞琛� html鐗规�у鍔犳粦鍔ㄦ潯 绮剧悽鎶�鏈� wql 2021/02/09 end -->
<apex:commandButton onclick="openAddMultipleRow(); return false;" value="澧炲姞琛�" rerender="{!displayFlg}"/>
</td>
- <td style="width:130px;">
- <apex:commandButton rerender="dummy" id="Btn_RowUp" onclick="radioChecker2('up');return false;" value="{!$Label.Row_Up}" style="width:60px;"/>
+ <td style="width:50px;">
+ <apex:commandButton rerender="dummy" id="Btn_RowUp" onclick="radioChecker2('up');return false;" value="{!$Label.Row_Up}" style="width:60px;"/> </td>
+ <td style="width:50px;">
<apex:commandButton rerender="dummy" id="Btn_RowDown" onclick="radioChecker2('down');return false;" value="{!$Label.Row_Down}" style="width:60px;"/>
</td>
@@ -358,13 +272,14 @@
</table>
-->
<!-- 鍘熶唬鐮� end -->
- <table>
+ <div style="background-color:#f4f8fd73">
+ <table >
<tr>
<td> </td>
</tr>
<tr>
<th style="text-align:right;width:30px;"> </th>
- <th style="text-align:right;width:130px;">鍚堝悓淇濅慨鏈燂紙骞达級: </th>
+ <th style="text-align:left;width:130px;">鍚堝悓淇濅慨鏈燂紙骞达級: </th>
<td style="width:190px;"><apex:inputField id="AllGurantee_Period" value="{!quo.Gurantee_Period__c}" onchange="calGuranteePeriod();" style="width:50px; text-align:right;" />
<apex:inputHidden id="Gurantee_Period__c" value="{!quo.Gurantee_Period__c}"/>
</td>
@@ -432,7 +347,8 @@
<tr>
<td> </td>
</tr>
- </table>
+ </table></div>
+
<!-- 澶氬勾淇濅慨 end -->
<DIV style="OVERFLOW-Y: hidden; OVERFLOW-X:auto;width:1260px">
@@ -559,7 +475,7 @@
</td>
<td class="dataCell" style="text-align: center;width:50px;">
<!-- 2018/09/28 CHAN-B4YAB8 缁忛攢鍟嗗崟浠疯绠� start -->
- <apex:inputField id="Quantity" style="width:30px;text-align:center;" value="{!s.PageObject.Quantity__c}" onChange="calPrice('{!s.lineNo}');quoteAgencyTotalPriceAction();AgencyDiscountCalculation1();"/>
+ <apex:inputField id="Quantity" style="width:45px;text-align:center;" value="{!s.PageObject.Quantity__c}" onChange="calPrice('{!s.lineNo}');quoteAgencyTotalPriceAction();AgencyDiscountCalculation1();"/>
<!-- 2018/09/28 CHAN-B4YAB8 缁忛攢鍟嗗崟浠疯绠� end -->
</td>
<td class="dataCell" style="width:20px;text-align: center;">
@@ -624,7 +540,7 @@
<apex:outputLabel id="Storagestatustext" value="{!s.StorageStatus}"/>
<apex:inputHidden id="Storagestatus" rendered="{!displayFlg}" value="{!s.StorageStatus}"/>
</td>
- <td class="dataCell" id="{!Text(cnt-1)}:td_Name__c" style="width:350px;">
+ <td class="dataCell" id="{!Text(cnt-1)}:td_Name__c" style="width:350px;text-align:center;">
<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>
<apex:inputHidden id="Name__c" value="{!s.PageObject.Name__c}"/>
<apex:outputPanel layout="none" rendered="{!IF(s.changed_name == true || s.wrong_Register == true, true, false)}">
@@ -839,6 +755,109 @@
</apex:pageBlock>
</apex:form>
<!-- 娣诲姞琛� html鐗规�у鍔犳粦鍔ㄦ潯 绮剧悽鎶�鏈� wql 2021/02/09 start -->
+ <script type="text/javascript">
+
+ console.log(window);
+ console.log(window.sfdcPage);
+ var popupBox;
+ popupBox = new SimpleDialog("SpeedDialogId", false); // 涓嶅彲鎷栧姩
+ popupBox.createDialog();
+
+ if(window.sfdcPage && window.sfdcPage.appendToOnloadQueue){
+ window.sfdcPage.appendToOnloadQueue(
+ function() { calonLoad() }
+ );
+ }
+ //娣诲姞琛� html鐗规�у鍔犳粦鍔ㄦ潯 绮剧悽鎶�鏈� wql 2021/02/09 start
+ //dialog 寮圭獥 start
+
+ //绮剧悽鎶�鏈� 2021/02/08 start
+ function openAddMultipleRow(){
+
+ popupBox.setTitle("璇疯緭鍏ラ渶瑕佸鍔犵殑琛屽彿锛�");
+ popupBox.importContentNode(document.getElementById("speedDiv"));
+ popupBox.show(document.getElementById("speedDiv"));
+ document.getElementById("speedDiv").style.display = 'block';
+
+ }
+ // function decision2btns(){
+ // ReservedProductVerification();
+ // debugger
+ // var filg=j$(escapeVfId('Page:mainForm:filg')).value();
+ // // var filg={!filg};
+ // console.warn(filg);
+ // if(filg == 'true'){
+ // console.warn('鎴愬姛');
+ // // decision2btn();
+ // }else{
+ // alert('浜у搧鏁伴噺涓嶅彲瓒呰繃浜у搧棰勭暀鏁伴噺');
+ // }
+ // }
+ //dialog 寮圭獥 end
+ // 娣诲姞琛� html鐗规�у鍔犳粦鍔ㄦ潯 绮剧悽鎶�鏈� wql 2021/02/09 end
+
+ var QuoteEntryMaxLine = {!QuoteEntryMaxLine};
+ console.log(QuoteEntryMaxLine );
+ var trade = '{!oppInfo.Trade}';
+ console.log(trade );
+ var displayCost = '{!displayCost}';
+ console.log(displayCost );
+ var quoid = '{!quoid}';
+ console.log(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}锛�';
+ var QuoteDecide = {!QuoteDecide};
+ //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;
+ }
+
+ // 2018/09/28 CHAN-B4YAB8 鍒濆鍖栨椂鏇存柊缁忛攢鍟嗘姌鎵� start
+ //AgencyDiscountCalculation1();
+ // 2018/09/28 CHAN-B4YAB8 鍒濆鍖栨椂鏇存柊缁忛攢鍟嗘姌鎵� end
+ </script>
<script type="text/javascript">
//const duration = document.getElementById('dur');
@@ -871,4 +890,5 @@
</script>
<!-- //娣诲姞琛� html鐗规�у鍔犳粦鍔ㄦ潯 绮剧悽鎶�鏈� wql 2021/02/09 end -->
+
</apex:page>
\ No newline at end of file
diff --git a/force-app/main/default/pages/NewQuoteIrai.page b/force-app/main/default/pages/NewQuoteIrai.page
index 60f0819..6283c2c 100644
--- a/force-app/main/default/pages/NewQuoteIrai.page
+++ b/force-app/main/default/pages/NewQuoteIrai.page
@@ -29,7 +29,12 @@
var Confirm_ChangedAfterPrint = '鎵撳嵃鍚庤淇℃伅鏈夊彉鍖栵紝鏄惁缁х画鎿嶄綔锛堟姤浠风紪鐮佷細鍙樻柊锛夛紵';
var Confirm_PriceRefresh = '鎶ヤ环浣滄垚鍚巤!$Label.Price_Valid_Period}澶�,杩樻病鏈夋洿鏂拌繃浠锋牸锛岄渶瑕佹墽琛寋!$Label.Status_Update}锛�';
var Confirm_saveBtn = '鎮ㄩ�夋嫨浜嗗鎵樹汉鍛橈紝纭畾鍙槸淇濆瓨鍚楋紙涓嶈繘琛屽鎵橈級锛�';
- window.sfdcPage.appendToOnloadQueue(function() { calonLoad() });
+ if(window.sfdcPage && window.sfdcPage.appendToOnloadQueue){
+ window.sfdcPage.appendToOnloadQueue(
+ function() { calonLoad() }
+ );
+ };
+
var openQuoteExcelImportWindow = null;
function vpClear2_delay(){
@@ -195,12 +200,12 @@
</script>
<style type="text/css">
div#iframelike {
- color: #fff;
+
height: 300px;
overflow: auto;
}
div#iframelikeheader {
- color: #fff;
+
height: 23px;
overflow: auto;
}
@@ -272,25 +277,25 @@
</tr>
</table>
</apex:outputPanel>
- <div>
+ <div style="background:rgb(240 238 238);white-space:nowrap;padding:10px">
<table border="0">
<tr>
- <th style="text-align:right;width:60px;">{!$ObjectType.QuoteIrai__c.fields.IraiSubject__c.Label}</th>
- <td style="text-align:left;width:220px;">
- <div class="requiredInput"><div class="requiredBlock"></div><apex:inputField id="idVisitorPlace" value="{!quo.IraiSubject__c}" onblur="vpClear2_delay();" onfocus="setVisitorPlace();" style="width:210px;"/></div>
+ <th style="text-align:right;width:60px;margin:10px;">{!$ObjectType.QuoteIrai__c.fields.IraiSubject__c.Label}</th>
+ <td style="text-align:left;width:220px;margin:10px">
+ <div class="requiredInput"><div class="requiredBlock"></div><apex:inputField id="idVisitorPlace" value="{!quo.IraiSubject__c}" onblur="vpClear2_delay();" onfocus="setVisitorPlace();" style="width:210px;margin:10px"/></div>
<apex:inputHidden id="idVisitorPlaceId" value="{!quo.Account__c}"/>
<apex:inputHidden id="idVisitorPlaceHidden" value="{!quo.IraiSubject__c}" />
<apex:inputHidden id="idVisitorPlaceHiddenId" value="{!quo.Account__c}" />
</td>
- <th style="text-align:right;width:60px;">{!$ObjectType.QuoteIrai__c.fields.IraiName__c.Label}</th>
- <td style="text-align:left;width:220px;"><apex:inputField value="{!quo.IraiName__c}" style="width:220px;"/></td>
- <th style="text-align:right;width:60px;">{!$ObjectType.QuoteIrai__c.fields.IraiComment__c.Label}</th>
- <td style="text-align:left;width:220px;"><apex:inputField value="{!quo.IraiComment__c}" style="width:220px;"/></td>
- <th style="text-align:right;width:60px;">{!$ObjectType.QuoteIrai__c.fields.QuoteProportion__c.Label}</th>
- <td style="text-align:left;width:60px;"><apex:inputField value="{!quo.QuoteProportion__c}" style="width:50px;text-align:right;"/></td>
- <th style="text-align:left;width:20px;">%</th>
- <th style="text-align:right;width:60px;">{!$ObjectType.QuoteIrai__c.fields.QuoteIrai_Status__c.Label}</th>
- <td style="text-align:left;width:80px;"><apex:outputField value="{!quo.QuoteIrai_Status__c}" style="width:80px;"/></td>
+ <th style="text-align:right;width:60px;margin:10px;">{!$ObjectType.QuoteIrai__c.fields.IraiName__c.Label}</th>
+ <td style="text-align:left;width:220px;margin:10px;"><apex:inputField value="{!quo.IraiName__c}" style="width:220px;"/></td>
+ <th style="text-align:right;width:60px;margin:10px;">{!$ObjectType.QuoteIrai__c.fields.IraiComment__c.Label}</th>
+ <td style="text-align:left;width:220px;margin:10px;"><apex:inputField value="{!quo.IraiComment__c}" style="width:220px;"/></td>
+ <th style="text-align:right;width:60px;margin:10px;">{!$ObjectType.QuoteIrai__c.fields.QuoteProportion__c.Label}</th>
+ <td style="text-align:left;width:60px;margin:10px;"><apex:inputField value="{!quo.QuoteProportion__c}" style="width:70px;text-align:right;"/></td>
+ <th style="text-align:left;width:20px;margin:10px;">%</th>
+ <th style="text-align:right;width:60px;margin:10px;">{!$ObjectType.QuoteIrai__c.fields.QuoteIrai_Status__c.Label}</th>
+ <td style="text-align:left;width:80px;margin:10px;"><apex:outputField value="{!quo.QuoteIrai_Status__c}" style="width:80px;"/></td>
</tr>
</table>
<!-- CHAN-BJQ4VZ 绮剧悽鎶�鏈� 2019/12/10 Start -->
@@ -298,16 +303,16 @@
<tr>
<td> </td>
<!-- <th style="text-align:right">{!IF(displayFlg,'浜у搧鏍囧噯瀹氫环鎬婚','')}</th> -->
- <th style="text-align:right;width:50px;">浜у搧鏍囧噯瀹氫环鎬婚 : </th>
- <td style="width:176px;">
+ <th style="text-align:right;width:50px;white-space:nowrap;padding:10px;">浜у搧鏍囧噯瀹氫环鎬婚 : </th>
+ <td style="width:176px;padding:10px;">
<apex:outputText id="Estimation_Price" value="{0, number, ###,##0.00}"
style="text-align:right;width:100px;">
<apex:param value="{!qb.Estimation_List_Price}" />
</apex:outputText>
</td>
- <th style="text-align:right;width:50px;">鎶ヤ环鎬婚 : </th>
+ <th style="text-align:right;width:100px;white-space:nowrap;padding:10px;">鎶ヤ环鎬婚 : </th>
<!-- <th style="text-align:right;">{!IF(displayFlg,$Label.Total_Price,'')}</th> -->
- <td style="width:180px;">
+ <td style="width:180px;margin:10px;">
<apex:outputtext id="quoTotalPrice" value="{0, number, ###,##0.00}"
style="text-align:right;width:100px;">
<apex:param value="{!qb.QuoteTotal_Page}"/>
@@ -319,29 +324,29 @@
<!-- CHAN-BJQ4VZ 绮剧悽鎶�鏈� 2019/12/10 End -->
<table border="0">
<tr>
- <th style="width:50px;"> </th>
+ <th style="width:50px;margin:10px;"> </th>
<!-- 浜у搧閰嶅妫�绱㈡寜閽� -->
- <td style="width:100px;"><apex:commandButton id="SetProduct" onclick="searchSetProduct();return false;" value="{!$Label.Set_Product}" rerender="dummy"/></td>
+ <td style="width:150px;margin:10px;"><apex:commandButton id="SetProduct" onclick="searchSetProduct();return false;" value="{!$Label.Set_Product}" rerender="dummy"/></td>
<!-- excel 瀵煎嚭鎸夐挳 -->
- <td style="width:100px;"><apex:commandButton onclick="openQuoteExcelImport(event);return false;" value="{!$Label.Excel_Import}" rerender="dummy"/></td>
- <td style="text-align:right;width:80px;"><apex:commandButton rerender="dummy" id="Btn_RowDelete" onclick="radioChecker2('del');return false;" value="{!$Label.deleteLabel}" style="width:60px;"/></td>
- <td style="width:150px;">
- <apex:commandButton rerender="dummy" id="Btn_RowUp" onclick="radioChecker2('up');return false;" value="{!$Label.Row_Up}" style="width:60px;"/>
- <apex:commandButton rerender="dummy" id="Btn_RowDown" onclick="radioChecker2('down');return false;" value="{!$Label.Row_Down}" style="width:60px;"/>
+ <td style="width:150px;margin:10px;"><apex:commandButton onclick="openQuoteExcelImport(event);return false;" value="{!$Label.Excel_Import}" rerender="dummy"/></td>
+ <td style="text-align:right;width:80px;margin:10px;"><apex:commandButton rerender="dummy" id="Btn_RowDelete" onclick="radioChecker2('del');return false;" value="{!$Label.deleteLabel}" style="width:60px;"/></td>
+ <td style="width:300px;margin:10px;">
+ <apex:commandButton rerender="dummy" id="Btn_RowUp" onclick="radioChecker2('up');return false;" value="{!$Label.Row_Up}" style="width:100px;"/>
+ <apex:commandButton rerender="dummy" id="Btn_RowDown" onclick="radioChecker2('down');return false;" value="{!$Label.Row_Down}" style="width:100px;"/>
</td>
- <th style="text-align:right;width:80px;">{!$ObjectType.QuoteIrai__c.fields.IraiUser__c.Label}</th>
+ <th style="text-align:right;width:80px;margin:10px;">{!$ObjectType.QuoteIrai__c.fields.IraiUser__c.Label}</th>
<!-- fy 20220512 -->
<!-- <apex:variable value="identif1" var="identif1" rendered="{!!(loginUser !=null&&loginUser.Salesdepartment_text__c != null&&loginUser.Salesdepartment_text__c != ''&&(loginUser.Salesdepartment_text__c == '5.鍗庝笢' || loginUser.Salesdepartment_text__c == '6.鍗庡崡'))}" > -->
<apex:variable value="identif1" var="identif1" rendered="{!!(loginUser !=null&&loginUser.Salesdepartment_text__c != null&&loginUser.Salesdepartment_text__c != ''&& obsflag)}" >
- <td style="width:150px;"><apex:outputPanel id="IraiUserId"><apex:inputField id="IraiUser" value="{!quo.IraiUser__c}"/></apex:outputPanel></td>
+ <td style="width:150px;margin:10px;"><apex:outputPanel id="IraiUserId"><apex:inputField id="IraiUser" value="{!quo.IraiUser__c}"/></apex:outputPanel></td>
</apex:variable>
<!-- fy 20220512 -->
<!-- <apex:variable value="identif" var="identif" rendered="{!loginUser !=null&&loginUser.Salesdepartment_text__c != null&&loginUser.Salesdepartment_text__c != ''&&(loginUser.Salesdepartment_text__c == '5.鍗庝笢' || loginUser.Salesdepartment_text__c == '6.鍗庡崡')}" > -->
<apex:variable value="identif" var="identif" rendered="{!loginUser !=null&&loginUser.Salesdepartment_text__c != null&&loginUser.Salesdepartment_text__c != ''&& obsflag}" >
<!-- <th style="text-align:right;width:20px;">obsap浜哄憳</th> -->
- <td style="text-align:center;width:20px;"><apex:selectList value="{!quo.IraiUser__c}" size="1" style="width:120px" id="IraiUser" onchange="ObsapUsersChange()"><apex:selectOptions value="{!ObsapUsers}" id="obsapUsersList"/></apex:selectList></td>
+ <td style="text-align:center;width:20px;margin:10px;"><apex:selectList value="{!quo.IraiUser__c}" size="1" style="width:120px" id="IraiUser" onchange="ObsapUsersChange()"><apex:selectOptions value="{!ObsapUsers}" id="obsapUsersList"/></apex:selectList></td>
</apex:variable>
<!-- 20230104 lt DB202212427301 start-->
@@ -350,8 +355,8 @@
<!-- 20230104 lt DB202212427301 end-->
<!-- 20230104 lt DB202212427301 start-->
- <th style="text-align:right;width:190px;">绱ф�ワ細</th>
- <td style="text-align:center;width:10px;"><apex:inputField id="Urgent" value="{!quo.Urgent__c}"/></td>
+ <th style="text-align:right;width:190px;margin:10px;">绱ф�ワ細</th>
+ <td style="text-align:center;width:10px;margin:10px;"><apex:inputField id="Urgent" value="{!quo.Urgent__c}"/></td>
<!-- 20230104 lt DB202212427301 end-->
<!-- 2020/02/18 绮剧悽鎶�鏈� 闊╅儴闀挎彁鍑哄厛闅愯棌 娌″繀瑕� Start-->
@@ -369,8 +374,8 @@
<td> </td>
</tr>
<tr>
- <td style="text-align:right;width:50px;"></td>
- <th style="text-align:right;width:50px;" rowspan="2">
+ <td style="text-align:right;width:50px;margin:10px;"></td>
+ <th style="text-align:right;width:50px;margin:10px;" rowspan="2">
{!$ObjectType.QuoteIrai__c.fields.MultiYearWarrantyTotalPrice__c.Label}
: </th>
<!-- <td style="width:470px;"> -->
@@ -389,7 +394,7 @@
<th style="width:100px;"> </th>
<td style="text-align:right;width:50px;"></td>
<td style="text-align:right;width:50px;"></td>
- <th colspan="2" style="width:260px;text-align:center;">{!$Label.Sales_Name}</th>
+ <th colspan="2" style="width:260px;text-align:center;margin:10px;">{!$Label.Sales_Name}</th>
<!--obsap 鏂板缁忛攢鍟�1瀛楁 fy end-->
<!-- <apex:variable id="contractWarranty" value="{!1}" var="abc" rendered="{!IF(trade == '鍐呰部',true,false)}">
@@ -413,12 +418,12 @@
<td ></td>
<td ></td>
<td ></td>
- <th style="width:100px;text-align:right;">{!$Label.Sales_Name1}</th>
+ <th style="width:100px;text-align:right;margin:10px;">{!$Label.Sales_Name1}</th>
<td colspan="2" style="width:260px;text-align:right;"><apex:inputField style="width:230px;" id="SalesName1" value="{!quo.Agency1_entrust__c}" onChange=""/></td>
<!-- SWAG-CKDATG 銆愬鎵樸�戙�怬BSAP-鎶ヤ环濮旀墭銆戞姤浠峰鎵橀」鐩敼鍠�1 fy start -->
- <th style="width:100px;text-align:right;">澶氬勾淇�</th>
+ <th style="width:200px;text-align:right;margin:10px;">澶氬勾淇� :</th>
<!-- DB202212304166 銆愮揣鎬�-鎶ヤ环濮旀墭涓庤喘涔版剰鍚戙�戣灏嗘渶鍚庢搷浣滅殑鎶ヤ环濮旀墭鐘舵�佹斁鍒拌喘涔版剰鍚戜腑 fy start -->
- <td colspan="2" style="text-align:left;"><apex:inputField id="cancelMultiyearInsurance" value="{!quo.cancelMultiyearInsurance__c}" onChange="cancelMultiyearInsurancechange()"/></td><!-- onChange="cancelMultiyearInsurancechange()"-->
+ <td colspan="2" style="width:120px;text-align:left;margin:10px;"><apex:inputField id="cancelMultiyearInsurance" value="{!quo.cancelMultiyearInsurance__c}" onChange="cancelMultiyearInsurancechange()"/></td><!-- onChange="cancelMultiyearInsurancechange()"-->
<!-- DB202212304166 銆愮揣鎬�-鎶ヤ环濮旀墭涓庤喘涔版剰鍚戙�戣灏嗘渶鍚庢搷浣滅殑鎶ヤ环濮旀墭鐘舵�佹斁鍒拌喘涔版剰鍚戜腑 fy end -->
<!-- SWAG-CKDATG 銆愬鎵樸�戙�怬BSAP-鎶ヤ环濮旀墭銆戞姤浠峰鎵橀」鐩敼鍠�1 fy end -->
</tr>
@@ -434,7 +439,7 @@
<td> </td>
</tr>
</table>
- <table style="width:1165px;" border="0">
+ <table style="width:1165px;background:rgb(240 238 238);" border="0">
<tr>
<th style="text-align:center;width:15px;"> <input type="checkbox" id="checkAll" onclick="selectAll()" style="width:10px;"/></th>
<th style="text-align:center;width:15px;">No</th>
@@ -457,12 +462,12 @@
<input type="hidden" id="UnitPriceTotal" value="0" />
<apex:pageblocktable value="{!activities}" var="s" id="lists" style="width:1165px;">
- <apex:column style="width:15px;" >
- <input type="checkbox" name="checklist" value="{!s.lineNo}" style="width:10px;"/>
+ <apex:column style="width:20px;" >
+ <input type="checkbox" name="checklist" value="{!s.lineNo}" style="width:15px;"/>
</apex:column>
<!-- No -->
- <apex:column style="width:15px;text-align:right;" >
- <apex:outputLabel id="indexNo" value="{!IF(s.PageObject.Product2__c==null,null,s.lineNo + 1)}" style="width:10px;"/>
+ <apex:column style="width:20px;text-align:right;" >
+ <apex:outputLabel id="indexNo" value="{!IF(s.PageObject.Product2__c==null,null,s.lineNo + 1)}" style="width:15px;"/>
</apex:column>
<!-- 浜у搧缂栧彿-->
<apex:column style="text-align:center;width:150px;">
@@ -483,7 +488,7 @@
</apex:column>
<!-- 鏁伴噺 -->
<apex:column style="text-align:center;width:100px;">
- <apex:inputField id="Quantity" style="width:50px;text-align:right;" value="{!s.PageObject.Quantity__c}" onChange="calPrice('{!s.lineNo}')"/>
+ <apex:inputField id="Quantity" style="width:70px;text-align:right;" value="{!s.PageObject.Quantity__c}" onChange="calPrice('{!s.lineNo}')"/>
</apex:column>
<!-- 2019/11/12 淇濅慨骞撮檺 CHAN-BHNBX6 start -->
<apex:column style="width:50px;text-align:right;" >
@@ -573,9 +578,9 @@
<tr>
<th style="width:15px"> </th>
<!-- SWAG-CKDATG 銆愬鎵樸�戙�怬BSAP-鎶ヤ环濮旀墭銆戞姤浠峰鎵橀」鐩敼鍠�1 fy start -->
- <td style="width:100px;" align="right"><apex:commandButton id="QuoteIraiBtn" action="{!checkIraiUser}" reRender="IraiUserId,message1" onclick="blockme();" oncomplete="iraiJs();return false;" value="鍙戦�佸鎵橀偖浠�" style="width:90px;" disabled="{!Save_button}"/></td>
+ <td style="width:120px;" align="right"><apex:commandButton id="QuoteIraiBtn" action="{!checkIraiUser}" reRender="IraiUserId,message1" onclick="blockme();" oncomplete="iraiJs();return false;" value="鍙戦�佸鎵橀偖浠�" style="width:120px;white-space:nowrap;" disabled="{!Save_button}"/></td>
<!-- SWAG-CKDATG 銆愬鎵樸�戙�怬BSAP-鎶ヤ环濮旀墭銆戞姤浠峰鎵橀」鐩敼鍠�1 fy end -->
- <td style="width:100px;" align="right"><apex:commandButton action="{!checkIraiUser}" reRender="IraiUserId,hiddenQuoid,message1" onclick="blockme();" oncomplete="save2btn();return false;" value="{!$Label.Save_Button}" style="width:90px;" disabled="{!Save_button}" /></td>
+ <td style="width:120px;" align="right"><apex:commandButton action="{!checkIraiUser}" reRender="IraiUserId,hiddenQuoid,message1" onclick="blockme();" oncomplete="save2btn();return false;" value="{!$Label.Save_Button}" style="width:120px;" disabled="{!Save_button}" /></td>
<!-- 20230109 lt DB202212427301 start 娉ㄩ噴 -->
<!-- <td style="width:100px;" align="right"><apex:commandButton onclick="oppReflection2btn();return false;" rerender="hiddenQuoid" value="{!$Label.Opp_Button}" style="width:90px;" disabled="{!Save_button}"/></td>
<td style="width:100px;" align="right"><apex:commandButton action="{!Back}" rerender="hiddenQuoid" value="涓嶄繚瀛橈紙杩斿洖锛�" style="width:90px;"/></td>
diff --git a/force-app/main/default/pages/NewRentalApply.page b/force-app/main/default/pages/NewRentalApply.page
index b4657a5..597ecc3 100644
--- a/force-app/main/default/pages/NewRentalApply.page
+++ b/force-app/main/default/pages/NewRentalApply.page
@@ -1,8 +1,9 @@
-<apex:page standardController="Rental_Apply__c" extensions="RentalApplyController" id="page">
+<apex:page standardController="Rental_Apply__c" extensions="RentalApplyController" id="page"
+lightningStylesheets="true">
<apex:stylesheet value="{!URLFOR($Resource.blockUIcss)}"/>
<apex:includeScript value="{! URLFOR($Resource.AWSService, 'AWSService.js') }" />
<apex:includeScript value="{!URLFOR($Resource.jquery183minjs)}"/>
- <apex:includeScript value="{!URLFOR($Resource.PleaseWaitDialog)}"/>
+ <!-- <apex:includeScript value="{!URLFOR($Resource.PleaseWaitDialog)}"/> -->
<apex:includeScript value="{!URLFOR($Resource.connection20)}"/>
<style>
.disabledbutton {
@@ -502,7 +503,7 @@
<!--Each section has layoutFields, let's iterate them as well-->
<apex:repeat value="{!layoutSection.layoutFields}" var="layoutField">
- <apex:inputField styleClass="PIBackApi PIBackApi_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!Rental_Apply__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)&&isNewMode}"
+ <apex:inputField styleClass="PIBackApi PIBackApi_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!Rental_Apply__c[layoutField.fieldAPI]}" style="width:50px" rendered="{!not(layoutField.isPlaceHOlder)&&isNewMode}"
required="{!layoutField.isRequired}" />
<apex:inputField styleClass="PIBackApi PIBackApi_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!Rental_Apply__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)&¬(isNewMode)&&layoutField.fieldAPI!='RecordTypeId'}"
required="{!layoutField.isRequired}" />
diff --git a/force-app/main/default/pages/OFSRepairConsignPDFOuter.page b/force-app/main/default/pages/OFSRepairConsignPDFOuter.page
index 79df56f..fc3e4d6 100644
--- a/force-app/main/default/pages/OFSRepairConsignPDFOuter.page
+++ b/force-app/main/default/pages/OFSRepairConsignPDFOuter.page
@@ -1,4 +1,4 @@
-<apex:page controller="OFSRepairConsignPDFOuterController" showHeader="false" sidebar="false" action="{!init}" applyHtmlTag="false" id="Page">
+<apex:page controller="OFSRepairConsignPDFOuterController" showHeader="false" sidebar="false" action="{!init}" applyHtmlTag="false" id="Page" lightningStylesheets="true">
<head>
<meta name="viewport" content="user-scalable=yes" />
<apex:includeScript value="{!URLFOR($Resource.jquery183minjs)}"/>
@@ -79,6 +79,7 @@
rt.style.width = "300px";
rt.style.height = "150px";
});
+
</script>
</div>
</apex:form>
diff --git a/force-app/main/default/pages/OpportunityPCLNew.page b/force-app/main/default/pages/OpportunityPCLNew.page
index 0317235..f58c9e1 100644
--- a/force-app/main/default/pages/OpportunityPCLNew.page
+++ b/force-app/main/default/pages/OpportunityPCLNew.page
@@ -1,4 +1,4 @@
-<apex:page controller="OpportunityPCLController2" showHeader="false" sidebar="false" id="allPage" action="{!init}">
+<apex:page controller="OpportunityPCLController2" showHeader="false" sidebar="false" id="allPage" action="{!init}" lightningStylesheets="true">
<head>
<title>Meeting Mode China</title>
diff --git a/force-app/main/default/pages/PAEDecisionRecord.page b/force-app/main/default/pages/PAEDecisionRecord.page
index 6332d41..0660da2 100644
--- a/force-app/main/default/pages/PAEDecisionRecord.page
+++ b/force-app/main/default/pages/PAEDecisionRecord.page
@@ -1,4 +1,4 @@
-<apex:page action="{!init}" extensions="PAEDecisionRecordController" id="allPage" showheader="false" sidebar="false" standardcontroller="PAE_DecisionRecord__c" title="PAE鍒ゅ畾璁板綍">
+<apex:page action="{!init}" extensions="PAEDecisionRecordController" id="allPage" showheader="false" sidebar="false" standardcontroller="PAE_DecisionRecord__c" title="PAE鍒ゅ畾璁板綍" lightningStylesheets="true">
<apex:stylesheet value="{!URLFOR($Resource.blockUIcss)}">
</apex:stylesheet>
<apex:includescript value="{!URLFOR($Resource.jquery183minjs)}">
@@ -70,6 +70,23 @@
blockme();
InsertRow();
+ }
+ var selectedSize = 0;
+ var pageLimit = {!pageLimit};
+ function CheckSize(j){
+ var a = j.id;
+ var productCount = j$(escapeVfId(a)).attr('checked');
+ if (productCount == 'checked') {
+ if(selectedSize >= pageLimit){
+ window.alert("椤甸潰鎵�閫夋暟鎹笉鑳借秴杩�500鏉�");
+ j$(escapeVfId(a)).attr('checked',false);
+ return;
+ }
+ selectedSize ++;
+ } else {
+ selectedSize --;
+ }
+ //alert(selectedSize);
}
// 淇濆瓨骞跺叧闂�
function SaveAndCloses(onlySave) {
@@ -172,12 +189,12 @@
td.columuslowercolour {
background-color: red;
- text-align: right;
+ text-align: left;
}
td.columuscuperolour {
background-color: yellow;
- text-align: right;
+ text-align: left;
}
</style>
<apex:form id="allForm">
@@ -210,35 +227,22 @@
<apex:outputpanel id="allPanel">
<apex:pageblock id="allBlock">
<apex:pageblock id="unEditable" rendered="{!editAble}" title="{!IF(RecordTypeName = 'ASRCDecision' , 'Intake universal code 缂栬緫鐢婚潰', 'Final universal code 缂栬緫鐢婚潰')}">
- <table cellspacing="10">
+ <table cellspacing="8">
<colgroup>
- <col width="7%">
- </col>
- <col width="10%">
- </col>
- <col width="7%">
- </col>
- <col width="7%">
- </col>
- <col width="7%">
- </col>
- <col width="7%">
- </col>
- <col width="7%">
- </col>
- <col width="7%">
- </col>
- <col width="7%">
- </col>
- <col width="7%">
- </col>
- <col width="7%">
- </col>
+ <col width="15%"/>
+ <col width="10%"/>
+ <col width="15%"/>
+ <col width="15%"/>
+ <col width="15%"/>
+ <col width="10%"/>
+ <col width="15%"/>
+ <col width="15%"/>
+ <col width="15%"/>
+ <col width="15%"/>
+ <col width="15%"/>
<apex:outputpanel layout="none" rendered="{!IF(RecordTypeName = 'ASACDecision' , true, false)}">
- <col width="15%">
- </col>
- <col width="10%">
- </col>
+ <col width="15%"/>
+ <col width="15%"/>
</apex:outputpanel>
</colgroup>
<tr>
@@ -257,12 +261,12 @@
<!-- 2020/07/28 taoqz end -->
<apex:outputpanel layout="none" rendered="{!IF(RecordTypeName = 'ASRCDecision' , true, false)}">
<!-- <th>AS-RC</th> -->
- <td align="right">
+ <td align="left">
{!$ObjectType.Repair__c.fields.Repair_ConfirmationDate__c.label}锛�
</td>
</apex:outputpanel>
<apex:outputpanel layout="none" rendered="{!IF(RecordTypeName = 'ASACDecision' , true, false)}">
- <td align="right">
+ <td align="left">
{!$ObjectType.Repair__c.fields.OCSM_RC_CordingDate__c.label}锛�
</td>
</apex:outputpanel>
@@ -272,13 +276,13 @@
</td>
<apex:outputpanel layout="none" rendered="{!IF(RecordTypeName = 'ASRCDecision' , true, false)}">
<!-- <th>AS-RC</th> -->
- <td align="right">
+ <td align="left">
{!$ObjectType.Repair__c.fields.Repair_Authenticator__c.label}锛�
</td>
</apex:outputpanel>
<apex:outputpanel layout="none" rendered="{!IF(RecordTypeName = 'ASACDecision' , true, false)}">
<!-- <th>AS-AC</th> -->
- <td align="right">
+ <td align="left">
{!$ObjectType.Repair__c.fields.OCSM_RC_CordingUser__c.label}锛�
</td>
</apex:outputpanel>
@@ -288,7 +292,7 @@
</td>
<apex:outputpanel layout="none" rendered="{!IF(RecordTypeName = 'ASRCDecision' && repa != null, true, false)}">
<!-- <th>AS-RC</th> -->
- <td align="right">
+ <td align="left">
{!$ObjectType.Repair__c.fields.SAP_Transfer_time__c.label}锛�
</td>
<td align="left">
@@ -297,7 +301,7 @@
</td>
</apex:outputpanel>
<apex:outputpanel layout="none" rendered="{!IF(RecordTypeName = 'ASACDecision' , true, false)}">
- <td align="right">
+ <td align="left">
鍐嶇幇缁撴灉纭锛�
</td>
<td align="left" style="{!IF(rdRecord.PAE_reappear_confirm__c = '鏈‘璁�' , 'color: red;font-weight: 800;', '')}">
@@ -321,14 +325,14 @@
</td>
</apex:outputpanel>
<!-- <apex:outputPanel layout="none" rendered="{!IF(RecordTypeName = 'ASRCDecision' , true, false)}">
- <td align="right" > 杩涜淇悊鐨勫垽瀹氱粨鏋滐細</td>
+ <td align="left" > 杩涜淇悊鐨勫垽瀹氱粨鏋滐細</td>
<td align="left" >
<apex:InputField value="{!repa.Repair_Determine_result__c}"/>
</td>
</apex:outputPanel> -->
<!-- update by rentongxiao 2020-09-21 start -->
<!-- <apex:outputPanel layout="none" rendered="{!IF(RecordTypeName = 'ASRCDecision', true, false)}">
- <td align="right" > {!$ObjectType.Repair__c.fields.if_Repair_Allowed__c.label}锛�</td>
+ <td align="left" > {!$ObjectType.Repair__c.fields.if_Repair_Allowed__c.label}锛�</td>
<td align="left" >
<apex:InputField id="repairDetermineResult" value="{!repa.if_Repair_Allowed__c}" rendered="{!isOSH}"/>
<apex:outputField id="repairDetermineResultout" value="{!repa.if_Repair_Allowed__c}" rendered="{!!isOSH}"/>
@@ -337,7 +341,7 @@
</apex:outputPanel>
<apex:outputPanel layout="none" rendered="{!IF(RecordTypeName = 'ASRCDecision', true, false)}">
- <td align="right" > {!$ObjectType.Repair__c.fields.NotAllowedReason__c.label}锛�</td>
+ <td align="left" > {!$ObjectType.Repair__c.fields.NotAllowedReason__c.label}锛�</td>
<td align="left" colspan="3">
<apex:InputField id="NotAllowedReason" value="{!repa.NotAllowedReason__c}" rendered="{!isOSH}"/>
<apex:outputField id="NotAllowedReasontout" value="{!repa.NotAllowedReason__c}" rendered="{!!isOSH}"/>
@@ -345,7 +349,7 @@
</apex:outputPanel> -->
<apex:outputpanel layout="none" rendered="{!IF(RecordTypeName = 'ASRCDecision' && repa != null, true, false)}">
- <td align="right">
+ <td align="left">
{!$ObjectType.Repair__c.fields.if_Repair_Allowed__c.label}锛�
</td>
<td align="left">
@@ -356,7 +360,7 @@
</td>
</apex:outputpanel>
<apex:outputpanel layout="none" rendered="{!IF(RecordTypeName = 'ASRCDecision' && repa != null, true, false)}">
- <td align="right">
+ <td align="left">
{!$ObjectType.Repair__c.fields.NotAllowedReason__c.label}锛�
</td>
<td align="left" colspan="3">
@@ -369,8 +373,6 @@
<!-- update by rentongxiao 2020-09-21 end -->
</tr>
<tr>
- <td colspan="4">
- </td>
<apex:outputpanel layout="none" rendered="{!IF(RecordTypeName = 'ASRCDecision' && repa != null , true, false)}">
<!-- <th>AS-RC</th> -->
<td align="left">
@@ -394,43 +396,63 @@
</tr>
</table>
<apex:outputpanel layout="none" rendered="{!IF(RecordTypeName = 'ASACDecision'&& rdRecord.PAE_reappear_confirm__c = '鏈‘璁�',false , true)}">
- <table style="width:100%; {!IF(RecordTypeName = 'ASACDecision'&& rdRecord.PAE_reappear_confirm__c = '鏈‘璁�', 'display: none;', '')}">
+ <table style="width:100%; {!IF(RecordTypeName = 'ASACDecision'&& rdRecord.PAE_reappear_confirm__c = '鏈‘璁�', 'display: none;', '')}" cellspacing="8">
+ <colgroup>
+ <col width="1%"/>
+ <col width="1%"/>
+ <col width="1%"/>
+ <col width="1%"/>
+ <col width="1%"/>
+ <col width="1%"/>
+ <col width="25%"/>
+ <col width="25%"/>
+ <col width="15%"/>
+ <col width="15%"/>
+ <col width="15%"/>
+ </colgroup>
<tr>
<td>
- <!-- <apex:commandButton onclick="SaveAndCloses(false);" value="1淇濆瓨骞跺叧闂�" style="margin-left:30px;width:80px;float:right" rerender="unEditable,message" oncomplete="unblockUI();"/> -->
- <apex:commandbutton onclick="ReturnRepairInterface();return false;" oncomplete="unblockUI();" rerender="unEditable,message" style="margin-left:30px;width:80px;float:right" value="鍏抽棴">
+ <!-- <apex:commandButton onclick="SaveAndCloses(false);" value="1淇濆瓨骞跺叧闂�" style="margin-left:30px;width:80px;float:left" rerender="unEditable,message" oncomplete="unblockUI();"/> -->
+ <apex:commandbutton onclick="ReturnRepairInterface();return false;" oncomplete="unblockUI();" rerender="unEditable,message" style="margin-left:30px;width:80px;float:left" value="鍏抽棴">
</apex:commandbutton>
- <apex:commandbutton disabled="{!IF(((repa.ETQ_UPLOAD_ERROR_GROUP__c != 'Intake') || editFlag) && savebuton == false && !(RecordTypeName='ASRCDecision'&&OCSM_QARA='1'),true,false)}" onclick="SaveAndCloses(1);return false;" oncomplete="unblockUI();" rerender="unEditable,message" style="margin-left:30px;width:80px;float:right" value="淇濆瓨">
+ </td>
+ <td>
+ <apex:commandbutton disabled="{!IF(((repa.ETQ_UPLOAD_ERROR_GROUP__c != 'Intake') || editFlag) && savebuton == false && !(RecordTypeName='ASRCDecision'&&OCSM_QARA='1'),true,false)}" onclick="SaveAndCloses(1);return false;" oncomplete="unblockUI();" rerender="unEditable,message" style="margin-left:30px;width:80px;float:left" value="淇濆瓨">
</apex:commandbutton>
- <!-- <apex:commandButton value="淇濆瓨骞跺叧闂�" disabled="{!editFlag}" rendered="{!IF((!isOSH && OCSM_QARA != '1' && RecordTypeName = 'ASRCDecision' && repa != null) || (RecordTypeName = 'ASACDecision') || (RecordTypeName = 'ASACDecision' && QISReportId != null),true,false)}" style="margin-left:30px;width:80px;float:right" onclick="SaveAndCloses(2);return false;" rerender="unEditable,message" oncomplete="unblockUI();" /> -->
+ </td>
+ <!-- <apex:commandButton value="淇濆瓨骞跺叧闂�" disabled="{!editFlag}" rendered="{!IF((!isOSH && OCSM_QARA != '1' && RecordTypeName = 'ASRCDecision' && repa != null) || (RecordTypeName = 'ASACDecision') || (RecordTypeName = 'ASACDecision' && QISReportId != null),true,false)}" style="margin-left:30px;width:80px;float:left" onclick="SaveAndCloses(2);return false;" rerender="unEditable,message" oncomplete="unblockUI();" /> -->
<!-- 20200810 Gzw 淇敼淇濆瓨骞跺叧闂寜閽紝Final鏃舵樉绀�
- <apex:commandButton value="淇濆瓨骞跺叧闂�" disabled="{!editFlag}" rendered="{!IF(((repa != null && !((repa.Repair_Determine__c = '瑕�' && isOSH)||repa.Repair_Determine__c != '瑕�')) || (RecordTypeName = 'ASACDecision')),true,false)}" style="margin-left:30px;width:80px;float:right" onclick="SaveAndCloses(2);return false;" rerender="unEditable,message" oncomplete="unblockUI();" /> -->
- <apex:commandbutton disabled="{!editFlag}" onclick="SaveAndCloses(2);return false;" oncomplete="unblockUI();" rendered="{!IF(repa != null && RecordTypeName = 'ASACDecision',true,false)}" rerender="unEditable,message" style="margin-left:30px;width:80px;float:right" value="淇濆瓨骞跺叧闂�">
+ <apex:commandButton value="淇濆瓨骞跺叧闂�" disabled="{!editFlag}" rendered="{!IF(((repa != null && !((repa.Repair_Determine__c = '瑕�' && isOSH)||repa.Repair_Determine__c != '瑕�')) || (RecordTypeName = 'ASACDecision')),true,false)}" style="margin-left:30px;width:80px;float:left" onclick="SaveAndCloses(2);return false;" rerender="unEditable,message" oncomplete="unblockUI();" /> -->
+ <td>
+ <apex:commandbutton disabled="{!editFlag}" onclick="SaveAndCloses(2);return false;" oncomplete="unblockUI();" rendered="{!IF(repa != null && RecordTypeName = 'ASACDecision',true,false)}" rerender="unEditable,message" style="margin-left:30px;width:80px;float:left" value="淇濆瓨骞跺叧闂�">
</apex:commandbutton>
+ </td>
<!-- When 瑕佷笉瑕佽繘琛屼慨鐞嗙殑鍒ゅ畾=瑕� -->
<!-- OSH screen锛歔纭畾骞禨AP鐢宠] -->
<!-- OCSM QARA screen [纭畾骞跺叧闂璢 -->
<!-- update by rentx 2020-10-26 start -->
- <!-- <apex:commandButton rendered="{!IF(((repa.Repair_Determine__c = '瑕�' && isOSH)||repa.Repair_Determine__c != '瑕�') && repa != null && RecordTypeName='ASRCDecision',true,false)}" value="纭畾骞禨AP鐢宠" style="margin-left:30px;width:100px;float:right" onclick="sendToSAPJS(2);return false;" rerender="unEditable,message" oncomplete="unblockUI();" disabled="{!IF(repa.SAP_Transfer_time__c != null || editFlag,true,false)}" /> -->
+ <!-- <apex:commandButton rendered="{!IF(((repa.Repair_Determine__c = '瑕�' && isOSH)||repa.Repair_Determine__c != '瑕�') && repa != null && RecordTypeName='ASRCDecision',true,false)}" value="纭畾骞禨AP鐢宠" style="margin-left:30px;width:100px;float:left" onclick="sendToSAPJS(2);return false;" rerender="unEditable,message" oncomplete="unblockUI();" disabled="{!IF(repa.SAP_Transfer_time__c != null || editFlag,true,false)}" /> -->
-
- <apex:commandbutton disabled="{!IF(repa.SAP_Transfer_time__c != null || editFlag,true,false)}" onclick="sendToSAPJS(2);return false;" oncomplete="unblockUI();" rendered="{!IF(((repa.Repair_Determine__c = '瑕�' && isOSH)||repa.Repair_Determine__c != '瑕�') && repa != null && RecordTypeName='ASRCDecision',true,false)}" rerender="unEditable,message" style="margin-left:30px;width:100px;float:right" value="纭畾骞禨AP鐢宠">
+ <td>
+ <apex:commandbutton disabled="{!IF(repa.SAP_Transfer_time__c != null || editFlag,true,false)}" onclick="sendToSAPJS(2);return false;" oncomplete="unblockUI();" rendered="{!IF(((repa.Repair_Determine__c = '瑕�' && isOSH)||repa.Repair_Determine__c != '瑕�') && repa != null && RecordTypeName='ASRCDecision',true,false)}" rerender="unEditable,message" style="margin-left:30px;width:120px;float:left" value="纭畾骞禨AP鐢宠">
</apex:commandbutton>
-
-
-
-
- <apex:commandbutton disabled="{!editFlag}" onclick="SaveAndCloses(2);return false;" oncomplete="unblockUI();" rendered="{!IF((repa.Repair_Determine__c = '瑕�' && OCSM_QARA == '1' && RecordTypeName = 'ASRCDecision' && repa != null) || (RecordTypeName = 'ASRCDecision' && QISReportId != null),true,false)}" rerender="unEditable,message" style="margin-left:30px;width:100px;float:right" value="纭畾骞跺叧闂�">
+ </td>
+ <td>
+ <apex:commandbutton disabled="{!editFlag}" onclick="SaveAndCloses(2);return false;" oncomplete="unblockUI();" rendered="{!IF((repa.Repair_Determine__c = '瑕�' && OCSM_QARA == '1' && RecordTypeName = 'ASRCDecision' && repa != null) || (RecordTypeName = 'ASRCDecision' && QISReportId != null),true,false)}" rerender="unEditable,message" style="margin-left:30px;width:100px;float:left" value="纭畾骞跺叧闂�">
</apex:commandbutton>
+ </td>
<!-- OCSM_QARA : {!OCSM_QARA}
OSH : {!isOSH} -->
<!-- update by rentx 2020-10-26 start -->
- <!-- <apex:commandButton value="鎻掑叆琛�" disabled="{!IF((RecordTypeName='ASRCDecision'&&OCSM_QARA='0')||(RecordTypeName='ASACDecision'&&OCSM_Cording='0')||(editFlag) || (RecordTypeName='ASRCDecision' && repa.SAP_Transfer_time__c != null),true,false)}" style="margin-left:30px;width:60px;float:right" onclick="InsertRows();return false;" rerender="unEditable,message" oncomplete="unblockUI();"/>
- <apex:commandButton value="鍙栨秷琛�" disabled="{!IF((RecordTypeName='ASRCDecision'&&OCSM_QARA='0')||(RecordTypeName='ASACDecision'&&OCSM_Cording='0')||(editFlag) || (RecordTypeName='ASRCDecision' && repa.SAP_Transfer_time__c != null),true,false)}" style="margin-left:30px;width:60px;float:right" onclick="SaveAndCloses(3);return false;" rerender="unEditable,message" oncomplete="unblockUI();"/> -->
- <apex:commandbutton disabled="{!IF((RecordTypeName = 'ASRCDecision' && OCSM_QARA = '0') && ((RecordTypeName='ASACDecision'&&OCSM_Cording='0')||(editFlag) && (repa.ETQ_UPLOAD_ERROR_GROUP__c != 'Intake')),true,false)}" onclick="InsertRows();return false;" oncomplete="unblockUI();" rerender="unEditable,message" style="margin-left:30px;width:60px;float:right" value="鎻掑叆琛�">
+ <!-- <apex:commandButton value="鎻掑叆琛�" disabled="{!IF((RecordTypeName='ASRCDecision'&&OCSM_QARA='0')||(RecordTypeName='ASACDecision'&&OCSM_Cording='0')||(editFlag) || (RecordTypeName='ASRCDecision' && repa.SAP_Transfer_time__c != null),true,false)}" style="margin-left:30px;width:60px;float:left" onclick="InsertRows();return false;" rerender="unEditable,message" oncomplete="unblockUI();"/>
+ <apex:commandButton value="鍙栨秷琛�" disabled="{!IF((RecordTypeName='ASRCDecision'&&OCSM_QARA='0')||(RecordTypeName='ASACDecision'&&OCSM_Cording='0')||(editFlag) || (RecordTypeName='ASRCDecision' && repa.SAP_Transfer_time__c != null),true,false)}" style="margin-left:30px;width:60px;float:left" onclick="SaveAndCloses(3);return false;" rerender="unEditable,message" oncomplete="unblockUI();"/> -->
+ <td>
+ <apex:commandbutton disabled="{!IF((RecordTypeName = 'ASRCDecision' && OCSM_QARA = '0') && ((RecordTypeName='ASACDecision'&&OCSM_Cording='0')||(editFlag) && (repa.ETQ_UPLOAD_ERROR_GROUP__c != 'Intake')),true,false)}" onclick="InsertRows();return false;" oncomplete="unblockUI();" rerender="unEditable,message" style="margin-left:30px;width:80px;float:left" value="鎻掑叆琛�">
</apex:commandbutton>
- <apex:commandbutton disabled="{!IF((RecordTypeName = 'ASRCDecision' && OCSM_QARA = '0') && ((RecordTypeName='ASACDecision'&&OCSM_Cording='0')||(editFlag) && (repa.ETQ_UPLOAD_ERROR_GROUP__c != 'Intake')),true,false)}" onclick="SaveAndCloses(3);return false;" oncomplete="unblockUI();" rerender="unEditable,message" style="margin-left:30px;width:60px;float:right" value="鍙栨秷琛�">
+ </td>
+ <td>
+ <apex:commandbutton disabled="{!IF((RecordTypeName = 'ASRCDecision' && OCSM_QARA = '0') && ((RecordTypeName='ASACDecision'&&OCSM_Cording='0')||(editFlag) && (repa.ETQ_UPLOAD_ERROR_GROUP__c != 'Intake')),true,false)}" onclick="SaveAndCloses(3);return false;" oncomplete="unblockUI();" rerender="unEditable,message" style="margin-left:30px;width:80px;float:left" value="鍙栨秷琛�">
</apex:commandbutton>
<!-- update by rentx 2020-10-26 end -->
</td>
@@ -438,7 +460,7 @@
</table>
</apex:outputpanel>
<apex:outputpanel layout="none" rendered="{!IF(RecordTypeName = 'ASACDecision'&& rdRecord.PAE_reappear_confirm__c = '鏈‘璁�',true , false)}">
- <p style="text-align: right;padding-bottom: 10px;width:100%;font-weight: 800;">
+ <p style="text-align: left;padding-bottom: 10px;width:100%;font-weight: 800;">
鍐嶇幇缁撴灉鏈‘璁�,璇风偣鍑籌ntake universal code 缂栬緫 鎸夐挳鍓嶅幓纭
</p>
</apex:outputpanel>
diff --git a/force-app/main/default/pages/PAEDecisionRecordjump.page b/force-app/main/default/pages/PAEDecisionRecordjump.page
index 1adbfe8..c8b05f5 100644
--- a/force-app/main/default/pages/PAEDecisionRecordjump.page
+++ b/force-app/main/default/pages/PAEDecisionRecordjump.page
@@ -1,4 +1,4 @@
-<apex:page standardController="PAE_DecisionRecordDetail__c" sidebar="true">
+<apex:page standardController="PAE_DecisionRecordDetail__c" sidebar="true" lightningStylesheets="true">
<apex:form >
<apex style="font-size: 18px;">涓嶈兘鎵ц缂栬緫鎴栬�呭垹闄ゆ寚浠�</apex><br/>
<apex style="font-size: 18px;">璇风偣鍑�<apex:commandLink action="{!cancel}" value=" 杩欓噷 " style="color: blue;font-size: 20px;" />杩斿洖涓婚〉闈㈠悗鐐瑰嚮鎸夐挳 Intake universal code缂栬緫鍜孶niversal failure code缂栬緫鎿嶄綔</apex>
diff --git a/force-app/main/default/pages/PAEListjump.page b/force-app/main/default/pages/PAEListjump.page
index 753b058..d504f06 100644
--- a/force-app/main/default/pages/PAEListjump.page
+++ b/force-app/main/default/pages/PAEListjump.page
@@ -1,4 +1,4 @@
-<apex:page standardController="PAE_DecisionRecord__c" sidebar="true">
+<apex:page standardController="PAE_DecisionRecord__c" sidebar="true" lightningStylesheets="true">
<apex:form >
<apex style="font-size: 18px;">涓嶈兘鎵ц缂栬緫鎴栬�呭垹闄ゆ寚浠�</apex><br/>
<apex style="font-size: 18px;">璇风偣鍑�<apex:commandLink action="{!cancel}" value=" 杩欓噷 " style="color: blue;font-size: 20px;" />杩斿洖涓婚〉闈㈠悗鐐瑰嚮鎸夐挳 Intake universal code缂栬緫鍜孶niversal failure code缂栬緫鎿嶄綔</apex>
diff --git a/force-app/main/default/pages/PCLLostReportPage.page b/force-app/main/default/pages/PCLLostReportPage.page
index bc89ad4..f013ee9 100644
--- a/force-app/main/default/pages/PCLLostReportPage.page
+++ b/force-app/main/default/pages/PCLLostReportPage.page
@@ -1,5 +1,5 @@
<apex:page standardcontroller="Lost_cancel_report__c" extensions="PCLLostReportController" showHeader="false" sidebar="false"
- id="allPage" action="{!init}" title="璇环澶卞崟/鍙栨秷鎶ュ憡">
+ id="allPage" action="{!init}" title="璇环澶卞崟/鍙栨秷鎶ュ憡" lightningStylesheets="true">
<apex:stylesheet value="{!URLFOR($Resource.blockUIcss)}" />
<apex:includeScript value="{!URLFOR($Resource.jquery183minjs)}" />
<apex:includeScript value="{!URLFOR($Resource.PleaseWaitDialog)}" />
diff --git a/force-app/main/default/pages/PaymentPlanLoad.page b/force-app/main/default/pages/PaymentPlanLoad.page
index 9a73996..1f49b24 100644
--- a/force-app/main/default/pages/PaymentPlanLoad.page
+++ b/force-app/main/default/pages/PaymentPlanLoad.page
@@ -1,10 +1,10 @@
-<apex:page Controller="PaymentPlanLoadController" showHeader="false" sidebar="false" action="{!init}" id="allPage" title="缁翠慨鍚堝悓鏂囨湰淇℃伅褰曞叆椤甸潰" pageStyle="PageStyleCss">
+<apex:page Controller="PaymentPlanLoadController" showHeader="false" sidebar="false" action="{!init}" id="allPage" title="缁翠慨鍚堝悓鏂囨湰淇℃伅褰曞叆椤甸潰" pageStyle="PageStyleCss" lightningStylesheets="true" >
<apex:stylesheet value="{!URLFOR($Resource.blockUIcss)}"/>
<apex:includeScript value="{!URLFOR($Resource.jquery183minjs)}"/>
<apex:includeScript value="{!URLFOR($Resource.PleaseWaitDialog)}"/>
<style type="text/css">
.BlockSytle{
- width: 970px;
+ width: 1000px;
}
.PageStyleCss{
width: 980px;
@@ -119,15 +119,19 @@
}
function CloseJs() {
+
// body...
var Rs = j$(escapeVfId('allPage:allForm:statusSave')).value();
// fxk 2021/8/31 鐐规娆℃暟蹇呴』濉� end
// var saveErrorflag = j$(escapeVfId('saveErrorflag')).value();
if(Rs == 'Fin'){
- // fxk 2021/8/31 鐐规娆℃暟蹇呴』濉� end
- window.opener.top.location.href = '/{!PageMCEElement.id}';
+ // fxk 2021/8/31 鐐规娆℃暟蹇呴』濉� end
+ // zzm 2023/4/24 classic 鏀圭増涓簂ightning
+ // window.opener.top.location.href = '/{!PageMCEElement.id}';
+ // window.close();
+ window.location.href = '/{!PageMCEElement.id}';
// top.window.close();
- window.close();
+
unblockUI();
}else{
unblockUI();
diff --git a/force-app/main/default/pages/PersonalEvaluationClipEdit.page b/force-app/main/default/pages/PersonalEvaluationClipEdit.page
index eb8cd96..883a9c0 100644
--- a/force-app/main/default/pages/PersonalEvaluationClipEdit.page
+++ b/force-app/main/default/pages/PersonalEvaluationClipEdit.page
@@ -1,7 +1,7 @@
<apex:page id="Page" showHeader="false" sidebar="false" Controller="PersonalEvaluationClipEditController" applyBodyTag="false" applyHtmlTag="false" action="{!init}">
<apex:stylesheet value="{!URLFOR($Resource.PersonalEvaluationCss)}"/>
-<apex:includeScript value="{!URLFOR($Resource.SurveyForce, 'jquery.js')}"/>
-<script type="text/javascript" src="{!URLFOR($Resource.SurveyForce, 'survey_jui.js')}" ></script>
+<!-- <apex:includeScript value="{!URLFOR($Resource.SurveyForce, 'jquery.js')}"/>
+<script type="text/javascript" src="{!URLFOR($Resource.SurveyForce, 'survey_jui.js')}" ></script> -->
<script type="text/javascript">
(function($) {
@@ -68,7 +68,7 @@
<apex:param name="param1" value="" assignTo="{!delLineNo}"/>
</apex:actionFunction>
- <div class="clip_btnDiv"><apex:commandButton id="saveOrder1" value="{!$Label.LABS_SF_SaveOrder}" rerender="Form" action="{!saveOrder}" style="width:100px"/> <apex:commandButton value="{!$Label.LABS_SF_FIXED}" rerender="dummy" action="{!complete}" style="width:100px"/></div>
+ <div class="clip_btnDiv"><apex:commandButton id="saveOrder1" value="Save Order" rerender="Form" action="{!saveOrder}" style="width:100px"/> <apex:commandButton value="{!$Label.LABS_SF_FIXED}" rerender="dummy" action="{!complete}" style="width:100px"/></div>
<apex:inputHidden id="newOrderList" value="{!newOrder}"/>
<div id="justClipList">
<apex:variable value="{!0}" var="cnt" />
@@ -77,7 +77,7 @@
<apex:inputHidden id="attId" value="{!c.attId}" />
<apex:outputPanel id="Panel">
<div class="clip_menu">
- <apex:commandButton value="{!$Label.LABS_SF_Delete}" rerender="Form" onclick="confirmDelete('{!c.lineNo}');" style="width:100px" />
+ <apex:commandButton value="Delete" rerender="Form" onclick="confirmDelete('{!c.lineNo}');" style="width:100px" />
<div class="clip_lineNo">{!c.lineNo}</div>
</div>
<div>{!c.reportName}</div>
@@ -90,6 +90,6 @@
</apex:repeat>
</div>
<br/>
- <div class="clip_btnDiv"><apex:commandButton id="saveOrder2" value="{!$Label.LABS_SF_SaveOrder}" rerender="Form" action="{!saveOrder}" style="width:100px"/> <apex:commandButton value="{!$Label.LABS_SF_FIXED}" rerender="dummy" action="{!complete}" style="width:100px"/></div>
+ <div class="clip_btnDiv"><apex:commandButton id="saveOrder2" value="Save Order" rerender="Form" action="{!saveOrder}" style="width:100px"/> <apex:commandButton value="{!$Label.LABS_SF_FIXED}" rerender="dummy" action="{!complete}" style="width:100px"/></div>
</apex:form>
</apex:page>
\ No newline at end of file
diff --git a/force-app/main/default/pages/PrintInspectupReport.page b/force-app/main/default/pages/PrintInspectupReport.page
index 369a758..dcaf610 100644
--- a/force-app/main/default/pages/PrintInspectupReport.page
+++ b/force-app/main/default/pages/PrintInspectupReport.page
@@ -22,10 +22,10 @@
}
.nav_1st {
width: 300px;
- height: 20px;
- line-height: 20px;
+ height: 32px;
+ line-height: 32px;
padding: 5px 30px 5px 5px;
- border: 1px solid #000;
+ border: 1px solid #c9c9c9;
background-size: 5%;
-webkit-user-select: none;
-moz-user-select: none;
@@ -36,7 +36,7 @@
.nav {
width: 300px;
line-height: 20px;
- border: 1px solid #000;
+ border: 1px solid #c9c9c9;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
@@ -45,7 +45,7 @@
top: 30px;
right: 0;
left: 0;
- margin: 33px 0 0 298px;
+ margin: 10px 0 0 94px;
z-index: 9999;
display: none;
}
@@ -275,26 +275,26 @@
<apex:pageBlock id="allBlock" >
<apex:pageBlockSection id="paymentPlan1" title="閫夋嫨鏉′欢1" columns="2">
<apex:outputPanel >
- <table style="width:1800px;">
+ <table style="width:1000px;">
<tr style="">
- <td style="width: 55px;float: left;">
+ <td style="width: 76px;float: left;line-height: 40px;">
<font>鏄惁绌虹櫧</font>
</td>
<td style="float: left;">
- <apex:selectList value="{!isResultShow}" id="isResultShow" size="1" style="width:80px">
+ <apex:selectList value="{!isResultShow}" id="isResultShow" size="1" style="width:85px;min-width: 80px;">
<apex:selectOptions value="{!isResultShowLOption}"/>
</apex:selectList>
</td>
- <td style="width: 55px;float: left;">
+ <td style="width: 76px;float: left;line-height: 40px;">
<font>淇濇湁璁惧</font>
</td>
- <td style="width: 400px;float: left;">
- <apex:selectList value="{!selectAssetType}" id="selectAssetType" size="1" style="width:80px;float: left;" onchange="selectAssetTypeJs(this);return false;">
+ <td style="min-width: 400px;float: left;">
+ <apex:selectList value="{!selectAssetType}" id="selectAssetType" size="1" style="width:85px;min-width: 80px;float: left;" onchange="selectAssetTypeJs(this);return false;">
<apex:selectOptions value="{!selectAssetTypeOption}"/>
</apex:selectList>
- <div style="float: left;display: none;" id="selectCheckId">
+ <div style="float: left;display: none;line-height: 32px;" id="selectCheckId">
<div class="nav_1st" id="valId" title="">
<p id="classification" style="margin-top: -7px;"><span id="initial">--鏃�--</span></p>
</div>
@@ -333,7 +333,7 @@
<div class="nav_close"></div>
</div>
</td>
- <td style="float: left;display: none;" id="isPagingId">
+ <td style="float: left;display: none;line-height: 40px;" id="isPagingId">
<font>鏄惁鍒嗛〉</font>
<apex:inputCheckBox value="{!isPaging}" id="isPaging" style="display: inline-block;vertical-align: middle;"/>
</td>
@@ -391,7 +391,7 @@
</apex:pageBlockSection>
</apex:pageBlock>
<div style="width: 98%;">
- <apex:commandButton onclick="createPDFJs();return false;" rendered="true" value="鐢熸垚PDF" style="width:60px;float: right;"/>
+ <apex:commandButton onclick="createPDFJs();return false;" rendered="true" value="鐢熸垚PDF" style="width:80px;float: right;"/>
</div>
</div>
</apex:form>
diff --git a/force-app/main/default/pages/RentalAgencyReceived.page b/force-app/main/default/pages/RentalAgencyReceived.page
index 1152ee6..b743060 100644
--- a/force-app/main/default/pages/RentalAgencyReceived.page
+++ b/force-app/main/default/pages/RentalAgencyReceived.page
@@ -1,4 +1,5 @@
-<apex:page controller="RentalAgencyReceivedController" showHeader="false" sidebar="false" id="allPage" action="{!init}" title="鍔炰簨澶勬瑺鍝佺‘璁�">
+<!-- 20230427 zq <apex:page controller="RentalAgencyReceivedController" showHeader="false" sidebar="false" id="allPage" action="{!init}" title="鍔炰簨澶勬瑺鍝佺‘璁�"> -->
+<apex:page lightningStylesheets="true" controller="RentalAgencyReceivedController" showHeader="false" sidebar="false" id="allPage" action="{!init}" title="鍔炰簨澶勬瑺鍝佺‘璁�">
<apex:stylesheet value="{!URLFOR($Resource.blockUIcss)}"/>
<apex:includeScript value="{!URLFOR($Resource.jquery183minjs)}"/>
<apex:includeScript value="{!URLFOR($Resource.PleaseWaitDialog)}"/>
diff --git a/force-app/main/default/pages/RentalApplyExtensions.page b/force-app/main/default/pages/RentalApplyExtensions.page
index ce1fb49..601b255 100644
--- a/force-app/main/default/pages/RentalApplyExtensions.page
+++ b/force-app/main/default/pages/RentalApplyExtensions.page
@@ -1,4 +1,5 @@
-<apex:page controller="RentalApplyExtensionsController" showHeader="false" sidebar="false" action="{!init}" id="allPage" >
+<!--20230420 zq 鍔犲3 <apex:page controller="RentalApplyExtensionsController" showHeader="false" sidebar="false" action="{!init}" id="allPage" > -->
+<apex:page controller="RentalApplyExtensionsController" showHeader="false" sidebar="false" action="{!init}" id="allPage" lightningStylesheets="true">
<head>
<title>澶囧搧鍊熷嚭鐢宠寤舵湡</title>
<apex:stylesheet value="{!URLFOR($Resource.blockUIcss)}"/>
diff --git a/force-app/main/default/pages/RentalApplySplit.page b/force-app/main/default/pages/RentalApplySplit.page
index 18726a6..1777502 100644
--- a/force-app/main/default/pages/RentalApplySplit.page
+++ b/force-app/main/default/pages/RentalApplySplit.page
@@ -1,4 +1,4 @@
-<apex:page controller="RentalApplySplitController" action="{!init}" showHeader="false" id="allPage">
+<apex:page controller="RentalApplySplitController" action="{!init}" showHeader="false" id="allPage" lightningStylesheets="true">
<head>
<title>澶囧搧鍊熷嚭鐢宠鍒嗗崟</title>
<apex:includeScript value="{!URLFOR($Resource.jquery183minjs)}"/>
@@ -45,6 +45,9 @@
left: 50%;
position: absolute;
width: 300px;
+ }
+ body .slds-vf-data-table thead th{
+ background: none;
}
/*table.list td{
width:100px;
@@ -151,7 +154,7 @@
<!-- 20201117 ljh add end -->
</apex:pageBlockSection>
- <apex:dataTable value="{!raesList}" var="raes" id="raesLists" border="1" cellpadding="5">
+ <apex:dataTable value="{!raesList}" var="raes" id="raesLists" border="allPage" cellpadding="5">
<apex:column >
<apex:facet name="header">鍊熷嚭澶囧搧閰嶅涓�瑙圢o.</apex:facet>
<apex:outputText value="{!raes.Name}" />
diff --git a/force-app/main/default/pages/RentalFixtureSetDetilSelect.page b/force-app/main/default/pages/RentalFixtureSetDetilSelect.page
index 400de1f..3a79f75 100644
--- a/force-app/main/default/pages/RentalFixtureSetDetilSelect.page
+++ b/force-app/main/default/pages/RentalFixtureSetDetilSelect.page
@@ -1,95 +1,95 @@
-<!-- 20230418 zq <apex:page controller="RentalFixtureSetDetilSelectController" showHeader="false" sidebar="false" id="allPage" action="{!init}"> -->
- <apex:page controller="RentalFixtureSetDetilSelectController" showHeader="false" sidebar="false" id="allPage" action="{!init}" lightningStylesheets = "true">
- <head>
- <title>鍊熷嚭澶囧搧閰嶅鏄庣粏閫夋嫨</title>
- <apex:stylesheet value="{!URLFOR($Resource.blockUIcss)}"/>
- <apex:stylesheet value="{!URLFOR($Resource.RentalFixtureSetDetilSelectCss)}"/>
- <apex:includeScript value="{!URLFOR($Resource.jquery183minjs)}"/>
- <apex:includeScript value="{!URLFOR($Resource.PleaseWaitDialog)}"/>
- <apex:includeScript value="{!URLFOR($Resource.RelationListPagingCmpJS)}"/>
-
- <script type="text/javascript">
- var heightAjustment = 120;
- var widthAjustment = 30;
-
- </script>
- </head>
- <apex:form id="allForm">
-
- <apex:outputPanel id="message">
- <apex:pageMessages />
- </apex:outputPanel>
- <apex:actionFunction name="saveAndSort" action="{!save}" rerender="allForm, checEventFrame" oncomplete="unblockUI();">
- <apex:param name="firstParam" assignTo="{!saveType}" value="" />
- <apex:param name="secondParam" assignTo="{!sortKey}" value="" />
- </apex:actionFunction>
- <apex:outputPanel id="pageallPanel">
- <apex:pageBlock id="searchBlock" tabStyle="Report">
- <apex:pageBlockButtons location="bottom">
- <!--20230425 zq lightning涓嬩慨鏀规牱寮� <apex:commandButton style="float:left;" action="{!save}" value="纰哄畾" onclick="blockme();" rerender="allForm, checEventFrame" oncomplete="unblockUI();" />
- <apex:commandButton style="float:right;" value="杩斿洖涓婁竴绾�" action="{!goBack}"/>
- -->
-
- <apex:commandButton action="{!save}" value="纰哄畾" onclick="blockme();" rerender="allForm, checEventFrame" oncomplete="unblockUI();" />
- <apex:commandButton style="float:right;margin: 0 10px;" value="杩斿洖涓婁竴绾�" action="{!goBack}"/>
- <apex:commandButton style="float:right;" value="杩斿洖鐢宠鍗�" action="{!cancel}"/>
- </apex:pageBlockButtons>
- <div style="clear:both;"></div>
-
- <table>
- <tr>
- <td colspan="2">{!$ObjectType.Rental_Apply_Equipment_Set__c.fields.Name.label}</td>
- <td colspan="3"><apex:outputText value="{!parentObj.Name}" style="width:100px"/></td>
- </tr>
- <tr>
- <td colspan="2">{!$ObjectType.Rental_Apply_Equipment_Set__c.fields.Fixture_Set_Idx__c.label}</td>
- <td colspan="3"><apex:outputText value="{!parentObj.Fixture_Set_Idx__c}" style="width:100px"/></td>
- </tr>
- <tr>
- <td colspan="2">{!$ObjectType.Rental_Apply_Equipment_Set__c.fields.Loaner_name_F__c.label}</td>
- <td colspan="3"><apex:outputText value="{!parentObj.Loaner_name_F__c}" style="width:100px"/></td>
- </tr>
- <!-- <tr>
- <td colspan="2">{!$ObjectType.Rental_Apply_Equipment_Set__c.fields.Loaner_code__c.label}</td>
- <td colspan="3"><apex:outputText value="{!parentObj.Loaner_code__c}" style="width:100px"/></td>
- </tr> -->
- <!-- <tr>
- <td colspan="2">{!$ObjectType.Rental_Apply_Equipment_Set__c.fields.Rental_Num__c.label}</td>
- <td colspan="3"><apex:outputText value="{!parentObj.Rental_Num__c}" style="width:100px"/></td>
- </tr> -->
- <!--TODO 鍚屼竴闄勫睘鍝侊細銉� -->
-
- </table>
- </apex:pageBlock>
- <c:RelationListPagingCmp id="cmpid" pgController="{!this}" hasCheckbox="false" noSort="true"/>
- </apex:outputPanel>
- </apex:form>
- <apex:outputPanel id="checEventFrame">
- <script type="text/javascript">
- // 鏁伴噺娣诲姞鍔犲噺绗﹀彿
- j$(".dataCellBorder1.col_Rental_Num__c").each(function () {
- if(!this.firstElementChild.disabled){
- j$(this).append('<input type="button" style="width: auto;" class="inc btn" value="+" /><input type="button" style="width: auto;" class="dec btn" value="-" />');
- }
- else{
- j$(this).append('<input type="button" style="width: auto;" class="dec btn" value="-" />');
- }
- });
- j$(".dataCellBorder1.col_Rental_Num__c input[type=button]").on("click", function() {
- var $button = j$(this);
- var oldValue = $button.parent().find("input[type=text]").val();
- if ($button.val() == "+") {
- var newVal = parseFloat(oldValue) + 1;
- } else {
- // Don't allow decrementing below zero
- if (oldValue > 0) {
- var newVal = parseFloat(oldValue) - 1;
- } else {
- newVal = 0;
- }
- }
- $button.parent().find("input[type=text]").val(newVal);
- });
- </script>
- </apex:outputPanel>
- </apex:page>
\ No newline at end of file
+<!-- 20230418 <apex:page controller="RentalFixtureSetDetilSelectController" showHeader="false" sidebar="false" id="allPage" action="{!init}"> -->
+<apex:page controller="RentalFixtureSetDetilSelectController" showHeader="false" sidebar="false" id="allPage" action="{!init}" lightningStylesheets="true">
+<head>
+<title>鍊熷嚭澶囧搧閰嶅鏄庣粏閫夋嫨</title>
+<apex:stylesheet value="{!URLFOR($Resource.blockUIcss)}"/>
+<apex:stylesheet value="{!URLFOR($Resource.RentalFixtureSetDetilSelectCss)}"/>
+<apex:includeScript value="{!URLFOR($Resource.jquery183minjs)}"/>
+<apex:includeScript value="{!URLFOR($Resource.PleaseWaitDialog)}"/>
+<apex:includeScript value="{!URLFOR($Resource.RelationListPagingCmpJS)}"/>
+
+<script type="text/javascript">
+var heightAjustment = 120;
+var widthAjustment = 30;
+
+</script>
+</head>
+ <apex:form id="allForm">
+
+ <apex:outputPanel id="message">
+ <apex:pageMessages />
+ </apex:outputPanel>
+ <apex:actionFunction name="saveAndSort" action="{!save}" rerender="allForm, checEventFrame" oncomplete="unblockUI();">
+ <apex:param name="firstParam" assignTo="{!saveType}" value="" />
+ <apex:param name="secondParam" assignTo="{!sortKey}" value="" />
+ </apex:actionFunction>
+ <apex:outputPanel id="pageallPanel">
+ <apex:pageBlock id="searchBlock" tabStyle="Report">
+ <apex:pageBlockButtons location="bottom">
+ <!--20230425 zq lightning涓嬩慨鏀规牱寮� <apex:commandButton style="float:left;" action="{!save}" value="纰哄畾" onclick="blockme();" rerender="allForm, checEventFrame" oncomplete="unblockUI();" />
+ <apex:commandButton style="float:right;" value="杩斿洖涓婁竴绾�" action="{!goBack}"/>
+ -->
+
+ <apex:commandButton action="{!save}" value="纰哄畾" onclick="blockme();" rerender="allForm, checEventFrame" oncomplete="unblockUI();" />
+ <apex:commandButton style="float:right;margin: 0 10px;" value="杩斿洖涓婁竴绾�" action="{!goBack}"/>
+ <apex:commandButton style="float:right;" value="杩斿洖鐢宠鍗�" action="{!cancel}"/>
+ </apex:pageBlockButtons>
+ <div style="clear:both;"></div>
+
+ <table>
+ <tr>
+ <td colspan="2">{!$ObjectType.Rental_Apply_Equipment_Set__c.fields.Name.label}</td>
+ <td colspan="3"><apex:outputText value="{!parentObj.Name}" style="width:100px"/></td>
+ </tr>
+ <tr>
+ <td colspan="2">{!$ObjectType.Rental_Apply_Equipment_Set__c.fields.Fixture_Set_Idx__c.label}</td>
+ <td colspan="3"><apex:outputText value="{!parentObj.Fixture_Set_Idx__c}" style="width:100px"/></td>
+ </tr>
+ <tr>
+ <td colspan="2">{!$ObjectType.Rental_Apply_Equipment_Set__c.fields.Loaner_name_F__c.label}</td>
+ <td colspan="3"><apex:outputText value="{!parentObj.Loaner_name_F__c}" style="width:100px"/></td>
+ </tr>
+ <!-- <tr>
+ <td colspan="2">{!$ObjectType.Rental_Apply_Equipment_Set__c.fields.Loaner_code__c.label}</td>
+ <td colspan="3"><apex:outputText value="{!parentObj.Loaner_code__c}" style="width:100px"/></td>
+ </tr> -->
+ <!-- <tr>
+ <td colspan="2">{!$ObjectType.Rental_Apply_Equipment_Set__c.fields.Rental_Num__c.label}</td>
+ <td colspan="3"><apex:outputText value="{!parentObj.Rental_Num__c}" style="width:100px"/></td>
+ </tr> -->
+ <!--TODO 鍚屼竴闄勫睘鍝侊細銉� -->
+
+ </table>
+ </apex:pageBlock>
+ <c:RelationListPagingCmp id="cmpid" pgController="{!this}" hasCheckbox="false" noSort="true"/>
+ </apex:outputPanel>
+ </apex:form>
+ <apex:outputPanel id="checEventFrame">
+ <script type="text/javascript">
+ // 鏁伴噺娣诲姞鍔犲噺绗﹀彿
+ j$(".dataCellBorder1.col_Rental_Num__c").each(function () {
+ if(!this.firstElementChild.disabled){
+ j$(this).append('<input type="button" style="width: auto;" class="inc btn" value="+" /><input type="button" style="width: auto;" class="dec btn" value="-" />');
+ }
+ else{
+ j$(this).append('<input type="button" style="width: auto;" class="dec btn" value="-" />');
+ }
+ });
+ j$(".dataCellBorder1.col_Rental_Num__c input[type=button]").on("click", function() {
+ var $button = j$(this);
+ var oldValue = $button.parent().find("input[type=text]").val();
+ if ($button.val() == "+") {
+ var newVal = parseFloat(oldValue) + 1;
+ } else {
+ // Don't allow decrementing below zero
+ if (oldValue > 0) {
+ var newVal = parseFloat(oldValue) - 1;
+ } else {
+ newVal = 0;
+ }
+ }
+ $button.parent().find("input[type=text]").val(newVal);
+ });
+ </script>
+ </apex:outputPanel>
+</apex:page>
\ No newline at end of file
diff --git a/force-app/main/default/pages/RepPAEDecisionRecord.page b/force-app/main/default/pages/RepPAEDecisionRecord.page
index c0a50f5..724f7b0 100644
--- a/force-app/main/default/pages/RepPAEDecisionRecord.page
+++ b/force-app/main/default/pages/RepPAEDecisionRecord.page
@@ -1,4 +1,4 @@
-<apex:page standardController="PAE_DecisionRecord__c" extensions="RepPAEDecisionRecordController" showHeader="false" sidebar="false" id="allPage" action="{!init}" title="PAE鍒ゅ畾璁板綍">
+<apex:page standardController="PAE_DecisionRecord__c" extensions="RepPAEDecisionRecordController" showHeader="false" sidebar="false" id="allPage" action="{!init}" title="PAE鍒ゅ畾璁板綍" lightningStylesheets="true">
<apex:stylesheet value="{!URLFOR($Resource.blockUIcss)}"/>
<apex:includeScript value="{!URLFOR($Resource.jquery183minjs)}"/>
<apex:includeScript value="{!URLFOR($Resource.PleaseWaitDialog)}"/>
@@ -53,6 +53,23 @@
blockme();
InsertMoreRows(productIdx);
+}
+var selectedSize = 0;
+var pageLimit = {!pageLimit};
+function CheckSize(j){
+ var a = j.id;
+ var productCount = j$(escapeVfId(a)).attr('checked');
+ if (productCount == 'checked') {
+ if(selectedSize >= pageLimit){
+ window.alert("椤甸潰鎵�閫夋暟鎹笉鑳借秴杩�500鏉�");
+ j$(escapeVfId(a)).attr('checked',false);
+ return;
+ }
+ selectedSize ++;
+ } else {
+ selectedSize --;
+ }
+ //alert(selectedSize);
}
// 2021-12-08 zxk 绮剧悽绉戞妧 鎵嬪姩璧嬪�奸�昏緫 start
function checkBoxTf() {
@@ -137,20 +154,20 @@
<apex:pageBlock title="{!IF(RecordTypeName = 'ASRCDecision' , 'Intake universal code 缂栬緫鐢婚潰', 'Final universal code 缂栬緫鐢婚潰')}" id="unEditable" rendered="{!editAble}">
<table cellspacing="10">
<colgroup>
- <col width="7%"/>
- <col width="10%"/>
- <col width="7%"/>
- <col width="7%"/>
- <col width="7%"/>
- <col width="7%"/>
- <col width="7%"/>
- <col width="7%"/>
- <col width="7%"/>
- <col width="7%"/>
- <col width="7%"/>
+ <col width="15%"/>
+ <col width="15%"/>
+ <col width="15%"/>
+ <col width="15%"/>
+ <col width="15%"/>
+ <col width="5%"/>
+ <col width="15%"/>
+ <col width="15%"/>
+ <col width="15%"/>
+ <col width="15%"/>
+ <col width="15%"/>
<apex:outputPanel layout="none" rendered="{!IF(RecordTypeName = 'ASACDecision' , true, false)}">
<col width="15%"/>
- <col width="10%"/>
+ <col width="15%"/>
</apex:outputPanel>
</colgroup>
<tr>
@@ -161,10 +178,10 @@
<!-- 2020/07/28 taoqz end -->
<apex:outputPanel layout="none" rendered="{!IF(RecordTypeName = 'ASRCDecision' , true, false)}">
<!-- <th>AS-RC</th> -->
- <td align="right" > {!$ObjectType.Report__c.fields.Repair_ConfirmationDate__c.label}锛�</td>
+ <td ><span> {!$ObjectType.Report__c.fields.Repair_ConfirmationDate__c.label}锛�</span></td>
</apex:outputPanel>
<apex:outputPanel layout="none" rendered="{!IF(RecordTypeName = 'ASACDecision' , true, false)}">
- <td align="right" > {!$ObjectType.Report__c.fields.OCSM_RC_CordingDate__c.label}锛�</td>
+ <td align="right"> {!$ObjectType.Report__c.fields.OCSM_RC_CordingDate__c.label}锛�</td>
</apex:outputPanel>
<td align="left" ><apex:outputField value="{!rdRecord.PAE_ConfirmationDate__c}"/></td>
<apex:outputPanel layout="none" rendered="{!IF(RecordTypeName = 'ASRCDecision' , true, false)}">
@@ -204,8 +221,8 @@
<apex:commandButton rendered="{!IF((OCSM_QARA == '1' && RecordTypeName = 'ASRCDecision' && repa != null) || (RecordTypeName = 'ASRCDecision' && ReportId != null),true,false)}" value="纭畾骞跺叧闂�" disabled="{!editFlag}" style="margin-left:30px;width:100px;float:right" onclick="SaveAndCloses(2);return false;" rerender="unEditable,message" oncomplete="unblockUI();" />
<!-- update by rentx 2020-10-26 start -->
- <apex:commandButton value="鎻掑叆琛�" disabled="{!IF((RecordTypeName = 'ASRCDecision' && OCSM_QARA = '0') && ((RecordTypeName='ASACDecision'&&OCSM_Cording='0')||(editFlag)),true,false)}" style="margin-left:30px;width:60px;float:right" onclick="InsertRows();return false;" rerender="unEditable,message" oncomplete="unblockUI();"/>
- <apex:commandButton value="鍙栨秷琛�" disabled="{!IF((RecordTypeName = 'ASRCDecision' && OCSM_QARA = '0') && ((RecordTypeName='ASACDecision'&&OCSM_Cording='0')||(editFlag)),true,false)}" style="margin-left:30px;width:60px;float:right" onclick="SaveAndCloses(3);return false;" rerender="unEditable,message" oncomplete="unblockUI();"/>
+ <apex:commandButton value="鎻掑叆琛�" disabled="{!IF((RecordTypeName = 'ASRCDecision' && OCSM_QARA = '0') && ((RecordTypeName='ASACDecision'&&OCSM_Cording='0')||(editFlag)),true,false)}" style="margin-left:30px;width:100px;float:right" onclick="InsertRows();return false;" rerender="unEditable,message" oncomplete="unblockUI();"/>
+ <apex:commandButton value="鍙栨秷琛�" disabled="{!IF((RecordTypeName = 'ASRCDecision' && OCSM_QARA = '0') && ((RecordTypeName='ASACDecision'&&OCSM_Cording='0')||(editFlag)),true,false)}" style="margin-left:30px;width:100px;float:right" onclick="SaveAndCloses(3);return false;" rerender="unEditable,message" oncomplete="unblockUI();"/>
<!-- update by rentx 2020-10-26 end -->
</td>
@@ -213,7 +230,7 @@
</table>
</apex:outputPanel>
<apex:outputPanel layout="none" rendered="{!IF(RecordTypeName = 'ASACDecision'&& rdRecord.PAE_reappear_confirm__c = '鏈‘璁�',true , false)}">
- <p style="text-align: right;padding-bottom: 10px;width:100%;font-weight: 800;">鍐嶇幇缁撴灉鏈‘璁�,璇风偣鍑籌ntake universal code 缂栬緫 鎸夐挳鍓嶅幓纭</p>
+ <p style="text-align: center;padding-bottom: 10px;width:100%;font-weight: 800;">鍐嶇幇缁撴灉鏈‘璁�,璇风偣鍑籌ntake universal code 缂栬緫 鎸夐挳鍓嶅幓纭</p>
</apex:outputPanel>
<apex:outputPanel id="message">
diff --git a/force-app/main/default/pages/RepairAndQISToPDF.page b/force-app/main/default/pages/RepairAndQISToPDF.page
index 939be75..4f75dfb 100644
--- a/force-app/main/default/pages/RepairAndQISToPDF.page
+++ b/force-app/main/default/pages/RepairAndQISToPDF.page
@@ -1,4 +1,4 @@
-<apex:page controller="RepairAndQISToPDFController" renderAs="pdf" applyHtmlTag="false" applyBodyTag="false" showheader="false" contentType="text/html; charset=UTF-8">
+<apex:page controller="RepairAndQISToPDFController" renderAs="pdf" applyHtmlTag="false" applyBodyTag="false" showheader="false" contentType="text/html; charset=UTF-8" lightningStylesheets="true">
<!-- <apex:page controller="RepairAndQISToPDFController" applyHtmlTag="false" applyBodyTag="false" showheader="false" contentType="text/html; charset=UTF-8"> -->
<html>
diff --git a/force-app/main/default/pages/RepairPCL.page b/force-app/main/default/pages/RepairPCL.page
index 58cd237..2247b32 100644
--- a/force-app/main/default/pages/RepairPCL.page
+++ b/force-app/main/default/pages/RepairPCL.page
@@ -1,4 +1,4 @@
-<apex:page controller="RepairPCLController" showHeader="false" sidebar="false" id="allPage" action="{!init}">
+<apex:page controller="RepairPCLController" showHeader="false" sidebar="false" id="allPage" action="{!init}" lightningStylesheets="true">
<head>
<title>鍛ㄤ細-淇悊</title>
@@ -9,6 +9,12 @@
<apex:includeScript value="{!URLFOR($Resource.OpportunityPCLJs)}"/>
<style>
+
+ /* div#out_Div table th, div#out_Div>table>tbody>tr.headerRow>td{
+ white-space: normal;
+ }*/
+
+
td .dateFormat {
display: none;
}
@@ -23,18 +29,19 @@
position:relative;
overflow: hidden;
float:left;
- width:32768px;
+ width:1000px;
}
div#out_Div_L {
position:relative;
overflow: hidden;
float:left;
+ width: 500px;
}
div#in_Div {/* tbody銇屽叆銇c仸銇勩倠銆傘亾銇撱亴銈广偗銉兗銉璞�*/
position:relative;
overflow: auto; /*銈广偗銉兗銉儛銉�*/
float:left;
- width:32768px;
+ width:1000px;
height: 100px; /* tbody銈掕〃绀恒仚銈嬮珮銇曘�佸緦銇s銇仸瑾挎暣 */
}
div#in_Div_L {
@@ -65,48 +72,61 @@
padding:0px 0px 0px 1px;
border-width: 0px 0px 1px 1px; vertical-align: middle; word-break:break-all;
}
+
@-moz-document url-prefix() {
body .pbBody table.list tr.dataRow td.dataCellBorder1 {padding:0px 0px 0px 0px; border-width: 0px 0px 1px 1px; vertical-align: middle; word-break:break-all;}
}
+table.list {table-layout: fixed;}
table.list td {width:100px;}
-table.list td select {width:95%;}
-table.list td input {width:95%;}
+
+table.list td select {width:85%;}
+table.list td input {width:85%;}
table.list td textarea {
height:50px;
- width:90%;
+ width:70%;
}
-table.list .col_Name {width:99px;}
+table.list .col_Name {width:110px;}
table.list .col_Service_Repair_No__c {width:49px;}
-table.list .col_Account__c {width:109px;}
+table.list .col_Account__c {width:123px;}
table.list .col_Department_Name__c {width:59px;}
-table.list .col_State_Hospital__c {width:49px;}
-table.list .col_OwnershipMachine_No__c {width:49px;}
-table.list .col_SerialNumber__c {width:49px;}
-table.list .col_FSE_owner__c {width:98px;}
+table.list .col_State_Hospital__c {width:69px;}
+table.list .col_OwnershipMachine_No__c {width:69px;}
+table.list .col_SerialNumber__c {width:69px;}
+
+
+table.list .col_FSE_owner__c {width:104px;}
table.list .col_On_site_repair_c__c {width:118px;}
table.list .col_Contract_status__c {width:98px;}
table.list .col_Status1__c {width:98px;}
table.list .col_Repair_Severity_Rank__c {width:98px;}
table.list .col_Repair_Rank__c {width:78px;}
-table.list .col_Failure_Occurrence_Date__c {width:88px;}
-table.list .col_On_Site_Repair_Order_Date__c {width:88px;}
-table.list .col_Send_To_RC_Date__c {width:88px;}
-table.list .col_Repair_Ordered_Date__c {width:88px;}
-table.list .col_Repair_Inspection_Date__c {width:88px;}
-table.list .col_Repair_Firstestimated_Date_formula__c {width:88px;}
-table.list .col_Repair_Estimated_date_formula__c {width:88px;}
-table.list .col_Repair_Discount_Date_formula__c {width:88px;}
-table.list .col_Repair_Discount_approval_Date_formula__c {width:88px;}
-table.list .col_Agreed_Date__c {width:88px;}
-table.list .col_Repair_Start_Date__c {width:88px;}
-table.list .col_Repair_Completed_Date__c {width:88px;}
-table.list .col_Repair_Shipped_Date__c {width:88px;}
-table.list .col_Input_user_return_day__c {width:88px;}
-table.list .col_Return_Without_Repair__c {width:58px;}
+table.list .col_Failure_Occurrence_Date__c {width:94px;}
+table.list .col_On_Site_Repair_Order_Date__c {width:94px;}
+table.list .col_Send_To_RC_Date__c {width:94px;}
+table.list .col_Repair_Ordered_Date__c {width:94px;}
+table.list .col_Repair_Inspection_Date__c {width:94px;}
+table.list .col_Repair_Firstestimated_Date_formula__c {width:94px;}
+table.list .col_Repair_Estimated_date_formula__c {width:94px;}
+table.list .col_Repair_Discount_Date_formula__c {width:94px;}
+table.list .col_Repair_Discount_approval_Date_formula__c {width:94px;}
+table.list .col_Agreed_Date__c {width:94px;}
+table.list .col_Repair_Start_Date__c {width:94px;}
+table.list .col_Repair_Completed_Date__c {width:94px;}
+table.list .col_Repair_Shipped_Date__c {width:94px;}
+table.list .col_Repair_Returned_To_HP_Date__c {width:94px;}
+table.list .col_Input_user_return_day__c {width:105px;}
+table.list .col_Return_Without_Repair__c {width:65px;}
table.list .col_Return_Without_Repair_Reason__c {width:138px;}
+table.list .col_SAPRepairNo__c {width:108px;}
+div#in_Div input[type="checkbox"] {
+ width:15px ;
+}
+div#in_Div .col_Return_Without_Repair__c {
+ text-align: center;
+}
body .pbBody table.list tr.headerRow td.colViewing {
/* 銉囥儠銈┿儷銉堝�ゃ�佹渶灏忓寲銈€偆銈炽兂銈掕〃绀� */
background-image:url('{!URLFOR($Resource.IconResizeMinus_5)}') ;
@@ -141,23 +161,23 @@
<apex:outputPanel id="allPanel">
<apex:pageBlock id="searchBlock" tabStyle="Report">
- <table style="border-bottom-width: 0px; font-size:12px;">
+ <table style="border-bottom-width: 0px; font-size:12px;margin-bottom: 10px;">
<tr>
<td width="150px">
- <apex:commandButton action="{!save}" value="淇濆瓨" rerender="allPanel" onclick="blockme();" oncomplete="unblockUI();" style="height:30px;width:50px;"/>
- <apex:commandButton value="妫�绱�" onclick="searchOppJs();return false;" style="height:30px;width:70px;"/>
+ <apex:commandButton action="{!save}" value="淇濆瓨" rerender="allPanel" onclick="blockme();" oncomplete="unblockUI();" style="height:30px;width:60px;"/>
+ <apex:commandButton value="妫�绱�" onclick="searchOppJs();return false;" style="height:30px;width:60px;"/>
</td>
<td width="1000px">
<apex:pageMessages />
</td>
</tr>
</table>
- <table style="border-bottom-width: 0px; font-size:12px;">
+ <table style="border-bottom-width: 0px; font-size:12px;margin-bottom: 10px;">
<tr>
<td width="250px">鍖婚櫌 <apex:inputText value="{!accSearch}" style="width:150px"/>銆�</td>
<td width="40px">鍒涘缓浜�</td>
<td width="150px"><span><apex:inputText value="{!ownerSearch}" style="width:100px;" /></span></td>
- <td width="400px">
+ <td width="500px">
<font>鏃ユ湡</font>
<apex:selectList value="{!dateField}" size="1" style="width:110px" id="dateFieldId"><apex:selectOptions value="{!dateOpts}" id="dateOptsId"/></apex:selectList>銆�
浠� <apex:inputField value="{!con1.BirthDate}" id="fromDateId"/>銆�
@@ -202,11 +222,12 @@
<!-- <apex:pageblocksection columns="1" id="oppSection">-->
<apex:outputPanel >
<apex:inputHidden id="oppCount" value="{!oppCount}"/>
- <div id="out_Div_L">
+ <div id="out_Div_L" >
<table class="list" style="border-bottom-width: 0px; font-size:11px; border-spacing:0;" border="" id="tableHeader_L">
<tr class="dataRow" height="1px">
<apex:variable value="{!0}" var="cnt" />
- Repair<apex:repeat value="{!titleLeft}" var="t">
+ <!-- Repair -->
+ <apex:repeat value="{!titleLeft}" var="t">
<td class="col_{!columnLeftCss[cnt]}"></td>
<apex:variable value="{!cnt + 1}" var="cnt" />
</apex:repeat>
@@ -223,7 +244,7 @@
</table>
</div>
<div id="out_Div">
- <table class="list" style="border-bottom-width: 0px; font-size:11px; border-spacing:0;" border="" id="tableHeader">
+ <table class="list" style="border-bottom-width: 0px; font-size:11px; border-spacing:0;table-layout: fixed;" border="" id="tableHeader">
<tr class="dataRow" height="1px">
<apex:variable value="{!0}" var="cnt" />
<apex:repeat value="{!titleRight}" var="t">
@@ -294,7 +315,7 @@
</table>
</div>
<div id="in_Div">
- <table class="list" style="border-bottom-width: 0px; font-size:11px; border-spacing:0;" border="" id="tableData">
+ <table class="list" style="border-bottom-width: 0px; font-size:11px; border-spacing:0;table-layout: fixed;" border="" id="tableData">
<apex:variable value="{!1}" var="cnt" />
<apex:repeat value="{!oppRecords}" var="or" id="oppTable">
<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);}">
@@ -352,6 +373,7 @@
</apex:pageBlock>
<script type="text/javascript">
j$(function() {
+
var tableWidth = 0;
j$('body .pbBody table#tableHeader tr.headerRow td').each(function() {
var colClass = getColClassName(this);
@@ -360,11 +382,15 @@
tableWidth += headerCol.width();
}
});
- j$('table#tableData').css('width', (tableWidth + 2) + 'px');
- j$('table#tableHeader').css('width', (tableWidth + 2) + 'px');
+ j$('table#tableData').css('width', (tableWidth + 20) + 'px');
+ j$('table#tableHeader').css('width', (tableWidth + 20) + 'px');
// list 銇� headerRow 銇� td銇� toggleWidth() 銈掕拷鍔�
bindTdToggleWidth();
+
+
+
+
});
var elements = document.getElementsByTagName("select");
for (i = 0; i < elements.length; i++) {
@@ -378,7 +404,7 @@
for (i = 0; i < input_l.length; i++) {
var id = input_l[i].id + '_lkid';
if (document.getElementById(id) != null) {
- input_l[i].style.width = "75%";
+ input_l[i].style.width = "99%";
}
}
var tbl = document.getElementById("tableData");
@@ -386,9 +412,19 @@
for (i = 0; i < input.length; i++) {
var id = input[i].id + '_lkid';
if (document.getElementById(id) != null) {
- input[i].style.width = "75%";
+ input[i].style.width = "95%";
}
}
+
+//add by zzm 2023/4/26 -----start----
+j$('div#in_Div').scroll(function() {
+ j$('div#out_Div').scrollLeft(j$(this).scrollLeft());
+});
+j$('div#in_Div').scroll(function() {
+ j$('div#in_Div_L').scrollTop(j$(this).scrollTop());
+});
+windowResize();
+//add by zzm 2023/4/26 -----end----
</script>
</apex:outputPanel>
</apex:form>
diff --git a/force-app/main/default/pages/SISearchSetProduct.page b/force-app/main/default/pages/SISearchSetProduct.page
index 6738a75..7cd5636 100644
--- a/force-app/main/default/pages/SISearchSetProduct.page
+++ b/force-app/main/default/pages/SISearchSetProduct.page
@@ -1,4 +1,4 @@
-<apex:page id="Page" standardController="Product_Set__c" extensions="SI_SearchSetProductController" sidebar="false" showHeader="false" action="{!init}">
+<apex:page id="Page" standardController="Product_Set__c" extensions="SI_SearchSetProductController" sidebar="false" showHeader="false" action="{!init}" lightningStylesheets="true">
<apex:includeScript value="{!URLFOR($Resource.jquery183minjs)}"/>
<apex:includeScript value="{!URLFOR($Resource.PleaseWaitDialog)}"/>
<script type="text/javascript">
diff --git a/force-app/main/default/pages/SaleAndDelivery.page b/force-app/main/default/pages/SaleAndDelivery.page
index 0a91a49..7cf154a 100644
--- a/force-app/main/default/pages/SaleAndDelivery.page
+++ b/force-app/main/default/pages/SaleAndDelivery.page
@@ -3,6 +3,8 @@
<apex:includeScript value="{!URLFOR($Resource.jquery183minjs)}"/>
<apex:includeScript value="{!URLFOR($Resource.PleaseWaitDialog)}"/>
<script>
+ //raesList
+ console.log('raesList = ' + '{!raesList}')
//鍙栨秷鐒︾偣
function setFocusOnLoad() {}
function bodyOnLoad(){setFocusOnLoad();}
diff --git a/force-app/main/default/pages/SearchProduct.page b/force-app/main/default/pages/SearchProduct.page
index d944769..4bf9b30 100644
--- a/force-app/main/default/pages/SearchProduct.page
+++ b/force-app/main/default/pages/SearchProduct.page
@@ -1,11 +1,13 @@
-<apex:page id="Page" standardController="Product2" extensions="SearchProductController" sidebar="false" showHeader="false" >
+<apex:page id="Page" standardController="Product2" extensions="SearchProductController" sidebar="false" showHeader="false" lightningStylesheets="true" >
<apex:stylesheet value="{!URLFOR($Resource.blockUIcss)}"/>
<apex:includeScript value="{!URLFOR($Resource.jquery183minjs)}"/>
<apex:includeScript value="{!URLFOR($Resource.PleaseWaitDialog)}"/>
-
+ <apex:includeScript value="/soap/ajax/32.0/connection.js"/>
+ <apex:includeScript value="/soap/ajax/32.0/apex.js"/>
+
<script>
- var QuoteEntryMaxLine = window.opener.QuoteEntryMaxLine;
- function setProductList() {
+ var QuoteEntryMaxLine =window.opener.QuoteEntryMaxLine ;
+ function setProductList() {
var nextLine = top.window.opener.getLastLineNoNext(window.opener.document);
var hasCheckedCnt = 0;
var checklist = j$("input[name='checklist']");
@@ -417,7 +419,7 @@
</script>
<style type="text/css">
div#iframelike {
- color: #fff;
+ color: rgba(1, 118, 211, 1);
height: 300px;
overflow-y: auto;
overflow-x: hidden;
@@ -428,7 +430,9 @@
<apex:messages styleClass="editListError"/>
</apex:outputPanel>
<apex:form id="mainForm">
+ <apex:actionFunction action="{!searchNameisNUll}" name="searchNameisNUll"/>
<apex:pageBlock id="idSearchSetProduct" title="{!$Label.Product_Search}">
+
<apex:inputHidden id="Trade" value="{!Trade}"/>
<table width="900" border="0" style="background-color:#DCDCDC">
<colgroup>
@@ -454,7 +458,11 @@
<td><apex:inputText id="searchName" value="{!SearchName}" style="width:200px" required="false"/></td>
<!-- <td><apex:commandButton value="{!$Label.Search}" action="{!serContact}" style="width:100px" rerender="all,message1" onclick="blockme();" oncomplete="unblockUI();"/></td>-->
<!-- xudan Enter銈兗銈掑蹇溿仚銈嬨仧銈併�乺erender銆乷nclick銆乷ncomplete鍏ㄩ儴銇仐 -->
- <td><apex:commandButton value="{!$Label.Search}" action="{!serContact}" style="width:100px" /></td>
+ <td><apex:commandButton value="{!$Label.Search}" action="{!serContact}" style="width:100px" />
+
+
+
+</td>
<td> <apex:commandButton value="{!$Label.Add_Product}" style="width:100px;float:right;" disabled="{!Hascl}" rerender="dummy" onclick="setProductList();return false;"/></td>
</tr>
<tr>
diff --git a/force-app/main/default/pages/SearchProduct.page-meta.xml b/force-app/main/default/pages/SearchProduct.page-meta.xml
index 8f61dfe..5350c70 100644
--- a/force-app/main/default/pages/SearchProduct.page-meta.xml
+++ b/force-app/main/default/pages/SearchProduct.page-meta.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<ApexPage xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>26.0</apiVersion>
- <availableInTouch>false</availableInTouch>
+ <availableInTouch>true</availableInTouch>
<confirmationTokenRequired>false</confirmationTokenRequired>
<label>SearchProduct</label>
</ApexPage>
diff --git a/force-app/main/default/pages/SearchProductIrai.page b/force-app/main/default/pages/SearchProductIrai.page
index 8f38598..d8cffbd 100644
--- a/force-app/main/default/pages/SearchProductIrai.page
+++ b/force-app/main/default/pages/SearchProductIrai.page
@@ -187,7 +187,7 @@
</script>
<style type="text/css">
div#iframelike {
- color: #fff;
+
height: 300px;
overflow-y: auto;
overflow-x: hidden;
diff --git a/force-app/main/default/pages/SelectAsset.page b/force-app/main/default/pages/SelectAsset.page
index 0003767..b47eddf 100644
--- a/force-app/main/default/pages/SelectAsset.page
+++ b/force-app/main/default/pages/SelectAsset.page
@@ -1,4 +1,4 @@
-<apex:page standardcontroller="Asset" extensions="SelectAssetExtension" showHeader="true" id="allPage">
+<apex:page standardcontroller="Asset" extensions="SelectAssetExtension" showHeader="true" id="allPage" lightningStylesheets="true">
<script>
var productCount={!productCount};
diff --git a/force-app/main/default/pages/SelectAssetEstimate.page b/force-app/main/default/pages/SelectAssetEstimate.page
index ab614eb..7a792b6 100644
--- a/force-app/main/default/pages/SelectAssetEstimate.page
+++ b/force-app/main/default/pages/SelectAssetEstimate.page
@@ -1,5 +1,5 @@
<!--<apex:page standardcontroller="Maintenance_Contract_Estimate__c" extensions="SelectAssetEstimateController" sidebar="false" showHeader="true" id="allPage" action="{!init}"> -->
-<apex:page controller="SelectAssetEstimateController" tabStyle="Maintenance_Contract_Estimate__c" sidebar="false" showHeader="true" id="allPage" action="{!init}">
+<apex:page controller="SelectAssetEstimateController" tabStyle="Maintenance_Contract_Estimate__c" lightningStylesheets="true" sidebar="false" showHeader="true" id="allPage" action="{!init}">
<apex:stylesheet value="{!URLFOR($Resource.blockUIcss)}"/>
<apex:includeScript value="{!URLFOR($Resource.jquery183minjs)}"/>
<apex:includeScript value="{!URLFOR($Resource.PleaseWaitDialog)}"/>
diff --git a/force-app/main/default/pages/SelectAssetEstimateJumpPage.page b/force-app/main/default/pages/SelectAssetEstimateJumpPage.page
index 5cf919b..ed8133b 100644
--- a/force-app/main/default/pages/SelectAssetEstimateJumpPage.page
+++ b/force-app/main/default/pages/SelectAssetEstimateJumpPage.page
@@ -1,4 +1,4 @@
-<apex:page standardcontroller="Maintenance_Contract_Estimate__c" sidebar="false">
+<apex:page standardcontroller="Maintenance_Contract_Estimate__c" sidebar="false" lightningStylesheets="true">
<!-- <apex:includeScript value="{!URLFOR($Resource.connection20)}"/>
<apex:includeScript value="{!URLFOR($Resource.apex20)}"/> -->
<script type="text/javascript">
diff --git a/force-app/main/default/pages/SelectAssetEstimateJumpPage2.page b/force-app/main/default/pages/SelectAssetEstimateJumpPage2.page
index 11a5d3c..959e0d1 100644
--- a/force-app/main/default/pages/SelectAssetEstimateJumpPage2.page
+++ b/force-app/main/default/pages/SelectAssetEstimateJumpPage2.page
@@ -1,4 +1,4 @@
-<apex:page standardcontroller="Maintenance_Contract_Asset_Estimate__c" sidebar="false">
+<apex:page standardcontroller="Maintenance_Contract_Asset_Estimate__c" sidebar="false" lightningStylesheets="true">
<!-- <apex:includeScript value="{!URLFOR($Resource.connection20)}"/>
<apex:includeScript value="{!URLFOR($Resource.apex20)}"/> -->
<script type="text/javascript">
diff --git a/force-app/main/default/pages/TransferAgencyReceived.page b/force-app/main/default/pages/TransferAgencyReceived.page
index 4f3b0cd..441aeb3 100644
--- a/force-app/main/default/pages/TransferAgencyReceived.page
+++ b/force-app/main/default/pages/TransferAgencyReceived.page
@@ -1,5 +1,4 @@
-<!-- 20230425 zq <apex:page controller="TransferAgencyReceivedController" showHeader="false" sidebar="false" id="allPage" action="{!init}" title="鍔炰簨澶勫埌璐х‘璁�/CDS/鍥炲簱"> -->
-<apex:page lightningStylesheets="true" controller="TransferAgencyReceivedController" showHeader="false" sidebar="false" id="allPage" action="{!init}" title="鍔炰簨澶勫埌璐х‘璁�/CDS/鍥炲簱">
+<apex:page controller="TransferAgencyReceivedController" showHeader="false" sidebar="false" id="allPage" action="{!init}" title="鍔炰簨澶勫埌璐х‘璁�/CDS/鍥炲簱">
<apex:stylesheet value="{!URLFOR($Resource.blockUIcss)}"/>
<apex:includeScript value="{!URLFOR($Resource.jquery183minjs)}"/>
<apex:includeScript value="{!URLFOR($Resource.PleaseWaitDialog)}"/>
diff --git a/force-app/main/default/pages/TransferAgencyShipment.page b/force-app/main/default/pages/TransferAgencyShipment.page
index ad3dbcc..47e9ddb 100644
--- a/force-app/main/default/pages/TransferAgencyShipment.page
+++ b/force-app/main/default/pages/TransferAgencyShipment.page
@@ -1,5 +1,4 @@
-<!--20230425 zq <apex:page controller="TransferAgencyShipmentController" showHeader="false" sidebar="false" id="allPage" action="{!init}" title="鍔炰簨澶勪笅鏋�/鍙戣揣"> -->
-<apex:page lightningStylesheets = "true" controller="TransferAgencyShipmentController" showHeader="false" sidebar="false" id="allPage" action="{!init}" title="鍔炰簨澶勪笅鏋�/鍙戣揣">
+<apex:page controller="TransferAgencyShipmentController" showHeader="false" sidebar="false" id="allPage" action="{!init}" title="鍔炰簨澶勪笅鏋�/鍙戣揣">
<apex:stylesheet value="{!URLFOR($Resource.blockUIcss)}"/>
<apex:includeScript value="{!URLFOR($Resource.jquery183minjs)}"/>
<apex:includeScript value="{!URLFOR($Resource.PleaseWaitDialog)}"/>
@@ -44,7 +43,7 @@
body .pbBody table.list tr.headerRow td, body .pbBody table.list tr.headerRow th {
border-width: 1px;
}
- /* 20230425 zq lightning涓嬩慨鏀规牱寮� */
+ /* lightning涓嬩慨鏀筩ss鏍峰紡 */
body .bPageBlock .detailList .dataCol {
width: auto!important;
}
diff --git a/force-app/main/default/pages/TransferApplyResponse.page b/force-app/main/default/pages/TransferApplyResponse.page
index ed1777c..d909755 100644
--- a/force-app/main/default/pages/TransferApplyResponse.page
+++ b/force-app/main/default/pages/TransferApplyResponse.page
@@ -1,5 +1,4 @@
-<!-- <apex:page standardController="TransferApply__c" extensions="TransferApplyResponseController" showHeader="false" sidebar="false" id="allPage" action="{!init}"> -->
-<!-- 20230425 ljh lightning 鍗囩骇 -->
+<apex:page standardController="TransferApply__c" extensions="TransferApplyResponseController" showHeader="false" sidebar="false" id="allPage" lightningStylesheets="true" action="{!init}">
<apex:stylesheet value="{!URLFOR($Resource.blockUIcss)}"/>
<apex:includeScript value="{!URLFOR($Resource.jquery183minjs)}"/>
<apex:includeScript value="{!URLFOR($Resource.PleaseWaitDialog)}"/>
diff --git a/force-app/main/default/pages/TransferEquipmentSetSRList.page b/force-app/main/default/pages/TransferEquipmentSetSRList.page
index a20f892..1ade521 100644
--- a/force-app/main/default/pages/TransferEquipmentSetSRList.page
+++ b/force-app/main/default/pages/TransferEquipmentSetSRList.page
@@ -106,7 +106,7 @@
</td>
<td>
<!-- <apex:commandButton style="font-size: 22px; margin-left: 1%;" value="纭畾" onclick="go(); return false;"/> -->
- <apex:commandButton value="纭畾" onclick="go(); return false;"/>
+ <apex:commandButton value="纭畾" onclick="go(); return false;"/>
<!-- 20230423 ljh lightning 鍗囩骇 -->
</td>
</tr>
diff --git a/force-app/main/default/pages/TransferShippmentReceived3.page b/force-app/main/default/pages/TransferShippmentReceived3.page
index b1b28f0..a1e0d94 100644
--- a/force-app/main/default/pages/TransferShippmentReceived3.page
+++ b/force-app/main/default/pages/TransferShippmentReceived3.page
@@ -191,8 +191,8 @@
</style>
<div id="myModal" class="modal">
- <!-- Modal content -->
- <div class="modal-content">
+ <!-- Modal content -->
+ <div class="modal-content">
<span class="close" onclick="stopScan()">×</span>
<p>鎵弿涓�</p>
<p>Code:<input type="text" id="qrcode"/></p>
@@ -200,7 +200,7 @@
鎵爜灞ュ巻锛�
<ul id="scanedqr" style="list-style-type: none; text-align: center;padding: 0;width: 100%; height: 100px; overflow: auto">
</ul>
- </div>
+ </div>
</div>
<apex:form id="allForm">
@@ -465,7 +465,7 @@
}
let scanner = new Instascan.Scanner({ video: document.getElementById('preview'), scanPeriod: 5 ,mirror: false});
scanner.addListener('scan', function (content) {
- filljsQR(content);
+ filljsQR(content);
});
function qrsacn(stype) {
@@ -475,17 +475,17 @@
} else {
j$(".modal").show();
Instascan.Camera.getCameras().then(function (cameras) {
- if (cameras.length > 0) {
+ if (cameras.length > 0) {
if (ver >= 13) {
scanner.start(cameras[1]);
} else {
scanner.start(cameras[0]);
}
- } else {
+ } else {
console.error('No cameras found.');
- }
+ }
}).catch(function (e) {
- console.error(e);
+ console.error(e);
});
}
}
diff --git a/force-app/main/default/pages/UnderConstruct.page b/force-app/main/default/pages/UnderConstruct.page
index 2ab74f1..14da675 100644
--- a/force-app/main/default/pages/UnderConstruct.page
+++ b/force-app/main/default/pages/UnderConstruct.page
@@ -1,3 +1,3 @@
-<apex:page showHeader="false" sidebar="false">
+<apex:page showHeader="false" sidebar="false" lightningStylesheets="true">
寮�鍙戜腑
</apex:page>
\ No newline at end of file
diff --git a/force-app/main/default/pages/ViewRentalApplyDecrypt.page b/force-app/main/default/pages/ViewRentalApplyDecrypt.page
index ea1dc27..fbec195 100644
--- a/force-app/main/default/pages/ViewRentalApplyDecrypt.page
+++ b/force-app/main/default/pages/ViewRentalApplyDecrypt.page
@@ -5,7 +5,8 @@
@last modified on : 03-29-2022
@last modified by : ChangeMeIn@UserSettingsUnder.SFDoc
-->
-<apex:page standardController="Rental_Apply__c" extensions="RentalApplyController" id="page">
+<!--20230421 zq 鍔犲3 <apex:page standardController="Rental_Apply__c" extensions="RentalApplyController" id="page"> -->
+<apex:page standardController="Rental_Apply__c" extensions="RentalApplyController" id="page" lightningStylesheets="true">
<apex:includeScript value="{! URLFOR($Resource.AWSService, 'AWSService.js') }"/>
<apex:includeScript value="{!URLFOR($Resource.jquery183minjs)}"/>
<apex:form id="form">
diff --git a/force-app/main/default/staticresources/OpportunityPCLJs.js b/force-app/main/default/staticresources/OpportunityPCLJs.js
index 301ddc3..b6224c6 100644
--- a/force-app/main/default/staticresources/OpportunityPCLJs.js
+++ b/force-app/main/default/staticresources/OpportunityPCLJs.js
@@ -96,6 +96,7 @@
} else {
searchOpp();
}
+ windowResize();
}
diff --git a/force-app/main/default/staticresources/SNA_Demo1_sf_default_cdn_PqhAN/assets/css/fonts-and-custom.css b/force-app/main/default/staticresources/SNA_Demo1_sf_default_cdn_PqhAN/assets/css/fonts-and-custom.css
index dba56a2..21d01df 100644
--- a/force-app/main/default/staticresources/SNA_Demo1_sf_default_cdn_PqhAN/assets/css/fonts-and-custom.css
+++ b/force-app/main/default/staticresources/SNA_Demo1_sf_default_cdn_PqhAN/assets/css/fonts-and-custom.css
@@ -1,26 +1,8 @@
@font-face {
font-family:'Work Sans';
font-style:normal;
- font-weight:700;
- src: local('WorkSans-Bold'), url(data:application/x-font-woff;base64,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);
-}
-@font-face {
- font-family:'Open Sans';
- font-style:normal;
- font-weight:600;
- src: local('OpenSans-Semibold'), url(data:application/x-font-woff;base64,d09GRgABAAAAAFTIABAAAAAAksAAAQABAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAABbAAAABwAAAAcXMQyEU9TLzIAAAGIAAAAXgAAAGCiDbgUY21hcAAAAegAAAFpAAABsozo3JljdnQgAAADVAAAAFsAAACmEJEaNGZwZ20AAAOwAAAEnwAAB7R+YbYRZ2FzcAAACFAAAAAMAAAADAAIABtnbHlmAAAIXAAAN3IAAFS4FDJiAGhlYWQAAD/QAAAAMwAAADb5NRTiaGhlYQAAQAQAAAAeAAAAJA61BPpobXR4AABAJAAAAgsAAANYscRQjWtlcm4AAEIwAAALagAAIwQMlg8JbG9jYQAATZwAAAGuAAABrtDzvNptYXhwAABPTAAAACAAAAAgAlIBP25hbWUAAE9sAAAC4QAABs8EDhKHcG9zdAAAUlAAAAFwAAAB8oJ46dVwcmVwAABTwAAAAQYAAAEYeKybbgAAAAEAAAAAyYlvMQAAAADJTOp9AAAAAMnt2GJ4AWNgZslhimBgZeBgncVqzMDAKA+hmS8ypDF+Y2Bg4mZnY+ZgYWJiecDA9N6BQSGagYFBgwEIDB2DnRkUGBQU1rDJ/xNhaOHoZYpQYGCcD5JjCWLdBqSAXACi9w5vAAB4AWJgYGCGYhkGRgYQWAPkMYL5LAwTgLQCELIA6TqG/4yGjMFMx5huMd1REFGQUpBTUFKwUnBRKFFY8/8/WOUCoIogqAphBQkFGaAKS5iK/4//H/o/8X/h3/9/3/x9/WDrg00PNj5Y92DGg/4HCQ80gXYSBIxsQAxjMwEJJnQFQK+wAMTKxs7BycXNw8vHLyAoJCwiKiYuISklLSMrJ6+gqKSsoqqmrqGppa2jq6dvYGhkbGJqZm5haWVtY2tn7+Do5Ozi6ubu4enl7ePr5x8QCFhQcEhoWHhEZFR0TGxcfEIiQ1t7Z/fkGfMWL1qybOnylatXrVm7ft2GjZu3btm2Y/ue3Xv3MRSlpGZeqFhYkM1QlsXQMYuhmIEhvRzsupwahhW7GpPzQOzcWoakptbph4+cOHn23KnTOxkOMly+evESUKbyzHmGlp7m3q7+CRP7pk5jmDJn7uxDR48XMjAcqwJKAwCnS3uOAAAAeAFjE2EQZ/Bj3QYkS1m3sZ5lQAEsQQwiDG0MDP/fgHgI8p8IiATqkvwz5f/bf9X/P/1b8W8e0AwyAQeEOsCwg2EDw2KGKUDWWYajDOcZdjHMYjRk2AQAMzYg1QB4AXVUP3MbRRTfPdmybMvhFELGwxXZ40XGHks4TAI4xtiHpL3IiIAl2TN7DsWdI2VkqlQpMjCjjsw6fJd3SSOnSkvBd0gBHS5DG97uSUriGW7Ouvd+v/dv33vr4M69o0gdHnQ77f0ff7j7feu7veadUDbqtW+D3Z1vtr/eur351ZdffH5j47NqZfXTlfJ1+MS/tnyl5H5waWlxYb4wl5+dyTmcVQTyWGKuLEphAhKSZrUi5PKgUa1ICGMUiUD6zKxAs2khSFDEAlcSot6BYwzI8sEFyyCzDKaW3BXbbNukAIF/NkCM+FFbkfx7AyKB51a+a2TysMoSKb5PHrYqU62QGD4aaBlTjTxdXKhDvb9QrbB0YZHERZJwFR6mfHWHW8FZlVupwwpLFMScVCY93G8r2fB8P6pW9vASNCzF6jYk5us4Z0OKE1M6OxVp5aV+OnLZcbxe7EEv+UlhLiFfnZNa/4aldVyDBq49/muZTt7HCjQkrpuorc40T+ttSo6zZReEfs3oOHD+z/tIMkbyZfc1MyI6deQd5ZvHC6nXWocgQh3rZPRmeAzCBZ0Wi/qhpHazfYWc8BenHoZPI3TjAd+KxkcPOy38sH1PoVMOxSAhhN5d8Dc9vzS12f8/mlFbMG867PumDaejgB2TgsO2ynTBjr1nLNhYj9CJDfNywnx0aJjhhJm6x+BTa7pK40x5rweSOn6a4PCYtutnMxhw8dK/ng/6cknc3oisrcAc2Z4InF3BvPF614H2xrho1ygkZJ9zTxNRuixuA4UxcSTIePw+GixTAEGNbq5ni3CgMGiQECTjicn0xgZ5JDEN7KRhh4kb8BCvQG06XVOWPOkq6zJ2wyt1ZPH9sRduSHuvhNSxFewOt6CtztjNN6/SW8J7fpPdYlHDGF+t05atSK16D/Ba7PVQxA+E8nwMIppwBKof4Zrt0Norzy5HZHflQLW60GofqU1byISgcNRjeSEMKC8LQwuIhXJBKMfLRWToEiBCEqC2Tb84Vy7Qn4v5DKUTESEU99jEmsrANSH7jbEd6e8HJSVXrjcn0fKkmjj1pudHtn5zzx2ixTgxeRRMU5tjimRBRAEdCmMh08tls/RCQR8iGAgM9hWdzbbHdnncDNvz8awO3tOmzTIaMp9oUqbNxHCdtHf0O1afqs0L9N6EFroAra42wWEckFHle8jMCgebJc9A3FxoCBMQrgizC63TIDCXebBlgsBeT0NXbVvrVkf96j02uS6zFm8d1KqV1GG1FPiTdhrwJ90jdeYyJp4cqGcOd+pxLUqvE6fOBGOBRR2DEmgVYRQTqUNKwdp7ZwFjQ8vOWMDq90ecWawwwTi7P3IyzM0SrZhExDjEzGRMMLGeIayQYUOL2SdlpmXBwmxQCOaDorPkeCk30DNCXnDG5jl7XuRL3EvJq2PhER+m84GXWQzJIoiyig/fpj48Us+LjNzsLyWqmYfWZXlAw1YgpOiZRfklGug4MpeNXaXR0MuRww6NCXaokHwRF6Bfw0WoGXzX4LsZnjf4HK0ov8rJfUiz30duNuCe8sFF8fEfnnbPzaQi+qei3b+r/wEp9yEpAAABAAIACAAK//8AD3gBlXwJfBRF1vh7VdXdc99H7jCZJAOEEMiQxICQ4QoBA4SILINyIyIKCIiIGIENhwiIHHKru4iYRRcREVhEkEtQZBFZ1w8RXT8XPIjiKvIhJMW/unuSDFHX3/839PSQflP17qPq1QCBeTe+wK3STqBgh1YRt4kySojTgWgl1KoMiFrdUJIDCSWu4jynC4ud4bAz3L4dBmkAOxSG831ejxzMyMapWzugl3/Wr6xXed/SXv1xL7127WifvhW9et1eAaDOQzeTq9o8CqRHrAoDMZPRIBOFUigJn8hXRy926qNTMby4cEKrVa3IVPEm7az/njjUSx0rD4Bdk3ZAMqTDE5E+hvQUL/MYnRaL0WW3mZnJ7fb4UtMUJvsZQiJLkCTZI5sCNMlPE0wJLQIGZrGkoDUdHI5Er9MqXpLfTU2SSyBSEnYVF+flCTrD4orddNz84q6h6PIXiyv2KT9fv6toB7wCbXdQvQoC7oC4wjSsXl4Miz+fK0IbP1WxveJqxdbya5hczK9iVsWOirqKrRV19XCt+Body/9dw4fhRvWqwZQa3MyHqFcN/zemAFCYdGMhC8kuaAHZkAv3RIotHn9qVmuZMSkAISdIBmeilNdWkn0Ru6vM54+kWjNp69ayP8siW/pHqZyT4vH7U/pH/ZCX4wRBXUJeWPvgUilMSnCcyHGcEARr9ImXTppHVrzBguxQQRr6naG2WNChsKgg7PX5leyQ05+GSgdxL0SPz++0IQv949i8q88NunDnwE2rP9o97/jO3s+sL9+3vHbA8G081GtoxUA8smyv78xpVna6dTHiQ+klr8x5Yru75gXltl1dLHxlau+NczveFuQHkskXxeVZWGTpAyDBwBu18jLpOBjBA2nQStD/h0i73NY5bZLSvVmSCRwmR3pW6zZyXtuUP4UwFMqlI6z4ihWt1ja5tI1LcbGEDLcm4xJVn4dODjvFeziOWP2l0usL5zsdwQxZ0vS7wBHI9/3qH40YRPR37DZ3breOePCFP695EUue+Qte6dSturpbJzy4+bk1NRhZ9xL/qO7DgzSHwdPLUeC2fMWFLy99iu98W/fx0yuxFWY99fSFC99+hu/U0sC1PsJOVFmPuFErfS3oNQt682FgpG2bHJc31FIOQHKONznQUuoQzrLltmZtQjQzgdpDaW1cacbbommsnaU82i5muLrxOnWV1UhtRqi/i5BmtqDKnS/0E70eX5YQriZi3b4VLCwKEwUDIRsGMzLxUPdbJ9/5h7L+Q5/e9Uc+Z3zFIl41+8XhPc/sevXdBc/ikAGFP5Suw1x+6umxXy6+wK+xmSUPlEQm9ezab8D1/7sPZ/SYXj5q5onqQyMmra1cs+2lZVP2DOXb7zvJ//0aP7es8vaPAQBQ9Rc4QfMXnl1AqcSI6idUxSxucBE4odEz6N+p5HtJufiOVXgYG2VmalLABMIlqF/Na3AwfvF1t8NVFJaJ1+PyB7NJ5frlJxatXLnw+Ip1pD0a8e9b9/Lcy5d54d+24NuA0FmMW9Q4rslMmQJMjMtMzcdFB1GCha6CDiQU9rlI0frlx59YsXLRCXVg/jPvWPMGHrv8E5568xXeXse5DxnPPLIHbJAcsQsyUbGajGaj3WGwAZQc1gSmkpvll9yKGUPurCKJkj+1wjkpfE3t0c1Pn/iSrwviw61kD//j/WdS+Tv3YSXfeh8WpZ65Hx/T5hgBX7D27BCYoU3EJ1OTyWxGA7VajEiwMirnESSQN1T3ArqCuIrVSYUDE3QJp+YM4nd8Cj65A5fyyTvIjO24ho/bzscDQonwYRvgO5AhLWIHiUoGhUbkCvl9mcpiUE1gmsSyZBoUTMcN7Wb/tWfGlx/t4WfR9pWGXxkeIH3IQqDgjRgpSAyhbxSFf9K+LKRVEPCWEYIHjh3T4LWYhR5BT0LELAMISuiAqFFV+Ab9KIoLTvPKy3qX9y0rK6/q3W9Aaa/bK9UxHADUpulXSsRCAQkR81JKRAwoiQtFqnlTW/2/PiUBaadumAQG36hlxdIJMb8fWkY8LrDIMiQmGL19o0aF2vtGaWLM9uKDmoMEM0RkdYXzXai9O7W/sOKf6i7X/XT9p7p668wFC6qqFiyYSc7yav4kPoaTsRon8dn8Sf7hDUCGIcxGhXNAWAdALQIdEwQiDmAGI0O0mJmCRhkTBA1CgurkmlYGgs4ORTZUQhimlosGf/f9D+HWw3TbX0YndFz/NGr8GAIgaDoOydA+kqR4kgixeZJZaorT1DfqVEgSYlK/KCZoLIZinTR/jLRWWIBdiO5ElFAX1DhvQzt6A6y4LoAzXpyQP/3egc/cM+uRC39870qvFS9xsnM7znxp6WNlo6d0GbD+nkEf7hi9/c0/XzFp8h0k+JsrcMmG7pFMt5IMwBSrP0NuGaL+hAR//2hCgikzM61vNFMxOfpGTU3cFpjlabc47LTYlSb8GgtkiPglsCsUqOZgQbhFA8qFwpEzsnHFtm38n/zbH18c+v6ILTV7js6ag8MemX77ununvoOmc1fZ2EV/a2HwvbLs9Pn+p9rmPzZ32sT9Pwwbm9dj08p9Wo4TAmATpD1gAheURUJGRJtZYS5JYkA9bpRcklAQucKFdle6i7hc1K7IVBVWWI1GQ8PxFiiyjoZUyxl0BgpQ/CcgxBiUFWQTjpyvH0M2nD/CB5kMKbfyp7GEH8CS1+nbdWU46XBVt2H13wPCNMFH4SAhBTpG0u00yUsN3gSWlgrOvlEA2edL7Bf1ybKlb1RuxsJ49uUzrweaWOcIqBxzq6lOFyR9ziHhZ/kPPy0e8MGQ5zbz7XlPdLj3FnK1/qNA8G667Jt3v+E/9/+wbf6TC1F2W7qQd0/xVbIDCAwTuJVI74AfMqFHJJjszDCZACQnzc4yeWy2tP5Rm81DiNI/ShRPQt+o578JWcXTLaKx36vKk4ZjKgjC+IkkcFbFrEW2YeSNieXlYy7Wmix5W6Ye/ZTf+PSZr6qQz6ieObN8dp+1ZBId4jzsq+PfDIhePnWB/7QaA1c2LHvsqa6TOy05oPlrANZZ5J4yZEVcMqAERKIGBRIo6Relso5kHPsCqhf1IgLpVm+gP9YfYOdPbrr2vRbfdT/yDvggCO2gKJJKDTZPTkDOby85A4GcHDNAZv8oKOak/lHzzfSrHrohNqikSpqCi+hc0BC7qcena3oe2hAzZK8nDfVQT8re/4H/8PIyfuWL7/i1hRvmT7lWurxqztK581PnPojWMY+0GTjm4dEzpXf2/+nzeYP2TXv94/feeORQecX2Sc+9eX37uKnTxw6YX2ztuIiWjL6jQ2X3vIJp/e4YDUA0uy0S9CRAlirTDIsFUlwgu2go22L32tP7R+126vUm9o16FWoQyejvyRQdmuIJQlzuoA3VnKsDCNG6sgQ9MfraIivim/jGeR2jQ777xmzp9OIDBz9F/HTDV49x8sgfZ8ycvrHno7SUV/BBjiOJCOgaUvHD6fNoX8M/u/LcU1VLnxweXT8EoKEWYuPBDD7VrztVtw4JfptnQNTm0ENMnF+PRcn4SOPs8Mugs/K2PvGxhz67uqKXFoOIFjtfFvPJ4IT8SLJFQVlmCnW7GMgO+SmZWqlstItpHdq0ecOHDX07TrWy/FpIpU2T4hK7Fl2DsUm/8+tRlpzXJ9VygXMiF6gVc2ZHfBICMlV77RRL6CS6lF6ijILIjPV5tFmwAL1GZO3r8uip+iA5dw63zsCvDvEafgoIjMVtrBX9QavrciPJTAHKjAYmVUYZIlRG7ZiH/XESMhTDCiIcb+vORY/qKK6x9FBdZ3qIlrz2Gp+8fXtzHFEikixwlP8Ljm6jiiSOIOfqg/RUXR5uFLMOPsQTZvBKIOC48QWdoMW2bOgaCQRSkkFxg82dwlqGmN/vAMh0OEy3RR0sM21ANNN9k1a6xAw3K6VqYl2wMXbEop1iw1SMl0VyxZjpPR+4d/jGvgOPf3X4QpvohKEl364oK+/bq1c57o1MXN5v2LiygUMKs7dNfusvt00bf0fvEQNy+YHV/ct63T5A08dJNwbJ+6R9UAAlUB7JToZOno6Kr9AWbAs2j69lW7lrxGDu7HTmJ9xyCzObc9LzaXYO5IW1eBJW0RU3V7xJNWb9mjGFGmzKJbD2U69HMyiSGcxgxCtML7/IKwdbgMhZMsP5zIXiubtIpVreN+T5+/o/6LG0f2rI829cPVX+tzLfuP5DF3P+4of8yGYsxIxz33/wfyJtGfUvXHL9DN7+xvW6XQdclpKy2UvJF0u/nTuwrF+/D177O2JyAs9L+NN7z76EdPE2/rf/4Z/yY0M2DcKleDdKuPp/dvDX+ItfY9Yl5xaNJwAg9ZH2gtBZ4THTZMkCCmVImGKw2BWnw07KhZeRgLksEo3V803xTLxUn6yuLmDAiLQthmTx9fLl9aeW1pEgMhLk7RfaC0zJHebiKj5e2nutBxmDT7Z8ueXM5bwaKIggwM6ImGqHBAhA70i2h6WZHUlJdmYw24UDNiSKRQWhSg47QEJ5FKg9SSDk+q+OTlPhQAvmbcxUggF3Q5qSiPqn4AHcjm3ROvfRdcv4tz/Vf3/pwqonnt54kq9au+E5aee2fbO3+EypLy0/8hkdMnzKPXfVb+Htpz46ZSIgzBB++aTQ/wRhTx5qN9q9NCnRDeVRN7PI5VFLk8LH7AljiWphTAE6qArgV9oizft77RcfDd067OWP+X5e8yLe+uG/9g3q8wLj/BN+g//Ia7NST3TFeTj+3zho57CjwQIAovJMGit4ZgC76letzAgMHE5JVKkSZdbyKHP9Wr4MrdAZaAHUIfLXcAtpLJ/I5/N78DAOxbl13HtyC3GQr/kqPkfayR/nzxPr9bN6TSXmo3ViPjN0jrRgIJtMCFrBIxvLo7KMhEjlUULRVB7F5pKJt3R1fm9Av2hd3RHaqX4HCdWfUYvMd/mUY7ygab5rYj4j3CI0EgCZgqJMVGezy2imskzQpc/ZuJgmfHl8liVIjE2FW7+lxfo86ixFxwFAl6HUXsgwSc3lEojbQAxJViY8mVAvAMlsdpRHzUzyCZa6fzuXCzhtqFk0BIQ8hSmDV5VzkaDPT5Lm/riE7+BrcBWOOX9i4Pbt3/Dvf7rw4Fx+iibWZ+Rk4kIciyNx6eCjlfzjG/wy/zoVZ8Tol7pp/A5HEg2MSUZEkMBiNdDyqMEgmWSKjYtreU1CbiLdKSQs3sNSt+/rh126RDZ+T1bUi/K/fgsZ1Mhj3KbVa86daoVIIVapiUiiDnTgklqfabA3xvBxuEXAWtR63UQVxSYwAcF/COqs0cO3anV6dlEgBvDIhlHdBnY5/P2HfFziO96r0sJrs/71LTTQlyrGs0FBJMVsQVBpBCJZbJLwNzYqwp05jkR/c9tuhahoFBYWYQAUKZVf5AVLLl0aNRIXoYPP2UxWTa0/J6gtfXgSnuZd9utzsmQxp6TSQMVNkZGC4CfENDbGRZ36gPfAJXKftPO6/4T+XXmj+K4HukTSXWabzeoBIzFIkiwbrdTnJS4jlc0KBZusotwMZ/2f7igx6PKq5QeGUZVRB1dREGkxH2xwnsEBuErGjVh5wcwMvDc7wr//rr5YoDCNLbrWh5yegMOyrndu5F+1wEfNcvwWdDiAmhTFYAC3i1oMDiNFQ+PSq05WHA6CeUG/L4ZFNhGikqr52fr2Bsl2RvipEzKxnGVLuu5ZV28Qk8/wY2AA4QAARLOZ0011ukVQK0NCotFbHjUyai+PUvev+p2AZiHiPb5Ol07z9fxv/HX+jIhMt2Epjrm+6eN/fnjmow8/OkvOiWcPCvsYL15z+UN8Hf+Bf40edKIVffwb3QeyhVq97hZcSLSDWRUHeD1mJgzXrMguxV0eVZocRBNOesRmAa0QbMEaC1i2kP+DX1xzCV9AFzrrQ7N2v7zu+c207vxlVZn+xX2zH3/sUY0PfJPGBzuIFCKSLjEq+8BhAiabRIVvTSyPWpmkUEXDQFtFgbBI1OJq/MYlDAWFTvw6e44fxGF8H68N/SaPrvCVffgCLPsvjIKGeGHS4oVXrSNcXubwuEFdtnK4vczvcxlBLHMCWDxml8UgAliMa7p3gfAvVzmbgqnGQq9DEnTgts0vrtr4/LOX8BlMRodYYX+Gf883Utujjzx6f/1d9bulnf/4J7/0YP0MUqbp8RgRRy3CB2dCB5GtQ6pLcvmBZWdZUkVVI/ywl1HjTUoFxTcvRLBg3AqEtoqeGdb9sF6epRFm4ReuXn12zOcjn1zw6MFjm5Cd/eD98kNrH3y43cSlf15ViksOfdr3f/MK77+zckq/Ae8v3/XBXYcq7769eEBZp+4PLgeEVAA2TvBOUetTQKQyNRrQpVBGRZylunAbK1Td+xaIsEP2XOKV7DZxfX1C9SE7hO100mw2K+J0oNlgQLfLaaSSrSnChOPNRjhQJjRDc6W+cItElDot4j/vEhz94PuarVgp7azrt/HHamxRR7fWjX79ZRxN1wMCqHs5mq9uLXITYgSUGDIjtVmNFBilqpdvlsOq8sSguLSCtoiRqxzqOLmC7RMKDdZCp75QVze164n88mPtAMXYoFRr6yCRSAAhwWR0iIo5OcVqkSyOhBQpLdUhJVBTssdC0aR7omZePPZPeCMtZ7ShQgNmDLt9KgJu9V4obrLM66462kmmXPsPvO7Nty6fau81t3F99+3lYMhe/P4PdFzxR60j7+XXbSCfkI/rXj7xzB0fdKWD6jZP/3bpOVqp6RgDYFe0WCpiDYLRpMiUMSCSbDCZDVYLMTCjTJE1OczmscaIAf0fsiv8W76cL70BeJ53RBNWihfhRWSQiKtXyFv1H5FW9bcCQEwOezWbaxPxIjEowJhEJIWajCAJcqWbBeGKiV2dRrglDJBhOAQZT/yeJyOjyWR93Zz6d0geXQAI3QDY4Fh+lEoVAwHCFGY2KUySmJoDEgOiQU/G9KxFvzVbYtQWUgJs8PVvyOf1YfpdfQq5upl1P1Fzfb9Owzq+l0wW82g7jAxkRDAaZJSIWgjk3aStsayOTOat8CPBH+B75Wvbrt0Dv1gbJgiU4q+tDbtRLIuTFufqP9M1TvtuWOBgaMCBAsqywEEtUX6Bg1/MXyCuMIJA4EOes0Jau+1nWbVh4md5ou6TIRRxEXVuGYCqy0wSMJWYE/nNDMKtWoQRU3HHDDx/kD/PTxA/fbEuSnbWx3KiOn6ATr1RpuZPr1OJMCQgsEGdGwIPOrVuIZ3ODwh54Xh2hlbIATCCe6eBmk3SbIC8JH0pX0ALAygICNvzku09TwvDz65uw850ONLRW7oznAhAYIjwk4yN1eptUSFZMD09OdNg8CTTliEi+S0t+kQtFskPXr+jLOp3SCllUcnXtFvl1KMfNKMx0FiuFmYV3bzY7MzKL+yMirbER+/KM1RsnPX8Lo5s/+hxd2woKx/yz+GnP6q/Nnv9k5tXD153d+9tf35pq0HuNP7e/IyavPa7j9T7/7R0zghZHj22zwAV/xqB/wrZA25IVz2GMcFJrWnUajbTQAuDUwYLmL3gKY2CQ04ujcpxqJc441MYfUsoFiFDQSWopZlKuNAvUI+tXznIuZNffvP+Bw86crZdNBDTA888WUVmL6uaw8aK6P4f4T5Pra6WPfzJVht9L7z14mHHu6+//QbO0HRt7I1aukPw2avWdVZKDS7q98lmgZIDHAI9X/O6TspoSv1bOFUEirw2JGOv8+voRPLK4l5Pj+SfL33imcUlSz2YheJ72Kbrmx159Z43+p3IagFEnZMNFLxx6bxx+I3UYrGlUpvgjdEJsgXsXjlJQ8EtUPjvvJFidaY/nK3GjWAoKIfyC2PCFQwiqSe/uvj+x1MsztrdrcyT1y+bSx5f9uj8P3qwDdrRgXl/nt4TV/xcu+yFfc/vCpza9s6e3QdiOBYLvnggGXpFQommBCE6anLS1JQEc1nUkpCSQBw0IQFk2VumYmrrJTCNr5puLs801mlJj0h3UjGgRXCVc1TIMdAWySLO+Tm01Z7l9enSpqdH/WXkoG0bHlhgxStktgdz0SCwLeRXvp71579m5exvlUGPPfn4wiWaDIMAtJucDl6RmaVZPR6FEApUEoKkXrMQohkk9GBZVPHYoUTbINC52bRRF/NnIjssEJwrbEgoBJ7kNP+hdufO3W8++nCXP/Sv6I02+qe6EfRPE8vKDr/ZanvK6NFl2jq0n3tYP8GvHLgFusOUSOccktVFKs6ypOe72ySC5E5Mz5J79sgwGG7tI+o5X8uUQru9sFSss/hatuzaJ9rSkUN6R3PsvrzeUV9yg8SbL3don5onZ7GdRq+ShtqyWUgVeyfM92nbNdmx1ey4/Wg/enwN2ZzYslb/o6sL6/dmUkbtyYKc8l7DD+zax9/lZ//3uzkP5nUu7Tnovi8+yLsniSctfPStvfcs3n739LvvG/Pe3feMvZdVzgkGxxa/dNiQV5KdvWHF3vf+tHLsomRPtH2XQa2zXnxgx9tW5Topr5x4Z1nn4bTXuAc+vn/ag5rcagDYNNkDXrXmRbBbjUYTmPw+u+g+kUqjbocZ0ORVg7TGhibFb6h5dR13aj5BUXcsWjjZtNp7Hli56OJFi73dS1NwOamZ/dir79efFeY/bfj9FYP5fXp+vA4AN0rXtJ6dwkiGCRggOh3WdCVPIcOVScos5TnlFeUz5ZKiKMSOAo0SsV6qOfAmBMI0voFnxcWLP/eMdOnZs0ukJ6vErJIePUpu7dlTne/GAu7R5rNAgtiRa+02mYSzUZSkRNFj4kh35Dn6O4Y7ljqec5x0fOYw2qjDYAfBA4ipgmpMWvTQWmiaV93xWBSNL+3Ra9XF10obMOGexD2uLez09dSXtimjm3DS+b9Q2zcX6yGEypLNIiRAmaSYRFFuMyiMmYgZiF2OSeGm9oeGuqBIT5T06lzBRfOwH9p5dzzDa/kzc77+2kLKNuMYnlW/EM+P5/NkT73xQ2iYH9UYQcEXMQKixAhojNbojHFY5aqAicErsrCxIJRGginJbgBUVQZNyTQr02M1Oc32FKEwLSSn4Jzf6Wg0dlGeO29O81zFv1Ahv6ZA4l0Phw2PWHntiLGPz7q4O2Bp+8q9cON2R/vtU99+/eLIsQtnkS2zql79e/0ZVrms/6CtlXcdO1Gfp/7tpVeb9Fvg64b2kQQNUzCBxysQVRF0Osz2X1fv30BN1+2nn1BRyd/9AD6p6va2k7HpNcXW/XaVmNMCXm2dUHGCAj6/SQQSk4PaS6PU96v1urrNV6A6Z0BHoIVT3aFkVfybq+u/m42e699jQt1ZTMYEfmHlPJIjYur7i1H+K1qxLT/Or/E5OAtnHtbiPvewFRrNLaAk0iJBXblT0pyKM5BBzWCziZBvE7qtJENyU2iLMSCeA2EttIWCPo0BPn+4UC+TUXjlRvdFznzwoM12cZ8h0TLxk5NfXuRXF8+ZveyRudWe1YvTeCe5S/q0Gi0DEPjSPZt2BN99/djf9uzX+CTwHCjwNAs8I5EWaT6alJRosifaMwJJyX57us/icimlUZfDAqVRS3xgKxb4NkNUS510cTn8sXgsUC4KC9yF3w3KZNjKOfNWPjb30Imvak+Oe6GrIelQrYFax9W89NesEzuOvcHn7cVctIlX+76Dl/18ED9sMyrphZgOUTWuCAlFHKoOEZNL6LnV5JVAKHh+SXF8Oo1q4IrXGnKmV1t/fuGSVy7uTrcUvcrGms5adq+o38cqD41+UB1/lMh/lorxA2o9boJkJ8hOn6ixhU15PIm9oh4HNZQJpfnNelwOxjyR2EUU5XhT9BRBSBTjdGntJ+fmH6o5027iqP0Lzh85tLX8tUf2jHx+4aO3YqeNf+1+fEh161tuze6z8qEnn+n/ap/xHcpKCgZP1f1D6EYt+V4qAy90FnvvFre6YGtyMr/Pao8YXRa7aM4T8VOGuPxRDY5aA158E06WlqIFRT0dLCjBsFctW0Ri1GPQoNDMbnz76o0Vy7ATP3LHluRXnX4cQQaOG/TNle312+4YoOPxrLCpCawSPNAu4ken02M2eAw+L5FcRjt4JVtpY+otqrt4JY5LuMV/da0VH+iOgKX96w++8/a34yatXFS7rO/gY8fJ6fpBs2a9+j4JXd/aUEuWiTnNwordQuqoJjEmSes4skvgVUXfkAc0zKUV02G1ikbcxO+6+nlHi8HY+fNrfAirrK/aOKZsH6kWo2s0eQDkqWL8VOgSCaSC3+1iBsWWnGIyMqPNnyKlp4HVTw1eYzKjLpE2+cPi369V8wGaTYNEobHZ1Vo+4E7DGB4svDSph7Fjxgpex9/9fkk7j2xqZa9B8rw9lxnsRUtr+TEiQmUO/2FyPRdYfvbuU73fzCOl9Xvav3vLzHMk0IBvIgDrp/EjHEkSkUkiaDIDSrJilgVPqJmh3WD2/kZFLwJUcmNJ/yxfgpY6jia+GBfwK/ySKBCukAKSyquwuv6L+uMCYpQmA+5hfTS5izk9JmYwIgAz2pnPyzxeA9gtTuEbYhFazHtzreUM6PwQXCCxHfgSRPg87DQY213gPDSHn+7Xp6DHlp6tBOFL5j9U9AxZfz2Zv+jcYzkyTp2/BwBdxCqban7CFGNDzS/qPbtW85dF0Qu/X/PTRXV/I3n1P1Jv/TkSXkatOzbVyzpvc0W9/bW2ttMzEjInuIhN8XpTSEIKTUt1EmKns+hS+grdT09SmVJTQqLZpFXiWsuNeIvLo/VMukOgQNV04QqE3XlFbub1iXef3yv8AxbxKwuqz5yZcs/582Onfnkc0/fsv3MoFm1YsVO6vZJ/dDRkyXyHf1g5kOwia19S8cMzPJ0skR1aHyNR+xgpgN40qE8n3Cye2bFDdly1N9JzXNCTptGT7GJ+m6KoewG0RbolOdmeNCtpadIrSfuTTibJSUluoeDu36In7BT+QxIFZ0EXVAkqKsgWN9HDm69RFPYKX4snj54dPn78zPN3Tvzs0KyqmXM8G5aTXXjbXSjPmOu1hI5iq8rbpZ1rt/LPxwzcf8fdej8h6cTa03HgFdEn0y5KFZtMnU5zZRScDicxUqcckdWtfzldLpEnyUzWtv5Vz6aWVeBIOOx4u2ExIUOgp+X1vth2o9iWzsY++TM7j17d7aHB1dEOVR3vXda1auAssuPWzvvvT8oq6tJx36T0YBHoPRvCILayYUC1vUUXIybBZacDwKq3r8daJ25uXxcrdgHUMk69qDiwNcwvYuC2PmXl5WVlfcm8OoN0S59+/Xv3HDgAEDaLOHNFOi50rE+klY2YieQzSAZHimilkggR7SxAHIQ4KGGJNnffqPkpEQwtilimGZqvWtcRler4ykfv3tA7qonYfY91UutFr8YHenb6og0nj73z92fXVJcuH7d88VNP3LbgD991kg4eS8eEaxzTWmzZKHXe22nfgYPb07IAoQyADZLegVS4I9I2yWA2++1uYnS4/Qlyepo5ITGhf9RgT0QzTUx0AUgCZ8Vtd9n7RV0J+ppwfOkb34im6VJjdE5FEYDUfWpxE2rVWUSlsFAtsv3g6+UbHzmBS/jUbhXk8vUfRg3bu/cL6Z3Knb3OXn55552zc08eSpv7wO6XEfb+Q5XbNCQsmW2CZAiJDD4rw5YCQCSjxSZQTjK1amm0qB+IZBCt3XYlXRQ1VAGh4Yfz/fE+wt2hKFTkV8N2kV8RVYTiV0JqVFdCRdlFGi/16nBPZN6M6jFTp44St5KSOdPnjZ7yWLR6enWk5vFhIx9/fOTQhWLHaty86XNKulZPmzdm6vRRc6bP6dx51vQ5ox8cNW/eKAGj+xsXAKsS9umDOyNhUBzUbLZoeLu8SoJfdrldFeqmvztdcJ+63RavyWa3VUQVu92CXtnS0O0X43CM3fH81vrtjRjWY714iaME2kv8hZRh18t88hf8S0zkX37Oz2MyP/8v/tAVmkrW1htWr1t7+fLadavJVc024nyPApkRoZ+SxJjRQBllalOlQEU96hDXy4Rq0hfzSKpPqrvAe9b9W7OzqTd+oAvlIORCMfSNtOngz05uC04pP7GIApXM/sTkgKFTR5pY5MlvLacZDPbeUQOmZfaOpsWlX80b0GMiLCyK2aHaYhBLvlDIUq8K9R0TPUUjReo2ibZ7YsM5fXsvP/u3OzeP7vHgw50PTnz8lVWLFtW+/4/5fd8acLH1mJFL/th5d7sJiyc8+lxhTxqqqM65fc2c5RmtN+YnTSjsH+7xzIRXoxVLn3yh12stw9U5hYXZRUOnjcwt7XFL13tuu6fAcScQzJIIXSXVavuHaRGLxSWDCxIT7NRrhLxmR1biqtisuM+Y1b1dQUmkQ7vuuFB8inQLt+suTe9S1KWoINKxk3ovLOkIQNW9JbmH8DE+yIZCUSO2pPa89JDfaPf406VbigBcDrVlNFm2W9Itz1moxRIMJ7OcoLthW31o88MMKlaqQ2lyrA35LXbQG3q8HqK2DAqmulg4P9PV0PtDqyY9fP/MosfaTn34yJlPDj/xeNfxdfOP4bB31esg3/j+Sb7x0My/YGbNFsx88S/87Is1/LOXmenPT654Ns37bPg/n/7z/0qXFvFT2nf4xneP8M3vn8Qhb2/h52pewsBfajCrZjP/RNWrYkrICuko+CEAxZFUMwYC/mRFcfppMCNgNrtTEYA5GGE2NxOk/mPo4bBmP802hEINS8MlWi0Ta8tyaucZwmqFQ4KpbR/qNXlyTc19PXsOebjwqSVPPMF5rwkj7ryL2kYWFd47fpyIVGVlt0wtrariXfFWEmk/uLIyR8WxEsaxAP0cZLCqZ6SobLISZjYamVVmNrtFMiDkCcfUvKMH/UZUMEu/VeKYGn4Bk2r4BjyId9eotlvD15P2uG0Y38g3jcRXkpo+gh5nEUSczQFJrZ9QNWMZGaOV0TyGLNZOd7ixDwC1nTzWfnvd5/QUAs7YDjduNPTWC9V1AABr0DNtbzULCmBoJMyMZpvVAg6Hs21atk+4MqcvTS4qtAO4rHZnupM4nUmGmP5l5Cex1hnNlK6ZQH5t41XyKO4g1Xaw832/p3+ktmef8t79u+Patd+efmvImyhv3Xj9s99VQEpKu5YVV73UhU/FIXwzXfA4P/K7GqjujVyTPUyWd2t7IyDhL/ZGmHz9MrPInk1AYAItJlzwzwIJ6g6PW7aCDEmJDqOPqvp5ON4puJscQVuMj0YT9i16Yt9bjw9eO3jt2D59xo4rKxvH5iw49NYTi978w5po6bh7epWPHafnNyNA6AD7HMx6v5t2esNiR4NZcjos1sqoxRU7xfFc3CkO4W1/8yCHSKjjD3PwKfQUWbMdV/N7xYEOzkUDpr6PJbRms9abHIq4ZaeXEIuorRP8Rls68XqxBajyjysbtFka2iIbuiJlOwbI5volF6Z1jYSH3j9s0ZbHV9+1cBEuIX0WfP7A+E4dCgfPmD53yu2rZ83Rcl9STDaKOYPCE6T7wSGDbHanUTkrU0TSdA+Kfx6PMSmQbjMGGjVwsnhv1u0vgkdcaa92+ufftF9E5g3oP2z4nr+ufGRZ1WtHp967u+ctxSOLB3ZePmr+M+yL24aHvBP7znqiyzP9F1TNm9PhlpZZU9p2mtlsX0yCX+yLiXyoKOC1oYLji2cE0dnhZC92JrH05c7ezgcKAFBbX5rGKiEBOkVSTZJkcILX6/MZkhKdZpvstxu9vmQbEYtMDRV5846YGIWxUjyo1+ehoKDXqa02frz8idpdGdZ2S8ct7s+ocvEibq7Ty/IVtw8ckrI9k78ld9HlO5nXsemyB+yQG/EiMAkkM3U6UDIYbJKN3ha1QV5D4nyTlINO9aWffysMB9j0hfsXdhn4P8c//or04HXyrJ/n0LDr2nVkXD+rQ4pxKx2vxtCISTurQ40DojR2uKfRSpp3TZPTcWd1gHtQ7f50Clz9dosJQLJQt8tij5htZXa7TSHJAlu9/eMmXD2x2lWYXagoLPQCt/CT3YoKexaWvDZwTauKIfyHT+0LbYHcOxI3D/YOV+caKPTeo/XpZKjnatTeJLSYFSO2YMY0VekaFkn8OjNKUD1YkxUmnj1UcuY9NBgTXxRDwD13utpEHzil2XBnSshJ6ajKA7UrQz0vBLLII4A6KKFeo+Y4hsZ7jvjiRIpzHOTkK8+s2vbq2jXbuKPf4MH91IuN2bRv//N/2fPm5kkTJ06aPGGCNmdFXMwSc5qNjABViMko2+wGRIukhqy8/DhuGTFkxCKU9BsL8LU1anpZg/fwznxdDSbxCzU4lvj5gJF4Fw4bxiuSmj6CGmtuBZDbSzsdIThNNgM4smHmV+BU4B/0rvpdYHyNEqfIfwsKVNi2ArYsBlutw36swj5INwpYZTtxqKCgjVskYMdJ72iwVwVsSIy4on6XU4ZpJhDjElT0cYFAEZ9OV7FhWl1RFslOyYBkxe1OzqCtWjK/H5IdycRMk5MdWVnpA6JZett3RvOtv1+0fKsVjw1juZRfl42wdrUAcseJiiyqHPtol/vvG1JTWfnJeye/aj1oyrAul5rKypLxqypGjbqt37Ci7Ncm7v9L7ynjhpSP7J+LkVitKWjV+puVqa5syASVH91v/BsrwfAaSZSyIUeQ+CswD8GW34U5Ap10mJTmMGWNMEchV4dJaA7TpRFmPJQKGNMOSrI0oIJGGGMMRoa3B03QpJ1JNaloe0gcQD6t9U274e5Ioex2O50mmw0NwCQJ0OJwSV6PSfQCm0woO0SvksOBsuQyumXRlCZTtMX36kI41iUQ3+LatKHY1L1Lg9jYwavukcqn6z7khr1XyGaWV3+EeOprSafrRfjsTK3ZO9bUi2vJHI32Gdyj9k0LurIBHAo8Qmza37X+Yo23LWMy2qXxDb1NfGsO8xD0+12YIzd+1mESmsN0aYQZD0zjP8FAA/9vXAPAf2njtNHx4U/p41ibxnkNgKyNg3noRu/mMDdeFzC74mCO8A90GEfTOChgpmj46DDj+ScxfBJ1fPTz+dIwracrAXpFsqzgMvh8DJjsYUmJXlkRPecuRWFGo1M0YlLmi28A1wTa7ChqUzu4WG3QW8JJDmpSFX3hw7S+8EnLl+M+vFN0hv98+QiG+Yk/EZfoDl/DZ5FJx8gsvoBvQoZG3vsYHxLjq1St6X77mO5v12lNaqJV6x/V+JGv8xWm6/YR+G2YhzD0uzBHYI8Ok9kcpqwR5ihs1WFaNIfp0ggzHo7HbDE3xnuEarQxG1sDZkiJ2JFKilFdY86D4UAAEvOGxg7fCBdv1AoTo8D3Hb6nCsuwdxXfhT1n8l18bxU5jaWz+B4sncl38t1VWCpAAIAKHHaIXtI6cEMyBKFfJFfU6unMk+KBFBNIBpNdysr0p/nSWSDR7jJIjFqtAbW/lCbe3BnZ/Dy6+I/ee6uv3TjFJ31Nh3YIoXoADD1+zG7sw/1w5bAlo/aqXaZH1w95cvQhXlG/c+SiD8/UbexHbrtrUUNL7oCFw546jDPUZtPKOXctPsqf+vzxuq23qg2nX1bTyk78G8FXvddRk88tMTkX6bqQ3MT75jAPwXe/C3MEFukwac1hujTCjIc1MfsJxftTtlcb59bYXIP1cVyxcWL9xMs0G/NCaSTLCVaj1lDs96ntzWB0GImFGo2yYmWC/VZZoWqvt95YHN/honvLm3qMw95wfJfxMv4Jv1hz6dIRtKCjPn3eGy9veHkTNXxxmZ+Udv74L+59bPGsmfqesaCNyOkQhq6RjCyQ0xNtbXLB5knPlQo6JGY52+d627csjbYHp78s6ry546v5rgc2RNx0TCPx60Ba42z8ESxtu1utJ1lV325DCnOLh9/1hzb/fG/fhI4bu7/Vc8b0cT163RaZP2nW/IuIlz5Hxs73mRfu2TElLZwd6TL8gV4vvNz1aFb71Z0H9+n96MCSewuK7giXDbj/3utT2bIDJ2qEzPR+Njkg5NFDi2/d14Jqme2cqjR+5flD5f/9+ZGvtOfhm55LVxqfH/239jzv5ue1jc/H/wSa1d/q1K2+CccNjTBv23SY1g0wQFUYeTcbC9nqaVOYGikJ2H0st4PPl1vgDQlwb1KuVHyLPZBpZbl9ooxlWjv4ekc7dMi0OtuXRa2KEJrVkZbQK5rZqiyalulTexSE+MR7TKfib8W/1ugjcv0SIbZghl6J+Qv1hiqXetRMP5KmvRd5wrGGPlQ7rDpkD/nx573vLNncZ/Cp0f8Z/fD//v1y/S0mDO5+edBLExef6T7swLIX3ri8+dGnFqx/im56oNqIZ6Zh55f/apDLD1Zuzmu/fj3/8d+z+LYK0Xo1YWLVsB3r1y+bJfr9RhLnokV/XKnxT+ypq710gn+leqzHMdrftV4yTXZluuxf0WST1SCb5s8fGvHfnx8B7XnLm55LtY3Px8fk1r5JtjfeAMA/a2McjMX3AQBa7HY2+pUNAOSPTTAivuc3h7mhwjwbB3OE/02HcTTBfClgBmv46DDjubjr8T2GUaxPQw5oOXZFJMeSkgIZMsgOd4LUqqUv0WlzSH673aP6n/ReUaOR+j1Is3o17sS/3eCF1PXv+CjQ2M8B2jlff1G2FgxCRT4tFLhoh6Y9ElbFv71+kf8vyp/88w+GLi9cG/zeoAEDFz/05eC9a577fnX16vkrF66cT4r41/w9dJz/Eq2T2JsbVs2b3ilnecmAJ+ZMXszn8q9nrdr07NqNO7U6Q+950exwgG6HAY07KfGyqtL4V6nrwhuaLNN/6/lDk/778yMW7XnGTc+1+Sv1+W9oz9Nufl7b+Hy8S9eVnDgbHwG1rD3Tf88pGTpEknwOEwPKHCw1RbEmuq1u7VhuHopbnrYtpf4AUNzyXexgbvyp5rjPI8QZ4DUlkc6RHsW3dm+4kxnbt/O6SK+ykpI+vUjDB1DxETjvZlVskZYvZED/SFstX0jxpIBHzxdccmawWcKQWCr27WhA7ff5/YQh2JgwxDaBYomCLGmJQwutE+ip8eULKp9Ez/WnpvR8vN+CurNZuODWP4h2oHCAVxUOwgS9L6h4wpBp69GotgaVjLnr/jU3YMFAkhc6vGtGZf1HAU1HtH4KTYaDdR3YpemILqPmz7XYvQjiIH51jCO6ngVuGkOqbXw+PqRbYOs4f6/t72tj3KXrWih+llgvk9afGFCjcbpscXmTmN3ucAgxWrxG6gRHMvUJHjuMqaVR42816vp1oxTeurGPOR21XSI7Sg39TGJXGVd0fn7837/6+sTZSTaDfPGiQjHxSdHQxGfSA4P68w/4j2or89Nld/EiA/DKJ5KTN23Pevd1nLPvjSZ6pNpGesa/24zmhp47Vhnfc2f/1Z47ARM7/6UkSyfAA+kwKJJnBbvbnZogg+xMZYEWdpd6UhjNZlFamql+KAxFsYlumixy1YaKpHkva/PjFnLjecqmSjPWRlXkzFaS694bO4G/xV/AwVgydRjtWP8WSa4/TyLX+fv//Mf7cwZWeLTjUONwvl8vP1kB/4b/KF5fBRlk6TZUq5SLuJ0KrUTknhTpbCWZuR5PZlt3mqK4kzJZfnsrYaZcj+htzk3JJQ6am8tM9taiw8hkCqnNc+DvFQXGhEkxn77d21BIx2eDzaO2HrOlFiE5kKF3P/vUiA3xLdAYtzqVpQdr6Vn+5aK5/HIt/wpdP814r1v11XMI9Wnmp9eN3TJi4CvXe1UvX1I9d9nSOSxx4gIz/ucxz8GDWIhGdGDOqBEH+U9fzdq0RTRKtwySkjcP7t/71v597y1aNP8pAIQv2Bl6Xg6ARd3tNxoIWJhEJAu1WYlxtgSQl590Ir/Z5lB2SFaCBYVFAdHFQUtn3nvPI8/uL0FWcoCd6X3fPX0T37534oFEIDiCfUQ7yRu0339oHfFZwCXLkOC3P2BEuzHdmGekRg9V182G/uZinRKLUIIntFP1/ffPnjVh3IJ5t7bNu/W+trdKe8fOqhp7d9WjY/OLi/PHF6n01Io5uXQFvJAfSXC5FYPb4Pc5QDKDeM1yL3UT92wD5CW9N1TbqxUTxs+c0VZYpBJUrTONCIUL25AaWg/o1ydjQMojluqxOZX9emf0T66y/JGdCeYEpy5arr7PXx37vSw8SreSefqZEJAYoCAu7jeXKuldeHTfvgZY5b/CKk2wifQATtXOwPgjRlQUyWgA1vDrXfqab6jQpf6mWJbFM7ZwSySLHvDdjklTbsBP8d+Xte/LMjMoTBbff7vx+6j/9AWOsRfM3NIzXdrpO8V/wMA/AOCXv0kl0f/v36QiKg7Uo+FgU1eCFStIVDJbmcMu24jWQhSnZgKhQrcgJ5ilkxXE3QVVAq+veaVO39f0o+Po4f9zooHMZnNYtTks6hwmC7PbTFT/9YK3b5pDx1aKIT1VI/1L3FYw82WBvPQnnQUaJ+wX1PFz+FXaCr6L7Vv6bh4/jiE3k5J18zQLima83C3zK9zWbrZ6/+if/P+Q/eAXrBI3nd/VeIrMYjKYwb0z9nNckHfi19b3q+c+MmPe/Icfnk9qn3hq2cIFK5dpugXjyDBtrTohYqIyYbKQmISQd7jpFz5+sYsav3MKCBU3jQFAmBgDpfgxYgvcZNivr2ZrtPDpAGSpdvYrKWKmICEhjUe/UPMo+fqvgpGldTVv0SGNR7+AgIP0IR9Ke8EETugSaWFENCvMKYOgx+1CSZKNse1UhbawKbHdBMF+UX7HNQfFtlm0vg91xkBBhyLZjuTDqrf4w7h4bxU/JHfIXEmubds2i3SvP7F95JhxhWc0vRd5wzzpCGTD5Eg3CzUYfOk0WTI5E5JTM5WWITk1LbUiSu1p6Wl5afvTmJGm+Y0J/oSKqIX60UP9fndGBvSNZihuW9+oO7H5qng4di5YfMxvWqDzx5xshtYTpHhFGNTrOSFvCIkFu1BBkXgvBK31gKYveS0Nj/FWhOAaPiOCbZauqt76H3667ZrHCXl8VTbm/3Ds2YHrGK/Zsi63KLSWH+tyvDMarq3Nyuq67jqmDX6jHOD/AT7GoAUAAHgBY2BkYGBglJx16I6ITzy/zVcGeQ4GEDj59kYSjP5X/k+EfR17MVAtBwMTSBQAjHkOGwB4AWNgZGDg6P27Akgy/Cv/V82+DiiCCq4BAJShBr4AAHgBbZE/SFtRGMXPu/e770lxEAlIhtBBgoOkGUIRsSEgDiFkkBCkOJQQwkMKEiQUydBJgkgnETqEIB2CvKkIbZfWJXOHDp2kQweRLBmKlFKC+HrupZZUDPw4L9+fx/fOmYL7QRKAsjxGR79ExywiK4do+peomhFq3hU66gAVkpc6SuzV1DwK6ghFlePOQ8yw9pR0ySbZIAvkBXlGSq7Pup1XyyjYd5DQqn6DmSCLpikBpoiBmUXbfMdAdskq/39B21cYqB3SiBsmxfoGBkEdA3+NlNGWEZy6XoiG7CNlfuC9jIHgENNUkTNAulhVfXTtzdSclJHSzfhazrzn0uft14j0L4TUUHoI1RDz0sKcSSBSK+iqlXhfjtxzFJwgsnW5sPNU7ugW9y9R12kssHcsRcA/QEK2kJQSoL9iTc8hI1veufpN5fffes/nE1L869usnRGFFm9L+xEa6grLvKXidui9rQnisd7GtqsNkSMZ+y30ITJ57Fi/vY8A61U9jTz31/0+npBHZIneL1nf7yMoxzc2C5vDBMwhHjOLd9QPVM+cI3ubw114155Vm8UkLoufzLaKyPp+H0ESmy6L3v8wg0/0v0e1DOUbwn853IW+WLVZTGKzcJlRXZav0Q7ecv4zLuTYq1FHAlSmiPcKSYtKo6AzSDpOsagV9tQpKmTde3CzS49neHfhD8wwzYoAeAEc0rlPK1cUx/H7Chqn4I2UInXikGDpJZJjyXgwHQJExS6SkD+COt2scu9N84CR2FdXLBZbiqFI9Kw3RQr+CaoUKXPzm2/hj46Oz5xz5t4xxrwz5hs59vdXxpRK/5gxU7bbsm4mZQNdbJov5awdyDkbynlcwEWbySVcxhXyq8RrxOvEG7iJHrN8DDDECGNMmbtPhwOmH+IRHuMJnuIZled4gZd4hdd4g7d4h0O8xwd2e8QnfMYX/VsqzkfqfGQDXdT5SJ2PnKNyHhdQ5yOXcBlXyK8SrxGvE2/gJnrM8jHAECOMMWXuPh0OmH6IR3iMJ3iKZ1Se4wVe4hVe4w3e4h0O8R4f2O0Rn/C5kPP5wnwwQzNuJmwiK1jFGtbttpyyr7JhQ+liE1vUtLGDXexhHxP8SIcd3MU9TOmTqea9Zg2MU2wiK1jFGmoTqU2kNpEuNrFFTRs72MUe9jFBbSJ3cBf3MC36sEnZjNltWcIJ+yor+OFdSVaJa1inpmEH0kXtI1v828YOdrGHfUwwpT4j/kS3z/JbM24H0sGyfZV1m8mGfZMuTpNvEs+gR8bHAEOMMMaUyhGdczlRvKOsYBVr2MI2drCLPexjgpn8rthZOlgmo52ldpYuTpNvEs+gR8bHAEOMMMaUyhGdc/m9vtvfzaQmhtLBr/WbLOZKD30MMMQIYxzxVC5/KE5AVrCKNWxhGzvYxR72McFM/qgvZ0uWcIJMBatYwzpO2TfZIHaxaTPZIm5jB7vYwz4m+JEOO7iLe5jSJ6PmE5t8ltXidqSDOiWp25G6HeniNPkm8Qx6ZHwMMMQIY0ypHNE5lz+Z8f/+lQ6WbSLVWaqn9Mj4GGCIEcY44tlc1orNpYPaXGpzqc2li+ovm8Qz6JHxMcAQI4wxpXJE51zWNSuU74kdYn1Xsmy3pe5UVrCKNaxTM2u35ByV87iAi7hkE7mMK2RWideI14k3mLhJ/DOdf8FfcQt/YzePp3wMMMQIY2xR38YOdrGHfUxwn/oD9j/EIzzGEzzFMyrP8QIv8Qqv8QZv8Q6HeI8PvN0jPuEz/sEmGb5Q+Sdv+heOOJlcTumOXqWDZfsmPfQxwBAjjHFEfS4b6pBIB3W/smwHcsK+yQpWsYazPDWH87iAi/y7hMu4Qn6VeI14nXgDN9Fjlo8BhhhhjC0q29jBLvawjwnuM+UAD/EIj/EET/EMz/ECL/EKr/EGb/EOh3iPD0x8xCd8xgxfqBlxqrn8n4M6qAEAAEAg1Ovs38uNCjyIc5zjHOc4xznOcY5znOMc5zjHOc5xjnOc4xznOMc5znGOc5zjHOc4xznOcY5znOMc5zjHOc5xjnOc4xznOMc5znGOc5zjHOc4xznOcY5znOMc53lpXpqX5qUZYAaYAWaAGWAGmAHOYX3rNAxFYQD2ksUb78BCxigbZQohsFGFUp6EjarsacpI7xNNtAywGZkX4R3Cybd8+uV7fa6Lrn1m7bu5ydcvnGK8r3BajvphkSWWWRkPwyqXWOOK0eifw1WuOb4ub8ib8tb4PtyWW87ateIe93nAQx6xbWaHXfbY54BDHlvrhKc84zkveMkrXvOGt7zjAx/5xGe+8JVv7uKdH/ykZ5t8m/Pj+n/D+ckuCIssscw2O+yyxz4HHPIrXNDDV6L3+AtTZszDxaTAlPFPCetssMmW0ZGcyXlYTQrJTJgyYx7W1KwlKaNmWGeDTbaMjuRMzsPlqLkTpsz+OaiT1FZiKAyjcy3s2bxASFQOAdurc1p3M3d47JlAa8qvMzkUor5CXIrLHp/GN2NhY4/PYxvEGeesXHDDLXfc88AjTzzzwitvvPMRX8YdYmFjj6/jPBY29ljHeSzMHOKSK66H5lDNoWqrdko7LEwbl1xxzdFO2kk7ad8ywxoLszPjP844539vVs8LbvjBT37xmz/85ZY77nngkSeeeeGVN975YHPDHt/HvxQLG3v847gOTACIYRCKzpkYOoyTF94AHv7AfepgGSzjpTdeesM/4wvjhTa+M95pK7VSK7VSK7VSK7VSKxVXiivFleI+cZ+4T7AHe7AHe7AHe7AHe7AHe7AH+2l4Gp6Gp+FpeBqehqfhafj8y7VAa4GWe8u9tUDLwGXgWqC1QGuB1gItQ5Yhy5BlyDJkGbIMWQu0HFULtBbo57hekTOAYRgMHt621PRBeuJ/ZonhpyUBGYZhGIZhGIZhGIZhGIZhGIZhGIZhGIZhGIZhGIZhGIZhWIZlWIZlWIZlWIZlWIZlWIZlWIZlWIZlWIZlWIZlWIZlOIZjOIZjOIZjOIZjOIZjOIZjOIZjOIZjOIZjOIZjOIZjCEMYwhCGMIQhDGEIQxjCEIYwhCEMYQhDGMIQhjCEoQxlKEMZylCGMpShDGUoQxnKUIYylKEMZShDGcpQhi+//mf9WX92n92n//Sf/tN/+k//6T/lb7Uf99f9c/+91g/HdW4CAAwDMHD/1vjDWTZwE1ylQqHW8JvhN8Nvht8Mvxl+M/xm+M3wm+E3w2+G3wy/GX4zVB96T1aykpWsZCUrWclKVrKSlaxkJStZyUpWsopVrGIVq1jFKlaxilWsYhWrWMUqVrGKVaxmNatZzWpWs5rVrGY1q1nNalazmtWsZjVrWMMa1rCGNaxhDWtYwxrWsIY1rGENa1jDWtaylrWsZS1rWcta1rKWtaxlLWtZy1rWso51rGMd61jHOtaxjnWsYx3rWMc61rGOdaznqZ+nfp76eernqZ+nfp76eernqZ+nfp/jOqYBAABAANS/g5rVjQL8OHUIIYQQQgghhBBCCCGEUEIJJZRQQgkllFBCCSWMMMIII4wwwggjjDDCCOfAjm0YhKIgCLp220AZe6JSxCQvIP5aNBcBRUD5U0dAaU6ak+akORFQBBQBRUARUAQUAUVAEVAEFAFFQBFQBBQBRUARUAQUAUVAaV1al9aldWldWpfWRUARUAQUAUVAEVAEFAFFQBFQBBQBRUARUAQUAUVAEVAEFAFFQBFQehsBRUAR0OyEsxPOTjjveV7yPl9ffu7fPdzTvdx3J5yd8H44rHMTAGAoimH7r5F/wZsyoFbg3o76Oernlp9bLl68ePHmzZs3Hz58+PDly5cvP378+PHw8Dj8OPw4/Dj8OPw4/GjzOZZjGoABEABg/rUADwEyJ7Ozpf3rhhtuuOGGG2644YYbbrrppptuuummm2666ZZbbrnllltuueWWW2677bbbbrvttttuu+2OO+6444477rjjjjvuuuuuu+6666677rrrnnvuueeee+6555577vPf9+PIjlEcCmIgCuZ7/9N0om42sTH4TP5UovBVJkbMM//Mj/l9ZjSjGc1oRjOa0YxmNKN5roZzNZz9f/b/2UXnajh7+1wNZ3uXWGKJJZZYYokllljiiCOOOOKII4444oj/Xkovf3Zv88eRHdMAAAAgDPNvjZkiqYUeHGwe8nnCp7ROaZ3SOqV1SuuU1imtU1pnJ2cnp7TOTk5pnZ2c0jo7Oe/3vN/zfs/7Pe/3vN9TWqe0Tmmd0jqldUrrlNYprVNap7ROaZ3SOqV1SuuU1imtU1qntE5pnfWb9Zv1m/Wb0hqf+MQnPvGJT3ziE5/4xCc+8YlPfOITn/jEJz7xiU984hOf+MQnPvGJT3ziE5/4xCc+8YlPfOITn/jEJz7xiU984vOO7KAGABiKQph/b588S8uqoSfCOb/n/J7ze87vqYlzfs/5Pef3NMU5v+f8nvN7zu85v+f8nvN7zu85v+f8nvN7WuOc3xjFKEYxilGMYhSjGMUoRjGKUYxiFKMYxShGMYpRjGIUoxjFKEYxilGMYhSjGMUoRjGKUYxiFKMYxShGMYpRjGIUozEaozEaozEaozEaozEaozEaozEaozEaozEaozEaozHaN3qNSL2AAAAAAAAAAAAAAAAAADQAWgDYAVYBzgJMAmYCkgLAAvIDIANCA1oDfAOaA9wEBARKBKYE7gU8BZgFvgYmBoYGvgb4ByAHSgdyB84IWAiYCPIJMglqCaIJ1AoiClQKagqSCswK6gsyC24LtAvyDEoMlgzoDQwNQA1yDcgOBA4yDmYOig6oDsoO9A8KDyoPig/eEBgQahDAEQIRnBHaEhISXBKcErQTDBNGE4YT2hQuFF4UrBTwFSoVWhWyFewWLBZgFrAWyBcaF2AXYBeSF+QYPBiYGO4ZFBmOGcQaQBqSGs4a8Br4G4IbmBvQHAwcRhyWHLYc/B0wHVIdiB2yHeweJh48HlIeaB7IHtoe7B7+HxAfIh80H44fmh+sH74f0B/iH/QgBiAYICogfCCOIKAgsiDEINYg6CEYIYIhlCGmIbghyiHcIiYikiKiIrIiwiLSIuQi9iOEI5AjoCOwI8Aj0iPkI/YkCCQaJIYkliSmJLYkxiTWJOglMCWYJagluiXKJdwl7CZEJlYmbibSJ1gnhifAJ/4oFCgqKEooaiiMKL4o7ikiKUIpZCmIKaYp5ipcAAAAAQAAANYARAAFAD8ABAACABAALwBcAAABAwCKAAMAAXgBLMavSsZQGMfx73Oec97tZX/YhkFEBGXgMCyJGAwmo0EMhl3AMIjRm9BbEGHgRZgFL8FLEDTYTIrl90kfYMduMADgkGvd6HjVAxkfurNvp3qkswc9UdqLvqK1Lz3jIix6zobv6gXbfquXjP6pV4zxTq85iL96wzqd6C15usKxuAZm0I2eRz1Q864753zrkd5mPbFpT/qKPXvTMxb703OG8KMXHPuRXjL5vV4xxS295jI+6w1dGvSWJp3xXzr5pbayw2D8W4oWkDgzeexbmpZSKL1wA313xu7E7fzD9hDSHXWX90PMwNDkHg7nYCRLHuUnRZYfEFBTMuULHg5CsfQtrQo9BlwQNerEU8E3ZYsCJdeK9hN6rhoNPL097YhBtVVqjw4GeAh1yOHLO3E2W6n64RJDfcryLduiLFfy1Pd142Xfx6GPNoe+M8A/RHkCBAdY7kktj5bgI9ENHIMG38nBdkkOvg3HvuHZv/CoMTLAItL19dhYGjsiKkU66gjBGvJbaQT35IXJLlFwYZcq3zkfZS3XVcj9GKjLoviLP/KmZSZoIzWx0eR48zGxSVKacsGf6evbdMLTeobfriqotpSsd+iUY2l/Qsh6v7pzq90UjbpwP+pppK6VlmnR05ig2So9ybCT/4ERUWMddTXPDX2z7EpIYiVH63xr46f07/PQ2M5Jay9y9BJ9HVL20TsJnVQ+Zsv9Y4whuVBldiyZW2Nwc3AXF7yYS+hLyAy+w4brrMvA/oBWE9Ko1TISp5yHu83mfD4bO5Ergk3Vt5s/x2Zc6Hv9nvSpdtPUGGW2aH6dOl8G73wKdcehMqfcMv4FYUqbprsbF+3KBHvuOya2jFPvx29WkKvx3cKgIDywguSdjNrcfPKyG2zFbfqyknm+t6b4384skhvtSs2vzbIIyoZlPWOPR7ziQL2ei1h2RJObPtabRgvwafPyvH98PTyut+bW+13MJa7f2vzE8B9HJlmiAAAAeAFtwcdvzQEAAODvdahSe++9V+09SmvvvVe9R43+6lev9opNCJFwItaF2DtiHBB7BcWBsx37yj/g+yQAf2Ni/qcQEQkSJUlWRIqiUhVTXJoSSiqltDLKKqe8CiqqpLIqqqqmuhpqqqW2Ouqqp74GGmqksSaaaqa5FlpqJV1rbbTVTnsddNRJZ1101U13PfTUS4be+siUpa9++htgoEEGG2KoYYYbYaRRRhtjrHHGm2CiSSabYqppppvhuMPW2+CaPd7baIdt9jnqSCTB1kiidXb74aft9trspne+2++Y337545AT7rnjpJmy7TTLA1F33ffEQ4889kHMc089c8ps3+xS6IWX5vjkiy3myjHPAvPlOiCwUJ5QvrhFCiz20RLLLLXcSitcdtBqq6yx1mdfXfHKaWe89tYbZ51z0SW3nHfBbZtcd8PVSFIkOSWem5OenpGZGhREw/zsIIymxYJ4mB/Pi4Y5QZiUFQ+Df7isa1R4AU2HO07zQBRG5/6TOEo1/hNhAX5c8wiNO4Y+UQrjeAgvc6U4kVLRU0x6aJDSBLEJao+77CEFC6BgARQswThUHOkcfd/grX2QhBRCQJjUBiCCflAE/Cr28HLs4jjex5Mzm3rHCe51K2w1KrR4hRfKQxW72JUdagKnhuSEHATv84LzTfqRfqV8M4Ik7uB57SiGo+SQPOmSI3foPwiypaB3AShAiE9RCW79A0YgGT2wR1awb9awGTw50IQ1vJZ3WRSpdau6VaZ9PTOwNL1s28HN1FhLw2g6m5QAL/nzasWGvjKn2cSEfq7MfT1sv3TYMNc6iuZ6sYi21NVa1/3D792d/wCGZUb6AAA=);
-}
-@font-face {
- font-family:'Work Sans';
- font-style:normal;
font-weight:400;
src: local('WorkSans'), url(data:application/x-font-woff;base64,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);
-}
-@font-face {
- font-family:'Open Sans';
- font-style:normal;
- font-weight:700;
- src: local('OpenSans-Bold'), url(data:application/x-font-woff;base64,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);
}
@font-face {
font-family:'Work Sans';
@@ -29,10 +11,22 @@
src: local('WorkSans-Light'), url(data:application/x-font-woff;base64,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);
}
@font-face {
+ font-family:'Work Sans';
+ font-style:normal;
+ font-weight:800;
+ src: local('WorkSans-Extrabold'), url(data:application/x-font-woff;base64,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);
+}
+@font-face {
+ font-family:'Work Sans';
+ font-style:normal;
+ font-weight:600;
+ src: local('WorkSans-Semibold'), url(data:application/x-font-woff;base64,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);
+}
+@font-face {
font-family:'Open Sans';
font-style:normal;
- font-weight:400;
- src: local('OpenSans'), url(data:application/x-font-woff;base64,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);
+ font-weight:700;
+ src: local('OpenSans-Bold'), url(data:application/x-font-woff;base64,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);
}
@font-face {
font-family:'Open Sans';
@@ -43,20 +37,26 @@
@font-face {
font-family:'Open Sans';
font-style:normal;
+ font-weight:400;
+ src: local('OpenSans'), url(data:application/x-font-woff;base64,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);
+}
+@font-face {
+ font-family:'Work Sans';
+ font-style:normal;
+ font-weight:700;
+ src: local('WorkSans-Bold'), url(data:application/x-font-woff;base64,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);
+}
+@font-face {
+ font-family:'Open Sans';
+ font-style:normal;
font-weight:800;
src: local('OpenSans-Extrabold'), url(data:application/x-font-woff;base64,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);
}
@font-face {
- font-family:'Work Sans';
+ font-family:'Open Sans';
font-style:normal;
font-weight:600;
- src: local('WorkSans-Semibold'), url(data:application/x-font-woff;base64,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);
-}
-@font-face {
- font-family:'Work Sans';
- font-style:normal;
- font-weight:800;
- src: local('WorkSans-Extrabold'), url(data:application/x-font-woff;base64,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);
+ src: local('OpenSans-Semibold'), url(data:application/x-font-woff;base64,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);
}
.siteforcePrmBody .cHeader .cBrandingLogo{
width: 140px !important;
diff --git a/force-app/main/default/staticresources/SNA_Demo1_sf_default_cdn_PqhAN/maintenance.html b/force-app/main/default/staticresources/SNA_Demo1_sf_default_cdn_PqhAN/maintenance.html
index 6084ac6..a2c097d 100644
--- a/force-app/main/default/staticresources/SNA_Demo1_sf_default_cdn_PqhAN/maintenance.html
+++ b/force-app/main/default/staticresources/SNA_Demo1_sf_default_cdn_PqhAN/maintenance.html
@@ -6,10 +6,10 @@
function launchModal(_ref){var id=_ref.id,titleLabel=_ref.titleLabel,contentLabel=_ref.contentLabel,buttonLabel=_ref.buttonLabel,callback=_ref.callback;var modalTemplate="<div id=\"".concat(id,"\">\n <section\n role=\"alertdialog\"\n tabindex=\"-1\"\n aria-labelledby=\"prompt-heading-id\"\n aria-describedby=\"prompt-message-wrapper\"\n class=\"slds-modal slds-fade-in-open slds-modal_prompt\"\n aria-modal=\"true\"\n style=\"color: rgb(62, 62, 60)\"\n >\n <div class=\"slds-modal__container\">\n <header class=\"slds-modal__header slds-theme_info slds-theme_alert-texture\">\n <h2 class=\"slds-text-heading_medium\">").concat(titleLabel,"</h2>\n </header>\n <div class=\"slds-modal__content slds-p-around_medium\">\n <p id=\"prompt-message-id\">").concat(contentLabel,"</p>\n </div>\n <footer class=\"slds-modal__footer slds-theme_default\">\n <button class=\"slds-button slds-button_neutral js-button\">").concat(buttonLabel,"</button>\n </footer>\n </div>\n </section>\n <div class=\"slds-backdrop slds-backdrop_open\"></div>\n </div>");var div=document.createElement("div");div.innerHTML=modalTemplate;div.querySelector(".js-button").addEventListener("click",callback);if(!document.body){document.createElement("body")}document.body.appendChild(div.querySelector("#".concat(id)))}window.onload=function(){if(!window.isBrowserSupportedByWebruntime){var WEBRUNTIME_UNSUPPORTED_BROWSER_MODAL_ID="webruntime-browser-not-supported-message";launchModal({id:WEBRUNTIME_UNSUPPORTED_BROWSER_MODAL_ID,titleLabel:"Your browser isn't supported",contentLabel:"Your browser doesn\u2019t support some features on this site. For the best experience, update your browser to the latest version, or switch to another browser.",buttonLabel:"Got It",callback:function callback(){var modal=document.querySelector("#".concat(WEBRUNTIME_UNSUPPORTED_BROWSER_MODAL_ID));document.body.removeChild(modal)}})}};window.document.addEventListener("client-error",function(error){if(error.detail.type==="FAILED_TO_LOAD_RESOURCE"){launchModal({id:"webruntime-client-error-failed-to-load-resource",titleLabel:"Oops!",contentLabel:"Something went wrong. Please try refreshing the app",buttonLabel:"Refresh",callback:function callback(){var url=new URL(window.location);url.searchParams.set("lwr.cachebust",new Date().getTime());window.location=url.href}})}else if(error.detail.type==="TOO_MANY_REQUESTS"){window.document.cookie="TooManyRequests=true;max-age=30;";window.location.reload()}});
</script>
- <script type="text/javascript" nonce="91d3615d-b247-476f-8a2a-c6ab721f5267">!function(){const e={documentCreateElement:Document.prototype.createElement,elementSetAttribute:Element.prototype.setAttribute,elementAttachShadow:Element.prototype.attachShadow,elementAppendChild:Element.prototype.appendChild,htmlelementAddEventListener:Element.prototype.addEventListener,iframeContentDocumentGet:Object.getOwnPropertyDescriptor(HTMLIFrameElement.prototype,"contentDocument").get,iframeContentWindowGet:Object.getOwnPropertyDescriptor(HTMLIFrameElement.prototype,"contentWindow").get};Object.freeze(e),Object.defineProperty(window,"originalDomApis",{writable:!1,value:e});const t=window.frames;Object.defineProperty(window,"frames",{get:function(){const e=[];for(let n=0;n<t.length;n++)try{t[n].frameElement.getRootNode().nodeType===Node.DOCUMENT_FRAGMENT_NODE||e.push(t[n])}catch(o){e.push(t[n])}return e.length===t.length?t:e}})}();</script>
- <script type="text/javascript" nonce="91d3615d-b247-476f-8a2a-c6ab721f5267">!function(){"use strict";window.isBrowserSupportedByWebruntime=function(){const n="performance"in window&&"mark"in window.performance,e="customElements"in window;return n&&e}()}();
+ <script type="text/javascript" nonce="d946dc1a-9311-4793-8cdf-ff3a0c75c9f2">!function(){const e={documentCreateElement:Document.prototype.createElement,elementSetAttribute:Element.prototype.setAttribute,elementAttachShadow:Element.prototype.attachShadow,elementAppendChild:Element.prototype.appendChild,htmlelementAddEventListener:Element.prototype.addEventListener,iframeContentDocumentGet:Object.getOwnPropertyDescriptor(HTMLIFrameElement.prototype,"contentDocument").get,iframeContentWindowGet:Object.getOwnPropertyDescriptor(HTMLIFrameElement.prototype,"contentWindow").get};Object.freeze(e),Object.defineProperty(window,"originalDomApis",{writable:!1,value:e});const t=window.frames;Object.defineProperty(window,"frames",{get:function(){const e=[];for(let n=0;n<t.length;n++)try{t[n].frameElement.getRootNode().nodeType===Node.DOCUMENT_FRAGMENT_NODE||e.push(t[n])}catch(o){e.push(t[n])}return e.length===t.length?t:e}})}();</script>
+ <script type="text/javascript" nonce="d946dc1a-9311-4793-8cdf-ff3a0c75c9f2">!function(){"use strict";window.isBrowserSupportedByWebruntime=function(){const n="performance"in window&&"mark"in window.performance,e="customElements"in window;return n&&e}()}();
</script>
- <script type="text/javascript" nonce="91d3615d-b247-476f-8a2a-c6ab721f5267">globalThis.LWR = globalThis.LWR || {};
+ <script type="text/javascript" nonce="d946dc1a-9311-4793-8cdf-ff3a0c75c9f2">globalThis.LWR = globalThis.LWR || {};
globalThis.LWR.customInit = (lwr) => {
LWR.define('@app/apexApiBasePath', [], function() { return "webruntime/api"; });
@@ -20,7 +20,7 @@
LWR.define('@app/isPreviewMode', [], function() { return false; });
LWR.define('@app/o11yApiEndpoint', [], function() { return "/services/data/v57.0/connect/proxy/ui-telemetry"; });
LWR.define('@app/o11yFalconEnabled', [], function() { return false; });
- LWR.define('@app/o11yGuestToken', [], function() { return "Y29yZS9wcm9kLzAwRDBsMDAwMDAwNENxQkVBVSxDT1JFLjAwRDBsMDAwMDAwNENxQi4xNjc1OTMxMjk5NzEyLDIwMjMtMDQtMjFUMDI6MTU6MjcuNDUzNDM0Wg\u003d\u003d.xYnvuUtITSO-jZO0su8O2jaMyhUIeTeso-DsUBeH81zLLXloBr93el_2CXRrR8FStYXdKPJ12g6z5aced5dMQg|{\"isGuestApiAccessEnabled\":false}"; });
+ LWR.define('@app/o11yGuestToken', [], function() { return "Y29yZS9wcm9kLzAwRDBsMDAwMDAwNENxQkVBVSxDT1JFLjAwRDBsMDAwMDAwNENxQi4xNjc5MzcwMjU2MDc2LDIwMjMtMDQtMjlUMDc6MTc6MTQuMzkwOTk0Wg\u003d\u003d.xloZRkywWgftKmAYKmy3-u2t-Pmkd4yCiwD_W8T4IOPUIxIrdhgrX0jOUnKQX88BiJ8XOyGotS0RvF6QkaVRFA|{\"isGuestApiAccessEnabled\":false}"; });
LWR.define('@app/o11ySamplingRate', [], function() { return 1.0; });
LWR.define('@app/publicApiBasePath', [], function() { return "webruntime/api/public"; });
LWR.define('@app/routes', [], function() { return [{"label":"Service Not Available","isPublic":true,"viewId":"ade687ac-f20d-466f-871e-e572909e9daf","hasVanityURL":false,"patterns":["\\/service-not-available\\/?"],"id":"067c4c82-e769-43df-bd08-8933d726358b","path":"/maintenance.html","view":"service_Not_Available","isRoot":true,"isDefault":true,"page":{"type":"comm__namedPage","attributes":{"name":"Service_Not_Available"}}}]; });
@@ -29,7 +29,7 @@
LWR.define('@salesforce/site/Id', [], function() { return "0DM0l000000085DGAQ"; });
lwr.initializeApp();
globalThis.process = { env: { NODE_ENV: "dev" } };};</script>
- <script type="text/javascript" nonce="91d3615d-b247-476f-8a2a-c6ab721f5267">globalThis.LWR = globalThis.LWR || {};
+ <script type="text/javascript" nonce="d946dc1a-9311-4793-8cdf-ff3a0c75c9f2">globalThis.LWR = globalThis.LWR || {};
Object.assign(globalThis.LWR, {
"bootstrapModule": "@lwrjs/app-service/communities_app/module/amd/v/0_8_14",
"autoBoot": false,
@@ -64,42 +64,42 @@
<script src="webruntime/framework/bc00fb7571/prod/lwr_bootstrap"></script>
<script src="webruntime/framework/af5a5d856d/prod/lwr_lwc"></script>
<script src="webruntime/framework/23e2eae4b4/prod/lwr_app"></script>
- <script type="text/javascript" nonce="91d3615d-b247-476f-8a2a-c6ab721f5267">LWR.define('lwc', ['lwc/v/2_31_2'], function(module) { return module; });</script>
- <script type="text/javascript" nonce="91d3615d-b247-476f-8a2a-c6ab721f5267">
+ <script type="text/javascript" nonce="d946dc1a-9311-4793-8cdf-ff3a0c75c9f2">LWR.define('lwc', ['lwc/v/2_31_2'], function(module) { return module; });</script>
+ <script type="text/javascript" nonce="d946dc1a-9311-4793-8cdf-ff3a0c75c9f2">
LWR.define('@app/authenticationCookieName', [], function() { return "__Secure-has-sid"; });
LWR.define('@app/isMobileAppMode', [], function() { return false; });
LWR.define('@app/loginPath', [], function() { return null; });
LWR.define('@app/user', [], function() { return {"isGuest":true,"id":null,"csrfToken":null}; });
LWR.define('@salesforce/community/basePath', [], function() { return ""; });</script>
- <script type="text/javascript" nonce="91d3615d-b247-476f-8a2a-c6ab721f5267">LWR.define('o11y/simple_collector/v/242_8_1', ['o11y/simple_collector'], function(module) { return module; });</script>
- <script type="text/javascript" nonce="91d3615d-b247-476f-8a2a-c6ab721f5267">LWR.define('o11y/collectors/v/242_8_1', ['o11y/collectors'], function(module) { return module; });</script>
- <script type="text/javascript" nonce="91d3615d-b247-476f-8a2a-c6ab721f5267">LWR.define('@app/apiBasePath/v/1', ['@app/apiBasePath'], function(module) { return module; });</script>
- <script type="text/javascript" nonce="91d3615d-b247-476f-8a2a-c6ab721f5267">LWR.define('@app/basePath/v/1', ['@app/basePath'], function(module) { return module; });</script>
- <script type="text/javascript" nonce="91d3615d-b247-476f-8a2a-c6ab721f5267">LWR.define('@app/o11yApiEndpoint/v/1', ['@app/o11yApiEndpoint'], function(module) { return module; });</script>
- <script type="text/javascript" nonce="91d3615d-b247-476f-8a2a-c6ab721f5267">LWR.define('@app/o11yFalconEnabled/v/1', ['@app/o11yFalconEnabled'], function(module) { return module; });</script>
- <script type="text/javascript" nonce="91d3615d-b247-476f-8a2a-c6ab721f5267">LWR.define('@app/o11yGuestToken/v/1', ['@app/o11yGuestToken'], function(module) { return module; });</script>
- <script type="text/javascript" nonce="91d3615d-b247-476f-8a2a-c6ab721f5267">LWR.define('@app/o11ySamplingRate/v/1', ['@app/o11ySamplingRate'], function(module) { return module; });</script>
- <script type="text/javascript" nonce="91d3615d-b247-476f-8a2a-c6ab721f5267">LWR.define('@salesforce/i18n/lang/v/1', ['@salesforce/i18n/lang'], function(module) { return module; });</script>
- <script type="text/javascript" nonce="91d3615d-b247-476f-8a2a-c6ab721f5267">LWR.define('@app/csrfToken/v/1', ['@app/csrfToken'], function(module) { return module; });</script>
- <script type="text/javascript" nonce="91d3615d-b247-476f-8a2a-c6ab721f5267">LWR.define('@app/user/v/1', ['@app/user'], function(module) { return module; });</script>
+ <script type="text/javascript" nonce="d946dc1a-9311-4793-8cdf-ff3a0c75c9f2">LWR.define('o11y/simple_collector/v/242_8_1', ['o11y/simple_collector'], function(module) { return module; });</script>
+ <script type="text/javascript" nonce="d946dc1a-9311-4793-8cdf-ff3a0c75c9f2">LWR.define('o11y/collectors/v/242_8_1', ['o11y/collectors'], function(module) { return module; });</script>
+ <script type="text/javascript" nonce="d946dc1a-9311-4793-8cdf-ff3a0c75c9f2">LWR.define('@app/apiBasePath/v/1', ['@app/apiBasePath'], function(module) { return module; });</script>
+ <script type="text/javascript" nonce="d946dc1a-9311-4793-8cdf-ff3a0c75c9f2">LWR.define('@app/basePath/v/1', ['@app/basePath'], function(module) { return module; });</script>
+ <script type="text/javascript" nonce="d946dc1a-9311-4793-8cdf-ff3a0c75c9f2">LWR.define('@app/o11yApiEndpoint/v/1', ['@app/o11yApiEndpoint'], function(module) { return module; });</script>
+ <script type="text/javascript" nonce="d946dc1a-9311-4793-8cdf-ff3a0c75c9f2">LWR.define('@app/o11yFalconEnabled/v/1', ['@app/o11yFalconEnabled'], function(module) { return module; });</script>
+ <script type="text/javascript" nonce="d946dc1a-9311-4793-8cdf-ff3a0c75c9f2">LWR.define('@app/o11yGuestToken/v/1', ['@app/o11yGuestToken'], function(module) { return module; });</script>
+ <script type="text/javascript" nonce="d946dc1a-9311-4793-8cdf-ff3a0c75c9f2">LWR.define('@app/o11ySamplingRate/v/1', ['@app/o11ySamplingRate'], function(module) { return module; });</script>
+ <script type="text/javascript" nonce="d946dc1a-9311-4793-8cdf-ff3a0c75c9f2">LWR.define('@salesforce/i18n/lang/v/1', ['@salesforce/i18n/lang'], function(module) { return module; });</script>
+ <script type="text/javascript" nonce="d946dc1a-9311-4793-8cdf-ff3a0c75c9f2">LWR.define('@app/csrfToken/v/1', ['@app/csrfToken'], function(module) { return module; });</script>
+ <script type="text/javascript" nonce="d946dc1a-9311-4793-8cdf-ff3a0c75c9f2">LWR.define('@app/user/v/1', ['@app/user'], function(module) { return module; });</script>
<script src="webruntime/view/967f56cf2c/prod/zh_CN/service_Not_Available"></script>
<script src="webruntime/view/1caf97ec72/prod/zh_CN/serviceNotAvailable"></script><style type="text/css" id="webruntime-branding">:root{--dxp-g-brand:rgb(1, 118, 211);--dxp-c-link-text-color:rgb(37, 116, 169);--dxp-c-link-text-color-hover:#1e5d88;--dxp-c-link-text-color-active:#1e5d88;--dxp-g-neutral-contrast-3:#fff;--dxp-s-body-font-family:Work Sans;--dxp-g-neutral-contrast-2:#000;--dxp-g-neutral:#ecebea;--dxp-g-neutral-contrast-1:#000;--dxp-g-root:rgb(255, 255, 255);--dxp-g-root-contrast-1:rgb(31, 31, 31);--dxp-g-root-contrast:rgb(51, 51, 51);--dxp-g-root-contrast-2:rgb(0, 0, 0);--dxp-g-root-contrast-3:rgb(0, 0, 0);--dxp-g-neutral-contrast:#000;--dxp-g-root-1:rgb(235, 235, 235);--dxp-g-root-2:rgb(194, 194, 194);--dxp-g-root-3:rgb(133, 133, 133);--dxp-g-brand-contrast-1:rgb(71, 71, 71);--dxp-g-brand-contrast:rgb(51, 51, 51);--dxp-g-neutral-3:rgb(118, 113, 107);--dxp-g-neutral-2:rgb(178, 174, 170);--dxp-g-brand-contrast-3:rgb(173, 173, 173);--dxp-g-brand-contrast-2:rgb(112, 112, 112);--dxp-g-neutral-1:rgb(217, 215, 213);--dxp-g-sna-heading-font-family:Open Sans;--dxp-g-brand-1:rgb(1, 95, 170);--dxp-g-brand-2:rgb(1, 50, 89);--dxp-g-brand-3:rgb(0, 0, 0);}</style>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Service Not Available</title>
-<link rel="stylesheet" href="assets/styles/styles.css?0DB0l0000001Z3M:62" />
+<link rel="stylesheet" href="assets/styles/styles.css?0DB0l0000001Z3M:73" />
<!-- webruntime-branding-shared stylesheets -->
-<link rel="stylesheet" href="assets/styles/salesforce-lightning-design-system.min.css?0DB0l0000001Z3M:62" />
-<link rel="stylesheet" href="assets/styles/dxp-site-spacing-styling-hooks.min.css?0DB0l0000001Z3M:62" />
-<link rel="stylesheet" href="assets/styles/dxp-styling-hooks.min.css?0DB0l0000001Z3M:62" />
-<link rel="stylesheet" href="assets/styles/dxp-slds-extensions.min.css?0DB0l0000001Z3M:62" />
+<link rel="stylesheet" href="assets/styles/salesforce-lightning-design-system.min.css?0DB0l0000001Z3M:73" />
+<link rel="stylesheet" href="assets/styles/dxp-site-spacing-styling-hooks.min.css?0DB0l0000001Z3M:73" />
+<link rel="stylesheet" href="assets/styles/dxp-styling-hooks.min.css?0DB0l0000001Z3M:73" />
+<link rel="stylesheet" href="assets/styles/dxp-slds-extensions.min.css?0DB0l0000001Z3M:73" />
<!-- webruntime-branding-shared stylesheets -->
- <link rel="stylesheet" href="assets/styles/overrides.css?0DB0l0000001Z3M:62" />
- <link rel="stylesheet" href="assets/css/fonts-and-custom.css?0DB0l0000001Z3M:62" />
+ <link rel="stylesheet" href="assets/styles/overrides.css?0DB0l0000001Z3M:73" />
+ <link rel="stylesheet" href="assets/css/fonts-and-custom.css?0DB0l0000001Z3M:73" />
</head>
<body>
<div id="webruntime-browser-not-supported-message" style="display: none;">
diff --git a/force-app/main/default/staticresources/SNA_Demo1_sf_default_cdn_PqhAN/toomanyrequests.html b/force-app/main/default/staticresources/SNA_Demo1_sf_default_cdn_PqhAN/toomanyrequests.html
index 61b1e4d..aac69bd 100644
--- a/force-app/main/default/staticresources/SNA_Demo1_sf_default_cdn_PqhAN/toomanyrequests.html
+++ b/force-app/main/default/staticresources/SNA_Demo1_sf_default_cdn_PqhAN/toomanyrequests.html
@@ -6,10 +6,10 @@
function launchModal(_ref){var id=_ref.id,titleLabel=_ref.titleLabel,contentLabel=_ref.contentLabel,buttonLabel=_ref.buttonLabel,callback=_ref.callback;var modalTemplate="<div id=\"".concat(id,"\">\n <section\n role=\"alertdialog\"\n tabindex=\"-1\"\n aria-labelledby=\"prompt-heading-id\"\n aria-describedby=\"prompt-message-wrapper\"\n class=\"slds-modal slds-fade-in-open slds-modal_prompt\"\n aria-modal=\"true\"\n style=\"color: rgb(62, 62, 60)\"\n >\n <div class=\"slds-modal__container\">\n <header class=\"slds-modal__header slds-theme_info slds-theme_alert-texture\">\n <h2 class=\"slds-text-heading_medium\">").concat(titleLabel,"</h2>\n </header>\n <div class=\"slds-modal__content slds-p-around_medium\">\n <p id=\"prompt-message-id\">").concat(contentLabel,"</p>\n </div>\n <footer class=\"slds-modal__footer slds-theme_default\">\n <button class=\"slds-button slds-button_neutral js-button\">").concat(buttonLabel,"</button>\n </footer>\n </div>\n </section>\n <div class=\"slds-backdrop slds-backdrop_open\"></div>\n </div>");var div=document.createElement("div");div.innerHTML=modalTemplate;div.querySelector(".js-button").addEventListener("click",callback);if(!document.body){document.createElement("body")}document.body.appendChild(div.querySelector("#".concat(id)))}window.onload=function(){if(!window.isBrowserSupportedByWebruntime){var WEBRUNTIME_UNSUPPORTED_BROWSER_MODAL_ID="webruntime-browser-not-supported-message";launchModal({id:WEBRUNTIME_UNSUPPORTED_BROWSER_MODAL_ID,titleLabel:"Your browser isn't supported",contentLabel:"Your browser doesn\u2019t support some features on this site. For the best experience, update your browser to the latest version, or switch to another browser.",buttonLabel:"Got It",callback:function callback(){var modal=document.querySelector("#".concat(WEBRUNTIME_UNSUPPORTED_BROWSER_MODAL_ID));document.body.removeChild(modal)}})}};window.document.addEventListener("client-error",function(error){if(error.detail.type==="FAILED_TO_LOAD_RESOURCE"){launchModal({id:"webruntime-client-error-failed-to-load-resource",titleLabel:"Oops!",contentLabel:"Something went wrong. Please try refreshing the app",buttonLabel:"Refresh",callback:function callback(){var url=new URL(window.location);url.searchParams.set("lwr.cachebust",new Date().getTime());window.location=url.href}})}else if(error.detail.type==="TOO_MANY_REQUESTS"){window.document.cookie="TooManyRequests=true;max-age=30;";window.location.reload()}});
</script>
- <script type="text/javascript" nonce="24cc3c59-9d47-42d0-bc65-b42b7ed1b310">!function(){const e={documentCreateElement:Document.prototype.createElement,elementSetAttribute:Element.prototype.setAttribute,elementAttachShadow:Element.prototype.attachShadow,elementAppendChild:Element.prototype.appendChild,htmlelementAddEventListener:Element.prototype.addEventListener,iframeContentDocumentGet:Object.getOwnPropertyDescriptor(HTMLIFrameElement.prototype,"contentDocument").get,iframeContentWindowGet:Object.getOwnPropertyDescriptor(HTMLIFrameElement.prototype,"contentWindow").get};Object.freeze(e),Object.defineProperty(window,"originalDomApis",{writable:!1,value:e});const t=window.frames;Object.defineProperty(window,"frames",{get:function(){const e=[];for(let n=0;n<t.length;n++)try{t[n].frameElement.getRootNode().nodeType===Node.DOCUMENT_FRAGMENT_NODE||e.push(t[n])}catch(o){e.push(t[n])}return e.length===t.length?t:e}})}();</script>
- <script type="text/javascript" nonce="24cc3c59-9d47-42d0-bc65-b42b7ed1b310">!function(){"use strict";window.isBrowserSupportedByWebruntime=function(){const n="performance"in window&&"mark"in window.performance,e="customElements"in window;return n&&e}()}();
+ <script type="text/javascript" nonce="6bb51182-8567-456e-8ba0-8ab68eb978cf">!function(){const e={documentCreateElement:Document.prototype.createElement,elementSetAttribute:Element.prototype.setAttribute,elementAttachShadow:Element.prototype.attachShadow,elementAppendChild:Element.prototype.appendChild,htmlelementAddEventListener:Element.prototype.addEventListener,iframeContentDocumentGet:Object.getOwnPropertyDescriptor(HTMLIFrameElement.prototype,"contentDocument").get,iframeContentWindowGet:Object.getOwnPropertyDescriptor(HTMLIFrameElement.prototype,"contentWindow").get};Object.freeze(e),Object.defineProperty(window,"originalDomApis",{writable:!1,value:e});const t=window.frames;Object.defineProperty(window,"frames",{get:function(){const e=[];for(let n=0;n<t.length;n++)try{t[n].frameElement.getRootNode().nodeType===Node.DOCUMENT_FRAGMENT_NODE||e.push(t[n])}catch(o){e.push(t[n])}return e.length===t.length?t:e}})}();</script>
+ <script type="text/javascript" nonce="6bb51182-8567-456e-8ba0-8ab68eb978cf">!function(){"use strict";window.isBrowserSupportedByWebruntime=function(){const n="performance"in window&&"mark"in window.performance,e="customElements"in window;return n&&e}()}();
</script>
- <script type="text/javascript" nonce="24cc3c59-9d47-42d0-bc65-b42b7ed1b310">globalThis.LWR = globalThis.LWR || {};
+ <script type="text/javascript" nonce="6bb51182-8567-456e-8ba0-8ab68eb978cf">globalThis.LWR = globalThis.LWR || {};
globalThis.LWR.customInit = (lwr) => {
LWR.define('@app/apexApiBasePath', [], function() { return "webruntime/api"; });
@@ -20,7 +20,7 @@
LWR.define('@app/isPreviewMode', [], function() { return false; });
LWR.define('@app/o11yApiEndpoint', [], function() { return "/services/data/v57.0/connect/proxy/ui-telemetry"; });
LWR.define('@app/o11yFalconEnabled', [], function() { return false; });
- LWR.define('@app/o11yGuestToken', [], function() { return "Y29yZS9wcm9kLzAwRDBsMDAwMDAwNENxQkVBVSxDT1JFLjAwRDBsMDAwMDAwNENxQi4xNjc1OTMxMjk5NzEyLDIwMjMtMDQtMjFUMDI6MTU6MjcuODQ0NjIxWg\u003d\u003d.UZOVHykfWA_WJ70GPG64RW48nkj4c4D6eVBrmii3BqjLTpZe08xWEsbcgnBRv4UIcRVxxOHulhSI-2CQUZ7woQ|{\"isGuestApiAccessEnabled\":false}"; });
+ LWR.define('@app/o11yGuestToken', [], function() { return "Y29yZS9wcm9kLzAwRDBsMDAwMDAwNENxQkVBVSxDT1JFLjAwRDBsMDAwMDAwNENxQi4xNjc5MzcwMjU2MDc2LDIwMjMtMDQtMjlUMDc6MTc6MTQuNzQyMTha.izz_lUcXD0Kz3RUSJhSTdUdx734lfwjq9BaayBAvXYMzc65DYRRU0gdPGXLtQSM5O_mQnCVgxiFhfrmDhc2cTw|{\"isGuestApiAccessEnabled\":false}"; });
LWR.define('@app/o11ySamplingRate', [], function() { return 1.0; });
LWR.define('@app/publicApiBasePath', [], function() { return "webruntime/api/public"; });
LWR.define('@app/routes', [], function() { return [{"label":"Too Many Requests","isPublic":true,"viewId":"24d12862-7e6f-42da-b1c0-d3ebcaea9751","hasVanityURL":false,"patterns":["\\/too-many-requests\\/?"],"id":"50d68f68-49b3-464b-8ba6-105d8e2d4f7a","path":"/toomanyrequests.html","view":"too_Many_Requests","isRoot":true,"isDefault":true,"page":{"type":"comm__namedPage","attributes":{"name":"Too_Many_Requests"}}}]; });
@@ -29,7 +29,7 @@
LWR.define('@salesforce/site/Id', [], function() { return "0DM0l000000085DGAQ"; });
lwr.initializeApp();
globalThis.process = { env: { NODE_ENV: "dev" } };};</script>
- <script type="text/javascript" nonce="24cc3c59-9d47-42d0-bc65-b42b7ed1b310">globalThis.LWR = globalThis.LWR || {};
+ <script type="text/javascript" nonce="6bb51182-8567-456e-8ba0-8ab68eb978cf">globalThis.LWR = globalThis.LWR || {};
Object.assign(globalThis.LWR, {
"bootstrapModule": "@lwrjs/app-service/communities_app/module/amd/v/0_8_14",
"autoBoot": false,
@@ -64,42 +64,42 @@
<script src="webruntime/framework/bc00fb7571/prod/lwr_bootstrap"></script>
<script src="webruntime/framework/af5a5d856d/prod/lwr_lwc"></script>
<script src="webruntime/framework/23e2eae4b4/prod/lwr_app"></script>
- <script type="text/javascript" nonce="24cc3c59-9d47-42d0-bc65-b42b7ed1b310">LWR.define('lwc', ['lwc/v/2_31_2'], function(module) { return module; });</script>
- <script type="text/javascript" nonce="24cc3c59-9d47-42d0-bc65-b42b7ed1b310">
+ <script type="text/javascript" nonce="6bb51182-8567-456e-8ba0-8ab68eb978cf">LWR.define('lwc', ['lwc/v/2_31_2'], function(module) { return module; });</script>
+ <script type="text/javascript" nonce="6bb51182-8567-456e-8ba0-8ab68eb978cf">
LWR.define('@app/authenticationCookieName', [], function() { return "__Secure-has-sid"; });
LWR.define('@app/isMobileAppMode', [], function() { return false; });
LWR.define('@app/loginPath', [], function() { return null; });
LWR.define('@app/user', [], function() { return {"isGuest":true,"id":null,"csrfToken":null}; });
LWR.define('@salesforce/community/basePath', [], function() { return ""; });</script>
- <script type="text/javascript" nonce="24cc3c59-9d47-42d0-bc65-b42b7ed1b310">LWR.define('o11y/simple_collector/v/242_8_1', ['o11y/simple_collector'], function(module) { return module; });</script>
- <script type="text/javascript" nonce="24cc3c59-9d47-42d0-bc65-b42b7ed1b310">LWR.define('o11y/collectors/v/242_8_1', ['o11y/collectors'], function(module) { return module; });</script>
- <script type="text/javascript" nonce="24cc3c59-9d47-42d0-bc65-b42b7ed1b310">LWR.define('@app/apiBasePath/v/1', ['@app/apiBasePath'], function(module) { return module; });</script>
- <script type="text/javascript" nonce="24cc3c59-9d47-42d0-bc65-b42b7ed1b310">LWR.define('@app/basePath/v/1', ['@app/basePath'], function(module) { return module; });</script>
- <script type="text/javascript" nonce="24cc3c59-9d47-42d0-bc65-b42b7ed1b310">LWR.define('@app/o11yApiEndpoint/v/1', ['@app/o11yApiEndpoint'], function(module) { return module; });</script>
- <script type="text/javascript" nonce="24cc3c59-9d47-42d0-bc65-b42b7ed1b310">LWR.define('@app/o11yFalconEnabled/v/1', ['@app/o11yFalconEnabled'], function(module) { return module; });</script>
- <script type="text/javascript" nonce="24cc3c59-9d47-42d0-bc65-b42b7ed1b310">LWR.define('@app/o11yGuestToken/v/1', ['@app/o11yGuestToken'], function(module) { return module; });</script>
- <script type="text/javascript" nonce="24cc3c59-9d47-42d0-bc65-b42b7ed1b310">LWR.define('@app/o11ySamplingRate/v/1', ['@app/o11ySamplingRate'], function(module) { return module; });</script>
- <script type="text/javascript" nonce="24cc3c59-9d47-42d0-bc65-b42b7ed1b310">LWR.define('@salesforce/i18n/lang/v/1', ['@salesforce/i18n/lang'], function(module) { return module; });</script>
- <script type="text/javascript" nonce="24cc3c59-9d47-42d0-bc65-b42b7ed1b310">LWR.define('@app/csrfToken/v/1', ['@app/csrfToken'], function(module) { return module; });</script>
- <script type="text/javascript" nonce="24cc3c59-9d47-42d0-bc65-b42b7ed1b310">LWR.define('@app/user/v/1', ['@app/user'], function(module) { return module; });</script>
+ <script type="text/javascript" nonce="6bb51182-8567-456e-8ba0-8ab68eb978cf">LWR.define('o11y/simple_collector/v/242_8_1', ['o11y/simple_collector'], function(module) { return module; });</script>
+ <script type="text/javascript" nonce="6bb51182-8567-456e-8ba0-8ab68eb978cf">LWR.define('o11y/collectors/v/242_8_1', ['o11y/collectors'], function(module) { return module; });</script>
+ <script type="text/javascript" nonce="6bb51182-8567-456e-8ba0-8ab68eb978cf">LWR.define('@app/apiBasePath/v/1', ['@app/apiBasePath'], function(module) { return module; });</script>
+ <script type="text/javascript" nonce="6bb51182-8567-456e-8ba0-8ab68eb978cf">LWR.define('@app/basePath/v/1', ['@app/basePath'], function(module) { return module; });</script>
+ <script type="text/javascript" nonce="6bb51182-8567-456e-8ba0-8ab68eb978cf">LWR.define('@app/o11yApiEndpoint/v/1', ['@app/o11yApiEndpoint'], function(module) { return module; });</script>
+ <script type="text/javascript" nonce="6bb51182-8567-456e-8ba0-8ab68eb978cf">LWR.define('@app/o11yFalconEnabled/v/1', ['@app/o11yFalconEnabled'], function(module) { return module; });</script>
+ <script type="text/javascript" nonce="6bb51182-8567-456e-8ba0-8ab68eb978cf">LWR.define('@app/o11yGuestToken/v/1', ['@app/o11yGuestToken'], function(module) { return module; });</script>
+ <script type="text/javascript" nonce="6bb51182-8567-456e-8ba0-8ab68eb978cf">LWR.define('@app/o11ySamplingRate/v/1', ['@app/o11ySamplingRate'], function(module) { return module; });</script>
+ <script type="text/javascript" nonce="6bb51182-8567-456e-8ba0-8ab68eb978cf">LWR.define('@salesforce/i18n/lang/v/1', ['@salesforce/i18n/lang'], function(module) { return module; });</script>
+ <script type="text/javascript" nonce="6bb51182-8567-456e-8ba0-8ab68eb978cf">LWR.define('@app/csrfToken/v/1', ['@app/csrfToken'], function(module) { return module; });</script>
+ <script type="text/javascript" nonce="6bb51182-8567-456e-8ba0-8ab68eb978cf">LWR.define('@app/user/v/1', ['@app/user'], function(module) { return module; });</script>
<script src="webruntime/view/7cfd898557/prod/zh_CN/too_Many_Requests"></script>
<script src="webruntime/view/1caf97ec72/prod/zh_CN/serviceNotAvailable"></script><style type="text/css" id="webruntime-branding">:root{--dxp-g-brand:rgb(1, 118, 211);--dxp-c-link-text-color:rgb(37, 116, 169);--dxp-c-link-text-color-hover:#1e5d88;--dxp-c-link-text-color-active:#1e5d88;--dxp-g-neutral-contrast-3:#fff;--dxp-s-body-font-family:Work Sans;--dxp-g-neutral-contrast-2:#000;--dxp-g-neutral:#ecebea;--dxp-g-neutral-contrast-1:#000;--dxp-g-root:rgb(255, 255, 255);--dxp-g-root-contrast-1:rgb(31, 31, 31);--dxp-g-root-contrast:rgb(51, 51, 51);--dxp-g-root-contrast-2:rgb(0, 0, 0);--dxp-g-root-contrast-3:rgb(0, 0, 0);--dxp-g-neutral-contrast:#000;--dxp-g-root-1:rgb(235, 235, 235);--dxp-g-root-2:rgb(194, 194, 194);--dxp-g-root-3:rgb(133, 133, 133);--dxp-g-brand-contrast-1:rgb(71, 71, 71);--dxp-g-brand-contrast:rgb(51, 51, 51);--dxp-g-neutral-3:rgb(118, 113, 107);--dxp-g-neutral-2:rgb(178, 174, 170);--dxp-g-brand-contrast-3:rgb(173, 173, 173);--dxp-g-brand-contrast-2:rgb(112, 112, 112);--dxp-g-neutral-1:rgb(217, 215, 213);--dxp-g-sna-heading-font-family:Open Sans;--dxp-g-brand-1:rgb(1, 95, 170);--dxp-g-brand-2:rgb(1, 50, 89);--dxp-g-brand-3:rgb(0, 0, 0);}</style>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Service Not Available</title>
-<link rel="stylesheet" href="assets/styles/styles.css?0DB0l0000001Z3M:62" />
+<link rel="stylesheet" href="assets/styles/styles.css?0DB0l0000001Z3M:73" />
<!-- webruntime-branding-shared stylesheets -->
-<link rel="stylesheet" href="assets/styles/salesforce-lightning-design-system.min.css?0DB0l0000001Z3M:62" />
-<link rel="stylesheet" href="assets/styles/dxp-site-spacing-styling-hooks.min.css?0DB0l0000001Z3M:62" />
-<link rel="stylesheet" href="assets/styles/dxp-styling-hooks.min.css?0DB0l0000001Z3M:62" />
-<link rel="stylesheet" href="assets/styles/dxp-slds-extensions.min.css?0DB0l0000001Z3M:62" />
+<link rel="stylesheet" href="assets/styles/salesforce-lightning-design-system.min.css?0DB0l0000001Z3M:73" />
+<link rel="stylesheet" href="assets/styles/dxp-site-spacing-styling-hooks.min.css?0DB0l0000001Z3M:73" />
+<link rel="stylesheet" href="assets/styles/dxp-styling-hooks.min.css?0DB0l0000001Z3M:73" />
+<link rel="stylesheet" href="assets/styles/dxp-slds-extensions.min.css?0DB0l0000001Z3M:73" />
<!-- webruntime-branding-shared stylesheets -->
- <link rel="stylesheet" href="assets/styles/overrides.css?0DB0l0000001Z3M:62" />
- <link rel="stylesheet" href="assets/css/fonts-and-custom.css?0DB0l0000001Z3M:62" />
+ <link rel="stylesheet" href="assets/styles/overrides.css?0DB0l0000001Z3M:73" />
+ <link rel="stylesheet" href="assets/css/fonts-and-custom.css?0DB0l0000001Z3M:73" />
</head>
<body>
<div id="webruntime-browser-not-supported-message" style="display: none;">
--
Gitblit v1.9.1