/*
|
* @Description:
|
* @version:
|
* @Author: chen jing wu
|
* @Date: 2023-06-20 14:37:24
|
* @LastEditors: chen jing wu
|
* @LastEditTime: 2023-06-20 17:50:52
|
*/
|
import { api, wire,LightningElement } from 'lwc';
|
import { CurrentPageReference } from "lightning/navigation";
|
import { CloseActionScreenEvent } from 'lightning/actions';
|
import updateSubmitSolutionForApprovalButton from '@salesforce/apex/lexSolutionProjectRequirementsController.updateSubmitSolutionForApprovalButton';
|
import init from '@salesforce/apex/lexSolutionProjectRequirementsController.initSubmitSolutionForApprovalButton';
|
import queryForAttachments from '@salesforce/apex/lexSolutionProjectRequirementsController.queryForAttachments';
|
import { updateRecord } from 'lightning/uiRecordApi';
|
import { ShowToastEvent } from 'lightning/platformShowToastEvent';
|
import LightningConfirm from 'lightning/confirm';
|
|
export default class LexSubmitSolutionForApproval extends LightningElement {
|
@api recordId;
|
status;
|
submitDateYouWant;
|
createdDate;
|
departmentClassId;
|
userId;
|
userName;
|
productLeader;
|
@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;
|
}
|
}
|
}
|
showToast(msg,type) {
|
const event = new ShowToastEvent({
|
title: '',
|
message: msg,
|
variant: type
|
});
|
this.dispatchEvent(event);
|
}
|
|
|
updateRecordView(recordId) {
|
updateRecord({fields: { Id: recordId }});
|
}
|
|
connectedCallback(){
|
init({
|
recordId: this.recordId
|
}).then(result=>{
|
this.status = result.status;
|
this.submitDateYouWant = result.submitDateYouWant;
|
this.createdDate = result.createdDate;
|
this.departmentClassId = result.departmentClassId;
|
this.userId = result.userId;
|
this.userName = result.userName;
|
this.submitSolutionForApproval();
|
});
|
}
|
|
submitSolutionForApproval(){
|
if(this.status == '07结案'){
|
this.showToast('已结案','error');
|
this.dispatchEvent(new CloseActionScreenEvent());
|
return;
|
}
|
if(this.submitDateYouWant < this.createdDate + 3){
|
this.showToast('希望提交日期不得小于三天,如紧急需求请邮件联络Solution担当','error');
|
this.dispatchEvent(new CloseActionScreenEvent());
|
return;
|
}
|
queryForAttachments({
|
Id: this.departmentClassId
|
}).then(result=>{
|
var records = result;
|
var header = this.productLeader;
|
var usrname = this.userName;
|
var rtn = '';
|
if(header.contains(usrname.replaceAll(' ', ''))){
|
rtn = 'Y';
|
}else{
|
rtn = 'N';
|
}
|
|
if(records.length > 0){
|
if(rtn != 'Y' && this.userId != records[0].Department_Class__r.OwnerId && this.userId != records[0].Department_Class__r.Owner.SalesManager__c){
|
this.showToast('只允其战略科室主担、产品担当及省经理提交solution项目需求!','error');
|
this.dispatchEvent(new CloseActionScreenEvent());
|
return;
|
}
|
}
|
|
//111111111111111111111111111111111111111111
|
this.handleConfirmClick('一旦提交此记录以待批准,根据您的设置您可能不再能够编辑此记录或将他从批准过程中调回。是否继续?');
|
|
});
|
|
|
}
|
|
async handleConfirmClick(msg) {
|
const result = await LightningConfirm.open({
|
message: msg,
|
variant: 'headerless',
|
label: 'this is the aria-label value',
|
});
|
console.log(result);
|
if(result){
|
updateSubmitSolutionForApprovalButton({
|
recordId: this.recordId
|
}).then(results=>{
|
try {
|
if(results){
|
this.showToast(results,"error");
|
this.dispatchEvent(new CloseActionScreenEvent());
|
}
|
} catch (error) {
|
if(err.faultstring !=undefined && err.faultstring.indexOf('INVALID_SESSION_ID') != -1) {
|
this.showToast('当前网页已登出,请您重新登录后刷新该网页!','error');
|
this.dispatchEvent(new CloseActionScreenEvent());
|
} else {
|
this.showToast(err.faultstring,'error');
|
this.dispatchEvent(new CloseActionScreenEvent());
|
}
|
return;
|
}
|
this.updateRecordView(this.recordId);
|
});
|
// isopd.Id = "{!SolutionProjectRequirements__c.Id}";
|
// isopd.Submint_TF__c = true;
|
// isopd.Submitter__c = "{!$User.Id}";
|
}else{
|
this.dispatchEvent(new CloseActionScreenEvent());
|
return;
|
}
|
}
|
|
}
|