MWF.xApplication.process=MWF.xApplication.process||{};MWF.xApplication.process.Application=MWF.xApplication.process.Application||{};MWF.require("MWF.widget.Common",null,false);MWF.require("MWF.xScript.Macro",null,false);MWF.xDesktop.requireApp("process.Application","lp.zh-cn",null,false);MWF.xApplication.process.Application.Viewer=new Class({Implements:[Options,Events],Extends:MWF.widget.Common,options:{style:"default",resizeNode:true,actions:{lookup:{uri:"/jaxrs/queryview/flag/{view}/application/flag/{application}/execute",method:"PUT"},getView:{uri:"/jaxrs/queryview/flag/{view}/application/flag/{application}"},listWorkByJob:{uri:"/jaxrs/job/{job}/find/work/workcompleted"},listTaskByWork:{uri:"/jaxrs/work/{id}/assignment/manage"}},actionRoot:"x_processplatform_assemble_surface"},initialize:function(e,t,i){this.setOptions(i);this.path="/x_component_process_Application/$Viewer/";this.cssPath="/x_component_process_Application/$Viewer/"+this.options.style+"/css.wcss";this._loadCss();this.lp=MWF.xApplication.process.Application.LP;this.container=$(e);this.json=t;this.viewJson=null;this.filterItems=[];this.searchStatus="none";this.items=[];this.selectedItems=[];this.hideColumns=[];this.openColumns=[];this.gridJson=null;this.init(function(){this.load()}.bind(this))},init:function(e){debugger;if(this.json.data){this.viewJson=JSON.decode(this.json.data);if(e)e()}else{this.getView(e)}},load:function(){this.loadLayout();this.createSearchNode();this.createViewNode({filterList:this.json.filter||null});if(this.options.resizeNode){this.setContentHeightFun=this.setContentHeight.bind(this);this.container.addEvent("resize",this.setContentHeightFun);this.setContentHeightFun()}},loadLayout:function(){this.node=new Element("div",{styles:this.css.node}).inject(this.container);this.searchAreaNode=new Element("div",{styles:this.css.searchAreaNode}).inject(this.node);this.viewAreaNode=new Element("div",{styles:this.css.viewAreaNode}).inject(this.node)},createSearchNode:function(){if(this.viewJson.customFilterEntryList&&this.viewJson.customFilterEntryList.length){this.searchStatus="default";this.loadFilterSearch()}else{this.loadSimpleSearch()}},loadSimpleSearch:function(){this.searchSimpleNode=new Element("div",{styles:this.css.searchSimpleNode}).inject(this.searchAreaNode);this.searchSimpleButtonNode=new Element("div",{styles:this.css.searchSimpleButtonNode}).inject(this.searchSimpleNode);this.searchSimpleInputNode=new Element("input",{type:"text",styles:this.css.searchSimpleInputNode,value:this.lp.searchKeywork}).inject(this.searchSimpleNode);this.searchSimpleButtonNode.addEvent("click",function(){this.search()}.bind(this));this.searchSimpleInputNode.addEvents({focus:function(){if(this.searchSimpleInputNode.get("value")===this.lp.searchKeywork)this.searchSimpleInputNode.set("value","")}.bind(this),blur:function(){if(!this.searchSimpleInputNode.get("value"))this.searchSimpleInputNode.set("value",this.lp.searchKeywork)}.bind(this),keydown:function(e){if(e.code===13)this.search()}.bind(this)})},search:function(){if(this.gridJson){var e=this.searchSimpleInputNode.get("value");var t=this.viewTable.rows;var i=this.json.isTitle!=="no"?1:0;for(var s=i;s"+""+"");this.selectTitleCell.setStyle("cursor","pointer");this.selectTitleCell.addEvent("click",this.expandOrCollapseAll.bind(this))}if(this.gridJson.length){this.gridJson.each(function(e){this.items.push(new MWF.xApplication.process.Application.Viewer.ItemCategory(this,e))}.bind(this));this.expandOrCollapseAll()}},expandOrCollapseAll:function(){var e=this.selectTitleCell.getElement("span");if(e.get("html").indexOf("expand.png")===-1){this.items.each(function(t){t.collapse();e.set("html","")}.bind(this))}else{this.items.each(function(t,i){window.setTimeout(function(){t.expand()}.bind(this),10*i+5);e.set("html","")}.bind(this))}},getView:function(e){this.getLookupAction(function(){if(this.json.application){this.lookupAction.invoke({name:"getView",async:true,parameter:{view:this.json.viewName,application:this.json.application},success:function(t){this.viewJson=JSON.decode(t.data.data);this.json=Object.merge(this.json,t.data);if(e)e()}.bind(this)})}}.bind(this))},getLookupAction:function(e){if(!this.lookupAction){var t=this;MWF.require("MWF.xDesktop.Actions.RestActions",function(){this.lookupAction=new MWF.xDesktop.Actions.RestActions("",this.options.actionRoot,"");this.lookupAction.getActions=function(e){this.actions=t.options.actions;if(e)e()};if(e)e()}.bind(this))}else{if(e)e()}},hide:function(){this.node.setStyle("display","none")},reload:function(){this.node.setStyle("display","block");if(this.loadingAreaNode)this.loadingAreaNode.setStyle("display","block");this.filterItems.each(function(e){e.destroy()}.bind(this));this.filterItems=[];if(this.viewSearchInputNode)this.viewSearchInputNode.set("text",this.lp.searchKeywork);this.closeCustomSearch();this.viewAreaNode.empty();this.createViewNode({filterList:this.json.filter||null})},getFilter:function(){debugger;var e=[];if(this.searchStatus==="custom"){if(this.filterItems.length){this.filterItems.each(function(t){e.push(t.data)}.bind(this))}}if(this.searchStatus==="default"){var t=this.viewSearchInputNode.get("value");if(t&&t!==this.lp.searchKeywork){this.viewJson.customFilterEntryList.each(function(i){if(i.formatType==="textValue"){var s={path:i.path,value:t,formatType:i.formatType,logic:"or",comparison:"like"};e.push(s)}if(i.formatType==="numberValue"){var o=t.toFloat();if(!isNaN(o)){var s={path:i.path,value:o,formatType:i.formatType,logic:"or",comparison:"like"};e.push(s)}}}.bind(this))}}return e.length?e:null},getData:function(){if(this.selectedItems.length){var e=[];this.selectedItems.each(function(t){e.push(t.data)});return e}else{return[]}}});MWF.xApplication.process.Application.Viewer.Item=new Class({initialize:function(e,t,i,s){this.view=e;this.data=t;this.css=this.view.css;this.isSelected=false;this.prev=i;this.load()},load:function(){this.node=new Element("tr",{styles:this.css.viewContentTrNode});if(this.prev){this.node.inject(this.prev.node,"after")}else{this.node.inject(this.view.viewTable)}this.selectTd=new Element("td",{styles:this.css.viewContentTdNode}).inject(this.node);this.selectTd.setStyles({cursor:"pointer"});if(this.view.json.itemStyles)this.selectTd.setStyles(this.view.json.itemStyles);Object.each(this.data.data,function(e,t){if(this.view.hideColumns.indexOf(t)===-1){var i=new Element("td",{styles:this.css.viewContentTdNode}).inject(this.node);if(t!==this.view.viewJson.groupEntry.column){var s=this.view.entries[t].code?MWF.Macro.exec(this.view.entries[t].code,{value:e,gridData:this.view.gridJson,data:this.view.viewData,entry:this.data}):e;i.set("text",s)}if(this.view.openColumns.indexOf(t)!==-1){this.setOpenWork(i)}if(this.view.json.itemStyles)i.setStyles(this.view.json.itemStyles)}}.bind(this));this.setEvent()},setOpenWork:function(e){e.setStyle("cursor","pointer");e.addEvent("click",this.openWorkAndCompleted.bind(this))},openWorkAndCompleted:function(e){this.view.lookupAction.invoke({name:"listWorkByJob",async:true,parameter:{job:this.data.job},success:function(t){var i=t.data.workCompletedList.length;var s=t.data.workList.length;var o=s+i;if(o===1){if(i){this.openWorkCompleted(t.data.workCompletedList[0].id,e)}else{this.openWork(t.data.workList[0].id,e)}}else if(o>1){var n=this.createWorksArea();t.data.workCompletedList.each(function(e){this.createWorkCompletedNode(e,n)}.bind(this));t.data.workList.each(function(e){this.createWorkNode(e,n)}.bind(this));this.showWorksArea(n,e)}else{}}.bind(this)})},createWorkNode:function(e,t){var i=t.getLast();var s=new Element("div",{styles:this.css.workAreaNode}).inject(i);var o=new Element("div",{styles:this.css.workAreaActionNode,text:this.view.lp.open}).inject(s);o.store("workId",e.id);o.addEvent("click",function(e){this.openWork(e.target.retrieve("workId"),e);this.mask.hide();t.destroy()}.bind(this));var n=new Element("div",{styles:this.css.workAreaLeftNode}).inject(s);var a=new Element("div",{styles:this.css.workAreaTitleNode,text:e.title}).inject(n);var h=new Element("div",{styles:this.css.workAreaContentNode}).inject(n);new Element("div",{styles:this.css.workAreaContentTitleNode,text:this.view.lp.activity+": "}).inject(h);new Element("div",{styles:this.css.workAreaContentTextNode,text:e.activityName}).inject(h);var l=[];this.view.lookupAction.invoke({name:"listTaskByWork",async:true,parameter:{id:e.id},success:function(e){e.data.taskList.each(function(e){l.push(MWF.name.cn(e.person))}.bind(this));new Element("div",{styles:this.css.workAreaContentTitleNode,text:this.view.lp.taskPeople+": "}).inject(h);new Element("div",{styles:this.css.workAreaContentTextNode,text:l.join(", ")}).inject(h)}.bind(this)})},createWorkCompletedNode:function(e,t){var i=t.getLast();var s=new Element("div",{styles:this.css.workAreaNode}).inject(i);var o=new Element("div",{styles:this.css.workAreaActionNode,text:this.view.lp.open}).inject(s);o.store("workId",e.id);o.addEvent("click",function(e){this.mask.hide();t.destroy();this.openWorkCompleted(e.target.retrieve("workId"),e)}.bind(this));var n=new Element("div",{styles:this.css.workAreaLeftNode}).inject(s);var a=new Element("div",{styles:this.css.workAreaTitleNode,text:e.title}).inject(n);var h=new Element("div",{styles:this.css.workAreaContentNode}).inject(n);new Element("div",{styles:this.css.workAreaContentTitleNode,text:this.view.lp.activity+": "}).inject(h);new Element("div",{styles:this.css.workAreaContentTextNode,text:this.view.lp.processCompleted}).inject(h)},createWorksArea:function(){var e=new Element("div",{styles:this.css.worksAreaNode});var t=new Element("div",{styles:this.css.worksAreaTitleNode}).inject(e);var i=new Element("div",{styles:this.css.worksAreaTitleCloseNode}).inject(t);i.addEvent("click",function(e){this.mask.hide();e.target.getParent().getParent().destroy()}.bind(this));var s=new Element("div",{styles:this.css.worksAreaContentNode}).inject(e);return e},showWorksArea:function(e,t){this.mask=new MWF.widget.Mask({style:"desktop",loading:false});this.mask.loadNode(this.view.container);e.inject(this.view.node);this.setWorksAreaPosition(e,t.target)},setWorksAreaPosition:function(e,t){var i=t.getPosition(this.view.container);var s=this.view.container.getSize();var o=this.view.container.getPosition(this.view.container.getOffsetParent());var n=e.getSize();var a=i.x+n.x-s.x;a=a>0?a+20:0;var h=i.y+n.y-s.y;h=h>0?h+5:0;e.position({relativeTo:t,position:"lefttop",edge:"lefttop",offset:{x:0-a,y:0-h}})},openWork:function(e,t){var i={workId:e};layout.desktop.openApplication(t,"process.Work",i)},openWorkCompleted:function(e,t){var i={workCompletedId:e};layout.desktop.openApplication(t,"process.Work",i)},setEvent:function(){if(this.view.json.select==="single"||this.view.json.select==="multi"){this.node.addEvents({mouseover:function(){if(!this.isSelected){var e="checkbox";if(this.view.json.select==="single")e="radiobox";this.selectTd.setStyles({background:"url("+"/x_component_process_Application/$Viewer/default/icon/"+e+".png) center center no-repeat"})}}.bind(this),mouseout:function(){if(!this.isSelected)this.selectTd.setStyles({background:"transparent"})}.bind(this),click:function(){this.select()}.bind(this)})}},select:function(){if(this.isSelected){if(this.view.json.select==="single"){this.unSelectedSingle()}else{this.unSelected()}}else{if(this.view.json.select==="single"){this.selectedSingle()}else{this.selected()}}this.view.fireEvent("select")},selected:function(){this.view.selectedItems.push(this);this.selectTd.setStyles({background:"url("+"/x_component_process_Application/$Viewer/default/icon/checkbox_checked.png) center center no-repeat"});this.node.setStyles(this.css.viewContentTrNode_selected);this.isSelected=true},unSelected:function(){this.view.selectedItems.erase(this);this.selectTd.setStyles({background:"transparent"});this.node.setStyles(this.css.viewContentTrNode);this.isSelected=false},selectedSingle:function(){if(this.view.currentSelectedItem)this.view.currentSelectedItem.unSelectedSingle();this.view.selectedItems=[this];this.view.currentSelectedItem=this;this.selectTd.setStyles({background:"url("+"/x_component_process_Application/$Viewer/default/icon/radiobox_checked.png) center center no-repeat"});this.node.setStyles(this.css.viewContentTrNode_selected);this.isSelected=true},unSelectedSingle:function(){this.view.selectedItems=[];this.view.currentSelectedItem=null;this.selectTd.setStyles({background:"transparent"});this.node.setStyles(this.css.viewContentTrNode);this.isSelected=false}});MWF.xApplication.process.Application.Viewer.ItemCategory=new Class({initialize:function(e,t){this.view=e;this.data=t;this.css=this.view.css;this.items=[];this.loadChild=false;this.load()},load:function(){this.node=new Element("tr",{styles:this.css.viewContentTrNode}).inject(this.view.viewTable);this.selectTd=new Element("td",{styles:this.css.viewContentCategoryTdNode}).inject(this.node);if(this.view.json.itemStyles)this.selectTd.setStyles(this.view.json.itemStyles);this.categoryTd=new Element("td",{styles:this.css.viewContentCategoryTdNode,colspan:this.view.viewJson.selectEntryList.length}).inject(this.node);this.groupColumn=null;for(var e=0;e "+t);if(this.view.json.itemStyles)this.categoryTd.setStyles(this.view.json.itemStyles);this.setEvent()},setEvent:function(){this.node.addEvents({click:function(){this.expandOrCollapse()}.bind(this)})},expandOrCollapse:function(){var e=this.node.getElement("span").get("html");if(e.indexOf("expand.png")===-1){this.collapse()}else{this.expand()}},collapse:function(){this.items.each(function(e){e.node.setStyle("display","none")}.bind(this));this.node.getElement("span").set("html","")},expand:function(){this.items.each(function(e){e.node.setStyle("display","table-row")}.bind(this));this.node.getElement("span").set("html","");if(!this.loadChild){this.data.list.each(function(e){this.items.push(new MWF.xApplication.process.Application.Viewer.Item(this.view,e,this))}.bind(this));this.loadChild=true}}});MWF.xApplication.process.Application.Viewer.Filter=new Class({initialize:function(e,t,i){this.viewer=e;this.data=t;this.css=this.viewer.css;this.content=i;this.load()},load:function(){this.node=new Element("div",{styles:this.css.viewSearchFilterNode}).inject(this.content);if(this.viewer.filterItems.length){this.logicNode=new Element("div",{styles:this.css.viewSearchFilterSelectAreaNode}).inject(this.node);this.logicSelectNode=new Element("div",{styles:this.css.viewSearchFilterSelectNode,text:this.viewer.lp.and,value:"and"}).inject(this.logicNode);this.logicSelectButtonNode=new Element("div",{styles:this.css.viewSearchFilterSelectButtonNode}).inject(this.logicNode);this.logicNode.addEvents({click:function(){var e=this.logicSelectNode.get("value");if(e==="and"){this.logicSelectButtonNode.setStyle("float","left");this.logicSelectNode.setStyle("float","right");this.logicSelectNode.set({text:this.viewer.lp.or,value:"or"});this.data.logic="or"}else{this.logicSelectButtonNode.setStyle("float","right");this.logicSelectNode.setStyle("float","left");this.logicSelectNode.set({text:this.viewer.lp.and,value:"and"});this.data.logic="and"}this.viewer.searchCustomView()}.bind(this)})}this.titleNode=new Element("div",{styles:this.css.viewSearchFilterTextNode,text:this.data.title}).inject(this.node);this.comparisonTitleNode=new Element("div",{styles:this.css.viewSearchFilterTextNode,text:this.data.comparisonTitle}).inject(this.node);this.valueNode=new Element("div",{styles:this.css.viewSearchFilterTextNode,text:'"'+this.data.value+'"'}).inject(this.node);this.deleteNode=new Element("div",{styles:this.css.viewSearchFilterDeleteNode}).inject(this.node);this.node.addEvents({mouseover:function(){this.node.setStyles(this.css.viewSearchFilterNode_over);this.deleteNode.setStyles(this.css.viewSearchFilterDeleteNode_over)}.bind(this),mouseout:function(){this.node.setStyles(this.css.viewSearchFilterNode);this.deleteNode.setStyles(this.css.viewSearchFilterDeleteNode)}.bind(this)});this.deleteNode.addEvent("click",function(){this.viewer.searchViewRemoveFilter(this)}.bind(this))},destroy:function(){this.node.destroy();MWF.release(this)}});