| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760 |
- /*
- this.data //project的数据
- this.currentProjectGroupData //当前taskgroup的数据
- */
- MWF.xApplication.TeamWork = MWF.xApplication.TeamWork || {};
- MWF.xDesktop.requireApp("TeamWork", "Common", null, false);
- MWF.xApplication.TeamWork.Project = new Class({
- Extends: MWF.widget.Common,
- Implements: [Options, Events],
- options: {
- "style": "default"
- },
- initialize: function (container, app, data, options) {
- this.setOptions(options);
- this.container = container;
- this.app = app;
- this.lp = this.app.lp.project;
- this.actions = this.app.restActions;
- this.path = "/x_component_TeamWork/$Project/";
- this.cssPath = this.path+this.options.style+"/css.wcss";
- this._loadCss();
- this.data = data;
- },
- load: function () {
- this.container.setStyles({display:"flex"});
- this.container.empty();
- this.createTopBarLayout();
- this.createContentLayout();
- this.topBarTabItemTask.click();
- this.app.addEvent("resize", function(){
- this.resize();
- }.bind(this));
- },
- resize:function(){
- //alert("resize")
- //taskGroupItemContainer
- //taskGroupLayout,taskGroupItemContainer 自定义高度
- this.container.getElements(".taskGroupItemContainer").each(function(d){
- var pe = d.getParent();
- var pr_w = pe.getElement(".taskGroupItemTitleContainer").getHeight().toInt();
- var _h = pe.getHeight().toInt() - pr_w -10-10;
- d.setStyles({"height":_h+"px"})
- });
- },
- createTopBarLayout:function(){
- this.topBarLayout = new Element("div.topBarLayout",{styles:this.css.topBarLayout}).inject(this.container);
- this.topBarBackContainer = new Element("div.topBarBackContainer",{styles:this.css.topBarBackContainer}).inject(this.topBarLayout);
- this.topBarBackHomeIcon = new Element("div.topBarBackHomeIcon",{styles:this.css.topBarBackHomeIcon}).inject(this.topBarBackContainer);
- this.topBarBackHomeIcon.addEvents({
- click:function(){
- var pl = new MWF.xApplication.TeamWork.ProjectList(this.container,this.app,this.actions,{});
- pl.load();
- }.bind(this),
- mouseover:function(){
- var opt={
- axis: "y" //箭头在x轴还是y轴上展现
- };
- this.app.showTips(this.topBarBackHomeIcon,{_html:"<div style='margin:2px 5px;'>"+this.lp.backProject+"</div>"},opt);
- }.bind(this)
- });
- this.topBarBackHomeNext = new Element("div.topBarBackHomeNext",{styles:this.css.topBarBackHomeNext}).inject(this.topBarBackContainer);
- this.topBarBackHomeTextContainer = new Element("div.topBarBackHomeTextContainer",{styles:this.css.topBarBackHomeTextContainer}).inject(this.topBarBackContainer);
- this.topBarBackHomeText = new Element("div.topBarBackHomeText",{styles:this.css.topBarBackHomeText,text:this.data.title}).inject(this.topBarBackHomeTextContainer);
- this.topBarBackHomeArrow = new Element("div.topBarBackHomeArrow",{styles:this.css.topBarBackHomeArrow}).inject(this.topBarBackHomeTextContainer);
- this.topBarBackHomeTextContainer.addEvents({
- click:function(){
- var plist = new MWF.xApplication.TeamWork.Project.ProjectList(this.container, this.topBarBackHomeTextContainer, this.app, this.data, {
- css:this.css,
- lp:this.lp,
- axis : "y",
- position : { //node 固定的位置
- x : "right", //x轴上left center right, auto 系统自动计算
- y : "auto" //y 轴上top middle bottom, auto 系统自动计算
- },
- priorityOfAuto :{
- x : [ "center", "right", "left" ], //当position x 为 auto 时候的优先级
- y : [ "middle", "bottom", "top" ] //当position y 为 auto 时候的优先级
- },
- nodeStyles : {
- "min-width":"300px",
- "padding":"2px",
- "border-radius":"5px",
- "z-index" : "101"
- }
- });
- plist.load();
- }.bind(this),
- mouseover:function(){this.getElements("div").setStyles({"color":"#4a90e2"})},
- mouseout:function () { this.getElements("div").setStyles({"color":"#333333"}) }
- });
- this.topBarTabsContainer = new Element("div.topBarTabsContainer",{styles:this.css.topBarTabsContainer}).inject(this.topBarLayout);
- this.topBarTabItemTask = new Element("div.topBarTabItemTask",{styles:this.css.topBarTabItemTask,text:this.lp.task}).inject(this.topBarTabsContainer);
- this.topBarTabItemTask.addEvents({
- click:function(){
- this.topBarTabItemTask.setStyles({"color":"#4A90E2","border-bottom":"2px solid #4A90E2"});
- this.createTaskLayout();
- }.bind(this)
- });
- this.topBarTabItemStat = new Element("div.topBarTabItemStat",{styles:this.css.topBarTabItemStat,text:this.lp.stat}).inject(this.topBarTabsContainer);
- this.topBarTabItemStat.addEvents({
- click:function(){
- this.createStatLayout();
- }.bind(this)
- });
- this.topBarSettingContainer = new Element("div.topBarSettingContainer",{styles:this.css.topBarSettingContainer}).inject(this.topBarLayout);
- this.topBarSettingMenuContainer = new Element("div.topBarSettingMenuContainer",{styles:this.css.topBarSettingMenuContainer}).inject(this.topBarSettingContainer);
- this.topBarSettingMenuContainer.addEvents({
- click:function(){
- alert("open")
- }.bind(this),
- mouseover:function(){
- this.topBarSettingMenuContainer.getElements(".topBarSettingMenuIcon").setStyles({
- "background-image":"url(/x_component_TeamWork/$Project/default/icon/icon_caidan_click.png)"
- });
- this.topBarSettingMenuContainer.getElements(".topBarSettingMenuText").setStyles({
- "color":"#4A90E2"
- });
- }.bind(this),
- mouseout:function(){
- this.topBarSettingMenuContainer.getElements(".topBarSettingMenuIcon").setStyles({
- "background-image":"url(/x_component_TeamWork/$Project/default/icon/icon_caidan.png)"
- });
- this.topBarSettingMenuContainer.getElements(".topBarSettingMenuText").setStyles({
- "color":"#666666"
- });
- }.bind(this)
- });
- this.topBarSettingMenuIcon = new Element("div.topBarSettingMenuIcon",{styles:this.css.topBarSettingMenuIcon}).inject(this.topBarSettingMenuContainer);
- this.topBarSettingMenuText = new Element("div.topBarSettingMenuText",{styles:this.css.topBarSettingMenuText,text:this.lp.menu}).inject(this.topBarSettingMenuContainer);
- },
- createContentLayout:function(){
- this.contentLayout = new Element("div.contentLayout",{styles:this.css.contentLayout}).inject(this.container);
- },
- createTaskLayout:function(){
- if(this.contentLayout) this.contentLayout.empty();
- this.createNaviContent();
- this.createTaskContent();
- },
- createNaviContent:function(){
- if(this.naviLayout) this.naviLayout.destroy();
- this.naviLayout = new Element("div.naviLayout",{styles:this.css.naviLayout}).inject(this.contentLayout);
- this.app.setLoading(this.naviLayout);
- this.actions.projectNaviGet(this.data.id,function(json){
- this.projectGroupData = json.data;
- if(this.projectGroupData.groups && this.projectGroupData.groups.length>0){
- this.currentProjectGroupData = this.projectGroupData.groups[0];
- }
- this.naviLayout.empty();
- this.createNaviTask();
- this.createNaviView();
- }.bind(this));
- },
- createNaviTask:function(){
- if(!this.currentProjectGroupData) return;
- if(this.naviTop) this.naviTop.destroy();
- this.naviTop = new Element("div.naviTop",{styles:this.css.naviTop}).inject(this.naviLayout);
- this.naviTopSearchContainer = new Element("div.naviTopSearchContainer",{styles:this.css.naviTopSearchContainer}).inject(this.naviTop);
- this.naviTopSearchIn = new Element("input.naviTopSearchIn",{styles:this.css.naviTopSearchIn,placeholder:this.lp.searchTask}).inject(this.naviTopSearchContainer);
- this.naviTopTaskContainer = new Element("div.naviTopTaskContainer",{styles:this.css.naviTopTaskContainer}).inject(this.naviTop);
- this.naviTopTaskText = new Element("div.naviTopTaskText",{styles:this.css.naviTopTaskText,text:this.lp.task}).inject(this.naviTopTaskContainer);
- this.naviTopTaskAdd = new Element("div.naviTopTaskAdd",{styles:this.css.naviTopTaskAdd}).inject(this.naviTopTaskContainer);
- this.naviTopTaskAdd.addEvents({
- click:function(){
- var data = {
- taskGroupId:this.currentProjectGroupData.id,
- //projectId:this.data.id,
- taskListIds:[]
- };
- var opt = {
- onCreateTask:function(){
- this.createTaskGroup();
- }.bind(this)
- };
- var newTask = new MWF.xApplication.TeamWork.Project.NewTask(this,data,opt,{});
- newTask.open();
- }.bind(this),
- mouseover:function(){
- this.naviTopTaskAdd.setStyles({
- "background-image":"url(/x_component_TeamWork/$Project/default/icon/icon_zengjia_blue2_click.png)"
- });
- this.app.showTips(this.naviTopTaskAdd,{_html:"<div style='margin:2px 5px;'>"+this.lp.taskAdd+"</div>"});
- }.bind(this),
- mouseout:function(){
- this.naviTopTaskAdd.setStyles({
- "background-image":"url(/x_component_TeamWork/$Project/default/icon/icon_jia.png)"
- });
- }.bind(this)
- });
- this.naviTopMyTaskLayout = new Element("div.naviTopMyTaskLayout",{styles:this.css.naviTopMyTaskLayout}).inject(this.naviTop);
- this.naviTopMyTaskLayout.addEvents({
- click:function(){
- this.createTaskGroup();
- }.bind(this)
- });
- this.naviTopMyTaskContainer = new Element("div.naviTopMyTaskContainer",{styles:this.css.naviTopMyTaskContainer}).inject(this.naviTopMyTaskLayout);
- this.naviTopMyTaskText = new Element("div.naviTopMyTaskText",{styles:this.css.naviTopMyTaskText,text:this.lp.myTask}).inject(this.naviTopMyTaskContainer);
- this.naviTopMyTaskCount = new Element("div.naviTopMyTaskCount",{styles:this.css.naviTopMyTaskCount,text:"("+this.currentProjectGroupData.completedTotal+"/"+this.currentProjectGroupData.taskTotal+")"}).inject(this.naviTopMyTaskContainer);
- this.naviTopTaskLineContainer = new Element("div.naviTopTaskLineContainer",{styles:this.css.naviTopTaskLineContainer}).inject(this.naviTopMyTaskLayout);
- this.naviTopTaskLine = new Element("div.naviTopTaskLine",{styles:this.css.naviTopTaskLine}).inject(this.naviTopTaskLineContainer);
- this.loadTaskLine();
- this.naviTopMyTaskLayout.click();
- },
- loadTaskLine:function(){
- this.completeLine = new Element("div.completeLine",{styles:this.css.completeLine}).inject(this.naviTopTaskLine);
- this.completeLine.addEvents({
- mouseover:function(){
- this.app.showTips(this.completeLine,{_html:"<div style='margin:2px 5px;'>"+this.lp.taskCompleteText+":"+this.currentProjectGroupData.completedTotal+"</div>"});
- }.bind(this)
- });
- this.overLine = new Element("div.overLine",{styles:this.css.overLine}).inject(this.naviTopTaskLine);
- this.overLine.addEvents({
- mouseover:function(){
- this.app.showTips(this.overLine,{_html:"<div style='margin:2px 5px;'>"+this.lp.taskCompleteText+":"+this.currentProjectGroupData.overtimeTotal+"</div>"});
- }.bind(this)
- });
- if(this.currentProjectGroupData){
- var taskTotal = this.currentProjectGroupData.taskTotal;
- var completedTotal = this.currentProjectGroupData.completedTotal;
- var overtimeTotal = this.currentProjectGroupData.overtimeTotal;
- if(taskTotal){
- var _width = this.naviTopTaskLine.getWidth();
- var completePixel =_width * (completedTotal / taskTotal);
- var overPixel =_width * (overtimeTotal / taskTotal);
- this.completeLine.setStyles({"width":completePixel+"px"});
- this.overLine.setStyles({"width":overPixel+"px"});
- }
- }
- },
- createNaviView:function(){
- if(this.naviView) this.naviView.destroy();
- this.naviView = new Element("div.naviView",{styles:this.css.naviView}).inject(this.naviLayout);
- this.naviViewTitleContainer = new Element("div.naviViewTitleContainer",{styles:this.css.naviViewTitleContainer}).inject(this.naviView);
- this.naviViewTitle = new Element("div.naviViewTitle",{styles:this.css.naviViewTitle,text:this.lp.viewTitle}).inject(this.naviViewTitleContainer);
- this.naviViewAdd = new Element("div.naviViewAdd",{styles:this.css.naviViewAdd}).inject(this.naviViewTitleContainer);
- this.naviViewAdd.addEvents({
- click:function(){
- }.bind(this),
- mouseover:function(){
- this.naviViewAdd.setStyles({
- "background-image":"url(/x_component_TeamWork/$Project/default/icon/icon_zengjia_blue2_click.png)"
- });
- this.app.showTips(this.naviViewAdd,{_html:"<div style='margin:2px 5px;'>"+this.lp.viewAdd+"</div>"});
- }.bind(this),
- mouseout:function(){
- this.naviViewAdd.setStyles({
- "background-image":"url(/x_component_TeamWork/$Project/default/icon/icon_jia.png)"
- });
- }.bind(this)
- });
- this.createNaviViewItem();
- },
- createNaviViewItem:function(){
- var _self = this;
- if(this.naviViewContainer) this.naviViewContainer.destroy();
- this.naviViewContainer = new Element("div.naviViewContainer",{styles:this.css.naviViewContainer}).inject(this.naviView);
- this.viewData = this.viewData || this.projectGroupData.views;
- this.viewData.each(function(json){
- if(json.name==this.lp.viewItemAll){//所有任务
- this.naviItemAllContainer = new Element("div.naviItemContainer",{styles:this.css.naviItemContainer}).inject(this.naviViewContainer);
- this.naviItemAllIcon = new Element("div.naviItemAllIcon",{styles:this.css.naviItemAllIcon}).inject(this.naviItemAllContainer);
- this.naviItemAllText = new Element("div.naviItemText",{styles:this.css.naviItemText,text:this.lp.viewItemAll}).inject(this.naviItemAllContainer);
- this.naviItemAllContainer.addEvents({
- click:function(){
- },
- mouseenter:function(){ _self.naviItemChange(this,"enter")},
- mouseleave:function(){_self.naviItemChange(this,"leave")}
- });
- }else if(json.name==this.lp.viewItemMy){
- //我的任务
- this.naviItemMyContainer = new Element("div.naviItemContainer",{styles:this.css.naviItemContainer}).inject(this.naviViewContainer);
- this.naviItemMyIcon = new Element("div.naviItemMyIcon",{styles:this.css.naviItemMyIcon}).inject(this.naviItemMyContainer);
- this.naviItemMyText = new Element("div.naviItemText",{styles:this.css.naviItemText,text:this.lp.viewItemMy}).inject(this.naviItemMyContainer);
- this.naviItemMyMore = new Element("div.naviItemMore",{styles:this.css.naviItemMore}).inject(this.naviItemMyContainer);
- this.naviItemMyMore.addEvent(
- "click",function(e){
- this.openNaviViewMore(this.naviItemMyMore);
- e.stopPropagation();
- }.bind(this)
- );
- this.naviItemMyContainer.addEvents({
- click:function(){
- alert("open")
- }.bind(this),
- mouseenter:function(){ this.naviItemChange(this.naviItemMyContainer,"enter")}.bind(this),
- mouseleave:function(){ this.naviItemChange(this.naviItemMyContainer,"leave")}.bind(this)
- });
- }else if(json.name==this.lp.viewItemFlow){
- //未完成的任务
- this.naviItemFlowContainer = new Element("div.naviItemContainer",{styles:this.css.naviItemContainer}).inject(this.naviViewContainer);
- this.naviItemFlowIcon = new Element("div.naviItemFlowIcon",{styles:this.css.naviItemFlowIcon}).inject(this.naviItemFlowContainer);
- this.naviItemFlowText = new Element("div.naviItemText",{styles:this.css.naviItemText,text:this.lp.viewItemFlow}).inject(this.naviItemFlowContainer);
- this.naviItemFlowMore = new Element("div.naviItemMore",{styles:this.css.naviItemMore}).inject(this.naviItemFlowContainer);
- this.naviItemFlowMore.addEvent(
- "click",function(e){
- this.openNaviViewMore(this.naviItemFlowMore);
- e.stopPropagation();
- }.bind(this)
- );
- this.naviItemFlowContainer.addEvents({
- click:function(){
- alert("open")
- }.bind(this),
- mouseenter:function(){ this.naviItemChange(this.naviItemFlowContainer,"enter")}.bind(this),
- mouseleave:function(){ this.naviItemChange(this.naviItemFlowContainer,"leave")}.bind(this)
- });
- }else if(json.name==this.lp.viewItemComplete){
- //已完成任务
- this.naviItemCompleteContainer = new Element("div.naviItemContainer",{styles:this.css.naviItemContainer}).inject(this.naviViewContainer);
- this.naviItemCompleteIcon = new Element("div.naviItemCompleteIcon",{styles:this.css.naviItemCompleteIcon}).inject(this.naviItemCompleteContainer);
- this.naviItemCompleteText = new Element("div.naviItemText",{styles:this.css.naviItemText,text:this.lp.viewItemComplete}).inject(this.naviItemCompleteContainer);
- this.naviItemCompleteMore = new Element("div.naviItemMore",{styles:this.css.naviItemMore}).inject(this.naviItemCompleteContainer);
- this.naviItemCompleteMore.addEvent(
- "click",function(e){
- this.openNaviViewMore(this.naviItemCompleteMore);
- e.stopPropagation();
- }.bind(this)
- );
- this.naviItemCompleteContainer.addEvents({
- click:function(){
- alert("open")
- }.bind(this),
- mouseenter:function(){ this.naviItemChange(this.naviItemCompleteContainer,"enter")}.bind(this),
- mouseleave:function(){ this.naviItemChange(this.naviItemCompleteContainer,"leave")}.bind(this)
- });
- }else if(json.name==this.lp.viewItemOver){
- //已逾期任务
- this.naviItemOverContainer = new Element("div.naviItemContainer",{styles:this.css.naviItemContainer}).inject(this.naviViewContainer);
- this.naviItemOverIcon = new Element("div.naviItemOverIcon",{styles:this.css.naviItemOverIcon}).inject(this.naviItemOverContainer);
- this.naviItemOverText = new Element("div.naviItemText",{styles:this.css.naviItemText,text:this.lp.viewItemOver}).inject(this.naviItemOverContainer);
- this.naviItemOverMore = new Element("div.naviItemMore",{styles:this.css.naviItemMore}).inject(this.naviItemOverContainer);
- this.naviItemOverMore.addEvent(
- "click",function(e){
- this.openNaviViewMore(this.naviItemOverMore);
- e.stopPropagation();
- }.bind(this)
- );
- this.naviItemOverContainer.addEvents({
- click:function(){
- alert("open")
- }.bind(this),
- mouseenter:function(){ this.naviItemChange(this.naviItemOverContainer,"enter")}.bind(this),
- mouseleave:function(){ this.naviItemChange(this.naviItemOverContainer,"leave")}.bind(this)
- });
- }else{
- //自定义视图
- }
- }.bind(this));
- },
- naviItemChange:function(node,action){
- if(action == "enter"){
- node.setStyles({"background-color":"#F2F5F7"});
- var divs = node.getElements("div");
- divs[0].setStyles({"background-image":divs[0].getStyle("background-image").replace(".png","_click.png")});
- divs[1].setStyles({"color":"#4A90E2"});
- if(divs[2]){
- divs[2].setStyles({"background-image":divs[2].getStyle("background-image").replace(".png","_click.png")});
- }
- }else if(action == "leave"){
- node.setStyles({"background-color":""});
- var divs = node.getElements("div");
- divs[0].setStyles({"background-image":divs[0].getStyle("background-image").replace("_click.png",".png")});
- divs[1].setStyles({"color":"#2A2A2A"});
- if(divs[2]){
- divs[2].setStyles({"background-image":divs[2].getStyle("background-image").replace("_click.png",".png")});
- }
- }
- },
- openNaviViewMore:function(node){
- var tooltip = new MWF.xApplication.TeamWork.Project.NaviViewTip(this.container, node, this.app, {}, {
- css:this.css,
- lp:this.lp,
- axis : "y",
- nodeStyles : {
- "min-width":"100px",
- "padding":"2px",
- "border-radius":"5px",
- "z-index" : "101"
- },
- onPostLoad:function(){
- tooltip.node.setStyles({"opacity":"0"});
- var fx = new Fx.Tween(tooltip.node,{duration:200});
- fx.start(["opacity"] ,"0", "1");
- },
- onClose:function(rd){
- // customGroupItemContainer.set("atIn","no");
- // if(rd)_self.reloadProjectGroup();
- }
- });
- tooltip.load();
- },
- createTaskContent:function(){
- this.taskContentLayout = new Element("div.taskContentLayout",{styles:this.css.taskContentLayout}).inject(this.contentLayout);
- },
- createTaskGroup:function(){
- if(this.currentProjectGroupData && this.currentProjectGroupData.id){
- this.app.setLoading(this.taskContentLayout);
- this.actions.taskGroupList(this.currentProjectGroupData.id,function(json){
- this.taskContentLayout.empty();
- json.data.each(function(data,i){
- //if(i>0) return;
- var taskGroupLayout = new Element("div.taskGroupLayout",{styles:this.css.taskGroupLayout,id:data.id}).inject(this.taskContentLayout);
- this.createTaskGroupItemLayout(taskGroupLayout,data);
- }.bind(this));
- }.bind(this))
- }
- },
- createTaskGroupItemLayout:function(node,data){
- var taskGroupItemTitleContainer = new Element("div.taskGroupItemTitleContainer",{styles:this.css.taskGroupItemTitleContainer}).inject(node);
- new Element("div.taskGroupItemTitleText",{styles:this.css.taskGroupItemTitleText,text:data.name}).inject(taskGroupItemTitleContainer);
- new Element("div.taskGroupItemTitleCount",{styles:this.css.taskGroupItemTitleCount,text:"("+"0"+")"}).inject(taskGroupItemTitleContainer);
- var taskGroupItemTitleMore = new Element("div.taskGroupItemTitleMore",{styles:this.css.taskGroupItemTitleMore}).inject(taskGroupItemTitleContainer);
- taskGroupItemTitleMore.addEvents({
- click:function(){}.bind(this)
- });
- var taskGroupItemTitleAdd = new Element("div.taskGroupItemTitleAdd",{styles:this.css.taskGroupItemTitleAdd}).inject(taskGroupItemTitleContainer);
- taskGroupItemTitleAdd.addEvents({
- click:function(){}.bind(this)
- });
- var taskGroupItemContainer = new Element("div.taskGroupItemContainer",{styles:this.css.taskGroupItemContainer}).inject(node);
- var _h = node.getHeight().toInt()-taskGroupItemTitleContainer.getHeight().toInt() - 10 - 10;
- taskGroupItemContainer.setStyles({"height":_h+"px"});
- this.app.setScrollBar(taskGroupItemContainer);
- //this.app.setLoading(taskGroupItemContainer);
- this.actions.taskListByListId(data.id,function(json){
- taskGroupItemContainer.empty();
- // var taskListData = [
- // {
- // "name":"任务一",
- // "remark":"备注信息",
- // "status":"flow",
- // "person":"金飞"
- // },
- //
- //
- //
- //
- // {
- // "name":"任务一",
- // "remark":"备注信息",
- // "status":"flow",
- // "person":"金飞"
- // }
- //
- // ];
- // if(node.get("id")=="ed426176-dd36-4151-8b90-87e6c16e91eb") taskListData = [];
- var taskListData = json.data;
- //alert(JSON.stringify(taskListData));
- taskListData.each(function(d){
- var taskItemContainer = new Element("div.taskItemContainer",{styles:this.css.taskItemContainer}).inject(taskGroupItemContainer);
- var int;
- taskItemContainer.addEvents({
- click:function(){
- this.openTask(d.id)
- }.bind(this),
- mouseover:function(){
- int = window.setInterval(function(){
- if(taskItemHover.getWidth() == 10) return;
- taskItemHover.setStyles({
- "width":(taskItemHover.getWidth()+1)+"px"
- });
- }.bind(this),20)
- },
- mouseout:function(){
- window.clearInterval(int);
- taskItemHover.setStyles({"width":"0px"});
- }.bind(this)
- });
- var taskItemHover = new Element("div.taskItemHover",{styles:this.css.taskItemHover}).inject(taskItemContainer);
- var taskItemContent = new Element("div.taskItemContent",{styles:this.css.taskItemContent}).inject(taskItemContainer);
- var taskItemTitle = new Element("div.taskItemTitle",{styles:this.css.taskItemTitle,text:d.name}).inject(taskItemContent);
- taskItemHover.setStyles({"height":taskItemContainer.getHeight()})
- }.bind(this))
- }.bind(this));
- },
- openTask:function(id){
- var data = {
- taskId:id
- };
- var opt = {};
- MWF.xDesktop.requireApp("TeamWork", "Task", function(){
- var task = new MWF.xApplication.TeamWork.Task(this,data,opt);
- task.open();
- }.bind(this));
- },
- createStatLayout:function(){
- },
- test:function(){
- }
- });
- MWF.xApplication.TeamWork.Project.NewTask = new Class({
- Extends: MPopupForm,
- options : {
- "style": "default",
- "width": 400,
- "height": 250,
- "top": null,
- "left": null,
- "bottom" : null,
- "right" : null,
- "minWidth" : 300,
- "minHeight" : 220,
- "closeByClickMask" : true,
- "hasTopContent" : true,
- "hasTop":true,
- "hasBottom": false,
- "hasIcon": false,
- "title":""
- },
- _createTableContent:function(){
- if(this.formTopTextNode) this.formTopTextNode.set("text",this.lp.newTaskTitle);
- //this.formTableArea
- this.titleContainer = new Element("div.titleContainer",{styles:this.css.titleContainer}).inject(this.formTableArea);
- this.titleValue = new Element("input.titleValue",{styles:this.css.titleValue,placeholder:this.lp.newTaskPlaceholder}).inject(this.titleContainer);
- this.actionContainer = new Element("div.actionContainer",{styles:this.css.actionContainer}).inject(this.formTableArea);
- this.okAction = new Element("div.okAction",{styles:this.css.okAction,text:this.lp.newTaskOk}).inject(this.actionContainer);
- this.okAction.addEvents({
- click:function(){
- if(this.titleValue.get("value").trim()=="") return;
- var data={
- taskGroupId:this.data.taskGroupId,
- name: this.titleValue.get("value").trim()
- };
- this.actions.taskSave(data,function(json){
- if(json.data.id){
- var data = {
- taskId:json.data.id
- };
- var opt = {};
- MWF.xDesktop.requireApp("TeamWork", "Task", function(){
- var task = new MWF.xApplication.TeamWork.Task(this,data,opt);
- task.open();
- }.bind(this));
- this.fireEvent("createTask");
- this.close();
- }
- }.bind(this))
- }.bind(this)
- });
- this.closeAction = new Element("div.closeAction",{styles:this.css.closeAction,text:this.lp.newTaskClose}).inject(this.actionContainer);
- this.closeAction.addEvents({
- click:function(){
- this.close();
- }.bind(this)
- });
- }
- });
- MWF.xApplication.TeamWork.Project.NaviViewTip = new Class({
- Extends: MWF.xApplication.TeamWork.Common.ToolTips,
- options : {
- // displayDelay : 300,
- hasArrow:false,
- event:"click"
- },
- _loadCustom : function( callback ){
- var _self = this;
- this.css = this.options.css;
- this.lp = this.options.lp;
- //this.data
- this.naviViewTipLayout = new Element("div.naviViewTipLayout",{styles:this.css.naviViewTipLayout}).inject(this.contentNode);
- this.naviViewTipEditContainer = new Element("div.naviViewTipContainer",{styles:this.css.naviViewTipContainer}).inject(this.naviViewTipLayout);
- this.naviViewTipEditIcon = new Element("div.naviViewTipEditIcon",{styles:this.css.naviViewTipEditIcon}).inject(this.naviViewTipEditContainer);
- this.naviViewTipEditText = new Element("div.naviViewTipText",{styles:this.css.naviViewTipText,text:this.lp.viewEdit}).inject(this.naviViewTipEditContainer);
- this.naviViewTipEditContainer.addEvents({
- click:function(){
- }.bind(this),
- mouseover:function(){this.naviViewTipEditContainer.setStyles({"background-color":"#F7F7F7"})}.bind(this),
- mouseout:function(){this.naviViewTipEditContainer.setStyles({"background-color":""})}.bind(this)
- });
- this.naviViewTipRemoveContainer = new Element("div.naviViewTipContainer",{styles:this.css.naviViewTipContainer}).inject(this.naviViewTipLayout);
- this.naviViewTipRemoveIcon = new Element("div.naviViewTipRemoveIcon",{styles:this.css.naviViewTipRemoveIcon}).inject(this.naviViewTipRemoveContainer);
- this.naviViewTipRemoveText = new Element("div.naviViewTipText",{styles:this.css.naviViewTipText,text:this.lp.viewRemove}).inject(this.naviViewTipRemoveContainer);
- this.naviViewTipRemoveContainer.addEvents({
- click:function(e){
- _self.app.confirm("warn",e,_self.app.lp.common.confirm.removeTitle,_self.app.lp.common.confirm.removeContent,300,120,function(){
- },function(){
- this.close();
- });
- }.bind(this),
- mouseover:function(){this.naviViewTipRemoveContainer.setStyles({"background-color":"#F7F7F7"})}.bind(this),
- mouseout:function(){this.naviViewTipRemoveContainer.setStyles({"background-color":""})}.bind(this)
- });
- if(callback)callback();
- }
- });
- MWF.xApplication.TeamWork.Project.ProjectList = new Class({
- Extends: MWF.xApplication.TeamWork.Common.ToolTips,
- options : {
- // displayDelay : 300,
- hasArrow:false,
- event:"click"
- },
- _loadCustom : function(callback){
- var _self = this;
- this.css = this.options.css;
- this.lp = this.options.lp;
- //this.data
- //this.contentNode
- this.itemLayout = new Element("div.itemLayout",{styles:this.css.itemLayout}).inject(this.contentNode);
- this.app.setLoading(this.itemLayout);
- this.actions.projectStarListNext("(0)",100,{},function(json){
- this.app.setScrollBar(this.itemLayout);
- this.itemLayout.empty();
- if(json.data.length>0){
- this.starText = new Element("div.starText",{styles:this.css.itemText,text:this.lp.starItem}).inject(this.itemLayout);
- json.data.each(function(data){
- var projectListContainer = new Element("div.projectListContainer",{styles:this.css.projectListContainer}).inject(this.itemLayout);
- var projectListIcon = new Element("div.projectListIcon",{styles:this.css.projectListIcon}).inject(projectListContainer);
- if(data.icon && data.icon!=""){
- projectListIcon.setStyles({"background-image":"url('"+MWF.xDesktop.getImageSrc( data.icon )+"')"});
- }
- new Element("div.projectListText",{styles:this.css.projectListText,text:data.title}).inject(projectListContainer);
- if(this.data.id == data.id){
- new Element("div.projectListSelect",{styles:this.css.projectListSelect}).inject(projectListContainer);
- }
- projectListContainer.addEvents({
- click:function(){
- MWF.xDesktop.requireApp("TeamWork", "Project", function(){
- var p = new MWF.xApplication.TeamWork.Project(this.container,this.app,data,{});
- p.load();
- }.bind(this));
- }.bind(this),
- mouseover:function () { this.setStyles({"background-color":"#F2F5F7"})},
- mouseout:function () { this.setStyles({"background-color":""})}
- });
- }.bind(this))
- }
- this.actions.projectListNext("(0)",100,{},function(json){
- this.allItemText = new Element("div.allItemText",{styles:this.css.itemText,text:this.lp.allItem}).inject(this.itemLayout);
- json.data.each(function(data){
- var projectListContainer = new Element("div.projectListContainer",{styles:this.css.projectListContainer}).inject(this.itemLayout);
- var projectListIcon = new Element("div.projectListIcon",{styles:this.css.projectListIcon}).inject(projectListContainer);
- if(data.icon && data.icon!=""){
- projectListIcon.setStyles({"background-image":"url('"+MWF.xDesktop.getImageSrc( data.icon )+"')"});
- }
- new Element("div.projectListText",{styles:this.css.projectListText,text:data.title}).inject(projectListContainer);
- if(this.data.id == data.id){
- new Element("div.projectListSelect",{styles:this.css.projectListSelect}).inject(projectListContainer);
- }
- projectListContainer.addEvents({
- click:function(){
- MWF.xDesktop.requireApp("TeamWork", "Project", function(){
- var p = new MWF.xApplication.TeamWork.Project(this.container,this.app,data,{});
- p.load();
- }.bind(this));
- }.bind(this),
- mouseover:function () { this.setStyles({"background-color":"#F2F5F7"})},
- mouseout:function () { this.setStyles({"background-color":""})}
- });
- }.bind(this));
- }.bind(this))
- }.bind(this));
- if(callback)callback();
- }
- });
- MWF.xApplication.TeamWork.Project.NaviViewTip = new Class({
- Extends: MWF.xApplication.TeamWork.Common.ToolTips,
- options : {
- // displayDelay : 300,
- hasArrow:false,
- event:"click"
- },
- _loadCustom : function( callback ){
- var _self = this;
- this.css = this.options.css;
- this.lp = this.options.lp;
- //this.data
- this.naviViewTipLayout = new Element("div.naviViewTipLayout",{styles:this.css.naviViewTipLayout}).inject(this.contentNode);
- this.naviViewTipEditContainer = new Element("div.naviViewTipContainer",{styles:this.css.naviViewTipContainer}).inject(this.naviViewTipLayout);
- this.naviViewTipEditIcon = new Element("div.naviViewTipEditIcon",{styles:this.css.naviViewTipEditIcon}).inject(this.naviViewTipEditContainer);
- this.naviViewTipEditText = new Element("div.naviViewTipText",{styles:this.css.naviViewTipText,text:this.lp.viewEdit}).inject(this.naviViewTipEditContainer);
- this.naviViewTipEditContainer.addEvents({
- click:function(){
- }.bind(this),
- mouseover:function(){this.naviViewTipEditContainer.setStyles({"background-color":"#F7F7F7"})}.bind(this),
- mouseout:function(){this.naviViewTipEditContainer.setStyles({"background-color":""})}.bind(this)
- });
- this.naviViewTipRemoveContainer = new Element("div.naviViewTipContainer",{styles:this.css.naviViewTipContainer}).inject(this.naviViewTipLayout);
- this.naviViewTipRemoveIcon = new Element("div.naviViewTipRemoveIcon",{styles:this.css.naviViewTipRemoveIcon}).inject(this.naviViewTipRemoveContainer);
- this.naviViewTipRemoveText = new Element("div.naviViewTipText",{styles:this.css.naviViewTipText,text:this.lp.viewRemove}).inject(this.naviViewTipRemoveContainer);
- this.naviViewTipRemoveContainer.addEvents({
- click:function(e){
- _self.app.confirm("warn",e,_self.app.lp.common.confirm.removeTitle,_self.app.lp.common.confirm.removeContent,300,120,function(){
- },function(){
- this.close();
- });
- }.bind(this),
- mouseover:function(){this.naviViewTipRemoveContainer.setStyles({"background-color":"#F7F7F7"})}.bind(this),
- mouseout:function(){this.naviViewTipRemoveContainer.setStyles({"background-color":""})}.bind(this)
- });
- if(callback)callback();
- }
- });
|