From 3962c2bb0435484b60a3e408e4738d792e249a53 Mon Sep 17 00:00:00 2001
From: buli <137736985@qq.com>
Date: 星期一, 05 六月 2023 11:09:55 +0800
Subject: [PATCH] LEX CommunityNewCmp
---
force-app/main/default/lwc/lexConsumableAccount/lexConsumableAccount.js | 718 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 718 insertions(+), 0 deletions(-)
diff --git a/force-app/main/default/lwc/lexConsumableAccount/lexConsumableAccount.js b/force-app/main/default/lwc/lexConsumableAccount/lexConsumableAccount.js
new file mode 100644
index 0000000..8687cd2
--- /dev/null
+++ b/force-app/main/default/lwc/lexConsumableAccount/lexConsumableAccount.js
@@ -0,0 +1,718 @@
+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: 345,
+ sortable: true,
+ type: "url",
+ typeAttributes: {
+ label: {
+ fieldName: "Name",
+ },
+ },
+ },
+ {
+ label: "鐪�",
+ fieldName: "StateMasterUrl",
+ hideDefaultActions: true,
+ initialWidth: 80,
+ wrapText: true,
+ sortable: true,
+ type: "url",
+ typeAttributes: {
+ label: {
+ fieldName: "StateMasterName",
+ },
+ target: "_blank",
+ },
+ },
+ {
+ label: "閿�鍞湰閮ㄥ尰闄�",
+ fieldName: "Salesdepartment_HP__c",
+ initialWidth: 115,
+ 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",
+ },
+ initialWidth: 100,
+ },
+ {
+ label: "鏈夋晥/鏃犳晥",
+ fieldName: "Is_Active__c",
+ hideDefaultActions: true,
+ sortable: true,
+ wrapText: true,
+ initialWidth: 91,
+ },
+ {
+ label: "瀹㈡埛璁板綍绫诲瀷",
+ fieldName: "RecordTypeName",
+ hideDefaultActions: true,
+ sortable: true,
+ wrapText: true,
+ initialWidth: 130,
+ },
+ {
+ label: "鏀垮簻绛夌骇",
+ fieldName: "Grade__c",
+ hideDefaultActions: true,
+ sortable: true,
+ wrapText: true,
+ initialWidth: 86,
+ },
+ {
+ label: "OCSM鍒嗙被(鍖婚櫌)",
+ fieldName: "OCM_Category__c",
+ hideDefaultActions: true,
+ sortable: true,
+ wrapText: true,
+ initialWidth: 150,
+ },
+ {
+ label: "甯�",
+ fieldName: "CityMasterNameUrl",
+ hideDefaultActions: true,
+ sortable: true,
+ wrapText: true,
+ type: "url",
+ typeAttributes: {
+ label: {
+ fieldName: "CityMasterName",
+ },
+ target: "_blank",
+ },
+ },
+ {
+ label: "鍘�/鍖�",
+ fieldName: "Town__c",
+ hideDefaultActions: true,
+ sortable: true,
+ wrapText: true,
+ },
+ {
+ label: "瀹㈡埛鐢佃瘽",
+ fieldName: "Phone",
+ hideDefaultActions: true,
+ sortable: true,
+ wrapText: true,
+ },
+];
+
+const topColumns = [
+ {
+ label: "瀹㈡埛鍚�",
+ fieldName: "NameUrl",
+ hideDefaultActions: true,
+ wrapText: true,
+ type: "url",
+ typeAttributes: {
+ label: {
+ fieldName: "Name",
+ },
+ },
+ },
+ {
+ label: "甯�",
+ fieldName: "CityMasterNameUrl",
+ hideDefaultActions: true,
+ wrapText: true,
+ type: "url",
+ typeAttributes: {
+ label: {
+ fieldName: "CityMasterName",
+ },
+ target: "_blank",
+ },
+ },
+ {
+ 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 = true;
+ @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.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") {
+ 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]["NameUrl"] = "/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;
+ for (var i in this.topAccountData) {
+ console.log('i = ' + i);
+ this.topAccountData[i]["NameUrl"] = "/lexconsumableaccount?AccId=" + this.topAccountData[i].Id;
+ 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({
+ Name: '...',
+ NameUrl: '/lexconsumableaccount',
+ proportion: total.toFixed(2) + '%',
+ 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');
+ });
+ }
+ }
+
+ amend(num1, num2, symbol) {
+ var str1 = num1.toString(),
+ str2 = num2.toString(),
+ result,
+ str1Length,
+ str2Length;
+ //瑙e喅鏁存暟娌℃湁灏忔暟鐐规柟娉�
+ 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]["NameUrl"] = "/lexconsumableaccount?AccId=" + this.topAccountData[i].Id;
+ 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({
+ Name: '...',
+ NameUrl: '/lexconsumableaccount',
+ proportion: total.toFixed(2) + '%',
+ 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]["NameUrl"] =
+ "/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) {
+ this.sortBy = event.detail.fieldName;
+ switch (this.sortBy) {
+ case "NameUrl":
+ this.sortBy = "Name";
+ break;
+ case "StateMasterUrl":
+ this.sortBy = "State_Master__r.Name";
+ break;
+ case "RecordTypeName":
+ this.sortBy = "RecordType.Name";
+ break;
+ case "CityMasterNameUrl":
+ 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;
+ }
+}
\ No newline at end of file
--
Gitblit v1.9.1