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 }}); } }