概要
在这之前,已经在入门系列里面为大家介绍了以列表页面和详情页面为中心的,获取基本数据的方法。这次,我想尝试着来挑战下简单的更新处理!!o(*⌒O⌒)b加油!!
那么接下来,我们来试着用JavaScript自定义来实现那种使用kintone的计算字段也无法进行自动计算设置的计算吧(^^♪
通过商品单价和个数,算出合计金额
合计金额超过5000的,打9折
合计金额超过10000的,打8折
应用准备
事不宜迟,我们来准备这次使用的应用吧(*^_^*)
字段名 | 字段类型 | 字段代码 | 备考 |
---|---|---|---|
商品名 | 单行文本框 | 商品名 | - |
单价 | 数值 | 单价 | 显示千位分隔符 |
数量 | 数值 | 数量 | 设为必填项 |
合计 | 数值 | 合计 | 显示千位分隔符 |
Kintone的多个事件处理
在之前的例子里面,虽然还没有过介绍同个处理里包含多个事件的案例,但是这也并不是一件难事。kintone.events.on()的第一参数: 因为event 里可以用数组的形式指定多个事件类型,让我们试着使用下面两种事件(^^♪
(function() { "use strict"; // 记录详请页面显示时的事件 kintone.events.on(['app.record.create.submit', 'app.record.edit.submit'], function(event) { // 此处写需要处理的内容 }); })();
简单吧(^^)
重写字段的值
文档上写着如下的内容:
尤其是,“最后的句柄不return的情况,将不更新字段的值”一定要记住哦φ( ̄ー ̄ )记下记下
更新处理
接下来就进入重点了(^^♪
(function() { "use strict"; kintone.events.on(['app.record.create.submit', 'app.record.edit.submit'], function(event) { var record = event.record; var price = record['单价'].value; var number = record['数量'].value; // 算出合计金额 var subTotal = price * number; // ¥10,000以上打8折 if (subTotal >= 10000) { subTotal = subTotal / 100 * 80; // ¥5,000以上打9折 } else if (subTotal >= 5000) { subTotal = subTotal / 100 * 90; } record['合计'].value = subTotal; return event; }); })();
是不是和预想的一样更新了呢?
关于其他的条件我们也来确认一下吧。
成功了呢\(*^▽^*)ノ
将合计字段设为不可编辑
这样,就可以计算出合计了!!
但是,就像kintone的计算字段不可编辑那样,大家肯定也想将合计字段设置为不可编辑吧(^^)
为此,Kintone已经为大家准备好了设置字段的可/不可编辑的API。真的是很贴心呢ヾ(●´∀`●)
接下来,就让我们试着将合计字段设置成不可编辑吧(^^♪
(function() { "use strict"; kintone.events.on(['app.record.create.submit', 'app.record.edit.submit'], function(event) { var record = event.record; var price = record['单价'].value; var number = record['数量'].value; var subTotal = price * number; if (subTotal >= 10000) { subTotal = subTotal / 100 * 80; } else if (subTotal >= 5000) { subTotal = subTotal / 100 * 90; } record['合计'].value = subTotal; return event; }); // 记录添加页面显示时,记录编辑页面显示时的事件 kintone.events.on(['app.record.edit.show', 'app.record.create.show'], function(event) { // “合计”字段限制输入 event.record['合计'].disabled = true; return event; }); })();
最后
这次我们尝试了使用记录更新相关的事件,来进行简单的更新处理。只不过,像这样使用的话,输入包含有小数点的值,以及进行消费税计算之类的时候,一定还有很多不足之处吧。另外,作成的事件,在验证kintone里的值的限制事项之前就已经被执行了。因此,需要再添加一个处理:输入数值以外的值时不进行计算。这样可能更实用些(^^)
还有,kintone里在列表页面上也可以编辑记录,这个范例没有考虑到列表页面上的编辑,所以大家在实际运用的时候也要对应下列表页面编辑时所做的限制哦(^^♪
请大家一定将这次学过的JavaScript作为参考,尝试着做做看哦ヾ(=´・∀・`=)
为了方便大家今后能够参考,向大家介绍下相关的一些Tips和范例,大家可以一起看看。
记录添加时表格里设置初始值!(中文页面准备中)
统计字段的文字数!(中文页面准备中)
标题里显示“名字+日期”!(中文页面准备中)
按年份自动编号的技巧(中文页面准备中)
用按钮来控制字段的不可输入!(中文页面准备中)
那么,就下次再见吧。
Let’s kintone customize\(^o^)/
该Tips在2014年9月版中进行过确认。
<< 第 7篇 使用自定义列表 | 第 9篇 使用REST API来添加记录 >>