This commit is contained in:
2026-09-10 21:52:48 +03:30
parent b3b80d8f9d
commit 1e355e2c01
86 changed files with 57 additions and 60 deletions
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{$ as e,A as t,E as n,F as r,I as i,L as a,M as o,O as s,Y as c,_ as ee,bt as l,ft as te,k as u,n as d,q as f,t as p,tt as m,wt as h}from"./BasicIcon-CjTTsi6o.js";import{i as ne,n as re}from"./format-BHJptHdF.js";import{t as ie}from"./catalog-Dd554brK.js";import{h as ae,n as g}from"./index-BQQA5ZX-.js";import{t as oe}from"./PageHeader-WFa4BbgN.js";import{t as se}from"./useRequirePricedOrder-bwpoZWB1.js";var _=a({__name:`IconSuccessCircle`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(n,r)=>(f(),t(p,{icon:`vuesax-linear:tick-circle`,size:e.size,"stroke-width":e.strokeWidth,color:e.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=d(a({__name:`CashSettlementView`,setup(t){let a=ee(),d=ae(),p=ie(),U=te([]),{orderId:W,order:G}=se(),K=s(()=>G.value?.companyName??``);e(W,async e=>{e&&!d.getOrderById(e)&&await d.fetchOrder(e)},{immediate:!0}),e(()=>G.value?.id,async e=>{if(!e||!G.value){U.value=[];return}p.companies.length||await p.loadCompanies(),U.value=await d.getBankAccountsForOrder(G.value)},{immediate:!0});let q=s(()=>G.value?.finalAmount?re(G.value.finalAmount):`—`),J=s(()=>{let e=G.value?.cashInvoiceExpiresAt;return e?`مهلت پرداخت این فاکتور تا ${ne(e)} است.`:`مبلغ فاکتور را به یکی از حساب‌های زیر واریز و رسید را ثبت کنید.`}),Y=s(()=>{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(){a.replace(`/orders/${W.value}?track=1`)}function $(){a.replace(`/orders/${W.value}?track=1&receipt=1`)}return(e,t)=>(f(),o(n,null,[u(`div`,ce,[i(oe,{title:`تسویه نقدی`,"show-back":``,centered:``,onBack:t[0]||=e=>l(a).push(`/orders/${l(W)}`)}),u(`div`,le,[u(`div`,ue,[i(_,{size:56}),u(`p`,v,`مبلغ قابل پرداخت `+h(q.value),1),u(`p`,y,h(J.value),1)]),u(`section`,b,[u(`h2`,x,h(Y.value),1),(f(!0),o(n,null,c(U.value,e=>(f(),o(`article`,{key:e.id,class:`bank-card`},[u(`div`,S,[u(`span`,C,h(e.bankName),1),u(`span`,w,h(e.bankName.charAt(0)),1)]),u(`div`,T,[t[1]||=u(`span`,{class:`bank-card__label`},`شماره کارت`,-1),u(`strong`,E,h(X(e.cardNumber)),1)]),u(`div`,D,[t[2]||=u(`span`,{class:`bank-card__label`},`شماره شبا`,-1),u(`strong`,O,h(Z(e.iban)),1)])]))),128))])]),u(`div`,k,[i(g,{variant:`outline`,block:``,onClick:Q},{default:m(()=>[...t[3]||=[r(`مشاهده سفارش`,-1)]]),_:1}),i(g,{block:``,class:`cash-page__submit`,onClick:$},{default:m(()=>[...t[4]||=[r(` ثبت رسید پرداخت `,-1)]]),_:1})])]),u(`div`,A,[u(`header`,j,[t[5]||=u(`h1`,{class:`desktop-page__title`},`تسویه نقدی`,-1),u(`p`,M,h(J.value),1)]),u(`div`,N,[i(_,{size:56}),u(`p`,de,`مبلغ قابل پرداخت `+h(q.value),1)]),u(`section`,P,[u(`h2`,F,h(Y.value),1),u(`div`,I,[(f(!0),o(n,null,c(U.value,e=>(f(),o(`article`,{key:e.id,class:`bank-card`},[u(`div`,L,[u(`span`,R,h(e.bankName),1),u(`span`,z,h(e.bankName.charAt(0)),1)]),u(`div`,B,[t[6]||=u(`span`,{class:`bank-card__label`},`شماره کارت`,-1),u(`strong`,V,h(X(e.cardNumber)),1)]),u(`div`,H,[t[7]||=u(`span`,{class:`bank-card__label`},`شماره شبا`,-1),u(`strong`,fe,h(Z(e.iban)),1)])]))),128))])]),u(`div`,pe,[i(g,{variant:`outline`,class:`desktop-btn-compact`,onClick:Q},{default:m(()=>[...t[8]||=[r(` مشاهده سفارش `,-1)]]),_:1}),i(g,{class:`desktop-btn-compact`,onClick:$},{default:m(()=>[...t[9]||=[r(` ثبت رسید پرداخت `,-1)]]),_:1})])])],64))}}),[[`__scopeId`,`data-v-c299caf6`]]);export{U as default}; import{$ as e,A as t,E as n,F as r,I as i,L as a,M as o,O as s,Y as c,_ as ee,bt as l,ft as te,k as u,n as d,q as f,t as p,tt as m,wt as h}from"./BasicIcon-CjTTsi6o.js";import{i as ne,n as re}from"./format-BHJptHdF.js";import{t as ie}from"./catalog-Dd554brK.js";import{h as ae,n as g}from"./index-D3Z8WOeX.js";import{t as oe}from"./PageHeader-B47bvmJV.js";import{t as se}from"./useRequirePricedOrder-a2bgwmwB.js";var _=a({__name:`IconSuccessCircle`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(n,r)=>(f(),t(p,{icon:`vuesax-linear:tick-circle`,size:e.size,"stroke-width":e.strokeWidth,color:e.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=d(a({__name:`CashSettlementView`,setup(t){let a=ee(),d=ae(),p=ie(),U=te([]),{orderId:W,order:G}=se(),K=s(()=>G.value?.companyName??``);e(W,async e=>{e&&!d.getOrderById(e)&&await d.fetchOrder(e)},{immediate:!0}),e(()=>G.value?.id,async e=>{if(!e||!G.value){U.value=[];return}p.companies.length||await p.loadCompanies(),U.value=await d.getBankAccountsForOrder(G.value)},{immediate:!0});let q=s(()=>G.value?.finalAmount?re(G.value.finalAmount):`—`),J=s(()=>{let e=G.value?.cashInvoiceExpiresAt;return e?`مهلت پرداخت این فاکتور تا ${ne(e)} است.`:`مبلغ فاکتور را به یکی از حساب‌های زیر واریز و رسید را ثبت کنید.`}),Y=s(()=>{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(){a.replace(`/orders/${W.value}?track=1`)}function $(){a.replace(`/orders/${W.value}?track=1&receipt=1`)}return(e,t)=>(f(),o(n,null,[u(`div`,ce,[i(oe,{title:`تسویه نقدی`,"show-back":``,centered:``,onBack:t[0]||=e=>l(a).push(`/orders/${l(W)}`)}),u(`div`,le,[u(`div`,ue,[i(_,{size:56}),u(`p`,v,`مبلغ قابل پرداخت `+h(q.value),1),u(`p`,y,h(J.value),1)]),u(`section`,b,[u(`h2`,x,h(Y.value),1),(f(!0),o(n,null,c(U.value,e=>(f(),o(`article`,{key:e.id,class:`bank-card`},[u(`div`,S,[u(`span`,C,h(e.bankName),1),u(`span`,w,h(e.bankName.charAt(0)),1)]),u(`div`,T,[t[1]||=u(`span`,{class:`bank-card__label`},`شماره کارت`,-1),u(`strong`,E,h(X(e.cardNumber)),1)]),u(`div`,D,[t[2]||=u(`span`,{class:`bank-card__label`},`شماره شبا`,-1),u(`strong`,O,h(Z(e.iban)),1)])]))),128))])]),u(`div`,k,[i(g,{variant:`outline`,block:``,onClick:Q},{default:m(()=>[...t[3]||=[r(`مشاهده سفارش`,-1)]]),_:1}),i(g,{block:``,class:`cash-page__submit`,onClick:$},{default:m(()=>[...t[4]||=[r(` ثبت رسید پرداخت `,-1)]]),_:1})])]),u(`div`,A,[u(`header`,j,[t[5]||=u(`h1`,{class:`desktop-page__title`},`تسویه نقدی`,-1),u(`p`,M,h(J.value),1)]),u(`div`,N,[i(_,{size:56}),u(`p`,de,`مبلغ قابل پرداخت `+h(q.value),1)]),u(`section`,P,[u(`h2`,F,h(Y.value),1),u(`div`,I,[(f(!0),o(n,null,c(U.value,e=>(f(),o(`article`,{key:e.id,class:`bank-card`},[u(`div`,L,[u(`span`,R,h(e.bankName),1),u(`span`,z,h(e.bankName.charAt(0)),1)]),u(`div`,B,[t[6]||=u(`span`,{class:`bank-card__label`},`شماره کارت`,-1),u(`strong`,V,h(X(e.cardNumber)),1)]),u(`div`,H,[t[7]||=u(`span`,{class:`bank-card__label`},`شماره شبا`,-1),u(`strong`,fe,h(Z(e.iban)),1)])]))),128))])]),u(`div`,pe,[i(g,{variant:`outline`,class:`desktop-btn-compact`,onClick:Q},{default:m(()=>[...t[8]||=[r(` مشاهده سفارش `,-1)]]),_:1}),i(g,{class:`desktop-btn-compact`,onClick:$},{default:m(()=>[...t[9]||=[r(` ثبت رسید پرداخت `,-1)]]),_:1})])])],64))}}),[[`__scopeId`,`data-v-c299caf6`]]);export{U as default};
-1
View File
@@ -1 +0,0 @@
.catalog-mobile-page[data-v-6f91757e]{background:var(--color-bg);color:var(--color-text);padding:12px 0 0}.catalog-page__search[data-v-6f91757e]{margin-bottom:16px}.catalog-mobile-scroll[data-v-6f91757e]{flex-direction:column;flex:1;min-height:0;display:flex}.catalog-mobile-list[data-v-6f91757e]{flex-direction:column;gap:12px;display:flex}.catalog-card[data-v-6f91757e]{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-elevated);width:100%;box-shadow:var(--shadow-sm);color:var(--color-text);text-align:right;cursor:pointer;align-items:center;gap:12px;padding:14px 16px;display:flex}.catalog-card--desktop[data-v-6f91757e]{flex-direction:column;align-items:flex-start;min-height:140px;padding:20px}.catalog-card[data-v-6f91757e]:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md)}.catalog-card__icon[data-v-6f91757e]{background:var(--color-primary-light);border-radius:var(--radius-sm);width:40px;height:40px;color:var(--color-primary);justify-content:center;align-items:center;display:flex}.catalog-card__info[data-v-6f91757e]{flex:1}.catalog-card__info h3[data-v-6f91757e]{color:var(--color-text);margin:0 0 4px;font-size:.9375rem}.catalog-card__info p[data-v-6f91757e]{color:var(--color-text-muted);margin:0;font-size:.8125rem}.catalog-card__count[data-v-6f91757e]{color:var(--color-primary);font-size:.8125rem;font-weight:600}
+1
View File
@@ -0,0 +1 @@
.catalog-mobile-page[data-v-fa6b4c3f]{background:var(--color-bg);color:var(--color-text);padding:12px 0 0}.catalog-page__search[data-v-fa6b4c3f]{margin-bottom:16px}.catalog-mobile-scroll[data-v-fa6b4c3f]{flex-direction:column;flex:1;min-height:0;display:flex}.catalog-mobile-list[data-v-fa6b4c3f]{flex-direction:column;gap:12px;display:flex}.catalog-card[data-v-fa6b4c3f]{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-elevated);width:100%;box-shadow:var(--shadow-sm);color:var(--color-text);text-align:right;cursor:pointer;align-items:center;gap:12px;padding:14px 16px;display:flex}.catalog-card--desktop[data-v-fa6b4c3f]{flex-direction:column;align-items:flex-start;min-height:140px;padding:20px}.catalog-card[data-v-fa6b4c3f]:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md)}.catalog-card__icon[data-v-fa6b4c3f]{background:var(--color-primary-light);border-radius:var(--radius-sm);width:40px;height:40px;color:var(--color-primary);justify-content:center;align-items:center;display:flex}.catalog-card__info[data-v-fa6b4c3f]{flex:1}.catalog-card__info h3[data-v-fa6b4c3f]{color:var(--color-text);margin:0 0 4px;font-size:.9375rem}.catalog-card__info p[data-v-fa6b4c3f]{color:var(--color-text-muted);margin:0;font-size:.8125rem}.catalog-card__count[data-v-fa6b4c3f]{color:var(--color-primary);font-size:.8125rem;font-weight:600}
+1
View File
@@ -0,0 +1 @@
import{$ as e,A as t,E as n,G as r,I as i,L as a,M as o,O as s,Y as c,_ as l,bt as u,ft as d,g as f,k as p,n as m,q as h,wt as g}from"./BasicIcon-CjTTsi6o.js";import{t as _}from"./catalog-Dd554brK.js";import{b as v}from"./index-D3Z8WOeX.js";import{t as y}from"./EmptyState-BpC5eqVE.js";import{t as b}from"./PageHeader-B47bvmJV.js";import{t as x}from"./SearchField-Ao52FWA8.js";import{t as S}from"./PageSkeleton-CyATkHE1.js";var C={class:`page catalog-mobile-page mobile-only`},w={class:`page__scroll page__scroll--with-nav catalog-mobile-scroll`},T={key:1,class:`catalog-mobile-list`},E=[`onClick`],D={class:`catalog-card__icon`},O={class:`catalog-card__info`},k={class:`catalog-card__count`},A={class:`desktop-page catalog-desktop-page desktop-only`},j={class:`desktop-page__head`},M={class:`desktop-page__title`},N={key:0,class:`desktop-grid-3`},P=[`onClick`],F={class:`catalog-card__icon`},I={class:`catalog-card__info`},L={class:`catalog-card__count`},R=m(a({__name:`CatalogListView`,setup(a){let m=f(),R=l(),z=_(),B=d(!0),V=s(()=>m.params.companyId),H=s(()=>z.getCompany(V.value)),U=d(``),W=s(()=>z.fetchCatalogs(V.value,U.value));async function G(){B.value=!0,z.getCompany(V.value)||await z.loadCompanies(),await z.loadCatalogs(V.value),B.value=!1}r(G),e(V,G);function K(e){R.push({path:`/products`,query:{catalogId:e,companyId:V.value}})}function q(e){let t=z.getCatalog(e);return t?.productCount==null?z.fetchProducts(e).length:t.productCount}return(e,r)=>(h(),o(n,null,[p(`div`,C,[i(b,{title:H.value?.name??`کالیته‌ها`,subtitle:`کالیته مورد نظر را انتخاب کنید`,"show-back":``,centered:``,onBack:r[0]||=e=>u(R).push(`/`)},null,8,[`title`]),i(x,{modelValue:U.value,"onUpdate:modelValue":r[1]||=e=>U.value=e,placeholder:`جستجو بر اساس کد یا نام کالیته...`,class:`catalog-page__search`},null,8,[`modelValue`]),p(`div`,w,[B.value?(h(),t(S,{key:0,variant:`cards`,rows:5})):W.value.length>0?(h(),o(`div`,T,[(h(!0),o(n,null,c(W.value,e=>(h(),o(`button`,{key:e.id,type:`button`,class:`catalog-card`,onClick:t=>K(e.id)},[p(`span`,D,[i(v,{size:22})]),p(`div`,O,[p(`h3`,null,`کالیته کد `+g(e.code),1),p(`p`,null,g(e.name),1)]),p(`span`,k,g(q(e.id))+` محصول`,1)],8,E))),128))])):(h(),t(y,{key:2,variant:U.value?`search`:`catalogs`,message:U.value?`با این جستجو کالیته‌ای پیدا نشد`:`برای این شرکت هنوز کالیته‌ای ثبت نشده است`},null,8,[`variant`,`message`]))])]),p(`div`,A,[p(`header`,j,[p(`h1`,M,g(H.value?.name??`کالیته‌ها`),1),r[3]||=p(`p`,{class:`desktop-page__subtitle`},`کالیته مورد نظر را انتخاب کنید`,-1)]),i(x,{modelValue:U.value,"onUpdate:modelValue":r[2]||=e=>U.value=e,placeholder:`جستجو بر اساس کد یا نام کالیته...`,class:`catalog-page__search`},null,8,[`modelValue`]),W.value.length>0?(h(),o(`div`,N,[(h(!0),o(n,null,c(W.value,e=>(h(),o(`button`,{key:e.id,type:`button`,class:`catalog-card catalog-card--desktop`,onClick:t=>K(e.id)},[p(`span`,F,[i(v,{size:24})]),p(`div`,I,[p(`h3`,null,`کالیته کد `+g(e.code),1),p(`p`,null,g(e.name),1)]),p(`span`,L,g(q(e.id))+` محصول`,1)],8,P))),128))])):(h(),t(y,{key:1,variant:U.value?`search`:`catalogs`,message:U.value?`با این جستجو کالیته‌ای پیدا نشد`:`برای این شرکت هنوز کالیته‌ای ثبت نشده است`},null,8,[`variant`,`message`]))])],64))}}),[[`__scopeId`,`data-v-fa6b4c3f`]]);export{R as default};
-1
View File
@@ -1 +0,0 @@
import{$ as e,A as t,E as n,G as r,I as i,L as a,M as o,O as s,Y as c,_ as l,bt as u,ft as d,g as f,k as p,n as m,q as h,wt as g}from"./BasicIcon-CjTTsi6o.js";import{t as _}from"./catalog-Dd554brK.js";import{b as v}from"./index-BQQA5ZX-.js";import{t as y}from"./EmptyState-BpC5eqVE.js";import{t as b}from"./PageHeader-WFa4BbgN.js";import{t as x}from"./SearchField-Ao52FWA8.js";import{t as S}from"./PageSkeleton-CyATkHE1.js";var C={class:`page catalog-mobile-page mobile-only`},w={class:`page__scroll page__scroll--with-nav catalog-mobile-scroll`},T={key:1,class:`catalog-mobile-list`},E=[`onClick`],D={class:`catalog-card__icon`},O={class:`catalog-card__info`},k={class:`catalog-card__count`},A={class:`desktop-page catalog-desktop-page desktop-only`},j={class:`desktop-page__head`},M={class:`desktop-page__title`},N={key:0,class:`desktop-grid-3`},P=[`onClick`],F={class:`catalog-card__icon`},I={class:`catalog-card__info`},L={class:`catalog-card__count`},R=m(a({__name:`CatalogListView`,setup(a){let m=f(),R=l(),z=_(),B=d(!0),V=s(()=>m.params.companyId),H=s(()=>z.getCompany(V.value)),U=d(``),W=s(()=>z.fetchCatalogs(V.value,U.value));async function G(){B.value=!0,z.getCompany(V.value)||await z.loadCompanies(),await z.loadCatalogs(V.value),B.value=!1}r(G),e(V,G);function K(e){R.push(`/companies/${V.value}/catalogs/${e}/products`)}function q(e){let t=z.getCatalog(e);return t?.productCount==null?z.fetchProducts(e).length:t.productCount}return(e,r)=>(h(),o(n,null,[p(`div`,C,[i(b,{title:H.value?.name??`کالیته‌ها`,subtitle:`کالیته مورد نظر را انتخاب کنید`,"show-back":``,centered:``,onBack:r[0]||=e=>u(R).push(`/`)},null,8,[`title`]),i(x,{modelValue:U.value,"onUpdate:modelValue":r[1]||=e=>U.value=e,placeholder:`جستجو بر اساس کد یا نام کالیته...`,class:`catalog-page__search`},null,8,[`modelValue`]),p(`div`,w,[B.value?(h(),t(S,{key:0,variant:`cards`,rows:5})):W.value.length>0?(h(),o(`div`,T,[(h(!0),o(n,null,c(W.value,e=>(h(),o(`button`,{key:e.id,type:`button`,class:`catalog-card`,onClick:t=>K(e.id)},[p(`span`,D,[i(v,{size:22})]),p(`div`,O,[p(`h3`,null,`کالیته کد `+g(e.code),1),p(`p`,null,g(e.name),1)]),p(`span`,k,g(q(e.id))+` محصول`,1)],8,E))),128))])):(h(),t(y,{key:2,variant:U.value?`search`:`catalogs`,message:U.value?`با این جستجو کالیته‌ای پیدا نشد`:`برای این شرکت هنوز کالیته‌ای ثبت نشده است`},null,8,[`variant`,`message`]))])]),p(`div`,A,[p(`header`,j,[p(`h1`,M,g(H.value?.name??`کالیته‌ها`),1),r[3]||=p(`p`,{class:`desktop-page__subtitle`},`کالیته مورد نظر را انتخاب کنید`,-1)]),i(x,{modelValue:U.value,"onUpdate:modelValue":r[2]||=e=>U.value=e,placeholder:`جستجو بر اساس کد یا نام کالیته...`,class:`catalog-page__search`},null,8,[`modelValue`]),W.value.length>0?(h(),o(`div`,N,[(h(!0),o(n,null,c(W.value,e=>(h(),o(`button`,{key:e.id,type:`button`,class:`catalog-card catalog-card--desktop`,onClick:t=>K(e.id)},[p(`span`,F,[i(v,{size:24})]),p(`div`,I,[p(`h3`,null,`کالیته کد `+g(e.code),1),p(`p`,null,g(e.name),1)]),p(`span`,L,g(q(e.id))+` محصول`,1)],8,P))),128))])):(h(),t(y,{key:1,variant:U.value?`search`:`catalogs`,message:U.value?`با این جستجو کالیته‌ای پیدا نشد`:`برای این شرکت هنوز کالیته‌ای ثبت نشده است`},null,8,[`variant`,`message`]))])],64))}}),[[`__scopeId`,`data-v-6f91757e`]]);export{R as default};
+1
View File
@@ -0,0 +1 @@
import{A as e,E as t,F as n,G as r,I as i,L as a,M as o,O as s,S as c,Y as l,_ as u,bt as d,ft as f,g as p,k as m,n as h,nt as g,q as _,wt as v,xt as y}from"./BasicIcon-CjTTsi6o.js";import{o as b}from"./format-BHJptHdF.js";import{t as x}from"./PageHeader-B47bvmJV.js";import{t as S}from"./PageSkeleton-CyATkHE1.js";import{t as C}from"./crm-l0KpZ2AN.js";import{t as w}from"./catalogRequests-CmW4jeEs.js";var T={class:`page`},E={class:`page__scroll page__scroll--with-nav body`},D={class:`hint`},O={key:1,class:`error`},k=[`value`,`onInput`],A={class:`note`},j={class:`summary`},M=[`disabled`],N=h(a({__name:`CatalogRequestView`,setup(a){let h=p(),N=u(),P=C(),F=w(),I=f(!0),L=f(!1),R=f(null),z=f(``),B=f([]),V=f({}),H=s(()=>String(h.query.productId??``)),U=s(()=>B.value.filter(e=>(V.value[e.id]??0)>0).map(e=>({productId:e.id,productName:e.name,productCode:e.code,quantity:V.value[e.id]??0})));r(async()=>{I.value=!0,R.value=null;try{let e=await P.loadBrowseProducts(),t=H.value;B.value=t?[...e].sort((e,n)=>Number(n.id===t)-Number(e.id===t)):e,t&&(V.value={...V.value,[t]:1})}catch(e){R.value=e instanceof Error?e.message:`بارگذاری محصولات ناموفق بود.`}finally{I.value=!1}});function W(e,t){V.value={...V.value,[e]:Math.max(0,Math.floor(t)||0)}}async function G(){L.value=!0,R.value=null;try{let e=await F.create({items:U.value,note:z.value});if(!e.success){R.value=e.message;return}N.push(`/catalog-requests`)}finally{L.value=!1}}return(r,a)=>(_(),o(`div`,T,[i(x,{title:`درخواست کالیته`,"show-back":``,centered:``,onBack:a[0]||=e=>d(N).back()}),m(`div`,E,[m(`p`,D,v(H.value?`این محصول برای درخواست کالیته انتخاب شده است. در صورت نیاز اقلام دیگر را هم اضافه کنید.`:`محصولات و تعداد اقلام موردنظر را مشخص کنید.`),1),I.value?(_(),e(S,{key:0,variant:`form`})):R.value?(_(),o(`p`,O,v(R.value),1)):(_(),o(t,{key:2},[(_(!0),o(t,null,l(B.value,e=>(_(),o(`article`,{key:e.id,class:y([`row`,{"row--selected":H.value===e.id}])},[m(`div`,null,[m(`strong`,null,v(e.name),1),m(`span`,null,`کد `+v(e.code),1)]),m(`input`,{class:`qty`,type:`number`,min:`0`,value:V.value[e.id]??0,onInput:t=>W(e.id,Number(t.target.value))},null,40,k)],2))),128)),m(`label`,A,[a[3]||=n(` توضیحات `,-1),g(m(`textarea`,{"onUpdate:modelValue":a[1]||=e=>z.value=e,rows:`3`,placeholder:`آدرس یا توضیحات اختیاری`},null,512),[[c,z.value]])]),m(`p`,j,`اقلام انتخاب‌شده: `+v(d(b)(U.value.length)),1),m(`button`,{type:`button`,class:`submit`,disabled:L.value,onClick:G},v(L.value?`در حال ثبت...`:`ثبت درخواست کالیته`),9,M),m(`button`,{type:`button`,class:`linkish`,onClick:a[2]||=e=>d(N).push(`/catalog-requests`)},` وضعیت درخواست‌های قبلی `)],64))])]))}}),[[`__scopeId`,`data-v-74250a20`]]);export{N as default};
+1
View File
@@ -0,0 +1 @@
.body[data-v-74250a20]{padding:12px var(--page-padding) 24px;flex-direction:column;gap:10px;display:flex}.hint[data-v-74250a20]{color:var(--color-text-muted);margin:0;font-size:.85rem}.error[data-v-74250a20]{color:#b42318}.row[data-v-74250a20]{background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.row--selected[data-v-74250a20]{outline:2px solid var(--color-primary)}.row strong[data-v-74250a20]{font-size:.9rem;display:block}.row span[data-v-74250a20]{color:var(--color-text-muted);font-size:.78rem}.qty[data-v-74250a20]{border:1px solid var(--color-border);text-align:center;width:64px;height:40px;font:inherit;background:var(--color-bg);color:var(--color-text);border-radius:10px}.note[data-v-74250a20]{color:var(--color-text-muted);flex-direction:column;gap:6px;font-size:.85rem;display:flex}.note textarea[data-v-74250a20]{border:1px solid var(--color-border);font:inherit;resize:vertical;background:var(--color-surface);color:var(--color-text);border-radius:12px;padding:10px 12px}.summary[data-v-74250a20]{color:var(--color-text-muted);margin:4px 0 0;font-size:.85rem}.submit[data-v-74250a20]{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:12px;min-height:48px;font-weight:700}.submit[data-v-74250a20]:disabled{opacity:.7}.linkish[data-v-74250a20]{color:var(--color-primary);cursor:pointer;background:0 0;border:none;padding:8px;font-weight:700}
-1
View File
@@ -1 +0,0 @@
.body[data-v-bad320b3]{padding:12px var(--page-padding) 24px;flex-direction:column;gap:10px;display:flex}.hint[data-v-bad320b3]{color:var(--color-text-muted);margin:0;font-size:.85rem}.error[data-v-bad320b3]{color:#b42318}.row[data-v-bad320b3]{background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.row strong[data-v-bad320b3]{font-size:.9rem;display:block}.row span[data-v-bad320b3]{color:var(--color-text-muted);font-size:.78rem}.qty[data-v-bad320b3]{border:1px solid var(--color-border);text-align:center;width:64px;height:40px;font:inherit;background:var(--color-bg);color:var(--color-text);border-radius:10px}.note[data-v-bad320b3]{color:var(--color-text-muted);flex-direction:column;gap:6px;font-size:.85rem;display:flex}.note textarea[data-v-bad320b3]{border:1px solid var(--color-border);font:inherit;resize:vertical;background:var(--color-surface);color:var(--color-text);border-radius:12px;padding:10px 12px}.summary[data-v-bad320b3]{color:var(--color-text-muted);margin:4px 0 0;font-size:.85rem}.submit[data-v-bad320b3]{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:12px;min-height:48px;font-weight:700}.submit[data-v-bad320b3]:disabled{opacity:.7}.linkish[data-v-bad320b3]{color:var(--color-primary);cursor:pointer;background:0 0;border:none;padding:8px;font-weight:700}
-1
View File
@@ -1 +0,0 @@
import{A as e,E as t,F as n,G as r,I as i,L as a,M as o,O as s,S as c,Y as l,_ as u,bt as d,ft as f,g as p,k as m,n as h,nt as g,q as _,wt as v}from"./BasicIcon-CjTTsi6o.js";import{o as y}from"./format-BHJptHdF.js";import{t as b}from"./PageHeader-WFa4BbgN.js";import{t as x}from"./PageSkeleton-CyATkHE1.js";import{t as S}from"./crm-DPw1h61_.js";import{t as C}from"./catalogRequests-CmW4jeEs.js";var w={class:`page`},T={class:`page__scroll page__scroll--with-nav body`},E={key:1,class:`error`},D=[`value`,`onInput`],O={class:`note`},k={class:`summary`},A=[`disabled`],j=h(a({__name:`CatalogRequestView`,setup(a){let h=p(),j=u(),M=S(),N=C(),P=f(!0),F=f(!1),I=f(null),L=f(``),R=f([]),z=f({}),B=s(()=>String(h.query.productId??``)),V=s(()=>R.value.filter(e=>(z.value[e.id]??0)>0).map(e=>({productId:e.id,productName:e.name,productCode:e.code,quantity:z.value[e.id]??0})));r(async()=>{P.value=!0,I.value=null;try{let e=await M.loadBrowseProducts();R.value=e,B.value&&(z.value={...z.value,[B.value]:1})}catch(e){I.value=e instanceof Error?e.message:`بارگذاری محصولات ناموفق بود.`}finally{P.value=!1}});function H(e,t){z.value={...z.value,[e]:Math.max(0,Math.floor(t)||0)}}async function U(){F.value=!0,I.value=null;try{let e=await N.create({items:V.value,note:L.value});if(!e.success){I.value=e.message;return}j.push(`/catalog-requests`)}finally{F.value=!1}}return(r,a)=>(_(),o(`div`,w,[i(b,{title:`درخواست کالیته`,"show-back":``,centered:``,onBack:a[0]||=e=>d(j).back()}),m(`div`,T,[a[4]||=m(`p`,{class:`hint`},`محصولات و تعداد اقلام موردنظر را مشخص کنید.`,-1),P.value?(_(),e(x,{key:0,variant:`form`})):I.value?(_(),o(`p`,E,v(I.value),1)):(_(),o(t,{key:2},[(_(!0),o(t,null,l(R.value,e=>(_(),o(`article`,{key:e.id,class:`row`},[m(`div`,null,[m(`strong`,null,v(e.name),1),m(`span`,null,`کد `+v(e.code),1)]),m(`input`,{class:`qty`,type:`number`,min:`0`,value:z.value[e.id]??0,onInput:t=>H(e.id,Number(t.target.value))},null,40,D)]))),128)),m(`label`,O,[a[3]||=n(` توضیحات `,-1),g(m(`textarea`,{"onUpdate:modelValue":a[1]||=e=>L.value=e,rows:`3`,placeholder:`آدرس یا توضیحات اختیاری`},null,512),[[c,L.value]])]),m(`p`,k,`اقلام انتخاب‌شده: `+v(d(y)(V.value.length)),1),m(`button`,{type:`button`,class:`submit`,disabled:F.value,onClick:U},v(F.value?`در حال ثبت...`:`ثبت درخواست کالیته`),9,A),m(`button`,{type:`button`,class:`linkish`,onClick:a[2]||=e=>d(j).push(`/catalog-requests`)},` وضعیت درخواست‌های قبلی `)],64))])]))}}),[[`__scopeId`,`data-v-bad320b3`]]);export{j as default};
@@ -1 +1 @@
import{E as e,G as t,I as n,L as r,M as i,Y as a,_ as o,bt as s,j as c,k as l,n as u,q as d,wt as f}from"./BasicIcon-CjTTsi6o.js";import{o as p}from"./format-BHJptHdF.js";import{t as m}from"./PageHeader-WFa4BbgN.js";import{t as h}from"./catalogRequests-CmW4jeEs.js";var g={class:`page`},_={class:`page__scroll page__scroll--with-nav body`},v={key:0,class:`empty`},y={class:`card__top`},b={class:`badge`},x={key:0,class:`note`},S=u(r({__name:`CatalogRequestsView`,setup(r){let u=o(),S=h();return t(()=>S.hydrate()),(t,r)=>(d(),i(`div`,g,[n(m,{title:`وضعیت کالیته‌ها`,"show-back":``,centered:``,onBack:r[0]||=e=>s(u).push(`/catalogs`)}),l(`div`,_,[l(`button`,{type:`button`,class:`new-btn`,onClick:r[1]||=e=>s(u).push(`/catalog-request`)},` درخواست کالیته جدید `),s(S).sorted.length?c(``,!0):(d(),i(`p`,v,`هنوز درخواستی ثبت نکرده‌اید.`)),(d(!0),i(e,null,a(s(S).sorted,t=>(d(),i(`article`,{key:t.id,class:`card`},[l(`div`,y,[l(`strong`,null,`درخواست `+f(t.id.slice(-6)),1),l(`span`,b,f(s(S).statusLabel(t.status)),1)]),l(`p`,null,f(t.createdAt.slice(0,10)),1),l(`p`,null,f(s(p)(t.items.length))+` قلم`,1),l(`ul`,null,[(d(!0),i(e,null,a(t.items,e=>(d(),i(`li`,{key:e.productId},f(e.productName)+` × `+f(s(p)(e.quantity)),1))),128))]),t.note?(d(),i(`p`,x,f(t.note),1)):c(``,!0)]))),128))])]))}}),[[`__scopeId`,`data-v-fc04181d`]]);export{S as default}; import{E as e,G as t,I as n,L as r,M as i,Y as a,_ as o,bt as s,j as c,k as l,n as u,q as d,wt as f}from"./BasicIcon-CjTTsi6o.js";import{o as p}from"./format-BHJptHdF.js";import{t as m}from"./PageHeader-B47bvmJV.js";import{t as h}from"./catalogRequests-CmW4jeEs.js";var g={class:`page`},_={class:`page__scroll page__scroll--with-nav body`},v={key:0,class:`empty`},y={class:`card__top`},b={class:`badge`},x={key:0,class:`note`},S=u(r({__name:`CatalogRequestsView`,setup(r){let u=o(),S=h();return t(()=>S.hydrate()),(t,r)=>(d(),i(`div`,g,[n(m,{title:`وضعیت کالیته‌ها`,"show-back":``,centered:``,onBack:r[0]||=e=>s(u).push(`/catalogs`)}),l(`div`,_,[l(`button`,{type:`button`,class:`new-btn`,onClick:r[1]||=e=>s(u).push(`/catalog-request`)},` درخواست کالیته جدید `),s(S).sorted.length?c(``,!0):(d(),i(`p`,v,`هنوز درخواستی ثبت نکرده‌اید.`)),(d(!0),i(e,null,a(s(S).sorted,t=>(d(),i(`article`,{key:t.id,class:`card`},[l(`div`,y,[l(`strong`,null,`درخواست `+f(t.id.slice(-6)),1),l(`span`,b,f(s(S).statusLabel(t.status)),1)]),l(`p`,null,f(t.createdAt.slice(0,10)),1),l(`p`,null,f(s(p)(t.items.length))+` قلم`,1),l(`ul`,null,[(d(!0),i(e,null,a(t.items,e=>(d(),i(`li`,{key:e.productId},f(e.productName)+` × `+f(s(p)(e.quantity)),1))),128))]),t.note?(d(),i(`p`,x,f(t.note),1)):c(``,!0)]))),128))])]))}}),[[`__scopeId`,`data-v-fc04181d`]]);export{S as default};
+1
View File
@@ -0,0 +1 @@
import{A as e,E as t,G as n,I as r,L as i,M as a,U as o,Y as s,_ as c,bt as l,ft as u,g as d,j as f,k as p,n as m,q as h,wt as g,xt as _}from"./BasicIcon-CjTTsi6o.js";import{t as v}from"./catalog-Dd554brK.js";import{o as y}from"./index-D3Z8WOeX.js";import{t as b}from"./PageHeader-B47bvmJV.js";import{t as x}from"./PageSkeleton-CyATkHE1.js";var S={class:`page`},C={class:`page__scroll page__scroll--with-nav catalog-hub`},w={key:1},T=[`onClick`],E={class:`calite-item__text`},D={key:0,class:`empty-hint`},O=m(i({__name:`CatalogsHubView`,setup(i){let m=d(),O=c(),k=v(),A=u([]),j=u(!0),M=u(null);n(async()=>{try{let e=await k.loadCompanies(),t=await Promise.all(e.map(e=>k.loadCatalogs(e.id)));A.value=t.flat();let n=String(m.query.id??``);if(n){let e=A.value.find(e=>e.id===n);e&&(await o(),N(e))}}catch(e){M.value=e instanceof Error?e.message:`بارگذاری کالیته‌ها ناموفق بود.`}finally{j.value=!1}});function N(e){O.push({path:`/products`,query:{catalogId:e.id,companyId:e.companyId}})}function P(e){return k.getCompany(e)?.name??`برند`}return(n,i)=>(h(),a(`div`,S,[r(b,{title:`کالیته‌ها`,"show-back":``,centered:``,onBack:i[0]||=e=>l(O).push(`/`)}),p(`div`,C,[p(`button`,{type:`button`,class:`hub-card`,onClick:i[1]||=e=>l(O).push(`/catalog-request`)},[...i[5]||=[p(`strong`,null,`درخواست کالیته فیزیکی`,-1),p(`span`,null,`ثبت اقلام و پیگیری وضعیت`,-1)]]),p(`button`,{type:`button`,class:`hub-card`,onClick:i[2]||=e=>l(O).push(`/catalog-requests`)},[...i[6]||=[p(`strong`,null,`وضعیت درخواست‌ها`,-1),p(`span`,null,`پیگیری کالیته‌های ثبت‌شده`,-1)]]),p(`button`,{type:`button`,class:`hub-card`,onClick:i[3]||=e=>l(O).push(`/categories`)},[...i[7]||=[p(`strong`,null,`مشاهده دسته‌بندی‌ها`,-1),p(`span`,null,`انتخاب بر اساس کاربرد و فصل`,-1)]]),p(`button`,{type:`button`,class:`hub-card`,onClick:i[4]||=e=>l(O).push(`/products`)},[...i[8]||=[p(`strong`,null,`همه محصولات`,-1),p(`span`,null,`مشاهده کاتالوگ و ثبت سفارش`,-1)]]),j.value?(h(),e(x,{key:0,variant:`grid`})):M.value?(h(),a(`p`,w,g(M.value),1)):(h(),a(t,{key:2},[i[9]||=p(`h2`,{class:`section-title`},`کالیته‌های موجود`,-1),(h(!0),a(t,null,s(A.value,e=>(h(),a(`button`,{key:e.id,type:`button`,class:_([`calite-item`,{"calite-item--focus":String(l(m).query.id??``)===e.id}]),onClick:t=>N(e)},[p(`div`,E,[p(`strong`,null,g(e.name),1),p(`span`,null,`کد `+g(e.code),1),p(`em`,null,g(P(e.companyId)),1)]),r(y,{size:18,color:`#9aa3a0`})],10,T))),128)),A.value.length?f(``,!0):(h(),a(`p`,D,`کالیته‌ای یافت نشد.`))],64))])]))}}),[[`__scopeId`,`data-v-a452107a`]]);export{O as default};
+1
View File
@@ -0,0 +1 @@
.catalog-hub[data-v-a452107a]{padding:12px var(--page-padding) 24px;flex-direction:column;gap:10px;display:flex}.section-title[data-v-a452107a]{margin:8px 0 0;font-size:.95rem}.hub-card[data-v-a452107a],.calite-item[data-v-a452107a]{text-align:start;background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);cursor:pointer;border:none;flex-direction:column;align-items:stretch;gap:4px;width:100%;padding:14px;display:flex}.calite-item[data-v-a452107a]{flex-direction:row;justify-content:space-between;align-items:center;gap:12px}.calite-item--focus[data-v-a452107a]{outline:2px solid var(--color-primary)}.calite-item__text[data-v-a452107a]{flex-direction:column;gap:4px;min-width:0;display:flex}.calite-item strong[data-v-a452107a]{color:var(--color-text);font-size:.95rem;font-weight:700;line-height:1.5;display:block}.hub-card span[data-v-a452107a],.calite-item span[data-v-a452107a],.calite-item em[data-v-a452107a]{color:var(--color-text-muted);font-size:.8rem;font-style:normal;line-height:1.5;display:block}.empty-hint[data-v-a452107a]{color:var(--color-text-muted);text-align:center;margin:12px 0 0}
-1
View File
@@ -1 +0,0 @@
import{A as e,E as t,G as n,I as r,L as i,M as a,U as o,Y as s,_ as c,bt as l,ft as u,g as d,j as f,k as p,n as m,q as h,wt as g,xt as _}from"./BasicIcon-CjTTsi6o.js";import{t as v}from"./catalog-Dd554brK.js";import{o as y}from"./index-BQQA5ZX-.js";import{t as b}from"./PageHeader-WFa4BbgN.js";import{t as x}from"./PageSkeleton-CyATkHE1.js";var S={class:`page`},C={class:`page__scroll page__scroll--with-nav catalog-hub`},w={key:1},T=[`onClick`],E={class:`calite-item__text`},D={key:0,class:`empty-hint`},O=m(i({__name:`CatalogsHubView`,setup(i){let m=d(),O=c(),k=v(),A=u([]),j=u(!0),M=u(null);n(async()=>{try{let e=await k.loadCompanies(),t=await Promise.all(e.map(e=>k.loadCatalogs(e.id)));A.value=t.flat();let n=String(m.query.id??``);if(n){let e=A.value.find(e=>e.id===n);e&&(await o(),N(e))}}catch(e){M.value=e instanceof Error?e.message:`بارگذاری کالیته‌ها ناموفق بود.`}finally{j.value=!1}});function N(e){O.push({path:`/companies/${e.companyId}/catalogs/${e.id}/products`})}function P(e){return k.getCompany(e)?.name??`برند`}return(n,i)=>(h(),a(`div`,S,[r(b,{title:`کالیته‌ها`,"show-back":``,centered:``,onBack:i[0]||=e=>l(O).push(`/`)}),p(`div`,C,[p(`button`,{type:`button`,class:`hub-card`,onClick:i[1]||=e=>l(O).push(`/catalog-request`)},[...i[5]||=[p(`strong`,null,`درخواست کالیته فیزیکی`,-1),p(`span`,null,`ثبت اقلام و پیگیری وضعیت`,-1)]]),p(`button`,{type:`button`,class:`hub-card`,onClick:i[2]||=e=>l(O).push(`/catalog-requests`)},[...i[6]||=[p(`strong`,null,`وضعیت درخواست‌ها`,-1),p(`span`,null,`پیگیری کالیته‌های ثبت‌شده`,-1)]]),p(`button`,{type:`button`,class:`hub-card`,onClick:i[3]||=e=>l(O).push(`/categories`)},[...i[7]||=[p(`strong`,null,`مشاهده دسته‌بندی‌ها`,-1),p(`span`,null,`انتخاب بر اساس کاربرد و فصل`,-1)]]),p(`button`,{type:`button`,class:`hub-card`,onClick:i[4]||=e=>l(O).push(`/companies`)},[...i[8]||=[p(`strong`,null,`کالیته‌های برندها`,-1),p(`span`,null,`مسیر انتخاب شرکت و کالیته`,-1)]]),j.value?(h(),e(x,{key:0,variant:`grid`})):M.value?(h(),a(`p`,w,g(M.value),1)):(h(),a(t,{key:2},[i[9]||=p(`h2`,{class:`section-title`},`کالیته‌های موجود`,-1),(h(!0),a(t,null,s(A.value,e=>(h(),a(`button`,{key:e.id,type:`button`,class:_([`calite-item`,{"calite-item--focus":String(l(m).query.id??``)===e.id}]),onClick:t=>N(e)},[p(`div`,E,[p(`strong`,null,g(e.name),1),p(`span`,null,`کد `+g(e.code),1),p(`em`,null,g(P(e.companyId)),1)]),r(y,{size:18,color:`#9aa3a0`})],10,T))),128)),A.value.length?f(``,!0):(h(),a(`p`,D,`کالیته‌ای یافت نشد.`))],64))])]))}}),[[`__scopeId`,`data-v-c021c7aa`]]);export{O as default};
-1
View File
@@ -1 +0,0 @@
.catalog-hub[data-v-c021c7aa]{padding:12px var(--page-padding) 24px;flex-direction:column;gap:10px;display:flex}.section-title[data-v-c021c7aa]{margin:8px 0 0;font-size:.95rem}.hub-card[data-v-c021c7aa],.calite-item[data-v-c021c7aa]{text-align:start;background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);cursor:pointer;border:none;flex-direction:column;align-items:stretch;gap:4px;width:100%;padding:14px;display:flex}.calite-item[data-v-c021c7aa]{flex-direction:row;justify-content:space-between;align-items:center;gap:12px}.calite-item--focus[data-v-c021c7aa]{outline:2px solid var(--color-primary)}.calite-item__text[data-v-c021c7aa]{flex-direction:column;gap:4px;min-width:0;display:flex}.calite-item strong[data-v-c021c7aa]{color:var(--color-text);font-size:.95rem;font-weight:700;line-height:1.5;display:block}.hub-card span[data-v-c021c7aa],.calite-item span[data-v-c021c7aa],.calite-item em[data-v-c021c7aa]{color:var(--color-text-muted);font-size:.8rem;font-style:normal;line-height:1.5;display:block}.empty-hint[data-v-c021c7aa]{color:var(--color-text-muted);text-align:center;margin:12px 0 0}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+1
View File
@@ -0,0 +1 @@
.categories-page[data-v-ff74517b]{background:var(--color-bg)}.cat-top[data-v-ff74517b]{padding:10px var(--page-padding);background:var(--color-surface);color:var(--color-text);grid-template-columns:40px 1fr auto;align-items:center;gap:4px;display:grid}.cat-top__title[data-v-ff74517b]{text-align:center;margin:0;font-size:1rem}.cat-top__actions[data-v-ff74517b]{color:inherit;align-items:center;gap:0;display:flex}.icon-btn[data-v-ff74517b]{cursor:pointer;width:40px;height:40px;color:var(--color-text);background:0 0;border:none;border-radius:12px;place-items:center;display:grid}.cat-scroll[data-v-ff74517b]{padding:16px var(--page-padding) 24px;flex-direction:column;gap:22px;display:flex}.block-title[data-v-ff74517b]{margin:0;font-size:1.05rem}.block-sub[data-v-ff74517b]{color:var(--color-text-muted);margin:4px 0 12px;font-size:.8rem}.usage-grid[data-v-ff74517b]{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.usage-card[data-v-ff74517b]{background:var(--color-surface);border-radius:var(--radius-md);text-align:start;cursor:pointer;box-shadow:var(--shadow-sm);border:none;padding:0;overflow:hidden}.usage-card__image[data-v-ff74517b]{background:linear-gradient(140deg,#6b7280,#1f2937) 50%/cover no-repeat;height:96px;position:relative}.usage-card__image--suit[data-v-ff74517b]{background:linear-gradient(150deg,#2c3038,#111318) 50%/cover no-repeat}.usage-card__image--shirt[data-v-ff74517b]{background:linear-gradient(150deg,#e8eef3,#9aa8b5) 50%/cover no-repeat}.usage-card__image--trousers[data-v-ff74517b]{background:linear-gradient(150deg,#1a1d24,#0b0d12) 50%/cover no-repeat}.usage-card__icon[data-v-ff74517b]{background:var(--color-surface);width:28px;height:28px;color:var(--color-primary);border-radius:999px;place-items:center;display:grid;position:absolute;bottom:-12px;left:50%;transform:translate(-50%);box-shadow:0 2px 8px #0000001f}.usage-card__body[data-v-ff74517b]{flex-direction:column;gap:6px;padding:18px 8px 12px;display:flex}.usage-card__body strong[data-v-ff74517b]{font-size:.72rem;line-height:1.5}.usage-card__link[data-v-ff74517b]{color:var(--color-info);align-items:center;gap:2px;font-size:.65rem;display:inline-flex}.season-stack[data-v-ff74517b]{flex-direction:column;gap:10px;display:flex}.season-card[data-v-ff74517b]{background:var(--color-surface);border-radius:var(--radius-lg);text-align:start;cursor:pointer;box-shadow:var(--shadow-sm);border:none;grid-template-columns:1fr 42%;padding:0;display:grid;overflow:hidden}.season-card__image[data-v-ff74517b]{background:linear-gradient(160deg,#d6c3a8,#8b7355) 50%/cover no-repeat;min-height:124px}.season-card__image--summer[data-v-ff74517b]{background:linear-gradient(160deg,#f3e6c8,#c4a574) 50%/cover no-repeat}.season-card__image--winter[data-v-ff74517b]{background:linear-gradient(160deg,#cfd6de,#7d8b99) 50%/cover no-repeat}.season-card__image--all_season[data-v-ff74517b]{background:linear-gradient(160deg,#efe6d6,#b9a48a) 50%/cover no-repeat}.season-card__body[data-v-ff74517b]{padding:12px}.season-card__body strong[data-v-ff74517b]{margin-bottom:0;display:block}.season-card__title-row[data-v-ff74517b]{align-items:center;gap:8px;margin-bottom:4px;display:flex}.season-card__icon[data-v-ff74517b]{background:var(--color-primary-soft);width:28px;height:28px;color:var(--color-primary);border-radius:999px;flex-shrink:0;place-items:center;display:grid}.season-card__body p[data-v-ff74517b]{color:var(--color-text-muted);margin:0 0 8px;font-size:.75rem;line-height:1.6}.feature-row[data-v-ff74517b]{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.feature-card[data-v-ff74517b]{background:#f3f4f6;border-radius:12px;flex-direction:row;align-items:center;gap:8px;min-width:0;padding:10px 8px;display:flex}.feature-card--link[data-v-ff74517b]{cursor:pointer}.feature-card__icon[data-v-ff74517b]{width:22px;height:22px;color:var(--color-text);flex-shrink:0;place-items:center;display:grid}.feature-card__text[data-v-ff74517b]{text-align:start;flex-direction:column;gap:2px;min-width:0;display:flex}.feature-card__text strong[data-v-ff74517b]{color:var(--color-text);font-size:.6875rem;font-weight:700;line-height:1.35}.feature-card__text span[data-v-ff74517b]{color:var(--color-text-muted);font-size:.625rem;line-height:1.35}
-1
View File
@@ -1 +0,0 @@
.categories-page[data-v-ce0d068d]{background:var(--color-bg)}.cat-top[data-v-ce0d068d]{padding:10px var(--page-padding);background:var(--color-surface);color:var(--color-text);grid-template-columns:40px 1fr auto;align-items:center;gap:4px;display:grid}.cat-top__title[data-v-ce0d068d]{text-align:center;margin:0;font-size:1rem}.cat-top__actions[data-v-ce0d068d]{color:inherit;align-items:center;gap:0;display:flex}.icon-btn[data-v-ce0d068d]{cursor:pointer;width:40px;height:40px;color:var(--color-text);background:0 0;border:none;border-radius:12px;place-items:center;display:grid}.cat-scroll[data-v-ce0d068d]{padding:16px var(--page-padding) 24px;flex-direction:column;gap:22px;display:flex}.block-title[data-v-ce0d068d]{margin:0;font-size:1.05rem}.block-sub[data-v-ce0d068d]{color:var(--color-text-muted);margin:4px 0 12px;font-size:.8rem}.usage-grid[data-v-ce0d068d]{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.usage-card[data-v-ce0d068d]{background:var(--color-surface);border-radius:var(--radius-md);text-align:start;cursor:pointer;box-shadow:var(--shadow-sm);border:none;padding:0;overflow:hidden}.usage-card__image[data-v-ce0d068d]{background:linear-gradient(140deg,#6b7280,#1f2937) 50%/cover no-repeat;height:72px;position:relative}.usage-card__icon[data-v-ce0d068d]{background:var(--color-surface);width:28px;height:28px;color:var(--color-primary);border-radius:999px;place-items:center;display:grid;position:absolute;bottom:-12px;left:50%;transform:translate(-50%);box-shadow:0 2px 8px #0000001f}.usage-card__body[data-v-ce0d068d]{flex-direction:column;gap:6px;padding:18px 8px 12px;display:flex}.usage-card__body strong[data-v-ce0d068d]{font-size:.72rem;line-height:1.5}.usage-card__link[data-v-ce0d068d]{color:var(--color-info);align-items:center;gap:2px;font-size:.65rem;display:inline-flex}.season-stack[data-v-ce0d068d]{flex-direction:column;gap:10px;display:flex}.season-card[data-v-ce0d068d]{background:var(--color-surface);border-radius:var(--radius-lg);text-align:start;cursor:pointer;box-shadow:var(--shadow-sm);border:none;grid-template-columns:110px 1fr;padding:0;display:grid;overflow:hidden}.season-card__image[data-v-ce0d068d]{background:linear-gradient(160deg,#d6c3a8,#8b7355) 50%/cover no-repeat;min-height:100px}.season-card__body[data-v-ce0d068d]{padding:12px}.season-card__body strong[data-v-ce0d068d]{margin-bottom:0;display:block}.season-card__title-row[data-v-ce0d068d]{align-items:center;gap:8px;margin-bottom:4px;display:flex}.season-card__icon[data-v-ce0d068d]{background:var(--color-primary-soft);width:28px;height:28px;color:var(--color-primary);border-radius:999px;flex-shrink:0;place-items:center;display:grid}.season-card__body p[data-v-ce0d068d]{color:var(--color-text-muted);margin:0 0 8px;font-size:.75rem;line-height:1.6}.feature-row[data-v-ce0d068d]{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.feature-card[data-v-ce0d068d]{background:#f3f4f6;border-radius:12px;flex-direction:row;align-items:center;gap:8px;min-width:0;padding:10px 8px;display:flex}.feature-card--link[data-v-ce0d068d]{cursor:pointer}.feature-card__icon[data-v-ce0d068d]{width:22px;height:22px;color:var(--color-text);flex-shrink:0;place-items:center;display:grid}.feature-card__text[data-v-ce0d068d]{text-align:start;flex-direction:column;gap:2px;min-width:0;display:flex}.feature-card__text strong[data-v-ce0d068d]{color:var(--color-text);font-size:.6875rem;font-weight:700;line-height:1.35}.feature-card__text span[data-v-ce0d068d]{color:var(--color-text-muted);font-size:.625rem;line-height:1.35}
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{$ as e,I as t,L as n,M as r,O as i,_ as a,bt as o,k as s,n as c,q as l,wt as u}from"./BasicIcon-CjTTsi6o.js";import{n as d}from"./format-BHJptHdF.js";import{h as f,y as p}from"./index-BQQA5ZX-.js";import{t as m}from"./IconEditPen-CUhGotGH.js";import{t as h}from"./PageHeader-WFa4BbgN.js";import{t as g}from"./useRequirePricedOrder-bwpoZWB1.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=c(n({__name:`CheckModeSelectView`,setup(n){let c=a(),w=f(),{orderId:T,order:E}=g(),D=i(()=>E.value?.finalAmount?d(E.value.finalAmount):`—`);e(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),c.push(`/orders/${T.value}/check-form`)}return(e,n)=>(l(),r(`div`,_,[t(h,{title:`تسویه چکی`,subtitle:`بر اساس مبلغ فاکتور، نحوه ثبت چک را انتخاب کنید`,"show-back":``,centered:``,onBack:n[0]||=e=>o(c).push(`/orders/${o(T)}`)}),s(`div`,v,[s(`div`,y,[n[3]||=s(`span`,{class:`check-mode-invoice__label`},`مبلغ فاکتور`,-1),s(`strong`,b,u(D.value),1)]),s(`div`,x,[s(`button`,{type:`button`,class:`mode-card`,onClick:n[1]||=e=>O(`full`)},[s(`span`,S,[t(p,{size:36})]),n[4]||=s(`h3`,{class:`mode-card__title`},`ثبت کامل (پیشنهادی)`,-1),n[5]||=s(`p`,{class:`mode-card__desc`},`وارد کردن همه اطلاعات چک`,-1)]),s(`button`,{type:`button`,class:`mode-card`,onClick:n[2]||=e=>O(`brief`)},[s(`span`,C,[t(m,{size:36})]),n[6]||=s(`h3`,{class:`mode-card__title`},`ثبت مختصر`,-1),n[7]||=s(`p`,{class:`mode-card__desc`},`وارد کردن حداقل اطلاعات`,-1)])])])]))}}),[[`__scopeId`,`data-v-680065b0`]]);export{w as default}; import{$ as e,I as t,L as n,M as r,O as i,_ as a,bt as o,k as s,n as c,q as l,wt as u}from"./BasicIcon-CjTTsi6o.js";import{n as d}from"./format-BHJptHdF.js";import{h as f,y as p}from"./index-D3Z8WOeX.js";import{t as m}from"./IconEditPen-CUhGotGH.js";import{t as h}from"./PageHeader-B47bvmJV.js";import{t as g}from"./useRequirePricedOrder-a2bgwmwB.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=c(n({__name:`CheckModeSelectView`,setup(n){let c=a(),w=f(),{orderId:T,order:E}=g(),D=i(()=>E.value?.finalAmount?d(E.value.finalAmount):`—`);e(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),c.push(`/orders/${T.value}/check-form`)}return(e,n)=>(l(),r(`div`,_,[t(h,{title:`تسویه چکی`,subtitle:`بر اساس مبلغ فاکتور، نحوه ثبت چک را انتخاب کنید`,"show-back":``,centered:``,onBack:n[0]||=e=>o(c).push(`/orders/${o(T)}`)}),s(`div`,v,[s(`div`,y,[n[3]||=s(`span`,{class:`check-mode-invoice__label`},`مبلغ فاکتور`,-1),s(`strong`,b,u(D.value),1)]),s(`div`,x,[s(`button`,{type:`button`,class:`mode-card`,onClick:n[1]||=e=>O(`full`)},[s(`span`,S,[t(p,{size:36})]),n[4]||=s(`h3`,{class:`mode-card__title`},`ثبت کامل (پیشنهادی)`,-1),n[5]||=s(`p`,{class:`mode-card__desc`},`وارد کردن همه اطلاعات چک`,-1)]),s(`button`,{type:`button`,class:`mode-card`,onClick:n[2]||=e=>O(`brief`)},[s(`span`,C,[t(m,{size:36})]),n[6]||=s(`h3`,{class:`mode-card__title`},`ثبت مختصر`,-1),n[7]||=s(`p`,{class:`mode-card__desc`},`وارد کردن حداقل اطلاعات`,-1)])])])]))}}),[[`__scopeId`,`data-v-680065b0`]]);export{w as default};
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
import{F as e,I as t,L as n,M as r,_ as i,bt as a,ft as o,k as s,n as c,q as l,tt as u}from"./BasicIcon-CjTTsi6o.js";import{t as d}from"./http-Bfs7sUUO.js";import{c as f}from"./format-BHJptHdF.js";import{a as p}from"./validation-BD7oi-2I.js";import{c as m,n as h}from"./index-BQQA5ZX-.js";import{t as g}from"./BaseInput-oWA7d1_u.js";import{t as _}from"./FormErrorBanner-B8THF9oG.js";import{n as v,r as y,t as b}from"./formErrors-DglFjYkZ.js";import{t as x}from"./PageHeader-WFa4BbgN.js";import{t as S}from"./crm-DPw1h61_.js";import{t as C}from"./useGoBack-D3aJ73Q-.js";var w={class:`page customer-create-page`},T={class:`page__scroll customer-create-scroll`},E={class:`form-card`},D={class:`footer`},O=c(n({__name:`CustomerCreateView`,setup(n){let c=i(),O=m(),k=S(),{goBack:A}=C(`/customers`),j=o(``),M=o(``),N=o(``),P=o(``),F=o({}),I=o(``),L=o(!1);function R(e){F.value=v(F.value,e),y(F.value)||(I.value=``)}async function z(){if(F.value={},I.value=``,!O.isAgent){I.value=`فقط واسطه می‌تواند مشتری به لیست خود اضافه کند.`;return}let e=f(N.value),t={};if(j.value.trim()||(t.firstName=`نام الزامی است.`),M.value.trim()||(t.lastName=`نام خانوادگی الزامی است.`),p(e)||(t.phone=`شماره موبایل معتبر نیست.`),y(t)){F.value=t,I.value=b;return}L.value=!0;try{let t=await k.registerCustomer({firstName:j.value.trim(),lastName:M.value.trim(),phone:e,businessName:P.value.trim()||void 0});if(t?.id){await c.replace({path:`/customer`,query:{id:t.id}});return}await c.replace(`/customers`)}catch(e){I.value=e instanceof d||e instanceof Error?e.message:`ثبت مشتری ناموفق بود.`}finally{L.value=!1}}return(n,i)=>(l(),r(`div`,w,[t(x,{title:`افزودن مشتری`,"show-back":``,centered:``,onBack:a(A)},null,8,[`onBack`]),s(`div`,T,[i[7]||=s(`p`,{class:`intro`},` مشتری به لیست شما اضافه می‌شود و بعد از ورود با همین شماره، سفارش‌هایش به حساب شما وصل می‌ماند. `,-1),t(_,{message:I.value},null,8,[`message`]),s(`div`,E,[t(g,{modelValue:j.value,"onUpdate:modelValue":[i[0]||=e=>j.value=e,i[1]||=e=>R(`firstName`)],label:`نام`,placeholder:`نام مشتری`,error:F.value.firstName},null,8,[`modelValue`,`error`]),t(g,{modelValue:M.value,"onUpdate:modelValue":[i[2]||=e=>M.value=e,i[3]||=e=>R(`lastName`)],label:`نام خانوادگی`,placeholder:`نام خانوادگی`,error:F.value.lastName},null,8,[`modelValue`,`error`]),t(g,{modelValue:N.value,"onUpdate:modelValue":[i[4]||=e=>N.value=e,i[5]||=e=>R(`phone`)],label:`شماره موبایل`,type:`tel`,inputmode:`tel`,dir:`ltr`,placeholder:`۰۹۱۲۳۴۵۶۷۸۹`,error:F.value.phone},null,8,[`modelValue`,`error`]),t(g,{modelValue:P.value,"onUpdate:modelValue":i[6]||=e=>P.value=e,label:`نام فروشگاه یا برند (اختیاری)`,placeholder:`مثلاً بوتیک رز`},null,8,[`modelValue`])])]),s(`footer`,D,[t(h,{block:``,loading:L.value,disabled:L.value,onClick:z},{default:u(()=>[...i[8]||=[e(` ثبت مشتری `,-1)]]),_:1},8,[`loading`,`disabled`])])]))}}),[[`__scopeId`,`data-v-f29dd241`]]);export{O as default}; import{F as e,I as t,L as n,M as r,_ as i,bt as a,ft as o,k as s,n as c,q as l,tt as u}from"./BasicIcon-CjTTsi6o.js";import{t as d}from"./http-Bfs7sUUO.js";import{c as f}from"./format-BHJptHdF.js";import{a as p}from"./validation-BD7oi-2I.js";import{c as m,n as h}from"./index-D3Z8WOeX.js";import{t as g}from"./BaseInput-oWA7d1_u.js";import{t as _}from"./FormErrorBanner-B8THF9oG.js";import{n as v,r as y,t as b}from"./formErrors-DglFjYkZ.js";import{t as x}from"./PageHeader-B47bvmJV.js";import{t as S}from"./crm-l0KpZ2AN.js";import{t as C}from"./useGoBack-D3aJ73Q-.js";var w={class:`page customer-create-page`},T={class:`page__scroll customer-create-scroll`},E={class:`form-card`},D={class:`footer`},O=c(n({__name:`CustomerCreateView`,setup(n){let c=i(),O=m(),k=S(),{goBack:A}=C(`/customers`),j=o(``),M=o(``),N=o(``),P=o(``),F=o({}),I=o(``),L=o(!1);function R(e){F.value=v(F.value,e),y(F.value)||(I.value=``)}async function z(){if(F.value={},I.value=``,!O.isAgent){I.value=`فقط واسطه می‌تواند مشتری به لیست خود اضافه کند.`;return}let e=f(N.value),t={};if(j.value.trim()||(t.firstName=`نام الزامی است.`),M.value.trim()||(t.lastName=`نام خانوادگی الزامی است.`),p(e)||(t.phone=`شماره موبایل معتبر نیست.`),y(t)){F.value=t,I.value=b;return}L.value=!0;try{let t=await k.registerCustomer({firstName:j.value.trim(),lastName:M.value.trim(),phone:e,businessName:P.value.trim()||void 0});if(t?.id){await c.replace({path:`/customer`,query:{id:t.id}});return}await c.replace(`/customers`)}catch(e){I.value=e instanceof d||e instanceof Error?e.message:`ثبت مشتری ناموفق بود.`}finally{L.value=!1}}return(n,i)=>(l(),r(`div`,w,[t(x,{title:`افزودن مشتری`,"show-back":``,centered:``,onBack:a(A)},null,8,[`onBack`]),s(`div`,T,[i[7]||=s(`p`,{class:`intro`},` مشتری به لیست شما اضافه می‌شود و بعد از ورود با همین شماره، سفارش‌هایش به حساب شما وصل می‌ماند. `,-1),t(_,{message:I.value},null,8,[`message`]),s(`div`,E,[t(g,{modelValue:j.value,"onUpdate:modelValue":[i[0]||=e=>j.value=e,i[1]||=e=>R(`firstName`)],label:`نام`,placeholder:`نام مشتری`,error:F.value.firstName},null,8,[`modelValue`,`error`]),t(g,{modelValue:M.value,"onUpdate:modelValue":[i[2]||=e=>M.value=e,i[3]||=e=>R(`lastName`)],label:`نام خانوادگی`,placeholder:`نام خانوادگی`,error:F.value.lastName},null,8,[`modelValue`,`error`]),t(g,{modelValue:N.value,"onUpdate:modelValue":[i[4]||=e=>N.value=e,i[5]||=e=>R(`phone`)],label:`شماره موبایل`,type:`tel`,inputmode:`tel`,dir:`ltr`,placeholder:`۰۹۱۲۳۴۵۶۷۸۹`,error:F.value.phone},null,8,[`modelValue`,`error`]),t(g,{modelValue:P.value,"onUpdate:modelValue":i[6]||=e=>P.value=e,label:`نام فروشگاه یا برند (اختیاری)`,placeholder:`مثلاً بوتیک رز`},null,8,[`modelValue`])])]),s(`footer`,D,[t(h,{block:``,loading:L.value,disabled:L.value,onClick:z},{default:u(()=>[...i[8]||=[e(` ثبت مشتری `,-1)]]),_:1},8,[`loading`,`disabled`])])]))}}),[[`__scopeId`,`data-v-f29dd241`]]);export{O 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{$ as e,A as t,Ct as n,E as r,G as i,I as a,L as o,M as s,O as c,Y as l,_ as u,bt as d,ft as f,g as p,j as m,k as h,n as g,q as _,tt as v,wt as y,xt as b}from"./BasicIcon-CjTTsi6o.js";import{o as x}from"./format-BHJptHdF.js";import{o as S,v as C,x as ee}from"./index-BQQA5ZX-.js";import{t as te}from"./IconFilter-lDKrtGms.js";import{t as w}from"./PageHeader-WFa4BbgN.js";import{t as T}from"./SearchField-Ao52FWA8.js";import{t as E}from"./PageSkeleton-CyATkHE1.js";import{t as D}from"./crm-DPw1h61_.js";var O={class:`page customers-page`},k={class:`page__scroll page__scroll--with-nav customers-scroll`},A={class:`toolbar`},j={class:`summary-card`},M={class:`summary-card__icon`,"aria-hidden":`true`},N={class:`summary-card__cols`},P={class:`tabs`,role:`tablist`},F=[`aria-selected`,`onClick`],I={class:`tab__text`},L={key:1},R=[`onClick`],ne={class:`customer-card__body`},z={class:`customer-card__top`},B={dir:`ltr`},V=g(o({__name:`CustomersView`,setup(o){let g=p(),V=u(),H=D(),U=f(String(g.query.q??``)),W=c(()=>String(g.query.status??`all`)),G=f([]),K=f(!0),q=f(null),J=c(()=>G.value),Y=c(()=>G.value.filter(e=>e.status===`active`).length),X=c(()=>G.value.reduce((e,t)=>e+t.totalPurchaseToman,0)),Z=[{id:`all`,label:`همه`},{id:`active`,label:`فعال`},{id:`inactive`,label:`غیرفعال`},{id:`new`,label:`جدید`}];async function Q(){K.value=!0,q.value=null;try{G.value=await H.loadCustomers({q:U.value||void 0,status:W.value===`all`?void 0:W.value})}catch(e){q.value=e instanceof Error?e.message:`بارگذاری مشتریان ناموفق بود.`,G.value=[]}finally{K.value=!1}}i(Q),e([W,U],Q);function $(e){V.replace({path:`/customers`,query:{...e===`all`?{}:{status:e},...U.value?{q:U.value}:{}}})}function re(e){U.value=e,V.replace({path:`/customers`,query:{...W.value===`all`?{}:{status:W.value},...e?{q:e}:{}}})}function ie(e){return e===`active`?`فعال`:e===`inactive`?`غیرفعال`:`جدید`}function ae(){V.push(`/customers/new`)}function oe(){let e=[`all`,`active`,`inactive`,`new`],t=e.indexOf(W.value);$(e[(t<0?0:t+1)%e.length]??`all`)}return(e,i)=>(_(),s(`div`,O,[a(w,{title:`مشتریان من`,"show-back":``,centered:``,onBack:i[0]||=e=>d(V).back()},{trailing:v(()=>[h(`button`,{type:`button`,class:`nav-add-btn`,"aria-label":`ثبت مشتری`,onClick:ae},[a(C,{size:22})])]),_:1}),h(`div`,k,[h(`div`,A,[a(T,{"model-value":U.value,placeholder:`جستجو بر اساس نام یا موبایل...`,"onUpdate:modelValue":re},null,8,[`model-value`]),h(`button`,{type:`button`,class:`filter-btn`,"aria-label":`فیلتر وضعیت`,onClick:oe},[a(te,{size:18})])]),h(`section`,j,[h(`div`,M,[a(ee,{size:22,color:`#fff`})]),h(`div`,N,[h(`div`,null,[i[1]||=h(`span`,null,`تعداد مشتری فعال`,-1),h(`strong`,null,y(d(x)(Y.value)),1)]),i[4]||=h(`span`,{class:`summary-card__divider`,"aria-hidden":`true`},null,-1),h(`div`,null,[i[2]||=h(`span`,null,`مجموع خرید (ریال)`,-1),h(`strong`,null,y(d(x)(X.value)),1),i[3]||=h(`em`,null,`تومان`,-1)])])]),h(`div`,P,[(_(),s(r,null,l(Z,e=>h(`button`,{key:e.id,type:`button`,role:`tab`,class:b([`tab`,{"tab--active":W.value===e.id}]),"aria-selected":W.value===e.id,onClick:t=>$(e.id)},[h(`span`,I,y(e.label),1)],10,F)),64))]),K.value?(_(),t(E,{key:0,variant:`list`})):q.value?(_(),s(`p`,L,y(q.value),1)):m(``,!0),(_(!0),s(r,null,l(J.value,e=>(_(),s(`button`,{key:e.id,type:`button`,class:`customer-card`,onClick:t=>d(V).push({path:`/customer`,query:{id:e.id}})},[h(`div`,{class:`customer-card__avatar`,style:n({background:e.avatarColor})},y(e.avatarLetter),5),h(`div`,ne,[h(`div`,z,[h(`strong`,null,y(e.name),1),h(`span`,{class:b([`status`,e.status===`active`?`status--ok`:`status--muted`])},y(ie(e.status)),3)]),h(`p`,B,y(e.phone),1),h(`p`,null,`مجموع خرید: `+y(d(x)(e.totalPurchaseToman))+` تومان`,1)]),a(S,{size:18,class:`chevron`})],8,R))),128)),i[5]||=h(`section`,{class:`promo`},[h(`div`,null,[h(`strong`,null,`افزایش مشتریان = افزایش سطح شما`),h(`p`,null,`با جذب مشتریان بیشتر به سطح VIP برسید`)])],-1)])]))}}),[[`__scopeId`,`data-v-d0b58aa9`]]);export{V as default}; import{$ as e,A as t,Ct as n,E as r,G as i,I as a,L as o,M as s,O as c,Y as l,_ as u,bt as d,ft as f,g as p,j as m,k as h,n as g,q as _,tt as v,wt as y,xt as b}from"./BasicIcon-CjTTsi6o.js";import{o as x}from"./format-BHJptHdF.js";import{o as S,v as C,x as ee}from"./index-D3Z8WOeX.js";import{t as te}from"./IconFilter-lDKrtGms.js";import{t as w}from"./PageHeader-B47bvmJV.js";import{t as T}from"./SearchField-Ao52FWA8.js";import{t as E}from"./PageSkeleton-CyATkHE1.js";import{t as D}from"./crm-l0KpZ2AN.js";var O={class:`page customers-page`},k={class:`page__scroll page__scroll--with-nav customers-scroll`},A={class:`toolbar`},j={class:`summary-card`},M={class:`summary-card__icon`,"aria-hidden":`true`},N={class:`summary-card__cols`},P={class:`tabs`,role:`tablist`},F=[`aria-selected`,`onClick`],I={class:`tab__text`},L={key:1},R=[`onClick`],ne={class:`customer-card__body`},z={class:`customer-card__top`},B={dir:`ltr`},V=g(o({__name:`CustomersView`,setup(o){let g=p(),V=u(),H=D(),U=f(String(g.query.q??``)),W=c(()=>String(g.query.status??`all`)),G=f([]),K=f(!0),q=f(null),J=c(()=>G.value),Y=c(()=>G.value.filter(e=>e.status===`active`).length),X=c(()=>G.value.reduce((e,t)=>e+t.totalPurchaseToman,0)),Z=[{id:`all`,label:`همه`},{id:`active`,label:`فعال`},{id:`inactive`,label:`غیرفعال`},{id:`new`,label:`جدید`}];async function Q(){K.value=!0,q.value=null;try{G.value=await H.loadCustomers({q:U.value||void 0,status:W.value===`all`?void 0:W.value})}catch(e){q.value=e instanceof Error?e.message:`بارگذاری مشتریان ناموفق بود.`,G.value=[]}finally{K.value=!1}}i(Q),e([W,U],Q);function $(e){V.replace({path:`/customers`,query:{...e===`all`?{}:{status:e},...U.value?{q:U.value}:{}}})}function re(e){U.value=e,V.replace({path:`/customers`,query:{...W.value===`all`?{}:{status:W.value},...e?{q:e}:{}}})}function ie(e){return e===`active`?`فعال`:e===`inactive`?`غیرفعال`:`جدید`}function ae(){V.push(`/customers/new`)}function oe(){let e=[`all`,`active`,`inactive`,`new`],t=e.indexOf(W.value);$(e[(t<0?0:t+1)%e.length]??`all`)}return(e,i)=>(_(),s(`div`,O,[a(w,{title:`مشتریان من`,"show-back":``,centered:``,onBack:i[0]||=e=>d(V).back()},{trailing:v(()=>[h(`button`,{type:`button`,class:`nav-add-btn`,"aria-label":`ثبت مشتری`,onClick:ae},[a(C,{size:22})])]),_:1}),h(`div`,k,[h(`div`,A,[a(T,{"model-value":U.value,placeholder:`جستجو بر اساس نام یا موبایل...`,"onUpdate:modelValue":re},null,8,[`model-value`]),h(`button`,{type:`button`,class:`filter-btn`,"aria-label":`فیلتر وضعیت`,onClick:oe},[a(te,{size:18})])]),h(`section`,j,[h(`div`,M,[a(ee,{size:22,color:`#fff`})]),h(`div`,N,[h(`div`,null,[i[1]||=h(`span`,null,`تعداد مشتری فعال`,-1),h(`strong`,null,y(d(x)(Y.value)),1)]),i[4]||=h(`span`,{class:`summary-card__divider`,"aria-hidden":`true`},null,-1),h(`div`,null,[i[2]||=h(`span`,null,`مجموع خرید (ریال)`,-1),h(`strong`,null,y(d(x)(X.value)),1),i[3]||=h(`em`,null,`تومان`,-1)])])]),h(`div`,P,[(_(),s(r,null,l(Z,e=>h(`button`,{key:e.id,type:`button`,role:`tab`,class:b([`tab`,{"tab--active":W.value===e.id}]),"aria-selected":W.value===e.id,onClick:t=>$(e.id)},[h(`span`,I,y(e.label),1)],10,F)),64))]),K.value?(_(),t(E,{key:0,variant:`list`})):q.value?(_(),s(`p`,L,y(q.value),1)):m(``,!0),(_(!0),s(r,null,l(J.value,e=>(_(),s(`button`,{key:e.id,type:`button`,class:`customer-card`,onClick:t=>d(V).push({path:`/customer`,query:{id:e.id}})},[h(`div`,{class:`customer-card__avatar`,style:n({background:e.avatarColor})},y(e.avatarLetter),5),h(`div`,ne,[h(`div`,z,[h(`strong`,null,y(e.name),1),h(`span`,{class:b([`status`,e.status===`active`?`status--ok`:`status--muted`])},y(ie(e.status)),3)]),h(`p`,B,y(e.phone),1),h(`p`,null,`مجموع خرید: `+y(d(x)(e.totalPurchaseToman))+` تومان`,1)]),a(S,{size:18,class:`chevron`})],8,R))),128)),i[5]||=h(`section`,{class:`promo`},[h(`div`,null,[h(`strong`,null,`افزایش مشتریان = افزایش سطح شما`),h(`p`,null,`با جذب مشتریان بیشتر به سطح VIP برسید`)])],-1)])]))}}),[[`__scopeId`,`data-v-d0b58aa9`]]);export{V as default};
@@ -1 +1 @@
import{A as e,E as t,G as n,I as r,L as i,M as a,T as o,Y as s,_ as c,bt as l,ft as u,j as d,k as f,n as p,q as m,wt as h}from"./BasicIcon-CjTTsi6o.js";import{l as g,o as _}from"./index-BQQA5ZX-.js";import{t as v}from"./PageHeader-WFa4BbgN.js";import{t as y}from"./PageSkeleton-CyATkHE1.js";import{t as b}from"./crm-DPw1h61_.js";import{t as x}from"./IconHeart-BmvFB3Xr.js";var S={class:`page`},C={class:`page__scroll page__scroll--with-nav body`},w={key:1},T={key:2,class:`empty`},E=[`onClick`],D={class:`row__body`},O=[`onClick`],k=p(i({__name:`FavoritesView`,setup(i){let p=c(),k=g(),A=b(),j=u([]),M=u(!0),N=u(null);n(async()=>{M.value=!0;try{await k.hydrate();let e=await A.loadBrowseProducts(),t=new Set(k.ids);j.value=e.filter(e=>t.has(e.id))}catch(e){N.value=e instanceof Error?e.message:`بارگذاری علاقه‌مندی‌ها ناموفق بود.`}finally{M.value=!1}});async function P(e){await k.toggle(e),j.value=j.value.filter(t=>t.id!==e)}return(n,i)=>(m(),a(`div`,S,[r(v,{title:`علاقه‌مندی‌ها`,"show-back":``,centered:``,onBack:i[0]||=e=>l(p).back()}),f(`div`,C,[M.value?(m(),e(y,{key:0,variant:`grid`})):N.value?(m(),a(`p`,w,h(N.value),1)):j.value.length?d(``,!0):(m(),a(`p`,T,`هنوز محصولی ذخیره نکرده‌اید.`)),(m(!0),a(t,null,s(j.value,e=>(m(),a(`article`,{key:e.id,class:`row`,onClick:t=>l(p).push({path:`/product`,query:{id:e.id}})},[f(`div`,D,[f(`strong`,null,h(e.name),1),f(`span`,null,`کد `+h(e.code),1)]),f(`button`,{type:`button`,class:`bookmark`,"aria-label":`حذف از نشان‌شده‌ها`,onClick:o(t=>P(e.id),[`stop`])},[r(x,{size:18,filled:``,color:`#0a353c`})],8,O),r(_,{size:16,color:`#9aa3a0`})],8,E))),128))])]))}}),[[`__scopeId`,`data-v-8e70f9c9`]]);export{k as default}; import{A as e,E as t,G as n,I as r,L as i,M as a,T as o,Y as s,_ as c,bt as l,ft as u,j as d,k as f,n as p,q as m,wt as h}from"./BasicIcon-CjTTsi6o.js";import{l as g,o as _}from"./index-D3Z8WOeX.js";import{t as v}from"./PageHeader-B47bvmJV.js";import{t as y}from"./PageSkeleton-CyATkHE1.js";import{t as b}from"./crm-l0KpZ2AN.js";import{t as x}from"./IconHeart-BmvFB3Xr.js";var S={class:`page`},C={class:`page__scroll page__scroll--with-nav body`},w={key:1},T={key:2,class:`empty`},E=[`onClick`],D={class:`row__body`},O=[`onClick`],k=p(i({__name:`FavoritesView`,setup(i){let p=c(),k=g(),A=b(),j=u([]),M=u(!0),N=u(null);n(async()=>{M.value=!0;try{await k.hydrate();let e=await A.loadBrowseProducts(),t=new Set(k.ids);j.value=e.filter(e=>t.has(e.id))}catch(e){N.value=e instanceof Error?e.message:`بارگذاری علاقه‌مندی‌ها ناموفق بود.`}finally{M.value=!1}});async function P(e){await k.toggle(e),j.value=j.value.filter(t=>t.id!==e)}return(n,i)=>(m(),a(`div`,S,[r(v,{title:`علاقه‌مندی‌ها`,"show-back":``,centered:``,onBack:i[0]||=e=>l(p).back()}),f(`div`,C,[M.value?(m(),e(y,{key:0,variant:`grid`})):N.value?(m(),a(`p`,w,h(N.value),1)):j.value.length?d(``,!0):(m(),a(`p`,T,`هنوز محصولی ذخیره نکرده‌اید.`)),(m(!0),a(t,null,s(j.value,e=>(m(),a(`article`,{key:e.id,class:`row`,onClick:t=>l(p).push({path:`/product`,query:{id:e.id}})},[f(`div`,D,[f(`strong`,null,h(e.name),1),f(`span`,null,`کد `+h(e.code),1)]),f(`button`,{type:`button`,class:`bookmark`,"aria-label":`حذف از نشان‌شده‌ها`,onClick:o(t=>P(e.id),[`stop`])},[r(x,{size:18,filled:``,color:`#0a353c`})],8,O),r(_,{size:16,color:`#9aa3a0`})],8,E))),128))])]))}}),[[`__scopeId`,`data-v-8e70f9c9`]]);export{k as default};
File diff suppressed because one or more lines are too long
-1
View File
@@ -1 +0,0 @@
import{A as e,L as t,q as n,t as r}from"./BasicIcon-CjTTsi6o.js";var i=t({__name:`IconMail`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(t){return(i,a)=>(n(),e(r,{icon:`vuesax-linear:sms`,size:t.size,"stroke-width":t.strokeWidth,color:t.color},null,8,[`size`,`stroke-width`,`color`]))}});export{i as t};
@@ -1 +1 @@
import{A as e,L as t,q as n,t as r}from"./BasicIcon-CjTTsi6o.js";var i=t({__name:`IconPhone`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(t){return(i,a)=>(n(),e(r,{icon:`vuesax-linear:call`,size:t.size,"stroke-width":t.strokeWidth,color:t.color},null,8,[`size`,`stroke-width`,`color`]))}});export{i as t}; import{A as e,L as t,q as n,t as r}from"./BasicIcon-CjTTsi6o.js";var i=t({__name:`IconPhone`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(t){return(i,a)=>(n(),e(r,{icon:`vuesax-linear:call`,size:t.size,"stroke-width":t.strokeWidth,color:t.color},null,8,[`size`,`stroke-width`,`color`]))}}),a=t({__name:`IconMail`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(t){return(i,a)=>(n(),e(r,{icon:`vuesax-linear:sms`,size:t.size,"stroke-width":t.strokeWidth,color:t.color},null,8,[`size`,`stroke-width`,`color`]))}});export{i as n,a as t};
-1
View File
@@ -1 +0,0 @@
import{F as e,I as t,L as n,M as r,O as i,T as a,Z as o,_ as s,bt as c,ft as l,k as u,q as d,tt as f}from"./BasicIcon-CjTTsi6o.js";import{c as p,u as m}from"./format-BHJptHdF.js";import{a as h}from"./validation-BD7oi-2I.js";import{c as g,i as _,n as v}from"./index-BQQA5ZX-.js";import{t as y}from"./BaseInput-oWA7d1_u.js";import{t as b}from"./FormErrorBanner-B8THF9oG.js";import{n as x,r as S,t as C}from"./formErrors-DglFjYkZ.js";var w={class:`page page-shell auth-page`},T={class:`page__scroll flex flex-col justify-center py-6`},E={class:`mt-6 w-full max-w-[var(--form-max-width)] text-center`},D={class:`m-0 text-sm text-muted`},O=n({__name:`LoginView`,setup(n){let O=s(),k=g(),A=l(``),j=l({}),M=l(``),N=i(()=>A.value?m(A.value):``);function P(e){return e?h(e)?``:`شماره موبایل معتبر نیست. (مثال: ۰۹۱۲۱۲۳۴۵۶۷)`:`شماره موبایل را وارد کنید.`}function F(){j.value=x(j.value,`phone`),S(j.value)||(M.value=``)}function I(e){A.value=p(e),F()}function L(){if(!A.value)return;let e=P(A.value);e&&(j.value={...j.value,phone:e})}async function R(){j.value={},M.value=``;let e=p(A.value);A.value=e;let t=P(e);if(t){j.value={phone:t},M.value=C;return}let n=await k.requestOtp(e,{isRegister:!1});n.success?O.push({name:`otp`,query:{phone:e,mode:`login`}}):M.value=n.message??`خطا در ارسال کد تأیید.`}return(n,i)=>{let s=o(`RouterLink`);return d(),r(`div`,w,[t(_),u(`div`,T,[i[3]||=u(`div`,{class:`auth-header`},[u(`div`,{class:`text-5xl mb-3`},`🧵`),u(`h1`,{class:`page-title`},`ورود به سامانه`),u(`p`,{class:`page-subtitle`},`سامانه سفارش عمده پارچه`)],-1),u(`form`,{class:`card`,onSubmit:a(R,[`prevent`])},[t(b,{message:M.value},null,8,[`message`]),t(y,{"model-value":N.value,label:`شماره موبایل`,type:`tel`,inputmode:`numeric`,autocomplete:`tel`,dir:`ltr`,align:`center`,maxlength:`11`,placeholder:`۰۹۱۲۳۴۵۶۷۸۹`,error:j.value.phone,hint:`کد تأیید به این شماره ارسال می‌شود`,"onUpdate:modelValue":I,onBlur:L},null,8,[`model-value`,`error`]),t(v,{block:``,type:`submit`,loading:c(k).loading},{default:f(()=>[...i[0]||=[e(`دریافت کد تأیید`,-1)]]),_:1},8,[`loading`])],32),u(`div`,E,[u(`p`,D,[i[2]||=e(` حساب کاربری ندارید؟ `,-1),t(s,{to:`/register`,class:`ms-1 font-bold text-primary no-underline hover:underline`},{default:f(()=>[...i[1]||=[e(` ثبت نام کنید `,-1)]]),_:1})])])])])}}});export{O as default};
+1
View File
@@ -0,0 +1 @@
import{F as e,I as t,L as n,M as r,O as i,T as a,Z as o,_ as s,bt as c,ft as l,k as u,q as d,tt as f}from"./BasicIcon-CjTTsi6o.js";import{c as p,u as m}from"./format-BHJptHdF.js";import{a as h}from"./validation-BD7oi-2I.js";import{c as g,i as _,n as v}from"./index-D3Z8WOeX.js";import{t as y}from"./BaseInput-oWA7d1_u.js";import{t as b}from"./FormErrorBanner-B8THF9oG.js";import{n as x,r as S,t as C}from"./formErrors-DglFjYkZ.js";var w={class:`page auth-page`},T={class:`auth-top`},E={class:`page__scroll auth-body`},D={class:`auth-switch`},O=n({__name:`LoginView`,setup(n){let O=s(),k=g(),A=l(``),j=l({}),M=l(``),N=i(()=>A.value?m(A.value):``);function P(e){return e?h(e)?``:`شماره موبایل معتبر نیست. (مثال: ۰۹۱۲۱۲۳۴۵۶۷)`:`شماره موبایل را وارد کنید.`}function F(){j.value=x(j.value,`phone`),S(j.value)||(M.value=``)}function I(e){A.value=p(e),F()}function L(){if(!A.value)return;let e=P(A.value);e&&(j.value={...j.value,phone:e})}async function R(){j.value={},M.value=``;let e=p(A.value);A.value=e;let t=P(e);if(t){j.value={phone:t},M.value=C;return}let n=await k.requestOtp(e,{isRegister:!1});n.success?O.push({name:`otp`,query:{phone:e,mode:`login`}}):M.value=n.message??`خطا در ارسال کد تأیید.`}return(n,i)=>{let s=o(`RouterLink`);return d(),r(`div`,w,[u(`header`,T,[i[0]||=u(`span`,{"aria-hidden":`true`},null,-1),i[1]||=u(`h1`,{class:`auth-top__title`},`ورود`,-1),t(_,{variant:`inline`})]),u(`div`,E,[i[5]||=u(`p`,{class:`auth-lead`},`برای سفارش پارچه، شماره موبایل خود را وارد کنید.`,-1),u(`form`,{class:`card`,onSubmit:a(R,[`prevent`])},[t(b,{message:M.value},null,8,[`message`]),t(y,{"model-value":N.value,label:`شماره موبایل`,type:`tel`,inputmode:`numeric`,autocomplete:`tel`,dir:`ltr`,align:`center`,maxlength:`11`,placeholder:`۰۹۱۲۳۴۵۶۷۸۹`,error:j.value.phone,hint:`کد تأیید به این شماره ارسال می‌شود`,"onUpdate:modelValue":I,onBlur:L},null,8,[`model-value`,`error`]),t(v,{block:``,type:`submit`,loading:c(k).loading},{default:f(()=>[...i[2]||=[e(`دریافت کد تأیید`,-1)]]),_:1},8,[`loading`])],32),u(`p`,D,[i[4]||=e(` حساب کاربری ندارید؟ `,-1),t(s,{to:`/register`},{default:f(()=>[...i[3]||=[e(`ثبت‌نام کنید`,-1)]]),_:1})])])])}}});export{O 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{F as e,I as t,L as n,M as r,O as i,_ as a,bt as o,g as s,j as c,k as l,n as u,q as d,tt as f,wt as p}from"./BasicIcon-CjTTsi6o.js";import{a as m}from"./format-BHJptHdF.js";import{h,n as g}from"./index-BQQA5ZX-.js";import{t as _}from"./PageHeader-WFa4BbgN.js";import{t as v}from"./useGoBack-D3aJ73Q-.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=u(n({__name:`OrderSuccessView`,setup(n){let u=s(),T=a(),{goBack:E}=v(`/orders`),D=h(),O=i(()=>D.getOrderById(u.params.id));return(n,i)=>(d(),r(`div`,y,[t(_,{title:`ثبت موفق`,"show-back":``,centered:``,onBack:o(E)},null,8,[`onBack`]),l(`div`,b,[i[8]||=l(`div`,{class:`success-icon`},`✓`,-1),i[9]||=l(`h1`,{class:`page-title text-center`},`سفارش ثبت شد`,-1),i[10]||=l(`p`,{class:`text-center text-muted mb-4`},` سفارش شما با موفقیت ثبت شد. کارشناسان ما سفارش را بررسی و قیمت‌گذاری می‌کنند و به‌محض صدور فاکتور، از طریق پیامک و پنل کاربری به شما اطلاع می‌دهیم تا روش تسویه را انتخاب کنید. `,-1),O.value?(d(),r(`div`,x,[l(`div`,S,[i[2]||=l(`span`,null,`شماره سفارش:`,-1),l(`strong`,null,p(O.value.orderNumber),1)]),l(`div`,C,[i[3]||=l(`span`,null,`شرکت:`,-1),l(`span`,null,p(O.value.companyName),1)]),l(`div`,w,[i[4]||=l(`span`,null,`متراژ:`,-1),l(`span`,null,p(o(m)(O.value.totalMeterage)),1)]),i[5]||=l(`div`,{class:`info-row`},[l(`span`,null,`وضعیت:`),l(`span`,null,`در انتظار قیمت‌گذاری`)],-1)])):c(``,!0),t(g,{block:``,onClick:i[0]||=e=>o(T).replace(`/orders/${O.value?.id}`)},{default:f(()=>[...i[6]||=[e(` مشاهده جزئیات سفارش `,-1)]]),_:1}),t(g,{block:``,variant:`outline`,class:`mt-2`,onClick:i[1]||=e=>o(T).replace(`/`)},{default:f(()=>[...i[7]||=[e(` بازگشت به خانه `,-1)]]),_:1})])]))}}),[[`__scopeId`,`data-v-3d172af9`]]);export{T as default}; import{F as e,I as t,L as n,M as r,O as i,_ as a,bt as o,g as s,j as c,k as l,n as u,q as d,tt as f,wt as p}from"./BasicIcon-CjTTsi6o.js";import{a as m}from"./format-BHJptHdF.js";import{h,n as g}from"./index-D3Z8WOeX.js";import{t as _}from"./PageHeader-B47bvmJV.js";import{t as v}from"./useGoBack-D3aJ73Q-.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=u(n({__name:`OrderSuccessView`,setup(n){let u=s(),T=a(),{goBack:E}=v(`/orders`),D=h(),O=i(()=>D.getOrderById(u.params.id));return(n,i)=>(d(),r(`div`,y,[t(_,{title:`ثبت موفق`,"show-back":``,centered:``,onBack:o(E)},null,8,[`onBack`]),l(`div`,b,[i[8]||=l(`div`,{class:`success-icon`},`✓`,-1),i[9]||=l(`h1`,{class:`page-title text-center`},`سفارش ثبت شد`,-1),i[10]||=l(`p`,{class:`text-center text-muted mb-4`},` سفارش شما با موفقیت ثبت شد. کارشناسان ما سفارش را بررسی و قیمت‌گذاری می‌کنند و به‌محض صدور فاکتور، از طریق پیامک و پنل کاربری به شما اطلاع می‌دهیم تا روش تسویه را انتخاب کنید. `,-1),O.value?(d(),r(`div`,x,[l(`div`,S,[i[2]||=l(`span`,null,`شماره سفارش:`,-1),l(`strong`,null,p(O.value.orderNumber),1)]),l(`div`,C,[i[3]||=l(`span`,null,`شرکت:`,-1),l(`span`,null,p(O.value.companyName),1)]),l(`div`,w,[i[4]||=l(`span`,null,`متراژ:`,-1),l(`span`,null,p(o(m)(O.value.totalMeterage)),1)]),i[5]||=l(`div`,{class:`info-row`},[l(`span`,null,`وضعیت:`),l(`span`,null,`در انتظار قیمت‌گذاری`)],-1)])):c(``,!0),t(g,{block:``,onClick:i[0]||=e=>o(T).replace(`/orders/${O.value?.id}`)},{default:f(()=>[...i[6]||=[e(` مشاهده جزئیات سفارش `,-1)]]),_:1}),t(g,{block:``,variant:`outline`,class:`mt-2`,onClick:i[1]||=e=>o(T).replace(`/`)},{default:f(()=>[...i[7]||=[e(` بازگشت به خانه `,-1)]]),_:1})])]))}}),[[`__scopeId`,`data-v-3d172af9`]]);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
View File
@@ -1 +0,0 @@
.otp-row[data-v-07a29845]{gap:clamp(.25rem,1.8vw,.625rem)}.otp-box[data-v-07a29845]{aspect-ratio:48/52;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);width:0;min-width:0;max-width:48px;height:auto;color:var(--color-text);text-align:center;caret-color:var(--color-primary);flex:1 1 0;padding:0;font-size:clamp(.95rem,4.2vw,1.25rem);font-weight:600;transition:border-color .15s}.otp-box[data-v-07a29845]:focus{border-color:var(--color-primary);outline:none}.otp-box--error[data-v-07a29845]{border-color:var(--color-danger)}.input-error-text[data-v-07a29845]{color:var(--color-danger);margin:4px 0 0;font-size:.8125rem}.auth-back[data-v-07a29845]{top:calc(12px + env(safe-area-inset-top,0px));z-index:100;cursor:pointer;width:40px;height:40px;color:var(--color-text);background:0 0;border:none;place-items:center;padding:0;display:grid;position:fixed;inset-inline-start:16px}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+1
View File
@@ -0,0 +1 @@
.otp-row[data-v-125d5e90]{gap:clamp(.25rem,1.8vw,.625rem)}.otp-box[data-v-125d5e90]{aspect-ratio:48/52;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);width:0;min-width:0;max-width:48px;height:auto;color:var(--color-text);text-align:center;caret-color:var(--color-primary);flex:1 1 0;padding:0;font-size:clamp(.95rem,4.2vw,1.25rem);font-weight:600;transition:border-color .15s}.otp-box[data-v-125d5e90]:focus{border-color:var(--color-primary);outline:none}.otp-box--error[data-v-125d5e90]{border-color:var(--color-danger)}.input-error-text[data-v-125d5e90]{color:var(--color-danger);margin:4px 0 0;font-size:.8125rem}
@@ -1 +1 @@
import{E as e,I as t,L as n,M as r,X as i,j as a,k as o,n as s,q as c,wt as l}from"./BasicIcon-CjTTsi6o.js";import{i as u}from"./index-BQQA5ZX-.js";import{t as d}from"./IconChevronBack-B10eZjCQ.js";var f={class:`page-nav`},p={key:1,class:`nav-btn`},m={class:`page-nav__title`},h={class:`page-nav__trailing`},g={key:0,class:`page-nav__subtitle`},_={key:1,class:`page-header`},v={class:`header-text`},y={class:`page-title`},b={key:0,class:`page-subtitle`},x={class:`page-header__trailing`},S=s(n({__name:`PageHeader`,props:{title:{},subtitle:{},showBack:{type:Boolean},centered:{type:Boolean}},emits:[`back`],setup(n){return(s,S)=>n.centered?(c(),r(e,{key:0},[o(`header`,f,[n.showBack?(c(),r(`button`,{key:0,type:`button`,class:`nav-btn`,"aria-label":`بازگشت`,onClick:S[0]||=e=>s.$emit(`back`)},[t(d,{size:20})])):(c(),r(`span`,p)),o(`h1`,m,l(n.title),1),o(`div`,h,[i(s.$slots,`trailing`,{},void 0,!0),t(u,{variant:`inline`,class:`mobile-only`})])]),n.subtitle?(c(),r(`p`,g,l(n.subtitle),1)):a(``,!0)],64)):(c(),r(`header`,_,[n.showBack?(c(),r(`button`,{key:0,type:`button`,class:`back-btn`,"aria-label":`بازگشت`,onClick:S[1]||=e=>s.$emit(`back`)},[t(d,{size:20})])):a(``,!0),o(`div`,v,[o(`h1`,y,l(n.title),1),n.subtitle?(c(),r(`p`,b,l(n.subtitle),1)):a(``,!0)]),o(`div`,x,[i(s.$slots,`trailing`,{},void 0,!0),t(u,{variant:`inline`,class:`mobile-only`})])]))}}),[[`__scopeId`,`data-v-dd86426f`]]);export{S as t}; import{E as e,I as t,L as n,M as r,X as i,j as a,k as o,n as s,q as c,wt as l}from"./BasicIcon-CjTTsi6o.js";import{i as u}from"./index-D3Z8WOeX.js";import{t as d}from"./IconChevronBack-B10eZjCQ.js";var f={class:`page-nav`},p={key:1,class:`nav-btn`},m={class:`page-nav__title`},h={class:`page-nav__trailing`},g={key:0,class:`page-nav__subtitle`},_={key:1,class:`page-header`},v={class:`header-text`},y={class:`page-title`},b={key:0,class:`page-subtitle`},x={class:`page-header__trailing`},S=s(n({__name:`PageHeader`,props:{title:{},subtitle:{},showBack:{type:Boolean},centered:{type:Boolean}},emits:[`back`],setup(n){return(s,S)=>n.centered?(c(),r(e,{key:0},[o(`header`,f,[n.showBack?(c(),r(`button`,{key:0,type:`button`,class:`nav-btn`,"aria-label":`بازگشت`,onClick:S[0]||=e=>s.$emit(`back`)},[t(d,{size:20})])):(c(),r(`span`,p)),o(`h1`,m,l(n.title),1),o(`div`,h,[i(s.$slots,`trailing`,{},void 0,!0),t(u,{variant:`inline`,class:`mobile-only`})])]),n.subtitle?(c(),r(`p`,g,l(n.subtitle),1)):a(``,!0)],64)):(c(),r(`header`,_,[n.showBack?(c(),r(`button`,{key:0,type:`button`,class:`back-btn`,"aria-label":`بازگشت`,onClick:S[1]||=e=>s.$emit(`back`)},[t(d,{size:20})])):a(``,!0),o(`div`,v,[o(`h1`,y,l(n.title),1),n.subtitle?(c(),r(`p`,b,l(n.subtitle),1)):a(``,!0)]),o(`div`,x,[i(s.$slots,`trailing`,{},void 0,!0),t(u,{variant:`inline`,class:`mobile-only`})])]))}}),[[`__scopeId`,`data-v-dd86426f`]]);export{S as t};
-1
View File
@@ -1 +0,0 @@
.product-detail[data-v-9d82ace3]{background:var(--color-bg);flex-direction:column;min-height:100%;display:flex}.pd-header[data-v-9d82ace3]{padding:8px var(--page-padding);background:var(--color-surface);justify-content:space-between;align-items:center;display:flex}.pd-header__actions[data-v-9d82ace3]{gap:4px;display:flex}.icon-btn[data-v-9d82ace3]{cursor:pointer;background:0 0;border:none;place-items:center;width:40px;height:40px;display:grid}.pd-scroll[data-v-9d82ace3]{flex:1;padding-bottom:120px}.gallery__main[data-v-9d82ace3]{background:linear-gradient(160deg,#a8b5a0,#6f8570);height:260px;position:relative}.gallery__count[data-v-9d82ace3]{bottom:12px;color:#fff;background:#0000008c;border-radius:999px;padding:4px 10px;font-size:.75rem;position:absolute;inset-inline-start:12px}.gallery__thumbs[data-v-9d82ace3]{padding:12px var(--page-padding);background:var(--color-surface);gap:8px;display:flex;overflow-x:auto}.thumb[data-v-9d82ace3]{cursor:pointer;border:2px solid #0000;border-radius:10px;flex-shrink:0;width:48px;height:48px}.thumb--active[data-v-9d82ace3]{border-color:#111}.pd-body[data-v-9d82ace3]{padding:16px var(--page-padding) 24px;flex-direction:column;gap:16px;display:flex}.title-row[data-v-9d82ace3]{align-items:center;gap:8px;display:flex}.title-row h1[data-v-9d82ace3]{margin:0;font-size:1.25rem}.new-badge[data-v-9d82ace3]{background:var(--color-primary-soft);color:var(--color-primary);border-radius:999px;padding:2px 10px;font-size:.75rem;font-weight:700}.code[data-v-9d82ace3]{color:var(--color-text-muted);margin:-8px 0 0;font-size:.85rem}.specs[data-v-9d82ace3]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);grid-template-columns:1fr 1fr;gap:10px;padding:12px;font-size:.8rem;display:grid}.spec-cell[data-v-9d82ace3]{flex-direction:column;gap:4px;display:flex}.spec-cell__label[data-v-9d82ace3]{color:var(--color-text-muted);font-size:.75rem}.specs-more[data-v-9d82ace3]{color:var(--color-primary);cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0;font-weight:700}.specs-extra[data-v-9d82ace3]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);padding:12px;font-size:.85rem}.specs-extra p[data-v-9d82ace3]{margin:0 0 6px}.section-label[data-v-9d82ace3]{margin:0 0 8px;font-size:.95rem}.section-label span[data-v-9d82ace3]{color:var(--color-text-muted);font-size:.8rem;font-weight:500}.colors[data-v-9d82ace3]{flex-wrap:wrap;gap:10px;display:flex}.color-dot[data-v-9d82ace3]{cursor:pointer;border:2px solid #0000;border-radius:999px;width:28px;height:28px}.color-dot--active[data-v-9d82ace3]{outline:2px solid var(--color-primary);outline-offset:2px}.tags[data-v-9d82ace3]{flex-wrap:wrap;gap:8px;display:flex}.tag[data-v-9d82ace3]{background:var(--color-bg);border-radius:999px;padding:8px 12px;font-size:.8rem}.roll-field[data-v-9d82ace3]{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);padding:12px 14px}.roll-stepper[data-v-9d82ace3]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);align-items:center;gap:16px;padding:8px 12px;display:inline-flex}.step-btn[data-v-9d82ace3]{border:1px solid var(--color-border);cursor:pointer;background:#fff;border-radius:10px;width:36px;height:36px;font-size:1.2rem}.order-meters[data-v-9d82ace3],.action-msg[data-v-9d82ace3]{color:var(--color-text-muted);margin:8px 0 0;font-size:.85rem}.action-msg[data-v-9d82ace3]{color:var(--color-primary);font-weight:600}.pd-footer[data-v-9d82ace3]{padding:12px var(--page-padding) calc(12px + env(safe-area-inset-bottom,0));background:var(--color-surface);border-top:1px solid var(--color-border);grid-template-columns:1fr 1.2fr;gap:8px;display:grid;position:sticky;bottom:0}.pd-footer__primary[data-v-9d82ace3]{flex-direction:column;display:flex}.btn-secondary[data-v-9d82ace3],.btn-primary[data-v-9d82ace3]{cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:6px;width:100%;min-height:48px;font-weight:700;display:inline-flex}.btn-secondary[data-v-9d82ace3]{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-primary)}.btn-primary[data-v-9d82ace3]{background:var(--color-accent-navy);color:#fff;border:none}.btn-primary[data-v-9d82ace3]:disabled{opacity:.7;cursor:wait}.min-note[data-v-9d82ace3]{text-align:center;color:var(--color-text-muted);margin:6px 0 0;font-size:.7rem}.empty[data-v-9d82ace3]{padding:40px var(--page-padding);text-align:center}
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
File diff suppressed because one or more lines are too long
+1
View File
@@ -0,0 +1 @@
.products-page[data-v-9e3c60d6]{background:var(--color-bg);position:relative}.nav-filter[data-v-9e3c60d6]{cursor:pointer;width:40px;height:40px;color:var(--color-text);background:0 0;border:none;place-items:center;display:grid}.products-scroll[data-v-9e3c60d6]{padding:8px var(--page-padding) 24px;flex-direction:column;gap:12px;display:flex}.cat-banner[data-v-9e3c60d6]{border-radius:var(--radius-lg);background:linear-gradient(100deg, rgba(var(--color-primary-rgb), .75), rgba(var(--color-primary-rgb), .35)), #2f3430;color:#fff;align-items:center;gap:12px;min-height:96px;padding:16px;display:flex}.cat-banner__icon[data-v-9e3c60d6]{background:#fff3;border-radius:999px;flex-shrink:0;width:48px;height:48px}.cat-banner h2[data-v-9e3c60d6]{margin:0 0 4px;font-size:1rem}.cat-banner p[data-v-9e3c60d6]{opacity:.9;margin:0;font-size:.8rem}.chips[data-v-9e3c60d6]{gap:8px;display:flex;overflow-x:auto}.chip[data-v-9e3c60d6]{color:var(--color-text);white-space:nowrap;cursor:pointer;background:#ecefee;border:none;border-radius:999px;padding:8px 14px;font-size:.8rem}.chip--active[data-v-9e3c60d6]{background:var(--color-primary);color:#fff}.list-meta[data-v-9e3c60d6]{color:var(--color-text-muted);justify-content:space-between;align-items:center;font-size:.8rem;display:flex}.list-meta__sort[data-v-9e3c60d6]{color:var(--color-primary);font:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-weight:700}.product-item[data-v-9e3c60d6]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;grid-template-columns:112px 1fr;align-items:stretch;gap:12px;padding:12px;display:grid}.product-item__image[data-v-9e3c60d6]{background:linear-gradient(145deg,#2a3544,#111827) 50%/cover;border-radius:12px;min-height:112px}.product-item__body[data-v-9e3c60d6]{flex-direction:column;gap:6px;min-width:0;display:flex}.product-item__head[data-v-9e3c60d6]{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.product-item__title[data-v-9e3c60d6]{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:flex}.product-item__title strong[data-v-9e3c60d6]{color:var(--color-text);font-size:.9375rem;font-weight:700;line-height:1.4}.new-tag[data-v-9e3c60d6]{background:var(--color-primary);color:#fff;white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:.65rem;font-weight:700}.bookmark[data-v-9e3c60d6]{cursor:pointer;background:0 0;border:none;flex-shrink:0;place-items:center;width:28px;height:28px;margin-inline-start:auto;padding:0;display:grid}.product-item__specs[data-v-9e3c60d6]{color:var(--color-text-muted);text-align:start;flex-direction:column;gap:2px;margin:0;padding:0;font-size:.75rem;line-height:1.55;list-style:none;display:flex}.swatches[data-v-9e3c60d6]{flex-wrap:wrap;gap:6px;margin-top:2px;display:flex}.swatch[data-v-9e3c60d6]{border:1px solid #00000014;border-radius:999px;width:14px;height:14px}.details-link[data-v-9e3c60d6]{color:var(--color-info);cursor:pointer;background:0 0;border:none;align-self:flex-end;align-items:center;gap:2px;margin-top:auto;padding:0;font-size:.75rem;display:inline-flex}.empty-list[data-v-9e3c60d6]{text-align:center;color:var(--color-text-muted);margin:12px 0 0}
-1
View File
@@ -1 +0,0 @@
.products-page[data-v-447a90f3]{background:var(--color-bg);position:relative}.nav-filter[data-v-447a90f3]{cursor:pointer;width:40px;height:40px;color:var(--color-text);background:0 0;border:none;place-items:center;display:grid}.products-scroll[data-v-447a90f3]{padding:8px var(--page-padding) 24px;flex-direction:column;gap:12px;display:flex}.cat-banner[data-v-447a90f3]{border-radius:var(--radius-lg);background:linear-gradient(100deg, rgba(var(--color-primary-rgb), .75), rgba(var(--color-primary-rgb), .35)), #2f3430;color:#fff;align-items:center;gap:12px;min-height:96px;padding:16px;display:flex}.cat-banner__icon[data-v-447a90f3]{background:#fff3;border-radius:999px;flex-shrink:0;width:48px;height:48px}.cat-banner h2[data-v-447a90f3]{margin:0 0 4px;font-size:1rem}.cat-banner p[data-v-447a90f3]{opacity:.9;margin:0;font-size:.8rem}.chips[data-v-447a90f3]{gap:8px;display:flex;overflow-x:auto}.chip[data-v-447a90f3]{color:var(--color-text);white-space:nowrap;cursor:pointer;background:#ecefee;border:none;border-radius:999px;padding:8px 14px;font-size:.8rem}.chip--active[data-v-447a90f3]{background:var(--color-primary);color:#fff}.list-meta[data-v-447a90f3]{color:var(--color-text-muted);justify-content:space-between;align-items:center;font-size:.8rem;display:flex}.list-meta__sort[data-v-447a90f3]{color:var(--color-primary);font:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-weight:700}.product-item[data-v-447a90f3]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;grid-template-columns:112px 1fr;align-items:stretch;gap:12px;padding:12px;display:grid}.product-item__image[data-v-447a90f3]{background:linear-gradient(145deg,#2a3544,#111827) 50%/cover;border-radius:12px;min-height:112px}.product-item__body[data-v-447a90f3]{flex-direction:column;gap:6px;min-width:0;display:flex}.product-item__head[data-v-447a90f3]{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.product-item__title[data-v-447a90f3]{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:flex}.product-item__title strong[data-v-447a90f3]{color:var(--color-text);font-size:.9375rem;font-weight:700;line-height:1.4}.new-tag[data-v-447a90f3]{background:var(--color-primary);color:#fff;white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:.65rem;font-weight:700}.bookmark[data-v-447a90f3]{cursor:pointer;background:0 0;border:none;flex-shrink:0;place-items:center;width:28px;height:28px;margin-inline-start:auto;padding:0;display:grid}.product-item__specs[data-v-447a90f3]{color:var(--color-text-muted);text-align:start;flex-direction:column;gap:2px;margin:0;padding:0;font-size:.75rem;line-height:1.55;list-style:none;display:flex}.swatches[data-v-447a90f3]{flex-wrap:wrap;gap:6px;margin-top:2px;display:flex}.swatch[data-v-447a90f3]{border:1px solid #00000014;border-radius:999px;width:14px;height:14px}.details-link[data-v-447a90f3]{color:var(--color-info);cursor:pointer;background:0 0;border:none;align-self:flex-end;align-items:center;gap:2px;margin-top:auto;padding:0;font-size:.75rem;display:inline-flex}
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
import{t as e}from"./CheckListView-C3cvQuGR.js";import{A as t,L as n,q as r}from"./BasicIcon-CjTTsi6o.js";var i=n({__name:`ProfileChecksView`,setup(n){return(n,i)=>(r(),t(e))}});export{i as default}; import{t as e}from"./CheckListView-RTeRZSX_.js";import{A as t,L as n,q as r}from"./BasicIcon-CjTTsi6o.js";var i=n({__name:`ProfileChecksView`,setup(n){return(n,i)=>(r(),t(e))}});export{i as default};
@@ -1 +1 @@
import{A as e,E as t,F as n,I as r,L as i,M as a,O as o,Y as s,_ as c,bt as l,ft as u,j as d,k as f,n as p,q as m,t as h,tt as g,wt as _,xt as v}from"./BasicIcon-CjTTsi6o.js";import{a as y}from"./dist-D9CyXEdG.js";import{a as b,c as x,h as S,n as C}from"./index-BQQA5ZX-.js";import{t as w}from"./ProfileSubpageLayout-VuAWanhC.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=p(i({__name:`ProfileDisplayView`,setup(i){let p=c(),B=x(),V=S(),H=b(),U=u(!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=o(()=>V.draftChecks.length);function q(){U.value=!0,W()}function J(){B.logout(),p.replace(`/login`)}return(i,o)=>(m(),e(w,{title:`تنظیمات`,subtitle:`نمایش، حساب کاربری و خروج`},{default:g(()=>[f(`div`,T,[f(`nav`,E,[f(`button`,{type:`button`,class:`settings-link`,onClick:o[0]||=e=>l(p).push(`/profile/edit`)},[f(`span`,D,[r(h,{icon:`vuesax-linear:profile-circle`,size:20,"stroke-width":1.5})]),o[2]||=f(`span`,{class:`settings-link__label`},`اطلاعات کاربری`,-1),r(h,{class:`settings-link__chevron`,icon:`vuesax-linear:arrow-left-1`,size:16,"stroke-width":1.5})]),f(`button`,{type:`button`,class:`settings-link`,onClick:o[1]||=e=>l(p).push(`/profile/checks`)},[f(`span`,O,[r(h,{icon:`vuesax-linear:card`,size:20,"stroke-width":1.5})]),f(`span`,k,[o[3]||=n(` لیست چک‌ها `,-1),K.value?(m(),a(`em`,A,`(`+_(K.value)+`)`,1)):d(``,!0)]),r(h,{class:`settings-link__chevron`,icon:`vuesax-linear:arrow-left-1`,size:16,"stroke-width":1.5})])]),f(`fieldset`,j,[o[4]||=f(`legend`,{class:`display-fieldset__legend`},`حالت نمایش`,-1),f(`div`,M,[(m(),a(t,null,s(G,t=>f(`button`,{key:t.value,type:`button`,class:v([`theme-card`,{"theme-card--active":l(H).preference===t.value}]),role:`radio`,"aria-checked":l(H).preference===t.value,onClick:e=>l(H).preference=t.value},[f(`span`,P,[r(h,{icon:t.icon,size:26,"stroke-width":1.5},null,8,[`icon`])]),f(`span`,F,[f(`strong`,I,_(t.label),1),f(`span`,L,_(t.description),1)]),f(`span`,R,[l(H).preference===t.value?(m(),e(h,{key:0,icon:`vuesax-linear:tick-circle`,size:20,"stroke-width":1.75})):d(``,!0)])],10,N)),64))])]),r(C,{block:``,onClick:q},{default:g(()=>[...o[5]||=[n(`ذخیره تنظیمات`,-1)]]),_:1}),U.value?(m(),a(`p`,z,`تنظیمات نمایش ذخیره شد ✓`)):d(``,!0),f(`button`,{type:`button`,class:`settings-logout`,onClick:J},`خروج`)])]),_:1}))}}),[[`__scopeId`,`data-v-3187a788`]]);export{B as default}; import{A as e,E as t,F as n,I as r,L as i,M as a,O as o,Y as s,_ as c,bt as l,ft as u,j as d,k as f,n as p,q as m,t as h,tt as g,wt as _,xt as v}from"./BasicIcon-CjTTsi6o.js";import{o as y}from"./dist-DLhmLSgX.js";import{a as b,c as x,h as S,n as C}from"./index-D3Z8WOeX.js";import{t as w}from"./ProfileSubpageLayout-VuAWanhC.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=p(i({__name:`ProfileDisplayView`,setup(i){let p=c(),B=x(),V=S(),H=b(),U=u(!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=o(()=>V.draftChecks.length);function q(){U.value=!0,W()}function J(){B.logout(),p.replace(`/login`)}return(i,o)=>(m(),e(w,{title:`تنظیمات`,subtitle:`نمایش، حساب کاربری و خروج`},{default:g(()=>[f(`div`,T,[f(`nav`,E,[f(`button`,{type:`button`,class:`settings-link`,onClick:o[0]||=e=>l(p).push(`/profile/edit`)},[f(`span`,D,[r(h,{icon:`vuesax-linear:profile-circle`,size:20,"stroke-width":1.5})]),o[2]||=f(`span`,{class:`settings-link__label`},`اطلاعات کاربری`,-1),r(h,{class:`settings-link__chevron`,icon:`vuesax-linear:arrow-left-1`,size:16,"stroke-width":1.5})]),f(`button`,{type:`button`,class:`settings-link`,onClick:o[1]||=e=>l(p).push(`/profile/checks`)},[f(`span`,O,[r(h,{icon:`vuesax-linear:card`,size:20,"stroke-width":1.5})]),f(`span`,k,[o[3]||=n(` لیست چک‌ها `,-1),K.value?(m(),a(`em`,A,`(`+_(K.value)+`)`,1)):d(``,!0)]),r(h,{class:`settings-link__chevron`,icon:`vuesax-linear:arrow-left-1`,size:16,"stroke-width":1.5})])]),f(`fieldset`,j,[o[4]||=f(`legend`,{class:`display-fieldset__legend`},`حالت نمایش`,-1),f(`div`,M,[(m(),a(t,null,s(G,t=>f(`button`,{key:t.value,type:`button`,class:v([`theme-card`,{"theme-card--active":l(H).preference===t.value}]),role:`radio`,"aria-checked":l(H).preference===t.value,onClick:e=>l(H).preference=t.value},[f(`span`,P,[r(h,{icon:t.icon,size:26,"stroke-width":1.5},null,8,[`icon`])]),f(`span`,F,[f(`strong`,I,_(t.label),1),f(`span`,L,_(t.description),1)]),f(`span`,R,[l(H).preference===t.value?(m(),e(h,{key:0,icon:`vuesax-linear:tick-circle`,size:20,"stroke-width":1.75})):d(``,!0)])],10,N)),64))])]),r(C,{block:``,onClick:q},{default:g(()=>[...o[5]||=[n(`ذخیره تنظیمات`,-1)]]),_:1}),U.value?(m(),a(`p`,z,`تنظیمات نمایش ذخیره شد ✓`)):d(``,!0),f(`button`,{type:`button`,class:`settings-logout`,onClick:J},`خروج`)])]),_:1}))}}),[[`__scopeId`,`data-v-3187a788`]]);export{B as default};
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
import{A as e,E as t,F as n,G as r,I as i,L as a,M as o,O as s,Y as c,_ as l,bt as u,j as d,k as f,n as p,q as m,t as h,tt as g,wt as _,xt as v}from"./BasicIcon-CjTTsi6o.js";import{i as y}from"./format-BHJptHdF.js";import{n as b,u as x}from"./index-BQQA5ZX-.js";import{t as S}from"./EmptyState-BpC5eqVE.js";import{t as C}from"./ProfileSubpageLayout-VuAWanhC.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=p(a({__name:`ProfileNotificationsView`,setup(a){let p=l(),F=x(),I=s(()=>F.items),L=s(()=>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&&p.push(e.link)}return(r,a)=>(m(),e(C,{title:`اعلان‌ها`,subtitle:`آخرین خبرهای سفارش‌های شما`},{default:g(()=>[I.value.length?(m(),o(`div`,w,[f(`div`,T,[f(`span`,E,_(L.value?`${u(F).unreadCount} اعلان خوانده‌نشده`:`همه خوانده شده`),1),L.value?(m(),e(b,{key:0,variant:`outline`,class:`notif-box__mark`,onClick:a[0]||=e=>u(F).markAllRead()},{default:g(()=>[...a[2]||=[n(` خواندن همه `,-1)]]),_:1})):d(``,!0)]),(m(!0),o(t,null,c(I.value,e=>(m(),o(`button`,{key:e.id,type:`button`,class:v([`notif-row`,[`notif-row--${e.tone}`,{"notif-row--unread":!e.isRead}]]),onClick:t=>z(e)},[f(`span`,O,[i(h,{icon:R[e.tone],size:22,"stroke-width":1.5},null,8,[`icon`])]),f(`span`,k,[f(`span`,A,[f(`strong`,j,_(e.title),1),e.isRead?d(``,!0):(m(),o(`span`,M))]),f(`span`,N,_(e.body),1),f(`span`,P,_(u(y)(e.sentAt)),1)])],10,D))),128))])):(m(),e(S,{key:1,icon:`vuesax-linear:notification-bing`,title:`اعلانی ندارید`,message:`وقتی فاکتور سفارشتان صادر شود یا وضعیت چک و پرداخت تغییر کند، همین‌جا خبردار می‌شوید.`},{default:g(()=>[i(b,{variant:`outline`,onClick:a[1]||=e=>u(p).push(`/orders`)},{default:g(()=>[...a[3]||=[n(`سفارش‌های من`,-1)]]),_:1})]),_:1}))]),_:1}))}}),[[`__scopeId`,`data-v-57190756`]]);export{F as default}; import{A as e,E as t,F as n,G as r,I as i,L as a,M as o,O as s,Y as c,_ as l,bt as u,j as d,k as f,n as p,q as m,t as h,tt as g,wt as _,xt as v}from"./BasicIcon-CjTTsi6o.js";import{i as y}from"./format-BHJptHdF.js";import{n as b,u as x}from"./index-D3Z8WOeX.js";import{t as S}from"./EmptyState-BpC5eqVE.js";import{t as C}from"./ProfileSubpageLayout-VuAWanhC.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=p(a({__name:`ProfileNotificationsView`,setup(a){let p=l(),F=x(),I=s(()=>F.items),L=s(()=>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&&p.push(e.link)}return(r,a)=>(m(),e(C,{title:`اعلان‌ها`,subtitle:`آخرین خبرهای سفارش‌های شما`},{default:g(()=>[I.value.length?(m(),o(`div`,w,[f(`div`,T,[f(`span`,E,_(L.value?`${u(F).unreadCount} اعلان خوانده‌نشده`:`همه خوانده شده`),1),L.value?(m(),e(b,{key:0,variant:`outline`,class:`notif-box__mark`,onClick:a[0]||=e=>u(F).markAllRead()},{default:g(()=>[...a[2]||=[n(` خواندن همه `,-1)]]),_:1})):d(``,!0)]),(m(!0),o(t,null,c(I.value,e=>(m(),o(`button`,{key:e.id,type:`button`,class:v([`notif-row`,[`notif-row--${e.tone}`,{"notif-row--unread":!e.isRead}]]),onClick:t=>z(e)},[f(`span`,O,[i(h,{icon:R[e.tone],size:22,"stroke-width":1.5},null,8,[`icon`])]),f(`span`,k,[f(`span`,A,[f(`strong`,j,_(e.title),1),e.isRead?d(``,!0):(m(),o(`span`,M))]),f(`span`,N,_(e.body),1),f(`span`,P,_(u(y)(e.sentAt)),1)])],10,D))),128))])):(m(),e(S,{key:1,icon:`vuesax-linear:notification-bing`,title:`اعلانی ندارید`,message:`وقتی فاکتور سفارشتان صادر شود یا وضعیت چک و پرداخت تغییر کند، همین‌جا خبردار می‌شوید.`},{default:g(()=>[i(b,{variant:`outline`,onClick:a[1]||=e=>u(p).push(`/orders`)},{default:g(()=>[...a[3]||=[n(`سفارش‌های من`,-1)]]),_:1})]),_:1}))]),_:1}))}}),[[`__scopeId`,`data-v-57190756`]]);export{F as default};
@@ -1 +1 @@
import{A as e,F as t,I as n,L as r,M as i,ft as a,j as o,k as s,n as c,q as l,tt as u}from"./BasicIcon-CjTTsi6o.js";import{n as d}from"./index-BQQA5ZX-.js";import{t as f}from"./BaseInput-oWA7d1_u.js";import{t as p}from"./FormErrorBanner-B8THF9oG.js";import{n as m,r as h,t as g}from"./formErrors-DglFjYkZ.js";import{t as _}from"./ProfileSubpageLayout-VuAWanhC.js";var v={class:`settings-form`},y={key:0,class:`settings-form__saved`},b=c(r({__name:`ProfileSecurityView`,setup(r){let c=a(``),b=a(``),x=a(``),S=a({}),C=a(``),w=a(!1);function T(e){S.value=m(S.value,e),h(S.value)||(C.value=``)}function E(){S.value={},C.value=``,w.value=!1;let e={};if(c.value||(e.currentPassword=`رمز فعلی الزامی است.`),b.value.length<6&&(e.newPassword=`رمز جدید باید حداقل ۶ کاراکتر باشد.`),x.value!==b.value&&(e.confirmPassword=`تکرار رمز با رمز جدید یکسان نیست.`),h(e)){S.value=e,C.value=g;return}c.value=``,b.value=``,x.value=``,w.value=!0,setTimeout(()=>{w.value=!1},2e3)}return(r,a)=>(l(),e(_,{title:`امنیت حساب`,subtitle:`تغییر رمز عبور و تنظیمات ورود`},{default:u(()=>[n(p,{message:C.value},null,8,[`message`]),s(`div`,v,[n(f,{modelValue:c.value,"onUpdate:modelValue":[a[0]||=e=>c.value=e,a[1]||=e=>T(`currentPassword`)],type:`password`,label:`رمز عبور فعلی`,error:S.value.currentPassword},null,8,[`modelValue`,`error`]),n(f,{modelValue:b.value,"onUpdate:modelValue":[a[2]||=e=>b.value=e,a[3]||=e=>T(`newPassword`)],type:`password`,label:`رمز عبور جدید`,error:S.value.newPassword},null,8,[`modelValue`,`error`]),n(f,{modelValue:x.value,"onUpdate:modelValue":[a[4]||=e=>x.value=e,a[5]||=e=>T(`confirmPassword`)],type:`password`,label:`تکرار رمز عبور جدید`,error:S.value.confirmPassword},null,8,[`modelValue`,`error`]),n(d,{block:``,onClick:E},{default:u(()=>[...a[6]||=[t(`ذخیره رمز جدید`,-1)]]),_:1}),w.value?(l(),i(`p`,y,`رمز عبور با موفقیت تغییر کرد ✓`)):o(``,!0)])]),_:1}))}}),[[`__scopeId`,`data-v-074827a2`]]);export{b as default}; import{A as e,F as t,I as n,L as r,M as i,ft as a,j as o,k as s,n as c,q as l,tt as u}from"./BasicIcon-CjTTsi6o.js";import{n as d}from"./index-D3Z8WOeX.js";import{t as f}from"./BaseInput-oWA7d1_u.js";import{t as p}from"./FormErrorBanner-B8THF9oG.js";import{n as m,r as h,t as g}from"./formErrors-DglFjYkZ.js";import{t as _}from"./ProfileSubpageLayout-VuAWanhC.js";var v={class:`settings-form`},y={key:0,class:`settings-form__saved`},b=c(r({__name:`ProfileSecurityView`,setup(r){let c=a(``),b=a(``),x=a(``),S=a({}),C=a(``),w=a(!1);function T(e){S.value=m(S.value,e),h(S.value)||(C.value=``)}function E(){S.value={},C.value=``,w.value=!1;let e={};if(c.value||(e.currentPassword=`رمز فعلی الزامی است.`),b.value.length<6&&(e.newPassword=`رمز جدید باید حداقل ۶ کاراکتر باشد.`),x.value!==b.value&&(e.confirmPassword=`تکرار رمز با رمز جدید یکسان نیست.`),h(e)){S.value=e,C.value=g;return}c.value=``,b.value=``,x.value=``,w.value=!0,setTimeout(()=>{w.value=!1},2e3)}return(r,a)=>(l(),e(_,{title:`امنیت حساب`,subtitle:`تغییر رمز عبور و تنظیمات ورود`},{default:u(()=>[n(p,{message:C.value},null,8,[`message`]),s(`div`,v,[n(f,{modelValue:c.value,"onUpdate:modelValue":[a[0]||=e=>c.value=e,a[1]||=e=>T(`currentPassword`)],type:`password`,label:`رمز عبور فعلی`,error:S.value.currentPassword},null,8,[`modelValue`,`error`]),n(f,{modelValue:b.value,"onUpdate:modelValue":[a[2]||=e=>b.value=e,a[3]||=e=>T(`newPassword`)],type:`password`,label:`رمز عبور جدید`,error:S.value.newPassword},null,8,[`modelValue`,`error`]),n(f,{modelValue:x.value,"onUpdate:modelValue":[a[4]||=e=>x.value=e,a[5]||=e=>T(`confirmPassword`)],type:`password`,label:`تکرار رمز عبور جدید`,error:S.value.confirmPassword},null,8,[`modelValue`,`error`]),n(d,{block:``,onClick:E},{default:u(()=>[...a[6]||=[t(`ذخیره رمز جدید`,-1)]]),_:1}),w.value?(l(),i(`p`,y,`رمز عبور با موفقیت تغییر کرد ✓`)):o(``,!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
+1
View File
@@ -0,0 +1 @@
.job-field[data-v-026be359]{flex-direction:column;gap:6px;margin-bottom:14px;display:flex;position:relative}.job-label[data-v-026be359]{color:var(--color-text);font-size:.875rem;font-weight:600}.job-trigger[data-v-026be359]{background:var(--color-surface);width:100%;height:48px;color:var(--color-text);font:inherit;text-align:start;cursor:pointer;border:1px solid #eeeef1;border-radius:12px;justify-content:space-between;align-items:center;gap:8px;padding:0 14px;font-size:.9375rem;display:flex}.job-trigger.is-open[data-v-026be359]{border-color:var(--color-primary)}.job-trigger.is-error[data-v-026be359]{border-color:var(--color-danger)}.job-trigger .is-placeholder[data-v-026be359]{color:var(--color-text-muted)}.job-chevron[data-v-026be359]{color:#9aa3af;flex-shrink:0;width:12px;height:12px;transition:transform .15s}.job-trigger.is-open .job-chevron[data-v-026be359]{transform:rotate(180deg)}.job-menu[data-v-026be359]{inset-inline:0;z-index:20;background:var(--color-surface);border:1px solid #eeeef1;border-radius:14px;margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 6px);box-shadow:0 8px 24px #10182814}.job-option[data-v-026be359]{width:100%;color:var(--color-text);font:inherit;text-align:start;cursor:pointer;background:0 0;border:none;border-radius:10px;padding:10px 12px;font-size:.9rem;display:block}.job-option[data-v-026be359]:hover{background:#f4f6f5}.job-option.is-active[data-v-026be359]{background:var(--color-primary-soft);color:var(--color-primary);font-weight:600}.job-error[data-v-026be359]{color:var(--color-danger);font-size:.75rem;font-weight:500}
-1
View File
@@ -1 +0,0 @@
import{E as e,F as t,I as n,L as r,M as i,Y as a,Z as o,_ as s,bt as c,ft as l,j as u,k as d,n as f,nt as p,q as m,tt as h,wt as g,x as _}from"./BasicIcon-CjTTsi6o.js";import{c as v}from"./format-BHJptHdF.js";import{a as y}from"./validation-BD7oi-2I.js";import{c as b,d as x,i as S,n as C,p as w}from"./index-BQQA5ZX-.js";import{t as T}from"./IconChevronBack-B10eZjCQ.js";import{t as E}from"./BaseInput-oWA7d1_u.js";import{t as D}from"./FormErrorBanner-B8THF9oG.js";import{n as O,r as k,t as A}from"./formErrors-DglFjYkZ.js";var j={class:`page page-shell auth-page`},M={class:`page__scroll flex flex-col justify-center py-6`},N={class:`card`},P={class:`job-label`},F=[`aria-invalid`],I=[`value`],L={key:0,class:`job-error`},R={class:`mt-6 w-full max-w-[var(--form-max-width)] text-center`},z={class:`m-0 text-sm text-muted`},B=f(r({__name:`RegisterView`,setup(r){let f=s(),B=b(),V=l(``),H=l(``),U=l(``),W=l(``),G=l({}),K=l(``);function q(e){G.value=O(G.value,e),k(G.value)||(K.value=``)}async function J(){G.value={},K.value=``;let e=v(U.value),t={};if(V.value.trim()||(t.firstName=`نام الزامی است.`),H.value.trim()||(t.lastName=`نام خانوادگی الزامی است.`),y(e)||(t.phone=`شماره موبایل معتبر نیست.`),W.value||(t.jobCategory=`دسته‌بندی شغلی الزامی است.`),k(t)){G.value=t,K.value=A;return}let n={firstName:V.value.trim(),lastName:H.value.trim(),jobCategory:W.value};w(n);let r=await B.requestOtp(e,{isRegister:!0,firstName:n.firstName,lastName:n.lastName});r.success?f.push({name:`otp`,query:{phone:e,mode:`register`}}):K.value=r.message??`خطا در ارسال کد تأیید.`}return(r,s)=>{let l=o(`RouterLink`);return m(),i(`div`,j,[d(`button`,{type:`button`,class:`auth-back`,"aria-label":`بازگشت`,onClick:s[0]||=e=>c(f).push(`/login`)},[n(T,{size:20})]),n(S),d(`div`,M,[s[14]||=d(`div`,{class:`auth-header`},[d(`div`,{class:`text-5xl mb-3`},`🧵`),d(`h1`,{class:`page-title`},`ثبت‌نام`),d(`p`,{class:`page-subtitle`},`ایجاد حساب کاربری جدید`)],-1),d(`div`,N,[n(D,{message:K.value},null,8,[`message`]),n(E,{modelValue:V.value,"onUpdate:modelValue":[s[1]||=e=>V.value=e,s[2]||=e=>q(`firstName`)],label:`نام`,placeholder:`نام خود را وارد کنید`,error:G.value.firstName},null,8,[`modelValue`,`error`]),n(E,{modelValue:H.value,"onUpdate:modelValue":[s[3]||=e=>H.value=e,s[4]||=e=>q(`lastName`)],label:`نام خانوادگی`,placeholder:`نام خانوادگی`,error:G.value.lastName},null,8,[`modelValue`,`error`]),n(E,{modelValue:U.value,"onUpdate:modelValue":[s[5]||=e=>U.value=e,s[6]||=e=>q(`phone`)],label:`شماره موبایل`,type:`tel`,inputmode:`tel`,dir:`ltr`,placeholder:`۰۹۱۲۳۴۵۶۷۸۹`,error:G.value.phone},null,8,[`modelValue`,`error`]),d(`label`,P,[s[10]||=t(` دسته‌بندی شغلی `,-1),p(d(`select`,{"onUpdate:modelValue":s[7]||=e=>W.value=e,class:`job-select`,"aria-invalid":!!G.value.jobCategory,onChange:s[8]||=e=>q(`jobCategory`)},[s[9]||=d(`option`,{disabled:``,value:``},`انتخاب کنید`,-1),(m(!0),i(e,null,a(c(x),e=>(m(),i(`option`,{key:e.id,value:e.id},g(e.label),9,I))),128))],40,F),[[_,W.value]]),G.value.jobCategory?(m(),i(`span`,L,g(G.value.jobCategory),1)):u(``,!0)]),n(C,{block:``,loading:c(B).loading,onClick:J},{default:h(()=>[...s[11]||=[t(`دریافت کد تأیید`,-1)]]),_:1},8,[`loading`])]),d(`div`,R,[d(`p`,z,[s[13]||=t(` قبلاً ثبت‌نام کرده‌اید؟ `,-1),n(l,{to:`/login`,class:`ms-1 font-bold text-primary no-underline hover:underline`},{default:h(()=>[...s[12]||=[t(` وارد شوید `,-1)]]),_:1})])])])])}}}),[[`__scopeId`,`data-v-1534f255`]]);export{B as default};
-1
View File
@@ -1 +0,0 @@
.auth-back[data-v-1534f255]{top:calc(12px + env(safe-area-inset-top,0px));z-index:100;cursor:pointer;width:40px;height:40px;color:var(--color-text);background:0 0;border:none;place-items:center;padding:0;display:grid;position:fixed;inset-inline-start:16px}.job-label[data-v-1534f255]{color:var(--color-text);flex-direction:column;gap:6px;margin-bottom:14px;font-size:.875rem;font-weight:600;display:flex}.job-select[data-v-1534f255]{border:1px solid var(--color-border);border-radius:var(--radius-sm);height:48px;font:inherit;background:var(--color-surface);color:var(--color-text);padding:0 12px}.job-error[data-v-1534f255]{color:var(--color-danger);font-size:.75rem;font-weight:500}
+1
View File
@@ -0,0 +1 @@
import{E as e,F as t,I as n,L as r,M as i,O as a,T as o,Y as s,Z as c,_ as l,bt as u,ft as d,j as f,k as p,n as m,q as h,tt as g,wt as _,xt as v}from"./BasicIcon-CjTTsi6o.js";import{t as y}from"./dist-DLhmLSgX.js";import{c as b}from"./format-BHJptHdF.js";import{a as x}from"./validation-BD7oi-2I.js";import{c as S,d as C,i as w,n as T,p as E}from"./index-D3Z8WOeX.js";import{t as D}from"./IconChevronBack-B10eZjCQ.js";import{t as O}from"./BaseInput-oWA7d1_u.js";import{t as k}from"./FormErrorBanner-B8THF9oG.js";import{n as A,r as j,t as M}from"./formErrors-DglFjYkZ.js";var N={class:`page auth-page`},P={class:`auth-top`},F={class:`page__scroll auth-body`},I=[`aria-expanded`,`aria-invalid`],L={key:0,class:`job-menu`,role:`listbox`},R=[`aria-selected`,`onClick`],z={key:1,class:`job-error`},B={class:`auth-switch`},V=m(r({__name:`RegisterView`,setup(r){let m=l(),V=S(),H=d(``),U=d(``),W=d(``),G=d(``),K=d(!1),q=d(null),J=d({}),Y=d(``),X=a(()=>C.find(e=>e.id===G.value)?.label??`انتخاب کنید`);y(q,()=>{K.value=!1});function Z(e){G.value=e,K.value=!1,Q(`jobCategory`)}function Q(e){J.value=A(J.value,e),j(J.value)||(Y.value=``)}async function $(){J.value={},Y.value=``;let e=b(W.value),t={};if(H.value.trim()||(t.firstName=`نام الزامی است.`),U.value.trim()||(t.lastName=`نام خانوادگی الزامی است.`),x(e)||(t.phone=`شماره موبایل معتبر نیست.`),G.value||(t.jobCategory=`دسته‌بندی شغلی الزامی است.`),j(t)){J.value=t,Y.value=M;return}let n={firstName:H.value.trim(),lastName:U.value.trim(),jobCategory:G.value};E(n);let r=await V.requestOtp(e,{isRegister:!0,firstName:n.firstName,lastName:n.lastName});r.success?m.push({name:`otp`,query:{phone:e,mode:`register`}}):Y.value=r.message??`خطا در ارسال کد تأیید.`}return(r,a)=>{let l=c(`RouterLink`);return h(),i(`div`,N,[p(`header`,P,[p(`button`,{type:`button`,class:`icon-btn`,"aria-label":`بازگشت`,onClick:a[0]||=e=>u(m).push(`/login`)},[n(D,{size:20})]),a[8]||=p(`h1`,{class:`auth-top__title`},`ثبت‌نام`,-1),n(w,{variant:`inline`})]),p(`div`,F,[a[14]||=p(`p`,{class:`auth-lead`},`نام، موبایل و شغل خود را وارد کنید تا حساب ساخته شود.`,-1),p(`form`,{class:`card`,onSubmit:o($,[`prevent`])},[n(k,{message:Y.value},null,8,[`message`]),n(O,{modelValue:H.value,"onUpdate:modelValue":[a[1]||=e=>H.value=e,a[2]||=e=>Q(`firstName`)],label:`نام`,placeholder:`نام خود را وارد کنید`,error:J.value.firstName},null,8,[`modelValue`,`error`]),n(O,{modelValue:U.value,"onUpdate:modelValue":[a[3]||=e=>U.value=e,a[4]||=e=>Q(`lastName`)],label:`نام خانوادگی`,placeholder:`نام خانوادگی`,error:J.value.lastName},null,8,[`modelValue`,`error`]),n(O,{modelValue:W.value,"onUpdate:modelValue":[a[5]||=e=>W.value=e,a[6]||=e=>Q(`phone`)],label:`شماره موبایل`,type:`tel`,inputmode:`tel`,dir:`ltr`,placeholder:`۰۹۱۲۳۴۵۶۷۸۹`,error:J.value.phone},null,8,[`modelValue`,`error`]),p(`div`,{ref_key:`jobRoot`,ref:q,class:`job-field`},[a[10]||=p(`span`,{id:`job-label`,class:`job-label`},`دسته‌بندی شغلی`,-1),p(`button`,{type:`button`,class:v([`job-trigger`,{"is-open":K.value,"is-error":J.value.jobCategory}]),"aria-labelledby":`job-label`,"aria-haspopup":`listbox`,"aria-expanded":K.value,"aria-invalid":!!J.value.jobCategory,onClick:a[7]||=e=>K.value=!K.value},[p(`span`,{class:v({"is-placeholder":!G.value})},_(X.value),3),a[9]||=p(`svg`,{class:`job-chevron`,viewBox:`0 0 12 12`,"aria-hidden":`true`},[p(`path`,{d:`M2.5 4.5 6 8l3.5-3.5`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.4`,"stroke-linecap":`round`})],-1)],10,I),K.value?(h(),i(`ul`,L,[(h(!0),i(e,null,s(u(C),e=>(h(),i(`li`,{key:e.id},[p(`button`,{type:`button`,role:`option`,class:v([`job-option`,{"is-active":G.value===e.id}]),"aria-selected":G.value===e.id,onClick:t=>Z(e.id)},_(e.label),11,R)]))),128))])):f(``,!0),J.value.jobCategory?(h(),i(`span`,z,_(J.value.jobCategory),1)):f(``,!0)],512),n(T,{block:``,type:`submit`,loading:u(V).loading},{default:g(()=>[...a[11]||=[t(`دریافت کد تأیید`,-1)]]),_:1},8,[`loading`])],32),p(`p`,B,[a[13]||=t(` قبلاً ثبت‌نام کرده‌اید؟ `,-1),n(l,{to:`/login`},{default:g(()=>[...a[12]||=[t(`وارد شوید`,-1)]]),_:1})])])])}}}),[[`__scopeId`,`data-v-026be359`]]);export{V 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
View File
@@ -1 +0,0 @@
import{ft as e}from"./BasicIcon-CjTTsi6o.js";import{n as t,o as n,t as r}from"./http-Bfs7sUUO.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}})}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){return c(`/agent/customers/${e}`)}async function g(e){return c(`/agent/meetings`,{method:`POST`,body:e})}async function _(e){return c(`/agent/reminders`,{query:{filter:e}})}async function v(e){return c(`/agent/reminders/${e}`)}async function y(e,t=!0){return c(`/agent/reminders/${e}/complete`,{method:`PATCH`,body:{completed:t}})}async function b(e){return c(`/agent/reminders`,{method:`POST`,body:e})}function x(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`],tags:e.tags??[],isNew:!!e.isNew,imageUrl:e.imageUrl||e.imageUrls?.[0],subtitle:e.subtitle,rollMeters:e.rollMeters??50,companyId:e.companyId,catalogId:e.catalogId,catalogCode:e.catalogCode,color:e.color,minMeterage:e.minMeterage??30,orderMultiplier:e.orderMultiplier??10,basePrice:e.basePrice??void 0}}var S=n(`crm`,()=>{let n=e(!1),r=e(null),i=e(null),a=e([]),o=e([]),s=e([]),c=e([]),d=e([]);async function S(){let e=await l();return s.value=e.usage,c.value=e.seasons,e}async function C(e){let t=await u(e);return d.value=t.map(x),d.value}async function w(e){return x(await t(`/products/${e}`))}async function T(){return i.value=await f(),i.value}async function E(e){return a.value=await p(e),a.value}async function D(e){return await h(e)}async function O(e){return g(e)}async function k(e){return m(e)}async function A(e){return o.value=await _(e),o.value}async function j(e){return v(e)}async function M(e){return y(e,!0)}async function N(e){return b(e)}return{loading:n,error:r,agentProfile:i,customers:a,reminders:o,usageCategories:s,seasonCategories:c,browseProducts:d,loadCategories:S,loadBrowseProducts:C,loadProductById:w,loadAgentProfile:T,loadCustomers:E,loadCustomerDetail:D,submitMeeting:O,registerCustomer:k,loadReminders:A,loadReminderDetail:j,markReminderComplete:M,createReminder:N}});export{f as n,d as r,S as t};
+1
View File
@@ -0,0 +1 @@
import{ft as e}from"./BasicIcon-CjTTsi6o.js";import{n as t,o as n,t as r}from"./http-Bfs7sUUO.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){return c(`/agent/customers/${e}`)}async function g(e){return c(`/agent/meetings`,{method:`POST`,body:e})}async function _(e){return c(`/agent/reminders`,{query:{filter:e}})}async function v(e){return c(`/agent/reminders/${e}`)}async function y(e,t=!0){return c(`/agent/reminders/${e}/complete`,{method:`PATCH`,body:{completed:t}})}async function b(e){return c(`/agent/reminders`,{method:`POST`,body:e})}function x(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`],tags:e.tags??[],isNew:!!e.isNew,imageUrl:e.imageUrl||e.imageUrls?.[0],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 S=n(`crm`,()=>{let n=e(!1),r=e(null),i=e(null),a=e([]),o=e([]),s=e([]),c=e([]),d=e([]);async function S(){let e=await l();return s.value=e.usage,c.value=e.seasons,e}async function C(e){let t=await u(e);return d.value=t.map(x),d.value}async function w(e){return x(await t(`/products/${e}`))}async function T(){return i.value=await f(),i.value}async function E(e){return a.value=await p(e),a.value}async function D(e){return await h(e)}async function O(e){return g(e)}async function k(e){return m(e)}async function A(e){return o.value=await _(e),o.value}async function j(e){return v(e)}async function M(e){return y(e,!0)}async function N(e){return b(e)}return{loading:n,error:r,agentProfile:i,customers:a,reminders:o,usageCategories:s,seasonCategories:c,browseProducts:d,loadCategories:S,loadBrowseProducts:C,loadProductById:w,loadAgentProfile:T,loadCustomers:E,loadCustomerDetail:D,submitMeeting:O,registerCustomer:k,loadReminders:A,loadReminderDetail:j,markReminderComplete:M,createReminder:N}});export{i as a,a as i,f as n,d as r,S as t};
-1
View File
File diff suppressed because one or more lines are too long
+1
View File
File diff suppressed because one or more lines are too long
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
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{$ as e,O as t,_ as n,g as r}from"./BasicIcon-CjTTsi6o.js";import{h as i}from"./index-BQQA5ZX-.js";import{n as a}from"./orderInvoice-B0L1Aeuk.js";function o(){let o=r(),s=n(),c=i(),l=t(()=>o.params.id),u=t(()=>c.getOrderById(l.value)),d=t(()=>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{$ as e,O as t,_ as n,g as r}from"./BasicIcon-CjTTsi6o.js";import{h as i}from"./index-D3Z8WOeX.js";import{n as a}from"./orderInvoice-B0L1Aeuk.js";function o(){let o=r(),s=n(),c=i(),l=t(()=>o.params.id),u=t(()=>c.getOrderById(l.value)),d=t(()=>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="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover">
<meta name="theme-color" content="#17379f"> <meta name="theme-color" content="#17379f">
<title>سامانه سفارش عمده پارچه</title> <title>سامانه سفارش عمده پارچه</title>
<script type="module" crossorigin src="/assets/index-BQQA5ZX-.js"></script> <script type="module" crossorigin src="/assets/index-D3Z8WOeX.js"></script>
<link rel="modulepreload" crossorigin href="/assets/BasicIcon-CjTTsi6o.js"> <link rel="modulepreload" crossorigin href="/assets/BasicIcon-CjTTsi6o.js">
<link rel="modulepreload" crossorigin href="/assets/http-Bfs7sUUO.js"> <link rel="modulepreload" crossorigin href="/assets/http-Bfs7sUUO.js">
<link rel="modulepreload" crossorigin href="/assets/dist-D9CyXEdG.js"> <link rel="modulepreload" crossorigin href="/assets/dist-DLhmLSgX.js">
<link rel="modulepreload" crossorigin href="/assets/format-BHJptHdF.js"> <link rel="modulepreload" crossorigin href="/assets/format-BHJptHdF.js">
<link rel="modulepreload" crossorigin href="/assets/validation-BD7oi-2I.js"> <link rel="modulepreload" crossorigin href="/assets/validation-BD7oi-2I.js">
<link rel="modulepreload" crossorigin href="/assets/catalog-Dd554brK.js"> <link rel="modulepreload" crossorigin href="/assets/catalog-Dd554brK.js">
<link rel="stylesheet" crossorigin href="/assets/BasicIcon-QF_b9Svq.css"> <link rel="stylesheet" crossorigin href="/assets/BasicIcon-QF_b9Svq.css">
<link rel="stylesheet" crossorigin href="/assets/index-C8q6a5KX.css"> <link rel="stylesheet" crossorigin href="/assets/index-BBP3IozY.css">
</head> </head>
<body> <body>
<div id="app"></div> <div id="app"></div>