| 1 |
- MWF.require("MWF.xApplication.Organization.GroupExplorer",null,false);MWF.require("MWF.xApplication.Organization.OrgExplorer",null,false);MWF.xApplication.Organization.PersonExplorer=new Class({Extends:MWF.xApplication.Organization.GroupExplorer,Implements:[Options,Events],options:{style:"default"},initialize:function(t,e,i){this.setOptions(i);this.path="/x_component_Organization/$PersonExplorer/";this.cssPath="/x_component_Organization/$PersonExplorer/"+this.options.style+"/css.wcss";this._loadCss();this.actions=e;this.node=$(t);this.loaddingElement=false;this.groups=[];this.isElementLoaded=false;this.loadElementQueue=0;this.deleteGroups=[]},loadElements:function(t){if(!this.isElementLoaded){if(!this.loaddingElement){this.loaddingElement=true;this.actions.listPersonNext(this.getLastLoadedGroupId(),this.getPageNodeCount(),function(t){if(t.data.length){this.loadChartContent(t.data);this.loaddingElement=false;if(t.data.length<count){this.isElementLoaded=true;this.app.notice(this.app.lp.personLoaded,"ok",this.chartScrollNode,{x:"center",y:"bottom"})}else{if(this.loadElementQueue>0){this.loadElementQueue--;this.loadElements()}}}else{if(!this.groups.length){this.setNoGroupNoticeArea()}else{this.app.notice(this.app.lp.personLoaded,"ok",this.chartScrollNode,{x:"center",y:"bottom"})}this.isElementLoaded=true;this.loaddingElement=false}}.bind(this))}else{if(t)this.loadElementQueue++}}},loadChartContent:function(t){t.each(function(t){var e=new MWF.xApplication.Organization.PersonExplorer.Person(t,this);this.groups.push(e);e.load()}.bind(this))},loadToolbar:function(){this.toolbarNode=new Element("div",{styles:this.css.toolbarNode}).inject(this.chartAreaNode);this.addTopGroupNode=new Element("div",{styles:this.css.addTopGroupNode}).inject(this.toolbarNode);this.addTopGroupNode.addEvent("click",function(){this.addTopGroup()}.bind(this));this.createSearchNode()},searchOrg:function(){var t=this.searchInputNode.get("value");if(t){if(t!=this.app.lp.searchText){var e=true;if(this.currentItem)e=this.currentItem.unSelected();if(e){this.actions.listPersonByKey(function(t){if(this.currentItem)this.currentItem.unSelected();this.clear();t.data.each(function(t){var e=new MWF.xApplication.Organization.PersonExplorer.Person(t,this);e.load()}.bind(this))}.bind(this),null,t)}else{this.app.notice(this.app.lp.groupSave,"error",this.propertyContentNode)}}else{if(this.currentItem)e=this.currentItem.unSelected();if(e){this.clear();this.loadElements()}else{this.app.notice(this.app.lp.groupSave,"error",this.propertyContentNode)}}}else{if(this.currentItem)e=this.currentItem.unSelected();if(e){this.clear();this.loadElements()}else{this.app.notice(this.app.lp.groupSave,"error",this.propertyContentNode)}}},addTopGroup:function(){var t=true;if(this.currentItem)t=this.currentItem.unSelected();if(t){var e={employee:"",password:"",display:"",qq:"",mail:"",weixin:"",weibo:"",mobile:"",name:""};var i=new MWF.xApplication.Organization.PersonExplorer.Person(e,this);i.load();i.selected();i.editBaseInfor();new Fx.Scroll(this.chartScrollNode).toElement(i.node)}else{this.app.notice(this.app.lp.groupSave,"error",this.propertyContentNode)}},deleteSelectedGroups:function(t){var e=this;this.app.confirm("infor",t,this.app.lp.deleteGroupsTitle,this.app.lp.deleteGroupsConfirm,300,120,function(){var t=[];var i=0;e.deleteGroups.each(function(s){s["delete"](function(){t.push(s);i++;if(e.deleteGroups.length==i){e.deleteGroups=e.deleteGroups.filter(function(e,i){return!t.contains(e)});e.checkDeleteGroups()}},function(){i++;if(e.deleteGroups.length==i){e.deleteGroups=e.deleteGroups.filter(function(e,i){return!t.contains(e)});e.checkDeleteGroups()}})});this.close()},function(){this.close()})}});MWF.xApplication.Organization.PersonExplorer.Person=new Class({Extends:MWF.xApplication.Organization.GroupExplorer.Group,initialize:function(t,e){this.data=t;this.explorer=e;this.chartNode=this.explorer.chartNode;this.initStyle();this.selectedAttributes=[];this.isEdit=false;this.deleteSelected=false},showItemProperty:function(){this.explorer.propertyTitleNode.set("text",this.data.name);this.showItemPropertyBase();this.showItemPropertyAttribute();this.showItemPropertyIdentity()},showItemPropertyBase:function(){this.propertyBaseNode=new Element("div",{styles:this.style.propertyInforNode}).inject(this.explorer.propertyContentNode);this.baseActionNode=new Element("div",{styles:this.style.propertyInforActionNode}).inject(this.propertyBaseNode);this.propertyBaseTextNode=new Element("div",{styles:this.style.propertyInforTextNode,text:this.explorer.app.lp.personBaseText}).inject(this.propertyBaseNode);this.createEditBaseNode();this.propertyBaseContentNode=new Element("div",{styles:this.style.propertyInforContentNode}).inject(this.propertyBaseNode);var t="<table cellspacing='0' cellpadding='0' border='0' width='95%' align='center'>";t+="<tr><td class='formTitle'>"+this.explorer.app.lp.personName+"</td><td id='formPersonName'></td></tr>";t+="<tr><td class='formTitle'>"+this.explorer.app.lp.personEmployee+"</td><td id='formPersonEmployee'></td></tr>";t+="<tr><td class='formTitle'>"+this.explorer.app.lp.personDisplay+"</td><td id='formPersonDisplay'></td></tr>";t+="<tr><td class='formTitle'>"+this.explorer.app.lp.personMobile+"</td><td id='formPersonMobile'></td></tr>";t+="<tr><td class='formTitle'>"+this.explorer.app.lp.personMail+"</td><td id='formPersonMail'></td></tr>";t+="<tr><td class='formTitle'>"+this.explorer.app.lp.personQQ+"</td><td id='formPersonQQ'></td></tr>";t+="<tr><td class='formTitle'>"+this.explorer.app.lp.personWeixin+"</td><td id='formPersonWeixin'></td></tr>";t+="<tr><td class='formTitle'>"+this.explorer.app.lp.personWeibo+"</td><td id='formPersonWeibo'></td></tr>";t+="</table>";this.propertyBaseContentNode.set("html",t);this.propertyBaseContentNode.getElements("td.formTitle").setStyles(this.style.propertyBaseContentTdTitle);this.personNameInput=new MWF.xApplication.Organization.GroupExplorer.Input(this.propertyBaseContentNode.getElement("#formPersonName"),this.data.name,this.explorer.css.formInput);this.personEmployeeInput=new MWF.xApplication.Organization.GroupExplorer.Input(this.propertyBaseContentNode.getElement("#formPersonEmployee"),this.data.employee,this.explorer.css.formInput);this.personDisplayInput=new MWF.xApplication.Organization.GroupExplorer.Input(this.propertyBaseContentNode.getElement("#formPersonDisplay"),this.data.display,this.explorer.css.formInput);this.personMobileInput=new MWF.xApplication.Organization.GroupExplorer.Input(this.propertyBaseContentNode.getElement("#formPersonMobile"),this.data.mobile,this.explorer.css.formInput);this.personMailInput=new MWF.xApplication.Organization.GroupExplorer.Input(this.propertyBaseContentNode.getElement("#formPersonMail"),this.data.mail,this.explorer.css.formInput);this.personQQInput=new MWF.xApplication.Organization.GroupExplorer.Input(this.propertyBaseContentNode.getElement("#formPersonQQ"),this.data.qq,this.explorer.css.formInput);this.personWeixinInput=new MWF.xApplication.Organization.GroupExplorer.Input(this.propertyBaseContentNode.getElement("#formPersonWeixin"),this.data.weixin,this.explorer.css.formInput);this.personWeiboInput=new MWF.xApplication.Organization.GroupExplorer.Input(this.propertyBaseContentNode.getElement("#formPersonWeibo"),this.data.weibo,this.explorer.css.formInput)},editMode:function(){this.personNameInput.editMode();this.personEmployeeInput.editMode();this.personDisplayInput.editMode();this.personMobileInput.editMode();this.personMailInput.editMode();this.personQQInput.editMode();this.personWeixinInput.editMode();this.personWeiboInput.editMode();this.isEdit=true},readMode:function(){this.personNameInput.readMode();this.personEmployeeInput.readMode();this.personDisplayInput.readMode();this.personMobileInput.readMode();this.personMailInput.readMode();this.personQQInput.readMode();this.personWeixinInput.readMode();this.personWeiboInput.readMode();this.isEdit=false},saveBaseInfor:function(){if(!this.personNameInput.input.get("value")||!this.personEmployeeInput.input.get("value")){this.explorer.app.notice(this.explorer.app.lp.inputPersonInfor,"error",this.explorer.propertyContentNode);return false}if(this.personDisplayInput.input.get("value"))this.data.display=this.personNameInput.input.get("value");this.propertyBaseNode.mask({style:{opacity:.7,"background-color":"#999"}});this.save(function(){this.baseActionNode.empty();this.cancelBaseNode=null;this.saveBaseNode=null;this.createEditBaseNode();this.readMode();this.propertyBaseNode.unmask()}.bind(this),function(t,e,i){var s=i;if(t)s=t.responseText;this.explorer.app.notice("request json error: "+s,"error");this.propertyBaseNode.unmask()}.bind(this))},save:function(t,e){this.data.name=this.personNameInput.input.get("value");this.data.employee=this.personEmployeeInput.input.get("value");this.data.display=this.personDisplayInput.input.get("value");this.data.mobile=this.personMobileInput.input.get("value");this.data.mail=this.personMailInput.input.get("value");this.data.qq=this.personQQInput.input.get("value");this.data.weixin=this.personWeixinInput.input.get("value");this.data.weibo=this.personWeiboInput.input.get("value");this.explorer.actions.savePerson(this.data,function(e){this.textNode.set("text",this.data.name);this.data.id=e.data.id;this.personNameInput.save();this.personEmployeeInput.save();this.personDisplayInput.save();this.personMobileInput.save();this.personMailInput.save();this.personQQInput.save();this.personWeixinInput.save();this.personWeiboInput.save();if(t)t()}.bind(this),function(t,i,s){if(e)e(t,i,s)}.bind(this))},showItemPropertyAttribute:function(){this.propertyAttributeNode=new Element("div",{styles:this.style.propertyInforNode}).inject(this.explorer.propertyContentNode);this.attributeActionNode=new Element("div",{styles:this.style.propertyInforActionNode}).inject(this.propertyAttributeNode);this.propertyAttributeTextNode=new Element("div",{styles:this.style.propertyInforTextNode,text:this.explorer.app.lp.personAttributeText}).inject(this.propertyAttributeNode);this.propertyAttributeContentNode=new Element("div",{styles:this.style.propertyInforContentNode}).inject(this.propertyAttributeNode);this.createDeleteAttributeNode();this.createAddAttributeNode();this.listAttribute()},createAddAttributeNode:function(){this.addAttributeNode=new Element("button",{styles:this.style.addDutyNode,text:this.explorer.app.lp.add,events:{click:this.addAttribute.bind(this)}}).inject(this.attributeActionNode)},createDeleteAttributeNode:function(){this.deleteAttributeNode=new Element("button",{styles:this.style.deleteDutyNode_desable,text:this.explorer.app.lp["delete"],disable:true}).inject(this.attributeActionNode)},addAttribute:function(){var t=this.getNewAttributeData();new MWF.xApplication.Organization.PersonAttribute(this.propertyAttributeContentNode.getElement("table").getFirst(),t,this,this.explorer.css.map)},getNewAttributeData:function(){return{person:this.data.id,name:"",attributeList:[]}},checkDeleteAttributeAction:function(){if(this.selectedAttributes.length){if(this.deleteAttributeNode.get("disable")){this.deleteAttributeNode.set({styles:this.style.deleteDutyNode});this.deleteAttributeNode.removeProperty("disable");this.deleteAttributeNode.addEvent("click",function(t){this.deleteAttribute(t)}.bind(this))}}else{if(!this.deleteAttributeNode.get("disable")){this.deleteAttributeNode.set({styles:this.style.deleteDutyNode_desable,disable:true});this.deleteAttributeNode.removeEvents("click")}}},deleteAttribute:function(t){var e=this;this.explorer.app.confirm("infor",t,this.explorer.app.lp.deleteAttributeTitle,this.explorer.app.lp.deleteAttribute,300,120,function(){this.close();e.selectedAttributes.each(function(t){t.remove()});delete e.selectedAttributes;e.selectedAttribute=[];e.checkDeleteAttributeAction()},function(){this.close()})},listAttribute:function(){var t="<table cellspacing='0' cellpadding='5' border='0' width='95%' align='center' style='line-height:normal'>";t+="<tr><th style='width:20px'></th>";t+="<th style='width: 30%; border-right: 1px solid #FFF'>"+this.explorer.app.lp.attributeName+"</th>";t+="<th>"+this.explorer.app.lp.attributeValue+"</th><th style='width:20px'></th></tr>";t+="</table>";this.propertyAttributeContentNode.set("html",t);this.propertyAttributeContentNode.getElements("th").setStyles(this.style.propertyDutyContentTdTitle);if(this.data.id){this.explorer.actions.listPersonAttribute(function(t){t.data.each(function(t){new MWF.xApplication.Organization.PersonAttribute(this.propertyAttributeContentNode.getElement("table").getFirst(),t,this,this.explorer.css.map)}.bind(this))}.bind(this),null,this.data.id)}},showItemPropertyIdentity:function(){this.propertyIdentityNode=new Element("div",{styles:this.style.propertyInforNode}).inject(this.explorer.propertyContentNode);this.identityActionNode=new Element("div",{styles:this.style.propertyInforActionNode}).inject(this.propertyIdentityNode);this.propertyIdentityTextNode=new Element("div",{styles:this.style.propertyInforTextNode,text:this.explorer.app.lp.personIdentityText}).inject(this.propertyIdentityNode);this.propertyIdentityContentNode=new Element("div",{styles:this.style.propertyInforContentNode}).inject(this.propertyIdentityNode);this.listIdentity()},listIdentity:function(){if(this.data.id){this.explorer.actions.listIdentityByPerson(function(t){t.data.each(function(t){new MWF.xApplication.Organization.PersonExplorer.Identity(this.propertyIdentityContentNode,t,this,this.style)}.bind(this))}.bind(this),null,this.data.id)}},destroy:function(){this.explorer.currentItem=null;this.clearItemProperty();this.node.destroy();delete this},delete:function(t,e){this.explorer.actions.deleteRole(this.data.id,function(){this.destroy();if(t)t()}.bind(this),function(t,i,s){var n=s;if(t)n=t.responseText;MWF.xDesktop.notice("error",{x:"right",y:"top"},"request json error: "+n);if(e)e()})}});MWF.xApplication.Organization.PersonAttribute=new Class({Extends:MWF.xApplication.Organization.CompanyAttribute,saveValue:function(t){var e=this.data.attributeList;this.data.attributeList=t.split("/,s*/");this.item.explorer.actions.savePersonAttribute(this.data,function(t){this.data.id=t.data.id;this.valueNode.empty();this.valueInput=null;this.valueNode.set("text",this.data.attributeList.join(","))}.bind(this),function(t,i,s){this.data.attributeList=e;this.valueInput.focus();var n=s;if(t)n=t.responseText;this.item.explorer.app.notice("request json error: "+n,"error")}.bind(this))},save:function(t){var e=this.data.name;this.data.name=t;this.item.explorer.actions.savePersonAttribute(this.data,function(t){this.data.id=t.data.id;this.nameNode.empty();this.input=null;this.nameNode.set("text",this.data.name)}.bind(this),function(t,i,s){this.data.name=e;this.input.focus();var n=s;if(t)n=t.responseText;this.item.explorer.app.notice("request json error: "+n,"error")}.bind(this))},remove:function(){this.item.explorer.actions.deletePersonAttribute(this.data.id,function(){this.node.destroy();delete this}.bind(this))}});MWF.xApplication.Organization.PersonExplorer.Identity=new Class({initialize:function(t,e,i,s){this.container=$(t);this.data=e;this.style=s;this.item=i;this.load()},load:function(){this.node=new Element("div",{styles:this.style.identityNode}).inject(this.container);var t=new Element("div",{styles:this.style.identityInforNameNode}).inject(this.node);var e=new Element("div",{styles:this.style.identityInforPicNode,html:"<img width='50' height='50' border='0' src='"+"/x_component_Organization/$PersonExplorer/default/icon/head.png'></img>"}).inject(t);var i=new Element("div",{styles:this.style.identityInforNameTextNode,text:this.data.name}).inject(t);var s=new Element("div",{styles:this.style.identityDepartmentNode}).inject(this.node);var n=new Element("div",{styles:this.style.identityTitleNode,text:this.item.explorer.app.lp.department}).inject(s);this.departmentTextNode=new Element("div",{styles:this.style.identityTextNode}).inject(s);var o=new Element("div",{styles:this.style.identityCompanyNode}).inject(this.node);var r=new Element("div",{styles:this.style.identityTitleNode,text:this.item.explorer.app.lp.company}).inject(o);this.companyTextNode=new Element("div",{styles:this.style.identityTextNode}).inject(o);var p=new Element("div",{styles:this.style.identityDutyNode}).inject(this.node);var a=new Element("div",{styles:this.style.identityTitleNode,text:this.item.explorer.app.lp.duty}).inject(p);this.dutyTextNode=new Element("div",{styles:this.style.identityTextNode}).inject(p);this.item.explorer.actions.getDepartment(function(t){this.department=t.data;this.departmentTextNode.set({text:this.department.name,title:this.department.name});this.item.explorer.actions.getCompany(function(t){this.company=t.data;this.companyTextNode.set({text:this.company.name,text:this.company.name})}.bind(this),null,this.department.company)}.bind(this),null,this.data.department);this.item.explorer.actions.listCompanyDutyByIdentity(function(t){t.data.each(function(t){var e=this.dutyTextNode.get("text");if(e){e=e+", "+t.name}else{e=t.name}this.dutyTextNode.set({text:e,title:e})}.bind(this))}.bind(this),null,this.data.id);this.item.explorer.actions.listDepartmentDutyByIdentity(function(t){t.data.each(function(t){var e=this.dutyTextNode.get("text");if(e){e=e+", "+t.name}else{e=t.name}this.dutyTextNode.set({text:e,title:e})}.bind(this))}.bind(this),null,this.data.id)}});
|