import{A as e,D as t,N as n,Ot as r,W as i,a,c as o,ct as s,d as c,et as l,g as ee,h as u,jt as d,l as f,r as p,s as m,t as h,u as g}from"./_plugin-vue_export-helper-vx-p5QAT.js";import{a as te,d as ne,m as _,t as v}from"./http-CTjL79ty.js";import{L as y,T as re,_ as b,a as x,c as ie,i as S,s as ae,u as C,z as oe}from"./index-BWgYBNME.js";import{t as se}from"./AdminPageSkeleton-DacAHji8.js";import{t as ce}from"./AdminSelect-hgn_nYC2.js";import{t as w}from"./StatusBadge-BkaoX2rz.js";var le={class:`checks-list-page`},ue={class:`admin-page-header`},de={class:`checks-list-page__summary`},fe={key:0},pe={class:`checks-list-page__filters admin-card`},me={class:`checks-list-page__search`},he={key:0,class:`check-groups`},ge=[`onClick`],T=[`aria-expanded`,`onClick`],E={class:`check-group__summary-name`},D={class:`check-group__summary-invoice`},O={class:`check-group__summary-meta`},k={class:`check-group__summary-meta`},A={class:`check-group__summary-meta`},j={key:0,class:`check-group__body`},M={class:`check-group__head`},N={class:`check-group__col`},P={class:`check-group__field`},F={class:`check-group__field`},I={class:`check-group__ltr`},L={class:`check-group__field`},_e={class:`check-group__col`},ve={class:`check-group__field`},ye={class:`check-group__field`},be={class:`check-group__field`},xe={class:`check-lines`},Se={class:`check-line__row`},Ce={class:`check-line__amount`},we={key:0},Te={class:`check-line__due`},Ee={key:0,class:`check-line__sayad`},De=[`onClick`],Oe=[`src`],ke={key:1,class:`check-line__photo check-line__photo--empty`,"aria-hidden":`true`},Ae={class:`check-line__foot`},je={class:`check-line__status`},Me={class:`check-line__actions`},Ne=[`disabled`,`onClick`],Pe=[`disabled`,`onClick`],Fe={key:1,class:`checks-list-page__empty admin-card`},Ie=[`src`],R=h(ee({__name:`ChecksListView`,setup(ee){let h=oe(),R=te(),z=l([]),B=l(new Map),V=l(!0),H=l(``),U=l(`all`),W=l(null),G=l(null),K=l({}),Le=[{value:`all`,label:`همه وضعیت‌ها`},{value:`pending_review`,label:`در انتظار بررسی`},{value:`approved`,label:`تأیید شده`},{value:`rejected`,label:`رد شده`}],Re=m(()=>new Set(z.value.map(e=>e.orderId)).size),q=m(()=>z.value.filter(e=>e.status===`pending_review`).length),J=m(()=>Ve());function Y(e){return{orderNumber:e.orderNumber,customerName:e.customerName,invoiceAmount:e.finalAmount??e.totalAmount??null,rassDate:e.checkRassDate??null,rassDays:e.checkRassDays??null,goods:(e.items??[]).map(e=>({productName:e.productName,color:e.color,meterage:e.confirmedMeterage??e.requestedMeterage}))}}function ze(e){if(!e.length)return`—`;let t=e.slice(0,2).map(e=>{let t=[e.productName,e.color].filter(Boolean).join(` `);return e.meterage?`${t} (${ae(e.meterage)})`:t}),n=e.length-t.length;return n>0?`${t.join(` · `)} و ${C(n)} قلم دیگر`:t.join(` · `)}function Be(e,t){if(!t)return!0;let n=B.value.get(e.orderId),r=(n?.goods??[]).map(e=>`${e.productName} ${e.color}`).join(` `);return[e.orderNumber,n?.orderNumber,e.customerName,n?.customerName,e.bankName,e.sayadId,r].filter(Boolean).join(` `).toLowerCase().includes(t.toLowerCase())}function Ve(){let e=new Map;for(let t of z.value){let n=e.get(t.orderId)??[];n.push(t),e.set(t.orderId,n)}let t=H.value.trim(),n=[];for(let[r,i]of e){if(!i.some(e=>U.value!==`all`&&e.status!==U.value?!1:Be(e,t)))continue;let e=[...i].sort((e,t)=>e.row-t.row),a=B.value.get(r),o=e[0],s=Math.max(0,...e.map(e=>e.createdAt?new Date(e.createdAt).getTime():0));n.push({orderId:r,customerName:o.customerName||a?.customerName||``,orderNumber:o.orderNumber||a?.orderNumber||``,invoiceAmount:a?.invoiceAmount??null,rassDate:a?.rassDate??null,rassDays:a?.rassDays??null,goodsLabel:ze(a?.goods??[]),totalCheckAmount:e.reduce((e,t)=>e+t.amount,0),hasPending:e.some(e=>e.status===`pending_review`),latestAt:s,checks:e})}return n.sort((e,t)=>e.hasPending===t.hasPending?t.latestAt-e.latestAt:e.hasPending?-1:1),n}function X(e){return e.rassDate?x(e.rassDate):e.rassDays==null?`—`:`${ie(e.rassDays)} روز`}function He(e){return e.invoiceAmount==null?`—`:S(e.invoiceAmount)}function Z(e){return K.value[e]===!0}function Ue(e){K.value={...K.value,[e]:!K.value[e]}}function We(e){return e.checks.some(e=>e.status===`pending_review`)?`pending_check_review`:e.checks.some(e=>e.status===`rejected`)?`needs_correction`:`final_approval`}function Ge(e){return e===`approved`?`final_approval`:e===`rejected`?`needs_correction`:`pending_check_review`}function Q(e){return e.frontImage||e.backImage||null}function Ke(e){h.push({name:`orders`,query:{order:e,from:`checks`}})}async function qe(){V.value=!0;try{let[e,t]=await Promise.allSettled([b.list(),re.list()]),n=t.status===`fulfilled`?t.value:[],r=new Map;for(let e of n)r.set(e.id,Y(e));if(B.value=r,e.status===`fulfilled`){z.value=e.value.map(e=>{let t=r.get(e.orderId);return t?{...e,orderNumber:e.orderNumber||t.orderNumber,customerName:e.customerName||t.customerName}:e});return}if(t.status===`fulfilled`){z.value=n.flatMap(e=>(e.checks??[]).map(t=>({...t,orderNumber:e.orderNumber,customerName:e.customerName,orderStatus:e.status,settlementType:e.settlementMethod??e.settlementType??null})));return}let i=e.reason;R.error(i instanceof v?i.message:`بارگذاری چک‌ها انجام نشد.`)}finally{V.value=!1}}t(()=>{qe()});async function $(e,t){W.value=e.id;try{let n=await b.updateStatus(e.id,{status:t}),r=z.value.findIndex(t=>t.id===e.id);r!==-1&&(z.value[r]={...z.value[r],...n,orderNumber:e.orderNumber,customerName:e.customerName,orderStatus:e.orderStatus,settlementType:e.settlementType}),R.success(t===`approved`?`چک تأیید شد.`:`چک رد شد.`)}catch(e){R.error(e instanceof v?e.message:`به‌روزرسانی وضعیت چک انجام نشد.`)}finally{W.value=null}}return(t,l)=>(e(),c(`div`,le,[o(`div`,ue,[l[4]||=o(`div`,null,[o(`h1`,{class:`admin-page-header__title`},`چک‌ها`)],-1),o(`div`,de,[o(`span`,null,d(s(C)(Re.value))+` فاکتور`,1),o(`span`,null,d(s(C)(z.value.length))+` چک`,1),q.value?(e(),c(`span`,fe,d(s(C)(q.value))+` در انتظار بررسی`,1)):g(``,!0)])]),o(`div`,pe,[o(`div`,me,[u(y,{name:`search`,size:18}),i(o(`input`,{"onUpdate:modelValue":l[0]||=e=>H.value=e,type:`search`,class:`checks-list-page__search-input`,placeholder:`جستجو در شماره فاکتور، مشتری، جنس، بانک، صیاد...`},null,512),[[ne,H.value]])]),u(ce,{modelValue:U.value,"onUpdate:modelValue":l[1]||=e=>U.value=e,class:`checks-list-page__status-select`,"aria-label":`فیلتر وضعیت چک`,options:Le},null,8,[`modelValue`])]),V.value?(e(),f(se,{key:0,variant:`table`})):(e(),c(p,{key:1},[J.value.length?(e(),c(`div`,he,[(e(!0),c(p,null,n(J.value,t=>(e(),c(`article`,{key:t.orderId,class:r([`check-group admin-card`,{"is-open":Z(t.orderId)}])},[o(`button`,{type:`button`,class:`check-group__detail`,"aria-label":`جزئیات سفارش`,title:`جزئیات سفارش`,onClick:_(e=>Ke(t.orderId),[`stop`])},[u(y,{name:`eye`,size:18})],8,ge),o(`button`,{type:`button`,class:`check-group__summary`,"aria-expanded":Z(t.orderId),onClick:e=>Ue(t.orderId)},[u(y,{class:`check-group__chevron`,name:Z(t.orderId)?`chevron-down`:`chevron-left`,size:16},null,8,[`name`]),o(`strong`,E,d(t.customerName||`—`),1),o(`span`,D,d(t.orderNumber||`—`),1),o(`span`,O,d(s(C)(t.checks.length))+` چک`,1),o(`span`,k,d(s(S)(t.totalCheckAmount)),1),o(`span`,A,`راس `+d(X(t)),1),u(w,{status:We(t)},null,8,[`status`])],8,T),Z(t.orderId)?(e(),c(`div`,j,[o(`header`,M,[o(`div`,N,[o(`div`,P,[l[5]||=o(`span`,null,`نام مشتری`,-1),o(`strong`,null,d(t.customerName||`—`),1)]),o(`div`,F,[l[6]||=o(`span`,null,`شماره فاکتور`,-1),o(`strong`,I,d(t.orderNumber||`—`),1)]),o(`div`,L,[l[7]||=o(`span`,null,`جنس سفارش`,-1),o(`strong`,null,d(t.goodsLabel),1)])]),o(`div`,_e,[o(`div`,ve,[l[8]||=o(`span`,null,`مبلغ فاکتور`,-1),o(`strong`,null,d(He(t)),1)]),o(`div`,ye,[l[9]||=o(`span`,null,`مبلغ مجموع چک‌ها`,-1),o(`strong`,null,d(s(S)(t.totalCheckAmount)),1)]),o(`div`,be,[l[10]||=o(`span`,null,`راس چک‌ها`,-1),o(`strong`,null,d(X(t)),1)])])]),o(`div`,xe,[l[11]||=o(`div`,{class:`check-line check-line--head`,"aria-hidden":`true`},[o(`span`,null,`ردیف`),o(`span`,null,`مبلغ`),o(`span`,null,`سررسید`),o(`span`,null,`عکس`),o(`span`,null,`وضعیت`),o(`span`,null,`عملیات`)],-1),(e(!0),c(p,null,n(t.checks,t=>(e(),c(`div`,{key:t.id,class:`check-line`},[o(`span`,Se,d(s(C)(t.row)),1),o(`span`,Ce,[o(`strong`,null,d(s(S)(t.amount)),1),t.bankName?(e(),c(`small`,we,d(t.bankName),1)):g(``,!0)]),o(`span`,Te,[o(`strong`,null,d(s(x)(t.dueDate)),1),t.sayadId?(e(),c(`small`,Ee,d(t.sayadId),1)):g(``,!0)]),Q(t)?(e(),c(`button`,{key:0,type:`button`,class:`check-line__photo`,"aria-label":`عکس چک`,onClick:e=>G.value=Q(t)},[o(`img`,{src:Q(t),alt:``},null,8,Oe)],8,De)):(e(),c(`span`,ke)),o(`div`,Ae,[o(`span`,je,[u(w,{status:Ge(t.status)},null,8,[`status`])]),o(`div`,Me,[t.status===`pending_review`?(e(),c(p,{key:0},[o(`button`,{type:`button`,class:`admin-btn admin-btn--outline-success admin-btn--xs`,disabled:W.value===t.id,onClick:e=>$(t,`approved`)},` تأیید `,8,Ne),o(`button`,{type:`button`,class:`admin-btn admin-btn--outline-danger admin-btn--xs`,disabled:W.value===t.id,onClick:e=>$(t,`rejected`)},` رد `,8,Pe)],64)):g(``,!0)])])]))),128))])])):g(``,!0)],2))),128))])):(e(),c(`p`,Fe,`چکی با این فیلتر یافت نشد.`))],64)),(e(),f(a,{to:`body`},[G.value?(e(),c(`div`,{key:0,class:`checks-list-page__lightbox`,onClick:l[3]||=_(e=>G.value=null,[`self`])},[o(`button`,{type:`button`,class:`checks-list-page__lightbox-close`,onClick:l[2]||=e=>G.value=null},` بستن `),o(`img`,{src:G.value,alt:`عکس چک`},null,8,Ie)])):g(``,!0)]))]))}}),[[`__scopeId`,`data-v-5e24fa4b`]]);export{R as default};