| 1 |
- MWF.xApplication.process.ProcessDesigner=MWF.xApplication.process.ProcessDesigner||{};MWF.xApplication.process.ProcessDesigner.widget=MWF.xApplication.process.ProcessDesigner.widget||{};MWF.xDesktop.requireApp("Organization","Selector.package",null,false);MWF.require("MWF.xAction.org.express.RestActions",null,false);MWF.require("MWF.widget.Identity",null,false);MWF.xApplication.process.ProcessDesigner.widget.PersonSelector=new Class({Implements:[Options,Events],Extends:MWF.widget.Common,options:{style:"default",type:"identity",name:[]},initialize:function(t,e,i){this.setOptions(i);this.node=$(t);this.app=e;this.path="/x_component_process_ProcessDesigner/widget/$PersonSelector/";this.cssPath="/x_component_process_ProcessDesigner/widget/$PersonSelector/"+this.options.style+"/css.wcss";this._loadCss();this.identitys=[];this.restActions=new MWF.xAction.org.express.RestActions;this.name=this.node.get("name");this.load()},load:function(t){this.node.setStyles(this.css.node);this.createAddNode();this.loadIdentitys()},loadIdentitys:function(){var t={actions:this.restActions,app:{lp:this.app.lp}};if(this.options.names){this.options.names.each(function(e){MWF.require("MWF.widget.Identity",function(){if(this.options.type.toLowerCase()=="identity")this.identitys.push(new MWF.widget.Identity({name:e},this.node,t));if(this.options.type.toLowerCase()=="department")this.identitys.push(new MWF.widget.Department({name:e},this.node,t));if(this.options.type.toLowerCase()=="company")this.identitys.push(new MWF.widget.Company({name:e},this.node,t))}.bind(this))}.bind(this))}},createAddNode:function(){this.addNode=new Element("div",{styles:this.css.addPersonNode}).inject(this.node,"before");this.addNode.addEvent("click",function(t){var e=[];this.identitys.each(function(t){e.push(t.data.name)});var i={actions:this.restActions,app:{lp:this.app.lp}};var s={type:this.options.type,count:this.options.type.toLowerCase()=="duty"?1:0,names:e,zIndex:2e4,onComplete:function(t){this.identitys=[];if(this.options.type.toLowerCase()!="duty")this.node.empty();MWF.require("MWF.widget.Identity",function(){t.each(function(t){if(this.options.type.toLowerCase()=="identity")this.identitys.push(new MWF.widget.Identity(t.data,this.node,i));if(this.options.type.toLowerCase()=="department")this.identitys.push(new MWF.widget.Department(t.data,this.node,i));if(this.options.type.toLowerCase()=="company")this.identitys.push(new MWF.widget.Company(t.data,this.node,i))}.bind(this));if(this.options.type.toLowerCase()=="duty"){t.each(function(t){new MWF.xApplication.process.ProcessDesigner.widget.PersonSelector.DutyInput(this,t.data,this.node,i,2e4)}.bind(this))}this.fireEvent("change",[this.identitys])}.bind(this))}.bind(this)};var n=new MWF.OrgSelector(this.app.content,s)}.bind(this))}});MWF.xApplication.process.ProcessDesigner.widget.PersonSelector.DutyInput=Class({Implements:[Events],initialize:function(t,e,i,s,n){this.itemNode=$(i);this.data=e;this.isNew=false;this.selector=t;this.css=this.selector.css;this.app=this.selector.app;this.explorer=s;this.zIndex=n;this.selector.identitys=[];this.load()},load:function(){this.css.dutyMaskNode["z-index"]=this.zIndex;this.app.content.mask({destroyOnHide:true,style:this.css.dutyMaskNode});this.node=new Element("div",{styles:this.css.dutyInputArea});this.titleNode=new Element("div",{styles:this.css.dutyTitleNode}).inject(this.node);this.titleActionNode=new Element("div",{styles:this.css.dutyTitleActionNode}).inject(this.titleNode);this.titleTextNode=new Element("div",{styles:this.css.dutyTitleTextNode,text:this.app.lp.dutyInputTitle}).inject(this.titleNode);this.contentNode=new Element("div",{styles:this.css.dutyContentNode}).inject(this.node);this.loadContent();this.actionNode=new Element("div",{styles:this.css.dutyActionNode}).inject(this.node);this.actionNode.setStyle("text-align","center");this.loadAction();this.node.setStyle("z-index",this.zIndex.toInt()+1);this.node.inject(this.app.content);this.node.position({relativeTo:this.app.content,position:"center",edge:"center"});var t=this.app.content.getSize();var e=this.node.getSize();this.node.makeDraggable({handle:this.titleNode,limit:{x:[0,t.x-e.x],y:[0,t.y-e.y]}});this.setEvent()},setEvent:function(){if(this.titleActionNode){this.titleActionNode.addEvent("click",function(){this.selector.fireEvent("cancel");this.close()}.bind(this))}this.okActionNode.addEvent("click",function(){this.selectDuty();this.close()}.bind(this));this.cancelActionNode.addEvent("click",function(){this.selector.fireEvent("cancel");this.close()}.bind(this))},selectDuty:function(){var t=this.scriptEditor.editor.editor.getValue();this.data.code=t;if(!this.item){var e=new MWF.widget.Duty(this.data,this.itemNode,this.explorer,true,function(t){var e=this;var i=this.selector.app.lp.deleteDutyText.replace(/{duty}/g,this.data.name);this.selector.app.confirm("warm",t,this.selector.app.lp.deleteDutyTitle,i,300,120,function(){e.selector.fireEvent("removeDuty",[e]);this.close()},function(){this.close()});t.stopPropagation()});e.selector=this.selector;e.explorer=this.explorer;this.selector.identitys.push(e);this.selector.fireEvent("change",[this.selector.identitys])}else{this.selector.identitys.push(this.item);this.selector.fireEvent("change",[this.selector.identitys])}},close:function(){this.node.destroy();this.app.content.unmask();MWF.release(this);delete this},loadAction:function(){this.okActionNode=new Element("button",{styles:this.css.dutyOkActionNode,text:"确 定"}).inject(this.actionNode);this.cancelActionNode=new Element("button",{styles:this.css.dutyCancelActionNode,text:"取 消"}).inject(this.actionNode)},loadContent:function(){this.contentAreaNode=new Element("div",{styles:this.css.dutyContentAreaNode}).inject(this.contentNode);var t=this.app.lp.dutyInput.replace(/{duty}/g,this.data.name);this.textNode=new Element("div",{styles:this.css.dutyTextNode,text:t}).inject(this.contentAreaNode);this.referenceAreaNode=new Element("div",{styles:this.css.dutyReferenceAreaNode}).inject(this.contentAreaNode);this.scriptAreaNode=new Element("div",{styles:this.css.dutyScriptAreaNode}).inject(this.contentAreaNode);this.createScriptNode();this.createReference(this.app.lp.creatorCompany,"return this.workContext.getWork().creatorCompany");this.createReference(this.app.lp.creatorDepartment,"return this.workContext.getWork().creatorDepartment");this.createReference(this.app.lp.currentCompany,"return this.workContext.getTask().company");this.createReference(this.app.lp.currentDepartment,"return this.workContext.getTask().department")},createScriptNode:function(){this.scriptNode=new Element("div",{styles:this.css.dutyScriptNode}).inject(this.scriptAreaNode);MWF.xDesktop.requireApp("process.ProcessDesigner","widget.ScriptText",function(){this.scriptEditor=new MWF.xApplication.process.ProcessDesigner.widget.ScriptText(this.scriptNode,"",this.app,{height:316,maskNode:this.app.content,maxObj:this.app.content});this.scriptEditor.loadEditor();if(this.data.code)this.scriptEditor.editor.editor.setValue(this.data.code)}.bind(this))},createReference:function(t,e){var i=new Element("div",{styles:this.css.dutyReferenceItemNode}).inject(this.referenceAreaNode);i.set("text",t);i.store("code",e);var s=this.css.dutyReferenceItemNode;var n=this.css.dutyReferenceItemNode_over;var o=this.css.dutyReferenceItemNode_down;var c=this;i.addEvents({mouseover:function(){this.setStyles(n)},mouseout:function(){this.setStyles(s)},mousedown:function(){this.setStyles(o)},mouseup:function(){this.setStyles(n)},click:function(){var t=this.retrieve("code");var e=c.scriptEditor.editor.editor.getValue();if(!e){c.scriptEditor.editor.editor.setValue(t)}else{e=e+"\n"+t;c.scriptEditor.editor.editor.setValue(e)}}})}});MWF.widget.Duty=new Class({Extends:MWF.widget.Department,setEvent:function(){this.node.addEvent("click",function(){this.modifyDuty()}.bind(this))},modifyDuty:function(){var t=new MWF.xApplication.process.ProcessDesigner.widget.PersonSelector.DutyInput(this.selector,this.data,this.selector.node,this.explorer,2e4);t.item=this}});
|