var xmlData = ''; var nodeInfo; var logNode = new Array(); var interval;//定时器 var time = 0; var model = null;//流程实例 var lineHandle = ';'; var showLog; $(document).ready(function(){ showPlay(); }); function showPlay(){ logNode={}; var nodeId = new Array(); var nodeName = new Array(); nodeInfo ={}; time = 0; xmlData = ''; if(interval!=null) window.clearInterval(interval); $.ajax({ url : basePath + 'WFP?module=instance&action=getPlayData&id='+id, type : 'POST', data : { }, success : function(json) { var obj = JSON.parse(json); if(obj.template != null && obj.template != ''){ model = obj.template; xmlData = obj.template.xmlData; nodeInfo = obj.template.nodeToId; $.each(obj.template.nodeToId, function(index) { nodeName[index] = obj.template.nodeToId[index].nodeName; nodeId[index] = obj.template.nodeToId[index].id; }); $.each(obj.transacitons,function(index){ logNode[index] = obj.transacitons[index]; }); var canHeight = isNaN(obj.template.height)?0:obj.template.height+30; var canWidth = isNaN(obj.template.width)?0:obj.template.width+20; if(type==1){ //创建时间轴 createtimeAxis(obj.transacitons); //设置宽高 $('.mainBody').css('height',canHeight+115); $('.mainBody').css('width',canWidth+10); }else if(type==2){ //创建日志列表 createLogTable(obj.transacitons); //设置宽高 $('.mainBody').css('height',canHeight+10); $('.mainBody').css('width',canWidth+300); } }else{ var url = basePath + 'player/page/sl404.jsp'; $("#bpmnPlay", parent.document).attr('src',url); $("#bubble").attr('style','display:none'); // xmlData = ''; } $("#show-button").trigger("click"); } }); } //创建日志列表 function createLogTable(transacitons){ $('#tableContent').empty(); var html = ''; $.each(transacitons,function(index){ var background ='url(../js/jQuery-log/images/icon07.gif) no-repeat 83px 0;'; if(transacitons[index].state ==='2'){ background = 'url(../js/jQuery-log/images/icon07_yellow2.jpg) no-repeat 83px 0'; } html = html + '
  • ' + '

    '+$(this).attr('startTime').substring(0,10)+''+ $(this).attr('startTime').substring(10)+'

    ' + '
    '+ $(this).attr('nodeName') +'  ' + '操作人:'+$(this).attr('author')+'
    ' + '
    '+$(this).attr('memo')+'

    ' + '
  • '; }); $.getScript(basePath+"player/js/jQuery-log/js/jq22.js", function() { setTimeout("$('.contactusdiyou .history.scroll-y').show();",500) }); $('.contactusdiyou .history-date ul').html(html); } //创建时间轴 function createtimeAxis(transacitons){ $('.cd-horizontal-timeline .timeline ol').empty(); var liHtml = ''; $('.cd-horizontal-timeline .events-content ol').empty(); var descHtml = ''; $.each(transacitons,function(index){ liHtml +='
  • '+$(this).attr('nodeName')+'
  • ' descHtml = descHtml +'
  • ' +'操作人:'+$(this).attr('author')+'; 操作时间:'+$(this).attr('startTime')+'' +(($(this).attr('memo')==''||$(this).attr('memo')=='null')?'':'处理信息:'+$(this).attr('memo')+'
  • '); }); $('.cd-horizontal-timeline .timeline ol').html(liHtml); $('.cd-horizontal-timeline .events-content ol').html(descHtml); $.getScript(basePath+"player/js/jQuery-sjz/js/main.js"); } //创建时间轴日志 function createtimeAxisLog(){ var log = ''; $('#event_box .parBd .slideBox').each(function(){ if($(this).css('display')!='none'){ log = $(this).html(); return false; } }); $('#log_box .parBd').html(log); } (function(BpmnViewer, $) { var bpmnViewer = new BpmnViewer({ container: '#canvas' }); var canvas = bpmnViewer.get('canvas'), overlays = bpmnViewer.get('overlays'); function importXML(xml) { bpmnViewer.importXML(xml, function(err) { canvas.zoom('fit-viewport'); var id = getOrder(); addMark(id[0]); var i = time; $("#playButton").unbind('click').on('click',function(){ $('#stopButton').attr('style','display:block'); $('#playButton').attr('style','display:none'); var id = getOrder(); var lastId = id[id.length - 1]; canvas.addMarker(lastId, 'currentNode'); setTheme(); runInterval(); interval = self.setInterval(function(){ runInterval(); },3000); }) function runInterval(){ if(type==1){ //时间轴轮播效果 var selectId = $('.events-content li.selected').index(); if(selectId!=i){ $('.cd-horizontal-timeline .timeline ol li:eq('+i+') a').trigger('click'); } }else if(type==2){ //日志轮播效果 removeMark(); addMark(id[i]); var aid = '#log'+i; $('#tableContent').children().removeClass('active'); $(aid).addClass('active'); $('.history-date li').removeClass('red'); $('.history-date li:eq('+i+')').addClass('red'); $('.contactusdiyou').scrollTop($('.bounceInDown.red').position().top); } i++; if(i>id.length-1){ i = 0; } time = i; } $("#stopButton").unbind('click').on('click',function(){ $('#stopButton').attr('style','display:none'); $('#playButton').attr('style','display:block'); if(interval){ interval = clearInterval(interval); }else{ return; } }); $("#playButton").trigger("click"); $('#canvas g .djs-visual').unbind('click').on('click',function(){ var taskId = $(this).parent().attr('data-element-id'); var id = getOrder(); for(var i=0;i' }); overlays.add(id, 'note2', { position: { top: -5, right: 10 }, html: '
    ' }); overlays.add(id, 'note3', { position: { bottom: 10, left: -5 }, html: '
    ' }); overlays.add(id, 'note4', { position: { bottom: 10, right: 10 }, html: '
    ' }); } function removeMark(){ overlays.clear(); } //时间轴-展示节点日志 showLog = function(obj){ var id = getOrder(); var i = $(obj).parent().index(); removeMark(); addMark(id[i]); } function setTheme(){ //隐藏判断节点的X $('.djs-visual polygon').each(function(){ $(this).parent().find('path').hide(); }); //节点加上已处理状态 $.each(logNode,function(index){ for(var i = 0;i0){ var inNodeId = $(xmlData).find("outgoing:contains('"+lineId+"')").parent().attr('id');//出线节点id if(inNodeId.indexOf('StartEvent')<0&&$('#canvas g[data-element-id^="'+inNodeId+'"].handled').length==0){ nodeHandle(inNodeId); decideNodeHandle(); return false; } } }); } })(window.BpmnJS, window.jQuery);