/*
|
* @Description:
|
* @version:
|
* @Author: chen jing wu
|
* @Date: 2023-05-15 13:17:26
|
* @LastEditors: chen jing wu
|
* @LastEditTime: 2023-10-10 17:33:05
|
*/
|
/*
|
* @Description:
|
* @version:
|
* @Author: chen jing wu
|
* @Date: 2023-05-15 13:17:26
|
* @LastEditors: chen jing wu
|
* @LastEditTime: 2023-05-24 16:34:40
|
*/
|
import { api, wire,LightningElement } from 'lwc';
|
import { CurrentPageReference } from "lightning/navigation";
|
import { CloseActionScreenEvent } from 'lightning/actions';
|
import { ShowToastEvent } from 'lightning/platformShowToastEvent';
|
import { updateRecord } from 'lightning/uiRecordApi';
|
import init from '@salesforce/apex/OpportunityLightingButtonController.initForChangeContractTypeButton';
|
import changeTrade from '@salesforce/apex/OpportunityLightingButtonController.changeTrade';
|
import LightningConfirm from 'lightning/confirm';
|
import { NavigationMixin } from 'lightning/navigation';
|
import lwcCSS from '@salesforce/resourceUrl/lwcCSS';
|
import {loadStyle} from 'lightning/platformResourceLoader';
|
export default class LexChangeContractType extends NavigationMixin(LightningElement) {
|
@api recordId;
|
stageName;
|
estimationDecision;
|
sapSendOK;
|
ifAuthorizingLock;
|
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;
|
}
|
}
|
}
|
async handleConfirmClick(msg) {
|
const result = await LightningConfirm.open({
|
message: msg,
|
variant: 'headerless',
|
label: 'this is the aria-label value',
|
});
|
console.log(result);
|
if(result){
|
try {
|
console.log("22222");
|
changeTrade({
|
oppId: this.recordId
|
}).then(result=>{
|
console.log("1111");
|
var str = result;
|
if(str != '1'){
|
this.showToast(str,"error");
|
}
|
this.IsLoading = false;
|
window.location = '/' + this.recordId;
|
this.dispatchEvent(new CloseActionScreenEvent());
|
// this[NavigationMixin.Navigate]({
|
// type: 'standard__recordPage',
|
// attributes: {
|
// recordId: this.recordId,
|
// objectApiName: 'Opportunity',
|
// actionName: 'view'
|
// }
|
// });
|
|
}).catch(error=>{
|
console.log("error");
|
console.log(error);
|
});
|
} catch(e) {
|
console.log(e);
|
}
|
}else{
|
this.dispatchEvent(new CloseActionScreenEvent());
|
return;
|
}
|
}
|
connectedCallback(){
|
Promise.all([
|
loadStyle(this, lwcCSS)
|
]);
|
|
init({
|
recordId: this.recordId
|
}).then(result=>{
|
this.stageName = result.stageName;
|
this.estimationDecision = result.estimationDecision;
|
this.sapSendOK = result.sapSendOK;
|
this.ifAuthorizingLock = result.ifAuthorizingLock;
|
this.changeContractType();
|
}).catch(error=>{
|
console.log("error");
|
console.log(error);
|
});
|
}
|
changeContractType(){
|
var status = this.stageName;
|
var quostatus = this.estimationDecision;
|
var win = this.sapSendOK;
|
var Auth = this.ifAuthorizingLock;
|
|
if(status != '引合'){
|
this.showToast('只有状态1是询价的可以更改合同类型','error');
|
this.dispatchEvent(new CloseActionScreenEvent());
|
return;
|
}
|
if(Auth == '1'){
|
this.showToast('询价正在授权申请中,请在SPO中驳回后再做转换。','error');
|
this.dispatchEvent(new CloseActionScreenEvent());
|
return;
|
}
|
if(quostatus == 'true' || quostatus == true){
|
this.showToast('已决定报价,不能修改内贸/外贸','error');
|
this.dispatchEvent(new CloseActionScreenEvent());
|
return;
|
}
|
if(win == 'true' || win == true){
|
this.showToast('请先取消WIN, 再转换内外贸','error');
|
this.dispatchEvent(new CloseActionScreenEvent());
|
return;
|
}
|
this.handleConfirmClick('变更合同类型会删除全部报价,是否继续?');
|
}
|
|
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 }});
|
}
|
}
|