@page "$pagepath$" @using $vmnamespace$; @inherits BasePage @attribute [ActionDescription("$des$", "$controllername$")] $searchfields$ $columns$ @if (IsAccessable("/api/$modelname$/Add")) { } @if (IsAccessable("/api/$modelname$/BatchDelete")) { } @if (IsAccessable("/api/$modelname$/Import")) { } @if (IsAccessable("/api/$modelname$/ExportExcel")) { }
@if (IsAccessable("/api/$modelname$/Edit")) { } @if (IsAccessable("/api/$modelname$/{id}")) { } @if (IsAccessable("/api/$modelname$/BatchDelete")) { }
@code{ private $modelname$Searcher SearchModel = new $modelname$Searcher(); private Table<$modelname$_View> dataTable; $fieldinit$ protected override async Task OnInitializedAsync() { $init$ await base.OnInitializedAsync(); } private async Task> OnSearch(QueryPageOptions opts) { return await StartSearch<$modelname$_View>("/api/$modelname$/Search", SearchModel, opts); } private void DoSearch() { dataTable.QueryAsync(); } private async Task OnCreateClick(IEnumerable<$modelname$_View> items) { if (await OpenDialog(WtmBlazor.Localizer["Sys.Create"]) == DialogResult.Yes) { await dataTable.QueryAsync(); } } private async Task OnEditClick($modelname$_View item) { if (await OpenDialog(WtmBlazor.Localizer["Sys.Edit"], x => x.id == item.ID.ToString()) == DialogResult.Yes) { await dataTable.QueryAsync(); } } private async Task OnDetailsClick($modelname$_View 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/$modelname$/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($modelname$_View item) { await PostsData(new List { item.ID.ToString() }, $"/api/$modelname$/batchdelete", (s) => "Sys.OprationSuccess"); await dataTable.QueryAsync(); } private async Task OnExportClick(IEnumerable<$modelname$_View> items) { if (dataTable.SelectedRows?.Any() == true) { await Download("/api/$modelname$/ExportExcelByIds", dataTable.SelectedRows.Select(x => x.ID.ToString()).ToList()); } else { await Download("/api/$modelname$/ExportExcel", SearchModel); } } private async Task OnImportClick(IEnumerable<$modelname$_View> items) { if (await OpenDialog(WtmBlazor.Localizer["Sys.Import"]) == DialogResult.Yes) { await dataTable.QueryAsync(); } } }