Răsfoiți Sursa

Merge pull request #42 from huqi1980/master

web commit
huqi1980 6 ani în urmă
părinte
comite
8d5824ff9e
100 a modificat fișierele cu 1670 adăugiri și 53 ștergeri
  1. 83 24
      o2web/source/o2_core/o2/o2.core.js
  2. BIN
      o2web/source/o2_core/o2/widget/$AttachmentController/cms/icon/config.png
  3. BIN
      o2web/source/o2_core/o2/widget/$AttachmentController/cms/icon/config_gray.png
  4. BIN
      o2web/source/o2_core/o2/widget/$AttachmentController/default/icon/check.png
  5. BIN
      o2web/source/o2_core/o2/widget/$AttachmentController/default/icon/check_gray.png
  6. BIN
      o2web/source/o2_core/o2/widget/$AttachmentController/default/icon/config.png
  7. BIN
      o2web/source/o2_core/o2/widget/$AttachmentController/default/icon/config_gray.png
  8. 74 0
      o2web/source/o2_core/o2/widget/$Dialog/user/css.wcss
  9. 15 0
      o2web/source/o2_core/o2/widget/$Dialog/user/dialog.html
  10. BIN
      o2web/source/o2_core/o2/widget/$Dialog/user/img/bottom-bg.gif
  11. BIN
      o2web/source/o2_core/o2/widget/$Dialog/user/img/bottom-left.gif
  12. BIN
      o2web/source/o2_core/o2/widget/$Dialog/user/img/bottom-right.gif
  13. BIN
      o2web/source/o2_core/o2/widget/$Dialog/user/img/close.png
  14. BIN
      o2web/source/o2_core/o2/widget/$Dialog/user/img/resize.png
  15. BIN
      o2web/source/o2_core/o2/widget/$Dialog/user/img/title-bg.gif
  16. BIN
      o2web/source/o2_core/o2/widget/$Dialog/user/img/title-left.gif
  17. BIN
      o2web/source/o2_core/o2/widget/$Dialog/user/img/title-right.gif
  18. 54 0
      o2web/source/o2_core/o2/widget/$SearchInput/height24/css.wcss
  19. BIN
      o2web/source/o2_core/o2/widget/$SearchInput/height24/icon/search.png
  20. 124 22
      o2web/source/o2_core/o2/widget/Dialog.js
  21. 66 1
      o2web/source/o2_core/o2/xAction/RestActions.js
  22. 9 0
      o2web/source/o2_core/o2/xAction/services/x_attendance_assemble_control.js
  23. 84 0
      o2web/source/o2_core/o2/xAction/services/x_mind_assemble_control.js
  24. 38 0
      o2web/source/o2_core/o2/xAction/services/x_mind_assemble_control.json
  25. 41 4
      o2web/source/o2_core/o2/xAction/services/x_processplatform_assemble_surface.json
  26. 60 1
      o2web/source/o2_core/o2/xAction/services/x_query_assemble_designer.js
  27. 40 1
      o2web/source/o2_core/o2/xAction/services/x_query_assemble_designer.json
  28. 10 0
      o2web/source/o2_core/o2/xAction/services/x_query_assemble_surface.js
  29. 699 0
      o2web/source/o2_core/o2/xDesktop/$Layout/newyear/css.wcss
  30. BIN
      o2web/source/o2_core/o2/xDesktop/$Layout/newyear/desktop.jpg
  31. BIN
      o2web/source/o2_core/o2/xDesktop/$Layout/newyear/login/pass.png
  32. BIN
      o2web/source/o2_core/o2/xDesktop/$Layout/newyear/login/user.png
  33. BIN
      o2web/source/o2_core/o2/xDesktop/$Layout/newyear/menu/deploy.png
  34. BIN
      o2web/source/o2_core/o2/xDesktop/$Layout/newyear/menu/find.png
  35. BIN
      o2web/source/o2_core/o2/xDesktop/$Layout/newyear/menu/left.png
  36. BIN
      o2web/source/o2_core/o2/xDesktop/$Layout/newyear/menu/monitor.png
  37. BIN
      o2web/source/o2_core/o2/xDesktop/$Layout/newyear/menu/org.png
  38. BIN
      o2web/source/o2_core/o2/xDesktop/$Layout/newyear/menu/process.png
  39. BIN
      o2web/source/o2_core/o2/xDesktop/$Layout/newyear/menu/process_data.png
  40. BIN
      o2web/source/o2_core/o2/xDesktop/$Layout/newyear/menu/process_flow.png
  41. BIN
      o2web/source/o2_core/o2/xDesktop/$Layout/newyear/menu/process_form.png
  42. BIN
      o2web/source/o2_core/o2/xDesktop/$Layout/newyear/menu/process_plugin.png
  43. BIN
      o2web/source/o2_core/o2/xDesktop/$Layout/newyear/menu/process_rule.png
  44. BIN
      o2web/source/o2_core/o2/xDesktop/$Layout/newyear/menu/right.png
  45. BIN
      o2web/source/o2_core/o2/xDesktop/$Layout/newyear/message/close.png
  46. BIN
      o2web/source/o2_core/o2/xDesktop/$Layout/newyear/navi/cms.png
  47. BIN
      o2web/source/o2_core/o2/xDesktop/$Layout/newyear/navi/cms_over.png
  48. BIN
      o2web/source/o2_core/o2/xDesktop/$Layout/newyear/navi/deploy.png
  49. BIN
      o2web/source/o2_core/o2/xDesktop/$Layout/newyear/navi/deploy_over.png
  50. BIN
      o2web/source/o2_core/o2/xDesktop/$Layout/newyear/navi/edit.png
  51. BIN
      o2web/source/o2_core/o2/xDesktop/$Layout/newyear/navi/file.png
  52. BIN
      o2web/source/o2_core/o2/xDesktop/$Layout/newyear/navi/file_over.png
  53. BIN
      o2web/source/o2_core/o2/xDesktop/$Layout/newyear/navi/mail.png
  54. BIN
      o2web/source/o2_core/o2/xDesktop/$Layout/newyear/navi/mail_over.png
  55. BIN
      o2web/source/o2_core/o2/xDesktop/$Layout/newyear/navi/monitor.png
  56. BIN
      o2web/source/o2_core/o2/xDesktop/$Layout/newyear/navi/monitor_over.png
  57. BIN
      o2web/source/o2_core/o2/xDesktop/$Layout/newyear/navi/note.png
  58. BIN
      o2web/source/o2_core/o2/xDesktop/$Layout/newyear/navi/note_over.png
  59. BIN
      o2web/source/o2_core/o2/xDesktop/$Layout/newyear/navi/notes_over.png
  60. BIN
      o2web/source/o2_core/o2/xDesktop/$Layout/newyear/navi/okr.png
  61. BIN
      o2web/source/o2_core/o2/xDesktop/$Layout/newyear/navi/okr_over.png
  62. BIN
      o2web/source/o2_core/o2/xDesktop/$Layout/newyear/navi/org.png
  63. BIN
      o2web/source/o2_core/o2/xDesktop/$Layout/newyear/navi/org_over.png
  64. BIN
      o2web/source/o2_core/o2/xDesktop/$Layout/newyear/navi/process.png
  65. BIN
      o2web/source/o2_core/o2/xDesktop/$Layout/newyear/navi/process_over.png
  66. BIN
      o2web/source/o2_core/o2/xDesktop/$Layout/newyear/navi/profile.png
  67. BIN
      o2web/source/o2_core/o2/xDesktop/$Layout/newyear/navi/profile_over.png
  68. BIN
      o2web/source/o2_core/o2/xDesktop/$Layout/newyear/navi/task.png
  69. BIN
      o2web/source/o2_core/o2/xDesktop/$Layout/newyear/navi/task_over.png
  70. BIN
      o2web/source/o2_core/o2/xDesktop/$Layout/newyear/preview.jpg
  71. BIN
      o2web/source/o2_core/o2/xDesktop/$Layout/newyear/preview_gray.jpg
  72. BIN
      o2web/source/o2_core/o2/xDesktop/$Layout/newyear/sound/message.mp3
  73. BIN
      o2web/source/o2_core/o2/xDesktop/$Layout/newyear/sound/message.wav
  74. BIN
      o2web/source/o2_core/o2/xDesktop/$Layout/newyear/taskbar/close.png
  75. BIN
      o2web/source/o2_core/o2/xDesktop/$Layout/newyear/taskbar/close1.png
  76. BIN
      o2web/source/o2_core/o2/xDesktop/$Layout/newyear/top/close.png
  77. BIN
      o2web/source/o2_core/o2/xDesktop/$Layout/newyear/top/config.png
  78. BIN
      o2web/source/o2_core/o2/xDesktop/$Layout/newyear/top/desktop.png
  79. BIN
      o2web/source/o2_core/o2/xDesktop/$Layout/newyear/top/menu.png
  80. BIN
      o2web/source/o2_core/o2/xDesktop/$Layout/newyear/top/menu1.png
  81. BIN
      o2web/source/o2_core/o2/xDesktop/$Layout/newyear/top/message.png
  82. BIN
      o2web/source/o2_core/o2/xDesktop/$Layout/newyear/top/message_over.png
  83. BIN
      o2web/source/o2_core/o2/xDesktop/$Layout/newyear/top/message_red.png
  84. BIN
      o2web/source/o2_core/o2/xDesktop/$Layout/newyear/top/style.png
  85. BIN
      o2web/source/o2_core/o2/xDesktop/$Layout/newyear/top/style_over.png
  86. BIN
      o2web/source/o2_core/o2/xDesktop/$Layout/newyear/top/user.png
  87. BIN
      o2web/source/o2_core/o2/xDesktop/$Layout/newyear/top/user_over.png
  88. BIN
      o2web/source/o2_core/o2/xDesktop/$Layout/newyear/top/usermenu.png
  89. BIN
      o2web/source/o2_core/o2/xDesktop/$Layout/newyear/top/usermenu_over.png
  90. BIN
      o2web/source/o2_core/o2/xDesktop/$Layout/newyear/usermenu/config.png
  91. BIN
      o2web/source/o2_core/o2/xDesktop/$Layout/newyear/usermenu/logout.png
  92. BIN
      o2web/source/o2_core/o2/xDesktop/$Layout/newyear/widget/close.png
  93. BIN
      o2web/source/o2_core/o2/xDesktop/$Layout/newyear/widget/close1.png
  94. BIN
      o2web/source/o2_core/o2/xDesktop/$Layout/newyear/widget/close2.png
  95. BIN
      o2web/source/o2_core/o2/xDesktop/$Layout/newyear/widget/open.png
  96. BIN
      o2web/source/o2_core/o2/xDesktop/$Layout/newyear/widget/open1.png
  97. BIN
      o2web/source/o2_core/o2/xDesktop/$Layout/preview.jpg
  98. BIN
      o2web/source/o2_core/o2/xDesktop/$Layout/preview_gray.jpg
  99. 259 0
      o2web/source/o2_core/o2/xDesktop/$Window/desktop_newyear/css.wcss
  100. 14 0
      o2web/source/o2_core/o2/xDesktop/$Window/desktop_newyear/dialog.html

+ 83 - 24
o2web/source/o2_core/o2/o2.core.js

@@ -46,8 +46,8 @@
             }
         }
         if ((typeof currentNS).toLowerCase()==="function"){
-            for (var prop in props){
-                currentNS.prototype[prop] = props[prop];
+            for (var propfun in props){
+                currentNS.prototype[propfun] = props[propfun];
             }
         }
         return currentNS;
@@ -91,42 +91,93 @@
 
         _requireJs(jsPath, callback, loadAsync, compression);
     };
-    var _require = function(module, callback, async, compression){
+    var _requireSequence = function(fun, module, thisLoaded, thisErrorLoaded, callback, async, compression){
+        var m = module.shift();
+        fun(m, {
+            "onSuccess": function(){
+                thisLoaded.push(module[i]);
+                if (module.length){
+                    _requireSequence(module, thisLoaded, thisErrorLoaded, callback);
+                }else{
+                    if (thisErrorLoaded.length){
+                        o2.runCallback(callback, "failure", [thisLoaded, thisErrorLoaded]);
+                    }else{
+                        o2.runCallback(callback, "success", [thisLoaded, thisErrorLoaded]);
+                    }
+                }
+            },
+            "onFailure": function(){
+                thisErrorLoaded.push(module[i]);
+                o2.runCallback(callback, "failure", [thisLoaded, thisErrorLoaded]);
+            }
+        }, async, compression);
+    };
+    var _requireDisarray = function(fun, module, thisLoaded, thisErrorLoaded, callback, async, compression){
+        for (var i=0; i<module.length; i++){
+            fun(module[i], {
+                "onSuccess": function(){
+                    thisLoaded.push(module[i]);
+                    if ((thisLoaded.length+thisErrorLoaded.length)===module.length){
+                        if (thisErrorLoaded.length){
+                            o2.runCallback(callback, "failure", [thisLoaded, thisErrorLoaded]);
+                        }else{
+                            o2.runCallback(callback, "success", [thisLoaded, thisErrorLoaded]);
+                        }
+                    }
+                },
+                "onFailure": function(){
+                    thisErrorLoaded.push(module[i]);
+                    o2.runCallback(callback, "failure", [thisLoaded, thisErrorLoaded]);
+                }
+            }, async, compression);
+        }
+    };
+    var _require = function(module, callback, async, sequence, compression){
         var type = typeOf(module);
         if (type==="array"){
+            var sql = !!sequence;
             var thisLoaded = [];
             var thisErrorLoaded = [];
-            for (var i=0; i<module.length; i++){
-                _requireSingle(modules[i], {
-                    "onSuccess": function(){
-                        thisLoaded.push(modules[i]);
-                        if ((thisLoaded.length+thisErrorLoaded.length)===modules.length){
-                            if (thisErrorLoaded.length){
-                                o2.runCallback(callback, "failure", [thisLoaded, thisErrorLoaded]);
-                            }else{
-                                o2.runCallback(callback, "success", [thisLoaded, thisErrorLoaded]);
-                            }
-                        }
-                    },
-                    "onFailure": function(){
-                        thisErrorLoaded.push(modules[i]);
-                        o2.runCallback(callback, "failure", [thisLoaded, thisErrorLoaded]);
-                    }
-                }, async, compression);
+            if (sql){
+                _requireSequence(_requireSingle, module, thisLoaded, thisErrorLoaded, callback, async, compression);
+
+            }else{
+                _requireDisarray(_requireSingle, module, thisLoaded, thisErrorLoaded, callback, async, compression);
             }
         }
         if (type==="string"){
             _requireSingle(module, callback, async, compression);
         }
     };
-    var _requireApp = function(module, clazz, callback, async){
+
+    var _requireAppSingle = function(modules, callback, async, compression){
+        var module = modules[0];
+        var clazz = modules[1];
         var levels = module.split(".");
         //levels.shift();
         var root = "x_component_"+levels.join("_");
         var clazzName = clazz || "Main";
         var path = "/"+root+"/"+clazzName.replace(/\./g, "/")+".js";
         var loadAsync = (async!==false);
-        _requireJs(path, callback, loadAsync);
+        _requireJs(path, callback, loadAsync, compression);
+    };
+    var _requireApp = function(module, clazz, callback, async, sequence, compression){
+        var type = typeOf(module);
+        if (type==="array"){
+            var sql = !!sequence;
+            var thisLoaded = [];
+            var thisErrorLoaded = [];
+            if (sql){
+                _requireSequence(_requireAppSingle, module, thisLoaded, thisErrorLoaded, callback, async, compression);
+
+            }else{
+                _requireDisarray(_requireAppSingle, module, thisLoaded, thisErrorLoaded, callback, async, compression);
+            }
+        }
+        if (type==="string"){
+            var modules = [module, clazz];
+            _requireAppSingle(modules, callback, async, compression);
+        }
     };
 
     var _json = JSON;
@@ -316,8 +367,8 @@
         properties = Object(properties);
         var keys = Object.keys(properties);
         var descs = [];
-        for (var i = 0; i < keys.length; i++)
-            descs.push([keys[i], convertToDescriptor(properties[keys[i]])]);
+        for (var j = 0; j < keys.length; j++)
+            descs.push([keys[j], convertToDescriptor(properties[keys[j]])]);
         for (var i = 0; i < descs.length; i++){
             if (Object.defineProperty && (Browser.name=="ie" && Browser.version!=8)){
                 Object.defineProperty(obj, descs[i][0], descs[i][1]);
@@ -339,5 +390,13 @@
     this.o2.release = _release;
     this.o2.defineProperties = _defineProperties;
 
+    Object.repeatArray = function(o, count){
+        var arr = [];
+        for (var i=0; i<count; i++){
+            arr.push(o)
+        }
+        return arr;
+    }
+
 })();
 o2.core = true;

BIN
o2web/source/o2_core/o2/widget/$AttachmentController/cms/icon/config.png


BIN
o2web/source/o2_core/o2/widget/$AttachmentController/cms/icon/config_gray.png


BIN
o2web/source/o2_core/o2/widget/$AttachmentController/default/icon/check.png


BIN
o2web/source/o2_core/o2/widget/$AttachmentController/default/icon/check_gray.png


BIN
o2web/source/o2_core/o2/widget/$AttachmentController/default/icon/config.png


BIN
o2web/source/o2_core/o2/widget/$AttachmentController/default/icon/config_gray.png


+ 74 - 0
o2web/source/o2_core/o2/widget/$Dialog/user/css.wcss

@@ -0,0 +1,74 @@
+{
+	"from": {
+		"width": "1px",
+		"height": "1px",
+		"position": "absolute",
+		"top": $(document.body).getSize().y/2,
+		"left": $(document.body).getSize().x/2,
+		"border-style": "solid",
+		"border-color": "#3C76B7",
+		"border-width": "1",
+	    "overflow": "hidden",
+		"background-color": "#f3f3f3",
+		"box-shadow": "0px 0px 20px #999999",
+		"z-index": "20000",
+		
+		"padding": "3px",
+
+		"opacity": 0,
+        "border-radius": "5px"
+	},
+	"to": {
+		"background-color": "#f3f3f3",
+		"border-style": "solid",
+		"border-color": "#3C76B7",
+		"border-width": "1",
+		"box-shadow": "0px 0px 20px #999999",
+		"z-index": "20000",
+		"overflow": "hidden",
+		"font-size": "14px",
+		"height": "60",
+		"padding": "0px",
+		"width": "300",
+		"position": "absolute",
+		"top": "0",
+		"left": "0",
+		"opacity": 1,
+		"border-radius": "5px"
+	},
+	"mark": {
+		"height": "0",
+		"width": "0",
+		"opacity": 0.3,
+		"position": "absolute",
+		"top": "0px",
+		"left": "0px",
+		"z-index": "19999",
+		"border-style": "none",
+		"border-width": "0",
+		"background-color": "#CCC"
+	},
+	"button": {
+		"border": "1px solid #999",
+		"background-color": "#3C76B7",
+		"color": "#fff",
+		"height": "30px",
+		"border-radius": "5px",
+		"min-width": "80px",
+		"margin": "10px 5px"
+	},
+	"closeAction": {
+	    "height": "40px",
+	    "width": "40px",
+	    "float": "right",
+	    "cursor": "pointer",
+	    "background": "url("+o2.session.path+"/widget/$Dialog/user/img/close.png) center center no-repeat",
+	},
+	"MWF_dialod_bottom_resize": {
+	    "height": "8px",
+        "width": "8px",
+        "float": "right",
+        "cursor": "nw-resize",
+        "background": "url("+o2.session.path+"/widget/$Dialog/user/img/resize.png) center center no-repeat",
+	}
+}

+ 15 - 0
o2web/source/o2_core/o2/widget/$Dialog/user/dialog.html

@@ -0,0 +1,15 @@
+<div style="background-color: #f3f3f3;">
+    <div style="border-top-left-radius: 3px; border-top-right-radius: 3px; height:40px; font-size:14px; line-height:40px; color: #FFFFFF; background-color: #3C76B7; cursor: move; color: #ffffff" class="MWF_dialod_title">
+		<div style="height: 40px; float:left; padding-left:20px;" class="MWF_dialod_title_text"></div>
+		<div style="height: 40px; float:right;" class="MWF_dialod_title_action"></div>
+    </div>
+    <div style="margin-top: 3px; background-color: #f3f3f3; overflow:hidden">
+        <div class="MWF_dialod_content" style="overflow: auto; text-align: left; background-color: #f3f3f3; line-height:20px;"></div>
+    </div>
+	<div style="height:50px; text-align: right; background-color: #f3f3f3;padding-right:10px;" class="MWF_dialod_button">
+        
+    </div>
+    <div class="MWF_dialod_bottom" style="border-bottom-left-radius: 5px; border-bottom-right-radius: 5px; background-color: #f3f3f3; margin-bottom: 3px; height: 8px;">
+        <div class="MWF_dialod_bottom_resize" style="height: 8px;"></div>
+    </div>
+</div>

BIN
o2web/source/o2_core/o2/widget/$Dialog/user/img/bottom-bg.gif


BIN
o2web/source/o2_core/o2/widget/$Dialog/user/img/bottom-left.gif


BIN
o2web/source/o2_core/o2/widget/$Dialog/user/img/bottom-right.gif


BIN
o2web/source/o2_core/o2/widget/$Dialog/user/img/close.png


BIN
o2web/source/o2_core/o2/widget/$Dialog/user/img/resize.png


BIN
o2web/source/o2_core/o2/widget/$Dialog/user/img/title-bg.gif


BIN
o2web/source/o2_core/o2/widget/$Dialog/user/img/title-left.gif


BIN
o2web/source/o2_core/o2/widget/$Dialog/user/img/title-right.gif


+ 54 - 0
o2web/source/o2_core/o2/widget/$SearchInput/height24/css.wcss

@@ -0,0 +1,54 @@
+{
+	"searchNode": {
+		"overflow": "hidden"
+	},
+	"searchBarNode": {
+        "border": "0px solid #999999",
+        "height": "26px"
+	},
+    "searchAction": {
+        "cursor": "pointer",
+        "height": "26px",
+        "width": "30px",
+        "background": "url("+o2.session.path+"/widget/$SearchInput/height24/icon/search.png) no-repeat center center",
+        "float": "right"
+    },
+    "searchInputArea": {
+        "margin-right": "30px",
+        "margin-left": "5px",
+        "height": "26px"
+    },
+
+    "searchInputNode": {
+	    "border": "0px",
+	    "height": "24px",
+	    "line-height": "24px",
+	    "width": "99%",
+	    "color": "#999999",
+	    "background": "transparent",
+	    "font-size": "14px"
+	},
+	"autoCompletedNode": {
+        "position": "absolute",
+        "clear": "both",
+        "border-left": "1px solid #999999",
+        "border-right": "1px solid #999999",
+        "border-bottom": "1px solid #999999",
+        "overflow": "hidden",
+        "box-shadow": "0px 3px 10px #cccccc",
+        "background-color": "#ffffff"
+    },
+    "searchKeyItem": {
+        "padding": "0px 5px",
+        "height": "26px",
+        "font-size": "14px",
+        "line-height": "26px",
+        "color": "#666666",
+        "cursor": "default",
+        "background-color": "#ffffff"
+    },
+    "searchKeyItem_over": {
+        "background-color": "#f1f1f1"
+    }
+
+}

BIN
o2web/source/o2_core/o2/widget/$SearchInput/height24/icon/search.png


+ 124 - 22
o2web/source/o2_core/o2/widget/Dialog.js

@@ -7,6 +7,8 @@ o2.widget.Dialog = o2.DL = new Class({
 		"title": "dialog",
 		"width": "300",
 		"height": "150",
+		"contentWidth": null,
+		"contentHeight": null,
 		"top": "0",
 		"left": "0",
 		"fromTop": "0",
@@ -19,14 +21,18 @@ o2.widget.Dialog = o2.DL = new Class({
 		"content": null,
 
 		"isMax": false,
-		"isClose": true,
+		"isClose": false,
 		"isResize": true,
 		"isMove": true,
+        "isTitle": true,
 		
 		"buttons": null,
 		"buttonList": null,
         "maskNode" : null,
 
+		"transition": null,
+		"duration": 200,
+
         "container": null
 	},
 	initialize: function(options){
@@ -93,8 +99,6 @@ o2.widget.Dialog = o2.DL = new Class({
 		this.node.set("styles", this.css.from);
 		this.node.inject(this.options.container || $(document.body));
 		this.node.addEvent("selectstart", function(e){
-
-			
 			var select = e.target.getStyle("-webkit-user-select");
             if (!select) select = this.getParentSelect(e.target);
 			if (!select){
@@ -118,6 +122,15 @@ o2.widget.Dialog = o2.DL = new Class({
 		this.resizeNode = this.node.getElement(".MWF_dialod_bottom_resize");
 		this.button = this.node.getElement(".MWF_dialod_button");
 
+		if (!this.options.isTitle) {
+            this.title.destroy();
+            this.title = null;
+            this.titleCenter = null;
+            this.titleRefresh = null;
+            this.titleText = null;
+            this.titleAction = null;
+        }
+
 		if (this.title) this.title.setStyles(this.css.MWF_dialod_title);
         if (this.titleCenter) this.titleCenter.setStyles(this.css.MWF_dialod_title_center);
         if (this.titleRefresh) this.titleRefresh.setStyles(this.css.MWF_dialod_title_refresh);
@@ -145,22 +158,52 @@ o2.widget.Dialog = o2.DL = new Class({
         this.titleRefresh.set("title", o2.LP.widget.refresh);
     },
 	setTitleEvent: function(){
-
 		this.title.addEvent("mousedown", function(){
-			this.containerDrag = new Drag.Move(this.node);
+			this.containerDrag = new Drag.Move(this.node, {
+                "container": (layout) ? layout.desktop.currentApp.content: null
+            });
 		}.bind(this));
 		this.title.addEvent("mouseup", function(){
 			this.node.removeEvents("mousedown");
 			this.title.addEvent("mousedown", function(){
-				this.containerDrag = new Drag.Move(this.node);
+				this.containerDrag = new Drag.Move(this.node, {
+                    "container": (layout) ? layout.desktop.currentApp.content: null
+                });
 			}.bind(this));
 		}.bind(this));
 	},
 	setResizeNode: function(){
 		//未实现................................
+        if (!this.options.isResize){
+            if (this.resizeNode) this.resizeNode.hide();
+        }else{
+            if (this.resizeNode){
+                this.node.makeResizable({
+                    "handle": this.resizeNode || this.bottom,
+                    "limit": {x:[200, null], y:[150, null]},
+                    "onDrag": function(){
+                        var size = this.node.getComputedSize();
+
+                        this.css.to.width = size.totalWidth;
+                        this.css.to.height = size.totalHeight;
+
+                        this.setContentSize(size.totalHeight, size.totalWidth);
+
+                        this.fireEvent("resize");
+                    }.bind(this),
+                    "onComplete": function(){
+                        this.fireEvent("resizeCompleted");
+                    }.bind(this)
+                });
+			}
+		}
 	},
 	getAction: function(){
-		//未实现................................
+		//未完成................................
+		if (this.options.isClose){
+			this.closeAction = new Element("div", {"styles": this.css.closeAction}).inject(this.titleAction);
+            this.closeAction.addEvent("click", this.close.bind(this));
+		}
 	},
 	getButton: function(){
 		for (i in this.options.buttons){
@@ -180,24 +223,38 @@ o2.widget.Dialog = o2.DL = new Class({
 					"value": bt.text,
 					"styles": this.css.button,
 					"events": {
-						"click": bt.action.bind(this, this)
+						"click": function(e){bt.action.call(this, this, e)}.bind(this)
 					}
 				}).inject(this.button);
 			}.bind(this));
 		}
 	},
 	getContentSize: function(height, width){
-		if (!height) height = this.options.height;
-		if (!width) width = this.options.width;
+        var nodeHeight, nodeWidth;
+		if (!height){
+			if (this.options.contentHeight){
+                nodeHeight = height = this.options.contentHeight.toFloat();
+			}else{
+                height = this.options.height.toFloat();
+			}
+		}
+        if (!width){
+            if (this.options.contentWidth){
+                nodeWidth = width = this.options.contentWidth.toFloat();
+            }else{
+                width = this.options.width.toFloat();
+            }
+        }
 
+        var offsetHeight = 0;
+        var offsetWidth = 0;
 		if (this.title){
 			var h1 = this.title.getSize().y;
 			var ptop1 = this.title.getStyle("padding-top").toFloat();
 			var pbottom1 = this.title.getStyle("padding-bottom").toFloat();
 			var mtop1 = this.title.getStyle("margin-top").toFloat();
 			var mbottom1 = this.title.getStyle("margin-bottom").toFloat();
-			
-			height = height - h1 - ptop1 - pbottom1 - mtop1 - mbottom1;
+            offsetHeight += h1 + ptop1 + pbottom1 + mtop1 + mbottom1;
 		}
 		if (this.bottom){
 			var h2 = this.bottom.getSize().y;
@@ -205,8 +262,8 @@ o2.widget.Dialog = o2.DL = new Class({
 			var pbottom2 = this.bottom.getStyle("padding-bottom").toFloat();
 			var mtop2 = this.bottom.getStyle("margin-top").toFloat();
 			var mbottom2 = this.bottom.getStyle("margin-bottom").toFloat();
-			
-			height = height - h2 - ptop2 - pbottom2 - mtop2 - mbottom2;
+
+            offsetHeight += h2 + ptop2 + pbottom2 + mtop2 + mbottom2;
 		}
 		if (this.button){
 			var h3 = this.button.getSize().y;
@@ -214,15 +271,21 @@ o2.widget.Dialog = o2.DL = new Class({
 			var pbottom3 = this.button.getStyle("padding-bottom").toFloat();
 			var mtop3 = this.button.getStyle("margin-top").toFloat();
 			var mbottom3 = this.button.getStyle("margin-bottom").toFloat();
-			
-			height = height - h3 - ptop3 - pbottom3 - mtop3 - mbottom3;
+
+            offsetHeight += h3 + ptop3 + pbottom3 + mtop3 + mbottom3;
 		}
 				
 		var ptop4 = this.content.getStyle("padding-top").toFloat();
 		var pbottom4 = this.content.getStyle("padding-bottom").toFloat();
 		var mtop4 = this.content.getStyle("margin-top").toFloat();
 		var mbottom4 = this.content.getStyle("margin-bottom").toFloat();
-		height = height - ptop4 - pbottom4 - mtop4 - mbottom4;
+        offsetHeight += ptop4 + pbottom4 + mtop4 + mbottom4;
+
+        if (nodeHeight){
+            nodeHeight = nodeHeight + offsetHeight+2;
+        }else {
+            height = height - offsetHeight;
+        }
 
         //if (this.content.getParent().getStyle("overflow-x")!="hidden" ) height = height-18;
 		
@@ -230,8 +293,34 @@ o2.widget.Dialog = o2.DL = new Class({
 		var pright = this.content.getStyle("padding-right").toFloat();
 		var mleft = this.content.getStyle("margin-left").toFloat();
 		var mright = this.content.getStyle("margin-right").toFloat();
-		width = width-pleft-pright-mleft-mright;
+        offsetWidth = pleft+pright+mleft+mright;
+		//width = width-pleft-pright-mleft-mright;
         //if (this.content.getParent().getStyle("overflow-y")!="hidden" ) width = width-18;
+        if (nodeWidth){
+            nodeWidth = nodeWidth+offsetWidth;
+        }else{
+            width = width-offsetWidth;
+		}
+
+
+		if (nodeHeight) {
+            this.options.height = nodeHeight;
+            this.options.contentHeight = null;
+            this.options.fromTop = this.options.fromTop.toFloat()-offsetHeight/2;
+            this.options.top = this.options.top.toFloat()-offsetHeight/2;
+            this.css.to.height = nodeHeight+"px";
+            this.css.to.top = this.options.top+"px";
+            this.css.from.top = this.options.fromTop+"px";
+        }
+        if (nodeWidth){
+            this.options.width = nodeWidth;
+            this.options.contentWidth = null;
+            this.options.fromLeft = this.options.fromLeft.toFloat()-offsetWidth/2;
+            this.options.left = this.options.left.toFloat()-offsetWidth/2;
+            this.css.to.width = nodeWidth+"px";
+            this.css.to.left = this.options.left+"px";
+            this.css.from.left = this.options.fromLeft+"px";
+        }
 
         if (!height || height<0){
             this.content.setStyles({"overflow": "hidden", "height": "auto", "width": ""+width+"px"});
@@ -259,8 +348,21 @@ o2.widget.Dialog = o2.DL = new Class({
             this.content.setStyles(this.getContentSize(height, width));
             this.content.setStyle("width", "auto");
 		//}
-
 	},
+	reCenter: function(){
+		var size = this.node.getSize();
+		var container = this.options.container || $(document.body);
+        var p = o2.getCenter(size, container, container);
+        this.options.top = p.y;
+        this.options.left = p.x;
+        this.css.to.top = this.options.top+"px";
+        this.css.to.left = this.options.left+"px";
+        this.node.setStyles({
+			"top": this.css.to.top,
+            "left": this.css.to.left
+		});
+	},
+
 	getTitle: function(){
 		this.titleText.set("text", this.options.title);
 	},
@@ -296,7 +398,7 @@ o2.widget.Dialog = o2.DL = new Class({
 	show: function(){
 		if (this.options.mark) this._markShow();
 		if (!this.morph){
-			this.morph = new Fx.Morph(this.node, {duration: 200});
+			this.morph = new Fx.Morph(this.node, {duration: this.options.duration, "transition": this.options.transition});
 		}
 		if (this.fireEvent("queryShow")){
 			this.node.setStyle("display", "block");
@@ -317,7 +419,7 @@ o2.widget.Dialog = o2.DL = new Class({
 	},
 	hide: function() {
 		if (!this.morph){
-			this.morph = new Fx.Morph(this.node, {duration: 200});
+			this.morph = new Fx.Morph(this.node, {duration: this.options.duration, "transition": this.options.transition});
 		}
 		if (this.fireEvent("queryHide")){
 			if (this.titleText) this.titleText.set("text", "");
@@ -332,7 +434,7 @@ o2.widget.Dialog = o2.DL = new Class({
 	},
 	close: function(){
 		if (!this.morph){
-			this.morph = new Fx.Morph(this.node, {duration: 200});
+			this.morph = new Fx.Morph(this.node, {duration: this.options.duration, "transition": this.options.transition});
 		}
 		
 		if (this.fireEvent("queryClose")){

+ 66 - 1
o2web/source/o2_core/o2/xAction/RestActions.js

@@ -27,6 +27,69 @@ MWF.xAction.RestActions = MWF.Actions = {
             address = layout.config.app_protocol+"//"+host+(port=="80" ? "" : ":"+port);
         }
         return address;
+    },
+    "invokeAsync": function(actions, callback){
+        var len = actions.length;
+        var parlen = arguments.length-2;
+        var res = [];
+        var jsons = new Array(len-1);
+        var args = arguments;
+
+        var cbs = (o2.typeOf(callback)==="function") ? callback : callback.success;
+        var cbf = (o2.typeOf(callback)==="function") ? null : callback.failure;
+
+        var cb = function(){
+            if (res.length===len) cbs.apply(this, jsons);
+        };
+        var _doError = function(xhr, text, error){
+            if (xhr.status!=0){
+                var errorText = error;
+                if (xhr){
+                    var json = JSON.decode(xhr.responseText);
+                    if (json){
+                        errorText = json.message.trim() || "request json error";
+                    }else{
+                        errorText = "request json error: "+xhr.responseText;
+                    }
+                }
+                MWF.xDesktop.notice("error", {x: "right", y:"top"}, errorText);
+            }
+        };
+        actions.each(function(action, i){
+            var par = (i<parlen) ? args[i+2] : args[parlen+1];
+            if (par){
+                var actionArgs = (o2.typeOf(par)==="array") ? par : [par];
+                actionArgs.push(function(json){
+                    jsons[i] = json;
+                    res.push(true);
+                    cb();
+                });
+                actionArgs.push(function(xhr, text, error){
+                    res.push(false);
+                    if (!cbf){
+                        _doError(xhr, text, error);
+                    }else{
+                        cbf();
+                    }
+                    cb();
+                });
+                action.action[action.name].apply(action.action, actionArgs);
+            }else{
+                action.action[action.name](function(){
+                    jsons[i] = json;
+                    res.push(true);
+                    cb();
+                }, function(xhr, text, error){
+                    res.push(false);
+                    if (!cbf){
+                        _doError(xhr, text, error);
+                    }else{
+                        cbf();
+                    }
+                    cb();
+                });
+            }
+        });
     }
 };
 MWF.xAction.RestActions.Action = new Class({
@@ -73,6 +136,7 @@ MWF.xAction.RestActions.Action = new Class({
                     }
                 }
                 async = (n>++i) ? functionArguments[i] : null;
+                urlEncode = (n>++i) ? functionArguments[i] : true;
             }else{
                 parameters.each(function(p, x){
                     parameter[p] = (n>x) ? functionArguments[x] : null;
@@ -88,8 +152,9 @@ MWF.xAction.RestActions.Action = new Class({
                 success = (n>++i) ? functionArguments[i] : null;
                 failure = (n>++i) ? functionArguments[i] : null;
                 async = (n>++i) ? functionArguments[i] : null;
+                urlEncode = (n>++i) ? functionArguments[i] : true;
             }
-            return this.action.invoke({"name": key, "async": async, "data": data, "file": file, "parameter": parameter, "success": success, "failure": failure});
+            return this.action.invoke({"name": key, "async": async, "data": data, "file": file, "parameter": parameter, "success": success, "failure": failure, "urlEncode": urlEncode});
         }.bind(this);
     }
 });

+ 9 - 0
o2web/source/o2_core/o2/xAction/services/x_attendance_assemble_control.js

@@ -34,5 +34,14 @@ MWF.xAction.RestActions.Action["x_attendance_assemble_control"] = new Class({
             window.open(this.action.address+url , "_blank");
         }.bind(this));
         //this.action.invoke({"name": "exportAbnormalAttachment", "parameter": {"year": year, "month": month },"success": success,"failure": failure});
+    },
+    listHolidayByYearAndName: function(year,name,success, failure, async){
+        this.action.invoke({"name": "listHolidayFilter","data": {"q_Year": year, "q_Name" : name },"async": async, "success": success,	"failure": failure});
+    },
+    listHolidayByYearAndMonth: function(year, month, success, failure, async){
+        this.action.invoke({"name": "listHolidayFilter","data": {"q_Year": year, "q_Month" : month },"async": async, "success": success,	"failure": failure});
+    },
+    listHolidayByName: function(name,success, failure, async){
+        this.action.invoke({"name": "listHolidayFilter","data": {"q_Name": name },"async": async, "success": success,	"failure": failure});
     }
 });

+ 84 - 0
o2web/source/o2_core/o2/xAction/services/x_mind_assemble_control.js

@@ -0,0 +1,84 @@
+MWF.xApplication.Minder = MWF.xApplication.Minder || {};
+MWF.xApplication.Minder.Actions = MWF.xApplication.Minder.Actions || {};
+MWF.require("MWF.xDesktop.Actions.RestActions", null, false);
+
+MWF.xApplication.Minder.Actions.RestActions2 = new Class({
+	Extends : MWF.xDesktop.Actions.RestActions,
+	invoke: function(option){
+		this.getActions(function(){
+			//name, parameter, data, async, success, failure, withCredentials, urlEncode
+			var action = this.actions[option.name];
+			var method = action.method || "GET";
+			var uri = action.uri;
+			if (option.parameter){
+				Object.each(option.parameter, function(value, key){
+					var reg = new RegExp("{"+key+"}", "g");
+					if (option.urlEncode===false){
+						uri = uri.replace(reg, value);
+					}else{
+						uri = uri.replace(reg, encodeURIComponent(value));
+					}
+				});
+			}
+			uri = this.address+uri;
+
+			var async = (option.async===false) ? false : true;
+
+			var progress = (option.progress===false) ? false : true; //控制是否显示进度条
+
+			var callback = new MWF.xDesktop.Actions.RestActions.Callback(option.success, option.failure);
+			if (action.enctype && (action.enctype.toLowerCase()=="formdata")){
+				this.invokeFormData(method, uri, option.data, option.file, callback, async, progress);
+			}else{
+				var data = (option.data) ? JSON.encode(option.data) : "";
+				var credentials = true;
+				if (option.withCredentials===false){
+					credentials = false;
+				}
+				MWF.restful(method, uri, data, callback, async, credentials);
+			}
+		}.bind(this));
+	},
+	invokeFormData: function(method, uri, data, file, callback, async, progress){
+		var xhr = new COMMON.Browser.Request();
+		data.append('fileName', file.name);
+		if (xhr.upload && progress){
+			this.invokeFormDataWithProgress(xhr, method, uri, data, file, callback, async);
+		}else{
+			this.invokeFormDataWithoutProgress(xhr, method, uri, data, file, callback, async);
+		}
+	},
+	invokeFormDataWithoutProgress: function(xhr, method, uri, data, file, callback, async){
+		var messageItem = null;
+		var currentDate = new Date();
+
+		xhr.addEventListener("readystatechange", function(e){
+			if (xhr.readyState == 4){
+				//this.transferComplete(e, xhr, messageItem, currentDate, file)
+				this.xhrStateChange(e, xhr, messageItem, callback);
+			}
+		}.bind(this), false);
+
+		xhr.open(method, uri, true);
+		xhr.withCredentials = true;
+
+		//messageItem = this.addFormDataMessage(file, true);
+		xhr.send(data);
+		//this.setMessageText(messageItem, MWF.LP.desktop.action.sendStart);
+	}
+});
+
+MWF.xAction.RestActions.Action["x_mind_assemble_control"] = new Class({
+	Extends: MWF.xAction.RestActions.Action,
+	initialize: function(root, actions){
+		this.action = new MWF.xApplication.Minder.Actions.RestActions2("/xAction/services/"+root+".json", root, "");
+		this.action.actions = actions;
+
+		Object.each(this.action.actions, function(service, key){
+			if (service.uri) if (!this[key]) this.createMethod(service, key);
+		}.bind(this));
+	},
+	uploadMindIcon: function(mindId, size, success, failure, formData, file, progress){
+		this.action.invoke({"name": "uploadMindIcon", "parameter": {"mindId": mindId, "size" : size},"data": formData,"file": file,"success": success,"failure": failure, "progress" : progress});
+	}
+});

+ 38 - 0
o2web/source/o2_core/o2/xAction/services/x_mind_assemble_control.json

@@ -0,0 +1,38 @@
+{
+  "saveFolder": { "uri": "/jaxrs/folder/save", "method": "POST" },
+  "getFolder": {"uri": "/jaxrs/folder/{id}"},
+  "removeFolder": { "uri": "/jaxrs/folder/{id}", "method": "DELETE" },
+  "removeFolderForce": { "uri": "/jaxrs/folder/{id}/force", "method": "DELETE" },
+  "listMyFolder": {"uri": "/jaxrs/folder/tree/my"},
+
+  //{sharePersons:"",shareUnits:"",shareGroups:"",folderId:"",orderField:"",orderType:DESC|ASC, 默认为DESC},
+  "listMySharedMind" : {"uri":"/jaxrs/mind/filter/shared/{id}/next/{count}","method": "PUT"},
+  //{sharePersons:"",shareUnits:"",shareGroups:""},
+  "shareMind" : {"uri":"/jaxrs/mind/share/{id}","method": "PUT"},
+  //根据分享记录ID取消对脑图的分享
+  "cancelShareMind" : {"uri":"/jaxrs/mind/share/{shareId}/cancel","method": "PUT"},
+  "listShareRecordsWithMindId" : {"uri":"/jaxrs/mind/list/{id}/shareRecords"},
+
+  "listMyRecycledMind" : {"uri":"/jaxrs/mind/filter/recycle/{id}/next/{count}","method": "PUT"},
+
+  "listMyReceivedMind" : {"uri":"/jaxrs/mind/filter/recived/{id}/next/{count}","method": "PUT"},
+
+  "saveMind" : { "uri" : "/jaxrs/mind/save" , "method": "POST" },
+  "getMind" : { "uri" : "/jaxrs/mind/view/{id}" }, //带正文
+  "getMindBaseInfor" : { "uri" : "/jaxrs/mind/{id}" }, //基本信息,不带正文
+  "deleteMind": { "uri": "/jaxrs/mind/{id}/destorymind", "method": "DELETE" },
+  "recycleMind" : {"uri":"/jaxrs/mind/recycle/{id}", "method": "DELETE" }, //放入回收站
+  "destroyFromRecycle" : {"uri":"/jaxrs/mind/{recycleId}/destoryrecycle", "method": "DELETE" }, //放入回收站
+  "restoreMind" : {"uri":"/jaxrs/mind/restore/{id}"}, //从回收站恢复
+  //{"name":"","folderId":"root","description":"","creator":"","creatorUnit":"","shared":"","orderField":"","orderType":""}
+  "listNextMindWithFilter" : {"uri":"/jaxrs/mind/filter/list/{id}/next/{count}", "method": "PUT"},
+
+  "uploadMindIcon" : {"uri":"/jaxrs/mind/{mindId}/icon/size/{size}", "method": "POST", "enctype": "formData"},
+  "getMindIcon" : {"uri":"/jaxrs/mind/{id}/icon"},
+
+  "listVersionsWithMindId" : {"uri":"/jaxrs/mind/list/{id}/version"}, //根据脑图ID获取脑图所有的版本信息
+  "viewMindVersionWithId": {"uri":"/jaxrs/mind/version/{versionid}"}, //根据历史版本信息ID获取脑图信息,包括脑图内容
+
+
+  "clazz": "x_mind_assemble_control"
+}

+ 41 - 4
o2web/source/o2_core/o2/xAction/services/x_processplatform_assemble_surface.json

@@ -6,15 +6,16 @@
 
   "listWorkNext": {"uri": "/jaxrs/work/list/{id}/next/{count}/application/{applicationId}"},
   "listWorkPrev": {"uri": "/jaxrs/work/list/{id}/prev/{count}/application/{applicationId}"},
-  "listProcess": {"uri": "/jaxrs/work/list/count/application/{applicationId}/process"},
+  "listProcessCount": {"uri": "/jaxrs/work/list/count/application/{applicationId}/process"},
   "listWorkNextManage": {"uri": "/jaxrs/work/list/{id}/next/{count}/application/{applicationId}/manage"},
   "listWorkPrevManage": {"uri": "/jaxrs/work/list/{id}/prev/{count}/application/{applicationId}/manage"},
-  "listProcessManage": {"uri": "/jaxrs/work/list/count/application/{applicationId}/process/manage"},
+  "listProcessCountManage": {"uri": "/jaxrs/work/list/count/application/{applicationId}/process/manage"},
+
 
   "listAssignments": {"uri": "/jaxrs/work/{id}/assignment/manage"},
   "listRelatives": {"uri": "/jaxrs/work/{id}/relative/manage"},
   "listWorkByJob": {"uri": "/jaxrs/job/{job}/find/work/workcompleted"},
-  "listTaskByWork": {"uri": "/jaxrs/work/{id}/assignment/manage"},
+  "listAssignmentByWork": {"uri": "/jaxrs/work/{id}/assignment/manage"},
 
   "listWorkFilter": {"uri": "/jaxrs/work/list/{id}/next/{count}/application/{applicationId}/filter", "method": "POST"},
   "listFilterAttribute": {"uri": "/jaxrs/work/filter/attribute/application/{applicationId}"},
@@ -178,6 +179,8 @@
   "getJobByWork": {"uri": "/jaxrs/work/{id}/complex"},
   "getJobByWorkMobile": {"uri": "/jaxrs/work/{id}/complex/mobile"},
 
+  "getLogWithWork":  {"uri": "/jaxrs/worklog/list/work/{workId}"},
+
 
   "getWorkData": {"uri": "/jaxrs/data/work/{id}", "method": "GET"},
   "getWorkcompletedData": {"uri": "/jaxrs/data/workcompleted/{id}", "method": "GET"},
@@ -200,6 +203,12 @@
   "getAttachmentWorkcompleted": {"uri": "/jaxrs/attachment/{id}/workCompletedId/{workCompletedId}"},
   "deleteAttachment": {"uri": "/jaxrs/attachment/{id}/work/{workid}", "method": "DELETE"},
 
+  "configAttachment": {"uri": "/jaxrs/attachment/edit/{id}/work/{workId}", "method": "PUT"},
+  "getAttachmentOCR": {"uri": "/jaxrs/attachment/{id}/work/{workId}/text"},
+  "setAttachmentOCR": {"uri": "/jaxrs/attachment/edit/{id}/work/{workId}/text", "method": "PUT"},
+
+
+
   "retractWork": {"uri": "/jaxrs/work/{id}/retract", "method": "PUT"},
   "resetWork": {"uri": "/jaxrs/task/{id}/reset", "method": "PUT"},
 
@@ -214,12 +223,14 @@
   "getView": {"uri": "/jaxrs/view/{id}"},
   //"getForm": {"uri": "/jaxrs/form/{id}"},
   "getForm": {"uri": "/jaxrs/form/{id}/application/{applicationFlag}"},
-
+  "getScript": {"uri": "/jaxrs/script/{flag}/application/{applicationFlag}"},
+gulp
 
   "sendReaderByWork" : {"uri":"/jaxrs/read/work/{workId}", "method": "POST"},
   "sendReaderByWorkCompleted" : {"uri":"/jaxrs/read/workcompleted/{workCompletedId}", "method": "POST"},
   "copyAttachmentToWork" : {"uri":"/jaxrs/attachment/copy/work/{workId}", "method":"POST"},
 
+  "listProcess": {"uri": "/jaxrs/process/list/application/{applicationFlag}"},
   "getProcess": {"uri": "/jaxrs/process/{id}/complex"},
   "getProcessByName": {"uri": "/jaxrs/process/{flag}/application/{applicationFlag}"},
 
@@ -227,6 +238,32 @@
   "listFile": {"uri": "/jaxrs/file/list/application/{applicationFlag}"},
 
   "changeSite": {"uri": "/jaxrs/attachment/{id}/work/{workId}/change/site/{site}"},
+
+  "addSplit": {"uri": "/jaxrs/work/{id}/add/split", "method": "PUT"},
+
+  "loadWork": {"uri": "/jaxrs/work/workorworkcompleted/{workOrWorkCompleted}"},
+  "getWorkLog": {"uri": "/jaxrs/worklog/list/workorworkcompleted/{workOrWorkCompleted}"},
+  "listAttachments": {"uri": "/jaxrs/attachment/list/workorworkcompleted/{workOrWorkCompleted}"},
+  "listTaskcompleted": {"uri": "/jaxrs/taskcompleted/list/workorworkcompleted/{workOrWorkCompleted}"},
+  "listReadcompleted": {"uri": "/jaxrs/readcompleted/list/workorworkcompleted/{workOrWorkCompleted}"},
+  "getWorkControl": {"uri": "/jaxrs/control/workorworkcompleted/{workOrWorkCompleted}"},
+  "getWorkForm": {"uri": "/jaxrs/form/workorworkcompleted/{workOrWorkCompleted}"},
+  "getWorkFormMobile": {"uri": "/jaxrs/form/workorworkcompleted/{workOrWorkCompleted}/mobile"},
+
+  "listTaskByJob": {"uri": "/jaxrs/task/list/job/{job}"},
+  "listTaskCompletedByJob": {"uri": "/jaxrs/taskcompleted/list/job/{job}"},
+  "listReadByJob": {"uri": "/jaxrs/task/read/job/{job}"},
+  "listReadCompletedByJob": {"uri": "/jaxrs/readcompleted/list/job/{job}"},
+
+  "listTaskByWork": {"uri": "/jaxrs/task/list/work/{work}"},
+  "listTaskCompletedByWork": {"uri": "/jaxrs/taskcompleted/list/work/{work}"},
+  "listReadByWork": {"uri": "/jaxrs/task/read/work/{work}"},
+  "listReadCompletedByWork": {"uri": "/jaxrs/readcompleted/list/work/{work}"},
+
+  "rollback": {"uri": "/jaxrs/work/{id}/rollback", "method": "PUT"},
+  "rollbackWorkcompleted": {"uri": "/jaxrs/workcompleted/{flag}/rollback", "method": "PUT"},
+
+
   "clazz": "x_processplatform_assemble_surface"
 
 }

+ 60 - 1
o2web/source/o2_core/o2/xAction/services/x_query_assemble_designer.js

@@ -89,7 +89,7 @@ MWF.xAction.RestActions.Action["x_query_assemble_designer"] = new Class({
                 statData.data = data;
             }.bind(this));
         }else{
-            this.action.invoke({"name": "addView","data": statData, "success": function(json){
+            this.action.invoke({"name": "addStat","data": statData, "success": function(json){
                 statData.isNewView = false;
                 if (success) success(json);
             },"failure": failure});
@@ -101,5 +101,64 @@ MWF.xAction.RestActions.Action["x_query_assemble_designer"] = new Class({
     },
     deleteStat: function(id, success, failure, async){
         this.action.invoke({"name": "removeStat", "async": async, "parameter": {"id": id}, "success": success, "failure": failure});
+    },
+
+    saveStatement: function( data, success, failure, async){
+        if ( data.id ){
+            this.action.invoke({"name": "updateStatement", "async": async, "parameter": { "flag" : data.id  }, "data" : data, "success": success, "failure": failure});
+        }else{
+            this.action.invoke({"name": "createStatement", "async": async, "data" : data, "success": success, "failure": failure});
+        }
+    },
+
+    saveTable: function(data, success, failure){
+        if (!data.isNewTable){
+            this.updateTable(data, success, failure);
+        }else{
+            this.addTable(data, success, failure);
+        }
+    },
+    updateTable: function(tableData, success, failure){
+        var data = Object.clone(tableData);
+        data.data = JSON.encode(tableData.data);
+        data.query = tableData.application;
+        data.queryName = tableData.applicationName;
+        this.action.invoke({"name": "updateTable", "data": data, "parameter": {"id": data.id},"success": success,"failure": failure});
+    },
+    addTable: function(tableData, success, failure){
+        var data = Object.clone(tableData);
+        data.data = JSON.encode(tableData.data);
+        data.query = tableData.application;
+        data.queryName = tableData.applicationName;
+
+        if (!data.id){
+            this.getUUID(function(id){
+                data.id = id;
+                this.action.invoke({"name": "addStat","data": data, "success": function(json){
+                    tableData.isNewTable = false;
+                    if (success) success(json);
+                },"failure": failure});
+            }.bind(this));
+        }else{
+            this.action.invoke({"name": "addStat","data": data, "success": function(json){
+                tableData.isNewTable = false;
+                if (success) success(json);
+            },"failure": failure});
+        }
+    },
+    // saveTable: function( data, success, failure, async){
+    //     if ( data.id ){
+    //         this.action.invoke({"name": "updateTable", "async": async, "parameter": { "flag" : data.id  }, "data" : data, "success": success, "failure": failure});
+    //     }else{
+    //         this.action.invoke({"name": "createTable", "async": async, "data" : data, "success": success, "failure": failure});
+    //     }
+    // },
+
+    saveRow: function(tableFlag, data, success, failure, async){
+        if ( data.id ){
+            this.action.invoke({"name": "updateRow", "async": async, "parameter": {"tableFlag": tableFlag, "id" : data.id  }, "data" : data, "success": success, "failure": failure});
+        }else{
+            this.action.invoke({"name": "insertRow", "async": async, "parameter": {"tableFlag": tableFlag  }, "data" : data, "success": success, "failure": failure});
+        }
     }
 });

+ 40 - 1
o2web/source/o2_core/o2/xAction/services/x_query_assemble_designer.json

@@ -19,7 +19,6 @@
   "removeApplication": {"uri": "/jaxrs/query/{id}","method": "DELETE"},
   "deleteApplication": {"uri": "/jaxrs/query/{id}","method": "DELETE"},
 
-
   "listSelect": {"uri": "/jaxrs/select/list/query/{id}"},
   "listView": {"uri": "/jaxrs/view/list/query/{id}"},
   "listStat": {"uri": "/jaxrs/stat/list/query/{id}"},
@@ -52,5 +51,45 @@
   "updateReveal": {"uri": "/jaxrs/reveal/{id}","method": "PUT"},
 
 
+  //NeuralAction
+  "createModel": {"uri": "/jaxrs/neural/model","method": "POST"},
+  "deleteModel": {"uri": "/jaxrs/neural/model/{modelFlag}","method": "DELETE"},
+  "getModel": {"uri": "/jaxrs/neural/model/{modelFlag}"},
+  "updateModel": {"uri": "/jaxrs/neural/model/{modelFlag}","method": "PUT"},
+  "listModel": {"uri": "/jaxrs/neural/list/model"},
+
+  "generate": {"uri": "/jaxrs/neural/generate/model/{modelFlag}"},
+  "learn": {"uri": "/jaxrs/neural/learn/model/{modelFlag}"},
+  "stopGenerating": {"uri": "/jaxrs/neural/stop/generating/model/{modelFlag}"},
+  "stopLearning": {"uri": "/jaxrs/neural/stop/learn/model/{modelFlag}"},
+  "resetStatus": {"uri": "/jaxrs/neural/model/{modelFlag}/reset/status"},
+
+  "listStatementNext" : {"uri": "/jaxrs/statement/list/{id}/next/{count}"},
+  "listStatementPrev" : {"uri": "/jaxrs/statement/list/{id}/prev/{count}"},
+  "getStatement" : { "uri": "/jaxrs/statement/{flag}" },
+  "updateStatement":{ "uri": "/jaxrs/statement/{flag}", "method": "PUT" },
+  "createStatement":{ "uri": "/jaxrs/statement", "method": "POST" },
+  "deleteStatement" : { "uri": "/jaxrs/statement/{flag}", "method": "DELETE" },
+  "executeStatement" : { "uri": "/jaxrs/statement/{flag}/execute", "method": "POST" },
+
+  "buildAllTable" : { "uri" : "/jaxrs/table/build/all" }, //编译表对象生成实体类进行数据库建表,执行后需要重新启动.
+  "listTableNext" : {"uri": "/jaxrs/table/list/{id}/next/{count}"},
+  "listTable" : {"uri": "/jaxrs/table/list/query/{id}"},
+  "listTablePrev" : {"uri": "/jaxrs/table/list/{id}/prev/{count}"},
+  "getTable" : { "uri": "/jaxrs/table/{flag}" },
+  "updateTable":{ "uri": "/jaxrs/table/{flag}", "method": "PUT" },
+  "createTable":{ "uri": "/jaxrs/table", "method": "POST" },
+  "deleteTable" : { "uri": "/jaxrs/table/{flag}", "method": "DELETE" },
+
+  "listRowNext" : { "uri" : "/jaxrs/table/list/{tableFlag}/row/{id}/next/{count}" },
+  "listRowPrev" : { "uri" : "/jaxrs/table/list/{tableFlag}/row/{id}/prev/{count}" },
+  "listRowSelectWhere" : { "uri" : "/jaxrs/table/list/{tableFlag}/row/select/where/{where}" }, //通过where 获取表中的数据,格式为jpql语法,o.name='zhangsan'
+  "getRow" : { "uri": "/jaxrs/table/{tableFlag}/row/{id}" }, //获取表中某一行数据
+  "updateRow":{ "uri": "/jaxrs/table/{tableFlag}/row/{id}", "method": "PUT" }, //更新指定表中指定行数据.
+  "insertRow":{ "uri": "/jaxrs/table/{tableFlag}/row", "method": "POST" },//插入一行
+  "countRowWhere" : { "uri": "/jaxrs/table/{tableFlag}/row/count/where/{where}"},//通过where 统计数量
+  "deleteRow" : { "uri": "/jaxrs/table/{tableFlag}/row/{id}", "method": "DELETE" }, //更新指定表中指定行数据.
+  "deleteAllRow" : { "uri": "/jaxrs/table/{tableFlag}/row/delete/all", "method": "DELETE"}, //通过where 统计数量
+
   "clazz": "x_query_assemble_designer"
 }

+ 10 - 0
o2web/source/o2_core/o2/xAction/services/x_query_assemble_surface.js

@@ -0,0 +1,10 @@
+MWF.xAction.RestActions.Action["x_query_assemble_surface"] = new Class({
+    Extends: MWF.xAction.RestActions.Action,
+    saveRow: function(tableFlag, data, success, failure, async){
+        if ( data.id ){
+            this.action.invoke({"name": "updateRow", "async": async, "parameter": {"tableFlag": tableFlag, "id" : data.id  }, "data" : data, "success": success, "failure": failure});
+        }else{
+            this.action.invoke({"name": "insertRow", "async": async, "parameter": {"tableFlag": tableFlag  }, "data" : data, "success": success, "failure": failure});
+        }
+    }
+});

+ 699 - 0
o2web/source/o2_core/o2/xDesktop/$Layout/newyear/css.wcss

@@ -0,0 +1,699 @@
+{
+    "desktop": {
+        "background": "url("+MWF.defaultPath+"/xDesktop/$Layout/newyear/desktop.jpg)",
+        "background-position-x": "center"
+    },
+	"layoutNode": {
+		"height": "100%",
+		"-webkit-user-select": "none",
+		"-moz-user-select": "none",
+		"-moz-background-size": "cover",
+		"-webkit-background-size": "cover",
+		"-o-background-size": "cover",
+		"background-size": "cover",
+		"background-image": "url("+MWF.defaultPath+"/xDesktop/$Layout/newyear/desktop.jpg)"
+	},
+	layoutTopShimNode: {
+        "height": "42px",
+        "background-color": "#000000",
+        "border-bottom": "1px solid #999",
+        "border-top": "1px solid #999",
+        "opacity": 0.6
+    },
+    "layoutTopNode": {
+        "height": "42px",
+        "position": "absolute",
+        "width": "100%",
+        "top": "0px",
+        "left": "0px"
+    },
+	"desktopNode": {
+		"overflow": "hidden",
+		"-webkit-user-select": "none",
+		"-moz-user-select": "none"
+	},
+	"contentNode": {
+		"overflow": "hidden"
+	},
+	"naviNode": {
+		"height": "100px",
+		"overflow": "hidden",
+		"text-align": "center"
+	},
+	"loadMenuAction": {
+		"width": "32px",
+		"height": "32px",
+		"background": "url("+MWF.defaultPath+"/xDesktop/$Layout/newyear/top/menu.png) no-repeat center center",
+		"margin": "5px",
+		"cursor": "pointer",
+		"float": "left"
+	},
+	"showDesktopAction": {
+	    "float": "right",
+	    "width": "8px",
+	    "height": "42px",
+	    "background": "transparent",
+	    "background": "#999999",
+	    "cursor": "pointer"
+	},
+	"showDesktopAction_over": {
+        "background": "#646464"
+    },
+	"configActionNode": {
+		"width": "40px",
+		"height": "40px",
+		"background": "url("+MWF.defaultPath+"/xDesktop/$Layout/newyear/top/config.png) no-repeat center center",
+		"margin": "5px",
+		"cursor": "pointer",
+		"float": "left"
+	},
+	"separateNode": {
+		"float": "left",
+		"height": "32px",
+		"width": "1px",
+		"margin": "5px",
+		"border-right": "1px solid #EEE",
+		"background-color": "#999"
+	},
+	"taskbar": {
+		"margin-left": "65px",
+		"margin-right": "323px",
+		"color": "#666666",
+		"height": "42px"
+	},
+	"userChatNode": {
+		"width": "40px",
+		"height": "42px",
+		"background": "url("+MWF.defaultPath+"/xDesktop/$Layout/newyear/top/user.png) no-repeat center center",
+		"margin": "0px",
+		"cursor": "pointer",
+		"float": "right"
+	},
+	"userChatNode_over": {
+	    "background": "url("+MWF.defaultPath+"/xDesktop/$Layout/newyear/top/user_over.png) no-repeat center center"
+	},
+	"styleActionNode": {
+		"width": "40px",
+		"height": "42px",
+		"background": "url("+MWF.defaultPath+"/xDesktop/$Layout/newyear/top/style.png) no-repeat center center",
+		"margin": "0px",
+		"cursor": "pointer",
+		"float": "right"
+	},
+	"styleActionNode_over": {
+	    "background": "url("+MWF.defaultPath+"/xDesktop/$Layout/newyear/top/style_over.png) no-repeat center center"
+
+	},
+	"userMenuNode": {
+		"width": "40px",
+		"height": "42px",
+		"background": "url("+MWF.defaultPath+"/xDesktop/$Layout/newyear/top/usermenu.png) no-repeat center center",
+		"margin": "0px",
+		"cursor": "pointer",
+		"float": "right"
+	},
+	"userMenuNode_over": {
+	    "background": "url("+MWF.defaultPath+"/xDesktop/$Layout/newyear/top/usermenu_over.png) no-repeat center center"
+	},
+
+	"messageActionNode": {
+		"width": "40px",
+		"height": "42px",
+		"background": "url("+MWF.defaultPath+"/xDesktop/$Layout/newyear/top/message.png) no-repeat center center",
+		"margin": "0px",
+		"cursor": "pointer",
+		"float": "right",
+		"-webkit-user-select": "none",
+		"-moz-user-select": "none"
+	},
+	"messageActionNode_over": {
+	    "background": "url("+MWF.defaultPath+"/xDesktop/$Layout/newyear/top/message_over.png) no-repeat center center"
+	},
+
+	"clockNode": {
+		"width": "70px",
+		"height": "24px",
+		"line-height": "16px",
+		"font-family": "微软雅黑",
+		"font-size": "12px",
+		"float": "right",
+		"text-align": "center",
+		"color": "#eeeeee",
+		"margin": "6px"
+	},
+	"naviNodeBottomArea": {
+		"width": "580px",
+		"height": "80px",
+		"margin": "10px auto",
+		"background-color": "#000",
+		"opacity": 0.3,
+		"border-radius": "8px",
+		"box-shadow": "0px 0px 10px #FFF", 
+		"border": "1px solid #EEE"
+	},
+	"naviNodeArea": {
+		"width": "560px",
+		"height": "80px",
+		"padding": "0px 10px",
+		"margin": "0px auto",
+		"border-radius": "8px",
+		"position": "relative",
+		"top": "-90px" 
+	},
+	"naviEditButton":{
+	    "height": "20px",
+	    "width": "26px",
+	    "position": "absolute",
+	    "left": "0px",
+	    "background": "url("+MWF.defaultPath+"/xDesktop/$Layout/newyear/navi/edit.png) center center no-repeat",
+	    "cursor": "pointer",
+	    "opacity": 0
+	},
+	"mainNaviNode": {
+		"width": "100px",
+		"height": "70px",
+		"margin": "5px 20px",
+		"cursor": "pointer",
+		"text-align": "center",
+		"border-radius": "3px",
+		"opacity": 1,
+		"float": "left"
+	},
+	"mainNaviIconNode": {
+		"width": "40px",
+		"height": "40px",
+		"background-repeat": "no-repeat",
+		"margin": "5px auto 0px auto"
+	},
+	"mainNaviTextNode": {
+		"height": "20px",
+		"line-height": "20px",
+		"font-family": "微软雅黑",
+		"color": "#FFFFFF"
+	},
+	"taskItemNode": {
+		"border-top": "1px solid #999",
+		"border-radius": "0px",
+		//"box-shadow": "0px 0px 0px #999",
+		"height": "41px",
+		"margin-top": "0px",
+		"margin-left": "0px",
+		"color": "#eeeeee",
+        "background": "transparent",
+		"float": "left",
+		"cursor": "pointer",
+		"padding": "0px 5px",
+		"opacity": 0.8
+	},
+	"taskItemNode_over": {
+		"background": "#333333"
+	},
+	"taskItemNode_down": {
+		//"background": "url("+MWF.defaultPath+"/xDesktop/$Layout/newyear/taskbar/taskbg_down.png)",
+		//"box-shadow": "0px 0px 10px #999",
+		//"border": "1px solid #deefff"
+	},
+	"taskItemNode_current": {
+		"color": "#333333",
+		"background": "#FFFFFF",
+		"box-shadow": "0px 0px 0px #999"
+	},
+	"taskItemIconNode": {
+		"width": "28px",
+		"height": "42px",
+		"margin": "0px 0px",
+		"float": "left",
+		"background-repeat": "no-repeat",
+		"background-position": "center center"
+	},
+	"taskItemCloseNode": {
+        "width": "16px",
+        "height": "42px",
+        "margin": "0px",
+        "float": "right",
+        "opacity": 0,
+        "background-repeat": "no-repeat",
+        "background-position": "center center",
+        "background-image": "url("+MWF.defaultPath+"/xDesktop/$Layout/newyear/taskbar/close1.png)"
+    },
+    "taskItemCloseNode_current": {
+        "width": "16px",
+        "height": "42px",
+        "margin": "0px",
+        "float": "right",
+        "opacity": 1,
+        "background-repeat": "no-repeat",
+        "background-position": "center center",
+        "background-image": "url("+MWF.defaultPath+"/xDesktop/$Layout/newyear/taskbar/close.png)"
+    },
+	"taskItemTextNode": {
+		"font-family": "微软雅黑",
+		"font-size": "14px",
+		"height": "40px",
+		"overflow": "hidden",
+		"padding": "0px 3px",
+		"line-height": "42px",
+		"white-space": "nowrap",
+		"text-overflow": "ellipsis",
+		"word-break": "keep-all"
+	},
+	
+	"dsektopLnkArea": {
+		"width": "120px",
+		"height": "100%",
+		"overflow": "hidden",
+		"margin-left": "0px",
+		"float": "left"
+	},
+	"dsektopLnkArea_current": {
+		"width": "auto",
+		"height": "100%",
+		"overflow": "hidden",
+		"float": "none"
+	},
+	
+	"lnkMoveNode": {
+		"padding": "10px",
+		"background-color": "#eaf6fc",
+		"border": "2px solid #4e99be",
+		"box-shadow": "0px 0px 10px #000", 
+		"border-radius": "4px",
+		"opacity": 0.6,
+		"position": "absolute"
+	},
+	"dsektoplnkMarkNode": {
+		"width": "80px",
+		"height": "1px",
+		"margin": "0px 20px",
+		"background-color": "#FFF",
+		"position": "absolute",
+		"border": "1px solid #FFF"
+	},
+	"desktopLnkNode": {
+		"width": "80px",
+		"height": "110px",
+		"overflow": "hidden",
+		"margin": "20px 20px",
+		"text-align": "center",
+		"border": "0px solid red",
+		"background": "transparent ",
+		"border-radius": "0px",
+		"cursor": "pointer"
+	},
+	"desktopLnkNode_current": {
+		"width": "80px",
+		"height": "110px",
+		"overflow": "hidden",
+		"margin": "20px 20px",
+		"text-align": "center",
+		"border": "0px solid red",
+		"background-color": "#7c96a6",
+		"border-radius": "4px",
+		"cursor": "pointer"
+	},
+	"desktopLnkIconNode": {
+		"background-repeat": "no-repeat",
+		"background-position": "center center",
+		"width": "80px",
+		"height": "80px",
+		"margin": "auto"
+	},
+	"desktopLnkTitleNode": {
+		"width": "80px",
+		"height": "30px",
+		"line-height": "15px",
+		"font-family": "微软雅黑",
+		"font-size": "14px",
+		"color": "#FFF",
+		"text-shadow" : "1px 1px 1px #000",
+		"overflow": "hidden"
+	},
+	"applicationMenuAreaMark": {
+		"width": "100%",
+		"height": "100%",
+		"opacity": 0,
+		"background-color": "#000",
+		"position": "absolute",
+		"top": "0px",
+		"left": "0px",
+		"overflow": "hidden"
+	},
+	"applicationMenuArea": {
+		"width": "100%",
+		"height": "100%",
+		"position": "absolute",
+		"top": "0px",
+		"left": "0px",
+		"opacity": 0,
+		"overflow": "hidden"
+	},
+	"applicationMenuLeftAction": {
+        "width": "10%",
+        "min-width": "64px",
+        "height": "100%",
+        "float": "left",
+        "cursor": "pointer",
+        "background": "url("+MWF.defaultPath+"/xDesktop/$Layout/newyear/menu/left.png) no-repeat center center"
+	},
+	"applicationMenuRightAction": {
+        "width": "10%",
+        "min-width": "64px",
+        "height": "100%",
+        "float": "right",
+        "cursor": "pointer",
+        "background": "url("+MWF.defaultPath+"/xDesktop/$Layout/newyear/menu/right.png) no-repeat center center"
+	},
+	"applicationMenuScrollArea": {
+	    "height": "100%",
+	    "margin-left": "10%",
+	    "margin-right": "10%",
+	    "overflow": "hidden"
+	},
+    "applicationMenuContentArea": {
+        "width": "300%",
+        "height": "100%",
+        "overflow": "hidden"
+    },
+
+    "applicationMemuAppContent": {
+        "width": "100%",
+        "height": "100%",
+        "float": "left"
+    },
+    "applicationMenuAppTitleArea": {
+        "margin-top": "40px",
+        "width": "100%",
+        "text-align": "center",
+        "height": "60px",
+        "line-height": "60px",
+        "font-size": "24px",
+        "font-weight": "bold",
+        "color": "#FFF"
+    },
+    "applicationMenuAppIconScrollArea": {
+        "margin-bottom": "80px",
+        "margin-top": "10px",
+        "overflow": "hidden"
+    },
+    "applicationMenuAppIconArea": {
+        "margin-left": "10px",
+        "overflow": "hidden"
+    },
+
+    "applicationMemuWidgetContent": {
+        "width": "100%",
+        "height": "100%",
+        "float": "left"
+    },
+    "applicationMenuWidgetTitleArea": {
+        "margin-top": "40px",
+        "text-align": "center",
+        "height": "60px",
+        "line-height": "60px",
+        "font-size": "24px",
+        "font-weight": "bold",
+        "color": "#FFF"
+    },
+    "applicationMenuWidgetScrollArea": {
+        "margin-bottom": "80px",
+        "margin-top": "10px",
+        "overflow": "hidden"
+    },
+	"applicationMenuWidgetArea": {
+	    "margin-left": "10px",
+	    "overflow": "hidden"
+	},
+
+	"applicationMemuProcessContent": {
+        "width": "100%",
+        "height": "100%",
+        "float": "left"
+    },
+    "applicationMenuProcessTitleArea": {
+        "margin-top": "40px",
+        "text-align": "center",
+        "height": "60px",
+        "line-height": "60px",
+        "font-size": "24px",
+        "font-weight": "bold",
+        "color": "#FFF"
+    },
+    "applicationMenuProcessScrollArea": {
+        "margin-bottom": "80px",
+        "margin-top": "10px",
+        "overflow": "hidden"
+    },
+    "applicationMenuProcessArea": {
+        "margin-left": "10px",
+        "overflow": "hidden"
+    },
+
+	"applicationMenuNode": {
+		"float": "left",
+		"margin": "10px",
+		"width": "100px",
+		"height": "120px",
+		"text-align": "center",
+		"cursor": "pointer"
+	},
+	"applicationMenuIconNode": {
+		"width": "100px",
+		"height": "80px",
+		"background-repeat": "no-repeat",
+		"background-position": "center center"
+	},
+	"applicationMenuSearchBar": {
+	    "height": "120px",
+	    "width": "100%",
+	    "top": "0px",
+	    "left": "0px",
+	    "position": "absolute"
+	},
+	"applicationMenuSearchBarBox": {
+	    "height": "40px",
+	    "width": "80%",
+	    "margin": "40px auto",
+	    "border": "1px solid #CCCCCC",
+	    "background-color": "#EEEEEE",
+	    "color": "#666666",
+	    "border-radius": "8px"
+	},
+	"applicationMenuSearchBarClose": {
+	    "width": "40px",
+	    "height": "40px",
+	    "float": "right",
+	    "background": "url("+MWF.defaultPath+"/xDesktop/$Layout/newyear/top/close.png) no-repeat center center",
+	    "cursor": "pointer"
+	},
+	applicationMenuSearchBarInputBox: {
+	    "height": "40px",
+	    "margin-right": "40px"
+	},
+	"applicationMenuSearchBarInput": {
+	    "border": "0px solid #000000",
+	    "height": "38px",
+	    "width": "99%",
+	    "background": "transparent",
+	    "line-height": "38px",
+	    "display": "block",
+	    "margin": "auto",
+	    "border-radius": "8px",
+	    "font-size": "18px"
+	},
+	"widgetMenuNode": {
+        "float": "left",
+        "margin": "10px",
+        "width": "150px",
+        "height": "140px",
+        "text-align": "center",
+        "cursor": "pointer"
+    },
+    "widgetMenuIconNode": {
+        "width": "150px",
+        "height": "100px",
+        "background-repeat": "no-repeat",
+        "background-position": "top left"
+    },
+	"applicationMenuTextNode": {
+		"height": "40px",
+		"line-height": "20px",
+		"font-family": "微软雅黑",
+		"font-size": "14px",
+		"color": "#FFF"
+	},
+	"messageContainerMaskNode": {
+		"width": "360px",
+		"background-color": "#FFF",
+		"position": "absolute",
+		"z-index": 20,
+		"opacity": 1,
+		"display": "none"
+	},
+	"messageContainerNode": {
+		"width": "360px",
+		"position": "absolute",
+		"overflow": "hidden",
+		"display": "none",
+		"border-left": "1px solid #999",
+		"z-index": 20
+		
+	},
+	"messageContainersScrollNode":{
+		"overflow": "hidden",
+		"margin-right": "12px"
+	},
+	"messageContainerContentNode": {
+		"padding": "5px",
+		"overflow": "hidden"
+	},
+	"messageUnreadCountNode": {
+		"width": "40px",
+		"height": "20px",
+		"padding-top": "32px",
+		"background": "#CC3D3D",
+		"color": "#FFF",
+		"text-align": "center",
+		"font-size": "12px",
+		"line-height": "20px",
+		//"border-radius": "10px",
+		"position": "relative",
+		"z-index": 1000000,
+		//"top": "-3px",
+		//"left": "25px",
+		"background": "url("+MWF.defaultPath+"/xDesktop/$Layout/newyear/top/message_red.png) no-repeat",
+		"-webkit-user-select": "none",
+		"-moz-user-select": "none"
+	},
+	"messageItemNode": {
+		"padding": "5px",
+		"overflow": "hidden",
+		"border-bottom": "1px solid #CCC",
+		"background": "transparent",
+		"cursor": "default"
+	},
+	"messageItemTopNode": {
+		"height": "30px",
+		"line-height": "30px",
+		"font-size": "16px",
+		"color": "#4387cd"
+	},
+	"messageItemCloseNode": {
+		"height": "30px",
+		"width": "16px",
+		"float": "right",
+		"cursor": "pointer",
+		"background": "url("+MWF.defaultPath+"/xDesktop/$Layout/newyear/message/close.png) no-repeat center center"
+	},
+	"messageItemSubjectNode": {
+		"height": "30px",
+		"margin-right": "18px"
+	},
+	"messageItemContentNode": {
+		"overflow": "hidden",
+		"color": "#333",
+		"font-size": "12px",
+		"line-height": "20px",
+		"word-break": "break-all"
+	},
+	"messageItemBottomNode": {
+		"height": "24px",
+		"font-size": "12px",
+		"line-height": "24px"
+	},
+	"messageItemDateNode": {
+		"width": "120px",
+		"color": "#666",
+		"float": "left"
+	},
+	"messageItemActionsNode": {
+		"margin-left": "130px"
+	},
+	"messageTooltipAreaNode": {
+        "position": "absolute",
+        "width": "310px",
+        "overflow": "hidden",
+        "z-index": 500000
+    },
+	"messageTooltipNode": {
+	    "margin": "10px 10px 0px 0px",
+	    "box-shadow": "0px 0px 10px #333",
+	    "width": "300px",
+	    "padding": "5px",
+        "overflow": "hidden",
+        "border": "1px solid #CCC",
+        "background": "#FFF",
+        "cursor": "default"
+	},
+
+	"messageContainersOperationNode": {
+        "height": "40px",
+        "overflow": "hidden"
+    },
+    "messageContainersClearActionNode": {
+        "height": "24px",
+        "line-height": "24px",
+        "width": "120px",
+        "margin": "4px auto 12px auto",
+        "border": "1px solid #999",
+        "text-align": "center",
+        "border-radius": "3px",
+        "box-shadow": "1px 1px 3px #666",
+        "cursor": "pointer",
+        "background-color": "#FFF",
+        "color": "#666"
+    },
+    "messageContainersClearActionNode_over": {
+        "border": "1px solid #333",
+        "background-color": "#666",
+        "box-shadow": "1px 1px 3px #666",
+        "color": "#FFF"
+    },
+    "messageContainersClearActionNode_down": {
+        "border": "1px solid #333",
+        "background-color": "#666",
+        "box-shadow": "0px 0px 0px #333",
+        "color": "#FFF"
+    },
+
+	"widgetNode": {
+        "border": "0px solid #EEE",
+        "background-color": "#292c31",
+        "position": "absolute"
+	},
+	"widgetTitleNode": {
+        "height": "36px",
+        "line-height": "36px",
+        "border-bottom": "1px solid #555",
+        "margin": "0px"
+	},
+	"widgetContentScrollNode": {
+	    "margin": "8px",
+	    "overflow": "hidden"
+	},
+	"widgetContentNode": {
+        "overflow": "hidden"
+	},
+	"widgetTitleOpenNode": {
+        "height": "36px",
+        "width": "36px",
+        "float": "left",
+        "cursor": "pointer",
+        "background": "url("+MWF.defaultPath+"/xDesktop/$Layout/newyear/widget/open1.png) no-repeat center center"
+	},
+	"widgetTitleCloseNode": {
+        "height": "36px",
+        "width": "36px",
+        "float": "right",
+        "cursor": "pointer",
+        "background": "url("+MWF.defaultPath+"/xDesktop/$Layout/newyear/widget/close2.png) no-repeat center center"
+	},
+	"widgetTitleTextNode": {
+        "height": "36px",
+        "font-size": "16px",
+        "font-weight": "bold",
+        "text-align": "center",
+        "color": "#cccccc",
+        "cursor": "default",
+        "margin": "0px 36px 0px 36px"
+	}
+}

BIN
o2web/source/o2_core/o2/xDesktop/$Layout/newyear/desktop.jpg


BIN
o2web/source/o2_core/o2/xDesktop/$Layout/newyear/login/pass.png


BIN
o2web/source/o2_core/o2/xDesktop/$Layout/newyear/login/user.png


BIN
o2web/source/o2_core/o2/xDesktop/$Layout/newyear/menu/deploy.png


BIN
o2web/source/o2_core/o2/xDesktop/$Layout/newyear/menu/find.png


BIN
o2web/source/o2_core/o2/xDesktop/$Layout/newyear/menu/left.png


BIN
o2web/source/o2_core/o2/xDesktop/$Layout/newyear/menu/monitor.png


BIN
o2web/source/o2_core/o2/xDesktop/$Layout/newyear/menu/org.png


BIN
o2web/source/o2_core/o2/xDesktop/$Layout/newyear/menu/process.png


BIN
o2web/source/o2_core/o2/xDesktop/$Layout/newyear/menu/process_data.png


BIN
o2web/source/o2_core/o2/xDesktop/$Layout/newyear/menu/process_flow.png


BIN
o2web/source/o2_core/o2/xDesktop/$Layout/newyear/menu/process_form.png


BIN
o2web/source/o2_core/o2/xDesktop/$Layout/newyear/menu/process_plugin.png


BIN
o2web/source/o2_core/o2/xDesktop/$Layout/newyear/menu/process_rule.png


BIN
o2web/source/o2_core/o2/xDesktop/$Layout/newyear/menu/right.png


BIN
o2web/source/o2_core/o2/xDesktop/$Layout/newyear/message/close.png


BIN
o2web/source/o2_core/o2/xDesktop/$Layout/newyear/navi/cms.png


BIN
o2web/source/o2_core/o2/xDesktop/$Layout/newyear/navi/cms_over.png


BIN
o2web/source/o2_core/o2/xDesktop/$Layout/newyear/navi/deploy.png


BIN
o2web/source/o2_core/o2/xDesktop/$Layout/newyear/navi/deploy_over.png


BIN
o2web/source/o2_core/o2/xDesktop/$Layout/newyear/navi/edit.png


BIN
o2web/source/o2_core/o2/xDesktop/$Layout/newyear/navi/file.png


BIN
o2web/source/o2_core/o2/xDesktop/$Layout/newyear/navi/file_over.png


BIN
o2web/source/o2_core/o2/xDesktop/$Layout/newyear/navi/mail.png


BIN
o2web/source/o2_core/o2/xDesktop/$Layout/newyear/navi/mail_over.png


BIN
o2web/source/o2_core/o2/xDesktop/$Layout/newyear/navi/monitor.png


BIN
o2web/source/o2_core/o2/xDesktop/$Layout/newyear/navi/monitor_over.png


BIN
o2web/source/o2_core/o2/xDesktop/$Layout/newyear/navi/note.png


BIN
o2web/source/o2_core/o2/xDesktop/$Layout/newyear/navi/note_over.png


BIN
o2web/source/o2_core/o2/xDesktop/$Layout/newyear/navi/notes_over.png


BIN
o2web/source/o2_core/o2/xDesktop/$Layout/newyear/navi/okr.png


BIN
o2web/source/o2_core/o2/xDesktop/$Layout/newyear/navi/okr_over.png


BIN
o2web/source/o2_core/o2/xDesktop/$Layout/newyear/navi/org.png


BIN
o2web/source/o2_core/o2/xDesktop/$Layout/newyear/navi/org_over.png


BIN
o2web/source/o2_core/o2/xDesktop/$Layout/newyear/navi/process.png


BIN
o2web/source/o2_core/o2/xDesktop/$Layout/newyear/navi/process_over.png


BIN
o2web/source/o2_core/o2/xDesktop/$Layout/newyear/navi/profile.png


BIN
o2web/source/o2_core/o2/xDesktop/$Layout/newyear/navi/profile_over.png


BIN
o2web/source/o2_core/o2/xDesktop/$Layout/newyear/navi/task.png


BIN
o2web/source/o2_core/o2/xDesktop/$Layout/newyear/navi/task_over.png


BIN
o2web/source/o2_core/o2/xDesktop/$Layout/newyear/preview.jpg


BIN
o2web/source/o2_core/o2/xDesktop/$Layout/newyear/preview_gray.jpg


BIN
o2web/source/o2_core/o2/xDesktop/$Layout/newyear/sound/message.mp3


BIN
o2web/source/o2_core/o2/xDesktop/$Layout/newyear/sound/message.wav


BIN
o2web/source/o2_core/o2/xDesktop/$Layout/newyear/taskbar/close.png


BIN
o2web/source/o2_core/o2/xDesktop/$Layout/newyear/taskbar/close1.png


BIN
o2web/source/o2_core/o2/xDesktop/$Layout/newyear/top/close.png


BIN
o2web/source/o2_core/o2/xDesktop/$Layout/newyear/top/config.png


BIN
o2web/source/o2_core/o2/xDesktop/$Layout/newyear/top/desktop.png


BIN
o2web/source/o2_core/o2/xDesktop/$Layout/newyear/top/menu.png


BIN
o2web/source/o2_core/o2/xDesktop/$Layout/newyear/top/menu1.png


BIN
o2web/source/o2_core/o2/xDesktop/$Layout/newyear/top/message.png


BIN
o2web/source/o2_core/o2/xDesktop/$Layout/newyear/top/message_over.png


BIN
o2web/source/o2_core/o2/xDesktop/$Layout/newyear/top/message_red.png


BIN
o2web/source/o2_core/o2/xDesktop/$Layout/newyear/top/style.png


BIN
o2web/source/o2_core/o2/xDesktop/$Layout/newyear/top/style_over.png


BIN
o2web/source/o2_core/o2/xDesktop/$Layout/newyear/top/user.png


BIN
o2web/source/o2_core/o2/xDesktop/$Layout/newyear/top/user_over.png


BIN
o2web/source/o2_core/o2/xDesktop/$Layout/newyear/top/usermenu.png


BIN
o2web/source/o2_core/o2/xDesktop/$Layout/newyear/top/usermenu_over.png


BIN
o2web/source/o2_core/o2/xDesktop/$Layout/newyear/usermenu/config.png


BIN
o2web/source/o2_core/o2/xDesktop/$Layout/newyear/usermenu/logout.png


BIN
o2web/source/o2_core/o2/xDesktop/$Layout/newyear/widget/close.png


BIN
o2web/source/o2_core/o2/xDesktop/$Layout/newyear/widget/close1.png


BIN
o2web/source/o2_core/o2/xDesktop/$Layout/newyear/widget/close2.png


BIN
o2web/source/o2_core/o2/xDesktop/$Layout/newyear/widget/open.png


BIN
o2web/source/o2_core/o2/xDesktop/$Layout/newyear/widget/open1.png


BIN
o2web/source/o2_core/o2/xDesktop/$Layout/preview.jpg


BIN
o2web/source/o2_core/o2/xDesktop/$Layout/preview_gray.jpg


+ 259 - 0
o2web/source/o2_core/o2/xDesktop/$Window/desktop_newyear/css.wcss

@@ -0,0 +1,259 @@
+{
+	"from": {
+		"width": "1px",
+		"height": "1px",
+		"position": "absolute",
+		"top": $(document.body).getSize().y/2,
+		"left": $(document.body).getSize().x/2,
+		"border-style": "solid",
+		"border-color": "#999",
+		"border-width": "1px",
+		"-webkit-user-select": "none",
+		"-moz-user-select": "none",
+		"border-radius": "8px",
+		"box-shadow": "0px 0px 10px #333", 
+		
+		"padding": "0px",
+		"overflow": "hidden",
+	
+		"opacity": 0
+		
+	},
+	"to": {
+		"border-style": "solid",
+		"border-color": "#999",
+		"border-width": "1px",
+		"box-shadow": "0px 0px 10px #333",
+		"-webkit-user-select": "none",
+		"-moz-user-select": "none",
+		"border-radius": "8px",
+		"font-size": "12px",
+		"height": "60",
+		"padding": "0px",
+		"width": "300",
+		"position": "absolute",
+		"top": "0",
+		"left": "0",
+		"overflow": "hidden",
+		"opacity": 1
+	},
+	"current": {
+	},
+	"uncurrent": {
+	},
+	"spacerFrom": {
+		"-webkit-user-select": "none",
+		"-moz-user-select": "none",
+		"width": "1px",
+		"height": "1px",
+		"position": "absolute",
+		"opacity": 0,
+		"padding": "0px",
+		"border-radius": "8px",
+		"background-color": "#333333"
+        //"background-image": "url("+MWF.defaultPath+"/xDesktop/$Window/desktop_newyear/img/window.jpg)"
+	},
+	"spacerTo": {
+		"-webkit-user-select": "none",
+		"-moz-user-select": "none",
+		"position": "absolute",
+		"opacity": 0.9,
+		"border-radius": "8px",
+		"padding": "0px",
+		"background-color": "#333333"
+        //"background-image": "url("+MWF.defaultPath+"/xDesktop/$Window/desktop_newyear/img/window.jpg)"
+	},
+	"spacerCurrent":{
+		"background-color": "#333333"
+        //"background-image": "url("+MWF.defaultPath+"/xDesktop/$Window/desktop_newyear/img/window.jpg)"
+	},
+	"spacerUncurrent":{
+		"background-image": "",
+		"background-color": "#AAA"
+	},
+	"content": {
+		"position": "relative",
+		"overflow": "hidden"
+	},
+	"mark": {
+		"height": "0",
+		"width": "0",
+		"opacity": 0.3,
+		"position": "absolute",
+		"top": "0px",
+		"left": "0px",
+		"border-style": "none",
+		"border-width": "0",
+		"background-color": "#CCC"
+	},
+	"button": {
+		"border": "1px solid #999",
+		"color": "#333",
+		"margin": "0px 5px"
+	},
+	"titleAction": {
+        "cursor": "default"
+	},
+	"titleRefresh": {
+	    "width": "20px",
+    	"height": "16px",
+    	"margin-top": "12px",
+    	"margin-right": "4px",
+        "background-image": "url("+MWF.defaultPath+"/xDesktop/$Window/desktop_o2/img/refresh.png)",
+		"background-position": "center 0px",
+		"background-repeat": "no-repeat"
+	},
+	"closeActionNode": {
+		"float": "right",
+		"width": "20px",
+		"height": "16px",
+		"margin-top": "10px",
+		"margin-right": "4px",
+		"background-image": "url("+MWF.defaultPath+"/xDesktop/$Window/desktop_o2/img/close.png)",
+		"background-position": "center 0px",
+
+		//"background-color": "#fff",
+
+		"background-repeat": "no-repeat"
+	},
+	"maxActionNode": {
+		"float": "right",
+		"width": "20px",
+		"height": "16px",
+		"margin-top": "10px",
+		"margin-right": "4px",
+		"background-image": "url("+MWF.defaultPath+"/xDesktop/$Window/desktop_o2/img/max.png)",
+		"background-position": "center 0px",
+
+		//"background-color": "#fff",
+		"background-repeat": "no-repeat"
+	},
+	"restoreActionNode": {
+		"background-image": "url("+MWF.defaultPath+"/xDesktop/$Window/desktop_o2/img/restore.png)"
+	},
+	"minActionNode": {
+		"float": "right",
+		"width": "20px",
+		"height": "16px",
+		"margin-top": "10px",
+		"margin-right": "4px",
+		"background-image": "url("+MWF.defaultPath+"/xDesktop/$Window/desktop_o2/img/min.png)",
+		"background-position": "center 0px",
+		//"background-color": "#fff",
+		"background-repeat": "no-repeat"
+	},
+	"titleActionOver": {
+		"background-position": "center -16px"
+	},
+	"titleActionOut": {
+		"background-position": "center 0px"
+	},
+	"titleActionDown": {
+		"background-position": "center -32px"
+	},
+
+	"windowNodeMax": {
+		"box-shadow": "0px 0px 0px #333",
+		"border-radius": "0px"
+	},
+
+	"windowTitleMax": {
+        "height": "20px",
+        "border-bottom": "1px solid #999",
+        "overflow": "hidden",
+        "line-height": "20px",
+        "font-size": "12px",
+        "background-color": "#e6e6e6"
+	},
+	"windowTitleRefreshMax": {
+	    "width": "20px",
+        "height": "16px",
+        "margin-top": "2px",
+        "margin-right": "4px",
+        "background-image": "url("+MWF.defaultPath+"/xDesktop/$Window/desktop_o2/img/refresh_max.png)",
+        "background-position": "center 0px"
+	},
+	"windowTitleTextMax": {
+	    "height": "20px",
+	    "float": "left",
+	    "cursor": "default",
+        "display": "none"
+	},
+	"windowTitleActionMax": {
+	    "height": "20px"
+	},
+    "windowActionNodeMax": {
+        "margin-top": "2px"
+    },
+    "windowTitleRestore": {
+        "height": "40px",
+        "border-bottom": "0px solid #999",
+        "overflow": "hidden",
+        "line-height": "40px",
+        "font-size": "14px",
+        "background-color": "transparent",
+        "color": "#FFF"
+    },
+    "windowTitleTextRestore": {
+        "height": "40px",
+        "display": "block"
+    },
+    "windowTitleActionRestore": {
+        "height": "40px"
+    },
+    "windowNodeRestore": {
+        "box-shadow": "0px 0px 10px #333",
+        "border-radius": "8px"
+    },
+
+    "MWF_dialod_title": {
+        "height":"40px",
+        "font-size":"14px",
+        "line-height":"40px",
+        "font-weight": "400",
+        "color": "#FFF"
+    },
+    "MWF_dialod_title_refresh": {
+        "height": "26px",
+        "margin-top": "14px",
+        "width": "40px",
+        "float": "left",
+        "margin-left": "10px"
+    },
+    "MWF_dialod_title_text": {
+        "height": "40px",
+        "float": "left",
+        "cursor": "default"
+    },
+    "MWF_dialod_title_action": {
+        "height": "40px",
+        "float": "right"
+    },
+    "MWF_dialod_under": {
+        "overflow": "hidden",
+        "background-color": "#EEEEEE"
+    },
+    "MWF_dialod_content": {
+        "margin": "0px",
+        "margin-bottom": "0px",
+        "background-color": "#EEEEEE",
+        "overflow": "auto",
+        "text-align": "left",
+        "padding": "0px"
+    },
+    "MWF_dialod_bottom": {
+        "height": "0px",
+        "width": "10px",
+        "background-color": "#EEEEEE",
+        "float": "right"
+    },
+    "MWF_dialod_bottom_resize": {
+        "cursor": "nw-resize",
+        "height": "10px",
+        "width": "10px",
+        "float": "right",
+        "position": "relative",
+        "top": "-10px"
+    }
+
+}

+ 14 - 0
o2web/source/o2_core/o2/xDesktop/$Window/desktop_newyear/dialog.html

@@ -0,0 +1,14 @@
+<div>
+    <div style="height:40px; font-size:14px; line-height:40px; font-weight: 400; color: #FFF;" class="MWF_dialod_title">
+        <div style="height: 26px; margin-top:14px; width: 40px; float:left; margin-left:10px;" class="MWF_dialod_title_refresh"></div>
+		<div style="height: 40px; float:left; cursor: default" class="MWF_dialod_title_text"></div>
+		<div style="height: 40px; float:right;" class="MWF_dialod_title_action"></div>
+    </div>
+    <div style="overflow:hidden; background-color: #EEEEEE;"  class="MWF_dialod_under">
+        <div class="MWF_dialod_content" style="margin: 0px; margin-bottom: 0px; background-color: #EEEEEE; overflow:auto; text-align: left; padding: 0px;"></div>
+        <div style="height: 0px; width: 10px; background-color: #EEEEEE; float:right;" class="MWF_dialod_bottom">
+            <div style="cursor: nw-resize;height: 10px; width: 10px; float:right; position: relative; top: -10px;" class="MWF_dialod_bottom_resize"></div>
+        </div>
+    </div>
+
+</div>

Unele fișiere nu au fost afișate deoarece prea multe fișiere au fost modificate în acest diff