LiJinHuan
2024-01-05 462188a2c982b0a8750dfe01692dfd898216bb0c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
import { LightningElement,api, track, wire } from 'lwc';
import {CurrentPageReference} from 'lightning/navigation';
import { CloseActionScreenEvent } from 'lightning/actions';
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';
const event1 = new ShowToastEvent({
                    message:
                    "询价状态为:失单、取消、注残、发货、完毕,不允许创建OPD计划",
                    variant : "error" ,
                    mode : 'sticky'
});
import init  from '@salesforce/apex/LexOPDSupplementaryController.initNewOPDButton2';
export default class lexNewOPDButtonOpportunity extends NavigationMixin(LightningElement) {
    @api recordId;
    IsLoading=true;
    Opportunity;
 
 
    @wire(CurrentPageReference)
    getStateParameters(currentPageReference) {
        if (currentPageReference) {
          const urlValue = currentPageReference.state.recordId;
          if (urlValue) {
            let str = `${urlValue}`;
            this.recordId = str;
          }
        }
    }
 
    connectedCallback(){
    Promise.all([
      loadStyle(this, lwcCSS)
    ]);
        init({recordId:this.recordId}).then(res=>{
            if (res!=null) {
                console.log(res);
                this.Opportunity=res;
                console.log(res);
                this.newOPDButtonOpportunity().then(res=>{
                    this.IsLoading=false;
                    this.dispatchEvent(new CloseActionScreenEvent());        
                });    
            }
            else{
                const eventInItError = new dispatchEvent({
                    message : '页面初始化错误,请联系管理员',
                    variant : 'error' ,
                    mode : 'sticky'
                });
                this.dispatchEvent(eventInItError);
                return;
            }
 
        });
    }
 
 
    async newOPDButtonOpportunity(){
        var oppstagename =this.Opportunity.StageName;
        if(oppstagename=='敗戦' || oppstagename=='削除' || oppstagename=='注残' || oppstagename=='出荷' || oppstagename=='完了'){
            this.dispatchEvent(event1);
            return;
        }
        const defaultValues = encodeDefaultFieldValues({
               Related_Opportunity1_ID__c: this.recordId,
            Account_Laboratory__c: this.Opportunity.AccountId,
            Related_Opportunity1__c : this.Opportunity.Name,
            OPDType__c : '询价',
            Name : '*',
            retURL : '%2F' + this.recordId
        });
        this.IsLoading=false;
        this.dispatchEvent(new CloseActionScreenEvent());
        this[NavigationMixin.Navigate]({
            type: 'standard__objectPage',
            attributes: {
                objectApiName: 'OPDPlan__c',
                actionName: 'new'
            },
            state: {
                nooverride: '1',
                defaultFieldValues: defaultValues,
            }
        });    
 
    }
}