いつも大変お世話になっております。
今回、社内外含む端末の管理アプリを作成しまして
表示非表示について、javaを作成してテストしていたところ、
一部動作がうまくいかずご相談させていただきたく投稿させいていただきます。
下記画像の赤枠の選択肢毎に、下記のフィールドの選択項目を変えて、
なおかつレコード画面で編集可能なプログラムを作成しました。
結果、選択肢で項目変更とレコードの編集は可能でしたが、
契約条件変更等で、レコードの編集が発生する場合に
他の選択肢に切り替えた時の動作で、元々の選択肢で
中のテキストの削除がうまく動作せずに困っております。
(例:PCメンテなし→PCメンテありに契約変更した時の中身の削除)
やりたい動作としましては下記3つになります
①選択肢ごとに表示項目を変えたい 成功
②レコード一覧画面で編集したい 成功
③選択肢変更後自動的に値を空白にしたい 失敗
製品カテゴリ/メンテナンスの契約有無のフィールドコードはradio4です。
(function() {
“use strict”;
//レコードの追加、編集、詳細画面で適用する
var events = [‘app.record.detail.show’,
‘app.record.create.show’,
‘app.record.index.edit.show’,
‘app.record.index.edit.change.radio4’,
‘app.record.index.edit.change.drop’,
‘app.record.index.edit.change.serial’,
‘app.record.index.edit.change.os’,
‘app.record.index.edit.change.otheros’,
‘app.record.index.edit.change.cpu’,
‘app.record.index.edit.change.memory’,
‘app.record.index.edit.change.memoryoption’,
‘app.record.index.edit.change.office’,
‘app.record.index.edit.change.otheroption’,
‘app.record.index.edit.change.computer’,
‘app.record.index.edit.change.user’,
‘app.record.index.edit.change.mac’,
‘app.record.index.edit.change.virus’,
‘app.record.index.edit.change.setti’,
‘app.record.index.edit.change.ip’,
‘app.record.index.edit.change.mac’,
‘app.record.index.edit.change.login’,
‘app.record.index.edit.change.fstart’,
‘app.record.index.edit.change.fend’,
‘app.record.create.change.radio4’,
‘app.record.create.change.drop’,
‘app.record.create.change.serial’,
‘app.record.create.change.os’,
‘app.record.create.change.otheros’,
‘app.record.create.change.cpu’,
‘app.record.create.change.memory’,
‘app.record.create.change.memoryoption’,
‘app.record.create.change.office’,
‘app.record.create.change.otheroption’,
‘app.record.create.change.computer’,
‘app.record.create.change.user’,
‘app.record.create.change.mac’,
‘app.record.create.change.virus’,
‘app.record.create.change.setti’,
‘app.record.create.change.ip’,
‘app.record.create.change.mac’,
‘app.record.create.change.login’,
‘app.record.create.change.fstart’,
‘app.record.create.change.fend’,
‘app.record.edit.show’,
‘app.record.edit.change.radio4’,
‘app.record.edit.change.drop’,
‘app.record.edit.change.serial’,
‘app.record.edit.change.os’,
‘app.record.edit.change.otheros’,
‘app.record.edit.change.cpu’,
‘app.record.edit.change.memory’,
‘app.record.edit.change.memoryoption’,
‘app.record.edit.change.office’,
‘app.record.edit.change.otheroption’,
‘app.record.edit.change.computer’,
‘app.record.edit.change.user’,
‘app.record.edit.change.mac’,
‘app.record.edit.change.virus’,
‘app.record.edit.change.setti’,
‘app.record.edit.change.ip’,
‘app.record.edit.change.mac’,
‘app.record.edit.change.login’,
‘app.record.edit.change.fstart’,
‘app.record.edit.change.fend’,
];
kintone.events.on(events, function(event) {
var record = event.record;
var past = record.radio4.value;
if (past === ‘PC/メンテ無し’) {
kintone.app.record.setFieldShown(‘serial’, true);
kintone.app.record.setFieldShown(‘os’, true);
kintone.app.record.setFieldShown(‘otheros’, true);
kintone.app.record.setFieldShown(‘cpu’, true);
kintone.app.record.setFieldShown(‘memory’, true);
kintone.app.record.setFieldShown(‘memoryoption’, true);
kintone.app.record.setFieldShown(‘office’, true);
kintone.app.record.setFieldShown(‘otheroption’, true);
record[‘serial’][‘disabled’] = false;
record[‘os’][‘disabled’] = false;
record[‘otheros’][‘disabled’] = false;
record[‘cpu’][‘disabled’] = false;
record[‘memory’][‘disabled’] = false;
record[‘memoryoption’][‘disabled’] = false;
record[‘office’][‘disabled’] = false;
record[‘otheroption’][‘disabled’] = false;
}else if(past === ‘PC/メンテ有り’) {
kintone.app.record.setFieldShown(‘serial’, true);
kintone.app.record.setFieldShown(‘os’, true);
kintone.app.record.setFieldShown(‘otheros’, true);
kintone.app.record.setFieldShown(‘cpu’, true);
kintone.app.record.setFieldShown(‘memory’, true);
kintone.app.record.setFieldShown(‘memoryoption’, true);
kintone.app.record.setFieldShown(‘office’, true);
kintone.app.record.setFieldShown(‘otheroption’, true);
record[‘serial’][‘disabled’] = false;
record[‘os’][‘disabled’] = false;
record[‘otheros’][‘disabled’] = false;
record[‘cpu’][‘disabled’] = false;
record[‘memory’][‘disabled’] = false;
record[‘memoryoption’][‘disabled’] = false;
record[‘office’][‘disabled’] = false;
record[‘otheroption’][‘disabled’] = false;
} else {
kintone.app.record.setFieldShown(‘serial’, false);
kintone.app.record.setFieldShown(‘os’, false);
kintone.app.record.setFieldShown(‘otheros’, false);
kintone.app.record.setFieldShown(‘cpu’, false);
kintone.app.record.setFieldShown(‘memory’, false);
kintone.app.record.setFieldShown(‘memoryoption’, false);
kintone.app.record.setFieldShown(‘office’, false);
kintone.app.record.setFieldShown(‘otheroption’, false);
record.serial.value = “”; //非表示の時にvalueを空にする
record.os.value = “”; //非表示の時にvalueを空にする
record.otheros.value = “”; //非表示の時にvalueを空にする
record.cpu.value = “”; //非表示の時にvalueを空にする
record.memory.value = “”; //非表示の時にvalueを空にする
record.memoryoption.value = “”; //非表示の時にvalueを空にする
record.office.value = “”; //非表示の時にvalueを空にする
record.otheroption.value = “”; //非表示の時にvalueを空にする
record[‘serial’][‘disabled’] = true;
record[‘os’][‘disabled’] = true;
record[‘otheros’][‘disabled’] = true;
record[‘cpu’][‘disabled’] = true;
record[‘memory’][‘disabled’] = true;
record[‘memoryoption’][‘disabled’] = true;
record[‘office’][‘disabled’] = true;
record[‘otheroption’][‘disabled’] = true;
}
if (past === ‘PC/メンテ有り’) {
kintone.app.record.setFieldShown(‘support’, true);
kintone.app.record.setFieldShown(‘computer’, true);
kintone.app.record.setFieldShown(‘user’, true);
kintone.app.record.setFieldShown(‘mac’, true);
kintone.app.record.setFieldShown(‘virus’, true);
kintone.app.record.setFieldShown(‘fstart’, true);
kintone.app.record.setFieldShown(‘fend’, true);
kintone.app.record.setFieldShown(‘drop’, true);
record[‘support’][‘disabled’] = false;
record[‘computer’][‘disabled’] = false;
record[‘user’][‘disabled’] = false;
record[‘mac’][‘disabled’] = false;
record[‘virus’][‘disabled’] = false;
record[‘fstart’][‘disabled’] = false;
record[‘fend’][‘disabled’] = false;
record[‘drop’][‘disabled’] = false;
}else if(past === ‘ルーター・NAS・UTM/メンテ有り’) {
kintone.app.record.setFieldShown(‘support’, true);
kintone.app.record.setFieldShown(‘mac’, true);
kintone.app.record.setFieldShown(‘fstart’, true);
kintone.app.record.setFieldShown(‘fend’, true);
kintone.app.record.setFieldShown(‘drop’, true);
record[‘support’][‘disabled’] = false;
record[‘mac’][‘disabled’] = false;
record[‘fstart’][‘disabled’] = false;
record[‘fend’][‘disabled’] = false;
record[‘drop’][‘disabled’] = false;
} else {
kintone.app.record.setFieldShown(‘support’, false);
kintone.app.record.setFieldShown(‘computer’, false);
kintone.app.record.setFieldShown(‘user’, false);
kintone.app.record.setFieldShown(‘mac’, false);
kintone.app.record.setFieldShown(‘virus’, false);
kintone.app.record.setFieldShown(‘fstart’, false);
kintone.app.record.setFieldShown(‘fend’, false);
kintone.app.record.setFieldShown(‘drop’, false);
record.support.value = “”; //非表示の時にvalueを空にする
record.computer.value = “”; //非表示の時にvalueを空にする
record.user.value = “”; //非表示の時にvalueを空にする
record.mac.value = “”; //非表示の時にvalueを空にする
record.virus.value = “”; //非表示の時にvalueを空にする
record.fstart.value = “”; //非表示の時にvalueを空にする
record.fend.value = “”; //非表示の時にvalueを空にする
record.drop.value = “”; //非表示の時にvalueを空にする
record[‘support’][‘disabled’] = true;
record[‘computer’][‘disabled’] = true;
record[‘user’][‘disabled’] = true;
record[‘mac’][‘disabled’] = true;
record[‘virus’][‘disabled’] = true;
record[‘fstart’][‘disabled’] = true;
record[‘fend’][‘disabled’] = true;
record[‘drop’][‘disabled’] = true;
}
if (past === ‘ルーター・NAS・UTM/メンテ無し’) {
kintone.app.record.setFieldShown(‘ip’, true);
kintone.app.record.setFieldShown(‘login’, true);
record[‘ip’][‘disabled’] = false;
record[‘login’][‘disabled’] = false;
}else if(past === ‘ルーター・NAS・UTM/メンテ有り’) {
kintone.app.record.setFieldShown(‘ip’, true);
kintone.app.record.setFieldShown(‘login’, true);
record[‘ip’][‘disabled’] = false;
record[‘login’][‘disabled’] = false;
} else {
kintone.app.record.setFieldShown(‘ip’, false);
kintone.app.record.setFieldShown(‘login’, false);
record.ip.value = “”; //非表示の時にvalueを空にする
record.login.value = “”; //非表示の時にvalueを空にする
record[‘ip’][‘disabled’] = true;
record[‘login’][‘disabled’] = true;
}
if (past === ‘ルーター・NAS・UTM/メンテ有り’) {
kintone.app.record.setFieldShown(‘setti’, true);
record[‘setti’][‘disabled’] = false;
} else {
kintone.app.record.setFieldShown(‘setti’, false);
record.settit.value = “”; //非表示の時にvalueを空にする
record[‘setti’][‘disabled’] = true;
}
return event;
});
})();
長文で申し訳ありませんが、ご教示のほどよろしくお願い申し上げます。