@page "/system/file/list"
上传文件
上传文件
@code {
[SupplyParameterFromQuery]
int? Page { get; set; }
[SupplyParameterFromQuery(Name = "size")]
int? PageSize { get; set; }
[SupplyParameterFromForm]
UploadFileSearch search { get; set; } = new();
Form searchForm = null!;
[SupplyParameterFromForm]
UploadFileModel model { get; set; } = new();
Form editform = null!;
PagingList PagingList = new();
bool loading { get; set; } = true;
bool searchExpand { get; set; } = false;
bool drawerVisible;
protected override void OnInitialized()
{
base.OnInitialized();
}
protected override void OnParametersSet()
{
loadQueryString();
LoadList();
base.OnParametersSet();
}
void loadQueryString()
{
var uri = new Uri(Navigation.Uri);
var query = uri.Query;
search.Name = query.GetQueryString("Name");
var data = query.GetQueryString("RangeTime");
if (!string.IsNullOrEmpty(data))
{
var rangetime = data.Split("-");
if (rangetime != null && rangetime.Length > 0)
{
searchExpand = true;
search.RangeTime[0] = rangetime[0].NumberToDateTime();
search.RangeTime[1] = rangetime[1].NumberToDateTime();
StateHasChanged();
}
}
}
private async void LoadList()
{
loading = true;
var url = "/api/uploadfile/search";
var apiResult = await HttpService.GetPagingList(url, search, Page.GetValueOrDefault(1), PageSize.GetValueOrDefault(20));
if (apiResult.Success)
{
if (apiResult.Data != null)
{
PagingList = apiResult.Data;
}
}
loading = false;
StateHasChanged();
}
private void OnReset()
{
search = new();
LoadList();
}
void OnSearchReset()
{
search = new();
searchForm?.Reset();
OnSearchFinish();
}
void OnSearchFinish()
{
Page = Page.GetValueOrDefault(1) - 1;
OnSearch(Page.Value);
}
private void OnSearch(int page)
{
var queryString = search.BuildQueryString();
if (string.IsNullOrEmpty(queryString))
{
if (page > 1)
{
Navigation.NavigateTo($"/system/upload/list?page={page}");
}
else
{
Navigation.NavigateTo($"/system/upload/list");
}
}
else
{
if (page > 1)
{
Navigation.NavigateTo($"/system/upload/list?page={page}&{queryString}");
}
else
{
Navigation.NavigateTo($"/system/upload/list?{queryString}");
}
}
}
void OnCreateClick()
{
model = new();
drawerVisible = true;
}
void OnEditClick(UploadFile file)
{
this.model = file.Adapt();
drawerVisible = true;
}
async Task HandleDeleteConfirmAsync(MouseEventArgs e, long id)
{
var url = $"/api/uploadfile/delete/{id}";
var apiResult = await HttpService.Post>(url, new());
if (apiResult.Success)
{
LoadList();
await ModalService.InfoAsync(new ConfirmOptions() { Title = "操作提示", Content = "删除数据成功" });
}
else
{
await ModalService.ErrorAsync(new ConfirmOptions() { Title = "操作提示", Content = $"数据删除失败.{apiResult.Message}" });
}
}
async Task OnFormFinish()
{
if (editform.Validate())
{
var result = new ApiResult();
if (model.Id > 0)
{
var url = $"api/uploadfile/edit";
result = await HttpService.Post>(url, model);
}
else
{
var url = $"api/uploadfile/add";
result = await HttpService.Post>(url, model);
}
if (result.Code == (int)ResultCode.Success)
{
CloseDrawer();
LoadList();
await ModalService.InfoAsync(new ConfirmOptions() { Title = "提示", Content = "数据提交成功!" });
}
else
{
await ModalService.ErrorAsync(new ConfirmOptions() { Title = "服务异常", Content = result.Message });
}
}
}
private void OnPageChanged(int args)
{
OnSearch(args);
}
void CloseDrawer()
{
drawerVisible = false;
editform.Reset();
}
}