StaffSelect.razor.cs 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. using Microsoft.AspNetCore.Components;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Threading.Tasks;
  6. using wispro.sp.entity;
  7. using wispro.sp.web.Services;
  8. namespace wispro.sp.web.Components
  9. {
  10. public partial class StaffSelect
  11. {
  12. private Staff _SelectedItem;
  13. private List<Staff> _ShowStaffs;
  14. [Parameter]
  15. public int? StaffId { get; set; }
  16. [Parameter]
  17. public EventCallback<int?> StaffIdChanged { get; set; }
  18. [Parameter]
  19. public List<Staff> StaffLists { get; set; }
  20. [Parameter]
  21. public bool AutoSelectedFirstItem { get; set; } = true;
  22. [Inject] IUserService _UserService { get; set; }
  23. protected override void OnInitialized()
  24. {
  25. _ShowStaffs = StaffLists;
  26. if(_ShowStaffs !=null && _ShowStaffs.Count > 0 && AutoSelectedFirstItem && StaffId ==null)
  27. {
  28. StaffId = _ShowStaffs[0].Id;
  29. }
  30. base.OnInitialized();
  31. }
  32. protected override Task OnParametersSetAsync()
  33. {
  34. _ShowStaffs = StaffLists;
  35. if (_ShowStaffs != null && _ShowStaffs.Count > 0 && AutoSelectedFirstItem && StaffId == null)
  36. {
  37. StaffId = _ShowStaffs[0].Id;
  38. }
  39. return base.OnParametersSetAsync();
  40. }
  41. private void OnSelectedItemChangedHandler(Staff value)
  42. {
  43. _SelectedItem = value;
  44. StaffIdChanged.InvokeAsync(_SelectedItem.Id);
  45. }
  46. private void OnSearch(string value)
  47. {
  48. //_ShowStaffs = StaffLists.Where<Staff>(p => p.Name.Contains(value)).ToList();
  49. //StateHasChanged();
  50. }
  51. }
  52. }