WorkForm.min.js 11 KB

1
  1. MWF.xApplication.Execution=MWF.xApplication.Execution||{};MWF.xDesktop.requireApp("Template","Explorer",null,false);MWF.xDesktop.requireApp("Template","MForm",null,false);MWF.xDesktop.requireApp("Execution","Attachment",null,false);MWF.xApplication.Execution.WorkForm=new Class({Extends:MWF.xApplication.Template.Explorer.PopupForm,Implements:[Options,Events],options:{style:"default",width:"800",height:"100%",top:0,left:0,hasTop:true,hasIcon:false,hasBottom:true,title:"",draggable:false,closeAction:true},initialize:function(t,e,i,s){this.setOptions(s);this.explorer=t;this.app=t.app;this.lp=this.app.lp.workForm;this.actions=this.app.restActions;this.path="/x_component_Execution/$WorkForm/";this.cssPath=this.path+this.options.style+"/css.wcss";this._loadCss();this.options.title=this.lp.title;this.data=i||{};this.actions=e},load:function(){if(this.options.isNew){if(this.options.parentWorkId){this.actions.getBaseWorkInfo(this.options.parentWorkId,function(t){if(t.data){this.parentWorkData=t.data}}.bind(this),function(t,e,i){this.showErrorMessage(t,e,i)}.bind(this),false)}else if(this.options.centerWorkId){this.data.centerId=this.options.centerWorkId}else if(this.data.centerWorkId){this.data.centerId=this.data.centerWorkId}}else{if(this.data.id){this.id=this.data.id}else if(this.options.id){this.id=this.options.id}this.actions.getBaseWorkInfo(this.id,function(t){if(t.data){this.data=t.data}}.bind(this),function(t,e,i){this.showErrorMessage(t,e,i)}.bind(this),false)}if(this.options.isNew){this.create()}else if(this.options.isEdited){this.edit()}else{this.open()}},createTopNode:function(){if(!this.formTopNode){this.formTopNode=new Element("div.formTopNode",{styles:this.css.formTopNode}).inject(this.formNode);this.formTopIconNode=new Element("div",{styles:this.css.formTopIconNode}).inject(this.formTopNode);this.formTopTextNode=new Element("div",{styles:this.css.formTopTextNode,text:this.options.title+(this.data.title?"-"+this.data.title:"")}).inject(this.formTopNode);if(this.options.closeAction){this.formTopCloseActionNode=new Element("div",{styles:this.css.formTopCloseActionNode}).inject(this.formTopNode);this.formTopCloseActionNode.addEvent("click",function(){this.close()}.bind(this))}this.formTopContentNode=new Element("div",{styles:this.css.formTopContentNode}).inject(this.formTopNode);this._createTopContent()}},_createTopContent:function(){},_createTableContent:function(){var t="<table width='100%' bordr='0' cellpadding='5' cellspacing='0' styles='formTable'>"+"<tr>"+" <td styles='formTableTitle' lable='timeLimit'></td>"+" <td styles='formTableValue' item='timeLimit'></td>"+" <td styles='formTableTitle' lable='reportCycle'></td>"+" <td styles='formTableValue'><span item='reportCycle'></span><span item='reportDay'></span></td>"+"</tr><tr>"+" <td styles='formTableTitle' lable='dutyDepartment'></td>"+" <td styles='formTableValue' item='dutyDepartment'></td>"+" <td styles='formTableTitle' lable='dutyPerson'></td>"+" <td styles='formTableValue' item='dutyPerson'></td>"+"</tr><tr>"+" <td styles='formTableTitle' lable='secondDepartment'></td>"+" <td styles='formTableValue' item='secondDepartment'></td>"+" <td styles='formTableTitle' lable='secondPerson'></td>"+" <td styles='formTableValue' item='secondPerson'></td>"+"</tr><tr>"+" <td styles='formTableTitle' lable='readReader'></td>"+" <td styles='formTableValue' item='readReader' colspan='3'></td>"+"</tr><tr>"+" <td styles='formTableValue' colspan='4'>"+" <div styles='formTableTitleDiv' lable='workSplitAndDescription'></div>"+" <div styles='formTableValueDiv' item='workSplitAndDescription'></div>"+" </td>"+"</tr><tr>"+" <td styles='formTableValue' colspan='4'>"+" <div styles='formTableTitleDiv' lable='specificActionInitiatives'></div>"+" <div styles='formTableValueDiv' item='specificActionInitiatives'></div>"+" </td>"+"</tr><tr>"+"</tr><tr>"+" <td styles='formTableValue' colspan='4'>"+" <div styles='formTableTitleDiv' lable='milestoneMark'></div>"+" <div styles='formTableValueDiv' item='milestoneMark'></div>"+" </td>"+"</tr><tr>"+" <td styles='formTableValue' colspan='4'>"+" <div styles='formTableValueDiv' item='attachments'></div>"+" </td>"+"</tr>"+"</table>";this.formTableArea.set("html",t);this.loadForm()},loadForm:function(){if(this.parentWorkData){this.data.parentWorkId=this.parentWorkData.id;this.data.workDetail=this.parentWorkData.workDetail;this.data.centerId=this.parentWorkData.centerId}this.form=new MForm(this.formTableArea,this.data,{style:"execution",isEdited:this.isEdited||this.isNew,itemTemplate:this.getItemTemplate(this.lp)},this.app);this.form.load();var t=this.formTableArea.getElements("textarea");t.setStyles({height:"70px"});this.attachmentArea=this.formTableArea.getElement("[item='attachments']");this.loadAttachment(this.attachmentArea)},getItemTemplate:function(t){_self=this;return{workType:{text:t.workType+":",type:"select",notEmpty:true,selectValue:t.workTypeValue.split(",")},workLevel:{text:t.workLevel+":",type:"select",notEmpty:true,selectValue:t.workLevelValue.split(",")},timeLimit:{text:t.timeLimit+":",tType:"date",name:"completeDateLimitStr",notEmpty:true},reportCycle:{text:t.reportCycle+":",type:"select",notEmpty:true,selectText:t.reportCycleText.split(","),className:"inputSelectUnformatWidth",event:{change:function(e,i){if(e.get("value")==t.reportCycleText.split(",")[0]){this.form.getItem("reportDay").resetItemOptions(t.weekDayValue.split(","),t.weekDayText.split(","))}else if(e.get("value")==t.reportCycleText.split(",")[1]){this.form.getItem("reportDay").resetItemOptions(t.monthDayValue.split(","),t.monthDayText.split(","))}}.bind(this)}},reportDay:{type:"select",name:"reportDayInCycle",notEmpty:true,selectValue:!this.data.reportCycle||this.data.reportCycle==t.reportCycleText.split(",")[0]?t.weekDayValue.split(","):t.monthDayValue.split(","),selectText:!this.data.reportCycle||this.data.reportCycle==t.reportCycleText.split(",")[0]?t.weekDayText.split(","):t.monthDayText.split(","),className:"inputSelectUnformatWidth"},dutyDepartment:{text:t.dutyDepartment+":",tType:"department",name:"responsibilityOrganizationName",notEmpty:true,event:{change:function(t){var e=t.getValue();if(e){_self.getDepartmentLeader(e,function(t){_self.form.getItem("dutyPerson").setValue(t)})}}}},dutyPerson:{text:t.dutyPerson+":",tType:"identity",count:1,name:"responsibilityIdentity",notEmpty:true,onQuerySelect:function(t){var e=this.form.getItem("dutyDepartment").getValue();t.options.departments=e?[e]:[]}.bind(this)},secondDepartment:{text:t.secondDepartment+":",tType:"department",name:"cooperateOrganizationName",count:0,event:{change:function(t){var e=t.getValue();if(e){var i=e.split(",");var s="";for(var o=0;o<i.length;o++){if(i[o]!=""){_self.getDepartmentLeader(i[o],function(t){if(s=="")s=t;else s=s+","+t})}}_self.form.getItem("secondPerson").setValue(s)}}}},secondPerson:{text:t.secondPerson+":",tType:"identity",name:"cooperateIdentity",count:0},readReader:{text:t.readReader+":",tType:"identity",name:"readLeaderIdentity",count:0},subject:{text:t.subject+":",name:"title",notEmpty:true},workSplitAndDescription:{text:t.workSplitAndDescription+":",type:"textarea",name:"workDetail",notEmpty:true},specificActionInitiatives:{text:t.specificActionInitiatives+":",type:"textarea",name:"progressAction"},cityCompanyDuty:{text:t.cityCompanyDuty+":",type:"textarea",name:"dutyDescription"},milestoneMark:{text:t.milestoneMark+":",type:"textarea",name:"landmarkDescription"},importantMatters:{text:t.importantMatters+":",type:"textarea",name:"majorIssuesDescription"}}},loadAttachment:function(t){this.attachment=new MWF.xApplication.Execution.Attachment(t,this.app,this.actions,this.app.lp,{documentId:this.data.id,isNew:this.options.isNew,isEdited:this.options.isEdited,onQueryUploadAttachment:function(){this.attachment.isQueryUploadSuccess=true;if(!this.data.id||this.data.id==""){var t=this.form.getResult(true,",",true,false,true);if(!t){this.attachment.isQueryUploadSuccess=false;return}if(this.options.isNew){t.centerId=this.options.centerWorkId||this.data.centerWorkId||this.data.centerId}this.app.restActions.saveTask(t,function(t){if(t.type&&t.type=="success"){if(t.data.id){this.attachment.options.documentId=t.data.id;this.data.id=t.data.id}}}.bind(this),function(t,e,i){this.showErrorMessage(t,e,i)}.bind(this),false)}}.bind(this)});this.attachment.load()},_createBottomContent:function(){this.cancelActionNode=new Element("div.formCancelActionNode",{styles:this.css.formCancelActionNode,text:this.app.lp.cancel}).inject(this.formBottomNode);this.cancelActionNode.addEvent("click",function(t){this.cancel(t)}.bind(this));if((this.isNew||this.isEdited)&&this.options.actionStatus=="save"){this.okActionNode=new Element("div.formOkActionNode",{styles:this.css.formOkActionNode,text:this.app.lp.ok}).inject(this.formBottomNode);this.okActionNode.addEvent("click",function(t){this.ok(t)}.bind(this))}if(this.options.actionStatus=="deploy"){this.deployActionNode=new Element("div.formDeployActionNode",{styles:this.css.formOkActionNode,text:this.app.lp.deploy}).inject(this.formBottomNode).addEvent("click",function(){this.deploy()}.bind(this))}},deploy:function(){var t=this.form.getResult(true,",",true,false,true);if(t){t.title=t.workDetail;t.deployerName=this.app.user;t.creatorName=this.app.user;t.centerId=this.data.centerId;this.app.restActions.saveTask(t,function(t){if(t.type&&t.type=="success"){if(t.data.id){var e=[];e.push(t.data.id);var i={workIds:e};this.actions.deployBaseWork(i,function(t){if(t.type&&t.type=="success"){this.app.notice(this.app.lp.WorkDeploy.deployeSuccess,"ok");this.close()}this.fireEvent("postDeploy",t)}.bind(this),function(t,e,i){var s=e;if(t)errorMessage=t.responseText;var o=JSON.parse(errorMessage);if(o.message){this.app.notice(o.message,"error")}else{this.app.notice(s,"error")}}.bind(this))}}}.bind(this))}},_ok:function(t,e){this.app.restActions.saveTask(t,function(t){if(t.type&&t.type=="success"){this.app.notice(this.lp.submitSuccess,"ok");if(this.options.tabLocation){if(this.app.workTask)this.app.workTask.loadBaseWorkList(this.options.tabLocation);if(this.app.workList)this.app.workList.loadBaseWorkList(this.options.tabLocation)}else{if(this.explorer&&this.explorer.explorer&&this.explorer.explorer.reloadList){this.explorer.explorer.reloadList()}}this.close()}this.fireEvent("postSave",t)}.bind(this),function(t,e,i){var s=i;if(t)errorMessage=t.responseText;var o=JSON.parse(errorMessage);if(o.message){this.app.notice(o.message,"error")}else{this.app.notice(s,"error")}}.bind(this))},getDepartmentLeader:function(t,e){this.app.restActions.getDepartmentDuty(function(t){if(t.data.identityList&&t.data.identityList.length>0){if(e)e(t.data.identityList[0])}}.bind(this),null,this.app.lp.departmentLeader,t,false)},showErrorMessage:function(t,e,i){var s=i;if(t)errorMessage=t.responseText;if(errorMessage!=""){var o=JSON.parse(errorMessage);if(o.message){this.app.notice(o.message,"error")}else{this.app.notice(s,"error")}}else{this.app.notice(s,"error")}}});