提交 7b2b8de7 编写于 作者: U unknown

增加后台脚本API

上级 d24fd402
......@@ -27,10 +27,10 @@
<tr>
<td><a href="server.module_Dict.html">数据字典 - Dict</a></td>
<td><a href="server.module_Actions.html">服务调用 - Actions</a></td>
<td><a href="server.module_include.html">脚本引用 - include</a></td>
<td><a href="module-include_.html">脚本引用 - include</a></td>
</tr>
<tr>
<td><a href="server.module_define.html">方法定义 - define</a></td>
<td><a href="module-define_.html">方法定义 - define</a></td>
<td></td>
<td></td>
</tr>
......@@ -369,7 +369,7 @@ O2OA 可在多个位置嵌入脚本代码,用于扩展平台和实现自定义
</tr>
<tr>
<td>流程设计</td>
<td>流程设计的所有脚本(流程事件、时效脚本等等);流程活动的所有脚本(处理人、待阅人、阅读人脚本,拆分依据、时效脚本,活动事件,参数脚本、响应脚本、执行脚本等等);流程路由的条件脚本。</td>
<td>流程属性的所有脚本(流程事件、时效脚本等等);流程活动的所有脚本(处理人、待阅人、阅读人脚本,拆分依据、时效脚本,活动事件,参数脚本、响应脚本、执行脚本等等);流程路由的条件脚本。</td>
</tr>
<tr>
<td>查询配置</td>
......@@ -407,13 +407,41 @@ O2OA 可在多个位置嵌入脚本代码,用于扩展平台和实现自定义
### 后端脚本使用范围详情
#### 脚本库
流程平台、门户平台和内容管理平台中,都有脚本设计元素,可以在此创建脚本库。
![脚本库](img/home/server_script.png)
<br/><br/>
#### 服务管理
服务管理的接口和定时代理。
![定时代理](img/home/server_agent.png)
![接口](img/home/server_interface.png)
<br/><br/>
#### 流程设计
流程属性的所有脚本(流程事件、时效脚本等等)。
![流程属性](img/home/server_process.png)
流程活动的所有脚本(处理人、待阅人、阅读人脚本,拆分依据、时效脚本,活动事件,参数脚本、响应脚本、执行脚本等等)
![流程活动](img/home/server_process_activity.png)
流程路由的条件脚本。
![流程路由](img/home/server_process_route.png)
#### 查询配置
查询配置的查询语句和总数语句。
![流程路由](img/home/server_statement.png)
#### 视图列
视图列的显示脚本,可以使用this.value获取本列的列值、this.entry.data获取本行的数据。
![视图列显示脚本](img/home/server_view_column.png)
### 前端脚本使用范围详情
#### 脚本库
流程平台、门户平台和内容管理平台中,都有脚本设计元素,可以在此创建自己的脚本库。如下图:
![脚本](img/home/script.png)
![脚本](img/home/script.png)
<br/><br/>
#### 表单、页面、视图、查询视图及其组件事件
......
......@@ -1364,4 +1364,115 @@
*
* }.bind(this)
* );
*/
/**
* this.include是一个方法,当您在流程、门户或者内容管理中创建了脚本配置,可以使用this.include()用来引用脚本配置。<br/>
* @module include()
* @o2category server
* @o2ordernumber 140
*
* @param {(String|Object)} optionsOrName 可以是脚本标识字符串或者是对象。<b>流程设计中的脚本只支持字符串。</b>
* <pre><code class='language-js'>
* //如果需要引用本应用的脚本配置,将options设置为String。
* this.include("initScript") //脚本配置的名称、别名或id
*
* //如果需要引用其他应用的脚本配置,将options设置为Object;
* this.include({
* //type: 应用类型。可以为 portal process cms。
* //如果没有该选项或者值为空字符串,则表示应用脚本和被应用的脚本配置类型相同。
* //比如在门户的A应用脚本中引用门户B应用的脚本配置,则type可以省略。
* type : "portal",
* application : "首页", // 门户、流程、CMS的名称、别名、id。 默认为当前应用
* name : "initScript" // 脚本配置的名称、别名或id
* })
* </code></pre>
* @param {Function} [callback] 加载后执行的回调方法。<b>流程设计中的脚本不支持该参数。</b>
*
* @o2syntax
* //您可以在表单、流程、视图和查询视图的各个嵌入脚本中,通过this.include()来引用本应用或其他应用的脚本配置,如下:
* this.include( optionsOrName, callback )
* @example
* <caption>
* <b>样例一:</b>在通用脚本中定义一个通用的方法去获取公文管理所有的文种,在查询语句中根据该方法来拼接JPQL。<br/>
* 1、在内容管理应用中有一个fileRes的应用,在该应用中创建一个脚本,命名为FileSql,并定义方法。
* <img src='img/module/include/server_define1.png' />
* </caption>
* //定义一个方法
* this.define("getFileSQL",function(){
* var application = ["公司发文","部门发文","党委发文"];
* var appSql = " ( ";
* for(var i=0;i<application.length;i++){
* if(i==application.length-1){
* appSql = appSql + " o.applicationName = '"+application[i]+"' "
* }else{
* appSql = appSql + " o.applicationName = '"+application[i]+"' OR "
* }
* }
* appSql = appSql + " ) ";
* return appSql;
*}.bind(this));
* @example
* <caption>
* 2、在查询语句中使用该方法。
* <img src='img/module/include/server_define2.png'/>
* </caption>
* this.include({
* type : "cms",
* application : "fileRes",
* name : "FileSql"
* })
*
* var sql = this.getFileSQL();
*
* return "SELECT o FROM com.x.processplatform.core.entity.content.Task o WHERE "+sql
*/
/**
* this.define是一个方法,您在脚本中您可以通过this.define()来定义自己的方法。<br/>
* 通过这种方式定义方法,在不同的应用使用相同的方法名称也不会造成冲突。
* @module define()
* @o2category server
* @o2ordernumber 150
*
* @param {(String)} name 定义的方法名称。
* @param {Function} fun 定义的方法
* @param {Boolean} [overwrite] 定义的方法是否能被覆盖重写。默认值为true。
* @o2syntax
* this.define(name, fun, overwrite)
* @example
* <caption>
* <b>样例一:</b>在通用脚本中定义一个通用的方法去获取公文管理所有的文种,在查询语句中根据该方法来拼接JPQL。<br/>
* 1、在内容管理应用中有一个fileRes的应用,在该应用中创建一个脚本,命名为FileSql,并定义方法。
* <img src='img/module/include/server_define1.png' />
* </caption>
* //定义一个方法
* this.define("getFileSQL",function(){
* var application = ["公司发文","部门发文","党委发文"];
* var appSql = " ( ";
* for(var i=0;i<application.length;i++){
* if(i==application.length-1){
* appSql = appSql + " o.applicationName = '"+application[i]+"' "
* }else{
* appSql = appSql + " o.applicationName = '"+application[i]+"' OR "
* }
* }
* appSql = appSql + " ) ";
* return appSql;
*}.bind(this));
* @example
* <caption>
* 2、在查询语句中使用该方法。
* <img src='img/module/include/server_define2.png'/>
* </caption>
* this.include({
* type : "cms",
* application : "fileRes",
* name : "FileSql"
* })
*
* var sql = this.getFileSQL();
*
* return "SELECT o FROM com.x.processplatform.core.entity.content.Task o WHERE "+sql
*/
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册