fix(auth): secure sessions and app routing

Validate sessions against the API, honor configurable base paths, and route unknown pages to 404. Keep development ports stable so user and admin apps cannot be confused.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
2026-09-24 20:14:11 +03:30
co-authored by Copilot
parent c0c2221d91
commit adb6ca47cd
56 changed files with 160 additions and 406 deletions
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
import{E as e,Et as t,J as n,M as r,N as i,O as a,P as o,T as s,Xt as c,Z as l,at as u,b as d,g as ee,st as f,t as p,vt as te,w as m}from"./_plugin-vue_export-helper-Bo3WtfwJ.js";import{t as h}from"./BasicIcon-BXxbbWA_.js";import{i as ne,n as re}from"./format-C72AoJ2H.js";import{t as ie}from"./catalog-CyvLKh9n.js";import{d as ae,n as g}from"./index-Bs_brTvG.js";import{t as oe}from"./PageHeader-B81KKEPV.js";import{t as se}from"./useRequirePricedOrder-BfQPP7MR.js";var _=o({__name:`IconSuccessCircle`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(t){return(r,i)=>(n(),e(h,{icon:`vuesax-linear:tick-circle`,size:t.size,"stroke-width":t.strokeWidth,color:t.color},null,8,[`size`,`stroke-width`,`color`]))}}),ce={class:`page cash-mobile-page mobile-only`},le={class:`cash-page__scroll page__scroll`},ue={class:`cash-page__success cash-page__success--done`},v={class:`cash-page__success-title`},y={class:`cash-page__success-subtitle`},b={class:`accounts-panel`},x={class:`accounts-panel__title`},S={class:`bank-card__head`},C={class:`bank-card__name`},w={class:`bank-card__icon`,"aria-hidden":`true`},T={class:`bank-card__field`},E={class:`bank-card__value`,dir:`ltr`},D={class:`bank-card__field`},O={class:`bank-card__value`,dir:`ltr`},k={class:`cash-page__footer`},A={class:`desktop-checkout-shell cash-desktop-page desktop-only`},j={class:`desktop-page__head`},M={class:`desktop-page__subtitle`},N={class:`cash-page__success cash-page__success--done`},de={class:`cash-page__success-title`},P={class:`accounts-panel`},F={class:`accounts-panel__title`},I={class:`desktop-grid-2`},L={class:`bank-card__head`},R={class:`bank-card__name`},z={class:`bank-card__icon`,"aria-hidden":`true`},B={class:`bank-card__field`},V={class:`bank-card__value`,dir:`ltr`},H={class:`bank-card__field`},fe={class:`bank-card__value`,dir:`ltr`},pe={class:`cash-desktop-page__actions`},U=p(o({__name:`CashSettlementView`,setup(e){let o=ee(),p=ae(),h=ie(),U=te([]),{orderId:W,order:G}=se(),K=m(()=>G.value?.companyName??``);u(W,async e=>{e&&!p.getOrderById(e)&&await p.fetchOrder(e)},{immediate:!0}),u(()=>G.value?.id,async e=>{if(!e||!G.value){U.value=[];return}h.companies.length||await h.loadCompanies(),U.value=await p.getBankAccountsForOrder(G.value)},{immediate:!0});let q=m(()=>G.value?.finalAmount?re(G.value.finalAmount):`—`),J=m(()=>{let e=G.value?.cashInvoiceExpiresAt;return e?`مهلت پرداخت این فاکتور تا ${ne(e)} است.`:`مبلغ فاکتور را به یکی از حساب‌های زیر واریز و رسید را ثبت کنید.`}),Y=m(()=>{let e=K.value.replace(/^شرکت\s+/u,``);return e?`شماره حساب‌های واریز — ${e}`:`شماره حساب‌های واریز`});function X(e){return e.replace(/\D/g,``).replace(/(\d{4})(?=\d)/g,`$1 `).trim()}function Z(e){return e.replace(/\s/g,``).toUpperCase().replace(/(.{4})/g,`$1 `).trim()}function Q(){o.replace(`/orders/${W.value}?track=1`)}function $(){o.replace(`/orders/${W.value}?track=1&receipt=1`)}return(e,u)=>(n(),a(d,null,[s(`div`,ce,[i(oe,{title:`تسویه نقدی`,"show-back":``,centered:``,onBack:u[0]||=e=>t(o).push(`/orders/${t(W)}`)}),s(`div`,le,[s(`div`,ue,[i(_,{size:56}),s(`p`,v,`مبلغ قابل پرداخت `+c(q.value),1),s(`p`,y,c(J.value),1)]),s(`section`,b,[s(`h2`,x,c(Y.value),1),(n(!0),a(d,null,l(U.value,e=>(n(),a(`article`,{key:e.id,class:`bank-card`},[s(`div`,S,[s(`span`,C,c(e.bankName),1),s(`span`,w,c(e.bankName.charAt(0)),1)]),s(`div`,T,[u[1]||=s(`span`,{class:`bank-card__label`},`شماره کارت`,-1),s(`strong`,E,c(X(e.cardNumber)),1)]),s(`div`,D,[u[2]||=s(`span`,{class:`bank-card__label`},`شماره شبا`,-1),s(`strong`,O,c(Z(e.iban)),1)])]))),128))])]),s(`div`,k,[i(g,{variant:`outline`,block:``,onClick:Q},{default:f(()=>[...u[3]||=[r(`مشاهده سفارش`,-1)]]),_:1}),i(g,{block:``,class:`cash-page__submit`,onClick:$},{default:f(()=>[...u[4]||=[r(` ثبت رسید پرداخت `,-1)]]),_:1})])]),s(`div`,A,[s(`header`,j,[u[5]||=s(`h1`,{class:`desktop-page__title`},`تسویه نقدی`,-1),s(`p`,M,c(J.value),1)]),s(`div`,N,[i(_,{size:56}),s(`p`,de,`مبلغ قابل پرداخت `+c(q.value),1)]),s(`section`,P,[s(`h2`,F,c(Y.value),1),s(`div`,I,[(n(!0),a(d,null,l(U.value,e=>(n(),a(`article`,{key:e.id,class:`bank-card`},[s(`div`,L,[s(`span`,R,c(e.bankName),1),s(`span`,z,c(e.bankName.charAt(0)),1)]),s(`div`,B,[u[6]||=s(`span`,{class:`bank-card__label`},`شماره کارت`,-1),s(`strong`,V,c(X(e.cardNumber)),1)]),s(`div`,H,[u[7]||=s(`span`,{class:`bank-card__label`},`شماره شبا`,-1),s(`strong`,fe,c(Z(e.iban)),1)])]))),128))])]),s(`div`,pe,[i(g,{variant:`outline`,class:`desktop-btn-compact`,onClick:Q},{default:f(()=>[...u[8]||=[r(` مشاهده سفارش `,-1)]]),_:1}),i(g,{class:`desktop-btn-compact`,onClick:$},{default:f(()=>[...u[9]||=[r(` ثبت رسید پرداخت `,-1)]]),_:1})])])],64))}}),[[`__scopeId`,`data-v-c299caf6`]]);export{U as default};
import{E as e,Et as t,J as n,M as r,N as i,O as a,P as o,T as s,Xt as c,Z as l,at as u,b as d,g as ee,st as f,t as p,vt as te,w as m}from"./_plugin-vue_export-helper-Bo3WtfwJ.js";import{t as h}from"./BasicIcon-BXxbbWA_.js";import{i as ne,n as re}from"./format-C72AoJ2H.js";import{t as ie}from"./catalog-CIw6in_a.js";import{d as ae,n as g}from"./index-BAQfYU-Q.js";import{t as oe}from"./PageHeader-DTO8lja2.js";import{t as se}from"./useRequirePricedOrder-DWh7nbsh.js";var _=o({__name:`IconSuccessCircle`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(t){return(r,i)=>(n(),e(h,{icon:`vuesax-linear:tick-circle`,size:t.size,"stroke-width":t.strokeWidth,color:t.color},null,8,[`size`,`stroke-width`,`color`]))}}),ce={class:`page cash-mobile-page mobile-only`},le={class:`cash-page__scroll page__scroll`},ue={class:`cash-page__success cash-page__success--done`},v={class:`cash-page__success-title`},y={class:`cash-page__success-subtitle`},b={class:`accounts-panel`},x={class:`accounts-panel__title`},S={class:`bank-card__head`},C={class:`bank-card__name`},w={class:`bank-card__icon`,"aria-hidden":`true`},T={class:`bank-card__field`},E={class:`bank-card__value`,dir:`ltr`},D={class:`bank-card__field`},O={class:`bank-card__value`,dir:`ltr`},k={class:`cash-page__footer`},A={class:`desktop-checkout-shell cash-desktop-page desktop-only`},j={class:`desktop-page__head`},M={class:`desktop-page__subtitle`},N={class:`cash-page__success cash-page__success--done`},de={class:`cash-page__success-title`},P={class:`accounts-panel`},F={class:`accounts-panel__title`},I={class:`desktop-grid-2`},L={class:`bank-card__head`},R={class:`bank-card__name`},z={class:`bank-card__icon`,"aria-hidden":`true`},B={class:`bank-card__field`},V={class:`bank-card__value`,dir:`ltr`},H={class:`bank-card__field`},fe={class:`bank-card__value`,dir:`ltr`},pe={class:`cash-desktop-page__actions`},U=p(o({__name:`CashSettlementView`,setup(e){let o=ee(),p=ae(),h=ie(),U=te([]),{orderId:W,order:G}=se(),K=m(()=>G.value?.companyName??``);u(W,async e=>{e&&!p.getOrderById(e)&&await p.fetchOrder(e)},{immediate:!0}),u(()=>G.value?.id,async e=>{if(!e||!G.value){U.value=[];return}h.companies.length||await h.loadCompanies(),U.value=await p.getBankAccountsForOrder(G.value)},{immediate:!0});let q=m(()=>G.value?.finalAmount?re(G.value.finalAmount):`—`),J=m(()=>{let e=G.value?.cashInvoiceExpiresAt;return e?`مهلت پرداخت این فاکتور تا ${ne(e)} است.`:`مبلغ فاکتور را به یکی از حساب‌های زیر واریز و رسید را ثبت کنید.`}),Y=m(()=>{let e=K.value.replace(/^شرکت\s+/u,``);return e?`شماره حساب‌های واریز — ${e}`:`شماره حساب‌های واریز`});function X(e){return e.replace(/\D/g,``).replace(/(\d{4})(?=\d)/g,`$1 `).trim()}function Z(e){return e.replace(/\s/g,``).toUpperCase().replace(/(.{4})/g,`$1 `).trim()}function Q(){o.replace(`/orders/${W.value}?track=1`)}function $(){o.replace(`/orders/${W.value}?track=1&receipt=1`)}return(e,u)=>(n(),a(d,null,[s(`div`,ce,[i(oe,{title:`تسویه نقدی`,"show-back":``,centered:``,onBack:u[0]||=e=>t(o).push(`/orders/${t(W)}`)}),s(`div`,le,[s(`div`,ue,[i(_,{size:56}),s(`p`,v,`مبلغ قابل پرداخت `+c(q.value),1),s(`p`,y,c(J.value),1)]),s(`section`,b,[s(`h2`,x,c(Y.value),1),(n(!0),a(d,null,l(U.value,e=>(n(),a(`article`,{key:e.id,class:`bank-card`},[s(`div`,S,[s(`span`,C,c(e.bankName),1),s(`span`,w,c(e.bankName.charAt(0)),1)]),s(`div`,T,[u[1]||=s(`span`,{class:`bank-card__label`},`شماره کارت`,-1),s(`strong`,E,c(X(e.cardNumber)),1)]),s(`div`,D,[u[2]||=s(`span`,{class:`bank-card__label`},`شماره شبا`,-1),s(`strong`,O,c(Z(e.iban)),1)])]))),128))])]),s(`div`,k,[i(g,{variant:`outline`,block:``,onClick:Q},{default:f(()=>[...u[3]||=[r(`مشاهده سفارش`,-1)]]),_:1}),i(g,{block:``,class:`cash-page__submit`,onClick:$},{default:f(()=>[...u[4]||=[r(` ثبت رسید پرداخت `,-1)]]),_:1})])]),s(`div`,A,[s(`header`,j,[u[5]||=s(`h1`,{class:`desktop-page__title`},`تسویه نقدی`,-1),s(`p`,M,c(J.value),1)]),s(`div`,N,[i(_,{size:56}),s(`p`,de,`مبلغ قابل پرداخت `+c(q.value),1)]),s(`section`,P,[s(`h2`,F,c(Y.value),1),s(`div`,I,[(n(!0),a(d,null,l(U.value,e=>(n(),a(`article`,{key:e.id,class:`bank-card`},[s(`div`,L,[s(`span`,R,c(e.bankName),1),s(`span`,z,c(e.bankName.charAt(0)),1)]),s(`div`,B,[u[6]||=s(`span`,{class:`bank-card__label`},`شماره کارت`,-1),s(`strong`,V,c(X(e.cardNumber)),1)]),s(`div`,H,[u[7]||=s(`span`,{class:`bank-card__label`},`شماره شبا`,-1),s(`strong`,fe,c(Z(e.iban)),1)])]))),128))])]),s(`div`,pe,[i(g,{variant:`outline`,class:`desktop-btn-compact`,onClick:Q},{default:f(()=>[...u[8]||=[r(` مشاهده سفارش `,-1)]]),_:1}),i(g,{class:`desktop-btn-compact`,onClick:$},{default:f(()=>[...u[9]||=[r(` ثبت رسید پرداخت `,-1)]]),_:1})])])],64))}}),[[`__scopeId`,`data-v-c299caf6`]]);export{U as default};
@@ -1 +1 @@
import{E as e,Et as t,G as n,J as r,N as i,O as a,P as o,T as s,Xt as c,Z as l,at as u,b as d,g as f,h as p,t as m,vt as h,w as g}from"./_plugin-vue_export-helper-Bo3WtfwJ.js";import{t as _}from"./catalog-CyvLKh9n.js";import{T as v}from"./index-Bs_brTvG.js";import{t as y}from"./EmptyState-D-8eFOUi.js";import{t as b}from"./PageHeader-B81KKEPV.js";import{t as x}from"./SearchField-BMLbKLPW.js";import{t as S}from"./PageSkeleton-DHtB6RUa.js";import{t as C}from"./catalogNavigation-Dbib4DFV.js";var w={class:`page catalog-list-page`},T={class:`catalog-list-page__desk-head desktop-only`},E={class:`page__scroll page__scroll--with-nav catalog-list-page__scroll`},D={key:1,class:`catalog-list`},O=[`onClick`],k={class:`catalog-card__icon`},A={class:`catalog-card__info`},j={class:`catalog-card__count`},M=m(o({__name:`CatalogListView`,setup(o){let m=p(),M=f(),N=_(),P=h(!0),F=g(()=>m.params.companyId),I=g(()=>N.getCompany(F.value)),L=h(``),R=g(()=>N.fetchCatalogs(F.value,L.value));async function z(){P.value=!0,N.getCompany(F.value)||await N.loadCompanies(),await N.loadCatalogs(F.value),P.value=!1}n(z),u(F,z);function B(e){C(M,e)}function V(e){let t=N.getCatalog(e);return t?.productCount==null?N.fetchProducts(e).length:t.productCount}return(n,o)=>(r(),a(`div`,w,[i(b,{class:`mobile-only`,title:I.value?.name??`کالیته‌ها`,subtitle:`کالیته مورد نظر را انتخاب کنید`,"show-back":``,centered:``,onBack:o[0]||=e=>t(M).push(`/catalogs`)},null,8,[`title`]),s(`header`,T,[s(`h1`,null,c(I.value?.name??`کالیته‌ها`),1),o[2]||=s(`p`,null,`کالیته مورد نظر را انتخاب کنید`,-1)]),i(x,{modelValue:L.value,"onUpdate:modelValue":o[1]||=e=>L.value=e,placeholder:`جستجو بر اساس کد یا نام کالیته...`,class:`catalog-list-page__search`},null,8,[`modelValue`]),s(`div`,E,[P.value?(r(),e(S,{key:0,variant:`cards`,rows:5})):R.value.length>0?(r(),a(`div`,D,[(r(!0),a(d,null,l(R.value,e=>(r(),a(`button`,{key:e.id,type:`button`,class:`catalog-card`,onClick:t=>B(e.id)},[s(`span`,k,[i(v,{size:22})]),s(`div`,A,[s(`h3`,null,`کالیته کد `+c(e.code),1),s(`p`,null,c(e.name),1)]),s(`span`,j,c(V(e.id))+` محصول`,1)],8,O))),128))])):(r(),e(y,{key:2,variant:L.value?`search`:`catalogs`,message:L.value?`با این جستجو کالیته‌ای پیدا نشد`:`برای این شرکت هنوز کالیته‌ای ثبت نشده است`},null,8,[`variant`,`message`]))])]))}}),[[`__scopeId`,`data-v-a8edb49d`]]);export{M as default};
import{E as e,Et as t,G as n,J as r,N as i,O as a,P as o,T as s,Xt as c,Z as l,at as u,b as d,g as f,h as p,t as m,vt as h,w as g}from"./_plugin-vue_export-helper-Bo3WtfwJ.js";import{t as _}from"./catalog-CIw6in_a.js";import{T as v}from"./index-BAQfYU-Q.js";import{t as y}from"./EmptyState-D-8eFOUi.js";import{t as b}from"./PageHeader-DTO8lja2.js";import{t as x}from"./SearchField-BMLbKLPW.js";import{t as S}from"./PageSkeleton-DHtB6RUa.js";import{t as C}from"./catalogNavigation-BKzzgMwI.js";var w={class:`page catalog-list-page`},T={class:`catalog-list-page__desk-head desktop-only`},E={class:`page__scroll page__scroll--with-nav catalog-list-page__scroll`},D={key:1,class:`catalog-list`},O=[`onClick`],k={class:`catalog-card__icon`},A={class:`catalog-card__info`},j={class:`catalog-card__count`},M=m(o({__name:`CatalogListView`,setup(o){let m=p(),M=f(),N=_(),P=h(!0),F=g(()=>m.params.companyId),I=g(()=>N.getCompany(F.value)),L=h(``),R=g(()=>N.fetchCatalogs(F.value,L.value));async function z(){P.value=!0,N.getCompany(F.value)||await N.loadCompanies(),await N.loadCatalogs(F.value),P.value=!1}n(z),u(F,z);function B(e){C(M,e)}function V(e){let t=N.getCatalog(e);return t?.productCount==null?N.fetchProducts(e).length:t.productCount}return(n,o)=>(r(),a(`div`,w,[i(b,{class:`mobile-only`,title:I.value?.name??`کالیته‌ها`,subtitle:`کالیته مورد نظر را انتخاب کنید`,"show-back":``,centered:``,onBack:o[0]||=e=>t(M).push(`/catalogs`)},null,8,[`title`]),s(`header`,T,[s(`h1`,null,c(I.value?.name??`کالیته‌ها`),1),o[2]||=s(`p`,null,`کالیته مورد نظر را انتخاب کنید`,-1)]),i(x,{modelValue:L.value,"onUpdate:modelValue":o[1]||=e=>L.value=e,placeholder:`جستجو بر اساس کد یا نام کالیته...`,class:`catalog-list-page__search`},null,8,[`modelValue`]),s(`div`,E,[P.value?(r(),e(S,{key:0,variant:`cards`,rows:5})):R.value.length>0?(r(),a(`div`,D,[(r(!0),a(d,null,l(R.value,e=>(r(),a(`button`,{key:e.id,type:`button`,class:`catalog-card`,onClick:t=>B(e.id)},[s(`span`,k,[i(v,{size:22})]),s(`div`,A,[s(`h3`,null,`کالیته کد `+c(e.code),1),s(`p`,null,c(e.name),1)]),s(`span`,j,c(V(e.id))+` محصول`,1)],8,O))),128))])):(r(),e(y,{key:2,variant:L.value?`search`:`catalogs`,message:L.value?`با این جستجو کالیته‌ای پیدا نشد`:`برای این شرکت هنوز کالیته‌ای ثبت نشده است`},null,8,[`variant`,`message`]))])]))}}),[[`__scopeId`,`data-v-a8edb49d`]]);export{M as default};
@@ -1 +1 @@
import{G as e,J as t,N as n,O as r,P as i,g as a,h as o}from"./_plugin-vue_export-helper-Bo3WtfwJ.js";import{t as s}from"./PageSkeleton-DHtB6RUa.js";import{t as c}from"./catalogNavigation-Dbib4DFV.js";var l={class:`page`},u=i({__name:`CatalogProductRedirectView`,setup(i){let u=o(),d=a();return e(()=>{c(d,String(u.params.catalogId??``))}),(e,i)=>(t(),r(`div`,l,[n(s,{variant:`detail`})]))}});export{u as default};
import{G as e,J as t,N as n,O as r,P as i,g as a,h as o}from"./_plugin-vue_export-helper-Bo3WtfwJ.js";import{t as s}from"./PageSkeleton-DHtB6RUa.js";import{t as c}from"./catalogNavigation-BKzzgMwI.js";var l={class:`page`},u=i({__name:`CatalogProductRedirectView`,setup(i){let u=o(),d=a();return e(()=>{c(d,String(u.params.catalogId??``))}),(e,i)=>(t(),r(`div`,l,[n(s,{variant:`detail`})]))}});export{u as default};
@@ -1 +1 @@
import{D as e,Et as t,G as n,J as r,N as i,O as a,P as o,T as s,Xt as c,Z as l,b as u,g as d,t as f}from"./_plugin-vue_export-helper-Bo3WtfwJ.js";import{o as p}from"./format-C72AoJ2H.js";import{t as m}from"./PageHeader-B81KKEPV.js";import{t as h}from"./catalogRequests-u4fa6m5t.js";var g={class:`page catalog-requests-page`},_={class:`desktop-page__head desktop-only catalog-requests-desk-head`},v={class:`page__scroll page__scroll--with-nav body`},y={key:0,class:`empty`},b={class:`card__top`},x={class:`badge`},S={key:0,class:`note`},C=f(o({__name:`CatalogRequestsView`,setup(o){let f=d(),C=h();return n(()=>C.hydrate()),(n,o)=>(r(),a(`div`,g,[i(m,{class:`mobile-only`,title:`وضعیت کالیته‌ها`,"show-back":``,centered:``,onBack:o[0]||=e=>t(f).push(`/catalogs`)}),s(`header`,_,[o[3]||=s(`div`,null,[s(`h1`,{class:`desktop-page__title`},`وضعیت کالیته‌ها`),s(`p`,{class:`desktop-page__subtitle`},`پیگیری درخواست‌های کالیته ثبت‌شده`)],-1),s(`button`,{type:`button`,class:`desk-new-btn`,onClick:o[1]||=e=>t(f).push(`/categories`)},` درخواست کالیته جدید `)]),s(`div`,v,[s(`button`,{type:`button`,class:`new-btn mobile-only`,onClick:o[2]||=e=>t(f).push(`/categories`)},` درخواست کالیته جدید `),t(C).sorted.length?e(``,!0):(r(),a(`p`,y,`هنوز درخواستی ثبت نکرده‌اید.`)),(r(!0),a(u,null,l(t(C).sorted,n=>(r(),a(`article`,{key:n.id,class:`card`},[s(`div`,b,[s(`strong`,null,`درخواست `+c(n.id.slice(-6)),1),s(`span`,x,c(t(C).statusLabel(n.status)),1)]),s(`p`,null,c(n.createdAt.slice(0,10)),1),s(`p`,null,c(t(p)(n.items.length))+` قلم`,1),s(`ul`,null,[(r(!0),a(u,null,l(n.items,e=>(r(),a(`li`,{key:e.productId},c(e.productName)+` × `+c(t(p)(e.quantity)),1))),128))]),n.note?(r(),a(`p`,S,c(n.note),1)):e(``,!0)]))),128))])]))}}),[[`__scopeId`,`data-v-9ea8c789`]]);export{C as default};
import{D as e,Et as t,G as n,J as r,N as i,O as a,P as o,T as s,Xt as c,Z as l,b as u,g as d,t as f}from"./_plugin-vue_export-helper-Bo3WtfwJ.js";import{o as p}from"./format-C72AoJ2H.js";import{t as m}from"./PageHeader-DTO8lja2.js";import{t as h}from"./catalogRequests-DB19-0hk.js";var g={class:`page catalog-requests-page`},_={class:`desktop-page__head desktop-only catalog-requests-desk-head`},v={class:`page__scroll page__scroll--with-nav body`},y={key:0,class:`empty`},b={class:`card__top`},x={class:`badge`},S={key:0,class:`note`},C=f(o({__name:`CatalogRequestsView`,setup(o){let f=d(),C=h();return n(()=>C.hydrate()),(n,o)=>(r(),a(`div`,g,[i(m,{class:`mobile-only`,title:`وضعیت کالیته‌ها`,"show-back":``,centered:``,onBack:o[0]||=e=>t(f).push(`/catalogs`)}),s(`header`,_,[o[3]||=s(`div`,null,[s(`h1`,{class:`desktop-page__title`},`وضعیت کالیته‌ها`),s(`p`,{class:`desktop-page__subtitle`},`پیگیری درخواست‌های کالیته ثبت‌شده`)],-1),s(`button`,{type:`button`,class:`desk-new-btn`,onClick:o[1]||=e=>t(f).push(`/categories`)},` درخواست کالیته جدید `)]),s(`div`,v,[s(`button`,{type:`button`,class:`new-btn mobile-only`,onClick:o[2]||=e=>t(f).push(`/categories`)},` درخواست کالیته جدید `),t(C).sorted.length?e(``,!0):(r(),a(`p`,y,`هنوز درخواستی ثبت نکرده‌اید.`)),(r(!0),a(u,null,l(t(C).sorted,n=>(r(),a(`article`,{key:n.id,class:`card`},[s(`div`,b,[s(`strong`,null,`درخواست `+c(n.id.slice(-6)),1),s(`span`,x,c(t(C).statusLabel(n.status)),1)]),s(`p`,null,c(n.createdAt.slice(0,10)),1),s(`p`,null,c(t(p)(n.items.length))+` قلم`,1),s(`ul`,null,[(r(!0),a(u,null,l(n.items,e=>(r(),a(`li`,{key:e.productId},c(e.productName)+` × `+c(t(p)(e.quantity)),1))),128))]),n.note?(r(),a(`p`,S,c(n.note),1)):e(``,!0)]))),128))])]))}}),[[`__scopeId`,`data-v-9ea8c789`]]);export{C as default};
@@ -1 +1 @@
import{D as e,E as t,Et as n,G as r,J as i,Kt as a,N as o,O as s,P as c,T as l,Xt as u,Yt as d,Z as f,b as p,g as m,h,t as g,vt as _,w as v}from"./_plugin-vue_export-helper-Bo3WtfwJ.js";import{o as y}from"./format-C72AoJ2H.js";import{t as b}from"./catalog-CyvLKh9n.js";import{i as x}from"./index-Bs_brTvG.js";import{t as S}from"./IconChevronBack-DfGoZJJk.js";import{t as C}from"./SearchField-BMLbKLPW.js";import{t as ee}from"./PageSkeleton-DHtB6RUa.js";import{i as te,n as ne,r as w,t as T}from"./catalogNavigation-Dbib4DFV.js";import{t as E}from"./crm-Cbr1tRzB.js";import{t as D}from"./IconSearch-BUr8iOwb.js";import{t as O}from"./useGoBack-TJZZv7or.js";var k={class:`page calite-hub`},A={class:`calite-hub__nav`},j={class:`calite-hub__nav-end`},M={class:`page__scroll page__scroll--with-nav calite-hub__scroll`},N={class:`calite-hub__chips`,role:`tablist`,"aria-label":`مرتب‌سازی کالیته‌ها`},P=[`onClick`],F={key:1,class:`calite-hub__empty`},I={key:2,class:`calite-hub__list`},L=[`onClick`],R={key:0,class:`calite-card__badge`},z={class:`calite-card__copy`,dir:`rtl`},re={class:`mr-4 text-white`},B={class:`text-lg font-bold`},V={class:`text-md`},H={class:`text-xs mt-4`},U=g(c({__name:`CatalogsHubView`,setup(c){let g=h(),U=m(),{goBack:W}=O(`/`),G=b(),K=E(),q=_([]),J=_([]),Y=_(!0),X=_(``),Z=_(null),Q=_(`all`),ie=[{id:`all`,label:`همه`},{id:`newest`,label:`جدیدترین`},{id:`popular`,label:`محبوب‌ترین`},{id:`season`,label:`بر اساس فصل`}],ae=v(()=>{let e=ne(q.value,J.value);return e.length?e:te}),$=v(()=>w(ae.value,Q.value,X.value));r(async()=>{try{let e=await G.loadCompanies(),[t,n]=await Promise.all([Promise.all(e.map(e=>G.loadCatalogs(e.id))),K.loadBrowseProducts().catch(()=>[])]);q.value=t.flat(),J.value=n;let r=String(g.query.id??``);r&&q.value.some(e=>e.id===r)&&await T(U,r,J.value)}catch{q.value=[]}finally{Y.value=!1}});function oe(e){T(U,e,J.value)}function se(){Z.value?.focus()}function ce(e){let t=e.season===`winter`?`مناسب زمستان`:e.season===`summer`?`مناسب تابستان`:`مناسب چهار فصل`;return`${y(e.patternCount)} طرح • ${t}`}return(r,c)=>(i(),s(`div`,k,[l(`header`,A,[l(`button`,{type:`button`,class:`icon-btn mobile-only`,"aria-label":`بازگشت`,onClick:c[0]||=(...e)=>n(W)&&n(W)(...e)},[o(S,{size:20})]),c[2]||=l(`h1`,null,`کالیته‌ها`,-1),l(`div`,j,[o(x,{variant:`inline`,class:`mobile-only`}),l(`button`,{type:`button`,class:`icon-btn mobile-only`,"aria-label":`جستجو`,onClick:se},[o(D,{size:20})])])]),l(`div`,M,[c[4]||=l(`p`,{class:`calite-hub__lead`},`مجموعه‌ای از بهترین پارچه‌ها، در یک نگاه`,-1),o(C,{ref_key:`searchFieldRef`,ref:Z,modelValue:X.value,"onUpdate:modelValue":c[1]||=e=>X.value=e,class:`calite-hub__search`,placeholder:`جستجوی نام کالیته...`},null,8,[`modelValue`]),l(`div`,N,[(i(),s(p,null,f(ie,e=>l(`button`,{key:e.id,type:`button`,class:a([`calite-chip`,{"is-on":Q.value===e.id}]),onClick:t=>Q.value=e.id},u(e.label),11,P)),64))]),Y.value?(i(),t(ee,{key:0,variant:`cards`,rows:4})):$.value.length?(i(),s(`div`,I,[(i(!0),s(p,null,f($.value,t=>(i(),s(`button`,{key:t.id,type:`button`,class:`calite-card`,dir:`ltr`,onClick:e=>oe(t.id)},[l(`span`,{class:`calite-card__photo`,style:d(t.imageUrl?{backgroundImage:`url(${t.imageUrl})`}:void 0)},null,4),t.badge?(i(),s(`span`,R,u(t.badge===`new`?`جدید`:`پرفروش`),1)):e(``,!0),l(`div`,z,[c[3]||=l(`svg`,{class:`calite-card__arrow`,width:`12`,height:`16`,viewBox:`0 0 8 12`,fill:`none`,"aria-hidden":`true`},[l(`path`,{d:`M1.5 1.5 6 6l-4.5 4.5`,stroke:`#fff`,"stroke-width":`1.4`,"stroke-linecap":`round`,"stroke-linejoin":`round`})],-1),l(`div`,re,[l(`div`,B,u(t.title),1),l(`div`,V,u(t.subtitle),1),l(`div`,H,u(ce(t)),1)])])],8,L))),128))])):(i(),s(`p`,F,`کالیته‌ای یافت نشد.`))])]))}}),[[`__scopeId`,`data-v-daa79410`]]);export{U as default};
import{D as e,E as t,Et as n,G as r,J as i,Kt as a,N as o,O as s,P as c,T as l,Xt as u,Yt as d,Z as f,b as p,g as m,h,t as g,vt as _,w as v}from"./_plugin-vue_export-helper-Bo3WtfwJ.js";import{o as y}from"./format-C72AoJ2H.js";import{t as b}from"./catalog-CIw6in_a.js";import{i as x}from"./index-BAQfYU-Q.js";import{t as S}from"./IconChevronBack-DfGoZJJk.js";import{t as C}from"./SearchField-BMLbKLPW.js";import{t as ee}from"./PageSkeleton-DHtB6RUa.js";import{i as te,n as ne,r as w,t as T}from"./catalogNavigation-BKzzgMwI.js";import{t as E}from"./crm-CooNUbmr.js";import{t as D}from"./IconSearch-BUr8iOwb.js";import{t as O}from"./useGoBack-TJZZv7or.js";var k={class:`page calite-hub`},A={class:`calite-hub__nav`},j={class:`calite-hub__nav-end`},M={class:`page__scroll page__scroll--with-nav calite-hub__scroll`},N={class:`calite-hub__chips`,role:`tablist`,"aria-label":`مرتب‌سازی کالیته‌ها`},P=[`onClick`],F={key:1,class:`calite-hub__empty`},I={key:2,class:`calite-hub__list`},L=[`onClick`],R={key:0,class:`calite-card__badge`},z={class:`calite-card__copy`,dir:`rtl`},re={class:`mr-4 text-white`},B={class:`text-lg font-bold`},V={class:`text-md`},H={class:`text-xs mt-4`},U=g(c({__name:`CatalogsHubView`,setup(c){let g=h(),U=m(),{goBack:W}=O(`/`),G=b(),K=E(),q=_([]),J=_([]),Y=_(!0),X=_(``),Z=_(null),Q=_(`all`),ie=[{id:`all`,label:`همه`},{id:`newest`,label:`جدیدترین`},{id:`popular`,label:`محبوب‌ترین`},{id:`season`,label:`بر اساس فصل`}],ae=v(()=>{let e=ne(q.value,J.value);return e.length?e:te}),$=v(()=>w(ae.value,Q.value,X.value));r(async()=>{try{let e=await G.loadCompanies(),[t,n]=await Promise.all([Promise.all(e.map(e=>G.loadCatalogs(e.id))),K.loadBrowseProducts().catch(()=>[])]);q.value=t.flat(),J.value=n;let r=String(g.query.id??``);r&&q.value.some(e=>e.id===r)&&await T(U,r,J.value)}catch{q.value=[]}finally{Y.value=!1}});function oe(e){T(U,e,J.value)}function se(){Z.value?.focus()}function ce(e){let t=e.season===`winter`?`مناسب زمستان`:e.season===`summer`?`مناسب تابستان`:`مناسب چهار فصل`;return`${y(e.patternCount)} طرح • ${t}`}return(r,c)=>(i(),s(`div`,k,[l(`header`,A,[l(`button`,{type:`button`,class:`icon-btn mobile-only`,"aria-label":`بازگشت`,onClick:c[0]||=(...e)=>n(W)&&n(W)(...e)},[o(S,{size:20})]),c[2]||=l(`h1`,null,`کالیته‌ها`,-1),l(`div`,j,[o(x,{variant:`inline`,class:`mobile-only`}),l(`button`,{type:`button`,class:`icon-btn mobile-only`,"aria-label":`جستجو`,onClick:se},[o(D,{size:20})])])]),l(`div`,M,[c[4]||=l(`p`,{class:`calite-hub__lead`},`مجموعه‌ای از بهترین پارچه‌ها، در یک نگاه`,-1),o(C,{ref_key:`searchFieldRef`,ref:Z,modelValue:X.value,"onUpdate:modelValue":c[1]||=e=>X.value=e,class:`calite-hub__search`,placeholder:`جستجوی نام کالیته...`},null,8,[`modelValue`]),l(`div`,N,[(i(),s(p,null,f(ie,e=>l(`button`,{key:e.id,type:`button`,class:a([`calite-chip`,{"is-on":Q.value===e.id}]),onClick:t=>Q.value=e.id},u(e.label),11,P)),64))]),Y.value?(i(),t(ee,{key:0,variant:`cards`,rows:4})):$.value.length?(i(),s(`div`,I,[(i(!0),s(p,null,f($.value,t=>(i(),s(`button`,{key:t.id,type:`button`,class:`calite-card`,dir:`ltr`,onClick:e=>oe(t.id)},[l(`span`,{class:`calite-card__photo`,style:d(t.imageUrl?{backgroundImage:`url(${t.imageUrl})`}:void 0)},null,4),t.badge?(i(),s(`span`,R,u(t.badge===`new`?`جدید`:`پرفروش`),1)):e(``,!0),l(`div`,z,[c[3]||=l(`svg`,{class:`calite-card__arrow`,width:`12`,height:`16`,viewBox:`0 0 8 12`,fill:`none`,"aria-hidden":`true`},[l(`path`,{d:`M1.5 1.5 6 6l-4.5 4.5`,stroke:`#fff`,"stroke-width":`1.4`,"stroke-linecap":`round`,"stroke-linejoin":`round`})],-1),l(`div`,re,[l(`div`,B,u(t.title),1),l(`div`,V,u(t.subtitle),1),l(`div`,H,u(ce(t)),1)])])],8,L))),128))])):(i(),s(`p`,F,`کالیته‌ای یافت نشد.`))])]))}}),[[`__scopeId`,`data-v-daa79410`]]);export{U as default};
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
import{Et as e,J as t,N as n,O as r,P as i,T as a,Xt as o,at as s,g as c,t as l,w as u}from"./_plugin-vue_export-helper-Bo3WtfwJ.js";import{n as d}from"./format-C72AoJ2H.js";import{C as f,d as p}from"./index-Bs_brTvG.js";import{t as m}from"./IconEditPen-LGjdaNbi.js";import{t as h}from"./PageHeader-B81KKEPV.js";import{t as g}from"./useRequirePricedOrder-BfQPP7MR.js";var _={class:`page check-mode-page`},v={class:`page__scroll check-mode-page__scroll`},y={class:`check-mode-invoice`},b={class:`check-mode-invoice__value`},x={class:`mode-options`},S={class:`mode-card__icon`},C={class:`mode-card__icon`},w=l(i({__name:`CheckModeSelectView`,setup(i){let l=c(),w=p(),{orderId:T,order:E}=g(),D=u(()=>E.value?.finalAmount?d(E.value.finalAmount):`—`);s(T,async e=>{e&&(w.getOrderById(e)||await w.fetchOrder(e),w.draftOrderId!==e&&w.startCheckDraft(e))},{immediate:!0});function O(e){w.setCheckMode(e),l.push(`/orders/${T.value}/check-form`)}return(i,s)=>(t(),r(`div`,_,[n(h,{title:`تسویه چکی`,subtitle:`بر اساس مبلغ فاکتور، نحوه ثبت چک را انتخاب کنید`,"show-back":``,centered:``,onBack:s[0]||=t=>e(l).push(`/orders/${e(T)}`)}),a(`div`,v,[a(`div`,y,[s[3]||=a(`span`,{class:`check-mode-invoice__label`},`مبلغ فاکتور`,-1),a(`strong`,b,o(D.value),1)]),a(`div`,x,[a(`button`,{type:`button`,class:`mode-card`,onClick:s[1]||=e=>O(`full`)},[a(`span`,S,[n(f,{size:36})]),s[4]||=a(`h3`,{class:`mode-card__title`},`ثبت کامل (پیشنهادی)`,-1),s[5]||=a(`p`,{class:`mode-card__desc`},`وارد کردن همه اطلاعات چک`,-1)]),a(`button`,{type:`button`,class:`mode-card`,onClick:s[2]||=e=>O(`brief`)},[a(`span`,C,[n(m,{size:36})]),s[6]||=a(`h3`,{class:`mode-card__title`},`ثبت مختصر`,-1),s[7]||=a(`p`,{class:`mode-card__desc`},`وارد کردن حداقل اطلاعات`,-1)])])])]))}}),[[`__scopeId`,`data-v-680065b0`]]);export{w as default};
import{Et as e,J as t,N as n,O as r,P as i,T as a,Xt as o,at as s,g as c,t as l,w as u}from"./_plugin-vue_export-helper-Bo3WtfwJ.js";import{n as d}from"./format-C72AoJ2H.js";import{C as f,d as p}from"./index-BAQfYU-Q.js";import{t as m}from"./IconEditPen-LGjdaNbi.js";import{t as h}from"./PageHeader-DTO8lja2.js";import{t as g}from"./useRequirePricedOrder-DWh7nbsh.js";var _={class:`page check-mode-page`},v={class:`page__scroll check-mode-page__scroll`},y={class:`check-mode-invoice`},b={class:`check-mode-invoice__value`},x={class:`mode-options`},S={class:`mode-card__icon`},C={class:`mode-card__icon`},w=l(i({__name:`CheckModeSelectView`,setup(i){let l=c(),w=p(),{orderId:T,order:E}=g(),D=u(()=>E.value?.finalAmount?d(E.value.finalAmount):`—`);s(T,async e=>{e&&(w.getOrderById(e)||await w.fetchOrder(e),w.draftOrderId!==e&&w.startCheckDraft(e))},{immediate:!0});function O(e){w.setCheckMode(e),l.push(`/orders/${T.value}/check-form`)}return(i,s)=>(t(),r(`div`,_,[n(h,{title:`تسویه چکی`,subtitle:`بر اساس مبلغ فاکتور، نحوه ثبت چک را انتخاب کنید`,"show-back":``,centered:``,onBack:s[0]||=t=>e(l).push(`/orders/${e(T)}`)}),a(`div`,v,[a(`div`,y,[s[3]||=a(`span`,{class:`check-mode-invoice__label`},`مبلغ فاکتور`,-1),a(`strong`,b,o(D.value),1)]),a(`div`,x,[a(`button`,{type:`button`,class:`mode-card`,onClick:s[1]||=e=>O(`full`)},[a(`span`,S,[n(f,{size:36})]),s[4]||=a(`h3`,{class:`mode-card__title`},`ثبت کامل (پیشنهادی)`,-1),s[5]||=a(`p`,{class:`mode-card__desc`},`وارد کردن همه اطلاعات چک`,-1)]),a(`button`,{type:`button`,class:`mode-card`,onClick:s[2]||=e=>O(`brief`)},[a(`span`,C,[n(m,{size:36})]),s[6]||=a(`h3`,{class:`mode-card__title`},`ثبت مختصر`,-1),s[7]||=a(`p`,{class:`mode-card__desc`},`وارد کردن حداقل اطلاعات`,-1)])])])]))}}),[[`__scopeId`,`data-v-680065b0`]]);export{w as default};
@@ -1 +1 @@
import{D as e,E as t,J as n,M as r,N as i,O as a,P as o,S as s,T as c,U as l,Xt as u,at as d,st as f,t as p,vt as m,w as h}from"./_plugin-vue_export-helper-Bo3WtfwJ.js";import{n as g,u as _}from"./BasicIcon-BXxbbWA_.js";import{t as v}from"./http-CYAxBUmC.js";import{l as y}from"./format-C72AoJ2H.js";import{a as b}from"./validation-Duyyve7l.js";import{c as x,n as S}from"./index-Bs_brTvG.js";import{t as C}from"./FormErrorBanner-DI5hhxpk.js";import{n as w,r as T,t as E}from"./formErrors-DglFjYkZ.js";import{t as D}from"./crm-Cbr1tRzB.js";import{t as O}from"./BaseInput-CVNdy37R.js";var k={class:`customer-create-form`},A={key:0,class:`customer-create-form__intro`},j={class:`customer-create-form__fields`},M=p(o({__name:`CustomerCreateForm`,props:{customerId:{},initial:{}},emits:[`success`],setup(t,{expose:o,emit:s}){let l=t,p=s,h=x(),g=D(),_=m(``),M=m(``),N=m(``),P=m(``),F=m({}),I=m(``),L=m(!1),R=()=>!!l.customerId;function z(e){_.value=e?.firstName??``,M.value=e?.lastName??``,N.value=e?.phone??``,P.value=e?.businessName??``,F.value={},I.value=``}d(()=>l.initial,e=>z(e),{immediate:!0});function B(e){F.value=w(F.value,e),T(F.value)||(I.value=``)}async function V(){if(F.value={},I.value=``,!h.isAgent){I.value=`فقط واسطه می‌تواند مشتری به لیست خود اضافه کند.`;return}let e=y(N.value),t={};if(_.value.trim()||(t.firstName=`نام الزامی است.`),M.value.trim()||(t.lastName=`نام خانوادگی الزامی است.`),b(e)||(t.phone=`شماره موبایل معتبر نیست.`),T(t)){F.value=t,I.value=E;return}let n={firstName:_.value.trim(),lastName:M.value.trim(),phone:e,businessName:P.value.trim()||void 0};L.value=!0;try{if(R()&&l.customerId){let e=await g.updateCustomer(l.customerId,n);p(`success`,e?.id??l.customerId);return}let e=await g.registerCustomer(n);p(`success`,e?.id)}catch(e){I.value=e instanceof v||e instanceof Error?e.message:R()?`ویرایش مشتری ناموفق بود.`:`ثبت مشتری ناموفق بود.`}finally{L.value=!1}}return o({submit:V,saving:L}),(t,o)=>(n(),a(`div`,k,[R()?e(``,!0):(n(),a(`p`,A,` مشتری به لیست شما اضافه می‌شود و بعد از ورود با همین شماره، سفارش‌هایش به حساب شما وصل می‌ماند. `)),i(C,{message:I.value},null,8,[`message`]),c(`div`,j,[i(O,{modelValue:_.value,"onUpdate:modelValue":[o[0]||=e=>_.value=e,o[1]||=e=>B(`firstName`)],label:`نام`,placeholder:`نام مشتری`,error:F.value.firstName},null,8,[`modelValue`,`error`]),i(O,{modelValue:M.value,"onUpdate:modelValue":[o[2]||=e=>M.value=e,o[3]||=e=>B(`lastName`)],label:`نام خانوادگی`,placeholder:`نام خانوادگی`,error:F.value.lastName},null,8,[`modelValue`,`error`]),i(O,{modelValue:N.value,"onUpdate:modelValue":[o[4]||=e=>N.value=e,o[5]||=e=>B(`phone`)],label:`شماره موبایل`,type:`tel`,inputmode:`tel`,dir:`ltr`,placeholder:`۰۹۱۲۳۴۵۶۷۸۹`,error:F.value.phone},null,8,[`modelValue`,`error`]),i(O,{modelValue:P.value,"onUpdate:modelValue":o[6]||=e=>P.value=e,label:`نام فروشگاه یا برند (اختیاری)`,placeholder:`مثلاً بوتیک رز`},null,8,[`modelValue`])]),i(S,{block:``,loading:L.value,disabled:L.value,onClick:V},{default:f(()=>[r(u(R()?`ذخیره تغییرات`:`ثبت مشتری`),1)]),_:1},8,[`loading`,`disabled`])]))}}),[[`__scopeId`,`data-v-4f911c6f`]]),N={class:`customer-create-sheet`},P={class:`customer-create-sheet__head`},F={id:`customer-create-title`},I=p(o({__name:`CustomerCreateOverlay`,props:{open:{type:Boolean},customerId:{},initial:{},title:{}},emits:[`close`,`success`],setup(r,{emit:o}){let p=r,m=h(()=>p.title??(p.customerId?`ویرایش مشتری`:`افزودن مشتری`)),v=o;function y(){v(`close`)}function b(e){v(`success`,e)}function x(e){e.key===`Escape`&&p.open&&y()}return d(()=>p.open,e=>{document.body.style.overflow=e?`hidden`:``,e?window.addEventListener(`keydown`,x):window.removeEventListener(`keydown`,x)},{immediate:!0}),l(()=>{document.body.style.overflow=``,window.removeEventListener(`keydown`,x)}),(o,l)=>(n(),t(s,{to:`body`},[i(g,{name:`customer-create-sheet`},{default:f(()=>[r.open?(n(),a(`div`,{key:0,class:`customer-create-overlay`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`customer-create-title`,onClick:_(y,[`self`])},[c(`div`,N,[l[0]||=c(`div`,{class:`customer-create-sheet__handle`,"aria-hidden":`true`},null,-1),c(`header`,P,[c(`h2`,F,u(m.value),1),c(`button`,{type:`button`,class:`customer-create-sheet__close`,"aria-label":`بستن`,onClick:y},` × `)]),i(M,{"customer-id":r.customerId,initial:r.initial,onSuccess:b},null,8,[`customer-id`,`initial`])])])):e(``,!0)]),_:1})]))}}),[[`__scopeId`,`data-v-ac91feb8`]]);export{I as t};
import{D as e,E as t,J as n,M as r,N as i,O as a,P as o,S as s,T as c,U as l,Xt as u,at as d,st as f,t as p,vt as m,w as h}from"./_plugin-vue_export-helper-Bo3WtfwJ.js";import{n as g,u as _}from"./BasicIcon-BXxbbWA_.js";import{t as v}from"./http-CeONvUNq.js";import{l as y}from"./format-C72AoJ2H.js";import{a as b}from"./validation-Duyyve7l.js";import{c as x,n as S}from"./index-BAQfYU-Q.js";import{t as C}from"./FormErrorBanner-DI5hhxpk.js";import{n as w,r as T,t as E}from"./formErrors-DglFjYkZ.js";import{t as D}from"./crm-CooNUbmr.js";import{t as O}from"./BaseInput-CVNdy37R.js";var k={class:`customer-create-form`},A={key:0,class:`customer-create-form__intro`},j={class:`customer-create-form__fields`},M=p(o({__name:`CustomerCreateForm`,props:{customerId:{},initial:{}},emits:[`success`],setup(t,{expose:o,emit:s}){let l=t,p=s,h=x(),g=D(),_=m(``),M=m(``),N=m(``),P=m(``),F=m({}),I=m(``),L=m(!1),R=()=>!!l.customerId;function z(e){_.value=e?.firstName??``,M.value=e?.lastName??``,N.value=e?.phone??``,P.value=e?.businessName??``,F.value={},I.value=``}d(()=>l.initial,e=>z(e),{immediate:!0});function B(e){F.value=w(F.value,e),T(F.value)||(I.value=``)}async function V(){if(F.value={},I.value=``,!h.isAgent){I.value=`فقط واسطه می‌تواند مشتری به لیست خود اضافه کند.`;return}let e=y(N.value),t={};if(_.value.trim()||(t.firstName=`نام الزامی است.`),M.value.trim()||(t.lastName=`نام خانوادگی الزامی است.`),b(e)||(t.phone=`شماره موبایل معتبر نیست.`),T(t)){F.value=t,I.value=E;return}let n={firstName:_.value.trim(),lastName:M.value.trim(),phone:e,businessName:P.value.trim()||void 0};L.value=!0;try{if(R()&&l.customerId){let e=await g.updateCustomer(l.customerId,n);p(`success`,e?.id??l.customerId);return}let e=await g.registerCustomer(n);p(`success`,e?.id)}catch(e){I.value=e instanceof v||e instanceof Error?e.message:R()?`ویرایش مشتری ناموفق بود.`:`ثبت مشتری ناموفق بود.`}finally{L.value=!1}}return o({submit:V,saving:L}),(t,o)=>(n(),a(`div`,k,[R()?e(``,!0):(n(),a(`p`,A,` مشتری به لیست شما اضافه می‌شود و بعد از ورود با همین شماره، سفارش‌هایش به حساب شما وصل می‌ماند. `)),i(C,{message:I.value},null,8,[`message`]),c(`div`,j,[i(O,{modelValue:_.value,"onUpdate:modelValue":[o[0]||=e=>_.value=e,o[1]||=e=>B(`firstName`)],label:`نام`,placeholder:`نام مشتری`,error:F.value.firstName},null,8,[`modelValue`,`error`]),i(O,{modelValue:M.value,"onUpdate:modelValue":[o[2]||=e=>M.value=e,o[3]||=e=>B(`lastName`)],label:`نام خانوادگی`,placeholder:`نام خانوادگی`,error:F.value.lastName},null,8,[`modelValue`,`error`]),i(O,{modelValue:N.value,"onUpdate:modelValue":[o[4]||=e=>N.value=e,o[5]||=e=>B(`phone`)],label:`شماره موبایل`,type:`tel`,inputmode:`tel`,dir:`ltr`,placeholder:`۰۹۱۲۳۴۵۶۷۸۹`,error:F.value.phone},null,8,[`modelValue`,`error`]),i(O,{modelValue:P.value,"onUpdate:modelValue":o[6]||=e=>P.value=e,label:`نام فروشگاه یا برند (اختیاری)`,placeholder:`مثلاً بوتیک رز`},null,8,[`modelValue`])]),i(S,{block:``,loading:L.value,disabled:L.value,onClick:V},{default:f(()=>[r(u(R()?`ذخیره تغییرات`:`ثبت مشتری`),1)]),_:1},8,[`loading`,`disabled`])]))}}),[[`__scopeId`,`data-v-4f911c6f`]]),N={class:`customer-create-sheet`},P={class:`customer-create-sheet__head`},F={id:`customer-create-title`},I=p(o({__name:`CustomerCreateOverlay`,props:{open:{type:Boolean},customerId:{},initial:{},title:{}},emits:[`close`,`success`],setup(r,{emit:o}){let p=r,m=h(()=>p.title??(p.customerId?`ویرایش مشتری`:`افزودن مشتری`)),v=o;function y(){v(`close`)}function b(e){v(`success`,e)}function x(e){e.key===`Escape`&&p.open&&y()}return d(()=>p.open,e=>{document.body.style.overflow=e?`hidden`:``,e?window.addEventListener(`keydown`,x):window.removeEventListener(`keydown`,x)},{immediate:!0}),l(()=>{document.body.style.overflow=``,window.removeEventListener(`keydown`,x)}),(o,l)=>(n(),t(s,{to:`body`},[i(g,{name:`customer-create-sheet`},{default:f(()=>[r.open?(n(),a(`div`,{key:0,class:`customer-create-overlay`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`customer-create-title`,onClick:_(y,[`self`])},[c(`div`,N,[l[0]||=c(`div`,{class:`customer-create-sheet__handle`,"aria-hidden":`true`},null,-1),c(`header`,P,[c(`h2`,F,u(m.value),1),c(`button`,{type:`button`,class:`customer-create-sheet__close`,"aria-label":`بستن`,onClick:y},` × `)]),i(M,{"customer-id":r.customerId,initial:r.initial,onSuccess:b},null,8,[`customer-id`,`initial`])])])):e(``,!0)]),_:1})]))}}),[[`__scopeId`,`data-v-ac91feb8`]]);export{I as t};
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
import{D as e,E as t,Et as n,G as r,J as i,M as a,N as o,O as s,P as c,T as l,Xt as u,Yt as d,Z as f,b as p,g as m,t as h,vt as g}from"./_plugin-vue_export-helper-Bo3WtfwJ.js";import{u as _}from"./BasicIcon-BXxbbWA_.js";import{o as v}from"./format-C72AoJ2H.js";import{l as y,o as b}from"./index-Bs_brTvG.js";import{t as x}from"./PageHeader-B81KKEPV.js";import{t as S}from"./PageSkeleton-DHtB6RUa.js";import{t as C}from"./crm-Cbr1tRzB.js";import{t as w}from"./IconBookmark-DQEBziz0.js";import{n as T,t as E}from"./colorSwatch-BgOH1LE5.js";var D={class:`page favorites-page`},O={class:`page__scroll page__scroll--with-nav body`},k={key:1},A={key:2,class:`empty`},j=[`onClick`],M={class:`product-item__body`},N={class:`product-item__head`},P={class:`product-item__title`},F={key:0,class:`new-tag`},I=[`onClick`],L={class:`product-item__specs`},R={key:0,class:`swatches`},z=[`onClick`],B=h(c({__name:`FavoritesView`,setup(c){let h={summer:`تابستانه`,winter:`زمستانه`,all_season:`چهارفصل`},B=m(),V=y(),H=C(),U=g([]),W=g(!0),G=g(null);r(async()=>{W.value=!0;try{await V.hydrate();let e=await H.loadBrowseProducts(),t=new Set(V.ids);U.value=e.filter(e=>t.has(e.id))}catch(e){G.value=e instanceof Error?e.message:`بارگذاری علاقه‌مندی‌ها ناموفق بود.`}finally{W.value=!1}});function K(e){return h[e]??`—`}function q(e){return E(e.colors,e.colorImages,e.imageUrls,0,e.imageUrl)}function J(e){B.push({path:`/product`,query:{id:e}})}async function Y(e){await V.toggle(e),U.value=U.value.filter(t=>t.id!==e)}return(r,c)=>(i(),s(`div`,D,[o(x,{class:`mobile-only`,title:`علاقه‌مندی‌ها`,"show-back":``,centered:``,onBack:c[0]||=e=>n(B).back()}),c[2]||=l(`header`,{class:`desktop-page__head desktop-only`},[l(`h1`,{class:`desktop-page__title`},`علاقه‌مندی‌ها`),l(`p`,{class:`desktop-page__subtitle`},`محصولات ذخیره‌شده برای دسترسی سریع`)],-1),l(`div`,O,[W.value?(i(),t(S,{key:0,variant:`grid`})):G.value?(i(),s(`p`,k,u(G.value),1)):U.value.length?e(``,!0):(i(),s(`p`,A,`هنوز محصولی ذخیره نکرده‌اید.`)),(i(!0),s(p,null,f(U.value,t=>(i(),s(`article`,{key:t.id,class:`product-item`,onClick:e=>J(t.id)},[l(`div`,{class:`product-item__image`,style:d(q(t)?{backgroundImage:`url(${q(t)})`}:n(T)(t.colors[0]??``))},null,4),l(`div`,M,[l(`div`,N,[l(`div`,P,[l(`strong`,null,u(t.name),1),t.isNew?(i(),s(`span`,F,`جدید`)):e(``,!0)]),l(`button`,{type:`button`,class:`bookmark`,"aria-label":`حذف از علاقه‌مندی‌ها`,onClick:_(e=>Y(t.id),[`stop`])},[o(w,{size:18,filled:``,color:`var(--color-primary)`})],8,I)]),l(`ul`,L,[l(`li`,null,`عرض: `+u(n(v)(t.widthCm))+` سانتی‌متر`,1),l(`li`,null,`ترکیب: `+u(t.composition||`—`),1),l(`li`,null,`مناسب: `+u(K(t.season)),1)]),t.colors.length?(i(),s(`div`,R,[(i(!0),s(p,null,f(t.colors.slice(0,6),(e,r)=>(i(),s(`span`,{key:r,class:`swatch`,style:d(n(T)(e,t.colorImages?.[r]||t.imageUrls?.[r]))},null,4))),128))])):e(``,!0),l(`button`,{type:`button`,class:`details-link`,onClick:_(e=>J(t.id),[`stop`])},[c[1]||=a(` مشاهده جزئیات `,-1),o(b,{size:14})],8,z)])],8,j))),128))])]))}}),[[`__scopeId`,`data-v-cc481a5f`]]);export{B as default};
import{D as e,E as t,Et as n,G as r,J as i,M as a,N as o,O as s,P as c,T as l,Xt as u,Yt as d,Z as f,b as p,g as m,t as h,vt as g}from"./_plugin-vue_export-helper-Bo3WtfwJ.js";import{u as _}from"./BasicIcon-BXxbbWA_.js";import{o as v}from"./format-C72AoJ2H.js";import{l as y,o as b}from"./index-BAQfYU-Q.js";import{t as x}from"./PageHeader-DTO8lja2.js";import{t as S}from"./PageSkeleton-DHtB6RUa.js";import{t as C}from"./crm-CooNUbmr.js";import{t as w}from"./IconBookmark-DQEBziz0.js";import{n as T,t as E}from"./colorSwatch-BgOH1LE5.js";var D={class:`page favorites-page`},O={class:`page__scroll page__scroll--with-nav body`},k={key:1},A={key:2,class:`empty`},j=[`onClick`],M={class:`product-item__body`},N={class:`product-item__head`},P={class:`product-item__title`},F={key:0,class:`new-tag`},I=[`onClick`],L={class:`product-item__specs`},R={key:0,class:`swatches`},z=[`onClick`],B=h(c({__name:`FavoritesView`,setup(c){let h={summer:`تابستانه`,winter:`زمستانه`,all_season:`چهارفصل`},B=m(),V=y(),H=C(),U=g([]),W=g(!0),G=g(null);r(async()=>{W.value=!0;try{await V.hydrate();let e=await H.loadBrowseProducts(),t=new Set(V.ids);U.value=e.filter(e=>t.has(e.id))}catch(e){G.value=e instanceof Error?e.message:`بارگذاری علاقه‌مندی‌ها ناموفق بود.`}finally{W.value=!1}});function K(e){return h[e]??`—`}function q(e){return E(e.colors,e.colorImages,e.imageUrls,0,e.imageUrl)}function J(e){B.push({path:`/product`,query:{id:e}})}async function Y(e){await V.toggle(e),U.value=U.value.filter(t=>t.id!==e)}return(r,c)=>(i(),s(`div`,D,[o(x,{class:`mobile-only`,title:`علاقه‌مندی‌ها`,"show-back":``,centered:``,onBack:c[0]||=e=>n(B).back()}),c[2]||=l(`header`,{class:`desktop-page__head desktop-only`},[l(`h1`,{class:`desktop-page__title`},`علاقه‌مندی‌ها`),l(`p`,{class:`desktop-page__subtitle`},`محصولات ذخیره‌شده برای دسترسی سریع`)],-1),l(`div`,O,[W.value?(i(),t(S,{key:0,variant:`grid`})):G.value?(i(),s(`p`,k,u(G.value),1)):U.value.length?e(``,!0):(i(),s(`p`,A,`هنوز محصولی ذخیره نکرده‌اید.`)),(i(!0),s(p,null,f(U.value,t=>(i(),s(`article`,{key:t.id,class:`product-item`,onClick:e=>J(t.id)},[l(`div`,{class:`product-item__image`,style:d(q(t)?{backgroundImage:`url(${q(t)})`}:n(T)(t.colors[0]??``))},null,4),l(`div`,M,[l(`div`,N,[l(`div`,P,[l(`strong`,null,u(t.name),1),t.isNew?(i(),s(`span`,F,`جدید`)):e(``,!0)]),l(`button`,{type:`button`,class:`bookmark`,"aria-label":`حذف از علاقه‌مندی‌ها`,onClick:_(e=>Y(t.id),[`stop`])},[o(w,{size:18,filled:``,color:`var(--color-primary)`})],8,I)]),l(`ul`,L,[l(`li`,null,`عرض: `+u(n(v)(t.widthCm))+` سانتی‌متر`,1),l(`li`,null,`ترکیب: `+u(t.composition||`—`),1),l(`li`,null,`مناسب: `+u(K(t.season)),1)]),t.colors.length?(i(),s(`div`,R,[(i(!0),s(p,null,f(t.colors.slice(0,6),(e,r)=>(i(),s(`span`,{key:r,class:`swatch`,style:d(n(T)(e,t.colorImages?.[r]||t.imageUrls?.[r]))},null,4))),128))])):e(``,!0),l(`button`,{type:`button`,class:`details-link`,onClick:_(e=>J(t.id),[`stop`])},[c[1]||=a(` مشاهده جزئیات `,-1),o(b,{size:14})],8,z)])],8,j))),128))])]))}}),[[`__scopeId`,`data-v-cc481a5f`]]);export{B as default};
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
import{E as e,Et as t,G as n,J as r,N as i,O as a,P as o,T as s,Xt as c,b as l,g as u,t as d,vt as f,w as p}from"./_plugin-vue_export-helper-Bo3WtfwJ.js";import{i as m,o as h}from"./format-C72AoJ2H.js";import{t as g}from"./PageHeader-B81KKEPV.js";import{t as _}from"./PageSkeleton-DHtB6RUa.js";import{t as v}from"./catalogRequests-u4fa6m5t.js";import{t as y}from"./SimpleStatusTimeline-wcI2qobj.js";var b=[{id:`registered`,label:`درخواست کالیته ثبت شد`},{id:`ready_to_ship`,label:`آماده ارسال`},{id:`shipped`,label:`ارسال شد`},{id:`returned`,label:`تحویل گرفته شد`}],x={new:0,approved:0,ready_to_ship:1,delivered:2,returned:3,cancelled:0};function S(e){return e.serverStatus?e.serverStatus:{submitted:`new`,reviewing:`approved`,preparing:`ready_to_ship`,shipped:`delivered`,delivered:`returned`,new:`new`,approved:`approved`,ready_to_ship:`ready_to_ship`,returned:`returned`,cancelled:`cancelled`}[e.status]??`new`}function C(e){return x[S(e)]??0}function w(e){let t=S(e),n=m(e.createdAt),r=e.updatedAt?m(e.updatedAt):null;return{registered:n,ready_to_ship:[`ready_to_ship`,`delivered`,`returned`].includes(t)?r:null,shipped:[`delivered`,`returned`].includes(t)?r:null,returned:t===`returned`?r:null}}var T={class:`page latest-status-page`},E={class:`page__scroll page__scroll--with-nav body`},D={class:`summary-card`},O={class:`summary-card__value`},k={class:`summary-card__meta`},A=d(o({__name:`LatestCatalogRequestStatusView`,setup(o){let d=u(),m=v(),x=f(!0),S=p(()=>m.sorted.length?m.sorted[0]:null),A=p(()=>S.value?C(S.value):0),j=p(()=>S.value?w(S.value):{});n(async()=>{x.value=!0,await m.hydrate(),x.value=!1});function M(){d.push(`/categories`)}return(n,o)=>(r(),a(`div`,T,[i(g,{class:`mobile-only`,title:`آخرین درخواست کالیته`,"show-back":``,centered:``,onBack:o[0]||=e=>t(d).push(`/`)}),o[3]||=s(`header`,{class:`desktop-page__head desktop-only`},[s(`div`,null,[s(`h1`,{class:`desktop-page__title`},`آخرین درخواست کالیته`),s(`p`,{class:`desktop-page__subtitle`},`پیگیری مراحل آخرین درخواست کالیته`)])],-1),s(`div`,E,[x.value?(r(),e(_,{key:0})):S.value?(r(),a(l,{key:1},[s(`article`,D,[o[2]||=s(`p`,{class:`summary-card__label`},`درخواست`,-1),s(`strong`,O,c(S.value.id.slice(-8)),1),s(`p`,k,c(t(h)(S.value.items.length))+` قلم کالیته `,1)]),i(y,{steps:t(b),"current-index":A.value,timestamps:j.value},null,8,[`steps`,`current-index`,`timestamps`]),s(`button`,{type:`button`,class:`detail-link`,onClick:o[1]||=e=>t(d).push(`/catalog-requests`)},` مشاهده همه درخواست‌ها `)],64)):(r(),a(`button`,{key:2,type:`button`,class:`empty-cta`,onClick:M},` شما هیچ کالیته ای درخواست نکرده اید، جهت درخواست کالیته و مشاهده فیزیکی پارچه ها کلیک کنید `))])]))}}),[[`__scopeId`,`data-v-e09a36c6`]]);export{A as default};
import{E as e,Et as t,G as n,J as r,N as i,O as a,P as o,T as s,Xt as c,b as l,g as u,t as d,vt as f,w as p}from"./_plugin-vue_export-helper-Bo3WtfwJ.js";import{i as m,o as h}from"./format-C72AoJ2H.js";import{t as g}from"./PageHeader-DTO8lja2.js";import{t as _}from"./PageSkeleton-DHtB6RUa.js";import{t as v}from"./catalogRequests-DB19-0hk.js";import{t as y}from"./SimpleStatusTimeline-wcI2qobj.js";var b=[{id:`registered`,label:`درخواست کالیته ثبت شد`},{id:`ready_to_ship`,label:`آماده ارسال`},{id:`shipped`,label:`ارسال شد`},{id:`returned`,label:`تحویل گرفته شد`}],x={new:0,approved:0,ready_to_ship:1,delivered:2,returned:3,cancelled:0};function S(e){return e.serverStatus?e.serverStatus:{submitted:`new`,reviewing:`approved`,preparing:`ready_to_ship`,shipped:`delivered`,delivered:`returned`,new:`new`,approved:`approved`,ready_to_ship:`ready_to_ship`,returned:`returned`,cancelled:`cancelled`}[e.status]??`new`}function C(e){return x[S(e)]??0}function w(e){let t=S(e),n=m(e.createdAt),r=e.updatedAt?m(e.updatedAt):null;return{registered:n,ready_to_ship:[`ready_to_ship`,`delivered`,`returned`].includes(t)?r:null,shipped:[`delivered`,`returned`].includes(t)?r:null,returned:t===`returned`?r:null}}var T={class:`page latest-status-page`},E={class:`page__scroll page__scroll--with-nav body`},D={class:`summary-card`},O={class:`summary-card__value`},k={class:`summary-card__meta`},A=d(o({__name:`LatestCatalogRequestStatusView`,setup(o){let d=u(),m=v(),x=f(!0),S=p(()=>m.sorted.length?m.sorted[0]:null),A=p(()=>S.value?C(S.value):0),j=p(()=>S.value?w(S.value):{});n(async()=>{x.value=!0,await m.hydrate(),x.value=!1});function M(){d.push(`/categories`)}return(n,o)=>(r(),a(`div`,T,[i(g,{class:`mobile-only`,title:`آخرین درخواست کالیته`,"show-back":``,centered:``,onBack:o[0]||=e=>t(d).push(`/`)}),o[3]||=s(`header`,{class:`desktop-page__head desktop-only`},[s(`div`,null,[s(`h1`,{class:`desktop-page__title`},`آخرین درخواست کالیته`),s(`p`,{class:`desktop-page__subtitle`},`پیگیری مراحل آخرین درخواست کالیته`)])],-1),s(`div`,E,[x.value?(r(),e(_,{key:0})):S.value?(r(),a(l,{key:1},[s(`article`,D,[o[2]||=s(`p`,{class:`summary-card__label`},`درخواست`,-1),s(`strong`,O,c(S.value.id.slice(-8)),1),s(`p`,k,c(t(h)(S.value.items.length))+` قلم کالیته `,1)]),i(y,{steps:t(b),"current-index":A.value,timestamps:j.value},null,8,[`steps`,`current-index`,`timestamps`]),s(`button`,{type:`button`,class:`detail-link`,onClick:o[1]||=e=>t(d).push(`/catalog-requests`)},` مشاهده همه درخواست‌ها `)],64)):(r(),a(`button`,{key:2,type:`button`,class:`empty-cta`,onClick:M},` شما هیچ کالیته ای درخواست نکرده اید، جهت درخواست کالیته و مشاهده فیزیکی پارچه ها کلیک کنید `))])]))}}),[[`__scopeId`,`data-v-e09a36c6`]]);export{A as default};
@@ -1 +1 @@
import{D as e,E as t,Et as n,G as r,J as i,N as a,O as o,P as s,T as c,Xt as l,b as u,g as d,t as f,vt as p,w as m}from"./_plugin-vue_export-helper-Bo3WtfwJ.js";import{i as h,n as g}from"./format-C72AoJ2H.js";import{c as _,d as v}from"./index-Bs_brTvG.js";import{t as y}from"./PageHeader-B81KKEPV.js";import{t as b}from"./PageSkeleton-DHtB6RUa.js";import{t as x}from"./SimpleStatusTimeline-wcI2qobj.js";var S=[{id:`registered`,label:`سفارش ثبت شد`},{id:`priced`,label:`قیمت گذاری انجام شد`},{id:`proforma_sent`,label:`پیش فاکتور ارسال شد`},{id:`proforma_confirmed`,label:`پیش فاکتور تایید شد`},{id:`invoice_sent`,label:`فاکتور ارسال شد`},{id:`shipped`,label:`بار ارسال شد`},{id:`delivered`,label:`بار توسط شما تحویل گرفته شد`}],C={submitted:0,awaiting_review:1,pricing:1,needs_correction:1,awaiting_settlement:2,awaiting_settlement_fix:2,cash_in_progress:2,cash_invoice_issued:2,awaiting_cash_payment:2,cash_payment_submitted:2,check_in_progress:2,awaiting_cash_confirmation:3,awaiting_check_review:3,check_needs_fix:3,check_rejected:3,checks_approved:3,cash_confirmed:3,final_approved:4,preparing:4,ready_to_ship:4,shipped:5,delivered:6,expired:2,cancelled:0,rejected:1},w={registered:[`submitted`],priced:[`pricing`,`awaiting_review`,`needs_correction`],proforma_sent:[`awaiting_settlement`,`awaiting_settlement_fix`,`cash_in_progress`,`cash_invoice_issued`,`awaiting_cash_payment`,`cash_payment_submitted`,`check_in_progress`],proforma_confirmed:[`awaiting_cash_confirmation`,`awaiting_check_review`,`check_needs_fix`,`check_rejected`,`checks_approved`,`cash_confirmed`],invoice_sent:[`final_approved`,`preparing`,`ready_to_ship`],shipped:[`shipped`],delivered:[`delivered`]};function T(e){return C[e]??0}function E(e){let t={};for(let n of S){if(n.id===`registered`){t[n.id]=h(e.createdAt);continue}let r=w[n.id]??[],i=[...e.statusHistory].reverse().find(e=>r.includes(e.toStatus));t[n.id]=i?h(i.changedAt):null}return t}var D={class:`page latest-status-page`},O={class:`page__scroll page__scroll--with-nav body`},k={class:`summary-card`},A={class:`summary-card__value`},j={key:0,class:`summary-card__meta`},M=f(s({__name:`LatestOrderStatusView`,setup(s){let f=d(),h=v(),C=_(),w=p(!0),M=m(()=>{let e=h.userOrders(C.user?.id??``);return e.length?e[0]:null}),N=m(()=>M.value?T(M.value.status):0),P=m(()=>M.value?E(M.value):{});r(async()=>{w.value=!0,await h.hydrate(),w.value=!1});function F(){f.push(`/categories`)}return(r,s)=>(i(),o(`div`,D,[a(y,{class:`mobile-only`,title:`آخرین وضعیت سفارش`,"show-back":``,centered:``,onBack:s[0]||=e=>n(f).push(`/`)}),s[3]||=c(`header`,{class:`desktop-page__head desktop-only`},[c(`div`,null,[c(`h1`,{class:`desktop-page__title`},`آخرین وضعیت سفارش`),c(`p`,{class:`desktop-page__subtitle`},`پیگیری مراحل آخرین سفارش ثبت‌شده`)])],-1),c(`div`,O,[w.value?(i(),t(b,{key:0})):M.value?(i(),o(u,{key:1},[c(`article`,k,[s[2]||=c(`p`,{class:`summary-card__label`},`سفارش شماره`,-1),c(`strong`,A,l(M.value.orderNumber),1),M.value.finalAmount?(i(),o(`p`,j,l(n(g)(M.value.finalAmount)),1)):e(``,!0)]),a(x,{steps:n(S),"current-index":N.value,timestamps:P.value},null,8,[`steps`,`current-index`,`timestamps`]),c(`button`,{type:`button`,class:`detail-link`,onClick:s[1]||=e=>n(f).push(`/orders/${M.value.id}`)},` مشاهده جزئیات سفارش `)],64)):(i(),o(`button`,{key:2,type:`button`,class:`empty-cta`,onClick:F},` سفارشی ثبت نکرده اید. لطفا جهت مشاهده محصولات کلیک کنید `))])]))}}),[[`__scopeId`,`data-v-030bc575`]]);export{M as default};
import{D as e,E as t,Et as n,G as r,J as i,N as a,O as o,P as s,T as c,Xt as l,b as u,g as d,t as f,vt as p,w as m}from"./_plugin-vue_export-helper-Bo3WtfwJ.js";import{i as h,n as g}from"./format-C72AoJ2H.js";import{c as _,d as v}from"./index-BAQfYU-Q.js";import{t as y}from"./PageHeader-DTO8lja2.js";import{t as b}from"./PageSkeleton-DHtB6RUa.js";import{t as x}from"./SimpleStatusTimeline-wcI2qobj.js";var S=[{id:`registered`,label:`سفارش ثبت شد`},{id:`priced`,label:`قیمت گذاری انجام شد`},{id:`proforma_sent`,label:`پیش فاکتور ارسال شد`},{id:`proforma_confirmed`,label:`پیش فاکتور تایید شد`},{id:`invoice_sent`,label:`فاکتور ارسال شد`},{id:`shipped`,label:`بار ارسال شد`},{id:`delivered`,label:`بار توسط شما تحویل گرفته شد`}],C={submitted:0,awaiting_review:1,pricing:1,needs_correction:1,awaiting_settlement:2,awaiting_settlement_fix:2,cash_in_progress:2,cash_invoice_issued:2,awaiting_cash_payment:2,cash_payment_submitted:2,check_in_progress:2,awaiting_cash_confirmation:3,awaiting_check_review:3,check_needs_fix:3,check_rejected:3,checks_approved:3,cash_confirmed:3,final_approved:4,preparing:4,ready_to_ship:4,shipped:5,delivered:6,expired:2,cancelled:0,rejected:1},w={registered:[`submitted`],priced:[`pricing`,`awaiting_review`,`needs_correction`],proforma_sent:[`awaiting_settlement`,`awaiting_settlement_fix`,`cash_in_progress`,`cash_invoice_issued`,`awaiting_cash_payment`,`cash_payment_submitted`,`check_in_progress`],proforma_confirmed:[`awaiting_cash_confirmation`,`awaiting_check_review`,`check_needs_fix`,`check_rejected`,`checks_approved`,`cash_confirmed`],invoice_sent:[`final_approved`,`preparing`,`ready_to_ship`],shipped:[`shipped`],delivered:[`delivered`]};function T(e){return C[e]??0}function E(e){let t={};for(let n of S){if(n.id===`registered`){t[n.id]=h(e.createdAt);continue}let r=w[n.id]??[],i=[...e.statusHistory].reverse().find(e=>r.includes(e.toStatus));t[n.id]=i?h(i.changedAt):null}return t}var D={class:`page latest-status-page`},O={class:`page__scroll page__scroll--with-nav body`},k={class:`summary-card`},A={class:`summary-card__value`},j={key:0,class:`summary-card__meta`},M=f(s({__name:`LatestOrderStatusView`,setup(s){let f=d(),h=v(),C=_(),w=p(!0),M=m(()=>{let e=h.userOrders(C.user?.id??``);return e.length?e[0]:null}),N=m(()=>M.value?T(M.value.status):0),P=m(()=>M.value?E(M.value):{});r(async()=>{w.value=!0,await h.hydrate(),w.value=!1});function F(){f.push(`/categories`)}return(r,s)=>(i(),o(`div`,D,[a(y,{class:`mobile-only`,title:`آخرین وضعیت سفارش`,"show-back":``,centered:``,onBack:s[0]||=e=>n(f).push(`/`)}),s[3]||=c(`header`,{class:`desktop-page__head desktop-only`},[c(`div`,null,[c(`h1`,{class:`desktop-page__title`},`آخرین وضعیت سفارش`),c(`p`,{class:`desktop-page__subtitle`},`پیگیری مراحل آخرین سفارش ثبت‌شده`)])],-1),c(`div`,O,[w.value?(i(),t(b,{key:0})):M.value?(i(),o(u,{key:1},[c(`article`,k,[s[2]||=c(`p`,{class:`summary-card__label`},`سفارش شماره`,-1),c(`strong`,A,l(M.value.orderNumber),1),M.value.finalAmount?(i(),o(`p`,j,l(n(g)(M.value.finalAmount)),1)):e(``,!0)]),a(x,{steps:n(S),"current-index":N.value,timestamps:P.value},null,8,[`steps`,`current-index`,`timestamps`]),c(`button`,{type:`button`,class:`detail-link`,onClick:s[1]||=e=>n(f).push(`/orders/${M.value.id}`)},` مشاهده جزئیات سفارش `)],64)):(i(),o(`button`,{key:2,type:`button`,class:`empty-cta`,onClick:F},` سفارشی ثبت نکرده اید. لطفا جهت مشاهده محصولات کلیک کنید `))])]))}}),[[`__scopeId`,`data-v-030bc575`]]);export{M as default};
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
import{D as e,Et as t,J as n,M as r,N as i,O as a,P as o,T as s,Xt as c,g as l,h as u,st as d,t as f,w as p}from"./_plugin-vue_export-helper-Bo3WtfwJ.js";import{a as m}from"./format-C72AoJ2H.js";import{d as h,n as g}from"./index-Bs_brTvG.js";import{t as _}from"./PageHeader-B81KKEPV.js";import{t as v}from"./useGoBack-TJZZv7or.js";var y={class:`page success-page`},b={class:`page__scroll success-page__scroll`},x={key:0,class:`card mb-4`},S={class:`info-row`},C={class:`info-row`},w={class:`info-row`},T=f(o({__name:`OrderSuccessView`,setup(o){let f=u(),T=l(),{goBack:E}=v(`/orders`),D=h(),O=p(()=>D.getOrderById(f.params.id));return(o,l)=>(n(),a(`div`,y,[i(_,{title:`ثبت موفق`,"show-back":``,centered:``,onBack:t(E)},null,8,[`onBack`]),s(`div`,b,[l[8]||=s(`div`,{class:`success-icon`},`✓`,-1),l[9]||=s(`h1`,{class:`page-title text-center`},`سفارش ثبت شد`,-1),l[10]||=s(`p`,{class:`text-center text-muted mb-4`},` سفارش شما با موفقیت ثبت شد. کارشناسان ما سفارش را بررسی و قیمت‌گذاری می‌کنند و به‌محض صدور فاکتور، از طریق پیامک و پنل کاربری به شما اطلاع می‌دهیم تا روش تسویه را انتخاب کنید. `,-1),O.value?(n(),a(`div`,x,[s(`div`,S,[l[2]||=s(`span`,null,`شماره سفارش:`,-1),s(`strong`,null,c(O.value.orderNumber),1)]),s(`div`,C,[l[3]||=s(`span`,null,`تأمین‌کننده:`,-1),s(`span`,null,c(O.value.companyName),1)]),s(`div`,w,[l[4]||=s(`span`,null,`متراژ:`,-1),s(`span`,null,c(t(m)(O.value.totalMeterage)),1)]),l[5]||=s(`div`,{class:`info-row`},[s(`span`,null,`وضعیت:`),s(`span`,null,`در انتظار قیمت‌گذاری`)],-1)])):e(``,!0),i(g,{block:``,onClick:l[0]||=e=>t(T).replace(`/orders/${O.value?.id}`)},{default:d(()=>[...l[6]||=[r(` مشاهده جزئیات سفارش `,-1)]]),_:1}),i(g,{block:``,variant:`outline`,class:`mt-2`,onClick:l[1]||=e=>t(T).replace(`/`)},{default:d(()=>[...l[7]||=[r(` بازگشت به خانه `,-1)]]),_:1})])]))}}),[[`__scopeId`,`data-v-bb2e861d`]]);export{T as default};
import{D as e,Et as t,J as n,M as r,N as i,O as a,P as o,T as s,Xt as c,g as l,h as u,st as d,t as f,w as p}from"./_plugin-vue_export-helper-Bo3WtfwJ.js";import{a as m}from"./format-C72AoJ2H.js";import{d as h,n as g}from"./index-BAQfYU-Q.js";import{t as _}from"./PageHeader-DTO8lja2.js";import{t as v}from"./useGoBack-TJZZv7or.js";var y={class:`page success-page`},b={class:`page__scroll success-page__scroll`},x={key:0,class:`card mb-4`},S={class:`info-row`},C={class:`info-row`},w={class:`info-row`},T=f(o({__name:`OrderSuccessView`,setup(o){let f=u(),T=l(),{goBack:E}=v(`/orders`),D=h(),O=p(()=>D.getOrderById(f.params.id));return(o,l)=>(n(),a(`div`,y,[i(_,{title:`ثبت موفق`,"show-back":``,centered:``,onBack:t(E)},null,8,[`onBack`]),s(`div`,b,[l[8]||=s(`div`,{class:`success-icon`},`✓`,-1),l[9]||=s(`h1`,{class:`page-title text-center`},`سفارش ثبت شد`,-1),l[10]||=s(`p`,{class:`text-center text-muted mb-4`},` سفارش شما با موفقیت ثبت شد. کارشناسان ما سفارش را بررسی و قیمت‌گذاری می‌کنند و به‌محض صدور فاکتور، از طریق پیامک و پنل کاربری به شما اطلاع می‌دهیم تا روش تسویه را انتخاب کنید. `,-1),O.value?(n(),a(`div`,x,[s(`div`,S,[l[2]||=s(`span`,null,`شماره سفارش:`,-1),s(`strong`,null,c(O.value.orderNumber),1)]),s(`div`,C,[l[3]||=s(`span`,null,`تأمین‌کننده:`,-1),s(`span`,null,c(O.value.companyName),1)]),s(`div`,w,[l[4]||=s(`span`,null,`متراژ:`,-1),s(`span`,null,c(t(m)(O.value.totalMeterage)),1)]),l[5]||=s(`div`,{class:`info-row`},[s(`span`,null,`وضعیت:`),s(`span`,null,`در انتظار قیمت‌گذاری`)],-1)])):e(``,!0),i(g,{block:``,onClick:l[0]||=e=>t(T).replace(`/orders/${O.value?.id}`)},{default:d(()=>[...l[6]||=[r(` مشاهده جزئیات سفارش `,-1)]]),_:1}),i(g,{block:``,variant:`outline`,class:`mt-2`,onClick:l[1]||=e=>t(T).replace(`/`)},{default:d(()=>[...l[7]||=[r(` بازگشت به خانه `,-1)]]),_:1})])]))}}),[[`__scopeId`,`data-v-bb2e861d`]]);export{T as default};
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
import{D as e,J as t,N as n,O as r,P as i,Q as a,T as o,V as s,Xt as c,b as l,t as u}from"./_plugin-vue_export-helper-Bo3WtfwJ.js";import{i as d}from"./index-Bs_brTvG.js";import{t as f}from"./IconChevronBack-DfGoZJJk.js";var p={key:1,class:`nav-btn`},m={class:`page-nav__title`},h={class:`page-nav__trailing`},g={key:0,class:`page-nav__subtitle`},_={class:`header-text`},v={class:`page-title`},y={key:0,class:`page-subtitle`},b={class:`page-header__trailing`},x=u(i({inheritAttrs:!1,__name:`PageHeader`,props:{title:{},subtitle:{},showBack:{type:Boolean},centered:{type:Boolean}},emits:[`back`],setup(i){return(u,x)=>i.centered?(t(),r(l,{key:0},[o(`header`,s({class:`page-nav`},u.$attrs),[i.showBack?(t(),r(`button`,{key:0,type:`button`,class:`nav-btn`,"aria-label":`بازگشت`,onClick:x[0]||=e=>u.$emit(`back`)},[n(f,{size:20})])):(t(),r(`span`,p)),o(`h1`,m,c(i.title),1),o(`div`,h,[a(u.$slots,`trailing`,{},void 0,!0),n(d,{variant:`inline`,class:`mobile-only`})])],16),i.subtitle?(t(),r(`p`,g,c(i.subtitle),1)):e(``,!0)],64)):(t(),r(`header`,s({key:1,class:`page-header`},u.$attrs),[i.showBack?(t(),r(`button`,{key:0,type:`button`,class:`back-btn`,"aria-label":`بازگشت`,onClick:x[1]||=e=>u.$emit(`back`)},[n(f,{size:20})])):e(``,!0),o(`div`,_,[o(`h1`,v,c(i.title),1),i.subtitle?(t(),r(`p`,y,c(i.subtitle),1)):e(``,!0)]),o(`div`,b,[a(u.$slots,`trailing`,{},void 0,!0),n(d,{variant:`inline`,class:`mobile-only`})])],16))}}),[[`__scopeId`,`data-v-c4a68159`]]);export{x as t};
import{D as e,J as t,N as n,O as r,P as i,Q as a,T as o,V as s,Xt as c,b as l,t as u}from"./_plugin-vue_export-helper-Bo3WtfwJ.js";import{i as d}from"./index-BAQfYU-Q.js";import{t as f}from"./IconChevronBack-DfGoZJJk.js";var p={key:1,class:`nav-btn`},m={class:`page-nav__title`},h={class:`page-nav__trailing`},g={key:0,class:`page-nav__subtitle`},_={class:`header-text`},v={class:`page-title`},y={key:0,class:`page-subtitle`},b={class:`page-header__trailing`},x=u(i({inheritAttrs:!1,__name:`PageHeader`,props:{title:{},subtitle:{},showBack:{type:Boolean},centered:{type:Boolean}},emits:[`back`],setup(i){return(u,x)=>i.centered?(t(),r(l,{key:0},[o(`header`,s({class:`page-nav`},u.$attrs),[i.showBack?(t(),r(`button`,{key:0,type:`button`,class:`nav-btn`,"aria-label":`بازگشت`,onClick:x[0]||=e=>u.$emit(`back`)},[n(f,{size:20})])):(t(),r(`span`,p)),o(`h1`,m,c(i.title),1),o(`div`,h,[a(u.$slots,`trailing`,{},void 0,!0),n(d,{variant:`inline`,class:`mobile-only`})])],16),i.subtitle?(t(),r(`p`,g,c(i.subtitle),1)):e(``,!0)],64)):(t(),r(`header`,s({key:1,class:`page-header`},u.$attrs),[i.showBack?(t(),r(`button`,{key:0,type:`button`,class:`back-btn`,"aria-label":`بازگشت`,onClick:x[1]||=e=>u.$emit(`back`)},[n(f,{size:20})])):e(``,!0),o(`div`,_,[o(`h1`,v,c(i.title),1),i.subtitle?(t(),r(`p`,y,c(i.subtitle),1)):e(``,!0)]),o(`div`,b,[a(u.$slots,`trailing`,{},void 0,!0),n(d,{variant:`inline`,class:`mobile-only`})])],16))}}),[[`__scopeId`,`data-v-c4a68159`]]);export{x as t};
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
import{t as e}from"./CheckListView-BCr5dcN_.js";import{E as t,J as n,P as r}from"./_plugin-vue_export-helper-Bo3WtfwJ.js";var i=r({__name:`ProfileChecksView`,setup(r){return(r,i)=>(n(),t(e))}});export{i as default};
import{t as e}from"./CheckListView-BhenoTXJ.js";import{E as t,J as n,P as r}from"./_plugin-vue_export-helper-Bo3WtfwJ.js";var i=r({__name:`ProfileChecksView`,setup(r){return(r,i)=>(n(),t(e))}});export{i as default};
@@ -1 +1 @@
import{D as e,E as t,Et as n,J as r,Kt as i,M as a,N as o,O as s,P as c,T as l,Xt as u,Z as d,b as f,g as p,st as m,t as h,vt as g,w as _}from"./_plugin-vue_export-helper-Bo3WtfwJ.js";import{t as v}from"./BasicIcon-BXxbbWA_.js";import{u as y}from"./dist-nK9ByyUG.js";import{a as b,c as x,d as S,n as C}from"./index-Bs_brTvG.js";import{t as w}from"./ProfileSubpageLayout-C-s-O95S.js";var T={class:`settings-page`},E={class:`settings-links`,"aria-label":`حساب کاربری`},D={class:`settings-link__icon`,"aria-hidden":`true`},O={class:`settings-link__icon`,"aria-hidden":`true`},k={class:`settings-link__label`},A={key:0},j={class:`display-fieldset`},M={class:`display-grid`,role:`radiogroup`,"aria-label":`حالت نمایش`},N=[`aria-checked`,`onClick`],P={class:`theme-card__icon`,"aria-hidden":`true`},F={class:`theme-card__body`},I={class:`theme-card__label`},L={class:`theme-card__desc`},R={class:`theme-card__check`,"aria-hidden":`true`},z={key:0,class:`display-saved`},B=h(c({__name:`ProfileDisplayView`,setup(c){let h=p(),B=x(),V=S(),H=b(),U=g(!1),{start:W}=y(()=>{U.value=!1},2e3),G=[{value:`light`,label:`روشن`,description:`پس‌زمینه روشن و کنتراست بالا`,icon:`vuesax-linear:sun-1`},{value:`dark`,label:`تاریک`,description:`مناسب استفاده در شب`,icon:`vuesax-linear:moon`},{value:`system`,label:`سیستم`,description:`هم‌تراز با تنظیمات دستگاه`,icon:`vuesax-linear:mobile`}],K=_(()=>V.draftChecks.length);function q(){U.value=!0,W()}function J(){B.logout(),h.replace(`/welcome`)}return(c,p)=>(r(),t(w,{title:`تنظیمات`,subtitle:`نمایش، حساب کاربری و خروج`},{default:m(()=>[l(`div`,T,[l(`nav`,E,[l(`button`,{type:`button`,class:`settings-link`,onClick:p[0]||=e=>n(h).push(`/profile/edit`)},[l(`span`,D,[o(v,{icon:`vuesax-linear:profile-circle`,size:20,"stroke-width":1.5})]),p[2]||=l(`span`,{class:`settings-link__label`},`اطلاعات کاربری`,-1),o(v,{class:`settings-link__chevron`,icon:`vuesax-linear:arrow-left-1`,size:16,"stroke-width":1.5})]),l(`button`,{type:`button`,class:`settings-link`,onClick:p[1]||=e=>n(h).push(`/profile/checks`)},[l(`span`,O,[o(v,{icon:`vuesax-linear:card`,size:20,"stroke-width":1.5})]),l(`span`,k,[p[3]||=a(` لیست چک‌ها `,-1),K.value?(r(),s(`em`,A,`(`+u(K.value)+`)`,1)):e(``,!0)]),o(v,{class:`settings-link__chevron`,icon:`vuesax-linear:arrow-left-1`,size:16,"stroke-width":1.5})])]),l(`fieldset`,j,[p[4]||=l(`legend`,{class:`display-fieldset__legend`},`حالت نمایش`,-1),l(`div`,M,[(r(),s(f,null,d(G,a=>l(`button`,{key:a.value,type:`button`,class:i([`theme-card`,{"theme-card--active":n(H).preference===a.value}]),role:`radio`,"aria-checked":n(H).preference===a.value,onClick:e=>n(H).preference=a.value},[l(`span`,P,[o(v,{icon:a.icon,size:26,"stroke-width":1.5},null,8,[`icon`])]),l(`span`,F,[l(`strong`,I,u(a.label),1),l(`span`,L,u(a.description),1)]),l(`span`,R,[n(H).preference===a.value?(r(),t(v,{key:0,icon:`vuesax-linear:tick-circle`,size:20,"stroke-width":1.75})):e(``,!0)])],10,N)),64))])]),o(C,{block:``,onClick:q},{default:m(()=>[...p[5]||=[a(`ذخیره تنظیمات`,-1)]]),_:1}),U.value?(r(),s(`p`,z,`تنظیمات نمایش ذخیره شد ✓`)):e(``,!0),l(`button`,{type:`button`,class:`settings-logout`,onClick:J},`خروج`)])]),_:1}))}}),[[`__scopeId`,`data-v-f16dc950`]]);export{B as default};
import{D as e,E as t,Et as n,J as r,Kt as i,M as a,N as o,O as s,P as c,T as l,Xt as u,Z as d,b as f,g as p,st as m,t as h,vt as g,w as _}from"./_plugin-vue_export-helper-Bo3WtfwJ.js";import{t as v}from"./BasicIcon-BXxbbWA_.js";import{u as y}from"./dist-nK9ByyUG.js";import{a as b,c as x,d as S,n as C}from"./index-BAQfYU-Q.js";import{t as w}from"./ProfileSubpageLayout-C-s-O95S.js";var T={class:`settings-page`},E={class:`settings-links`,"aria-label":`حساب کاربری`},D={class:`settings-link__icon`,"aria-hidden":`true`},O={class:`settings-link__icon`,"aria-hidden":`true`},k={class:`settings-link__label`},A={key:0},j={class:`display-fieldset`},M={class:`display-grid`,role:`radiogroup`,"aria-label":`حالت نمایش`},N=[`aria-checked`,`onClick`],P={class:`theme-card__icon`,"aria-hidden":`true`},F={class:`theme-card__body`},I={class:`theme-card__label`},L={class:`theme-card__desc`},R={class:`theme-card__check`,"aria-hidden":`true`},z={key:0,class:`display-saved`},B=h(c({__name:`ProfileDisplayView`,setup(c){let h=p(),B=x(),V=S(),H=b(),U=g(!1),{start:W}=y(()=>{U.value=!1},2e3),G=[{value:`light`,label:`روشن`,description:`پس‌زمینه روشن و کنتراست بالا`,icon:`vuesax-linear:sun-1`},{value:`dark`,label:`تاریک`,description:`مناسب استفاده در شب`,icon:`vuesax-linear:moon`},{value:`system`,label:`سیستم`,description:`هم‌تراز با تنظیمات دستگاه`,icon:`vuesax-linear:mobile`}],K=_(()=>V.draftChecks.length);function q(){U.value=!0,W()}function J(){B.logout(),h.replace(`/welcome`)}return(c,p)=>(r(),t(w,{title:`تنظیمات`,subtitle:`نمایش، حساب کاربری و خروج`},{default:m(()=>[l(`div`,T,[l(`nav`,E,[l(`button`,{type:`button`,class:`settings-link`,onClick:p[0]||=e=>n(h).push(`/profile/edit`)},[l(`span`,D,[o(v,{icon:`vuesax-linear:profile-circle`,size:20,"stroke-width":1.5})]),p[2]||=l(`span`,{class:`settings-link__label`},`اطلاعات کاربری`,-1),o(v,{class:`settings-link__chevron`,icon:`vuesax-linear:arrow-left-1`,size:16,"stroke-width":1.5})]),l(`button`,{type:`button`,class:`settings-link`,onClick:p[1]||=e=>n(h).push(`/profile/checks`)},[l(`span`,O,[o(v,{icon:`vuesax-linear:card`,size:20,"stroke-width":1.5})]),l(`span`,k,[p[3]||=a(` لیست چک‌ها `,-1),K.value?(r(),s(`em`,A,`(`+u(K.value)+`)`,1)):e(``,!0)]),o(v,{class:`settings-link__chevron`,icon:`vuesax-linear:arrow-left-1`,size:16,"stroke-width":1.5})])]),l(`fieldset`,j,[p[4]||=l(`legend`,{class:`display-fieldset__legend`},`حالت نمایش`,-1),l(`div`,M,[(r(),s(f,null,d(G,a=>l(`button`,{key:a.value,type:`button`,class:i([`theme-card`,{"theme-card--active":n(H).preference===a.value}]),role:`radio`,"aria-checked":n(H).preference===a.value,onClick:e=>n(H).preference=a.value},[l(`span`,P,[o(v,{icon:a.icon,size:26,"stroke-width":1.5},null,8,[`icon`])]),l(`span`,F,[l(`strong`,I,u(a.label),1),l(`span`,L,u(a.description),1)]),l(`span`,R,[n(H).preference===a.value?(r(),t(v,{key:0,icon:`vuesax-linear:tick-circle`,size:20,"stroke-width":1.75})):e(``,!0)])],10,N)),64))])]),o(C,{block:``,onClick:q},{default:m(()=>[...p[5]||=[a(`ذخیره تنظیمات`,-1)]]),_:1}),U.value?(r(),s(`p`,z,`تنظیمات نمایش ذخیره شد ✓`)):e(``,!0),l(`button`,{type:`button`,class:`settings-logout`,onClick:J},`خروج`)])]),_:1}))}}),[[`__scopeId`,`data-v-f16dc950`]]);export{B as default};
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
import{D as e,E as t,Et as n,G as r,J as i,Kt as a,M as o,N as s,O as c,P as l,T as u,Xt as d,Z as f,b as p,g as m,st as h,t as g,w as _}from"./_plugin-vue_export-helper-Bo3WtfwJ.js";import{t as v}from"./BasicIcon-BXxbbWA_.js";import{i as y}from"./format-C72AoJ2H.js";import{n as b,u as x}from"./index-Bs_brTvG.js";import{t as S}from"./EmptyState-D-8eFOUi.js";import{t as C}from"./ProfileSubpageLayout-C-s-O95S.js";var w={key:0,class:`notif-box`},T={class:`notif-box__head`},E={class:`notif-box__count`},D=[`onClick`],O={class:`notif-row__icon`,"aria-hidden":`true`},k={class:`notif-row__body`},A={class:`notif-row__title-row`},j={class:`notif-row__title`},M={key:0,class:`notif-row__dot`,"aria-label":`خوانده‌نشده`},N={class:`notif-row__text`},P={class:`notif-row__time`},F=g(l({__name:`ProfileNotificationsView`,setup(l){let g=m(),F=x(),I=_(()=>F.items),L=_(()=>F.hasUnread),R={info:`vuesax-linear:information`,success:`vuesax-linear:tick-circle`,warning:`vuesax-linear:timer`,danger:`vuesax-linear:close-circle`};r(()=>{F.hydrate()});async function z(e){await F.markRead(e.id),e.link&&g.push(e.link)}return(r,l)=>(i(),t(C,{title:`اعلان‌ها`,subtitle:`سفارش‌ها، پیشنهاد محصول و سایر اعلان‌ها`},{default:h(()=>[I.value.length?(i(),c(`div`,w,[u(`div`,T,[u(`span`,E,d(L.value?`${n(F).unreadCount} اعلان خوانده‌نشده`:`همه خوانده شده`),1),L.value?(i(),t(b,{key:0,variant:`outline`,class:`notif-box__mark`,onClick:l[0]||=e=>n(F).markAllRead()},{default:h(()=>[...l[2]||=[o(` خواندن همه `,-1)]]),_:1})):e(``,!0)]),(i(!0),c(p,null,f(I.value,t=>(i(),c(`button`,{key:t.id,type:`button`,class:a([`notif-row`,[`notif-row--${t.tone}`,{"notif-row--unread":!t.isRead}]]),onClick:e=>z(t)},[u(`span`,O,[s(v,{icon:R[t.tone],size:22,"stroke-width":1.5},null,8,[`icon`])]),u(`span`,k,[u(`span`,A,[u(`strong`,j,d(t.title),1),t.isRead?e(``,!0):(i(),c(`span`,M))]),u(`span`,N,d(t.body),1),u(`span`,P,d(n(y)(t.sentAt)),1)])],10,D))),128))])):(i(),t(S,{key:1,icon:`vuesax-linear:notification-bing`,title:`اعلانی ندارید`,message:`وقتی فاکتور سفارشتان صادر شود، پیشنهاد محصولی برایتان ثبت شود یا وضعیت پرداخت تغییر کند، همین‌جا خبردار می‌شوید.`},{default:h(()=>[s(b,{variant:`outline`,onClick:l[1]||=e=>n(g).push(`/orders`)},{default:h(()=>[...l[3]||=[o(`سفارش‌های من`,-1)]]),_:1})]),_:1}))]),_:1}))}}),[[`__scopeId`,`data-v-7e884b50`]]);export{F as default};
import{D as e,E as t,Et as n,G as r,J as i,Kt as a,M as o,N as s,O as c,P as l,T as u,Xt as d,Z as f,b as p,g as m,st as h,t as g,w as _}from"./_plugin-vue_export-helper-Bo3WtfwJ.js";import{t as v}from"./BasicIcon-BXxbbWA_.js";import{i as y}from"./format-C72AoJ2H.js";import{n as b,u as x}from"./index-BAQfYU-Q.js";import{t as S}from"./EmptyState-D-8eFOUi.js";import{t as C}from"./ProfileSubpageLayout-C-s-O95S.js";var w={key:0,class:`notif-box`},T={class:`notif-box__head`},E={class:`notif-box__count`},D=[`onClick`],O={class:`notif-row__icon`,"aria-hidden":`true`},k={class:`notif-row__body`},A={class:`notif-row__title-row`},j={class:`notif-row__title`},M={key:0,class:`notif-row__dot`,"aria-label":`خوانده‌نشده`},N={class:`notif-row__text`},P={class:`notif-row__time`},F=g(l({__name:`ProfileNotificationsView`,setup(l){let g=m(),F=x(),I=_(()=>F.items),L=_(()=>F.hasUnread),R={info:`vuesax-linear:information`,success:`vuesax-linear:tick-circle`,warning:`vuesax-linear:timer`,danger:`vuesax-linear:close-circle`};r(()=>{F.hydrate()});async function z(e){await F.markRead(e.id),e.link&&g.push(e.link)}return(r,l)=>(i(),t(C,{title:`اعلان‌ها`,subtitle:`سفارش‌ها، پیشنهاد محصول و سایر اعلان‌ها`},{default:h(()=>[I.value.length?(i(),c(`div`,w,[u(`div`,T,[u(`span`,E,d(L.value?`${n(F).unreadCount} اعلان خوانده‌نشده`:`همه خوانده شده`),1),L.value?(i(),t(b,{key:0,variant:`outline`,class:`notif-box__mark`,onClick:l[0]||=e=>n(F).markAllRead()},{default:h(()=>[...l[2]||=[o(` خواندن همه `,-1)]]),_:1})):e(``,!0)]),(i(!0),c(p,null,f(I.value,t=>(i(),c(`button`,{key:t.id,type:`button`,class:a([`notif-row`,[`notif-row--${t.tone}`,{"notif-row--unread":!t.isRead}]]),onClick:e=>z(t)},[u(`span`,O,[s(v,{icon:R[t.tone],size:22,"stroke-width":1.5},null,8,[`icon`])]),u(`span`,k,[u(`span`,A,[u(`strong`,j,d(t.title),1),t.isRead?e(``,!0):(i(),c(`span`,M))]),u(`span`,N,d(t.body),1),u(`span`,P,d(n(y)(t.sentAt)),1)])],10,D))),128))])):(i(),t(S,{key:1,icon:`vuesax-linear:notification-bing`,title:`اعلانی ندارید`,message:`وقتی فاکتور سفارشتان صادر شود، پیشنهاد محصولی برایتان ثبت شود یا وضعیت پرداخت تغییر کند، همین‌جا خبردار می‌شوید.`},{default:h(()=>[s(b,{variant:`outline`,onClick:l[1]||=e=>n(g).push(`/orders`)},{default:h(()=>[...l[3]||=[o(`سفارش‌های من`,-1)]]),_:1})]),_:1}))]),_:1}))}}),[[`__scopeId`,`data-v-7e884b50`]]);export{F as default};
@@ -1 +1 @@
import{D as e,E as t,J as n,M as r,N as i,O as a,P as o,T as s,st as c,t as l,vt as u}from"./_plugin-vue_export-helper-Bo3WtfwJ.js";import{n as d}from"./index-Bs_brTvG.js";import{t as f}from"./FormErrorBanner-DI5hhxpk.js";import{n as p,r as m,t as h}from"./formErrors-DglFjYkZ.js";import{t as g}from"./BaseInput-CVNdy37R.js";import{t as _}from"./ProfileSubpageLayout-C-s-O95S.js";var v={class:`settings-form`},y={key:0,class:`settings-form__saved`},b=l(o({__name:`ProfileSecurityView`,setup(o){let l=u(``),b=u(``),x=u(``),S=u({}),C=u(``),w=u(!1);function T(e){S.value=p(S.value,e),m(S.value)||(C.value=``)}function E(){S.value={},C.value=``,w.value=!1;let e={};if(l.value||(e.currentPassword=`رمز فعلی الزامی است.`),b.value.length<6&&(e.newPassword=`رمز جدید باید حداقل ۶ کاراکتر باشد.`),x.value!==b.value&&(e.confirmPassword=`تکرار رمز با رمز جدید یکسان نیست.`),m(e)){S.value=e,C.value=h;return}l.value=``,b.value=``,x.value=``,w.value=!0,setTimeout(()=>{w.value=!1},2e3)}return(o,u)=>(n(),t(_,{title:`امنیت حساب`,subtitle:`تغییر رمز عبور و تنظیمات ورود`},{default:c(()=>[i(f,{message:C.value},null,8,[`message`]),s(`div`,v,[i(g,{modelValue:l.value,"onUpdate:modelValue":[u[0]||=e=>l.value=e,u[1]||=e=>T(`currentPassword`)],type:`password`,label:`رمز عبور فعلی`,error:S.value.currentPassword},null,8,[`modelValue`,`error`]),i(g,{modelValue:b.value,"onUpdate:modelValue":[u[2]||=e=>b.value=e,u[3]||=e=>T(`newPassword`)],type:`password`,label:`رمز عبور جدید`,error:S.value.newPassword},null,8,[`modelValue`,`error`]),i(g,{modelValue:x.value,"onUpdate:modelValue":[u[4]||=e=>x.value=e,u[5]||=e=>T(`confirmPassword`)],type:`password`,label:`تکرار رمز عبور جدید`,error:S.value.confirmPassword},null,8,[`modelValue`,`error`]),i(d,{block:``,onClick:E},{default:c(()=>[...u[6]||=[r(`ذخیره رمز جدید`,-1)]]),_:1}),w.value?(n(),a(`p`,y,`رمز عبور با موفقیت تغییر کرد ✓`)):e(``,!0)])]),_:1}))}}),[[`__scopeId`,`data-v-074827a2`]]);export{b as default};
import{D as e,E as t,J as n,M as r,N as i,O as a,P as o,T as s,st as c,t as l,vt as u}from"./_plugin-vue_export-helper-Bo3WtfwJ.js";import{n as d}from"./index-BAQfYU-Q.js";import{t as f}from"./FormErrorBanner-DI5hhxpk.js";import{n as p,r as m,t as h}from"./formErrors-DglFjYkZ.js";import{t as g}from"./BaseInput-CVNdy37R.js";import{t as _}from"./ProfileSubpageLayout-C-s-O95S.js";var v={class:`settings-form`},y={key:0,class:`settings-form__saved`},b=l(o({__name:`ProfileSecurityView`,setup(o){let l=u(``),b=u(``),x=u(``),S=u({}),C=u(``),w=u(!1);function T(e){S.value=p(S.value,e),m(S.value)||(C.value=``)}function E(){S.value={},C.value=``,w.value=!1;let e={};if(l.value||(e.currentPassword=`رمز فعلی الزامی است.`),b.value.length<6&&(e.newPassword=`رمز جدید باید حداقل ۶ کاراکتر باشد.`),x.value!==b.value&&(e.confirmPassword=`تکرار رمز با رمز جدید یکسان نیست.`),m(e)){S.value=e,C.value=h;return}l.value=``,b.value=``,x.value=``,w.value=!0,setTimeout(()=>{w.value=!1},2e3)}return(o,u)=>(n(),t(_,{title:`امنیت حساب`,subtitle:`تغییر رمز عبور و تنظیمات ورود`},{default:c(()=>[i(f,{message:C.value},null,8,[`message`]),s(`div`,v,[i(g,{modelValue:l.value,"onUpdate:modelValue":[u[0]||=e=>l.value=e,u[1]||=e=>T(`currentPassword`)],type:`password`,label:`رمز عبور فعلی`,error:S.value.currentPassword},null,8,[`modelValue`,`error`]),i(g,{modelValue:b.value,"onUpdate:modelValue":[u[2]||=e=>b.value=e,u[3]||=e=>T(`newPassword`)],type:`password`,label:`رمز عبور جدید`,error:S.value.newPassword},null,8,[`modelValue`,`error`]),i(g,{modelValue:x.value,"onUpdate:modelValue":[u[4]||=e=>x.value=e,u[5]||=e=>T(`confirmPassword`)],type:`password`,label:`تکرار رمز عبور جدید`,error:S.value.confirmPassword},null,8,[`modelValue`,`error`]),i(d,{block:``,onClick:E},{default:c(()=>[...u[6]||=[r(`ذخیره رمز جدید`,-1)]]),_:1}),w.value?(n(),a(`p`,y,`رمز عبور با موفقیت تغییر کرد ✓`)):e(``,!0)])]),_:1}))}}),[[`__scopeId`,`data-v-074827a2`]]);export{b as default};
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
import{E as e,Et as t,J as n,N as r,O as i,P as a,T as o,Xt as s,Z as c,b as l,g as u,t as d}from"./_plugin-vue_export-helper-Bo3WtfwJ.js";import{t as f}from"./BasicIcon-BXxbbWA_.js";import{_ as p,o as m}from"./index-Bs_brTvG.js";import{t as h}from"./login-fabric-CzrIXTnD.js";var g={class:`page welcome-page`},_=[`src`],v={class:`welcome-page__scroll`},y={class:`welcome-page__stage`},b={class:`welcome-brand`},x={class:`welcome-features`},S={class:`welcome-feature__icon`,"aria-hidden":`true`},C={key:0,class:`welcome-feature__star`,viewBox:`0 0 24 24`,fill:`none`},w={class:`welcome-cta__chevron`,"aria-hidden":`true`},T=d(a({__name:`WelcomeView`,setup(a){let d=u(),T=[{icon:`star`,title:`همراه همیشگی کسب‌وکارتان`,subtitle:`با خدمات ویژه مشتریان`},{icon:`vuesax-linear:truck-time`,title:`سفارش عمده`,subtitle:`مستقیم از تولیدکننده`},{icon:`vuesax-linear:element-3`,title:`تنوع بی‌نظیر محصولات`,subtitle:`از کلاسیک تا مدرن`}];function E(){let e=typeof d.currentRoute.value.query.redirect==`string`?d.currentRoute.value.query.redirect:void 0;d.push({name:`login`,query:e?{redirect:e}:void 0})}return(a,u)=>(n(),i(`div`,g,[o(`img`,{class:`welcome-page__bg`,src:t(h),alt:``},null,8,_),u[7]||=o(`div`,{class:`welcome-page__veil`,"aria-hidden":`true`},null,-1),o(`div`,v,[o(`div`,y,[o(`header`,{class:`welcome-top`},[o(`button`,{type:`button`,class:`welcome-skip`,onClick:E},`رد شدن`)]),o(`div`,b,[r(p,{size:88}),u[0]||=o(`h1`,{class:`welcome-brand__fa`},`نادمی تکس`,-1),u[1]||=o(`p`,{class:`welcome-brand__tag`},`انتخاب حرفه‌ای، شروع یک همکاری ماندگار`,-1),u[2]||=o(`span`,{class:`welcome-brand__rule`,"aria-hidden":`true`},null,-1)]),o(`ul`,x,[(n(),i(l,null,c(T,t=>o(`li`,{key:t.title,class:`welcome-feature`},[o(`span`,S,[t.icon===`star`?(n(),i(`svg`,C,[...u[3]||=[o(`path`,{d:`M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z`,stroke:`#fff`,"stroke-width":`1.5`,"stroke-linejoin":`round`},null,-1)]])):(n(),e(f,{key:1,icon:t.icon,size:22,color:`#ffffff`},null,8,[`icon`]))]),o(`strong`,null,s(t.title),1),o(`span`,null,s(t.subtitle),1)])),64))]),u[5]||=o(`div`,{class:`welcome-spacer`,"aria-hidden":`true`},null,-1),u[6]||=o(`div`,{class:`welcome-dots`,"aria-hidden":`true`},[o(`i`,{class:`is-on`}),o(`i`),o(`i`),o(`i`)],-1),o(`button`,{type:`button`,class:`welcome-cta`,onClick:E},[u[4]||=o(`span`,null,`ورود / ثبت‌نام`,-1),o(`span`,w,[r(m,{size:18,color:`#ffffff`})])])])])]))}}),[[`__scopeId`,`data-v-66f13882`]]);export{T as default};
import{E as e,Et as t,J as n,N as r,O as i,P as a,T as o,Xt as s,Z as c,b as l,g as u,t as d}from"./_plugin-vue_export-helper-Bo3WtfwJ.js";import{t as f}from"./BasicIcon-BXxbbWA_.js";import{_ as p,o as m}from"./index-BAQfYU-Q.js";import{t as h}from"./login-fabric-CzrIXTnD.js";var g={class:`page welcome-page`},_=[`src`],v={class:`welcome-page__scroll`},y={class:`welcome-page__stage`},b={class:`welcome-brand`},x={class:`welcome-features`},S={class:`welcome-feature__icon`,"aria-hidden":`true`},C={key:0,class:`welcome-feature__star`,viewBox:`0 0 24 24`,fill:`none`},w={class:`welcome-cta__chevron`,"aria-hidden":`true`},T=d(a({__name:`WelcomeView`,setup(a){let d=u(),T=[{icon:`star`,title:`همراه همیشگی کسب‌وکارتان`,subtitle:`با خدمات ویژه مشتریان`},{icon:`vuesax-linear:truck-time`,title:`سفارش عمده`,subtitle:`مستقیم از تولیدکننده`},{icon:`vuesax-linear:element-3`,title:`تنوع بی‌نظیر محصولات`,subtitle:`از کلاسیک تا مدرن`}];function E(){let e=typeof d.currentRoute.value.query.redirect==`string`?d.currentRoute.value.query.redirect:void 0;d.push({name:`login`,query:e?{redirect:e}:void 0})}return(a,u)=>(n(),i(`div`,g,[o(`img`,{class:`welcome-page__bg`,src:t(h),alt:``},null,8,_),u[7]||=o(`div`,{class:`welcome-page__veil`,"aria-hidden":`true`},null,-1),o(`div`,v,[o(`div`,y,[o(`header`,{class:`welcome-top`},[o(`button`,{type:`button`,class:`welcome-skip`,onClick:E},`رد شدن`)]),o(`div`,b,[r(p,{size:88}),u[0]||=o(`h1`,{class:`welcome-brand__fa`},`نادمی تکس`,-1),u[1]||=o(`p`,{class:`welcome-brand__tag`},`انتخاب حرفه‌ای، شروع یک همکاری ماندگار`,-1),u[2]||=o(`span`,{class:`welcome-brand__rule`,"aria-hidden":`true`},null,-1)]),o(`ul`,x,[(n(),i(l,null,c(T,t=>o(`li`,{key:t.title,class:`welcome-feature`},[o(`span`,S,[t.icon===`star`?(n(),i(`svg`,C,[...u[3]||=[o(`path`,{d:`M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z`,stroke:`#fff`,"stroke-width":`1.5`,"stroke-linejoin":`round`},null,-1)]])):(n(),e(f,{key:1,icon:t.icon,size:22,color:`#ffffff`},null,8,[`icon`]))]),o(`strong`,null,s(t.title),1),o(`span`,null,s(t.subtitle),1)])),64))]),u[5]||=o(`div`,{class:`welcome-spacer`,"aria-hidden":`true`},null,-1),u[6]||=o(`div`,{class:`welcome-dots`,"aria-hidden":`true`},[o(`i`,{class:`is-on`}),o(`i`),o(`i`),o(`i`)],-1),o(`button`,{type:`button`,class:`welcome-cta`,onClick:E},[u[4]||=o(`span`,null,`ورود / ثبت‌نام`,-1),o(`span`,w,[r(m,{size:18,color:`#ffffff`})])])])])]))}}),[[`__scopeId`,`data-v-66f13882`]]);export{T as default};
@@ -1 +1 @@
import{vt as e}from"./_plugin-vue_export-helper-Bo3WtfwJ.js";import{n as t,o as n}from"./http-CYAxBUmC.js";var r=n(`catalog`,()=>{let n=e([]),r=e([]),i=e([]),a=e([]),o=e(``),s=e(!1),c=e(!1);async function l(e=!1){if(c.value&&!e)return n.value;s.value=!0;try{let e=await t(`/companies`,{query:{activeOnly:!0}});n.value=e.filter(e=>e.isActive).sort((e,t)=>e.displayOrder-t.displayOrder),c.value=!0}finally{s.value=!1}return n.value}function u(){return[...n.value].sort((e,t)=>e.displayOrder-t.displayOrder)}function d(e){return n.value.find(t=>t.id===e)}async function f(e){let n=await t(`/catalogs`,{query:{companyId:e,activeOnly:!0}});return r.value=[...r.value.filter(t=>t.companyId!==e),...n],n}async function p(e,n){let r=await t(`/products`,{query:{catalogId:e,color:n&&n!==`all`?n:void 0,activeOnly:!0}}),a=i.value.filter(t=>t.catalogId!==e);return i.value=[...a,...r],r}async function m(e){let n=await t(`/companies/${e}/bank-accounts`);return a.value=[...a.value.filter(t=>t.companyId!==e),...n.filter(e=>e.isActive)],a.value.filter(t=>t.companyId===e)}function h(e,t=``){let n=r.value.filter(t=>t.companyId===e&&t.isActive);if(t.trim()){let e=t.trim();n=n.filter(t=>t.code.includes(e)||t.name.includes(e))}return[...n].sort((e,t)=>e.displayOrder-t.displayOrder)}function g(e,t){let n=i.value.filter(t=>t.catalogId===e&&t.isActive);return t&&t!==`all`&&(n=n.filter(e=>e.color.includes(t))),n}function _(e){return r.value.find(t=>t.id===e)}function v(e){return i.value.find(t=>t.id===e)}function y(e){return[...new Set(g(e).map(e=>e.color))]}function b(e){return a.value.filter(t=>t.companyId===e&&t.isActive).sort((e,t)=>e.displayOrder-t.displayOrder)}return{companies:n,catalogs:r,products:i,bankAccounts:a,searchQuery:o,loading:s,loaded:c,loadCompanies:l,loadCatalogs:f,loadProducts:p,loadBankAccounts:m,getActiveCompanies:u,getCompany:d,fetchCatalogs:h,fetchProducts:g,getCatalog:_,getProduct:v,getUniqueColors:y,getBankAccountsByCompany:b}});export{r as t};
import{vt as e}from"./_plugin-vue_export-helper-Bo3WtfwJ.js";import{n as t,o as n}from"./http-CeONvUNq.js";var r=n(`catalog`,()=>{let n=e([]),r=e([]),i=e([]),a=e([]),o=e(``),s=e(!1),c=e(!1);async function l(e=!1){if(c.value&&!e)return n.value;s.value=!0;try{let e=await t(`/companies`,{query:{activeOnly:!0}});n.value=e.filter(e=>e.isActive).sort((e,t)=>e.displayOrder-t.displayOrder),c.value=!0}finally{s.value=!1}return n.value}function u(){return[...n.value].sort((e,t)=>e.displayOrder-t.displayOrder)}function d(e){return n.value.find(t=>t.id===e)}async function f(e){let n=await t(`/catalogs`,{query:{companyId:e,activeOnly:!0}});return r.value=[...r.value.filter(t=>t.companyId!==e),...n],n}async function p(e,n){let r=await t(`/products`,{query:{catalogId:e,color:n&&n!==`all`?n:void 0,activeOnly:!0}}),a=i.value.filter(t=>t.catalogId!==e);return i.value=[...a,...r],r}async function m(e){let n=await t(`/companies/${e}/bank-accounts`);return a.value=[...a.value.filter(t=>t.companyId!==e),...n.filter(e=>e.isActive)],a.value.filter(t=>t.companyId===e)}function h(e,t=``){let n=r.value.filter(t=>t.companyId===e&&t.isActive);if(t.trim()){let e=t.trim();n=n.filter(t=>t.code.includes(e)||t.name.includes(e))}return[...n].sort((e,t)=>e.displayOrder-t.displayOrder)}function g(e,t){let n=i.value.filter(t=>t.catalogId===e&&t.isActive);return t&&t!==`all`&&(n=n.filter(e=>e.color.includes(t))),n}function _(e){return r.value.find(t=>t.id===e)}function v(e){return i.value.find(t=>t.id===e)}function y(e){return[...new Set(g(e).map(e=>e.color))]}function b(e){return a.value.filter(t=>t.companyId===e&&t.isActive).sort((e,t)=>e.displayOrder-t.displayOrder)}return{companies:n,catalogs:r,products:i,bankAccounts:a,searchQuery:o,loading:s,loaded:c,loadCompanies:l,loadCatalogs:f,loadProducts:p,loadBankAccounts:m,getActiveCompanies:u,getCompany:d,fetchCatalogs:h,fetchProducts:g,getCatalog:_,getProduct:v,getUniqueColors:y,getBankAccountsByCompany:b}});export{r as t};
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
import{vt as e,w as t}from"./_plugin-vue_export-helper-Bo3WtfwJ.js";import{n,o as r}from"./http-CYAxBUmC.js";var i=`ft_catalog_requests`,a={new:`submitted`,approved:`reviewing`,ready_to_ship:`preparing`,delivered:`delivered`,returned:`delivered`,cancelled:`submitted`};function o(){try{let e=localStorage.getItem(i);if(!e)return[];let t=JSON.parse(e);return Array.isArray(t)?t:[]}catch{return[]}}function s(e){localStorage.setItem(i,JSON.stringify(e))}var c={submitted:`ثبت‌شده`,reviewing:`در حال بررسی`,preparing:`آماده‌سازی`,shipped:`ارسال‌شده`,delivered:`تحویل‌شده`,new:`درخواست جدید`,approved:`تأیید شده`,ready_to_ship:`آماده ارسال`,returned:`بازگردانده شده`,cancelled:`لغو شده`};function l(e){return{id:e.id,createdAt:e.createdAt,updatedAt:e.updatedAt,status:a[e.status]??e.status,serverStatus:e.status,note:e.note,items:e.items.map(e=>({productId:e.productId,productName:e.productName,productCode:e.productCode,quantity:e.quantity}))}}var u=r(`catalogRequests`,()=>{let r=e(o()),i=e(!0),a=t(()=>[...r.value].sort((e,t)=>t.createdAt.localeCompare(e.createdAt)));function u(e){return c[e]??e}async function d(){if(!i.value){r.value=o();return}try{let e=await n(`/catalog-requests`);r.value=e.map(l),s(r.value)}catch{i.value=!1,r.value=o()}}async function f(e){let t=e.items.filter(e=>e.productId&&e.quantity>0).map(e=>({...e,quantity:Math.max(1,Math.floor(e.quantity))}));if(!t.length)return{success:!1,message:`حداقل یک قلم با تعداد معتبر لازم است.`};if(i.value)try{let i=l(await n(`/catalog-requests`,{method:`POST`,body:{note:e.note?.trim()||void 0,items:t.map(e=>({productId:e.productId,quantity:e.quantity}))}}));return r.value=[i,...r.value.filter(e=>e.id!==i.id)],s(r.value),{success:!0,request:i}}catch{i.value=!1}let a={id:`cr-${Date.now()}`,createdAt:new Date().toISOString(),status:`submitted`,note:e.note?.trim()||void 0,items:t};return r.value=[a,...r.value],s(r.value),{success:!0,request:a}}function p(e){return r.value.find(t=>t.id===e)??null}return{requests:r,sorted:a,statusLabel:u,create:f,getById:p,hydrate:d}});export{u as t};
import{vt as e,w as t}from"./_plugin-vue_export-helper-Bo3WtfwJ.js";import{n,o as r}from"./http-CeONvUNq.js";var i=`ft_catalog_requests`,a={new:`submitted`,approved:`reviewing`,ready_to_ship:`preparing`,delivered:`delivered`,returned:`delivered`,cancelled:`submitted`};function o(){try{let e=localStorage.getItem(i);if(!e)return[];let t=JSON.parse(e);return Array.isArray(t)?t:[]}catch{return[]}}function s(e){localStorage.setItem(i,JSON.stringify(e))}var c={submitted:`ثبت‌شده`,reviewing:`در حال بررسی`,preparing:`آماده‌سازی`,shipped:`ارسال‌شده`,delivered:`تحویل‌شده`,new:`درخواست جدید`,approved:`تأیید شده`,ready_to_ship:`آماده ارسال`,returned:`بازگردانده شده`,cancelled:`لغو شده`};function l(e){return{id:e.id,createdAt:e.createdAt,updatedAt:e.updatedAt,status:a[e.status]??e.status,serverStatus:e.status,note:e.note,items:e.items.map(e=>({productId:e.productId,productName:e.productName,productCode:e.productCode,quantity:e.quantity}))}}var u=r(`catalogRequests`,()=>{let r=e(o()),i=e(!0),a=t(()=>[...r.value].sort((e,t)=>t.createdAt.localeCompare(e.createdAt)));function u(e){return c[e]??e}async function d(){if(!i.value){r.value=o();return}try{let e=await n(`/catalog-requests`);r.value=e.map(l),s(r.value)}catch{i.value=!1,r.value=o()}}async function f(e){let t=e.items.filter(e=>e.productId&&e.quantity>0).map(e=>({...e,quantity:Math.max(1,Math.floor(e.quantity))}));if(!t.length)return{success:!1,message:`حداقل یک قلم با تعداد معتبر لازم است.`};if(i.value)try{let i=l(await n(`/catalog-requests`,{method:`POST`,body:{note:e.note?.trim()||void 0,items:t.map(e=>({productId:e.productId,quantity:e.quantity}))}}));return r.value=[i,...r.value.filter(e=>e.id!==i.id)],s(r.value),{success:!0,request:i}}catch{i.value=!1}let a={id:`cr-${Date.now()}`,createdAt:new Date().toISOString(),status:`submitted`,note:e.note?.trim()||void 0,items:t};return r.value=[a,...r.value],s(r.value),{success:!0,request:a}}function p(e){return r.value.find(t=>t.id===e)??null}return{requests:r,sorted:a,statusLabel:u,create:f,getById:p,hydrate:d}});export{u as t};
@@ -1 +1 @@
import{E as e,J as t,O as n,P as r,T as i}from"./_plugin-vue_export-helper-Bo3WtfwJ.js";import{t as a}from"./BasicIcon-BXxbbWA_.js";import{T as o,k as s,v as c}from"./index-Bs_brTvG.js";import{t as l}from"./IconDiamond-R4uguqMC.js";import{t as u}from"./IconLayoutGrid-DTCDTb_O.js";import{t as d}from"./IconShoppingBag-BeSLUxcB.js";var f=r({__name:`IconBolt`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(n){return(r,i)=>(t(),e(a,{icon:`vuesax-linear:flash`,size:n.size,"stroke-width":n.strokeWidth,color:n.color},null,8,[`size`,`stroke-width`,`color`]))}}),p=r({__name:`IconFeather`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(n){return(r,i)=>(t(),e(a,{icon:`vuesax-linear:pen-add`,size:n.size,"stroke-width":n.strokeWidth,color:n.color},null,8,[`size`,`stroke-width`,`color`]))}}),m=r({__name:`IconIdCard`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(n){return(r,i)=>(t(),e(a,{icon:`vuesax-linear:personalcard`,size:n.size,"stroke-width":n.strokeWidth,color:n.color},null,8,[`size`,`stroke-width`,`color`]))}}),h=[`width`,`height`],g=[`stroke`,`stroke-width`],_=[`stroke`,`stroke-width`],v=r({__name:`IconShirt`,props:{size:{default:24},color:{default:`currentColor`},strokeWidth:{default:1.5}},setup(e){return(r,a)=>(t(),n(`svg`,{width:e.size,height:e.size,viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,"aria-hidden":`true`},[i(`path`,{d:`M8.25 5.25 12 7.75l3.75-2.5 2.25 2.75L16 9.5V18.5a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1V9.5L6 8l2.25-2.75Z`,stroke:e.color,"stroke-width":e.strokeWidth,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,8,g),i(`path`,{d:`M12 7.75V18.5`,stroke:e.color,"stroke-width":e.strokeWidth,"stroke-linecap":`round`},null,8,_)],8,h))}}),y=[`width`,`height`],b=[`stroke`,`stroke-width`],x=[`stroke`,`stroke-width`],S=[`stroke`,`stroke-width`],C=[`stroke`,`stroke-width`],w=r({__name:`IconSuit`,props:{size:{default:24},color:{default:`currentColor`},strokeWidth:{default:1.5}},setup(e){return(r,a)=>(t(),n(`svg`,{width:e.size,height:e.size,viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,"aria-hidden":`true`},[i(`path`,{d:`M7.5 5.5h9l2 3v10.5a1 1 0 0 1-1 1h-11a1 1 0 0 1-1-1V8.5l2-3Z`,stroke:e.color,"stroke-width":e.strokeWidth,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,8,b),i(`path`,{d:`M12 5.5v13`,stroke:e.color,"stroke-width":e.strokeWidth,"stroke-linecap":`round`},null,8,x),i(`path`,{d:`M7.5 9 12 11.75 16.5 9`,stroke:e.color,"stroke-width":e.strokeWidth,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,8,S),i(`path`,{d:`M10.25 5.5V4a1.75 1.75 0 0 1 3.5 0v1.5`,stroke:e.color,"stroke-width":e.strokeWidth,"stroke-linecap":`round`},null,8,C)],8,y))}}),T=[`width`,`height`],E=[`stroke`,`stroke-width`],D=[`stroke`,`stroke-width`],O=[`stroke`,`stroke-width`],k={bolt:f,feather:p,diamond:l,grid:u,bag:d,"id-card":m,catalog:o,headset:c,home:s,shirt:v,suit:w,trousers:r({__name:`IconTrousers`,props:{size:{default:24},color:{default:`currentColor`},strokeWidth:{default:1.5}},setup(e){return(r,a)=>(t(),n(`svg`,{width:e.size,height:e.size,viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,"aria-hidden":`true`},[i(`path`,{d:`M8 4.5h8v4.25l-1.75 11H13l-1-9.5-1 9.5H7.75L6 8.75V4.5Z`,stroke:e.color,"stroke-width":e.strokeWidth,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,8,E),i(`path`,{d:`M12 8.75v11`,stroke:e.color,"stroke-width":e.strokeWidth,"stroke-linecap":`round`},null,8,D),i(`path`,{d:`M8 7.25h8`,stroke:e.color,"stroke-width":e.strokeWidth,"stroke-linecap":`round`},null,8,O)],8,T))}})},A={shirt:`shirt`,suit:`suit`,trousers:`trousers`};function j(e){return A[e.id]?A[e.id]:e.icon&&k[e.icon]?e.icon:e.icon??`grid`}function M(e,t=l){return e&&k[e]||t}export{j as n,M as t};
import{E as e,J as t,O as n,P as r,T as i}from"./_plugin-vue_export-helper-Bo3WtfwJ.js";import{t as a}from"./BasicIcon-BXxbbWA_.js";import{T as o,k as s,v as c}from"./index-BAQfYU-Q.js";import{t as l}from"./IconDiamond-R4uguqMC.js";import{t as u}from"./IconLayoutGrid-DTCDTb_O.js";import{t as d}from"./IconShoppingBag-BeSLUxcB.js";var f=r({__name:`IconBolt`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(n){return(r,i)=>(t(),e(a,{icon:`vuesax-linear:flash`,size:n.size,"stroke-width":n.strokeWidth,color:n.color},null,8,[`size`,`stroke-width`,`color`]))}}),p=r({__name:`IconFeather`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(n){return(r,i)=>(t(),e(a,{icon:`vuesax-linear:pen-add`,size:n.size,"stroke-width":n.strokeWidth,color:n.color},null,8,[`size`,`stroke-width`,`color`]))}}),m=r({__name:`IconIdCard`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(n){return(r,i)=>(t(),e(a,{icon:`vuesax-linear:personalcard`,size:n.size,"stroke-width":n.strokeWidth,color:n.color},null,8,[`size`,`stroke-width`,`color`]))}}),h=[`width`,`height`],g=[`stroke`,`stroke-width`],_=[`stroke`,`stroke-width`],v=r({__name:`IconShirt`,props:{size:{default:24},color:{default:`currentColor`},strokeWidth:{default:1.5}},setup(e){return(r,a)=>(t(),n(`svg`,{width:e.size,height:e.size,viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,"aria-hidden":`true`},[i(`path`,{d:`M8.25 5.25 12 7.75l3.75-2.5 2.25 2.75L16 9.5V18.5a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1V9.5L6 8l2.25-2.75Z`,stroke:e.color,"stroke-width":e.strokeWidth,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,8,g),i(`path`,{d:`M12 7.75V18.5`,stroke:e.color,"stroke-width":e.strokeWidth,"stroke-linecap":`round`},null,8,_)],8,h))}}),y=[`width`,`height`],b=[`stroke`,`stroke-width`],x=[`stroke`,`stroke-width`],S=[`stroke`,`stroke-width`],C=[`stroke`,`stroke-width`],w=r({__name:`IconSuit`,props:{size:{default:24},color:{default:`currentColor`},strokeWidth:{default:1.5}},setup(e){return(r,a)=>(t(),n(`svg`,{width:e.size,height:e.size,viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,"aria-hidden":`true`},[i(`path`,{d:`M7.5 5.5h9l2 3v10.5a1 1 0 0 1-1 1h-11a1 1 0 0 1-1-1V8.5l2-3Z`,stroke:e.color,"stroke-width":e.strokeWidth,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,8,b),i(`path`,{d:`M12 5.5v13`,stroke:e.color,"stroke-width":e.strokeWidth,"stroke-linecap":`round`},null,8,x),i(`path`,{d:`M7.5 9 12 11.75 16.5 9`,stroke:e.color,"stroke-width":e.strokeWidth,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,8,S),i(`path`,{d:`M10.25 5.5V4a1.75 1.75 0 0 1 3.5 0v1.5`,stroke:e.color,"stroke-width":e.strokeWidth,"stroke-linecap":`round`},null,8,C)],8,y))}}),T=[`width`,`height`],E=[`stroke`,`stroke-width`],D=[`stroke`,`stroke-width`],O=[`stroke`,`stroke-width`],k={bolt:f,feather:p,diamond:l,grid:u,bag:d,"id-card":m,catalog:o,headset:c,home:s,shirt:v,suit:w,trousers:r({__name:`IconTrousers`,props:{size:{default:24},color:{default:`currentColor`},strokeWidth:{default:1.5}},setup(e){return(r,a)=>(t(),n(`svg`,{width:e.size,height:e.size,viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,"aria-hidden":`true`},[i(`path`,{d:`M8 4.5h8v4.25l-1.75 11H13l-1-9.5-1 9.5H7.75L6 8.75V4.5Z`,stroke:e.color,"stroke-width":e.strokeWidth,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,8,E),i(`path`,{d:`M12 8.75v11`,stroke:e.color,"stroke-width":e.strokeWidth,"stroke-linecap":`round`},null,8,D),i(`path`,{d:`M8 7.25h8`,stroke:e.color,"stroke-width":e.strokeWidth,"stroke-linecap":`round`},null,8,O)],8,T))}})},A={shirt:`shirt`,suit:`suit`,trousers:`trousers`};function j(e){return A[e.id]?A[e.id]:e.icon&&k[e.icon]?e.icon:e.icon??`grid`}function M(e,t=l){return e&&k[e]||t}export{j as n,M as t};
@@ -1 +1 @@
import{vt as e}from"./_plugin-vue_export-helper-Bo3WtfwJ.js";import{n as t,o as n,t as r}from"./http-CYAxBUmC.js";var i=[{id:`trousers`,title:`پارچه‌های شلواری`,subtitle:`مشاهده محصولات`},{id:`suit`,title:`پارچه‌های کت‌شلواری`,subtitle:`مشاهده محصولات`},{id:`shirt`,title:`پارچه‌های پیراهنی`,subtitle:`مشاهده محصولات`}],a=[{id:`summer`,title:`تابستانه`,description:`سبک، خنک و مناسب فصل گرم`},{id:`winter`,title:`زمستانه`,description:`گرم و مناسب فصل سرد`},{id:`all_season`,title:`چهارفصل`,description:`مناسب استفاده در بیشتر فصل‌های سال`}];function o(){return{usage:i,seasons:a}}var s=`سرویس واسطه روی سرور فعال نیست. پس از migrate و deploy سرور دوباره تلاش کنید.`;async function c(e,n){try{return await t(e,n)}catch(e){throw e instanceof r&&(e.status===404||e.status===501)?new r(e.status,s):e}}async function l(){try{return await t(`/catalog/categories`)}catch{try{return await t(`/products/meta/categories`)}catch{return o()}}}async function u(e){return t(`/products`,{query:{activeOnly:!0,categoryId:e?.categoryId,season:e?.season,catalogId:e?.catalogId,companyId:e?.companyId}})}async function d(e){return t(`/banners`,{query:{slot:e}})}async function f(){return c(`/agent/profile`)}async function p(e){return c(`/agent/customers`,{query:e})}async function m(e){return c(`/agent/customers`,{method:`POST`,body:e})}async function h(e,t){return c(`/agent/customers/${e}`,{method:`PATCH`,body:t})}async function g(e){return c(`/agent/customers/${e}`)}async function _(e){return c(`/agent/meetings`,{method:`POST`,body:e})}async function v(e){return c(`/agent/reminders`,{query:{filter:e}})}async function y(e){return c(`/agent/reminders/${e}`)}async function b(e,t=!0){return c(`/agent/reminders/${e}/complete`,{method:`PATCH`,body:{completed:t}})}async function x(e){return c(`/agent/reminders`,{method:`POST`,body:e})}function S(e){return{id:e.id,name:e.name,code:e.code,categoryId:e.categoryId||e.usageCategory||`other`,season:e.season||`all_season`,widthCm:e.widthCm??150,composition:e.composition??``,weightGrams:e.weightGrams,weaveType:e.weaveType,colors:e.colors?.length?e.colors:[`#6b7280`],colorImages:e.colorImages,tags:e.tags??[],isNew:!!e.isNew,imageUrl:e.imageUrl||e.colorImages?.find(Boolean)||e.imageUrls?.[0],imageUrls:e.imageUrls,subtitle:e.subtitle,rollMeters:e.rollMeters??50,companyId:e.companyId,catalogId:e.catalogId,catalogCode:e.catalogCode,catalogName:e.catalogName,color:e.color,minMeterage:e.minMeterage??30,orderMultiplier:e.orderMultiplier??10,basePrice:e.basePrice??void 0}}var C=n(`crm`,()=>{let n=e(!1),r=e(null),i=e(null),a=e([]),o=e([]),s=e([]),c=e([]),d=e([]);async function C(){let e=await l();return s.value=e.usage,c.value=e.seasons,e}async function w(e){let t=await u(e);return d.value=t.map(S),d.value}async function T(e){return S(await t(`/products/${e}`))}async function E(){return i.value=await f(),i.value}async function D(e){return a.value=await p(e),a.value}async function O(e){return await g(e)}async function k(e){return _(e)}async function A(e){return m(e)}async function j(e,t){return h(e,t)}async function M(e){return o.value=await v(e),o.value}async function N(e){return y(e)}async function P(e){return b(e,!0)}async function F(e){return x(e)}return{loading:n,error:r,agentProfile:i,customers:a,reminders:o,usageCategories:s,seasonCategories:c,browseProducts:d,loadCategories:C,loadBrowseProducts:w,loadProductById:T,loadAgentProfile:E,loadCustomers:D,loadCustomerDetail:O,submitMeeting:k,registerCustomer:A,updateCustomer:j,loadReminders:M,loadReminderDetail:N,markReminderComplete:P,createReminder:F}});export{a,v as i,f as n,i as o,d as r,C as t};
import{vt as e}from"./_plugin-vue_export-helper-Bo3WtfwJ.js";import{n as t,o as n,t as r}from"./http-CeONvUNq.js";var i=[{id:`trousers`,title:`پارچه‌های شلواری`,subtitle:`مشاهده محصولات`},{id:`suit`,title:`پارچه‌های کت‌شلواری`,subtitle:`مشاهده محصولات`},{id:`shirt`,title:`پارچه‌های پیراهنی`,subtitle:`مشاهده محصولات`}],a=[{id:`summer`,title:`تابستانه`,description:`سبک، خنک و مناسب فصل گرم`},{id:`winter`,title:`زمستانه`,description:`گرم و مناسب فصل سرد`},{id:`all_season`,title:`چهارفصل`,description:`مناسب استفاده در بیشتر فصل‌های سال`}];function o(){return{usage:i,seasons:a}}var s=`سرویس واسطه روی سرور فعال نیست. پس از migrate و deploy سرور دوباره تلاش کنید.`;async function c(e,n){try{return await t(e,n)}catch(e){throw e instanceof r&&(e.status===404||e.status===501)?new r(e.status,s):e}}async function l(){try{return await t(`/catalog/categories`)}catch{try{return await t(`/products/meta/categories`)}catch{return o()}}}async function u(e){return t(`/products`,{query:{activeOnly:!0,categoryId:e?.categoryId,season:e?.season,catalogId:e?.catalogId,companyId:e?.companyId}})}async function d(e){return t(`/banners`,{query:{slot:e}})}async function f(){return c(`/agent/profile`)}async function p(e){return c(`/agent/customers`,{query:e})}async function m(e){return c(`/agent/customers`,{method:`POST`,body:e})}async function h(e,t){return c(`/agent/customers/${e}`,{method:`PATCH`,body:t})}async function g(e){return c(`/agent/customers/${e}`)}async function _(e){return c(`/agent/meetings`,{method:`POST`,body:e})}async function v(e){return c(`/agent/reminders`,{query:{filter:e}})}async function y(e){return c(`/agent/reminders/${e}`)}async function b(e,t=!0){return c(`/agent/reminders/${e}/complete`,{method:`PATCH`,body:{completed:t}})}async function x(e){return c(`/agent/reminders`,{method:`POST`,body:e})}function S(e){return{id:e.id,name:e.name,code:e.code,categoryId:e.categoryId||e.usageCategory||`other`,season:e.season||`all_season`,widthCm:e.widthCm??150,composition:e.composition??``,weightGrams:e.weightGrams,weaveType:e.weaveType,colors:e.colors?.length?e.colors:[`#6b7280`],colorImages:e.colorImages,tags:e.tags??[],isNew:!!e.isNew,imageUrl:e.imageUrl||e.colorImages?.find(Boolean)||e.imageUrls?.[0],imageUrls:e.imageUrls,subtitle:e.subtitle,rollMeters:e.rollMeters??50,companyId:e.companyId,catalogId:e.catalogId,catalogCode:e.catalogCode,catalogName:e.catalogName,color:e.color,minMeterage:e.minMeterage??30,orderMultiplier:e.orderMultiplier??10,basePrice:e.basePrice??void 0}}var C=n(`crm`,()=>{let n=e(!1),r=e(null),i=e(null),a=e([]),o=e([]),s=e([]),c=e([]),d=e([]);async function C(){let e=await l();return s.value=e.usage,c.value=e.seasons,e}async function w(e){let t=await u(e);return d.value=t.map(S),d.value}async function T(e){return S(await t(`/products/${e}`))}async function E(){return i.value=await f(),i.value}async function D(e){return a.value=await p(e),a.value}async function O(e){return await g(e)}async function k(e){return _(e)}async function A(e){return m(e)}async function j(e,t){return h(e,t)}async function M(e){return o.value=await v(e),o.value}async function N(e){return y(e)}async function P(e){return b(e,!0)}async function F(e){return x(e)}return{loading:n,error:r,agentProfile:i,customers:a,reminders:o,usageCategories:s,seasonCategories:c,browseProducts:d,loadCategories:C,loadBrowseProducts:w,loadProductById:T,loadAgentProfile:E,loadCustomers:D,loadCustomerDetail:O,submitMeeting:k,registerCustomer:A,updateCustomer:j,loadReminders:M,loadReminderDetail:N,markReminderComplete:P,createReminder:F}});export{a,v as i,f as n,i as o,d as r,C as t};
File diff suppressed because one or more lines are too long
+2
View File
File diff suppressed because one or more lines are too long
-2
View File
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
import{at as e,g as t,h as n,w as r}from"./_plugin-vue_export-helper-Bo3WtfwJ.js";import{d as i}from"./index-Bs_brTvG.js";import{n as a}from"./orderInvoice-B0L1Aeuk.js";function o(){let o=n(),s=t(),c=i(),l=r(()=>o.params.id),u=r(()=>c.getOrderById(l.value)),d=r(()=>a(u.value));function f(e){e&&(a(e)||s.replace(`/orders/${e.id}`))}return e(l,async e=>{e&&f(c.getOrderById(e)??await c.fetchOrder(e))},{immediate:!0}),e(u,e=>{f(e)}),{orderId:l,order:u,invoiceReady:d}}export{o as t};
import{at as e,g as t,h as n,w as r}from"./_plugin-vue_export-helper-Bo3WtfwJ.js";import{d as i}from"./index-BAQfYU-Q.js";import{n as a}from"./orderInvoice-B0L1Aeuk.js";function o(){let o=n(),s=t(),c=i(),l=r(()=>o.params.id),u=r(()=>c.getOrderById(l.value)),d=r(()=>a(u.value));function f(e){e&&(a(e)||s.replace(`/orders/${e.id}`))}return e(l,async e=>{e&&f(c.getOrderById(e)??await c.fetchOrder(e))},{immediate:!0}),e(u,e=>{f(e)}),{orderId:l,order:u,invoiceReady:d}}export{o as t};
+3 -3
View File
@@ -6,15 +6,15 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover">
<meta name="theme-color" content="#17379f">
<title>سامانه سفارش عمده پارچه</title>
<script type="module" crossorigin src="/assets/index-Bs_brTvG.js"></script>
<script type="module" crossorigin src="/assets/index-BAQfYU-Q.js"></script>
<link rel="modulepreload" crossorigin href="/assets/_plugin-vue_export-helper-Bo3WtfwJ.js">
<link rel="modulepreload" crossorigin href="/assets/BasicIcon-BXxbbWA_.js">
<link rel="modulepreload" crossorigin href="/assets/http-CYAxBUmC.js">
<link rel="modulepreload" crossorigin href="/assets/http-CeONvUNq.js">
<link rel="modulepreload" crossorigin href="/assets/dist-nK9ByyUG.js">
<link rel="modulepreload" crossorigin href="/assets/dist-2yEcZq4e.js">
<link rel="modulepreload" crossorigin href="/assets/format-C72AoJ2H.js">
<link rel="modulepreload" crossorigin href="/assets/validation-Duyyve7l.js">
<link rel="modulepreload" crossorigin href="/assets/catalog-CyvLKh9n.js">
<link rel="modulepreload" crossorigin href="/assets/catalog-CIw6in_a.js">
<link rel="stylesheet" crossorigin href="/assets/BasicIcon-QF_b9Svq.css">
<link rel="stylesheet" crossorigin href="/assets/index-DlhwUXHq.css">
</head>