_InvoiceEditPartial.cshtml 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. @using GreenTree.Nachtragsmanagement.Web.Extensions
  2. @model GreenTree.Nachtragsmanagement.Web.Models.Appendix.InvoiceDataModel
  3. <div class="invoiceEditContainer">
  4. <script>
  5. function saveInvoice() {
  6. var form = $("#invoiceEditForm");
  7. $(form).submit(function (e) {
  8. $.ajax({
  9. type: "POST",
  10. url: '@Url.Action("EditInvoice", "Appendix")',
  11. data: form.serialize(),
  12. success: function (response) {
  13. setTimeout(function () {
  14. $(".invoiceEditContainer").remove();
  15. if (response == "success") {
  16. parent.callCustomEventListener('InvoiceDataCallbackEventReceiver');
  17. } else {
  18. $("body").append(response);
  19. }
  20. }, 200);
  21. }
  22. });
  23. e.preventDefault();
  24. });
  25. form.submit();
  26. }
  27. </script>
  28. @Html.DevExpress().PopupControl(s =>
  29. {
  30. s.Name = "devPopupControlEditInvoice";
  31. if (Model.Id == -1)
  32. s.HeaderText = "Neue Rechnung erstellen";
  33. else
  34. s.HeaderText = "\"" + Model.CustomNumber + "\" bearbeiten";
  35. s.Modal = true;
  36. s.Width = new Unit(300, UnitType.Pixel);
  37. s.CloseAction = CloseAction.CloseButton;
  38. s.PopupHorizontalAlign = PopupHorizontalAlign.WindowCenter;
  39. s.PopupVerticalAlign = PopupVerticalAlign.WindowCenter;
  40. s.AllowDragging = false;
  41. s.AllowResize = false;
  42. s.ShowFooter = false;
  43. s.ShowOnPageLoad = true;
  44. s.SetContent(() =>
  45. {
  46. using (Html.BeginForm("EditInvoice", "Appendix", FormMethod.Post, new { id = "invoiceEditForm" }))
  47. {
  48. ViewContext.Writer.Write("<div class='editFormWrapper'>");
  49. ViewContext.Writer.Write("<input type=\"hidden\" value=\"" + Model.Id + "\" id=\"Id\" name=\"Id\" />");
  50. ViewContext.Writer.Write("<input type=\"hidden\" value=\"" + Model.AppendixId + "\" id=\"AppendixId\" name=\"AppendixId\" />");
  51. ViewContext.Writer.Write(Html.CustomLabelFor(m => m.CustomNumber, "Rechnungsnummer:"));
  52. ViewContext.Writer.Write(Html.ValidationMessageFor(m => m.CustomNumber).ToHtmlString());
  53. Html.DevExpress().TextBoxFor(m => m.CustomNumber, t =>
  54. {
  55. t.Width = new Unit(100, UnitType.Percentage);
  56. }).Render();
  57. ViewContext.Writer.Write(Html.CustomLabelFor(m => m.DateTime, "Rechnungsdatum:"));
  58. ViewContext.Writer.Write(Html.ValidationMessageFor(m => m.DateTime).ToHtmlString());
  59. Html.DevExpress().DateEditFor(m => m.DateTime, t =>
  60. {
  61. t.Width = new Unit(100, UnitType.Percentage);
  62. }).Render();
  63. ViewContext.Writer.Write(Html.CustomLabelFor(m => m.Value, "Rechnungswert:"));
  64. ViewContext.Writer.Write(Html.ValidationMessageFor(m => m.Value).ToHtmlString());
  65. Html.DevExpress().SpinEditFor(m => m.Value, t =>
  66. {
  67. t.Width = new Unit(100, UnitType.Percentage);
  68. t.Properties.DecimalPlaces = 2;
  69. t.Properties.NumberType = SpinEditNumberType.Float;
  70. t.Properties.DisplayFormatString = "c2";
  71. }).Render();
  72. ViewContext.Writer.Write("</div>");
  73. Html.RenderPartial(
  74. "~/Views/Shared/_PopupButtonPanel.cshtml",
  75. new GreenTree.Nachtragsmanagement.Web.Models.Global.PopupModel
  76. {
  77. PopupName = "devPopupControlEditInvoice",
  78. AcceptFunction = "function (s, e) { saveInvoice(); }"
  79. }
  80. );
  81. }
  82. });
  83. s.Styles.Content.Paddings.Padding = new Unit(0);
  84. s.Styles.ModalBackground.Opacity = 0;
  85. }).GetHtml()
  86. </div>