1

AngularJS に基づいて名簿を作成しようとしています。このプロジェクトでは、fullcalendar (スケジューラー バージョン) を使用しています。

これは私が持っている現在の状態です:

ここに画像の説明を入力

すべての目標は、Work Layer 内に従業員をドラッグ アンド ドロップすることです。たとえば、私の作業レイヤー内の「Haris Bjelic」(「WL from 01.06 - 04.06」と表示)。

それから、"Haris Bjelic" は 01.06 から 04.06 まで (休憩なしで) 働く必要があることを知っています。最初に、他のイベント内にイベントを追加できる機能を見つけようとしました。この場合、最初に「Work Layer from 01.06. - 04.06' このレイヤーで従業員をドラッグ アンド ドロップして、勤務時間を計画します。

スケジューラーの左側に私の部門 (バー、サービスなど) が表示されます。右側には次の日が表示されます。

現時点で私はこの機能を試しました:

eventOverlap: function(stillEvent, movingEvent) {}

したがって、「haris bjelic」を「WL from 01.06 - 04.06」にドラッグ アンド ドロップすると、両方のイベントが重複していれば、両方のイベントにアクセスできます。そこで、「ドラッグ可能な」イベントの ID と「WL from 01.06 - 04.06」の ID を取得して、これをデータベースの関係に設定しようとしました。

それができたら、作業レイヤーの「タイトル」に従業員名を追加したいと思います。「Haris Bjelic」と他の従業員を「WL from 01.06 - 04.06」にドラッグ アンド ドロップすると、結果は次のようになります。

'WL 01.06 - 04.06
  "Haris Bjelic"
  "Foo Employe"
  2 emplyoee are working in this Layer'

ここに画像の説明を入力 これは私が得たい結果です!

eventOverlap関数を使用すると、両方のイベントにアクセスできます。現在、"haris bjelic" を別のイベントにドラッグしていて、オーバーラップ機能がトリガーされたときに、Work Layer のタイトルを変更したいと考えています。

eventOverlap 内でこれを試しました:

stillEvent.text += "\n" + movingEvent.text;
element.fullCalendar('updateEvent', stillEvent);

テキストだけを変更する代わりに、新しいイベントを作成しました!

ここを参照してください:

ここに画像の説明を入力

updateEvent が古いイベントを更新するのではなく、新しいイベントを作成するのはなぜですか? updateEvent 関数に stillEvent を入れました。

4

1 に答える 1