MWF.xApplication.Execution=MWF.xApplication.Execution||{};MWF.xDesktop.requireApp("Template","MPopupForm",null,false);MWF.xDesktop.requireApp("Template","MForm",null,false);MWF.xDesktop.requireApp("Execution","Attachment",null,false);MWF.xDesktop.requireApp("Execution","ReportAttachment",null,false);MWF.xApplication.Execution.WorkReport=new Class({Extends:MPopupForm,Implements:[Options,Events],options:{style:"default",width:"100%",height:"100%",hasTop:true,hasIcon:false,hasBottom:true,title:"",draggable:false,closeAction:true,isNew:false,isEdited:true},initialize:function(explorer,actions,data,options){this.setOptions(options);this.explorer=explorer;this.app=explorer.app||explorer;this.lp=this.app.lp.WorkReport;this.actions=this.app.restActions;this.path="/x_component_Execution/$WorkReport/";this.cssPath=this.path+this.options.style+"/css.wcss";this._loadCss();this.options.title=this.lp.title;this.data=data||{};this.actions=actions},load:function(){if(this.options.isNew){this.create()}else if(this.options.isEdited){this.edit()}else{this.open()}this.setContentSize();this.setContentSizeFun=this.setContentSize.bind(this);this.app.addEvent("resize",this.setContentSizeFun);if(this.workReportData){if(this.completeProgressContentDiv){var obj=this.completeProgressContentDiv.getElements(".completeProgressLineDiv");obj.setStyles({background:"#ccc"});var curLen=parseInt(this.workReportData.progressPercent/10);obj.each(function(d,j){if(j50?this.workReportData.title.substr(0,50)+"...":this.workReportData.title);this.titleDiv.set("title",this.workReportData.title)}if(this.workData.okrWorkAuthorizeRecords){this.appointContentDiv=new Element("div.appointContentDiv",{styles:this.css.appointContentDiv}).inject(this.formTableArea);this.appointContentTitleDiv=new Element("div.appointContentTitleDiv",{styles:this.css.tabTitleDiv,text:this.lp.appointTitle}).inject(this.appointContentDiv);this.appointContentInfor=new Element("div.appointContentInfor",{styles:this.css.appointContentInfor}).inject(this.appointContentDiv);this.workData.okrWorkAuthorizeRecords.each(function(d){if(d.operationType=="AUTHORIZE"){var ttext=d.source.split("@")[0]+this.lp.appointFor+d.target.split("@")[0];ttext+="("+d.operationTime+") ";ttext+="意见:"+d.opinion}if(d.operationType=="TACKBACK"){var ttext=d.source.split("@")[0]+this.lp.appointBack;ttext+="("+d.operationTime+") ";ttext+="意见:"+d.opinion}this.appointRecordDiv=new Element("div.appointRecordDiv",{styles:this.css.appointRecordDiv,text:ttext}).inject(this.appointContentInfor)}.bind(this))}this.reportContentDiv=new Element("div.centerWorkDiv",{styles:this.css.reportContentDiv}).inject(this.formTableArea);this.reportContentTitleDiv=new Element("div.reportContentTitleDiv",{styles:this.css.tabTitleDiv,text:this.lp.reportContentTitle}).inject(this.reportContentDiv);this.reportContentInfor=new Element("div.reportContentInfor",{styles:this.css.reportContentInfor}).inject(this.reportContentDiv);this.contentTitle1=new Element("div.contentTitle1",{styles:this.css.contentTitle,text:this.lp.contentTitle1+":"}).inject(this.reportContentInfor);if(this.workReportData.processStatus==this.lp.activityName.drafter&&this.workReportData.isReporter){this.contentTextarea1=new Element("textarea.contentTextarea1",{styles:this.css.contentTextarea,text:this.workReportData.progressDescription?this.workReportData.progressDescription:""}).inject(this.reportContentInfor)}else{this.contentTextStr1=new Element("div.contentTextStr1",{styles:this.css.contentTextStr,text:this.workReportData.progressDescription?this.workReportData.progressDescription:""}).inject(this.reportContentInfor)}this.contentTitle2=new Element("div.contentTitle2",{styles:this.css.contentTitle,text:this.lp.contentTitle2+":"}).inject(this.reportContentInfor);if(this.workReportData.processStatus==this.lp.activityName.drafter&&this.workReportData.isReporter){this.contentTextarea2=new Element("textarea.contentTextarea2",{styles:this.css.contentTextarea,text:this.workReportData.workPlan?this.workReportData.workPlan:""}).inject(this.reportContentInfor)}else{this.contentTextStr2=new Element("div.contentTextStr2",{styles:this.css.contentTextStr,text:this.workReportData.workPlan?this.workReportData.workPlan:""}).inject(this.reportContentInfor)}this.completeDiv=new Element("div.completeDiv",{styles:this.css.completeDiv}).inject(this.reportContentInfor);this.completeTextSpan=new Element("span.completeTextSpan",{styles:this.css.completeTextSpan,text:this.lp.isCompleted}).inject(this.completeDiv);if(this.workReportData.processStatus==this.lp.activityName.drafter&&this.workReportData.isReporter||this.workReportData.processStatus==this.lp.activityName.manager&&(this.processIdentity==this.app.identity||this.processIdentity.indexOf(this.app.identity)>-1)){this.completeSelect=new Element("select.completeSelect",{styles:this.css.completeSelect}).inject(this.completeDiv);this.completeSelectOption=new Element("option.completeSelectOption",{text:this.lp.isCompletedNoOption,value:"no"}).inject(this.completeSelect);this.completeSelectOption=new Element("option.completeSelectOption",{text:this.lp.isCompletedYesOption,value:"yes"}).inject(this.completeSelect);this.completeSelect.addEvents({change:function(){if(this.completeSelect.get("value")=="yes"){var obj=this.completeProgressContentDiv.getElements(".completeProgressLineDiv");obj.setStyles({background:"#369"});this.completePercentRateSpan.set("text","100%")}else{this.completePercentRateSpan.set("text",parseInt(this.workReportData.progressPercent)+"%");var obj=this.completeProgressContentDiv.getElements(".completeProgressLineDiv");obj.setStyles({background:"#ccc"});var curLen=parseInt(this.workReportData.progressPercent/10);obj.each(function(d,j){if(j-1)){this.completeProgressDiv=new Element("div.completeProgressDiv",{styles:this.css.completeProgressDiv}).inject(this.completeDiv);this.completeProgressContentDiv=new Element("div.completeProgressContentDiv",{styles:this.css.completeProgressContentDiv}).inject(this.completeProgressDiv);var _self=this;for(i=0;i<11;i++){var tmpPointDiv=new Element("div.completeProgressPointDiv",{styles:this.css.completeProgressPointDiv,position:i}).inject(_self.completeProgressContentDiv);tmpPointDiv.setStyles({left:i*50+"px"});tmpPointDiv.addEvents({click:function(){_self.selectProgress(parseInt(this.get("position")),"point")}});if(i<10){var tmpLineDiv=new Element("div.completeProgressLineDiv",{styles:this.css.completeProgressLineDiv,position:i}).inject(_self.completeProgressContentDiv);tmpLineDiv.setStyles({left:i*50+"px"});tmpLineDiv.addEvents({click:function(){_self.selectProgress(parseInt(this.get("position"))+1,"line")}})}}this.completeProgressTextDiv=new Element("div.completeProgressTextDiv",{styles:this.css.completeProgressTextDiv}).inject(this.completeProgressDiv);for(i=0;i<11;i++){var tmpCompletePercentTextSpan=new Element("lable.tmpCompletePercentTextSpan",{styles:this.css.tmpCompletePercentTextSpan,text:i*10+"%"}).inject(this.completeProgressTextDiv)}}this.reportAttachment=new Element("div.reportAttachment",{item:"reportAttachments"}).inject(this.reportContentInfor);this.reportAttachment.setStyles({width:"95%"});var isUpload=false;if(this.workReportData.processStatus==this.lp.activityName.drafter&&this.workReportData.isReporter){isUpload=true}this.reportAttachmentArea=this.formTableArea.getElement("[item='reportAttachments']");this.loadReportAttachment(this.reportAttachmentArea,isUpload);var opinionData={};opinionData.workReportId="";if(this.workReportData.needAdminAudit){this.createAdminContent()}if(this.workReportData&&(this.workReportData.activityName!=this.lp.activityName.drafter&&this.workReportData.activityName!=this.lp.activityName.manager)){this.reportContentDiv=new Element("div.centerWorkDiv",{styles:this.css.reportContentDiv}).inject(this.formTableArea);this.reportContentTitleDiv=new Element("div.reportContentTitleDiv",{styles:this.css.tabTitleDiv,text:this.lp.leaderContentTitle}).inject(this.reportContentDiv);this.reportContentInfor=new Element("div.reportContentInfor",{styles:this.css.reportContentInfor}).inject(this.reportContentDiv);this.getLeaderOpinions();if(this.workReportData.processStatus==this.lp.activityName.leader&&this.workReportData.isReadLeader&&this.processIdentity.indexOf(this.app.identity)>-1){this.contentTextarea4=new Element("textarea.contentTextarea4",{styles:this.css.contentTextarea,text:this.leaderOpinionDrafter?this.leaderOpinionDrafter:""}).inject(this.reportContentInfor)}else{}}if(this.workReportData&&this.workReportData.status==this.lp.statuArchive){if(this.contentTextarea1)this.contentTextarea1.destroy();if(this.contentTextarea2)this.contentTextarea2.destroy();if(this.contentTextarea3)this.contentTextarea3.destroy();if(this.contentTextarea4)this.contentTextarea4.destroy()}},selectProgress:function(i,s){var obj=this.completeProgressContentDiv.getElements(".completeProgressLineDiv");obj.setStyles({background:"#ccc"});obj.each(function(d,j){if(j"+" "+" "+" "+" "+" "+" "+""+""+" "+" "+" "+" "+" "+" "+""+""+" "+" "+" "+" "+" "+" "+""+""+"
"+""+""+" "+" "+""+""+" "+" "+""+""+" "+" "+""+""+" "+""+""+"";this.tableContentDiv.set("html",html);this.expandDiv=this.tableContentDiv.getElementById("expandIcon");this.foldDiv=this.tableContentDiv.getElementById("foldIcon");this.workDetailsTab=this.tableContentDiv.getElementById("workDetails");if(this.expandDiv){this.expandDiv.addEvents({click:function(){if(this.workDetailsTab)this.workDetailsTab.setStyle("display","");this.expandDiv.setStyle("display","none");this.foldDiv.setStyle("display","")}.bind(this)})}if(this.foldDiv){this.foldDiv.addEvents({click:function(){if(this.workDetailsTab)this.workDetailsTab.setStyle("display","none");this.expandDiv.setStyle("display","");this.foldDiv.setStyle("display","none")}.bind(this)})}this.loadForm()},loadForm:function(){this.form=new MForm(this.formTableArea,this.workData,{style:"execution",isEdited:this.isEdited||this.isNew,itemTemplate:this.getItemTemplate(this.lp)},this.app);this.form.load();this.attachmentArea=this.formTableArea.getElement("[item='attachments']");this.loadAttachment(this.attachmentArea)},getItemTemplate:function(lp){_self=this;return{workType:{text:lp.workType+":",selectValue:lp.workTypeValue.split(",")},workLevel:{text:lp.workLevel+":",type:"select",notEmpty:true,selectValue:lp.workLevelValue.split(",")},timeLimit:{text:lp.timeLimit+":",tType:"date",name:"completeDateLimitStr",notEmpty:true},reportCycle:{text:lp.reportCycle+":",type:"select",notEmpty:true,selectText:lp.reportCycleText.split(",")},reportDay:{type:"select",name:"reportDayInCycle",selectValue:!this.workData.reportCycle||this.workData.reportCycle==lp.reportCycleText.split(",")[0]?lp.weekDayValue.split(","):lp.monthDayValue.split(","),selectText:!this.workData.reportCycle||this.workData.reportCycle==lp.reportCycleText.split(",")[0]?lp.weekDayText.split(","):lp.monthDayText.split(",")},dutyDepartment:{text:lp.dutyDepartment+":",type:"org",orgType:"unit",name:"responsibilityUnitName"},dutyPerson:{text:lp.dutyPerson+":",type:"org",orgType:"identity",count:1,name:"responsibilityIdentity",notEmpty:true},secondDepartment:{text:lp.secondDepartment+":",type:"org",orgType:"unit",name:"cooperateUnitNameList",value:this.workData.cooperateUnitNameList?this.workData.cooperateUnitNameList.join(","):""},secondPerson:{text:lp.secondPerson+":",type:"org",orgType:"identity",name:"cooperateIdentityList",value:this.workData.cooperateIdentityList?this.workData.cooperateIdentityList.join(","):"",count:0},readReader:{text:lp.readReader+":",type:"org",orgType:"identity",name:"readLeaderIdentityList",value:this.workData.readLeaderIdentityList?this.workData.readLeaderIdentityList.join(","):"",count:0},deployPerson:{text:lp.deployPerson,name:"deployerIdentity",type:"org",orgType:"identity"},subject:{text:lp.subject+":",name:"title",notEmpty:true},workSplitAndDescription:{text:lp.workSplitAndDescription+":",type:"textarea",name:"workDetail",notEmpty:true},specificActionInitiatives:{text:lp.specificActionInitiatives+":",type:"textarea",name:"progressAction"},cityCompanyDuty:{text:lp.cityCompanyDuty+":",type:"textarea",name:"dutyDescription"},milestoneMark:{text:lp.milestoneMark+":",type:"textarea",name:"landmarkDescription"},importantMatters:{text:lp.importantMatters+":",type:"textarea",name:"majorIssuesDescription"}}},loadAttachment:function(area){this.attachment=new MWF.xApplication.Execution.Attachment(area,this.app,this.actions,this.app.lp,{documentId:this.data.workId,isNew:this.options.isNew,isEdited:this.options.isEdited});this.attachment.load()},loadReportAttachment:function(area,edit){this.attachment=new MWF.xApplication.Execution.ReportAttachment(area,this.app,this.actions,this.app.lp,{documentId:this.workReportId,isNew:this.options.isNew,isEdited:edit,size:this.workReportData.processStatus==this.lp.activityName.drafter?"max":"min",onQueryUploadAttachment:function(){var saveData={};saveData.workId=this.workReportData.workId;saveData.id=this.workReportData.id;if(this.workReportData.processStatus==this.lp.activityName.drafter){saveData.progressDescription=this.contentTextarea1.value;saveData.workPlan=this.contentTextarea2.value}this.actions.saveWorkReport(saveData,function(json){if(json.type=="success"){this.attachment.isQueryUploadSuccess=true}}.bind(this),function(xhr,text,error){this.attachment.isQueryUploadSuccess=false}.bind(this),false)}.bind(this)});this.attachment.load()},readDone:function(){this.actions.readDone(this.data.todoId,function(json){this.app.notice(this.lp.prompt.readDone,"success");this.fireEvent("reloadView",json);this.close()}.bind(this),function(xhr){}.bind(this))},save:function(){this.createShade();var saveData={};saveData.workId=this.workReportData.workId;saveData.id=this.workReportData.id;var rateTmp=0;rateTmp=parseInt(this.completePercentRateSpan.get("text").replace("%",""));if(this.workReportData.processStatus==this.lp.activityName.drafter){saveData.progressDescription=this.contentTextarea1.value;saveData.workPlan=this.contentTextarea2.value;saveData.isWorkCompleted=this.completeSelect.get("value")=="yes"?true:false;saveData.progressPercent=rateTmp}else if(this.workReportData.processStatus==this.lp.activityName.manager){saveData.adminSuperviseInfo=this.contentTextarea3.value;saveData.isWorkCompleted=this.completeSelect.get("value")=="yes"?true:false;saveData.progressPercent=rateTmp}else if(this.workReportData.processStatus==this.lp.activityName.leader){saveData.opinion=this.contentTextarea4.value}if(saveData.progressDescription){if(saveData.progressDescription.length>600){this.app.notice("字数不能大于600","error");this.destroyShade();return false}}if(saveData.workPlan){if(saveData.workPlan.length>600){this.app.notice("字数不能大于600","error");this.destroyShade();return false}}this.actions.saveWorkReport(saveData,function(json){if(json.type=="success"){this.app.notice(this.lp.information.saveSuccess,"success");this.destroyShade()}}.bind(this),function(xhr,text,error){var errorText=error;if(xhr)errorMessage=xhr.responseText;var e=JSON.parse(errorMessage);if(e.message){this.app.notice(e.message,"error")}else{this.app.notice(errorText,"error")}this.destroyShade()}.bind(this),true)},submit:function(e){if(this.contentTextarea1){if(this.contentTextarea1.value==""){this.app.notice(this.lp.contentTitle1+this.lp.checkEmpty,"error");return false}}if(this.contentTextarea2){if(this.contentTextarea2.value==""){this.app.notice(this.lp.contentTitle2+this.lp.checkEmpty,"error");return false}}var saveData={};saveData.workId=this.workReportData.workId;saveData.id=this.workReportData.id;var rateTmp=0;rateTmp=parseInt(this.completePercentRateSpan.get("text").replace("%",""));if(this.workReportData.processStatus==this.lp.activityName.drafter){saveData.progressDescription=this.contentTextarea1.value;saveData.workPlan=this.contentTextarea2.value;saveData.isWorkCompleted=this.completeSelect.get("value")=="yes"?true:false;saveData.progressPercent=rateTmp}else if(this.workReportData.processStatus==this.lp.activityName.manager){saveData.adminSuperviseInfo=this.contentTextarea3.value;saveData.isWorkCompleted=this.completeSelect.get("value")=="yes"?true:false;saveData.progressPercent=rateTmp}else if(this.workReportData.processStatus==this.lp.activityName.leader){saveData.opinion=this.contentTextarea4.value}if(saveData.progressDescription){if(saveData.progressDescription.length>600){this.app.notice("字数不能大于600","error");return false}}if(saveData.workPlan){if(saveData.workPlan.length>600){this.app.notice("字数不能大于600","error");return false}}if(this.completeSelect&&this.completeSelect.get("value")=="yes"){var _self=this;this.app.confirm("warn",e,_self.lp.submitWarn.warnTitle,_self.lp.submitWarn.warnContent,300,150,function(){_self.createShade();_self.actions.submitWorkReport(saveData,function(json){if(json.type=="success"){_self.app.notice(_self.lp.prompt.submitWorkReport,"success");_self.fireEvent("reloadView",json);_self.close()}_self.destroyShade()}.bind(_self),function(xhr,text,error){var errorText=error;if(xhr)errorMessage=xhr.responseText;var e=JSON.parse(errorMessage);if(e.message){_self.app.notice(e.message,"error")}else{_self.app.notice(errorText,"error")}_self.destroyShade()}.bind(_self),true);this.close()},function(){this.close()})}else{this.createShade();this.actions.submitWorkReport(saveData,function(json){if(json.type=="success"){this.app.notice(this.lp.prompt.submitWorkReport,"success");this.fireEvent("reloadView",json);this.close()}this.destroyShade()}.bind(this),function(xhr,text,error){var errorText=error;if(xhr)errorMessage=xhr.responseText;var e=JSON.parse(errorMessage);if(e.message){this.app.notice(e.message,"error")}else{this.app.notice(errorText,"error")}this.destroyShade()}.bind(this),true)}},_createBottomContent:function(){if(this.processIdentity==this.app.identity||this.processIdentity.indexOf(this.app.identity)>-1){this.submitActionNode=new Element("div.submitActionNode",{styles:this.css.formCancelActionNode,text:this.lp.bottomAction.submit}).inject(this.formBottomNode).addEvents({click:function(e){this.submit(e)}.bind(this)})}if(this.processIdentity==this.app.identity||this.processIdentity.indexOf(this.app.identity)>-1){this.saveActionNode=new Element("div.saveActionNode",{styles:this.css.formCancelActionNode,text:this.lp.bottomAction.save}).inject(this.formBottomNode).addEvents({click:function(){this.save()}.bind(this)})}if(this.options.isRead){this.readActionNode=new Element("div.readActionNode",{styles:this.css.formCancelActionNode,text:this.lp.bottomAction.readDone}).inject(this.formBottomNode);this.readActionNode.addEvent("click",function(e){this.readDone(e)}.bind(this))}this.cancelActionNode=new Element("div.formCancelActionNode",{styles:this.css.formCancelActionNode,text:this.lp.bottomAction.close}).inject(this.formBottomNode);this.cancelActionNode.addEvent("click",function(e){this.cancel(e)}.bind(this));if(this.workReportData&&this.workReportData.status==this.lp.statuArchive){if(this.submitActionNode)this.submitActionNode.destroy();if(this.saveActionNode)this.saveActionNode.destroy();if(this.readActionNode)this.readActionNode.destroy()}},createShade:function(o,txtInfo){var defaultObj=this.formAreaNode||this.container||this.app;var obj=o||defaultObj;var txt=txtInfo||"loading...";if(this.shadeDiv){this.shadeDiv.destroy()}if(this["shadeTxtDiv"])this["shadeTxtDiv"].destroy();this.shadeDiv=new Element("div.shadeDiv").inject(obj);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",txt);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 x=obj.getSize().x;var y=obj.getSize().y;this.shadeDiv.setStyles({left:obj.getLeft()-defaultObj.getLeft()+"px",top:obj.getTop()-defaultObj.getTop()+"px",width:x+"px",height:y+"px"});if(obj.getStyle("position")=="absolute"){this.shadeDiv.setStyles({left:"0px",top:"0px"})}this.inforDiv.setStyles({left:x/2+"px",top:y/2+"px"})},destroyShade:function(){if(this.shadeDiv)this.shadeDiv.destroy()},showErrorMessage:function(xhr,text,error){var errorText=error;var errorMessage;if(xhr)errorMessage=xhr.responseText;if(errorMessage!=""){var e=JSON.parse(errorMessage);if(e.message){this.notice(e.message,"error")}else{this.notice(errorText,"error")}}else{this.notice(errorText,"error")}}});