_SiteEditTreePartial.cshtml 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
  1. @{
  2. var userContext = GreenTree.Nachtragsmanagement.Core.CommonHelper.UserContext();
  3. }
  4. @model GreenTree.Nachtragsmanagement.Web.Models.Site.SiteDataModel
  5. @Html.DevExpress().TreeList(t =>
  6. {
  7. t.Name = "devTreeListSiteDeviationAppendices";
  8. t.KeyFieldName = "TreeKey";
  9. t.ParentFieldName = "TreeParentKey";
  10. t.CallbackRouteValues = new { Controller = "Site", Action = "PartialDeviationAppendices", siteId = Model.Id };
  11. t.Width = Unit.Percentage(100);
  12. t.Settings.GridLines = GridLines.Both;
  13. t.SettingsBehavior.AllowDragDrop = true;
  14. t.SettingsEditing.NodeDragDropRouteValues = new { Controller = "Site", Action = "PartialDeviationAppendices", siteId = Model.Id };
  15. t.ClientSideEvents.StartDragNode = "function (s, e) { startSiteTreeNodeDrag(s, e); }";
  16. t.ClientSideEvents.EndDragNode = "function (s, e) { endSiteTreeNodeDrag(s, e); }";
  17. t.Columns.Add(column =>
  18. {
  19. column.AllowSort = DefaultBoolean.False;
  20. column.SetHeaderCaptionTemplateContent(c =>
  21. {
  22. ViewContext.Writer.Write(
  23. "<a href=\"#\" onclick=\"addAppendixToSite(" + Model.Id + ")\">Neuer NT</a>&nbsp;&nbsp;&#47;&nbsp;&nbsp;");
  24. ViewContext.Writer.Write(
  25. "<a href=\"#\" onclick=\"addDeviationToSite(" + Model.Id + ")\">Neue VA</a>");
  26. });
  27. column.SetDataCellTemplateContent(c =>
  28. {
  29. var treeKey = DataBinder.Eval(c.DataItem, "TreeKey").ToString();
  30. if (treeKey == "a_0")
  31. {
  32. }
  33. else if (treeKey.StartsWith("d"))
  34. {
  35. ViewContext.Writer.Write(
  36. "<a href=\"#\" onclick=\"editDeviation(" + DataBinder.Eval(c.DataItem, "Id") + ")\">Bearbeiten</a><br />");
  37. ViewContext.Writer.Write(
  38. "<a href=\"#\" onclick=\"confirmDeleteDeviation(" + DataBinder.Eval(c.DataItem, "Id") + ")\">Löschen</a><br />");
  39. ViewContext.Writer.Write(
  40. "<a href=\"#\" onclick=\"assignDeviationToAppendix(" + DataBinder.Eval(c.DataItem, "Id") + ",this)\">NT zuordnen</a>");
  41. }
  42. else if (treeKey.StartsWith("a"))
  43. {
  44. ViewContext.Writer.Write(
  45. "<a href=\"#\" onclick=\"editAppendix(" + DataBinder.Eval(c.DataItem, "Id") + ")\">Bearbeiten</a><br />");
  46. ViewContext.Writer.Write(
  47. "<a href=\"#\" onclick=\"confirmDeleteAppendix(" + DataBinder.Eval(c.DataItem, "Id") + ")\">Löschen</a>");
  48. }
  49. });
  50. });
  51. t.Columns.Add(column =>
  52. {
  53. column.Caption = "Nummer";
  54. column.SetDataCellTemplateContent(c =>
  55. {
  56. var treeKey = DataBinder.Eval(c.DataItem, "TreeKey").ToString();
  57. if (treeKey.StartsWith("a"))
  58. {
  59. if (treeKey == "a_0")
  60. ViewContext.Writer.Write("<b>" + DataBinder.Eval(c.DataItem, "CustomNumber") + "</b>");
  61. else
  62. ViewContext.Writer.Write("<b>NT - " + DataBinder.Eval(c.DataItem, "CustomNumber") + "</b>");
  63. }
  64. else if (treeKey.StartsWith("d"))
  65. {
  66. ViewContext.Writer.Write("VA - " + DataBinder.Eval(c.DataItem, "CustomNumber"));
  67. }
  68. });
  69. });
  70. t.Columns.Add(column =>
  71. {
  72. column.FieldName = "Description";
  73. column.Caption = "Bezeichnung";
  74. column.CellStyle.Wrap = DefaultBoolean.True;
  75. });
  76. t.Columns.Add(column =>
  77. {
  78. column.Caption = "Eingang";
  79. column.FieldName = "ReceiptDate";
  80. column.PropertiesEdit.DisplayFormatString = "dd.MM.yyyy";
  81. });
  82. t.Columns.Add(column =>
  83. {
  84. column.Caption = "Bewertung";
  85. column.FieldName = "Value";
  86. column.PropertiesEdit.DisplayFormatString = "c2";
  87. });
  88. t.Columns.Add("KindDescription", "VA-Art");
  89. t.Columns.Add("StatusDescription", "Status");
  90. t.Columns.Add(column =>
  91. {
  92. column.FieldName = "DistCatDescription";
  93. column.Caption = "Kategorien";
  94. column.CellStyle.Wrap = DefaultBoolean.True;
  95. });
  96. t.Columns.Add(column =>
  97. {
  98. column.Caption = "Kommentar";
  99. column.CellStyle.Wrap = DefaultBoolean.True;
  100. column.SetDataCellTemplateContent(c =>
  101. {
  102. var id = Convert.ToInt32(DataBinder.Eval(c.DataItem, "Id"));
  103. var treeKey = DataBinder.Eval(c.DataItem, "TreeKey").ToString();
  104. var comment = DataBinder.Eval(c.DataItem, "Comment");
  105. var text = comment == null
  106. ? String.Empty
  107. : comment.ToString();
  108. if (text.ToString().Length > 40)
  109. {
  110. ViewContext.Writer.Write(text.Substring(0, 40) + " ...");
  111. if (treeKey.StartsWith("a"))
  112. ViewContext.Writer.Write("<a href=\"#\" onclick='showComment(\"appendix\"," + id + ",this)'><br />Anzeigen</a>");
  113. else
  114. ViewContext.Writer.Write("<a href=\"#\" onclick='showComment(\"appendix\"," + id + ",this)'><br />Anzeigen</a>");
  115. }
  116. else
  117. ViewContext.Writer.Write(text);
  118. });
  119. });
  120. t.PreRender = (s, e) =>
  121. {
  122. var tl = s as MVCxTreeList;
  123. tl.ExpandAll();
  124. };
  125. t.HtmlRowPrepared = (sender, e) =>
  126. {
  127. var hexColor = e.GetValue("StatusColor");
  128. var defaultState = ViewData["DefaultAppendixState"] as GreenTree.Nachtragsmanagement.Core.Domain.Appendix.State;
  129. var statusDescription = e.GetValue("StatusDescription");
  130. var treeKey = e.GetValue("TreeKey").ToString();
  131. if (hexColor == null ||
  132. (defaultState != null && statusDescription != null && statusDescription.ToString() == defaultState.Description))
  133. {
  134. if (treeKey.StartsWith("a"))
  135. e.Row.BackColor = System.Drawing.ColorTranslator.FromHtml("#96C8FF");
  136. }
  137. else
  138. e.Row.BackColor = System.Drawing.ColorTranslator.FromHtml(hexColor.ToString());
  139. if (treeKey == "a_0")
  140. {
  141. e.Row.BackColor = System.Drawing.ColorTranslator.FromHtml("#FFAB4C");
  142. }
  143. };
  144. t.ControlStyle.CssClass += "siteTreeList";
  145. t.Styles.IndentWithButton.Paddings.PaddingTop = new Unit(18, UnitType.Pixel);
  146. t.Styles.Cell.VerticalAlign = VerticalAlign.Top;
  147. t.Styles.Cell.Paddings.PaddingTop = new Unit(14, UnitType.Pixel);
  148. t.Styles.Cell.Paddings.PaddingBottom = new Unit(14, UnitType.Pixel);
  149. }).Bind(Model.SiteTreeData).GetHtml()