import { api, wire,LightningElement } from 'lwc';
|
import { CurrentPageReference } from "lightning/navigation";
|
import { CloseActionScreenEvent } from 'lightning/actions';
|
import init from '@salesforce/apex/OpportunityLightingButtonController.initForCancelReportButton';
|
import queryForCancelReportButton from '@salesforce/apex/OpportunityLightingButtonController.queryForCancelReportButton';
|
import { updateRecord } from 'lightning/uiRecordApi';
|
import { ShowToastEvent } from 'lightning/platformShowToastEvent';
|
import { NavigationMixin } from 'lightning/navigation';
|
import { encodeDefaultFieldValues } from 'lightning/pageReferenceUtils';
|
import lwcCSS from '@salesforce/resourceUrl/lwcCSS';
|
import {loadStyle} from 'lightning/platformResourceLoader';
|
import queryCancelReport from '@salesforce/apex/OpportunityLightingButtonController.queryCancelReport';
|
import querySubmitLostReport from '@salesforce/apex/OpportunityLightingButtonController.querySubmitLostReport';
|
export default class LexCancelReport extends NavigationMixin(LightningElement) {
|
@api recordId;
|
stageName;
|
sapSendOK;
|
cntLostCancelReport;
|
cntLostCancelDraft;
|
jobCategory;
|
biddingProjectNameBid;
|
name;
|
salesAssistantName;
|
salesAssistantID;
|
managerName;
|
salesManagerDepartmentID;
|
salesOwnerBuchang;
|
salesOwnerBuchangID;
|
recordTypeId;
|
haveLostReport;
|
//生产环境bug修改 陈京武 20231105 Start
|
haveSubmitLostReport;
|
//生产环境bug修改 陈京武 20231105 End
|
IsLoading = true;
|
@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;
|
}
|
}
|
}
|
connectedCallback(){
|
Promise.all([
|
loadStyle(this, lwcCSS)
|
]);
|
|
init({
|
recordId: this.recordId
|
}).then(result=>{
|
console.log(result);
|
this.stageName = result.stageName == undefined ? '' : result.stageName;
|
this.sapSendOK = result.sapSendOK == undefined ? '' : result.sapSendOK;
|
this.cntLostCancelDraft = result.cntLostCancelDraft == undefined ? '' : result.cntLostCancelDraft;
|
this.cntLostCancelReport = result.cntLostCancelReport == undefined ? '' : result.cntLostCancelReport;
|
this.jobCategory = result.jobCategory == undefined ? '' : result.jobCategory;
|
this.biddingProjectNameBid = result.biddingProjectNameBid == undefined ? '' : result.biddingProjectNameBid;
|
this.name = result.name == undefined ? '' : result.name;
|
this.salesAssistantID = result.salesAssistantID == undefined ? '' : result.salesAssistantID;
|
this.salesAssistantName = result.salesAssistantName == undefined ? '' : result.salesAssistantName;
|
this.managerName = result.managerName == undefined ? '' : result.managerName;
|
this.salesManagerDepartmentID = result.salesManagerDepartmentID == undefined ? '' : result.salesManagerDepartmentID;
|
this.salesOwnerBuchang = result.salesOwnerBuchang == undefined ? '' : result.salesOwnerBuchang;
|
this.salesOwnerBuchangID = result.salesOwnerBuchangID == undefined ? '' : result.salesOwnerBuchangID;
|
this.recordTypeId = result.recordTypeId;
|
queryCancelReport({
|
recordId: this.recordId
|
}).then(result=>{
|
this.haveLostReport = result;
|
//生产环境bug修改 陈京武 20231105 Start
|
querySubmitLostReport({
|
recordId: this.recordId
|
}).then(result1=>{
|
this.haveSubmitLostReport = result1;
|
this.cancelReport();
|
});
|
//生产环境bug修改 陈京武 20231105 End
|
});
|
|
}).catch(error=>{
|
console.log("error");
|
console.log(error);
|
});
|
}
|
showToast(msg,type) {
|
if(type == 'success'){
|
const event = new ShowToastEvent({
|
message: msg,
|
variant: type,
|
});
|
this.dispatchEvent(event);
|
this.dispatchEvent(new CloseActionScreenEvent());
|
}else{
|
const event = new ShowToastEvent({
|
message: msg,
|
variant: type,
|
mode: 'sticky'
|
});
|
this.dispatchEvent(event);
|
this.dispatchEvent(new CloseActionScreenEvent());
|
}
|
}
|
updateRecordView(recordId) {
|
updateRecord({fields: { Id: recordId }});
|
}
|
cancelReport(){
|
//XLIU-CG98L5 【委托】【评估】新需求-招标项目/询价对应流标、废标改善 start
|
queryForCancelReportButton({
|
recordId: this.recordId
|
}).then(result=>{
|
var sqlResult = result;
|
// alert('测试+:'+sqlResult.size);
|
//XLIU-CG98L5 【委托】【评估】新需求-招标项目/询价对应流标、废标改善 end
|
// jsの場合、翻訳された値がでるので、要注意
|
if (this.stageName != '引合'
|
&& this.stageName != '询价'
|
) {
|
this.showToast("状态1:" + this.stageName + "、不能做 取消 了!","error");
|
|
}
|
else if (this.sapSendOK == '1') {
|
this.showToast("已经上传SAP、不能做 取消 了!","error");
|
}
|
//生产环境bug修改 陈京武 20231105 Start
|
else if (this.haveSubmitLostReport) {
|
this.showToast("已经有提交的失单报告,不可新建取消报告","error");
|
}
|
else if (this.haveLostReport) {
|
this.showToast("已经有草案中的取消报告,请编辑草案中的进行提交","error");
|
}
|
//生产环境bug修改 陈京武 20231105 End
|
else if (this.jobCategory == '支援') {
|
this.showToast("询价所有人是助理的,先请修改到销售担当!","error");
|
}
|
//XLIU-CG98L5 【委托】【评估】新需求-招标项目/询价对应流标、废标改善 start
|
//else if({!NOT(ISBLANK(Opportunity.Bidding_Project_Name_Bid__c))}&& '{!Opportunity.subInfoType__c}' != '3-1:废标公告' &&'{!Opportunity.subInfoType__c}' != '3-2:流标公告'){
|
else if(this.biddingProjectNameBid != '' && sqlResult.length == 0){
|
this.showToast("有招投标项目时只能做失单或部分失单报告!","error");
|
}
|
//XLIU-CG98L5 【委托】【评估】新需求-招标项目/询价对应流标、废标改善 end
|
else {
|
const defaultValues = encodeDefaultFieldValues({
|
Opportunity__c: this.recordId, // 关联主记录 ID
|
Sales_assistant__c: this.salesAssistantID,
|
Manager_sales__c: this.salesManagerDepartmentID,
|
Buchang_sales__c: this.salesOwnerBuchangID
|
});
|
this[NavigationMixin.Navigate]({
|
type: 'standard__objectPage',
|
attributes: {
|
objectApiName: 'Lost_cancel_report__c',
|
actionName: 'new'
|
},
|
state: {
|
nooverride: '1',
|
defaultFieldValues: defaultValues,
|
recordTypeId: this.recordTypeId,
|
}
|
});
|
}
|
this.dispatchEvent(new CloseActionScreenEvent());
|
});
|
}
|
}
|