_SearchCustomerPartial.cshtml 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. @model GreenTree.Strohrmann.ERP.Web.Models.Search.ICustomerSearchable
  2. @{
  3. var partialId = Html.RandomId();
  4. }
  5. <script type="text/javascript">
  6. @{
  7. <text>
  8. $(document).ready(function () {
  9. $("#text_@partialId").on('keypress', function (e) {
  10. if (e.keyCode == 13) {
  11. search_@partialId ();
  12. e.preventDefault();
  13. };
  14. });
  15. $("#text_@partialId").on('keydown', function (e) {
  16. if (e.keyCode == 8 && $("#value_@partialId").val() != "") {
  17. $("#text_@partialId").val("");
  18. $("#value_@partialId").val("");
  19. e.preventDefault();
  20. };
  21. });
  22. });
  23. function search_@partialId () {
  24. $.ajax({
  25. method: "POST",
  26. url: "@Url.Action("Search", "Customer")",
  27. data: {
  28. SearchTerm: $("#text_@partialId").val()
  29. },
  30. success: function (data) {
  31. $("#searchCustomerModal_@partialId").find(".list-group").empty();
  32. if (data.length > 0) {
  33. $(data).each(function (index, elem) {
  34. $("#searchCustomerModal_@partialId").find(".list-group").append(
  35. '<a href="#" class="list-group-item list-group-item-info list-group-item-action" ' +
  36. 'data-toggle="list" data-val="{0}" data-text="{1}">{1} ({2})</a>'
  37. .format(elem.id, elem.fullname, elem.localAddress));
  38. $("#searchCustomerModal_@partialId").find(".list-group").append(
  39. '<a href="#" class="list-group-item list-group-item-info list-group-item-action" ' +
  40. 'data-toggle="list" data-val="{0}" data-text="{1}">{1} ({2})</a>'
  41. .format(elem.id, elem.fullname, elem.localAddress));
  42. $("#searchCustomerModal_@partialId").find(".list-group").append(
  43. '<a href="#" class="list-group-item list-group-item-info list-group-item-action" ' +
  44. 'data-toggle="list" data-val="{0}" data-text="{1}">{1} ({2})</a>'
  45. .format(elem.id, elem.fullname, elem.localAddress));
  46. });
  47. } else {
  48. $("#searchCustomerModal_@partialId").find(".list-group").append(
  49. '<button type="button" class="list-group-item">Keine Treffer</button>');
  50. }
  51. $("#searchCustomerModal_@partialId").modal("show");
  52. },
  53. error: function (msg) {
  54. }
  55. });
  56. }
  57. function select_@partialId () {
  58. $("#searchCustomerModal_@partialId").modal("hide");
  59. var val = $("#searchCustomerModal_@partialId").find("a.active").attr("data-val");
  60. var text = $("#searchCustomerModal_@partialId").find("a.active").attr("data-text");
  61. $("#value_@partialId").val(val);
  62. $("#text_@partialId").val(text);
  63. }
  64. </text>
  65. }
  66. </script>
  67. <div class="input-group mb-3">
  68. <div class="input-group-prepend">
  69. <button class="btn btn-info fas fa-search" type="button" onclick="search_@partialId ()"></button>
  70. </div>
  71. <input id="text_@partialId" type="text" class="form-control" placeholder="Suchbegriff" aria-label="Suchbegriff" aria-describedby="basic-addon1">
  72. </div>
  73. <input id="value_@partialId" type="hidden" asp-for="CustomerId" />
  74. <div id="searchCustomerModal_@partialId" class="modal fade">
  75. <div class="modal-dialog">
  76. <div class="modal-content">
  77. <div class="modal-header">
  78. <h4 class="modal-title">Suchergebnisse</h4>
  79. </div>
  80. <div class="modal-body">
  81. <div class="list-group">
  82. </div>
  83. </div>
  84. <div class="modal-footer">
  85. <div class="btn btn-secondary" data-dismiss="modal">Schließen</div>
  86. <div class="btn btn-success" onclick="select_@partialId ()">Auswählen</div>
  87. </div>
  88. </div>
  89. </div>
  90. </div>