| | |
| | | import { ShowToastEvent } from 'lightning/platformShowToastEvent'; |
| | | import { CurrentPageReference,NavigationMixin } from 'lightning/navigation'; |
| | | import { updateRecord } from 'lightning/uiRecordApi'; |
| | | |
| | | import LightningConfirm from 'lightning/confirm'; |
| | | import init from '@salesforce/apex/AddSubmitApprovalProcessController.init'; |
| | | import setSObjectShare from '@salesforce/apex/ControllerUtil.setSObjectShare' |
| | | import submitApproval from '@salesforce/apex/AddSubmitApprovalProcessController.submitApproval'; |
| | | import setSObjectShare from '@salesforce/apex/ControllerUtil.setSObjectShare'; |
| | | import changeAddApprovalStatus from '@salesforce/apex/AddSubmitApprovalProcessController.changeAddApprovalStatus'; |
| | | |
| | | export default class lexAddSubmitApprovalProcess extends LightningElement { |
| | | @api recordId; |
| | | IsLoading = true; |
| | |
| | | recordId: this.recordId |
| | | }).then(result=>{ |
| | | if(result.addApprovalStatus != '草案中' || result.detailSize == 0){ |
| | | this.ToastShow('没有需要审批的追加附属品'); |
| | | this.ToastShow('没有需要审批的追加附属品','warning'); |
| | | return; |
| | | } |
| | | if (!confirm("一旦提交此记录以待批准,根据您的设置您可能不再能够编辑此记录或将他从批准过程中调回。是否继续?")) { |
| | | this.dispatchEvent(new CloseActionScreenEvent()); |
| | | return; |
| | | } |
| | | // if (!confirm("一旦提交此记录以待批准,根据您的设置您可能不再能够编辑此记录或将他从批准过程中调回。是否继续?")) { |
| | | // this.dispatchEvent(new CloseActionScreenEvent()); |
| | | // return; |
| | | // } |
| | | const SUBMIT = LightningConfirm.open({ |
| | | message: "一旦提交此记录以待批准,根据您的设置您可能不再能够编辑此记录或将他从批准过程中调回。是否继续?", |
| | | variant: 'headerless', |
| | | label: '提示信息', |
| | | // setting theme would have no effect |
| | | }); |
| | | |
| | | if(SUBMIT==false){ |
| | | this.dispatchEvent(new CloseActionScreenEvent()); |
| | | return; |
| | | } |
| | | |
| | | // 希望到货日不能早于申请提交日-0418追加 |
| | | //if ('{!Rental_Apply__c.Request_shipping_day__c}' < '{!TODAY()}') { |
| | | // alert('希望到货日不能早于申请提交日'); |
| | | // return; |
| | | // } |
| | | console.log(JSON.stringify(result)); |
| | | if(result.repairId != null){ |
| | | if(result.demoPurpose1 == '维修代用' && result.demoPurpose2 == '一般用户'){ |
| | | if(result.repairEstimatedDateFormula == null){ |
| | | this.ToastShow('一般维修无报价日,不可借用备品'); |
| | | this.ToastShow('一般维修无报价日,不可借用备品','warning'); |
| | | return; |
| | | }else if(result.repairEstimatedDateFormula <'2019-07-01' && result.agreedDate == null){ |
| | | this.ToastShow('报价日在2019/7/1之前且户同意日为空,不可借用备品'); |
| | | this.ToastShow('报价日在2019/7/1之前且户同意日为空,不可借用备品','warning'); |
| | | return; |
| | | } |
| | | } |
| | | |
| | | if(result.recordTypeId !='01210000000RHIn' && result.newProductGuaranteeObject=='2: 服务多年保修' && (result.assetModelNo=='CV-V1' ||result.assetModelNo=='CV-V1(A)'||result.assetModelNo=='CV-V1(B)'||result.assetModelNo=='GIF-LV1'||result.assetModelNo=='CF-LV1L'||result.assetModelNo=='CF-LV1I'||result.assetModelNo=='MAJ-1910') &&(result.demoPurpose2=='一般用户'||result.demoPurpose2=='再修理')){ |
| | | this.ToastShow('奥辉设备,保修期内不提供备品.'); |
| | | //备品申请 过去历史转移 |
| | | if(result.recordTypeId != result.demoRequestPastDataId && result.newProductGuaranteeObject=='2: 服务多年保修' && (result.assetModelNo=='CV-V1' ||result.assetModelNo=='CV-V1(A)'||result.assetModelNo=='CV-V1(B)'||result.assetModelNo=='GIF-LV1'||result.assetModelNo=='CF-LV1L'||result.assetModelNo=='CF-LV1I'||result.assetModelNo=='MAJ-1910') &&(result.demoPurpose2=='一般用户'||result.demoPurpose2=='再修理')){ |
| | | this.ToastShow('奥辉设备,保修期内不提供备品.','warning'); |
| | | return; |
| | | } |
| | | } |
| | | |
| | | if(result.campaignId!=null || result.campaignId!=''){ |
| | | if(result.rentalApplyFlag == '草案中'){ |
| | | this.ToastShow('学会状态为草案中,不能提交'); |
| | | if(result.campaignStatus == '草案中'){ |
| | | this.ToastShow('学会状态为草案中,不能提交','warning'); |
| | | return; |
| | | } |
| | | if(result.rentalApplyFlag == '申请中'){ |
| | | this.ToastShow('学会状态为申请中,不能提交'); |
| | | if(result.campaignStatus == '申请中'){ |
| | | this.ToastShow('学会状态为申请中,不能提交','warning'); |
| | | return; |
| | | } |
| | | if(result.rentalApplyFlag == '已结束'){ |
| | | this.ToastShow('学会状态为已结束,不能提交'); |
| | | if(result.campaignStatus == '已结束'){ |
| | | this.ToastShow('学会状态为已结束,不能提交','warning'); |
| | | return; |
| | | } |
| | | if(result.rentalApplyFlag == '已提交报告'){ |
| | | this.ToastShow('学会状态为已提交报告,不能提交'); |
| | | if(result.campaignStatus == '已提交报告'){ |
| | | this.ToastShow('学会状态为已提交报告,不能提交','warning'); |
| | | return; |
| | | } |
| | | if(result.rentalApplyFlag == '取消申请中'){ |
| | | this.ToastShow('学会状态为取消申请中,不能提交'); |
| | | if(result.campaignStatus == '取消申请中'){ |
| | | this.ToastShow('学会状态为取消申请中,不能提交','warning'); |
| | | return; |
| | | } |
| | | if(result.rentalApplyFlag == '取消'){ |
| | | this.ToastShow('学会状态为取消,不能提交'); |
| | | if(result.campaignStatus == '取消'){ |
| | | this.ToastShow('学会状态为取消,不能提交','warning'); |
| | | return; |
| | | } |
| | | } |
| | | |
| | | if(result.qISNumber!=null || result.qISNumber!=''){ |
| | | if(result.nextAction=='送回'){ |
| | | this.ToastShow('QIS 已送回,不能再申请备品了'); |
| | | this.ToastShow('QIS 已送回,不能再申请备品了','warning'); |
| | | return; |
| | | } |
| | | } |
| | | |
| | | // share |
| | | //share |
| | | var userAccess = new Array(); |
| | | userAccess.push(result.applyUserId + '_Edit'); |
| | | |
| | |
| | | //userAccess.push('{!Rental_Apply__c.ZongjianApprovalManagerId__c}_Read');//20210727 ljh SFDC-C54C33 update 共享触发器完成 |
| | | //userAccess.push('{!Rental_Apply__c.Status__c}_Read'); |
| | | |
| | | console.log('参数==='+result.rentalApplyId+' '+userAccess+' '+result.ownerId); |
| | | setSObjectShare({ |
| | | sobjectName:'Rental_Apply__Share', |
| | | rowCause:'ApplyUserShare__c', |
| | |
| | | userAccess:userAccess, |
| | | ownerId:result.ownerId |
| | | }).then(res=>{ |
| | | if(res!='OK'){ |
| | | this.ToastShow(res); |
| | | |
| | | if(res!='OK'){ |
| | | this.ToastShow(res,'warning'); |
| | | return; |
| | | }else{ |
| | | console.log('setSObjectShareSuccess====OK'); |
| | | //追加备品申请状态确认,已经提交过的申请,不能重复提交Status__c |
| | | if (result.rentalApplyStatus != '已批准' && result.rentalApplyStatus != '已出库指示') { |
| | | this.ToastShow('请备品申请状态确认,申请状态已批准后才可以提交追加审批','warning'); |
| | | return; |
| | | } |
| | | |
| | | changeAddApprovalStatus({ |
| | | recordId: this.recordId, |
| | | status: '填写完毕' |
| | | }).then(changeResult=>{ |
| | | if(changeResult == '更新成功'){ |
| | | submitApproval({ |
| | | recordId: this.recordId |
| | | }).then(submitApprovalRes=>{ |
| | | if(submitApprovalRes == 'OK'){ |
| | | this.ToastShow('提交追加待审批','success'); |
| | | this.updateRecordView(this.recordId); |
| | | }else{ |
| | | this.ToastShow('追加待审批失败','ERROR'); |
| | | } |
| | | }) |
| | | }else{ |
| | | this.ToastShow(changeResult,'error'); |
| | | } |
| | | }) |
| | | } |
| | | }).catch(err=>{ |
| | | console.log('setSObjectShareErr====',err); |
| | | console.log('setSObjectShareErr===='+err); |
| | | }) |
| | | |
| | | |
| | | var request = new sforce.ProcessSubmitRequest(); |
| | | request.objectId = "{!Rental_Apply__c.Id}"; |
| | | var processResults = sforce.connection.process([request]); |
| | | |
| | | |
| | | if (processResults[0].errors != null) { |
| | | var back = new sforce.SObject("Rental_Apply__c"); |
| | | back.Id = "{!Rental_Apply__c.Id}"; |
| | | back.Add_Approval_Status__c = "草案中"; |
| | | var backResult = sforce.connection.update([back]); |
| | | backMessages = this.getConnectDMLErrorMessages(backResult); |
| | | if (backMessages.length > 0) { |
| | | alert(backMessages.join("\n")); |
| | | return; |
| | | } |
| | | |
| | | var errmsg = processResults[0].errors.message.toString(); |
| | | alert(errmsg); |
| | | return; |
| | | } |
| | | |
| | | updateRecord({fields: { Id: this.recordId }}); |
| | | |
| | | }).catch(err=>{ |
| | | console.log('sErr====',err); |
| | | console.log('====1111====',err); |
| | | }) |
| | | } |
| | | |
| | | ToastShow(msg){ |
| | | ToastShow(msg,type){ |
| | | const evt = new ShowToastEvent({ |
| | | title : msg, |
| | | message: '', |
| | | variant: 'warning' |
| | | variant: type |
| | | }); |
| | | this.dispatchEvent(evt); |
| | | this.dispatchEvent(new CloseActionScreenEvent()); |
| | | } |
| | | |
| | | getConnectDMLErrorMessages(results){ |
| | | var messages = [], |
| | | i = 0, |
| | | len = results.length, |
| | | r; |
| | | for (; i < len; i++) { |
| | | r = results[i]; |
| | | if (!r.getBoolean("success")) { |
| | | messages = messages.concat(this.getConnectDMLMessagesOfAResult(r)); |
| | | } |
| | | } |
| | | return messages; |
| | | } |
| | | |
| | | getConnectDMLMessagesOfAResult(res){ |
| | | var messages = [], |
| | | errors = res.getArray("errors"), |
| | | i = 0, |
| | | len = errors.length, |
| | | e; |
| | | for (; i < len; i++) { |
| | | e = errors[i]; |
| | | messages.push(e.message + " " + this.getConnectDMLErrorFields(e)); |
| | | } |
| | | return messages; |
| | | } |
| | | |
| | | getConnectDMLErrorFields(error){ |
| | | var fields = error.getArray('fields'); |
| | | if (fields.length > 0) { |
| | | return "[" + fields.join(",") + "]" |
| | | } else { |
| | | return ""; |
| | | } |
| | | } |
| | | updateRecordView(recordId) { |
| | | updateRecord({fields: { Id: recordId }}); |
| | | } |
| | | } |