记录详细页面上一键添加自己到担当者栏的技巧

cybozu发表于:2016年10月08日 14:16:47更新于:2022年07月27日 10:28:22

开发者中心包含此范例模板(将自己添加到担当者栏),请前往开发者中心下载学习。

这次将介绍:如何在记录详情页面上,用按钮一键添加自己到担当者栏。

比如说,你现在正在看任务一览的记录详情。
这些都是还未分配担当者的任务集。
这时候,你忽然发现有一个需要自己负责的任务。
“啊,这应该是我的任务吧” → 打开记录编辑页面 → 在用户选择栏里选择自己 → 点击保存・・・

是不是很麻烦呀。
类似这样“如果能。。。就好”之类的操作,可以通过自定义功能来改善得更简单一些。

开发设想

准备选择用户字段、以及通过JavaScript在空白栏里创建的按钮。

00157f9af87ddc3b8ab1f8e814ea702

点击按钮,会将自己添加到担当者栏里。

00157f9b03260da24e9c317e56f9b50

开发的顺序和流程

  1. 作成按钮,添加按钮事件监听器。

  2. 将自己添加到担当者栏。

创建按钮及添加事件监听器

首先,记录详情页面打开的时候,因为要作成按钮所以需要获取事件。

// 定义全局变量 member
var member;
// 获取事件
kintone.events.on('app.record.detail.show', function(event) {
    member = event['record']['member']['value'];

接下来,在空白栏里作成按钮子元素。

// 取得空白栏元素
var se = kintone.app.record.getSpaceElement('btnspace');
// 作成按钮
var btn = document.createElement('button');
btn.appendChild(document.createTextNode('往担当者栏里添加自己'));
btn.id = 'btnAddMine';
btn.name = 'btnAddMine';
se.appendChild(btn);
btn.style.marginTop = '30px';

接下来,设定按钮事件监听。

点击按钮,调用addMemberMine()函数。

btn.addEventListener('click', addMemberMine);

※addEventListener()不支持IE。在IE上,请使用attachEvent()。

这样的话,在按钮点击事件里,就可以运行 addMemberMine() 函数了。

接下来,让我们看看点击按钮时运行的addMemberMine() 函数的处理吧。

往担当者栏里添加自己

 function addMemberMine() {
 
    // 获取登录用户信息
    var loginuser = kintone.getLoginUser();
 
    var objParam = {};
    objParam['app'] = kintone.app.getId();       // 应用编号
    objParam['id'] = kintone.app.record.getId(); // 记录编号
    objParam['record'] = {};
    objParam['record']['member'] = {};
    objParam['record']['member']['value'] = [];
 
    // 增加已经是担当者的用户
    for (var i = 0; i < member.length; i++) {
        objParam['record']['member']['value'][i] = {};
        objParam['record']['member']['value'][i]['code'] = {};
        objParam['record']['member']['value'][i]['code'] = member[i]['code'];
    }
 
    // 增加登录用户
    objParam['record']['member']['value'][member.length] = {};
    objParam['record']['member']['value'][member.length]['code'] = {};
    objParam['record']['member']['value'][member.length]['code'] = loginuser.code;
 
    // 更新记录
    kintone.api(kintone.api.url('/k/v1/record', true), 'PUT', objParam, function(resp) {
    // 成功时页面重载
        location.reload(true);
    });
} });

以上,一键添加自己到担当者栏里的教程就结束了。

该Tips在2014年4月版中进行过确认。