Procházet zdrojové kódy

Merge branch 'feature/Teamwork' into 'develop'

Feature/teamwork【团队开发前端阶段性提交】

See merge request o2oa/o2oa!371
胡起 před 5 roky
rodič
revize
9d0ed98127
67 změnil soubory, kde provedl 2059 přidání a 648 odebrání
  1. 2 1
      o2web/source/x_component_TeamWork/$Common/default/css.wcss
  2. 3 2
      o2web/source/x_component_TeamWork/$Emoji/default/css.wcss
  3. binární
      o2web/source/x_component_TeamWork/$Emoji/default/icon/aixin.png
  4. binární
      o2web/source/x_component_TeamWork/$Emoji/default/icon/baiyan.png
  5. binární
      o2web/source/x_component_TeamWork/$Emoji/default/icon/chiyao.png
  6. binární
      o2web/source/x_component_TeamWork/$Emoji/default/icon/dajing.png
  7. binární
      o2web/source/x_component_TeamWork/$Emoji/default/icon/danao.png
  8. binární
      o2web/source/x_component_TeamWork/$Emoji/default/icon/daxiao.png
  9. binární
      o2web/source/x_component_TeamWork/$Emoji/default/icon/dianzan.png
  10. binární
      o2web/source/x_component_TeamWork/$Emoji/default/icon/fadai.png
  11. binární
      o2web/source/x_component_TeamWork/$Emoji/default/icon/fankun.png
  12. binární
      o2web/source/x_component_TeamWork/$Emoji/default/icon/feiwen.png
  13. binární
      o2web/source/x_component_TeamWork/$Emoji/default/icon/fennu.png
  14. binární
      o2web/source/x_component_TeamWork/$Emoji/default/icon/ganga.png
  15. binární
      o2web/source/x_component_TeamWork/$Emoji/default/icon/guzhang.png
  16. binární
      o2web/source/x_component_TeamWork/$Emoji/default/icon/hanyan.png
  17. binární
      o2web/source/x_component_TeamWork/$Emoji/default/icon/kaixin.png
  18. binární
      o2web/source/x_component_TeamWork/$Emoji/default/icon/kouzhao.png
  19. binární
      o2web/source/x_component_TeamWork/$Emoji/default/icon/kuxiao.png
  20. binární
      o2web/source/x_component_TeamWork/$Emoji/default/icon/lanqiu.png
  21. binární
      o2web/source/x_component_TeamWork/$Emoji/default/icon/liuhan.png
  22. binární
      o2web/source/x_component_TeamWork/$Emoji/default/icon/liulei.png
  23. binární
      o2web/source/x_component_TeamWork/$Emoji/default/icon/manfen.png
  24. binární
      o2web/source/x_component_TeamWork/$Emoji/default/icon/qidao.png
  25. binární
      o2web/source/x_component_TeamWork/$Emoji/default/icon/shenme.png
  26. binární
      o2web/source/x_component_TeamWork/$Emoji/default/icon/test.png
  27. binární
      o2web/source/x_component_TeamWork/$Emoji/default/icon/tucao.png
  28. binární
      o2web/source/x_component_TeamWork/$Emoji/default/icon/woshou.png
  29. binární
      o2web/source/x_component_TeamWork/$Emoji/default/icon/xiaolian.png
  30. binární
      o2web/source/x_component_TeamWork/$Emoji/default/icon/xihuan.png
  31. binární
      o2web/source/x_component_TeamWork/$Emoji/default/icon/xinsui.png
  32. binární
      o2web/source/x_component_TeamWork/$Emoji/default/icon/zhadan.png
  33. binární
      o2web/source/x_component_TeamWork/$Emoji/default/icon/ziya.png
  34. binární
      o2web/source/x_component_TeamWork/$Emoji/default/icon/zuqiu.png
  35. 105 6
      o2web/source/x_component_TeamWork/$Project/default/css.wcss
  36. binární
      o2web/source/x_component_TeamWork/$Project/default/icon/icon_complete.png
  37. binární
      o2web/source/x_component_TeamWork/$Project/default/icon/icon_fold.png
  38. binární
      o2web/source/x_component_TeamWork/$Project/default/icon/icon_fold_click.png
  39. binární
      o2web/source/x_component_TeamWork/$Project/default/icon/icon_off_click20.png
  40. binární
      o2web/source/x_component_TeamWork/$Project/default/icon/icon_off_click24.png
  41. binární
      o2web/source/x_component_TeamWork/$Project/default/icon/icon_off_click40.png
  42. binární
      o2web/source/x_component_TeamWork/$Project/default/icon/icon_right_arrow.png
  43. binární
      o2web/source/x_component_TeamWork/$Project/default/icon/icon_search24.png
  44. binární
      o2web/source/x_component_TeamWork/$Project/default/icon/icon_search_click40.png
  45. binární
      o2web/source/x_component_TeamWork/$Project/default/icon/icon_upfold.png
  46. binární
      o2web/source/x_component_TeamWork/$Project/default/icon/icon_upfold_click.png
  47. 2 1
      o2web/source/x_component_TeamWork/$ProjectSetting/default/css.wcss
  48. 822 157
      o2web/source/x_component_TeamWork/$Stat/default/css.wcss
  49. 10 10
      o2web/source/x_component_TeamWork/$Task/default/css.wcss
  50. binární
      o2web/source/x_component_TeamWork/$Task/default/icon/icon_duty.png
  51. 2 2
      o2web/source/x_component_TeamWork/$TaskAttachmentList/default/css.wcss
  52. 5 5
      o2web/source/x_component_TeamWork/$TaskMove/default/css.wcss
  53. 9 3
      o2web/source/x_component_TeamWork/Group.js
  54. 9 3
      o2web/source/x_component_TeamWork/GroupSelect.js
  55. 58 1
      o2web/source/x_component_TeamWork/Main.js
  56. 17 9
      o2web/source/x_component_TeamWork/NewProject.js
  57. 521 233
      o2web/source/x_component_TeamWork/Project.js
  58. 46 39
      o2web/source/x_component_TeamWork/ProjectList.js
  59. 20 2
      o2web/source/x_component_TeamWork/ProjectSetting.js
  60. 21 21
      o2web/source/x_component_TeamWork/Stat.js
  61. 137 34
      o2web/source/x_component_TeamWork/Task.js
  62. 1 1
      o2web/source/x_component_TeamWork/TaskAttachmentList.js
  63. 62 78
      o2web/source/x_component_TeamWork/TaskMove.js
  64. 13 2
      o2web/source/x_component_TeamWork/TaskSub.js
  65. 27 27
      o2web/source/x_component_TeamWork/UploadImage.js
  66. 18 2
      o2web/source/x_component_TeamWork/lp/zh-cn.js
  67. 149 9
      o2web/source/x_component_TeamWork_Task/Main.js

+ 2 - 1
o2web/source/x_component_TeamWork/$Common/default/css.wcss

@@ -93,7 +93,8 @@
                 "margin-left":"20px",
                 "font-size":"14px",
                 "color":"#666666",
-                "outline":"none"
+                "outline":"none",
+                "margin-top":"2px"
             },
             dynamicLayout:{
                 "height":"30px",

+ 3 - 2
o2web/source/x_component_TeamWork/$Emoji/default/css.wcss

@@ -1,11 +1,12 @@
 {
     emojiItem:{
         "float":"left",
-        "width":"20px",
-        "height":"20px",
+        "width":"30px",
+        "height":"30px",
         "cursor":"pointer",
         "margin":"2px",
         "border":"1px solid #ffffff",
         "background":"url(/x_component_TeamWork/$Emoji/default/icon/icon_emoji.png) no-repeat center",
+        "background-size":"contain"
     }
 }

binární
o2web/source/x_component_TeamWork/$Emoji/default/icon/aixin.png


binární
o2web/source/x_component_TeamWork/$Emoji/default/icon/baiyan.png


binární
o2web/source/x_component_TeamWork/$Emoji/default/icon/chiyao.png


binární
o2web/source/x_component_TeamWork/$Emoji/default/icon/dajing.png


binární
o2web/source/x_component_TeamWork/$Emoji/default/icon/danao.png


binární
o2web/source/x_component_TeamWork/$Emoji/default/icon/daxiao.png


binární
o2web/source/x_component_TeamWork/$Emoji/default/icon/dianzan.png


binární
o2web/source/x_component_TeamWork/$Emoji/default/icon/fadai.png


binární
o2web/source/x_component_TeamWork/$Emoji/default/icon/fankun.png


binární
o2web/source/x_component_TeamWork/$Emoji/default/icon/feiwen.png


binární
o2web/source/x_component_TeamWork/$Emoji/default/icon/fennu.png


binární
o2web/source/x_component_TeamWork/$Emoji/default/icon/ganga.png


binární
o2web/source/x_component_TeamWork/$Emoji/default/icon/guzhang.png


binární
o2web/source/x_component_TeamWork/$Emoji/default/icon/hanyan.png


binární
o2web/source/x_component_TeamWork/$Emoji/default/icon/kaixin.png


binární
o2web/source/x_component_TeamWork/$Emoji/default/icon/kouzhao.png


binární
o2web/source/x_component_TeamWork/$Emoji/default/icon/kuxiao.png


binární
o2web/source/x_component_TeamWork/$Emoji/default/icon/lanqiu.png


binární
o2web/source/x_component_TeamWork/$Emoji/default/icon/liuhan.png


binární
o2web/source/x_component_TeamWork/$Emoji/default/icon/liulei.png


binární
o2web/source/x_component_TeamWork/$Emoji/default/icon/manfen.png


binární
o2web/source/x_component_TeamWork/$Emoji/default/icon/qidao.png


binární
o2web/source/x_component_TeamWork/$Emoji/default/icon/shenme.png


binární
o2web/source/x_component_TeamWork/$Emoji/default/icon/test.png


binární
o2web/source/x_component_TeamWork/$Emoji/default/icon/tucao.png


binární
o2web/source/x_component_TeamWork/$Emoji/default/icon/woshou.png


binární
o2web/source/x_component_TeamWork/$Emoji/default/icon/xiaolian.png


binární
o2web/source/x_component_TeamWork/$Emoji/default/icon/xihuan.png


binární
o2web/source/x_component_TeamWork/$Emoji/default/icon/xinsui.png


binární
o2web/source/x_component_TeamWork/$Emoji/default/icon/zhadan.png


binární
o2web/source/x_component_TeamWork/$Emoji/default/icon/ziya.png


binární
o2web/source/x_component_TeamWork/$Emoji/default/icon/zuqiu.png


+ 105 - 6
o2web/source/x_component_TeamWork/$Project/default/css.wcss

@@ -171,7 +171,7 @@
 	},
     naviTopSearchIn:{
         "width":"90%",
-        "margin":"0 10px",
+        "margin":"1px 10px",
         "border":"0px",
         "height":"32px",
         "line-height":"32px",
@@ -377,16 +377,31 @@
         "font-size":"13px",
         "margin-left":"10px"
     },
-
+    foldContainer:{
+        float:"left", width:"12px", height:"100%","border-left":"0px solid #ffffff","margin-left":"1px"
+    },
+    foldIcon:{
+         "width":"12px",
+         "height":"30px",
+         "line-height":"30px",
+         "background-color":"#ffffff",
+         "border-top-right-radius":"4px",
+         "border-bottom-right-radius":"4px",
+         "border-top":"1px solid #D9D9D9",
+         "border-right":"1px solid #D9D9D9",
+         "border-bottom":"1px solid #D9D9D9",
+         "cursor":"pointer"
+     },
 	taskContentLayout:{
         flex:"1",
 	    "overflow-x":"auto",
 	    "overflow-y":"hidden",
-        "padding-left":"10px",
+        //"padding-left":"10px",
         //"padding-right":"10px",
         "width":"100%",
         "height":"99%",
-        "display":"flex"
+        "display":"flex",
+        "position":"relative"
 	},
 	taskGroupLayout:{
 	    //"display":"inline-table",
@@ -454,7 +469,7 @@
         "overflow":"hidden",
         "background-color":"#fff",
         "padding-bottom":"10px",
-        //"position":"absolute"
+        "position":"relative"
     },
     taskItemContainerDrag:{
         "width":"290px",
@@ -493,7 +508,35 @@
         "width":"230px"
     },
     taskItemTitle:{
-        "font-size":"14px"
+        "font-size":"14px",
+        "height":"24px"
+    },
+    taskItemComplete:{
+        "float":"left",
+        "width":"16px",
+        "height":"16px",
+        "margin-right":"2px",
+        "margin-top":"4px",
+        "background":"url(/x_component_TeamWork/$Project/default/icon/icon_complete.png) no-repeat center "
+    },
+    taskItemName:{
+        "float":"left",
+        "line-height":"24px",
+        "height":"24px",
+        "width":"190px",
+        "overflow":"hidden",
+        "text-overflow": "ellipsis",
+        "white-space": "nowrap"
+    },
+    taskItemExecutor:{
+        "float":"right",
+        "width":"20px",
+        "height":"20px",
+        "background-color":"#189AEE",
+        "color":"#ffffff",
+        "line-height":"20px",
+        "text-align":"center",
+        "border-radius":"10px"
     },
     taskItemDetail:{
         "font-size":"12px",
@@ -607,6 +650,56 @@
         "height":"100%",
         "overflow-y":"auto"
     },
+    taskSearchEmpty: {
+        "height":"100px",
+        "width":"100%",
+        "line-height":"100px",
+        "background-color":"#ffffff",
+        "text-align":"center",
+        "font-size":"18px"
+    },
+    viewSearchContainer:{
+        "width":"1000px",
+        "height":"60px",
+        "margin":"10px auto 0px auto",
+        "font-size":"14px",
+        "color":"#666666",
+        "border-radius":"2px",
+        "background-color":"#ffffff"
+    },
+    viewSearchContent:{
+        "float":"left",
+        "width":"700px",
+        "height":"40px",
+        "margin-left":"150px",
+        "margin-top":"10px",
+        "border":"1px solid #cccccc"
+    },
+    viewSearchInput:{
+        "float":"left",
+        "font-size":"16px",
+        "outline":"none",
+        "width":"620px",
+        "height":"30px",
+        "margin":"2px",
+        "text-indent":"5px",
+        "border":"0px"
+    },
+    viewSearchReset:{
+        "display":"none",
+        "float":"right",
+        "width":"30px",
+        "height":"100%",
+        "cursor":"pointer",
+        "background": "url(/x_component_TeamWork/$Project/default/icon/icon_off_click24.png) no-repeat center"
+    },
+    viewSearchSearch:{
+        "float":"right",
+        "width":"30px",
+        "height":"100%",
+        "cursor":"pointer",
+        "background": "url(/x_component_TeamWork/$Project/default/icon/icon_search24.png) no-repeat center"
+    },
     viewListContainer:{
         "width":"1000px",
         "margin":"10px auto",
@@ -620,6 +713,12 @@
         "background-color":"#ffffff",
         "border-bottom":"1px solid #EEEEEE"
     },
+    viewColor:{
+        "float":"left",
+        "width":"5px",
+        "height":"50px",
+        "background-color":""
+    },
     viewName:{
         "float":"left",
         "line-height":"50px",

binární
o2web/source/x_component_TeamWork/$Project/default/icon/icon_complete.png


binární
o2web/source/x_component_TeamWork/$Project/default/icon/icon_fold.png


binární
o2web/source/x_component_TeamWork/$Project/default/icon/icon_fold_click.png


binární
o2web/source/x_component_TeamWork/$Project/default/icon/icon_off_click20.png


binární
o2web/source/x_component_TeamWork/$Project/default/icon/icon_off_click24.png


binární
o2web/source/x_component_TeamWork/$Project/default/icon/icon_off_click40.png


binární
o2web/source/x_component_TeamWork/$Project/default/icon/icon_right_arrow.png


binární
o2web/source/x_component_TeamWork/$Project/default/icon/icon_search24.png


binární
o2web/source/x_component_TeamWork/$Project/default/icon/icon_search_click40.png


binární
o2web/source/x_component_TeamWork/$Project/default/icon/icon_upfold.png


binární
o2web/source/x_component_TeamWork/$Project/default/icon/icon_upfold_click.png


+ 2 - 1
o2web/source/x_component_TeamWork/$ProjectSetting/default/css.wcss

@@ -144,7 +144,8 @@
         "font-size":"14px",
         "border":"1px solid #dedede",
         "padding-left":"5px",
-        "border-radius":"10px"
+        "border-radius":"10px",
+        "outline":"none"
     },
     projectSettingGroupContainer:{
         "float":"left",

+ 822 - 157
o2web/source/x_component_TeamWork/$Stat/default/css.wcss

@@ -1,65 +1,764 @@
 {
-    "formTopNode": {
-        "aaa":"aaa",
-        "color" : "#3587d7",
-        "height": "40px",
-        "background-color": "#eee",
-        "border-top": "1px solid #ddd",
-        "border-bottom": "1px solid #b6b6b6",
-        "border-top-left-radius": "10px",
-        "border-top-right-radius": "10px",
-        "line-height": "40px",
-        "font-size": "14px",
-        "font-weight" : "bold",
-        "padding-left" : "25px",
-        "text-align": "left"
+    topLayout:{
+        "height":"40px",
+        "width":"100%",
+        "flex":1,
+        "border-bottom":"1px solid #bebebe"
     },
-    "content":{
-        "width": "100%",
-        "height": "100%",
-        "overflow": "auto",
-        "position" : "relative"
-    },
-    "maskNode": {
-        "background-color": "#666",
-        "opacity": 0.4,
-        "z-index":100
-    },
-    "processNode_from": {
-        "width": "480px",
-        "min-height": "280px",
-        "height": "auto",
-        "z-index":300,
-        "background-color": "#FFF",
+    topImage:{
+        "float": "left",
+        "background": "url(/x_component_TeamWork/$Task/default/icon/document.png) no-repeat center"
+    },
+    topContent:{
+        "float":"left",
+        "line-height":"40px",
+        "font-size":"16px",
+        "max-width":"700px",
         "overflow": "hidden",
-        "border": "3px solid #666",
-        "border-radius": "10px",
-        "box-shadow": "0px 0px 15px #666",
-        "opacity": 0.2,
-        "position": "absolute"
+        "white-space": "nowrap",
+        "text-overflow": "ellipsis"
     },
-    "processNode": {
-        "width": "480px",
-        "min-height": "280px",
-        "height": "auto",
-        "opacity": 1,
-        "overflow": "hidden"
+    topIconContainer:{
+        "float":"right",
+        "height":"100%"
     },
-    "routeSelectorTile": {
-        "overflow": "hidden",
-        "height": "24px",
-        "line-height": "24px"
+    topIconClose:{
+        "float":"left",
+        "cursor":"pointer",
+        "height":"24px",
+        "width":"24px",
+        "margin-top":"8px",
+        "margin-left":"4px",
+        "background":"url(/x_component_TeamWork/$Task/default/icon/icon_off.png) no-repeat center"
     },
-    "routeSelectorArea": {
-        "overflow": "hidden"
+    topIconMore:{
+        "float":"left",
+        "cursor":"pointer",
+        "height":"24px",
+        "width":"24px",
+        "margin-left":"4px",
+        "margin-top":"8px",
+        "background":"url(/x_component_TeamWork/$Task/default/icon/icon_more.png) no-repeat center"
+    },
+    topMoreTitle:{
+        "height":"40px",
+        "line-height":"40px",
+        "width":"100%",
+        "text-align":"center",
+        "font-size":"16px",
+        "color":"#333333",
+        "border-bottom":"1px solid #bebebe"
+    },
+    topMoreItem:{
+        "cursor":"pointer",
+        "height":"40px",
+        "width":"100%",
+        "font-size":"14px",
+        "color":"#666666"
+    },
+    topMoreItemIcon:{
+        "float":"left",
+        "height":"30px",
+        "width":"30px",
+        "margin-top":"5px",
+        "margin-left":"10px"
+    },
+    topMoreItemText:{
+        "float":"left",
+        "height":"40px",
+        "line-height":"40px"
+    },
+
+
+
+    contentLayout:{
+        "width":"100%",
+        "position":"absolute",
+        "top":"40px",
+        "left":"0px",
+        "bottom":"0px",
+        "overflow-y":"hidden"
+    },
+    taskInforContainer:{
+        "position":"relative",
+        "float":"left",
+        "height":"100%",
+        "overflow":"hidden",
+        "width":"750px",
+        "font-size":"14px",
+        "border-right":"1px solid #bebebe"
+    },
+    taskInforLayout:{
+        "height":"100%"
+    },
+    taskInforContent:{
+        "overflow":"hidden",
+        "position":"absolute",
+        "top":"30px",
+        "left":"0px",
+        "right":"0px",
+        "bottom":"0px"
+    },
+    taskActionBar:{
+        "height":"30px",
+        "width":"100%"
+    },
+    taskActionParentContent:{
+        "float":"left",
+        "height":"100%",
+        "font-size":"14px",
+        "color":"#333333"
+    },
+    taskActionParentIcon:{
+        "float":"left",
+        "width":"30px",
+        "height":"40px",
+        "margin-left":"10px",
+        "background":"url(/x_component_TeamWork/$Task/default/icon/icon_belong.png) no-repeat center"
+    },
+    taskActionParentText:{
+        "float":"left",
+        "margin-right":"10px",
+        "line-height":"40px"
+    },
+    taskActionParentValue:{
+        "float":"left",
+        "line-height":"40px",
+        "color":"#4A90E2",
+        "cursor":"pointer"
+    },
+    taskActionSave:{
+        "float":"right",
+        "width":"70px",
+        "margin-right":"20px",
+        "margin-top":"18px",
+        "height":"30px",
+        "line-height":"30px",
+        "text-align":"center",
+        "cursor":"pointer",
+        "color":"#666666",
+        "background-color":"#ffffff",
+        "border":"1px solid #bebebe",
+        "border-radius":"4px"
+    },
+    taskNameContainer:{
+        "width":"90%",
+        "height":"50px",
+        "line-height":"50px",
+        "font-size":"18px",
+        "margin":"10px auto 0px auto",
+        "border-radius":"4px"
+    },
+    taskNameInput:{
+        "line-height":"48px",
+        "height":"48px",
+        "font-size":"18px",
+        "width":"100%",
+        "color":"#666",
+        "border":"1px solid #f5f5f5",
+        "background-color":"#f5f5f5",
+        "border-radius":"4px",
+        "outline":"none",
+        "resize":"none"
+    },
+    taskStatusContainer:{
+        "width":"100%",
+        "height":"50px"
+    },
+    taskStatusIcon:{
+        "float":"left",
+        "width":"48px",
+        "height":"48px",
+        "margin-top":"2px",
+        "margin-left":"20px",
+        "background":"url(/x_component_TeamWork/$Task/default/icon/icon_status.png) no-repeat center"
+    },
+    taskStatusText:{
+        "float":"left",
+        "line-height":"50px",
+        "width":"80px"
+    },
+    taskStatusValue:{
+        "float":"left"
+    },
+    taskStatusValueContainer:{
+        "cursor":"pointer",
+        "height":"24px",
+        "background-color":"#f5f5f5",
+        "margin-top":"13px",
+        "border-radius":"2px",
+        "padding-left":"6px",
+        "padding-right":"10px"
+    },
+    taskStatusValueIcon:{
+        "float":"left",
+        "width":"24px",
+        "height":"24px",
+        "background":"url(/x_component_TeamWork/$Task/default/icon/icon_draft.png) no-repeat center"
+    },
+    taskStatusValueText:{
+        "float":"left",
+        "line-height":"24px"
+    },
+    taskDutyContainer:{
+        "width":"100%",
+        "height":"50px"
+    },
+    taskDutyIcon:{
+        "float":"left",
+        "width":"48px",
+        "height":"48px",
+        "margin-top":"2px",
+        "margin-left":"20px",
+        "background":"url(/x_component_TeamWork/$Task/default/icon/icon_duty.png) no-repeat center"
+    },
+    taskDutyText:{
+        "float":"left",
+        "line-height":"50px",
+        "width":"80px"
+    },
+    taskDutyValue:{
+        "float":"left",
+        "line-height":"50px"
+    },
+    taskDutyValueContainer:{
+        "margin-top":"13px",
+        "height":"100%"
+    },
+    taskDutyAddIcon:{
+        "float":"left",
+        "width":"24px",
+        "height":"24px",
+        "background":"url(/x_component_TeamWork/$Task/default/icon/icon_wcyd_xm_click.png) no-repeat center"
+    },
+    taskDutyAddText:{
+        "cursor":"pointer",
+        "float":"left",
+        "line-height":"24px"
+    },
+    taskTimeContainer:{
+        "width":"100%",
+        "height":"50px"
+    },
+    taskTimeIcon:{
+        "float":"left",
+        "width":"48px",
+        "height":"48px",
+        "margin-top":"2px",
+        "margin-left":"20px",
+        "background":"url(/x_component_TeamWork/$Task/default/icon/icon_time.png) no-repeat center"
+    },
+    taskTimeText:{
+        "float":"left",
+        "line-height":"50px",
+        "width":"80px"
+    },
+    taskTimeValue:{
+        "float":"left",
+        "line-height":"50px"
+    },
+    taskStartTime:{
+        "float":"left",
+        "height":"24px",
+        "color":"#999999",
+        "line-height":"24px",
+        "margin-top":"13px",
+        "padding":"0px 5px",
+        "border-radius":"4px"
+    },
+    taskTimeLine:{
+        "float":"left",
+        "height":"24px",
+        "text-align":"center",
+        "line-height":"24px",
+        "margin-top":"13px",
+        "padding":"0px 5px"
+    },
+    taskEndTime:{
+        "float":"left",
+        "height":"24px",
+        "color":"#999999",
+        "line-height":"24px",
+        "margin-top":"13px",
+        "padding":"0px 5px",
+        "border-radius":"4px"
+    },
+    taskRemarkContainer:{
+        "display":"flex",
+        "width":"100%",
+        "min-height":"30px",
+        "margin-top":"10px"
+    },
+    taskRemarkIcon:{
+        "float":"left",
+        "width":"48px",
+        //"height":"48px",
+        "margin-top":"2px",
+        "margin-left":"20px",
+        "background":"url(/x_component_TeamWork/$Task/default/icon/icon_remark.png) no-repeat top center"
+    },
+    taskRemarkText:{
+        "float":"left",
+        "width":"80px"
+    },
+    taskRemarkValue:{
+        "float":"left",
+        "border-radius":"4px",
+        //"min-height":"50px",
+        "width":"580px",
+        "height":"100%"
+    },
+    taskRemarkActionContainer:{
+        "width":"580px",
+        "height":"50px",
+    },
+    taskRemarkActionOk:{
+        "float":"right",
+        "width":"60px",
+        "height":"25px",
+        "line-height":"25px",
+        "margin-top":"10px",
+        "margin-left":"20px",
+        "color":"#ffffff",
+        "text-align":"center",
+        "cursor":"pointer",
+        "background-color":"#4A90E2",
+        "border-radius":"2px"
+    },
+    taskRemarkActionCancel:{
+        "float":"right",
+        "width":"60px",
+        "height":"25px",
+        "line-height":"25px",
+        "margin-top":"10px",
+        "color":"#999999",
+        "text-align":"center",
+        "cursor":"pointer"
+    },
+    taskPriorityContainer:{
+        "width":"100%",
+        "height":"50px"
+    },
+    taskPriorityIcon:{
+        "float":"left",
+        "width":"48px",
+        "height":"48px",
+        "margin-top":"2px",
+        "margin-left":"20px",
+        "background":"url(/x_component_TeamWork/$Task/default/icon/icon_priority.png) no-repeat center"
+    },
+    taskPriorityText:{
+        "float":"left",
+        "line-height":"50px",
+        "width":"80px"
+    },
+    taskPriorityValue:{
+        "float":"left",
+        "line-height":"50px"
+    },
+    taskPriorityValueText:{
+        "width":"50px",
+        "height":"25px",
+        "line-height":"25px",
+        "text-align":"center",
+        "font-size":"14px",
+        "margin-top":"12px",
+        "color":"#999999",
+        "border":"1px solid #999999",
+        "border-radius":"4px",
+        "cursor":"pointer"
+    },
+    taskTagContainer:{
+        "margin-top":"10px",
+        "width":"100%",
+        "overflow":"auto",
+        "min-height":"50px"
+    },
+    taskTagIcon:{
+        "float":"left",
+        "width":"48px",
+        "height":"48px",
+        "margin-top":"2px",
+        "margin-left":"20px",
+        "background":"url(/x_component_TeamWork/$Task/default/icon/icon_tag.png) no-repeat center top"
+    },
+    taskTagText:{
+        "cursor":"arrow",
+        "float":"left",
+        "width":"80px"
+    },
+    taskTagValue:{
+        "float":"left",
+        "width":"490px"
+    },
+    tagItemContainer:{
+        "float":"left",
+        "height":"25px",
+        "min-widht":"30px",
+        "color":"#ffffff",
+        "margin-right":"6px",
+        "margin-bottom":"6px",
+        "border-radius":"12px"
+    },
+    tagItemText:{
+        "float":"left",
+        "height":"25px",
+        "line-height":"25px",
+        "margin":"0 10px",
+        "max-width":"100px",
+        "overflow":"hidden",
+        "text-overflow": "ellipsis",
+        "white-space": "nowrap"
+    },
+    tagItemClose:{
+        "float":"left",
+        "width":"20px",
+        "height":"20px",
+        "margin-top":"2px",
+        "cursor":"pointer",
+        "background":"url(/x_component_TeamWork/$Task/default/icon/icon_off_round_grey.png) no-repeat center"
+    },
+    taskTagAddText:{
+        "color":"#666666",
+        "cursor":"pointer"
+    },
+    taskTagAdd:{
+        "float":"left",
+        "width":"20px",
+        "height":"20px",
+        "cursor":"pointer",
+        "margin-top":"4px",
+        "background":"url(/x_component_TeamWork/$Task/default/icon/icon_jia.png) no-repeat center"
+    },
+    taskExtFieldContainer:{
+
+    },
+    taskExtFieldItem:{
+        "width":"100%",
+        "height":"50px"
+    },
+    taskExtFieldIcon:{
+        "float":"left",
+        "width":"48px",
+        "height":"48px",
+        "margin-top":"2px",
+        "margin-left":"20px",
+        "background":"url(/x_component_TeamWork/$Task/default/icon/icon_extend.png) no-repeat center"
+    },
+    taskExtFieldText:{
+        "float":"left",
+        "height":"50px",
+        "width":"80px"
+    },
+
+    taskAttachmentContainer:{
+        "width":"100%",
+        "min-height":"50px",
+        "margin-top":"10px",
+        "display":"flex"
+    },
+    taskAttachmentIcon:{
+        "float":"left",
+        "width":"48px",
+        "height":"48px",
+        "margin-top":"10px",
+        "margin-left":"20px",
+        "background":"url(/x_component_TeamWork/$Task/default/icon/icon_attachment.png) no-repeat top"
+    },
+    taskAttachmentText:{
+        "float":"left",
+        "margin-top":"10px",
+        "width":"80px"
+    },
+    taskAttachmentValue:{
+        "float":"left",
+        "width":"482px",
+        "line-height":"50px"
+    },
+    taskAttachmentListContainer:{
+        "color":"#666666",
+        "font-size":"14px",
+        "margin-top":"10px"
+    },
+    subTaskContainer:{
+        "color":"#666666",
+        "font-size":"14px",
+        "margin-top":"10px"
+    },
+    subTaskTitleContent:{
+        "height":"50px",
+        "width":"100%"
+    },
+    subTaskTitleIcon:{
+        "float":"left",
+        "width":"48px",
+        "height":"48px",
+        "margin-left":"20px",
+        "background":"url(/x_component_TeamWork/$Task/default/icon/icon_subtask.png) no-repeat center"
+    },
+    subTaskTitleText:{
+        "float":"left",
+        "height":"100%",
+        "line-height":"50px"
+    },
+    subTaskValueContent:{
+        "width":"688px",
+        "margin-left":"40px",
+        "border":"1px solid #dedede",
+        "border-radius":"4px",
+        "min-height":"40px"
+    },
+    subTaskItemContainer:{
+        "margin-top":"2px",
+        "width":"100%",
+        "height":"40px"
+    },
+    subTaskItemText:{
+        "float":"left",
+        "cursor":"pointer",
+        "border-radius":"4px",
+        "padding-left":"5px",
+        "height":"40px",
+        "line-height":"40px",
+        "width":"500px",
+        "margin-left":"15px",
+        "overflow":"hidden",
+        "text-overflow": "ellipsis",
+        "white-space": "nowrap"
+    },
+    subTaskItemPerson:{
+        "float":"right",
+        "width":"30px",
+        "height":"30px",
+        "cursor":"pointer",
+        "margin-top":"5px",
+        "margin-right":"20px",
+        "background":"url(/x_component_TeamWork/$Task/default/icon/icon_wcyd_xm_click.png) no-repeat center"
+    },
+    subTaskAddContainer:{
+        "width":"100%"
+    },
+    subTaskNewContent:{
+        "cursor":"pointer",
+        "width":"100%",
+        "height":"40px"
+    },
+    subTaskNewIcon:{
+        "float":"left",
+        "width":"40px",
+        "height":"40px",
+        "background":"url(/x_component_TeamWork/$Task/default/icon/icon_subtask_add.png) no-repeat center"
+    },
+    subTaskNewText:{
+        "float":"left",
+        "color":"#4A90E2",
+        "line-height":"40px"
+    },
+    subTaskNewContainer:{
+
+    },
+    subTaskNewValue:{
+        "width":"100%",
+        "height":"40px"
+    },
+    subTaskNewInput:{
+        "float":"left",
+        "width":"600px",
+        "height":"30px",
+        "color":"#666666",
+        "margin-top":"4px",
+        "margin-left":"12px",
+        "border":"1px solid #dedede",
+        "border-radius":"4px",
+        "text-indent":"5px"
+    },
+    subTaskNewPerson:{
+        "cursor":"pointer",
+        "float":"right",
+        "width":"30px",
+        "height":"30px",
+        "margin-top":"5px",
+        "margin-right":"20px",
+        "background":"url(/x_component_TeamWork/$Task/default/icon/icon_wcyd_xm_click.png) no-repeat center"
+    },
+    subTaskNewAction:{
+        "width":"100%",
+        "height":"40px"
+    },
+    subTaskNewOK:{
+        "cursor":"pointer",
+        "float":"left",
+        "height":"30px",
+        "line-height":"30px",
+        "color":"#ffffff",
+        "width":"75px",
+        "margin-top":"4px",
+        "margin-left":"20px",
+        "text-align":"center",
+        "border-radius":"2px",
+        "background-color":"#4A90E2"
+    },
+    subTaskNewCancel:{
+        "cursor":"pointer",
+        "float":"left",
+        "height":"30px",
+        "margin-top":"4px",
+        "margin-left":"446px",
+        "line-height":"30px",
+        "width":"75px",
+        "text-align":"center",
+        "border-radius":"2px"
+    },
+
+    taskDetailLayout:{
+        "float":"left",
+        "height":"100%",
+        "width":"440px",
+        "position":"relative"
+    },
+    taskParticipateContainer:{
+        "display":"inline-block",
+        "width":"100%",
+        "font-size":"14px",
+        "color":"#666666",
+        "border-bottom":"1px solid #bebebe"
+    },
+    participateTitle:{
+        "margin-left":"20px",
+        "height":"50px"
+    },
+    participateTitleText:{
+        "float":"left",
+        "height":"50px",
+        "line-height":"50px"
+    },
+    participateTitleIcon:{
+        "float":"left",
+        "width":"24px",
+        "height":"24px",
+        "margin-top":"13px",
+        "margin-left":"10px",
+        "cursor":"pointer",
+        "background":"url(/x_component_TeamWork/$Task/default/icon/icon_wcyd_xm_click.png) no-repeat center"
+    },
+    participateValue:{
+        "margin-left":"20px",
+        "height":"60px",
+        "overflow":"hidden"
+    },
+    taskDynamicContainer:{
+        "position":"absolute",
+        "left":"0px",
+        "top":"110px",
+        "bottom":"120px",
+        "width":"100%"
+    },
+    dynamicBar:{
+        "cursor":"pointer",
+        "width":"120px",
+        "height":"40px"
+    },
+    dynamicText:{
+        "margin-left":"20px",
+        "float":"left",
+        "line-height":"40px"
+    },
+    dynamicIcon:{
+        "float":"left",
+        "margin-top":"10px",
+        "margin-left":"4px",
+        "width":"24px",
+        "height":"24px",
+        "background":"url(/x_component_TeamWork/$Task/default/icon/icon_dw.png) no-repeat center"
+    },
+    dynamicContent:{
+        "font-size":"12px",
+        "position":"absolute",
+        "top":"40px",
+        "left":"0px",
+        "bottom":"0px",
+        "right":"0px",
+        "margin-bottom":"10px",
+        "overflow-y":"auto"
+    },
+    dynamicItem:{
+        "color":"#999999",
+        "min-height":"10px",
+        "margin-top":"25px"
+    },
+    dynamicItemIcon:{
+        "width":"30px",
+        "height":"30px",
+        "margin-left":"10px",
+        "margin-top":"2px",
+        "margin-right":"10px",
+        "background":"url(/x_component_TeamWork/$Task/default/icon/icon_attachment.png) no-repeat center top",
+        "float":"left"
+    },
+    dynamicItemText:{
+        "float":"left",
+        "width":"300px"
+    },
+    dynamicItemTime:{
+        "width":"60px",
+        "float":"right"
+    },
+    taskChatContainer:{
+        "position":"absolute",
+        "left":"0px",
+        //"top":"140px",
+        "bottom":"0px",
+        "width":"100%",
+        "height":"120px",
+        "border-top":"1px solid #dedede"
+    },
+    chatContent:{
+        "width":"100%",
+        "height":"80px"
+    },
+    chatTextarea:{
+        "color":"#999999",
+        "width":"330px",
+        "height":"70px",
+        "margin-top":"10px",
+        "margin-left":"10px",
+        "padding":"0",
+        "border":"0px",
+        "overflow":"auto",
+        "outline":"none",
+        "resize":"none"
+    },
+
+    chatBarContent:{
+        "height":"40px",
+        "width":"100%"
+    },
+    chatBarTool:{
+        "float":"left"
+    },
+    chatBarEmoji:{
+        "height":"24px",
+        "width":"24px",
+        "cursor":"pointer",
+        "margin-top":"8px",
+        "margin-left":"20px",
+        "background":"url(/x_component_TeamWork/$Task/default/icon/icon_emoji.png) no-repeat center"
+    },
+    chatBarSend:{
+        "float":"right",
+        "cursor":"pointer",
+        "height":"40px",
+        "line-height":"40px",
+        "color":"#4a90e2",
+        "margin-right":"20px"
     },
 
     "formMaskNode": {
         "width": "100%",
         "height": "100%",
-        "opacity": 0.6,
+        "opacity": 0.2,
         "position": "absolute",
-        "background-color": "#CCC",
+        "background-color": "#999999",
         "top": "0px",
         "left": "0px"
     },
@@ -71,54 +770,52 @@
     "formNode": {
         "background-color": "#FFF",
         "box-shadow": "0px 0px 10px #999",
-        "border-radius": "10px",
+        "border-radius": "5px",
         "margin": "auto",
         "border": "1px solid #fff",
-        "overflow": "hidden"
+        "overflow": "hidden",
+        "color":"#333333"
     },
-
-    "formTopTextNode" : {
-        "font-size": "16px",
-        "float": "left",
-        "width" : "480px",
-        "overflow" : "hidden",
-        "text-overflow" : "ellipsis",
-        "white-space":"nowrap"
+    "formTopNode": {
+        "color": "#fff",
+        "height": "40px",
+        "background-color": "#fff",
+        "border-bottom": "1px solid #b6b6b6",
+        "line-height": "40px",
+        "font-size": "14px",
+        "padding-left": "5px",
+        "text-align": "left"
     },
-    "formTopTextNodeTopSetting" : {
-        "font-size": "16px",
+    "formTopIconNode": {
+        "width": "32px",
+        "height": "32px",
         "float": "left",
-        "width" : "80px",
-        "overflow" : "hidden",
-        "text-overflow" : "ellipsis",
-        "white-space":"nowrap"
+        "background": "url(/x_component_TeamWork/$Task/default/icon/document.png) no-repeat center 4px"
     },
-    "formTopTextNodeImageLink" : {
+    "formTopTextNode": {
         "font-size": "16px",
         "float": "left",
-        "width" : "280px",
-        "overflow" : "hidden",
-        "text-overflow" : "ellipsis",
-        "white-space":"nowrap"
+        "width": "500px",
+        "overflow": "hidden",
+        "text-overflow": "ellipsis",
+        "white-space": "nowrap"
     },
     "formTopCloseActionNode": {
-        "width": "32px",
-        "height": "32px",
+        "width": "40px",
+        "height": "40px",
         "float": "right",
-        "padding-left" : "30px",
-        "padding-right" : "10px",
-        "background": "url(/x_component_cms_Document/$Main/default/close.png) no-repeat center 10px",
+        "padding-right": "4px",
+        "background": "url(/x_component_TeamWork/$Task/default/icon/icon_off.png) no-repeat center",
         "cursor": "pointer"
     },
-    "formTopContentNode" : {
-        "float" : "right",
-        "padding-right" : "10px",
-        "text-align" : "right"
-    },
-    "formTopContentTitle" : {
+    "formTopContentNode": {
+        "float": "right",
+        "padding-right": "10px",
+        "text-align": "right"
     },
-    "formTopContentValue" : {
-        "padding-right" : "20px",
+    "formTopContentTitle": {},
+    "formTopContentValue": {
+        "padding-right": "20px",
         "font-size": "12px"
     },
     "formNewNode": {
@@ -138,99 +835,67 @@
         "border": "0px solid #666",
         "width": "100%",
         "margin": "auto",
-        "font-size": "12px",
+        "font-size": "14px",
         "color": "#666",
         "font-family": "Microsoft YaHei",
-        "overflow" : "hidden"
+        "overflow": "hidden"
     },
-    "formTableContainer" : {
+    "formTableContainer": {
         "margin": "0px 10px",
-        "overflow" : "hidden",
-        "positon" : "static"
-    },
-    "formTableValue14" : {
-        "text-align": "left",
-        "font-size" : "14px"
-    },
-    "formBottomNode" : {
-        "height" : "50px",
-        "line-height" : "50px",
-        "background-color" : "#eee",
-        "overflow" : "hidden",
-        "padding-left" : "20px",
-        "border-bottom-left-radius": "10px",
-        "border-bottom-right-radius": "10px"
+        "overflow": "hidden",
+        "positon": "static"
+    },
+    "formTableArea":{
+        "height":"100%"
+    },
+    "formBottomNode": {
+        "height": "40px",
+        "line-height": "40px",
+        "background-color": "#3d77c1",
+        "overflow": "hidden",
+        "padding-top": "10px"
     },
     "formOkActionNode": {
         "height": "30px",
-        "line-height": "30px",
-        "text-align" : "center",
-        "width": "90px",
-        "margin-top" : "10px",
-        "margin-right" : "10px",
+        "width": "75px",
         "cursor": "pointer",
         "float": "right",
-        "font-size": "14px",
+        "line-height": "30px",
+        "text-align": "center",
+        "font-size": "16px",
         "font-family": "Microsoft YaHei",
-        "background-color":"#5c97e1",
+        "border": "1px solid #3d77c1",
+        "background-color": "#5d97e1",
         "color": "#FFF",
-        "border-radius" : "3px"
+        "margin-right": "20px",
+        "box-shadow": "0px 0px 3px #5d97e1"
     },
     "formCancelActionNode": {
         "height": "30px",
-        "line-height": "30px",
-        "text-align" : "center",
-        "width": "50px",
-        "margin-top" : "10px",
-        "margin-right" : "10px",
+        "width": "75px",
         "cursor": "pointer",
         "float": "right",
-        "font-size": "14px",
-        "font-family": "Microsoft YaHei",
-        "background-color":"#fff",
-        "color": "#333",
-        "border-radius" : "3px"
-    },
-    "cancelHotPicture" : {
-        "height": "30px",
         "line-height": "30px",
-        "text-align" : "center",
-        "width": "70px",
-        "margin-top" : "10px",
-        "margin-right" : "10px",
-        "cursor": "pointer",
-        "float": "right",
-        "font-size": "14px",
+        "text-align": "center",
+        "font-size": "16px",
         "font-family": "Microsoft YaHei",
-        "background-color":"#fff",
-        "color": "#333",
-        "border-radius" : "3px"
-    },
-    "iconNode": {
-        "width": "400px",
-        "height": "200px",
-        "float" : "left"
+        "border": "1px solid #3d77c1",
+        "background-color": "#5d97e1",
+        "color": "#FFF",
+        "margin-right": "20px",
+        "box-shadow": "0px 0px 3px #5d97e1"
     },
-    "selectActionNode" : {
-        "float": "left",
-        "background-color": "#FFF",
-        "padding": "4px 14px",
-        "border": "1px solid #999",
-        "border-radius": "3px",
-        "font-size": "14px",
-        "color": "#666",
+    "formActionNode": {
+        "height": "30px",
+        "width": "75px",
         "cursor": "pointer",
-        "margin-right" : "10px"
-    },
-    "changeIconActionNode":{
-        "margin-right": "20px",
         "float": "left",
-        "background-color": "#FFF",
-        "padding": "4px 14px",
-        "border": "1px solid #999",
-        "border-radius": "3px",
-        "font-size": "14px",
-        "color": "#666",
-        "cursor": "pointer"
+        "line-height": "30px",
+        "text-align": "center",
+        "font-size": "16px",
+        "font-family": "Microsoft YaHei",
+        "color": "#FFF",
+        "margin-left": "10px",
+        "margin-right": "20px"
     }
 }

+ 10 - 10
o2web/source/x_component_TeamWork/$Task/default/css.wcss

@@ -84,7 +84,7 @@
         "float":"left",
         "height":"100%",
         "overflow":"hidden",
-        "width":"650px",
+        "width":"750px",
         "font-size":"14px",
         "border-right":"1px solid #bebebe"
     },
@@ -305,11 +305,11 @@
         "float":"left",
         "border-radius":"4px",
         //"min-height":"50px",
-        "width":"490px",
+        "width":"580px",
         "height":"100%"
     },
     taskRemarkActionContainer:{
-        "width":"480px",
+        "width":"580px",
         "height":"50px",
     },
     taskRemarkActionOk:{
@@ -502,7 +502,7 @@
         "line-height":"50px"
     },
     subTaskValueContent:{
-        "width":"588px",
+        "width":"688px",
         "margin-left":"40px",
         "border":"1px solid #dedede",
         "border-radius":"4px",
@@ -563,7 +563,7 @@
     },
     subTaskNewInput:{
         "float":"left",
-        "width":"500px",
+        "width":"600px",
         "height":"30px",
         "color":"#666666",
         "margin-top":"4px",
@@ -603,7 +603,7 @@
         "float":"left",
         "height":"30px",
         "margin-top":"4px",
-        "margin-left":"346px",
+        "margin-left":"446px",
         "line-height":"30px",
         "width":"75px",
         "text-align":"center",
@@ -613,7 +613,7 @@
     taskDetailLayout:{
         "float":"left",
         "height":"100%",
-        "width":"340px",
+        "width":"440px",
         "position":"relative"
     },
     taskParticipateContainer:{
@@ -643,13 +643,13 @@
     },
     participateValue:{
         "margin-left":"20px",
-        "height":"50px",
+        "height":"60px",
         "overflow":"hidden"
     },
     taskDynamicContainer:{
         "position":"absolute",
         "left":"0px",
-        "top":"100px",
+        "top":"110px",
         "bottom":"120px",
         "width":"100%"
     },
@@ -697,7 +697,7 @@
     },
     dynamicItemText:{
         "float":"left",
-        "width":"200px"
+        "width":"300px"
     },
     dynamicItemTime:{
         "width":"60px",

binární
o2web/source/x_component_TeamWork/$Task/default/icon/icon_duty.png


+ 2 - 2
o2web/source/x_component_TeamWork/$TaskAttachmentList/default/css.wcss

@@ -17,7 +17,7 @@
         "line-height":"50px"
     },
     valueContent:{
-        "width":"588px",
+        "width":"688px",
         "margin-left":"40px",
         "border":"1px solid #dedede",
         "border-radius":"4px",
@@ -40,7 +40,7 @@
     attachmentName:{
         "cursor":"pointer",
         "float":"left",
-        "width":"450px",
+        "width":"550px",
         "overflow":"hidden",
         "text-overflow": "ellipsis",
         "white-space": "nowrap",

+ 5 - 5
o2web/source/x_component_TeamWork/$TaskMove/default/css.wcss

@@ -21,7 +21,7 @@
     },
     "searchInput":{
         "outline":"none",
-        "height":"28px",
+        "height":"26px",
         "width":"95%",
         "text-indent":"5px",
         "border":"0px",
@@ -38,22 +38,22 @@
         "height":"20px",
         "background": "url(/x_component_TeamWork/$TaskSub/default/icon/icon_off.png) no-repeat center"
     },
-    taskListLayout:{
+    taskGroupLayout:{
         "width":"90%",
-        "height":"280px",
+        "height":"320px",
         "margin":"10px auto",
         "border":"1px solid #dedede",
         "overflow-y":"auto",
         "color":"#666666"
     },
-    taskItem:{
+    groupItem:{
         "height":"40px",
         "width":"100%",
         "font-size":"14px",
         "cursor":"pointer",
         "border-bottom":"1px solid #dedede"
     },
-    taskName:{
+    groupName:{
         "width":"450px",
         "height":"40px",
         "line-height":"40px",

+ 9 - 3
o2web/source/x_component_TeamWork/Group.js

@@ -21,7 +21,7 @@ MWF.xApplication.TeamWork.Group = new Class({
         this.groupInContainer = new Element("div.groupInContainer",{styles:this.css.tooltip.group.groupInContainer}).inject(this.contentNode);
         this.groupIn = new Element("input.groupIn",{styles:this.css.tooltip.group.groupIn,type:"text",placeholder:this.lp.group.groupIn}).inject(this.groupInContainer);
         if(this.data.do == "edit"){
-            if(this.data.name) this.groupIn.set("value",this.data.name)
+            if(this.data.name) this.groupIn.set("value",this.data.name);
         }
         this.groupIn.addEvents({
             keyup:function(){
@@ -31,14 +31,20 @@ MWF.xApplication.TeamWork.Group = new Class({
                         "cursor":"",
                         "background-color":"#F0F0F0",
                         "color":"#666666"
-                    })
+                    });
                 }else{
                     this.groupAdd.setStyles({
                         "cursor":"pointer",
                         "background-color":"#4A90E2",
                         "color":"#FFFFFF"
-                    })
+                    });
                 }
+            }.bind(this),
+            focus:function(){
+                this.groupInContainer.setStyles({"border":"1px solid #4A90E2"});
+            }.bind(this),
+            blur:function(){
+                this.groupInContainer.setStyles({"border":"1px solid #A6A6A6"});
             }.bind(this)
         });
 

+ 9 - 3
o2web/source/x_component_TeamWork/GroupSelect.js

@@ -102,14 +102,20 @@ MWF.xApplication.TeamWork.GroupSelect = new Class({
                         "cursor":"",
                         "background-color":"#F0F0F0",
                         "color":"#666666"
-                    })
+                    });
                 }else{
                     this.groupAdd.setStyles({
                         "cursor":"pointer",
                         "background-color":"#4A90E2",
                         "color":"#FFFFFF"
-                    })
+                    });
                 }
+            }.bind(this),
+            focus:function(){
+                this.groupInContainer.setStyles({"border":"1px solid #4A90E2"});
+            }.bind(this),
+            blur:function(){
+                this.groupInContainer.setStyles({"border":"1px solid #A6A6A6"});
             }.bind(this)
         });
 
@@ -158,7 +164,7 @@ MWF.xApplication.TeamWork.GroupSelect = new Class({
         var _self = this;
         this.app.setLoading(this.commonGroupContainer);
         this.rootActions.ProjectGroupAction.listGroups(function(json){
-        //this.actions.groupList(function(json){
+            //this.actions.groupList(function(json){
             this.commonGroupContainer.empty();
             var data = json.data;
             this.allProjectGroup = json.data;

+ 58 - 1
o2web/source/x_component_TeamWork/Main.js

@@ -19,7 +19,7 @@ MWF.xApplication.TeamWork.Main = new Class({
 		// "isMax": true,
 		"title": MWF.xApplication.TeamWork.LP.title
 	},
-	onQueryLoad: function(){
+	onQueryLoad: function(){ //111
 		this.lp = MWF.xApplication.TeamWork.LP;
 	},
 
@@ -67,6 +67,57 @@ MWF.xApplication.TeamWork.Main = new Class({
 		this.st = new MWF.xApplication.TeamWork.Common.Tips(this.content, target, this.app, data, opt);
 		this.st.load();
 	},
+	tips:function(target,title){
+		//if(myTips) delete myTips;
+		var myTips = new Tips(target, {
+			onShow:function(tip, el){
+
+				console.log("ttt="+title);
+				tip.setStyles({
+					visibility: 'hidden',
+					display: 'block',
+					"background-color":"#000000",
+					"border-radius":"5px",
+					"padding":"5px",
+					"color":"#ffffff",
+					"offset":{
+						x:200,
+						y:200
+					}
+				}).fade('in');
+
+			},
+			onHide:function(tip,el){
+				myTips.setTitle("");
+			},
+			title:function(){
+				return title
+			}
+		});
+
+		myTips.setTitle(title);
+		//if you want to add this after init
+		// myTips.removeEvents('show').addEvent('show', function(tip, el){
+		// 	console.log("ttt="+title)
+		// 	tip.setStyles({
+		// 		visibility: 'hidden',
+		// 		display: 'block',
+		// 		"background-color":"#000000",
+		// 		"border-radius":"5px",
+		// 		"padding":"5px",
+		// 		"color":"#ffffff",
+		// 		"offset":{
+		// 			x:200,
+		// 			y:200
+		// 		},
+		// 		title:function(){
+		// 			return title
+		// 		}
+		// 	}).fade('in');
+		// });
+	},
+
+
 	selectCalendar : function( target, container, options, callback ){
 		var type = options.type;
 		var calendarOptions = {
@@ -233,6 +284,12 @@ MWF.xApplication.TeamWork.Main = new Class({
 			});
 		}
 
+		if(this.content.getElements(".foldIcon").length>0){
+			var fo = this.content.getElements(".foldIcon")[0];
+			var p = fo.getParent();
+			var _margin_height = (p.getHeight())/2 - (fo.getHeight())/2;
+			fo.setStyles({"margin-top":_margin_height+"px"});
+		}
 
 
 

+ 17 - 9
o2web/source/x_component_TeamWork/NewProject.js

@@ -43,14 +43,20 @@ MWF.xApplication.TeamWork.NewProject = new Class({
                         "cursor":"",
                         "background-color":"#F0F0F0",
                         "color":"#666666"
-                    })
+                    });
                 }else{
                     this.newProjectAdd.setStyles({
                         "cursor":"pointer",
                         "background-color":"#4A90E2",
                         "color":"#FFFFFF"
-                    })
+                    });
                 }
+            }.bind(this),
+            focus:function(){
+                this.newProjectContainer.setStyles({"border":"1px solid #4A90E2"});
+            }.bind(this),
+            blur:function(){
+                this.newProjectContainer.setStyles({"border":"1px solid #A6A6A6"});
             }.bind(this)
         });
 
@@ -75,8 +81,7 @@ MWF.xApplication.TeamWork.NewProject = new Class({
                         pre.destroy();
                     }
                 }
-
-
+                this.newProjectDesContainer.setStyles({"border":"1px solid #4A90E2"});
             }.bind(this),
             blur:function(){
                 var v = this.newProjectDesIn.get("value");
@@ -96,7 +101,7 @@ MWF.xApplication.TeamWork.NewProject = new Class({
                         pre.destroy();
                     }
                 }
-
+                this.newProjectDesContainer.setStyles({"border":"1px solid #A6A6A6"});
             }.bind(this)
         });
 
@@ -116,26 +121,29 @@ MWF.xApplication.TeamWork.NewProject = new Class({
                             "z-index" : "102"
                         },
                         onClose:function(d){
+                            this.newProjectGroupContainer.setStyles({"border":"1px solid #A6A6A6"});
                             if(!d) return;
                             this.refreshGroup(function(){
                                 var res = [];
                                 d.each(function(dd){
                                     this.groupSearch(dd,function(json){
                                         if(json) res.push(json);
-                                    }.bind(this))
+                                    }.bind(this));
                                 }.bind(this));
                                 this.selectGroup = res;
                                 var resVal = [];
                                 res.each(function(dd){
-                                    resVal.push(dd.name)
+                                    resVal.push(dd.name);
                                 }.bind(this));
 
-                                this.newProjectGroupValue.set("text",resVal.join(","))
+                                this.newProjectGroupValue.set("text",resVal.join(","));
                             }.bind(this));
                         }.bind(this)
                     });
                     gs.load()
                 }.bind(this));
+                this.newProjectGroupContainer.setStyles({"border":"1px solid #4A90E2"});
+
             }.bind(this)
         });
 
@@ -160,7 +168,7 @@ MWF.xApplication.TeamWork.NewProject = new Class({
                 };
 
                 //this.actions.projectSave(data,function(json){
-                 this.rootActions.ProjectAction.save(data,function(json){
+                this.rootActions.ProjectAction.save(data,function(json){
                     this.close(json);
                 }.bind(this));
 

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 521 - 233
o2web/source/x_component_TeamWork/Project.js


+ 46 - 39
o2web/source/x_component_TeamWork/ProjectList.js

@@ -62,7 +62,7 @@ MWF.xApplication.TeamWork.ProjectList = new Class({
                 var naviTitle = new Element("div.naviTitle",{styles:this.css.naviTitle,text:this.lp.navi.title}).inject(this.naviContent);
                 naviTitle.addEvents({
                     click:function(){
-                        alert(1)
+
                     }.bind(this)
                 });
 
@@ -82,7 +82,8 @@ MWF.xApplication.TeamWork.ProjectList = new Class({
                             e.stopPropagation();
                         }.bind(this),
                         mouseover:function(){
-                            this.app.showTips(this.allItemAdd,{_html:"<div style='margin:2px 5px;'>"+this.lp.content.addProjectBlockText+"</div>"});
+                            //this.app.showTips(this.allItemAdd,{_html:"<div style='margin:2px 5px;'>"+this.lp.content.addProjectBlockText+"</div>"});
+                            this.app.tips(this.allItemAdd,this.lp.content.addProjectBlockText)
                         }.bind(this)
                     });
                     this.allItem.addEvents({
@@ -307,7 +308,8 @@ MWF.xApplication.TeamWork.ProjectList = new Class({
                         e.stopPropagation();
                     }.bind(this),
                     mouseover:function(e){
-                        this.app.showTips(this.groupMenuAdd,{_html:"<div style='margin:2px 5px;'>"+this.lp.navi.addGroup+"</div>"});
+                        //this.app.showTips(this.groupMenuAdd,{_html:"<div style='margin:2px 5px;'>"+this.lp.navi.addGroup+"</div>"});
+                        this.app.tips(this.groupMenuAdd,this.lp.navi.addGroup)
                         e.stopPropagation();
                     }.bind(this)
                 });
@@ -392,7 +394,7 @@ MWF.xApplication.TeamWork.ProjectList = new Class({
                         //this.reloadLayoutList();
                         if(json.data && json.data.id){
                             //this.actions.projectGet(json.data.id,function(jsonr){
-                              this.actions.get(json.data.id,function(jsonr){
+                            this.actions.get(json.data.id,function(jsonr){
                                 if(jsonr.data){
                                     this.openProject(jsonr.data)
                                 }
@@ -495,9 +497,11 @@ MWF.xApplication.TeamWork.ProjectList = new Class({
         var _self = this;
         //his.actions.groupList(function(json){
         this.rootActions.ProjectGroupAction.listGroups(function(json){
-            var data = json.data;
-            if(data.length == 0) return;
+
             this.customGroup.empty();
+            var data = json.data;
+            if(!data || data.length == 0) return;
+
             data.each(function(d){
 
                 var customGroupItemContainer = new Element("div.customGroupItemContainer",{styles:this.css.customGroupItemContainer}).inject(this.customGroup);
@@ -600,7 +604,7 @@ MWF.xApplication.TeamWork.ProjectList = new Class({
                 onClose:function(d){
                     //if(d && d.title){
                     //    data1.push({"title":d.title});
-                        if(d)this.reloadProjectGroup();
+                    if(d)this.reloadProjectGroup();
 
                     //}
                 }.bind(this)
@@ -785,37 +789,40 @@ MWF.xApplication.TeamWork.ProjectList = new Class({
                 this.addProjectListText = new Element("div.addProjectListText",{styles:this.css.addProjectListText,text:this.lp.content.addProjectListText}).inject(this.addProjectList);
 
             }else{
-                if(!projectItemData) return;
-                projectItemData.each(function(d){
-                    var projectBlockItem = new Element("div.projectBlockItem",{styles:this.css.projectBlockItem}).inject(this.layoutList);
-                    projectBlockItem.set("id",d.id);
-                    if(d.icon && d.icon!=""){
-                        projectBlockItem.setStyles({
-                            "background-image":"url('"+MWF.xDesktop.getImageSrc( d.icon )+"')"
-                        });
-                    }
-                    projectBlockItem.addEvents({
-                        click:function(){
-                            _self.openProject(d);
-                        },
-                        mouseenter:function(){
-                            this.setStyles({
-                                "box-shadow":"0px 0px 10px #4a90e2"
+                if(projectItemData) {
+
+                    projectItemData.each(function(d){
+                        var projectBlockItem = new Element("div.projectBlockItem",{styles:this.css.projectBlockItem}).inject(this.layoutList);
+                        projectBlockItem.set("id",d.id);
+                        if(d.icon && d.icon!=""){
+                            projectBlockItem.setStyles({
+                                "background-image":"url('"+MWF.xDesktop.getImageSrc( d.icon )+"')"
                             });
-                            //projectBlockItem.getElements(".projectBlockItemIconSetting").setStyles({"display":"block"});
-                            //projectBlockItem.getElements(".projectBlockItemIconRemove").setStyles({"display":"block"});
-                        },
-                        mouseleave:function(){
-                            this.setStyles({
-                                "box-shadow":"0px 0px 0px #DFDFDF"
-                            });
-                            //projectBlockItem.getElements(".projectBlockItemIconSetting").setStyles({"display":"none"});
-                            //projectBlockItem.getElements(".projectBlockItemIconRemove").setStyles({"display":"none"});
                         }
-                    });
-                    this.loadSingleBlockItem(projectBlockItem,d);
+                        projectBlockItem.addEvents({
+                            click:function(){
+                                _self.openProject(d);
+                            },
+                            mouseenter:function(){
+                                this.setStyles({
+                                    "box-shadow":"0px 0px 10px #4a90e2"
+                                });
+                                //projectBlockItem.getElements(".projectBlockItemIconSetting").setStyles({"display":"block"});
+                                //projectBlockItem.getElements(".projectBlockItemIconRemove").setStyles({"display":"block"});
+                            },
+                            mouseleave:function(){
+                                this.setStyles({
+                                    "box-shadow":"0px 0px 0px #DFDFDF"
+                                });
+                                //projectBlockItem.getElements(".projectBlockItemIconSetting").setStyles({"display":"none"});
+                                //projectBlockItem.getElements(".projectBlockItemIconRemove").setStyles({"display":"none"});
+                            }
+                        });
+                        this.loadSingleBlockItem(projectBlockItem,d);
+
+                    }.bind(this));
+                }
 
-                }.bind(this));
                 this.addProjectBlock = new Element("div.addProjectBlock",{styles:this.css.addProjectBlock}).inject(this.layoutList);
                 this.addProjectBlockIcon = new Element("div.addProjectBlockIcon",{styles:this.css.addProjectBlockIcon}).inject(this.addProjectBlock);
                 this.addProjectBlockText = new Element("div.addProjectBlockText",{styles:this.css.addProjectBlockText,text:this.lp.content.addProjectBlockText}).inject(this.addProjectBlock);
@@ -921,8 +928,8 @@ MWF.xApplication.TeamWork.ProjectList = new Class({
             }.bind(this)
         });
 
-         var projectBlockItemName = new Element("div.projectBlockItemName",{styles:this.css.projectBlockItemName,text:d.title}).inject(projectBlockItemContainer);
-         var projectBlockItemDes = new Element("div.projectBlockItemDes",{styles:this.css.projectBlockItemDes,text:d.description||""}).inject(projectBlockItemContainer);
+        var projectBlockItemName = new Element("div.projectBlockItemName",{styles:this.css.projectBlockItemName,text:d.title}).inject(projectBlockItemContainer);
+        var projectBlockItemDes = new Element("div.projectBlockItemDes",{styles:this.css.projectBlockItemDes,text:d.description||""}).inject(projectBlockItemContainer);
     },
     loadSingleListItem:function(container,d){
         if(container) container.empty();
@@ -1020,12 +1027,12 @@ MWF.xApplication.TeamWork.ProjectList = new Class({
     setFav:function(d,callback){
         if(d.star){
             this.actions.unStar(d.id,function(d){
-            //this.actions.projectUnStar(d.id,function(d){
+                //this.actions.projectUnStar(d.id,function(d){
                 if(callback)callback(d)
             }.bind(this))
         }else if(!d.star){
             this.actions.star(d.id,function(d){
-            //this.actions.projectStar(d.id,function(d){
+                //this.actions.projectStar(d.id,function(d){
                 if(callback)callback(d)
             }.bind(this))
         }

+ 20 - 2
o2web/source/x_component_TeamWork/ProjectSetting.js

@@ -222,7 +222,7 @@ MWF.xApplication.TeamWork.ProjectSetting = new Class({
                 this.setStyles({"background-color":"#f5f5f5"});
                 customExitItemRemove.show();
                 customExitItemEdit.show();
-                },
+            },
             mouseout:function(){
                 this.setStyles({"background-color":""});
                 customExitItemRemove.hide();
@@ -322,6 +322,14 @@ MWF.xApplication.TeamWork.ProjectSetting = new Class({
         this.projectSettingTitleText = new Element("div.projectSettingTitleText",{styles:this.css.projectSettingTitleText,text:this.lp.projectTitle}).inject(this.projectSettingTitleContainer);
         this.projectSettingTitleDiv = new Element("div.projectSettingTitleDiv",{styles:this.css.projectSettingTitleDiv}).inject(this.projectSettingTitleContainer);
         this.projectSettingTitleIn = new Element("input.projectSettingTitleIn",{styles:this.css.projectSettingTitleIn,value:this.projectData.title || ""}).inject(this.projectSettingTitleDiv);
+        this.projectSettingTitleIn.addEvents({
+            focus:function(){
+                this.projectSettingTitleIn.setStyles({"border":"1px solid #4A90E2"});
+            }.bind(this),
+            blur:function(){
+                this.projectSettingTitleIn.setStyles({"border":"1px solid #A6A6A6"});
+            }.bind(this)
+        });
 
         // this.projectSettingContainer = new Element("div.projectSettingContainer",{styles:this.css.projectSettingContainer}).inject(this.formTableArea);
         this.projectSettingGroupContainer = new Element("div.projectSettingGroupContainer",{styles:this.css.projectSettingGroupContainer}).inject(this.projectSettingContainer);
@@ -338,6 +346,7 @@ MWF.xApplication.TeamWork.ProjectSetting = new Class({
                             "z-index" : "102"
                         },
                         onClose:function(d){
+                            this.projectSettingGroupDiv.setStyles({"border":"1px solid #A6A6A6"});
                             if(d){
                                 this.rootActions.ProjectGroupAction.listWithIds({ids:d},function(json){
                                     this.groups = json.data;
@@ -354,8 +363,9 @@ MWF.xApplication.TeamWork.ProjectSetting = new Class({
                             //this.newProjectGroupValue.set("text",d)
                         }.bind(this)
                     });
-                    gs.load()
+                    gs.load();
                 }.bind(this));
+                this.projectSettingGroupDiv.setStyles({"border":"1px solid #4A90E2"});
             }.bind(this)
         });
         this.projectSettingGroupValue = new Element("div.projectSettingGroupValue",{styles:this.css.projectSettingGroupValue}).inject(this.projectSettingGroupDiv);
@@ -374,6 +384,14 @@ MWF.xApplication.TeamWork.ProjectSetting = new Class({
 
         this.projectSettingDesContainer = new Element("div.projectSettingDesContainer",{styles:this.css.projectSettingDesContainer}).inject(this.projectSettingContainer);
         this.projectSettingDesIn = new Element("textarea.projectSettingDesIn",{styles:this.css.projectSettingDesIn,value:this.projectData.description||""}).inject(this.projectSettingDesContainer);
+        this.projectSettingDesIn.addEvents({
+            focus:function(){
+                this.projectSettingDesIn.setStyles({"border":"1px solid #4A90E2"});
+            }.bind(this),
+            blur:function(){
+                this.projectSettingDesIn.setStyles({"border":"1px solid #A6A6A6"});
+            }.bind(this)
+        });
 
         this.projectSettingContainer = new Element("div.projectSettingContainer",{styles:this.css.projectSettingContainer}).inject(this.projectSettingLayout);
         this.projectSettingConfirm = new Element("div.projectSettingConfirm",{styles:this.css.projectSettingConfirm,text:this.lp.confirm}).inject(this.projectSettingContainer);

+ 21 - 21
o2web/source/x_component_TeamWork/Stat.js

@@ -31,27 +31,27 @@ MWF.xApplication.TeamWork.Stat = new Class({
         var url = this.path+this.options.style+"/view.html";
         //o2.Actions.load("x_processplatform_assemble_surface").TaskAction.listMyPaging(1,20, function(json){
 
-            this.container.loadHtml(url, {"bind": {"lp": this.lp, "data": {}}, "module": this}, function(){
-
-            }.bind(this));
-
-            // this.content.loadHtml(url, {"bind": {"lp": this.lp, "data": json}, "module": this}, function(){
-            // 	this.doSomething();
-            // }.bind(this));
-            //
-            // o2.load(["js1", "js2"], {}, function(){});	//js
-            //
-            // o2.loadCss	//css
-            // o2.loadHtml("", {"dom": this.content})
-            // o2.loadAll	//js,css,html
-            //
-            // o2.loadAll({
-            // 	"css": [],
-            // 	"js":[],
-            // 	"html": []
-            // },
-            // 	)
-            //
+        this.container.loadHtml(url, {"bind": {"lp": this.lp, "data": {}}, "module": this}, function(){
+
+        }.bind(this));
+
+        // this.content.loadHtml(url, {"bind": {"lp": this.lp, "data": json}, "module": this}, function(){
+        // 	this.doSomething();
+        // }.bind(this));
+        //
+        // o2.load(["js1", "js2"], {}, function(){});	//js
+        //
+        // o2.loadCss	//css
+        // o2.loadHtml("", {"dom": this.content})
+        // o2.loadAll	//js,css,html
+        //
+        // o2.loadAll({
+        // 	"css": [],
+        // 	"js":[],
+        // 	"html": []
+        // },
+        // 	)
+        //
 
 
 

+ 137 - 34
o2web/source/x_component_TeamWork/Task.js

@@ -1,10 +1,11 @@
+// this.taskData 任务对象
 MWF.xApplication.TeamWork = MWF.xApplication.TeamWork || {};
 MWF.xApplication.TeamWork.Task = new Class({
     Extends: MPopupForm,
     Implements: [Options, Events],
     options: {
         "style": "default",
-        "width": 1000,
+        "width": 1200,
         "height": "90%",
         "top": null,
         "left": null,
@@ -37,10 +38,28 @@ MWF.xApplication.TeamWork.Task = new Class({
     },
     initialize: function (explorer, data, options, para) {
         this.setOptions(options);
-        this.explorer = explorer;
+        if(this.options.type && this.options.type=="window"){
+            // this.options.width = "100%";
+            // this.options.height = "100%";
+            this.explorer = explorer;
+            this.app = explorer;
+            this.container = this.app.content;
+            this.openType = "window"
+        }else{
+            this.explorer = explorer;
+            this.app = this.explorer.app;
+            this.container = this.app.content;
+            this.openType = "dialog"
+        }
 
-        this.app = this.explorer.app;
-        this.container = this.app.content;
+        this.projectObj = this.explorer;
+        if(para){
+            if(para.projectObj) this.projectObj = para.projectObj
+        }
+        // this.explorer = explorer;
+        //
+        // this.app = this.explorer.app;
+        // this.container = this.app.content;
         this.rootActions = this.app.rootActions;
         this.actions = this.rootActions.TaskAction;
 
@@ -51,7 +70,9 @@ MWF.xApplication.TeamWork.Task = new Class({
 
         this.load();
         this.lp = this.app.lp.task;
+        // this.lp = MWF.xApplication.TeamWork.LP.task;
     },
+
     close: function (data) {
         //愤愤愤愤
         this.fireEvent("queryClose");
@@ -95,8 +116,13 @@ MWF.xApplication.TeamWork.Task = new Class({
         //this._createTableContent();
     },
     _createTableContent: function () {
+        //data { taskId:xxx }
         var _self = this;
         this.getTaskData(function(){
+            if(this.openType == "window"){
+                this.app.setTitle(this.taskData.name);
+            }
+
             this.formTableArea.empty();
             this.topLayout = new Element("div.topLayout",{styles:this.css.topLayout}).inject(this.formTableArea);
             //this.topImage = new Element("div.topImage",{styles:this.css.topImage}).inject(this.topLayout);
@@ -104,6 +130,11 @@ MWF.xApplication.TeamWork.Task = new Class({
             if(this.isNew){
                 this.topContent.set("text",this.lp.newTask)
             }
+            this.topContent.addEvents({
+                click:function(e){
+                    layout.openApplication(e,"TeamWork.Task",null,{"taskId":this.data.taskId})
+                }.bind(this)
+            })
             this.topIconContainer = new Element("div.topIconContainer",{styles:this.css.topIconContainer}).inject(this.topLayout);
 
             //更多
@@ -151,7 +182,10 @@ MWF.xApplication.TeamWork.Task = new Class({
             this.topIconClose = new Element("div.topIconClose",{styles:this.css.topIconClose,title:this.lp.close}).inject(this.topIconContainer);
             this.topIconClose.addEvents({
                 click:function(){
-                    this.close()
+                    this.close();
+                    if(this.openType=="window"){
+                        this.app.close();
+                    }
                 }.bind(this),
                 mouseover:function(){
                     this.setStyles({"background-image":"url(/x_component_TeamWork/$Task/default/icon/icon_off_click.png)"});
@@ -442,7 +476,7 @@ MWF.xApplication.TeamWork.Task = new Class({
         this.tmpdynamicLoading = new Element("div").inject(this.dynamicContent,"top");
         this.app.setLoading(this.tmpdynamicLoading);
         this.rootActions.DynamicAction.listNextWithTask(id,count,taskId,data||{},function(json){
-        //this.actions.taskDynamicListNext(id,count,taskId,data||{},function(json){
+            //this.actions.taskDynamicListNext(id,count,taskId,data||{},function(json){
             if(this.tmpdynamicLoading)this.tmpdynamicLoading.destroy();
             //this.getDynamicStatus = false;
             if(json.type == "success"){
@@ -511,7 +545,7 @@ MWF.xApplication.TeamWork.Task = new Class({
             //转换表情
             for(var item in this.app.lp.emoji){
                 var val = this.app.lp.emoji[item]; //alert(val)
-                chattext = chattext.split("["+val+"]").join('<img style="margin:0px 2px;" src="/x_component_TeamWork/$Emoji/default/icon/'+item+'.png" />');
+                chattext = chattext.split("["+val+"]").join('<img style="margin:0px 2px; width:30px;height:30px;" src="/x_component_TeamWork/$Emoji/default/icon/'+item+'.png" />');
             }
             new Element("div.dynamicItemUserChat",{styles:{"margin-top":"5px"},html:chattext}).inject(dynamicItemText);
         }else{
@@ -519,7 +553,7 @@ MWF.xApplication.TeamWork.Task = new Class({
         }
         var dynamicItemTime = new Element("div.dynamicItemTime",{styles:this.css.dynamicItemTime}).inject(dynamicItem);
 
-        dynamicItemTime.set("text",this.app.compareWithNow(data.createTime).text);
+        dynamicItemTime.set("text",this.compareWithNow(data.createTime).text);
 
         //最后加一层清除浮动
         new Element("div.dynamicItemTime",{styles:{"clear":"both"}}).inject(dynamicItem);
@@ -554,8 +588,8 @@ MWF.xApplication.TeamWork.Task = new Class({
                         },
                         nodeStyles : {
                             "min-width":"200px",
-                            "max-width":"210px",
-                            "height":"80px",
+                            "max-width":"350px",
+                            "height":"150px",
                             "padding":"2px",
                             "border-radius":"5px",
                             "box-shadow":"0px 0px 4px 0px #999999",
@@ -569,7 +603,8 @@ MWF.xApplication.TeamWork.Task = new Class({
                         onClose:function(rd){
                             if(!rd) return;
                             if(rd.value && rd.value !=""){
-                                this.chatTextarea.set("value",this.chatTextarea.get("value")+"["+rd.value+"]")
+                                this.chatTextarea.set("value",this.chatTextarea.get("value")+"["+rd.value+"]");
+                                this.chatTextarea.focus();
                             }
                         }.bind(this)
                     });
@@ -587,7 +622,7 @@ MWF.xApplication.TeamWork.Task = new Class({
                 };
 
                 //this.actions.chatCreate(data,function(json){
-                 this.rootActions.ChatAction.create(data,function(json){
+                this.rootActions.ChatAction.create(data,function(json){
                     if(json.data.id){
                         this.rootActions.ChatAction.get(json.data.id,function(json){
                             var person = json.data.sender;
@@ -602,7 +637,7 @@ MWF.xApplication.TeamWork.Task = new Class({
                             var chattext = content.split("\n").join("<br/>");
                             for(var item in this.app.lp.emoji){
                                 var val = this.app.lp.emoji[item];
-                                chattext = chattext.split("["+val+"]").join('<img style="margin:0 2px;" src="/x_component_TeamWork/$Emoji/default/icon/'+item+'.png" />');
+                                chattext = chattext.split("["+val+"]").join('<img style="margin:0 2px; width:30px;height:30px;" src="/x_component_TeamWork/$Emoji/default/icon/'+item+'.png" />');
                             }
 
                             new Element("div.dynamicItemUserChat",{styles:{"margin-top":"5px"},html:chattext}).inject(dynamicItemText);
@@ -1096,7 +1131,7 @@ MWF.xApplication.TeamWork.Task = new Class({
                     click:function(){
                         _self.rootActions.TaskTagAction.removeTagRele(_self.taskData.id,data.id,function(json){
                             if(json.data.dynamics){
-                                json.data.dynamics.each(function(dd){ 
+                                json.data.dynamics.each(function(dd){
                                     _self.loadDynamicItem(dd,"bottom")
                                 })
                             }
@@ -1181,7 +1216,7 @@ MWF.xApplication.TeamWork.Task = new Class({
                 "autoUpdateElement": true,
                 "enterMode": 1,
                 "height": 100,
-                "width": 480,
+                "width": 580,
                 "readOnly": false,
                 "startupFocus" : true,
                 toolbar : [
@@ -1246,7 +1281,7 @@ MWF.xApplication.TeamWork.Task = new Class({
 
         }.bind(this));
     },
-    loadAttachment: function( area ){ alert("loadtaskatt")
+    loadAttachment: function( area ){
         MWF.xDesktop.requireApp("TeamWork", "TaskAttachment", function(){
             this.attachment = new MWF.xApplication.TeamWork.TaskAttachment( area, this.app, this.actions, this.app.lp, {
                 size:"max",
@@ -1333,6 +1368,7 @@ MWF.xApplication.TeamWork.Task = new Class({
                             name:this.subTaskNewInput.get("value").trim(),
                             project:this.taskData.project,
                             parent:this.taskData.id,
+                            taskGroupId:this.taskData.taskGroupId,
                             executor:this.taskSubNewPerson || ""
                         };
 
@@ -1551,20 +1587,20 @@ MWF.xApplication.TeamWork.Task = new Class({
                     var closeIcon = new Element("div.closeIcon",{styles:closeStyles}).inject(this);
                     closeIcon.addEvents({
                         click:function(e){
-                             var index = _self.taskData.participantList.indexOf(identity);
-                             if(index>-1){
-                                 _self.taskData.participantList.erase(identity)
-                             }
-
-                             _self.actions.updateParticipant(_self.taskData.id,{participantList:_self.taskData.participantList},function(json){
-                                 _self.createParticipateContainer();
-                                 if(json.data.dynamics){
-                                     json.data.dynamics.each(function(dd){
-                                         _self.loadDynamicItem(dd,"bottom")
-                                     })
-                                 }
-                                 _self.dynamicContent.scrollTo(0,_self.dynamicContent.getScrollSize().y);
-                             });
+                            var index = _self.taskData.participantList.indexOf(identity);
+                            if(index>-1){
+                                _self.taskData.participantList.erase(identity)
+                            }
+
+                            _self.actions.updateParticipant(_self.taskData.id,{participantList:_self.taskData.participantList},function(json){
+                                _self.createParticipateContainer();
+                                if(json.data.dynamics){
+                                    json.data.dynamics.each(function(dd){
+                                        _self.loadDynamicItem(dd,"bottom")
+                                    })
+                                }
+                                _self.dynamicContent.scrollTo(0,_self.dynamicContent.getScrollSize().y);
+                            });
                             e.stopPropagation();
                         }
                     });
@@ -1620,7 +1656,52 @@ MWF.xApplication.TeamWork.Task = new Class({
         };
 
         var selector = new MWF.O2Selector(this.app.content, options);
-    }
+    },
+    compareWithNow:function(dstr){
+        var result = {};
+
+        try{
+            var ct = Date.parse(dstr);
+            var intervalDay = 0;
+            var now = new Date();
+            var sep = now.getTime()-ct.getTime();
+            sep = sep/1000; //毫秒
+            //一分钟内,刚刚,一小时内,多少分钟前,2小时内,显示一小时前,2小时到今天00:00:00 显示 今天几点,本周内,显示本周几,几点几分,其他显示几月几日
+            var cttext = "";
+            if(sep<60){
+                cttext = "刚刚"
+            }else if(sep<3600){
+                cttext = Math.floor(sep/60)+"分钟前"
+            }else if(sep<7200){
+                cttext = "1小时前"
+            }else if(sep>7200 && ct.getFullYear() == now.getFullYear() && ct.getMonth()==now.getMonth() && ct.getDate() == now.getDate()){
+                cttext = "今天"+(ct.getHours()<10?("0"+ct.getHours()):ct.getHours())+":"+(ct.getMinutes()<10?"0"+ct.getMinutes():ct.getMinutes())
+            }else if(ct.getFullYear() == now.getFullYear() && ct.getMonth()==now.getMonth() && ct.getDate() == now.getDate()-1){
+                cttext = "昨天"+(ct.getHours()<10?("0"+ct.getHours()):ct.getHours())+":"+(ct.getMinutes()<10?"0"+ct.getMinutes():ct.getMinutes());
+            }else{
+                cttext = (ct.getMonth()+1) + "月"+ct.getDay()+"日"
+            }
+
+            var sepd = ct.getTime() - now.getTime();
+            sepd = sepd/1000;
+
+            if(sepd<0){
+                intervalDay = -1 //超时
+            }else if(sepd /(3600*24)<2){
+                intervalDay = 0 //一两天内
+            }else{
+                intervalDay = 1 //正常
+            }
+
+            result.intervalDay = intervalDay;
+            result.text = cttext;
+        }catch(e){
+            result.text = dstr;
+        }
+        //alert(dstr + "##############" + result.intervalDay)
+        return result;
+
+    },
 
 
 });
@@ -1639,13 +1720,35 @@ MWF.xApplication.TeamWork.Task.TaskMore = new Class({
         this.lp = this.options.lp;
         //this.data
         //this.contentNode
-
+        //debugger;
         var topMoreTitle = new Element("div.topMoreTitle",{styles:this.css.topMoreTitle,text:this.lp.taskMenu}).inject(this.contentNode);
 
         var copyTask = new Element("div.copyTask",{styles:this.css.topMoreItem}).inject(this.contentNode);
         copyTask.addEvents({
             mouseenter:function(){this.setStyles({"background-color":"#F7F7F7"})},
-            mouseleave:function(){this.setStyles({"background-color":""})}
+            mouseleave:function(){this.setStyles({"background-color":""})},
+            click:function(e){
+                _self.app.confirm("warn",e,_self.lp.taskCopy,_self.lp.taskContent,300,120,function(){
+                    _self.rootActions.TaskAction.copyTask(_self.explorer.data.taskId,function(json){
+                        if(json.type == "success"){
+                            _self.explorer.data.taskId = json.data.id;
+                            _self.explorer._createTableContent();
+                            _self.explorer.projectObj.reloadTaskGroup(_self.explorer.taskData.taskListId) //ffffffffffffff
+                        }
+                        this.close();
+                        _self.close();
+                    }.bind(this))
+
+                    // _self.rootActions.TaskAction.delete(_self.data.data.id,function(){
+                    //     var rd = {"act":"remove"};
+                    //     _self.close(rd);
+                    //     this.close()
+                    // }.bind(this))
+                },function(){
+                    this.close();
+                });
+
+            }.bind(this)
         });
         var copyTaskIcon = new Element("div.copyTaskIcon",{styles:this.css.topMoreItemIcon}).inject(copyTask);
         copyTaskIcon.setStyles({"background":"url(/x_component_TeamWork/$Task/default/icon/taskcopy.png) no-repeat center"});
@@ -1659,7 +1762,7 @@ MWF.xApplication.TeamWork.Task.TaskMore = new Class({
                 var data = this.data;
                 var opt = {};
                 MWF.xDesktop.requireApp("TeamWork", "TaskMove", function(){
-                    var taskmove = new MWF.xApplication.TeamWork.TaskMove(this.explorer,data,opt);
+                    var taskmove = new MWF.xApplication.TeamWork.TaskMove(this.explorer,data,opt,{projectObj:this.explorer.projectObj});
                     taskmove.open();
                     var fx = new Fx.Tween(this.node,{duration:200});
                     fx.start(["opacity"] ,"1", "0").chain(function(){this.close()}.bind(this));

+ 1 - 1
o2web/source/x_component_TeamWork/TaskAttachmentList.js

@@ -271,7 +271,7 @@ MWF.xApplication.TeamWork.TaskAttachmentList = new Class({
         this.actions.attachmentDownloadUrl(attachment.id, this.data.id, callback);
     },
     getAttachment:function(id,callback){
-       this.actions.get(id,function(json){
+        this.actions.get(id,function(json){
             if(json.type == "success"){
                 if(callback)callback(json.data)
             }

+ 62 - 78
o2web/source/x_component_TeamWork/TaskMove.js

@@ -45,6 +45,11 @@ MWF.xApplication.TeamWork.TaskMove = new Class({
         this.rootActions = this.app.rootActions;
         this.actions = this.rootActions.TaskAction;
 
+        this.projectObj = this.explorer;
+        if(para){
+            if(para.projectObj) this.projectObj = para.projectObj;
+        }
+
         this.data = data || {};
         this.cssPath = "/x_component_TeamWork/$TaskMove/"+this.options.style+"/css.wcss";
 
@@ -73,9 +78,7 @@ MWF.xApplication.TeamWork.TaskMove = new Class({
     },
     _createTableContent: function () {
 
-
-
-        this.formTableArea
+        // this.formTableArea
         this.topLayout = new Element("div.topLayout",{styles:this.css.topLayout}).inject(this.formTableArea);
         this.createTopLayout();
         this.contentLayout = new Element("div.contentLayout",{styles:this.css.contentLayout}).inject(this.formTableArea);
@@ -89,88 +92,50 @@ MWF.xApplication.TeamWork.TaskMove = new Class({
     },
     createContentLayout:function(){
         this.contentLayout.empty();
-        this.searchDiv = new Element("div.searchDiv",{styles:this.css.searchDiv}).inject(this.contentLayout);
-        this.searchInput = new Element("input.searchInput",{styles:this.css.searchInput,placeHolder:this.lp.searchPlace}).inject(this.searchDiv);
-        this.searchInput.addEvents({
-            keyup:function(e){
-                var keycode = (e.event.keyCode ? e.event.keyCode : e.event.which);
-                var key = this.searchInput.get("value").trim();
-                if(keycode == 13 && key !=""){
-                    this.total = 0;
-                    this.curCount = 0;
-                    this.searchReset.show();
-                    this.taskListLayout.empty();
-                    this.loadTaskList(null,key);
-                    this.createBottomLayout();
-                    delete this.selectedItem;
-                }
-            }.bind(this)
-        });
-        this.searchReset = new Element("div.searchReset",{styles:this.css.searchReset}).inject(this.searchDiv);
-        this.searchReset.addEvents({
-            mouseover:function(){ this.setStyles({"background-image":"url(/x_component_TeamWork/$TaskSub/default/icon/icon_off_click.png)"}) },
-            mouseout:function(){ this.setStyles({"background-image":"url(/x_component_TeamWork/$TaskSub/default/icon/icon_off.png)"}) },
-            click:function(){
-                this.total = 0;
-                this.curCount = 0;
-                this.searchInput.set("value","");
-                this.searchReset.hide();
-                this.taskListLayout.empty();
-                this.loadTaskList();
-                this.createBottomLayout();
-                delete this.selectedItem;
-            }.bind(this)
-        });
-        this.taskListLayout = new Element("div.taskListLayout",{styles:this.css.taskListLayout}).inject(this.contentLayout);
-        this.taskListLayout.addEvents({
+
+        this.taskGroupLayout = new Element("div.taskGroupLayout",{styles:this.css.taskGroupLayout}).inject(this.contentLayout);
+        this.taskGroupLayout.addEvents({
             scroll:function(){
-                var stop = this.taskListLayout.getScrollTop();
-                var cheight= this.taskListLayout.getSize().y;
-                var sheight = this.taskListLayout.getScrollHeight();
-                var borderWidth = this.taskListLayout.getBorder()["border-top-width"].toInt()+this.taskListLayout.getBorder()["border-bottom-width"].toInt();
+                var stop = this.taskGroupLayout.getScrollTop();
+                var cheight= this.taskGroupLayout.getSize().y;
+                var sheight = this.taskGroupLayout.getScrollHeight();
+                var borderWidth = this.taskGroupLayout.getBorder()["border-top-width"].toInt()+this.taskGroupLayout.getBorder()["border-bottom-width"].toInt();
                 if(sheight == stop + cheight-borderWidth && this.isLoaded && this.curCount < this.total){
-                    this.loadTaskList(this.listId);
+                    this.loadTaskGroup(this.listId);
                 }
             }.bind(this)
         });
-        this.loadTaskList()
+        this.loadTaskGroup()
     },
-    loadTaskList:function(id,key){
-        var tmploading = new Element("div.loading",{styles:{"width":"500px"}}).inject(this.taskListLayout);
+    loadTaskGroup:function(id,key){
+        var tmploading = new Element("div.loading",{styles:{"width":"500px"}}).inject(this.taskGroupLayout);
         this.app.setLoading(tmploading);
-        this.taskListLayout.scrollTo(0,this.taskListLayout.getScrollSize().y);
-        var id = this.listId = id||"(0)";
+        this.taskGroupLayout.scrollTo(0,this.taskGroupLayout.getScrollSize().y);
+        var id = this.groupId = id||"(0)";
         var count=10;
         var filter = {
             project:this.data.data.project
         };
         if(key && key!=""){
-            filter.title = key
+            filter.title = key;
         }
         this.total = this.total || 0;
         this.curCount = this.curCount || 0;
         this.isLoaded = false;
-        //alert("curcount="+this.curCount+"total="+this.total);alert(id)
-        //this.actions.taskListNext(id,count,filter,function(json){
-        this.actions.listNextWithFilter(id,count,filter,function(json){
-            this.total = json.count;
-            this.taskListData = json.data;
-            tmploading.destroy();
-            this.taskListData.each(function(d,i){
-                this.loadTaskItem(d);
-                id = d.id;
-                this.listId = d.id;
-                this.curCount = this.curCount + 1;
-                this.isLoaded = true;
-
-            }.bind(this));
-        }.bind(this))
 
+        //this.data.data.project
+        this.rootActions.TaskListAction.listWithTaskGroup(this.data.data.taskGroupId,function(json){
+            tmploading.destroy();
+            json.data.each(function(d){
+                this.loadGroupItem(d);
+            }.bind(this))
+        }.bind(this));
     },
-    loadTaskItem:function(data){
+
+    loadGroupItem:function(data){
         var _self = this;
-        var taskItem = new Element("div.taskItem",{styles:this.css.taskItem,id:data.id}).inject(this.taskListLayout);
-        taskItem.addEvents({
+        var groupItem = new Element("div.groupItem",{styles:this.css.groupItem,id:data.id}).inject(this.taskGroupLayout);
+        groupItem.addEvents({
             mouseover:function(){
                 if(_self.selectedItem == this)return;
                 this.setStyles({"background-color":"#f2f5f7"})
@@ -182,10 +147,10 @@ MWF.xApplication.TeamWork.TaskMove = new Class({
             click:function(){
                 if(_self.selectedItem){
                     _self.selectedItem.setStyles({"background-color":""});
-                    _self.selectedItem.getElements(".taskName").setStyles({"color":"#666666"});
+                    _self.selectedItem.getElements(".groupName").setStyles({"color":"#666666"});
                 }
                 this.setStyles({"background-color":"#3da8f5"});
-                this.getElements(".taskName").setStyles({"color":"#ffffff"});
+                this.getElements(".groupName").setStyles({"color":"#ffffff"});
                 _self.okAction.setStyles({
                     "cursor":"pointer",
                     "background-color":"#4A90E2"
@@ -193,24 +158,43 @@ MWF.xApplication.TeamWork.TaskMove = new Class({
                 _self.selectedItem = this;
             }
         });
-        var taskName = new Element("div.taskName",{styles:this.css.taskName,text:data.name}).inject(taskItem);
-        var n = data.executor.split("@")[0];
-        n = n.substr(0,1);
-
-        var taskPerson = new Element("div.taskPerson",{styles:this.css.taskPerson,text:n}).inject(taskItem);
+        var groupName = new Element("div.groupName",{styles:this.css.groupName,text:data.name}).inject(groupItem);
+        // var n = data.executor.split("@")[0];
+        // n = n.substr(0,1);
+        //
+        // var taskPerson = new Element("div.taskPerson",{styles:this.css.taskPerson,text:n}).inject(taskItem);
     },
     createBottomLayout:function(){
+
         this.bottomLayout.empty();
         this.okAction = new Element("div.okAction",{styles:this.css.okAction,text:this.lp.ok}).inject(this.bottomLayout);
         this.okAction.addEvents({
             click:function(){
                 if(this.selectedItem){
+                    if(this.selectedItem.get("id")==this.data.data.taskListId){
+                        this.app.notice(this.lp.moveToSelf,"info");
+                        return;
+                    }
+
                     var data = {
-                        parent : this.selectedItem.get("id"),
-                        id:this.data.data.id
-                    };
-                    this.actions.save(data,function(json){
-                        this.explorer._createTableContent();
+                        taskId:this.data.data.id
+                    }
+
+                    this.rootActions.TaskListAction.addTask2ListWithBehindTask(this.selectedItem.get("id"),data,function(json){
+                        if(json.data.id){
+                            //this.app.notice(json.data.message,"success");
+                            this.projectObj.reloadTaskGroup(json.data.id);  //reload to list
+                            this.projectObj.reloadTaskGroup(this.data.data.taskListId); //reload from list
+
+                            //this.explorer.projectObj.reloadTaskGroup(json.data.id);
+                            //this.explorer.projectObj.reloadTaskGroup(this.data.data.taskListId);
+                            // if(this.explorer.explorer){
+                            //     this.explorer.explorer.reloadTaskGroup(json.data.id);
+                            //     this.explorer.explorer.reloadTaskGroup(this.data.data.taskListId);
+                            // }
+                        }else{
+                            this.app.notice("不允许转移到未分类列表","error")
+                        }
                         this.close();
                     }.bind(this))
                 }

+ 13 - 2
o2web/source/x_component_TeamWork/TaskSub.js

@@ -80,6 +80,12 @@ MWF.xApplication.TeamWork.TaskSub = new Class({
                     this.createBottomLayout();
                     delete this.selectedItem;
                 }
+            }.bind(this),
+            focus:function(){
+                this.searchDiv.setStyles({"border":"1px solid #4A90E2"});
+            }.bind(this),
+            blur:function(){
+                this.searchDiv.setStyles({"border":"1px solid #A6A6A6"});
             }.bind(this)
         });
         this.searchReset = new Element("div.searchReset",{styles:this.css.searchReset}).inject(this.searchDiv);
@@ -191,10 +197,15 @@ MWF.xApplication.TeamWork.TaskSub = new Class({
                         return ;
                     }
 
-                    this.actions.save(data,function(json){
+                    this.actions.transformAsSubTask(this.data.data.id,this.selectedItem.get("id"),function(json){
                         this.explorer._createTableContent();
                         this.close();
-                    }.bind(this))
+                    }.bind(this));
+
+                    // this.actions.save(data,function(json){
+                    //     this.explorer._createTableContent();
+                    //     this.close();
+                    // }.bind(this))
                 }
             }.bind(this)
         })

+ 27 - 27
o2web/source/x_component_TeamWork/UploadImage.js

@@ -71,33 +71,33 @@ MWF.xApplication.TeamWork.UploadImage = new Class({
         //     }
         //     this.hotPicData = (json.data && json.data.length > 0) ? json.data[0] : {};
 
-            var html = "<table width='100%' bordr='0' cellpadding='5' cellspacing='0' styles='formTable'>" +
-                "<tr>" +
-                //"   <td styles='formTableTitle' lable='hotPicture'></td>" +
-                "   <td styles='formTableValue' item='hotPictureArea'></td>" +
-                "</tr>"+
-                "<tr>" +
-                //"   <td styles='formTableTitle'></td>" +
-                "   <td></td>" +
-                "</tr>"+
-                //"<tr>" +
-                //"   <td styles='formTableTitle'></td>" +
-                //"   <td styles='formTableValue' item='hotPictureActionArea'></td>" +
-                //"</tr>"
-                "</table>";
-            this.formTableArea.set("html", html);
-
-            MWF.xDesktop.requireApp("Template", "MForm", function () {
-                this.form = new MForm(this.formTableArea, this.data, {
-                    style: "default",
-                    isEdited: true,
-                    itemTemplate: {
-                        hotPicture: { text: this.lp.hotPicture }
-                    }
-                }, this.app, this.css);
-                this.form.load();
-                this.createIconNode();
-            }.bind(this), true);
+        var html = "<table width='100%' bordr='0' cellpadding='5' cellspacing='0' styles='formTable'>" +
+            "<tr>" +
+            //"   <td styles='formTableTitle' lable='hotPicture'></td>" +
+            "   <td styles='formTableValue' item='hotPictureArea'></td>" +
+            "</tr>"+
+            "<tr>" +
+            //"   <td styles='formTableTitle'></td>" +
+            "   <td></td>" +
+            "</tr>"+
+            //"<tr>" +
+            //"   <td styles='formTableTitle'></td>" +
+            //"   <td styles='formTableValue' item='hotPictureActionArea'></td>" +
+            //"</tr>"
+            "</table>";
+        this.formTableArea.set("html", html);
+
+        MWF.xDesktop.requireApp("Template", "MForm", function () {
+            this.form = new MForm(this.formTableArea, this.data, {
+                style: "default",
+                isEdited: true,
+                itemTemplate: {
+                    hotPicture: { text: this.lp.hotPicture }
+                }
+            }, this.app, this.css);
+            this.form.load();
+            this.createIconNode();
+        }.bind(this), true);
 
         // }.bind(this), null, false);
     },

+ 18 - 2
o2web/source/x_component_TeamWork/lp/zh-cn.js

@@ -94,6 +94,7 @@ MWF.xApplication.TeamWork.LP = {
 		"viewItemFlow":"未完成的任务",
 		"viewItemComplete":"已完成的任务",
 		"viewItemOver":"逾期的任务",
+		"taskSearchEmpty":"无任务",
 
 		"view":"视图",
 		"viewRemove":"删除视图",
@@ -147,6 +148,7 @@ MWF.xApplication.TeamWork.LP = {
 		"editTip":"点击编辑",
 		"taskMenu":"任务菜单",
 		"taskCopy":"复制任务",
+		"taskContent":"确定复制本任务?",
 		"taskMove":"转移任务",
 		"taskRemove":"删除任务",
 		"taskFav":"收藏任务",
@@ -200,7 +202,7 @@ MWF.xApplication.TeamWork.LP = {
 		"fadai":"发呆",
 		"fankun":"犯困",
 		"feiwen":"飞吻",
-		"fendou":"奋斗",
+		//"fendou":"奋斗",
 		"fennu":"愤怒",
 		"ganga":"尴尬",
 		"hanyan":"汗颜",
@@ -212,7 +214,16 @@ MWF.xApplication.TeamWork.LP = {
 		"kuxiao":"哭笑",
 		"xiaolian":"笑脸",
 		"xinsui":"心碎",
-		"zhadan":"炸弹"
+		"zhadan":"炸弹",
+		"tucao":"吐槽",
+		"kouzhao":"口罩",
+		"zuqiu":"足球",
+		"lanqiu":"篮球",
+		"guzhang":"鼓掌",
+		"woshou":"握手",
+		"qidao":"祈祷",
+		"manfen":"满分",
+		"chiyao":"吃药"
 	},
 	"taskSub":{
 		"title":"转换为子任务",
@@ -223,9 +234,14 @@ MWF.xApplication.TeamWork.LP = {
 	},
 	"taskMove":{
 		"title":"转移任务",
+		"moveToSelf":"不能转移给当前分组",
 		"searchPlace":"按回车搜索",
 		"ok":"确定"
 	},
+	"taskCopy":{
+		"title":"复制任务",
+		"content":"确定复制该任务?"
+	},
 	"stat":{
 
 	},

+ 149 - 9
o2web/source/x_component_TeamWork_Task/Main.js

@@ -1,14 +1,15 @@
 MWF.xApplication.TeamWork = MWF.xApplication.TeamWork || {};
 MWF.xApplication.TeamWork.Task = MWF.xApplication.TeamWork.Task || {};
 MWF.xApplication.TeamWork.Task.options.multitask = true;
-MWF.xDesktop.requireApp("TeamWork", "Task", null, false);
+// MWF.xDesktop.requireApp("TeamWork", "Task", null, false);
+MWF.xDesktop.requireApp("TeamWork", "Common", null, false);
 MWF.xApplication.TeamWork.Task.Main = new Class({
 	Extends: MWF.xApplication.Common.Main,
 	Implements: [Options, Events],
 
 	options: {
 		"style": "default",
-		"name": "Task",
+		"name": "TeamWork.Task",
 		"icon": "icon.png",
 		"width": "1000",
 		"height": "700",
@@ -16,20 +17,159 @@ MWF.xApplication.TeamWork.Task.Main = new Class({
 		"isMax": false,
 		"title": MWF.xApplication.TeamWork.Task.LP.title
 	},
+
 	onQueryLoad: function(){
 		this.lp = MWF.xApplication.TeamWork.Task.LP;
-		if (this.status){
-			this.taskId = this.status.taskId;
+		//this.lp = MWF.xApplication.TeamWork.LP; debugger;
+		this.cssPath = "/x_component_TeamWork/$Task/"+this.options.style+"/css.wcss";
+
+
+		if (!this.status) {
+		} else {
+			this.options.workId = this.status.workId;
+			this.options.workCompletedId = this.status.workCompletedId;
+			this.options.jobId = this.status.jobId;
+			this.options.priorityWork = this.status.priorityWork;
+			this.options.readonly = (this.status.readonly === "true");
 		}
+
+
+		this.taskId = this.options.taskId || "";
+		this.projectId = this.options.project ||"";
+
+		MWF.xDesktop.requireApp("TeamWork", "lp.zh-cn", {
+			"onRequestFailure": function(){
+				//alert("fail")
+			}.bind(this),
+			"onSuccess": function(json){
+				this.lp = MWF.xApplication.TeamWork.LP;
+			}.bind(this)
+		}, false);
+
 	},
 	loadApplication: function(callback) {
-		//
-		this.node = new Element("div", {"styles": this.css.content}).inject(this.content);
+
+		this.rootActions = MWF.Actions.load("x_teamwork_assemble_control");
+		this.orgActions = MWF.Actions.load("x_organization_assemble_express");
+		//this.actions = this.rootActions.TaskAction;
+
+
+		//http://dev.o2oa.net/x_desktop/app.html?app=TeamWork.Task&status={"taskId":"abb0621d-c35c-4010-9cd3-49a439b36a09"}
+		this.node = new Element("div").inject(this.content);
 		//alert(this.taskId)
 
 
-		var task = new MWF.xApplication.TeamWork.Task(this,data,opt);
-		task.open();
-	}
+		MWF.xDesktop.requireApp("TeamWork", "Task", function(){
+			//alert("loaded")
+			var data = {
+				taskId:this.taskId
+			};
+			var opt={
+				"type":"window"
+			};
+			var task = new MWF.xApplication.TeamWork.Task(this,data,opt);
+			task.open();
+		}.bind(this));
+	},
+	setScrollBar: function(node, view, style, offset, callback){
+		if (!style) style = "default";
+		if (!offset){
+			offset = {
+				"V": {"x": 0, "y": 0},
+				"H": {"x": 0, "y": 0}
+			};
+		}
+		MWF.require("MWF.widget.ScrollBar", function(){
+			if(this.scrollbar && this.scrollbar.scrollVAreaNode){
+				this.scrollbar.scrollVAreaNode.destroy();
+				delete this.scrollbar;
+			}
+			this.scrollbar = new MWF.widget.ScrollBar(node, {
+				"style": style,
+				"offset": offset,
+				"where": "before",
+				"indent": false,
+				"distance": 100,
+				"friction": 4,
+				"onScroll": function (y) {
+					var scrollSize = node.getScrollSize();
+					var clientSize = node.getSize();
+					var scrollHeight = scrollSize.y - clientSize.y;
+					if (y + 200 > scrollHeight && view && view.loadElementList) {
+						if (! view.isItemsLoaded) view.loadElementList()
+					}
+				}.bind(this)
+			});
+			if (callback) callback();
+		}.bind(this));
+		return false;
+	},
+	setLoading:function(container){
+		var _height = container.getHeight();
+		var _width = container.getWidth();
+		var loading = new Element("img",{styles:{
+				"margin-top":"10px",
+				"margin-bottom":"10px",
+				"width":"100px",
+				"height":"20px"
+			},"src":"/x_component_TeamWork/$Main/default/icon/loading.gif"}).inject(container);
+		//var loading = new Element("img",{"src":"/x_component_TeamWork/$Main/default/icon/loading.gif"}).inject(container);
+
+		loading.setStyles({
+			"margin-left":(_width-loading.getWidth())/2+"px"
+		})
+	},
+	showErrorMessage:function(xhr,text,error){
+		var errorText = error;
+		var errorMessage;
+		if (xhr) errorMessage = xhr.responseText;
+		if(errorMessage!=""){
+			var e = JSON.parse(errorMessage);
+			if(e.message){
+				this.notice( e.message,"error");
+			}else{
+				this.notice( errorText,"error");
+			}
+		}else{
+			this.notice(errorText,"error");
+		}
+
+	},
+	selectCalendar : function( target, container, options, callback ){
+		var type = options.type;
+		var calendarOptions = {
+			"style" : "xform",
+			"isTime":  type == "time" || type.toLowerCase() == "datetime",
+			"timeOnly": type == "time",
+			"target": container,
+			"onQueryComplate" : function( dateString ,date ){
+				var json={
+					"action":"ok",
+					"dateString":dateString,
+					"date":date
+				};
+				if( callback )callback( json );
+			}.bind(this),
+			"onClear":function(){
+				var json={
+					"action":"clear"
+				};
+				if(callback) callback(json);
+				//if(this.calendar) delete this.calendar;
+			}.bind(this),
+			"onHide":function(){
+
+			}.bind(this)
+		};
+		if( options.calendarOptions ){
+			calendarOptions = Object.merge( calendarOptions, options.calendarOptions )
+		}
+
+		MWF.require("MWF.widget.Calendar", function(){
+			this.calendar = new MWF.widget.Calendar( target, calendarOptions);
+			this.calendar.show();
+
+		}.bind(this));
+	},
 
 });

Některé soubory nejsou zobrazeny, neboť je v těchto rozdílových datech změněno mnoho souborů