Explorar el Código

修改痕迹保留

huqi hace 5 años
padre
commit
825fad0041

+ 28 - 8
o2web/source/x_component_process_Xform/$Form/default/doc.wcss

@@ -159,20 +159,23 @@
         "height": "70px",
     },
     "historyListTitleNode": {
-        "font-weigth": "bold",
-        "font-size": "16px",
+        "font-weight": "bold",
+        "font-size": "14px",
         "height": "30px",
-        "line-height": "30px"
+        "line-height": "30px",
+        "padding": "0px 10px"
     },
     "historyListTitleInsertNode": {
-        "font-size": "14px",
+        "font-size": "12px",
         "height": "20px",
-        "line-height": "20px"
+        "line-height": "20px",
+        "padding": "0px 10px"
     },
     "historyListTitleDeleteNode": {
-        "font-size": "14px",
+        "font-size": "12px",
         "height": "20px",
-        "line-height": "20px"
+        "line-height": "20px",
+        "padding": "0px 10px"
     },
     "historyListContentAreaNode": {
         "margin": "5px",
@@ -181,7 +184,24 @@
     },
     "historyListItemNode": {
         "overflow": "hidden",
-        "padding": "5px"
+        "padding": "5px 10px",
+    },
+
+    "historyListItemPatchNode": {
+        "overflow": "hidden",
+        "margin-bottom": "10px"
+    },
+    "historyListItemDiffsNode": {
+        "overflow": "hidden"
+    },
+    "historyListItemDiffNode": {
+        "overflow": "hidden",
+        "padding": "5px 10px",
+        "cursor": "pointer",
+        "border-radius": "5px",
+        "background-color": "#ffffff"
+    },
+    "historyListItemDiffNode_over": {
     }
     
 }

+ 35 - 19
o2web/source/x_component_process_Xform/widget/DocumentHistory.js

@@ -138,31 +138,24 @@ MWF.xApplication.process.Xform.widget.DocumentHistory = new Class({
         h = h-y-title_y;
         this.historyListContentAreaNode.setStyle("height", ""+h+"px");
 
+        this.historyListTitleNode = new Element("div", {"styles": this.css.historyListTitleNode}).inject(this.historyListTitleAreaNode);
+        this.historyListTitleInsertNode = new Element("div", {"styles": this.css.historyListTitleInsertNode}).inject(this.historyListTitleAreaNode);
+        this.historyListTitleDeleteNode = new Element("div", {"styles": this.css.historyListTitleDeleteNode}).inject(this.historyListTitleAreaNode);
+
+    },
+    loadHistoryList: function(){
         var text = MWF.xApplication.process.Xform.LP.documentHistory.diff_patch_count;
         text = text.replace(/{history}/, this.historyDataList.length).replace(/{diff}/, this.diffCount);
 
-
-
         var insertStr = MWF.xApplication.process.Xform.LP.documentHistory.insertTimes;
         var deleteStr = MWF.xApplication.process.Xform.LP.documentHistory.deleteTimes;
         insertStr = insertStr.replace(/{times}/, this.diffInsertCount);
         deleteStr = deleteStr.replace(/{times}/, this.diffDeleteCount);
 
-        this.historyListTitleNode = new Element("div", {"styles": this.css.historyListTitleNode, "text": text}).inject(this.historyListAreaNode);
-        this.historyListTitleInsertNode = new Element("div", {"styles": this.css.historyListTitleInsertNode, "text": text}).inject(this.historyListAreaNode);
-        this.historyListTitleDeleteNode = new Element("div", {"styles": this.css.historyListTitleDeleteNode, "text": text}).inject(this.historyListAreaNode);
-
-
-        documentHistory
-
-
-        diffDeleteCount
-        this.historyListTitleAreaNode.set("", text);
-
+        this.historyListTitleNode.set("text", text);
+        this.historyListTitleInsertNode.set("text", insertStr);
+        this.historyListTitleDeleteNode.set("text", deleteStr);
 
-
-    },
-    loadHistoryList: function(){
         var original = this.historyDataList[0];
         this.diffPatch.each(function(patchObj){
             this.createHistoryListItem(patchObj);
@@ -757,12 +750,35 @@ MWF.xApplication.process.Xform.widget.DocumentHistory.Item = new Class({
         var obj = this.patchObj.obj;
         this.node = new Element("div", {"styles": this.css.historyListItemNode}).inject(this.history.historyListContentAreaNode);
         var patchHtml = "<div style='font-weight: bold; height: 30px; line-height: 30px'>"+o2.name.cn(obj.person)+" ["+obj.activityName+"]</div><div style='height: 20px; line-height: 20px; color:#666666'>"+obj.createTime+"</div>"
-        this.patchNode = new Element("div", {"styles": this.css.historyListItemPatchNode, "html": html}).inject(this.node);
-
+        this.patchNode = new Element("div", {"styles": this.css.historyListItemPatchNode, "html": patchHtml}).inject(this.node);
         this.diffsNode = new Element("div", {"styles": this.css.historyListItemDiffsNode}).inject(this.node);
 
+        var _self = this;
         patch.diffs.each(function(diff){
-            diffNode = new Element("div", {"styles": this.css.historyListItemDiffNode}).inject(this.diffsNode);
+            if (diff[0]!=0){
+                var infor = ((diff[1].length>50) ? diff[1].substring(0, 50)+"..." : diff[1]);
+                var tmp = new Element("div", {"html": infor});
+                infor = tmp.get("text");
+                tmp.destroy();
+                if (diff[0]==-1){
+                    infor = MWF.xApplication.process.Xform.LP.documentHistory.delete +": "+"<span style='color:red'><del>"+infor+"</del></span>"
+                }else{
+                    infor = MWF.xApplication.process.Xform.LP.documentHistory.insert +": "+"<span style='color:blue'><ins>"+infor+"</ins></span>"
+                }
+                diffNode = new Element("div", {"styles": this.css.historyListItemDiffNode, "html": infor}).inject(this.diffsNode);
+                diffNode.store("diff", diff);
+
+                diffNode.addEvents({
+                    "mouseover": function(){
+                        var diff = this.retrieve("diff");
+                        var color = (diff[0]==-1) ? "#fbe0e7": "#e2edfb";
+                        this.setStyles({"background-color": color});
+                    },
+                    "mouseout": function(){ this.setStyles(_self.css.historyListItemDiffNode) }
+                });
+
+            }
         }.bind(this));
+
     }
 })