| 1 |
- MWF.xApplication.process.ProcessDesigner=MWF.xApplication.process.ProcessDesigner||{};MWF.xApplication.process.ProcessDesigner.widget=MWF.xApplication.process.ProcessDesigner.widget||{};MWF.xDesktop.requireApp("Selector","package",null,false);MWF.require("MWF.widget.O2Identity",null,false);MWF.xApplication.process.ProcessDesigner.widget.PersonSelector=new Class({Implements:[Options,Events],Extends:MWF.widget.Common,options:{style:"default",type:"identity",count:0,names:[]},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=MWF.Actions.get("x_organization_assemble_control");this.name=this.node.get("name");this.load()},load:function(){this.node.setStyles(this.css.node);this.createAddNode();this.loadIdentitys()},loadIdentitys:function(){if(this.options.names){if(this.options.type.toLowerCase()==="duty"){var t=JSON.decode(this.options.names);t.each(function(t){var e=new MWF.widget.O2Duty(t,this.node,{canRemove:true,onRemove:function(t,e){var i=this;var s=this.app.lp.deleteDutyText.replace(/{duty}/g,t.data.name);this.app.confirm("warm",e,this.app.lp.deleteDutyTitle,s,300,120,function(){i.identitys.erase(t);i.fireEvent("removeDuty",[t]);this.close()},function(){this.close()});e.stopPropagation()}.bind(this)});e.selector=this;this.identitys.push(e)}.bind(this))}else{this.options.names.each(function(t){if(t){var e=typeOf(t)==="string"?{name:t,id:t}:t;MWF.require("MWF.widget.O2Identity",function(){if(this.options.type.toLowerCase()==="identity")this.identitys.push(new MWF.widget.O2Identity(e,this.node));if(this.options.type.toLowerCase()==="unit")this.identitys.push(new MWF.widget.O2Unit(e,this.node));if(this.options.type.toLowerCase()==="person")this.identitys.push(new MWF.widget.O2Person(e,this.node));if(this.options.type.toLowerCase()==="application")this.identitys.push(new MWF.widget.O2Application(e,this.node));if(this.options.type.toLowerCase()==="process")this.identitys.push(new MWF.widget.O2Process(e,this.node));if(this.options.type.toLowerCase()==="formfield")this.identitys.push(new MWF.widget.O2FormField(e,this.node));if(this.options.type.toLowerCase()==="view")this.identitys.push(new MWF.widget.O2View(e,this.node));if(this.options.type.toLowerCase()==="cmsview")this.identitys.push(new MWF.widget.O2CMSView(e,this.node));if(this.options.type.toLowerCase()==="queryview")this.identitys.push(new MWF.widget.O2QueryView(e,this.node));if(this.options.type.toLowerCase()==="querystat")this.identitys.push(new MWF.widget.O2QueryStat(e,this.node));if(this.options.type.toLowerCase()==="dutyname")this.identitys.push(new MWF.widget.O2Duty(e,this.node));if(this.options.type.toLowerCase()==="cmsapplication")this.identitys.push(new MWF.widget.O2CMSApplication(e,this.node));if(this.options.type.toLowerCase()==="cmscategory")this.identitys.push(new MWF.widget.O2CMSCategory(e,this.node))}.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)});var i={type:this.options.type.toLowerCase()==="dutyname"?"duty":this.options.type,application:this.options.application,fieldType:this.options.fieldType,count:this.options.type.toLowerCase()==="duty"?1:this.options.count,values:e,zIndex:2e4,onComplete:function(t){this.identitys=[];if(this.options.type.toLowerCase()!=="duty")this.node.empty();MWF.require("MWF.widget.O2Identity",function(){t.each(function(t){if(this.options.type.toLowerCase()==="identity")this.identitys.push(new MWF.widget.O2Identity(t.data,this.node));if(this.options.type.toLowerCase()==="person")this.identitys.push(new MWF.widget.O2Person(t.data,this.node));if(this.options.type.toLowerCase()==="unit")this.identitys.push(new MWF.widget.O2Unit(t.data,this.node));if(this.options.type.toLowerCase()==="application")this.identitys.push(new MWF.widget.O2Application(t.data,this.node));if(this.options.type.toLowerCase()==="process")this.identitys.push(new MWF.widget.O2Process(t.data,this.node));if(this.options.type.toLowerCase()==="cmsapplication")this.identitys.push(new MWF.widget.O2CMSApplication(t.data,this.node));if(this.options.type.toLowerCase()==="cmscategory")this.identitys.push(new MWF.widget.O2CMSCategory(t.data,this.node));if(this.options.type.toLowerCase()==="formfield")this.identitys.push(new MWF.widget.O2FormField(t.data,this.node));if(this.options.type.toLowerCase()==="view")this.identitys.push(new MWF.widget.O2View(t.data,this.node));if(this.options.type.toLowerCase()==="cmsview")this.identitys.push(new MWF.widget.O2CMSView(t.data,this.node));if(this.options.type.toLowerCase()==="queryview")this.identitys.push(new MWF.widget.O2QueryView(t.data,this.node));if(this.options.type.toLowerCase()==="querystat")this.identitys.push(new MWF.widget.O2QueryStat(t.data,this.node));if(this.options.type.toLowerCase()==="dutyname")this.identitys.push(new MWF.widget.O2Duty(t.data,this.node))}.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,2e4)}.bind(this))}this.fireEvent("change",[this.identitys])}.bind(this))}.bind(this)};var s=new MWF.O2Selector(this.app.content,i)}.bind(this))}});MWF.xApplication.process.ProcessDesigner.widget.PersonSelector.DutyInput=Class({Implements:[Events],initialize:function(t,e,i,s){this.itemNode=$(i);this.data=e;this.isNew=false;this.selector=t;this.css=this.selector.css;this.app=this.selector.app;this.zIndex=s;this.selector.identitys=[];this.referenceList=[];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(){debugger;var t=this.scriptEditor.editor.editor.getValue();this.data.code=t;if(!this.item){var e=new MWF.widget.O2Duty(this.data,this.itemNode,{canRemove:true,onRemove:function(t,e){var i=t;var s=t.selector.app.lp.deleteDutyText.replace(/{duty}/g,t.data.name);t.selector.app.confirm("warm",e,t.selector.app.lp.deleteDutyTitle,s,300,120,function(){i.selector.identitys.erase(t);i.selector.fireEvent("removeDuty",[t]);this.close()},function(){this.close()});e.stopPropagation()}.bind(this)});e.selector=this.selector;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(){debugger;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.creatorUnit,"return this.workContext.getWork().creatorUnitDn || this.workContext.getWork().creatorUnit;");this.createReference(this.app.lp.currentUnit,"return this.workContext.getTask().unitDn || this.workContext.getTask().unit;");this.createReference(this.app.lp.selectUnit,"",function(){var t={type:"unit",count:1,onComplete:function(t){this.scriptEditor.editor.editor.setValue('return "'+t[0].data.distinguishedName+'";')}.bind(this)};new MWF.O2Selector(this.node,t)}.bind(this))},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(function(){if(this.data.code)this.scriptEditor.editor.editor.setValue(this.data.code)}.bind(this))}.bind(this))},createReference:function(t,e,i){var s=new Element("div",{styles:this.css.dutyReferenceItemNode}).inject(this.referenceAreaNode);s.set("text",t);s.store("code",e);s.store("action",i);var n=this.css.dutyReferenceItemNode;var o=this.css.dutyReferenceItemNode_over;var d=this.css.dutyReferenceItemNode_down;var h=this;s.addEvents({mouseover:function(){if(!this.retrieve("checked"))this.setStyles(o)},mouseout:function(){if(!this.retrieve("checked"))this.setStyles(n)},mousedown:function(){if(!this.retrieve("checked"))this.setStyles(d)},mouseup:function(){if(!this.retrieve("checked"))this.setStyles(o)},click:function(){var t=s.retrieve("action");if(t){t()}else{var e=this.retrieve("code");var i=h.scriptEditor.editor.editor.getValue();if(!i){h.scriptEditor.editor.editor.setValue(e)}else{i=i+"\n"+e;h.scriptEditor.editor.editor.setValue(i)}}}})}});MWF.widget.O2Duty=new Class({Extends:MWF.widget.O2Group,getPersonData:function(){},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,2e4);t.item=this}});
|