一括承認でステータスを変更した際にレコードに承認情報を表示したい

背景・実現したいこと

一括承認でステータスを変更した際にフィールドに承認情報(承認者・時間)を表示したい 

●現状できていること

①レコードの詳細からステータスを決裁完了に変更→②ステータス変更者(決裁者)・ステータスの変更時間(決裁時間)をフィールドに反映→③プリントクリエイターと紐づけて決裁印を押印

●やりたいこと

①レコードの詳細画面又は、一覧画面の一括承認からステータスを決裁完了に変更→②③は同様

詳細画面から変更すれば、フィールドに反映されるのですが、javascriptで作った一括承認ボタンからステータスを更新すると、フィールドに反映されないため、ご教示いただきたいです。

 

利用したソースコード

①レコードの詳細からステータスを決裁完了に変更した時に、ステータス変更者(決裁者)・ステータスの変更時間(決裁時間)をフィールドに反映

(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;

      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;

  });

 

})();

 

②一括承認ボタンの作成

**(function() {  
    "use strict";  
    kintone.events.on("app.record.index.show", function(event) {  
        var appId = kintone.app.getId();  
        if (event.viewId !== ●●●●●●●) {  
            return;  
        }  
        if ($('.header-contents').length !== 0) {  
            return;  
        }  
        var el = kintone.app.getHeaderSpaceElement();  
&nbsp; &nbsp; &nbsp; &nbsp; var headerDiv = $("\<div\>\</div\>", {  
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; class: "header-contents"  
&nbsp; &nbsp; &nbsp; &nbsp; });  
&nbsp; &nbsp; &nbsp; &nbsp; //make a button for approval.  
&nbsp; &nbsp; &nbsp; &nbsp; var balusButton = $("\<button\>\</button\>", {  
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; class: "approval-button"  
&nbsp; &nbsp; &nbsp; &nbsp; }).  
&nbsp; &nbsp; &nbsp; &nbsp; html("一括承認!").  
&nbsp; &nbsp; &nbsp; &nbsp; click(function() {  
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (event.records.length \> 0) {  
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; window.swal({  
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; title: "本当に全て承認して大丈夫ですか?",  
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; text: "表示されているレコードを全て承認します",  
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; type: "warning",  
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; showCancelButton: true,  
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; confirmButtonColor: "#DD6B55",  
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; confirmButtonText: "決裁済",  
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cancelButtonText: "やっぱりやめる",  
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; closeOnConfirm: false },  
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; function() {  
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; var records = [];  
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; for (var h = 0; h \< event.records.length; h++) {  
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; var obj = {};  
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; obj["id"] = event.records[h].$id.value;  
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; obj["action"] = "決裁済";  
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; records.push(obj);  
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }  
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; var requestObj = {  
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "app": appId,  
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "records": records  
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; };  
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; kintone.api(kintone.api.url("/k/v1/records/status", true), "PUT", requestObj, function() {  
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; window.swal({title: "承認に成功しました!",  
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; text: "お疲れ様でした。",  
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; type: "success"}, function() {  
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; location.reload();  
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; });  
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; });  
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; });  
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; } else {  
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; window.swal({  
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; title: "申請中のレコードがありません",  
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; type: "warning"});  
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }  
&nbsp; &nbsp; &nbsp; &nbsp; });  
&nbsp; &nbsp; &nbsp; &nbsp; headerDiv.append(balusButton);  
&nbsp; &nbsp; &nbsp; &nbsp; headerDiv.append($("\<br /\>"));  
&nbsp; &nbsp; &nbsp; &nbsp; headerDiv.appendTo(el);  
&nbsp; &nbsp; });  
})();**  

 

> javascriptで作った一括承認ボタンからステータスを更新すると、フィールドに反映されない

 

これがよくわかってないのですが、データは実際に変更されている(見た目の問題だけ)のであれば、
reloadしてしまうのが一番はやいかなぁとはおもいました。