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).replaceAll("-","/");
|
}
|
console.log(this.closeForecastedDate);
|
if(this.bidPlannedDate == undefined){
|
this.bidPlannedDate = '';
|
}else{
|
this.bidPlannedDate = new String(this.bidPlannedDate).replaceAll("-","/");
|
}
|
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");
|
this.dispatchEvent(new CloseActionScreenEvent());
|
}
|
else if (this.agencyOpportunity != undefined) {
|
newflag = false;
|
this.showToast("已经转成过【经销商目标询价】。","error");
|
this.dispatchEvent(new CloseActionScreenEvent());
|
}
|
else if (this.trade != '内貿') {
|
newflag = false;
|
this.showToast("不是内贸,不能转成【经销商目标询价】。","error");
|
this.dispatchEvent(new CloseActionScreenEvent());
|
}
|
else {
|
var records = null;
|
console.log("3");
|
queryForRecords({
|
agency1Id: this.agency1Id,
|
hospitalId: this.hospitalId
|
}).then(result=>{
|
records = result;
|
console.log(records.length);
|
if (records == null || records.length == 0) {
|
newflag = false;
|
this.showToast("没有有效的【经销商医院】。","error");
|
this.dispatchEvent(new CloseActionScreenEvent());
|
}
|
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");
|
this.dispatchEvent(new CloseActionScreenEvent());
|
} 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);
|
this.dispatchEvent(new CloseActionScreenEvent());
|
} catch (error) {
|
console.log(error)
|
}
|
})
|
}
|
})
|
}
|
});
|
}
|
this.IsLoading = false;
|
}
|
showToast(msg,type) {
|
const event = new ShowToastEvent({
|
title: '',
|
message: msg,
|
variant: type
|
});
|
this.dispatchEvent(event);
|
}
|
updateRecordView(recordId) {
|
updateRecord({fields: { Id: recordId }});
|
}
|
}
|