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'; import { NavigationMixin } from 'lightning/navigation'; import { encodeDefaultFieldValues } from 'lightning/pageReferenceUtils'; import lwcCSS from '@salesforce/resourceUrl/lwcCSS'; import {loadStyle} from 'lightning/platformResourceLoader'; import queryCancelReport from '@salesforce/apex/OpportunityLightingButtonController.queryCancelReport'; import querySubmitLostReport from '@salesforce/apex/OpportunityLightingButtonController.querySubmitLostReport'; export default class LexCancelReport extends NavigationMixin(LightningElement) { @api recordId; stageName; sapSendOK; cntLostCancelReport; cntLostCancelDraft; jobCategory; biddingProjectNameBid; name; salesAssistantName; salesAssistantID; managerName; salesManagerDepartmentID; salesOwnerBuchang; salesOwnerBuchangID; recordTypeId; haveLostReport; //生产环境bug修改 陈京武 20231105 Start haveSubmitLostReport; //生产环境bug修改 陈京武 20231105 End 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(){ Promise.all([ loadStyle(this, lwcCSS) ]); init({ recordId: this.recordId }).then(result=>{ console.log(result); this.stageName = result.stageName == undefined ? '' : result.stageName; this.sapSendOK = result.sapSendOK == undefined ? '' : result.sapSendOK; this.cntLostCancelDraft = result.cntLostCancelDraft == undefined ? '' : result.cntLostCancelDraft; this.cntLostCancelReport = result.cntLostCancelReport == undefined ? '' : result.cntLostCancelReport; this.jobCategory = result.jobCategory == undefined ? '' : result.jobCategory; this.biddingProjectNameBid = result.biddingProjectNameBid == undefined ? '' : result.biddingProjectNameBid; this.name = result.name == undefined ? '' : result.name; this.salesAssistantID = result.salesAssistantID == undefined ? '' : result.salesAssistantID; this.salesAssistantName = result.salesAssistantName == undefined ? '' : result.salesAssistantName; this.managerName = result.managerName == undefined ? '' : result.managerName; this.salesManagerDepartmentID = result.salesManagerDepartmentID == undefined ? '' : result.salesManagerDepartmentID; this.salesOwnerBuchang = result.salesOwnerBuchang == undefined ? '' : result.salesOwnerBuchang; this.salesOwnerBuchangID = result.salesOwnerBuchangID == undefined ? '' : result.salesOwnerBuchangID; this.recordTypeId = result.recordTypeId; queryCancelReport({ recordId: this.recordId }).then(result=>{ this.haveLostReport = result; //生产环境bug修改 陈京武 20231105 Start querySubmitLostReport({ recordId: this.recordId }).then(result1=>{ this.haveSubmitLostReport = result1; this.cancelReport(); }); //生产环境bug修改 陈京武 20231105 End }); }).catch(error=>{ console.log("error"); console.log(error); }); } showToast(msg,type) { if(type == 'success'){ const event = new ShowToastEvent({ message: msg, variant: type, }); this.dispatchEvent(event); this.dispatchEvent(new CloseActionScreenEvent()); }else{ const event = new ShowToastEvent({ message: msg, variant: type, mode: 'sticky' }); this.dispatchEvent(event); this.dispatchEvent(new CloseActionScreenEvent()); } } 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、不能做 取消 了!","error"); } //生产环境bug修改 陈京武 20231105 Start else if (this.haveSubmitLostReport) { this.showToast("已经有提交的失单报告,不可新建取消报告","error"); } else if (this.haveLostReport) { this.showToast("已经有草案中的取消报告,请编辑草案中的进行提交","error"); } //生产环境bug修改 陈京武 20231105 End else if (this.jobCategory == '支援') { this.showToast("询价所有人是助理的,先请修改到销售担当!","error"); } //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 != '' && sqlResult.length == 0){ this.showToast("有招投标项目时只能做失单或部分失单报告!","error"); } //XLIU-CG98L5 【委托】【评估】新需求-招标项目/询价对应流标、废标改善 end else { const defaultValues = encodeDefaultFieldValues({ Opportunity__c: this.recordId, // 关联主记录 ID Sales_assistant__c: this.salesAssistantID, Manager_sales__c: this.salesManagerDepartmentID, Buchang_sales__c: this.salesOwnerBuchangID }); this[NavigationMixin.Navigate]({ type: 'standard__objectPage', attributes: { objectApiName: 'Lost_cancel_report__c', actionName: 'new' }, state: { nooverride: '1', defaultFieldValues: defaultValues, recordTypeId: this.recordTypeId, } }); } this.dispatchEvent(new CloseActionScreenEvent()); }); } }