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';
|
const event1 = new ShowToastEvent({
|
message:
|
"请填写是否需要出借备品!",
|
variant : "error",
|
mode :'sticky'
|
});
|
const event2 = new ShowToastEvent({
|
message:
|
"如果会议发生费用,请填写会议费用。!",
|
variant : "warning"
|
});
|
const event3 = new ShowToastEvent({
|
message:
|
"会议未结束,不允许提交会议报告。!",
|
variant : "error",
|
mode :'sticky'
|
});
|
const event4 = new ShowToastEvent({
|
message:
|
"不能提交审批,请确认会议状态!",
|
variant : "error",
|
mode :'sticky'
|
});
|
|
import init from '@salesforce/apex/LexSubmitCampaignController.initSubmit';
|
import newAndUpddateCampaign from '@salesforce/apex/LexSubmitCampaignController.newAndUpddateCampaign';
|
import submitApprovalRequest from '@salesforce/apex/LexSubmitCampaignController.submitApprovalRequest';
|
export default class lexSubmitCampaign 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;
|
}else{
|
const urlValue = currentPageReference.attributes.recordId;
|
if (urlValue) {
|
let str = `${urlValue}`;
|
this.recordId = str;
|
}
|
}
|
// 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;
|
this.submit().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 submit(){
|
var checkUpdate =0;
|
var status = this.Campaign.Status;
|
var statusnext = '';
|
var isLend = this.Campaign.Is_LendProduct__c;
|
// CHAN-C4E8GM Start
|
var EndDate = new Date(this.Campaign.EndDate);
|
// CHAN-C4E8GM End
|
if (status =='草案中' || status =='计划提交'){
|
if(isLend == '' || isLend == undefined){
|
this.dispatchEvent(event1);
|
return;
|
}
|
statusnext = "计划提交";
|
|
} else if ((status =='公开中' || status =='报告提交') && (new Date()>= EndDate)) {
|
this.dispatchEvent(event2);
|
statusnext = "报告提交";
|
// CHAN-C4E8GM Start
|
} else if ((status =='公开中' || status =='报告提交') && (new Date()< EndDate)) {
|
this.dispatchEvent(event3);
|
return;
|
// CHAN-C4E8GM End
|
} else {
|
this.dispatchEvent(event4);
|
return;
|
}
|
console.log(statusnext);
|
await newAndUpddateCampaign({Id : this.recordId , Status : statusnext }).then(result=>{
|
if(result !='success'){
|
const eventErroe1 = new ShowToastEvent({
|
message:
|
result,
|
variant : 'error',
|
mode :'sticky'
|
});
|
checkUpdate +=1;
|
this.dispatchEvent(eventErroe1);
|
console.log(result);
|
console.log('submitCampaign');
|
}
|
});
|
if(checkUpdate!=0){
|
return;
|
}
|
await submitApprovalRequest({recordId : this.recordId}).then(result=>{
|
console.log(result);
|
if(result!=null){
|
//更新状态
|
newAndUpddateCampaign({Id : this.recordId , Status : status}).then(result=>{
|
if(result!='success'){
|
const eventErroe3 = new ShowToastEvent({
|
message:
|
result,
|
variant : 'error',
|
mode :'sticky'
|
});
|
checkUpdate +=1;
|
this.dispatchEvent(eventErroe3);
|
console.log(result);
|
}
|
});
|
if(checkUpdate!=0){
|
return;
|
}
|
const eventFail = new ShowToastEvent({
|
message:
|
result,
|
variant : 'error',
|
mode :'sticky'
|
});
|
this.dispatchEvent(eventFail);
|
console.log('1212312123232submitCampagin');
|
return;
|
}
|
});
|
window.location.reload();
|
|
}
|
|
}
|