/* * @Author: zhangchunxu * @Date: 2023-08-13 18:57:20 * @LastEditors: zhangchunxu * @LastEditTime: 2023-09-14 10:58:50 * */ import { LightningElement,wire,track,api} from 'lwc'; import { CurrentPageReference ,NavigationMixin} from "lightning/navigation"; import { CloseActionScreenEvent } from 'lightning/actions'; import init from '@salesforce/apex/TenderingButtonController.initTenderingController'; import sqlResult from '@salesforce/apex/TenderingButtonController.sqlResult'; import { ShowToastEvent } from 'lightning/platformShowToastEvent'; import LightningConfirm from 'lightning/confirm'; import lwcCSS from '@salesforce/resourceUrl/lwcCSS'; import {loadStyle} from 'lightning/platformResourceLoader' import { encodeDefaultFieldValues } from 'lightning/pageReferenceUtils'; export default class lexTenderingLostButton extends NavigationMixin(LightningElement) { @api recordId;//当前这条数据的id @api url; status;//状态 profileId;//profileId id systemProfileId; TwoS1_Sales_Hospital; TwoS4_Sales_Manager; IsLoading = true; @track flag = false; @wire(CurrentPageReference) getStateParameters(currentPageReference) { if (currentPageReference) { this.url = currentPageReference.state.backgroundContext; const urlValue = currentPageReference.state.recordId; if (urlValue) { let str = `${urlValue}`; this.recordId = str; } } } connectedCallback(){ Promise.all([ loadStyle(this, lwcCSS) ]); init({ recordId: this.recordId }).then(result => { this.IsLoading = false; this.status = result.status; this.profileId = result.profileId; this.systemProfileId = result.systemProfileId; this.TwoS1_Sales_Hospital = result.TwoS1_Sales_Hospital; this.TwoS4_Sales_Manager = result.TwoS4_Sales_Manager; this.LoseButton(); }) } //招标项目 失单 LoseButton(){ console.log(this.url,'xxx') sqlResult({id: this.recordId}).then(result=>{ //简档权限 2S1_销售医院担当 2S4_销售管理者 系统管理员 if (this.profileId != this.TwoS1_Sales_Hospital && this.profileId != this.TwoS4_Sales_Manager && this.profileId != this.systemProfileId) { this.showToast("您没有权限,无法创建询价提交失单。","error"); return; } // 判断内部确认状态 if(this.status == '01.待确认'|| this.status == '02.不相关'){ this.showToast("状态为待确认或不相关,不可以做失单。","error"); return; } // 判断是否需要新建询价 if(this.status == '05.询价中'|| this.status == '06.成交' || this.status == '07.部分成交' || this.status == '08.失单' || result.length > 0){ LightningConfirm.open({ message: '此项目已关联询价,请确实是否新建询价提交失单。', variant: 'headerless', label: 'this is the aria-label value', }).then(res=>{ if(res) { this.flag = true // window.open(`/apex/TenderLostPage?id=${this.recordId}`,'','height=500,width=800,top=200,left=250,location=no'); // const defaultValues = encodeDefaultFieldValues({ // oppId :this.id, // pageStatus:'', // lostType :"", // }); // this[NavigationMixin.Navigate]({ // type: 'standard__objectPage', // attributes: { // objectApiName: 'Tender_information__c', // actionName: 'new' // }, // state:{ // defaultFieldValues: defaultValues // } // }); // this.dispatchEvent(new CloseActionScreenEvent()); }else{ this.dispatchEvent(new CloseActionScreenEvent()); return; } }); } if(this.status == "04.待关联询价" || this.status == "03.不应标" || this.status == "09.终止"){ this.flag = true // window.open(`/apex/TenderLostPage?id=${this.recordId}`,'','height=500,width=800,top=200,left=250,location=no'); // const defaultValues = encodeDefaultFieldValues({ // oppId :this.id, // pageStatus:'', // lostType :"", // }); // this[NavigationMixin.Navigate]({ // type: 'standard__objectPage', // attributes: { // objectApiName: 'Tender_information__c', // actionName: 'new' // }, // state:{ // defaultFieldValues: defaultValues // } // }); // this.dispatchEvent(new CloseActionScreenEvent()); } }) } showToast(msg,type) { const event = new ShowToastEvent({ message: msg, variant: type }); this.dispatchEvent(event); this.dispatchEvent(new CloseActionScreenEvent()); } }