/*
|
* @Description:
|
* @version:
|
* @Author: chen jing wu
|
* @Date: 2023-06-06 15:41:32
|
* @LastEditors: chen jing wu
|
* @LastEditTime: 2023-10-10 17:41:40
|
*/
|
import { api, wire,LightningElement, track } from 'lwc';
|
import { CurrentPageReference } from "lightning/navigation";
|
import { CloseActionScreenEvent } from 'lightning/actions';
|
import updateForSpecSubmitButton from '@salesforce/apex/lexOpportunitySpecialApplyController.updateForSpecSubmitButton';
|
import init from '@salesforce/apex/lexOpportunitySpecialApplyController.initForSpecSubmitButton';
|
import { updateRecord,getRecord } from 'lightning/uiRecordApi';
|
import { ShowToastEvent } from 'lightning/platformShowToastEvent';
|
import LightningConfirm from 'lightning/confirm';
|
import STATUS_FIELD from "@salesforce/schema/OpportunitySpecialApply__c.Status__c";
|
import { refreshApex } from '@salesforce/apex';
|
import lwcCSS from '@salesforce/resourceUrl/lwcCSS';
|
import {loadStyle} from 'lightning/platformResourceLoader';
|
export default class LexSpecSubmit extends LightningElement {
|
@wire(getRecord, { recordId: '$recordId', fields: [STATUS_FIELD] })
|
record;
|
@api recordId;
|
applyReason;
|
isUploadFile;
|
status;
|
@track IsLoading = false;
|
@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) {
|
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 }});
|
}
|
|
connectedCallback(){
|
Promise.all([
|
loadStyle(this, lwcCSS)
|
]);
|
init({
|
recordId: this.recordId
|
}).then(result=>{
|
this.applyReason = result.applyReason;
|
this.isUploadFile = result.isUploadFile;
|
this.status = result.status;
|
this.specSubmit();
|
}).catch(error=>{
|
console.log("error");
|
console.log(error);
|
});
|
}
|
specSubmit(){
|
var reason = this.applyReason;
|
var file = this.isUploadFile;
|
var status = this.status;
|
|
if((reason == '招标质疑'||reason == '取消招标') && (file == false)){
|
this.showToast('请上传附件。','error');
|
this.dispatchEvent(new CloseActionScreenEvent());
|
return;
|
}
|
if(status != '草案中'&& status != '驳回'){
|
this.showToast('当前状态无法提交审批。','error');
|
this.dispatchEvent(new CloseActionScreenEvent());
|
return;
|
}
|
this.handleConfirmClick('一旦提交此记录以待批准,根据您的设置您可能不再能够编辑此记录或将他从批准过程中调回。是否继续?');
|
}
|
async handleConfirmClick(msg) {
|
const result = await LightningConfirm.open({
|
message: msg,
|
variant: 'headerless',
|
label: 'this is the aria-label value',
|
mode:'sticky'
|
});
|
console.log(result);
|
this.IsLoading = true;
|
if(result){
|
updateForSpecSubmitButton({
|
recordId: this.recordId
|
}).then(result=>{
|
if(result){
|
this.showToast(result,'error');
|
}else{
|
this.showToast('审批提交成功。','success');
|
setTimeout(() => {
|
refreshApex(this.record);
|
this.dispatchEvent(new CloseActionScreenEvent());
|
}, 1000);
|
}
|
this.dispatchEvent(new CloseActionScreenEvent());
|
});
|
}else{
|
this.dispatchEvent(new CloseActionScreenEvent());
|
return;
|
}
|
}
|
}
|