Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @inherits RootViewItemControl<object>
- @using EleWise.ELMA.Web.Mvc.Views.ViewItem
- @using EleWise.ELMA.Services;
- @using EleWise.ELMA.Security.Services;
- @using EleWise.ELMA.Security.Models;
- @using EleWise.ELMA.Security.Managers;
- @using EleWise.ELMA.Model.Views
- @using EleWise.ELMA.Workflow.Models
- @using EleWise.ELMA.Workflow.Web.Models
- @using EleWise.ELMA.Model.Managers
- @using EleWise.ELMA.Runtime.Settings;
- @using EleWise.ELMA.ConfigurationModel;
- @using System.Xml.Serialization;
- @using System.Collections.Generic;
- @using EleWise.ELMA.Serialization;
- @using System.IO;
- @using System.ComponentModel;
- @using System.Linq;
- <style>
- .label tr td label {
- display: block;
- }
- .widthInput {
- width:50%
- }
- [data-toggle="toggle"] {
- display: none;
- }
- .raz0 {
- border: 1px solid black;
- }
- .raz0 th {
- position: sticky;
- top: 0;
- background: white;
- }
- .raz {
- border: 1px solid black;
- }
- .raz th {
- position: sticky;
- top: 0;
- background: white;
- }
- .raz1 {
- border: 1px solid black;
- }
- .raz1 th {
- position: sticky;
- top: 30px;
- background: white;
- }
- .raz2 {
- border: 1px solid black;
- }
- .raz2 th {
- position: sticky;
- top: 60px;
- background: white;
- }
- .raz3 {
- border: 1px solid black;
- }
- .raz3 th {
- position: sticky;
- top: 260px;
- background: white;
- }
- </style>
- <table class="show-lines table-form" style="border-style: groove; border-width: 1px">
- @{
- @functions
- {
- [XmlRoot(ElementName="ProductList")]
- public class ProductList {
- [XmlElement(ElementName="Product")]
- public int Product { get; set; }
- [XmlElement(ElementName="ProductName")]
- public string ProductName { get; set; }
- [XmlElement(ElementName="Indication")]
- public string Indication { get; set; }
- [XmlElement(ElementName="Percent")]
- public double Percent { get; set; }
- }
- [XmlRoot(ElementName="Lecture")]
- public class Lecture {
- [XmlElement(ElementName="ForDistribution")]
- public int ForDistribution { get; set; }
- [XmlElement(ElementName="IdActivity")]
- public int IdActivity { get; set; }
- [XmlElement(ElementName="Total")]
- public int Total { get; set; }
- [XmlElement(ElementName="Approved")]
- public int Approved { get; set; }
- }
- [XmlRoot(ElementName="Seminar")]
- public class Seminar {
- [XmlElement(ElementName="ForDistribution")]
- public int ForDistribution { get; set; }
- [XmlElement(ElementName="IdActivity")]
- public int IdActivity { get; set; }
- [XmlElement(ElementName="Total")]
- public int Total { get; set; }
- [XmlElement(ElementName="Approved")]
- public int Approved { get; set; }
- }
- [XmlRoot(ElementName="Presentation")]
- public class Presentation {
- [XmlElement(ElementName="ForDistribution")]
- public int ForDistribution { get; set; }
- [XmlElement(ElementName="IdActivity")]
- public int IdActivity { get; set; }
- [XmlElement(ElementName="Total")]
- public int Total { get; set; }
- [XmlElement(ElementName="Approved")]
- public int Approved { get; set; }
- }
- [XmlRoot(ElementName="FarmCircle")]
- public class FarmCircle {
- [XmlElement(ElementName="ForDistribution")]
- public int ForDistribution { get; set; }
- [XmlElement(ElementName="IdActivity")]
- public int IdActivity { get; set; }
- [XmlElement(ElementName="Total")]
- public int Total { get; set; }
- [XmlElement(ElementName="Approved")]
- public int Approved { get; set; }
- }
- [XmlRoot(ElementName="RoundTable")]
- public class RoundTable {
- [XmlElement(ElementName="ForDistribution")]
- public int ForDistribution { get; set; }
- [XmlElement(ElementName="IdActivity")]
- public int IdActivity { get; set; }
- [XmlElement(ElementName="Total")]
- public int Total { get; set; }
- [XmlElement(ElementName="Approved")]
- public int Approved { get; set; }
- }
- [XmlRoot(ElementName="KPIActivity")]
- public class KPIActivity {
- [XmlElement(ElementName="IdKPIActivity")]
- public int IdKPIActivity { get; set; }
- [XmlElement(ElementName="EventType")]
- public int EventType { get; set; }
- [XmlElement(ElementName="EventTypeName")]
- public string EventTypeName { get; set; }
- [XmlElement(ElementName="IdRow")]
- public int IdRow { get; set; }
- [XmlElement(ElementName="Line")]
- public int Line { get; set; }
- [XmlElement(ElementName="LineName")]
- public string LineName { get; set; }
- [XmlElement(ElementName="User")]
- public int User { get; set; }
- [XmlElement(ElementName="UserName")]
- public string UserName { get; set; }
- [XmlElement(ElementName="Territory")]
- public int Territory { get; set; }
- [XmlElement(ElementName="TerritoryName")]
- public string TerritoryName { get; set; }
- [XmlElement(ElementName="ProductList")]
- public List<ProductList> ProductList { get; set; }
- [XmlElement(ElementName="Lecture")]
- public Lecture Lecture { get; set; }
- [XmlElement(ElementName="Seminar")]
- public Seminar Seminar { get; set; }
- [XmlElement(ElementName="Presentation")]
- public Presentation Presentation { get; set; }
- [XmlElement(ElementName="FarmCircle")]
- public FarmCircle FarmCircle { get; set; }
- [XmlElement(ElementName="RoundTable")]
- public RoundTable RoundTable { get; set; }
- }
- [XmlRoot(ElementName="Result")]
- public class Result {
- [XmlElement(ElementName="Year")]
- public int Year { get; set; }
- [XmlElement(ElementName="Cycle")]
- public string Cycle { get; set; }
- [XmlElement(ElementName="Delete")]
- public bool Delete { get; set; }
- [XmlElement(ElementName="KPIActivity")]
- public List<KPIActivity> KPIActivity { get; set; }
- }
- }
- int i = 0;
- var mod = Model as WorkflowTaskInfo;
- var wfProcess = EntityManager<WorkflowInstance>.Instance.LoadOrNull(mod.InstanceId);
- dynamic pContext = wfProcess.Context;
- var xml = XmlSerializer<Result>.Deserialize(pContext.XMLResult);
- <thead>
- <p align="center"><font size='4' color='red'>При внесении любых изменений в форму необходимо нажать кнопку "Обновить таблицу"</font></p>
- <tr class="raz" style="height: 30px">
- <th style="border: 1px solid black; width: 100%" colspan="20">Результаты распределения KPI мероприятий</th>
- </tr>
- <tr class="raz1" style="height: 30px">
- <th style="border: 1px solid black" colspan="5">Период бюджета: @pContext.BudgetPeriod / @pContext.cycle</th>
- <th align="center" style="border: 1px solid black;" colspan="3">Лекций</th>
- <th align="center" style="border: 1px solid black;" colspan="3">Семинаров</th>
- <th align="center" style="border: 1px solid black;" colspan="3">Презентаций</th>
- <th align="center" style="border: 1px solid black;" colspan="3">Фармкружков</th>
- <th align="center" style="border: 1px solid black;" colspan="3">Круглых столов</th>
- </tr>
- <tr class="raz2" style="height: 200px">
- <th align="center" style="border: 1px solid black; width: 8%">Линия</th>
- <th align="center" style="border: 1px solid black; width: 8%">Сотрудник</th>
- <th align="center" style="border: 1px solid black; width: 8%">Территория</th>
- <th align="center" style="border: 1px solid black; width: 8%">Продукт</th>
- <th align="center" style="border: 1px solid black; width: 8%">Показание</th>
- <th align="center" style="border: 1px solid black; width: 4%"><div style="-webkit-transform: rotate(-90deg); transform: rotate(-90deg);">Для распределения</div></th>
- <th align="center" style="border: 1px solid black; width: 4%"><div style="-webkit-transform: rotate(-90deg); transform: rotate(-90deg);">Количество запланированных</div></th>
- <th align="center" style="border: 1px solid black; width: 4%"><div style="-webkit-transform: rotate(-90deg); transform: rotate(-90deg);">Из них одобрено</div></th>
- <th align="center" style="border: 1px solid black; width: 4%"><div style="-webkit-transform: rotate(-90deg); transform: rotate(-90deg);">Для распределения</div></th>
- <th align="center" style="border: 1px solid black; width: 4%"><div style="-webkit-transform: rotate(-90deg); transform: rotate(-90deg);">Количество запланированных</div></th>
- <th align="center" style="border: 1px solid black; width: 4%"><div style="-webkit-transform: rotate(-90deg); transform: rotate(-90deg);">Из них одобрено</div></th>
- <th align="center" style="border: 1px solid black; width: 4%"><div style="-webkit-transform: rotate(-90deg); transform: rotate(-90deg);">Для распределения</div></th>
- <th align="center" style="border: 1px solid black; width: 4%"><div style="-webkit-transform: rotate(-90deg); transform: rotate(-90deg);">Количество запланированных</div></th>
- <th align="center" style="border: 1px solid black; width: 4%"><div style="-webkit-transform: rotate(-90deg); transform: rotate(-90deg);">Из них одобрено</div></th>
- <th align="center" style="border: 1px solid black; width: 4%"><div style="-webkit-transform: rotate(-90deg); transform: rotate(-90deg);">Для распределения</div></th>
- <th align="center" style="border: 1px solid black; width: 4%"><div style="-webkit-transform: rotate(-90deg); transform: rotate(-90deg);">Количество запланированных</div></th>
- <th align="center" style="border: 1px solid black; width: 4%"><div style="-webkit-transform: rotate(-90deg); transform: rotate(-90deg);">Из них одобрено</div></th>
- <th align="center" style="border: 1px solid black; width: 4%"><div style="-webkit-transform: rotate(-90deg); transform: rotate(-90deg);">Для распределения</div></th>
- <th align="center" style="border: 1px solid black; width: 4%"><div style="-webkit-transform: rotate(-90deg); transform: rotate(-90deg);">Количество запланированных</div></th>
- <th align="center" style="border: 1px solid black; width: 4%"><div style="-webkit-transform: rotate(-90deg); transform: rotate(-90deg);">Из них одобрено</div></th>
- </tr>
- <tr class="raz3" style="height: 30px">
- <th align="center" style="border: 1px solid black;" colspan="5">Общее количество по типу мероприятия KPI</th>
- <th align="center" style="border: 1px solid black;">
- @if (pContext.TotalLecture != null /*|| pContext.TotalLectureAll != 0 || pContext.TotalLectureApproved != 0*/)
- {
- @pContext.TotalLecture
- }
- </th>
- <th align="center" style="border: 1px solid black;">
- @if (pContext.TotalLecture != null /*|| pContext.TotalLectureAll != 0 || pContext.TotalLectureApproved != 0*/)
- {
- @pContext.TotalLectureAll
- }
- </th>
- <th align="center" style="border: 1px solid black;">
- @if (pContext.TotalLecture != null /*|| pContext.TotalLectureAll != 0 || pContext.TotalLectureApproved != 0*/)
- {
- @pContext.TotalLectureApproved
- }
- </th>
- <th align="center" style="border: 1px solid black;">
- @if (pContext.TotalSeminar != null /*|| pContext.TotalSeminarAll != 0 || pContext.TotalSeminarApproved != 0*/)
- {
- @pContext.TotalSeminar
- }
- </th>
- <th align="center" style="border: 1px solid black;">
- @if (pContext.TotalSeminar != null /*|| pContext.TotalSeminarAll != 0 || pContext.TotalSeminarApproved != 0*/)
- {
- @pContext.TotalSeminarAll
- }
- </th>
- <th align="center" style="border: 1px solid black;">
- @if (pContext.TotalSeminar != null /*|| pContext.TotalSeminarAll != 0 || pContext.TotalSeminarApproved != 0*/)
- {
- @pContext.TotalSeminarApproved
- }
- </th>
- <th align="center" style="border: 1px solid black;">
- @if (pContext.TotalPresentation != null /*|| pContext.TotalPresentationAll != 0 || pContext.TotalPresentationApproved != 0*/)
- {
- @pContext.TotalPresentation
- }
- </th>
- <th align="center" style="border: 1px solid black;">
- @if (pContext.TotalPresentation != null /*|| pContext.TotalPresentationAll != 0 || pContext.TotalPresentationApproved != 0*/)
- {
- @pContext.TotalPresentationAll
- }
- </th>
- <th align="center" style="border: 1px solid black;">
- @if (pContext.TotalPresentation != null /*|| pContext.TotalPresentationAll != 0 || pContext.TotalPresentationApproved != 0*/)
- {
- @pContext.TotalPresentationApproved
- }
- </th>
- <th align="center" style="border: 1px solid black;">
- @if (pContext.TotalFarmCircle != null /*|| pContext.TotalFarmCircleAll != 0 || pContext.TotalFarmCircleApproved != 0*/)
- {
- @pContext.TotalFarmCircle
- }
- </th>
- <th align="center" style="border: 1px solid black;">
- @if (pContext.TotalFarmCircle != null /*|| pContext.TotalFarmCircleAll != 0 || pContext.TotalFarmCircleApproved != 0*/)
- {
- @pContext.TotalFarmCircleAll
- }
- </th>
- <th align="center" style="border: 1px solid black;">
- @if (pContext.TotalFarmCircle != null /*|| pContext.TotalFarmCircleAll != 0 || pContext.TotalFarmCircleApproved != 0*/)
- {
- @pContext.TotalFarmCircleApproved
- }
- </th>
- <th align="center" style="border: 1px solid black;">
- @if (pContext.TotalRoundTable != null /*|| pContext.TotalRoundTableAll != 0 || pContext.TotalRoundTableApproved != 0*/)
- {
- @pContext.TotalRoundTable
- }
- </th>
- <th align="center" style="border: 1px solid black;">
- @if (pContext.TotalRoundTable != null/* || pContext.TotalRoundTableAll != 0 || pContext.TotalRoundTableApproved != 0*/)
- {
- @pContext.TotalRoundTableAll
- }
- </th>
- <th align="center" style="border: 1px solid black;">
- @if (pContext.TotalRoundTable != null/* || pContext.TotalRoundTableAll != 0 || pContext.TotalRoundTableApproved != 0*/)
- {
- @pContext.TotalRoundTableApproved
- }
- </th>
- </tr>
- </thead>
- List<KPIActivity> xmlKPIActivity = new List<KPIActivity> ();
- if (pContext.FilterByEmployee != null) {
- xmlKPIActivity = xml.KPIActivity.Where (c => c.Employee == pContext.FilterByEmployee);
- }
- else {
- xmlKPIActivity = xml.KPIActivity;
- }
- foreach (var item in xmlKPIActivity)
- {
- i++;
- <tbody>
- <tr>
- <td align="center" style="border: 1px solid black">
- @if (item.LineName != null)
- {
- @item.LineName
- }
- </td>
- <td align="center" style="border: 1px solid black">
- @if (item.UserName != null)
- {
- @item.UserName
- }
- </td>
- <td align="center" style="border: 1px solid black">
- @if (item.TerritoryName != null)
- {
- @item.TerritoryName
- }
- </td>
- <td align="center" style="border: 1px solid black">
- @if (item.ProductList.Count > 0)
- {
- string Result = "";
- foreach (var it in item.ProductList)
- {
- Result += it.ProductName + " " + it.Percent.ToString() + "\n";
- }
- @Result
- }
- </td>
- <td align="center" style="border: 1px solid black">
- </td>
- <td align="center" style="border: 1px solid black">
- @if (pContext.TotalLecture != null && item.Lecture != null/* || pContext.TotalLectureAll != null || pContext.TotalLectureApproved != 0*/)
- {
- <input type="number" name ="@item.IdRow:Lecture" class="widthInput" min=0 value=@item.Lecture.ForDistribution onChange="onMyBlockValueChanged(this)">
- }
- </td>
- <td align="center" style="border: 1px solid black">
- @if (pContext.TotalLecture != null/* || pContext.TotalLectureAll != 0 || pContext.TotalLectureApproved != 0*/)
- {
- @item.Lecture.Total
- }
- </td>
- <td align="center" style="border: 1px solid black">
- @if (pContext.TotalLecture != null/* || pContext.TotalLectureAll != 0 || pContext.TotalLectureApproved != 0*/)
- {
- @item.Lecture.Approved
- }
- </td>
- <td align="center" style="border: 1px solid black">
- @if (pContext.TotalSeminar != null/* || pContext.TotalSeminarAll != null || pContext.TotalSeminarApproved != 0*/)
- {
- <input type="number" name ="@item.IdRow:Seminar" class="widthInput" min=0 value=@item.Seminar.ForDistribution onChange="onMyBlockValueChanged(this)">
- }
- </td>
- <td align="center" style="border: 1px solid black">
- @if (pContext.TotalSeminar != null/* || pContext.TotalSeminarAll != 0 || pContext.TotalSeminarApproved != 0*/)
- {
- @item.Seminar.Total
- }
- </td>
- <td align="center" style="border: 1px solid black">
- @if (pContext.TotalSeminar != null /*|| pContext.TotalSeminarAll != 0 || pContext.TotalSeminarApproved != 0*/)
- {
- @item.Seminar.Approved
- }
- </td>
- <td align="center" style="border: 1px solid black">
- @if (pContext.TotalPresentation != null /*|| pContext.TotalPresentationAll != 0 || pContext.TotalPresentationApproved != 0*/)
- {
- <input type="number" name ="@item.IdRow:Presentation" class="widthInput" min=0 value=@item.Presentation.ForDistribution onChange="onMyBlockValueChanged(this)">
- }
- </td>
- <td align="center" style="border: 1px solid black">
- @if (pContext.TotalPresentation != null /*|| pContext.TotalPresentationAll != 0 || pContext.TotalPresentationApproved != 0*/)
- {
- @item.Presentation.Total
- }
- </td>
- <td align="center" style="border: 1px solid black">
- @if (pContext.TotalPresentation != null/* || pContext.TotalPresentationAll != 0 || pContext.TotalPresentationApproved != 0*/)
- {
- @item.Presentation.Approved
- }
- </td>
- <td align="center" style="border: 1px solid black">
- @if (pContext.TotalFarmCircle != null/* || pContext.TotalFarmCircleAll != 0 || pContext.TotalFarmCircleApproved != 0*/)
- {
- <input type="number" name ="@item.IdRow:FarmCircle" class="widthInput" min=0 value=@item.FarmCircle.ForDistribution onChange="onMyBlockValueChanged(this)">
- }
- </td>
- <td align="center" style="border: 1px solid black">
- @if (pContext.TotalFarmCircle != null/* || pContext.TotalFarmCircleAll != 0 || pContext.TotalFarmCircleApproved != 0*/)
- {
- @item.FarmCircle.Total
- }
- </td>
- <td align="center" style="border: 1px solid black">
- @if (pContext.TotalFarmCircle != null/* || pContext.TotalFarmCircleAll != 0 || pContext.TotalFarmCircleApproved != 0*/)
- {
- @item.FarmCircle.Approved
- }
- </td>
- <td align="center" style="border: 1px solid black">
- @if (pContext.TotalRoundTable != null/* || pContext.TotalRoundTableAll != 0 || pContext.TotalRoundTableApproved != 0*/)
- {
- <input type="number" name ="@item.IdRow:RoundTable" class="widthInput" min=0 value=@item.RoundTable.ForDistribution onChange="onMyBlockValueChanged(this)">
- }
- </td>
- <td align="center" style="border: 1px solid black">
- @if (pContext.TotalRoundTable != null/*|| pContext.TotalRoundTableAll != 0 || pContext.TotalRoundTableApproved != 0*/)
- {
- @item.RoundTable.Total
- }
- </td>
- <td align="center" style="border: 1px solid black">
- @if (pContext.TotalRoundTable != null/* || pContext.TotalRoundTableAll != 0 || pContext.TotalRoundTableApproved != 0*/)
- {
- @item.RoundTable.Approved
- }
- </td>
- </tr>
- </tbody>
- }
- }
- </table>
- <script language="javascript" type="text/javascript">
- $(document).ready(function() {
- $('[data-toggle="toggle"]').change(function(){
- $(this).parents().next('.hide').toggle();
- });
- });
- function onMyBlockValueChanged(e)
- {
- if (e.value >= e.min)
- {
- var res = $('#Entity_BlockChangeString')[0];
- res.value = res.value+e.name+':'+e.value+';';
- }
- }
- </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement