import{$ as e,Ct as t,F as n,I as r,J as i,L as a,N as o,Q as ee,V as te,X as s,Y as ne,Z as c,bt as l,dt as u,et as d,i as re,it as f,lt as p,m,n as h,nt as g,q as _,r as v,rt as y,st as ie,x as b,xt as x,y as ae,yt as S,z as oe}from"./index-B2VD3zy8.js";import{c as C}from"./orderStatus-CYVblRJB.js";import{t as w}from"./StatusBadge-D3ThrLrU.js";var se={class:`checks-page`},ce={class:`admin-page-header`},le={key:0,class:`checks-page__order-meta`},ue={class:`checks-page__stats`},de={class:`checks-page__stat`},fe={class:`checks-page__stat`},pe={class:`checks-page__stat`},me={class:`checks-page__stat`},he={class:`admin-tabs`},ge={key:0,class:`admin-empty-placeholder admin-card`},_e={key:1,class:`checks-page__list admin-card`},ve=[`onClick`],ye={class:`check-row__chevron`,"aria-hidden":`true`},be=[`onClick`],T=[`src`],E={key:1,class:`check-row__thumb check-row__thumb--empty`},D={class:`check-row__meta`},O=[`disabled`,`onClick`],k=[`disabled`,`onClick`],A={key:0,class:`check-row__panel`},j={key:0,class:`check-row__fields`},M=[`dir`],N={key:1,class:`check-row__hint`},xe={class:`check-row__photos`},Se=[`onClick`],Ce=[`src`],we=[`onClick`],Te=[`src`],Ee={key:2,class:`check-row__hint`},De={class:`checks-page__footer`},Oe={class:`checks-page__note`},ke={class:`admin-action-group`},Ae=[`disabled`],je={key:0,class:`admin-empty-placeholder admin-card`},Me={key:1,class:`checks-page__history`},Ne={class:`checks-page__history-item-head`},P={class:`checks-page__history-meta`},Pe={key:0,class:`checks-page__history-note`},Fe={key:1,class:`checks-page__history-note`},Ie={class:`checks-page__history-item-head`},Le={class:`checks-page__history-note`},Re=[`src`],F=te(f({__name:`CheckManagementView`,setup(te){let f=n(),F=r(),I=oe(),L=S(`info`),R=S(null),z=S([]),B=S(null),V=S(null),H=S(null),U=s(()=>R.value?ae(R.value):null),ze=s(()=>z.value.reduce((e,t)=>e+t.amount,0)),W=s(()=>z.value.filter(e=>e.status===`pending_review`)),Be=s(()=>z.value.length>0&&z.value.every(e=>e.status===`approved`)),G=s(()=>!Be.value||!R.value?!1:(R.value.rawStatus??R.value.status)===`checks_approved`),K=S(!1),q=s(()=>{let e=R.value?.statusHistory??[],t=new Set([`check_in_progress`,`awaiting_check_review`,`check_needs_fix`,`check_rejected`,`checks_approved`]),n=e.filter(e=>t.has(e.toStatus)||e.fromStatus&&t.has(e.fromStatus)||/چک/.test(e.note||``)||/چک/.test(e.reason||``));return[...n.length?n:e].sort((e,t)=>new Date(t.changedAt).getTime()-new Date(e.changedAt).getTime())}),J=s(()=>z.value.filter(e=>e.notes?.trim()).map(e=>({id:e.id,row:e.row,status:e.status,notes:e.notes,updatedAt:e.updatedAt})));async function Ve(){let e=String(f.params.id);try{let[t,n]=await Promise.all([b.get(e),m.listByOrder(e)]);R.value=t,z.value=n,n.length===1&&(V.value=n[0].id)}catch(e){I.error(e instanceof o?e.message:`بارگذاری چک‌ها انجام نشد.`)}}ie(()=>{Ve()});function He(){F.push(`/orders`)}function Y(e){return e===`approved`?`check_approved`:e===`rejected`?`check_rejected`:`pending_check_review`}function Ue(e){return e?e===`customer`?`مشتری`:e.startsWith(`admin:`)?`ادمین`:e:`—`}function X(e){return re(e)}function We(e){return[e.ownerFirstName,e.ownerLastName].filter(Boolean).join(` `)}function Z(e){return[{label:`بانک`,value:e.bankName},{label:`شعبه`,value:e.branchName},{label:`شناسه صیادی`,value:e.sayadId,ltr:!0},{label:`شماره چک`,value:e.checkNumber,ltr:!0},{label:`صاحب چک`,value:We(e)},{label:`کد ملی`,value:e.ownerNationalId,ltr:!0},{label:`یادداشت`,value:e.notes}].filter(e=>!!e.value?.trim())}function Ge(e){V.value=V.value===e.id?null:e.id}async function Q(e,t){B.value=e.id;try{let n=await m.updateStatus(e.id,{status:t}),r=z.value.findIndex(t=>t.id===e.id);return r!==-1&&(z.value[r]=n),R.value=await b.get(String(f.params.id)),!0}catch(e){return I.error(e instanceof o?e.message:`به‌روزرسانی وضعیت چک انجام نشد.`),!1}finally{B.value=null}}async function $(e,t){if(t!==`approved`&&t!==`rejected`)return;let n=h(e.amount);await a(t===`approved`?{title:`تأیید چک`,message:`آیا از تأیید چک ردیف ${e.row} به مبلغ ${n} مطمئن هستید؟`,tone:`primary`,confirmLabel:`تأیید چک`,cancelLabel:`انصراف`}:{title:`رد چک`,message:`آیا از رد چک ردیف ${e.row} به مبلغ ${n} مطمئن هستید؟`,tone:`danger`,confirmLabel:`رد چک`,cancelLabel:`انصراف`})&&await Q(e,t)&&I.success(t===`approved`?`چک تأیید شد.`:`چک رد شد.`)}async function Ke(){let e=W.value;if(!e.length){I.error(`چکی برای تأیید وجود ندارد.`);return}if(await a({title:`تأیید همه چک‌ها`,message:`آیا از تأیید ${e.length} چک در انتظار بررسی مطمئن هستید؟`,tone:`primary`,confirmLabel:`تأیید همه`,cancelLabel:`انصراف`})){for(let t of e)if(!await Q(t,`approved`))return;I.success(`همه چک‌های در انتظار تأیید شدند.`)}}async function qe(){if(!(!R.value||K.value)&&await a({title:`تأیید نهایی سفارش`,message:`با تأیید نهایی، سفارش از مرحله بررسی چک خارج می‌شود و وارد آماده‌سازی می‌گردد. ادامه می‌دهید؟`,tone:`primary`,confirmLabel:`تأیید نهایی`,cancelLabel:`انصراف`})){K.value=!0;try{let e=await b.updateStatus(R.value.id,{status:`final_approved`,note:`تأیید نهایی پس از تأیید همه چک‌ها`});R.value=e,I.success(`سفارش تأیید نهایی شد.`)}catch(e){I.error(e instanceof o?e.message:`تأیید نهایی انجام نشد.`)}finally{K.value=!1}}}return(n,r)=>(p(),d(`div`,se,[c(`div`,ce,[r[5]||=c(`div`,null,[c(`h1`,{class:`admin-page-header__title`},`مدیریت چک‌های سفارش`)],-1),U.value?(p(),d(`div`,le,[y(w,{status:U.value.status},null,8,[`status`])])):e(``,!0)]),c(`div`,ue,[c(`div`,de,[r[6]||=c(`span`,null,`تعداد`,-1),c(`strong`,null,t(z.value.length),1)]),c(`div`,fe,[r[7]||=c(`span`,null,`راس`,-1),c(`strong`,null,t(R.value?.checkRassDays??`—`)+` روز`,1)]),c(`div`,pe,[r[8]||=c(`span`,null,`مجموع چک`,-1),c(`strong`,null,t(l(h)(ze.value)),1)]),c(`div`,me,[r[9]||=c(`span`,null,`مبلغ سفارش`,-1),c(`strong`,null,t(U.value?.totalAmount?l(h)(U.value.totalAmount):`—`),1)])]),c(`div`,he,[c(`button`,{type:`button`,class:x([`admin-tab`,{active:L.value===`info`}]),onClick:r[0]||=e=>L.value=`info`},` چک‌ها (`+t(z.value.length)+`) `,3),c(`button`,{type:`button`,class:x([`admin-tab`,{active:L.value===`history`}]),onClick:r[1]||=e=>L.value=`history`},` تاریخچه `,2)]),L.value===`info`?(p(),d(i,{key:0},[z.value.length?(p(),d(`div`,_e,[(p(!0),d(i,null,u(z.value,n=>(p(),d(`div`,{key:n.id,class:x([`check-row`,{open:V.value===n.id}])},[c(`button`,{type:`button`,class:`check-row__main`,onClick:e=>Ge(n)},[c(`span`,ye,t(V.value===n.id?`▾`:`◂`),1),n.frontImage||n.backImage?(p(),d(`span`,{key:0,class:`check-row__thumb`,onClick:_(e=>H.value=n.frontImage||n.backImage,[`stop`])},[c(`img`,{src:n.frontImage||n.backImage,alt:``},null,8,T)],8,be)):(p(),d(`span`,E,`بدون عکس`)),c(`span`,D,[c(`strong`,null,`چک `+t(n.row),1),c(`small`,null,[g(t(l(h)(n.amount))+` `,1),n.bankName?(p(),d(i,{key:0},[g(` · `+t(n.bankName),1)],64)):e(``,!0),g(` · `+t(l(v)(n.dueDate)),1)])]),y(w,{status:Y(n.status)},null,8,[`status`])],8,ve),c(`div`,{class:`check-row__actions`,onClick:r[2]||=_(()=>{},[`stop`])},[n.status===`pending_review`?(p(),d(i,{key:0},[c(`button`,{type:`button`,class:`admin-btn admin-btn--outline-success admin-btn--xs`,disabled:B.value===n.id,onClick:e=>$(n,`approved`)},` تأیید `,8,O),c(`button`,{type:`button`,class:`admin-btn admin-btn--outline-danger admin-btn--xs`,disabled:B.value===n.id,onClick:e=>$(n,`rejected`)},` رد `,8,k)],64)):e(``,!0)]),V.value===n.id?(p(),d(`div`,A,[Z(n).length?(p(),d(`div`,j,[(p(!0),d(i,null,u(Z(n),e=>(p(),d(`div`,{key:e.label,class:`check-row__field`},[c(`span`,null,t(e.label),1),c(`strong`,{dir:e.ltr?`ltr`:void 0},t(e.value),9,M)]))),128))])):(p(),d(`p`,N,`جزئیات متنی بیشتری ثبت نشده است.`)),c(`div`,xe,[n.frontImage?(p(),d(`button`,{key:0,type:`button`,class:`check-row__photo`,onClick:e=>H.value=n.frontImage},[c(`img`,{src:n.frontImage,alt:`روی چک`},null,8,Ce),r[10]||=c(`span`,null,`روی`,-1)],8,Se)):e(``,!0),n.backImage?(p(),d(`button`,{key:1,type:`button`,class:`check-row__photo`,onClick:e=>H.value=n.backImage},[c(`img`,{src:n.backImage,alt:`پشت چک`},null,8,Te),r[11]||=c(`span`,null,`پشت`,-1)],8,we)):e(``,!0),!n.frontImage&&!n.backImage?(p(),d(`p`,Ee,` تصویری ثبت نشده. `)):e(``,!0)])])):e(``,!0)],2))),128))])):(p(),d(`div`,ge,` چکی برای این سفارش ثبت نشده است. `)),c(`div`,De,[c(`p`,Oe,[G.value?(p(),d(i,{key:0},[g(` همه چک‌ها تأیید شده‌اند. برای ادامه، تأیید نهایی سفارش را ثبت کنید. `)],64)):R.value?.checkRassDate?(p(),d(i,{key:1},[g(` راس: `+t(l(v)(R.value.checkRassDate)),1)],64)):(p(),d(i,{key:2},[g(`راس بر اساس تاریخ ثبت سفارش محاسبه می‌شود.`)],64))]),c(`div`,ke,[G.value?(p(),d(`button`,{key:0,type:`button`,class:`admin-btn admin-btn--success admin-btn--sm`,disabled:K.value,onClick:qe},t(K.value?`در حال ثبت…`:`تأیید نهایی سفارش`),9,Ae)):e(``,!0),W.value.length?(p(),d(`button`,{key:1,type:`button`,class:`admin-btn admin-btn--success admin-btn--sm`,onClick:Ke},` تأیید همه چک‌ها `)):e(``,!0),c(`button`,{type:`button`,class:`admin-btn admin-btn--outline admin-btn--sm`,onClick:He},` بازگشت `)])])],64)):(p(),d(i,{key:1},[!q.value.length&&!J.value.length?(p(),d(`div`,je,` هنوز تاریخچه‌ای ثبت نشده است. `)):(p(),d(`div`,Me,[(p(!0),d(i,null,u(q.value,n=>(p(),d(`article`,{key:n.id,class:`admin-card checks-page__history-item`},[c(`div`,Ne,[c(`strong`,null,t(n.fromStatus?l(C)(n.fromStatus):`—`)+` → `+t(l(C)(n.toStatus)),1),c(`span`,null,t(X(n.changedAt)),1)]),c(`p`,P,`توسط `+t(Ue(n.changedBy)),1),n.note?(p(),d(`p`,Pe,t(n.note),1)):e(``,!0),n.reason?(p(),d(`p`,Fe,`دلیل: `+t(n.reason),1)):e(``,!0)]))),128)),(p(!0),d(i,null,u(J.value,e=>(p(),d(`article`,{key:`note-${e.id}`,class:`admin-card checks-page__history-item`},[c(`div`,Ie,[c(`strong`,null,`یادداشت چک `+t(e.row),1),c(`span`,null,t(X(e.updatedAt)),1)]),y(w,{status:Y(e.status)},null,8,[`status`]),c(`p`,Le,t(e.notes),1)]))),128))]))],64)),(p(),ee(ne,{to:`body`},[H.value?(p(),d(`div`,{key:0,class:`checks-page__lightbox`,onClick:r[4]||=_(e=>H.value=null,[`self`])},[c(`button`,{type:`button`,class:`checks-page__lightbox-close`,onClick:r[3]||=e=>H.value=null},` بستن `),c(`img`,{src:H.value,alt:`پیش‌نمایش`},null,8,Re)])):e(``,!0)]))]))}}),[[`__scopeId`,`data-v-af5e25db`]]);export{F as default};