提交 fb8623e2 编写于 作者: 蔡祥熠

Merge branch 'feature/Statement_xscript' into 'wrdp'

Merge of feature/Statement_xscript  添加查询语句相关的运行环境API to wrdp

See merge request o2oa/o2oa!2028
...@@ -697,22 +697,67 @@ MWF.xScript.CMSEnvironment = function(ev){ ...@@ -697,22 +697,67 @@ MWF.xScript.CMSEnvironment = function(ev){
this.statement = { this.statement = {
"execute": function (statement, callback, async) { "execute": function (statement, callback, async) {
var filterList = { "filterList": (statement.filter || null) }; var parameter = this.parseParameter(statement.parameter);
MWF.Actions.get("x_query_assemble_surface").executeStatement(statement.view, statement.application, filterList, function (json) { var filterList = this.parseFilter(statement.filter, parameter);
var data = { var obj = {
"grid": json.data.grid, "filterList": filterList,
"parameter" : parameter
}; };
if (callback) callback(data); MWF.Actions.load("x_query_assemble_surface").StatementAction.executeV2(
statement.name, statement.mode || "data", statement.page || 1, statement.pageSize || 20, obj,
function (json) {
if (callback) callback(json);
}, null, async); }, null, async);
}, },
parseFilter : function( filter, parameter ){
if( typeOf(filter) !== "array" )return [];
var filterList = [];
( filter || [] ).each( function (d) {
var parameterName = d.path.replace(/\./g, "_");
var value = d.value;
if( d.comparison === "like" || d.comparison === "notLike" ){
if( value.substr(0, 1) !== "%" )value = "%"+value;
if( value.substr(value.length-1,1) !== "%" )value = value+"%";
parameter[ parameterName ] = value; //"%"+value+"%";
}else{
if( d.formatType === "dateTimeValue" || d.formatType === "datetimeValue"){
value = "{ts '"+value+"'}"
}else if( d.formatType === "dateValue" ){
value = "{d '"+value+"'}"
}else if( d.formatType === "timeValue" ){
value = "{t '"+value+"'}"
}
parameter[ parameterName ] = value;
}
d.value = parameterName;
filterList.push( d );
}.bind(this));
return filterList;
},
parseParameter : function( obj ){
if( typeOf(obj) !== "object" )return {};
var parameter = {};
//传入的参数
for( var p in obj ){
var value = obj[p];
if( typeOf( value ) === "date" ){
value = "{ts '"+value.format("db")+"'}"
}
parameter[ p ] = value;
}
return parameter;
},
"select": function (statement, callback, options) { "select": function (statement, callback, options) {
if (statement.statement) { if (statement.name) {
// var parameter = this.parseParameter(statement.parameter);
// var filterList = this.parseFilter(statement.filter, parameter);
var statementJson = { var statementJson = {
"application": statement.application || _form.json.application, "statementId": statement.name || "",
"statementName": statement.statement || "",
"isTitle": (statement.isTitle === false) ? "no" : "yes", "isTitle": (statement.isTitle === false) ? "no" : "yes",
"select": (statement.isMulti === false) ? "single" : "multi", "select": (statement.isMulti === false) ? "single" : "multi",
"filter": statement.filter "filter": statement.filter,
"parameter": statement.parameter
}; };
if (!options) options = {}; if (!options) options = {};
options.width = statement.width; options.width = statement.width;
......
...@@ -866,22 +866,67 @@ MWF.xScript.Environment = function(ev){ ...@@ -866,22 +866,67 @@ MWF.xScript.Environment = function(ev){
this.statement = { this.statement = {
"execute": function (statement, callback, async) { "execute": function (statement, callback, async) {
var filterList = { "filterList": (statement.filter || null) }; var parameter = this.parseParameter(statement.parameter);
MWF.Actions.get("x_query_assemble_surface").execute(statement.view, statement.application, filterList, function (json) { var filterList = this.parseFilter(statement.filter, parameter);
var data = { var obj = {
"grid": json.data.grid, "filterList": filterList,
"parameter" : parameter
}; };
if (callback) callback(data); MWF.Actions.load("x_query_assemble_surface").StatementAction.executeV2(
statement.name, statement.mode || "data", statement.page || 1, statement.pageSize || 20, obj,
function (json) {
if (callback) callback(json);
}, null, async); }, null, async);
}, },
parseFilter : function( filter, parameter ){
if( typeOf(filter) !== "array" )return [];
var filterList = [];
( filter || [] ).each( function (d) {
var parameterName = d.path.replace(/\./g, "_");
var value = d.value;
if( d.comparison === "like" || d.comparison === "notLike" ){
if( value.substr(0, 1) !== "%" )value = "%"+value;
if( value.substr(value.length-1,1) !== "%" )value = value+"%";
parameter[ parameterName ] = value; //"%"+value+"%";
}else{
if( d.formatType === "dateTimeValue" || d.formatType === "datetimeValue"){
value = "{ts '"+value+"'}"
}else if( d.formatType === "dateValue" ){
value = "{d '"+value+"'}"
}else if( d.formatType === "timeValue" ){
value = "{t '"+value+"'}"
}
parameter[ parameterName ] = value;
}
d.value = parameterName;
filterList.push( d );
}.bind(this));
return filterList;
},
parseParameter : function( obj ){
if( typeOf(obj) !== "object" )return {};
var parameter = {};
//传入的参数
for( var p in obj ){
var value = obj[p];
if( typeOf( value ) === "date" ){
value = "{ts '"+value.format("db")+"'}"
}
parameter[ p ] = value;
}
return parameter;
},
"select": function (statement, callback, options) { "select": function (statement, callback, options) {
if (statement.statement) { if (statement.name) {
// var parameter = this.parseParameter(statement.parameter);
// var filterList = this.parseFilter(statement.filter, parameter);
var statementJson = { var statementJson = {
"application": statement.application || _form.json.application, "statementId": statement.name || "",
"statementName": statement.statement || "",
"isTitle": (statement.isTitle === false) ? "no" : "yes", "isTitle": (statement.isTitle === false) ? "no" : "yes",
"select": (statement.isMulti === false) ? "single" : "multi", "select": (statement.isMulti === false) ? "single" : "multi",
"filter": statement.filter "filter": statement.filter,
"parameter": statement.parameter
}; };
if (!options) options = {}; if (!options) options = {};
options.width = statement.width; options.width = statement.width;
......
...@@ -753,22 +753,67 @@ MWF.xScript.PageEnvironment = function (ev) { ...@@ -753,22 +753,67 @@ MWF.xScript.PageEnvironment = function (ev) {
this.statement = { this.statement = {
"execute": function (statement, callback, async) { "execute": function (statement, callback, async) {
var filterList = { "filterList": (statement.filter || null) }; var parameter = this.parseParameter(statement.parameter);
MWF.Actions.get("x_query_assemble_surface").execute(statement.view, statement.application, filterList, function (json) { var filterList = this.parseFilter(statement.filter, parameter);
var data = { var obj = {
"grid": json.data.grid, "filterList": filterList,
"parameter" : parameter
}; };
if (callback) callback(data); MWF.Actions.load("x_query_assemble_surface").StatementAction.executeV2(
statement.name, statement.mode || "data", statement.page || 1, statement.pageSize || 20, obj,
function (json) {
if (callback) callback(json);
}, null, async); }, null, async);
}, },
parseFilter : function( filter, parameter ){
if( typeOf(filter) !== "array" )return [];
var filterList = [];
( filter || [] ).each( function (d) {
var parameterName = d.path.replace(/\./g, "_");
var value = d.value;
if( d.comparison === "like" || d.comparison === "notLike" ){
if( value.substr(0, 1) !== "%" )value = "%"+value;
if( value.substr(value.length-1,1) !== "%" )value = value+"%";
parameter[ parameterName ] = value; //"%"+value+"%";
}else{
if( d.formatType === "dateTimeValue" || d.formatType === "datetimeValue"){
value = "{ts '"+value+"'}"
}else if( d.formatType === "dateValue" ){
value = "{d '"+value+"'}"
}else if( d.formatType === "timeValue" ){
value = "{t '"+value+"'}"
}
parameter[ parameterName ] = value;
}
d.value = parameterName;
filterList.push( d );
}.bind(this));
return filterList;
},
parseParameter : function( obj ){
if( typeOf(obj) !== "object" )return {};
var parameter = {};
//传入的参数
for( var p in obj ){
var value = obj[p];
if( typeOf( value ) === "date" ){
value = "{ts '"+value.format("db")+"'}"
}
parameter[ p ] = value;
}
return parameter;
},
"select": function (statement, callback, options) { "select": function (statement, callback, options) {
if (statement.statement) { if (statement.name) {
// var parameter = this.parseParameter(statement.parameter);
// var filterList = this.parseFilter(statement.filter, parameter);
var statementJson = { var statementJson = {
"application": statement.application || _form.json.application, "statementId": statement.name || "",
"statementName": statement.statement || "",
"isTitle": (statement.isTitle === false) ? "no" : "yes", "isTitle": (statement.isTitle === false) ? "no" : "yes",
"select": (statement.isMulti === false) ? "single" : "multi", "select": (statement.isMulti === false) ? "single" : "multi",
"filter": statement.filter "filter": statement.filter,
"parameter": statement.parameter
}; };
if (!options) options = {}; if (!options) options = {};
options.width = statement.width; options.width = statement.width;
......
...@@ -669,21 +669,67 @@ MWF.xScript.ViewEnvironment = function (ev) { ...@@ -669,21 +669,67 @@ MWF.xScript.ViewEnvironment = function (ev) {
this.statement = { this.statement = {
"execute": function (statement, callback, async) { "execute": function (statement, callback, async) {
var obj = { "filterList": (statement.filterList || []), parameter : (statement.parameter || {}) }; var parameter = this.parseParameter(statement.parameter);
var filterList = this.parseFilter(statement.filter, parameter);
var obj = {
"filterList": filterList,
"parameter" : parameter
};
MWF.Actions.load("x_query_assemble_surface").StatementAction.executeV2( MWF.Actions.load("x_query_assemble_surface").StatementAction.executeV2(
statement.name, statement.mode || "data", statement.page || 1, statement.pageSize || 20, obj, statement.name, statement.mode || "data", statement.page || 1, statement.pageSize || 20, obj,
function (json) { function (json) {
if (callback) callback(json); if (callback) callback(json);
}, null, async); }, null, async);
}, },
parseFilter : function( filter, parameter ){
if( typeOf(filter) !== "array" )return [];
var filterList = [];
( filter || [] ).each( function (d) {
var parameterName = d.path.replace(/\./g, "_");
var value = d.value;
if( d.comparison === "like" || d.comparison === "notLike" ){
if( value.substr(0, 1) !== "%" )value = "%"+value;
if( value.substr(value.length-1,1) !== "%" )value = value+"%";
parameter[ parameterName ] = value; //"%"+value+"%";
}else{
if( d.formatType === "dateTimeValue" || d.formatType === "datetimeValue"){
value = "{ts '"+value+"'}"
}else if( d.formatType === "dateValue" ){
value = "{d '"+value+"'}"
}else if( d.formatType === "timeValue" ){
value = "{t '"+value+"'}"
}
parameter[ parameterName ] = value;
}
d.value = parameterName;
filterList.push( d );
}.bind(this));
return filterList;
},
parseParameter : function( obj ){
if( typeOf(obj) !== "object" )return {};
var parameter = {};
//传入的参数
for( var p in obj ){
var value = obj[p];
if( typeOf( value ) === "date" ){
value = "{ts '"+value.format("db")+"'}"
}
parameter[ p ] = value;
}
return parameter;
},
"select": function (statement, callback, options) { "select": function (statement, callback, options) {
if (statement.statement) { if (statement.name) {
// var parameter = this.parseParameter(statement.parameter);
// var filterList = this.parseFilter(statement.filter, parameter);
var statementJson = { var statementJson = {
"application": statement.application || _form.json.application, "statementId": statement.name || "",
"statementName": statement.statement || "",
"isTitle": (statement.isTitle === false) ? "no" : "yes", "isTitle": (statement.isTitle === false) ? "no" : "yes",
"select": (statement.isMulti === false) ? "single" : "multi", "select": (statement.isMulti === false) ? "single" : "multi",
"filter": statement.filter "filter": statement.filter,
"parameter": statement.parameter
}; };
if (!options) options = {}; if (!options) options = {};
options.width = statement.width; options.width = statement.width;
...@@ -872,7 +918,8 @@ MWF.xScript.ViewEnvironment = function (ev) { ...@@ -872,7 +918,8 @@ MWF.xScript.ViewEnvironment = function (ev) {
"selectAll" : function () { return _form.selectAll(); }, "selectAll" : function () { return _form.selectAll(); },
"unSelectAll" : function () { return _form.unSelectAll(); }, "unSelectAll" : function () { return _form.unSelectAll(); },
"getSelectedData" : function () { return _form.getSelectedData(); }, "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); }, "switchView" : function ( options ) { return _form.switchView(options); },
"switchStatement" : function ( options ) { if(_form.switchStatement)_form.switchStatement(options) ; }, "switchStatement" : function ( options ) { if(_form.switchStatement)_form.switchStatement(options) ; },
"reload" : function () { _form.reload(); }, "reload" : function () { _form.reload(); },
......
...@@ -53,6 +53,7 @@ MWF.xApplication.query.Query.Statement = MWF.QStatement = new Class({ ...@@ -53,6 +53,7 @@ MWF.xApplication.query.Query.Statement = MWF.QStatement = new Class({
if (this.json.view){ if (this.json.view){
this.viewJson = JSON.decode(this.json.view); this.viewJson = JSON.decode(this.json.view);
this.statementJson = this.json; this.statementJson = this.json;
this.statementJson.viewJson = this.viewJson;
if (callback) callback(); if (callback) callback();
}else{ }else{
this.getView(callback); this.getView(callback);
...@@ -181,6 +182,7 @@ MWF.xApplication.query.Query.Statement = MWF.QStatement = new Class({ ...@@ -181,6 +182,7 @@ MWF.xApplication.query.Query.Statement = MWF.QStatement = new Class({
}, },
loadParameter : function(){ loadParameter : function(){
this.parameter = {}; this.parameter = {};
debugger;
var parameter = this.json.parameter ? Object.clone(this.json.parameter) : {}; var parameter = this.json.parameter ? Object.clone(this.json.parameter) : {};
//系统默认的参数 //系统默认的参数
( this.viewJson.parameterList || [] ).each( function (f) { ( this.viewJson.parameterList || [] ).each( function (f) {
...@@ -189,36 +191,31 @@ MWF.xApplication.query.Query.Statement = MWF.QStatement = new Class({ ...@@ -189,36 +191,31 @@ MWF.xApplication.query.Query.Statement = MWF.QStatement = new Class({
value = parameter[ f.parameter ]; value = parameter[ f.parameter ];
delete parameter[ f.parameter ]; delete parameter[ f.parameter ];
} }
debugger;
if( typeOf( value ) === "date" ){ if( typeOf( value ) === "date" ){
value = value.format("db"); value = value.format("db");
} }
if( f.valueType === "script" ){ if( f.valueType === "script" ){
value = this.Macro.exec( f.valueScript ? f.valueScript.code : "", this); value = this.Macro.exec( f.valueScript ? f.valueScript.code : "", this);
}else{ }else{
//var user = layout.user; var user = layout.user;
switch ( f.value ) { switch ( f.value ) {
case "@person": case "@person":
case "person": value = user.distinguishedName;
//value = user.distinguishedName;
break; break;
case "@identityList": case "@identityList":
case "identityList": value = user.identityList.map( function (d) {
//value = user.identityList.map( function (d) { return d.distinguishedName;
// return d.distinguishedName; });
//});
break; break;
case "@unitList": case "@unitList":
case "unitList": o2.Actions.load("x_organization_assemble_express").UnitAction.listWithPerson({ "personList" : [user.distinguishedName] }, function (json) {
//o2.Actions.load("x_organization_assemble_express").UnitAction.listWithPerson({ "personList" : [user.distinguishedName] }, function (json) { value = json.unitList;
// value = json.unitList; }, null, false);
//}, null, false);
break; break;
case "@unitAllList": case "@unitAllList":
case "unitAllList": o2.Actions.load("x_organization_assemble_express").UnitAction.listWithIdentitySupNested({ "personList" : [user.distinguishedName] }, function (json) {
//o2.Actions.load("x_organization_assemble_express").UnitAction.listWithIdentitySupNested({ "personList" : [user.distinguishedName] }, function (json) { value = json.unitList;
// value = json.unitList; }, null, false);
//}, null, false);
break; break;
case "@year": case "@year":
value = (new Date().getFullYear()).toString(); value = (new Date().getFullYear()).toString();
...@@ -260,9 +257,9 @@ MWF.xApplication.query.Query.Statement = MWF.QStatement = new Class({ ...@@ -260,9 +257,9 @@ MWF.xApplication.query.Query.Statement = MWF.QStatement = new Class({
for( var p in parameter ){ for( var p in parameter ){
var value = parameter[p]; var value = parameter[p];
if( typeOf( value ) === "date" ){ if( typeOf( value ) === "date" ){
value = "{ts '"+value+"'}" value = "{ts '"+value.format("db")+"'}"
} }
parameter[ p ] = value; this.parameter[ p ] = value;
} }
}, },
loadCurrentPageData: function( callback, async, type ){ loadCurrentPageData: function( callback, async, type ){
...@@ -332,6 +329,7 @@ MWF.xApplication.query.Query.Statement = MWF.QStatement = new Class({ ...@@ -332,6 +329,7 @@ MWF.xApplication.query.Query.Statement = MWF.QStatement = new Class({
this.json.application = json.data.query; this.json.application = json.data.query;
//this.json = Object.merge(this.json, json.data); //this.json = Object.merge(this.json, json.data);
this.statementJson = json.data; this.statementJson = json.data;
this.statementJson.viewJson = this.viewJson;
if (callback) callback(); if (callback) callback();
}.bind(this)); }.bind(this));
}, },
...@@ -480,7 +478,15 @@ MWF.xApplication.query.Query.Statement = MWF.QStatement = new Class({ ...@@ -480,7 +478,15 @@ MWF.xApplication.query.Query.Statement = MWF.QStatement = new Class({
}, },
//搜索相关结束 //搜索相关结束
getStatementInfor : function () { 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) { switchStatement : function (json) {
this.switchView(json); this.switchView(json);
......
...@@ -112,12 +112,15 @@ MWF.xApplication.query.StatementDesigner.Main = new Class({ ...@@ -112,12 +112,15 @@ MWF.xApplication.query.StatementDesigner.Main = new Class({
this.statementListNode = new Element("div", { this.statementListNode = new Element("div", {
"styles": this.css.statementListNode "styles": this.css.statementListNode
}).inject(this.node); }).inject(this.node);
this.designerNode = new Element("div", { this.designerNode = new Element("div", {
"styles": this.css.designerNode "styles": this.css.designerNode
}).inject(this.node); }).inject(this.node);
this.contentNode = new Element("div", { this.contentNode = new Element("div", {
"styles": this.css.contentNode "styles": this.css.contentNode
}).inject(this.node); }).inject(this.node);
this.formContentNode = this.contentNode;
}, },
loadStatementListNodes: function(){ loadStatementListNodes: function(){
this.statementListTitleNode = new Element("div", { this.statementListTitleNode = new Element("div", {
......
...@@ -231,6 +231,7 @@ MWF.xApplication.query.ViewDesigner.Main = new Class({ ...@@ -231,6 +231,7 @@ MWF.xApplication.query.ViewDesigner.Main = new Class({
this.contentNode = new Element("div", { this.contentNode = new Element("div", {
"styles": this.css.contentNode "styles": this.css.contentNode
}).inject(this.node); }).inject(this.node);
this.formContentNode = this.contentNode;
}, },
//loadViewListNodes------------------------------- //loadViewListNodes-------------------------------
......
...@@ -929,6 +929,7 @@ MWF.xApplication.query.ViewDesigner.Property = MWF.FVProperty = new Class({ ...@@ -929,6 +929,7 @@ MWF.xApplication.query.ViewDesigner.Property = MWF.FVProperty = new Class({
} }
}, },
loadActionArea: function () { loadActionArea: function () {
debugger;
MWF.xApplication.process = MWF.xApplication.process || {}; MWF.xApplication.process = MWF.xApplication.process || {};
MWF.APPFD = MWF.xApplication.process.FormDesigner = MWF.xApplication.process.FormDesigner || {}; MWF.APPFD = MWF.xApplication.process.FormDesigner = MWF.xApplication.process.FormDesigner || {};
MWF.xDesktop.requireApp("process.FormDesigner", "lp." + o2.language, null, false); MWF.xDesktop.requireApp("process.FormDesigner", "lp." + o2.language, null, false);
...@@ -952,7 +953,7 @@ MWF.xApplication.query.ViewDesigner.Property = MWF.FVProperty = new Class({ ...@@ -952,7 +953,7 @@ MWF.xApplication.query.ViewDesigner.Property = MWF.FVProperty = new Class({
// actionEditor.load(this.module.defaultToolBarsData); // actionEditor.load(this.module.defaultToolBarsData);
var actionEditor = new MWF.xApplication.process.FormDesigner.widget.ActionsEditor(node, this.designer, this.data, { var actionEditor = new MWF.xApplication.process.FormDesigner.widget.ActionsEditor(node, this.designer, this.data, {
"maxObj": this.propertyNode.parentElement.parentElement.parentElement, "maxObj": this.propertyNode.parentElement.parentElement,
"noEditShow": true, "noEditShow": true,
"noReadShow": true, "noReadShow": true,
"onChange": function () { "onChange": function () {
...@@ -972,7 +973,7 @@ MWF.xApplication.query.ViewDesigner.Property = MWF.FVProperty = new Class({ ...@@ -972,7 +973,7 @@ MWF.xApplication.query.ViewDesigner.Property = MWF.FVProperty = new Class({
MWF.xDesktop.requireApp("process.FormDesigner", "widget.ActionsEditor", function () { MWF.xDesktop.requireApp("process.FormDesigner", "widget.ActionsEditor", function () {
var actionEditor = new MWF.xApplication.process.FormDesigner.widget.ActionsEditor(node, this.designer, this.data, { var actionEditor = new MWF.xApplication.process.FormDesigner.widget.ActionsEditor(node, this.designer, this.data, {
"maxObj": this.propertyNode.parentElement.parentElement.parentElement, "maxObj": this.propertyNode.parentElement.parentElement,
"isSystemTool": true, "isSystemTool": true,
"systemToolsAddress": "../x_component_query_ViewDesigner/$View/toolbars.json", "systemToolsAddress": "../x_component_query_ViewDesigner/$View/toolbars.json",
"noCreate": true, "noCreate": true,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册