KKbes
2023-07-26 99537f14288ecc5502dfd653f986c76d7c40700d
学会
1个文件已修改
8个文件已添加
219 ■■■■■ 已修改文件
force-app/main/default/aura/lexAddToCalenderAura/lexAddToCalenderAura.cmp 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/aura/lexAddToCalenderAura/lexAddToCalenderAura.cmp-meta.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/aura/lexAddToCalenderAura/lexAddToCalenderAura.css 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/aura/lexAddToCalenderAura/lexAddToCalenderAuraController.js 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/aura/lexAddToCalenderAura/lexAddToCalenderAuraHelper.js 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexSubmitCampaignController.cls 88 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexAddToCalender/lexAddToCalender.html 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexAddToCalender/lexAddToCalender.js 88 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexAddToCalender/lexAddToCalender.js-meta.xml 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/aura/lexAddToCalenderAura/lexAddToCalenderAura.cmp
New file
@@ -0,0 +1,10 @@
<aura:component implements="flexipage:availableForAllPageTypes,force:lightningQuickActionWithoutHeader,force:hasRecordId,lightning:actionOverride,lightning:isUrlAddressable" access="global">
    <aura:attribute name="recordId" type="String" />
    <aura:handler name="render" value="{!this}"  action="{!c.closeModal}" />
    <aura:attribute name="isDoneRendering" type="Boolean" default="false"/>
    <div class="exampleHolder">
S
        <c:lexAddToCalender recordId="{!v.recordId}" />
    </div>
</aura:component>
force-app/main/default/aura/lexAddToCalenderAura/lexAddToCalenderAura.cmp-meta.xml
New file
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<AuraDefinitionBundle xmlns="http://soap.sforce.com/2006/04/metadata">
    <apiVersion>54.0</apiVersion>
    <description>A Lightning Component Bundle</description>
</AuraDefinitionBundle>
force-app/main/default/aura/lexAddToCalenderAura/lexAddToCalenderAura.css
New file
@@ -0,0 +1,2 @@
.THIS {
}
force-app/main/default/aura/lexAddToCalenderAura/lexAddToCalenderAuraController.js
New file
@@ -0,0 +1,5 @@
({
    myAction : function(component, event, helper) {
    }
})
force-app/main/default/aura/lexAddToCalenderAura/lexAddToCalenderAuraHelper.js
New file
@@ -0,0 +1,5 @@
({
    helperMethod : function() {
    }
})
force-app/main/default/classes/LexSubmitCampaignController.cls
@@ -100,8 +100,8 @@
        }
        catch (Exception e) {
             System.debug('lexSubmitCampaign,method:initCancle   error: '+e.getMessage());
        }
        return res;
             return null;
        }
    }
    @AuraEnabled
@@ -118,11 +118,93 @@
             System.debug('lexSubmitCampaign,method:initCancle   error: '+e.getMessage());
             return e.getMessage();
        }
        return 'success';
    }
    //时间修改申请按钮
    @AuraEnabled
    public static Campaign initUpdateTimeReply(String recordId){
        Campaign  res = [SELECT Id,Status_Service__c,ServiceDesignDep__c
            FROM Campaign
                WHERE Id = : recordId];
        return res;
    }
    @AuraEnabled
    public static String getUserNameById(String Id){
        User  res = [SELECT Name From User WHERE Id = : Id ];
        return res.Name;
    }
    //向智慧医疗发送活动信息
    @AuraEnabled
    public static Campaign initSendToComPlat(String recordId){
        Campaign  res = [SELECT Id,IF_Submit__c
            FROM Campaign
                WHERE Id = : recordId];
        return res;
    }
    @AuraEnabled
    public static String SendToComPlatUpdate(String Id , Boolean IF_Submit){
        Campaign res= new Campaign();
        try {
            res.Id=Id;
            res.IF_Submit__c=IF_Submit;
            UPDATE res;
            return 'success';
        }
        catch (Exception e) {
            System.debug('lexSubmitCampaign,method:initCancle   error: '+e.getMessage());
            return e.getMessage();
        }
    }
    //添加到日历按钮
    @AuraEnabled
    public static Campaign initAddToCalender(String recordId){
        Campaign res = new Campaign();
        try {
                res = [SELECT Name,Id,StartDate,EndDate
                    FROM Campaign
                        WHERE Id = : recordId];
                return res;
        }
        catch (Exception e) {
            System.debug('lexSubmitCampaign,method:initAddToCalender   error: '+e.getMessage());
            return null;
        }
    }
    @AuraEnabled
    public static List<Event> getCampaignEvent(String Id, String userId){
        try {
            List<Event> res = [SELECT Id FROM Event WHERE whatId = :Id and WS_flg__c = true and OwnerId = :userId];
            return res;
        }
        catch (Exception e) {
            System.debug('lexSubmitCampaign,method:getCampaignEvent   error: '+e.getMessage());
            return null;
        }
    
    }
    @AuraEnabled
    public static String addCampaignEvent(Date StartDateTime,Date EndDateTime,String whatid,String Subject){
        try {
            Event event = new Event();
            event.WS_flg__c = true;
            event.IsAllDayEvent = true;
            event.StartDateTime = StartDateTime;
            event.EndDateTime = EndDateTime;
            event.whatid = whatid;
            event.Subject = Subject;
            INSERT event;
            return 'success';
        }
        catch (Exception e) {
            System.debug('lexSubmitCampaign,method:addCampaignEvent   error: '+e.getMessage());
            return e.getMessage();
        }
    }
}
force-app/main/default/lwc/lexAddToCalender/lexAddToCalender.html
New file
@@ -0,0 +1,5 @@
<template>
    <div class="Attachment" if:true={IsLoading}>
        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
    </div>
</template>
force-app/main/default/lwc/lexAddToCalender/lexAddToCalender.js
New file
@@ -0,0 +1,88 @@
import { LightningElement, track, wire,api } from 'lwc';
import { CurrentPageReference } from "lightning/navigation";
import { CloseActionScreenEvent } from 'lightning/actions';
import { ShowToastEvent } from 'lightning/platformShowToastEvent';
import USER_ID from '@salesforce/user/Id';
const event1 = new ShowToastEvent({
                    message:
                    "You have already added this Campaign!",
                    variant : 'error'
});
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(){
        init({
            recordId: this.recordId
        }).then(result => {
            if (result != null) {
                this.Campaign = result;
                this.addToCalender().then(result=>{
                   this.IsLoading=false;
                this.dispatchEvent(new CloseActionScreenEvent());
            });
            }
        }).catch(error => {
            const eventInItError = new ShowToastEvent({
                   message:
                error.message,
                variant : 'error'
            });
            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;
                        }
                        else{
                            const event3 = new ShowToastEvent({
                                message : "failed to create:" + result,
                                variant : 'error'
                            })
                            this.dispatchEvent(event3);
                        }
                    })
            }
        })
    }
}
force-app/main/default/lwc/lexAddToCalender/lexAddToCalender.js-meta.xml
New file
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lexAddToCalender">
    <apiVersion>51.0</apiVersion>
    <isExposed>true</isExposed>
    <targets>
        <target>lightning__RecordPage</target>
        <target>lightning__AppPage</target>
        <target>lightning__HomePage</target>
        <target>lightning__RecordAction</target>
    </targets>
</LightningComponentBundle>