import { LightningElement, wire, api, track } from 'lwc';
|
import { ShowToastEvent } from 'lightning/platformShowToastEvent';
|
import init from '@salesforce/apex/LexConsumableAccountController.init';
|
import changeFiscalYearView from '@salesforce/apex/LexConsumableAccountController.changeFiscalYearView';
|
import changelistView from '@salesforce/apex/LexConsumableAccountController.changelistView';
|
import accountInit from '@salesforce/apex/LexConsumableAccountInfoController.init';
|
//table css
|
import { loadStyle } from 'lightning/platformResourceLoader';
|
import WrappedHeaderTable from '@salesforce/resourceUrl/lexdatatable';
|
|
const columns = [
|
{
|
label: '客户名',
|
fieldName: 'NameUrl',
|
hideDefaultActions: true,
|
wrapText: true,
|
initialWidth: 200,
|
sortable: true,
|
type: 'url',
|
typeAttributes: {
|
label: {
|
fieldName: 'Name'
|
},
|
target: '_blank'
|
}
|
},
|
// {
|
// label: "省",
|
// fieldName: "StateMasterUrl",
|
// hideDefaultActions: true,
|
// wrapText: true,
|
// sortable: true,
|
// type: "url",
|
// typeAttributes: {
|
// label: {
|
// fieldName: "StateMasterName",
|
// },
|
// target: "_blank",
|
// },
|
// },
|
{
|
label: '省',
|
fieldName: 'StateMasterName',
|
hideDefaultActions: true,
|
wrapText: true,
|
sortable: true
|
},
|
{
|
label: '销售本部医院',
|
fieldName: 'Salesdepartment_HP__c',
|
hideDefaultActions: true,
|
sortable: true,
|
wrapText: true
|
},
|
{
|
label: '创建日期',
|
fieldName: 'CreatedDate',
|
hideDefaultActions: true,
|
sortable: true,
|
wrapText: true,
|
type: 'date',
|
typeAttributes: {
|
timeZone: 'Asia/Shanghai',
|
day: 'numeric',
|
month: 'numeric',
|
year: 'numeric'
|
}
|
},
|
{
|
label: '有效/无效',
|
fieldName: 'Is_Active__c',
|
hideDefaultActions: true,
|
sortable: true,
|
wrapText: true
|
},
|
// {
|
// label: "客户记录类型",
|
// fieldName: "RecordTypeName",
|
// hideDefaultActions: true,
|
// sortable: true,
|
// wrapText: true,
|
// initialWidth: 130,
|
// },
|
{
|
label: '政府等级',
|
fieldName: 'Grade__c',
|
hideDefaultActions: true,
|
sortable: true,
|
wrapText: true
|
},
|
// {
|
// label: "OCSM分类(医院)",
|
// fieldName: "OCM_Category__c",
|
// hideDefaultActions: true,
|
// sortable: true,
|
// wrapText: true,
|
// },
|
// {
|
// label: "市",
|
// fieldName: "CityMasterNameUrl",
|
// hideDefaultActions: true,
|
// sortable: true,
|
// wrapText: true,
|
// type: "url",
|
// typeAttributes: {
|
// label: {
|
// fieldName: "CityMasterName",
|
// },
|
// target: "_blank",
|
// },
|
// },
|
{
|
label: '市',
|
fieldName: 'CityMasterName',
|
hideDefaultActions: true,
|
sortable: true,
|
wrapText: true
|
},
|
{
|
label: '县/区',
|
fieldName: 'Town__c',
|
hideDefaultActions: true,
|
sortable: true,
|
wrapText: true
|
},
|
{
|
label: '客户电话',
|
fieldName: 'Phone',
|
hideDefaultActions: true,
|
sortable: true,
|
wrapText: true
|
}
|
];
|
|
const topColumns = [
|
{
|
label: '客户名',
|
hideDefaultActions: true,
|
fieldName: 'accountName',
|
wrapText: true,
|
type: 'customShowAccountUrl',
|
typeAttributes: {
|
accountName: { fieldName: 'accountName' },
|
accountUrl: { fieldName: 'accountUrl' },
|
isDisable: { fieldName: 'isDisable' }
|
}
|
},
|
// {
|
// label: "市",
|
// fieldName: "CityMasterName",
|
// hideDefaultActions: true,
|
// wrapText: true,
|
// type: "customShowAccountUrl",
|
// typeAttributes: {
|
// accountName: { fieldName: "CityMasterName" },
|
// accountUrl: { fieldName: "CityMasterNameUrl" },
|
// isDisable: { fieldName: "isDisable" },
|
// },
|
// },
|
{
|
label: '市',
|
fieldName: 'CityMasterName',
|
hideDefaultActions: true,
|
wrapText: true
|
},
|
{
|
label: '县/区',
|
fieldName: 'Town__c',
|
hideDefaultActions: true,
|
wrapText: true
|
},
|
{
|
label: '销量占比',
|
fieldName: 'proportion',
|
hideDefaultActions: true,
|
wrapText: true,
|
initialWidth: 100,
|
cellAttributes: { alignment: 'right' }
|
},
|
{
|
label: '操作',
|
fieldName: 'Town__c',
|
type: 'weeklyReport',
|
initialWidth: 150,
|
typeAttributes: {
|
recordId: { fieldName: 'Id' },
|
hospitalName: { fieldName: 'Name' },
|
isShowButton: { fieldName: 'isShowButton' }
|
},
|
hideDefaultActions: true
|
}
|
];
|
export default class LexConsumableAccount extends LightningElement {
|
columns = columns;
|
topColumns = topColumns;
|
@track isShowSpinner = false;
|
@track pageRecords = [];
|
@track accountId = '';
|
@track agencyProType = '';
|
@track agencyProTypestr = '';
|
@track listViewOptions = [
|
{
|
label: '01. 医院_Hospital',
|
value: '01. 医院_Hospital'
|
},
|
// {
|
// label: "61. 医院_Hospital草案中的医院",
|
// value: "61. 医院_Hospital草案中的医院",
|
// },
|
// {
|
// label: "62. 医院_Hospital申请中的医院",
|
// value: "62. 医院_Hospital申请中的医院",
|
// },
|
{
|
label: '63. 医院_Hospital上周创建的医院',
|
value: '63. 医院_Hospital上周创建的医院'
|
}
|
];
|
@track viewOption = '01. 医院_Hospital';
|
|
@track isShowAccountInfo = false;
|
@track topAccountData = [];
|
|
//前端排序
|
defaultSortDirection = 'asc';
|
sortDirection = 'asc';
|
sortedBy;
|
|
//分页start
|
@track sortBy = '';
|
@track pageSize = 200;
|
error;
|
records;
|
currentPageToken = 0;
|
nextPageToken = this.pageSize;
|
@track totalRecords = 0;
|
@track loader = false;
|
@track pageNumber = 1;
|
@track paginationVisibility = false;
|
@track totalPages = 1;
|
pageSizeOptions = [100, 200, 300];
|
@track recordStart = 0;
|
@track recordEnd = 0;
|
//end
|
|
@track AccId = '';
|
@track printUrl = '';
|
@track accountDataInfo = {
|
name: '',
|
ownerName: '',
|
site: '',
|
isActive: '',
|
aliasName2: '',
|
banOnUseReason: '',
|
grade: '',
|
attributeType: '',
|
oCMCategory: '',
|
specialityType: '',
|
stateMasterName: '',
|
phone: '',
|
cityMasterName: '',
|
phoneCall: '',
|
town: '',
|
fax: '',
|
street: '',
|
postalCode: '',
|
address: '',
|
parentName: ''
|
};
|
|
stylesLoaded = false;
|
|
//财年
|
@track fiscalYearOptions = [
|
{ label: '本财年', value: 'thisYear' },
|
{ label: '上一财年', value: 'lastYear' },
|
{ label: '上一财年+本财年', value: 'allYear' }
|
];
|
@track fiscalYearOption = 'thisYear';
|
@track topInfo = [];
|
|
renderedCallback() {
|
if (!this.stylesLoaded) {
|
Promise.all([loadStyle(this, WrappedHeaderTable)])
|
.then(() => {
|
console.log('Custom styles loaded');
|
this.stylesLoaded = true;
|
})
|
.catch((error) => {
|
console.error('Error loading custom styles');
|
});
|
}
|
}
|
|
//获取链接参数
|
getQueryString(name) {
|
console.log('getQueryString name ' + name);
|
let reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i');
|
let r = window.location.search.substr(1).match(reg);
|
if (r != null) {
|
return decodeURIComponent(r[2]);
|
}
|
return null;
|
}
|
|
connectedCallback() {
|
this.isShowSpinner = true;
|
this.AccId = this.getQueryString('AccId');
|
this.AccId = this.AccId == null ? '' : this.AccId;
|
if (this.AccId != '') {
|
console.log('this.AccId = ' + this.AccId);
|
accountInit({
|
accId: this.AccId
|
})
|
.then((r) => {
|
r = JSON.parse(JSON.stringify(r));
|
console.log('r = ' + JSON.stringify(r));
|
if (r.status == 'Success') {
|
console.log(
|
'r.entity.obj = ' + JSON.stringify(r.entity.obj)
|
);
|
this.accountDataInfo.name = r.entity.obj.Name;
|
this.accountDataInfo.ownerName =
|
r.entity.obj.Owner == null
|
? ''
|
: r.entity.obj.Owner.Name;
|
this.accountDataInfo.site = r.entity.obj.site;
|
this.accountDataInfo.isActive =
|
r.entity.obj.Is_Active__c;
|
this.accountDataInfo.aliasName2 =
|
r.entity.obj.Alias_Name2__c;
|
this.accountDataInfo.banOnUseReason =
|
r.entity.obj.Ban_On_Use_Reason__c;
|
this.accountDataInfo.grade = r.entity.obj.Grade__c;
|
this.accountDataInfo.attributeType =
|
r.entity.obj.Attribute_Type__c;
|
this.accountDataInfo.oCMCategory =
|
r.entity.obj.OCM_Category__c;
|
this.accountDataInfo.specialityType =
|
r.entity.obj.Speciality_Type__c;
|
this.accountDataInfo.stateMasterName =
|
r.entity.obj.State_Master__r == null
|
? ''
|
: r.entity.obj.State_Master__r.Name;
|
this.accountDataInfo.phone = r.entity.obj.Phone;
|
this.accountDataInfo.cityMasterName =
|
r.entity.obj.City_Master__r == null
|
? ''
|
: r.entity.obj.City_Master__r.Name;
|
this.accountDataInfo.phoneCall =
|
r.entity.obj.PhoneCall__c;
|
this.accountDataInfo.town = r.entity.obj.Town__c;
|
this.accountDataInfo.fax = r.entity.obj.Fax;
|
this.accountDataInfo.street = r.entity.obj.Street__c;
|
this.accountDataInfo.postalCode =
|
r.entity.obj.Postal_Code__c;
|
this.accountDataInfo.address = r.entity.obj.Address__c;
|
this.accountDataInfo.parentName =
|
r.entity.obj.Parent == null
|
? ''
|
: r.entity.obj.Parent.Name;
|
console.log(
|
'this.accountDataInfo = ' +
|
JSON.stringify(this.accountDataInfo)
|
);
|
this.printUrl =
|
'/lexconsumableaccountinfoprint?AccId=' +
|
this.AccId;
|
this.isShowAccountInfo = true;
|
this.isShowSpinner = false;
|
} else {
|
console.log('r = ' + JSON.stringify(r));
|
this.showMyToast('Error', r.msg, 'Error');
|
}
|
})
|
.catch((error) => {
|
console.log('error = ' + JSON.stringify(error));
|
this.showMyToast('Error', '初始化失败', 'Error');
|
});
|
} else {
|
init({
|
pageSizeLWC: this.pageSize,
|
pageTokenLWC: this.currentPageToken,
|
fiscalYear: this.fiscalYearOption
|
})
|
.then((r) => {
|
r = JSON.parse(JSON.stringify(r));
|
console.log('r = ' + JSON.stringify(r));
|
if (r.status == 'Success') {
|
//分页
|
this.nextPageToken =
|
r.entity.paginatedAccounts.nextPageToken;
|
this.totalRecords =
|
r.entity.paginatedAccounts.totalRecords;
|
this.recordStart =
|
r.entity.paginatedAccounts.recordStart;
|
this.recordEnd = r.entity.paginatedAccounts.recordEnd;
|
this.totalPages = Math.ceil(
|
r.entity.paginatedAccounts.totalRecords /
|
this.pageSize
|
);
|
console.log('this.totalPages = ' + this.totalPages);
|
this.paginationVisibility =
|
this.totalPages > 1 ? true : false;
|
|
this.pageRecords = r.entity.pageRecords;
|
this.accountId = r.entity.accountId;
|
this.agencyProType = r.entity.agencyProType;
|
this.agencyProTypestr = r.entity.agencyProTypestr;
|
console.log(
|
'this.agencyProTypestr = ' + this.agencyProTypestr
|
);
|
for (var i in this.pageRecords) {
|
this.pageRecords[i]['Is_Active__c'] =
|
this.pageRecords[i].Is_Active__c.replace(
|
'効',
|
'效'
|
);
|
this.pageRecords[i]['NameUrl'] =
|
'/s/lexconsumableaccount?AccId=' +
|
this.pageRecords[i].Id;
|
this.pageRecords[i]['StateMasterName'] =
|
this.pageRecords[i].State_Master__r.Name;
|
this.pageRecords[i]['StateMasterUrl'] =
|
'/' + this.pageRecords[i].State_Master__c;
|
this.pageRecords[i]['CityMasterName'] =
|
this.pageRecords[i].City_Master__r.Name;
|
this.pageRecords[i]['CityMasterNameUrl'] =
|
'/' + this.pageRecords[i].City_Master__c;
|
this.pageRecords[i]['RecordTypeName'] =
|
this.pageRecords[i].RecordType.Name;
|
}
|
console.log(
|
'this.listViewOptions = ' +
|
JSON.stringify(this.listViewOptions)
|
);
|
|
console.log(
|
'r.entity.topInfo = ' +
|
JSON.stringify(r.entity.topInfo)
|
);
|
//top10客户
|
this.topInfo = r.entity.topInfo;
|
console.log(
|
'this.topInfo = ' + JSON.stringify(this.topInfo)
|
);
|
this.topAccountData = this.topInfo.acList;
|
console.log(
|
'this.topAccountData = ' +
|
JSON.stringify(this.topAccountData)
|
);
|
console.log(
|
'9/3 = ' +
|
this.keepTwoDecimalStr(
|
this.amend(9, 3, '/').toFixed(2)
|
)
|
);
|
let total = 100;
|
try {
|
for (var i in this.topAccountData) {
|
this.topAccountData[i]['accountName'] =
|
this.topAccountData[i].Name;
|
this.topAccountData[i]['accountUrl'] =
|
'/s/lexconsumableaccount?AccId=' +
|
this.topAccountData[i].Id;
|
this.topAccountData[i]['isDisable'] = false;
|
this.topAccountData[i]['StateMasterName'] =
|
this.topAccountData[i].State_Master__r.Name;
|
this.topAccountData[i]['StateMasterUrl'] =
|
'/' +
|
this.topAccountData[i].State_Master__c;
|
this.topAccountData[i]['CityMasterName'] =
|
this.topAccountData[i].City_Master__r.Name;
|
this.topAccountData[i]['CityMasterNameUrl'] =
|
'/' + this.topAccountData[i].City_Master__c;
|
this.topAccountData[i]['RecordTypeName'] =
|
this.topAccountData[i].RecordType.Name;
|
this.topAccountData[i]['isShowButton'] = true;
|
let number = this.keepTwoDecimalStr(
|
(
|
this.amend(
|
this.topInfo.deList[i],
|
this.topInfo.saleAmount,
|
'/'
|
) * 100
|
).toFixed(2)
|
);
|
console.log(
|
'this.amend = ' +
|
this.amend(
|
this.topInfo.deList[i],
|
this.topInfo.saleAmount,
|
'/'
|
) *
|
100
|
);
|
total -= number;
|
this.topAccountData[i]['proportion'] =
|
number + '%';
|
}
|
|
console.log(
|
'this.topAccountData = ' +
|
JSON.stringify(this.topAccountData)
|
);
|
|
//其他
|
console.log(
|
'(total.toFixed(2) > 0.00 ? total.toFixed(2) : 0.00) = ' +
|
(total.toFixed(2) > 0.0
|
? total.toFixed(2)
|
: '0.00')
|
);
|
if (total != 100) {
|
this.topAccountData.push({
|
accountName: '...',
|
accountUrl: '/s/lexconsumableaccount',
|
isDisable: true,
|
proportion:
|
(total.toFixed(2) > 0.0
|
? total.toFixed(2)
|
: '0.00') + '%',
|
CityMasterName: '...',
|
CityMasterNameUrl: '/lexconsumableaccount',
|
Town__c: '...',
|
isShowButton: false
|
});
|
} else {
|
let title = '';
|
for (var key in this.fiscalYearOptions) {
|
if (
|
this.fiscalYearOption ==
|
this.fiscalYearOptions[key].value
|
)
|
title =
|
this.fiscalYearOptions[key].label;
|
}
|
this.showMyToast(title, '无数据', 'Error');
|
}
|
this.isShowSpinner = false;
|
} catch (error) {
|
console.log('error = ' + error.message);
|
}
|
} else {
|
console.log('r = ' + JSON.stringify(r));
|
this.showMyToast('Error', r.msg, 'Error');
|
}
|
})
|
.catch((error) => {
|
console.log('error = ' + JSON.stringify(error));
|
this.showMyToast(
|
'Error',
|
'销量前十客户初始化失败',
|
'Error'
|
);
|
});
|
}
|
}
|
|
amend(num1, num2, symbol) {
|
console.log('num1 = ' + num1);
|
console.log('num2 = ' + num2);
|
console.log('symbol = ' + symbol);
|
var str1 = num1.toString(),
|
str2 = num2.toString(),
|
result,
|
str1Length,
|
str2Length;
|
//解决整数没有小数点方法
|
try {
|
str1Length = str1.split('.')[1].length;
|
} catch (error) {
|
str1Length = 0;
|
}
|
try {
|
str2Length = str2.split('.')[1].length;
|
} catch (error) {
|
str2Length = 0;
|
}
|
var step = Math.pow(10, Math.max(str1Length, str2Length));
|
console.log(step);
|
switch (symbol) {
|
case '+':
|
result = (num1 * step + num2 * step) / step;
|
break;
|
case '-':
|
result = (num1 * step - num2 * step) / step;
|
break;
|
case '*':
|
result = (num1 * step * (num2 * step)) / step / step;
|
break;
|
case '/':
|
result = (num1 * step) / (num2 * step);
|
break;
|
default:
|
break;
|
}
|
return result;
|
}
|
|
keepTwoDecimalStr(num) {
|
const result = Number(num.toString().match(/^\d+(?:\.\d{0,2})?/));
|
let s = result.toString();
|
let rs = s.indexOf('.');
|
if (rs < 0) {
|
rs = s.length;
|
s += '.';
|
}
|
while (s.length <= rs + 2) {
|
s += '0';
|
}
|
return s;
|
}
|
|
dataChange(event) {
|
let fieldName = event.target.getAttribute('data-field');
|
let value = event.detail.value;
|
console.log('fieldName = ' + fieldName + ' value = ' + value);
|
switch (fieldName) {
|
case 'viewOption':
|
this.viewOption = value;
|
this.changelistView();
|
break;
|
case 'fiscalYearOption':
|
this.fiscalYearOption = value;
|
this.changeFiscalYear();
|
break;
|
}
|
}
|
|
changeFiscalYear() {
|
this.isShowSpinner = true;
|
changeFiscalYearView({
|
fiscalYear: this.fiscalYearOption
|
})
|
.then((r) => {
|
r = JSON.parse(JSON.stringify(r));
|
console.log('r = ' + JSON.stringify(r));
|
if (r.status == 'Success') {
|
//top10客户
|
this.topInfo = r.entity.topInfo;
|
console.log(
|
'this.topInfo = ' + JSON.stringify(this.topInfo)
|
);
|
this.topAccountData = this.topInfo.acList;
|
console.log(
|
'this.topAccountData = ' +
|
JSON.stringify(this.topAccountData)
|
);
|
let total = 100;
|
for (var i in this.topAccountData) {
|
console.log('i = ' + i);
|
this.topAccountData[i]['accountName'] =
|
this.topAccountData[i].Name;
|
this.topAccountData[i]['accountUrl'] =
|
'/s/lexconsumableaccount?AccId=' +
|
this.topAccountData[i].Id;
|
this.topAccountData[i]['isDisable'] = false;
|
this.topAccountData[i]['StateMasterName'] =
|
this.topAccountData[i].State_Master__r.Name;
|
this.topAccountData[i]['StateMasterUrl'] =
|
'/' + this.topAccountData[i].State_Master__c;
|
this.topAccountData[i]['CityMasterName'] =
|
this.topAccountData[i].City_Master__r.Name;
|
this.topAccountData[i]['CityMasterNameUrl'] =
|
'/' + this.topAccountData[i].City_Master__c;
|
this.topAccountData[i]['RecordTypeName'] =
|
this.topAccountData[i].RecordType.Name;
|
this.topAccountData[i]['isShowButton'] = true;
|
let number = this.keepTwoDecimalStr(
|
(
|
this.amend(
|
this.topInfo.deList[i],
|
this.topInfo.saleAmount,
|
'/'
|
) * 100
|
).toFixed(2)
|
);
|
total -= number;
|
this.topAccountData[i]['proportion'] = number + '%';
|
}
|
|
// //其他
|
if (total != 100) {
|
this.topAccountData.push({
|
accountName: '...',
|
accountUrl: '/s/lexconsumableaccount',
|
isDisable: true,
|
proportion:
|
(total.toFixed(2) > 0.0
|
? total.toFixed(2)
|
: '0.00') + '%',
|
CityMasterName: '...',
|
CityMasterNameUrl: '/lexconsumableaccount',
|
Town__c: '...',
|
isShowButton: false
|
});
|
} else {
|
let title = '';
|
for (var key in this.fiscalYearOptions) {
|
if (
|
this.fiscalYearOption ==
|
this.fiscalYearOptions[key].value
|
)
|
title = this.fiscalYearOptions[key].label;
|
}
|
this.showMyToast(title, '无数据', 'Error');
|
}
|
|
this.isShowSpinner = false;
|
} else {
|
console.log('r = ' + JSON.stringify(r));
|
this.showMyToast('Error', r.msg, 'Error');
|
}
|
})
|
.catch((error) => {
|
console.log('error = ' + JSON.stringify(error));
|
this.showMyToast('Error', '销量前十客户初始化失败', 'Error');
|
});
|
}
|
|
changelistView() {
|
this.isShowSpinner = true;
|
changelistView({
|
filterNameLwc: this.viewOption,
|
accountIdLwc: this.accountId,
|
agencyProTypeLwc: this.agencyProType,
|
pageSizeLWC: this.pageSize,
|
pageTokenLWC: this.currentPageToken,
|
sortFieldLWC: this.sortBy,
|
sortOrderLWC: this.sortDirection
|
})
|
.then((r) => {
|
r = JSON.parse(JSON.stringify(r));
|
console.log('r = ' + JSON.stringify(r));
|
if (r.status == 'Success') {
|
//分页
|
this.nextPageToken =
|
r.entity.paginatedAccounts.nextPageToken;
|
this.totalRecords = r.entity.paginatedAccounts.totalRecords;
|
this.recordStart = r.entity.paginatedAccounts.recordStart;
|
this.recordEnd = r.entity.paginatedAccounts.recordEnd;
|
this.totalPages = Math.ceil(
|
r.entity.paginatedAccounts.totalRecords / this.pageSize
|
);
|
console.log('this.totalPages = ' + this.totalPages);
|
this.paginationVisibility =
|
this.totalPages > 1 ? true : false;
|
|
this.pageRecords = r.entity.pageRecords;
|
console.log(
|
'this.pageRecords = ' + JSON.stringify(this.pageRecords)
|
);
|
for (var i in this.pageRecords) {
|
this.pageRecords[i]['Is_Active__c'] = this.pageRecords[
|
i
|
].Is_Active__c.replace('効', '效');
|
this.pageRecords[i]['NameUrl'] =
|
'/s/lexconsumableaccount?AccId=' +
|
this.pageRecords[i].Id;
|
this.pageRecords[i]['StateMasterName'] =
|
this.pageRecords[i].State_Master__r.Name;
|
this.pageRecords[i]['StateMasterUrl'] =
|
'/' + this.pageRecords[i].State_Master__c;
|
this.pageRecords[i]['CityMasterName'] =
|
this.pageRecords[i].City_Master__r.Name;
|
this.pageRecords[i]['CityMasterNameUrl'] =
|
'/' + this.pageRecords[i].City_Master__c;
|
this.pageRecords[i]['RecordTypeName'] =
|
this.pageRecords[i].RecordType.Name;
|
}
|
this.isShowSpinner = false;
|
} else {
|
this.showMyToast('Error', r.msg, 'Error');
|
}
|
})
|
.catch((error) => {
|
console.log('error = ' + JSON.stringify(error.message));
|
});
|
}
|
|
showMyToast(title, message, variant) {
|
this.isShowSpinner = false;
|
console.log('show custom message');
|
var iconName = '';
|
var content = '';
|
if (variant.toLowerCase() == 'success') {
|
iconName = 'utility:check';
|
} else {
|
iconName = 'utility:error';
|
}
|
if (message != '') {
|
content =
|
'<h2><strong>' +
|
title +
|
'<strong/></h2><h5>' +
|
message +
|
'</h5>';
|
} else {
|
content = '<h2><strong>' + title + '<strong/></h2>';
|
}
|
this.template
|
.querySelector('c-common-toast')
|
.showToast(variant, content, iconName, 10000);
|
}
|
|
sortByMethod(field, reverse, primer) {
|
const key = primer
|
? function (x) {
|
return primer(x[field]);
|
}
|
: function (x) {
|
return x[field];
|
};
|
|
return function (a, b) {
|
a = key(a);
|
b = key(b);
|
return reverse * ((a > b) - (b > a));
|
};
|
}
|
|
onHandleSort(event) {
|
console.log('event.detail.fieldName = ' + event.detail.fieldName);
|
this.sortBy = event.detail.fieldName;
|
switch (this.sortBy) {
|
case 'NameUrl':
|
this.sortBy = 'Name';
|
break;
|
case 'StateMasterName':
|
this.sortBy = 'State_Master__r.Name';
|
break;
|
case 'RecordTypeName':
|
this.sortBy = 'RecordType.Name';
|
break;
|
case 'CityMasterName':
|
this.sortBy = 'City_Master__r.Name';
|
break;
|
}
|
this.sortDirection = event.detail.sortDirection;
|
this.currentPageToken = 0;
|
console.log('this.sortBy = ' + this.sortBy);
|
console.log('this.sortDirection = ' + this.sortDirection);
|
this.changelistView();
|
const { fieldName: sortedBy, sortDirection } = event.detail;
|
this.sortByMethod(sortedBy, sortDirection === 'asc' ? 1 : -1);
|
this.sortDirection = sortDirection;
|
this.sortedBy = sortedBy;
|
}
|
|
handlePrevious() {
|
this.currentPageToken =
|
Number(this.currentPageToken) - Number(this.pageSize);
|
this.changelistView();
|
}
|
|
handleNext() {
|
this.currentPageToken =
|
Number(this.currentPageToken) + Number(this.pageSize);
|
this.changelistView();
|
}
|
handleFirst() {
|
this.currentPageToken = 0;
|
this.changelistView();
|
}
|
|
handleLast() {
|
this.currentPageToken =
|
this.totalPages > 1 ? (this.totalPages - 1) * this.pageSize : 0;
|
this.changelistView();
|
}
|
|
handlePageschange(event) {
|
console.log(event.detail);
|
this.pageSize = event.detail;
|
this.currentPageToken = 0;
|
this.changelistView();
|
}
|
get previousButtonDisabled() {
|
return this.currentPageToken === 0;
|
}
|
|
get nextButtonDisabled() {
|
return this.nextPageToken === undefined;
|
}
|
}
|