using AntDesign.TableModels; using EasyTemplate.Tool; using Microsoft.AspNetCore.Components; using Microsoft.JSInterop; using SqlSugar; namespace EasyTemplate.Blazor.Web.Components.Pages.Management.Dict; public partial class Dict { protected override async Task OnAfterRenderAsync(bool firstRender) { if (firstRender) { await NavigationManager.RedirectLogin(IJSRuntime); //await Query(); } } /// /// 查 /// /// private async Task Query() { Loading = true; RefAsync total = 0; var res = await _repository.AsQueryable() .WhereIF(!string.IsNullOrWhiteSpace(Q_Name), x => x.KeyName.Contains(Q_Name)) .OrderByDescending(x => x.Id) .ToPageListAsync(Pi, Ps, total); Total = total.Value; DataSource = res; Loading = false; //_table.ReloadData(); } /// /// 增/改 /// /// /// private async Task InsertOrUpdate(SystemDictionary data) { if (data.Id == 0) { if (_repository.IsAny(x=>x.KeyName.ToLower() == data.KeyName.ToLower())) { MessageService.Error("键值已存在"); return false; } return await _repository.InsertAsync(data); } else { if (_repository.IsAny(x => x.KeyName.ToLower() == data.KeyName.ToLower() && x.Id != data.Id)) { MessageService.Error("键值已存在"); return false; } return await _repository.UpdateAsync(data); } } /// /// 删除 /// /// /// private async Task Delete(SystemDictionary row) { if (!await Comfirm($"确认删除 [{row.KeyName}] ?")) return; var flag = await _repository.AsUpdateable() .SetColumns(x => x.IsDelete == true) .Where(x => x.Id == row.Id) .ExecuteCommandAsync() > 0; Table.ReloadData(Pi, Ps); } /// /// 重置查询 /// private async Task ResetQuery() { Q_Name = string.Empty; Pi = 1; await Query(); } private async Task OnChange(QueryModel query) => await Query(); private async Task Search() => await Query(); /// /// 注入实例 /// [Inject] private SqlSugarRepository _repository { get; set; } /// /// /// [Inject] NavigationManager NavigationManager { get; set; } /// /// 账号 /// private string Q_Name { get; set; } /// /// /// [Inject] IJSRuntime IJSRuntime { get; set; } /// /// /// private ITable Table; /// /// /// private IEnumerable SelectedRows = []; /// /// /// private List DataSource; /// /// /// private int Pi = 1; /// /// /// private int Ps = 20; /// /// /// private int Total; /// /// /// private bool Loading = false; /// /// /// Func ShowTotal => x => $"总共 {Total} 条"; }