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