@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);
}
}
}