/* * @Description: * @version: * @Author: chen jing wu * @Date: 2023-04-14 13:04:53 * @LastEditors: chen jing wu * @LastEditTime: 2023-10-10 17:41:57 */ import { api, wire,LightningElement } from 'lwc'; import { CurrentPageReference } from "lightning/navigation"; import { CloseActionScreenEvent } from 'lightning/actions'; import updateForStockApplyButton from '@salesforce/apex/OpportunityLightingButtonController.updateForStockApplyButton'; import init from '@salesforce/apex/OpportunityLightingButtonController.initForStockApplyButton'; import { updateRecord } from 'lightning/uiRecordApi'; import { ShowToastEvent } from 'lightning/platformShowToastEvent'; import { loadScript } from "lightning/platformResourceLoader"; import connection from '@salesforce/resourceUrl/connection20'; import submitProcess from '@salesforce/apex/OpportunityLightingButtonController.submitProcess'; import LightningConfirm from 'lightning/confirm'; import lwcCSS from '@salesforce/resourceUrl/lwcCSS'; import {loadStyle} from 'lightning/platformResourceLoader'; export default class LexStockApply extends LightningElement { @api recordId; stockApplyStatus; lastOpportunityFileId; 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 { updateForStockApplyButton({ recordId: this.recordId, flag: true }).then(result=>{ if(result){ this.showToast(result,"error"); this.dispatchEvent(new CloseActionScreenEvent); return; } // var request = new window.sforce.ProcessSubmitRequest(); // request.objectId = this.recordId; // console.log("s"); // console.log(request); // console.log("e"); // var processResults = window.sforce.Connection.prototype.process([request]); // console.log(processResults); submitProcess({ opportunityId: this.recordId }).then(result=>{ if(result){ this.showToast(result,"error"); updateForStockApplyButton({ recordId: this.recordId, flag: false }).then(result=>{ if(result){ this.showToast(result,"error"); this.dispatchEvent(new CloseActionScreenEvent); return; } this.IsLoading = false; this.updateRecordView(this.recordId); this.dispatchEvent(new CloseActionScreenEvent); }) }else{ this.showToast("成功","success"); this.updateRecordView(this.recordId); this.dispatchEvent(new CloseActionScreenEvent); } }) }).catch(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=>{ console.log(result); this.stockApplyStatus = result.stockApplyStatus; this.lastOpportunityFileId = result.lastOpportunityFileId; this.stockApply(); }) } stockApply(){ var status = this.stockApplyStatus; if (status != '草案中' && status != '填写完毕' && status != '不批准' && status != '' && status != undefined) { this.showToast("备货申请状态不正确,不能提交备货申请。","error"); this.dispatchEvent(new CloseActionScreenEvent); return; } var oppfile = this.lastOpportunityFileId; if (oppfile == undefined || oppfile == '') { this.showToast("请上传询价文件。","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 }}); } }