/* * @Description: * @version: * @Author: chen jing wu * @Date: 2023-04-23 10:09:31 * @LastEditors: chen jing wu * @LastEditTime: 2023-10-10 17:39:34 */ 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'; import initCopy from '@salesforce/apex/OpportunityLightingButtonController.initCopy'; import { NavigationMixin } from 'lightning/navigation'; import { encodeDefaultFieldValues } from 'lightning/pageReferenceUtils'; import lwcCSS from '@salesforce/resourceUrl/lwcCSS'; import {loadStyle} from 'lightning/platformResourceLoader'; export default class LexOpporSplite extends NavigationMixin(LightningElement) { @api recordId; authorizedDBNo; estimationDecision; siDecideID; name; opportunityNo; isAuthorized; recordTypeId @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.authorizedDBNo = result.authorizedDBNo == undefined ? '' : result.authorizedDBNo; this.estimationDecision = result.estimationDecision == undefined ? '' : result.estimationDecision; this.siDecideID = result.siDecideID == undefined ? '' : result.siDecideID; this.name = result.name == undefined ? '' : result.name; this.opportunityNo = result.opportunityNo == undefined ? '' : result.opportunityNo; this.isAuthorized = result.isAuthorized == undefined ? '' : result.isAuthorized; this.recordTypeId = result.recordTypeId; this.opporSplite(); }) } opporSplite(){ if(this.recordId == '已终止'){ this.showToast("需求表已终止,不能拆单","error"); this.dispatchEvent(new CloseActionScreenEvent()); }else if(this.authorizedDBNo == ''){ this.showToast("没有合同授权编码,不能拆单","error"); this.dispatchEvent(new CloseActionScreenEvent()); }else if(this.estimationDecision == true){ this.showToast("报价已经Decided,不能拆单","error"); this.dispatchEvent(new CloseActionScreenEvent()); }else if(this.siDecideID == ''){ this.showToast("需求表未批准,不能拆单","error"); this.dispatchEvent(new CloseActionScreenEvent()); }else if(this.recordId != '草案中' && this.recordId != '已提交' && this.recordId != '已终止'){ initCopy({ recordId: this.recordId }).then(result=>{ var changeData = 'Opportunity_No__c=*,Old_Opportunity_ID__c=' + this.recordId + ',old_Oppo_No__c=' + this.opportunityNo + ',IsAuthorized__c=' + this.isAuthorized + ',SeparateBillMark__c=1,Estimation_No__c=,Estimation_Name__c=,Estimation_List_Price__c=,NotesApprovedNo__c=,Assistant_Applied_Date__c=,Contract_DB_SalesDept_complite_day__c=,Contract_DB_complite_day__c=,Closing_Bid_Date__c='; this[NavigationMixin.Navigate]({ type: 'standard__objectPage', attributes: { actionName: 'new', objectApiName: 'Opportunity' }, state: { defaultFieldValues: result + ',' + changeData, recordTypeId: this.recordTypeId } }); this.dispatchEvent(new CloseActionScreenEvent()); }); } } 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 }}); } }