Files
secu-frontend/dist/assets/HelpView-DPdUNOsd.js
OpenClaw 21c88be74f feat: PWA setup + /app base path
- Landing page at /
- Vue app at /app (PWA installable)
- Added manifest.json for mobile install
- iOS + Android meta tags
- Updated router base path
2026-03-12 20:50:00 +00:00

366 lines
16 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import{d as K,c as a,a as n,e as w,b as C,v as F,F as A,x,t as r,r as f,k as m,o as s}from"./index-DFiGttzi.js";const G={class:"space-y-6"},E={class:"flex items-center justify-between"},V={class:"flex items-center gap-3"},W={class:"relative"},N={key:0,class:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4"},$=["onClick"],Z={class:"text-3xl mb-3"},I={class:"text-lg font-semibold mb-1 text-gray-900 dark:text-white"},L={class:"text-sm text-gray-500 dark:text-gray-400"},T={class:"text-xs text-gray-400 mt-2"},H={key:1,class:"space-y-4"},O={class:"card bg-gray-50 dark:bg-gray-800"},R={class:"flex items-center gap-3"},q={class:"text-3xl"},j={class:"text-xl font-semibold text-gray-900 dark:text-white"},U={class:"text-sm text-gray-500 dark:text-gray-400"},J={class:"grid gap-3"},Q=["onClick"],X={class:"text-2xl"},Y={class:"font-medium text-gray-900 dark:text-white"},ee={key:2,class:"card"},ne={class:"flex items-center gap-3 mb-6 pb-4 border-b dark:border-gray-700"},te={class:"text-3xl"},ie={class:"text-xl font-semibold text-gray-900 dark:text-white"},re=["innerHTML"],le=K({__name:"HelpView",setup(ae){const l=f(""),u=f(null),o=f(null),g=[{id:"getting-started",name:"Erste Schritte",icon:"🚀",description:"Grundlagen und Einrichtung",articles:[{id:"overview",title:"Übersicht",icon:"📋",content:`
## Was ist SeCu?
SeCu ist eine modulare Mitarbeiterverwaltung speziell für Sicherheitsunternehmen. Die Software hilft Ihnen bei:
- **Mitarbeiterverwaltung** Alle Mitarbeiter zentral verwalten
- **Auftragsverwaltung** Aufträge erstellen und zuweisen
- **Stundenzettel** Arbeitszeiten erfassen und genehmigen
- **Verfügbarkeiten** Wer ist wann einsetzbar?
- **Partnerschaften** Zusammenarbeit mit Subunternehmern
### Rollen im System
**Chef** Vollzugriff auf alle Funktionen, kann Disponenten und Mitarbeiter anlegen
**Disponent** Kann Mitarbeiter anlegen, Aufträge erstellen, Stundenzettel einsehen
**Mitarbeiter** Kann eigene Aufträge sehen, Verfügbarkeit melden, Stundenzettel hochladen
`},{id:"first-login",title:"Erster Login",icon:"🔐",content:`
## Erster Login
Nach der Registrierung Ihrer Organisation erhalten Sie Zugangsdaten per E-Mail.
### Anmeldung
1. Öffnen Sie die SeCu-Webseite
2. Geben Sie Ihre E-Mail-Adresse ein
3. Geben Sie Ihr Passwort ein
4. Klicken Sie auf "Anmelden"
### Passwort ändern
Wir empfehlen, Ihr Passwort nach dem ersten Login zu ändern:
1. Gehen Sie zu **Einstellungen**
2. Scrollen Sie zu "Passwort ändern"
3. Geben Sie Ihr aktuelles Passwort ein
4. Geben Sie ein neues Passwort ein (mind. 8 Zeichen)
5. Bestätigen Sie das neue Passwort
6. Klicken Sie auf "Passwort ändern"
`}]},{id:"users",name:"Benutzerverwaltung",icon:"👥",description:"Mitarbeiter und Disponenten verwalten",articles:[{id:"create-user",title:"Benutzer anlegen",icon:"",content:`
## Neuen Benutzer anlegen
**Berechtigung:** Chef oder Disponent
### Schritt für Schritt
1. Navigieren Sie zu **Benutzer** im Menü
2. Klicken Sie auf **"+ Neuer Benutzer"**
3. Füllen Sie das Formular aus:
- **Vorname** und **Nachname**
- **E-Mail-Adresse** (wird für Login verwendet)
- **Passwort** (mind. 8 Zeichen)
- **Rolle** auswählen (Disponent oder Mitarbeiter)
4. Klicken Sie auf **"Erstellen"**
### Rollen-Unterschiede
- **Disponent**: Kann selbst Mitarbeiter anlegen und Aufträge verwalten
- **Mitarbeiter**: Kann nur eigene Daten sehen und bearbeiten
> **Hinweis:** Als Disponent können Sie nur Mitarbeiter anlegen, keine weiteren Disponenten.
`},{id:"edit-user",title:"Benutzer bearbeiten",icon:"✏️",content:`
## Benutzer bearbeiten
### Benutzerdaten ändern
1. Gehen Sie zu **Benutzer**
2. Klicken Sie auf den Namen des Benutzers
3. Ändern Sie die gewünschten Felder
4. Klicken Sie auf **"Speichern"**
### Benutzer deaktivieren
Statt einen Benutzer zu löschen, können Sie ihn deaktivieren:
1. Öffnen Sie das Benutzerprofil
2. Setzen Sie den Status auf **"Inaktiv"**
3. Der Benutzer kann sich nicht mehr anmelden
> **Tipp:** Deaktivierte Benutzer bleiben in der Historie erhalten.
`}]},{id:"orders",name:"Auftragsverwaltung",icon:"📋",description:"Aufträge erstellen und verwalten",articles:[{id:"create-order",title:"Auftrag erstellen",icon:"",content:`
## Neuen Auftrag erstellen
**Berechtigung:** Chef oder Disponent
### Auftrag anlegen
1. Navigieren Sie zu **Aufträge**
2. Klicken Sie auf **"+ Neuer Auftrag"**
3. Füllen Sie die Pflichtfelder aus:
- **Titel** Kurze Beschreibung des Auftrags
- **Kunde** Name des Auftraggebers
- **Standort** Einsatzort
- **Datum/Zeit** Wann findet der Einsatz statt?
4. Optional: Beschreibung hinzufügen
5. Klicken Sie auf **"Erstellen"**
### Mitarbeiter zuweisen
Nach dem Erstellen können Sie Mitarbeiter zuweisen:
1. Öffnen Sie den Auftrag
2. Klicken Sie auf **"Mitarbeiter zuweisen"**
3. Wählen Sie verfügbare Mitarbeiter aus
4. Bestätigen Sie die Zuweisung
`},{id:"order-status",title:"Auftragsstatus",icon:"🔄",content:`
## Auftragsstatus verstehen
Jeder Auftrag durchläuft verschiedene Status:
🟡 **Offen** Auftrag erstellt, noch nicht begonnen
🔵 **In Bearbeitung** Auftrag läuft aktuell
🟢 **Abgeschlossen** Auftrag erfolgreich beendet
🔴 **Storniert** Auftrag wurde abgebrochen
### Status ändern
1. Öffnen Sie den Auftrag
2. Klicken Sie auf den aktuellen Status
3. Wählen Sie den neuen Status
4. Optional: Kommentar hinzufügen
`}]},{id:"timesheets",name:"Stundenzettel",icon:"⏱️",description:"Arbeitszeiten erfassen und verwalten",articles:[{id:"submit-timesheet",title:"Stundenzettel einreichen",icon:"📤",content:`
## Stundenzettel einreichen
**Für Mitarbeiter**
### Arbeitszeit erfassen
1. Gehen Sie zu **Stundenzettel**
2. Klicken Sie auf **"+ Neue Erfassung"**
3. Wählen Sie den **Auftrag** aus
4. Geben Sie ein:
- **Startzeit** und **Endzeit**
- **Pausenzeit** (falls vorhanden)
5. Optional: Foto des Stundenzettels hochladen
6. Klicken Sie auf **"Einreichen"**
### Foto hochladen
Sie können ein Foto Ihres handschriftlichen Stundenzettels anhängen:
1. Klicken Sie auf **"Foto hinzufügen"**
2. Wählen Sie das Foto aus oder machen Sie ein neues
3. Das Foto wird automatisch hochgeladen
> **Tipp:** Stellen Sie sicher, dass das Foto gut lesbar ist.
`},{id:"approve-timesheet",title:"Stundenzettel genehmigen",icon:"✅",content:`
## Stundenzettel genehmigen
**Für Disponenten und Chefs**
### Übersicht
Offene Stundenzettel werden im Dashboard angezeigt. Sie können diese genehmigen oder ablehnen.
### Genehmigungsprozess
1. Gehen Sie zu **Stundenzettel**
2. Filtern Sie nach **"Ausstehend"**
3. Prüfen Sie die Einträge:
- Stimmen die Zeiten mit dem Auftrag überein?
- Ist das hochgeladene Foto lesbar?
4. Klicken Sie auf **✓ Genehmigen** oder **✗ Ablehnen**
5. Bei Ablehnung: Grund angeben
### Massenbearbeitung
Sie können mehrere Stundenzettel gleichzeitig bearbeiten:
1. Aktivieren Sie die Checkboxen
2. Klicken Sie auf **"Ausgewählte genehmigen"**
`}]},{id:"availability",name:"Verfügbarkeiten",icon:"📅",description:"Einsatzbereitschaft verwalten",articles:[{id:"set-availability",title:"Verfügbarkeit melden",icon:"🗓️",content:`
## Verfügbarkeit melden
**Für Mitarbeiter**
### Warum Verfügbarkeit melden?
Damit Disponenten wissen, wann Sie einsetzbar sind, sollten Sie Ihre Verfügbarkeit regelmäßig aktualisieren.
### Verfügbarkeit eintragen
1. Gehen Sie zu **Verfügbarkeit**
2. Klicken Sie auf einen Tag im Kalender
3. Wählen Sie:
- ✅ **Verfügbar** Sie können eingesetzt werden
- ❌ **Nicht verfügbar** Sie sind verhindert
- 🕐 **Teilweise** Nur zu bestimmten Zeiten
4. Bei "Teilweise": Zeitfenster angeben
5. Speichern Sie die Eingabe
### Regelmäßige Muster
Sie können wiederkehrende Verfügbarkeiten einrichten:
1. Klicken Sie auf **"Muster erstellen"**
2. Wählen Sie die Wochentage
3. Geben Sie die Zeiten ein
4. Das Muster wird automatisch angewendet
`},{id:"view-availability",title:"Verfügbarkeiten einsehen",icon:"👁️",content:`
## Verfügbarkeiten einsehen
**Für Disponenten und Chefs**
### Team-Übersicht
1. Gehen Sie zu **Verfügbarkeit**
2. Wählen Sie **"Team-Ansicht"**
3. Sie sehen alle Mitarbeiter im Kalender
### Nach Datum filtern
- Klicken Sie auf ein Datum, um zu sehen, wer verfügbar ist
- Grün = verfügbar, Rot = nicht verfügbar, Gelb = teilweise
### Für Auftrag nutzen
Beim Erstellen eines Auftrags werden automatisch nur verfügbare Mitarbeiter vorgeschlagen.
`}]},{id:"partnerships",name:"Partnerschaften",icon:"🤝",description:"Zusammenarbeit mit Subunternehmern",articles:[{id:"partnership-overview",title:"Übersicht",icon:"📋",content:`
## Partnerschaften in SeCu
Das Partnerschaftsmodul ermöglicht die Zusammenarbeit mit anderen Sicherheitsunternehmen.
### Anwendungsfälle
- **Subunternehmer einsetzen** Personal bei Partnerfirmen anfordern
- **Personal verleihen** Eigene Mitarbeiter an Partner ausleihen
- **Abrechnung** Stundenzettel und Rechnungen austauschen
### Beziehungsarten
**Auftraggeber** Sie beauftragen den Partner (Subunternehmer)
**Subunternehmer** Sie werden vom Partner beauftragt
**Bilateral** Beide Seiten können Aufträge teilen
### Voraussetzungen
- Beide Unternehmen müssen in SeCu registriert sein
- Partnerschaftsmodul muss aktiviert sein
`},{id:"create-partnership",title:"Partnerschaft anfragen",icon:"",content:`
## Partnerschaft anfragen
**Berechtigung:** Chef
### Neue Partnerschaft
1. Gehen Sie zu **Partnerschaften**
2. Klicken Sie auf **"+ Neue Partnerschaft"**
3. Suchen Sie das Partnerunternehmen
4. Wählen Sie die **Beziehungsart**:
- Auftraggeber (Sie beauftragen)
- Subunternehmer (Sie werden beauftragt)
- Bilateral (beidseitig)
5. Klicken Sie auf **"Anfrage senden"**
### Anfrage annehmen
Wenn Sie eine Anfrage erhalten:
1. Sie sehen eine Benachrichtigung
2. Prüfen Sie die Details
3. Klicken Sie auf **"Annehmen"** oder **"Ablehnen"**
> **Hinweis:** Nach Annahme können beide Seiten Aufträge teilen.
`},{id:"share-orders",title:"Aufträge teilen",icon:"📤",content:`
## Aufträge mit Partnern teilen
### Auftrag an Subunternehmer
1. Erstellen oder öffnen Sie einen Auftrag
2. Klicken Sie auf **"Mit Partner teilen"**
3. Wählen Sie den **Partner** aus
4. Geben Sie Details an:
- Benötigte Mitarbeiteranzahl
- Stundensatz (falls vereinbart)
5. Partner erhält Benachrichtigung
### Geteilte Aufträge verwalten
Geteilte Aufträge werden mit einem 🤝 Symbol markiert.
- **Blau**: Von Ihnen geteilt
- **Orange**: An Sie geteilt
### Stundenzettel vom Partner
Wenn der Partner Stundenzettel einreicht:
1. Sie erhalten eine Benachrichtigung
2. Prüfen Sie die Zeiten
3. Genehmigen oder lehnen Sie ab
4. Genehmigte Zeiten fließen in die Abrechnung
`}]},{id:"modules",name:"Module",icon:"🧩",description:"Funktionen aktivieren/deaktivieren",articles:[{id:"module-overview",title:"Module verwalten",icon:"⚙️",content:`
## Module in SeCu
SeCu ist modular aufgebaut. Sie können Funktionen nach Bedarf aktivieren oder deaktivieren.
### Verfügbare Module
**Stundenzettel** Arbeitszeiterfassung
**Verfügbarkeit** Einsatzplanung
**Dokumente** Dateiverwaltung
**Partnerschaften** Subunternehmer-Management
**Abrechnung** Rechnungserstellung
### Modul aktivieren
1. Gehen Sie zu **Module** (nur für Chefs)
2. Finden Sie das gewünschte Modul
3. Klicken Sie auf den Schalter
4. Das Modul ist sofort verfügbar
### Modul deaktivieren
> **Achtung:** Beim Deaktivieren werden keine Daten gelöscht, aber die Funktionen sind nicht mehr zugänglich.
1. Klicken Sie auf den Schalter des aktiven Moduls
2. Bestätigen Sie die Deaktivierung
`}]},{id:"faq",name:"Häufige Fragen",icon:"❓",description:"Antworten auf häufige Fragen",articles:[{id:"faq-general",title:"Allgemeine Fragen",icon:"💬",content:`
## Häufige Fragen
### Ich habe mein Passwort vergessen
1. Klicken Sie auf der Login-Seite auf **"Passwort vergessen"**
2. Geben Sie Ihre E-Mail-Adresse ein
3. Sie erhalten einen Link zum Zurücksetzen
---
### Kann ich mehrere Organisationen haben?
Nein, jeder Benutzer gehört zu genau einer Organisation. Für die Zusammenarbeit nutzen Sie das Partnerschaftsmodul.
---
### Werden meine Daten gesichert?
Ja, es werden regelmäßig automatische Backups erstellt. Bei Datenverlust kontaktieren Sie den Support.
---
### Wie kann ich Support kontaktieren?
- **E-Mail:** support@kronos-soulution.de
- **Telefon:** Siehe Ihre Vertragsdaten
---
### Gibt es eine Mobile App?
SeCu ist als Web-App optimiert und funktioniert auf allen Geräten. Eine native App ist in Planung.
`}]}];function y(t){return t.replace(/^### (.+)$/gm,'<h3 class="text-lg font-semibold mt-6 mb-2 text-gray-900 dark:text-white">$1</h3>').replace(/^## (.+)$/gm,'<h2 class="text-xl font-bold mt-8 mb-4 text-gray-900 dark:text-white">$1</h2>').replace(/\*\*(.+?)\*\*/g,'<strong class="font-semibold">$1</strong>').replace(/\*(.+?)\*/g,"<em>$1</em>").replace(/`(.+?)`/g,'<code class="bg-gray-100 dark:bg-gray-700 px-1.5 py-0.5 rounded text-sm">$1</code>').replace(/^> (.+)$/gm,'<blockquote class="border-l-4 border-blue-500 pl-4 italic text-gray-600 dark:text-gray-400 my-4 bg-blue-50 dark:bg-blue-900/20 py-2 pr-4 rounded-r">$1</blockquote>').replace(/^---$/gm,'<hr class="my-6 border-gray-200 dark:border-gray-700">').replace(/^(\d+)\. (.+)$/gm,'<li class="ml-6 list-decimal my-1 text-gray-700 dark:text-gray-300">$2</li>').replace(/^- (.+)$/gm,'<li class="ml-6 list-disc my-1 text-gray-700 dark:text-gray-300">$1</li>').replace(/(<li class="ml-6 list-decimal[^>]*>.*<\/li>\n?)+/g,e=>`<ol class="my-4">${e}</ol>`).replace(/(<li class="ml-6 list-disc[^>]*>.*<\/li>\n?)+/g,e=>`<ul class="my-4">${e}</ul>`).split(`
`).map(e=>(e=e.trim(),e?e.startsWith("<")?e:`<p class="my-3 text-gray-700 dark:text-gray-300">${e}</p>`:"")).join(`
`)}const _=m(()=>{if(!l.value)return g;const t=l.value.toLowerCase();return g.map(e=>({...e,articles:e.articles.filter(c=>c.title.toLowerCase().includes(t)||c.content.toLowerCase().includes(t))})).filter(e=>e.articles.length>0)});function M(t){u.value=t,o.value=null}function B(t,e){u.value=t,o.value=e}function P(){o.value?o.value=null:u.value=null}const d=m(()=>g.find(t=>t.id===u.value)),h=m(()=>{var t;return(t=d.value)==null?void 0:t.articles.find(e=>e.id===o.value)});return(t,e)=>{var c,b,S,k,v,p,z;return s(),a("div",G,[n("div",E,[n("div",V,[u.value?(s(),a("button",{key:0,onClick:P,class:"p-2 hover:bg-gray-100 dark:hover:bg-gray-700 rounded-lg transition-colors text-xl"}," ← ")):w("",!0),e[2]||(e[2]=n("h1",{class:"text-2xl font-bold text-gray-900 dark:text-white"}," 📚 Hilfe & Dokumentation ",-1))])]),n("div",W,[C(n("input",{"onUpdate:modelValue":e[0]||(e[0]=i=>l.value=i),type:"text",placeholder:"🔍 Suche in der Dokumentation...",class:"input pl-4 pr-10 w-full"},null,512),[[F,l.value]]),l.value?(s(),a("span",{key:0,onClick:e[1]||(e[1]=i=>l.value=""),class:"absolute right-3 top-1/2 -translate-y-1/2 cursor-pointer text-gray-400 hover:text-gray-600 text-lg"}," ✕ ")):w("",!0)]),u.value?o.value?(s(),a("div",ee,[n("div",ne,[n("span",te,r((v=h.value)==null?void 0:v.icon),1),n("h2",ie,r((p=h.value)==null?void 0:p.title),1)]),n("div",{class:"prose dark:prose-invert max-w-none",innerHTML:y(((z=h.value)==null?void 0:z.content)||"")},null,8,re)])):(s(),a("div",H,[n("div",O,[n("div",R,[n("span",q,r((c=d.value)==null?void 0:c.icon),1),n("div",null,[n("h2",j,r((b=d.value)==null?void 0:b.name),1),n("p",U,r((S=d.value)==null?void 0:S.description),1)])])]),n("div",J,[(s(!0),a(A,null,x((k=d.value)==null?void 0:k.articles,i=>(s(),a("div",{key:i.id,onClick:D=>B(d.value.id,i.id),class:"card cursor-pointer hover:shadow-md transition-all flex items-center gap-3 hover:bg-gray-50 dark:hover:bg-gray-700"},[n("span",X,r(i.icon),1),n("span",Y,r(i.title),1),e[3]||(e[3]=n("span",{class:"ml-auto text-gray-400"},"→",-1))],8,Q))),128))])])):(s(),a("div",N,[(s(!0),a(A,null,x(_.value,i=>(s(),a("div",{key:i.id,onClick:D=>M(i.id),class:"card cursor-pointer hover:shadow-lg transition-all hover:scale-[1.02] border-2 border-transparent hover:border-blue-500"},[n("div",Z,r(i.icon),1),n("h3",I,r(i.name),1),n("p",L,r(i.description),1),n("p",T,r(i.articles.length)+" Artikel",1)],8,$))),128))]))])}}});export{le as default};