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());
|
}
|
}
|
}
|