| 1 |
- MWF.xDesktop.requireApp("process.Xform","$Module",null,false);MWF.xApplication.process.Xform.Log=MWF.APPLog=new Class({Extends:MWF.APP$Module,_loadUserInterface:function(){this.node.empty();this.node.setStyle("-webkit-user-select","text");if(this.form.businessData){if(this.form.businessData.workLogList){this.workLog=this.form.businessData.workLogList;this.loadWorkLog()}}},loadWorkLog:function(){debugger;if(this.json.mode==="table"){this.loadWorkLogTable()}else if(this.json.mode==="text"){this.loadWorkLogText()}else if(this.json.mode==="media"){this.loadWorkLogMedia()}else{this.loadWorkLogDefault()}},loadWorkLogMedia:function(){this.workLog.each(function(log,idx){if(this.checkShow(log))this.loadWorkLogLine_media(log,idx)}.bind(this))},loadWorkLogLine_media:function(log,idx){if(log.taskCompletedList.length){log.taskCompletedList.each(function(taskCompleted){if(this.checkListShow(log,taskCompleted))this.loadTaskLine_media(taskCompleted,log)}.bind(this))}},loadTaskLine_media:function(task,log){if(task.mediaOpinion){var mediaIds=task.mediaOpinion.split(",");var atts=[];if(this.form.businessData.attachmentList){this.form.businessData.attachmentList.each(function(att){if(att.site==="$mediaOpinion"){if(mediaIds.indexOf(att.id)!==-1)atts.push(att)}}.bind(this))}if(atts.length)this.loadMediaOpinion_show(atts,task)}},loadMediaOpinion_show:function(atts,task){debugger;atts.each(function(att){if(att.type){if(att.type.indexOf("image")!==-1){this.loadMediaOpinion_image_show(att,task)}else if(att.type.indexOf("video")!==-1){this.loadMediaOpinion_video_show(att,task)}else if(att.type.indexOf("audio")!==-1){this.loadMediaOpinion_voice_show(att,task)}else{this.loadMediaOpinion_voice_show(att,task)}}}.bind(this))},loadMediaOpinion_image_show:function(att,task){var url=this.getMediaOpinionUrl(att);var node=new Element("div",{styles:{overflow:"hidden"}}).inject(this.node);var textNode=new Element("div",{styles:{"line-height":"28px",height:"28px"},text:task.person.substring(0,task.person.indexOf("@"))+"("+task.completedTime+")"}).inject(node);var img=new Element("img",{src:url,styles:{"background-color":"#ffffff"}}).inject(node);var height=200;var width=300;if(layout.mobile){width=160;height=240}img.setStyles({width:""+width+"px",height:""+height+"px"})},loadMediaOpinion_video_show:function(att,task){},loadMediaOpinion_voice_show:function(att,task){var url=this.getMediaOpinionUrl(att);var div=new Element("div",{styles:{overflow:"hidden"}}).inject(this.node);var textNode=new Element("div",{styles:{"line-height":"28px",height:"28px"},text:task.person.substring(0,task.person.indexOf("@"))+"("+task.completedTime+")"}).inject(div);var node=new Element("audio",{loop:false,controls:true}).inject(div);node.set("src",url)},loadWorkLogTable:function(){this.workLog.each(function(log,idx){if(this.checkShow(log))this.loadWorkLogLine_table(log,idx)}.bind(this))},loadWorkLogLine_table:function(log,idx){if(log.taskCompletedList.length||log.readList.length||log.readCompletedList.length||this.json.isTask&&log.taskList.length){var logActivityNode=new Element("div",{styles:this.form.css.logActivityNode}).inject(this.node);var titleNode=new Element("div",{styles:this.form.css.logActivityTitleNode}).inject(logActivityNode);var childNode=new Element("div",{styles:this.form.css.logActivityChildNode}).inject(logActivityNode);var iconNode=new Element("div",{styles:this.form.css.logActivityIconNode}).inject(titleNode);var fromAvtivityNode=new Element("div",{styles:this.form.css.logActivityFromNode}).inject(titleNode);var arrowNode=new Element("div",{styles:this.form.css.logActivityArrowNode}).inject(titleNode);var arrivedAvtivityNode=new Element("div",{styles:this.form.css.logActivityArrivedNode}).inject(titleNode);var timeNode=new Element("div",{styles:this.form.css.logActivityTimeNode}).inject(titleNode);if(log.connected){iconNode.setStyle("background-image","url("+"/x_component_process_Xform/$Form/"+this.form.options.style+"/icon/ok14.png)")}else{iconNode.setStyle("background-image","url("+"/x_component_process_Xform/$Form/"+this.form.options.style+"/icon/rightRed.png)")}fromAvtivityNode.set("html","<b>"+log.fromActivityName+"</b>");if(log.arrivedActivityName){arrowNode.setStyle("background-image","url("+"/x_component_process_Xform/$Form/"+this.form.options.style+"/icon/right.png)");arrivedAvtivityNode.set("html","<b>"+log.arrivedActivityName+"</b>");timeNode.set("html","<b>"+MWF.xApplication.process.Xform.LP.begin+": </b>"+log.fromTime+"<br/><b>"+MWF.xApplication.process.Xform.LP.end+": </b>"+log.arrivedTime)}else{timeNode.set("html","<b>"+MWF.xApplication.process.Xform.LP.begin+": </b>"+log.fromTime)}if(idx%2===0){logActivityNode.setStyles(this.form.css.logActivityNode_even);titleNode.setStyles(this.form.css.logActivityTitleNode_even)}var taskTable=new Element("table",{styles:this.form.css.logTableTask,border:"0",cellSpacing:"0",cellpadding:"3px",width:"100%"}).inject(childNode);var tr=taskTable.insertRow(0).setStyles(this.form.css.logTableTaskTitleLine);var td=tr.insertCell(0).setStyles(this.form.css.logTableTaskTitle);td.set("text",MWF.xApplication.process.Xform.LP.person);td=tr.insertCell(1).setStyles(this.form.css.logTableTaskTitle);td.set("text",MWF.xApplication.process.Xform.LP.department);td=tr.insertCell(2).setStyles(this.form.css.logTableTaskTitle);td.set("text",MWF.xApplication.process.Xform.LP.startTime);td=tr.insertCell(3).setStyles(this.form.css.logTableTaskTitle);td.set("text",MWF.xApplication.process.Xform.LP.completedTime);td=tr.insertCell(4).setStyles(this.form.css.logTableTaskTitle);td.set("text",MWF.xApplication.process.Xform.LP.route);td=tr.insertCell(5).setStyles(this.form.css.logTableTaskTitle);td.set("text",MWF.xApplication.process.Xform.LP.opinion);log.taskCompletedList.each(function(taskCompleted){if(this.checkListShow(log,taskCompleted))this.loadTaskLine_table(taskCompleted,taskTable,log,false)}.bind(this));if(this.json.isShowRead!==false){var readNames=[];var readCompletedNames=[];if(log.readList&&log.readList.length){log.readList.each(function(read){readNames.push(MWF.name.cn(read.person))})}if(log.readCompletedList&&log.readCompletedList.length){log.readCompletedList.each(function(read){readCompletedNames.push(MWF.name.cn(read.person))})}this.loadReadLine_default(readNames,readCompletedNames,childNode)}if(this.json.isTask){log.taskList.each(function(task){if(this.checkListShow(log,task))this.loadTaskLine_table(task,taskTable,log,true)}.bind(this))}}},loadTaskLine_table:function(task,table,log,isTask){var style="logTableTaskLine";if(isTask)style="logTableTaskLine_task";var tr=table.insertRow(table.rows.length);var td=tr.insertCell(0).setStyles(this.form.css[style]);td.set("text",task.person.substring(0,task.person.indexOf("@"))||"");td=tr.insertCell(1).setStyles(this.form.css[style]);td.set("text",task.unit.substring(0,task.unit.indexOf("@"))||"");td=tr.insertCell(2).setStyles(this.form.css[style]);td.set("text",task.startTime||"");td=tr.insertCell(3).setStyles(this.form.css[style]);td.set("text",task.completedTime||"");td=tr.insertCell(4).setStyles(this.form.css[style]);td.set("text",task.routeName||"");td=tr.insertCell(5).setStyles(this.form.css[style]);td.set("html","<div style='line-height: 28px; float:left'>"+task.opinion||""+"</div>");if(task.mediaOpinion){var mediaIds=task.mediaOpinion.split(",");var atts=[];if(this.form.businessData.attachmentList){this.form.businessData.attachmentList.each(function(att){if(att.site==="$mediaOpinion"){if(mediaIds.indexOf(att.id)!==-1)atts.push(att)}}.bind(this))}if(atts.length)this.loadMediaOpinion(atts,td.getFirst())}},loadWorkLogText:function(){this.lineClass="logTaskNode";this.workLog.each(function(log,idx){if(this.checkShow(log))this.loadWorkLogLine_text(log,idx)}.bind(this))},loadWorkLogLine_text:function(log,idx){log.taskCompletedList.each(function(taskCompleted){if(this.checkListShow(log,taskCompleted))this.loadTaskLine_text(taskCompleted,this.node,log,false)}.bind(this));if(this.json.isTask){log.taskList.each(function(task){if(this.checkListShow(log,task))this.loadTaskLine_text(task,this.node,log,true)}.bind(this))}},loadTaskLine_text:function(task,node,log,isTask){this.loadTaskLine_default(task,node,log,isTask,"0px",false)},checkShow:function(log){var flag=true;if(this.json.filterScript&&this.json.filterScript.code){this.form.Macro.environment.log=log;this.form.Macro.environment.list=null;flag=this.form.Macro.exec(this.json.filterScript.code,this)}else{if(this.json.filterActivity.length){filterActivitys=this.json.filterActivity;flag=filterActivitys.indexOf(log.fromActivityName)!==-1}if(this.json.filterActivityAlias){if(this.json.filterActivityAlias.length){filterActivityAlias=this.json.filterActivityAlias;flag=log.fromActivityAlias&&filterActivityAlias.indexOf(log.fromActivityAlias)!==-1}}if(this.json.filterPerson.length){flag=false;filterPersons=this.json.filterPerson;var tmpTaskCompletedList=[];log.taskCompletedList.each(function(taskCompleted){if(filterPersons.indexOf(taskCompleted.person)!==-1||filterPersons.indexOf(taskCompleted.identity)!==-1){tmpTaskCompletedList.push(taskCompleted)}}.bind(this));if(tmpTaskCompletedList.length){flag=true}}if(this.json.filterRoute.length){filterRoutes=this.json.filterRoute;flag=filterRoutes.indexOf(log.routeName)!==-1}}return flag},checkListShow:function(log,list){var flag=true;if(this.json.filterScript&&this.json.filterScript.code){this.form.Macro.environment.log=log;this.form.Macro.environment.list=list;flag=this.form.Macro.exec(this.json.filterScript.code,this)}else{if(this.json.filterPerson.length){flag=filterPersons.indexOf(list.person)!==-1||filterPersons.indexOf(list.identity)!==-1}}return flag},loadWorkLogDefault:function(){this.workLog.each(function(log,idx){if(this.checkShow(log))this.loadWorkLogLine_default(log,idx)}.bind(this))},loadWorkLogLine_default:function(log,idx){if(log.taskCompletedList.length||log.readList.length||log.readCompletedList.length||this.json.isTask&&log.taskList.length){var logActivityNode=new Element("div",{styles:this.form.css.logActivityNode}).inject(this.node);var titleNode=new Element("div",{styles:this.form.css.logActivityTitleNode}).inject(logActivityNode);var childNode=new Element("div",{styles:this.form.css.logActivityChildNode}).inject(logActivityNode);var iconNode=new Element("div",{styles:this.form.css.logActivityIconNode}).inject(titleNode);var fromAvtivityNode=new Element("div",{styles:this.form.css.logActivityFromNode}).inject(titleNode);var arrowNode=new Element("div",{styles:this.form.css.logActivityArrowNode}).inject(titleNode);var arrivedAvtivityNode=new Element("div",{styles:this.form.css.logActivityArrivedNode}).inject(titleNode);var readActionNode=new Element("div",{styles:this.form.css.logActivityReadActionNode}).inject(titleNode);var timeNode=new Element("div",{styles:this.form.css.logActivityTimeNode}).inject(titleNode);if(log.connected){iconNode.setStyle("background-image","url(/x_component_process_Xform/$Form/"+this.form.options.style+"/icon/ok14.png)")}else{iconNode.setStyle("background-image","url(/x_component_process_Xform/$Form/"+this.form.options.style+"/icon/rightRed.png)")}fromAvtivityNode.set("html","<b>"+log.fromActivityName+"</b>");if(log.arrivedActivityName){arrowNode.setStyle("background-image","url(/x_component_process_Xform/$Form/"+this.form.options.style+"/icon/right.png)");arrivedAvtivityNode.set("html","<b>"+log.arrivedActivityName+"</b>");timeNode.set("html","<b>"+MWF.xApplication.process.Xform.LP.begin+": </b>"+log.fromTime+"<br/><b>"+MWF.xApplication.process.Xform.LP.end+": </b>"+log.arrivedTime)}else{timeNode.set("html","<b>"+MWF.xApplication.process.Xform.LP.begin+": </b>"+log.fromTime)}if(idx%2===0){logActivityNode.setStyles(this.form.css.logActivityNode_even);titleNode.setStyles(this.form.css.logActivityTitleNode_even)}log.taskCompletedList.each(function(taskCompleted){if(this.checkListShow(log,taskCompleted))this.loadTaskLine_default(taskCompleted,childNode,log,false)}.bind(this));if(this.json.isShowRead!==false){var readNames=[];var readCompletedNames=[];if(log.readList&&log.readList.length){log.readList.each(function(read){readNames.push(MWF.name.cn(read.person))})}if(log.readCompletedList&&log.readCompletedList.length){log.readCompletedList.each(function(read){readCompletedNames.push(MWF.name.cn(read.person))})}this.loadReadLine_default(readNames,readCompletedNames,childNode)}if(this.json.isTask){log.taskList.each(function(task){if(this.checkListShow(log,task))this.loadTaskLine_default(task,childNode,log,true)}.bind(this))}}},loadReadLine_default:function(readNames,readCompletedNames,node){var html="";var logReadNode=new Element("div",{styles:this.form.css.logReadTextNode}).inject(node);if(readNames.length){var readStrTitle=readNames.join(", ");var readStr=readNames.length>20?readNames.slice(0,20).join(", "):readStrTitle;html="<span style='color: #0000ff'>"+(this.json.showReadTitle||MWF.xApplication.process.Xform.LP.showReadTitle)+": </span>"+readStr+"<span> </span>"}if(readCompletedNames.length){var readCompletedStrTitle=readCompletedNames.join(", ");var readCompletedStr=readCompletedNames.length>20?readCompletedNames.slice(0,20).join(", "):readCompletedStrTitle;html+="<span style='color: #0000ff'>"+(this.json.showReadCompletedTitle||MWF.xApplication.process.Xform.LP.showReadCompletedTitle)+": </span>"+readCompletedStr+"<span> </span>"}if(html)logReadNode.set("html",html)},loadTaskLine_default:function(task,node,log,isTask,margin,isZebra,nodeStyle){var style="logTaskNode";if(nodeStyle)style="logTaskTextNode";var logTaskNode=new Element("div",{styles:this.form.css[style]}).inject(node);var iconNode=new Element("div",{styles:this.form.css.logTaskIconNode}).inject(logTaskNode);var textNode=new Element("div",{styles:this.form.css.logTaskTextNode}).inject(logTaskNode);if(isZebra){logTaskNode.setStyles(this.form.css[this.lineClass]);if(this.lineClass==="logTaskNode"){this.lineClass="logTaskNode_even"}else{this.lineClass="logTaskNode"}}if(margin)iconNode.setStyle("margin-left",margin);var left=iconNode.getStyle("margin-left").toInt();left=left+28;var html;var company="";if(!isTask){company=task.unitList?task.unitList[task.unitList.length-1]:"";html=this.json.textStyle;html=html.replace(/\{person\}/g,task.person.substring(0,task.person.indexOf("@")));html=html.replace(/\{department\}/g,task.unit.substring(0,task.unit.indexOf("@")));html=html.replace(/\{route\}/g,task.routeName);html=html.replace(/\{time\}/g,task.completedTime);html=html.replace(/\{date\}/g,(new Date).parse(task.completedTime).format("%Y-%m-%d"));html=html.replace(/\{opinion\}/g,task.opinion);html=html.replace(/\{company\}/g,company.substring(0,company.indexOf("@")));html=html.replace(/\{startTime\}/g,task.startTime);html=html.replace(/\{startDate\}/g,(new Date).parse(task.startTime).format("%Y-%m-%d"));html=html.replace(/\{activity\}/g,log.fromActivityName);html=html.replace(/\{arrivedActivity\}/g,task.arrivedActivityName);textNode.set("html",html);if(task.mediaOpinion){var mediaIds=task.mediaOpinion.split(",");var atts=[];if(this.form.businessData.attachmentList){this.form.businessData.attachmentList.each(function(att){if(att.site==="$mediaOpinion"){if(mediaIds.indexOf(att.id)!==-1)atts.push(att)}}.bind(this))}if(atts.length)this.loadMediaOpinion(atts,textNode)}}else{html=task.person.substring(0,task.person.indexOf("@"))+"("+task.unit.substring(0,task.unit.indexOf("@"))+")"+MWF.xApplication.process.Xform.LP.processing+", "+MWF.xApplication.process.Xform.LP.comeTime+": "+task.startTime;textNode.set("html",html);iconNode.setStyle("background-image","url("+"/x_component_process_Xform/$Form/"+this.form.options.style+"/icon/rightRed.png)")}},loadMediaOpinion:function(atts,node){atts.each(function(att){if(!att.type)att.type="image";if(att.type.indexOf("image")!==-1){this.loadMediaOpinion_image(att,node)}else if(att.type.indexOf("video")!==-1){this.loadMediaOpinion_video(att,node)}else if(att.type.indexOf("audio")!==-1){this.loadMediaOpinion_voice(att,node)}else{this.loadMediaOpinion_image(att,node)}}.bind(this))},getMediaOpinionUrl:function(att){var action=MWF.Actions.get("x_processplatform_assemble_surface");var url=action.action.actions["getAttachmentStream"].uri;if(!this.form.businessData.work){url=action.action.actions["getWorkcompletedAttachmentStream"].uri;url=url.replace("{id}",att.id);url=url.replace("{workCompletedId}",this.form.businessData.workCompleted.id)}else{url=url.replace("{id}",att.id);url=url.replace("{workid}",this.form.businessData.work.id)}url=action.action.address+url;return url},loadMediaOpinion_image:function(att,node){var iconNode=new Element("div",{styles:this.form.css.logMediaIcon}).inject(node.getParent());iconNode.setStyle("background-image","url('"+this.form.path+this.form.options.style+"/icon/image.png')");iconNode.set("title",MWF.xApplication.process.Xform.LP.mediaOpinion_image);iconNode.addEvents({click:function(e){if(e.target.mediaOpinionContentNode)return"";debugger;var url=this.getMediaOpinionUrl(att);var imgNode=new Element("div",{styles:this.form.css.logMediaOpinionContent}).inject(node.getParent(),"after");if(!layout.mobile)imgNode.setStyle("margin-left","40px");e.target.mediaOpinionContentNode=imgNode;var imgCloseNode=new Element("div",{styles:this.form.css.logMediaOpinionContentClose}).inject(imgNode);imgCloseNode.addEvent("click",function(){imgNode.destroy();e.target.mediaOpinionContentNode=""});var imgAreaNode=new Element("div",{styles:this.form.css.logMediaOpinionContentArea}).inject(imgNode);var height=260;var width=390;if(layout.mobile){width=node.getParent().getParent().getSize().x-2;height=width*2/3}var img=new Element("img",{src:url}).inject(imgAreaNode);img.setStyles({width:""+width+"px",height:""+height+"px"});imgNode.setStyles({width:""+width+"px",height:""+height+"px"});var p=iconNode.getPosition(this.form.app.content);var s=iconNode.getSize();var size=layout.mobile?{x:width,y:height}:imgNode.getSize();var contentSize=this.form.app.content.getSize();var contentScroll=layout.mobile?document.body.getFirst().getScroll():{x:0,y:0};var y=p.y-size.y;var x=p.x+s.x/2-size.x/2;if(x<10)x=10;if(x+size.x>contentSize.x-10)x=contentSize.x-size.x-20;if(y+size.y>contentSize.y-10)y=contentSize.y-size.y-20;if(y<10)y=10;y=y+contentScroll.y;if(layout.mobile){x=0}e.stopPropagation()}.bind(this)})},hideMediaOpinionNode:function(){if(this.mediaOpinionContentNode){this.mediaOpinionContentNode.destroy();this.mediaOpinionContentNode=null}},loadMediaOpinion_video:function(att,node){var iconNode=new Element("div",{styles:this.form.css.logMediaIcon}).inject(node.getParent());iconNode.setStyle("background-image","url('"+this.form.path+this.form.options.style+"/icon/video.png')");iconNode.set("title",MWF.xApplication.process.Xform.LP.mediaOpinion_video)},loadMediaOpinion_voice:function(att,node){var iconNode=new Element("div",{styles:this.form.css.logMediaIcon}).inject(node.getParent());iconNode.setStyle("background-image","url('"+this.form.path+this.form.options.style+"/icon/voice.png')");iconNode.set("title",MWF.xApplication.process.Xform.LP.mediaOpinion_voice);iconNode.addEvents({click:function(e){var url=this.getMediaOpinionUrl(att);this.audioNode=new Element("audio",{loop:false});this.audioNode.set("src",url);this.audioNode.play();e.stopPropagation()}.bind(this)})}});
|