开发者中心包含此范例模板(自动记录任务完成日和负责人),请前往开发者中心下载学习。
Index
概 要
本范例介绍当故障处理应用的流程状态变为【完成】时,系统自动记录任务完成日及负责人(登录用户)的自定义方法。另外,还加入以下功能。
任务完成日字段和负责人字段设为不可编辑
重复利用记录时,自动清除任务完成日和负责人字段中的数据
完成图
事前准备
创建【故障处理管理】应用。
表单设置详情如下:字段名称
字段类型
字段代码
类型
单选框
类型
任务期限
日期
任务期限
开始执行
创建时间
开始执行
任务完成时间
日期与时间
任务完成时间
负责人
选择用户
负责人
所用时间
计算
所用时间
※其他字段任意设置。
※所用时间的计算公式为:任务完成时间-开始执行流程管理的设置
状态有:未处理、受理、调查中、执行中、完成、保留
具体流程设置如下:
编辑器
选择符合自己使用习惯的文本编辑器。
程序范例
注意事项
直接使用此处提供的程序范例的情况,才望子不予以保证程序的正常运行
才望子不提供对程序范例的技术支持
PC专用的JavaScript文件
在应用设置页面打开【通过JavaScript / CSS自定义】,从Cybozu CDN 中选择以下库。
Luxon
https://js.cybozu.com/luxon/2.1.1/luxon.min.js (使用version 2.1.1)
JavaScript 范例
将以下代码拷贝到编辑器,文件命名为【sample.js】,文字编码设为【UTF-8】、无BOM,保存
※文件名任意,但是文件的扩展名要指定为【js】在【通过JavaScript / CSS自定义】页面中上传保存的文件
/* * 故障处理管理应用的程序范例 * Copyright (c) 2021 Cybozu * * Licensed under the MIT License */ (function () { 'use strict'; var date = luxon.DateTime.local(); // 记录创建/编辑页面显示时 var eventsCreateShow = ['app.record.create.show', 'app.record.edit.show', 'app.record.index.edit.show']; kintone.events.on(eventsCreateShow, function(event){ var record = event.record; // 设置字段不可编辑 record['任务完成时间']['disabled'] = true; record['负责人']['disabled'] = true; if (event.type === 'app.record.create.show'){ // 指定从今日起2天后 record['任务期限']['value'] = date.plus({days: 2}).toISODate(); record['任务完成时间']['value'] = null; record['负责人']['value'] = []; } return event; }); // 流程管理的动作执行时 kintone.events.on('app.record.detail.process.proceed', function(event){ var record = event.record; var nStatus = event.nextStatus.value; // 状态为【完成】时,自动设置任务完成日和负责人 if (nStatus === '完了'){ var user = kintone.getLoginUser(); record['任务完成时间']['value'] = date.toISO(); record['负责人']['value'][0] = {code : user.code}; } return event; }); })();
设置的页面
以下是【通过JavaScript / CSS自定义】页面的设置范例。