O2OA API

Class

Importer

Extends

Importer 导入数据组件,本组件通过导入模型来执行数据的导入,支持内容管理文档,流程管理work,自建表数据的导入。

Usable Range

Process CMS Portal

Since

  • v6.2

Example

//可以在脚本中获取该组件
//方法1:
var importer = this.form.get("fieldId"); //获取组件
//方法2
var importer = this.target; //在组件本身的脚本中获取

Source

Members

jsonJsonObject

组件的配置信息,比如id,类型,是否只读等等。可以在组件的queryLoad事件里修改该配置来对组件做一些改变。

Type

  • JsonObject

Example

//可以在脚本中获取该组件
var json = this.form.get("fieldId").json; //获取组件对象
var id = json.id; //获取组件的id
var type = json.type; //获取组件的类型,如Textfield 为文本输入组件,Select为下拉组件

//在组件queryLoad事件里设置组件只读。
//当前组件的queryLoad事件运行时还没有在form里注册,通过this.form.get("fieldId")不能获取到当前组件,需要用this.target获取。
var json = this.target.json;
json.isReadonly = true; //设置组件为只读。

Source

parentLineMWF.xApplication.process.Xform.Datatemplate.Line|MWF.xApplication.process.Xform.DatatablePC.Line|MWF.xApplication.process.Xform.DatatableMobile.Line

当前组件在数据表格或者数据模板中时,可以通过此属性获取所在行(条目)对象.

Type

  • MWF.xApplication.process.Xform.Datatemplate.Line | MWF.xApplication.process.Xform.DatatablePC.Line | MWF.xApplication.process.Xform.DatatableMobile.Line

Example

//获取当前组件所在数据模板/数据表格的行(条目)对象
var line = this.target.parentLine;
//获取当前字段所在行下标
var index = line.getIndex();
//获取当前字段所在条目的subject字段的值
var data = line.getModule("subject").getData();
//设置当前字段所在条目的subject字段的值
line.getModule("subject").setData("test1");

Source

Methods

getSource(typeopt) → {Source|SubSource|SubSourceItem}

当前组件在数据源组件中时,可以通过此方法获取所在的上级数据源/子数据源/子数项组件.

Parameters

  • type String <optional>

    需要获取的类型,"source"为表示数据源,"subSource"表示子数据源,"subSourceItem"表示子数据项组件。 如果该参数省略,则获取离当前组件最近的上述组件。

Returns

  • Source SubSource SubSourceItem

Example

var source = this.target.getSource(); //获取当前组件的所在子上级数据源/子数据源/子数项组件.
var data = source.data; //获取数据

var source = this.form.get("fieldId").getSource("source"); //获取数据源组件
var data = source.data; //获取数据

Source

getParentModule(typeopt, validateFunctionopt) → {MWF.xApplication.process.Xform.$Module}

获取当前组件所在的祖先组件.

Parameters

  • type String <optional>

    需要获取的组件类型。 如果该参数省略,则获取离当前组件最近的祖先组件。type有效值如下:

    form- 表单
    common- 通用组件
    datatable- 数据表格
    datatableline- 数据表格行
    datatemplate- 数据模板
    datatemplateline- 数据模板行
    div- 容器组件
    elcommon- Element通用组件
    elcontainer- Element容器组件
    subform- 子表单
    source- 数据源组件
    subsource- 子数据源
    subsourceitem- 子数据项组件
    tab- 分页组件
    tabpage- 分页组件的某个分页
    table- 表格
    tabletd- 单元格
    widget- 部件
  • validateFunction function <optional>

    进一步校验,参数为获取到匹配到类型的组件,返回false继续往上取对应类型的组件,返回true返回该组件。

Returns

Example

var module = this.target.getParentModule(); //获取最近的祖先。

var datatemplateLine = this.target.getParentModule("datatemplateline"); //获取当前组件所在的数据模板行.

var module = this.target.getParentModule(null, function(module){
    return module.json.id === "div_1";
}); //获取当前组件id为div_1的父组件。

Source

Events

loadImporter

加载importer(导入模型对象)的时候执行,可以通过this.target.importer获取导入模型对象。

beforeImport

导入前触发,this.event指向导入的数据,您可以通过修改this.event来修改数据。

Example

this.event数据格式如下:

[
 [ "标题一","张三","男","大学本科","计算机","2001-1-2","2019-9-2" ], //第一行数据
 [ "标题二","李四","男","大学专科","数学","1998-1-2","2018-9-2" ]  //第二行数据
]

validImport

数据已经生成,前台进行数据校验时触发,this.event指向导入的数据。

Example

this.event数据格式如下:

{
    "data" : [
         [ "标题一","张三","男","大学本科","计算机","2001-1-2","2019-9-2" ], //第一行数据
         [ "标题二","李四","男","大学专科","数学","1998-1-2","2018-9-2" ]  //第二行数据
	    ],
    "rowList": [], //导入的行对象数组,数据格式常见本章API的afterCreateRowData说明。
    "validted" : true  //是否校验通过,可以在本事件中修改该参数,确定是否强制导入
}

afterImport

前台校验成功,并且后台执行完导入后触发,this.event指向后台返回的导入结果。

Example

this.event格式如下:

{
    "status": "导入成功", //导入结果:状态有 "导入成功","部分成功","导入失败"
    "data": {}, //前台组织好的需要导入的数据
    "rowList": [], //前台组织的行对象数组
    "count" : 10, //导入总数量
    "failCount": 0, //失败数量
    "distribution": "" //导入时候时的错误信息
}

beforeCreateRowData

创建每行需要导入的数据前触发,this.event指向当前行对象,您可以通过修改this.event.importData来修改数据。

afterCreateRowData

创建每行需要导入的数据后触发,this.event指向当前行对象。

Example

this.event格式如下:

{
    "importData": [ "标题一","张三","男","大学本科","计算机","2001-1-2","2019-9-2" ], //导入的数据
    "data" : {//根据导入模型生成的业务数据
 	   {
 	    "subject", "标题一", //subject为导入模型列配置的路径
 	 	"name" : "张三",
 	    ...
    },
    "document": { //如果导入目标是内容管理,则包含document对象
         "title": "标题一"
         "identity": "xxx@xxx@I"
         ...
    },
    "work": { //如果导入目标是流程管理,则包含work对象
         "title": "标题一"
         "identity": "xxx@xxx@I"
         ...
    },
    "errorTextList" : [],  //错误信息
    "errorTextListExcel": [] //在出错界面导出Excel时的错误信息
}

results matching

    No results matching ''