| 1 |
- MWF.xApplication.Execution=MWF.xApplication.Execution||{};MWF.xDesktop.requireApp("Execution","WorkForm",null,false);MWF.xDesktop.requireApp("Execution","Chat",null,false);MWF.xApplication.Execution.WorkDetail=new Class({Extends:MWF.xApplication.Execution.WorkForm,Implements:[Options,Events],options:{style:"default",width:"100%",height:"100%",hasTop:true,hasIcon:false,hasBottom:false,title:"",draggable:false,closeAction:true,isNew:false,isEdited:true,hasScroll:false},initialize:function(t,e,s,i){this.setOptions(i);this.explorer=t;this.app=t.app;this.lp=this.app.lp;this.actions=this.app.restActions;this.path="/x_component_Execution/$WorkDetail/";this.cssPath=this.path+this.options.style+"/css.wcss";this._loadCss();this.options.title=this.lp.title;this.data=s||{};this.workDetailLp=this.app.lp.WorkDetail;this.actions.getBaseWorkInfo(this.data.id,function(t){if(t.data){this.baseWorkData=t.data}}.bind(this),function(t,e,s){this.showErrorMessage(t,e,s)}.bind(this),false)},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.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._createTopContent()}},_createTopContent:function(){},_createTableContent:function(){this.table=new Element("table",{height:"100%",border:"0",cellpadding:"0",cellspacing:"0",class:"formTable"}).inject(this.formTableArea);this.tr=new Element("tr",{valign:"top"}).inject(this.table);this.leftArea=new Element("td.leftArea",{styles:this.css.leftArea}).inject(this.tr);this.detailArea=new Element("td.detailArea",{styles:this.css.detailArea}).inject(this.tr);this.chatArea=new Element("td.chatArea",{styles:this.css.chatArea}).inject(this.tr);this.loadLeftContent();this.loadForm();this.loadChatNode();this.setContentSize();this.setContentSizeFun=this.setContentSize.bind(this);this.app.addEvent("resize",this.setContentSizeFun)},loadLeftContent:function(){this.reportArea=new Element("div.reportArea",{styles:this.css.reportArea}).inject(this.leftArea);this.loadReportTop();this.loadReportContent();this.questionArea=new Element("div.questionArea",{styles:this.css.questionArea}).inject(this.leftArea);this.loadQuestionTop();this.loadQuestionContent()},loadReportTop:function(){this.reportTopNode=new Element("div.reportTopNode",{styles:this.css.reportTopNode}).inject(this.reportArea);this.reportTopIconNode=new Element("div",{styles:this.css.reportTopIconNode}).inject(this.reportTopNode);this.reportTopTextNode=new Element("div",{styles:this.css.reportTopTextNode,text:this.lp.workReportTitle}).inject(this.reportTopNode)},loadReportContent:function(){_self=this;this.reportContentNode=new Element("div",{styles:this.css.reportContentNode}).inject(this.reportArea);this.setScrollBar(this.reportContentNode);this.getReportData(function(t){if(t.data){t.data.each(function(t){var e="";if(t.activityName==this.lp.WorkReport.activityName.drafter)e="#ff0000";else{if(t.processLogs){t.processLogs.each(function(t){if(t.activityName==this.lp.WorkReport.activityName.leader){e="#00FF00"}}.bind(this))}}var s=t.createTime.split(" ")[0].split("-");var i=s[0]+this.lp.year+s[1]+this.lp.month+s[2]+this.lp.day;var o=new Element("div",{styles:this.css.reportItemNode}).inject(this.reportContentNode);new Element("div",{styles:this.css.reportItemIconNode}).inject(o);var n=new Element("div",{styles:this.css.reportItemTextNode,html:"<font color='"+e+"'>"+i+"-"+t.shortTitle+"</font>"}).inject(o);o.addEvents({mouseover:function(){if(_self.curReportItemNode!=this.node)this.node.setStyles(_self.css.reportItemNode_over)}.bind({node:o}),mouseout:function(){if(_self.curReportItemNode!=this.node)this.node.setStyles(_self.css.reportItemNode)}.bind({node:o}),click:function(t){if(this.node!=_self.curReportItemNode){this.node.setStyles(_self.css.reportItemNode_over);if(_self.curReportItemNode)_self.curReportItemNode.setStyles(_self.css.reportItemNode);_self.curReportItemNode=this.node;_self.createPrevReportInfor(this.data.id)}}.bind({data:t,node:o})})}.bind(this))}}.bind(this))},getReportData:function(t){this.actions.getWorkReportList(this.data.id,function(e){if(t)t(e)})},createPrevReportInfor:function(t){var e=this.app.lp.WorkReport;if(this.prevReportInforDiv)this.prevReportInforDiv.destroy();this.prevReportInforDiv=new Element("div.prevReportInforDiv",{styles:this.css.prevReportInforDiv}).inject(this.formTableContainer);this.prevReportInforTopDiv=new Element("div.prevReportInforTopDiv",{styles:this.css.prevReportInforTopDiv}).inject(this.prevReportInforDiv);this.prevReportInforTopCloseDiv=new Element("div.prevReportInforTopCloseDiv",{styles:this.css.prevReportInforTopCloseDiv}).inject(this.prevReportInforTopDiv).addEvents({click:function(){this.prevReportInforDiv.destroy();if(this.curReportItemNode)this.curReportItemNode.setStyles(this.css.reportItemNode);this.curReportItemNode=null}.bind(this)});this.prevReportInforListDiv=new Element("div.prevReportInforListDiv",{styles:this.css.prevReportInforListDiv}).inject(this.prevReportInforDiv);this.actions.getWorkReport(t,function(t){if(t.type=="success"){var s=new Element("div.prevContentDiv",{styles:this.css.prevContentDiv}).inject(this.prevReportInforListDiv);var i=new Element("div.prevContentTitleDiv",{styles:this.css.prevContentTitleDiv,text:e.contentTitle1+":"}).inject(s);var o=new Element("div.prevContentValueDiv",{styles:this.css.prevContentValueDiv,text:t.data.progressDescription}).inject(s);s=new Element("div.prevContentDiv",{styles:this.css.prevContentDiv}).inject(this.prevReportInforListDiv);i=new Element("div.prevContentTitleDiv",{styles:this.css.prevContentTitleDiv,text:e.contentTitle2+":"}).inject(s);o=new Element("div.prevContentValueDiv",{styles:this.css.prevContentValueDiv,text:t.data.workPlan}).inject(s);if(t.data.needAdminAudit){s=new Element("div.prevContentDiv",{styles:this.css.prevContentDiv}).inject(this.prevReportInforListDiv);i=new Element("div.prevContentTitleDiv",{styles:this.css.prevContentTitleDiv,text:e.adminContentTitle+":"}).inject(s);o=new Element("div.prevContentValueDiv",{styles:this.css.prevContentValueDiv,text:t.data.adminSuperviseInfo?t.data.adminSuperviseInfo:""}).inject(s)}s=new Element("div.prevContentDiv",{styles:this.css.prevContentDiv}).inject(this.prevReportInforListDiv);i=new Element("div.prevContentTitleDiv",{styles:this.css.prevContentTitleDiv,text:e.leaderContentTitle+":"}).inject(s);o=new Element("div.prevContentValueDiv",{styles:this.css.prevContentValueDiv}).inject(s);var n=new Element("div.reportLeaderOpinionsDiv",{styles:this.css.reportLeaderOpinionsDiv}).inject(o);var r=t.data.processLogs;this.preLeaderTitle=[];this.preLeaderValue=[];if(r){r.each(function(t){if(t.activityName==this.lp.WorkReport.activityName.leader&&t.processStatus==this.lp.WorkReport.status.drafter&&t.processorIdentity==this.app.identity){this.leaderOpinionDrafter=t.opinion}else{if(t.activityName==this.lp.WorkReport.activityName.leader&&t.processStatus==this.lp.WorkReport.status.effect){this.preLeaderTitle.push(t.processorIdentity+"("+t.processTimeStr+")");this.preLeaderValue.push(t.opinion)}}}.bind(this))}for(var a=0;a<this.preLeaderTitle.length;a++){var l=new Element("div.reportLeaderContentDiv",{styles:this.css.reportLeaderContentDiv}).inject(n);l.setStyle("border-bottom","1px dashed #3c76c1");var p=new Element("div.reportLeaderTitleDiv",{styles:this.css.reportLeaderTitleDiv,text:this.preLeaderTitle[a]+":"}).inject(l);var d=new Element("div.reportLeaderValueDiv",{styles:this.css.reportLeaderValueDiv,text:this.preLeaderValue[a]}).inject(l)}}}.bind(this),null,false)},loadQuestionTop:function(){this.questionTopNode=new Element("div.questionTopNode",{styles:this.css.questionTopNode}).inject(this.questionArea);this.questionTopIconNode=new Element("div",{styles:this.css.questionTopIconNode}).inject(this.questionTopNode);this.questionTopTextNode=new Element("div",{styles:this.css.questionTopTextNode,text:this.lp.workQuestionTitle}).inject(this.questionTopNode)},loadQuestionContent:function(){this.questionContentNode=new Element("div",{styles:this.css.questionContentNode}).inject(this.questionArea);this.setScrollBar(this.questionContentNode);this.getQuestionData(function(t){t.data.each(function(t){var e=new Element("div",{styles:this.css.questionItemNode}).inject(this.questionContentNode);new Element("div",{styles:this.css.questionItemIconNode}).inject(e);var s=new Element("div",{styles:this.css.questionItemTextNode,text:t.subject}).inject(e)}.bind(this))}.bind(this))},getQuestionData:function(t){var e={data:[]};if(t)t(e)},loadChatNode:function(){this.chatTopNode=new Element("div.chatTopNode",{styles:this.css.chatTopNode}).inject(this.chatArea);this.chatTopIconNode=new Element("div",{styles:this.css.chatTopIconNode}).inject(this.chatTopNode);this.chatTopTextNode=new Element("div",{styles:this.css.chatTopTextNode,text:this.lp.workChatTitle}).inject(this.chatTopNode);this.loadChatContent()},loadChatContent:function(){this.chatContentNode=new Element("div",{styles:this.css.chatContentNode}).inject(this.chatArea);this.chatContentListNode=new Element("div.chatContentListNode",{styles:this.css.chatContentListNode}).inject(this.chatContentNode);this.chatEditorNode=new Element("div",{styles:this.css.chatEditorNode}).inject(this.chatContentNode);this.chat=new MWF.xApplication.Execution.Chat(this.chatContentListNode,this.chatEditorNode,this.app,this.actions,this.lp,{workId:this.data.id});this.chat.load()},getChatData:function(t){var e={};if(t)t(e)},loadForm:function(){this.detailTopNode=new Element("div.detailTopNode",{styles:this.css.detailTopNode}).inject(this.detailArea);this.detailTopIconNode=new Element("div",{styles:this.css.detailTopIconNode}).inject(this.detailTopNode);this.detailTopTextNode=new Element("div",{styles:this.css.detailTopTextNode,text:this.lp.workDetailTitle}).inject(this.detailTopNode);this.detailContentNode=new Element("div.detailContentNode",{styles:this.css.detailContentNode}).inject(this.detailArea);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>"+" <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.detailContentNode.set("html",t);this.form=new MForm(this.detailContentNode,this.data,{style:"execution",isEdited:this.isEdited||this.isNew,itemTemplate:this.getWorkDetailsItemTemplate(this.lp.workForm),onPostLoad:function(){}.bind(this)},this.app,this.css);this.form.load();this.attachmentArea=this.detailArea.getElement("[item='attachments']");this.loadAttachment(this.attachmentArea);this.tmpLp=this.workDetailLp.processInfo;this.processInfo=new Element("div.processInfo",{styles:this.css.processInfoDiv}).inject(this.detailContentNode);this.processInfoTitle=new Element("div.processInfoTitle",{styles:this.css.processInfoTitleDiv,text:this.tmpLp.title}).inject(this.processInfo);this.processInfoContent=new Element("div.processInfoContent",{styles:this.css.processInfoContent}).inject(this.processInfo);var e="<table styles='processTable'>";var s="<tr>";s+="<td styles='processTH'>"+this.tmpLp.operate+"</td>";s+="<td styles='processTH'>"+this.tmpLp.time+"</td>";s+="<td styles='processTH'>"+this.tmpLp.source+"</td>";s+="<td styles='processTH'>"+this.tmpLp.target+"</td>";s+="<td styles='processTH'>"+this.tmpLp.opinion+"</td>";s+="</tr>";if(this.baseWorkData.workDeployAuthorizeRecords){this.baseWorkData.workDeployAuthorizeRecords.each(function(t){s+="<tr>";s+="<td styles='processTD'>"+t.operationTypeCN+"</td>";s+="<td styles='processTD'>"+t.operationTime+"</td>";s+="<td styles='processTD'>"+t.source+"</td>";s+="<td styles='processTD'>"+t.target+"</td>";s+="<td styles='processTD'>"+t.opinion+"</td>";s+="</tr>"}.bind(this))}tBottom="</table>";this.processInfoContent.set("html",e+s+tBottom);this.formatStyles(this.processInfoContent);this.setScrollBar(this.detailContentNode)},formatStyles:function(t){t.getElements("[styles]").each(function(t){var e=t.get("styles");if(e&&this.css[e]){t.setStyles(this.css[e])}}.bind(this))},getWorkDetailsItemTemplate:function(t){_self=this;return{workType:{text:t.workType+":",type:"select",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",selectText:t.reportCycleText.split(","),className:"inputSelectUnformatWidth",event:{change:function(e,s){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",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(",")},dutyDepartment:{text:t.dutyDepartment+":",name:"responsibilityOrganizationName"},dutyPerson:{text:t.dutyPerson+":",name:"responsibilityIdentity"},secondDepartment:{text:t.secondDepartment+":",name:"cooperateOrganizationName"},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,size:"min",isSizeChange:true});this.attachment.load()},_ok:function(t,e){},setFormNodeSize:function(t,e,s,i){if(!t)t=this.options.width?this.options.width:"50%";if(!e)e=this.options.height?this.options.height:"50%";if(!s)s=this.options.top?this.options.top:0;if(!i)i=this.options.left?this.options.left:0;var o=this.app.content.getSize();var n=o.x-this.formTopCloseActionNode.getSize().x-this.formTopIconNode.getSize().x-40;this.formTopTextNode.setStyles({width:""+n+"px"});var r=o.x;var a=o.y;"string"==typeof t&&(1<t.length&&"%"==t.substr(t.length-1,1))&&(t=parseInt(r*parseInt(t,10)/100,10));"string"==typeof e&&(1<e.length&&"%"==e.substr(e.length-1,1))&&(e=parseInt(a*parseInt(e,10)/100,10));300>t&&(t=300);220>e&&(e=220);s=s||parseInt((a-e)/2,10);i=i||parseInt((r-t)/2,10);this.formAreaNode.setStyles({width:""+t+"px",height:""+e+"px",top:""+s+"px",left:""+i+"px"});this.formNode.setStyles({width:""+t+"px",height:""+e+"px"});var l=this.formIconNode?this.formIconNode.getSize():{x:0,y:0};var p=this.formTopNode?this.formTopNode.getSize():{x:0,y:0};var d=this.formBottomNode?this.formBottomNode.getSize():{x:0,y:0};var h=e-l.y-p.y-d.y;this.formContentNode.setStyles({height:""+h+"px"});this.formTableContainer.setStyles({height:""+h+"px"});this.detailContentNode.setStyles({height:""+(h-this.detailTopNode.getSize().y)+"px"});if(this.chatContentListNode){this.chatContentListNode.setStyles({height:""+(h-this.chatTopNode.getSize().y-this.chatEditorNode.getSize().y)+"px"})}var c=(h-this.reportTopNode.getSize().y*2)/2;this.reportContentNode.setStyles({height:""+c+"px"});this.questionContentNode.setStyles({height:""+c+"px"})},setContentSize:function(){var t=this.app.content.getSize();var e=this.leftArea.getStyle("width");var s=this.chatArea.getStyle("width");var i=t.x-parseInt(e)-parseInt(s);this.detailArea.setStyles({width:""+i+"px"})},setScrollBar:function(t,e,s,i){if(!e)e="attachment";if(!s){s={V:{x:0,y:0},H:{x:0,y:0}}}MWF.require("MWF.widget.ScrollBar",function(){new MWF.widget.ScrollBar(t,{style:e,offset:s,indent:false});if(i)i()});return false},showErrorMessage:function(t,e,s){var i=s;if(t)errorMessage=t.responseText;if(errorMessage!=""){var o=JSON.parse(errorMessage);if(o.userMessage){this.app.notice(o.userMessage,"error")}else{this.app.notice(i,"error")}}else{this.app.notice(i,"error")}}});
|