PriorityForm.min.js 13 KB

1
  1. MWF.xApplication.Strategy=MWF.xApplication.Strategy||{};MWF.xDesktop.requireApp("Strategy","Template",null,false);MWF.xDesktop.requireApp("Template","MPopupForm",null,false);MWF.xDesktop.requireApp("Template","MForm",null,false);MWF.xDesktop.requireApp("Strategy","PriorityAttachment",null,false);MWF.xApplication.Strategy.PriorityForm=new Class({Extends:MPopupForm,Implements:[Options,Events],options:{style:"default",width:"90%",height:"100%",hasTop:true,hasIcon:false,hasBottom:false,title:"",draggable:true,maxAction:true,closeAction:true},initialize:function(t,e,i,s){this.setOptions(i);this.explorer=t;if(s){if(this.options.relativeToApp){this.app=s.app||this.explorer.app;this.container=s.container||this.app.content;this.lp=s.lp||this.explorer.lp||this.app.lp;this.css=s.css||this.explorer.css||this.app.css;this.actions=s.actions||this.explorer.actions||this.app.actions||this.app.restActions}else{this.container=s.container;this.lp=s.lp||this.explorer.lp;this.css=s.css||this.explorer.css;this.actions=s.actions||this.explorer.actions}}else{if(this.options.relativeToApp){this.app=this.explorer.app;this.container=this.app.content;this.lp=this.explorer.lp||this.app.lp;this.css=this.explorer.css||this.app.css;this.actions=this.explorer.actions||this.app.actions||this.app.restActions}else{this.container=window.document.body;this.lp=this.explorer.lp;this.css=this.explorer.css;this.actions=this.explorer.actions}}this.data=e||{}},load:function(){this.lp=this.app.lp.priority.popupForm;this.path="/x_component_Strategy/$PriorityForm/";this.cssPath=this.path+this.options.style+"/css.wcss";this._loadCss();this.options.title=this.lp.title;this.defaultYear=this.options.year;this.currentYear=this.defaultYear;this.currentDepartment=this.options.department;var t=new Date;this.thisYear=t.getFullYear();if(this.options.isNew){this.create()}else if(this.options.isEdited){this.edit()}else{this.open()}},createTopNode:function(){this.fireEvent("queryCreateTop");if(!this.formTopNode){this.formTopNode=new Element("div.formTopNode",{styles:this.css.formTopNode}).inject(this.formNode);if(this.options.hasTopIcon){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}).inject(this.formTopNode);if(this.options.closeAction){this.formTopCloseActionNode=new Element("div",{styles:this.css.formTopCloseActionNode,title:"关闭"}).inject(this.formTopNode);this.formTopCloseActionNode.addEvent("click",function(t){this.close();t.stopPropagation()}.bind(this))}if(this.options.maxAction){this.formTopMaxActionNode=new Element("div",{styles:this.css.formTopMaxActionNode,title:"最大化"}).inject(this.formTopNode);this.formTopMaxActionNode.addEvent("click",function(){this.maxSize()}.bind(this));this.formTopRestoreActionNode=new Element("div",{styles:this.css.formTopRestoreActionNode,title:"还原"}).inject(this.formTopNode);this.formTopRestoreActionNode.addEvent("click",function(){this.restoreSize()}.bind(this));this.formTopNode.addEvent("dblclick",function(){this.switchMax()}.bind(this))}if(this.options.hasTopContent){this.formTopContentNode=new Element("div.formTopContentNode",{styles:this.css.formTopContentNode}).inject(this.formTopNode);this._createTopContent()}}this.fireEvent("postCreateTop")},_createTopContent:function(){},_createTableContent:function(){this.getData(function(){this.createTableInfo()}.bind(this))},getData:function(t){if(!this.options.isNew){if(this.data.id){this.id=this.data.id}else if(this.options.id){this.id=this.options.id}this.actions.getPriorityById(this.id,function(e){this.data=e.data;this.formTopTextNode.set("text",this.data.keyworktitle);this.currentDepartment=e.data.keyworkunit;if(t)t()}.bind(this))}else{if(t)t()}},createTableInfo:function(){var t="<table width='100%' border='0' cellpadding='5' cellspacing='0' styles='formTable'>"+"<tr>"+" <td styles='formTableTitle' lable='sequencenumber'></td>"+" <td styles='formTableValue' item='sequencenumber'></td>"+"</tr>"+"<tr>"+" <td styles='formTableTitle' lable='keyworktitle'></td>"+" <td styles='formTableValue' item='keyworktitle'></td>"+"</tr>"+"<tr>"+" <td styles='formTableTitle' lable='keyworkyear'></td>"+" <td styles='formTableYearValue' item='keyworkyear'></td>"+"</tr>"+"<tr>"+" <td styles='formTableTitle' lable='deptlist'></td>"+" <td styles='formTableValue' item='keyworkunit'></td>"+"</tr>"+"<tr>"+" <td styles='formTableTitle' lable='validDate'></td>"+" <td styles='formTableValue'>"+" <div styles='formTableDate' item='keyworkbegindate'></div>"+" <div styles='formTableDate' lable='validDateMonth'></div><div styles='formTableDate' lable='validDateConnect'></div>"+" <div styles='formTableDate' item='keyworkenddate'></div><div styles='formTableDate' lable='validDateMonth'></div>"+" </td>"+"</tr>"+"<tr>"+" <td styles='formTableTitle' lable='measureslist'></td>"+" <td styles='formTableValue'><div styles='measureList' item='measureslist' id='measureList'></div></td>"+"</tr>"+"<tr>"+" <td styles='formTableTitle' lable='keyworkdescribe'></td>"+" <td styles='formTableValue' item='keyworkdescribe'></td>"+"</tr>"+"<tr>"+" <td styles='formTableTitle' lable='attachments'></td>"+" <td styles='formTableValue'>"+"<div styles='formTableValueDiv' item='attachments'></div>"+" </td>"+"</tr>"+"</table>";this.formTableArea.set("html",t);if(this.options.isNew||this.options.isEdited){this.getMeasureList(this.currentYear||this.thisYear,function(){this.loadForm()}.bind(this));this.createActionBar()}else{this.loadForm()}},loadForm:function(){this.priorityForm=new MForm(this.formTableArea,this.data,{style:"default",isEdited:this.isEdited||this.isNew,itemTemplate:this.getItemTemplate(this.lp)},this.app,this.css);this.priorityForm.load();if(!(this.options.isEdited||this.options.isNew)){this.formTableArea.getElementById("measureList").setStyles({border:"0px","min-height":"0px"})}var t=this.formTableArea.getElements("textarea");t.setStyles({height:"100px"});if(!(this.options.isEdited||this.options.isNew)){var e=this.formTableArea.getElementById("measureList");if(e){e.setStyles({border:"0px","min-height":"0px"});e.set("html","");if(this.data.measureslist){this.data.measureslist.each(function(t){this.actions.getMeasureById(t,function(i){if(i.type=="success"){new Element("div.measureItem",{styles:this.css.measureItem,text:i.data.measuresinfotitle}).inject(e).addEvents({click:function(){var e=this.options.width||"100%";var i=this.options.height||"100%";MWF.xDesktop.requireApp("Strategy","MeasureForm",function(){this.measureForm=new MWF.xApplication.Strategy.MeasureForm(this,this.actions,{id:t},{isEdited:false,width:isNaN(e)?parseInt(e)-10+"%":e-50,height:isNaN(i)?parseInt(i)-10+"%":i-50});this.measureForm.container=this.app.portalContainer||this.app.content;this.measureForm.load()}.bind(this))}.bind(this)})}}.bind(this))}.bind(this))}}}this.attachmentArea=this.formTableArea.getElement("[item='attachments']");this.loadAttachment(this.attachmentArea)},loadAttachment:function(t){this.attachment=new MWF.xApplication.Strategy.PriorityAttachment(t,this.app,this.actions,this.app.lp.attachment.priority,{workId: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.priorityForm.getResult(true,",",true,false,true);if(t&&this.currentDepartment&&this.currentDepartment!=""){t.keyworkyear=this.currentYear||this.thisYear;t.keyworkunit=this.currentDepartment;t.measureslist=t.measureslist.split(",");this.actions.savePriority(t,function(t){if(t.type=="success"){if(t.data.id){this.data=t.data;this.id=t.data.id;this.attachment.options.workId=t.data.id}}}.bind(this),function(t,e,i){this.app.showErrorMessage(t,e,i);this.attachment.isQueryUploadSuccess=false}.bind(this),false)}else{this.attachment.isQueryUploadSuccess=false}}}.bind(this)});this.attachment.load()},getMeasureList:function(t,e){this.measureListTitle=[];this.measureListId=[];var i={measuresinfoyear:t||this.thisYear,deptlist:[this.currentDepartment]};this.actions.getMeasureListNext("(0)",100,i,function(t){if(t.type=="success"){t.data.each(function(t){this.measureListTitle.push(t.measuresinfotitle);this.measureListId.push(t.id)}.bind(this));if(e)e()}}.bind(this))},getItemTemplate:function(t){_self=this;return{sequencenumber:{text:t.sequencenumber+":",style:{"text-indent":"3px"},notEmpty:true},keyworktitle:{text:t.title+":",style:{"text-indent":"3px"},notEmpty:true},keyworkyear:{text:t.year+":",notEmpty:true,type:this.options.isNew?"select":"innerText",value:this.currentYear||this.thisYear,attr:{style:"width:100%;height:30px;border-radius:3px;"},selectValue:t.selectYears.split(","),selecTtext:t.selectYears.split(","),event:{change:function(t){var e=t.getValue();_self.currentYear=e;_self.getMeasureList(e,function(){_self.loadForm()})}}},keyworkunit:{isEdited:false,text:t.department+":",notEmpty:true,type:"org",value:this.options.department,orgType:"unit",name:"deptlist",count:0,attr:{readonly:true,unformatWidth:true}},validDate:{text:t.validDate+":"},keyworkbegindate:{text:t.keyworkbegindate,type:"select",name:"keyworkbegindate",notEmpty:true,selectText:t.selectMonth.split(","),style:{width:"50px",height:"20px","text-indent":"3px"},attr:{readonly:true}},validDateConnect:{text:t.validDateConnect},validDateMonth:{text:t.validDateMonth,style:{"margin-left":"10px","margin-right":"10px","text-indent":"3px"}},keyworkenddate:{text:t.keyworkenddate,type:"select",name:"keyworkenddate",notEmpty:true,selectText:t.selectMonth.split(","),style:{width:"50px",height:"20px","text-indent":"3px"},attr:{readonly:true}},measureslist:{text:t.measurelist+":",type:"checkbox",notEmpty:true,selectText:this.measureListTitle?this.measureListTitle.join(",").split(","):"",selectValue:this.measureListId?this.measureListId.join(",").split(","):""},keyworkdescribe:{type:"textarea",style:{"text-indent":"3px",height:"100px"},text:t.description+":"},attachments:{text:t.attachments,type:"innertext"}}},createActionBar:function(){this.actionContent=new Element("div.actionContent",{styles:this.css.actionContent}).inject(this.formTableContainer);this.actionBar=new Element("div.actionBar",{styles:this.css.actionBar}).inject(this.actionContent);this.saveAction=new Element("div.saveAction",{styles:this.css.saveAction,text:this.lp.saveAction}).inject(this.actionBar).addEvents({click:function(){this.save()}.bind(this)});this.cancelAction=new Element("div.cancelAction",{styles:this.css.cancelAction,text:this.lp.cancelAction}).inject(this.actionBar).addEvents({click:function(){this.close()}.bind(this)})},save:function(t){var e=this.priorityForm.getResult(true,",",true,false,true);if(e&&this.currentDepartment&&this.currentDepartment!=""){this.createShade();e.keyworkyear=this.currentYear||this.thisYear;e.keyworkunit=this.currentDepartment;e.measureslist=e.measureslist.split(",");e.id=this.id||this.data.id;this.actions.savePriority(e,function(e){if(e.type=="success"){this.close();this.fireEvent("postSave",e)}else if(e.type=="error"){this.app.notice(e.message,"error")}this.destroyShade();if(t)t()}.bind(this),function(t,e,i){this.showErrorMessage(t,e,i);this.destroyShade()}.bind(this))}},createShade:function(t,e){var i=this.container||this.app;var s=t||i;var o=e||"loading...";if(this.shadeDiv){this.shadeDiv.destroy()}if(this["shadeTxtDiv"])this["shadeTxtDiv"].destroy();this.shadeDiv=new Element("div.shadeDiv").inject(s);this.inforDiv=new Element("div.inforDiv",{styles:{height:"16px",display:"inline-block",position:"absolute","background-color":"#000000","border-radius":"3px",padding:"5px 10px"}}).inject(this.shadeDiv);this.loadImg=new Element("img.loadImg",{styles:{width:"16px",height:"16px",float:"left"},src:this.path+"default/icon/loading.gif"}).inject(this.inforDiv);this.shadeTxtSpan=new Element("span.shadeTxtSpan").inject(this.inforDiv);this.shadeTxtSpan.set("text",o);this.shadeDiv.setStyles({width:"100%",height:"100%",position:"absolute",opacity:"0.6","background-color":"#cccccc","z-index":"999"});this.shadeTxtSpan.setStyles({color:"#ffffff","font-size":"12px",display:"inline-block","line-height":"16px","padding-left":"5px"});var a=s.getSize().x;var n=s.getSize().y;this.shadeDiv.setStyles({left:s.getLeft()-i.getLeft()+"px",top:s.getTop()-i.getTop()+"px",width:a+"px",height:n+"px"});if(s.getStyle("position")=="absolute"){this.shadeDiv.setStyles({left:"0px",top:"0px"})}this.inforDiv.setStyles({left:a/2+"px",top:n/2+"px"})},destroyShade:function(){if(this.shadeDiv)this.shadeDiv.destroy()},showErrorMessage:function(t,e,i){var s=i;var o;if(t)o=t.responseText;if(o!=""){var a=JSON.parse(o);if(a.message){this.notice(a.message,"error")}else{this.notice(s,"error")}}else{this.notice(s,"error")}}});