| 1 |
- MWF.xDesktop.requireApp("Org","$Explorer",null,false);MWF.require("MWF.widget.O2Identity",null,false);MWF.xApplication.Org.PersonExplorer=new Class({Extends:MWF.xApplication.Org.$Explorer,Implements:[Options,Events],options:{style:"default"},_isActionManager:function(){return MWF.AC.isOrganizationManager()||MWF.AC.isPersonManager()||MWF.AC.isUnitManager()},_listElementNext:function(t,e,i){this.actions.listPersonNext(t||"(0)",e,function(t){if(i){i.apply(this,[t])}}.bind(this))},_newElement:function(t,e,i){return new MWF.xApplication.Org.PersonExplorer.Person(t,e,this.isEditor,i)},_listElementByKey:function(e,t,i){this.actions.listPersonByKey(function(t){if(e){e.apply(this,[t])}}.bind(this),t,i)},_getAddElementData:function(){return{genderType:"m",signature:"",description:"",unique:"",orderNumber:"",superior:"",officePhone:"",boardDate:"",birthday:"",employee:"",password:"",display:"",qq:"",mail:"",weixin:"",weibo:"",mobile:"",name:"",controllerList:[],woPersonAttributeList:[],woIdentityList:[],control:{allowEdit:true,allowDelete:true}}}});MWF.xApplication.Org.PersonExplorer.Person=new Class({Extends:MWF.xApplication.Org.$Explorer.Item,showItemProperty:function(){this.content=new MWF.xApplication.Org.PersonExplorer.PersonContent(this)},_loadTextNode:function(){var t="<div style='float:left; height:50px; overflow:hidden'>"+this.data.name+"</div>";t+="<div style='float: right; overflow:hidden; font-size: 12px; color: #aaaaaa;'>"+(this.data.mobile||"")+"</div>";this.textNode.set({html:t})},delete:function(t,s){this.explorer.actions.deletePerson(this.data.id,function(){this.destroy();if(t)t()}.bind(this),function(t,e,i){var n=i;if(t)n=t.responseText;MWF.xDesktop.notice("error",{x:"right",y:"top"},"request json error: "+n);if(s)s()})},_getIcon:function(t){var e=this.data.id?this.explorer.actions.getPersonIcon(this.data.id):"/x_component_Org/$Explorer/default/icon/man.png";return t?e+"?"+(new Date).getTime():e}});MWF.xApplication.Org.PersonExplorer.PersonContent=new Class({Extends:MWF.xApplication.Org.$Explorer.ItemContent,_getData:function(e){if(this.item.data.id){this.explorer.actions.getPerson(function(t){this.data=t.data;this.item.data=t.data;if(e)e()}.bind(this),null,this.item.data.id)}else{this.data=this.item.data;if(e)e()}},edit:function(){if(this.baseInfor)this.baseInfor.edit()},_showItemPropertyTitle:function(){this.titleInfor=new MWF.xApplication.Org.PersonExplorer.PersonContent.TitleInfor(this)},_showItemPropertyBottom:function(){this.bottomInfor=new MWF.xApplication.Org.PersonExplorer.PersonContent.BottomInfor(this)},_loadTabs:function(){this.baseContentNode=new Element("div",{styles:this.item.style.tabContentNode});this.basePage=this.propertyTab.addTab(this.baseContentNode,this.explorer.app.lp.personBaseText);this.attributeContentNode=new Element("div",{styles:this.item.style.tabContentNode});this.attributePage=this.propertyTab.addTab(this.attributeContentNode,this.explorer.app.lp.personAttributeText);this.identityContentNode=new Element("div",{styles:this.item.style.tabContentNode});this.identityPage=this.propertyTab.addTab(this.identityContentNode,this.explorer.app.lp.personIdentityText)},_loadContent:function(){this._listBaseInfor();this._listAttribute();this._listIdentity();this.loadListCount()},loadListCount:function(){if(this.data.woIdentityList){var t=this.data.woIdentityList.length;if(t){if(!this.identityCountNode){this.identityCountNode=new Element("div",{styles:this.item.style.tabCountNode,text:t}).inject(this.identityPage.tabNode)}else{this.identityCountNode.set("text",t)}}else{if(this.identityCountNode)this.identityCountNode.destroy()}}if(this.data.woPersonAttributeList){var e=this.data.woPersonAttributeList.length;if(e){if(!this.attributeCountNode){this.attributeCountNode=new Element("div",{styles:this.item.style.tabCountNode,text:e}).inject(this.attributePage.tabNode)}else{this.attributeCountNode.set("text",e)}}else{if(this.attributeCountNode)this.attributeCountNode.destroy()}}},_listBaseInfor:function(){this.baseInfor=new MWF.xApplication.Org.PersonExplorer.PersonContent.BaseInfor(this)},_listAttribute:function(){this.attributeList=new MWF.xApplication.Org.List(this.attributeContentNode,this,{action:this.data.control.allowEdit,data:{person:this.data.id,name:"",unique:"",orderNumber:"",attributeList:[],description:""},attr:["name",{get:function(){return this.attributeList.join(",")},set:function(t){this.attributeList=t.split(/,\s*/g)}},"description"],onPostSave:function(t,e){if(!t.data.id){t.data.id=e;this.data.woPersonAttributeList.push(t.data)}this.loadListCount()}.bind(this),onPostDelete:function(t){if(this.attributeCountNode){var e=this.attributeCountNode.get("text").toInt()-t;this.attributeCountNode.set("text",e)}}.bind(this)});this.attributeList.load([{style:"width: 20%",text:this.explorer.app.lp.attributeName},{style:"",text:this.explorer.app.lp.attributeValue},{style:"",text:this.explorer.app.lp.description}]);this.data.woPersonAttributeList.each(function(t){this.attributeList.push(t)}.bind(this))},_listIdentity:function(){var t=this;this.identityList=new MWF.xApplication.Org.List(this.identityContentNode,this,{action:false,canEdit:false,saveAction:"saveIdentity",data:{person:this.data.id,name:"",attributeList:[]},attr:["name",{get:function(){return""},events:{init:function(){var t=this.td;new MWF.widget.O2Unit(this.data.woUnit,t,{style:"xform"})}}},{get:function(){return this.distinguishedName},set:function(t){this.distinguishedName=t}},{get:function(){return""},events:{init:function(){var e=this.td;if(this.data.woUnitDutyList){this.data.woUnitDutyList.each(function(t){new MWF.widget.O2Duty(t,e,{style:"xform"})}.bind(this))}}}},{get:function(){if(t.data.control.allowEdit){return"<div style='width:24px; height:24px; cursor: pointer; background:url(/x_component_Org/$Explorer/"+t.explorer.app.options.style+"/icon/edit.png) center center no-repeat'></div>"}return""},events:{click:function(){if(t.data.control.allowEdit){t.editIdentity(this.data,this.td,this.item)}}}}]});this.identityList.load([{style:"width: 14%",text:this.explorer.app.lp.IdentityName},{style:"width: 14%",text:this.explorer.app.lp.IdentityInUnit},{style:"width: 50%",text:this.explorer.app.lp.personUnique},{style:"width: 20%",text:this.explorer.app.lp.IdentityDuty},{style:"width: 30px",text:""}]);this.data.woIdentityList.each(function(t){this.identityList.push(t)}.bind(this))},editIdentity:function(n,t,s){var o=this;var a=t.getPosition(this.explorer.app.content);var r=700;var d=170;var e=this.explorer.app.content.getSize();var l=(e.x-r)/2;var p=(e.y-d)/2;if(l<0)l=0;if(p<20)p=20;MWF.require("MWF.xDesktop.Dialog",function(){var t=new MWF.xDesktop.Dialog({title:this.explorer.app.lp.modifyIdentity,style:"org",top:p-20,left:l,fromTop:a.y-20,fromLeft:a.x,width:r,height:d,html:"<div></div>",maskNode:this.explorer.app.content,container:this.explorer.app.content,buttonList:[{text:MWF.LP.process.button.ok,action:function(){o.saveIdentity(t,n,s);this.close()}},{text:MWF.LP.process.button.cancel,action:function(){this.close()}}]});t.show();var e=t.content.getFirst();var i="<table width='90%' cellpadding='0px' cellspacing='5px' align='center' style='margin-top:10px'>"+"<tr><th width='30%'>"+this.explorer.app.lp.IdentityName+"</th><th>"+this.explorer.app.lp.personUnique+"</th></tr>"+"<tr><td style='text-align: center'><input value='"+n.name+"' type='type' style='padding: 0px 3px; width: 95%; border: 1px solid #cccccc; height: 24px; border-radius: 3px; line-height: 24px;'/></td>"+"<td style='text-align: center'><input value='"+n.unique+"' type='type' style='padding: 0px 3px; width: 95%; border: 1px solid #cccccc; height: 24px; border-radius: 3px; line-height: 24px;'/></td></tr></table>";e.set("html",i)}.bind(this))},saveIdentity:function(t,e,i){var n=t.content.getFirst();var s=n.getElements("input");var o=s[0].get("value");var a=s[1].get("value");debugger;if(e.name!==o||e.unique!==a){if(o)e.name=o;e.unique=a;this.explorer.actions.saveIdentity(e,function(t){this.explorer.actions.getIdentity(function(t){e=t.data;i.reload(t.data)}.bind(this),null,t.data.id)}.bind(this))}}});MWF.xApplication.Org.PersonExplorer.PersonContent.TitleInfor=new Class({Extends:MWF.xApplication.Org.$Explorer.ItemContent.TitleInfor,loadAction:function(){if(this.data.control.allowEdit){this.iconNode.setStyle("cursor","pointer");this.iconNode.addEvent("click",function(){this.changePersonIcon()}.bind(this))}},changePersonIcon:function(){var t={};var e="668";var i="510";e=e.toInt();i=i.toInt();var n=this.explorer.app.content.getSize();var s=(n.x-e)/2;var o=(n.y-i)/2;if(s<0)s=0;if(o<0)o=0;if(layout.mobile){s=20;o=0}var a=this;MWF.require("MWF.xDesktop.Dialog",function(){MWF.require("MWF.widget.ImageClipper",function(){var t=new MWF.xDesktop.Dialog({title:this.explorer.app.lp.changePersonIcon,style:"image",top:o,left:s-20,fromTop:o,fromLeft:s-20,width:e,height:i,html:"<div></div>",maskNode:this.explorer.app.content,container:this.explorer.app.content,buttonList:[{text:MWF.LP.process.button.ok,action:function(){a.uploadPersonIcon();this.close()}},{text:MWF.LP.process.button.cancel,action:function(){a.image=null;this.close()}}]});t.show();this.image=new MWF.widget.ImageClipper(t.content.getFirst(),{aspectRatio:1,description:"",imageUrl:this._getIcon(true),resetEnable:false});this.image.load()}.bind(this))}.bind(this))},uploadPersonIcon:function(){if(this.image){if(this.image.getResizedImage()){this.explorer.actions.changePersonIcon(this.data.id,function(){this.iconNode.set("src","");if(this.item.iconNode)this.item.iconNode.getElement("img").set("src","");window.setTimeout(function(){this.iconNode.set("src",this._getIcon(true));if(this.item.iconNode)this.item.iconNode.getElement("img").set("src",this.item._getIcon(true))}.bind(this),100)}.bind(this),null,this.image.getFormData(),this.image.resizedImage)}}}});MWF.xApplication.Org.PersonExplorer.PersonContent.BottomInfor=new Class({Extends:MWF.xApplication.Org.$Explorer.ItemContent.BottomInfor,addInforList:function(){var t=this.explorer.app.lp.personReadDn.replace(/{dn}/g,this.data.distinguishedName||" ");this.addInfor(t);t=this.explorer.app.lp.personReadCreate.replace(/{date}/g,this.data.createTime||" ");t=t.replace(/{date2}/g,this.data.updateTime||" ");this.addInfor(t);t=this.explorer.app.lp.personReadLogin.replace(/{date}/g,this.data.lastLoginTime||" ");t=t.replace(/{ip}/g,this.data.lastLoginAddress||" ");t=t.replace(/{client}/g,this.data.lastLoginClient||" ");this.addInfor(t);t=this.explorer.app.lp.personReadPassword.replace(/{date}/g,this.data.passwordExpiredTime||" ");t=t.replace(/{date2}/g,this.data.changePasswordTime||" ");this.addInfor(t)}});MWF.xApplication.Org.PersonExplorer.PersonContent.BaseInfor=new Class({initialize:function(t){this.content=t;this.item=t.item;this.data=this.content.data;this.explorer=this.item.explorer;this.contentNode=this.content.baseContentNode;this.style=this.item.style.person;this.attributes=[];this.mode="read";this.load()},load:function(){this.node=new Element("div",{styles:this.style.baseContentNode}).inject(this.contentNode);this.editContentNode=new Element("div",{styles:this.style.baseEditNode}).inject(this.node);this.editContentNode.set("html",this.getContentHtml());this.editContentNode.getElements("td.inforTitle").setStyles(this.style.baseInforTitleNode);this.editContentNode.getElements("td.inforContent").setStyles(this.style.baseInforContentNode);this.editContentNode.getElements("td.inforAction").setStyles(this.style.baseInforActionNode);var t=this.editContentNode.getElements("td.inforContent");if(this.data.superior)new MWF.widget.O2Person({name:this.data.superior},t[5],{style:"xform"});this.loadAction()},getContentHtml:function(){var t="<table width='100%' cellpadding='3px' cellspacing='5px'>";t+="<tr><td class='inforTitle'>"+this.explorer.app.lp.personName+":</td><td class='inforContent'>"+(this.data.name||"")+"</td>"+"<td class='inforTitle'>"+this.explorer.app.lp.personEmployee+":</td><td class='inforContent'>"+(this.data.employee||"")+"</td></tr>";t+="<tr><td class='inforTitle'>"+this.explorer.app.lp.personMobile+":</td><td class='inforContent'>"+(this.data.mobile||"")+"</td>"+"<td class='inforTitle'>"+this.explorer.app.lp.personUnique+":</td><td class='inforContent'>"+(this.data.unique||"")+"</td></tr>";t+="<tr><td class='inforTitle'>"+this.explorer.app.lp.personGender+":</td><td class='inforContent'>"+this.getGenderType()+"</td>"+"<td class='inforTitle'>"+this.explorer.app.lp.personSuperior+":</td><td class='inforContent'>"+"</td></tr>";t+="<tr><td class='inforTitle'>"+this.explorer.app.lp.personMail+":</td><td class='inforContent'>"+(this.data.mail||"")+"</td>"+"<td class='inforTitle'>"+this.explorer.app.lp.personWeixin+":</td><td class='inforContent'>"+(this.data.weixin||"")+"</td></tr>";t+="<tr><td class='inforTitle'>"+this.explorer.app.lp.personQQ+":</td><td class='inforContent'>"+(this.data.qq||"")+"</td>"+"<td class='inforTitle'>"+this.explorer.app.lp.personOfficePhone+":</td><td class='inforContent'>"+(this.data.officePhone||"")+"</td></tr>";t+="<tr><td class='inforTitle'>"+this.explorer.app.lp.personBoardDate+":</td><td class='inforContent'>"+(this.data.boardDate||"")+"</td>"+"<td class='inforTitle'>"+this.explorer.app.lp.personBirthday+":</td><td class='inforContent'>"+(this.data.birthday||"")+"</td></tr>";t+="<tr><td colspan='4' class='inforAction'></td></tr>";return t},loadAction:function(){var t=this.editContentNode.getElements("td");var e=t[t.length-1];if(this.data.control.allowEdit){this.baseInforEditActionAreaNode=new Element("div",{styles:this.style.baseInforEditActionAreaNode}).inject(e);this.editNode=new Element("div",{styles:this.style.actionEditNode,text:this.explorer.app.lp.editPerson}).inject(this.baseInforEditActionAreaNode);this.saveNode=new Element("div",{styles:this.style.actionSaveNode,text:this.explorer.app.lp.savePerson}).inject(this.baseInforEditActionAreaNode);this.cancelNode=new Element("div",{styles:this.style.actionCancelNode,text:this.explorer.app.lp.cancel}).inject(this.baseInforEditActionAreaNode);this.editNode.setStyle("display","block");this.editNode.addEvent("click",this.edit.bind(this));this.saveNode.addEvent("click",this.save.bind(this));this.cancelNode.addEvent("click",this.cancel.bind(this))}else{}},edit:function(){var t=this.editContentNode.getElements("td.inforContent");t[0].setStyles(this.style.baseInforContentNode_edit).empty();this.nameInputNode=new Element("input",{styles:this.style.inputNode}).inject(t[0]);this.nameInputNode.set("value",this.data.name);t[1].setStyles(this.style.baseInforContentNode_edit).empty();this.employeeInputNode=new Element("input",{styles:this.style.inputNode}).inject(t[1]);this.employeeInputNode.set("value",this.data.employee);t[2].setStyles(this.style.baseInforContentNode_edit).empty();this.mobileInputNode=new Element("input",{styles:this.style.inputNode}).inject(t[2]);this.mobileInputNode.set("value",this.data.mobile);t[3].setStyles(this.style.baseInforContentNode_edit).empty();this.uniqueInputNode=new Element("input",{styles:this.style.inputNode}).inject(t[3]);this.uniqueInputNode.set("value",this.data.unique);t[4].setStyles(this.style.baseInforContentNode_edit).empty();var e='<input name="personGenderRadioNode" value="m" type="radio" '+(this.data.genderType==="m"?"checked":"")+"/>"+this.explorer.app.lp.man;e+='<input name="personGenderRadioNode" value="f" type="radio" '+(this.data.genderType==="f"?"checked":"")+"/>"+this.explorer.app.lp.female;e+='<input name="personGenderRadioNode" value="o" type="radio" '+(this.data.genderType==="d"?"checked":"")+"/>"+this.explorer.app.lp.other;t[4].set("html",e);t[5].setStyles(this.style.baseInforContentNode_edit).empty();this.superiorInputNode=new Element("div",{styles:this.style.inputNode_person}).inject(t[5]);if(this.data.superior)new MWF.widget.O2Person({name:this.data.superior},this.superiorInputNode,{style:"xform"});this.superiorInputNode.addEvent("click",function(){MWF.xDesktop.requireApp("Selector","package",function(){var t={type:"person",values:[this.data.superior],count:1,onComplete:function(t){this.data.superior=t[0].data.distinguishedName;this.superiorInputNode.empty();new MWF.widget.O2Person(t[0].data,this.superiorInputNode,{style:"xform"})}.bind(this)};var e=new MWF.O2Selector(this.explorer.app.content,t)}.bind(this))}.bind(this));t[6].setStyles(this.style.baseInforContentNode_edit).empty();this.mailInputNode=new Element("input",{styles:this.style.inputNode}).inject(t[6]);this.mailInputNode.set("value",this.data.mail);t[7].setStyles(this.style.baseInforContentNode_edit).empty();this.weixinInputNode=new Element("input",{styles:this.style.inputNode}).inject(t[7]);this.weixinInputNode.set("value",this.data.weixin);t[8].setStyles(this.style.baseInforContentNode_edit).empty();this.qqInputNode=new Element("input",{styles:this.style.inputNode}).inject(t[8]);this.qqInputNode.set("value",this.data.qq);t[9].setStyles(this.style.baseInforContentNode_edit).empty();this.officePhoneInputNode=new Element("input",{styles:this.style.inputNode}).inject(t[9]);this.officePhoneInputNode.set("value",this.data.officePhone);t[10].setStyles(this.style.baseInforContentNode_edit).empty();this.boardDateInputNode=new Element("input",{styles:this.style.inputNode_calendar,readonly:true}).inject(t[10]);this.boardDateInputNode.set("value",this.data.boardDate);MWF.require("MWF.widget.Calendar",function(){var t=new MWF.widget.Calendar(this.boardDateInputNode,{style:"xform",isTime:false,target:this.explorer.app.content,format:"%Y-%m-%d"})}.bind(this));t[11].setStyles(this.style.baseInforContentNode_edit).empty();this.birthdayInputNode=new Element("input",{styles:this.style.inputNode_calendar,readonly:true}).inject(t[11]);this.birthdayInputNode.set("value",this.data.birthday);MWF.require("MWF.widget.Calendar",function(){var t=new MWF.widget.Calendar(this.birthdayInputNode,{style:"xform",isTime:false,target:this.explorer.app.content,format:"%Y-%m-%d"})}.bind(this));var i=this;this.editContentNode.getElements("input").addEvents({focus:function(){if(this.get("type").toLowerCase()==="text"){this.setStyles(i.style.inputNode_focus)}},blur:function(){if(this.get("type").toLowerCase()==="text"){this.setStyles(i.style.inputNode_blur)}}});this.mode="edit";this.editNode.setStyle("display","none");this.saveNode.setStyle("display","block");this.cancelNode.setStyle("display","block")},save:function(){var t=this.editContentNode.getElements("td.inforContent");var e="";var i=t[4].getElements("input");for(var n=0;n<i.length;n++){if(i[n].checked){e=i[n].value;break}}if(!this.nameInputNode.get("value")||!this.employeeInputNode.get("value")||!this.mobileInputNode.get("value")||!e){this.explorer.app.notice(this.explorer.app.lp.inputPersonInfor,"error",this.explorer.propertyContentNode);return false}if(!this.uniqueInputNode.get("value"))this.data.unique=this.employeeInputNode.get("value");this.content.propertyContentScrollNode.mask({style:{opacity:.7,"background-color":"#999"}});this.savePerson(function(){this.cancel();this.content.propertyContentScrollNode.unmask()}.bind(this),function(t,e,i){var n=i;if(t){var s=JSON.decode(t.responseText);if(s){n=s.message.trim()||"request json error"}else{n="request json error: "+t.responseText}}MWF.xDesktop.notice("error",{x:"right",y:"top"},n);this.content.propertyContentScrollNode.unmask()}.bind(this))},savePerson:function(e,n){var i=Object.clone(this.data);i.name=this.nameInputNode.get("value");i.employee=this.employeeInputNode.get("value");i.mobile=this.mobileInputNode.get("value");i.unique=this.uniqueInputNode.get("value");i.mail=this.mailInputNode.get("value");i.weixin=this.weixinInputNode.get("value");i.qq=this.qqInputNode.get("value");i.officePhone=this.officePhoneInputNode.get("value");i.boardDate=this.boardDateInputNode.get("value");i.birthday=this.birthdayInputNode.get("value");var t=this.editContentNode.getElements("td.inforContent");var s=t[4].getElements("input");for(var o=0;o<s.length;o++){if(s[o].checked){i.genderType=s[o].value;break}}this.explorer.actions.savePerson(i,function(t){Object.merge(this.data,i);if(this.data.id){this.data.id=t.data.id;this.item.refresh();if(e)e()}else{this.explorer.actions.getPerson(function(t){this.data=Object.merge(this.data,t.data);this.item.data=this.data;this.item.refresh();if(e)e()}.bind(this),null,t.data.id)}}.bind(this),function(t,e,i){if(n)n(t,e,i)}.bind(this))},cancel:function(){if(this.data.id){var t=this.editContentNode.getElements("td.inforContent");t[0].setStyles(this.style.baseInforContentNode).set("html",this.data.name||"");t[1].setStyles(this.style.baseInforContentNode).set("html",this.data.employee||"");t[2].setStyles(this.style.baseInforContentNode).set("html",this.data.mobile||"");t[3].setStyles(this.style.baseInforContentNode).set("html",this.data.unique||"");t[4].setStyles(this.style.baseInforContentNode).set("html",this.getGenderType());t[5].setStyles(this.style.baseInforContentNode).set("html","");if(this.data.superior)new MWF.widget.O2Person({name:this.data.superior},t[5],{style:"xform"});t[6].setStyles(this.style.baseInforContentNode).set("html",this.data.mail||"");t[7].setStyles(this.style.baseInforContentNode).set("html",this.data.weixin||"");t[8].setStyles(this.style.baseInforContentNode).set("html",this.data.qq||"");t[9].setStyles(this.style.baseInforContentNode).set("html",this.data.officePhone||"");t[10].setStyles(this.style.baseInforContentNode).set("html",this.data.boardDate||"");t[11].setStyles(this.style.baseInforContentNode).set("html",this.data.birthday||"");this.mode="read";this.editNode.setStyle("display","block");this.saveNode.setStyle("display","none");this.cancelNode.setStyle("display","none")}else{this.item.destroy()}},getGenderType:function(){var t="";if(this.data.genderType){switch(this.data.genderType){case"m":t=this.explorer.app.lp.man;break;case"f":t=this.explorer.app.lp.female;break;default:t=this.explorer.app.lp.other}}return t},destroy:function(){this.node.empty();this.node.destroy();MWF.release(this)},_getIcon:function(t){var e=this.data.id?this.explorer.actions.getPersonIcon(this.data.id):"/x_component_Org/$Explorer/default/icon/man.png";return t?e+"?"+(new Date).getTime():e}});
|