| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528 |
- MWF.xApplication.Report.StrategyExplorer.Print = new Class({
- Implements: [Options, Events],
- options: {
- "style": "default",
- "isEdited" : false,
- "status" : ""
- },
- initialize: function (container, explorer, data, options){
- this.setOptions( options );
- this.container = container;
- this.explorer = explorer;
- this.app = this.explorer.app;
- this.lp = this.app.lp;
- this.css = this.explorer.css;
- this.actions = this.app.restActions;
- this.data = data;
- this.path = "../x_component_Report/$StrategyExplorer/";
- },
- load: function(){
- if( this.data.detail.opinions ){
- var opinions = JSON.parse( this.data.detail.opinions );
- if( typeOf(opinions) == "array" ){
- this.loadOpinion();
- }
- }
- this._load();
- },
- loadOpinion : function(){
- var table = new Element( "table", {
- "width":"96%",
- "border":"0",
- "cellpadding":"5",
- "cellspacing":"0",
- "styles" : this.css.formTable
- }).inject( this.explorer.ideaContainer );
- var tr = new Element("tr").inject( table );
- var td = new Element("td", {
- "styles": this.css.formTableTitle,
- "text" : "领导意见"
- }).inject( tr );
- td.setStyle("width","14%");
- var td = new Element("td", {
- "styles": this.css.formTableValue
- }).inject( tr );
- var opin = this.data.detail.opinions;
- if( opin ){
- var opinions = JSON.parse( opin );
- if( typeOf(opinions) == "array" ){
- var div = new Element("div").inject(td);
- opinions.each( function(o){
- var table1 = new Element( "table", {
- "width":"100%",
- "border":"0",
- "cellpadding":"0",
- "cellspacing":"0"
- }).inject( div );
- var tr1 = new Element("tr").inject( table1 );
- var td1 = new Element("td", {
- "text" : o.identity.split("@")[0] + ":"
- }).inject( tr1 );
- td1.setStyle("width","50px");
- td1 = new Element("td", {
- "text" : ( o.content ? this.app.common.replaceWithBr(o.content) : "已阅" ) + " (" + o.datetime + ")"
- }).inject( tr1 );
- }.bind(this));
- }
- }
- },
- _load: function () {
- //this.node = new Element("div", {
- // styles : this.css.deplymentNode
- //}).inject( this.container );
- this.month = parseInt(this.data.month);
- var table = this.table = new Element( "table", {
- "width":"100%",
- "border":"0",
- "cellpadding":"5",
- "cellspacing":"0",
- "styles" : this.css.formTable
- }).inject( this.explorer.totalContainer );
- var tr = new Element("tr").inject( table );
- new Element("td", { rowspan : 2, "width" : "30", "styles": this.css.formTableTitle, text : "序号" }).inject( tr );
- new Element("td", {
- "colspan" : 3,
- "text" : this.data.year + "年" + parseInt( this.data.month ) + "月工作总结",
- "styles": this.css.formTableTitle
- }).inject( tr );
- //var nextMonth = new Date( this.data.year, this.data.month, 1 ).increment("month", 1);
- //var text = nextMonth.getFullYear() + "年" + (nextMonth.getMonth()) + "月工作计划";
- var nextMonth = new Date( this.data.year, parseInt( this.data.month ) - 1, 1 ).increment("month", 1);
- var text = nextMonth.getFullYear() + "年" + (nextMonth.getMonth() + 1) + "月工作计划";
- new Element("td", {
- "colspan" : 2,
- "text" : text,
- "styles": this.css.formTableTitle
- }).inject( tr );
- new Element("td", {
- rowspan : 2,
- "width" : "200",
- "text" : "服务客户",
- "styles": this.css.formTableTitle
- }).inject( tr );
- new Element("td", {
- rowspan : 2,
- "width" : "200",
- "text" : "关爱员工",
- "styles": this.css.formTableTitle
- }).inject( tr );
- new Element("td", {
- rowspan : 2,
- "width" : "200",
- "text" : "意见建议",
- "styles": this.css.formTableTitle
- }).inject( tr );
- var tr = new Element("tr").inject( table );
- new Element("td", {
- "text" : "部门重点工作",
- "width" : "200",
- "styles": this.css.formTableTitle
- }).inject( tr );
- new Element("td", {
- "text" : "计划",
- "width" : "200",
- "styles": this.css.formTableTitle
- }).inject( tr );
- new Element("td", {
- "text" : "总结",
- "width" : "200",
- "styles": this.css.formTableTitle
- }).inject( tr );
- new Element("td", {
- "text" : "部门重点工作",
- "width" : "200",
- "styles": this.css.formTableTitle
- }).inject( tr );
- new Element("td", {
- "text" : "计划",
- "width" : "200",
- "styles": this.css.formTableTitle
- }).inject( tr );
- this.loadContent()
- },
- loadContent : function(){
- var arr = this.getTableData();
- arr.each( function( d, i ){
- var tr = new Element("tr").inject( this.table );
- new Element("td", {
- "text" : d.sequence,
- "align" : "center",
- "styles": this.css.formTableValue
- }).inject( tr );
- var td = new Element("td", {
- "valign" : "top",
- "html" : this.app.common.replaceWithBr(d.thisMonth.title),
- "styles": this.css.formTableValue
- }).inject( tr );
- if( d.thisMonth.measuresList.length ){
- var showMeasureNode = new Element("input",{
- "type" : "button",
- "styles" : this.css.showMeasureNode2,
- "value" : "查看举措"
- }).inject( td );
- var tooltip = new MWF.xApplication.Report.ShowMeasureTooltip( this.app.content, showMeasureNode, this.app, this.data, {
- style : "report",
- position : { x : "auto", y : "auto" },
- event : "click"
- });
- tooltip.measuresList = d.thisMonth.measuresList;
- }
- new Element("td", {
- "valign" : "top",
- "html" : this.app.common.replaceWithBr(d.thisMonth.plan),
- "styles": this.css.formTableValue
- }).inject( tr );
- td = new Element("td", {
- "valign" : "top",
- "styles": this.css.formTableValue
- }).inject( tr );
- if( this.options.status == "deployment" ){
- }else if( this.options.status == "write" ){
- var div = new Element("div").inject(td);
- this.loadThisMontWorkProg( div, i, false );
- }else if( this.options.status == "confirm" ){
- //var div = new Element("div").inject(td);
- //this.loadThisMontWorkProg( div, i, true );
- td.set("html" , this.app.common.replaceWithBr(d.thisMonth.prog))
- }else if( this.options.status == "audit" ){
- td.set("html" , this.app.common.replaceWithBr(d.thisMonth.prog))
- }else if( this.options.status == "summary" ){
- td.set("html" , this.app.common.replaceWithBr(d.thisMonth.prog))
- }
- td = new Element("td", {
- "valign" : "top",
- "styles": this.css.formTableValue
- }).inject( tr );
- if( this.options.status == "deployment" ){
- }else if( this.options.status == "write" ){
- var div = new Element("div").inject(td);
- this.loadNextMontWorkTitle( div, i, false );
- }else if( this.options.status == "confirm" ){
- //var div = new Element("div").inject(td);
- //this.loadNextMontWorkTitle( div, i, true );
- td.set("html" , this.app.common.replaceWithBr(d.nextMonth.title))
- }else if( this.options.status == "audit" ){
- td.set("html" , this.app.common.replaceWithBr(d.nextMonth.title))
- }else if( this.options.status == "summary" ){
- td.set("html" , this.app.common.replaceWithBr(d.nextMonth.title))
- }
- if( this.options.status == "confirm" || this.options.status == "audit" ){
- if( d.nextMonth.measuresList.length ){
- var showMeasureNode = new Element("input",{
- "type" : "button",
- "styles" : this.css.showMeasureNode2,
- "value" : "查看举措"
- }).inject( td );
- var tooltip = new MWF.xApplication.Report.ShowMeasureTooltip( this.app.content, showMeasureNode, this.app, this.data, {
- style : "report",
- nextMonth : true,
- position : { x : "auto", y : "auto" },
- event : "click"
- });
- tooltip.measuresList = d.nextMonth.measuresList;
- }
- }
- td = new Element("td", {
- "valign" : "top",
- "styles": this.css.formTableValue
- }).inject( tr );
- if( this.options.status == "deployment" ){
- }else if( this.options.status == "write" ){
- var div = new Element("div").inject(td);
- this.loadNextMontWorkPlan( div, i, false );
- }else if( this.options.status == "confirm" ){
- //var div = new Element("div").inject(td);
- //this.loadNextMontWorkPlan( div, i, true );
- td.set("html" , this.app.common.replaceWithBr(d.nextMonth.plan))
- }else if( this.options.status == "audit" ){
- td.set("html" , this.app.common.replaceWithBr(d.nextMonth.plan))
- }else if( this.options.status == "summary" ){
- td.set("html" , this.app.common.replaceWithBr(d.nextMonth.plan))
- }
- this.loadExtTd( d, tr, i, "fuwu" );
- this.loadExtTd( d, tr, i, "guanai" );
- this.loadExtTd( d, tr, i, "yijian" );
- }.bind(this))
- },
- loadExtTd : function( d, tr, i, type ){
- var td;
- if( this.options.status == "deployment" ){
- td = new Element("td", {
- "valign" : "top",
- "styles": this.css.formTableValue
- }).inject( tr );
- }else if( this.options.status == "write" ){
- //if( i == 0 ){
- // td = new Element("td", {
- // "valign" : "top",
- // "styles": this.css.formTableValue,
- // "rowspan" : "5"
- // }).inject( tr );
- // var div = new Element("div").inject(td);
- // this.loadExtWork( div, false, type );
- //}
- td = new Element("td", {
- "valign" : "top",
- "styles": this.css.formTableValue
- }).inject( tr );
- this.loadExtWork_write( td, false, type, i );
- }else if( this.options.status == "confirm" ){
- //if( i == 0 ){
- // td = new Element("td", {
- // "valign" : "top",
- // "styles": this.css.formTableValue,
- // "rowspan" : "5"
- // }).inject( tr );
- // var div = new Element("div").inject(td);
- // this.loadExtWork( div, true, type );
- //}
- td = new Element("td", {
- "valign" : "top",
- "styles": this.css.formTableValue
- }).inject( tr );
- td.set("html" , this.app.common.replaceWithBr(d.extWork[type]))
- }else if( this.options.status == "audit" ){
- td = new Element("td", {
- "valign" : "top",
- "styles": this.css.formTableValue
- }).inject( tr );
- td.set("html" , this.app.common.replaceWithBr(d.extWork[type]))
- }else if( this.options.status == "summary" ){
- td = new Element("td", {
- "valign" : "top",
- "styles": this.css.formTableValue
- }).inject( tr );
- td.set("html" , this.app.common.replaceWithBr(d.extWork[type]))
- }
- },
- loadExtWork_write : function( container, hasSummary, type, i ){
- var table;
- if( !this.ExtWorkData ){
- var work = this.ExtWorkData = this.data.WoReport_I_Ext_Contents || [];
- this.ExtWorkObject = {};
- work.sort( function( a, b ){
- var flag = a.targetPerson.localeCompare(b.targetPerson);
- if( flag == 0 ){ //相等
- return a.orderNumber - b.orderNumber;
- }else{
- return flag;
- }
- });
- work.each( function( w ){
- if( ! this.ExtWorkObject[ w.orderNumber ] ) {
- this.ExtWorkObject[ w.orderNumber ] = [];
- }
- this.ExtWorkObject[ w.orderNumber].push( w );
- }.bind(this))
- }
- table = new Element( "table", {
- "width":"100%", "border":"0", "cellpadding":"3", "cellspacing":"0"
- }).inject( container );
- if( this.ExtWorkObject[ i + 1] ){
- this.ExtWorkObject[ i + 1].each( function(d){
- if( d[type] ){
- var tr = new Element("tr").inject( table );
- new Element("td", { "width" : "40", text : d.targetPerson.split("@")[0] + ":" }).inject( tr );
- var td = new Element("td", { }).inject( tr );
- td.set("html" , this.app.common.replaceWithBr( d[type] ))
- }
- }.bind(this))
- }
- //this.ExtWorkData.each( function( d ){
- // if( d[type] ){
- // var tr = new Element("tr").inject( table );
- // new Element("td", { "width" : "40", text : d.targetPerson.split("@")[0] + ":" }).inject( tr );
- // var td = new Element("td", { }).inject( tr );
- // td.set("html" , this.app.common.replaceWithBr( d[type] ))
- // }
- //}.bind(this));
- if( hasSummary && table ){
- var table = new Element( "table", {
- "width":"100%", "border":"0", "cellpadding":"3", "cellspacing":"0", "styles" : this.css.formTable
- }).inject( container );
- this.data.WoReport_I_Ext_Contents_sumamry.each( function( d ){
- if( d[type] ){
- var tr = new Element("tr").inject( table );
- new Element("td", { "width" : "40", text : "汇总:" }).inject( tr );
- var td = new Element("td", { }).inject( tr );
- td.set("html" , this.app.common.replaceWithBr( d[type] ))
- }
- }.bind(this));
- }
- },
- //loadExtWork : function( container, hasSummary, type ){
- // var table;
- // if( !this.ExtWorkData ){
- // var work = this.ExtWorkData = this.data.WoReport_I_Ext_Contents || [];
- // work.sort( function( a, b ){
- // var flag = a.targetPerson.localeCompare(b.targetPerson);
- // if( flag == 0 ){ //相等
- // return a.orderNumber - b.orderNumber;
- // }else{
- // return flag;
- // }
- // });
- // }
- // table = new Element( "table", {
- // "width":"100%", "border":"0", "cellpadding":"3", "cellspacing":"0"
- // }).inject( container );
- // this.ExtWorkData.each( function( d ){
- // if( d[type] ){
- // var tr = new Element("tr").inject( table );
- // new Element("td", { "width" : "40", text : d.targetPerson.split("@")[0] + ":" }).inject( tr );
- // var td = new Element("td", { }).inject( tr );
- // td.set("html" , this.app.common.replaceWithBr( d[type] ))
- // }
- // }.bind(this));
- // if( hasSummary && table ){
- // var table = new Element( "table", {
- // "width":"100%", "border":"0", "cellpadding":"3", "cellspacing":"0", "styles" : this.css.formTable
- // }).inject( container );
- // this.data.WoReport_I_Ext_Contents_sumamry.each( function( d ){
- // if( d[type] ){
- // var tr = new Element("tr").inject( table );
- // new Element("td", { "width" : "40", text : "汇总:" }).inject( tr );
- // var td = new Element("td", { }).inject( tr );
- // td.set("html" , this.app.common.replaceWithBr( d[type] ))
- // }
- // }.bind(this));
- // }
- //},
- loadThisMontWorkProg : function( container, idx, hasSummary ){
- var table;
- var work = this.data.thisMonth_workList[idx];
- if( work && work.progList && work.progList.length > 0 ){
- table = new Element( "table", {
- "width":"100%", "border":"0", "cellpadding":"3", "cellspacing":"0"
- }).inject( container );
- work.progList.each( function( d ){
- if( d.progressContent ){
- var tr = new Element("tr").inject( table );
- new Element("td", { "width" : "40", text : d.targetPerson.split("@")[0]+ ":" }).inject( tr );
- var td = new Element("td", { }).inject( tr );
- td.set("html" , this.app.common.replaceWithBr(d.progressContent))
- }
- }.bind(this));
- }
- if( hasSummary && table){
- var tr = new Element("tr").inject( table );
- new Element("td", { "width" : "40", text : "汇总:" }).inject( tr );
- var td = new Element("td", { }).inject( tr );
- td.set("html" , this.app.common.replaceWithBr( work.workProgSummary))
- }
- },
- loadNextMontWorkTitle : function( container, idx, hasSummary ){
- var work = this.data.nextMonth_workList[idx];
- var table;
- if( work && work.planNextList && work.planNextList.length > 0 ){
- table = new Element( "table", {
- "width":"100%", "border":"0", "cellpadding":"3", "cellspacing":"0", "styles" : this.css.formTable
- }).inject( container );
- work.planNextList.each( function( d ){
- if( d.title ){
- var tr = new Element("tr").inject( table );
- new Element("td", { "width" : "40", text : d.targetPerson.split("@")[0]+ ":" }).inject( tr );
- var td = new Element("td", { }).inject( tr );
- td.set("html" , this.app.common.replaceWithBr(d.title))
- }
- }.bind(this));
- }
- if( hasSummary && table){
- var tr = new Element("tr").inject( table );
- new Element("td", { "width" : "40", text : "汇总:" }).inject( tr );
- var td = new Element("td", { }).inject( tr );
- td.set("html" , this.app.common.replaceWithBr( work.workTitle ))
- }
- },
- loadNextMontWorkPlan : function( container, idx, hasSummary ){
- var work = this.data.nextMonth_workList[idx];
- var table;
- if( work && work.planNextList && work.planNextList.length > 0 ){
- table = new Element( "table", {
- "width":"100%", "border":"0", "cellpadding":"3", "cellspacing":"0", "styles" : this.css.formTable
- }).inject( container );
- work.planNextList.each( function( d ){
- if( d.planContent ){
- var tr = new Element("tr").inject( table );
- new Element("td", { "width" : "40", text : d.targetPerson.split("@")[0]+ ":" }).inject( tr );
- var td = new Element("td", { }).inject( tr );
- td.set("html" , this.app.common.replaceWithBr(d.planContent))
- }
- }.bind(this));
- }
- if( hasSummary && table){
- var tr = new Element("tr").inject( table );
- new Element("td", { "width" : "40", text : "汇总:" }).inject( tr );
- var td = new Element("td", { }).inject( tr );
- td.set("html" , this.app.common.replaceWithBr( work.workPlanSummary))
- }
- },
- getTableData : function(){
- this.tableData = [];
- for( var i=0; i<5; i++ ){
- var extWorkData = this.data.WoReport_I_Ext_Contents_sumamry ? this.data.WoReport_I_Ext_Contents_sumamry[i] : null;
- var thisMonthData = this.data.thisMonth_workList ? this.data.thisMonth_workList[i] : null;
- var nextMonthData = this.data.nextMonth_workList ? this.data.nextMonth_workList[i] : null;
- var object = {
- sequence : i+1,
- thisMonth : {
- title : thisMonthData ? thisMonthData.workTitle : "",
- plan : thisMonthData ? thisMonthData.workPlanSummary : "",
- prog : thisMonthData ? thisMonthData.workProgSummary : "",
- measuresList : thisMonthData ? thisMonthData.measuresList : []
- },
- nextMonth : {
- title : nextMonthData ? nextMonthData.workTitle : "",
- plan : nextMonthData ? nextMonthData.workPlanSummary : "",
- measuresList : nextMonthData ? nextMonthData.measuresList : []
- },
- extWork : {
- fuwu : extWorkData ? extWorkData.fuwu : "",
- guanai : extWorkData ? extWorkData.guanai : "",
- yijian : extWorkData ? extWorkData.yijian : ""
- }
- };
- this.tableData.push( object );
- }
- return this.tableData;
- }
- });
|