From 955453de1d14e678b5b8c76fd73905effdb7cc0b Mon Sep 17 00:00:00 2001
From: KKbes <1620284052@qq.com>
Date: 星期三, 19 七月 2023 14:46:51 +0800
Subject: [PATCH] 学会

---
 force-app/main/default/lwc/lexCancelInService/lexCancelInService.js-meta.xml                       |   11 +
 force-app/main/default/lwc/lexCampaignMemberService/lexCampaignMemberService.html                  |    5 
 force-app/main/default/aura/lexCampaignMemberServiceAura/lexCampaignMemberServiceAuraHelper.js     |    5 
 force-app/main/default/lwc/lexCampaignMemberService/lexCampaignMemberService.js                    |   82 +++++++
 force-app/main/default/aura/lexCancelInServiceAura/lexCancelInServiceAura.cmp                      |   10 
 force-app/main/default/aura/lexCancelInServiceAura/lexCancelInServiceAura.css                      |    2 
 force-app/main/default/aura/lexCancleCampaignAura/lexCancleCampaignAura.css                        |    2 
 force-app/main/default/lwc/lexCancleCampaign/lexCancleCampaign.html                                |    5 
 force-app/main/default/aura/lexCancleCampaignAura/lexCancleCampaignAura.cmp                        |   10 
 force-app/main/default/aura/lexCampaignMemberServiceAura/lexCampaignMemberServiceAura.css          |    2 
 force-app/main/default/aura/lexCampaignMemberServiceAura/lexCampaignMemberServiceAura.cmp          |   10 
 force-app/main/default/lwc/lexCancleCampaign/lexCancleCampaign.js                                  |  160 ++++++++++++++
 force-app/main/default/aura/lexCancelInServiceAura/lexCancelInServiceAura.cmp-meta.xml             |    5 
 force-app/main/default/classes/LexSubmitCampaignController.cls-meta.xml                            |    5 
 force-app/main/default/lwc/lexCampaignMemberService/lexCampaignMemberService.js-meta.xml           |   11 +
 force-app/main/default/lwc/lexCancelInService/lexCancelInService.js                                |  123 +++++++++++
 force-app/main/default/aura/lexCancleCampaignAura/lexCancleCampaignAuraController.js               |    5 
 force-app/main/default/aura/lexCampaignMemberServiceAura/lexCampaignMemberServiceAura.cmp-meta.xml |    5 
 force-app/main/default/aura/lexCancleCampaignAura/lexCancleCampaignAura.cmp-meta.xml               |    5 
 force-app/main/default/lwc/lexCancleCampaign/lexCancleCampaign.js-meta.xml                         |   11 +
 force-app/main/default/aura/lexCampaignMemberServiceAura/lexCampaignMemberServiceAuraController.js |    5 
 force-app/main/default/lwc/lexCancelInService/lexCancelInService.html                              |    5 
 force-app/main/default/aura/lexCancelInServiceAura/lexCancelInServiceAuraHelper.js                 |    5 
 force-app/main/default/classes/LexSubmitCampaignController.cls                                     |  128 +++++++++++
 force-app/main/default/aura/lexCancelInServiceAura/lexCancelInServiceAuraController.js             |    5 
 force-app/main/default/aura/lexCancleCampaignAura/lexCancleCampaignAuraHelper.js                   |    5 
 26 files changed, 627 insertions(+), 0 deletions(-)

diff --git a/force-app/main/default/aura/lexCampaignMemberServiceAura/lexCampaignMemberServiceAura.cmp b/force-app/main/default/aura/lexCampaignMemberServiceAura/lexCampaignMemberServiceAura.cmp
new file mode 100644
index 0000000..ac87d5a
--- /dev/null
+++ b/force-app/main/default/aura/lexCampaignMemberServiceAura/lexCampaignMemberServiceAura.cmp
@@ -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">
+
+        <c:lexCampaignMemberService recordId="{!v.recordId}" />
+        
+    </div>
+</aura:component>
\ No newline at end of file
diff --git a/force-app/main/default/aura/lexCampaignMemberServiceAura/lexCampaignMemberServiceAura.cmp-meta.xml b/force-app/main/default/aura/lexCampaignMemberServiceAura/lexCampaignMemberServiceAura.cmp-meta.xml
new file mode 100644
index 0000000..632b900
--- /dev/null
+++ b/force-app/main/default/aura/lexCampaignMemberServiceAura/lexCampaignMemberServiceAura.cmp-meta.xml
@@ -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>
diff --git a/force-app/main/default/aura/lexCampaignMemberServiceAura/lexCampaignMemberServiceAura.css b/force-app/main/default/aura/lexCampaignMemberServiceAura/lexCampaignMemberServiceAura.css
new file mode 100644
index 0000000..a5839d4
--- /dev/null
+++ b/force-app/main/default/aura/lexCampaignMemberServiceAura/lexCampaignMemberServiceAura.css
@@ -0,0 +1,2 @@
+.THIS {
+}
\ No newline at end of file
diff --git a/force-app/main/default/aura/lexCampaignMemberServiceAura/lexCampaignMemberServiceAuraController.js b/force-app/main/default/aura/lexCampaignMemberServiceAura/lexCampaignMemberServiceAuraController.js
new file mode 100644
index 0000000..bb1e8ab
--- /dev/null
+++ b/force-app/main/default/aura/lexCampaignMemberServiceAura/lexCampaignMemberServiceAuraController.js
@@ -0,0 +1,5 @@
+({
+	myAction : function(component, event, helper) {
+		
+	}
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/lexCampaignMemberServiceAura/lexCampaignMemberServiceAuraHelper.js b/force-app/main/default/aura/lexCampaignMemberServiceAura/lexCampaignMemberServiceAuraHelper.js
new file mode 100644
index 0000000..24be77e
--- /dev/null
+++ b/force-app/main/default/aura/lexCampaignMemberServiceAura/lexCampaignMemberServiceAuraHelper.js
@@ -0,0 +1,5 @@
+({
+	helperMethod : function() {
+		
+	}
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/lexCancelInServiceAura/lexCancelInServiceAura.cmp b/force-app/main/default/aura/lexCancelInServiceAura/lexCancelInServiceAura.cmp
new file mode 100644
index 0000000..54bae36
--- /dev/null
+++ b/force-app/main/default/aura/lexCancelInServiceAura/lexCancelInServiceAura.cmp
@@ -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">
+
+        <c:lexCancelInService recordId="{!v.recordId}" />
+        
+    </div>
+</aura:component>
\ No newline at end of file
diff --git a/force-app/main/default/aura/lexCancelInServiceAura/lexCancelInServiceAura.cmp-meta.xml b/force-app/main/default/aura/lexCancelInServiceAura/lexCancelInServiceAura.cmp-meta.xml
new file mode 100644
index 0000000..632b900
--- /dev/null
+++ b/force-app/main/default/aura/lexCancelInServiceAura/lexCancelInServiceAura.cmp-meta.xml
@@ -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>
diff --git a/force-app/main/default/aura/lexCancelInServiceAura/lexCancelInServiceAura.css b/force-app/main/default/aura/lexCancelInServiceAura/lexCancelInServiceAura.css
new file mode 100644
index 0000000..a5839d4
--- /dev/null
+++ b/force-app/main/default/aura/lexCancelInServiceAura/lexCancelInServiceAura.css
@@ -0,0 +1,2 @@
+.THIS {
+}
\ No newline at end of file
diff --git a/force-app/main/default/aura/lexCancelInServiceAura/lexCancelInServiceAuraController.js b/force-app/main/default/aura/lexCancelInServiceAura/lexCancelInServiceAuraController.js
new file mode 100644
index 0000000..bb1e8ab
--- /dev/null
+++ b/force-app/main/default/aura/lexCancelInServiceAura/lexCancelInServiceAuraController.js
@@ -0,0 +1,5 @@
+({
+	myAction : function(component, event, helper) {
+		
+	}
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/lexCancelInServiceAura/lexCancelInServiceAuraHelper.js b/force-app/main/default/aura/lexCancelInServiceAura/lexCancelInServiceAuraHelper.js
new file mode 100644
index 0000000..24be77e
--- /dev/null
+++ b/force-app/main/default/aura/lexCancelInServiceAura/lexCancelInServiceAuraHelper.js
@@ -0,0 +1,5 @@
+({
+	helperMethod : function() {
+		
+	}
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/lexCancleCampaignAura/lexCancleCampaignAura.cmp b/force-app/main/default/aura/lexCancleCampaignAura/lexCancleCampaignAura.cmp
new file mode 100644
index 0000000..ad4b58c
--- /dev/null
+++ b/force-app/main/default/aura/lexCancleCampaignAura/lexCancleCampaignAura.cmp
@@ -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">
+
+        <c:lexCancleCampaign recordId="{!v.recordId}" />
+        
+    </div>
+</aura:component>
\ No newline at end of file
diff --git a/force-app/main/default/aura/lexCancleCampaignAura/lexCancleCampaignAura.cmp-meta.xml b/force-app/main/default/aura/lexCancleCampaignAura/lexCancleCampaignAura.cmp-meta.xml
new file mode 100644
index 0000000..632b900
--- /dev/null
+++ b/force-app/main/default/aura/lexCancleCampaignAura/lexCancleCampaignAura.cmp-meta.xml
@@ -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>
diff --git a/force-app/main/default/aura/lexCancleCampaignAura/lexCancleCampaignAura.css b/force-app/main/default/aura/lexCancleCampaignAura/lexCancleCampaignAura.css
new file mode 100644
index 0000000..a5839d4
--- /dev/null
+++ b/force-app/main/default/aura/lexCancleCampaignAura/lexCancleCampaignAura.css
@@ -0,0 +1,2 @@
+.THIS {
+}
\ No newline at end of file
diff --git a/force-app/main/default/aura/lexCancleCampaignAura/lexCancleCampaignAuraController.js b/force-app/main/default/aura/lexCancleCampaignAura/lexCancleCampaignAuraController.js
new file mode 100644
index 0000000..bb1e8ab
--- /dev/null
+++ b/force-app/main/default/aura/lexCancleCampaignAura/lexCancleCampaignAuraController.js
@@ -0,0 +1,5 @@
+({
+	myAction : function(component, event, helper) {
+		
+	}
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/lexCancleCampaignAura/lexCancleCampaignAuraHelper.js b/force-app/main/default/aura/lexCancleCampaignAura/lexCancleCampaignAuraHelper.js
new file mode 100644
index 0000000..24be77e
--- /dev/null
+++ b/force-app/main/default/aura/lexCancleCampaignAura/lexCancleCampaignAuraHelper.js
@@ -0,0 +1,5 @@
+({
+	helperMethod : function() {
+		
+	}
+})
\ No newline at end of file
diff --git a/force-app/main/default/classes/LexSubmitCampaignController.cls b/force-app/main/default/classes/LexSubmitCampaignController.cls
new file mode 100644
index 0000000..cb77566
--- /dev/null
+++ b/force-app/main/default/classes/LexSubmitCampaignController.cls
@@ -0,0 +1,128 @@
+public with sharing class LexSubmitCampaignController {
+    //鎻愪氦瀹℃壒鎸夐挳 瀛︿細
+    @AuraEnabled
+    public static Campaign initSubmit(String recordId){
+        try{
+            Campaign res = [SELECT Id,Status,Is_LendProduct__c,EndDate
+                FROM Campaign 
+                    WHERE Id = : recordId];
+            return res;
+        }
+        catch(Exception e){
+            System.debug('lexSubmitCampaign,method:initSubmit   error: '+e.getMessage());
+        }
+        return null;
+    }
+
+    @AuraEnabled
+    public static void newAndUpddateCampaign(String Id,String Status){
+        try{    
+            Campaign res = new Campaign();
+            res.Id = Id;
+            res.Status=Status;
+            update res;
+        }
+        catch(Exception e){
+            System.debug('lexSubmitCampaign,method:newAndUpddateCampaign   error: '+e.getMessage());
+           
+        }
+
+    }
+
+    
+    @AuraEnabled
+    public static String submitApprovalRequest(String recordId) {
+        try{
+           Approval.ProcessSubmitRequest req = new Approval.ProcessSubmitRequest();
+           req.setObjectId(recordId);
+           Approval.ProcessResult result = Approval.process(req);
+           if(result!=null&&result.getErrors()!=null&&result.getErrors().size()>0) return result.getErrors().get(0).getMessage();
+        }catch(Exception e){
+            System.debug('lexSubmitCampaign,method:submitApprovalRequest submitApprovalRequest  error: '+e.getMessage());
+            return e.getMessage();
+        }
+        return null;
+    }
+
+    //鍙栨秷鎸夐挳 
+    @AuraEnabled
+    public static Campaign initCancle(String recordId){
+        Campaign res = new Campaign();
+        try {
+            res = [SELECT Status,Id,CancleReason__c,IF_Submit__c
+                                    From Campaign Where Id = :recordId];
+            return res;
+        }
+        catch (Exception e) {
+             System.debug('lexSubmitCampaign,method:initCancle   error: '+e.getMessage());
+        }
+        return res;
+    }
+
+    @AuraEnabled
+    public static String newAndUpdateCampaignCancle(String campaignId ,String Status){
+
+        try {
+            Campaign res = new Campaign();
+            res.Id = campaignId;
+            res.Status =Status;
+            update res;
+            
+        }
+        catch (Exception e) {
+            return e.getMessage();
+        }
+        return 'success';
+    }    
+
+    @AuraEnabled
+    public static Campaign initMember(String recordId){
+        Campaign res = new Campaign();
+        try {
+            res = [SELECT Status,Id,    ServiceDesignDep__c
+                                    From Campaign Where Id = :recordId];
+            return res;
+        }
+        catch (Exception e) {
+             System.debug('lexSubmitCampaign,method:initCancle   error: '+e.getMessage());
+        }
+        return res;    
+    }
+
+    //鍙栨秷鎸夐挳 CancleService
+    @AuraEnabled
+    public static Campaign initCancleService(String recordId){
+        Campaign res = new Campaign();
+        try {
+            res = [SELECT Status,Id,CancleReason__c
+                                    From Campaign Where Id = :recordId];
+            return res;
+        }
+        catch (Exception e) {
+             System.debug('lexSubmitCampaign,method:initCancle   error: '+e.getMessage());
+        }
+        return res;        
+    }
+
+    @AuraEnabled
+    public static String cancleServiceNewAndUpdate(String Id,String Status,Boolean IsCancelFromOpen){
+        Campaign res = new Campaign();
+        try{
+            res.Id = Id;
+            res.Status = Status;
+            res.IsCancelFromOpen__c = IsCancelFromOpen;
+            UPDATE res;
+            return 'success';
+        }
+        catch (Exception e) {
+             System.debug('lexSubmitCampaign,method:initCancle   error: '+e.getMessage());
+             return e.getMessage();
+        }
+        return 'success';
+    }
+
+    
+
+
+
+}
\ No newline at end of file
diff --git a/force-app/main/default/classes/LexSubmitCampaignController.cls-meta.xml b/force-app/main/default/classes/LexSubmitCampaignController.cls-meta.xml
new file mode 100644
index 0000000..70f89f4
--- /dev/null
+++ b/force-app/main/default/classes/LexSubmitCampaignController.cls-meta.xml
@@ -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>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCampaignMemberService/lexCampaignMemberService.html b/force-app/main/default/lwc/lexCampaignMemberService/lexCampaignMemberService.html
new file mode 100644
index 0000000..c444cc3
--- /dev/null
+++ b/force-app/main/default/lwc/lexCampaignMemberService/lexCampaignMemberService.html
@@ -0,0 +1,5 @@
+<template>
+    <div class="Attachment" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCampaignMemberService/lexCampaignMemberService.js b/force-app/main/default/lwc/lexCampaignMemberService/lexCampaignMemberService.js
new file mode 100644
index 0000000..c23ecf2
--- /dev/null
+++ b/force-app/main/default/lwc/lexCampaignMemberService/lexCampaignMemberService.js
@@ -0,0 +1,82 @@
+import { LightningElement, track, wire,api } from 'lwc';
+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 { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+const event1 = new ShowToastEvent({
+	            	message:
+	                "鎵瑰噯鍚庝笉鑳芥坊鍔犲弬浼氫汉鍛橈紝濡傞渶娣诲姞璇疯仈绯绘湇鍔′紒鍒掗儴!",
+	                variant : 'error'
+});
+import init  from '@salesforce/apex/LexSubmitCampaignController.initMember';
+import getProfileIdByName  from '@salesforce/apex/LexMeetingCostsController.getProfileIdByName';
+export default class lexCampaignMemberService extends LightningElement {
+	@api recordId;
+	IsLoading=true;
+	Campaign;
+	currentUserProfileId;
+
+
+
+	@wire(CurrentPageReference)
+    getStateParameters(currentPageReference) {
+        if (currentPageReference) {
+          const urlValue = currentPageReference.state.recordId;
+          if (urlValue) {
+            let str = `${urlValue}`;
+            this.recordId = str;
+          }
+        }
+    }
+
+	@wire(getRecord, { recordId: USER_ID, fields: [USERPROFILE_ID]}) 
+    userDetails({error, data}) {
+        if (data) {
+        	this.currentUserProfileId =data.fields.ProfileId.value;          
+        } else if (error) {
+            this.error = error ;
+        }
+    }
+
+
+
+    connectedCallback(){
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            if (result != null) {
+                this.Campaign = result;
+                console.log(this.Campaign);
+                this.campaignMemberService().then(result=>{
+               	this.IsLoading=false;
+            	this.dispatchEvent(new CloseActionScreenEvent());
+            });
+            }
+        }).catch(error => {
+			const eventInItError = new ShowToastEvent({
+	           	message:
+	            error.message,
+	            variant : 'error'
+        	});
+        	this.dispatchEvent(eventInItError);
+        });
+
+    }
+
+	async campaignMemberService(){
+		var ProfileId= await getProfileIdByName({Name : "绯荤粺绠$悊鍛�"}); 
+		console.log(ProfileId);
+		var cstatus = this.Campaign.Status;
+		if (cstatus =='鑽夋涓�' || this.Campaign.ServiceDesignDepId__c == USER_ID
+		|| this.currentUserProfileId == ProfileId ){
+			window.open("/apex/CampaignMemberService?id=" + this.Campaign.Id,'CampaignMember','height=400,width=890,top=0,left=0,toolbar=no,menubar=no,scrollbars=yes,resizable=no,location=no,status=no');
+
+		} else {
+			this.dispatchEvent(event1);
+			return;
+		}
+	}
+
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCampaignMemberService/lexCampaignMemberService.js-meta.xml b/force-app/main/default/lwc/lexCampaignMemberService/lexCampaignMemberService.js-meta.xml
new file mode 100644
index 0000000..e22f059
--- /dev/null
+++ b/force-app/main/default/lwc/lexCampaignMemberService/lexCampaignMemberService.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lexCampaignMemberService">
+    <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>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCancelInService/lexCancelInService.html b/force-app/main/default/lwc/lexCancelInService/lexCancelInService.html
new file mode 100644
index 0000000..c444cc3
--- /dev/null
+++ b/force-app/main/default/lwc/lexCancelInService/lexCancelInService.html
@@ -0,0 +1,5 @@
+<template>
+    <div class="Attachment" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCancelInService/lexCancelInService.js b/force-app/main/default/lwc/lexCancelInService/lexCancelInService.js
new file mode 100644
index 0000000..30d1819
--- /dev/null
+++ b/force-app/main/default/lwc/lexCancelInService/lexCancelInService.js
@@ -0,0 +1,123 @@
+import { LightningElement, track, wire,api } from 'lwc';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+const event1 = new ShowToastEvent({
+	            	message:
+	                "宸茬粡鍙栨秷!",
+	                variant : 'error'
+});
+const event3 = new ShowToastEvent({
+	            	message:
+	                "蹇呴』杈撳叆鍙栨秷鐞嗙敱",
+	                variant : 'error'
+});
+import init  from '@salesforce/apex/LexSubmitCampaignController.initCancleService';
+import submitApprovalRequest  from '@salesforce/apex/LexSubmitCampaignController.submitApprovalRequest';
+import newAndUpdateCampaignCancle  from '@salesforce/apex/LexSubmitCampaignController.newAndUpdateCampaignCancle';
+import cancleServiceNewAndUpdate  from '@salesforce/apex/LexSubmitCampaignController.cancleServiceNewAndUpdate';
+export default class lexCancelInService 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.cancelInService().then(result=>{
+               	this.IsLoading=false;
+            	this.dispatchEvent(new CloseActionScreenEvent());
+            });
+            }
+        }).catch(error => {
+			const eventInItError = new ShowToastEvent({
+	           	message:
+	            error.message,
+	            variant : 'error'
+        	});
+        	this.dispatchEvent(eventInItError);
+        });
+
+    }
+
+    async cancelInService(){
+		if (this.Campaign.Status == '鍙栨秷') {
+			this.dispatchEvent(event1);
+			return;
+		}
+		if (this.Campaign.Status != '鑽夋涓�' && this.Campaign.Status != '鍏紑涓�') {
+			const event2 = new dispatchEvent({
+				message : this.Campaign.Status +"鐘舵�佷笉鑳藉彇娑�" ,
+				variant : 'error'
+			})
+			this.dispatchEvent(event2);
+			return;
+		}
+		if (this.Campaign.CancleReason__c == null || this.Campaign.CancleReason__c == '' || this.Campaign.CancleReason__c == undefined) {
+			this.dispatchEvent(event3);
+			return;
+		}
+		var IsCancelFromOpen = false;
+		console.log(this.Campaign.Status);
+		if (this.Campaign.Status == '鍏紑涓�') {
+			IsCancelFromOpen = true;
+		}
+		await cancleServiceNewAndUpdate({
+		Id: this.Campaign.Id, Status : '鍙栨秷鐢宠涓�', IsCancelFromOpen : IsCancelFromOpen}).then(result1=>{
+			if(result1 != 'success'){
+			const event4 = new dispatchEvent({
+				message : result1,
+				variant : 'error'
+			});
+			this.dispatchEvent(event4);
+		}
+		});
+		//寮�濮嬪鎵规祦
+		await  submitApprovalRequest({recordId : this.recordId}).then(result=>{
+			if(result!=null){
+				var theStatus ='';
+				if(IsCancelFromOpen){
+					theStatus = '鍏紑涓�';
+				}
+				else{
+					theStatus = '鑽夋涓�'
+				}
+				newAndUpddateCampaign({campaignId : this.Campaign.Id , Status : theStatus}).then(result2=>{
+				 	if(result2!='success'){
+				 		const eventErroe3 = new ShowToastEvent({
+		      				message:
+			        	   	result2,
+			        	   	variant : 'error'
+		        		});
+		        		this.dispatchEvent(eventErroe3);	
+				 	}
+
+				});
+				const eventFail = new ShowToastEvent({
+			       	 	message:
+			       	  	result1,
+			      	    variant : 'error'
+		       	 });	
+		        this.dispatchEvent(eventFail);
+			}
+		});
+		window.location.reload();
+
+
+    }
+
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCancelInService/lexCancelInService.js-meta.xml b/force-app/main/default/lwc/lexCancelInService/lexCancelInService.js-meta.xml
new file mode 100644
index 0000000..047ae66
--- /dev/null
+++ b/force-app/main/default/lwc/lexCancelInService/lexCancelInService.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lexCancelInService">
+    <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>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCancleCampaign/lexCancleCampaign.html b/force-app/main/default/lwc/lexCancleCampaign/lexCancleCampaign.html
new file mode 100644
index 0000000..c444cc3
--- /dev/null
+++ b/force-app/main/default/lwc/lexCancleCampaign/lexCancleCampaign.html
@@ -0,0 +1,5 @@
+<template>
+    <div class="Attachment" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCancleCampaign/lexCancleCampaign.js b/force-app/main/default/lwc/lexCancleCampaign/lexCancleCampaign.js
new file mode 100644
index 0000000..d343a40
--- /dev/null
+++ b/force-app/main/default/lwc/lexCancleCampaign/lexCancleCampaign.js
@@ -0,0 +1,160 @@
+import { LightningElement, track, wire,api } from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+
+const event1 = new ShowToastEvent({
+	            	message:
+	                "宸茬粡鍙栨秷锛�!",
+	                variant : "error" 
+});	
+const event4 = new ShowToastEvent({
+	            	message:
+	                "蹇呴』杈撳叆鍙栨秷鐞嗙敱",
+	                variant : "error" 
+});	
+const event5 = new ShowToastEvent({
+	            	message:
+	                "璇ユ椿鍔ㄤ俊鎭凡鍙戦�佸埌鏅烘収鍖荤枟锛岃纭鍚庡啀鎿嶄綔",
+	                variant : "error" 
+});	
+const event6 = new ShowToastEvent({
+	            	message:
+	                "宸插彇娑�",
+	                variant : "success" 
+});	
+
+
+import init  from '@salesforce/apex/LexSubmitCampaignController.initCancle';
+import changeCampaign  from '@salesforce/apex/OpdPlanWebService.changeCampaign';
+import submitApprovalRequest  from '@salesforce/apex/LexSubmitCampaignController.submitApprovalRequest';
+import newAndUpdateCampaignCancle  from '@salesforce/apex/LexSubmitCampaignController.newAndUpdateCampaignCancle';
+export default class lexCancleCampaign 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;
+                console.log(this.Campaign);
+                this.cancle().then(result=>{
+                	this.IsLoading=false;
+                	this.dispatchEvent(new CloseActionScreenEvent());
+                });
+            }
+        }).catch(error => {
+			const eventInItError = new ShowToastEvent({
+	           	message:
+	            error.message,
+	            variant : 'error'
+        	});
+        	this.dispatchEvent(eventInItError);
+        });
+
+    }
+
+
+    async cancle(){
+	    if(this.Campaign.Status =='鍙栨秷'){
+			this.dispatchEvent(event1);
+			return;
+		}
+		if(this.Campaign.Status !='鑽夋涓�' && this.Campaign.Status !='鍏紑涓�' && this.Campaign.Status !='鍙栨秷'){
+			const event2 = new ShowToastEvent({
+				message : this.Campaign.Status +'鐘舵�佷笉鑳藉彇娑�',
+				variant : 'error'
+			});
+			this.dispatchEvent(event2);
+			return;
+		}
+		// OPD鍙栨秷鍜屽鍝佸彇娑堟鏌�
+		var campaignId= this.Campaign.Id;
+		var rtn = await changeCampaign({campaignId : campaignId });
+		if (rtn != 'OK') {
+			const event3 = new dispatchEvent({
+				message : rtn,
+				variant : 'error'
+			})
+			this.dispatchEvent(event3);
+			return;
+		}
+		if(this.Campaign.CancleReason__c == null || this.Campaign.CancleReason__c =='' || this.Campaign.CancleReason__c == undefined){
+			this.dispatchEvent(event4);
+			return;
+		}
+		if(this.Campaign.IF_Submit__c != 0){
+			this.dispatchEvent(event5);
+		}
+		// End
+		//鐘舵�佷笉鍚岀殑鍙栨秷鎿嶄綔浼氫笉涓�鏍凤紝鍏紑涓殑瀛︿細
+		if(this.Campaign.Status =='鑽夋涓�'){
+			await newAndUpdateCampaignCancle({campaignId : this.Campaign.Id, Status : '鍙栨秷'}).then(result=>{
+				if(result=='success'){
+					this.dispatchEvent(event6);
+					location.href = "/"+this.Campaign.Id;
+				}
+				else{
+					const event7 = new ShowToastEvent({
+						message : result,
+						variant : 'error'
+					})
+					this.dispatchEvent(event7);
+
+				}
+			});
+		}else if(this.Campaign.Status =='鍏紑涓�'){
+			await newAndUpdateCampaignCancle({campaignId : this.Campaign.Id, Status : '鍙栨秷鐢宠涓�'}).then(result=>{
+				if(result!='success'){
+					const event8 = new ShowToastEvent({
+						message : result,
+						variant : 'error'
+					})
+					this.dispatchEvent(event8);
+				}
+			});
+			await  submitApprovalRequest({recordId : this.recordId}).then(result1=>{
+				console.log(result1);
+				if(result1!=null){
+				//鏇存柊鐘舵��
+				 newAndUpddateCampaign({campaignId : this.Campaign.Id , Status : '鍏紑涓�'}).then(result2=>{
+				 	if(result2!='success'){
+				 		const eventErroe3 = new ShowToastEvent({
+		      				message:
+			        	   	result2,
+			        	   	variant : 'error'
+		        		});
+		        		this.dispatchEvent(eventErroe3);	
+				 	}
+
+				});
+				const eventFail = new ShowToastEvent({
+			       	 	message:
+			       	  	result1,
+			      	    variant : 'error'
+		       	 });	
+		        this.dispatchEvent(eventFail);
+		        return;
+				}
+			});
+			window.location.reload();
+		}
+
+    }
+
+
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCancleCampaign/lexCancleCampaign.js-meta.xml b/force-app/main/default/lwc/lexCancleCampaign/lexCancleCampaign.js-meta.xml
new file mode 100644
index 0000000..2990dbc
--- /dev/null
+++ b/force-app/main/default/lwc/lexCancleCampaign/lexCancleCampaign.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lexCancleCampaign">
+    <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>
\ No newline at end of file

--
Gitblit v1.9.1