@page "/system/file/list" @inject ILogger Logger @attribute [Authorize] 上传文件 上传文件
文件列表
@if (context.Type == 1) { } else { } 编辑 删除
@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(); } }