import{$ as e,A as t,B as n,D as r,E as i,G as a,H as o,I as s,J as c,K as l,L as u,M as d,P as f,Q as p,R as m,S as h,T as g,U as _,V as v,W as y,X as b,Y as x,Z as S,a as C,at as w,ct as T,dt as E,et as D,f as O,ft as k,g as A,h as j,i as M,it as N,j as P,k as F,lt as I,n as L,o as R,ot as z,p as B,q as V,rt as H,st as U,ut as W,w as G,z as K}from"./index-dG7O4aC2.js";import{t as q}from"./AdminSelect-BsjBHdZj.js";import{r as J}from"./adminLabels-Cz9ccm1Z.js";import{a as Y,n as X,o as ee,r as te,s as Z,t as Q}from"./StatusBadge-D-XqK4sa.js";function ne(){let e=i(),n=r(),a=t(),o=T([]),s=T([]),c=T([]),l=T(`all`),u=T(``),d=T(``),f=T(!1),p=T(!1),m=T(!1),h=T(``),g=T(!1),_=()=>({customerId:``,customerName:``,companyId:o.value[0]?.id??``,settlementMethod:`check`,meterage:1e3,customerPhone:``}),v=U(_()),y=K(()=>v.customerId.length>0&&v.companyId.length>0),x=K(()=>{let e=[...s.value];return e.sort((e,t)=>Number(t.isActive)-Number(e.isActive)||e.name.localeCompare(t.name,`fa`)),e});function S(e){let t=s.value.find(t=>t.id===e);v.customerId=e,v.customerName=t?.name??``,v.customerPhone=t?.phone??``}async function C(){try{s.value=await B.list()}catch(e){a.error(e instanceof G?e.message:`بارگذاری مشتریان انجام نشد.`)}}let w=K(()=>{let e=c.value;if(l.value!==`all`&&(e=e.filter(e=>e.status===l.value)),d.value.trim()){let t=d.value.trim();e=e.filter(e=>e.orderNumber.includes(t)||e.customerName.includes(t))}return e}),E=K(()=>c.value.find(e=>e.id===u.value)??null);function D(e){let t=e.trim();if(t)return c.value.find(e=>e.id===t||e.orderNumber.toUpperCase()===t.toUpperCase())}async function k(){let t=typeof e.query.order==`string`?e.query.order:``;if(!t||!c.value.length)return;let r=D(t);if(!r){d.value=t;return}let i=typeof e.query.focus==`string`?e.query.focus:``;if(i===`pricing`){await n.replace(`/orders/${r.id}/pricing`);return}if(i===`checks`){await n.replace(`/orders/${r.id}/checks`);return}P(r),d.value=r.orderNumber}async function M(){try{let[e,t,n]=await Promise.all([A.list(),O.list(),B.list()]);c.value=e.map(e=>j(e)),o.value=t,s.value=n,!v.companyId&&t[0]&&(v.companyId=t[0].id),await k()}catch(e){a.error(e instanceof G?e.message:`بارگذاری سفارشها انجام نشد.`)}}b(()=>{M()}),H(()=>[e.query.order,e.query.focus],()=>{k()});function N(e,t=!1){u.value=e.id,t&&(p.value=!0)}function P(e){u.value=e.id,m.value=!0}function F(){p.value=!1}function I(){m.value=!1}function L(e){return e?e===`check`?`چکی`:`نقدی`:`انتخابنشده`}let R=T(!1);async function z(e){if(R.value)return null;R.value=!0;try{let t=await A.updateStatus(e.orderId,{status:e.status,note:e.note,reason:e.reason,force:e.force}),n=j(t),r=c.value.findIndex(t=>t.id===e.orderId);return r>=0&&(c.value[r]={...c.value[r],...n}),a.success(`وضعیت سفارش به «${Z(e.status)}» تغییر کرد.`),n}catch(e){return a.error(e instanceof G?e.message:`تغییر وضعیت انجام نشد.`),null}finally{R.value=!1}}function V(e){n.push(`/orders/${e.id}/pricing`)}function W(e){n.push(`/orders/${e.id}/checks`)}function q(e){n.push({path:`/cash-payments`,query:{order:e.orderNumber}})}function J(){Object.assign(v,_()),h.value=``,f.value=!0,C()}function Y(){f.value=!1,h.value=``}async function X(){if(!y.value){h.value=`انتخاب مشتری و شرکت الزامی است.`;return}g.value=!0;try{let e=await A.create({companyId:v.companyId,customerId:v.customerId||void 0,userId:v.customerId||void 0,customerName:v.customerName.trim(),customerPhone:v.customerPhone.trim()||void 0,settlementMethod:v.settlementMethod,meterage:v.meterage}),t=j(e);c.value.unshift(t),u.value=t.id,a.success(`سفارش جدید ثبت شد.`),Y()}catch(e){a.error(e instanceof G?e.message:`ثبت سفارش انجام نشد.`)}finally{g.value=!1}}return{companies:o,customers:s,activeCustomers:x,applyCustomer:S,loadCustomers:C,orderList:c,activeTab:l,selectedOrderId:u,searchQuery:d,showAddModal:f,showDetailPanel:p,showDetailModal:m,formError:h,form:v,isFormValid:y,filteredOrders:w,selectedOrder:E,selectOrder:N,openOrderDetail:P,closeDetailPanel:F,closeDetailModal:I,settlementLabel:L,changeStatus:z,statusSaving:R,goPricing:V,goChecks:W,goCashReceipt:q,openAddModal:J,closeAddModal:Y,submitAddOrder:X,saving:g}}var re=Symbol(`orders-page`);function ie(){let t=ne();return e(re,t),t}function ae(){let e=c(re);if(!e)throw Error(`Orders page context is missing`);return e}var oe={class:`order-detail__hero`},$={class:`order-detail__hero-text`},se={class:`order-detail__id`},ce={key:0,class:`order-detail__raw-status`},le={class:`order-detail__actions no-print`},ue={class:`order-detail__panels`},de={class:`order-detail__section`},fe={class:`order-detail__info`},pe={class:`order-detail__info-row`},me={class:`order-detail__info-value`},he={class:`order-detail__info-row`},ge={class:`order-detail__info-value order-detail__info-value--phone`,dir:`ltr`},_e={class:`order-detail__info-row`},ve={class:`order-detail__info-value`},ye={class:`order-detail__info-row`},be={class:`order-detail__info-value`},xe={class:`order-detail__section`},Se={class:`order-detail__info`},Ce={class:`order-detail__info-row`},we={class:`order-detail__info-value`},Te={class:`order-detail__info-row`},Ee={class:`order-detail__info-value`},De={class:`order-detail__info-row`},Oe={class:`order-detail__info-value`},ke={class:`order-detail__info-row`},Ae={class:`order-detail__info-value`},je={key:0,class:`order-detail__section`},Me={key:0,class:`admin-table-wrap order-detail__table`},Ne={class:`admin-table admin-table--compact`},Pe={key:1,class:`order-detail__items`},Fe={class:`order-detail__item-head`},Ie={class:`order-detail__item-meta`},Le={key:0},Re={key:1},ze={key:2,class:`order-detail__item-total`},Be={class:`order-detail__section order-detail__status no-print`},Ve={class:`order-detail__status-head`},He={class:`order-detail__manual`},Ue={key:0,class:`order-detail__status-hint`},We={key:1,class:`order-detail__status-hint`},Ge={key:2,class:`order-detail__status-form`},Ke={class:`admin-form__field`},qe={class:`admin-form__field`},Je={for:`status-note`},Ye=[`disabled`],Xe=P(V({__name:`OrderDetailContent`,props:{order:{},settlementLabel:{},layout:{default:`compact`},statusSaving:{type:Boolean}},emits:[`pricing`,`checks`,`cashReceipt`,`status`],setup(e,{emit:t}){let r=e,i=t,a=T(!1),s=T(``),c=T(``),m=Object.keys(Y),h=K(()=>r.order.allowedTransitions??[]),v=K(()=>a.value?m.filter(e=>e!==r.order.rawStatus):[...h.value]),y=K(()=>[{value:``,label:`انتخاب کنید…`},...v.value.map(e=>({value:e,label:Z(e)}))]),b=K(()=>a.value),x=K(()=>!!s.value&&(!b.value||c.value.trim().length>0)),S=K(()=>r.layout===`desktop`),E=K(()=>X[r.order.status]?.label??r.order.status),O=K(()=>{let e=Z(r.order.rawStatus);return!e||e===E.value?``:e}),A=K(()=>{let e=r.order.customerType;return e?J[e]??r.order.customerType??`—`:`—`}),j=K(()=>ee(r.order)),M=K(()=>r.order.settlementMethod===`check`),N=K(()=>r.order.settlementMethod===`cash`),P=K(()=>j.value?`pricing`:M.value?`checks`:N.value?`cash`:null);H([()=>r.order.id,a],()=>{s.value=``,c.value=``});function F(){if(!s.value||!x.value)return;let e=c.value.trim()||void 0;i(`status`,{orderId:r.order.id,status:s.value,note:e,reason:a.value?e:void 0,force:a.value||void 0}),s.value=``,c.value=``}return(t,r)=>(p(),_(`div`,{class:W([`order-detail`,`order-detail--${e.layout}`])},[n(`header`,oe,[n(`div`,$,[n(`div`,se,[n(`strong`,null,k(e.order.orderNumber),1),l(Q,{status:e.order.status},null,8,[`status`])]),O.value?(p(),_(`p`,ce,k(O.value),1)):o(``,!0)]),n(`div`,le,[j.value?(p(),_(`button`,{key:0,type:`button`,class:W([`admin-btn admin-btn--sm`,P.value===`pricing`?`admin-btn--primary`:`admin-btn--outline`]),onClick:r[0]||=e=>i(`pricing`)},` قیمتگذاری سفارش `,2)):o(``,!0),M.value?(p(),_(`button`,{key:1,type:`button`,class:W([`admin-btn admin-btn--sm`,P.value===`checks`?`admin-btn--primary`:`admin-btn--outline`]),onClick:r[1]||=e=>i(`checks`)},` مدیریت چکها `,2)):o(``,!0),N.value?(p(),_(`button`,{key:2,type:`button`,class:W([`admin-btn admin-btn--sm`,P.value===`cash`?`admin-btn--primary`:`admin-btn--outline`]),onClick:r[2]||=e=>i(`cashReceipt`)},` رسید پرداخت `,2)):o(``,!0)])]),n(`div`,ue,[n(`section`,de,[r[10]||=n(`h3`,{class:`order-detail__section-title`},`اطلاعات مشتری`,-1),n(`div`,fe,[n(`div`,pe,[l(g,{name:`building`,size:16}),r[6]||=n(`span`,{class:`order-detail__info-label`},`مشتری`,-1),n(`span`,me,k(e.order.customerName),1)]),n(`div`,he,[l(g,{name:`phone`,size:16}),r[7]||=n(`span`,{class:`order-detail__info-label`},`تلفن`,-1),n(`span`,ge,k(e.order.customerPhone??`—`),1)]),n(`div`,_e,[l(g,{name:`id-card`,size:16}),r[8]||=n(`span`,{class:`order-detail__info-label`},`شناسه ملی`,-1),n(`span`,ve,k(e.order.customerNationalId??`—`),1)]),n(`div`,ye,[l(g,{name:`user`,size:16}),r[9]||=n(`span`,{class:`order-detail__info-label`},`نوع مشتری`,-1),n(`span`,be,k(A.value),1)])])]),n(`section`,xe,[r[15]||=n(`h3`,{class:`order-detail__section-title`},`اطلاعات سفارش`,-1),n(`div`,Se,[n(`div`,Ce,[r[11]||=n(`span`,{class:`order-detail__info-label`},`شرکت`,-1),n(`span`,we,k(e.order.companyName),1)]),n(`div`,Te,[r[12]||=n(`span`,{class:`order-detail__info-label`},`روش تسویه`,-1),n(`span`,Ee,k(e.settlementLabel(e.order.settlementMethod)),1)]),n(`div`,De,[r[13]||=n(`span`,{class:`order-detail__info-label`},`متراژ کل`,-1),n(`span`,Oe,k(I(C)(e.order.meterage)),1)]),n(`div`,ke,[r[14]||=n(`span`,{class:`order-detail__info-label`},`مبلغ کل`,-1),n(`span`,Ae,k(e.order.totalAmount==null?`پس از قیمتگذاری`:I(L)(e.order.totalAmount)),1)])])])]),e.order.items?.length?(p(),_(`section`,je,[r[17]||=n(`h3`,{class:`order-detail__section-title`},`محصولات سفارش`,-1),S.value?(p(),_(`div`,Me,[n(`table`,Ne,[r[16]||=n(`thead`,null,[n(`tr`,null,[n(`th`,null,`شرکت`),n(`th`,null,`کالیته`),n(`th`,null,`محصول`),n(`th`,null,`رنگ`),n(`th`,null,`متراژ`),n(`th`,null,`قیمت`),n(`th`,null,`مبلغ`)])],-1),n(`tbody`,null,[(p(!0),_(u,null,D(e.order.items,t=>(p(),_(`tr`,{key:t.id},[n(`td`,null,k(t.companyName||e.order.companyName),1),n(`td`,null,k(t.catalogCode),1),n(`td`,null,k(t.productName),1),n(`td`,null,k(t.color),1),n(`td`,null,k(I(R)(t.confirmedMeterage??t.requestedMeterage)),1),n(`td`,null,k(t.supplyPrice==null?`—`:I(L)(t.supplyPrice)),1),n(`td`,null,k(t.totalAmount==null?`—`:I(L)(t.totalAmount)),1)]))),128))])])])):(p(),_(`ul`,Pe,[(p(!0),_(u,null,D(e.order.items,e=>(p(),_(`li`,{key:e.id,class:`order-detail__item`},[n(`div`,Fe,[n(`strong`,null,k(e.productName),1),n(`span`,null,k(e.catalogCode),1)]),n(`div`,Ie,[e.companyName?(p(),_(`span`,Le,k(e.companyName),1)):o(``,!0),n(`span`,null,k(e.color),1),n(`span`,null,k(I(C)(e.confirmedMeterage??e.requestedMeterage)),1),e.supplyPrice==null?o(``,!0):(p(),_(`span`,Re,k(I(L)(e.supplyPrice)),1)),e.totalAmount==null?o(``,!0):(p(),_(`span`,ze,k(I(L)(e.totalAmount)),1))])]))),128))]))])):o(``,!0),n(`section`,Be,[n(`div`,Ve,[r[19]||=n(`h3`,{class:`order-detail__section-title`},`تغییر وضعیت`,-1),n(`label`,He,[w(n(`input`,{"onUpdate:modelValue":r[3]||=e=>a.value=e,type:`checkbox`},null,512),[[d,a.value]]),r[18]||=n(`span`,null,`تغییر دستی`,-1)])]),a.value?(p(),_(`p`,Ue,` این گذر خارج از روال استاندارد است؛ ثبت یادداشت اجباری است. `)):v.value.length?o(``,!0):(p(),_(`p`,We,` در این وضعیت گذر خودکاری وجود ندارد. برای تغییر، حالت دستی را فعال کنید. `)),v.value.length?(p(),_(`div`,Ge,[n(`div`,Ke,[r[20]||=n(`label`,null,`وضعیت بعدی`,-1),l(q,{modelValue:s.value,"onUpdate:modelValue":r[4]||=e=>s.value=e,block:``,"aria-label":`وضعیت بعدی`,placeholder:`انتخاب کنید…`,options:y.value},null,8,[`modelValue`,`options`])]),n(`div`,qe,[n(`label`,Je,` یادداشت`+k(b.value?` (اجباری)`:` (اختیاری)`),1),w(n(`input`,{id:`status-note`,"onUpdate:modelValue":r[5]||=e=>c.value=e,type:`text`,class:`admin-input`,placeholder:`دلیل یا توضیح این تغییر`},null,512),[[f,c.value]])]),n(`button`,{type:`button`,class:`admin-btn admin-btn--primary admin-btn--sm`,disabled:!x.value||e.statusSaving,onClick:F},k(e.statusSaving?`در حال ثبت…`:`ثبت وضعیت`),9,Ye)])):o(``,!0)])],2))}}),[[`__scopeId`,`data-v-5cc8f41e`]]),Ze={class:`orders-page`},Qe={class:`orders-page__list-panel admin-card`},$e={class:`orders-page__list-header`},et={class:`orders-page__list-actions`},tt={type:`button`,class:`admin-btn admin-btn--outline admin-btn--sm`},nt={class:`orders-page__search`},rt={class:`admin-tabs`},it=[`onClick`],at={class:`admin-table-wrap`},ot={class:`admin-table admin-table--compact`},st=[`onClick`],ct={class:`orders-page__actions-cell`},lt=[`aria-expanded`,`onClick`],ut={type:`button`,class:`admin-btn admin-btn--outline admin-btn--sm`},dt=P(V({__name:`DesktopOrdersPage`,setup(e){let t=h(`(min-width: 1280px)`),{activeTab:r,selectedOrderId:i,searchQuery:c,filteredOrders:d,selectedOrder:O,showDetailModal:A,openOrderDetail:j,closeDetailModal:P,settlementLabel:R,goPricing:B,goChecks:V,goCashReceipt:H,changeStatus:U,statusSaving:G,openAddModal:K}=ae(),q=T(null),J=T({});function Y(){q.value=null}async function X(e,t){if(t.stopPropagation(),q.value?.id===e.id){Y();return}let n=t.currentTarget.getBoundingClientRect();q.value=e,await x();let r=Math.min(Math.max(8,n.right-168),window.innerWidth-168-8);J.value={position:`fixed`,top:`${n.bottom+4}px`,left:`${r}px`,width:`168px`}}function Z(){Y()}b(()=>{document.addEventListener(`click`,Z),window.addEventListener(`scroll`,Y,!0),window.addEventListener(`resize`,Y)}),S(()=>{document.removeEventListener(`click`,Z),window.removeEventListener(`scroll`,Y,!0),window.removeEventListener(`resize`,Y)});function ne(){O.value&&(P(),B(O.value))}function re(){O.value&&(P(),V(O.value))}function ie(){O.value&&(P(),H(O.value))}function oe(){if(!O.value)return;document.documentElement.classList.add(`printing-order-detail`);let e=()=>{document.documentElement.classList.remove(`printing-order-detail`),window.removeEventListener(`afterprint`,e)};window.addEventListener(`afterprint`,e),window.setTimeout(e,6e4),window.print()}function $(e){let t=q.value;if(t){if(Y(),e===`detail`){j(t);return}if(e===`pricing`){B(t);return}if(e===`checks`){V(t);return}H(t)}}return(e,h)=>(p(),_(`div`,Ze,[n(`div`,Qe,[n(`div`,$e,[h[8]||=n(`div`,null,[n(`h2`,{class:`orders-page__list-title`},`سفارشها`),n(`p`,{class:`orders-page__breadcrumb`},`داشبورد / سفارشها`)],-1),n(`div`,et,[n(`button`,tt,[l(g,{name:`filter`,size:16}),h[7]||=a(` فیلتر `,-1)]),n(`button`,{type:`button`,class:`admin-btn admin-btn--primary admin-btn--sm`,onClick:h[0]||=(...e)=>I(K)&&I(K)(...e)},` سفارش جدید `)])]),n(`div`,nt,[l(g,{name:`search`,size:18}),w(n(`input`,{"onUpdate:modelValue":h[1]||=e=>z(c)?c.value=e:null,type:`search`,placeholder:`جستجو در شماره سفارش، مشتری...`,class:`orders-page__search-input`},null,512),[[f,I(c)]])]),n(`div`,rt,[(p(!0),_(u,null,D(I(te),e=>(p(),_(`button`,{key:e.key,type:`button`,class:W([`admin-tab`,{active:I(r)===e.key}]),onClick:t=>r.value=e.key},[a(k(e.label)+` `,1),`count`in e&&e.count?(p(),_(u,{key:0},[a(` (`+k(e.count)+`)`,1)],64)):o(``,!0)],10,it))),128))]),n(`div`,at,[n(`table`,ot,[h[9]||=n(`thead`,null,[n(`tr`,null,[n(`th`,null,`شماره سفارش`),n(`th`,null,`مشتری`),n(`th`,null,`روش تسویه`),n(`th`,null,`مبلغ کل`),n(`th`,null,`متراژ`),n(`th`,null,`وضعیت`),n(`th`,null,`تاریخ ثبت`),n(`th`,null,`عملیات`)])],-1),n(`tbody`,null,[(p(!0),_(u,null,D(I(d),e=>(p(),_(`tr`,{key:e.id,class:W({"is-selected":I(i)===e.id}),onClick:t=>I(j)(e)},[n(`td`,null,k(e.orderNumber),1),n(`td`,null,k(e.customerName),1),n(`td`,null,k(I(R)(e.settlementMethod)),1),n(`td`,null,k(e.totalAmount?I(L)(e.totalAmount):`—`),1),n(`td`,null,k(I(C)(e.meterage)),1),n(`td`,null,[l(Q,{status:e.status},null,8,[`status`])]),n(`td`,null,k(I(M)(e.createdAt)),1),n(`td`,ct,[n(`button`,{type:`button`,class:`orders-page__more-btn`,"aria-expanded":q.value?.id===e.id,"aria-haspopup":`menu`,"aria-label":`عملیات سفارش`,onClick:t=>X(e,t)},[l(g,{name:`more`,size:18})],8,lt)])],10,st))),128))])])]),h[10]||=y(`