Files
kintone-attendance-system/src/園児別出欠簿入力/clock-btn-desktop-mobile.js
2025-02-17 23:14:19 +08:00

57 lines
2.0 KiB
JavaScript

(function () {
"use strict";
// ------------------- 詳細画面表示時の処理 -------------------
kintone.events.on('mobile.app.record.detail.show', function (event) {
const area = kintone.mobile.app.record.getSpaceElement('header-clocking-btn-area');
const clockIn = createBtn('clock-in', '登園', dateToFieldInDetail('登園時刻'));
const clockOut = createBtn('clock-out', '帰園', dateToFieldInDetail('帰園時刻'));
area.appendChild(clockIn);
area.appendChild(clockOut);
hideSpaceField(['clock-in-btn-area', 'clock-out-btn-area']);
return event;
});
function dateToFieldInDetail(fieldCode) {
return async function (e) {
await new KintoneRestAPIClient().record.updateRecord({
app: kintone.mobile.app.getId(),
id: kintone.mobile.app.record.getId(),
record: {
[fieldCode]: {
value: getCurrentTime()
}
}
});
location.reload();
}
}
// ------------------- 編集画面表示時の処理 -------------------
kintone.events.on(['mobile.app.record.create.show', 'mobile.app.record.edit.show'], function (event) {
const clockIn = createBtn('clock-in', '登園', dateToFieldInEdit('登園時刻'));
kintone.mobile.app.record.getSpaceElement('clock-in-btn-area').appendChild(clockIn);
const clockOut = createBtn('clock-out', '帰園', dateToFieldInEdit('帰園時刻'));
kintone.mobile.app.record.getSpaceElement('clock-out-btn-area').appendChild(clockOut);
return event;
});
function dateToFieldInEdit(fieldCode) {
return function (e) {
var record = kintone.mobile.app.record.get();
record['record'][fieldCode]['value'] = getCurrentTime();
kintone.mobile.app.record.set(record);
}
}
function getCurrentTime() {
const now = new Date();
const hours = String(now.getHours()).padStart(2, '0');
const minutes = String(now.getMinutes()).padStart(2, '0');
return `${hours}:${minutes}`;
}
})();