O2OA API

Class

Attachment

Extends

Attachment 附件组件。

Usable Range

Process CMS

Example

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

Source

Members

attachmentControllerMWF.xApplication.process.Xform.AttachmentController

附件容器.

Type

  • MWF.xApplication.process.Xform.AttachmentController

Example

var attachmentController = this.form.get("fieldId").attachmentController; //获取附件容器
var attachmentList = attachmentController.attachments; //获取所有的附件
var attachmentData = attachmentList[0].data; //获取第一个附件的数据

Source

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

static

reload(refresh, callback)

重新加载附件。会触发queryLoadController、loadController和postLoadController事件。

Parameters

  • refresh Boolean

    是否重新从后台获取附件列表.

  • callback function

    刷新后的回调.

Examples

this.form.get("fieldId").reload(); //重新加载
this.form.get("fieldId").reload( true ); //重新从后台获取附件并重新加载

Source

getData() → {StringArray|Null}

获取当前组件所有附件的标题.如果没有附件返回null

Returns

  • StringArray Null

    附件标题.

Example

var getAttachmentNames = this.form.get("name").getData();

Source

setData(data)

为组件重新设置附件,该附件必须已经上传。

Parameters

  • data Array

    .

    [{
        "id": "56c4e86f-a4c8-4cc2-a150-1a0d2c5febcb",   //附件ID
        "name": "133203a2-92e6-4653-9954-161b72ddb7f9.png", //附件名称
        "extension": "png",                             //附件扩展名
        "length": 43864,                                //附件大小
        "person": "xx@huqi@P",                          //附件上传人
        "lastUpdateTime": "2018-09-27 15:50:34",        //最后的修改时间
        "lastUpdatePerson": "xx@huqi@P",                //最后的修改人
        "activity": "e31ad938-c495-45a6-8d77-b8a9b61a165b", //附件上传的活动ID
        "activityName": "申请人",                           //附件上传的活动名称
        "activityType": "manual",                           //附件上传的活动类型
        "site": "$mediaOpinion",                        //附件存储位置(一般用于区分附件在哪个表单元素中显示)
        "type": "image/png",                             //附件类型(contentType)
        "control": {}
    }]

Source

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

addRelatedDisplay(pathopt, cbopt)

给当前组件增加一个显示关联数据,当这个数据改变时,刷新当前组件的可见状态.

Parameters

  • path String | Array.<String> <optional>

    要关联的数据路径。

  • cb function <optional>

    提供一个返回布尔值的函数,用于检查当前组件是否可显示,返回true表示当前组件可见,返回false则隐藏当前组件

Example

//在组件的load事件中,添加下面的代码:
this.target.addRelatedDisplay('dataType', ()=>{
 return this.data.dataType==='1'
});

//加入以上代码后,只要 “dataType” 的值改变,就会检查当前组件是否隐藏或显示。当 dataType 值为 “1” 时,当前组件显示,否则隐藏当前组件。

Source

addRelatedValue(pathopt, cbopt)

给当前组件增加一个值关联数据,当这个数据改变时,刷新当前组件的值.

Parameters

  • path String | Array.<String> <optional>

    要关联的数据路径。

  • cb function <optional>

    提供一个函数,当关联数据发生改变时,执行此函数,返回的值更新为当前组件的值。

Example

//在field类的组件(如文本框)的load事件中,添加下面的代码:
this.target.addRelatedValue(['price', 'count'], ()=>{
 return this.data.price * this.data.count;
});

//加入以上代码后,只要 price 或 count 的值改变,就会计算当前组件的值,其值是 price 乘以 count。

Source

Events

queryLoadController

附件容器(this.target.attachmentController)初始化之前触发,可以通过this.event获取附件容器的选项。

loadController

附件容器(this.target.attachmentController)初始化之后,加载之前触发。

postLoadController

附件容器(this.target.attachmentController)加载之后触发,但这时还未加载具体的附件。

afterLoad

附件组件(this.target)加载完成后触发。这时候附件容器和每个附件都已加载完成。

beforeLoadAttachment

加载每个附件前触发。本事件中可以通过this.event获取加载的附件对象

loadAttachment

加载每个附件后触发。本事件中可以通过this.event获取加载的附件对象

beforeUpload

附件上传前触发。本事件中可以通过this.event获取上传的文件数组

upload

每个附件上传后触发。本事件中可以通过this.event获取上传附件的数据

afterUpload

多选的附件上传完成后触发。this.event为本次上传的所有附件

copy

从网盘拷贝之前触发。本事件中可以通过this.event获取拷贝的附件数组

afterUpload

从网盘拷贝后触发。this.event为本次拷贝的附件对象

delete

删除附件前触发。本事件中可以通过this.event获取被删附件的数据

afterDelete

删除附件后触发。本事件中可以通过this.event获取被删附件的数据

change

附件有变化的时候会被触发,包括上传、替换、删除、排序

download

下载附件后触发。本事件中可以通过this.event获取被下载附件对象

open

打开附件后触发。本事件中可以通过this.event获取被打开附件对象

select

选中附件后触发。本事件中可以通过this.event获取被选中的附件对象

unselect

取消选中附件后触发。本事件中可以通过this.event获取被取消选中的附件对象

results matching

    No results matching ''