_StateEditPartial.cshtml 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207
  1. @using GreenTree.Nachtragsmanagement.Web.Extensions
  2. @model GreenTree.Nachtragsmanagement.Web.Models.Appendix.StateDataModel
  3. <div class="claimEditContainer">
  4. <script>
  5. function saveState() {
  6. var form = $("#statusEditForm");
  7. $(form).submit(function (e) {
  8. InitialPercentage.SetValue(InitialPercentage.GetValue() / 100);
  9. $.ajax({
  10. type: "POST",
  11. url: '@Url.Action("EditState", "Appendix")',
  12. data: form.serialize(),
  13. success: function (response) {
  14. setTimeout(function () {
  15. $(".claimEditContainer").remove();
  16. if (response == "success") {
  17. parent.callCustomEventListener('StateDataCallbackEventReceiver');
  18. } else {
  19. $("body").append(response);
  20. }
  21. }, 200);
  22. }
  23. });
  24. e.preventDefault();
  25. });
  26. form.submit();
  27. }
  28. </script>
  29. @Html.DevExpress().PopupControl(s =>
  30. {
  31. s.Name = "devPopupControlEditState";
  32. if (Model.Id == -1)
  33. s.HeaderText = "Neuen NT-Status erstellen";
  34. else
  35. s.HeaderText = "\"" + Model.Description + "\" bearbeiten";
  36. s.Modal = true;
  37. s.Width = new Unit(350, UnitType.Pixel);
  38. s.CloseAction = CloseAction.CloseButton;
  39. s.PopupHorizontalAlign = PopupHorizontalAlign.WindowCenter;
  40. s.PopupVerticalAlign = PopupVerticalAlign.WindowCenter;
  41. s.AllowDragging = false;
  42. s.AllowResize = false;
  43. s.ShowFooter = false;
  44. s.ShowOnPageLoad = true;
  45. s.SetContent(() =>
  46. {
  47. using (Html.BeginForm("EditState", "Appendix", FormMethod.Post, new { id = "statusEditForm" }))
  48. {
  49. ViewContext.Writer.Write("<div class='editFormWrapper'>");
  50. ViewContext.Writer.Write("<input type=\"hidden\" value=\"" + Model.Id + "\" id=\"Id\" name=\"Id\" />");
  51. ViewContext.Writer.Write(Html.CustomLabelFor(m => m.Description, "Beschreibung:"));
  52. ViewContext.Writer.Write(Html.ValidationMessageFor(m => m.Description).ToHtmlString());
  53. Html.DevExpress().TextBoxFor(m => m.Description, t =>
  54. {
  55. t.Width = new Unit(100, UnitType.Percentage);
  56. }).Render();
  57. ViewContext.Writer.Write(Html.CustomLabelFor(m => m.HexColor, "Darstellung:"));
  58. ViewContext.Writer.Write(Html.ValidationMessageFor(m => m.HexColor).ToHtmlString());
  59. Html.DevExpress().ColorEditFor(m => m.HexColor, t =>
  60. {
  61. t.Width = new Unit(100, UnitType.Percentage);
  62. }).Render();
  63. ViewContext.Writer.Write("<div class='inlineModelPropertyContainer'>");
  64. {
  65. ViewContext.Writer.Write("<div class='inlineModelProperty' style='width: 50%'>");
  66. {
  67. ViewContext.Writer.Write(Html.CustomLabelFor(m => m.IsDefault, "Ist Standard:"));
  68. ViewContext.Writer.Write("<div style=\"overflow: hidden\">");
  69. {
  70. ViewContext.Writer.Write("<div style=\"float: left\">");
  71. {
  72. Html.DevExpress().RadioButtonFor(m => m.IsDefault, t =>
  73. {
  74. t.Text = "Ja";
  75. t.GroupName = "isDefault";
  76. }).Render();
  77. }
  78. ViewContext.Writer.Write("</div>");
  79. ViewContext.Writer.Write("<div style=\"float: left; margin-left: 8px\">");
  80. {
  81. Html.DevExpress().RadioButton(t =>
  82. {
  83. t.Name = "isDefaultFalse";
  84. t.Text = "Nein";
  85. t.GroupName = "isDefault";
  86. t.Checked = !Model.IsDefault;
  87. }).Render();
  88. }
  89. ViewContext.Writer.Write("</div>");
  90. }
  91. ViewContext.Writer.Write("</div>");
  92. }
  93. ViewContext.Writer.Write("</div>");
  94. ViewContext.Writer.Write("<div class='inlineModelProperty' style='width: 50%'>");
  95. {
  96. ViewContext.Writer.Write(Html.CustomLabelFor(m => m.IsFinish, "Ist Abschluss:"));
  97. ViewContext.Writer.Write("<div style=\"overflow: hidden\">");
  98. {
  99. ViewContext.Writer.Write("<div style=\"float: left\">");
  100. {
  101. Html.DevExpress().RadioButtonFor(m => m.IsFinish, t =>
  102. {
  103. t.Text = "Ja";
  104. t.GroupName = "isFinish";
  105. }).Render();
  106. }
  107. ViewContext.Writer.Write("</div>");
  108. ViewContext.Writer.Write("<div style=\"float: left; margin-left: 8px\">");
  109. {
  110. Html.DevExpress().RadioButton(t =>
  111. {
  112. t.Name = "isFinishFalse";
  113. t.Text = "Nein";
  114. t.GroupName = "isFinish";
  115. t.Checked = !Model.IsFinish;
  116. }).Render();
  117. }
  118. ViewContext.Writer.Write("</div>");
  119. }
  120. ViewContext.Writer.Write("</div>");
  121. }
  122. ViewContext.Writer.Write("</div>");
  123. }
  124. ViewContext.Writer.Write("</div>");
  125. ViewContext.Writer.Write("<div class='inlineModelPropertyContainer'>");
  126. {
  127. ViewContext.Writer.Write("<div class='inlineModelProperty' style='width: 50%'>");
  128. {
  129. ViewContext.Writer.Write(Html.CustomLabelFor(m => m.IsZeroValue, "Ist ein \"0 Wert\"-Status:"));
  130. ViewContext.Writer.Write("<div style=\"overflow: hidden\">");
  131. {
  132. ViewContext.Writer.Write("<div style=\"float: left\">");
  133. {
  134. Html.DevExpress().RadioButtonFor(m => m.IsZeroValue, t =>
  135. {
  136. t.Text = "Ja";
  137. t.GroupName = "isZeroValue";
  138. }).Render();
  139. }
  140. ViewContext.Writer.Write("</div>");
  141. ViewContext.Writer.Write("<div style=\"float: left; margin-left: 8px\">");
  142. {
  143. Html.DevExpress().RadioButton(t =>
  144. {
  145. t.Name = "IsZeroValueFalse";
  146. t.Text = "Nein";
  147. t.GroupName = "isZeroValue";
  148. t.Checked = !Model.IsZeroValue;
  149. }).Render();
  150. }
  151. ViewContext.Writer.Write("</div>");
  152. }
  153. ViewContext.Writer.Write("</div>");
  154. }
  155. ViewContext.Writer.Write("</div>");
  156. ViewContext.Writer.Write("<div class='inlineModelProperty' style='width: 50%'>");
  157. {
  158. ViewContext.Writer.Write(Html.CustomLabelFor(m => m.InitialPercentage, "Standard (%):"));
  159. ViewContext.Writer.Write(Html.ValidationMessageFor(m => m.InitialPercentage).ToHtmlString());
  160. Html.DevExpress().SpinEditFor(m => m.InitialPercentage, t =>
  161. {
  162. t.Width = new Unit(88, UnitType.Percentage);
  163. t.Properties.MaxValue = 100;
  164. t.Properties.MinValue = 0;
  165. t.Properties.Increment = (decimal)1;
  166. t.Properties.NumberType = SpinEditNumberType.Float;
  167. t.Properties.NumberFormat = SpinEditNumberFormat.Custom;
  168. t.Properties.DisplayFormatString = "{0,00} %";
  169. t.Properties.DisplayFormatInEditMode = true;
  170. }).Bind(Model.InitialPercentage * 100).Render();
  171. }
  172. ViewContext.Writer.Write("</div>");
  173. }
  174. ViewContext.Writer.Write("</div>");
  175. ViewContext.Writer.Write("</div>");
  176. Html.RenderPartial(
  177. "~/Views/Shared/_PopupButtonPanel.cshtml",
  178. new GreenTree.Nachtragsmanagement.Web.Models.Global.PopupModel
  179. {
  180. PopupName = "devPopupControlEditState",
  181. AcceptFunction = "function (s, e) { saveState(); }"
  182. }
  183. );
  184. }
  185. });
  186. s.Styles.Content.Paddings.Padding = new Unit(0);
  187. s.Styles.ModalBackground.Opacity = 0;
  188. }).GetHtml()
  189. </div>