Advertisement
Guest User

Untitled

a guest
Apr 12th, 2019
339
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.38 KB | None | 0 0
  1. @using EleWise.ELMA.BPM.Web.Reports.Extensions
  2. @using System.Data
  3. @using EleWise.ELMA.Web.Mvc.Html
  4. @using System.Globalization
  5. @using EleWise.ELMA.Security.Types.Settings
  6. @using EleWise.ELMA.Services
  7. @using EleWise.ELMA.Model.Services
  8. @model EleWise.ELMA.BPM.Web.Reports.Models.ReportParametersInfo
  9.  
  10. <style>
  11. div.Description {
  12. color: gray;
  13. padding-left: 25px;
  14. padding-right: 25px;
  15. }
  16. </style>
  17.  
  18.  
  19. <script type="text/javascript">
  20.  
  21. $(document).ready(setTimeout(function(){
  22. //Определяет параметр "DateFilterList" и выполняет функцию "checkBoxFalse()" или "checkBoxTrue()", в зависимости от выбора:
  23. var name_input = document.getElementById("Parameters_DateFilterList");
  24. switch (name_input.value){
  25.  
  26. case 'Начала работы над задачей':
  27. checkBoxFalse();
  28.  
  29. break;
  30. case 'Завершения работы над задачей':
  31.  
  32. checkBoxTrue();
  33. break;
  34. }
  35. },1000))
  36.  
  37.  
  38. function checkBoxTrue() {
  39. $("#Parameters_DateFilterCB").prop('checked', true);
  40.  
  41. }
  42. function checkBoxFalse() {
  43. $("#Parameters_DateFilterCB").prop('checked', false);
  44.  
  45. }
  46.  
  47. //Функция dateChange отвечает за выбор значений, описанных в 23 строке. Указанеие использования этой функции находится в выводе параметра "DateFilterList" на форму с помощю .Net Razor (строка 238)
  48. function dateFilterChange(event) {
  49. event = event || window.event;
  50. var t = event.target || event.srcElement;
  51.  
  52. switch (t.value) {
  53.  
  54. case 'Начала работы над задачей':
  55.  
  56. checkBoxFalse();
  57.  
  58. break;
  59. case 'Завершения работы над задачей':
  60.  
  61.  
  62. checkBoxTrue();
  63. break;
  64. default:
  65.  
  66. checkBoxFalse();
  67. break;
  68. }
  69.  
  70. }
  71.  
  72. </script>
  73.  
  74. <script type="text/javascript">
  75. //Определяет параметр "Period" и выполняет функцию "dateTermDisable()" для значений из выпадающего списка "Period",указанных ниже:
  76. $(document).ready(setTimeout(function(){
  77. var name_input = document.getElementById("Parameters_Period");
  78. switch (name_input.value){
  79. case 'Текущая неделя':
  80. case 'Прошлая неделя':
  81. case 'Текущий месяц':
  82. case 'Прошлый месяц':
  83. case 'Текущий год':
  84. case 'Прошлый год':
  85. dateTermDisable();
  86. break;
  87. }
  88. },1000))
  89.  
  90. function dateTermDisable() {
  91. $("#Parameters_EndTerm_date").data("tDatePicker").disable();
  92. $("#Parameters_BeginTerm_date").data("tDatePicker").disable();
  93. }
  94.  
  95. function dateTermEnable() {
  96. $("#Parameters_EndTerm_date").data("tDatePicker").enable();
  97. $("#Parameters_BeginTerm_date").data("tDatePicker").enable();
  98. }
  99. function deleteNullFromEmployees()
  100. {
  101. var pusto = null,
  102. position = $("#Parameters_Employees").indexOf(pusto);
  103. if ( ~position) $("#Parameters_Employees").splice(position,1);
  104. }
  105. function removeValue() {
  106. for(var i = 0; i < $("#Parameters_Employees").length; i++) {
  107. if($("#Parameters_Employees")[i] === null) {
  108. $("#Parameters_Employees").splice(i, 1);
  109. break;
  110. }
  111. }
  112. return $("#Parameters_Employees");
  113. }
  114. //Функция dateChange отвечает за выбор значений, описанных в 23 строке. Указанеие использования этой функции находится в выводе параметра "Период" на форму с помощю .Net Razor (строка 182)
  115. function dateChange(event) {
  116. event = event || window.event;
  117. var t = event.target || event.srcElement;
  118. @{
  119. var dt = DateTime.Today;
  120. var sDate = new DateTime(2018,4,16);
  121. }
  122.  
  123. var beginDate;
  124. var endDate;
  125.  
  126. switch (t.value) {
  127. case 'Произвольный':
  128. dateTermEnable();
  129. break;
  130. case 'Текущая неделя':
  131. beginDate = new Date('@(dt.AddDays(-(int)dt.DayOfWeek + 1).ToString("g", CultureInfo.InvariantCulture))');
  132. endDate = new Date('@(dt.ToString("g", CultureInfo.InvariantCulture))');
  133. chooseDate = new Date ('@(sDate.ToString("g", CultureInfo.InvariantCulture))');
  134. dateTermDisable();
  135. break;
  136. case 'Прошлая неделя':
  137. beginDate = new Date('@(dt.AddDays(-(int)dt.DayOfWeek - 6).ToString("g", CultureInfo.InvariantCulture))');
  138. endDate = new Date('@(dt.AddDays(-(int)dt.DayOfWeek).ToString("g", CultureInfo.InvariantCulture))');
  139. dateTermDisable();
  140. break;
  141. case 'Текущий месяц':
  142. beginDate = new Date('@(dt.AddDays(-dt.Day + 1).ToString("g", CultureInfo.InvariantCulture))');
  143. endDate = new Date('@(dt.ToString("g", CultureInfo.InvariantCulture))');
  144. dateTermDisable();
  145. break;
  146. case 'Прошлый месяц':
  147. beginDate = new Date('@(dt.AddDays(-dt.Day + 1).AddMonths(-1).ToString("g", CultureInfo.InvariantCulture))');
  148. endDate = new Date('@(dt.AddDays(-dt.Day).ToString("g", CultureInfo.InvariantCulture))');
  149. dateTermDisable();
  150. break;
  151. case 'Текущий год':
  152. beginDate = new Date('@(new DateTime(dt.Year,1,1).ToString("g", CultureInfo.InvariantCulture))');
  153. endDate = new Date('@(dt.ToString("g", CultureInfo.InvariantCulture))');
  154. dateTermDisable();
  155. break;
  156. case 'Прошлый год':
  157. beginDate = new Date('@(new DateTime(dt.Year-1,1,1).ToString("g", CultureInfo.InvariantCulture))');
  158. endDate = new Date('@(new DateTime(dt.Year-1,12,DateTime.DaysInMonth(dt.Year-1,12)).ToString("g", CultureInfo.InvariantCulture))');
  159. dateTermDisable();
  160. break;
  161. default:
  162. dateTermEnable();
  163. break;
  164. }
  165. if (t.value!='Произвольный'){
  166. setDateTime($("#Parameters_BeginTerm"), beginDate);
  167. setDateTime($("#Parameters_EndTerm"), endDate);
  168.  
  169. removeValue(); }
  170. }
  171. </script>
  172.  
  173.  
  174.  
  175.  
  176. @{
  177. dynamic parameters = Model.CustomModel;
  178. bool disabled = false;
  179. var locator = Locator.GetServiceNotNull<IMetadataRuntimeService>();
  180. }
  181.  
  182. @using (Html.TableForm(EleWise.ELMA.Model.Views.ViewType.Create))
  183. {
  184.  
  185. @Html.EditableProperty("Parameters.Period", a => {a.ReadOnly = false; a.Html.onchange="dateChange"; a.Html.Add("colspan", 3);})
  186. @Html.EditableProperty("Parameters.Employees", a =>
  187. {
  188. a.TypeSettingsAction = settingsAction =>
  189. {
  190. var userSettings = (EntityUserSettings) settingsAction;
  191. userSettings.ShowPersonalGroup = true;
  192. };
  193. })
  194. @Html.EditableProperty("Parameters.GroupBy")
  195. @Html.EditableProperty("Parameters.Status")
  196.  
  197. }
  198.  
  199. @using (Html.TableForm(EleWise.ELMA.Model.Views.ViewType.Create))//в табличном виде задаётся расположение чекбоксов задачи, задачи по процессам, задачи по проектам, задачи по документам
  200. {
  201. <tr>
  202. <td style="width: 210px;">
  203. @(Html.ModernCheckBox(false).Name("Parameters.Tasks").Checked(parameters.Tasks).LabelText(SR.T("Задачи")))
  204. </td>
  205. <td>
  206. @{disabled = (locator.GetTypeByUidOrNull(new Guid("91670c2e-fc1e-462e-8e89-7284aaf12561")) == null) ? true : false;}
  207. @(Html.ModernCheckBox(false).Name("Parameters.WorkflowTasks").Checked(parameters.WorkflowTasks).LabelText(SR.T("Задачи по процессам")).Disabled(disabled))
  208. </td>
  209. </tr>
  210. <tr>
  211. <td style="width: 210px;">
  212. @{disabled = (locator.GetTypeByUidOrNull(new Guid("c90c5a4f-64ce-4d69-b9ea-d4d971882d88")) == null) ? true : false;}
  213. @(Html.ModernCheckBox(false).Name("Parameters.ProjectTasks").Checked(parameters.ProjectTasks).LabelText(SR.T("Задачи по проектам")).Disabled(disabled))
  214. </td>
  215. <td>
  216. @{disabled = (locator.GetTypeByUidOrNull(new Guid("3f32d783-27ef-48ab-afd7-129d7acd358c")) == null) ? true : false;}
  217. @(Html.ModernCheckBox(false).Name("Parameters.DocumentTasks").Checked(parameters.DocumentTasks).LabelText(SR.T("Задачи по документам")).Disabled(disabled))
  218. </td>
  219. </tr>
  220. }
  221.  
  222. @using (Html.TableForm(EleWise.ELMA.Model.Views.ViewType.Create))
  223. {
  224. <tr>
  225. <td style="width: 210px;">
  226. <div>@(Html.ModernCheckBox(false).Name("Parameters.CurrentProtr").Checked(parameters.CurrentProtr).LabelText(SR.T("Отображать текущие просроченные задачи")))</div>
  227. <div class="Description">@SR.T("В отчете будут отображаться задачи просроченные и невыполненные сотрудником на момент отчета независимо от того, когда они были созданы")</div>
  228. </td>
  229. </tr>
  230. <tr>
  231. <td style="width: 210px;">
  232. <div>@(Html.ModernCheckBox(false).Name("Parameters.BlockedUsers").Checked(parameters.BlockedUsers).LabelText(SR.T("Отображать задачи заблокированных пользователей")))</div>
  233. <div class="Description">@SR.T("В отчете будут отображаться задачи, назначенные на заблокированных пользователей")</div>
  234. </td>
  235. </tr>
  236. }
  237.  
  238.  
  239. @using (Html.TableForm(EleWise.ELMA.Model.Views.ViewType.Create))
  240. {
  241. @Html.EditableProperty("Parameters.DateFilterList", a => {a.ReadOnly = false; a.Html.onchange="dateFilterChange"; a.Html.Add("colspan", 3);})
  242. @Html.EditableProperty("Parameters.DateFilterCB", a => {a.ReadOnly = false; a.Visible = false;})//Чекбокс может изменять своё значение, но не виден пользователям
  243. }
  244.  
  245. @using (Html.TableForm(EleWise.ELMA.Model.Views.ViewType.Create))//в табличном виде задаётся расположение чекбоксов задачи, задачи по процессам, задачи по проектам, задачи по документам
  246. {
  247. <tr>
  248. <td colspan="2">
  249. <b style="width:220px; float:left; padding-bottom:5px;">@SR.T("Временной интервал") </b>
  250. </td>
  251. </tr>
  252. <tr>
  253. <td style="width: 210px;">
  254.  
  255. <table height="40" width="110">
  256. @Html.EditableProperty("Parameters.BeginTerm", a => {a.Name=SR.T("с");})
  257. </table>
  258. </td>
  259. <td>
  260. <table height="40" width="110">
  261. @Html.EditableProperty("Parameters.EndTerm", a => {a.Name=SR.T("по");})
  262. </table>
  263. </td>
  264.  
  265. </tr>
  266. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement