なんの釣りだよってタイトルですけど、ちょっとだけコードの話です。
ペパボは関東ITソフトウェア 健康保険組合に加入しており、僕もその恩恵に預かっているわけですが、その中で最高なのがこちら。
なんとJTBで予約したときに年間3泊までは一泊あたり5000円割引になります。つまり年間15000円タダになるって話なんですね。
それを利用して僕は毎年会社のメンバーと沖縄に行っています。
この制度を利用するにはこちら から入っていって、申請をしないといけないのですが、その入力フォームがこんな感じなんですよね。
スクロールしてホイッ。
気づきました?右下の追加ボタン
これどういうことかっていうと、毎年僕は4〜6人で行くので、3泊とかなるとですね、3泊で6人なら18行、しかもそのうちの殆どが重複した情報。
宿泊日、一日単価、名前、生年月日、保険証情報を入力しないと行けないわけです。
これがもう果てしなくめんどうで、この旅行もいよいよ今年で3年目なのでコード化しました。
members = [
{
kana_name: 'ナマエ',
year: 'xxxx', // 生年月日
month : 'xxxx',
day: 'xxxx',
sign_no: 'xxxxx', // 事業所番号
insured_no: 'xxx', // 保険者番号
gender: '1'
},
]
schedule = [
{
one_night_cash: 1000, // 一泊単価
year1: 2019, // 宿泊日
month1: 3,
day1: 19,
},
]
cnt = 1
// 行の追加
for(let i = 0; i <= members.length * schedule.length - (document.getElementById("inPartnersTable").rows.length-2); i++) {
document.getElementById('addInPartnersBtn').click();
}
schedule.forEach(function(s) {
members.forEach(function(m) {
Object.keys(m).forEach(function(mk) {
document.getElementsByName(`partner[in][${cnt}][${mk}]`)[0].value = m[mk];
});
Object.keys(s).forEach(function(sk) {
document.getElementsByName(`partner[in][${cnt}][${sk}]`)[0].value = s[sk];
});
cnt++;
})
});
定義情報のハッシュを定義して、後はChromeのコンソールから垂れ流すと動いてくれるはずです。
意外と知られてないこの特典と、恐ろしいほどにめんど臭い入力フォーム問題が解決される最高のブログエントリでしたね。