O2OA API

Module

include

在流程、门户、内容管理或服务管理中可以创建了脚本配置。
默认情况下系统以javascript格式进行编辑。 这个时候可以使用this.include()引用脚本配置。
在v9.2以后,如果脚本配置名称以.json 、 .html 或 .css结束,系统会加载相应的编辑器。 这种情况您可以使用如下方法获取内容。

this.includeHmtl();
this.includeCss();
this.includeJson();

Methods

inner

include(optionsOrName, callbackopt)

this.include是一个方法,当您在流程、门户、内容管理或服务管理中创建了脚本配置,可以使用this.include()用来引用脚本配置。
v8.0及以后版本中增加了服务管理的脚本配置。

Syntax

//您可以在表单、流程、视图和查询视图的各个嵌入脚本中,通过this.include()来引用本应用或其他应用的脚本配置,如下:
this.include( optionsOrName, callback )

Parameters

  • optionsOrName String | Object

    可以是脚本标识字符串或者是对象。

    
    
    //如果需要引用其他应用的脚本配置,将options设置为Object;
    this.include({
          //type: 应用类型。可以为 portal  process  cms  service。流程脚本默认为process,服务管理中默认为service
          type : "portal",
          application : "首页", // 门户、流程、CMS的名称、别名、id。 引用服务管理的脚本则忽略该参数。
          name : "initScript" // 脚本配置的名称、别名或id
    });
    
    //引用服务管理中的脚本
    this.include({
      "type": "service",
      "name": "scriptName"
    });
    
    //引用流程管理中的脚本
    this.include({
      "type": "process",
      "application": "appName",
      "name": "scriptName"
    });
    
    //引用内容管理中的脚本
    this.include({
      "type": "cms",
      "application": "appName",
      "name": "scriptName"
    });
    
    //引用门户管理中的脚本
    this.include({
      "type": "portal",
      "application": "appName",
      "name": "scriptName"
    });
    
  • callback function <optional>

    加载后执行的回调方法。

Examples

样例一:在通用脚本中定义一个通用的方法去获取公文管理所有的文种,在查询语句中根据该方法来拼接JPQL。
1、在内容管理应用中有一个fileRes的应用,在该应用中创建一个脚本,命名为FileSql,并定义方法。

//定义一个方法
this.define('getFileSQL',function(){
  const application = ['公司发文','部门发文','党委发文'];
  const apps = application.map((app)=>{
      return `o.applicationName = '${app}'`
  });
  return `(${apps.join(' OR ')})`;
});

2、在查询语句中使用该方法。

this.include({
  type : 'cms',
  application : 'fileRes',
  name : 'FileSql'
});
const sql = this.getFileSQL();
return `SELECT o FROM com.x.processplatform.core.entity.content.Task o WHERE ${sql}`;

Source

inner

includeHtml(optionsOrName, callbackopt, asyncopt)

当脚本配置保存的是html文件(名称以.html结束),this.includeHtml可以以获取html内容。

Syntax

this.includeHtml( optionsOrName, callback, async )

Parameters

  • optionsOrName String | Object

    可以是脚本标识字符串或者是对象。

    
    //如果需要获取本应用的html(在脚本配置中),将options设置为String。
    this.includeHtml("test.html") //脚本配置的名称、别名或id
    
    //如果需要获取其他应用的html,将options设置为Object;
    this.includeHtml({
          //type: 应用类型。可以为 portal  process  cms  service。
          //如果没有该选项或者值为空字符串,则表示应用脚本和被应用的脚本配置类型相同。
          //比如在门户的A应用脚本中引用门户B应用的脚本配置,则type可以省略。
          type : "portal",
          application : "首页", // 门户、流程、CMS的名称、别名、id。 默认为当前应用,如果脚本在服务管理中忽略该参数
          name : "test.html" // 脚本配置的名称、别名或id
    })
    
    //获取服务管理中的html
    this.includeHtml({
      "type": "service",
      "name": "scriptName"
    });
    
    //获取流程管理中的html
    this.includeHtml({
      "type": "process",
      "application": "appName",
      "name": "scriptName"
    });
    
    //获取内容管理中的html
    this.includeHtml({
      "type": "cms",
      "application": "appName",
      "name": "scriptName"
    });
    
    //获取门户管理中的html
    this.includeHtml({
      "type": "portal",
      "application": "appName",
      "name": "scriptName"
    });
    
  • callback function <optional>

    加载后执行的回调方法

  • async Boolean <optional>

    是否异步加载,默认为true

Since

  • v9.2

Example

//同步获取html(不推荐)
//在门户的脚本库里配置了html,名称为test.html
var html = this.includeHtml({
  "type": "portal",
  "application": "appName", //门户的标识
  "name": "test.html"
});

Source

inner

includeCss(optionsOrName, callbackopt, asyncopt)

当脚本配置保存的是css文件(名称以.css结束),this.includeCss可以以获取html内容。

Syntax

this.includeCss( optionsOrName, callback, async )

Parameters

  • optionsOrName String | Object

    可以是脚本标识字符串或者是对象。

    
    //如果需要获取本应用的css(在脚本配置中),将options设置为String。
    this.includeCss("test.css") //脚本配置的名称、别名或id
    
    //如果需要获取其他应用的html,将options设置为Object;
    this.includeCss({
          //type: 应用类型。可以为 portal  process  cms  service。
          //如果没有该选项或者值为空字符串,则表示应用脚本和被应用的脚本配置类型相同。
          //比如在门户的A应用脚本中引用门户B应用的脚本配置,则type可以省略。
          type : "portal",
          application : "首页", // 门户、流程、CMS的名称、别名、id。 默认为当前应用,如果脚本在服务管理中忽略该参数
          name : "initScript" // 脚本配置的名称、别名或id
    })
    
    //获取服务管理中的html
    this.includeCss({
      "type": "service",
      "name": "scriptName"
    });
    
    //获取流程管理中的html
    this.includeCss({
      "type": "process",
      "application": "appName",
      "name": "scriptName"
    });
    
    //获取内容管理中的html
    this.includeCss({
      "type": "cms",
      "application": "appName",
      "name": "scriptName"
    });
    
    //获取门户管理中的html
    this.includeCss({
      "type": "portal",
      "application": "appName",
      "name": "scriptName"
    });
    
  • callback function <optional>

    加载后执行的回调方法

  • async Boolean <optional>

    是否异步加载,默认为true

Since

  • v9.2

Example

//同步获取css文本(不推荐)
//在门户的脚本库里配置了css,名称为test.css
var cssText = this.includeCss({
  "type": "portal",
  "application": "appName", //门户的标识
  "name": "test.css"
});

Source

inner

includeJson(optionsOrName, callbackopt, asyncopt)

当脚本配置保存的是json文件(名称以.json结束),this.includeJson可以以获取json内容。

Syntax

this.includeJson( optionsOrName, callback, async )

Parameters

  • optionsOrName String | Object

    可以是脚本标识字符串或者是对象。

    
    //如果需要获取本应用的json(在脚本配置中),将options设置为String。
    this.includeJson("test.json") //脚本配置的名称、别名或id
    
    //如果需要获取其他应用的html,将options设置为Object;
    this.includeJson({
          //type: 应用类型。可以为 portal  process  cms  service。
          //如果没有该选项或者值为空字符串,则表示应用脚本和被应用的脚本配置类型相同。
          //比如在门户的A应用脚本中引用门户B应用的脚本配置,则type可以省略。
          type : "portal",
          application : "首页", // 门户、流程、CMS的名称、别名、id。 默认为当前应用,如果脚本在服务管理中忽略该参数
          name : "initScript" // 脚本配置的名称、别名或id
    })
    
    //获取服务管理中的json对象
    this.includeJson({
      "type": "service",
      "name": "scriptName"
    });
    
    //获取流程管理中的json对象
    this.includeJson({
      "type": "process",
      "application": "appName",
      "name": "scriptName"
    });
    
    //获取内容管理中的json对象
    this.includeJson({
      "type": "cms",
      "application": "appName",
      "name": "scriptName"
    });
    
    //获取门户管理中的json对象
    this.includeJson({
      "type": "portal",
      "application": "appName",
      "name": "scriptName"
    });
    
  • callback function <optional>

    加载后执行的回调方法

  • async Boolean <optional>

    是否异步加载,默认为true

Since

  • v9.2

Example

//同步获取json数据(不推荐)
//在门户的脚本库里配置了css,名称为test.json
var json = this.includeJson({
  "type": "portal",
  "application": "appName", //门户的标识
  "name": "test.json"
});

Source

results matching

    No results matching ''