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

1 line
26 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{A as e,At as t,E as n,G as r,I as i,K as a,Mt as o,N as s,Nt as c,O as l,P as u,U as d,Z as f,a as p,b as m,c as h,et as g,f as _,g as v,h as y,j as b,m as x,nt as S,o as C,p as w,t as T,u as E,ut as D,v as O,x as k,y as A}from"./http-DH3a8ZHi.js";import{F as j,L as M,N,P,R as F,U as I,V as L,a as R,g as z,h as B,i as V,k as ee,n as H,o as U,x as W,y as G}from"./index-tqT6UwOm.js";import{t as K}from"./AdminSelect-Dv_-57-E.js";import{r as q}from"./adminLabels-Cz9ccm1Z.js";import{a as J,n as Y,o as te,r as X,s as Z,t as ne}from"./StatusBadge-DPbS2wTi.js";function re(){let t=P(),n=j(),r=p(),i=S([]),a=S([]),o=S([]),s=S(`all`),c=S(``),l=S(``),u=S(!1),f=S(!1),m=S(!1),h=S(``),v=S(!1),y=()=>({customerId:``,customerName:``,companyId:i.value[0]?.id??``,settlementMethod:`check`,meterage:1e3,customerPhone:``}),b=g(y()),x=_(()=>b.customerId.length>0&&b.companyId.length>0),C=_(()=>{let e=[...a.value];return e.sort((e,t)=>Number(t.isActive)-Number(e.isActive)||e.name.localeCompare(t.name,`fa`)),e});function w(e){let t=a.value.find(t=>t.id===e);b.customerId=e,b.customerName=t?.name??``,b.customerPhone=t?.phone??``}async function E(){try{a.value=await z.list()}catch(e){r.error(e instanceof T?e.message:`بارگذاری مشتریان انجام نشد.`)}}let D=_(()=>{let e=o.value;if(s.value!==`all`&&(e=e.filter(e=>e.status===s.value)),l.value.trim()){let t=l.value.trim();e=e.filter(e=>e.orderNumber.includes(t)||e.customerName.includes(t))}return e}),O=_(()=>o.value.find(e=>e.id===c.value)??null);function k(e){let t=e.trim();if(t)return o.value.find(e=>e.id===t||e.orderNumber.toUpperCase()===t.toUpperCase())}async function A(){let e=typeof t.query.order==`string`?t.query.order:``;if(!e||!o.value.length)return;let r=k(e);if(!r){l.value=e;return}let i=typeof t.query.focus==`string`?t.query.focus:``;if(i===`pricing`){await n.replace(`/orders/${r.id}/pricing`);return}if(i===`checks`){await n.replace(`/orders/${r.id}/checks`);return}F(r),l.value=r.orderNumber}async function M(){try{let[e,t,n]=await Promise.all([W.list(),B.list(),z.list()]);o.value=e.map(e=>G(e)),i.value=t,a.value=n,!b.companyId&&t[0]&&(b.companyId=t[0].id),await A()}catch(e){r.error(e instanceof T?e.message:`بارگذاری سفارش‌ها انجام نشد.`)}}e(()=>{M()}),d(()=>[t.query.order,t.query.focus],()=>{A()});function N(e,t=!1){c.value=e.id,t&&(f.value=!0)}function F(e){c.value=e.id,m.value=!0}function I(){f.value=!1}function L(){m.value=!1}function R(e){return e?e===`check`?`چکی`:`نقدی`:`انتخاب‌نشده`}let V=S(!1);async function ee(e){if(V.value)return null;V.value=!0;try{let t=await W.updateStatus(e.orderId,{status:e.status,note:e.note,reason:e.reason,force:e.force}),n=G(t),i=o.value.findIndex(t=>t.id===e.orderId);return i>=0&&(o.value[i]={...o.value[i],...n}),r.success(`وضعیت سفارش به «${Z(e.status)}» تغییر کرد.`),n}catch(e){return r.error(e instanceof T?e.message:`تغییر وضعیت انجام نشد.`),null}finally{V.value=!1}}function H(e){n.push(`/orders/${e.id}/pricing`)}function U(e){n.push(`/orders/${e.id}/checks`)}function K(e){n.push({path:`/cash-payments`,query:{order:e.orderNumber}})}function q(){Object.assign(b,y()),h.value=``,u.value=!0,E()}function J(){u.value=!1,h.value=``}async function Y(){if(!x.value){h.value=`انتخاب مشتری و شرکت الزامی است.`;return}v.value=!0;try{let e=await W.create({companyId:b.companyId,customerId:b.customerId||void 0,userId:b.customerId||void 0,customerName:b.customerName.trim(),customerPhone:b.customerPhone.trim()||void 0,settlementMethod:b.settlementMethod,meterage:b.meterage}),t=G(e);o.value.unshift(t),c.value=t.id,r.success(`سفارش جدید ثبت شد.`),J()}catch(e){r.error(e instanceof T?e.message:`ثبت سفارش انجام نشد.`)}finally{v.value=!1}}return{companies:i,customers:a,activeCustomers:C,applyCustomer:w,loadCustomers:E,orderList:o,activeTab:s,selectedOrderId:c,searchQuery:l,showAddModal:u,showDetailPanel:f,showDetailModal:m,formError:h,form:b,isFormValid:x,filteredOrders:D,selectedOrder:O,selectOrder:N,openOrderDetail:F,closeDetailPanel:I,closeDetailModal:L,settlementLabel:R,changeStatus:ee,statusSaving:V,goPricing:H,goChecks:U,goCashReceipt:K,openAddModal:q,closeAddModal:J,submitAddOrder:Y,saving:v}}var Q=Symbol(`orders-page`);function ie(){let e=re();return u(Q,e),e}function ae(){let e=n(Q);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=C(k({__name:`OrderDetailContent`,props:{order:{},settlementLabel:{},layout:{default:`compact`},statusSaving:{type:Boolean}},emits:[`pricing`,`checks`,`cashReceipt`,`status`],setup(e,{emit:n}){let r=e,o=n,l=S(!1),u=S(``),f=S(``),p=Object.keys(J),g=_(()=>r.order.allowedTransitions??[]),b=_(()=>l.value?p.filter(e=>e!==r.order.rawStatus):[...g.value]),x=_(()=>[{value:``,label:`انتخاب کنید…`},...b.value.map(e=>({value:e,label:Z(e)}))]),C=_(()=>l.value),T=_(()=>!!u.value&&(!C.value||f.value.trim().length>0)),E=_(()=>r.layout===`desktop`),O=_(()=>Y[r.order.status]?.label??r.order.status),k=_(()=>{let e=Z(r.order.rawStatus);return!e||e===O.value?``:e}),A=_(()=>{let e=r.order.customerType;return e?q[e]??r.order.customerType??`—`:`—`}),j=_(()=>te(r.order)),M=_(()=>r.order.settlementMethod===`check`),P=_(()=>r.order.settlementMethod===`cash`),I=_(()=>j.value?`pricing`:M.value?`checks`:P.value?`cash`:null);d([()=>r.order.id,l],()=>{u.value=``,f.value=``});function z(){if(!u.value||!T.value)return;let e=f.value.trim()||void 0;o(`status`,{orderId:r.order.id,status:u.value,note:e,reason:l.value?e:void 0,force:l.value||void 0}),u.value=``,f.value=``}return(n,r)=>(s(),v(`div`,{class:t([`order-detail`,`order-detail--${e.layout}`])},[w(`header`,oe,[w(`div`,$,[w(`div`,se,[w(`strong`,null,c(e.order.orderNumber),1),m(ne,{status:e.order.status},null,8,[`status`])]),k.value?(s(),v(`p`,ce,c(k.value),1)):y(``,!0)]),w(`div`,le,[j.value?(s(),v(`button`,{key:0,type:`button`,class:t([`admin-btn admin-btn--sm`,I.value===`pricing`?`admin-btn--primary`:`admin-btn--outline`]),onClick:r[0]||=e=>o(`pricing`)},` قیمت‌گذاری سفارش `,2)):y(``,!0),M.value?(s(),v(`button`,{key:1,type:`button`,class:t([`admin-btn admin-btn--sm`,I.value===`checks`?`admin-btn--primary`:`admin-btn--outline`]),onClick:r[1]||=e=>o(`checks`)},` مدیریت چک‌ها `,2)):y(``,!0),P.value?(s(),v(`button`,{key:2,type:`button`,class:t([`admin-btn admin-btn--sm`,I.value===`cash`?`admin-btn--primary`:`admin-btn--outline`]),onClick:r[2]||=e=>o(`cashReceipt`)},` رسید پرداخت `,2)):y(``,!0)])]),w(`div`,ue,[w(`section`,de,[r[10]||=w(`h3`,{class:`order-detail__section-title`},`اطلاعات مشتری`,-1),w(`div`,fe,[w(`div`,pe,[m(N,{name:`building`,size:16}),r[6]||=w(`span`,{class:`order-detail__info-label`},`مشتری`,-1),w(`span`,me,c(e.order.customerName),1)]),w(`div`,he,[m(N,{name:`phone`,size:16}),r[7]||=w(`span`,{class:`order-detail__info-label`},`تلفن`,-1),w(`span`,ge,c(e.order.customerPhone??`—`),1)]),w(`div`,_e,[m(N,{name:`id-card`,size:16}),r[8]||=w(`span`,{class:`order-detail__info-label`},`شناسه ملی`,-1),w(`span`,ve,c(e.order.customerNationalId??`—`),1)]),w(`div`,ye,[m(N,{name:`user`,size:16}),r[9]||=w(`span`,{class:`order-detail__info-label`},`نوع مشتری`,-1),w(`span`,be,c(A.value),1)])])]),w(`section`,xe,[r[15]||=w(`h3`,{class:`order-detail__section-title`},`اطلاعات سفارش`,-1),w(`div`,Se,[w(`div`,Ce,[r[11]||=w(`span`,{class:`order-detail__info-label`},`شرکت`,-1),w(`span`,we,c(e.order.companyName),1)]),w(`div`,Te,[r[12]||=w(`span`,{class:`order-detail__info-label`},`روش تسویه`,-1),w(`span`,Ee,c(e.settlementLabel(e.order.settlementMethod)),1)]),w(`div`,De,[r[13]||=w(`span`,{class:`order-detail__info-label`},`متراژ کل`,-1),w(`span`,Oe,c(D(R)(e.order.meterage)),1)]),w(`div`,ke,[r[14]||=w(`span`,{class:`order-detail__info-label`},`مبلغ کل`,-1),w(`span`,Ae,c(e.order.totalAmount==null?`پس از قیمت‌گذاری`:D(H)(e.order.totalAmount)),1)])])])]),e.order.items?.length?(s(),v(`section`,je,[r[17]||=w(`h3`,{class:`order-detail__section-title`},`محصولات سفارش`,-1),E.value?(s(),v(`div`,Me,[w(`table`,Ne,[r[16]||=w(`thead`,null,[w(`tr`,null,[w(`th`,null,`شرکت`),w(`th`,null,`کالیته`),w(`th`,null,`محصول`),w(`th`,null,`رنگ`),w(`th`,null,`متراژ`),w(`th`,null,`قیمت`),w(`th`,null,`مبلغ`)])],-1),w(`tbody`,null,[(s(!0),v(h,null,i(e.order.items,t=>(s(),v(`tr`,{key:t.id},[w(`td`,null,c(t.companyName||e.order.companyName),1),w(`td`,null,c(t.catalogCode),1),w(`td`,null,c(t.productName),1),w(`td`,null,c(t.color),1),w(`td`,null,c(D(U)(t.confirmedMeterage??t.requestedMeterage)),1),w(`td`,null,c(t.supplyPrice==null?`—`:D(H)(t.supplyPrice)),1),w(`td`,null,c(t.totalAmount==null?`—`:D(H)(t.totalAmount)),1)]))),128))])])])):(s(),v(`ul`,Pe,[(s(!0),v(h,null,i(e.order.items,e=>(s(),v(`li`,{key:e.id,class:`order-detail__item`},[w(`div`,Fe,[w(`strong`,null,c(e.productName),1),w(`span`,null,c(e.catalogCode),1)]),w(`div`,Ie,[e.companyName?(s(),v(`span`,Le,c(e.companyName),1)):y(``,!0),w(`span`,null,c(e.color),1),w(`span`,null,c(D(R)(e.confirmedMeterage??e.requestedMeterage)),1),e.supplyPrice==null?y(``,!0):(s(),v(`span`,Re,c(D(H)(e.supplyPrice)),1)),e.totalAmount==null?y(``,!0):(s(),v(`span`,ze,c(D(H)(e.totalAmount)),1))])]))),128))]))])):y(``,!0),w(`section`,Be,[w(`div`,Ve,[r[19]||=w(`h3`,{class:`order-detail__section-title`},`تغییر وضعیت`,-1),w(`label`,He,[a(w(`input`,{"onUpdate:modelValue":r[3]||=e=>l.value=e,type:`checkbox`},null,512),[[F,l.value]]),r[18]||=w(`span`,null,`تغییر دستی`,-1)])]),l.value?(s(),v(`p`,Ue,` این گذر خارج از روال استاندارد است؛ ثبت یادداشت اجباری است. `)):b.value.length?y(``,!0):(s(),v(`p`,We,` در این وضعیت گذر خودکاری وجود ندارد. برای تغییر، حالت دستی را فعال کنید. `)),b.value.length?(s(),v(`div`,Ge,[w(`div`,Ke,[r[20]||=w(`label`,null,`وضعیت بعدی`,-1),m(K,{modelValue:u.value,"onUpdate:modelValue":r[4]||=e=>u.value=e,block:``,"aria-label":`وضعیت بعدی`,placeholder:`انتخاب کنید…`,options:x.value},null,8,[`modelValue`,`options`])]),w(`div`,qe,[w(`label`,Je,` یادداشت`+c(C.value?` (اجباری)`:` (اختیاری)`),1),a(w(`input`,{id:`status-note`,"onUpdate:modelValue":r[5]||=e=>f.value=e,type:`text`,class:`admin-input`,placeholder:`دلیل یا توضیح این تغییر`},null,512),[[L,f.value]])]),w(`button`,{type:`button`,class:`admin-btn admin-btn--primary admin-btn--sm`,disabled:!T.value||e.statusSaving,onClick:z},c(e.statusSaving?`در حال ثبت…`:`ثبت وضعیت`),9,Ye)])):y(``,!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=C(k({__name:`DesktopOrdersPage`,setup(n){let u=ee(`(min-width: 1280px)`),{activeTab:d,selectedOrderId:p,searchQuery:g,filteredOrders:_,selectedOrder:C,showDetailModal:T,openOrderDetail:k,closeDetailModal:j,settlementLabel:P,goPricing:F,goChecks:z,goCashReceipt:B,changeStatus:U,statusSaving:W,openAddModal:G}=ae(),K=S(null),q=S({});function J(){K.value=null}async function Y(e,t){if(t.stopPropagation(),K.value?.id===e.id){J();return}let n=t.currentTarget.getBoundingClientRect();K.value=e,await l();let r=Math.min(Math.max(8,n.right-168),window.innerWidth-168-8);q.value={position:`fixed`,top:`${n.bottom+4}px`,left:`${r}px`,width:`168px`}}function Z(){J()}e(()=>{document.addEventListener(`click`,Z),window.addEventListener(`scroll`,J,!0),window.addEventListener(`resize`,J)}),b(()=>{document.removeEventListener(`click`,Z),window.removeEventListener(`scroll`,J,!0),window.removeEventListener(`resize`,J)});function re(){C.value&&(j(),F(C.value))}function Q(){C.value&&(j(),z(C.value))}function ie(){C.value&&(j(),B(C.value))}function oe(){if(!C.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=K.value;if(t){if(J(),e===`detail`){k(t);return}if(e===`pricing`){F(t);return}if(e===`checks`){z(t);return}B(t)}}return(e,n)=>(s(),v(`div`,Ze,[w(`div`,Qe,[w(`div`,$e,[n[8]||=w(`div`,null,[w(`h2`,{class:`orders-page__list-title`},`سفارش‌ها`)],-1),w(`div`,et,[w(`button`,tt,[m(N,{name:`filter`,size:16}),n[7]||=A(` فیلتر `,-1)]),w(`button`,{type:`button`,class:`admin-btn admin-btn--primary admin-btn--sm`,onClick:n[0]||=(...e)=>D(G)&&D(G)(...e)},` سفارش جدید `)])]),w(`div`,nt,[m(N,{name:`search`,size:18}),a(w(`input`,{"onUpdate:modelValue":n[1]||=e=>f(g)?g.value=e:null,type:`search`,placeholder:`جستجو در شماره سفارش، مشتری...`,class:`orders-page__search-input`},null,512),[[L,D(g)]])]),w(`div`,rt,[(s(!0),v(h,null,i(D(X),e=>(s(),v(`button`,{key:e.key,type:`button`,class:t([`admin-tab`,{active:D(d)===e.key}]),onClick:t=>d.value=e.key},[A(c(e.label)+` `,1),`count`in e&&e.count?(s(),v(h,{key:0},[A(` (`+c(e.count)+`)`,1)],64)):y(``,!0)],10,it))),128))]),w(`div`,at,[w(`table`,ot,[n[9]||=w(`thead`,null,[w(`tr`,null,[w(`th`,null,`شماره سفارش`),w(`th`,null,`مشتری`),w(`th`,null,`روش تسویه`),w(`th`,null,`مبلغ کل`),w(`th`,null,`متراژ`),w(`th`,null,`وضعیت`),w(`th`,null,`تاریخ ثبت`),w(`th`,null,`عملیات`)])],-1),w(`tbody`,null,[(s(!0),v(h,null,i(D(_),e=>(s(),v(`tr`,{key:e.id,class:t({"is-selected":D(p)===e.id}),onClick:t=>D(k)(e)},[w(`td`,null,c(e.orderNumber),1),w(`td`,null,c(e.customerName),1),w(`td`,null,c(D(P)(e.settlementMethod)),1),w(`td`,null,c(e.totalAmount?D(H)(e.totalAmount):`—`),1),w(`td`,null,c(D(R)(e.meterage)),1),w(`td`,null,[m(ne,{status:e.status},null,8,[`status`])]),w(`td`,null,c(D(V)(e.createdAt)),1),w(`td`,ct,[w(`button`,{type:`button`,class:`orders-page__more-btn`,"aria-expanded":K.value?.id===e.id,"aria-haspopup":`menu`,"aria-label":`عملیات سفارش`,onClick:t=>Y(e,t)},[m(N,{name:`more`,size:18})],8,lt)])],10,st))),128))])])]),n[10]||=O(`<div class="admin-pagination" data-v-9b2d914d><span data-v-9b2d914d>نمایش ۱ تا ۷ از ۱۰۳ سفارش</span><div class="admin-pagination__pages" data-v-9b2d914d><button type="button" class="admin-pagination__page active" data-v-9b2d914d>۱</button><button type="button" class="admin-pagination__page" data-v-9b2d914d>۲</button><button type="button" class="admin-pagination__page" data-v-9b2d914d>۳</button><span data-v-9b2d914d>...</span><button type="button" class="admin-pagination__page" data-v-9b2d914d>۱۲</button></div></div>`,1)]),(s(),x(E,{to:`body`},[K.value?(s(),v(`div`,{key:0,class:`orders-page__menu`,role:`menu`,style:o(q.value),onClick:n[6]||=I(()=>{},[`stop`])},[w(`button`,{type:`button`,role:`menuitem`,class:`orders-page__menu-item`,onClick:n[2]||=e=>$(`detail`)},` جزئیات سفارش `),K.value&&D(te)(K.value)?(s(),v(`button`,{key:0,type:`button`,role:`menuitem`,class:`orders-page__menu-item`,onClick:n[3]||=e=>$(`pricing`)},` قیمت‌گذاری `)):y(``,!0),K.value.settlementMethod===`check`?(s(),v(`button`,{key:1,type:`button`,role:`menuitem`,class:`orders-page__menu-item`,onClick:n[4]||=e=>$(`checks`)},` مدیریت چک‌ها `)):y(``,!0),K.value.settlementMethod===`cash`?(s(),v(`button`,{key:2,type:`button`,role:`menuitem`,class:`orders-page__menu-item`,onClick:n[5]||=e=>$(`cash`)},` رسید پرداخت `)):y(``,!0)],4)):y(``,!0)])),m(M,{open:D(u)&&D(T)&&!!D(C),title:`جزئیات سفارش`,size:`xl`,onClose:D(j)},{footer:r(()=>[w(`button`,ut,[m(N,{name:`sms`,size:16}),n[11]||=A(` ارسال پیامک `,-1)]),w(`button`,{type:`button`,class:`admin-btn admin-btn--outline admin-btn--sm`,onClick:oe},[m(N,{name:`print`,size:16}),n[12]||=A(` چاپ `,-1)])]),default:r(()=>[D(C)?(s(),x(Xe,{key:0,order:D(C),layout:`desktop`,"settlement-label":D(P),"status-saving":D(W),onPricing:re,onChecks:Q,onCashReceipt:ie,onStatus:D(U)},null,8,[`order`,`settlement-label`,`status-saving`,`onStatus`])):y(``,!0)]),_:1},8,[`open`,`onClose`])]))}}),[[`__scopeId`,`data-v-9b2d914d`]]),ft={class:`compact-orders`},pt={class:`compact-page-header`},mt={class:`compact-page-header__row`},ht={class:`compact-page-header__actions`},gt={key:0,class:`compact-orders__filter-dot`,"aria-hidden":`true`},_t={class:`orders-page__search admin-card`},vt={key:0,class:`compact-orders__filter-chip admin-card`},yt={key:1,class:`admin-tabs compact-orders__tabs`},bt=[`onClick`],xt={class:`compact-orders__filter-form`,role:`listbox`,"aria-label":`وضعیت سفارش`},St=[`aria-selected`,`onClick`],Ct={key:0,class:`compact-orders__filter-check`,"aria-hidden":`true`},wt={class:`admin-card-list`},Tt=[`onClick`],Et={class:`admin-card-item__header`},Dt={class:`admin-card-item__title`},Ot={class:`admin-card-item__meta`},kt={key:0,class:`admin-detail-panel__inner`},At={class:`admin-detail-panel__header`},jt={class:`admin-detail-panel__body`},Mt=C(k({__name:`CompactOrdersPage`,setup(e){let n=ee(`(max-width: 767px)`),o=ee(`(max-width: 1279px)`),{activeTab:l,selectedOrderId:u,searchQuery:d,filteredOrders:p,selectedOrder:g,showDetailPanel:b,showDetailModal:C,selectOrder:T,openOrderDetail:E,closeDetailPanel:O,closeDetailModal:k,settlementLabel:j,goPricing:P,goChecks:F,goCashReceipt:I,changeStatus:z,statusSaving:B,openAddModal:U}=ae(),W=S(!1),G=_(()=>l.value!==`all`),K=_(()=>X.find(e=>e.key===l.value)?.label??`همه`);function q(){W.value=!0}function J(){W.value=!1}function Y(){l.value=`all`,W.value=!1}function te(e){l.value=e,W.value=!1}function Z(e){if(n.value){T(e,!0);return}E(e)}function re(){g.value&&(k(),O(),P(g.value))}function Q(){g.value&&(k(),O(),F(g.value))}function ie(){g.value&&(k(),O(),I(g.value))}return(e,_)=>(s(),v(`div`,ft,[w(`div`,pt,[w(`div`,mt,[_[4]||=w(`div`,null,[w(`h2`,{class:`compact-page-header__title`},`سفارش‌ها`)],-1),w(`div`,ht,[w(`button`,{type:`button`,class:t([`admin-btn admin-btn--outline admin-btn--sm`,{"admin-btn--filter-active":G.value}]),onClick:q},[m(N,{name:`filter`,size:16}),_[3]||=A(` فیلتر `,-1),G.value?(s(),v(`span`,gt)):y(``,!0)],2),w(`button`,{type:`button`,class:`admin-btn admin-btn--primary admin-btn--sm`,onClick:_[0]||=(...e)=>D(U)&&D(U)(...e)},` سفارش جدید `)])])]),w(`div`,_t,[m(N,{name:`search`,size:18}),a(w(`input`,{"onUpdate:modelValue":_[1]||=e=>f(d)?d.value=e:null,type:`search`,placeholder:`جستجو در شماره سفارش، مشتری...`,class:`orders-page__search-input`},null,512),[[L,D(d)]])]),D(n)&&G.value?(s(),v(`div`,vt,[w(`span`,null,`وضعیت: `+c(K.value),1),w(`button`,{type:`button`,class:`compact-orders__filter-clear`,onClick:Y},`پاک کردن`)])):y(``,!0),D(n)?y(``,!0):(s(),v(`div`,yt,[(s(!0),v(h,null,i(D(X),e=>(s(),v(`button`,{key:e.key,type:`button`,class:t([`admin-tab`,{active:D(l)===e.key}]),onClick:t=>l.value=e.key},[A(c(e.label)+` `,1),`count`in e&&e.count?(s(),v(h,{key:0},[A(` (`+c(e.count)+`)`,1)],64)):y(``,!0)],10,bt))),128))])),m(M,{open:W.value,title:`فیلتر سفارش‌ها`,onClose:J},{footer:r(()=>[w(`button`,{type:`button`,class:`admin-btn admin-btn--outline`,onClick:Y},` پاک کردن `),w(`button`,{type:`button`,class:`admin-btn admin-btn--primary`,onClick:J},` بستن `)]),default:r(()=>[w(`div`,xt,[(s(!0),v(h,null,i(D(X),e=>(s(),v(`button`,{key:e.key,type:`button`,class:t([`compact-orders__filter-option`,{"is-active":D(l)===e.key}]),role:`option`,"aria-selected":D(l)===e.key,onClick:t=>te(e.key)},[w(`span`,null,c(e.label),1),D(l)===e.key?(s(),v(`span`,Ct,`✓`)):y(``,!0)],10,St))),128))])]),_:1},8,[`open`]),w(`div`,wt,[(s(!0),v(h,null,i(D(p),e=>(s(),v(`button`,{key:e.id,type:`button`,class:t([`admin-card-item`,{selected:D(u)===e.id}]),onClick:t=>Z(e)},[w(`div`,Et,[w(`p`,Dt,c(e.orderNumber),1),m(ne,{status:e.status},null,8,[`status`])]),w(`div`,Ot,[w(`span`,null,[_[5]||=w(`strong`,null,`مشتری:`,-1),A(` `+c(e.customerName),1)]),w(`span`,null,[_[6]||=w(`strong`,null,`متراژ:`,-1),A(` `+c(D(R)(e.meterage)),1)]),w(`span`,null,[_[7]||=w(`strong`,null,`مبلغ:`,-1),A(` `+c(e.totalAmount?D(H)(e.totalAmount):`—`),1)]),w(`span`,null,c(D(V)(e.createdAt)),1)])],10,Tt))),128))]),w(`div`,{class:t([`admin-detail-panel compact-orders__mobile-panel`,{open:D(n)&&D(b)&&D(g)}])},[D(g)?(s(),v(`div`,kt,[w(`div`,At,[w(`button`,{type:`button`,class:`admin-detail-panel__back`,"aria-label":`بازگشت به لیست`,onClick:_[2]||=(...e)=>D(O)&&D(O)(...e)},[m(N,{name:`chevron-back`,size:20})]),_[8]||=w(`h2`,{class:`admin-detail-panel__title`},`جزئیات سفارش`,-1)]),w(`div`,jt,[m(Xe,{order:D(g),"settlement-label":D(j),"status-saving":D(B),onPricing:re,onChecks:Q,onCashReceipt:ie,onStatus:D(z)},null,8,[`order`,`settlement-label`,`status-saving`,`onStatus`])])])):y(``,!0)],2),m(M,{open:D(o)&&!D(n)&&D(C)&&!!D(g),title:`جزئیات سفارش`,size:`xl`,onClose:D(k)},{default:r(()=>[D(g)?(s(),x(Xe,{key:0,order:D(g),"settlement-label":D(j),"status-saving":D(B),onPricing:re,onChecks:Q,onCashReceipt:ie,onStatus:D(z)},null,8,[`order`,`settlement-label`,`status-saving`,`onStatus`])):y(``,!0)]),_:1},8,[`open`,`onClose`])]))}}),[[`__scopeId`,`data-v-c46f9eb8`]]),Nt={key:0,class:`admin-form__error`,role:`alert`},Pt={class:`admin-form__field`},Ft={key:0,class:`admin-form__hint`},It={class:`admin-form__row`},Lt={class:`admin-form__field`},Rt={class:`admin-form__field`},zt={class:`admin-form__row`},Bt={class:`admin-form__field`},Vt={class:`admin-form__field`},Ht=[`disabled`],Ut=C(k({__name:`OrderAddModal`,setup(e){let{showAddModal:t,formError:n,form:i,isFormValid:o,companies:l,activeCustomers:u,applyCustomer:f,closeAddModal:p,submitAddOrder:h}=ae(),g=_(()=>l.value.map(e=>({value:e.id,label:e.name}))),b=_(()=>u.value.map(e=>{let t=e.phone?` — ${e.phone}`:``,n=e.isActive===!1?` (غیرفعال)`:``;return{value:e.id,label:`${e.name}${t}${n}`}})),S=[{value:`check`,label:`چکی`},{value:`cash`,label:`نقدی`}];return d(()=>i.customerId,e=>{if(!e){i.customerName=``,i.customerPhone=``;return}f(e)}),(e,l)=>(s(),x(M,{open:D(t),title:`سفارش جدید`,size:`lg`,onClose:D(p)},{footer:r(()=>[w(`button`,{type:`button`,class:`admin-btn admin-btn--outline`,onClick:l[6]||=(...e)=>D(p)&&D(p)(...e)},` انصراف `),w(`button`,{type:`button`,class:`admin-btn admin-btn--primary`,disabled:!D(o),onClick:l[7]||=(...e)=>D(h)&&D(h)(...e)},` ثبت سفارش `,8,Ht)]),default:r(()=>[w(`form`,{class:`admin-form`,onSubmit:l[5]||=I((...e)=>D(h)&&D(h)(...e),[`prevent`])},[D(n)?(s(),v(`p`,Nt,c(D(n)),1)):y(``,!0),w(`div`,Pt,[l[8]||=w(`label`,{id:`order-customer-label`},[A(` نام مشتری `),w(`span`,{class:`admin-form__required`},`*`)],-1),m(K,{id:`order-customer`,modelValue:D(i).customerId,"onUpdate:modelValue":l[0]||=e=>D(i).customerId=e,block:``,searchable:``,"aria-label":`انتخاب مشتری از لیست`,placeholder:`انتخاب مشتری از لیست`,"search-placeholder":`جستجوی نام یا موبایل…`,options:b.value},null,8,[`modelValue`,`options`]),b.value.length?y(``,!0):(s(),v(`p`,Ft,` مشتری‌ای در سیستم نیست. ابتدا از بخش «مشتریان» یک مشتری ثبت کنید. `))]),w(`div`,It,[w(`div`,Lt,[l[9]||=w(`label`,null,[A(`شرکت `),w(`span`,{class:`admin-form__required`},`*`)],-1),m(K,{modelValue:D(i).companyId,"onUpdate:modelValue":l[1]||=e=>D(i).companyId=e,block:``,"aria-label":`انتخاب شرکت`,placeholder:`انتخاب شرکت`,options:g.value},null,8,[`modelValue`,`options`])]),w(`div`,Rt,[l[10]||=w(`label`,null,`روش تسویه`,-1),m(K,{modelValue:D(i).settlementMethod,"onUpdate:modelValue":l[2]||=e=>D(i).settlementMethod=e,block:``,"aria-label":`روش تسویه`,options:S},null,8,[`modelValue`])])]),w(`div`,zt,[w(`div`,Bt,[l[11]||=w(`label`,{for:`order-meterage`},`متراژ (متر)`,-1),a(w(`input`,{id:`order-meterage`,"onUpdate:modelValue":l[3]||=e=>D(i).meterage=e,type:`number`,min:`1`,class:`admin-input`},null,512),[[L,D(i).meterage,void 0,{number:!0}]])]),w(`div`,Vt,[l[12]||=w(`label`,{for:`order-phone`},`تلفن مشتری`,-1),a(w(`input`,{id:`order-phone`,"onUpdate:modelValue":l[4]||=e=>D(i).customerPhone=e,type:`tel`,class:`admin-input`,placeholder:`پس از انتخاب مشتری پر می‌شود`,inputmode:`tel`,dir:`ltr`,readonly:``},null,512),[[L,D(i).customerPhone]])])])],32)]),_:1},8,[`open`,`onClose`]))}}),[[`__scopeId`,`data-v-b9663b5b`]]),Wt=k({__name:`OrdersView`,setup(e){return ie(),(e,t)=>(s(),v(h,null,[m(dt,{class:`desktop-only`}),m(Mt,{class:`compact-only`}),m(Ut)],64))}});export{Wt as default};