LoginSignup
5
0

More than 1 year has passed since last update.

居酒屋シフト提出の紙をいい感じにするWebサイトを作る

Last updated at Posted at 2021-12-25

こんにちは、居酒屋勤務(ガチ)をしているエンジニア的な人です。

参考: エンジニア社長がコロナ禍下で人生初の居酒屋バイトを始めた話

スクリーンショット 2021-12-25 23.50.13.png

以前、居酒屋のシフト提出周りをいい感じにするLINE Botを作ってみました。

紙で申請を出す居酒屋店員のシフト希望と管理業務をちょっとスマートにする

この時は紙で提出するシフトを写真を撮ってLINE Botに送ることで管理をしやすくする仕組みを作ってみました。

とはいえ紙業務は無くなっておらず、紙を印刷するタスクは継続中 でした。

シフトの紙、印刷業務

シフトの紙を印刷して、スタッフに配布するという業務は継続的に残っています。

こんな感じで希望を紙に書いて提出しています。

スクリーンショット 2021-12-25 23.49.20.png

この紙自体もこんな感じで印刷してカットしてます。

スクリーンショット 2021-12-25 23.56.54.png

日付設定の手間。エクセルからWebへ

シートはエクセルで作っていますが、毎回スタッフは日付をいじってシートを作っていて、かなり面倒な状態でした。

話を聞くとカレンダー的なUIがあって、 自動的にカレンダーに日付が反映されてたら印刷するだけでめちゃ助かるとのことだったのでそんな感じのWebサイトを作ってみました。

サンプルを探して改変していく。

まずはカレンダー実装は世の中的に色々出てるので、ググって出てきたページを参考に実装してみます。

HTMLでカレンダーを使う方法を解説!作り方や埋め込み方法など

まずはサンプルを実装してみる

側だけできた感

省略
       <tr>
        <th></th>
        <th></th>
        <th></th>
        <th></th>
        <th></th>
        <th></th>
        <th></th>
      </tr>

      <tr class="day">
        <td>1</td>
        <td>2</td>
        <td>3</td>
        <td>4</td>
        <td>5</td>
        <td>6</td>
        <td>7</td>
      </tr>
省略

スクリーンショット 2021-12-25 11.15.19.png

JS実装

結構勉強になりますね

特にシフト業務に関していうと、当月ではなく翌月の話になるので、翌月の末日を知るは実装的に参考サイトが助かりました。

    //翌月末を知りたい
    const dt = new Date(); // 「今日」のインスタンスを取得
    // console.log(dt);
    const lastDayNextMonth = new Date(dt.getFullYear(), dt.getMonth() + 2, 0);
    const lastDayVal = lastDayNextMonth.getDate();
    console.log(lastDayVal); // Fri Feb 28 2014 00:00:00 GMT+0900 (東京 (標準時))

一旦出来たページ

あんまり上手く使えてないけど勉強がてらSvelteで作ってます。

スクリーンショット 2021-12-25 23.42.29.png

一旦出来たけどCSS調整がまだ出来てないですね。シフトの紙に希望休を書き込むスペースが作れてなく、このままだと使いにくい感じになってると思います。

まとめと来月

一旦そんなWebサイトを作りましたが、毎月15~20日頃にならないとシフト用紙を印刷するルーチンがないので、クリスマス時期の今は実運用としていい感じなのか?を試せないです。

来月にスタッフの人に試してもらってダメなのか有効なのかを確かめたいと思います。

少しでも作業負荷が減ると嬉しいですね。

それでは!

5
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
0