KKbes
2023-05-23 636afc2e565e2a188cb5e5d2ffe894a219a38661
会议费用情况按钮  学会培训
5个文件已添加
207 ■■■■■ 已修改文件
force-app/main/default/classes/LexMeetingCostsController.cls 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexMeetingCostsController.cls-meta.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexMeetingCosts/lexMeetingCosts.html 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexMeetingCosts/lexMeetingCosts.js 146 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexMeetingCosts/lexMeetingCosts.js-meta.xml 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexMeetingCostsController.cls
New file
@@ -0,0 +1,42 @@
public with sharing class LexMeetingCostsController {
    @AuraEnabled
    public static Campaign  init(String recordId){
        Campaign res = new Campaign();
        try{
                res=[SELECT Id,OwnerId,JingliApprovalManager__c,BuchangApprovalManager__c,
                ZongjianApprovalManager__c,Sponsor_Ones_Post__c   FROM  Campaign  WHERE Id = : recordId ];
        }
        catch (Exception e) {
            System.debug(LoggingLevel.INFO, '*** e: ' + e);
        }
        return res;
    }
    @AuraEnabled
    public static groupmember  judgeMumber(String UserId){
        groupmember res =new groupmember();
        try{
            res=[SELECT Id FROM groupmember WHERE
            group.developername = 'X00_Meetingfee_Huabei' and userorgroupid = :UserId];
        }
        catch (Exception e) {
            System.debug(LoggingLevel.INFO, '*** e: ' + e);
        }
        return res;
    }
     @AuraEnabled
    public static String  getProfileIdByName(String Name){
        Profile profile = null;
        try {
            profile = [select Id from Profile where Name =:name];
        } catch (Exception e) {
            throw new AuraHandledException(e.getMessage());
        }
        return profile.Id;
    }
}
force-app/main/default/classes/LexMeetingCostsController.cls-meta.xml
New file
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
    <apiVersion>51.0</apiVersion>
    <status>Active</status>
</ApexClass>
force-app/main/default/lwc/lexMeetingCosts/lexMeetingCosts.html
New file
@@ -0,0 +1,3 @@
<template>
</template>
force-app/main/default/lwc/lexMeetingCosts/lexMeetingCosts.js
New file
@@ -0,0 +1,146 @@
import { LightningElement, api , track, wire } from 'lwc';
import { CurrentPageReference } from "lightning/navigation";
import { getRecord } from 'lightning/uiRecordApi';
import USER_ID from '@salesforce/user/Id';
import USERPROFILE_ID from '@salesforce/schema/User.ProfileId';
import { ShowToastEvent } from 'lightning/platformShowToastEvent';
import init  from '@salesforce/apex/LexMeetingCostsController.init';
import judgeMember  from '@salesforce/apex/LexMeetingCostsController.judgeMumber';
import getProfileIdByName  from '@salesforce/apex/LexMeetingCostsController.getProfileIdByName';
  // author: kkbes
  const event = new ShowToastEvent({
            title: '权限不足',
            message:
                '无权查看会议费用情况',
        });
export default class lexMeetingCosts extends LightningElement {
    @api recordId;
    Campaign;
    IsLoading = true;
    userId = USER_ID;
    currentUserProfileId;
    NotSupportProfileId;
    @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;
          }
        }
    }
     @wire(getRecord, { recordId: USER_ID, fields: [USERPROFILE_ID]})
         userDetails({error, data}) {
            console.log('222');
            if (data) {
                this.currentUserProfileId = data.fields.ProfileId.value;
                console.log(this.currentUserProfileId);
            } else if (error) {
                this.error = error ;
            }
    }
    connectedCallback(){
        console.log(this.recordId);
        init({
            recordId: this.recordId
        }).then(result => {
            console.log(result);
            if (result != null) {
                this.Campaign = result;
                console.log(this.Campaign);
                console.log(this.userId);
                this.MeetingCosts();
            }
        }).catch(error => {
            console.log("error");
            console.log(error);
        });
    }
    async MeetingCosts(){
        var logUser = this.userId;
        var records = await judgeMember({ UserId : this.userId});
        var ProfileId= await getProfileIdByName({Name : "系统管理员"});
        console.log('scscscsccsc');
        console.log(records);
        console.log(ProfileId);
        if(records.length>0 && this.Campaign.Sponsor_Ones_Post__c == '1.华北'){
        console.log('if');
        window.open("/apex/CampaignMeetingcost?id=" + this.Campaign.Id ,'CampaignMember','height=500,width=950');
        }
        else if (logUser == this.Campaign.OwnerId
            || logUser == this.Campaign.JingliApprovalManager__c
            || logUser == this.Campaign.BuchangApprovalManager__c
            || logUser == this.Campaign.ZongjianApprovalManager__c
            || this.currentUserProfileId == ProfileId){
        console.log('else if');
        window.open("/apex/CampaignMeetingcost?id=" + this.Campaign.Id ,'CampaignMember','height=500,width=950');
        }
        else {
        this.dispatchEvent(event);
        return;
        }
    }
}
// old  js
// {!RequireScript("/soap/ajax/51.0/connection.js")}
// {!RequireScript("/soap/ajax/51.0/apex.js")}
// {!RequireScript("/resource/CommonUtilJs")}
// var foo = function(){
// var logUser = "{!$User.Id}";
// var owner = "{!Campaign.OwnerId}";
// var Jingli = "{!Campaign.JingliApprovalManagerId__c}";
// var Buchang = "{!Campaign.BuchangApprovalManagerId__c}";
// var Zongjian = "{!Campaign.ZongjianApprovalManagerId__c}";
// var Sponsor = "{!Campaign.Sponsor_Ones_Post__c}";
// //判断是否是 00 华北市场费用共享组成员
// var myquery = "SELECT Id FROM groupmember WHERE group.developername = 'X00_Meetingfee_Huabei' and userorgroupid = '{!$User.Id}'";
// sqlResult = sforce.connection.query(myquery);
// records = sqlResult.getArray("records");
// if(records.length>0 && Sponsor == '1.华北'){
// window.open("/apex/CampaignMeetingcost?id=" + '{!Campaign.Id}' ,'CampaignMember','height=500,width=950');
// }else if (logUser == owner || logUser == Jingli || logUser == Buchang || logUser == Zongjian || "{!$User.ProfileId}" == '00e10000000Y3o5'){
// window.open("/apex/CampaignMeetingcost?id=" + '{!Campaign.Id}' ,'CampaignMember','height=500,width=950');
// }else {
// alert("无权查看会议费用情况");
// return;
// }
// };
// foo();
force-app/main/default/lwc/lexMeetingCosts/lexMeetingCosts.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="lexMeetingCosts">
    <apiVersion>51.0</apiVersion>
    <isExposed>true</isExposed>
        <targets>
        <target>lightning__AppPage</target>
        <target>lightning__RecordPage</target>
        <target>lightning__HomePage</target>
        <target>lightning__RecordAction</target>
    </targets>
</LightningComponentBundle>