开发者中心包含此范例模板(将自己添加到担当者栏),请前往开发者中心下载学习。
这次将介绍:如何在记录详情页面上,用按钮一键添加自己到担当者栏。
比如说,你现在正在看任务一览的记录详情。
这些都是还未分配担当者的任务集。
这时候,你忽然发现有一个需要自己负责的任务。
“啊,这应该是我的任务吧” → 打开记录编辑页面 → 在用户选择栏里选择自己 → 点击保存・・・
是不是很麻烦呀。
类似这样“如果能。。。就好”之类的操作,可以通过自定义功能来改善得更简单一些。
开发设想
准备选择用户字段、以及通过JavaScript在空白栏里创建的按钮。
点击按钮,会将自己添加到担当者栏里。
开发的顺序和流程
作成按钮,添加按钮事件监听器。
将自己添加到担当者栏。
创建按钮及添加事件监听器
首先,记录详情页面打开的时候,因为要作成按钮所以需要获取事件。
// 定义全局变量 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月版中进行过确认。