| 1 |
- MWF.xDesktop.requireApp("Attendance","Explorer",null,false);MWF.xDesktop.requireApp("Template","MDomItem",null,false);MWF.xDesktop.requireApp("Selector","package",null,false);MWF.xApplication.Attendance.StatisticsCycle=new Class({Extends:MWF.xApplication.Attendance.Explorer,Implements:[Options,Events],initialize:function(e,t,i,s){this.setOptions(s);this.app=t;this.path="/x_component_Attendance/$StatisticsCycle/";this.cssPath="/x_component_Attendance/$StatisticsCycle/"+this.options.style+"/css.wcss";this._loadCss();this.actions=i;this.node=$(e);this.initData();if(!this.personActions)this.personActions=new MWF.xAction.org.express.RestActions},loadView:function(){this.view=new MWF.xApplication.Attendance.StatisticsCycle.View(this.elementContentNode,this.app,this,this.viewData,this.options.searchKey);this.view.load();this.setContentSize()},createDocument:function(){if(this.view)this.view._createDocument()}});MWF.xApplication.Attendance.StatisticsCycle.View=new Class({Extends:MWF.xApplication.Attendance.Explorer.View,_createItem:function(e){return new MWF.xApplication.Attendance.StatisticsCycle.Document(this.table,e,this.explorer,this)},_getCurrentPageData:function(t,e){this.actions.listCycle(function(e){if(t)t(e)})},_removeDocument:function(e,t){this.actions.deleteCycle(e.id,function(e){this.explorer.view.reload();this.app.notice(this.app.lp.deleteDocumentOK,"success")}.bind(this))},_createDocument:function(){var e=new MWF.xApplication.Attendance.StatisticsCycle.Form(this.explorer);e.create()},_openDocument:function(e){var t=new MWF.xApplication.Attendance.StatisticsCycle.Form(this.explorer,e);t.edit()}});MWF.xApplication.Attendance.StatisticsCycle.Document=new Class({Extends:MWF.xApplication.Attendance.Explorer.Document});MWF.xApplication.Attendance.StatisticsCycle.Form=new Class({Extends:MWF.xApplication.Attendance.Explorer.PopupForm,options:{width:600,height:600,hasTop:true,hasBottom:true,title:"",draggable:true,closeAction:true},_createTableContent:function(){var e=this.app.lp.schedule;var t="<table width='100%' bordr='0' cellpadding='5' cellspacing='0' styles='formTable'>"+"<tr><td colspan='2' styles='formTableHead'>统计周期设置</td></tr>"+"<tr><td styles='formTabelTitle' lable='topUnitName'></td>"+" <td styles='formTableValue'>"+" <div item='topUnitName'></div>"+" <div style='font-size: 12px;color: #999;'>双击选择,填写'*'匹配所有公司</div>"+" </td></tr>"+"<tr><td styles='formTabelTitle' lable='unitName'></td>"+" <td styles='formTableValue'>"+" <div item='unitName'></div>"+" <div style='font-size: 12px;color: #999;'>双击选择,填写'*'匹配所有部门</div>"+" </td></tr>"+"<tr><td styles='formTabelTitle' lable='cycleYear'></td>"+" <td styles='formTableValue' item='cycleYear'></td></tr>"+"<tr><td styles='formTabelTitle' lable='cycleMonth'></td>"+" <td styles='formTableValue' item='cycleMonth'></td></tr>"+"<tr><td styles='formTabelTitle' lable='cycleStartDateString'></td>"+" <td styles='formTableValue' item='cycleStartDateString'></td></tr>"+"<tr><td styles='formTabelTitle' lable='cycleEndDateString'></td>"+" <td styles='formTableValue' item='cycleEndDateString'></td></tr>"+"<tr><td styles='formTabelTitle' lable='description'></td>"+" <td styles='formTableValue' item='description'></td></tr>"+"</table>";this.formTableArea.set("html",t);MWF.xDesktop.requireApp("Template","MForm",function(){this.form=new MForm(this.formTableArea,this.data,{isEdited:this.isEdited||this.isNew,itemTemplate:{topUnitName:{text:"统计公司",tType:"unit",unsetDefaultEvent:true,event:{dblclick:function(e,t){e.selectPerson(e.getElements()[0],"","unit")}}},unitName:{text:"统计部门",tType:"unit",unsetDefaultEvent:true,event:{dblclick:function(e,t){e.selectPerson(e.getElements()[0],"","unit")}}},cycleYear:{text:"统计周期年份",type:"select",notEmpty:true,defaultValue:(new Date).getFullYear(),selectValue:function(){var e=[];var t=(new Date).getFullYear()+5;for(var i=0;i<10;i++){e.push(t--)}return e}},cycleMonth:{text:"统计周期月份",type:"select",notEmpty:true,selectValue:["01","02","03","04","05","06","07","08","09","10","11","12"]},cycleStartDateString:{text:"开始日期",tType:"date"},cycleEndDateString:{text:"结束日期",tType:"date"},description:{text:"说明备注",type:"textarea"}}},this.app);this.form.load()}.bind(this),true)},_ok:function(e,t){this.app.restActions.saveCycle(e,function(e){if(t)t(e)}.bind(this))}});MWF.xApplication.Attendance.StatisticsCycle.StatisticsCycle2=new Class({Extends:MWF.widget.Common,options:{width:"600",height:"600"},initialize:function(e,t){this.explorer=e;this.app=e.app;this.data=t||{};this.css=this.explorer.css;this.load()},load:function(){},open:function(e){this.isNew=false;this.isEdited=false},create:function(){this.isNew=true;this._open()},edit:function(){this.isEdited=true;this._open()},_open:function(){this.createMarkNode=new Element("div",{styles:this.css.createMarkNode,events:{mouseover:function(e){e.stopPropagation()},mouseout:function(e){e.stopPropagation()}}}).inject(this.app.content,"after");this.createAreaNode=new Element("div",{styles:this.css.createAreaNode});this.createNode();this.createAreaNode.inject(this.createMarkNode,"after");this.createAreaNode.fade("in");this.setCreateNodeSize();this.setCreateNodeSizeFun=this.setCreateNodeSize.bind(this);this.addEvent("resize",this.setCreateNodeSizeFun)},createNode:function(){var i=this;this.createNode=new Element("div",{styles:this.css.createNode}).inject(this.createAreaNode);this.createIconNode=new Element("div",{styles:this.isNew?this.css.createNewNode:this.css.createIconNode}).inject(this.createNode);this.createFormNode=new Element("div",{styles:this.css.createFormNode}).inject(this.createNode);this.createTableContainer=new Element("div",{styles:this.css.createTableContainer}).inject(this.createFormNode);this.createTableArea=new Element("div",{styles:this.css.createTableArea}).inject(this.createTableContainer);var e=new Element("table",{width:"100%",height:"250",border:"0",cellpadding:"5",cellspacing:"0",styles:this.css.editTable,class:"editTable"}).inject(this.createTableArea);var t=this.data;var s=new Element("tr").inject(e);var n=new Element("td",{styles:this.css.editTableHead,colspan:"4",text:"统计周期设置"}).inject(s);var s=new Element("tr").inject(e);var n=new Element("td",{styles:this.css.editTableTitle,text:"公司名称:"}).inject(s);var n=new Element("td",{styles:this.css.editTableValue}).inject(s);if(!this.isNew&&!this.isEdited){n.set("text",t.topUnitName)}else{this.topUnitName=new MDomItem(n,{name:"topUnitName",value:t.topUnitName,style:this.css.inputPersonStyle,event:{dblclick:function(e){i.selectPeople(this,"topUnit",e.get("value").split(","))}}},true,this.app);this.topUnitName.load();new Element("div",{text:"双击选择,填写'*'匹配所有公司",styles:{color:"#ccc"}}).inject(n)}var s=new Element("tr").inject(e);var n=new Element("td",{styles:this.css.editTableTitle,text:"部门名称:"}).inject(s);var n=new Element("td",{styles:this.css.editTableValue}).inject(s);if(!this.isNew&&!this.isEdited){n.set("text",t.unitName)}else{this.unitName=new MDomItem(n,{name:"unitName",value:t.unitName,style:this.css.inputPersonStyle,event:{dblclick:function(e){i.selectPeople(this,"unit",e.get("value").split(","))}}},true,this.app);this.unitName.load();new Element("div",{text:"双击选择,填写'*'匹配所有部门",styles:{color:"#ccc"}}).inject(n)}var s=new Element("tr").inject(e);var n=new Element("td",{styles:this.css.editTableTitle,text:"统计周期年份:"}).inject(s);var n=new Element("td",{styles:this.css.editTableValue}).inject(s);if(!this.isNew&&!this.isEdited){n.set("text",t.cycleYear||"")}else{this.cycleYear=new MDomItem(n,{name:"cycleYear",type:"select",value:t.cycleYear||(new Date).getFullYear(),selectValue:function(){var e=[];var t=(new Date).getFullYear()+5;for(var i=0;i<10;i++){e.push(t--)}return e}},true,this.app);this.cycleYear.load()}var s=new Element("tr").inject(e);var n=new Element("td",{styles:this.css.editTableTitle,text:"统计周期月份:"}).inject(s);var n=new Element("td",{styles:this.css.editTableValue}).inject(s);if(!this.isNew&&!this.isEdited){n.set("text",t.cycleMonth||"")}else{this.cycleMonth=new MDomItem(n,{name:"cycleMonth",type:"select",value:t.cycleMonth,selectValue:["01","02","03","04","05","06","07","08","09","10","11","12"]},true,this.app);this.cycleMonth.load()}var s=new Element("tr").inject(e);var n=new Element("td",{styles:this.css.editTableTitle,text:"开始日期:"}).inject(s);var n=new Element("td",{styles:this.css.editTableValue}).inject(s);this.cycleStartDateString=new MDomItem(n,{name:"cycleStartDateString",value:t.cycleStartDateString,style:this.css.inputTimeStyle,event:{click:function(e){var t=new Date(i.cycleYear.getValue()+"-"+i.cycleMonth.getValue()+"-"+"01");i.selectDateTime(this,false,false,t.decrement("month",1))}}},true,this.app);this.cycleStartDateString.load();var s=new Element("tr").inject(e);var n=new Element("td",{styles:this.css.editTableTitle,text:"结束日期:"}).inject(s);var n=new Element("td",{styles:this.css.editTableValue}).inject(s);this.cycleEndDateString=new MDomItem(n,{name:"cycleEndDateString",value:t.cycleEndDateString,style:this.css.inputTimeStyle,event:{click:function(e){var t=new Date(i.cycleYear.getValue()+"-"+i.cycleMonth.getValue()+"-"+"01");i.selectDateTime(this,false,false,t)}}},true,this.app);this.cycleEndDateString.load();var s=new Element("tr").inject(e);var n=new Element("td",{styles:this.css.editTableTitle,text:"说明备注:"}).inject(s);var n=new Element("td",{styles:this.css.editTableValue}).inject(s);this.description=new MDomItem(n,{type:"textarea",name:"description",value:t.description,style:this.css.inputTextAreaStyle},true,this.app);this.description.load();this.cancelActionNode=new Element("div",{styles:this.css.createCancelActionNode,text:"取消"}).inject(this.createFormNode);this.cancelActionNode.addEvent("click",function(e){this.cancelCreate(e)}.bind(this));if(this.isNew||this.isEdited){this.createOkActionNode=new Element("div",{styles:this.css.createOkActionNode,text:"确定"}).inject(this.createFormNode);this.createOkActionNode.addEvent("click",function(e){this.okCreate(e)}.bind(this))}},setCreateNodeSize:function(e,t,i,s){if(!e)e=this.options&&this.options.width?this.options.width:"50%";if(!t)t=this.options&&this.options.height?this.options.height:"50%";if(!i)i=this.options&&this.options.top?this.options.top:0;if(!s)s=this.options&&this.options.left?this.options.left:0;var n=this.app.content.getSize();var a=n.x;var l=n.y;"string"==typeof e&&(1<e.length&&"%"==e.substr(e.length-1,1))&&(e=parseInt(a*parseInt(e,10)/100,10));"string"==typeof t&&(1<t.length&&"%"==t.substr(t.length-1,1))&&(t=parseInt(l*parseInt(t,10)/100,10));300>e&&(e=300);220>t&&(t=220);i=i||parseInt((l-t)/2,10);s=s||parseInt((a-e)/2,10);this.createAreaNode.setStyles({width:""+e+"px",height:""+t+"px",top:""+i+"px",left:""+s+"px"});this.createNode.setStyles({width:""+e+"px",height:""+t+"px"});var c=this.createIconNode?this.createIconNode.getSize():{x:0,y:0};var o=this.formTopNode?this.formTopNode.getSize():{x:0,y:0};var r=this.formBottomNode?this.formBottomNode.getSize():{x:0,y:0};var d=t-c.y-o.y-r.y;this.createFormNode.setStyles({height:""+d+"px"})},cancelCreate:function(e){var t=this;this.createMarkNode.destroy();this.createAreaNode.destroy();delete t},okCreate:function(e){var t={topUnitName:this.topUnitName.get("value")==""?"*":this.topUnitName.get("value"),unitName:this.unitName.get("value")==""?"*":this.unitName.get("value"),cycleYear:this.cycleYear.get("value"),cycleMonth:this.cycleMonth.get("value"),cycleStartDateString:this.cycleStartDateString.get("value"),cycleEndDateString:this.cycleEndDateString.get("value"),description:this.description.get("value")};if(this.data.id)t.id=this.data.id;if(t.cycleStartDateString&&t.cycleEndDateString){this.app.restActions.saveCycle(t,function(e){if(e.type=="ERROR"){this.app.notice(e.message,"error")}else{this.createMarkNode.destroy();this.createAreaNode.destroy();if(this.explorer.view)this.explorer.view.reload();this.app.notice(this.isNew?this.app.lp.createSuccess:this.app.lp.updateSuccess,"success")}}.bind(this))}else{this.app.notice("请选择开始日期和结束日期","error")}},selectDateTime:function(t,e,i,s){var n={style:"xform",timeOnly:e,isTime:i,target:this.app.content};if(s)n.baseDate=s;MWF.require("MWF.widget.Calendar",function(){var e=new MWF.widget.Calendar(t,n);e.show()}.bind(this))},selectPeople:function(i,e,t){var s;if(e=="unit"){s="选择部门"}else if(e=="topUnit"){s="选择公司"}else{s="选择个人"}var n={type:e,title:s,count:"1",values:t||[],onComplete:function(e){var t=[];e.each(function(e){t.push(e.data.name)}.bind(this));i.set("value",t.join(","))}.bind(this)};var a=new MWF.O2Selector(this.app.content,n)}});
|