Просмотр исходного кода

版式正文痕迹显示修改

huqi 5 лет назад
Родитель
Сommit
f1ff6e0099

+ 26 - 1
o2web/source/x_component_process_Xform/$Form/default/doc.wcss

@@ -152,11 +152,36 @@
     "historyListAreaNode": {
         "width": "260px",
         "float": "right",
-        "height": "500px",
         "background-color": "#f3f3f3",
         "border-left": "1px solid #cccccc"
     },
     "historyListTitleAreaNode":{
+        "height": "70px",
+    },
+    "historyListTitleNode": {
+        "font-weigth": "bold",
+        "font-size": "16px",
+        "height": "30px",
+        "line-height": "30px"
+    },
+    "historyListTitleInsertNode": {
+        "font-size": "14px",
+        "height": "20px",
+        "line-height": "20px"
+    },
+    "historyListTitleDeleteNode": {
+        "font-size": "14px",
+        "height": "20px",
+        "line-height": "20px"
+    },
+    "historyListContentAreaNode": {
+        "margin": "5px",
+        "border": "1px solid #cccccc",
+        "background-color": "#ffffff"
+    },
+    "historyListItemNode": {
+        "overflow": "hidden",
+        "padding": "5px"
     }
     
 }

+ 2 - 0
o2web/source/x_component_process_Xform/lp/zh-cn.js

@@ -204,6 +204,8 @@ MWF.xApplication.process.Xform.LP = {
         "deleteContent": "<div>{time}</div>{name} 在 ”{activity}“ 时删除的内容:",
         "insert": "插入了",
         "delete": "删除了",
+        "insertTimes": "插入了 {times} 处",
+        "deleteTimes": "删除了 {times} 处",
         "play": "修改记录回放",
         "pause": "暂停回放",
         "stop": "停止修改记录回放",

+ 53 - 10
o2web/source/x_component_process_Xform/widget/DocumentHistory.js

@@ -132,13 +132,44 @@ MWF.xApplication.process.Xform.widget.DocumentHistory = new Class({
 
         this.historyListTitleAreaNode = new Element("div", {"styles": this.css.historyListTitleAreaNode}).inject(this.historyListAreaNode);
         this.historyListContentAreaNode = new Element("div", {"styles": this.css.historyListContentAreaNode}).inject(this.historyListAreaNode);
+
+        var y = this.historyListContentAreaNode.getEdgeHeight();
+        var title_y = this.historyListTitleAreaNode.getComputedSize().totalHeight;
+        h = h-y-title_y;
+        this.historyListContentAreaNode.setStyle("height", ""+h+"px");
+
+        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);
+
+
+
     },
     loadHistoryList: function(){
         var original = this.historyDataList[0];
-        this.diffPatch.each();
+        this.diffPatch.each(function(patchObj){
+            this.createHistoryListItem(patchObj);
+        }.bind(this));
     },
-    createHistoryListItem: function(){
-
+    createHistoryListItem: function(patchObj){
+        new MWF.xApplication.process.Xform.widget.DocumentHistory.Item(this, patchObj);
     },
 
 
@@ -176,7 +207,7 @@ MWF.xApplication.process.Xform.widget.DocumentHistory = new Class({
             "person": layout.session.user.distinguishedName,
             "activityName": this.documentEditor.form.businessData.activity.name,
             "createTime" : (new Date()).format("db")
-        }
+        };
         this.historyDataList.push(currentData);
     },
     getHistroyDocumentData: function(id, callback, i, historyDataList){
@@ -208,14 +239,18 @@ MWF.xApplication.process.Xform.widget.DocumentHistory = new Class({
     initAnimation: function(){
         this.diffPatch =  this.diffHistroy();
         this.diffCount = 0;
+        this.diffInsertCount = 0;
+        this.diffDeleteCount = 0;
         this.diffPatch.each(function(patch){
             patch.patch.diffs.each(function(diff){
                 if (diff[0]!=0) this.diffCount++;
+                if (diff[0]==-1) this.diffDeleteCount++;
+                if (diff[0]==1) this.diffInsertCount++;
             }.bind(this));
         }.bind(this));
 
         // this.initData();
-        // this.initAnimationStatus();
+        this.initAnimationStatus();
     },
     initData: function(){
         this.currentHistoryData = this.historyDataList[0].data;
@@ -302,10 +337,7 @@ MWF.xApplication.process.Xform.widget.DocumentHistory = new Class({
         this.toolbar.childrenButton[3].disable();
         this.toolbar.childrenButton[4].disable();
 
-        if (!this.playing){
-            this.initData();
-            this.initAnimationStatus();
-        }
+        if (!this.playing) this.initData();
         this.do();
     },
     prev: function(){
@@ -713,13 +745,24 @@ MWF.xApplication.process.Xform.widget.DocumentHistory = new Class({
 });
 
 MWF.xApplication.process.Xform.widget.DocumentHistory.Item = new Class({
-    initialize: function(history, patch){
+    initialize: function(history, patchObj){
         this.history = history;
         this.documentEditor = this.history.documentEditor;
         this.css = this.history.css;
+        this.patchObj = patchObj;
         this.load();
     },
     load: function(){
+        var patch = this.patchObj.patch;
+        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.diffsNode = new Element("div", {"styles": this.css.historyListItemDiffsNode}).inject(this.node);
 
+        patch.diffs.each(function(diff){
+            diffNode = new Element("div", {"styles": this.css.historyListItemDiffNode}).inject(this.diffsNode);
+        }.bind(this));
     }
 })