liuyn
2024-03-22 e8be4d964c6b336ed39dba5900b1b9a8f3181b96
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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
import { LightningElement, track, wire,api } from 'lwc';
import { CurrentPageReference } from "lightning/navigation";
import { CloseActionScreenEvent } from 'lightning/actions';
import { ShowToastEvent } from 'lightning/platformShowToastEvent';
import lwcCSS from '@salesforce/resourceUrl/lwcCSS';
import {loadStyle} from 'lightning/platformResourceLoader';
 
import USER_ID from '@salesforce/user/Id';
const event1 = new ShowToastEvent({
                    message:
                    "You have already added this Campaign!",
                    variant : 'error',
                    mode :'sticky'
});
const event2 = new ShowToastEvent({
                    message:
                    "success",
                    variant : 'success'
});
import init  from '@salesforce/apex/LexSubmitCampaignController.initAddToCalender';
import getCampaignEvent  from '@salesforce/apex/LexSubmitCampaignController.getCampaignEvent';
 
import addCampaignEvent  from '@salesforce/apex/LexSubmitCampaignController.addCampaignEvent';
 
export default class lexAddToCalender extends LightningElement {
    @api recordId;
    IsLoading=true;
    Campaign;
 
    @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(result => {
            if (result != null) {
                this.Campaign = result;
                console.log(this.Campaign);
                this.addToCalender().then(result=>{
                   this.IsLoading=false;
                this.dispatchEvent(new CloseActionScreenEvent());
                const passOneEvent = new CustomEvent('closem', {
                        detail: '111'
                      });
                  this.dispatchEvent(passOneEvent);
            });
            }
        }).catch(error => {
            const eventInItError = new ShowToastEvent({
                   message:
                error.message,
                variant : 'error',
                mode :'sticky'
            });
            this.dispatchEvent(eventInItError);
        });
 
    }
 
    async addToCalender(){
        var startDay__0 = new Date(this.Campaign.StartDate);
        var startDay = new Date(startDay__0.getTime() + (24 * 60 * 60 * 1000));
        var endDay__0 = new Date(this.Campaign.EndDate);
        var endDay = new Date(endDay__0.getTime() + (24 * 60 * 60 * 1000));
        await getCampaignEvent({ Id: this.recordId,userId:USER_ID}).then(result =>{
            if(result.length>0){
                this.dispatchEvent(event1);
            }
            else{
                addCampaignEvent({StartDateTime :startDay,EndDateTime:endDay,
                    whatid:this.Campaign.Id,Subject:this.Campaign.Name}).then(result=>{
                        if(result=='success'){
                            this.dispatchEvent(event2);
                            // location.href = "/"+this.Campaign.Id;
                            setTimeout(function () {
                                //2秒后执行刷新
                                window.location.reload();
                            }, 2000); //单位是毫秒
                        }
                        else{
                            const event3 = new ShowToastEvent({
                                message : "failed to create:" + result,
                                variant : 'error',
                                mode :'sticky'
                            })
                            this.dispatchEvent(event3);
                        }
                    })
            }
        })
 
    }
 
}