1import{C as we,P as Ce,c as s,d as p,w as i,h as m,g as u,u as C,l as Ye,j as o,k as a,x as qe,r as ve,F as ne,m as v,A as c,B as _,bn as D,a6 as q,X as Se,bb as Ke,a1 as We,o as Ze,Q as en,M as nn,v as d,b4 as tn,S as an,E as z,V as ln,a8 as on,ay as sn,b1 as un,b9 as rn,aU as cn}from"./index-Jf7CFlbN.js";import{u as Te}from"./useApiError-DW2WK16U.js";import{a as $e,f as ke}from"./dateFormat-D_KJnrpD.js";import{f as dn}from"./downloadFilename-Cz1CDBz_.js";import{_ as Ee}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{E as fn}from"./EmptyState-OCEGKVx3.js";const pn={key:0,class:"route-nolists"},vn={class:"route-nolists-title"},mn={class:"route-nolists-hint"},_n={__name:"RouteToApprovalDialog",props:{modelValue:{type:Boolean,default:!1},ids:{type:Array,default:()=>[]},defaultListId:{type:[Number,String,null],default:null}},emits:["update:modelValue","routed"],setup(K,{emit:te}){const r=K,E=te,{t:R,te:V}=we(),T=Te(),M=Se(),w=c([]),x=c(null),O=c(24),F=c(!1),P=c(!1);async function ae(){try{const{data:l}=await Ke.list();w.value=Array.isArray(l)?l:(l==null?void 0:l.lists)||[]}catch(l){T.showError(l)}finally{P.value=!0}}Ce(()=>r.modelValue,l=>{l&&(O.value=24,x.value=r.defaultListId||null,P.value=!1,ae())},{immediate:!0});function le(){E("update:modelValue",!1),M.push("/signing-lists/new")}function oe(l){return l&&V(`errors.${l}`)?R(`errors.${l}`):l}async function ie(){if(!(!x.value||!r.ids.length)){F.value=!0;try{const{data:l}=await D.route({ids:r.ids,signing_list_id:x.value,sign_deadline_hours:O.value});if(E("routed",l),E("update:modelValue",!1),l&&typeof l.routed=="number"&&typeof l.total=="number"&&l.routed<l.total){const b=[...new Set((l.results||[]).filter(A=>A&&A.error).map(A=>oe(A.error)))];q.warning(`${R("finance.inbox.routedToast")} (${l.routed}/${l.total})`+(b.length?` â ${b.join("; ")}`:""))}else q.success(R("finance.inbox.routedToast"))}catch(l){T.showError(l)}finally{F.value=!1}}}return(l,b)=>{const A=_("el-icon"),h=_("el-option"),I=_("el-select"),B=_("el-form-item"),j=_("el-form"),N=_("el-button"),H=_("el-dialog");return s(),p(H,{"model-value":K.modelValue,title:l.$t("finance.inbox.routeDialogTitle"),width:"480px","append-to-body":"","onUpdate:modelValue":b[4]||(b[4]=$=>l.$emit("update:modelValue",$))},{footer:i(()=>[u(N,{onClick:b[3]||(b[3]=$=>l.$emit("update:modelValue",!1))},{default:i(()=>[v(a(l.$t("common.cancel")),1)]),_:1}),P.value&&!w.value.length?(s(),p(N,{key:0,type:"primary",onClick:le},{default:i(()=>[v(a(l.$t("finance.inbox.createListCta")),1)]),_:1})):(s(),p(N,{key:1,type:"primary",loading:F.value,disabled:!x.value||!K.ids.length,onClick:ie},{default:i(()=>[v(a(l.$t("finance.inbox.route")),1)]),_:1},8,["loading","disabled"]))]),default:i(()=>[P.value&&!w.value.length?(s(),m("div",pn,[u(A,{size:26,class:"route-nolists-ic"},{default:i(()=>[u(C(Ye))]),_:1}),o("p",vn,a(l.$t("finance.inbox.noListsTitle")),1),o("p",mn,a(l.$t("finance.inbox.noListsHint")),1)])):(s(),p(j,{key:1,"label-position":"top",onSubmit:b[2]||(b[2]=qe(()=>{},["prevent"]))},{default:i(()=>[u(B,{label:l.$t("finance.inbox.chooseList")},{default:i(()=>[u(I,{modelValue:x.value,"onUpdate:modelValue":b[0]||(b[0]=$=>x.value=$),filterable:"",style:{width:"100%"},placeholder:l.$t("finance.inbox.chooseList")},{default:i(()=>[(s(!0),m(ne,null,ve(w.value,$=>(s(),p(h,{key:$.id,value:$.id,label:$.name},null,8,["value","label"]))),128))]),_:1},8,["modelValue","placeholder"])]),_:1},8,["label"]),u(B,{label:l.$t("finance.inbox.deadline")},{default:i(()=>[u(I,{modelValue:O.value,"onUpdate:modelValue":b[1]||(b[1]=$=>O.value=$),style:{width:"100%"}},{default:i(()=>[u(h,{value:24,label:l.$t("contracts.startSigningDialog.deadline24")},null,8,["label"]),u(h,{value:72,label:l.$t("contracts.startSigningDialog.deadline72")},null,8,["label"]),u(h,{value:168,label:l.$t("contracts.startSigningDialog.deadline168")},null,8,["label"])]),_:1},8,["modelValue"])]),_:1},8,["label"])]),_:1}))]),_:1},8,["model-value","title"])}}},bn=Ee(_n,[["__scopeId","data-v-a4852b8f"]]),yn={class:"page-header"},gn={class:"page-title"},hn={class:"page-sub"},$n={class:"upsell"},kn={class:"upsell-title"},wn={class:"upsell-body"},Cn={class:"conn-provider"},Sn={key:0,class:"conn-detail conn-detail--err"},Tn={key:1,class:"conn-detail"},En={key:2,class:"conn-detail"},Vn={class:"toolbar"},xn={class:"toolbar-filters"},An={class:"toolbar-actions"},In={class:"table-scroll"},Ln={class:"inv-detail"},Un={class:"inv-detail-grid"},zn={class:"inv-detail-item"},Dn={class:"inv-detail-label"},Rn={class:"inv-detail-value"},Bn={class:"inv-detail-item"},jn={class:"inv-detail-label"},Nn={class:"inv-detail-value"},Hn={class:"inv-detail-item"},On={class:"inv-detail-label"},Pn={class:"inv-detail-value"},Mn={key:0,class:"inv-detail-item"},Fn={class:"inv-detail-label"},Gn={class:"inv-detail-value mono"},Qn={key:1,class:"inv-detail-item"},Jn={class:"inv-detail-label"},Xn={class:"inv-detail-value mono"},Yn={key:0,class:"inv-breakdown"},qn={class:"inv-detail-label"},Kn={class:"inv-breakdown-table"},Wn={class:"num"},Zn={class:"num"},et={class:"num"},nt={class:"num"},tt={class:"num-cell"},at={class:"mono"},lt={key:0},ot={key:1,class:"text-muted"},it={class:"row-actions"},st={key:1,class:"pagination-row"},ut={__name:"InboundInvoicesView",setup(K,{expose:te}){const{t:r,te:E}=we(),R=Se(),V=Te();let T=null;try{T=We()}catch{}const M=z(()=>!!(T&&(T.isAdmin||T.isSuperAdmin))),w=z(()=>
1!!(T&&T.can("contracts_create"))),x=["ready","routed","approved","rejected","failed","ignored","received"],O=["routed","approved","rejected"],F=["ready","rejected"],P=["ready","failed","received","rejected"],ae={ready:"primary",routed:"warning",approved:"success",rejected:"danger",failed:"danger",ignored:"info",received:"info"};function le(e){return ae[e]||"info"}function oe(e){if(!e)return null;const n=`finance.inbox.invType.${e}`;return E(n)?r(n):String(e)}function ie(e){return String(e)==="381"?"warning":"info"}function l(e,n){return e==null||e===""?"â":`${e} ${n||"EUR"}`}function b(e){const n=e&&e.tax_breakdown;if(!n)return[];try{const y=typeof n=="string"?JSON.parse(n):n;return Array.isArray(y)?y:[]}catch{return[]}}function A(e){const n=e.percent!=null?`${e.percent}%`:"",y=e.categoryId?` (${e.categoryId})`:"";return(n+y).trim()||"â"}const h=c(!1),I=c(!1),B=c([]),j=c([]),N=c(""),H=c(""),$=c(null),W=c([]),G=z(()=>W.value.filter(e=>e.status!=="disconnected")),k=z(()=>G.value.find(e=>e.status==="error")||G.value[0]||null);function Ve(e){if(!e)return"";const n=`finance.providers.${e.provider}`;return e.account_label||(E(n)?r(n):e.provider)}function xe(e){const n=`finance.status.${e}`;return E(n)?r(n):e}function Ae(e){return{connected:"success",error:"danger",disconnected:"info"}[e]||"info"}function Ie(e){const n=`errors.${e}`;return E(n)?r(n):r("finance.inbox.connectorError")}const Le=z(()=>G.value.length?G.value.some(e=>e.status==="error")?r("finance.inbox.emptyHintError"):G.value.every(e=>!e.auto_poll)?r("finance.inbox.emptyHintManual"):r("finance.inbox.emptyHint"):r("finance.inbox.emptyHintNoConnector")),L=c(1),Q=c(25),J=c(0),se=c("issued_on"),ue=c("desc"),re=z(()=>j.value.filter(e=>F.includes(e.status)).map(e=>e.id)),ce=z(()=>j.value.filter(e=>P.includes(e.status)).map(e=>e.id)),X=z(()=>j.value.filter(e=>!!e.has_pdf).map(e=>e.id)),Z=c(!1);async function me(){const e=X.value;if(e.length){Z.value=!0;try{const n=await D.bulkDownload(e),y=URL.createObjectURL(n.data),f=document.createElement("a");f.href=y,f.download=dn(n,`racuni_${new Date().toISOString().slice(0,10)}.zip`),f.click(),URL.revokeObjectURL(y),q.success(r("finance.inbox.downloadDone"))}catch(n){V.showError(n,"finance.inbox.downloadError")}finally{Z.value=!1}}}function Ue(e){j.value=e||[]}let de=null;Ce(H,()=>{clearTimeout(de),de=setTimeout(()=>{L.value=1,g()},400)});function _e({prop:e,order:n}){se.value=e||"issued_on",ue.value=n==="ascending"?"asc":"desc",L.value=1,g()}function ze(){L.value=1,g()}function De(){L.value=1,g()}async function g(){var e;h.value=!0;try{const{data:n}=await D.inbox({status:N.value||void 0,search:H.value.trim()||void 0,page:L.value,limit:Q.value,sort_by:se.value,sort_dir:ue.value});B.value=(n==null?void 0:n.invoices)||[],J.value=Number(n==null?void 0:n.total)||0,I.value=!1}catch(n){((e=n==null?void 0:n.response)==null?void 0:e.status)===402?I.value=!0:V.showError(n)}finally{h.value=!1}}async function Re(){var e;try{const{data:n}=await D.list();W.value=(n==null?void 0:n.connections)||[]}catch(n){((e=n==null?void 0:n.response)==null?void 0:e.status)!==402&&V.showError(n)}}async function be(e){try{await D.ignore(e),await g()}catch(n){V.showError(n)}}async function Be(){const e=ce.value;if(!e.length){q.info(r("finance.inbox.noIgnorable"));return}try{await Promise.allSettled(e.map(n=>D.ignore(n)))}finally{await g()}}async function je(){try{await cn.confirm(r("finance.inbox.ignoreAllConfirm"),r("finance.inbox.ignoreAllTitle"),{type:"warning",confirmButtonText:r("finance.inbox.ignoreAll"),cancelButtonText:r("common.cancel")})}catch{return}try{const{data:e}=await D.ignoreAll();q.success(r("finance.inbox.ignoreAllDone",{n:(e==null?void 0:e.ignored)??0})),await g()}catch(e){V.showError(e)}}async function ye(e){try{await D.retry(e),await g()}catch(n){V.showError(n)}}function Ne(e){e&&R&&R.push(`/contracts/${e}`)}function He(e){window.open(`/api/finance/inbox/${e.id}/pdf`,"_blank","noopener")}const fe=c(!1),ge=c([]);function he(e){var f;if(!e||!e.length)return;ge.value=e;const n=B.value.find(Y=>e.includes(Y.id)),y=n?W.value.find(Y=>Y.id===n.connection_id):null;$.value=(y==null?void 0:y.default_signing_list_id)||((f=W.value[0])==null?void 0:f.default_signing_list_id)||null,fe.value=!0}async function Oe(){await g()}Re(),g();let ee=null;return Ze(()=>{ee=setInterval(()=>{h.value||I.value||g()},3e4)}),en(()=>{ee&&(clearInterval(ee),ee=null),clearTimeout(de)}),te({invoices:B,searchQuery:H,page:L,limit:Q,total:J,sortBy:se,sortDir:ue,onSortChange:_e,onIgnore:be,onRetry:ye,load:g,selected:j,canCreate:w,routableSelectedIds:re,ignorableSelectedIds:ce,downloadableSelectedIds:X,bulkDownloading:Z,onBulkDownload:me}),(e,n)=>{const y=_("el-icon"),f=_("el-button"),Y=_("el-card"),pe=_("el-tag"),Pe=_("el-input"),Me=_("el-option"),Fe=_("el-select"),S=_("el-table-column"),Ge=_("el-table"),Qe=_("el-pagination"),Je=ln("loading");return s(),m("div",null,[o("div",yn,[o("h2",gn,a(e.$t("finance.inbox.title")),1),o("div",hn,a(e.$t("finance.inbox.subtitle")),1)]),I.value&&!h.value?(s(),p(Y,{key:0,shadow:"never",class:"inbox-upsell-card"},{default:i(()=>[o("div",$n,[u(y,{size:40,color:"#1e5fa3"},{default:i(()=>[u(C(on))]),_:1}),o("h3",kn,a(e.$t("finance.upsell.title")),1),o("p",wn,a(M.value?e.$t("finance.upsell.body"):e.$t("finance.upsell.memberBody")),1),M.value?(s(),p(f,{key:0,t
1ype:"primary",onClick:n[0]||(n[0]=t=>e.$router.push("/admin/subscription"))},{default:i(()=>[v(a(e.$t("finance.upsell.cta")),1)]),_:1})):d("",!0)])]),_:1})):I.value?d("",!0):(s(),m(ne,{key:1},[!h.value&&k.value?(s(),m("div",{key:0,class:nn(["conn-strip",{"conn-strip--err":k.value.status==="error"}])},[u(y,{class:"conn-ic"},{default:i(()=>[u(C(sn))]),_:1}),o("span",Cn,a(Ve(k.value)),1),u(pe,{type:Ae(k.value.status),size:"small",effect:"light"},{default:i(()=>[v(a(xe(k.value.status)),1)]),_:1},8,["type"]),k.value.status==="error"&&k.value.last_error_code?(s(),m("span",Sn,a(Ie(k.value.last_error_code)),1)):k.value.last_polled_at?(s(),m("span",Tn,a(e.$t("finance.inbox.lastPolled",{when:C($e)(k.value.last_polled_at)})),1)):d("",!0),k.value.status==="connected"&&!k.value.auto_poll?(s(),m("span",En,"· "+a(e.$t("finance.inbox.manualPoll")),1)):d("",!0),M.value?(s(),p(f,{key:3,link:"",type:"primary",size:"small",class:"conn-settings",onClick:n[1]||(n[1]=t=>C(R).push("/integrations"))},{default:i(()=>[v(a(e.$t("finance.inbox.connectorSettings")),1)]),_:1})):d("",!0)],2)):d("",!0),o("div",Vn,[o("div",xn,[u(Pe,{modelValue:H.value,"onUpdate:modelValue":n[2]||(n[2]=t=>H.value=t),clearable:"","prefix-icon":C(tn),class:"inbox-search",placeholder:e.$t("finance.inbox.searchPlaceholder")},null,8,["modelValue","prefix-icon","placeholder"]),u(Fe,{modelValue:N.value,"onUpdate:modelValue":n[3]||(n[3]=t=>N.value=t),clearable:"",size:"default",class:"status-filter",placeholder:e.$t("common.status"),onChange:ze},{default:i(()=>[(s(),m(ne,null,ve(x,t=>u(Me,{key:t,value:t,label:e.$t(`finance.inbox.status.${t}`)},null,8,["value","label"])),64))]),_:1},8,["modelValue","placeholder"])]),o("div",An,[u(f,{loading:h.value,onClick:g},{default:i(()=>[v(a(e.$t("finance.inbox.refresh")),1)]),_:1},8,["loading"]),w.value?(s(),p(f,{key:0,type:"primary",disabled:!re.value.length,onClick:n[4]||(n[4]=t=>he(re.value))},{default:i(()=>[v(a(e.$t("finance.inbox.route")),1)]),_:1},8,["disabled"])):d("",!0),u(f,{disabled:!X.value.length,loading:Z.value,title:e.$t("finance.inbox.downloadHint"),onClick:me},{default:i(()=>[u(y,null,{default:i(()=>[u(C(un))]),_:1}),v(" "+a(X.value.length?e.$t("finance.inbox.downloadN",{n:X.value.length}):e.$t("finance.inbox.download")),1)]),_:1},8,["disabled","loading","title"]),w.value?(s(),p(f,{key:1,disabled:!ce.value.length,onClick:Be},{default:i(()=>[v(a(e.$t("finance.inbox.ignore")),1)]),_:1},8,["disabled"])):d("",!0),w.value?(s(),p(f,{key:2,disabled:!J.value,onClick:je},{default:i(()=>[v(a(e.$t("finance.inbox.ignoreAll")),1)]),_:1},8,["disabled"])):d("",!0)])]),o("div",In,[an((s(),p(Ge,{data:B.value,style:{width:"100%"},"row-key":"id","default-sort":{prop:"issued_on",order:"descending"},onSortChange:_e,onSelectionChange:Ue},{empty:i(()=>[h.value?d("",!0):(s(),p(fn,{key:0,title:e.$t("finance.inbox.empty"),hint:Le.value,compact:""},null,8,["title","hint"]))]),default:i(()=>[u(S,{type:"selection",width:"44"}),u(S,{type:"expand"},{default:i(({row:t})=>[o("div",Ln,[o("div",Un,[o("div",zn,[o("span",Dn,a(e.$t("finance.inbox.net")),1),o("span",Rn,a(l(t.net_amount,t.currency)),1)]),o("div",Bn,[o("span",jn,a(e.$t("finance.inbox.vat")),1),o("span",Nn,a(l(t.tax_amount,t.currency)),1)]),o("div",Hn,[o("span",On,a(e.$t("finance.inbox.total")),1),o("span",Pn,a(l(t.amount_eur,t.currency)),1)]),t.iban?(s(),m("div",Mn,[o("span",Fn,a(e.$t("finance.inbox.iban")),1),o("span",Gn,a(t.iban),1)])):d("",!0),t.payment_ref?(s(),m("div",Qn,[o("span",Jn,a(e.$t("finance.inbox.paymentRef")),1),o("span",Xn,a(t.payment_ref),1)])):d("",!0)]),b(t).length?(s(),m("div",Yn,[o("div",qn,a(e.$t("finance.inbox.vatBreakdown")),1),o("table",Kn,[o("thead",null,[o("tr",null,[o("th",null,a(e.$t("finance.inbox.rate")),1),o("th",Wn,a(e.$t("finance.inbox.net")),1),o("th",Zn,a(e.$t("finance.inbox.vat")),1)])]),o("tbody",null,[(s(!0),m(ne,null,ve(b(t),(U,Xe)=>(s(),m("tr",{key:Xe},[o("td",null,a(A(U)),1),o("td",et,a(l(U.taxable,t.currency)),1),o("td",nt,a(l(U.tax,t.currency)),1)]))),128))])])])):d("",!0)])]),_:1}),u(S,{label:e.$t("finance.inbox.supplier"),prop:"supplier_name","min-width":"180","show-overflow-tooltip":"",sortable:"custom"},{default:i(({row:t})=>[o("span",null,a(t.supplier_name||"â"),1)]),_:1},8,["label"]),u(S,{label:e.$t("finance.inbox.number"),prop:"invoice_number","min-width":"160",sortable:"custom"},{default:i(({row:t})=>[o("div",tt,[o("span",at,a(t.invoice_number||"â"),1),t.invoice_type_code?(s(),p(pe,{key:0,t
1ype:ie(t.invoice_type_code),size:"small",class:"inv-type-tag"},{default:i(()=>[v(a(oe(t.invoice_type_code)),1)]),_:2},1032,["type"])):d("",!0)])]),_:1},8,["label"]),u(S,{label:e.$t("finance.inbox.amount"),prop:"amount_eur",width:"140",align:"right",sortable:"custom"},{default:i(({row:t})=>[t.amount_eur!=null?(s(),m("span",lt,a(t.amount_eur)+" "+a(t.currency||"EUR"),1)):(s(),m("span",ot,"â"))]),_:1},8,["label"]),u(S,{label:e.$t("finance.inbox.issued"),prop:"issued_on",width:"120",sortable:"custom"},{default:i(({row:t})=>[o("span",null,a(C(ke)(t.issued_on)||"â"),1)]),_:1},8,["label"]),u(S,{label:e.$t("finance.inbox.due"),prop:"due_date",width:"120",sortable:"custom"},{default:i(({row:t})=>[o("span",null,a(C(ke)(t.due_date)||"â"),1)]),_:1},8,["label"]),u(S,{label:e.$t("finance.inbox.received"),prop:"received_at",width:"170",sortable:"custom"},{default:i(({row:t})=>[o("span",null,a(C($e)(t.received_at||t.created_at)||"â"),1)]),_:1},8,["label"]),u(S,{label:e.$t("common.status"),prop:"status",width:"140",sortable:"custom"},{default:i(({row:t})=>[u(pe,{type:le(t.status),size:"small"},{default:i(()=>[v(a(e.$t(`finance.inbox.status.${t.status}`)),1)]),_:2},1032,["type"])]),_:1},8,["label"]),u(S,{label:"",width:"240",align:"right"},{default:i(({row:t})=>[o("div",it,[t.has_pdf?(s(),p(f,{key:0,size:"small",plain:"",icon:C(rn),onClick:U=>He(t)},{default:i(()=>[v(a(e.$t("finance.inbox.preview")),1)]),_:1},8,["icon","onClick"])):d("",!0),w.value&&(t.status==="ready"||t.status==="rejected")?(s(),p(f,{key:1,size:"small",type:"primary",plain:"",onClick:U=>he([t.id])},{default:i(()=>[v(a(t.status==="rejected"?e.$t("finance.inbox.resend"):e.$t("finance.inbox.route")),1)]),_:2},1032,["onClick"])):d("",!0),t.status==="failed"?(s(),p(f,{key:2,size:"small",onClick:U=>ye(t.id)},{default:i(()=>[v(a(e.$t("finance.inbox.retry")),1)]),_:1},8,["onClick"])):d("",!0),O.includes(t.status)&&t.contract_id?(s(),p(f,{key:3,size:"small",onClick:U=>Ne(t.contract_id)},{default:i(()=>[v(a(e.$t("finance.inbox.openContract")),1)]),_:1},8,["onClick"])):d("",!0),w.value&&(t.status==="ready"||t.status==="failed"||t.status==="rejected")?(s(),p(f,{key:4,size:"small",onClick:U=>be(t.id)},{default:i(()=>[v(a(e.$t("finance.inbox.ignore")),1)]),_:1},8,["onClick"])):d("",!0)])]),_:1})]),_:1},8,["data"])),[[Je,h.value]])]),J.value>Q.value?(s(),m("div",st,[u(Qe,{"current-page":L.value,"onUpdate:currentPage":n[5]||(n[5]=t=>L.value=t),"page-size":Q.value,"onUpdate:pageSize":n[6]||(n[6]=t=>Q.value=t),total:J.value,"page-sizes":[10,25,50,100],layout:"total, sizes, prev, pager, next",onCurrentChange:g,onSizeChange:De},null,8,["current-page","page-size","total"])])):d("",!0)],64)),u(bn,{modelValue:fe.value,"onUpdate:modelValue":n[7]||(n[7]=t=>fe.value=t),ids:ge.value,"default-list-id":$.value,onRouted:Oe},null,8,["modelValue","ids","default-list-id"])])}}},mt=Ee(ut,[["__scopeId","data-v-a87a2529"]]);export{mt 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.