提交 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){
this.statement = {
"execute": function (statement, callback, async) {
var filterList = { "filterList": (statement.filter || null) };
MWF.Actions.get("x_query_assemble_surface").executeStatement(statement.view, statement.application, filterList, function (json) {
var data = {
"grid": json.data.grid,
};
if (callback) callback(data);
}, null, async);
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(
statement.name, statement.mode || "data", statement.page || 1, statement.pageSize || 20, obj,
function (json) {
if (callback) callback(json);
}, 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) {
if (statement.statement) {
if (statement.name) {
// var parameter = this.parseParameter(statement.parameter);
// var filterList = this.parseFilter(statement.filter, parameter);
var statementJson = {
"application": statement.application || _form.json.application,
"statementName": statement.statement || "",
"statementId": statement.name || "",
"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;
......
......@@ -866,22 +866,67 @@ MWF.xScript.Environment = function(ev){
this.statement = {
"execute": function (statement, callback, async) {
var filterList = { "filterList": (statement.filter || null) };
MWF.Actions.get("x_query_assemble_surface").execute(statement.view, statement.application, filterList, function (json) {
var data = {
"grid": json.data.grid,
};
if (callback) callback(data);
}, null, async);
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(
statement.name, statement.mode || "data", statement.page || 1, statement.pageSize || 20, obj,
function (json) {
if (callback) callback(json);
}, 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) {
if (statement.statement) {
if (statement.name) {
// var parameter = this.parseParameter(statement.parameter);
// var filterList = this.parseFilter(statement.filter, parameter);
var statementJson = {
"application": statement.application || _form.json.application,
"statementName": statement.statement || "",
"statementId": statement.name || "",
"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;
......
......@@ -753,22 +753,67 @@ MWF.xScript.PageEnvironment = function (ev) {
this.statement = {
"execute": function (statement, callback, async) {
var filterList = { "filterList": (statement.filter || null) };
MWF.Actions.get("x_query_assemble_surface").execute(statement.view, statement.application, filterList, function (json) {
var data = {
"grid": json.data.grid,
};
if (callback) callback(data);
}, null, async);
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(
statement.name, statement.mode || "data", statement.page || 1, statement.pageSize || 20, obj,
function (json) {
if (callback) callback(json);
}, 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) {
if (statement.statement) {
if (statement.name) {
// var parameter = this.parseParameter(statement.parameter);
// var filterList = this.parseFilter(statement.filter, parameter);
var statementJson = {
"application": statement.application || _form.json.application,
"statementName": statement.statement || "",
"statementId": statement.name || "",
"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;
......
......@@ -669,21 +669,67 @@ MWF.xScript.ViewEnvironment = function (ev) {
this.statement = {
"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(
statement.name, statement.mode || "data", statement.page || 1, statement.pageSize || 20, obj,
function (json) {
if (callback) callback(json);
}, 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) {
if (statement.statement) {
if (statement.name) {
// var parameter = this.parseParameter(statement.parameter);
// var filterList = this.parseFilter(statement.filter, parameter);
var statementJson = {
"application": statement.application || _form.json.application,
"statementName": statement.statement || "",
"statementId": statement.name || "",
"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 +918,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(); },
......
......@@ -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);
......
......@@ -112,12 +112,15 @@ MWF.xApplication.query.StatementDesigner.Main = new Class({
this.statementListNode = new Element("div", {
"styles": this.css.statementListNode
}).inject(this.node);
this.designerNode = new Element("div", {
"styles": this.css.designerNode
}).inject(this.node);
this.contentNode = new Element("div", {
"styles": this.css.contentNode
}).inject(this.node);
this.formContentNode = this.contentNode;
},
loadStatementListNodes: function(){
this.statementListTitleNode = new Element("div", {
......
......@@ -231,6 +231,7 @@ MWF.xApplication.query.ViewDesigner.Main = new Class({
this.contentNode = new Element("div", {
"styles": this.css.contentNode
}).inject(this.node);
this.formContentNode = this.contentNode;
},
//loadViewListNodes-------------------------------
......
......@@ -929,6 +929,7 @@ MWF.xApplication.query.ViewDesigner.Property = MWF.FVProperty = new Class({
}
},
loadActionArea: function () {
debugger;
MWF.xApplication.process = MWF.xApplication.process || {};
MWF.APPFD = MWF.xApplication.process.FormDesigner = MWF.xApplication.process.FormDesigner || {};
MWF.xDesktop.requireApp("process.FormDesigner", "lp." + o2.language, null, false);
......@@ -952,7 +953,7 @@ MWF.xApplication.query.ViewDesigner.Property = MWF.FVProperty = new Class({
// actionEditor.load(this.module.defaultToolBarsData);
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,
"noReadShow": true,
"onChange": function () {
......@@ -972,7 +973,7 @@ MWF.xApplication.query.ViewDesigner.Property = MWF.FVProperty = new Class({
MWF.xDesktop.requireApp("process.FormDesigner", "widget.ActionsEditor", function () {
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,
"systemToolsAddress": "../x_component_query_ViewDesigner/$View/toolbars.json",
"noCreate": true,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册