Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @using EleWise.ELMA.BPM.Web.Reports.Extensions
- @using System.Data
- @using EleWise.ELMA.Web.Mvc.Html
- @using System.Globalization
- @using EleWise.ELMA.Security.Types.Settings
- @using EleWise.ELMA.Services
- @using EleWise.ELMA.Model.Services
- @model EleWise.ELMA.BPM.Web.Reports.Models.ReportParametersInfo
- <style>
- div.Description {
- color: gray;
- padding-left: 25px;
- padding-right: 25px;
- }
- </style>
- <script type="text/javascript">
- $(document).ready(setTimeout(function(){
- //Определяет параметр "DateFilterList" и выполняет функцию "checkBoxFalse()" или "checkBoxTrue()", в зависимости от выбора:
- var name_input = document.getElementById("Parameters_DateFilterList");
- switch (name_input.value){
- case 'Начала работы над задачей':
- checkBoxFalse();
- break;
- case 'Завершения работы над задачей':
- checkBoxTrue();
- break;
- }
- },1000))
- function checkBoxTrue() {
- $("#Parameters_DateFilterCB").prop('checked', true);
- }
- function checkBoxFalse() {
- $("#Parameters_DateFilterCB").prop('checked', false);
- }
- //Функция dateChange отвечает за выбор значений, описанных в 23 строке. Указанеие использования этой функции находится в выводе параметра "DateFilterList" на форму с помощю .Net Razor (строка 238)
- function dateFilterChange(event) {
- event = event || window.event;
- var t = event.target || event.srcElement;
- switch (t.value) {
- case 'Начала работы над задачей':
- checkBoxFalse();
- break;
- case 'Завершения работы над задачей':
- checkBoxTrue();
- break;
- default:
- checkBoxFalse();
- break;
- }
- }
- </script>
- <script type="text/javascript">
- //Определяет параметр "Period" и выполняет функцию "dateTermDisable()" для значений из выпадающего списка "Period",указанных ниже:
- $(document).ready(setTimeout(function(){
- var name_input = document.getElementById("Parameters_Period");
- switch (name_input.value){
- case 'Текущая неделя':
- case 'Прошлая неделя':
- case 'Текущий месяц':
- case 'Прошлый месяц':
- case 'Текущий год':
- case 'Прошлый год':
- dateTermDisable();
- break;
- }
- },1000))
- function dateTermDisable() {
- $("#Parameters_EndTerm_date").data("tDatePicker").disable();
- $("#Parameters_BeginTerm_date").data("tDatePicker").disable();
- }
- function dateTermEnable() {
- $("#Parameters_EndTerm_date").data("tDatePicker").enable();
- $("#Parameters_BeginTerm_date").data("tDatePicker").enable();
- }
- function deleteNullFromEmployees()
- {
- var pusto = null,
- position = $("#Parameters_Employees").indexOf(pusto);
- if ( ~position) $("#Parameters_Employees").splice(position,1);
- }
- function removeValue() {
- for(var i = 0; i < $("#Parameters_Employees").length; i++) {
- if($("#Parameters_Employees")[i] === null) {
- $("#Parameters_Employees").splice(i, 1);
- break;
- }
- }
- return $("#Parameters_Employees");
- }
- //Функция dateChange отвечает за выбор значений, описанных в 23 строке. Указанеие использования этой функции находится в выводе параметра "Период" на форму с помощю .Net Razor (строка 182)
- function dateChange(event) {
- event = event || window.event;
- var t = event.target || event.srcElement;
- @{
- var dt = DateTime.Today;
- var sDate = new DateTime(2018,4,16);
- }
- var beginDate;
- var endDate;
- switch (t.value) {
- case 'Произвольный':
- dateTermEnable();
- break;
- case 'Текущая неделя':
- beginDate = new Date('@(dt.AddDays(-(int)dt.DayOfWeek + 1).ToString("g", CultureInfo.InvariantCulture))');
- endDate = new Date('@(dt.ToString("g", CultureInfo.InvariantCulture))');
- chooseDate = new Date ('@(sDate.ToString("g", CultureInfo.InvariantCulture))');
- dateTermDisable();
- break;
- case 'Прошлая неделя':
- beginDate = new Date('@(dt.AddDays(-(int)dt.DayOfWeek - 6).ToString("g", CultureInfo.InvariantCulture))');
- endDate = new Date('@(dt.AddDays(-(int)dt.DayOfWeek).ToString("g", CultureInfo.InvariantCulture))');
- dateTermDisable();
- break;
- case 'Текущий месяц':
- beginDate = new Date('@(dt.AddDays(-dt.Day + 1).ToString("g", CultureInfo.InvariantCulture))');
- endDate = new Date('@(dt.ToString("g", CultureInfo.InvariantCulture))');
- dateTermDisable();
- break;
- case 'Прошлый месяц':
- beginDate = new Date('@(dt.AddDays(-dt.Day + 1).AddMonths(-1).ToString("g", CultureInfo.InvariantCulture))');
- endDate = new Date('@(dt.AddDays(-dt.Day).ToString("g", CultureInfo.InvariantCulture))');
- dateTermDisable();
- break;
- case 'Текущий год':
- beginDate = new Date('@(new DateTime(dt.Year,1,1).ToString("g", CultureInfo.InvariantCulture))');
- endDate = new Date('@(dt.ToString("g", CultureInfo.InvariantCulture))');
- dateTermDisable();
- break;
- case 'Прошлый год':
- beginDate = new Date('@(new DateTime(dt.Year-1,1,1).ToString("g", CultureInfo.InvariantCulture))');
- endDate = new Date('@(new DateTime(dt.Year-1,12,DateTime.DaysInMonth(dt.Year-1,12)).ToString("g", CultureInfo.InvariantCulture))');
- dateTermDisable();
- break;
- default:
- dateTermEnable();
- break;
- }
- if (t.value!='Произвольный'){
- setDateTime($("#Parameters_BeginTerm"), beginDate);
- setDateTime($("#Parameters_EndTerm"), endDate);
- removeValue(); }
- }
- </script>
- @{
- dynamic parameters = Model.CustomModel;
- bool disabled = false;
- var locator = Locator.GetServiceNotNull<IMetadataRuntimeService>();
- }
- @using (Html.TableForm(EleWise.ELMA.Model.Views.ViewType.Create))
- {
- @Html.EditableProperty("Parameters.Period", a => {a.ReadOnly = false; a.Html.onchange="dateChange"; a.Html.Add("colspan", 3);})
- @Html.EditableProperty("Parameters.Employees", a =>
- {
- a.TypeSettingsAction = settingsAction =>
- {
- var userSettings = (EntityUserSettings) settingsAction;
- userSettings.ShowPersonalGroup = true;
- };
- })
- @Html.EditableProperty("Parameters.GroupBy")
- @Html.EditableProperty("Parameters.Status")
- }
- @using (Html.TableForm(EleWise.ELMA.Model.Views.ViewType.Create))//в табличном виде задаётся расположение чекбоксов задачи, задачи по процессам, задачи по проектам, задачи по документам
- {
- <tr>
- <td style="width: 210px;">
- @(Html.ModernCheckBox(false).Name("Parameters.Tasks").Checked(parameters.Tasks).LabelText(SR.T("Задачи")))
- </td>
- <td>
- @{disabled = (locator.GetTypeByUidOrNull(new Guid("91670c2e-fc1e-462e-8e89-7284aaf12561")) == null) ? true : false;}
- @(Html.ModernCheckBox(false).Name("Parameters.WorkflowTasks").Checked(parameters.WorkflowTasks).LabelText(SR.T("Задачи по процессам")).Disabled(disabled))
- </td>
- </tr>
- <tr>
- <td style="width: 210px;">
- @{disabled = (locator.GetTypeByUidOrNull(new Guid("c90c5a4f-64ce-4d69-b9ea-d4d971882d88")) == null) ? true : false;}
- @(Html.ModernCheckBox(false).Name("Parameters.ProjectTasks").Checked(parameters.ProjectTasks).LabelText(SR.T("Задачи по проектам")).Disabled(disabled))
- </td>
- <td>
- @{disabled = (locator.GetTypeByUidOrNull(new Guid("3f32d783-27ef-48ab-afd7-129d7acd358c")) == null) ? true : false;}
- @(Html.ModernCheckBox(false).Name("Parameters.DocumentTasks").Checked(parameters.DocumentTasks).LabelText(SR.T("Задачи по документам")).Disabled(disabled))
- </td>
- </tr>
- }
- @using (Html.TableForm(EleWise.ELMA.Model.Views.ViewType.Create))
- {
- <tr>
- <td style="width: 210px;">
- <div>@(Html.ModernCheckBox(false).Name("Parameters.CurrentProtr").Checked(parameters.CurrentProtr).LabelText(SR.T("Отображать текущие просроченные задачи")))</div>
- <div class="Description">@SR.T("В отчете будут отображаться задачи просроченные и невыполненные сотрудником на момент отчета независимо от того, когда они были созданы")</div>
- </td>
- </tr>
- <tr>
- <td style="width: 210px;">
- <div>@(Html.ModernCheckBox(false).Name("Parameters.BlockedUsers").Checked(parameters.BlockedUsers).LabelText(SR.T("Отображать задачи заблокированных пользователей")))</div>
- <div class="Description">@SR.T("В отчете будут отображаться задачи, назначенные на заблокированных пользователей")</div>
- </td>
- </tr>
- }
- @using (Html.TableForm(EleWise.ELMA.Model.Views.ViewType.Create))
- {
- @Html.EditableProperty("Parameters.DateFilterList", a => {a.ReadOnly = false; a.Html.onchange="dateFilterChange"; a.Html.Add("colspan", 3);})
- @Html.EditableProperty("Parameters.DateFilterCB", a => {a.ReadOnly = false; a.Visible = false;})//Чекбокс может изменять своё значение, но не виден пользователям
- }
- @using (Html.TableForm(EleWise.ELMA.Model.Views.ViewType.Create))//в табличном виде задаётся расположение чекбоксов задачи, задачи по процессам, задачи по проектам, задачи по документам
- {
- <tr>
- <td colspan="2">
- <b style="width:220px; float:left; padding-bottom:5px;">@SR.T("Временной интервал") </b>
- </td>
- </tr>
- <tr>
- <td style="width: 210px;">
- <table height="40" width="110">
- @Html.EditableProperty("Parameters.BeginTerm", a => {a.Name=SR.T("с");})
- </table>
- </td>
- <td>
- <table height="40" width="110">
- @Html.EditableProperty("Parameters.EndTerm", a => {a.Name=SR.T("по");})
- </table>
- </td>
- </tr>
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement