@page "/_Admin/ActionLog" @using WalkingTec.Mvvm.Mvc.Admin.ViewModels.ActionLogVMs; @using System.ComponentModel.DataAnnotations; @inherits BasePage @attribute [ActionDescription("MenuKey.ActionLog", "WalkingTec.Mvvm.Admin.Api,ActionLog")] @**@ @if (IsAccessable("/api/_ActionLog/BatchDelete")) { } @if (IsAccessable("/api/_ActionLog/ExportExcel")) { } @if (IsAccessable("/api/_ActionLog/{id}")) { } @if (IsAccessable("/api/_ActionLog/BatchDelete")) { }
@code{ private ActionLogSearcher SearchModel = new ActionLogSearcher(); private Table dataTable; private async Task> OnSearch(QueryPageOptions opts) { return await StartSearch("/api/_ActionLog/Search", SearchModel, opts); } private void DoSearch() { dataTable.QueryAsync(); } private static Task IntFormatter(object d) { var data = (d as TableColumnContext).Value; var val = (double?)data; return Task.FromResult(val?.ToString("F2") ?? ""); } private async Task OnDetailsClick(ActionLog item) { await OpenDialog
(WtmBlazor.Localizer["Sys.Details"], x => x.id == item.ID.ToString()); } private async Task OnBatchDeleteClick() { if (dataTable.SelectedRows?.Any() == true) { await PostsData(dataTable.SelectedRows.Select(x => x.ID).ToList(), $"/api/_ActionLog/batchdelete", (s) => WtmBlazor.Localizer["Sys.BatchDeleteSuccess", s]); await dataTable.QueryAsync(); } else { await WtmBlazor.Toast.Information(WtmBlazor.Localizer["Sys.Info"], WtmBlazor.Localizer["Sys.SelectOneRowMin"]); } } private async Task OnDeleteClick(ActionLog item) { await PostsData(new List { item.ID.ToString() }, $"/api/_ActionLog/batchdelete", (s) => "Sys.OprationSuccess"); await dataTable.QueryAsync(); } private async Task OnExportClick(IEnumerable items) { if (dataTable.SelectedRows?.Any() == true) { await Download("/api/_ActionLog/ExportExcelByIds", dataTable.SelectedRows.Select(x => x.ID.ToString()).ToList()); } else { await Download("/api/_ActionLog/ExportExcel", SearchModel); } } }