Files
secu-frontend/dist/assets/OrdersView-D55YFtzq.js
OpenClaw aa0239abca feat: Add i18n with 7 languages (DE, EN, ES, FR, AR, RU, PL)
- Added vue-i18n with language switcher in header
- Flag icons with language codes dropdown
- RTL support for Arabic
- Translated all navigation, auth, and module labels
- Language preference saved to localStorage
2026-03-13 04:51:12 +00:00

2 lines
7.1 KiB
JavaScript

import{d as U,u as B,q as S,m as x,c as o,a as e,z as C,e as g,b as n,s as E,C as q,F as M,x as O,w as D,v as i,r as u,k as j,A as L,j as N,t as d,n as F,l as z,o as r}from"./index-CgM2qJ96.js";const $={class:"space-y-6"},I={class:"flex items-center justify-between"},K={class:"card"},T={class:"flex items-center gap-4"},H={class:"card"},G={key:0,class:"text-center py-8 text-gray-500"},J={key:1,class:"text-center py-8 text-gray-500"},P={key:2,class:"divide-y divide-gray-200 dark:divide-gray-700"},Q={class:"flex items-start justify-between"},R={class:"flex-1"},W={class:"flex items-center gap-3"},X={class:"text-sm text-gray-500 dark:text-gray-400"},Y={class:"font-medium text-gray-900 dark:text-white"},Z={class:"mt-1 flex items-center gap-4 text-sm text-gray-500 dark:text-gray-400"},h={key:0},tt={key:1},et={key:0,class:"fixed inset-0 z-50 flex items-center justify-center bg-black/50"},st={class:"card w-full max-w-2xl max-h-[90vh] overflow-y-auto m-4"},at={class:"grid grid-cols-2 gap-4"},lt={class:"grid grid-cols-2 gap-4"},nt={class:"grid grid-cols-2 gap-4"},it={class:"flex justify-end gap-3 pt-4"},dt=U({__name:"OrdersView",setup(rt){const f=B(),c=u([]),v=u(!0),m=u(!1),p=u(""),a=u({title:"",description:"",location:"",address:"",client_name:"",client_contact:"",start_time:"",end_time:"",required_staff:1,special_instructions:""}),b=j(()=>p.value?c.value.filter(l=>l.status===p.value):c.value);S(async()=>{await y()});async function y(){v.value=!0;try{const l=await x.get("/orders");c.value=l.data.orders}catch(l){console.error("Load orders error:",l)}finally{v.value=!1}}async function k(){try{await x.post("/orders",a.value),m.value=!1,a.value={title:"",description:"",location:"",address:"",client_name:"",client_contact:"",start_time:"",end_time:"",required_staff:1,special_instructions:""},await y()}catch(l){alert(l instanceof Error?l.message:"Fehler beim Erstellen")}}function _(l){return{draft:"bg-gray-100 text-gray-800 dark:bg-gray-700 dark:text-gray-300",published:"badge-primary",in_progress:"badge-warning",completed:"badge-success",cancelled:"badge-danger"}[l]||"badge-secondary"}function w(l){return{draft:"Entwurf",published:"Veröffentlicht",in_progress:"In Bearbeitung",completed:"Abgeschlossen",cancelled:"Abgesagt"}[l]||l}function V(l){return l?new Date(l).toLocaleDateString("de-DE",{day:"2-digit",month:"2-digit",year:"numeric",hour:"2-digit",minute:"2-digit"}):"-"}return(l,t)=>{const A=z("router-link");return r(),o("div",$,[e("div",I,[t[13]||(t[13]=e("h1",{class:"text-2xl font-bold text-gray-900 dark:text-white"}," 📋 Aufträge ",-1)),C(f).canManageOrders?(r(),o("button",{key:0,class:"btn btn-primary",onClick:t[0]||(t[0]=s=>m.value=!0)}," + Neuer Auftrag ")):g("",!0)]),e("div",K,[e("div",T,[t[15]||(t[15]=e("label",{class:"text-sm font-medium text-gray-700 dark:text-gray-300"},"Status:",-1)),n(e("select",{"onUpdate:modelValue":t[1]||(t[1]=s=>p.value=s),class:"input w-48"},[...t[14]||(t[14]=[q('<option value="">Alle</option><option value="draft">Entwurf</option><option value="published">Veröffentlicht</option><option value="in_progress">In Bearbeitung</option><option value="completed">Abgeschlossen</option><option value="cancelled">Abgesagt</option>',6)])],512),[[E,p.value]])])]),e("div",H,[v.value?(r(),o("div",G," Lädt... ")):b.value.length===0?(r(),o("div",J," Keine Aufträge gefunden ")):(r(),o("div",P,[(r(!0),o(M,null,O(b.value,s=>(r(),L(A,{key:s.id,to:`/orders/${s.id}`,class:"block py-4 hover:bg-gray-50 dark:hover:bg-gray-700/50 -mx-6 px-6 transition-colors"},{default:N(()=>[e("div",Q,[e("div",R,[e("div",W,[e("span",X,"#"+d(s.number),1),e("h3",Y,d(s.title),1),e("span",{class:F(["badge",_(s.status)])},d(w(s.status)),3)]),e("div",Z,[s.location?(r(),o("span",h,"📍 "+d(s.location),1)):g("",!0),s.start_time?(r(),o("span",tt,"🕐 "+d(V(s.start_time)),1)):g("",!0),e("span",null,"👥 "+d(s.assigned_count||0)+"/"+d(s.required_staff),1)])]),t[16]||(t[16]=e("span",{class:"text-gray-400"},"→",-1))])]),_:2},1032,["to"]))),128))]))]),m.value?(r(),o("div",et,[e("div",st,[t[28]||(t[28]=e("h2",{class:"text-xl font-semibold text-gray-900 dark:text-white mb-6"}," Neuer Auftrag ",-1)),e("form",{onSubmit:D(k,["prevent"]),class:"space-y-4"},[e("div",null,[t[17]||(t[17]=e("label",{class:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1"},"Titel *",-1)),n(e("input",{"onUpdate:modelValue":t[2]||(t[2]=s=>a.value.title=s),type:"text",required:"",class:"input"},null,512),[[i,a.value.title]])]),e("div",null,[t[18]||(t[18]=e("label",{class:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1"},"Beschreibung",-1)),n(e("textarea",{"onUpdate:modelValue":t[3]||(t[3]=s=>a.value.description=s),rows:"3",class:"input"},null,512),[[i,a.value.description]])]),e("div",at,[e("div",null,[t[19]||(t[19]=e("label",{class:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1"},"Ort",-1)),n(e("input",{"onUpdate:modelValue":t[4]||(t[4]=s=>a.value.location=s),type:"text",class:"input"},null,512),[[i,a.value.location]])]),e("div",null,[t[20]||(t[20]=e("label",{class:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1"},"Benötigte MA",-1)),n(e("input",{"onUpdate:modelValue":t[5]||(t[5]=s=>a.value.required_staff=s),type:"number",min:"1",class:"input"},null,512),[[i,a.value.required_staff,void 0,{number:!0}]])])]),e("div",null,[t[21]||(t[21]=e("label",{class:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1"},"Adresse",-1)),n(e("input",{"onUpdate:modelValue":t[6]||(t[6]=s=>a.value.address=s),type:"text",class:"input"},null,512),[[i,a.value.address]])]),e("div",lt,[e("div",null,[t[22]||(t[22]=e("label",{class:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1"},"Kunde",-1)),n(e("input",{"onUpdate:modelValue":t[7]||(t[7]=s=>a.value.client_name=s),type:"text",class:"input"},null,512),[[i,a.value.client_name]])]),e("div",null,[t[23]||(t[23]=e("label",{class:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1"},"Ansprechpartner",-1)),n(e("input",{"onUpdate:modelValue":t[8]||(t[8]=s=>a.value.client_contact=s),type:"text",class:"input"},null,512),[[i,a.value.client_contact]])])]),e("div",nt,[e("div",null,[t[24]||(t[24]=e("label",{class:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1"},"Start",-1)),n(e("input",{"onUpdate:modelValue":t[9]||(t[9]=s=>a.value.start_time=s),type:"datetime-local",class:"input"},null,512),[[i,a.value.start_time]])]),e("div",null,[t[25]||(t[25]=e("label",{class:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1"},"Ende",-1)),n(e("input",{"onUpdate:modelValue":t[10]||(t[10]=s=>a.value.end_time=s),type:"datetime-local",class:"input"},null,512),[[i,a.value.end_time]])])]),e("div",null,[t[26]||(t[26]=e("label",{class:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1"},"Besondere Hinweise",-1)),n(e("textarea",{"onUpdate:modelValue":t[11]||(t[11]=s=>a.value.special_instructions=s),rows:"2",class:"input"},null,512),[[i,a.value.special_instructions]])]),e("div",it,[e("button",{type:"button",class:"btn btn-secondary",onClick:t[12]||(t[12]=s=>m.value=!1)}," Abbrechen "),t[27]||(t[27]=e("button",{type:"submit",class:"btn btn-primary"}," Erstellen ",-1))])],32)])])):g("",!0)])}}});export{dt as default};