/* * @Description: * @version: * @Author: chen jing wu * @Date: 2023-04-13 13:15:52 * @LastEditors: chen jing wu * @LastEditTime: 2023-10-10 17:38:20 */ import { api, wire,LightningElement } from 'lwc'; import { CurrentPageReference } from "lightning/navigation"; import { CloseActionScreenEvent } from 'lightning/actions'; import { updateRecord } from 'lightning/uiRecordApi'; import { ShowToastEvent } from 'lightning/platformShowToastEvent'; import init from '@salesforce/apex/OpportunityLightingButtonController.initForOLYwinBidButton'; import updateForOLYwinBidButton from '@salesforce/apex/OpportunityLightingButtonController.updateForOLYwinBidButton'; import queryForOLYwinBidButton from '@salesforce/apex/OpportunityLightingButtonController.queryForOLYwinBidButton'; import LightningConfirm from 'lightning/confirm'; import lwcCSS from '@salesforce/resourceUrl/lwcCSS'; import {loadStyle} from 'lightning/platformResourceLoader'; export default class LexOLYwinBid extends LightningElement { @api recordId; ifOpenBid; IsLoading; @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', }); this.IsLoading = true; console.log(result); if(result){ try { updateForOLYwinBidButton({ recordId: this.recordId }).then(result=>{ if (result) { this.showToast(result,"error"); }else{ this.IsLoading = false; this.updateRecordView(this.recordId); this.showToast("操作成功!","success"); } this.dispatchEvent(new CloseActionScreenEvent()); }); } catch(e) { console.log(e); } }else{ this.dispatchEvent(new CloseActionScreenEvent()); } } connectedCallback(){ Promise.all([ loadStyle(this, lwcCSS) ]); init({ recordId: this.recordId }).then(result=>{ console.log(result); this.ifOpenBid = result.ifOpenBid; this.lexLoseBid(); }).catch(error=>{ console.log("error"); console.log(error); }) } lexLoseBid(){ console.log("query start"); queryForOLYwinBidButton({ recordId: this.recordId }).then(result=>{ console.log("query end"); console.log(result); var flag = true; var taskslist = result; for(var task of taskslist ){ if(task.taskStatus__c != '04 取消'){ flag = false; } } if(this.ifOpenBid == '非公开招标'){ flag = false; } if(flag){ this.showToast("条件不符合,不可操作","error"); }else{ this.handleConfirmClick('是否确认OLY中标?'); } }); } 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 }}); } }