记录显示事件

aki发表于:2016年09月16日 12:03:04更新于:2019年02月02日 18:19:37

Index

事件

在事件发生时可执行的操作

其他

事件


记录详情页面显示时的事件

打开记录详情页面时发生的事件。

  • 可在PC专用版和智能手机专用版中使用。

  • 粘帖到空间中的应用不可使用。

函数(PC用)

app.record.detail.show

发生的时机(PC专用)

  • 显示记录详情时

    • 包含打开通知时显示的记录详情页面。

  • 在记录详情页面换页时

  • 在记录编辑页面执行保存后或取消后

函数(智能手机专用)

mobile.app.record.detail.show

发生的时机(智能手机专用)

  • 显示记录详情页面时

  • 在记录编辑页面执行保存后或取消后

  • 在重复利用页面执行保持后或取消后

  • 在记录添加页面执行保持后

event对象的属性(PC专用版和智能手机专用版通用)

属性名类型说明
appId数值应用ID
record对象记录对象
recordId数值记录ID

根据字段的值执行不同的处理

记录详情页面在执行删除之前的事件

在记录详情页面点击删除按钮并在弹出框点击【删除】之后发生的事件。

  • 仅可在PC专用版上使用。

  • 粘帖到空间中的应用不可使用。

  • 使用return false的方法,可取消删除处理

  • kintone.Promise对象return时,将等待异步处理执行完后才开始事件处理。

函数

app.record.detail.delete.submit

event 对象的属性

属性名类型说明
appId数值应用ID
record对象记录对象
recordId数值记录ID

范例

使用return kintone.Promise 对象的方法,可等待异步处理执行完成后再删除记录。
以下范例是使用kintone.Promise的情况和不使用的情况。写法请参考记录添加页面在执行保存之前的事件

// 不使用kintone.Promise时    
kintone.events.on(['app.record.detail.delete.submit'], function(event) {    
    var record = event.record;    
    if (!record['公司名称']['value']){    
        event.error = '无公司名称,无法删除。';    
    }    
    return event;    
});
//
  返回return false时不处理    
kintone.events.on(['app.record.detail.delete.submit'], function(event) {    
    var record = event.record;    
    // 无公司名称时返回false    
    return (record['公司名称']['value']!== null);    
});
//使用kintone.Promise构造函数时    
kintone.events.on('app.record.detail.delete.submit', function(event) {    
    var record = event.record;    
    var companyName = record['公司名称'].value;    
    // 确认企业管理中是否有公司名称    
    var masterAppId = 100;    
    var query = '公司名称="' + companyName + '"';    
    return new kintone.Promise(function(resolve, reject) {    
        var params = {app: masterAppId, query: query};    
        kintone.api('/k/v1/records', 'GET', params, function(resp){    
            resolve(resp);    
        });    
    }).then(function(resp) {    
        if (!resp.records.length) {    
            event.error = '无公司名称,无法删除。';    
        }    
        return event;    
    });    
});

流程管理的动作执行事件

在启用了流程管理的应用中执行动作时发生的事件。需要多个执行者执行动作才可更改状态等情况下,执行动作之后即使状态未变,该事件也会发生。

  • 仅可在PC专用版上使用。

  • 通过return event对象的方法可更新记录信息。(参考:重写字段的值)
    ※需要记录编辑权限。

  • return false时,取消动作。

  • 在event对象中设置error属性,并return时,将显示error中设置的错误信息,取消动作。

  • return错误的值时,将报错并取消动作。

  • 不return任何内容时,仅更新状态。

  • return kintone.Promise对象时,等待异步处理执行完成后才开始执行事件的处理。

等待异步处理执行完成后,才执行流程管理的动作

使用return kintone.Promise 对象的方法,可将等待异步处理执行完后才开始执行流程管理的动作。
关于写法请参考记录添加页面在执行保存之前的事件

函数

app.record.detail.process.proceed

event 对象的属性

属性名类型说明
action对象已执行的动作
// 对象的Key 
{value:"<动作名称(以用户设置的语言为准)>"}
status对象更改前的状态
// 对象的Key 
{value:"<状态名称(以用户设置的语言为准)>"}
nextStatus对象更改好的状态
// 对象的Key 
{value:"<状态名称(以用户设置的语言为准)>"}
※执行完动作后,即使状态没有更改,也可获取更改后的状态名称。
record对象记录对象

注意事项:

请查看有关事件处理的一些注意事项

在事件发生时可执行的操作


切换字段的显示/隐藏

切换字段的显示/隐藏。函数kintone.app.record.setFieldShown的第一个参数为字段代码,第二个参数为 true/false。
指定为true时显示,指定为false时隐藏。

  • 仅可在PC专用版上使用。

函数

kintone.app.record.setFieldShown(" 字段代码","true/false")

范例

以下是显示记录详情页面时,将字段代码【单行文本框】设为隐藏的例子:

kintone.events.on('app.record.detail.show', function(event) {    
    kintone.app.record.setFieldShown('单行文本框', false);    
});

以下字段不可设为隐藏。

  • 标签

  • 边框

  • 空白栏

  • 表格内的字段

其他


相关Tips


    您需要登录后才可以回复