Browse Source

添加查询语句相关API方法

unknown 5 years ago
parent
commit
87ccbc85e8

+ 5 - 3
o2web/source/o2_core/o2/xScript/ViewEnvironment.js

@@ -669,7 +669,7 @@ MWF.xScript.ViewEnvironment = function (ev) {
 
     this.statement = {
         "execute": function (statement, callback, async) {
-            var obj = { "filterList": (statement.filterList || []), parameter : (statement.parameter || {}) };
+            var obj = { "filterList": (statement.filter || []), parameter : (statement.parameter || {}) };
             MWF.Actions.load("x_query_assemble_surface").StatementAction.executeV2(
                 statement.name, statement.mode || "data", statement.page || 1, statement.pageSize || 20, obj,
                 function (json) {
@@ -683,7 +683,8 @@ MWF.xScript.ViewEnvironment = function (ev) {
                     "statementName": statement.statement || "",
                     "isTitle": (statement.isTitle === false) ? "no" : "yes",
                     "select": (statement.isMulti === false) ? "single" : "multi",
-                    "filter": statement.filter
+                    "filter": statement.filter,
+                    "parameter": statement.parameter
                 };
                 if (!options) options = {};
                 options.width = statement.width;
@@ -872,7 +873,8 @@ MWF.xScript.ViewEnvironment = function (ev) {
         "selectAll" : function () { return _form.selectAll(); },
         "unSelectAll" : function () { return _form.unSelectAll(); },
         "getSelectedData" : function () { return _form.getSelectedData(); },
-        "setFilter" : function ( filter ) { return _form.setFilter(filter); },
+        "setFilter" : function ( filter, callback ) { return _form.setFilter(filter, callback); },
+        "setStatementFilter" : function ( filter , parameter, callback) { return _form.setFilter(filter, parameter, callback); },
         "switchView" : function ( options ) { return _form.switchView(options); },
         "switchStatement" : function ( options ) { if(_form.switchStatement)_form.switchStatement(options) ; },
         "reload" : function () { _form.reload(); },

+ 25 - 19
o2web/source/x_component_query_Query/Statement.js

@@ -53,6 +53,7 @@ MWF.xApplication.query.Query.Statement = MWF.QStatement = new Class({
         if (this.json.view){
             this.viewJson = JSON.decode(this.json.view);
             this.statementJson = this.json;
+            this.statementJson.viewJson = this.viewJson;
             if (callback) callback();
         }else{
             this.getView(callback);
@@ -181,6 +182,7 @@ MWF.xApplication.query.Query.Statement = MWF.QStatement = new Class({
     },
     loadParameter : function(){
         this.parameter = {};
+        debugger;
         var parameter = this.json.parameter ? Object.clone(this.json.parameter) : {};
         //系统默认的参数
         ( this.viewJson.parameterList || [] ).each( function (f) {
@@ -189,36 +191,31 @@ MWF.xApplication.query.Query.Statement = MWF.QStatement = new Class({
                 value = parameter[ f.parameter ];
                 delete parameter[ f.parameter ];
             }
-            debugger;
             if( typeOf( value ) === "date" ){
                 value = value.format("db");
             }
             if( f.valueType === "script" ){
                 value = this.Macro.exec( f.valueScript ? f.valueScript.code : "", this);
             }else{
-                //var user = layout.user;
+                var user = layout.user;
                 switch ( f.value ) {
                     case "@person":
-                    case "person":
-                        //value = user.distinguishedName;
+                        value = user.distinguishedName;
                         break;
                     case "@identityList":
-                    case "identityList":
-                        //value =  user.identityList.map( function (d) {
-                        //    return d.distinguishedName;
-                        //});
+                        value =  user.identityList.map( function (d) {
+                           return d.distinguishedName;
+                        });
                         break;
                     case "@unitList":
-                    case "unitList":
-                        //o2.Actions.load("x_organization_assemble_express").UnitAction.listWithPerson({ "personList" : [user.distinguishedName] }, function (json) {
-                        //    value = json.unitList;
-                        //}, null, false);
+                        o2.Actions.load("x_organization_assemble_express").UnitAction.listWithPerson({ "personList" : [user.distinguishedName] }, function (json) {
+                           value = json.unitList;
+                        }, null, false);
                         break;
                     case "@unitAllList":
-                    case "unitAllList":
-                        //o2.Actions.load("x_organization_assemble_express").UnitAction.listWithIdentitySupNested({ "personList" : [user.distinguishedName] }, function (json) {
-                        //    value = json.unitList;
-                        //}, null, false);
+                        o2.Actions.load("x_organization_assemble_express").UnitAction.listWithIdentitySupNested({ "personList" : [user.distinguishedName] }, function (json) {
+                           value = json.unitList;
+                        }, null, false);
                         break;
                     case "@year":
                         value = (new Date().getFullYear()).toString();
@@ -260,9 +257,9 @@ MWF.xApplication.query.Query.Statement = MWF.QStatement = new Class({
         for( var p in parameter ){
             var value = parameter[p];
             if( typeOf( value ) === "date" ){
-                value = "{ts '"+value+"'}"
+                value = "{ts '"+value.format("db")+"'}"
             }
-            parameter[ p ] = value;
+            this.parameter[ p ] = value;
         }
     },
     loadCurrentPageData: function( callback, async, type ){
@@ -332,6 +329,7 @@ MWF.xApplication.query.Query.Statement = MWF.QStatement = new Class({
             this.json.application = json.data.query;
             //this.json = Object.merge(this.json, json.data);
             this.statementJson = json.data;
+            this.statementJson.viewJson = this.viewJson;
             if (callback) callback();
         }.bind(this));
     },
@@ -480,7 +478,15 @@ MWF.xApplication.query.Query.Statement = MWF.QStatement = new Class({
     },
     //搜索相关结束
     getStatementInfor : function () {
-        return this.json;
+        debugger;
+        return this.statementJson;
+    },
+    getPageInfor : function(){
+        return {
+            pages : this.pages,
+            perPageCount : this.json.pageSize,
+            currentPageNumber : this.currentPage
+        };
     },
     switchStatement : function (json) {
         this.switchView(json);