Files
nademitex_admin/dist/assets/OrdersView-D0Eztocg.js
T

1 line
25 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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(`<div class="admin-pagination" data-v-9f4b4f0a><span data-v-9f4b4f0a>نمایش ۱ تا ۷ از ۱۰۳ سفارش</span><div class="admin-pagination__pages" data-v-9f4b4f0a><button type="button" class="admin-pagination__page active" data-v-9f4b4f0a>۱</button><button type="button" class="admin-pagination__page" data-v-9f4b4f0a>۲</button><button type="button" class="admin-pagination__page" data-v-9f4b4f0a>۳</button><span data-v-9f4b4f0a>...</span><button type="button" class="admin-pagination__page" data-v-9f4b4f0a>۱۲</button></div></div>`,1)]),(p(),v(m,{to:`body`},[q.value?(p(),_(`div`,{key:0,class:`orders-page__menu`,role:`menu`,style:E(J.value),onClick:h[6]||=s(()=>{},[`stop`])},[n(`button`,{type:`button`,role:`menuitem`,class:`orders-page__menu-item`,onClick:h[2]||=e=>$(`detail`)},` جزئیات سفارش `),q.value&&I(ee)(q.value)?(p(),_(`button`,{key:0,type:`button`,role:`menuitem`,class:`orders-page__menu-item`,onClick:h[3]||=e=>$(`pricing`)},` قیمت‌گذاری `)):o(``,!0),q.value.settlementMethod===`check`?(p(),_(`button`,{key:1,type:`button`,role:`menuitem`,class:`orders-page__menu-item`,onClick:h[4]||=e=>$(`checks`)},` مدیریت چک‌ها `)):o(``,!0),q.value.settlementMethod===`cash`?(p(),_(`button`,{key:2,type:`button`,role:`menuitem`,class:`orders-page__menu-item`,onClick:h[5]||=e=>$(`cash`)},` رسید پرداخت `)):o(``,!0)],4)):o(``,!0)])),l(F,{open:I(t)&&I(A)&&!!I(O),title:`جزئیات سفارش`,size:`xl`,onClose:I(P)},{footer:N(()=>[n(`button`,ut,[l(g,{name:`sms`,size:16}),h[12]||=a(` ارسال پیامک `,-1)]),n(`button`,{type:`button`,class:`admin-btn admin-btn--outline admin-btn--sm`,onClick:oe},[l(g,{name:`print`,size:16}),h[13]||=a(` چاپ `,-1)])]),default:N(()=>[I(O)?(p(),_(u,{key:0},[h[11]||=n(`p`,{class:`orders-page__breadcrumb orders-page__modal-breadcrumb`},` سفارش‌ها / جزئیات سفارش `,-1),l(Xe,{order:I(O),layout:`desktop`,"settlement-label":I(R),"status-saving":I(G),onPricing:ne,onChecks:re,onCashReceipt:ie,onStatus:I(U)},null,8,[`order`,`settlement-label`,`status-saving`,`onStatus`])],64)):o(``,!0)]),_:1},8,[`open`,`onClose`])]))}}),[[`__scopeId`,`data-v-9f4b4f0a`]]),ft={class:`compact-orders`},pt={class:`compact-page-header`},mt={class:`compact-page-header__row`},ht={class:`compact-page-header__actions`},gt={type:`button`,class:`admin-btn admin-btn--outline admin-btn--sm`},_t={class:`orders-page__search admin-card`},vt={class:`admin-tabs compact-orders__tabs`},yt=[`onClick`],bt={class:`admin-card-list`},xt=[`onClick`],St={class:`admin-card-item__header`},Ct={class:`admin-card-item__title`},wt={class:`admin-card-item__meta`},Tt={key:0,class:`admin-detail-panel__inner`},Et={class:`admin-detail-panel__header`},Dt={class:`admin-detail-panel__body`},Ot=P(V({__name:`CompactOrdersPage`,setup(e){let t=h(`(max-width: 767px)`),r=h(`(max-width: 1279px)`),{activeTab:i,selectedOrderId:s,searchQuery:c,filteredOrders:d,selectedOrder:m,showDetailPanel:v,showDetailModal:y,selectOrder:b,openOrderDetail:x,closeDetailPanel:S,closeDetailModal:T,settlementLabel:E,goPricing:O,goChecks:A,goCashReceipt:j,changeStatus:P,statusSaving:R,openAddModal:B}=ae();function V(e){if(t.value){b(e,!0);return}x(e)}function H(){m.value&&(T(),S(),O(m.value))}function U(){m.value&&(T(),S(),A(m.value))}function G(){m.value&&(T(),S(),j(m.value))}return(e,h)=>(p(),_(`div`,ft,[n(`div`,pt,[n(`div`,mt,[h[4]||=n(`div`,null,[n(`h2`,{class:`compact-page-header__title`},`سفارش‌ها`),n(`p`,{class:`compact-page-header__breadcrumb`},`داشبورد / سفارش‌ها`)],-1),n(`div`,ht,[n(`button`,gt,[l(g,{name:`filter`,size:16}),h[3]||=a(` فیلتر `,-1)]),n(`button`,{type:`button`,class:`admin-btn admin-btn--primary admin-btn--sm`,onClick:h[0]||=(...e)=>I(B)&&I(B)(...e)},` سفارش جدید `)])])]),n(`div`,_t,[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`,vt,[(p(!0),_(u,null,D(I(te),e=>(p(),_(`button`,{key:e.key,type:`button`,class:W([`admin-tab`,{active:I(i)===e.key}]),onClick:t=>i.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,yt))),128))]),n(`div`,bt,[(p(!0),_(u,null,D(I(d),e=>(p(),_(`button`,{key:e.id,type:`button`,class:W([`admin-card-item`,{selected:I(s)===e.id}]),onClick:t=>V(e)},[n(`div`,St,[n(`p`,Ct,k(e.orderNumber),1),l(Q,{status:e.status},null,8,[`status`])]),n(`div`,wt,[n(`span`,null,[h[5]||=n(`strong`,null,`مشتری:`,-1),a(` `+k(e.customerName),1)]),n(`span`,null,[h[6]||=n(`strong`,null,`متراژ:`,-1),a(` `+k(I(C)(e.meterage)),1)]),n(`span`,null,[h[7]||=n(`strong`,null,`مبلغ:`,-1),a(` `+k(e.totalAmount?I(L)(e.totalAmount):`—`),1)]),n(`span`,null,k(I(M)(e.createdAt)),1)])],10,xt))),128))]),n(`div`,{class:W([`admin-detail-panel compact-orders__mobile-panel`,{open:I(t)&&I(v)&&I(m)}])},[I(m)?(p(),_(`div`,Tt,[n(`div`,Et,[n(`button`,{type:`button`,class:`admin-detail-panel__back`,"aria-label":`بازگشت به لیست`,onClick:h[2]||=(...e)=>I(S)&&I(S)(...e)},[l(g,{name:`chevron-back`,size:20})]),h[8]||=n(`h2`,{class:`admin-detail-panel__title`},`جزئیات سفارش`,-1)]),n(`div`,Dt,[l(Xe,{order:I(m),"settlement-label":I(E),"status-saving":I(R),onPricing:H,onChecks:U,onCashReceipt:G,onStatus:I(P)},null,8,[`order`,`settlement-label`,`status-saving`,`onStatus`])])])):o(``,!0)],2),l(F,{open:I(r)&&!I(t)&&I(y)&&!!I(m),title:`جزئیات سفارش`,size:`xl`,onClose:I(T)},{default:N(()=>[I(m)?(p(),_(u,{key:0},[h[9]||=n(`p`,{class:`compact-orders__modal-breadcrumb`},`سفارش‌ها / جزئیات سفارش`,-1),l(Xe,{order:I(m),"settlement-label":I(E),"status-saving":I(R),onPricing:H,onChecks:U,onCashReceipt:G,onStatus:I(P)},null,8,[`order`,`settlement-label`,`status-saving`,`onStatus`])],64)):o(``,!0)]),_:1},8,[`open`,`onClose`])]))}}),[[`__scopeId`,`data-v-e1d369c4`]]),kt={key:0,class:`admin-form__error`,role:`alert`},At={class:`admin-form__field`},jt={key:0,class:`admin-form__hint`},Mt={class:`admin-form__row`},Nt={class:`admin-form__field`},Pt={class:`admin-form__field`},Ft={class:`admin-form__row`},It={class:`admin-form__field`},Lt={class:`admin-form__field`},Rt=[`disabled`],zt=P(V({__name:`OrderAddModal`,setup(e){let{showAddModal:t,formError:r,form:i,isFormValid:c,companies:u,activeCustomers:d,applyCustomer:m,closeAddModal:h,submitAddOrder:g}=ae(),y=K(()=>u.value.map(e=>({value:e.id,label:e.name}))),b=K(()=>d.value.map(e=>{let t=e.phone?` — ${e.phone}`:``,n=e.isActive===!1?` (غیرفعال)`:``;return{value:e.id,label:`${e.name}${t}${n}`}})),x=[{value:`check`,label:`چکی`},{value:`cash`,label:`نقدی`}];return H(()=>i.customerId,e=>{if(!e){i.customerName=``,i.customerPhone=``;return}m(e)}),(e,u)=>(p(),v(F,{open:I(t),title:`سفارش جدید`,size:`lg`,onClose:I(h)},{footer:N(()=>[n(`button`,{type:`button`,class:`admin-btn admin-btn--outline`,onClick:u[6]||=(...e)=>I(h)&&I(h)(...e)},` انصراف `),n(`button`,{type:`button`,class:`admin-btn admin-btn--primary`,disabled:!I(c),onClick:u[7]||=(...e)=>I(g)&&I(g)(...e)},` ثبت سفارش `,8,Rt)]),default:N(()=>[n(`form`,{class:`admin-form`,onSubmit:u[5]||=s((...e)=>I(g)&&I(g)(...e),[`prevent`])},[I(r)?(p(),_(`p`,kt,k(I(r)),1)):o(``,!0),n(`div`,At,[u[8]||=n(`label`,{id:`order-customer-label`},[a(` نام مشتری `),n(`span`,{class:`admin-form__required`},`*`)],-1),l(q,{id:`order-customer`,modelValue:I(i).customerId,"onUpdate:modelValue":u[0]||=e=>I(i).customerId=e,block:``,searchable:``,"aria-label":`انتخاب مشتری از لیست`,placeholder:`انتخاب مشتری از لیست`,"search-placeholder":`جستجوی نام یا موبایل…`,options:b.value},null,8,[`modelValue`,`options`]),b.value.length?o(``,!0):(p(),_(`p`,jt,` مشتری‌ای در سیستم نیست. ابتدا از بخش «مشتریان» یک مشتری ثبت کنید. `))]),n(`div`,Mt,[n(`div`,Nt,[u[9]||=n(`label`,null,[a(`شرکت `),n(`span`,{class:`admin-form__required`},`*`)],-1),l(q,{modelValue:I(i).companyId,"onUpdate:modelValue":u[1]||=e=>I(i).companyId=e,block:``,"aria-label":`انتخاب شرکت`,placeholder:`انتخاب شرکت`,options:y.value},null,8,[`modelValue`,`options`])]),n(`div`,Pt,[u[10]||=n(`label`,null,`روش تسویه`,-1),l(q,{modelValue:I(i).settlementMethod,"onUpdate:modelValue":u[2]||=e=>I(i).settlementMethod=e,block:``,"aria-label":`روش تسویه`,options:x},null,8,[`modelValue`])])]),n(`div`,Ft,[n(`div`,It,[u[11]||=n(`label`,{for:`order-meterage`},`متراژ (متر)`,-1),w(n(`input`,{id:`order-meterage`,"onUpdate:modelValue":u[3]||=e=>I(i).meterage=e,type:`number`,min:`1`,class:`admin-input`},null,512),[[f,I(i).meterage,void 0,{number:!0}]])]),n(`div`,Lt,[u[12]||=n(`label`,{for:`order-phone`},`تلفن مشتری`,-1),w(n(`input`,{id:`order-phone`,"onUpdate:modelValue":u[4]||=e=>I(i).customerPhone=e,type:`tel`,class:`admin-input`,placeholder:`پس از انتخاب مشتری پر می‌شود`,inputmode:`tel`,dir:`ltr`,readonly:``},null,512),[[f,I(i).customerPhone]])])])],32)]),_:1},8,[`open`,`onClose`]))}}),[[`__scopeId`,`data-v-b9663b5b`]]),Bt=V({__name:`OrdersView`,setup(e){return ie(),(e,t)=>(p(),_(u,null,[l(dt,{class:`desktop-only`}),l(Ot,{class:`compact-only`}),l(zt)],64))}});export{Bt as default};