@page "/_Admin/FrameworkMenu" @using WalkingTec.Mvvm.Mvc.Admin.ViewModels.FrameworkMenuVMs; @inherits BasePage @attribute [ActionDescription("MenuKey.MenuMangement", "WalkingTec.Mvvm.Admin.Api,FrameworkMenu")] @if (IsAccessable("/api/_frameworkmenu/Add")) { } @if (IsAccessable("/api/_frameworkmenu/BatchDelete")) { } @if (IsAccessable("/api/_frameworkmenu/ExportExcel")) { } @if (IsAccessable("/api/_frameworkmenu/Edit")) { } @if (IsAccessable("/api/_frameworkmenu/{id}")) { } @if (IsAccessable("/api/_frameworkmenu/BatchDelete")) { }
@code{ private FrameworkMenuSearcher SearchModel = new FrameworkMenuSearcher(); private Table dataTable; private async Task> OnSearch(QueryPageOptions opts) { return await StartSearchTree("/api/_frameworkmenu/Search", SearchModel, opts); } private async Task> OnTreeExpand(FrameworkMenu_ListView data) { return await Task.FromResult(data.Children); } private async Task DoSearch(IEnumerable data) { await dataTable.QueryAsync(); } private async Task OnCreateClick(IEnumerable items) { if (await OpenDialog(WtmBlazor.Localizer["Sys.Create"]) == DialogResult.Yes) { await dataTable.QueryAsync(); } } private async Task OnEditClick(FrameworkMenu_ListView item) { if (await OpenDialog(WtmBlazor.Localizer["Sys.Edit"], x => x.id == item.ID.ToString()) == DialogResult.Yes) { await dataTable.QueryAsync(); } } private async Task OnDetailsClick(FrameworkMenu_ListView 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/_frameworkmenu/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(FrameworkMenu_ListView item) { await PostsData(new List { item.ID.ToString() }, $"/api/_frameworkmenu/batchdelete", (s) => "Sys.OprationSuccess"); await dataTable.QueryAsync(); } private async Task OnExportClick(IEnumerable items) { if (dataTable.SelectedRows?.Any() == true) { await Download("/api/_frameworkmenu/ExportExcelByIds", dataTable.SelectedRows.Select(x => x.ID.ToString()).ToList()); } else { await Download("/api/_frameworkmenu/ExportExcel", SearchModel); } } private async Task OnRefresh(IEnumerable items) { var msg = await WtmBlazor.Api.CallAPI($"/api/_frameworkmenu/RefreshMenu"); await WtmBlazor.Toast.Information(WtmBlazor.Localizer["Sys.Info"], msg.Data); } }