PageSourceSearch

https://app.drohnenatlas.app/build/assets/Show-B0LeRcWv.js

js drohnenatlas.app collected 2026-09-24 14:08:58 UTC 31,262 bytes, 1 lines download raw bytes

1import{u as M,b as A,w as i,d as e,e as n,t as o,f as r,i as d,F as v,A as h,K as $,k as l,x as b,z as B,l as w,y as f,m as V,G as P,n as Z,B as R,q as E}from"./index-DfDIs4Q-.js";import{_ as me}from"./AdminLayout-D81SA4pZ.js";import{_ as z}from"./Card-B6o5Ithb.js";import{_ as N}from"./StatCard-DGAi2zQG.js";import{_ as I}from"./Badge-CNM1j9__.js";import{_ as ce}from"./DataTable-BLZY3Tr8.js";import{_ as C}from"./EmptyState-Cm6Zp1cI.js";import{_ as G}from"./ConfirmModal-Rp9PJbRC.js";import{_ as x}from"./InputError-Cd-gzfst.js";import{_ as T}from"./InputLabel-U4IY19kn.js";import{_ as be}from"./TextInput-iBnkTax0.js";import{_ as ge}from"./Checkbox-BgAV2PbX.js";import{_ as pe}from"./PrimaryButton-UOvrdPhE.js";import _ from"./BosSectionHeader-9bIc6kCV.js";import{a as W,o as xe}from"./organizationLabels-B9-28xfn.js";import"./Banner-BSHMQOLF.js";import"./Toast-C1dISiS7.js";import"./ApplicationMark-9kNZbYSh.js";import"./_plugin-vue_export-helper-DlAUqK2U.js";import"./PhChartBar.vue-DE9VrsBL.js";import"./PhMapPin.vue-Dij1wJbh.js";import"./PhWarningCircle.vue-DZH2WA41.js";import"./PhWrench.vue-DHhLQ22W.js";import"./AccountMenuItems-DHIEBoIc.js";import"./useCurrentRoute-CBApasZ9.js";import"./PhCaretUp.vue-D8R2AJNG.js";import"./Pagination-C0GZ-eud.js";import"./DialogModal-D44iwn_h.js";import"./DangerButton-9HmvWj9c.js";import"./SecondaryButton-SKQTyIhg.js";const fe={class:"mt-4 flex flex-col gap-4 sm:flex-row sm:items-start sm:justify-between"},ve={class:"space-y-3"},he={class:"flex flex-wrap items-center gap-2"},ye={class:"text-2xl font-semibold text-atlas-text"},ke={class:"flex flex-wrap items-center gap-2"},we={class:"font-mono text-xs text-atlas-text-muted"},_e={class:"max-w-5xl space-y-6"},ze={class:"grid gap-4 sm:grid-cols-2 lg:grid-cols-4"},Se={class:"grid grid-cols-2 sm:grid-cols-4 gap-4"},Ae={class:"border border-atlas-border rounded-atlas-sm p-3 text-center"},Re={class:"text-lg font-medium text-atlas-text tabular-nums"},Oe={class:"border border-atlas-border rounded-atlas-sm p-3 text-center"},Ue={class:"text-lg font-medium text-atlas-text tabular-nums"},Ve={class:"border border-atlas-border rounded-atlas-sm p-3 text-center"},Ee={class:"text-lg font-medium text-atlas-text tabular-nums"},Ce={class:"border border-atlas-border rounded-atlas-sm p-3 text-center"},Me={class:"text-lg font-medium text-atlas-text tabular-nums"},$e={class:"grid grid-cols-2 sm:grid-cols-4 gap-4"},Be={class:"border border-atlas-border rounded-atlas-sm p-3 text-center"},Ie={class:"text-lg font-medium text-atlas-text tabular-nums"},Ne={class:"border border-atlas-border rounded-atlas-sm p-3 text-center"},je={class:"text-lg font-medium text-atlas-text tabular-nums"},Fe={class:"border border-atlas-border rounded-atlas-sm p-3 text-center"},Le={class:"text-lg font-medium text-atlas-text tabular-nums"},De={class:"border border-atlas-border rounded-atlas-sm p-3 text-center"},Pe={class:"text-lg font-medium text-atlas-text tabular-nums"},Te={class:"grid gap-4 md:grid-cols-2"},Ke={key:1,class:"divide-y divide-atlas-border"},qe={key:1,class:"divide-y divide-atlas-border"},Ze={key:1,class:"divide-y divide-atlas-border"},Ge={class:"min-w-0"},We={class:"text-sm font-medium text-atlas-text"},He={class:"flex flex-wrap gap-1.5 mt-1.5"},Xe=["onClick"],Je={class:"grid sm:grid-cols-2 gap-4"},Qe=["value"],Ye={class:"mt-2 grid sm:grid-cols-2 gap-2"},et={class:"text-sm text-atlas-text block"},tt={class:"text-xs text-atlas-text-muted"},st={class:"flex justify-end"},lt={key:1,class:"divide-y divide-atlas-border"},nt={class:"min-w-0"},at={class:"text-sm text-atlas-text truncate"},rt={class:"text-xs text-atlas-text-muted mt-0.5"},ot={class:"font-mono text-xs text-atlas-text-muted shrink-0"},it={class:"grid gap-4 md:grid-cols-4"},dt=["value"],ut=["value"],mt=["disabled"],ct={class:"grid gap-4 md:grid-cols-3"},bt={class:"md:col-span-3"},gt={class:"md:col-span-3"},pt={class:"md:col-span-2"},xt=["disabled"],ft={key:1,class:"divide-y divide-atlas-border"},vt={class:"min-w-0"},ht={class:"text-sm font-medium text-atlas-text"},yt={class:"text-xs text-atlas-text-muted mt-0.5"},kt={key:0},wt={class:"flex items-center gap-3 shrink-0"},_t=["href"],zt=["onClick"],St=["onClick"],At={class:"sm:col-span-4"},Rt={class:"sm:col-span-4 flex justify-end"},Ot=["disabled"],Ut={class:"space-y-4"},Vt={class:"font-mono text-xs text-atlas-text-muted mt-0.5"},Et={class:"flex flex-col gap-2 sm:flex-row sm:items-center"},Ct=["value","onChange"],Mt=["value"],$t=["value","onChange"],Bt=["value"],It=["onClick"],Nt={class:"divide-y divide-atlas-border"},jt={class:"font-mono text-sm text-atlas-text"},Ft={class:"text-xs text-atlas-text-muted mt-1"},Lt=["onClick"],Dt={class:"grid gap-4 md:grid-cols-2"},Pt=["value"],Tt={class:"text-xs text-atlas-text-muted mt-1"},Kt=["disabled"],ks={__name:"Show",props:{organization:Object,members:Array,pendingInvitations:Array,roleOptions:Array,departments:Array,sites:Array,customRoles:Array,permissionCatalogue:Array,storeRoleUrl:String,seats:Object,recentAudit:Array,fleet:Object,personnel:Object,subscription:Object,invoices:Array,tierOptions:Array,subscriptionStatusOptions:Array,billingAddress:Object},setup(a){const g=a,u=M({billing_name:g.billingAddress?.billing_name??"",billing_street:g.billingAddress?.billing_street??"",billing_postal_code:g.billingAddress?.billing_postal_code??"",billing_city:g.billingAddress?.billing_city??"",billing_country:g.billingAddress?.billing_country??"DE",billing_vat_id:g.billingAddress?.billing_vat_id??"",billing_email:g.billingAddress?.billing_email??"",leitweg_id:g.billingAddress?.leitweg_id??""});function H(){u.put(route("admin.organizations.billing-address.update",g.organization.id),{preserveScroll:!0})}
1const S=M({tier:g.subscription?.tier??"team",status:g.subscription?.status??"active",payment_method:g.subscription?.payment_method??"",seats:g.subscription?.seats??""});function X(){S.put(route("admin.organizations.subscription.update",g.organization.id),{preserveScroll:!0})}const p=M({amount:"",period_start:"",period_end:"",due_at:"",po_number:""});function J(){p.post(route("admin.organizations.invoices.store",g.organization.id),{preserveScroll:!0,onSuccess:()=>p.reset()})}function Q(m){R.put(m.paid_url,{},{preserveScroll:!0})}function Y(m){confirm("Rechnung stornieren?")&&R.put(m.void_url,{},{preserveScroll:!0})}function ee(m){if(!m)return"";try{return new Date(m).toLocaleString("de-DE",{day:"2-digit",month:"2-digit",year:"numeric",hour:"2-digit",minute:"2-digit"})}catch{return m}}const te=[{key:"user",label:"Person"},{key:"role",label:"Rolle"}],y=M({email:"",role:"pilot"});function se(){y.post(route("admin.organizations.members.store",g.organization.id),{preserveScroll:!0,onSuccess:()=>y.reset("email")})}const j=E(!1),O=E(null),F=E(!1);function le(m){O.value=m,j.value=!0}function K(){j.value=!1,O.value=null}function ne(){O.value&&R.delete(O.value.destroy_url,{preserveScroll:!0,onStart:()=>{F.value=!0},onFinish:()=>{F.value=!1,K()}})}const L=E(!1),U=E(null),D=E(!1);function ae(m){U.value=m,L.value=!0}function q(){L.value=!1,U.value=null}function re(){U.value&&R.delete(U.value.destroy_url,{preserveScroll:!0,onStart:()=>{D.value=!0},onFinish:()=>{D.value=!1,q()}})}function oe(m,t){R.put(m.update_url,{role:t,organization_role_id:m.organization_role_id},{preserveScroll:!0})}function ie(m,t){R.put(m.update_url,{role:m.role,organization_role_id:t||null},{preserveScroll:!0})}const k=M({name:"",base_role:"",permissions:[]});function de(){k.post(g.storeRoleUrl,{preserveScroll:!0,onSuccess:()=>k.reset()})}function ue(m){confirm(`Rolle „${m.name}“ wirklich löschen?`)&&R.delete(m.destroy_url,{preserveScroll:!0})}return(m,t)=>(r(),A(me,{title:a.organization.name},{header:i(()=>[n(l(P),{href:m.route("admin.organizations.index"),class:"inline-flex items-center gap-1 text-xs font-mono text-atlas-text-muted hover:text-atlas-accent transition-colors uppercase tracking-wide"},{default:i(()=>[...t[22]||(t[22]=[w(" ← Organisationen ",-1)])]),_:1},8,["href"]),e("div",fe,[e("div",ve,[e("div",he,[e("h1",ye,o(a.organization.name),1),n(I,{tone:a.organization.is_active?"success":"neutral"},{default:i(()=>[w(o(a.organization.is_active?"Aktiv":"Inaktiv"),1)]),_:1},8,["tone"])]),e("div",ke,[n(I,{"tone-class":l(xe)(a.organization.type)},{default:i(()=>[w(o(a.organization.type_label||a.organization.type),1)]),_:1},8,["tone-class"]),e("span",we,o(a.organization.slug),1)]),t[23]||(t[23]=e("p",{class:"text-sm text-atlas-text-muted max-w-2xl"}," BOS-Konten teilen operative Daten innerhalb dieser Organisation. Community, Partner-Hinweise und Pro-Upsell sind für Mitglieder ausgeblendet. ",-1))]),n(l(P),{href:a.organization.edit_url,class:"inline-flex shrink-0 items-center px-4 py-2 text-xs font-mono border border-atlas-border rounded-atlas-sm text-atlas-text-muted hover:text-atlas-accent hover:border-atlas-accent transition-colors uppercase tracking-wide"},{default:i(()=>[...t[24]||(t[24]=[w(" Stammdaten bearbeiten ",-1)])]),_:1},8,["href"])])]),default:i(()=>[e("div",_e,[e("div",ze,[n(N,{label:"Mitglieder",value:a.organization.members_count},null,8,["value"]),n(N,{label:"Offene Einladungen",value:a.pendingInvitations.length},null,8,["value"]),n(N,{label:"Sitzplätze",value:a.seats.purchased!==null?`${a.seats.used} / ${a.seats.purchased}`:`${a.seats.used} (unbegrenzt)`},null,8,["value"]),n(N,{label:"Eigene Rollen",value:a.customRoles.length},null,8,["value"])]),n(z,{rounded:"lg"},{header:i(()=>[n(_,{title:"Flotte",description:"Nur zur Ansicht - Lesezugriff auf die Flottenbereitschaft der Organisation."})]),default:i(()=>[e("div",Se,[e("div",Ae,[e("div",Re,o(a.fleet.drones.total),1),t[25]||(t[25]=e("div",{class:"font-mono text-[10px] uppercase tracking-wider text-atlas-text-muted mt-1"},"Drohnen",-1))]),e("div",Oe,[e("div",Ue,o(a.fleet.drones.airworthy),1),t[26]||(t[26]=e("div",{class:"font-mono text-[10px] uppercase tracking-wider text-atlas-text-muted mt-1"},"Lufttüchtig",-1))]),e("div",Ve,[e("div",Ee,o(a.fleet.overdue_services_count),1),t[27]||(t[27]=e("div",{class:"font-mono text-[10px] uppercase tracking-wider text-atlas-text-muted mt-1"},"Überfällig",-1))]),e("div",Ce,[e("div",Me,o(a.fleet.expiring_soon_count),1),t[28]||(t[28]=e("div",{class:"font-mono text-[10px] uppercase tracking-wider text-atlas-text-muted mt-1"},"Laufen bald ab",-1))])])]),_:1}),n(z,{rounded:"lg"},{header:i(()=>[n(_,{title:"Personal-Compliance",description:"Nur zur Ansicht - Zertifikatsstatus aller Mitglieder."})]),default:i(()=>[e("div",$e,[e("div",Be,[e("div",Ie,o(a.personnel.valid),1),t[29]||(t[29]=e("div",{class:"font-mono text-[10px] uppercase tracking-wider text-atlas-text-muted mt-1"},"Gültig",-1))]),e("div",Ne,[e("div",je,o(a.personnel.expiring_soon),1),t[30]||(t[30]=e("div",{class:"font-mono text-[10px] uppercase tracking-wider text-atlas-text-muted mt-1"},"Laufen bald ab",-1))]),e("div",Fe,[e("div",Le,o(a.personnel.expired),1),t[31]||(t[31]=e("div",{class:"font-mono text-[10px] uppercase tracking-wider text-atlas-text-muted mt-1"}
1,"Abgelaufen",-1))]),e("div",De,[e("div",Pe,o(a.personnel.revoked),1),t[32]||(t[32]=e("div",{class:"font-mono text-[10px] uppercase tracking-wider text-atlas-text-muted mt-1"},"Widerrufen",-1))])])]),_:1}),e("div",Te,[n(z,{rounded:"lg"},{header:i(()=>[n(_,{title:"Abteilungen",description:"Nur zur Ansicht - Verwaltung liegt bei der Organisation selbst."})]),default:i(()=>[a.departments.length?(r(),d("ul",Ke,[(r(!0),d(v,null,h(a.departments,s=>(r(),d("li",{key:s.id,class:"py-2 text-sm text-atlas-text"},o(s.name),1))),128))])):(r(),A(C,{key:0,size:"sm",title:"Keine Abteilungen"}))]),_:1}),n(z,{rounded:"lg"},{header:i(()=>[n(_,{title:"Standorte",description:"Nur zur Ansicht - Verwaltung liegt bei der Organisation selbst."})]),default:i(()=>[a.sites.length?(r(),d("ul",qe,[(r(!0),d(v,null,h(a.sites,s=>(r(),d("li",{key:s.id,class:"py-2 text-sm text-atlas-text"},o(s.name),1))),128))])):(r(),A(C,{key:0,size:"sm",title:"Keine Standorte"}))]),_:1})]),n(z,{rounded:"lg"},{header:i(()=>[n(_,{title:"Eigene Rollen",description:"Rollen mit individuellen Berechtigungen - inkl. solcher, die keine Basisrolle je automatisch vergibt (z. B. Abrechnung verwalten). Nur Staff kann diese hier anlegen und Mitgliedern zuweisen; die Organisation selbst kann keine Rolle über ihre eigene Berechtigungsobergrenze hinaus anlegen."})]),default:i(()=>[a.customRoles.length?(r(),d("ul",Ze,[(r(!0),d(v,null,h(a.customRoles,s=>(r(),d("li",{key:s.id,class:"py-3 flex items-start justify-between gap-3"},[e("div",Ge,[e("p",We,o(s.name),1),e("div",He,[(r(!0),d(v,null,h(s.permissions,c=>(r(),d("span",{key:c,class:"inline-flex items-center px-2 py-0.5 rounded-atlas-sm text-xs font-mono bg-atlas-surface text-atlas-text-muted border border-atlas-border"},o(c),1))),128))])]),e("button",{type:"button",class:"shrink-0 text-xs font-mono uppercase tracking-wide text-atlas-error hover:underline",onClick:c=>ue(s)}," Löschen ",8,Xe)]))),128))])):(r(),A(C,{key:0,size:"sm",title:"Keine eigenen Rollen"})),e("form",{class:"p-4 border-t border-atlas-border space-y-4",onSubmit:$(de,["prevent"])},[e("div",Je,[e("div",null,[n(T,{for:"role-name",value:"Name"}),n(be,{id:"role-name",modelValue:l(k).name,"onUpdate:modelValue":t[0]||(t[0]=s=>l(k).name=s),class:"mt-1 w-full",required:"",placeholder:"Abrechnung Manager"},null,8,["modelValue"]),n(x,{class:"mt-1",message:l(k).errors.name},null,8,["message"])]),e("div",null,[n(T,{for:"role-base",value:"Basisrolle (optional, als Obergrenze)"}),b(e("select",{id:"role-base","onUpdate:modelValue":t[1]||(t[1]=s=>l(k).base_role=s),class:"mt-1 w-full px-3 py-2 border border-atlas-border rounded-atlas-sm text-sm text-atlas-text bg-white focus:outline-none focus:border-atlas-accent transition-colors font-mono"},[t[33]||(t[33]=e("option",{value:""},"Keine - freie Berechtigungswahl",-1)),(r(!0),d(v,null,h(a.roleOptions,s=>(r(),d("option",{key:s.value,value:s.value},o(s.label),9,Qe))),128))],512),[[B,l(k).base_role]]),n(x,{class:"mt-1",message:l(k).errors.base_role},null,8,["message"])])]),e("div",null,[n(T,{value:"Berechtigungen"}),e("div",Ye,[(r(!0),d(v,null,h(a.permissionCatalogue,s=>(r(),d("label",{key:s.value,class:"flex items-start gap-2 p-2 border border-atlas-border rounded-atlas-sm cursor-pointer hover:border-atlas-accent transition-colors"},[n(ge,{checked:l(k).permissions,"onUpdate:checked":t[2]||(t[2]=c=>l(k).permissions=c),value:s.value,class:"mt-0.5"},null,8,["checked","value"]),e("span",null,[e("span",et,o(s.label),1),e("span",tt,o(s.description),1)])]))),128))]),n(x,{class:"mt-1",message:l(k).errors.permissions},null,8,["message"])]),e("div",st,[n(pe,{disabled:l(k).processing},{default:i(()=>[...t[34]||(t[34]=[w("Rolle anlegen",-1)])]),_:1},8,["disabled"])])],32)]),_:1}),n(z,{rounded:"lg"},{header:i(()=>[n(_,{title:"Letzte Audit-Ereignisse",description:"Die 10 jüngsten Ereignisse dieser Organisation."})]),default:i(()=>[a.recentAudit.length?(r(),d("ul",lt,[(r(!0),d(v,null,h(a.recentAudit,s=>(r(),d("li",{key:s.id,class:"py-2.5 flex items-center justify-between gap-3"},[e("div",nt,[e("p",at,o(s.description),1),e("p",rt,o(s.causer?.name??"System"),1)]),e("span",ot,o(ee(s.created_at)),1)]))),128))])):(r(),A(C,{key:0,size:"sm",title:"Noch keine Ereignisse"}))]),_:1}),e("form",{onSubmit:$(X,["prevent"])},[n(z,{rounded:"lg"},{header:i(()=>[n(_,{title:"Abonnement",description:"Enterprise-Vertrag dieser Organisation (Tier, Status, Sitzplätze)."})]),footer:i(()=>[e("button",{type:"submit",class:"bg-atlas-accent hover:bg-atlas-accent-hover text-white px-4 py-2 rounded-atlas-sm text-xs font-mono uppercase tracking-wide transition-colors duration-150 disabled:opacity-50",disabled:l(S).processing},o(a.subscription?"Abonnement aktualisieren":"Abonnement anlegen"),9,mt)]),default:i(()=>[e("div",it,[e("div",null,[t[35]||(t[35]=e("label",{class:"block font-mono text-xs uppercase tracking-wider text-atlas-text-muted mb-1.5"},"Tier",-1)),b(e("select",{"onUpdate:modelValue":t[3]||(t[3]=s=>l(S).tier=s),class:"w-full px-3 py-2 border border-atlas-border rounded-atlas-sm text-sm bg-white"},[(r(!0),d(v,null,h(a.tierOptions,s=>(r(),d("option",{key:s.value,value:s.value},o(s.label)+" ("+o(s.included_seats)+" Sitze)",9,dt))),128))],512),[[B,l(S).tier]])]),e("div",null,[t[3
16]||(t[36]=e("label",{class:"block font-mono text-xs uppercase tracking-wider text-atlas-text-muted mb-1.5"},"Status",-1)),b(e("select",{"onUpdate:modelValue":t[4]||(t[4]=s=>l(S).status=s),class:"w-full px-3 py-2 border border-atlas-border rounded-atlas-sm text-sm bg-white"},[(r(!0),d(v,null,h(a.subscriptionStatusOptions,s=>(r(),d("option",{key:s.value,value:s.value},o(s.label),9,ut))),128))],512),[[B,l(S).status]])]),e("div",null,[t[38]||(t[38]=e("label",{class:"block font-mono text-xs uppercase tracking-wider text-atlas-text-muted mb-1.5"},"Zahlungsart",-1)),b(e("select",{"onUpdate:modelValue":t[5]||(t[5]=s=>l(S).payment_method=s),class:"w-full px-3 py-2 border border-atlas-border rounded-atlas-sm text-sm bg-white"},[...t[37]||(t[37]=[e("option",{value:""},"—",-1),e("option",{value:"card"},"Kreditkarte",-1),e("option",{value:"sepa_debit"},"SEPA-Lastschrift",-1),e("option",{value:"invoice"},"Rechnung",-1)])],512),[[B,l(S).payment_method]])]),e("div",null,[t[39]||(t[39]=e("label",{class:"block font-mono text-xs uppercase tracking-wider text-atlas-text-muted mb-1.5"},"Sitzplätze (leer = unbegrenzt)",-1)),b(e("input",{"onUpdate:modelValue":t[6]||(t[6]=s=>l(S).seats=s),type:"number",min:"1",class:"w-full px-3 py-2 border border-atlas-border rounded-atlas-sm text-sm bg-white"},null,512),[[f,l(S).seats]])])])]),_:1})],32),e("form",{onSubmit:$(H,["prevent"])},[n(z,{rounded:"lg"},{header:i(()=>[n(_,{title:"Rechnungsadresse",description:"Name und Anschrift des Leistungsempfängers nach § 14 UStG. Ohne vollständige Adresse kann keine Rechnung ausgestellt werden."})]),footer:i(()=>[e("button",{type:"submit",class:"bg-atlas-accent hover:bg-atlas-accent-hover text-white px-4 py-2 rounded-atlas-sm text-xs font-mono uppercase tracking-wide transition-colors duration-150 disabled:opacity-50",disabled:l(u).processing}," Rechnungsadresse speichern ",8,xt)]),default:i(()=>[e("div",ct,[e("div",bt,[t[40]||(t[40]=e("label",{class:"block font-mono text-xs uppercase tracking-wider text-atlas-text-muted mb-1.5"},"Rechnungsempfänger (rechtlicher Name)",-1)),b(e("input",{"onUpdate:modelValue":t[7]||(t[7]=s=>l(u).billing_name=s),type:"text",maxlength:"255",class:"w-full px-3 py-2 border border-atlas-border rounded-atlas-sm text-sm bg-white"},null,512),[[f,l(u).billing_name]]),n(x,{message:l(u).errors.billing_name,class:"mt-1"},null,8,["message"])]),e("div",gt,[t[41]||(t[41]=e("label",{class:"block font-mono text-xs uppercase tracking-wider text-atlas-text-muted mb-1.5"},"Straße und Hausnummer",-1)),b(e("input",{"onUpdate:modelValue":t[8]||(t[8]=s=>l(u).billing_street=s),type:"text",maxlength:"255",class:"w-full px-3 py-2 border border-atlas-border rounded-atlas-sm text-sm bg-white"},null,512),[[f,l(u).billing_street]]),n(x,{message:l(u).errors.billing_street,class:"mt-1"},null,8,["message"])]),e("div",null,[t[42]||(t[42]=e("label",{class:"block font-mono text-xs uppercase tracking-wider text-atlas-text-muted mb-1.5"},"PLZ",-1)),b(e("input",{"onUpdate:modelValue":t[9]||(t[9]=s=>l(u).billing_postal_code=s),type:"text",maxlength:"32",class:"w-full px-3 py-2 border border-atlas-border rounded-atlas-sm text-sm bg-white"},null,512),[[f,l(u).billing_postal_code]]),n(x,{message:l(u).errors.billing_postal_code,class:"mt-1"},null,8,["message"])]),e("div",null,[t[43]||(t[43]=e("label",{class:"block font-mono text-xs uppercase tracking-wider text-atlas-text-muted mb-1.5"},"Ort",-1)),b(e("input",{"onUpdate:modelValue":t[10]||(t[10]=s=>l(u).billing_city=s),type:"text",maxlength:"255",class:"w-full px-3 py-2 border border-atlas-border rounded-atlas-sm text-sm bg-white"},null,512),[[f,l(u).billing_city]]),n(x,{message:l(u).errors.billing_city,class:"mt-1"},null,8,["message"])]),e("div",null,[t[44]||(t[44]=e("label",{class:"block font-mono text-xs uppercase tracking-wider text-atlas-text-muted mb-1.5"},"Land (ISO, z. B. DE)",-1)),b(e("input",{"onUpdate:modelValue":t[11]||(t[11]=s=>l(u).billing_country=s),type:"text",maxlength:"2",class:"w-full px-3 py-2 border border-atlas-border rounded-atlas-sm text-sm bg-white uppercase"},null,512),[[f,l(u).billing_country]]),n(x,{message:l(u).errors.billing_country,class:"mt-1"}
1,null,8,["message"])]),e("div",null,[t[45]||(t[45]=e("label",{class:"block font-mono text-xs uppercase tracking-wider text-atlas-text-muted mb-1.5"},"USt-IdNr. (optional)",-1)),b(e("input",{"onUpdate:modelValue":t[12]||(t[12]=s=>l(u).billing_vat_id=s),type:"text",maxlength:"32",placeholder:"DE123456789",class:"w-full px-3 py-2 border border-atlas-border rounded-atlas-sm text-sm bg-white"},null,512),[[f,l(u).billing_vat_id]]),t[46]||(t[46]=e("p",{class:"text-xs text-atlas-text-muted mt-1"},"Bei Empfängern in anderen EU-Staaten löst eine gültige USt-IdNr. das Reverse-Charge-Verfahren aus.",-1)),n(x,{message:l(u).errors.billing_vat_id,class:"mt-1"},null,8,["message"])]),e("div",null,[t[47]||(t[47]=e("label",{class:"block font-mono text-xs uppercase tracking-wider text-atlas-text-muted mb-1.5"},"Rechnungs-E-Mail (optional)",-1)),b(e("input",{"onUpdate:modelValue":t[13]||(t[13]=s=>l(u).billing_email=s),type:"email",maxlength:"255",placeholder:"[email protected]",class:"w-full px-3 py-2 border border-atlas-border rounded-atlas-sm text-sm bg-white"},null,512),[[f,l(u).billing_email]]),t[48]||(t[48]=e("p",{class:"text-xs text-atlas-text-muted mt-1"},"Empfänger der Rechnungs-E-Mail. Ohne Angabe geht die Rechnung an den Inhaber der Organisation.",-1)),n(x,{message:l(u).errors.billing_email,class:"mt-1"},null,8,["message"])]),e("div",pt,[t[49]||(t[49]=e("label",{class:"block font-mono text-xs uppercase tracking-wider text-atlas-text-muted mb-1.5"},"Leitweg-ID (optional)",-1)),b(e("input",{"onUpdate:modelValue":t[14]||(t[14]=s=>l(u).leitweg_id=s),type:"text",maxlength:"64",placeholder:"991-33333TEST-33",class:"w-full px-3 py-2 border border-atlas-border rounded-atlas-sm text-sm bg-white"},null,512),[[f,l(u).leitweg_id]]),t[50]||(t[50]=e("p",{class:"text-xs text-atlas-text-muted mt-1"},"Nur für öffentliche Auftraggeber (XRechnung). Keine USt-IdNr.",-1)),n(x,{message:l(u).errors.leitweg_id,class:"mt-1"},null,8,["message"])])])]),_:1})],32),n(z,{rounded:"lg"},{header:i(()=>[n(_,{title:"Rechnungen (Rechnung/PO)",description:"Manuell ausgestellte Rechnungen ohne Stripe-Abhängigkeit."})]),default:i(()=>[a.invoices.length?(r(),d("ul",ft,[(r(!0),d(v,null,h(a.invoices,s=>(r(),d("li",{key:s.id,class:"py-3 flex items-center justify-between gap-3"},[e("div",vt,[e("p",ht,o(s.invoice_number)+" · "+o(s.amount)+" €",1),e("p",yt,[w(o(s.period_start)+" – "+o(s.period_end)+" · fällig "+o(s.due_at)+" ",1),s.po_number?(r(),d("span",kt," · PO "+o(s.po_number),1)):V("",!0)])]),e("div",wt,[n(I,{tone:s.status==="paid"?"success":s.status==="void"?"neutral":"warning"},{default:i(()=>[w(o(s.status_label),1)]),_:2},1032,["tone"]),s.download_url?(r(),d("a",{key:0,href:s.download_url,class:"text-xs font-mono uppercase tracking-wide text-atlas-accent hover:underline"}," PDF ",8,_t)):V("",!0),s.status==="open"?(r(),d("button",{key:1,type:"button",class:"text-xs font-mono uppercase tracking-wide text-atlas-accent hover:underline",onClick:c=>Q(s)}," Bezahlt ",8,zt)):V("",!0),s.status==="open"?(r(),d("button",{key:2,type:"button",class:"text-xs font-mono uppercase tracking-wide text-atlas-error hover:underline",onClick:c=>Y(s)}," Stornieren ",8,St)):V("",!0)])]))),128))])):(r(),A(C,{key:0,size:"sm",title:"Noch keine Rechnungen"})),e("form",{class:"p-4 border-t border-atlas-border grid sm:grid-cols-4 gap-4",onSubmit:$(J,["prevent"])},[e("div",At,[n(x,{message:l(p).errors.billing_address},null,8,["message"])]),e("div",null,[t[51]||(t[51]=e("label",{class:"block font-mono text-xs uppercase tracking-wider text-atlas-text-muted mb-1.5"},"Betrag (€, brutto)",-1)),b(e("input",{"onUpdate:modelValue":t[15]||(t[15]=s=>l(p).amount=s),type:"number",step:"0.01",min:"0.01",required:"",class:"w-full px-3 py-2 border border-atlas-border rounded-atlas-sm text-sm bg-white"},null,512),[[f,l(p).amount]]),t[52]||(t[52]=e("p",{class:"text-xs text-atlas-text-muted mt-1"},"Gesamtbetrag inkl. USt. Die Steuer wird herausgerechnet, nicht aufgeschlagen.",-1)),n(x,{message:l(p).errors.amount,class:"mt-1"},null,8,["message"])]),e("div",null,[t[53]||(t[53]=e("label",{class:"block font-mono text-xs uppercase tracking-wider text-atlas-text-muted mb-1.5"},"Zeitraum von",-1)),b(e("input",{"onUpdate:modelValue":t[16]||(t[16]=s=>l(p).period_start=s),type:"date",required:"",class:"w-full px-3 py-2 border border-atlas-border rounded-atlas-sm text-sm bg-white"},null,512),[[f,l(p).period_start]])]),e("div",null,[t[54]||(t[54]=e("label",{class:"block font-mono text-xs uppercase tracking-wider text-atlas-text-muted mb-1.5"},"Zeitraum bis",-1)),b(e("input",{"onUpdate:modelValue":t[17]||(t[17]=s=>l(p).period_end=s),type:"date",required:"",class:"w-full px-3 py-2 border border-atlas-border rounded-atlas-sm text-sm bg-white"},null,512),[[f,l(p).period_end]])]),e("div",null,[t[55]||(t[55]=e("label",{class:"block font-mono text-xs uppercase tracking-wider text-atlas-text-muted mb-1.5"},"Fällig am",-1)),b(e("input",{"onUpdate:modelValue":t[18]||(t[18]=s=>l(p).due_at=s),type:"date",required:"",class:"w-full px-3 py-2 border border-atlas-border rounded-atlas-sm text-sm bg-white"},null,512),[[f,l(p).due_at]])]),e("div",null,[t[56]||(t[56]=e("label",{class:"block font-mono text-xs uppercase tracking-wider text-atlas-text-muted mb-1.5"},"Bestellnummer (PO, optional)",-1)),b(e("input",{"onUpdate:modelValue":t[19]||(t[19]=s=>l(p).po_number=s),type:"text",maxlength:"64",class:"w-full px-3 py-2 border border-atlas-border rounded-atlas-sm text-sm bg-white"},null,512),[[f,l(p).po_number]]),n(x,{message:l(p).errors.po_number,class:"mt-1"},null,8,["message"])]),e("div",Rt,[e("button",{type:"submit",class:"bg-atlas-accent hover:bg-atlas-accent-hover text-white px-4 py-2 rounded-atlas-sm text-xs font-mono uppercase tracking-wide transition-colors duration-150 disabled:opacity-50",disabled:l(p).processing}," Rechnung erstellen ",8,Ot)])],32)]),_:1}),e("div",Ut,[n(_,{title:"Mitglieder",description:"Aktive Konten mit Zugriff auf die gemeinsame Flotte und Einsatzdaten."}),n(ce,{columns:te,rows:a.members},{"cell-user":i(({row:s})=>[n(l(P),{href:s.user.show_url,class:"font-medium text-atlas-text hover:text-atlas-accent transition-colors"},{default:i(()=>
1[w(o(s.user.name),1)]),_:2},1032,["href"]),e("p",Vt,o(s.user.email),1)]),"cell-role":i(({row:s})=>[e("div",Et,[n(I,{"tone-class":l(W)(s.role)},{default:i(()=>[w(o(s.role_label||s.role),1)]),_:2},1032,["tone-class"]),e("select",{value:s.role,class:"max-w-[12rem] px-2 py-1 border border-atlas-border rounded-atlas-sm text-xs font-mono text-atlas-text bg-white focus:outline-none focus:border-atlas-accent",onChange:c=>oe(s,c.target.value)},[(r(!0),d(v,null,h(a.roleOptions,c=>(r(),d("option",{key:c.value,value:c.value},o(c.label),9,Mt))),128))],40,Ct),a.customRoles.length&&s.role!=="owner"?(r(),d("select",{key:0,value:s.organization_role_id??"",class:"max-w-[12rem] px-2 py-1 border border-atlas-border rounded-atlas-sm text-xs font-mono text-atlas-text bg-white focus:outline-none focus:border-atlas-accent",onChange:c=>ie(s,c.target.value)},[t[57]||(t[57]=e("option",{value:""},"— Keine Custom-Rolle —",-1)),(r(!0),d(v,null,h(a.customRoles,c=>(r(),d("option",{key:c.id,value:c.id},o(c.name),9,Bt))),128))],40,$t)):V("",!0)])]),"row-actions":i(({row:s})=>[e("button",{type:"button",class:"px-2.5 py-1 text-xs font-mono border border-atlas-border rounded-atlas-sm text-atlas-text-muted hover:text-atlas-error hover:border-atlas-error transition-colors",onClick:c=>le(s)}," Entfernen ",8,It)]),empty:i(()=>[n(C,{size:"sm",title:"Noch keine Mitglieder",description:"Laden Sie unten die erste Person ein."})]),_:1},8,["rows"])]),a.pendingInvitations.length?(r(),A(z,{key:0,rounded:"lg"},{header:i(()=>[n(_,{title:"Offene Einladungen",description:"Einladungen laufen nach sieben Tagen ab, wenn sie nicht angenommen werden."})]),default:i(()=>[e("ul",Nt,[(r(!0),d(v,null,h(a.pendingInvitations,s=>(r(),d("li",{key:s.id,class:"py-4 flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between"},[e("div",null,[e("p",jt,o(s.email),1),e("p",Ft,[t[58]||(t[58]=w(" Rolle: ",-1)),n(I,{"tone-class":l(W)(s.role),class:"ml-1"},{default:i(()=>[w(o(s.role_label||s.role),1)]),_:2},1032,["tone-class"]),t[59]||(t[59]=e("span",{class:"mx-2"},"·",-1)),w(" Gültig bis "+o(s.expires_at),1)])]),e("button",{type:"button",class:"px-2.5 py-1 text-xs font-mono border border-atlas-border rounded-atlas-sm text-atlas-text-muted hover:text-atlas-error hover:border-atlas-error transition-colors",onClick:c=>ae(s)}," Widerrufen ",8,Lt)]))),128))])]),_:1})):V("",!0),e("form",{onSubmit:$(se,["prevent"])},[n(z,{rounded:"lg"},{header:i(()=>[n(_,{title:"Mitglied einladen",description:"Bestehende Konten werden sofort hinzugefügt. Neue E-Mail-Adressen erhalten eine Einladung per Mail."})]),footer:i(()=>[e("button",{type:"submit",class:"bg-atlas-accent hover:bg-atlas-accent-hover text-white px-4 py-2 rounded-atlas-sm text-xs font-mono uppercase tracking-wide transition-colors duration-150 disabled:opacity-50",disabled:l(y).processing}," Einladen ",8,Kt)]),default:i(()=>[e("div",Dt,[e("div",null,[t[60]||(t[60]=e("label",{for:"invite-email",class:"block font-mono text-xs uppercase tracking-wider text-atlas-text-muted mb-1.5"},"E-Mail",-1)),b(e("input",{id:"invite-email","onUpdate:modelValue":t[20]||(t[20]=s=>l(y).email=s),type:"email",required:"",placeholder:"[email protected]",class:Z(["w-full px-3 py-2 border rounded-atlas-sm text-sm text-atlas-text bg-white focus:outline-none focus:border-atlas-accent transition-colors",l(y).errors.email?"border-atlas-error":"border-atlas-border"])},null,2),[[f,l(y).email]]),n(x,{message:l(y).errors.email,class:"mt-1"},null,8,["message"])]),e("div",null,[t[61]||(t[61]=e("label",{for:"invite-role",class:"block font-mono text-xs uppercase tracking-wider text-atlas-text-muted mb-1.5"},"Rolle",-1)),b(e("select",{id:"invite-role","onUpdate:modelValue":t[21]||(t[21]=s=>l(y).role=s),class:Z(["w-full px-3 py-2 border rounded-atlas-sm text-sm text-atlas-text bg-white focus:outline-none focus:border-atlas-accent transition-colors",l(y).errors.role?"border-atlas-error":"border-atlas-border"])},[(r(!0),d(v,null,h(a.roleOptions,s=>(r(),d("option",{key:s.value,value:s.value},o(s.label),9,Pt))),128))],2),[[B,l(y).role]]),e("p",Tt,o(a.roleOptions.find(s=>s.value===l(y).role)?.description),1),n(x,{message:l(y).errors.role,class:"mt-1"},null,8,["message"])])])]),_:1})],32)]),n(G,{show:j.value,title:"Mitglied entfernen",message:O.value?`„${O.value.user.name}“ wirklich aus dieser Organisation entfernen?`:"","confirm-text":"Entfernen",processing:F.value,onConfirm:ne,onClose:K},null,8,["show","message","processing"]),n(G,{show:L.value,title:"Einladung widerrufen",message:U.value?`Einladung an „${U.value.email}“ widerrufen?`:"","confirm-text":"Widerrufen",processing:D.value,onConfirm:re,onClose:q},null,8,["show","message","processing"])]),_:1},8,["title"]))}};export{ks as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.