@page "/_Admin/DataPrivilege" @using WalkingTec.Mvvm.Mvc.Admin.ViewModels.DataPrivilegeVMs; @inherits BasePage @attribute [ActionDescription("MenuKey.DataPrivilege", "WalkingTec.Mvvm.Admin.Api,DataPrivilege")] @if (IsAccessable("/api/_DataPrivilege/Add")) { } @if (IsAccessable("/api/_DataPrivilege/ExportExcel")) { } @if (IsAccessable("/api/_DataPrivilege/Edit")) { } @if (IsAccessable("/api/_DataPrivilege/Get")) { } @if (IsAccessable("/api/_DataPrivilege/Delete")) { }
@code{ private DataPrivilegeSearcher SearchModel = new DataPrivilegeSearcher(); private Table dataTable; private List AllPrivileges = new List(); private List AllDptypes = new List(); protected override async Task OnInitializedAsync() { AllPrivileges = await WtmBlazor.Api.CallItemsApi("/api/_DataPrivilege/GetPrivileges", placeholder: WtmBlazor.Localizer["Sys.PleaseSelect"]); //AllDptypes.Add(new SelectedItem() { Text = WtmBlazor.Localizer["_Admin.UserDp"], Value = DpTypeEnum.User.ToString() }); //AllDptypes.Add(new SelectedItem() { Text = WtmBlazor.Localizer["_Admin.GroupDp"], Value = DpTypeEnum.UserGroup.ToString() }); } private async Task> OnSearch(QueryPageOptions opts) { return await StartSearch("/api/_DataPrivilege/Search", SearchModel, opts); } private void DoSearch() { dataTable.QueryAsync(); } private async Task OnCreateClick(IEnumerable items) { if (await OpenDialog(WtmBlazor.Localizer["Sys.Create"], x => x.dptype == SearchModel.DpType) == DialogResult.Yes) { await dataTable.QueryAsync(); } } private async Task OnEditClick(DataPrivilege_ListView item) { if (await OpenDialog(WtmBlazor.Localizer["Sys.Edit"], x => x.TableName == item.TableName && x.TargetId == item.TargetId && x.DpType == item.DpType) == DialogResult.Yes) { await dataTable.QueryAsync(); } } private async Task OnDetailsClick(DataPrivilege_ListView item) { await OpenDialog
(WtmBlazor.Localizer["Sys.Details"], x => x.TableName == item.TableName && x.TargetId == item.TargetId && x.DpType == item.DpType); } private async Task OnBatchDeleteClick() { if (dataTable.SelectedRows?.Any() == true) { await PostsData(dataTable.SelectedRows.Select(x => x.ID).ToList(), $"/api/_DataPrivilege/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(DataPrivilege_ListView item) { await PostsData(new { ModelName = item.TableName, Id = item.TargetId, Type = item.DpType }, $"/api/_DataPrivilege/delete", (s) => "Sys.OprationSuccess"); await dataTable.QueryAsync(); } private async Task OnExportClick(IEnumerable items) { if (dataTable.SelectedRows?.Any() == true) { await Download("/api/_DataPrivilege/ExportExcelByIds", dataTable.SelectedRows.Select(x => x.ID.ToString()).ToList()); } else { await Download("/api/_DataPrivilege/ExportExcel", SearchModel); } } }