| | |
| | | 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, |
| | | }, |
| | | { |
| | | 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, |
| | | { |
| | | 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"); |
| | | }); |
| | | } |
| | | 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"; |
| | | |
| | | //获取链接参数 |
| | | 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; |
| | | } |
| | | @track isShowAccountInfo = false; |
| | | @track topAccountData = []; |
| | | |
| | | 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; |
| | | //前端排序 |
| | | defaultSortDirection = "asc"; |
| | | sortDirection = "asc"; |
| | | sortedBy; |
| | | |
| | | 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) |
| | | ); |
| | | //分页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 |
| | | |
| | | 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) { |
| | | 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 + '%'; |
| | | } |
| | | @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: "" |
| | | }; |
| | | |
| | | console.log('this.topAccountData = ' + JSON.stringify(this.topAccountData)); |
| | | stylesLoaded = false; |
| | | |
| | | //其他 |
| | | if (total != 100) { |
| | | this.topAccountData.push({ |
| | | accountName: '...', |
| | | accountUrl: '/s/lexconsumableaccount', |
| | | isDisable: true, |
| | | 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; |
| | | } catch (error) { |
| | | console.log('error = ' + error.message) |
| | | } |
| | | //财年 |
| | | @track fiscalYearOptions = [ |
| | | { label: "本财年", value: "thisYear" }, |
| | | { label: "上一财年", value: "lastYear" }, |
| | | { label: "上一财年+本财年", value: "allYear" } |
| | | ]; |
| | | @track fiscalYearOption = "thisYear"; |
| | | @track topInfo = []; |
| | | |
| | | } 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; |
| | | //解决整数没有小数点方法 |
| | | 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) + '%', |
| | | 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'); |
| | | 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"); |
| | | }); |
| | | } |
| | | } |
| | | |
| | | 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, |
| | | //获取链接参数 |
| | | 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"); |
| | | } |
| | | }) |
| | | .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; |
| | | .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; |
| | | 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]); |
| | | 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; |
| | | } |
| | | : function (x) { |
| | | return x[field]; |
| | | }; |
| | | console.log( |
| | | "this.listViewOptions = " + JSON.stringify(this.listViewOptions) |
| | | ); |
| | | |
| | | return function (a, b) { |
| | | a = key(a); |
| | | b = key(b); |
| | | return reverse * ((a > b) - (b > a)); |
| | | }; |
| | | 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"); |
| | | }); |
| | | } |
| | | } |
| | | |
| | | 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; |
| | | 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"); |
| | | } |
| | | 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; |
| | | } |
| | | }) |
| | | .catch((error) => { |
| | | console.log("error = " + JSON.stringify(error)); |
| | | this.showMyToast("Error", "销量前十客户初始化失败", "Error"); |
| | | }); |
| | | } |
| | | |
| | | handlePrevious() { |
| | | this.currentPageToken = |
| | | Number(this.currentPageToken) - Number(this.pageSize); |
| | | this.changelistView(); |
| | | } |
| | | 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; |
| | | |
| | | handleNext() { |
| | | this.currentPageToken = |
| | | Number(this.currentPageToken) + Number(this.pageSize); |
| | | this.changelistView(); |
| | | } |
| | | handleFirst() { |
| | | this.currentPageToken = 0; |
| | | this.changelistView(); |
| | | } |
| | | 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)); |
| | | }); |
| | | } |
| | | |
| | | handleLast() { |
| | | this.currentPageToken = |
| | | this.totalPages > 1 ? (this.totalPages - 1) * this.pageSize : 0; |
| | | this.changelistView(); |
| | | 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); |
| | | } |
| | | |
| | | handlePageschange(event) { |
| | | console.log(event.detail); |
| | | this.pageSize = event.detail; |
| | | this.currentPageToken = 0; |
| | | this.changelistView(); |
| | | } |
| | | get previousButtonDisabled() { |
| | | return this.currentPageToken === 0; |
| | | } |
| | | sortByMethod(field, reverse, primer) { |
| | | const key = primer |
| | | ? function (x) { |
| | | return primer(x[field]); |
| | | } |
| | | : function (x) { |
| | | return x[field]; |
| | | }; |
| | | |
| | | get nextButtonDisabled() { |
| | | return this.nextPageToken === undefined; |
| | | 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; |
| | | } |
| | | } |