@page "/StaffList"
@inject HttpClient Http
@using AntDesign.TableModels
@inject MessageService _message
@using System.ComponentModel
@using wispro.sp.share;
@attribute [Authorize]
基本信息管理
账号管理
@if (forecasts == null)
{
}
else
{
@serialNumber(_pageIndex, _pageSize, context.Name)
}
@using System.Text.Json;
@code {
private List forecasts;
IEnumerable selectedRows;
ITable table;
int _pageIndex = 1;
int _pageSize = 10;
int _total = 0;
bool _loading = false;
Staff EditingStaff = null;
bool _visible = false;
bool _isAdd = false;
List _StaffGrade;
string[] _places = new string[] { "深圳", "苏州", "南通", "西安", "北京", "杭州", "武汉" };
int _SelectGradeId;
protected override async System.Threading.Tasks.Task OnInitializedAsync()
{
_loading = true;
ListApiResponse data = await Http.GetFromJsonAsync>($"http://localhost:39476/api/Staff/Query?pageIndex={_pageIndex}&pageSize={_pageSize}");
_loading = false;
forecasts = data.Results;
_total = data.TotalCount;
_StaffGrade = await Http.GetFromJsonAsync>($"http://localhost:39476/api/StaffGrade/GetAll");
}
private void HandlePageChange(PaginationEventArgs args)
{
if (_pageIndex != args.Page)
{
_pageIndex = args.Page;
}
if (_pageSize != args.PageSize)
{
_pageSize = args.PageSize;
}
}
public async System.Threading.Tasks.Task OnChange(QueryModel queryModel)
{
_loading = true;
ListApiResponse data = await Http.GetFromJsonAsync>("http://localhost:39476/api/Staff/Query?" + GetRandomuserParams(queryModel));
_loading = false;
forecasts = data.Results;
_total = data.TotalCount;
}
public int serialNumber(int pageIndex, int pageSize, string name)
{
int iIndex = 0;
foreach (Staff sf in forecasts)
{
iIndex++;
if (sf.Name == name)
{
break;
}
}
return (pageIndex - 1) * pageSize + iIndex;
}
Dictionary OnRow(RowData row)
{
Dictionary ret = new Dictionary();
ret.Add("id", row.RowIndex);
ret.Add("onclick", ((Action)delegate
{
//_message.Info($"row {row.Data.Name} was clicked");
}));
return ret;
}
private void AddNew()
{
EditingStaff = new entity.Staff();
_isAdd = true;
_visible = true;
}
public void RemoveSelection(string name)
{
var selected = selectedRows.Where(x => x.Name != name);
selectedRows = selected;
}
private void Delete(string name)
{
var rList = forecasts.Where(x => x.Name == name).ToList();
if (rList.Count() > 0)
{
EditingStaff = rList[0];
_isAdd = false;
_visible = true;
}
else
{
}
//_total = forecasts.Length;
}
string GetRandomuserParams(QueryModel queryModel)
{
List query = new List()
{
$"pageSize={queryModel.PageSize}",
$"pageIndex={queryModel.PageIndex}",
};
queryModel.SortModel.ForEach(x =>
{
if (x.Sort != null)
{
query.Add($"sortField={x.FieldName.ToLower()}");
query.Add($"sortOrder={x.Sort}");
}
});
queryModel.FilterModel.ForEach(filter =>
{
filter.SelectedValues.ForEach(value =>
{
query.Add($"{filter.FieldName.ToLower()}={value}");
});
});
return string.Join('&', query);
}
private async System.Threading.Tasks.Task HandleOk(MouseEventArgs e)
{
Console.WriteLine(EditingStaff.StaffGradeId.ToString());
var data = await Http.PostAsJsonAsync($"http://localhost:39476/api/Staff/Save", EditingStaff);
if (data.IsSuccessStatusCode)
{
ApiSaveResponse result = await data.Content.ReadFromJsonAsync();
//await Task.Delay(1000);
if (result.Success)
{
await _message.Success("数据已保存!");
_visible = false;
await OnChange((QueryModel)table.GetQueryModel());
}
else
{
await _message.Error($"{result.ErrorMessage}");
}
}
else
{
await _message.Error($"请求发生错误 {data.StatusCode}");
}
}
private void HandleCancel(MouseEventArgs e)
{
Console.WriteLine(e);
_visible = false;
}
}