Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @using System
- @using System.Security.Policy
- @using System.Web
- @using EleWise.ELMA
- @using EleWise.ELMA.Workflow.Processes.Web.Models
- @using EleWise.ELMA.BPM.Web.Common.Extensions
- @using EleWise.ELMA.Web.Mvc.Models.Panels
- @using EleWise.ELMA.Web.Mvc.Html
- @inherits EleWise.ELMA.Web.Mvc.DynamicViewControl<Impeltech.Bank.Models.IRequestBankGuarantee>
- @{
- var processes =
- new HtmlString(
- Newtonsoft.Json.JsonConvert.SerializeObject(
- Model.Processes
- .OrderByDescending(c => c.StartDate).ToList().ConvertAll(
- c => new
- {
- Id = c.Id,
- Name = c.Name,
- StartDate = c.StartDate.ToString(),
- ParentInstanceId = c.ParentInstance !=null? ((long?)c.ParentInstance.Id):null,
- ParentInstanceName = c.ParentInstance !=null? c.ParentInstance.Name : null,
- ParentInstanceUrl = c.ParentInstance != null ? Url.Entity(c.ParentInstance):"",
- Url = Url.Entity(c),
- ProcessName =c.Process.Name
- })));
- }
- <style>
- .proc-block {
- margin-top: 20px;
- border: 2px dashed #cbe2ff;
- padding: 10px;
- border-radius: 5px;
- }
- </style>
- <script>
- var processes =@processes;
- </script>
- <style>
- #Tasks .collapsible-panel-header {
- display: none;
- }
- </style>
- <div id="ProcessesPanels">
- @if (Model != null)
- {
- @(TabPanel("WorkflowInstanceInfoTabControl").Items(tabs =>
- {
- tabs.Add(
- new EleWise.ELMA.Web.Mvc.Models.Selectors.TabPanelItem()
- {
- Text = SR.T("Текущие задачи"),
- Selected = true,
- }).Content(@<text>
- <div id="Tasks">
- </div>
- <script>
- $(document).ready(function(){
- if(processes.length>0){
- AddOperations(0);
- }
- });
- function AddOperations(i){
- $.ajax({
- item:i,
- process:processes[i],
- url:'@Url.Action("Operations", "WorkflowInstance", new { area = EleWise.ELMA.Workflow.Processes.Web.ProcessesRouteProvider.AreaName })'+'?id='+processes[i].Id +"&time=" + @DateTime.Now.Ticks,
- success: function(data){
- var parentProcess = "";
- if (this.process.ParentInstanceId > 0) {
- parentProcess = "Родительский процесc: <a href='"+this.process.ParentInstanceUrl+"'>"+this.process.ParentInstanceName+"</a><a href='/Workflow/WorkflowInstance/Map/"+this.process.ParentInstanceId+"'>(карта)</a>";
- }
- var currentProcess =
- 'Дата запуска: '+ this.process.StartDate+
- '<h3 style="margin-bottom: 0px;"><a href="'+this.process.Url+'">'+this.process.Name+'</a> (<a href="/Workflow/WorkflowInstance/Map/'+this.process.Id+'">Карта</a>)</h3>' +parentProcess+
- '<br/><br/> '+this.process.ProcessName+ ''+data;
- data =
- '<div style="margin-top:20px" class="proc-block">' +currentProcess+'</div>';
- $("#Tasks").append(data);
- this.item++;
- if(this.item<processes.length){
- AddOperations(this.item);
- }
- }
- });
- }
- </script>
- </text>);
- tabs.Add(
- new EleWise.ELMA.Web.Mvc.Models.Selectors.TabPanelItem()
- {
- Text = SR.T("История задач")
- }).Content(@<text>
- <div id="ClosedTasks">
- </div>
- <script>
- $(document).ready(function(){
- if(processes.length>0){
- AddClosedTasks(0);
- }
- });
- function AddClosedTasks(i){
- $.ajax({
- item:i,
- process:processes[i],
- url:'@Url.Action("TasksInfo", "WorkflowInstance", new { area = EleWise.ELMA.Workflow.Processes.Web.ProcessesRouteProvider.AreaName })'+'?workflowInstanceId='+processes[i].Id +"&time=" + @DateTime.Now.Ticks,
- success: function(data){
- var parentProcess = "";
- if (this.process.ParentInstanceId > 0) {
- parentProcess = "Родительский процесc: <a href='"+this.process.ParentInstanceUrl+"'>"+this.process.ParentInstanceName+"</a><a href='/Workflow/WorkflowInstance/Map/"+this.process.ParentInstanceId+"'>(карта)</a>";
- }
- var currentProcess =
- 'Дата запуска: '+ this.process.StartDate+
- '<h3 style="margin-bottom: 0px;"><a href="'+this.process.Url+'">'+this.process.Name+'</a> (<a href="/Workflow/WorkflowInstance/Map/'+this.process.Id+'">Карта</a>)</h3>' +parentProcess+
- '<br/><br/> '+this.process.ProcessName+ ''+data;
- data =
- '<div style="margin-top:20px" class="proc-block">' +currentProcess+'</div>';
- $("#ClosedTasks").append(data);
- this.item++;
- if(this.item<processes.length){
- AddClosedTasks(this.item);
- }
- }
- });
- }
- </script>
- </text>);
- }).Render())
- }
- </div>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement