import { api, track } from 'lwc'; import { ShowToastEvent } from "lightning/platformShowToastEvent"; import { LightningElement } from 'lwc'; import searchReportByName from '@salesforce/apex/SearchReportNameController.searchReportByName'; // 非标准产品显示表头 const columns = [ { label: '报表名称', fieldName: 'reportUrl' , sortable: true, type: 'url', typeAttributes: {label:{ fieldName: 'name'}, target: '_blank'} }, { label: '描述', fieldName: 'description' , sortable: true, }, { label: '文件夹', fieldName: 'folderUrl' , sortable: true, type: 'url', typeAttributes: {label:{ fieldName: 'folderName'}, target: '_blank'} }, { label: '创建人', fieldName: 'createdbyUrl' , sortable: true, type: 'url', typeAttributes: {label:{ fieldName: 'createdByName'}, target: '_blank'} }, { label: '创建日期', fieldName: 'createdDate', sortable: true,type: 'date', typeAttributes: { year:'numeric', month:'numeric', day:'numeric', hour:'2-digit', minute:'2-digit'} }, { label: '已订阅', fieldName: '', sortable: true} ]; export default class SearchReportNameLWC extends LightningElement { @track defaultSortDirection = 'asc'; @track sortDirection = 'asc'; @track sortedBy; @track data; reportName = ''; @track columns; connectedCallback() { this.columns = columns; searchReportByName({ reportName : this.reportName }) .then(result => { console.log('result===>' + result); if (result.status == 'Success') { if (result.entity) { this.data = JSON.parse(result.entity); } } else { this.showToast('error', this.msg); } }) .catch(error => { console.log('error===>' + error); }); } /** * @description 排序 */ onHandleSort(event) { const { fieldName: sortedBy, sortDirection } = event.detail; const cloneData = [...this.products]; cloneData.sort(this.sortBy(sortedBy, sortDirection === 'asc' ? 1 : -1)); this.products = cloneData; this.sortDirection = sortDirection; this.sortedBy = sortedBy; } handleCustProduct(event) { console.log(event.detail.value); this.reportName = event.detail.value ? event.detail.value : ''; // this.pageDisable = false; } handleKeyDown(event) { if (event.key === 'Enter') { // this.search(); console.log('enter'); this.search(); } } search(event) { searchReportByName({ reportName : this.reportName }) .then(result => { console.log('result===>' + result); if (result.status == 'Success') { if (result.entity) { this.data = JSON.parse(result.entity); } } else { this.showToast('error', this.msg); } }) .catch(error => { console.log('error===>' + error); }); } 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()); } } }