import { LightningElement, track } from 'lwc'; import GetOppinformationcData from '@salesforce/apex/ImprovedForecastTimeController.GetOppinformationcData'; import getReason from '@salesforce/apex/ImprovedForecastTimeController.getReason'; import SaveData from '@salesforce/apex/ImprovedForecastTimeController.SaveData'; import SystemModstamp from '@salesforce/schema/Account.SystemModstamp'; export default class ImprovedForecastTime extends LightningElement { //显示与隐藏 isAdvance = false; //选着 提前 的标识 isDelay = false; //选着 延后 的标识 RelateOption=[ {label:"提前",value:"提前"}, {label:"延后",value:"延后"}, ] handleRelationFn(event){ var value = event.target.value; this.opp.Date_InAdvance_Delay = value; debugger // this.opp.Predicted_date_ChangeReason__c = ''; //SWAG-CJR4PC【委托】调查-修改预测日提前理由错误 fy start this.opp.Predicted_date_ChangeReason = '' this.opp.Close_Forecasted_Date= ''; this.opp.CloseDate= ''; //SWAG-CJR4PC【委托】调查-修改预测日提前理由错误 fy end if (value == "提前") { this.isAdvance = true; this.isDelay = false; } if (value == "延后") { this.isAdvance = false; this.isDelay = true; } } handleRelationFn1(event){ var value = event.target.value; this.opp.Predicted_date_ChangeReason = value; } flg=true; handleRelationFn2(event){ var value = event.target.value; this.opp.Close_Forecasted_Date = value; this.flg=false; debugger this.CloseDateAssignment(value); } //给预测发货日赋值 CloseDateAssignment(value){ debugger var value=this.addDay(30,value); this.opp.CloseDate = value; this.flg=true; } //加天数 addDay(dayNumber, value1) { var date = new Date(value1); var ms = dayNumber * (1000 * 60 * 60 * 24) var newDate = new Date(date.getTime() + ms); var value=newDate.toLocaleDateString(); var value2=value.split('/'); if(value2[1].length == 1){ value2[1]='0'+value2[1]; } if(value2[2].length == 1){ value2[2]='0'+value2[2]; } value=value2[0]+'-'+value2[1]+'-'+value2[2]; return value; } handleRelationFn3(event){ var value = event.target.value; this.opp.CloseDate = value; } //从url上取得ID getQueryVariable(variable) { var query = window.location.search.substring(1); var vars = query.split("&"); for (var i=0;i{ this.opp=JSON.parse(response); if(this.opp.Date_InAdvance_Delay == '提前'){ this.isAdvance = true; this.isDelay = false; } if(this.opp.Date_InAdvance_Delay == '延后'){ this.isAdvance = false; this.isDelay = true; } }); getReason().then(response=>{ var options = JSON.parse(response); this.AdvanceReasons = options['提前']; this.DelayReasons = options['延后']; }); } //提示 SaveShowText="保存成功";//提示框的文本 Tongzhishow=false; //提示显示的标识 TongzhiIcon = 'standard:account' //提示框的图标 IsLeftStyle = "" //提示框的样式 BgColorStyle = "" //弹框提示 content 内容 error 是否是错误提示框 left 是否居左 Alert(content,error = false,left = false){ this.SaveShowText = content; this.Tongzhishow = true; if (error) { this.TongzhiIcon = "standard:first_non_empty"; this.BgColorStyle = "background-color:#f88568"; }else{ this.TongzhiIcon = "standard:account"; this.BgColorStyle = "background-color:#69e669"; } if (left) { this.IsLeftStyle = "left: 0.25rem" }else{ this.IsLeftStyle = "" } } //关闭提示框 CloseAlert(){ this.closeOffRefresh(); } closeOffRefresh(){ if (this.Tongzhishow == true) { this.Tongzhishow = false; } if (this.SaveShowText != "") { this.SaveShowText = ""; } } //加载 IsLoading = false; OnLoading(flag) { this.IsLoading = flag; } //保存数据逻辑 saveFn(){ debugger var myDate = new Date(); //今天日期 var myDate1 = new Date(this.opp.Close_Forecasted_Check); //当前预测日期 var myDate2 = new Date(this.opp.Close_Forecasted_Date); //改变的预测日期 var myDate3 = new Date(myDate.toLocaleDateString()); //今天日期 格式化 var myDate4 = new Date(myDate1.toLocaleDateString()); //当前预测日期 格式化 var myDate5 = new Date(myDate2.toLocaleDateString()); //改变的预测日期 格式化 var myDate6 = new Date(this.opp.CloseDate); var myDate7 = new Date(myDate6.toLocaleDateString()); //发货日期 //20221226 lt DB202212359066增加限制-修改预测日最大日期 start var date1 = new Date(); var year = date1.getFullYear(); var month = date1.getMonth() + 1; if(month > 3){ year = year + 1; } var strDate = "-03-31"; var Odate = year + 3; var Sdate = year + 4; var Odate1 = Odate + strDate; var Sdate1 = Sdate + strDate; var Odate2 = new Date(Odate1); var Sdate2 = new Date(Sdate1); // //订货预测日 var OrderDate = new Date(Odate2.toLocaleDateString()); // //发货预测日 var ShipmentsDate = new Date(Sdate2.toLocaleDateString()); //20221226 lt DB202212359066增加限制-修改预测日最大日期 end console.warn('myDatevalue:='+myDate); console.warn('今天日期'+myDate3); console.warn('当前预测日期'+myDate4); console.warn('1111111111'+myDate2); console.warn('改变的预测日期'+myDate5); //SWAG-CJR4PC【委托】调查-修改预测日提前理由错误 fy start // if(this.opp.Date_InAdvance_Delay == undefined || this.opp.Predicted_date_ChangeReason == undefined || myDate5 == undefined){ // if(this.opp.Date_InAdvance_Delay == '' ||this.opp.Date_InAdvance_Delay == undefined || this.opp.Predicted_date_ChangeReason == '' ||this.opp.Predicted_date_ChangeReason == undefined|| myDate5 == '' || myDate5 == undefined){ if(!this.opp.Date_InAdvance_Delay || !this.opp.Predicted_date_ChangeReason || !this.opp.Close_Forecasted_Date){ //SWAG-CJR4PC【委托】调查-修改预测日提前理由错误 fy end this.Alert("请选择日期/理由。",false,true); } else if(this.opp.Date_InAdvance_Delay == '提前' && (myDate5 >= myDate4 || myDate5 < myDate3)){ this.Alert("请选择 “提前” 于当前预测OCSM签约日的日期 且 不早于今天。",false,true); } else if(this.opp.Date_InAdvance_Delay == '延后' && myDate5 <= myDate4){ this.Alert("请选择 “延后” 于当前预测OCSM签约日的日期。",false,true); } else if(myDate7 < myDate5){ this.Alert("预测发货日不能小于预测签约日。",false,true); } //20221226 lt DB202212359066增加限制-修改预测日最大日期 start else if(myDate5 > OrderDate){ this.Alert("订货预测日请在未来三财年内。",false,true); } else if(myDate7 > ShipmentsDate){ this.Alert("发货预测日请在未来四财年内。",false,true); } //20221226 lt DB202212359066增加限制-修改预测日最大日期 end else{ this.OnLoading(true); SaveData({JsonData:JSON.stringify(this.opp)}).then((response)=>{ if (response == '成功') { this.OnLoading(false); this.Alert("保存成功",false,true); window.location.hash = "Refresh"+"=="+this.oppId; }else{ this.Alert(response,true); } }); } } }