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 = 10;
|
error;
|
records;
|
currentPageToken = 0;
|
nextPageToken = this.pageSize;
|
@track totalRecords = 0;
|
@track loader = false;
|
@track pageNumber = 1;
|
@track paginationVisibility = false;
|
@track totalPages = 1;
|
pageSizeOptions = [10, 25, 50, 100];
|
@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;
|
}
|
}
|