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

内容管理嵌入视图适配新功能

unknown 5 лет назад
Родитель
Сommit
315e7b9899

+ 8 - 8
o2web/source/x_component_cms_Module/$ViewExplorer/default/viewer.wcss

@@ -16,11 +16,11 @@
         "overflow": "hidden"
     },
         "viewPageNode": {
-        "height": "80px"
+//        "height": "80px"
     },
     "viewPageAreaNode": {
-        "height": "24px",
-        "margin-top": "28px"
+//        "height": "24px",
+//        "margin-top": "28px"
     },
     "viewPageContentNode": {
         "float": "left",
@@ -248,16 +248,16 @@
     "viewFilterSearchCustomPathListNode": {
         "border": "0px",
         "border-radius": "5px",
-        "height": "80px",
+        "height": "74px",
         "padding": "3px",
-        "width": "99px",
+        "width": "93px",
         "font-size": "12px"
     },
     "viewFilterSearchCustomComparisonListNode": {
         "border": "0px",
-        "height": "80px",
+        "height": "74px",
         "padding": "3px",
-        "width": "99px",
+        "width": "93px",
         "font-size": "12px"
     },
     "viewFilterSearchOptionNode": {
@@ -436,7 +436,7 @@
     },
     "workAreaTitleNode": {
         "height": "20px",
-        "line-height": "20px",
+        "line-height": "20px"
     },
     "workAreaContentNode": {
         "height": "20px",

+ 200 - 56
o2web/source/x_component_cms_Module/ViewExplorer.js

@@ -166,6 +166,8 @@ MWF.xApplication.cms.Module.QueryViewer = new Class({
         this.filterItems = [];
         this.searchStatus = "none"; //none, custom, default
 
+        this.originalJson = Object.clone(json);
+
         this.selectEnable = this.options.selectEnable;
 
         this.items = [];
@@ -184,14 +186,26 @@ MWF.xApplication.cms.Module.QueryViewer = new Class({
         this.selectEnable = true;
         this.createSelectTh();
         this.items.each( function (it) {
-            it.createSelectTd();
+            if( it.clazzType == "category" ){
+                it.items.each( function(i){
+                    i.createSelectTd();
+                })
+            }else{
+                it.createSelectTd();
+            }
         }.bind(this));
     },
     disableSelectMode : function(){
         this.selectEnable = false;
         this.destroySelectTh();
         this.items.each( function (it) {
-            it.destroySelectTd();
+            if( it.clazzType == "category" ){
+                it.items.each( function(i){
+                    i.destroySelectTd();
+                })
+            }else{
+                it.destroySelectTd();
+            }
         }.bind(this));
     },
     destroySelectTh : function(){
@@ -201,7 +215,13 @@ MWF.xApplication.cms.Module.QueryViewer = new Class({
         }
     },
     createSelectTh : function(){
-        this.selectTh = new Element("th",{styles:{width:"20px"}}).inject(this.viewTitleLine, "top");
+        var viewStyles = this.viewJson.viewStyles;
+        var viewTitleCellNode = (viewStyles && viewStyles["titleTd"]) ? viewStyles["titleTd"] : this.css.viewTitleCellNode;
+
+        this.selectTh = new Element("td",{
+            styles: viewTitleCellNode
+        }).inject(this.viewTitleLine, "top");
+        this.selectTh.setStyles({width:"20px"});
         this.checkboxElement = new Element("input", {
             "type": "checkbox"
         }).inject(this.selectTh);
@@ -212,14 +232,28 @@ MWF.xApplication.cms.Module.QueryViewer = new Class({
     selectAll : function () {
         var flag = this.checkboxElement.get("checked");
         this.items.each(function (it) {
-            if (it.checkboxElement)it.checkboxElement.set("checked", flag)
+            if( it.clazzType == "category" ){
+                it.items.each( function(i){
+                    if (i.checkboxElement)i.checkboxElement.set("checked", flag)
+                })
+            }else{
+                if (it.checkboxElement)it.checkboxElement.set("checked", flag)
+            }
         }.bind(this))
     },
     getSelectedIds : function(){
         var checkedItems = [];
         this.items.each(function (it) {
-            if (it.checkboxElement.get("checked")) {
-                checkedItems.push( it.data.bundle )
+            if( it.clazzType == "category" ){
+                it.items.each( function(i){
+                    if (i.checkboxElement.get("checked")) {
+                        checkedItems.push( i.data.bundle )
+                    }
+                })
+            }else{
+                if (it.checkboxElement.get("checked")) {
+                    checkedItems.push( it.data.bundle )
+                }
             }
         }.bind(this));
         return checkedItems;
@@ -227,8 +261,16 @@ MWF.xApplication.cms.Module.QueryViewer = new Class({
     getSelectedItems : function(){
         var checkedItems = [];
         this.items.each(function (it) {
-            if (it.checkboxElement.get("checked")) {
-                checkedItems.push( it )
+            if( it.clazzType == "category" ){
+                it.items.each( function(i){
+                    if (i.checkboxElement.get("checked")) {
+                        checkedItems.push( i )
+                    }
+                })
+            }else{
+                if (it.checkboxElement.get("checked")) {
+                    checkedItems.push( it )
+                }
             }
         }.bind(this));
         return checkedItems;
@@ -236,7 +278,12 @@ MWF.xApplication.cms.Module.QueryViewer = new Class({
 
     createViewNode: function(data){
         this.viewAreaNode.empty();
-        this.contentAreaNode = new Element("div.contentAreaNode", {"styles": this.css.contentAreaNode}).inject(this.viewAreaNode);
+
+        var viewStyles = this.viewJson.viewStyles;
+
+        this.contentAreaNode = new Element("div", {"styles":
+                (viewStyles && viewStyles["container"]) ? viewStyles["container"] : this.css.contentAreaNode
+        }).inject(this.viewAreaNode);
 
         this.viewTable = new Element("table.viewTable", {
             "styles": this.css.viewTitleTableNode,
@@ -244,34 +291,55 @@ MWF.xApplication.cms.Module.QueryViewer = new Class({
             "cellPadding": "0",
             "cellSpacing": "0"
         }).inject(this.contentAreaNode);
+        if( viewStyles ){
+            if( viewStyles["tableProperties"] )this.viewTable.set(viewStyles["tableProperties"]);
+            if( viewStyles["table"] )this.viewTable.setStyles(viewStyles["table"]);
+        }
+
         this.createLoadding();
 
+        var viewTitleCellNode = (viewStyles && viewStyles["titleTd"]) ? viewStyles["titleTd"] : this.css.viewTitleCellNode;
+
         if (this.json.isTitle!=="no"){
-            this.viewTitleLine = new Element("tr", {"styles": this.css.viewTitleLineNode}).inject(this.viewTable);
+            this.viewTitleLine = new Element("tr", {
+                "styles": (viewStyles && viewStyles["titleTr"]) ? viewStyles["titleTr"] : this.css.viewTitleLineNode
+            }).inject(this.viewTable);
 
             if( this.selectEnable ){
                 this.createSelectTh();
             }
 
             //if (this.json.select==="single" || this.json.select==="multi") {
-            //this.selectTitleCell = new Element("td", {
-            //    "styles": this.css.viewTitleCellNode
-            //}).inject(this.viewTitleLine);
-            //this.selectTitleCell.setStyle("width", "10px");
-            //if (this.json.titleStyles) this.selectTitleCell.setStyles(this.json.titleStyles);
+            this.selectTitleCell = new Element("td", {
+                "styles": viewTitleCellNode
+            }).inject(this.viewTitleLine);
+            this.selectTitleCell.setStyle("width", "10px");
+            // if (this.json.titleStyles) this.selectTitleCell.setStyles(this.json.titleStyles);
             //}
+
+
+            //序号
+            if (this.viewJson.isSequence==="yes"){
+                this.sequenceTitleCell = new Element("td", {
+                    "styles": viewTitleCellNode
+                }).inject(this.viewTitleLine);
+                this.sequenceTitleCell.setStyle("width", "10px");
+                // if (this.json.titleStyles) this.sequenceTitleCell.setStyles(this.json.titleStyles);
+            }
+
+
             this.entries = {};
             this.viewJson.selectList.each(function(column){
                 this.entries[column.column] = column;
 
                 if (!column.hideColumn){
                     var viewCell = new Element("td", {
-                        "styles": this.css.viewTitleCellNode,
+                        "styles": viewTitleCellNode,
                         "text": column.displayName
                     }).inject(this.viewTitleLine);
-                    var size = MWF.getTextSize(column.displayName, this.css.viewTitleCellNode);
+                    var size = MWF.getTextSize(column.displayName, viewTitleCellNode);
                     viewCell.setStyle("min-width", ""+size.x+"px");
-                    if (this.json.titleStyles) viewCell.setStyles(this.json.titleStyles);
+                    // if (this.json.titleStyles) viewCell.setStyles(this.json.titleStyles);
                 }else{
                     this.hideColumns.push(column.column);
                 }
@@ -280,7 +348,7 @@ MWF.xApplication.cms.Module.QueryViewer = new Class({
 
             if( this.options.hasAction ){
                 var viewCell = new Element("td", {
-                    "styles": this.css.viewTitleCellNode,
+                    "styles": viewTitleCellNode,
                     "text": "操作"
                 }).inject(this.viewTitleLine);
                 viewCell.setStyle("width","40px");
@@ -298,11 +366,12 @@ MWF.xApplication.cms.Module.QueryViewer = new Class({
     },
     loadLayout: function(){
         this.node = new Element("div", {"styles": this.css.node}).inject(this.container);
-        if (this.options.export) this.exportAreaNode = new Element("div", {"styles": this.css.exportAreaNode}).inject(this.node);
+        this.actionbarAreaNode =  new Element("div.actionbarAreaNode", {"styles": this.css.actionbarAreaNode}).inject(this.node);
+        // if (this.options.export) this.exportAreaNode = new Element("div", {"styles": this.css.exportAreaNode}).inject(this.node);
         this.searchAreaNode = new Element("div", {"styles": this.css.searchAreaNode}).inject(this.searchContainer || this.node );
         this.viewAreaNode = new Element("div.viewAreaNode", {"styles": this.css.viewAreaNode}).inject(this.node);
-        this.viewPageNode = new Element("div", {"styles": this.css.viewPageNode}).inject(this.node);
-        this.viewPageAreaNode = new Element("div", {"styles": this.css.viewPageAreaNode}).inject(this.viewPageNode);
+        // this.viewPageNode = new Element("div", {"styles": this.css.viewPageNode}).inject(this.node);
+        this.viewPageAreaNode = new Element("div", {"styles": this.css.viewPageAreaNode}).inject(this.node);
     },
     //loadData: function(){
     //    if (this.gridJson.length){
@@ -320,6 +389,8 @@ MWF.xApplication.cms.Module.QueryViewer = new Class({
             }else{
                 this.loadPaging();
             }
+        }else{
+            if (this.viewPageAreaNode) this.viewPageAreaNode.empty();
         }
     },
     loadPaging : function(){
@@ -361,18 +432,30 @@ MWF.xApplication.cms.Module.QueryViewer = new Class({
         }
     },
     loadGroupData: function(){
-        if (this.selectTitleCell){
-            this.selectTitleCell.set("html", "<span style='font-family: Webdings'>"+"<img src='/x_component_process_Application/$Viewer/"+this.options.style+"/icon/expand.png'/>"+"</span>");
+        if (this.selectTitleCell && !this.selectTitleCell.retrieve("expandLoaded") ){
+            if( this.viewJson.viewStyles && this.viewJson.viewStyles["groupCollapseNode"] ){
+                this.expandAllNode = new Element("span", {
+                    styles : this.viewJson.viewStyles["groupCollapseNode"]
+                }).inject( this.selectTitleCell );
+                this.selectTitleCell.setStyle("cursor", "pointer");
+            }else{
+                this.selectTitleCell.set("html", "<span style='font-family: Webdings'>"+"<img src='/x_component_query_Query/$Viewer/"+this.options.style+"/icon/expand.png'/>"+"</span>");
+            }
             this.selectTitleCell.setStyle("cursor", "pointer");
             this.selectTitleCell.addEvent("click", this.expandOrCollapseAll.bind(this));
+            this.selectTitleCell.store("expandLoaded", true);
         }
-
+        this.expandAll = false;
         if (this.gridJson.length){
+            var i = 0;
             this.gridJson.each(function(data){
-                this.items.push(new MWF.xApplication.cms.Module.QueryViewer.ItemCategory(this, data));
+                this.items.push(new MWF.xApplication.cms.Module.QueryViewer.ItemCategory(this, data, i));
+                i += data.list.length;
             }.bind(this));
 
             if (this.json.isExpand=="yes")this.expandOrCollapseAll();
+        }else{
+            if (this.viewPageAreaNode) this.viewPageAreaNode.empty();
         }
     },
     createSearchNode: function(){
@@ -398,6 +481,7 @@ MWF.xApplication.cms.Module.QueryViewer = new Class({
         }
     },
     loadSimpleSearch: function(){
+        return false;
         this.searchSimpleNode = new Element("div", {"styles": this.css.searchSimpleNode}).inject(this.searchAreaNode);
         this.searchSimpleButtonNode = new Element("div", {"styles": this.css.searchSimpleButtonNode}).inject(this.searchSimpleNode);
         this.searchSimpleWarpNode = new Element("div", {"style": "margin-right: 40px; margin-left: 5px; height: 24px; overflow: hidden;"}).inject(this.searchSimpleNode);
@@ -415,7 +499,6 @@ MWF.xApplication.cms.Module.QueryViewer = new Class({
             }.bind(this)
         });
     },
-
     setContentHeight: function(){
         if( this.viewSearchCustomCloseActionNode && !this.setCustomSearchCloseEvent ){
             this.viewSearchCustomCloseActionNode.addEvent("click", function(){
@@ -424,9 +507,9 @@ MWF.xApplication.cms.Module.QueryViewer = new Class({
             this.setCustomSearchCloseEvent = true;
         }
         if(this.viewSearchInputAreaNode)this.viewSearchInputAreaNode.setStyle("width","auto");
+        debugger;
         if( this.node && this.searchContainer && this.viewAreaNode ){
             var size = this.node.getSize();
-            debugger;
             var searchSize;
             var parent = this.searchContainer.getParent();
             if( parent ){
@@ -434,7 +517,13 @@ MWF.xApplication.cms.Module.QueryViewer = new Class({
             }else{
                 searchSize = this.searchContainer.getSize();
             }
-            var h = size.y-searchSize.y - 80; //80是视图翻页条的高度
+            var h = size.y-searchSize.y; // - 80; //80是视图翻页条的高度
+            if( this.actionbarAreaNode ){
+                var exportSize = this.actionbarAreaNode.getComputedSize();
+                h = h-exportSize.totalHeight;
+            }
+            var pageSize = this.viewPageAreaNode.getComputedSize();
+            h = h-pageSize.totalHeight;
             this.viewAreaNode.setStyle("height", ""+h+"px");
         }
     }
@@ -443,8 +532,15 @@ MWF.xApplication.cms.Module.QueryViewer = new Class({
 MWF.xApplication.cms.Module.QueryViewer.Item = new Class({
     Extends : MWF.xApplication.query.Query.Viewer.Item,
     load: function(){
+        this.view.fireEvent("queryLoadItemRow", [null, this]);
         var _self = this;
-        this.node = new Element("tr", {"styles": this.css.viewContentTrNode});
+
+        var viewStyles = this.view.viewJson.viewStyles;
+        var viewContentTdNode = ( viewStyles && viewStyles["contentTd"] ) ? viewStyles["contentTd"] : this.css.viewContentTdNode;
+
+        this.node = new Element("tr", {
+            "styles": ( viewStyles && viewStyles["contentTr"] ) ? viewStyles["contentTr"] : this.css.viewContentTrNode
+        });
         if (this.prev){
             this.node.inject(this.prev.node, "after");
         }else{
@@ -460,9 +556,9 @@ MWF.xApplication.cms.Module.QueryViewer.Item = new Class({
         }
 
         //if (this.view.json.select==="single" || this.view.json.select==="multi"){
-        //this.selectTd = new Element("td", {"styles": this.css.viewContentTdNode}).inject(this.node);
-        //this.selectTd.setStyles({"cursor": "pointer"});
-        //if (this.view.json.itemStyles) this.selectTd.setStyles(this.view.json.itemStyles);
+        this.selectTd = new Element("td", { "styles": viewContentTdNode }).inject(this.node);
+        this.selectTd.setStyles({"cursor": "pointer"});
+        if (this.view.json.itemStyles) this.selectTd.setStyles(this.view.json.itemStyles);
         //}
 
         //Object.each(this.data.data, function(cell, k){
@@ -479,17 +575,22 @@ MWF.xApplication.cms.Module.QueryViewer.Item = new Class({
         //    }
         //}.bind(this));
 
-        debugger;
 
         this.view.viewJson.selectList.each(function(column){
             var k = column.column;
             var cell = this.data.data[column.column];
 
             if (this.view.hideColumns.indexOf(k)===-1){
-                var td = new Element("td", {"styles": this.css.viewContentTdNode}).inject(this.node);
+                var td = new Element("td", {"styles": viewContentTdNode}).inject(this.node);
                 if (k!== this.view.viewJson.group.column){
                     //var v = (this.view.entries[k].code) ? MWF.Macro.exec(this.view.entries[k].code, {"value": cell, "gridData": this.view.gridJson, "data": this.view.viewData, "entry": this.data}) : cell;
-                    td.set("text", cell);
+                    //td.set("text", cell);
+                    var v = cell;
+                    if (column.isHtml){
+                        td.set("html", v);
+                    }else{
+                        td.set("text", v);
+                    }
                 }
                 if (this.view.openColumns.indexOf(k)!==-1){
                     this.setOpenWork(td, column)
@@ -506,6 +607,7 @@ MWF.xApplication.cms.Module.QueryViewer.Item = new Class({
         }
 
         this.setEvent();
+        this.view.fireEvent("postLoadItemRow", [null, this]);
     },
     destroySelectTd : function(){
         if( this.checboxTd ){
@@ -515,7 +617,11 @@ MWF.xApplication.cms.Module.QueryViewer.Item = new Class({
     },
     createSelectTd : function(){
         if( this.checboxTd )return;
-        this.checboxTd = new Element("td").inject(this.node, "top");
+
+        var viewStyles = this.view.viewJson.viewStyles;
+        var viewContentTdNode = ( viewStyles && viewStyles["contentTd"] ) ? viewStyles["contentTd"] : this.css.viewContentTdNode;
+
+        this.checboxTd = new Element("td", {styles:viewContentTdNode}).inject(this.node, "top");
         this.checkboxElement = new Element("input", {
             "type": "checkbox",
             "events" : { click : function(ev){ ev.stopPropagation(); } }
@@ -553,19 +659,29 @@ MWF.xApplication.cms.Module.QueryViewer.Item = new Class({
     setOpenWork: function(td, column){
         td.setStyle("cursor", "pointer");
         if( column.clickCode ) {
-            if (!this.view.Macro) {
-                MWF.require("MWF.xScript.Macro", function () {
-                    this.view.businessData = {};
-                    this.view.Macro = new MWF.Macro.PageContext(this.view);
-                }.bind(this), false);
-            }
+            // if( !this.view.Macro ){
+            //     MWF.require("MWF.xScript.Macro", function () {
+            //         this.view.businessData = {};
+            //         this.view.Macro = new MWF.Macro.PageContext(this.view);
+            //     }.bind(this), false);
+            // }
             td.addEvent("click", function( ev ){
-                return this.view.Macro.fire(column.clickCode, this, ev);
+                var result = this.view.Macro.fire(column.clickCode, this, ev);
+                ev.stopPropagation();
+                return result;
             }.bind(this));
         }else{
-            td.addEvent("click", function(){
-                this.openCMSDocument()
-            }.bind(this));
+            if (this.view.json.type==="cms"){
+                td.addEvent("click", function(ev){
+                    this.openCMSDocument(false)
+                    ev.stopPropagation();
+                }.bind(this));
+            }else{
+                td.addEvent("click", function(ev){
+                    this.openWorkAndCompleted(ev)
+                    ev.stopPropagation();
+                }.bind(this));
+            }
         }
     },
     openCMSDocument : function( isEdited ){
@@ -627,19 +743,27 @@ MWF.xApplication.cms.Module.QueryViewer.Item = new Class({
 MWF.xApplication.cms.Module.QueryViewer.ItemCategory = new Class({
     Extends : MWF.xApplication.query.Query.Viewer.ItemCategory,
     load: function(){
-        this.node = new Element("tr", {"styles": this.css.viewContentTrNode}).inject(this.view.viewTable);
+        this.view.fireEvent("queryLoadCategoryRow", [null, this]);
+
+        var viewStyles = this.view.viewJson.viewStyles;
+
+        var viewContentCategoryTdNode = ( viewStyles && viewStyles["contentGroupTd"] ) ? viewStyles["contentGroupTd"] : this.css.viewContentCategoryTdNode;
+
+        this.node = new Element("tr", {
+            "styles": (viewStyles && viewStyles["contentTr"]) ? viewStyles["contentTr"] : this.css.viewContentTrNode
+        }).inject(this.view.viewTable);
         //if (this.view.json.select==="single" || this.view.json.select==="multi"){
-        this.selectTd = new Element("td", {"styles": this.css.viewContentCategoryTdNode}).inject(this.node);
+        this.selectTd = new Element("td", {"styles": viewContentCategoryTdNode}).inject(this.node);
         if (this.view.json.itemStyles) this.selectTd.setStyles(this.view.json.itemStyles);
         //}
 
-        var colsapn = this.view.viewJson.selectList.length;
+        var colsapn = this.view.viewJson.selectList.length+1;
         if( this.view.options.hasAction ){
             colsapn ++
         }
 
         this.categoryTd = new Element("td", {
-            "styles": this.css.viewContentCategoryTdNode,
+            "styles": viewContentCategoryTdNode,
             "colspan": colsapn
         }).inject(this.node);
 
@@ -651,25 +775,45 @@ MWF.xApplication.cms.Module.QueryViewer.ItemCategory = new Class({
             }
         }
         if (this.groupColumn){
-            var text = (this.groupColumn.code) ? MWF.Macro.exec(this.groupColumn.code, {"value": this.data.group, "gridData": this.view.gridJson, "data": this.view.viewData, "entry": this.data}) : this.data.group;
+            //var text = (this.groupColumn.code) ? MWF.Macro.exec(this.groupColumn.code, {"value": this.data.group, "gridData": this.view.gridJson, "data": this.view.viewData, "entry": this.data}) : this.data.group;
+            var text = this.data.group;
         }else{
             var text = this.data.group;
         }
 
-        this.categoryTd.set("html", "<span style='font-family: Webdings'><img src='/x_component_query_Query/$Viewer/"+this.view.options.style+"/icon/expand.png'/></span> "+text);
+        if( viewStyles && viewStyles["groupCollapseNode"] ){
+            this.expandNode = new Element("span", {
+                styles : viewStyles["groupCollapseNode"]
+            }).inject( this.categoryTd );
+            new Element("span", { text : text }).inject( this.categoryTd );
+            // this.categoryTd.set("text", text );
+        }else{
+            this.categoryTd.set("html", "<span style='font-family: Webdings'><img src='/x_component_query_Query/$Viewer/"+this.view.options.style+"/icon/expand.png'/></span> "+text);
+        }
+        this.expanded = false;
         if (this.view.json.itemStyles) this.categoryTd.setStyles(this.view.json.itemStyles);
 
         this.setEvent();
+
+        this.view.fireEvent("postLoadCategoryRow", [null, this]);
     },
     expand: function(){
         this.items.each(function(item){
             item.node.setStyle("display", "table-row");
         }.bind(this));
-        this.node.getElement("span").set("html", "<img src='/x_component_process_Application/$Viewer/"+this.view.options.style+"/icon/down.png'/>");
+               if( this.expandNode ){
+            this.expandNode.setStyles( this.view.viewJson.viewStyles["groupExpandNode"] )
+        }else{
+            this.node.getElement("span").set("html", "<img src='/x_component_query_Query/$Viewer/"+this.view.options.style+"/icon/down.png'/>");
+        }
+        this.expanded = true;
         if (!this.loadChild){
             //window.setTimeout(function(){
-            this.data.list.each(function(line){
-                this.items.push(new MWF.xApplication.cms.Module.QueryViewer.Item(this.view, line, this));
+            this.data.list.each(function(line, i){
+                var s = this.idx+i;
+                this.lastItem = new MWF.xApplication.cms.Module.QueryViewer.Item(this.view, line, (this.lastItem || this), s);
+                this.items.push(this.lastItem);
+                //this.items.push(new MWF.xApplication.cms.Module.QueryViewer.Item(this.view, line, this));
             }.bind(this));
             this.loadChild = true;
             //}.bind(this), 10);

+ 16 - 16
o2web/source/x_component_cms_QueryViewDesigner/$View/view.html

@@ -235,19 +235,19 @@
 
     <div title="过滤"  class="MWFTab">
         <div class="MWFViewFilter">
-            <div class="inputAreaNode">
-                <table width="100%" border="0" cellpadding="5" cellspacing="0" class="editTable restrictViewFilterTable">
+            <div class="inputAreaNode_vf">
+                <table width="100%" border="0" cellpadding="5" cellspacing="0" class="editTable restrictViewFilterTable_vf">
                     <tr>
                         <td class="editTableTitle">标题:</td>
-                        <td class="editTableValue"><input type="text" class="editTableInput titleInput"/></td>
+                        <td class="editTableValue"><input type="text" class="editTableInput titleInput_vf"/></td>
                     </tr>
                     <tr>
                         <td class="editTableTitle">路径:</td>
-                        <td class="editTableValue"><input type="text" class="editTableInput pathInput"/></td>
+                        <td class="editTableValue"><input type="text" class="editTableInput pathInput_vf"/></td>
                     </tr>
                     <tr>
                         <td class="editTableTitle">数据类型:</td>
-                        <td class="editTableValue"><select class="datatypeInput">
+                        <td class="editTableValue"><select class="datatypeInput_vf">
                             <option value="textValue" selected>文本</option>
                             <option value="numberValue">数字</option>
                             <option value="dateTimeValue">日期</option>
@@ -257,10 +257,10 @@
                     <tr>
                         <td class="editTableTitle"></td>
                         <td class="editTableValue">
-                            <input type="radio" class="restrictFilterInput" value="restrict" name="text{$.id}viewFilterType" onclick="if (this.checked){
+                            <input type="radio" class="restrictFilterInput_vf" value="restrict" name="text{$.id}viewFilterType" onclick="if (this.checked){
                                 $('text{$.id}viewFilterRestrict').setStyle('display', 'block');
                             }"/>作为默认过滤条件<br>
-                            <input type="radio" class="customFilterInput" value="custom" name="text{$.id}viewFilterType" onclick="if (this.checked){
+                            <input type="radio" class="customFilterInput_vf" value="custom" name="text{$.id}viewFilterType" onclick="if (this.checked){
                                 $('text{$.id}viewFilterRestrict').setStyle('display', 'none');
                             }" checked/>作为自定义过滤数据
                         </td>
@@ -269,7 +269,7 @@
                 <table id="text{$.id}viewFilterRestrict" style="display: none" width="100%" border="0" cellpadding="5" cellspacing="0" class="editTable">
                     <tr>
                         <td class="editTableTitle">逻辑:</td>
-                        <td class="editTableValue"><select class="logicInput">
+                        <td class="editTableValue"><select class="logicInput_vf">
                             <option selected value="and">并且(and)</option>
                             <option value="or">或者(or)</option>
                         </select></td>
@@ -277,7 +277,7 @@
 
                     <tr>
                         <td class="editTableTitle">比较:</td>
-                        <td class="editTableValue"><select class="comparisonInput">
+                        <td class="editTableValue"><select class="comparisonInput_vf">
                             <option value="equals" selected>等于(==)</option>
                             <option value="notEquals">不等于(!=)</option>
                             <option value="greaterThan">大于(>)</option>
@@ -291,10 +291,10 @@
                     <tr>
                         <td class="editTableTitle">值:</td>
                         <td class="editTableValue">
-                            <input type="text" class="editTableInput valueTextInput" style="display: block"/>
-                            <input type="number" class="editTableInput valueNumberInput" style="display: none"/>
-                            <input type="text" class="editTableInput valueDatetimeInput" style="display: none" readonly/>
-                            <select class="valueBooleanInput" style="display: none">
+                            <input type="text" class="editTableInput valueTextInput_vf" style="display: block"/>
+                            <input type="number" class="editTableInput valueNumberInput_vf" style="display: none"/>
+                            <input type="text" class="editTableInput valueDatetimeInput_vf" style="display: none" readonly/>
+                            <select class="valueBooleanInput_vf" style="display: none">
                                 <option value="true" selected>是(True)</option>
                                 <option value="false">否(False)</option>
                             </select>
@@ -302,11 +302,11 @@
                     </tr>
                 </table>
             </div>
-            <div class="actionAreaNode"></div>
+            <div class="actionAreaNode_vf"></div>
             <div style="height: 20px; line-height: 20px; text-align:center; background-color: #eeeeee">默认过滤条件</div>
-            <div class="listAreaNode" style="min-height: 56px; border-bottom:1px solid #CCCCCC; overflow: hidden;"></div>
+            <div class="listAreaNode_vf" style="min-height: 56px; border-bottom:1px solid #CCCCCC; overflow: hidden;"></div>
             <div style="height: 20px; line-height: 20px; text-align:center; background-color: #eeeeee">自定义过滤数据</div>
-            <div class="fieldListAreaNode" style="min-height: 56px; border-bottom:1px solid #CCCCCC; overflow: hidden;"></div>
+            <div class="fieldListAreaNode_vf" style="min-height: 56px; border-bottom:1px solid #CCCCCC; overflow: hidden;"></div>
         </div>
     </div>
 

+ 18 - 18
o2web/source/x_component_portal_PageDesigner/Module/View/view.html

@@ -123,19 +123,19 @@
 
 		<div style="background-color: #eeeeee; border-top:1px solid #999999; height: 24px; line-height: 24px; text-align: center; cursor:pointer">过滤</div>
 		<div class="MWFViewFilter">
-			<div class="inputAreaNode">
-				<table width="100%" border="0" cellpadding="5" cellspacing="0" class="editTable restrictViewFilterTable">
+			<div class="inputAreaNode_vf">
+				<table width="100%" border="0" cellpadding="5" cellspacing="0" class="editTable restrictViewFilterTable_vf">
 					<tr style="display:none">
 						<td class="editTableTitle">标题:</td>
-						<td class="editTableValue"><input type="text" class="editTableInput titleInput"/></td>
+						<td class="editTableValue"><input type="text" class="editTableInput titleInput_vf"/></td>
 					</tr>
 					<tr>
 						<td class="editTableTitle">路径:</td>
-						<td class="editTableValue"><input type="text" class="editTableInput pathInput"/></td>
+						<td class="editTableValue"><input type="text" class="editTableInput pathInput_vf"/></td>
 					</tr>
 					<tr>
 						<td class="editTableTitle">数据类型:</td>
-						<td class="editTableValue"><select class="datatypeInput">
+						<td class="editTableValue"><select class="datatypeInput_vf">
 							<option value="textValue" selected>文本</option>
 							<option value="numberValue">数字</option>
 							<option value="dateTimeValue">日期</option>
@@ -145,15 +145,15 @@
 					<tr style="display:none">
 						<td class="editTableTitle"></td>
 						<td class="editTableValue">
-							<input type="radio" class="restrictFilterInput" value="restrict" name="text{$.pid}viewFilterType" checked/>作为默认过滤条件<br>
-							<input type="radio" class="customFilterInput" value="custom" name="text{$.pid}viewFilterType"/>作为自定义过滤数据
+							<input type="radio" class="restrictFilterInput_vf" value="restrict" name="text{$.pid}viewFilterType" checked/>作为默认过滤条件<br>
+							<input type="radio" class="customFilterInput_vf" value="custom" name="text{$.pid}viewFilterType"/>作为自定义过滤数据
 						</td>
 					</tr>
 				</table>
 				<table id="text{$.pid}viewFilterRestrict" width="100%" border="0" cellpadding="5" cellspacing="0" class="editTable">
 					<tr>
 						<td class="editTableTitle">逻辑:</td>
-						<td class="editTableValue"><select class="logicInput">
+						<td class="editTableValue"><select class="logicInput_vf">
 							<option selected value="and">并且(and)</option>
 							<option value="or">或者(or)</option>
 						</select></td>
@@ -161,7 +161,7 @@
 
 					<tr>
 						<td class="editTableTitle">比较:</td>
-						<td class="editTableValue"><select class="comparisonInput">
+						<td class="editTableValue"><select class="comparisonInput_vf">
 							<option value="equals" selected>等于(==)</option>
 							<option value="notEquals">不等于(!=)</option>
 							<option value="greaterThan">大于(>)</option>
@@ -176,12 +176,12 @@
 					<tr style="display:none">
 						<td class="editTableTitle">值:</td>
 						<td class="editTableValue">
-							<input type="text" class="editTableInput valueTextInput" style="display: block"/>
-							<input type="number" class="editTableInput valueNumberInput" style="display: none"/>
-							<input type="text" class="editTableInput valueDatetimeInput" style="display: none" readonly/>
-							<input type="text" class="editTableInput" style="display: none" readonly/>
-							<input type="text" class="editTableInput" style="display: none" readonly/>
-							<select class="valueBooleanInput" style="display: none">
+							<input type="text" class="editTableInput valueTextInput_vf" style="display: block"/>
+							<input type="number" class="editTableInput valueNumberInput_vf" style="display: none"/>
+							<input type="text" class="editTableInput valueDatetimeInput_vf" style="display: none" readonly/>
+							<input type="text" class="editTableInput valueDateInput_vf" style="display: none" readonly/>
+							<input type="text" class="editTableInput valueTimeInput_vf" style="display: none" readonly/>
+							<select class="valueBooleanInput_vf" style="display: none">
 								<option value="true" selected>是(True)</option>
 								<option value="false">否(False)</option>
 							</select>
@@ -190,11 +190,11 @@
 				</table>
 				<div title="值" class="MWFFilterFormulaArea"></div>
 			</div>
-			<div class="actionAreaNode"></div>
+			<div class="actionAreaNode_vf"></div>
 			<div style="height: 20px; line-height: 20px; text-align:center; background-color: #eeeeee">默认过滤条件</div>
-			<div class="listAreaNode" style="min-height: 56px; border-bottom:1px solid #CCCCCC; overflow: hidden;"></div>
+			<div class="listAreaNode_vf" style="min-height: 56px; border-bottom:1px solid #CCCCCC; overflow: hidden;"></div>
 			<div style="display:none; height: 20px; line-height: 20px; text-align:center; background-color: #eeeeee">自定义过滤数据</div>
-			<div class="fieldListAreaNode" style="display:none; min-height: 56px; border-bottom:1px solid #CCCCCC; overflow: hidden;"></div>
+			<div class="fieldListAreaNode_vf" style="display:none; min-height: 56px; border-bottom:1px solid #CCCCCC; overflow: hidden;"></div>
 		</div>
 
 	</div>

+ 18 - 18
o2web/source/x_component_process_FormDesigner/Module/View/view.html

@@ -184,19 +184,19 @@
 
 		<div style="background-color: #eeeeee; border-top:1px solid #999999; height: 24px; line-height: 24px; text-align: center; cursor:pointer">过滤</div>
 		<div class="MWFViewFilter">
-			<div class="inputAreaNode">
-				<table width="100%" border="0" cellpadding="5" cellspacing="0" class="editTable restrictViewFilterTable">
+			<div class="inputAreaNode_vf">
+				<table width="100%" border="0" cellpadding="5" cellspacing="0" class="editTable restrictViewFilterTable_vf">
 					<tr style="display:none">
 						<td class="editTableTitle">标题:</td>
-						<td class="editTableValue"><input type="text" class="editTableInput titleInput"/></td>
+						<td class="editTableValue"><input type="text" class="editTableInput titleInput_vf"/></td>
 					</tr>
 					<tr>
 						<td class="editTableTitle">路径:</td>
-						<td class="editTableValue"><input type="text" class="editTableInput pathInput"/></td>
+						<td class="editTableValue"><input type="text" class="editTableInput pathInput_vf"/></td>
 					</tr>
 					<tr>
 						<td class="editTableTitle">数据类型:</td>
-						<td class="editTableValue"><select class="datatypeInput">
+						<td class="editTableValue"><select class="datatypeInput_vf">
 							<option value="textValue" selected>文本</option>
 							<option value="numberValue">数字</option>
 							<option value="dateTimeValue">日期</option>
@@ -206,15 +206,15 @@
 					<tr style="display:none">
 						<td class="editTableTitle"></td>
 						<td class="editTableValue">
-							<input type="radio" class="restrictFilterInput" value="restrict" name="text{$.id}viewFilterType" checked/>作为默认过滤条件<br>
-							<input type="radio" class="customFilterInput" value="custom" name="text{$.id}viewFilterType"/>作为自定义过滤数据
+							<input type="radio" class="restrictFilterInput_vf" value="restrict" name="text{$.id}viewFilterType" checked/>作为默认过滤条件<br>
+							<input type="radio" class="customFilterInput_vf" value="custom" name="text{$.id}viewFilterType"/>作为自定义过滤数据
 						</td>
 					</tr>
 				</table>
 				<table id="text{$.pid}viewFilterRestrict" width="100%" border="0" cellpadding="5" cellspacing="0" class="editTable">
 					<tr>
 						<td class="editTableTitle">逻辑:</td>
-						<td class="editTableValue"><select class="logicInput">
+						<td class="editTableValue"><select class="logicInput_vf">
 							<option selected value="and">并且(and)</option>
 							<option value="or">或者(or)</option>
 						</select></td>
@@ -222,7 +222,7 @@
 
 					<tr>
 						<td class="editTableTitle">比较:</td>
-						<td class="editTableValue"><select class="comparisonInput">
+						<td class="editTableValue"><select class="comparisonInput_vf">
 							<option value="equals" selected>等于(==)</option>
 							<option value="notEquals">不等于(!=)</option>
 							<option value="greaterThan">大于(>)</option>
@@ -237,12 +237,12 @@
 					<tr style="display:none">
 						<td class="editTableTitle">值:</td>
 						<td class="editTableValue">
-							<input type="text" class="editTableInput valueTextInput" style="display: block"/>
-							<input type="number" class="editTableInput valueNumberInput" style="display: none"/>
-							<input type="text" class="editTableInput valueDatetimeInput" style="display: none" readonly/>
-							<input type="text" class="editTableInput" style="display: none" readonly/>
-							<input type="text" class="editTableInput" style="display: none" readonly/>
-							<select class="valueBooleanInput" style="display: none">
+							<input type="text" class="editTableInput valueTextInput_vf" style="display: block"/>
+							<input type="number" class="editTableInput valueNumberInput_vf" style="display: none"/>
+							<input type="text" class="editTableInput valueDatetimeInput_vf" style="display: none" readonly/>
+							<input type="text" class="editTableInput valueDateInput_vf" style="display: none" readonly/>
+							<input type="text" class="editTableInput valueTimeInput_vf" style="display: none" readonly/>
+							<select class="valueBooleanInput_vf" style="display: none">
 								<option value="true" selected>是(True)</option>
 								<option value="false">否(False)</option>
 							</select>
@@ -251,11 +251,11 @@
 				</table>
 				<div title="值" class="MWFFilterFormulaArea"></div>
 			</div>
-			<div class="actionAreaNode"></div>
+			<div class="actionAreaNode_vf"></div>
 			<div style="height: 20px; line-height: 20px; text-align:center; background-color: #eeeeee">默认过滤条件</div>
-			<div class="listAreaNode" style="min-height: 56px; border-bottom:1px solid #CCCCCC; overflow: hidden;"></div>
+			<div class="listAreaNode_vf" style="min-height: 56px; border-bottom:1px solid #CCCCCC; overflow: hidden;"></div>
 			<div style="display:none; height: 20px; line-height: 20px; text-align:center; background-color: #eeeeee">自定义过滤数据</div>
-			<div class="fieldListAreaNode" style="display:none; min-height: 56px; border-bottom:1px solid #CCCCCC; overflow: hidden;"></div>
+			<div class="fieldListAreaNode_vf" style="display:none; min-height: 56px; border-bottom:1px solid #CCCCCC; overflow: hidden;"></div>
 		</div>
 
 	</div>

+ 18 - 18
o2web/source/x_component_process_FormDesigner/Module/ViewSelector/ViewSelector.html

@@ -110,19 +110,19 @@
 	</div>
     <div title="过滤"  class="MWFTab">
         <div class="MWFViewFilter">
-            <div class="inputAreaNode">
-                <table width="100%" border="0" cellpadding="5" cellspacing="0" class="editTable restrictViewFilterTable">
+            <div class="inputAreaNode_vf">
+                <table width="100%" border="0" cellpadding="5" cellspacing="0" class="editTable restrictViewFilterTable_vf">
                     <tr style="display:none">
                         <td class="editTableTitle">标题:</td>
-                        <td class="editTableValue"><input type="text" class="editTableInput titleInput"/></td>
+                        <td class="editTableValue"><input type="text" class="editTableInput titleInput_vf"/></td>
                     </tr>
                     <tr>
                         <td class="editTableTitle">路径:</td>
-                        <td class="editTableValue"><input type="text" class="editTableInput pathInput"/></td>
+                        <td class="editTableValue"><input type="text" class="editTableInput pathInput_vf"/></td>
                     </tr>
                     <tr>
                         <td class="editTableTitle">数据类型:</td>
-                        <td class="editTableValue"><select class="datatypeInput">
+                        <td class="editTableValue"><select class="datatypeInput_vf">
                             <option value="textValue" selected>文本</option>
                             <option value="numberValue">数字</option>
                             <option value="dateTimeValue">日期</option>
@@ -132,15 +132,15 @@
                     <tr style="display:none">
                         <td class="editTableTitle"></td>
                         <td class="editTableValue">
-                            <input type="radio" class="restrictFilterInput" value="restrict" name="text{$.id}viewFilterType" checked/>作为默认过滤条件<br>
-                            <input type="radio" class="customFilterInput" value="custom" name="text{$.id}viewFilterType"/>作为自定义过滤数据
+                            <input type="radio" class="restrictFilterInput_vf" value="restrict" name="text{$.id}viewFilterType" checked/>作为默认过滤条件<br>
+                            <input type="radio" class="customFilterInput_vf" value="custom" name="text{$.id}viewFilterType"/>作为自定义过滤数据
                         </td>
                     </tr>
                 </table>
                 <table id="text{$.pid}viewFilterRestrict" width="100%" border="0" cellpadding="5" cellspacing="0" class="editTable">
                     <tr>
                         <td class="editTableTitle">逻辑:</td>
-                        <td class="editTableValue"><select class="logicInput">
+                        <td class="editTableValue"><select class="logicInput_vf">
                             <option selected value="and">并且(and)</option>
                             <option value="or">或者(or)</option>
                         </select></td>
@@ -148,7 +148,7 @@
 
                     <tr>
                         <td class="editTableTitle">比较:</td>
-                        <td class="editTableValue"><select class="comparisonInput">
+                        <td class="editTableValue"><select class="comparisonInput_vf">
                             <option value="equals" selected>等于(==)</option>
                             <option value="notEquals">不等于(!=)</option>
                             <option value="greaterThan">大于(>)</option>
@@ -163,12 +163,12 @@
                     <tr style="display:none">
                         <td class="editTableTitle">值:</td>
                         <td class="editTableValue">
-                            <input type="text" class="editTableInput valueTextInput" style="display: block"/>
-                            <input type="number" class="editTableInput valueNumberInput" style="display: none"/>
-                            <input type="text" class="editTableInput valueDatetimeInput" style="display: none" readonly/>
-							<input type="text" class="editTableInput" style="display: none" readonly/>
-							<input type="text" class="editTableInput" style="display: none" readonly/>
-                            <select class="valueBooleanInput" style="display: none">
+                            <input type="text" class="editTableInput valueTextInput_vf" style="display: block"/>
+                            <input type="number" class="editTableInput valueNumberInput_vf" style="display: none"/>
+                            <input type="text" class="editTableInput valueDatetimeInput_vf" style="display: none" readonly/>
+							<input type="text" class="editTableInput valueDateInput_vf" style="display: none" readonly/>
+							<input type="text" class="editTableInput valueTimeInput_vf" style="display: none" readonly/>
+                            <select class="valueBooleanInput_vf" style="display: none">
                                 <option value="true" selected>是(True)</option>
                                 <option value="false">否(False)</option>
                             </select>
@@ -177,11 +177,11 @@
                 </table>
                 <div title="值" class="MWFFilterFormulaArea"></div>
             </div>
-            <div class="actionAreaNode"></div>
+            <div class="actionAreaNode_vf"></div>
             <div style="height: 20px; line-height: 20px; text-align:center; background-color: #eeeeee">默认过滤条件</div>
-            <div class="listAreaNode" style="min-height: 56px; border-bottom:1px solid #CCCCCC; overflow: hidden;"></div>
+            <div class="listAreaNode_vf" style="min-height: 56px; border-bottom:1px solid #CCCCCC; overflow: hidden;"></div>
             <div style="display:none; height: 20px; line-height: 20px; text-align:center; background-color: #eeeeee">自定义过滤数据</div>
-            <div class="fieldListAreaNode" style="display:none; min-height: 56px; border-bottom:1px solid #CCCCCC; overflow: hidden;"></div>
+            <div class="fieldListAreaNode_vf" style="display:none; min-height: 56px; border-bottom:1px solid #CCCCCC; overflow: hidden;"></div>
         </div>
     </div>
 

+ 16 - 16
o2web/source/x_component_process_ViewDesigner/$View/view.html

@@ -254,19 +254,19 @@
 
     <div title="过滤"  class="MWFTab">
         <div class="MWFViewFilter">
-            <div class="inputAreaNode">
-                <table width="100%" border="0" cellpadding="5" cellspacing="0" class="editTable restrictViewFilterTable">
+            <div class="inputAreaNode_vf">
+                <table width="100%" border="0" cellpadding="5" cellspacing="0" class="editTable restrictViewFilterTable_vf">
                     <tr>
                         <td class="editTableTitle">标题:</td>
-                        <td class="editTableValue"><input type="text" class="editTableInput titleInput"/></td>
+                        <td class="editTableValue"><input type="text" class="editTableInput titleInput_vf"/></td>
                     </tr>
                     <tr>
                         <td class="editTableTitle">路径:</td>
-                        <td class="editTableValue"><input type="text" class="editTableInput pathInput"/></td>
+                        <td class="editTableValue"><input type="text" class="editTableInput pathInput_vf"/></td>
                     </tr>
                     <tr>
                         <td class="editTableTitle">数据类型:</td>
-                        <td class="editTableValue"><select class="datatypeInput">
+                        <td class="editTableValue"><select class="datatypeInput_vf">
                             <option value="textValue" selected>文本</option>
                             <option value="numberValue">数字</option>
                             <option value="dateTimeValue">日期</option>
@@ -276,10 +276,10 @@
                     <tr>
                         <td class="editTableTitle"></td>
                         <td class="editTableValue">
-                            <input type="radio" class="restrictFilterInput" value="restrict" name="text{$.id}viewFilterType" onclick="if (this.checked){
+                            <input type="radio" class="restrictFilterInput_vf" value="restrict" name="text{$.id}viewFilterType" onclick="if (this.checked){
                                 $('text{$.id}viewFilterRestrict').setStyle('display', 'block');
                             }"/>作为默认过滤条件<br>
-                            <input type="radio" class="customFilterInput" value="custom" name="text{$.id}viewFilterType" onclick="if (this.checked){
+                            <input type="radio" class="customFilterInput_vf" value="custom" name="text{$.id}viewFilterType" onclick="if (this.checked){
                                 $('text{$.id}viewFilterRestrict').setStyle('display', 'none');
                             }" checked/>作为自定义过滤数据
                         </td>
@@ -288,7 +288,7 @@
                 <table id="text{$.id}viewFilterRestrict" style="display: none" width="100%" border="0" cellpadding="5" cellspacing="0" class="editTable">
                     <tr>
                         <td class="editTableTitle">逻辑:</td>
-                        <td class="editTableValue"><select class="logicInput">
+                        <td class="editTableValue"><select class="logicInput_vf">
                             <option selected value="and">并且(and)</option>
                             <option value="or">或者(or)</option>
                         </select></td>
@@ -296,7 +296,7 @@
 
                     <tr>
                         <td class="editTableTitle">比较:</td>
-                        <td class="editTableValue"><select class="comparisonInput">
+                        <td class="editTableValue"><select class="comparisonInput_vf">
                             <option value="equals" selected>等于(==)</option>
                             <option value="notEquals">不等于(!=)</option>
                             <option value="greaterThan">大于(>)</option>
@@ -310,10 +310,10 @@
                     <tr>
                         <td class="editTableTitle">值:</td>
                         <td class="editTableValue">
-                            <input type="text" class="editTableInput valueTextInput" style="display: block"/>
-                            <input type="number" class="editTableInput valueNumberInput" style="display: none"/>
-                            <input type="text" class="editTableInput valueDatetimeInput" style="display: none" readonly/>
-                            <select class="valueBooleanInput" style="display: none">
+                            <input type="text" class="editTableInput valueTextInput_vf" style="display: block"/>
+                            <input type="number" class="editTableInput valueNumberInput_vf" style="display: none"/>
+                            <input type="text" class="editTableInput valueDatetimeInput_vf" style="display: none" readonly/>
+                            <select class="valueBooleanInput_vf" style="display: none">
                                 <option value="true" selected>是(True)</option>
                                 <option value="false">否(False)</option>
                             </select>
@@ -321,11 +321,11 @@
                     </tr>
                 </table>
             </div>
-            <div class="actionAreaNode"></div>
+            <div class="actionAreaNode_vf"></div>
             <div style="height: 20px; line-height: 20px; text-align:center; background-color: #eeeeee">默认过滤条件</div>
-            <div class="listAreaNode" style="min-height: 56px; border-bottom:1px solid #CCCCCC; overflow: hidden;"></div>
+            <div class="listAreaNode_vf" style="min-height: 56px; border-bottom:1px solid #CCCCCC; overflow: hidden;"></div>
             <div style="height: 20px; line-height: 20px; text-align:center; background-color: #eeeeee">自定义过滤数据</div>
-            <div class="fieldListAreaNode" style="min-height: 56px; border-bottom:1px solid #CCCCCC; overflow: hidden;"></div>
+            <div class="fieldListAreaNode_vf" style="min-height: 56px; border-bottom:1px solid #CCCCCC; overflow: hidden;"></div>
         </div>
     </div>
 

+ 16 - 16
o2web/source/x_component_process_ViewDesigner/widget/ViewFilter.js

@@ -67,32 +67,32 @@ MWF.xApplication.process.ViewDesigner.widget.ViewFilter = new Class({
     },
 
     getInputNodes: function(){
-        this.inputAreaNode = this.node.getElement(".inputAreaNode");
-        this.actionAreaNode = this.node.getElement(".actionAreaNode");
+        this.inputAreaNode = this.node.getElement(".inputAreaNode_vf");
+        this.actionAreaNode = this.node.getElement(".actionAreaNode_vf");
         this.actionAreaNode.setStyles( this.css.actionAreaNode );
-        this.listAreaNode = this.node.getElement(".listAreaNode");
-        this.fieldListAreaNode = this.node.getElement(".fieldListAreaNode");
+        this.listAreaNode = this.node.getElement(".listAreaNode_vf");
+        this.fieldListAreaNode = this.node.getElement(".fieldListAreaNode_vf");
 
-        this.restrictViewFilterTable = this.node.getElement(".restrictViewFilterTable");
+        this.restrictViewFilterTable = this.node.getElement(".restrictViewFilterTable_vf");
 
         var scriptValueArea = this.node.getElement(".MWFFilterFormulaArea");
         if (scriptValueArea){
             this.createScriptArea(scriptValueArea);
         }
 
-        this.titleInput = this.inputAreaNode.getElement(".titleInput");
-        this.pathInput = this.inputAreaNode.getElement(".pathInput");
-        this.datatypeInput = this.inputAreaNode.getElement(".datatypeInput");
+        this.titleInput = this.inputAreaNode.getElement(".titleInput_vf");
+        this.pathInput = this.inputAreaNode.getElement(".pathInput_vf");
+        this.datatypeInput = this.inputAreaNode.getElement(".datatypeInput_vf");
 
-        this.restrictFilterInput = this.inputAreaNode.getElement(".restrictFilterInput");
-        this.customFilterInput = this.inputAreaNode.getElement(".customFilterInput");
+        this.restrictFilterInput = this.inputAreaNode.getElement(".restrictFilterInput_vf");
+        this.customFilterInput = this.inputAreaNode.getElement(".customFilterInput_vf");
 
-        this.logicInput = this.inputAreaNode.getElement(".logicInput");
-        this.comparisonInput = this.inputAreaNode.getElement(".comparisonInput");
-        this.valueTextInput = this.inputAreaNode.getElement(".valueTextInput");
-        this.valueNumberInput = this.inputAreaNode.getElement(".valueNumberInput");
-        this.valueDatetimeInput = this.inputAreaNode.getElement(".valueDatetimeInput");
-        this.valueBooleanInput = this.inputAreaNode.getElement(".valueBooleanInput");
+        this.logicInput = this.inputAreaNode.getElement(".logicInput_vf");
+        this.comparisonInput = this.inputAreaNode.getElement(".comparisonInput_vf");
+        this.valueTextInput = this.inputAreaNode.getElement(".valueTextInput_vf");
+        this.valueNumberInput = this.inputAreaNode.getElement(".valueNumberInput_vf");
+        this.valueDatetimeInput = this.inputAreaNode.getElement(".valueDatetimeInput_vf");
+        this.valueBooleanInput = this.inputAreaNode.getElement(".valueBooleanInput_vf");
 
         MWF.require("MWF.widget.Calendar", function(){
             this.calendar = new MWF.widget.Calendar(this.valueDatetimeInput, {

+ 52 - 52
o2web/source/x_component_query_ViewDesigner/$View/view.html

@@ -411,19 +411,19 @@
 
     <div title="过滤"  class="MWFTab">
         <div class="MWFViewFilter">
-            <div class="inputAreaNode">
-                <table width="100%" border="0" cellpadding="5" cellspacing="0" class="editTable restrictViewFilterTable">
+            <div class="inputAreaNode_vf">
+                <table width="100%" border="0" cellpadding="5" cellspacing="0" class="editTable restrictViewFilterTable_vf">
                     <tr>
                         <td class="editTableTitle">标题:</td>
-                        <td class="editTableValue"><input type="text" class="editTableInput titleInput"/></td>
+                        <td class="editTableValue"><input type="text" class="editTableInput titleInput_vf"/></td>
                     </tr>
                     <tr>
                         <td class="editTableTitle">路径:</td>
-                        <td class="editTableValue"><input type="text" class="editTableInput pathInput"/></td>
+                        <td class="editTableValue"><input type="text" class="editTableInput pathInput_vf"/></td>
                     </tr>
                     <tr>
                         <td class="editTableTitle">数据类型:</td>
-                        <td class="editTableValue"><select class="datatypeInput"
+                        <td class="editTableValue"><select class="datatypeInput_vf"
                                 onchange="if (this.selectedIndex==2){
                                     $('text{$.id}viewFilterDateFormulaSelector').setStyle('display', 'block');
                                     $('text{$.id}viewFilterDateFormulaSelector2').setStyle('display', 'block');
@@ -472,11 +472,11 @@
                     <tr>
                         <td class="editTableTitle"></td>
                         <td class="editTableValue">
-                            <input type="radio" class="restrictFilterInput" value="restrict" name="text{$.id}viewFilterType" onclick="if (this.checked){
+                            <input type="radio" class="restrictFilterInput_vf" value="restrict" name="text{$.id}viewFilterType" onclick="if (this.checked){
                                 $('text{$.id}viewFilterRestrict').setStyle('display', 'block');
                                 $('text{$.id}viewCustomFilterRestrict').setStyle('display', 'none');
                             }"/>作为默认过滤条件<br>
-                            <input type="radio" class="customFilterInput" value="custom" name="text{$.id}viewFilterType" onclick="if (this.checked){
+                            <input type="radio" class="customFilterInput_vf" value="custom" name="text{$.id}viewFilterType" onclick="if (this.checked){
                                 $('text{$.id}viewFilterRestrict').setStyle('display', 'none');
                                 $('text{$.id}viewCustomFilterRestrict').setStyle('display', 'block');
                             }" checked/>作为自定义过滤数据
@@ -487,7 +487,7 @@
                     <table width="100%" border="0" cellpadding="5" cellspacing="0" class="editTable">
                         <tr>
                             <td class="editTableTitle">逻辑:</td>
-                            <td class="editTableValue"><select class="logicInput">
+                            <td class="editTableValue"><select class="logicInput_vf">
                                 <option selected value="and">并且(and)</option>
                                 <option value="or">或者(or)</option>
                             </select></td>
@@ -495,7 +495,7 @@
 
                         <tr>
                             <td class="editTableTitle">比较:</td>
-                            <td class="editTableValue"><select class="comparisonInput" onchange="
+                            <td class="editTableValue"><select class="comparisonInput_vf" onchange="
                                 if (this.selectedIndex==8){
                                     $('text{$.id}viewFilterValue2Area').setStyle('display', 'block');
                                     $('text{$.id}viewFilterValueTitleArea').set('text', '从');
@@ -517,12 +517,12 @@
                         <tr>
                             <td class="editTableTitle" id="text{$.id}viewFilterValueTitleArea">值:</td>
                             <td class="editTableValue" id="text{$.id}viewFilterValueArea">
-                                <input type="text" class="editTableInput valueTextInput" style="display: block" onkeypress="$('text{$.id}viewFilterTextFormulaSelector').getElements('input').set('checked', false)"/>
-                                <input type="number" class="editTableInput valueNumberInput" style="display: none"/>
-                                <input type="text" class="editTableInput valueDatetimeInput" style="display: none" readonly/>
-                                <input type="text" class="editTableInput" style="display: none" readonly/>
-                                <input type="text" class="editTableInput" style="display: none" readonly/>
-                                <select class="valueBooleanInput" style="display: none">
+                                <input type="text" class="editTableInput valueTextInput_vf" style="display: block" onkeypress="$('text{$.id}viewFilterTextFormulaSelector').getElements('input').set('checked', false)"/>
+                                <input type="number" class="editTableInput valueNumberInput_vf" style="display: none"/>
+                                <input type="text" class="editTableInput valueDatetimeInput_vf" style="display: none" readonly/>
+                                <input type="text" class="editTableInput valueDateInput_vf" style="display: none" readonly/>
+                                <input type="text" class="editTableInput valueTimeInput_vf" style="display: none" readonly/>
+                                <select class="valueBooleanInput_vf" style="display: none">
                                     <option value="true" selected>是(True)</option>
                                     <option value="false">否(False)</option>
                                 </select>
@@ -535,11 +535,11 @@
                             <tr>
                                 <td class="editTableTitle"></td>
                                 <td class="editTableValue">
-                                    <input onclick="$('text{$.id}viewFilterValueArea').getElements('input')[2].set('value', this.value)" name="text{$.id}viewFilterDateFormula" type="radio" value="@year" />当前年度
-                                    <input onclick="$('text{$.id}viewFilterValueArea').getElements('input')[2].set('value', this.value)" name="text{$.id}viewFilterDateFormula" type="radio" value="@season" />当前季度
-                                    <input onclick="$('text{$.id}viewFilterValueArea').getElements('input')[2].set('value', this.value)" name="text{$.id}viewFilterDateFormula" type="radio" value="@month" />当前月份<br/>
-                                    <input onclick="$('text{$.id}viewFilterValueArea').getElements('input')[2].set('value', this.value)" name="text{$.id}viewFilterDateFormula" type="radio" value="@time" />当前时间
-                                    <input onclick="$('text{$.id}viewFilterValueArea').getElements('input')[2].set('value', this.value)" name="text{$.id}viewFilterDateFormula" type="radio" value="@date" />当天
+                                    <input onclick="$('text{$.id}viewFilterValueArea').getElement('.valueDatetimeInput_vf').set('value', this.value)" name="text{$.id}viewFilterDateFormula" type="radio" value="@year" />当前年度
+                                    <input onclick="$('text{$.id}viewFilterValueArea').getElement('.valueDatetimeInput_vf').set('value', this.value)" name="text{$.id}viewFilterDateFormula" type="radio" value="@season" />当前季度
+                                    <input onclick="$('text{$.id}viewFilterValueArea').getElement('.valueDatetimeInput_vf').set('value', this.value)" name="text{$.id}viewFilterDateFormula" type="radio" value="@month" />当前月份<br/>
+                                    <input onclick="$('text{$.id}viewFilterValueArea').getElement('.valueDatetimeInput_vf').set('value', this.value)" name="text{$.id}viewFilterDateFormula" type="radio" value="@time" />当前时间
+                                    <input onclick="$('text{$.id}viewFilterValueArea').getElement('.valueDatetimeInput_vf').set('value', this.value)" name="text{$.id}viewFilterDateFormula" type="radio" value="@date" />当天
 
                                 </td>
                             </tr>
@@ -550,10 +550,10 @@
                             <tr>
                                 <td class="editTableTitle"></td>
                                 <td class="editTableValue">
-                                    <input onclick="$('text{$.id}viewFilterValueArea').getElements('input')[3].set('value', this.value)" name="text{$.id}viewFilterDateFormula" type="radio" value="@year" />当前年度
-                                    <input onclick="$('text{$.id}viewFilterValueArea').getElements('input')[3].set('value', this.value)" name="text{$.id}viewFilterDateFormula" type="radio" value="@season" />当前季度
-                                    <input onclick="$('text{$.id}viewFilterValueArea').getElements('input')[3].set('value', this.value)" name="text{$.id}viewFilterDateFormula" type="radio" value="@month" />当前月份<br/>
-                                    <input onclick="$('text{$.id}viewFilterValueArea').getElements('input')[3].set('value', this.value)" name="text{$.id}viewFilterDateFormula" type="radio" value="@date" />当天
+                                    <input onclick="$('text{$.id}viewFilterValueArea').getElement('.valueDateInput_vf').set('value', this.value)" name="text{$.id}viewFilterDateFormula" type="radio" value="@year" />当前年度
+                                    <input onclick="$('text{$.id}viewFilterValueArea').getElement('.valueDateInput_vf').set('value', this.value)" name="text{$.id}viewFilterDateFormula" type="radio" value="@season" />当前季度
+                                    <input onclick="$('text{$.id}viewFilterValueArea').getElement('.valueDateInput_vf').set('value', this.value)" name="text{$.id}viewFilterDateFormula" type="radio" value="@month" />当前月份<br/>
+                                    <input onclick="$('text{$.id}viewFilterValueArea').getElement('.valueDateInput_vf').set('value', this.value)" name="text{$.id}viewFilterDateFormula" type="radio" value="@date" />当天
 
                                 </td>
                             </tr>
@@ -564,7 +564,7 @@
                             <tr>
                                 <td class="editTableTitle"></td>
                                 <td class="editTableValue">
-                                    <input onclick="$('text{$.id}viewFilterValueArea').getElements('input')[4].set('value', this.value)" name="text{$.id}viewFilterDateFormula" type="radio" value="@time" />当前时间
+                                    <input onclick="$('text{$.id}viewFilterValueArea').getElement('.valueTimeInput_vf').set('value', this.value)" name="text{$.id}viewFilterDateFormula" type="radio" value="@time" />当前时间
                                 </td>
                             </tr>
                         </table>
@@ -575,10 +575,10 @@
                             <tr>
                                 <td class="editTableTitle"></td>
                                 <td class="editTableValue">
-                                    <input onclick="$('text{$.id}viewFilterValueArea').getElements('input')[0].set('value', this.value)" name="text{$.id}viewFilterTextFormula" onclick="" type="radio" value="@person" />当前人
-                                    <input onclick="$('text{$.id}viewFilterValueArea').getElements('input')[0].set('value', this.value)" name="text{$.id}viewFilterTextFormula" type="radio" value="@identityList" />当前身份<br/>
-                                    <input onclick="$('text{$.id}viewFilterValueArea').getElements('input')[0].set('value', this.value)" name="text{$.id}viewFilterTextFormula" type="radio" value="@unitList" />当前人所在直接组织<br/>
-                                    <input onclick="$('text{$.id}viewFilterValueArea').getElements('input')[0].set('value', this.value)" name="text{$.id}viewFilterTextFormula" type="radio" value="@unitAllList" />当前人所在所有组织
+                                    <input onclick="$('text{$.id}viewFilterValueArea').getElement('.valueTextInput_vf').set('value', this.value)" name="text{$.id}viewFilterTextFormula" onclick="" type="radio" value="@person" />当前人
+                                    <input onclick="$('text{$.id}viewFilterValueArea').getElement('.valueTextInput_vf').set('value', this.value)" name="text{$.id}viewFilterTextFormula" type="radio" value="@identityList" />当前身份<br/>
+                                    <input onclick="$('text{$.id}viewFilterValueArea').getElement('.valueTextInput_vf').set('value', this.value)" name="text{$.id}viewFilterTextFormula" type="radio" value="@unitList" />当前人所在直接组织<br/>
+                                    <input onclick="$('text{$.id}viewFilterValueArea').getElement('.valueTextInput_vf').set('value', this.value)" name="text{$.id}viewFilterTextFormula" type="radio" value="@unitAllList" />当前人所在所有组织
                                 </td>
                             </tr>
                         </table>
@@ -589,12 +589,12 @@
                             <tr>
                                 <td class="editTableTitle">到:</td>
                                 <td class="editTableValue" id="text{$.id}viewFilterValueArea2">
-                                    <input type="text" class="editTableInput" style="display: block" onkeypress="$('text{$.id}viewFilterTextFormulaSelector2').getElements('input').set('checked', false)"/>
-                                    <input type="number" class="editTableInput" style="display: none"/>
-                                    <input type="text" class="editTableInput" style="display: none" readonly/>
-                                    <input type="text" class="editTableInput" style="display: none" readonly/>
-                                    <input type="text" class="editTableInput" style="display: none" readonly/>
-                                    <select style="display: none">
+                                    <input type="text" class="editTableInput valueTextInput2_vf" style="display: block" onkeypress="$('text{$.id}viewFilterTextFormulaSelector2').getElements('input').set('checked', false)"/>
+                                    <input type="number" class="editTableInput valueNumberInput2_vf" style="display: none"/>
+                                    <input type="text" class="editTableInput valueDatetimeInput2_vf" style="display: none" readonly/>
+                                    <input type="text" class="editTableInput valueDateInput2_vf" style="display: none" readonly/>
+                                    <input type="text" class="editTableInput valueTimeInput2_vf" style="display: none" readonly/>
+                                    <select class="valueBooleanInput2_vf" style="display: none">
                                         <option value="true" selected>是(True)</option>
                                         <option value="false">否(False)</option>
                                     </select>
@@ -607,11 +607,11 @@
                                 <tr>
                                     <td class="editTableTitle"></td>
                                     <td class="editTableValue">
-                                        <input onclick="$('text{$.id}viewFilterValueArea2').getElements('input')[2].set('value', this.value)" name="text{$.id}viewFilterDateFormula2" type="radio" value="@year" />当前年度
-                                        <input onclick="$('text{$.id}viewFilterValueArea2').getElements('input')[2].set('value', this.value)" name="text{$.id}viewFilterDateFormula2" type="radio" value="@season" />当前季度
-                                        <input onclick="$('text{$.id}viewFilterValueArea2').getElements('input')[2].set('value', this.value)" name="text{$.id}viewFilterDateFormula2" type="radio" value="@month" />当前月份<br/>
-                                        <input onclick="$('text{$.id}viewFilterValueArea2').getElements('input')[2].set('value', this.value)" name="text{$.id}viewFilterDateFormula2" type="radio" value="@time" />当前时间
-                                        <input onclick="$('text{$.id}viewFilterValueArea2').getElements('input')[2].set('value', this.value)" name="text{$.id}viewFilterDateFormula2" type="radio" value="@date" />当天
+                                        <input onclick="$('text{$.id}viewFilterValueArea2').getElement('.valueDatetimeInput2_vf').set('value', this.value)" name="text{$.id}viewFilterDateFormula2" type="radio" value="@year" />当前年度
+                                        <input onclick="$('text{$.id}viewFilterValueArea2').getElement('.valueDatetimeInput2_vf').set('value', this.value)" name="text{$.id}viewFilterDateFormula2" type="radio" value="@season" />当前季度
+                                        <input onclick="$('text{$.id}viewFilterValueArea2').getElement('.valueDatetimeInput2_vf').set('value', this.value)" name="text{$.id}viewFilterDateFormula2" type="radio" value="@month" />当前月份<br/>
+                                        <input onclick="$('text{$.id}viewFilterValueArea2').getElement('.valueDatetimeInput2_vf').set('value', this.value)" name="text{$.id}viewFilterDateFormula2" type="radio" value="@time" />当前时间
+                                        <input onclick="$('text{$.id}viewFilterValueArea2').getElement('.valueDatetimeInput2_vf').set('value', this.value)" name="text{$.id}viewFilterDateFormula2" type="radio" value="@date" />当天
 
                                     </td>
                                 </tr>
@@ -622,10 +622,10 @@
                                 <tr>
                                     <td class="editTableTitle"></td>
                                     <td class="editTableValue">
-                                        <input onclick="$('text{$.id}viewFilterValueArea2').getElements('input')[3].set('value', this.value)" name="text{$.id}viewFilterDateFormula" type="radio" value="@year" />当前年度
-                                        <input onclick="$('text{$.id}viewFilterValueArea2').getElements('input')[3].set('value', this.value)" name="text{$.id}viewFilterDateFormula" type="radio" value="@season" />当前季度
-                                        <input onclick="$('text{$.id}viewFilterValueArea2').getElements('input')[3].set('value', this.value)" name="text{$.id}viewFilterDateFormula" type="radio" value="@month" />当前月份<br/>
-                                        <input onclick="$('text{$.id}viewFilterValueArea2').getElements('input')[3].set('value', this.value)" name="text{$.id}viewFilterDateFormula" type="radio" value="@date" />当天
+                                        <input onclick="$('text{$.id}viewFilterValueArea2').getElement('.valueDateInput2_vf').set('value', this.value)" name="text{$.id}viewFilterDateFormula" type="radio" value="@year" />当前年度
+                                        <input onclick="$('text{$.id}viewFilterValueArea2').getElement('.valueDateInput2_vf').set('value', this.value)" name="text{$.id}viewFilterDateFormula" type="radio" value="@season" />当前季度
+                                        <input onclick="$('text{$.id}viewFilterValueArea2').getElement('.valueDateInput2_vf').set('value', this.value)" name="text{$.id}viewFilterDateFormula" type="radio" value="@month" />当前月份<br/>
+                                        <input onclick="$('text{$.id}viewFilterValueArea2').getElement('.valueDateInput2_vf').set('value', this.value)" name="text{$.id}viewFilterDateFormula" type="radio" value="@date" />当天
 
                                     </td>
                                 </tr>
@@ -636,7 +636,7 @@
                                 <tr>
                                     <td class="editTableTitle"></td>
                                     <td class="editTableValue">
-                                        <input onclick="$('text{$.id}viewFilterValueArea2').getElements('input')[4].set('value', this.value)" name="text{$.id}viewFilterDateFormula" type="radio" value="@time" />当前时间
+                                        <input onclick="$('text{$.id}viewFilterValueArea2').getElement('.valueTimeInput2_vf').set('value', this.value)" name="text{$.id}viewFilterDateFormula" type="radio" value="@time" />当前时间
                                     </td>
                                 </tr>
                             </table>
@@ -646,10 +646,10 @@
                                 <tr>
                                     <td class="editTableTitle"></td>
                                     <td class="editTableValue">
-                                        <input onclick="$('text{$.id}viewFilterValueArea2').getElements('input')[0].set('value', this.value)" name="text{$.id}viewFilterTextFormula2" onclick="" type="radio" value="@person" />当前人
-                                        <input onclick="$('text{$.id}viewFilterValueArea2').getElements('input')[0].set('value', this.value)" name="text{$.id}viewFilterTextFormula2" type="radio" value="@identityList" />当前身份<br/>
-                                        <input onclick="$('text{$.id}viewFilterValueArea2').getElements('input')[0].set('value', this.value)" name="text{$.id}viewFilterTextFormula2" type="radio" value="@unitList" />当前人所在直接组织<br/>
-                                        <input onclick="$('text{$.id}viewFilterValueArea2').getElements('input')[0].set('value', this.value)" name="text{$.id}viewFilterTextFormula2" type="radio" value="@unitAllList" />当前人所在所有组织
+                                        <input onclick="$('text{$.id}viewFilterValueArea2').getElement('.valueTextInput2_vf').set('value', this.value)" name="text{$.id}viewFilterTextFormula2" onclick="" type="radio" value="@person" />当前人
+                                        <input onclick="$('text{$.id}viewFilterValueArea2').getElement('.valueTextInput2_vf').set('value', this.value)" name="text{$.id}viewFilterTextFormula2" type="radio" value="@identityList" />当前身份<br/>
+                                        <input onclick="$('text{$.id}viewFilterValueArea2').getElement('.valueTextInput2_vf').set('value', this.value)" name="text{$.id}viewFilterTextFormula2" type="radio" value="@unitList" />当前人所在直接组织<br/>
+                                        <input onclick="$('text{$.id}viewFilterValueArea2').getElement('.valueTextInput2_vf').set('value', this.value)" name="text{$.id}viewFilterTextFormula2" type="radio" value="@unitAllList" />当前人所在所有组织
                                     </td>
                                 </tr>
                             </table>
@@ -679,11 +679,11 @@
                     </div>
                 </div>
             </div>
-            <div class="actionAreaNode"></div>
+            <div class="actionAreaNode_vf"></div>
             <div style="height: 20px; line-height: 20px; text-align:center; background-color: #eeeeee">默认过滤条件</div>
-            <div class="listAreaNode" style="min-height: 56px; border-bottom:1px solid #CCCCCC; overflow: hidden;"></div>
+            <div class="listAreaNode_vf" style="min-height: 56px; border-bottom:1px solid #CCCCCC; overflow: hidden;"></div>
             <div style="height: 20px; line-height: 20px; text-align:center; background-color: #eeeeee">自定义过滤数据</div>
-            <div class="fieldListAreaNode" style="min-height: 56px; border-bottom:1px solid #CCCCCC; overflow: hidden;"></div>
+            <div class="fieldListAreaNode_vf" style="min-height: 56px; border-bottom:1px solid #CCCCCC; overflow: hidden;"></div>
         </div>
     </div>
 

+ 201 - 72
o2web/source/x_component_query_ViewDesigner/widget/ViewFilter.js

@@ -87,43 +87,45 @@ MWF.xApplication.query.ViewDesigner.widget.ViewFilter = new Class({
         }.bind(this));
     },
     getInputNodes: function(){
-        this.inputAreaNode = this.node.getFirst("div");
-        this.actionAreaNode = this.inputAreaNode.getNext().setStyles(this.css.actionAreaNode);
-        this.listAreaNode = this.actionAreaNode.getNext().getNext();
-        this.fieldListAreaNode = this.listAreaNode.getNext().getNext();
-        this.restrictViewFilterTable = this.inputAreaNode.getLast("table");
-
-        var selects = this.inputAreaNode.getElements("select");
-        var inputs = this.inputAreaNode.getElements("input");
+        debugger;
+        this.inputAreaNode = this.node.getElement(".inputAreaNode_vf");
+        this.actionAreaNode = this.node.getElement(".actionAreaNode_vf");
+        this.actionAreaNode.setStyles( this.css.actionAreaNode );
+        this.listAreaNode = this.node.getElement(".listAreaNode_vf");
+        this.fieldListAreaNode = this.node.getElement(".fieldListAreaNode_vf");
+
+        this.restrictViewFilterTable = this.node.getElement(".restrictViewFilterTable_vf");
+
         var scriptValueArea = this.node.getElement(".MWFFilterFormulaArea");
         if (scriptValueArea){
             this.createScriptArea(scriptValueArea);
         }
 
-        this.titleInput = inputs[0];
-        this.pathInput = inputs[1];
-        this.datatypeInput = selects[0];
-
-        this.restrictFilterInput = inputs[2];
-        this.customFilterInput = inputs[3];
-
-        this.logicInput = selects[1];
-        this.comparisonInput = selects[2];
-        this.valueTextInput = inputs[4];
-        this.valueNumberInput = inputs[5];
-        this.valueDatetimeInput = inputs[6];
-        this.valueBooleanInput = selects[3];
-        this.valueDateInput = inputs[7];
-        this.valueTimeInput = inputs[8];
-
-        debugger;
-        var dataId = this.app.view.data.id;
-        this.customFilterValueTypes = this.inputAreaNode.getElements("[name='"+dataId+"viewCustomFilterValueType']");
-
-        this.customFilterValueScriptDiv = this.inputAreaNode.getElement("#"+dataId+"viewCustomFilterValueScriptDiv");
-        this.customFilterValueScript = this.inputAreaNode.getElement("[name='"+dataId+"viewCustomFilterValueScript']");
-        if( this.customFilterValueScript ){
-            this.createCustomFilterValueScriptArea(this.customFilterValueScript);
+        this.titleInput = this.inputAreaNode.getElement(".titleInput_vf");
+        this.pathInput = this.inputAreaNode.getElement(".pathInput_vf");
+        this.datatypeInput = this.inputAreaNode.getElement(".datatypeInput_vf");
+
+        this.restrictFilterInput = this.inputAreaNode.getElement(".restrictFilterInput_vf");
+        this.customFilterInput = this.inputAreaNode.getElement(".customFilterInput_vf");
+
+        this.logicInput = this.inputAreaNode.getElement(".logicInput_vf");
+        this.comparisonInput = this.inputAreaNode.getElement(".comparisonInput_vf");
+        this.valueTextInput = this.inputAreaNode.getElement(".valueTextInput_vf");
+        this.valueNumberInput = this.inputAreaNode.getElement(".valueNumberInput_vf");
+        this.valueDatetimeInput = this.inputAreaNode.getElement(".valueDatetimeInput_vf");
+        this.valueBooleanInput = this.inputAreaNode.getElement(".valueBooleanInput_vf");
+        this.valueDateInput = this.inputAreaNode.getElement(".valueDateInput_vf");
+        this.valueTimeInput = this.inputAreaNode.getElement(".valueTimeInput_vf");
+
+        if( this.app.view ){
+            var dataId = this.app.view.data.id;
+            this.customFilterValueTypes = this.inputAreaNode.getElements("[name='"+dataId+"viewCustomFilterValueType']");
+
+            this.customFilterValueScriptDiv = this.inputAreaNode.getElement("#"+dataId+"viewCustomFilterValueScriptDiv");
+            this.customFilterValueScript = this.inputAreaNode.getElement("[name='"+dataId+"viewCustomFilterValueScript']");
+            if( this.customFilterValueScript ){
+                this.createCustomFilterValueScriptArea(this.customFilterValueScript);
+            }
         }
 
         this.datatypeInput.addEvent("change");
@@ -168,48 +170,174 @@ MWF.xApplication.query.ViewDesigner.widget.ViewFilter = new Class({
         if (this.app.view){
             var id = this.app.view.data.id;
             var div = this.node.getElement("#"+id+"viewFilterValueArea2");
-            inputs = div.getElements("input");
-            this.valueTextInput2 = inputs[0] || null;
-            this.valueNumberInput2 = inputs[1] || null;
-            this.valueDatetimeInput2 = inputs[2] || null;
-            this.valueDateInput2 = inputs[3] || null;
-            this.valueTimeInput2 = inputs[4] || null;
-            this.valueBooleanInput2 = div.getElement("select") || null;
-
-            MWF.require("MWF.widget.Calendar", function(){
-                this.calendar = new MWF.widget.Calendar(this.valueDatetimeInput2, {
-                    "style": "xform",
-                    "isTime": true,
-                    "secondEnable": true,
-                    "target": this.app.content,
-                    "format": "db",
-                    "onComplate": function(){
-                        this.node.getElement("#"+id+"viewFilterDateFormulaSelector2").getElements("input").set("checked", false);
-                    }.bind(this)
-                });
-                new MWF.widget.Calendar(this.valueDateInput2, {
-                    "style": "xform",
-                    "isTime": false,
-                    "target": this.app.content,
-                    "format": "%Y-%m-%d"
-                });
-                new MWF.widget.Calendar(this.valueTimeInput2, {
-                    "style": "xform",
-                    "timeOnly": true,
-                    "secondEnable": true,
-                    "target": this.app.content,
-                    "format": "%H:%M:%S"
-                });
-            }.bind(this));
-
-            this.valueTextInput2.addEvent("keydown", function(e){
-                if (e.code==13) this.modifyOrAddFilterItem();
-            }.bind(this));
-            this.valueNumberInput2.addEvent("keydown", function(e){
-                if (e.code==13) this.modifyOrAddFilterItem();
-            }.bind(this));
+            // inputs = div.getElements("input");
+            if( div ){
+                this.valueTextInput2 = div.getElement(".valueTextInput2_vf") || null;
+                this.valueNumberInput2 = div.getElement(".valueNumberInput2_vf") || null;
+                this.valueDatetimeInput2 = div.getElement(".valueDatetimeInput2_vf") || null;
+                this.valueDateInput2 = div.getElement(".valueDateInput2_vf") || null;
+                this.valueTimeInput2 = div.getElement(".valueTimeInput2_vf") || null;
+                this.valueBooleanInput2 = div.getElement(".valueBooleanInput2_vf") || null;
+
+                MWF.require("MWF.widget.Calendar", function(){
+                    this.calendar = new MWF.widget.Calendar(this.valueDatetimeInput2, {
+                        "style": "xform",
+                        "isTime": true,
+                        "secondEnable": true,
+                        "target": this.app.content,
+                        "format": "db",
+                        "onComplate": function(){
+                            this.node.getElement("#"+id+"viewFilterDateFormulaSelector2").getElements("input").set("checked", false);
+                        }.bind(this)
+                    });
+                    new MWF.widget.Calendar(this.valueDateInput2, {
+                        "style": "xform",
+                        "isTime": false,
+                        "target": this.app.content,
+                        "format": "%Y-%m-%d"
+                    });
+                    new MWF.widget.Calendar(this.valueTimeInput2, {
+                        "style": "xform",
+                        "timeOnly": true,
+                        "secondEnable": true,
+                        "target": this.app.content,
+                        "format": "%H:%M:%S"
+                    });
+                }.bind(this));
+
+                this.valueTextInput2.addEvent("keydown", function(e){
+                    if (e.code==13) this.modifyOrAddFilterItem();
+                }.bind(this));
+                this.valueNumberInput2.addEvent("keydown", function(e){
+                    if (e.code==13) this.modifyOrAddFilterItem();
+                }.bind(this));
+            }
         }
     },
+    // getInputNodes: function(){
+    //     this.inputAreaNode = this.node.getFirst("div");
+    //     this.actionAreaNode = this.inputAreaNode.getNext().setStyles(this.css.actionAreaNode);
+    //     this.listAreaNode = this.actionAreaNode.getNext().getNext();
+    //     this.fieldListAreaNode = this.listAreaNode.getNext().getNext();
+    //     this.restrictViewFilterTable = this.inputAreaNode.getLast("table");
+    //
+    //     var selects = this.inputAreaNode.getElements("select");
+    //     var inputs = this.inputAreaNode.getElements("input");
+    //     var scriptValueArea = this.node.getElement(".MWFFilterFormulaArea");
+    //     if (scriptValueArea){
+    //         this.createScriptArea(scriptValueArea);
+    //     }
+    //
+    //     this.titleInput = inputs[0];
+    //     this.pathInput = inputs[1];
+    //     this.datatypeInput = selects[0];
+    //
+    //     this.restrictFilterInput = inputs[2];
+    //     this.customFilterInput = inputs[3];
+    //
+    //     this.logicInput = selects[1];
+    //     this.comparisonInput = selects[2];
+    //     this.valueTextInput = inputs[4];
+    //     this.valueNumberInput = inputs[5];
+    //     this.valueDatetimeInput = inputs[6];
+    //     this.valueBooleanInput = selects[3];
+    //     this.valueDateInput = inputs[7];
+    //     this.valueTimeInput = inputs[8];
+    //
+    //     debugger;
+    //     var dataId = this.app.view.data.id;
+    //     this.customFilterValueTypes = this.inputAreaNode.getElements("[name='"+dataId+"viewCustomFilterValueType']");
+    //
+    //     this.customFilterValueScriptDiv = this.inputAreaNode.getElement("#"+dataId+"viewCustomFilterValueScriptDiv");
+    //     this.customFilterValueScript = this.inputAreaNode.getElement("[name='"+dataId+"viewCustomFilterValueScript']");
+    //     if( this.customFilterValueScript ){
+    //         this.createCustomFilterValueScriptArea(this.customFilterValueScript);
+    //     }
+    //
+    //     this.datatypeInput.addEvent("change");
+    //
+    //     MWF.require("MWF.widget.Calendar", function(){
+    //         this.calendar = new MWF.widget.Calendar(this.valueDatetimeInput, {
+    //             "style": "xform",
+    //             "isTime": true,
+    //             "secondEnable": true,
+    //             "target": this.app.content,
+    //             "format": "db",
+    //             "onComplate": function(){
+    //                 this.node.getElement("#"+id+"viewFilterDateFormulaSelector").getElements("input").set("checked", false);
+    //             }.bind(this)
+    //         });
+    //         new MWF.widget.Calendar(this.valueDateInput, {
+    //             "style": "xform",
+    //             "isTime": false,
+    //             "target": this.app.content,
+    //             "format": "%Y-%m-%d"
+    //         });
+    //         new MWF.widget.Calendar(this.valueTimeInput, {
+    //             "style": "xform",
+    //             "timeOnly": true,
+    //             "secondEnable": true,
+    //             "target": this.app.content,
+    //             "format": "%H:%M:%S"
+    //         });
+    //     }.bind(this));
+    //
+    //     this.datatypeInput.addEvent("change", function(){
+    //         this.changeValueInput();
+    //     }.bind(this));
+    //
+    //     this.valueTextInput.addEvent("keydown", function(e){
+    //         if (e.code==13) this.modifyOrAddFilterItem();
+    //     }.bind(this));
+    //     this.valueNumberInput.addEvent("keydown", function(e){
+    //         if (e.code==13) this.modifyOrAddFilterItem();
+    //     }.bind(this));
+    //
+    //     if (this.app.view){
+    //         var id = this.app.view.data.id;
+    //         var div = this.node.getElement("#"+id+"viewFilterValueArea2");
+    //         inputs = div.getElements("input");
+    //         this.valueTextInput2 = inputs[0] || null;
+    //         this.valueNumberInput2 = inputs[1] || null;
+    //         this.valueDatetimeInput2 = inputs[2] || null;
+    //         this.valueDateInput2 = inputs[3] || null;
+    //         this.valueTimeInput2 = inputs[4] || null;
+    //         this.valueBooleanInput2 = div.getElement("select") || null;
+    //
+    //         MWF.require("MWF.widget.Calendar", function(){
+    //             this.calendar = new MWF.widget.Calendar(this.valueDatetimeInput2, {
+    //                 "style": "xform",
+    //                 "isTime": true,
+    //                 "secondEnable": true,
+    //                 "target": this.app.content,
+    //                 "format": "db",
+    //                 "onComplate": function(){
+    //                     this.node.getElement("#"+id+"viewFilterDateFormulaSelector2").getElements("input").set("checked", false);
+    //                 }.bind(this)
+    //             });
+    //             new MWF.widget.Calendar(this.valueDateInput2, {
+    //                 "style": "xform",
+    //                 "isTime": false,
+    //                 "target": this.app.content,
+    //                 "format": "%Y-%m-%d"
+    //             });
+    //             new MWF.widget.Calendar(this.valueTimeInput2, {
+    //                 "style": "xform",
+    //                 "timeOnly": true,
+    //                 "secondEnable": true,
+    //                 "target": this.app.content,
+    //                 "format": "%H:%M:%S"
+    //             });
+    //         }.bind(this));
+    //
+    //         this.valueTextInput2.addEvent("keydown", function(e){
+    //             if (e.code==13) this.modifyOrAddFilterItem();
+    //         }.bind(this));
+    //         this.valueNumberInput2.addEvent("keydown", function(e){
+    //             if (e.code==13) this.modifyOrAddFilterItem();
+    //         }.bind(this));
+    //     }
+    // },
     changeValueInput: function(){
         var type = this.datatypeInput.options[this.datatypeInput.selectedIndex].value;
         switch (type){
@@ -288,6 +416,7 @@ MWF.xApplication.query.ViewDesigner.widget.ViewFilter = new Class({
                 this.valueTextInput.setStyle("display", "none");
                 this.valueNumberInput.setStyle("display", "none");
                 this.valueDatetimeInput.setStyle("display", "none");
+                this.valueTimeInput.setStyle("display", "none");
                 this.valueBooleanInput.setStyle("display", "block");
                 if (this.valueTextInput2) this.valueTextInput2.setStyle("display", "none");
                 if (this.valueNumberInput2) this.valueNumberInput2.setStyle("display", "none");