diff --git a/dist/assets/AddressCompletionModal-BVo6FI5Y.js b/dist/assets/AddressCompletionModal-BuNBCK1j.js similarity index 98% rename from dist/assets/AddressCompletionModal-BVo6FI5Y.js rename to dist/assets/AddressCompletionModal-BuNBCK1j.js index bcf536b..4eb6c51 100644 --- a/dist/assets/AddressCompletionModal-BVo6FI5Y.js +++ b/dist/assets/AddressCompletionModal-BuNBCK1j.js @@ -1 +1 @@ -import{D as e,G as t,K as n,M as r,Pt as i,U as a,_ as o,d as s,f as c,g as l,l as u,nt as d,o as f,t as p,u as m,v as h}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{s as g,u as _}from"./BasicIcon-ba1FsUKx.js";import{t as v}from"./http-CU_N-R2R.js";import{f as y,r as b}from"./index-CgTrQFr5.js";import{t as x}from"./addresses-tV-zgZYG.js";import{t as S}from"./catalogRequests-COPPKp3x.js";var C=`درخواست دریافت فیزیکی کالیته برای شما ثبت شد و به زودی همکاران ما برای شما خواهند آورد`;function w(){let e=S(),t=y(),n=d(!1),r=d(!1),i=d(null),a=d(``);function o(){r.value=!1,i.value=null,a.value=``}async function s(n,r){let i=await e.create({items:[{productId:n.id,productName:n.name,productCode:n.code,quantity:1}],note:`آدرس: ${r}`});return i.success?(t.show(C),!0):(a.value=i.message,!1)}async function c(e){a.value=``;let t=``;try{let e=await x.list();t=(e.find(e=>e.isDefault)??e[0])?.text.trim()??``}catch{t=``}if(t){n.value=!0;try{await s(e,t)}finally{n.value=!1}return}i.value=e,r.value=!0}async function l(e){let t=e.trim();if(!t)return a.value=`آدرس الزامی است.`,!1;let r=i.value;if(!r)return!1;a.value=``,n.value=!0;try{await x.create({text:t});let e=await s(r,t);return e&&o(),e}catch(e){return a.value=e instanceof v||e instanceof Error?e.message:`ذخیره آدرس ناموفق بود.`,!1}finally{n.value=!1}}return{requesting:n,addressModalOpen:r,addressError:a,requestCatalog:c,submitAddressAndRequest:l,closeAddressModal:o}}var T={class:`dialog card address-modal`},E={class:`address-modal__field`},D={key:0,class:`address-modal__error`},O={class:`dialog-actions address-modal__actions`},k=p(h({__name:`AddressCompletionModal`,props:{open:{type:Boolean},loading:{type:Boolean},error:{}},emits:[`close`,`submit`],setup(p,{emit:h}){let v=p,y=h,x=d(``);a(()=>v.open,e=>{e&&(x.value=``)});function S(e){e.key===`Escape`&&v.open&&y(`close`)}a(()=>v.open,e=>{document.body.style.overflow=e?`hidden`:``,e?window.addEventListener(`keydown`,S):window.removeEventListener(`keydown`,S)},{immediate:!0}),e(()=>{document.body.style.overflow=``,window.removeEventListener(`keydown`,S)});function C(){y(`submit`,x.value)}return(e,a)=>(r(),m(f,{to:`body`},[p.open?(r(),c(`div`,{key:0,class:`dialog-overlay address-modal-overlay`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`address-modal-title`,onClick:a[2]||=_(e=>y(`close`),[`self`])},[u(`div`,T,[a[5]||=u(`h3`,{id:`address-modal-title`,class:`address-modal__title`},`تکمیل آدرس`,-1),a[6]||=u(`p`,{class:`address-modal__hint`},` برای ارسال کالیته فیزیکی، آدرس محل فعالیت خود را وارد کنید. این آدرس در اطلاعات کاربری شما ذخیره میشود. `,-1),u(`label`,E,[a[3]||=u(`span`,{class:`form-label`},`آدرس`,-1),n(u(`textarea`,{"onUpdate:modelValue":a[0]||=e=>x.value=e,class:`address-modal__textarea`,rows:`3`,maxlength:`500`,placeholder:`آدرس کامل محل فعالیت`},null,512),[[g,x.value]])]),p.error?(r(),c(`p`,D,i(p.error),1)):s(``,!0),u(`div`,O,[o(b,{variant:`outline`,disabled:p.loading,onClick:a[1]||=e=>y(`close`)},{default:t(()=>[...a[4]||=[l(` انصراف `,-1)]]),_:1},8,[`disabled`]),o(b,{disabled:p.loading,onClick:C},{default:t(()=>[l(i(p.loading?`در حال ثبت...`:`ثبت درخواست`),1)]),_:1},8,[`disabled`])])])])):s(``,!0)]))}}),[[`__scopeId`,`data-v-0a7c2418`]]);export{w as n,k as t}; \ No newline at end of file +import{D as e,G as t,K as n,M as r,Pt as i,U as a,_ as o,d as s,f as c,g as l,l as u,nt as d,o as f,t as p,u as m,v as h}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{s as g,u as _}from"./BasicIcon-ba1FsUKx.js";import{t as v}from"./http-CU_N-R2R.js";import{f as y,r as b}from"./index-CON313Q2.js";import{t as x}from"./addresses-tV-zgZYG.js";import{t as S}from"./catalogRequests-COPPKp3x.js";var C=`درخواست دریافت فیزیکی کالیته برای شما ثبت شد و به زودی همکاران ما برای شما خواهند آورد`;function w(){let e=S(),t=y(),n=d(!1),r=d(!1),i=d(null),a=d(``);function o(){r.value=!1,i.value=null,a.value=``}async function s(n,r){let i=await e.create({items:[{productId:n.id,productName:n.name,productCode:n.code,quantity:1}],note:`آدرس: ${r}`});return i.success?(t.show(C),!0):(a.value=i.message,!1)}async function c(e){a.value=``;let t=``;try{let e=await x.list();t=(e.find(e=>e.isDefault)??e[0])?.text.trim()??``}catch{t=``}if(t){n.value=!0;try{await s(e,t)}finally{n.value=!1}return}i.value=e,r.value=!0}async function l(e){let t=e.trim();if(!t)return a.value=`آدرس الزامی است.`,!1;let r=i.value;if(!r)return!1;a.value=``,n.value=!0;try{await x.create({text:t});let e=await s(r,t);return e&&o(),e}catch(e){return a.value=e instanceof v||e instanceof Error?e.message:`ذخیره آدرس ناموفق بود.`,!1}finally{n.value=!1}}return{requesting:n,addressModalOpen:r,addressError:a,requestCatalog:c,submitAddressAndRequest:l,closeAddressModal:o}}var T={class:`dialog card address-modal`},E={class:`address-modal__field`},D={key:0,class:`address-modal__error`},O={class:`dialog-actions address-modal__actions`},k=p(h({__name:`AddressCompletionModal`,props:{open:{type:Boolean},loading:{type:Boolean},error:{}},emits:[`close`,`submit`],setup(p,{emit:h}){let v=p,y=h,x=d(``);a(()=>v.open,e=>{e&&(x.value=``)});function S(e){e.key===`Escape`&&v.open&&y(`close`)}a(()=>v.open,e=>{document.body.style.overflow=e?`hidden`:``,e?window.addEventListener(`keydown`,S):window.removeEventListener(`keydown`,S)},{immediate:!0}),e(()=>{document.body.style.overflow=``,window.removeEventListener(`keydown`,S)});function C(){y(`submit`,x.value)}return(e,a)=>(r(),m(f,{to:`body`},[p.open?(r(),c(`div`,{key:0,class:`dialog-overlay address-modal-overlay`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`address-modal-title`,onClick:a[2]||=_(e=>y(`close`),[`self`])},[u(`div`,T,[a[5]||=u(`h3`,{id:`address-modal-title`,class:`address-modal__title`},`تکمیل آدرس`,-1),a[6]||=u(`p`,{class:`address-modal__hint`},` برای ارسال کالیته فیزیکی، آدرس محل فعالیت خود را وارد کنید. این آدرس در اطلاعات کاربری شما ذخیره میشود. `,-1),u(`label`,E,[a[3]||=u(`span`,{class:`form-label`},`آدرس`,-1),n(u(`textarea`,{"onUpdate:modelValue":a[0]||=e=>x.value=e,class:`address-modal__textarea`,rows:`3`,maxlength:`500`,placeholder:`آدرس کامل محل فعالیت`},null,512),[[g,x.value]])]),p.error?(r(),c(`p`,D,i(p.error),1)):s(``,!0),u(`div`,O,[o(b,{variant:`outline`,disabled:p.loading,onClick:a[1]||=e=>y(`close`)},{default:t(()=>[...a[4]||=[l(` انصراف `,-1)]]),_:1},8,[`disabled`]),o(b,{disabled:p.loading,onClick:C},{default:t(()=>[l(i(p.loading?`در حال ثبت...`:`ثبت درخواست`),1)]),_:1},8,[`disabled`])])])])):s(``,!0)]))}}),[[`__scopeId`,`data-v-0a7c2418`]]);export{w as n,k as t}; \ No newline at end of file diff --git a/dist/assets/AddressesView-B4VH-G8P.js b/dist/assets/AddressesView-CTbEoaVH.js similarity index 98% rename from dist/assets/AddressesView-B4VH-G8P.js rename to dist/assets/AddressesView-CTbEoaVH.js index 0b2d21e..8b9ce56 100644 --- a/dist/assets/AddressesView-B4VH-G8P.js +++ b/dist/assets/AddressesView-CTbEoaVH.js @@ -1 +1 @@ -import{At as e,D as t,F as ee,G as n,K as r,M as i,Pt as a,U as o,_ as s,d as c,f as l,g as u,i as d,k as te,l as f,nt as p,o as m,t as ne,u as h,ut as g,v as _}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{n as re,s as v,t as y,u as b}from"./BasicIcon-ba1FsUKx.js";import{n as ie}from"./dist-Bc4P4ngC.js";import{t as x}from"./http-CU_N-R2R.js";import{t as ae}from"./IconPlus-ClEaCwsc.js";import{f as oe,r as S}from"./index-CgTrQFr5.js";import{t as C}from"./addresses-tV-zgZYG.js";import{t as se}from"./IconTrash-v0i8XrOh.js";import{t as ce}from"./ProfileSubpageLayout-rMZ-9ZO7.js";var w=_({__name:`IconMapPin`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,ee)=>(i(),h(y,{icon:`vuesax-linear:location`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),T=_({__name:`IconVerified`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,ee)=>(i(),h(y,{icon:`vuesax-linear:verify`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),le={class:`addresses-page`},ue={class:`addresses-page__toolbar`},de={key:0,class:`addr-error`,role:`alert`},fe={key:1,class:`addr-muted`},pe={key:2,class:`addr-list`},E={class:`addr-card__main`},D={class:`addr-card__icon`,"aria-hidden":`true`},O={class:`addr-card__body`},k={class:`addr-card__head`},A={key:0,class:`addr-default-badge`},j={class:`addr-card__label`},M={class:`addr-card__text`},N={class:`addr-card__actions`},P=[`onClick`],F=[`onClick`],I={key:3,class:`addr-empty`},L={class:`addr-add-sheet`},R={class:`addr-field`},z={class:`addr-field`},B={key:0,class:`addr-error`,role:`alert`},me={class:`dialog card addr-add-modal`},he={class:`addr-field`},ge={class:`addr-field`},_e={key:0,class:`addr-error`,role:`alert`},ve={class:`dialog-actions addr-add-modal__actions`},V=ne(_({__name:`AddressesView`,setup(ne){let _=ie(`(min-width: 768px)`),y=oe(),V=p([]),H=p(``),U=p(``),W=p(``),G=p(``),K=p(!0),q=p(!1),J=p(!1);async function ye(){K.value=!0,W.value=``;try{V.value=await C.list()}catch(e){W.value=e instanceof x||e instanceof Error?e.message:`دریافت آدرسها ناموفق بود.`}finally{K.value=!1}}te(ye);function Y(){H.value=``,U.value=``,G.value=``}function X(){Y(),J.value=!0}function Z(){q.value||(J.value=!1,Y())}function Q(e){e.key===`Escape`&&J.value&&Z()}o(J,e=>{document.body.style.overflow=e?`hidden`:``,e?window.addEventListener(`keydown`,Q):window.removeEventListener(`keydown`,Q)}),t(()=>{document.body.style.overflow=``,window.removeEventListener(`keydown`,Q)});async function $(){let e=H.value.trim();if(e.length<3||q.value){G.value=`آدرس را کاملتر بنویسید.`;return}q.value=!0,G.value=``;try{await C.create({text:e,label:U.value.trim()||void 0}),V.value=await C.list(),Z(),y.show(`آدرس با موفقیت ثبت شد.`,{tone:`success`})}catch(e){G.value=e instanceof x||e instanceof Error?e.message:`ذخیره آدرس ناموفق بود.`}finally{q.value=!1}}async function be(e){W.value=``;try{V.value=await C.makeDefault(e),y.show(`آدرس پیشفرض بهروزرسانی شد.`,{tone:`success`})}catch(e){W.value=e instanceof Error?e.message:`تغییر آدرس پیشفرض ناموفق بود.`}}async function xe(e){W.value=``;try{V.value=await C.remove(e),y.show(`آدرس حذف شد.`,{tone:`success`})}catch(e){W.value=e instanceof Error?e.message:`حذف آدرس ناموفق بود.`}}return(t,o)=>(i(),l(`div`,le,[s(ce,{title:`آدرسها`,subtitle:`برای ارسال کالیته از آدرس پیشفرض استفاده میشود`},{default:n(()=>[f(`div`,ue,[o[5]||=f(`p`,{class:`addresses-page__hint`},`آدرسهای محل فعالیت برای ارسال کالیته`,-1),s(S,{class:`addresses-page__new-btn`,size:`sm`,onClick:X},{default:n(()=>[s(ae,{size:18}),o[4]||=u(` آدرس جدید `,-1)]),_:1})]),W.value?(i(),l(`p`,de,a(W.value),1)):c(``,!0),K.value?(i(),l(`p`,fe,`در حال دریافت…`)):V.value.length?(i(),l(`ul`,pe,[(i(!0),l(d,null,ee(V.value,t=>(i(),l(`li`,{key:t.id,class:e([`addr-card`,{"addr-card--default":t.isDefault}])},[f(`div`,E,[f(`div`,D,[s(w,{size:20})]),f(`div`,O,[f(`div`,k,[t.isDefault?(i(),l(`span`,A,[s(T,{size:16}),o[6]||=u(` پیشفرض ارسال `,-1)])):c(``,!0),f(`strong`,j,a(t.label||`آدرس`),1)]),f(`p`,M,a(t.text),1)])]),f(`div`,N,[t.isDefault?c(``,!0):(i(),l(`button`,{key:0,type:`button`,class:`addr-icon-btn`,"aria-label":`انتخاب بهعنوان آدرس پیشفرض`,title:`پیشفرض`,onClick:e=>be(t.id)},[s(T,{size:20})],8,P)),f(`button`,{type:`button`,class:`addr-icon-btn addr-icon-btn--danger`,"aria-label":`حذف آدرس`,title:`حذف`,onClick:e=>xe(t.id)},[s(se,{size:20})],8,F)])],2))),128))])):(i(),l(`div`,I,[s(w,{size:40,class:`addr-empty__icon`}),o[8]||=f(`p`,{class:`addr-muted`},`هنوز آدرسی ثبت نشده است.`,-1),s(S,{size:`sm`,variant:`outline`,onClick:X},{default:n(()=>[...o[7]||=[u(`افزودن اولین آدرس`,-1)]]),_:1})]))]),_:1}),(i(),h(m,{to:`body`},[s(re,{name:`addr-sheet`},{default:n(()=>[J.value&&!g(_)?(i(),l(`div`,{key:0,class:`addr-add-panel`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`addr-add-title-mobile`,onClick:b(Z,[`self`])},[f(`div`,L,[o[13]||=f(`div`,{class:`addr-add-sheet__handle`,"aria-hidden":`true`},null,-1),f(`header`,{class:`addr-add-sheet__head`},[o[9]||=f(`h2`,{id:`addr-add-title-mobile`},`آدرس جدید`,-1),f(`button`,{type:`button`,class:`addr-add-sheet__close`,"aria-label":`بستن`,onClick:Z},` × `)]),f(`form`,{class:`addr-form`,onSubmit:b($,[`prevent`])},[f(`label`,R,[o[10]||=f(`span`,null,`عنوان (اختیاری)`,-1),r(f(`input`,{"onUpdate:modelValue":o[0]||=e=>U.value=e,type:`text`,maxlength:`40`,placeholder:`مثلاً فروشگاه`},null,512),[[v,U.value]])]),f(`label`,z,[o[11]||=f(`span`,null,`آدرس`,-1),r(f(`textarea`,{"onUpdate:modelValue":o[1]||=e=>H.value=e,rows:`3`,maxlength:`500`,placeholder:`آدرس کامل محل فعالیت`},null,512),[[v,H.value]])]),G.value?(i(),l(`p`,B,a(G.value),1)):c(``,!0),s(S,{type:`submit`,class:`addr-form__submit`,loading:q.value},{default:n(()=>[...o[12]||=[u(` افزودن آدرس `,-1)]]),_:1},8,[`loading`])],32)])])):c(``,!0)]),_:1})])),(i(),h(m,{to:`body`},[J.value&&g(_)?(i(),l(`div`,{key:0,class:`dialog-overlay addr-add-overlay`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`addr-add-title-desktop`,onClick:b(Z,[`self`])},[f(`div`,me,[o[18]||=f(`h2`,{id:`addr-add-title-desktop`,class:`addr-add-modal__title`},`آدرس جدید`,-1),o[19]||=f(`p`,{class:`addr-add-modal__hint`},`آدرس کامل محل فعالیت را وارد کنید.`,-1),f(`form`,{class:`addr-form`,onSubmit:b($,[`prevent`])},[f(`label`,he,[o[14]||=f(`span`,null,`عنوان (اختیاری)`,-1),r(f(`input`,{"onUpdate:modelValue":o[2]||=e=>U.value=e,type:`text`,maxlength:`40`,placeholder:`مثلاً فروشگاه`},null,512),[[v,U.value]])]),f(`label`,ge,[o[15]||=f(`span`,null,`آدرس`,-1),r(f(`textarea`,{"onUpdate:modelValue":o[3]||=e=>H.value=e,rows:`3`,maxlength:`500`,placeholder:`آدرس کامل محل فعالیت`},null,512),[[v,H.value]])]),G.value?(i(),l(`p`,_e,a(G.value),1)):c(``,!0),f(`div`,ve,[s(S,{type:`button`,variant:`outline`,disabled:q.value,onClick:Z},{default:n(()=>[...o[16]||=[u(` انصراف `,-1)]]),_:1},8,[`disabled`]),s(S,{type:`submit`,loading:q.value},{default:n(()=>[...o[17]||=[u(`افزودن آدرس`,-1)]]),_:1},8,[`loading`])])],32)])])):c(``,!0)]))]))}}),[[`__scopeId`,`data-v-c10ac267`]]);export{V as default}; \ No newline at end of file +import{At as e,D as t,F as ee,G as n,K as r,M as i,Pt as a,U as o,_ as s,d as c,f as l,g as u,i as d,k as te,l as f,nt as p,o as m,t as ne,u as h,ut as g,v as _}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{n as re,s as v,t as y,u as b}from"./BasicIcon-ba1FsUKx.js";import{n as ie}from"./dist-Bc4P4ngC.js";import{t as x}from"./http-CU_N-R2R.js";import{t as ae}from"./IconPlus-ClEaCwsc.js";import{f as oe,r as S}from"./index-CON313Q2.js";import{t as C}from"./addresses-tV-zgZYG.js";import{t as se}from"./IconTrash-v0i8XrOh.js";import{t as ce}from"./ProfileSubpageLayout-CUE0Dzm7.js";var w=_({__name:`IconMapPin`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,ee)=>(i(),h(y,{icon:`vuesax-linear:location`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),T=_({__name:`IconVerified`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,ee)=>(i(),h(y,{icon:`vuesax-linear:verify`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),le={class:`addresses-page`},ue={class:`addresses-page__toolbar`},de={key:0,class:`addr-error`,role:`alert`},fe={key:1,class:`addr-muted`},pe={key:2,class:`addr-list`},E={class:`addr-card__main`},D={class:`addr-card__icon`,"aria-hidden":`true`},O={class:`addr-card__body`},k={class:`addr-card__head`},A={key:0,class:`addr-default-badge`},j={class:`addr-card__label`},M={class:`addr-card__text`},N={class:`addr-card__actions`},P=[`onClick`],F=[`onClick`],I={key:3,class:`addr-empty`},L={class:`addr-add-sheet`},R={class:`addr-field`},z={class:`addr-field`},B={key:0,class:`addr-error`,role:`alert`},me={class:`dialog card addr-add-modal`},he={class:`addr-field`},ge={class:`addr-field`},_e={key:0,class:`addr-error`,role:`alert`},ve={class:`dialog-actions addr-add-modal__actions`},V=ne(_({__name:`AddressesView`,setup(ne){let _=ie(`(min-width: 768px)`),y=oe(),V=p([]),H=p(``),U=p(``),W=p(``),G=p(``),K=p(!0),q=p(!1),J=p(!1);async function ye(){K.value=!0,W.value=``;try{V.value=await C.list()}catch(e){W.value=e instanceof x||e instanceof Error?e.message:`دریافت آدرسها ناموفق بود.`}finally{K.value=!1}}te(ye);function Y(){H.value=``,U.value=``,G.value=``}function X(){Y(),J.value=!0}function Z(){q.value||(J.value=!1,Y())}function Q(e){e.key===`Escape`&&J.value&&Z()}o(J,e=>{document.body.style.overflow=e?`hidden`:``,e?window.addEventListener(`keydown`,Q):window.removeEventListener(`keydown`,Q)}),t(()=>{document.body.style.overflow=``,window.removeEventListener(`keydown`,Q)});async function $(){let e=H.value.trim();if(e.length<3||q.value){G.value=`آدرس را کاملتر بنویسید.`;return}q.value=!0,G.value=``;try{await C.create({text:e,label:U.value.trim()||void 0}),V.value=await C.list(),Z(),y.show(`آدرس با موفقیت ثبت شد.`,{tone:`success`})}catch(e){G.value=e instanceof x||e instanceof Error?e.message:`ذخیره آدرس ناموفق بود.`}finally{q.value=!1}}async function be(e){W.value=``;try{V.value=await C.makeDefault(e),y.show(`آدرس پیشفرض بهروزرسانی شد.`,{tone:`success`})}catch(e){W.value=e instanceof Error?e.message:`تغییر آدرس پیشفرض ناموفق بود.`}}async function xe(e){W.value=``;try{V.value=await C.remove(e),y.show(`آدرس حذف شد.`,{tone:`success`})}catch(e){W.value=e instanceof Error?e.message:`حذف آدرس ناموفق بود.`}}return(t,o)=>(i(),l(`div`,le,[s(ce,{title:`آدرسها`,subtitle:`برای ارسال کالیته از آدرس پیشفرض استفاده میشود`},{default:n(()=>[f(`div`,ue,[o[5]||=f(`p`,{class:`addresses-page__hint`},`آدرسهای محل فعالیت برای ارسال کالیته`,-1),s(S,{class:`addresses-page__new-btn`,size:`sm`,onClick:X},{default:n(()=>[s(ae,{size:18}),o[4]||=u(` آدرس جدید `,-1)]),_:1})]),W.value?(i(),l(`p`,de,a(W.value),1)):c(``,!0),K.value?(i(),l(`p`,fe,`در حال دریافت…`)):V.value.length?(i(),l(`ul`,pe,[(i(!0),l(d,null,ee(V.value,t=>(i(),l(`li`,{key:t.id,class:e([`addr-card`,{"addr-card--default":t.isDefault}])},[f(`div`,E,[f(`div`,D,[s(w,{size:20})]),f(`div`,O,[f(`div`,k,[t.isDefault?(i(),l(`span`,A,[s(T,{size:16}),o[6]||=u(` پیشفرض ارسال `,-1)])):c(``,!0),f(`strong`,j,a(t.label||`آدرس`),1)]),f(`p`,M,a(t.text),1)])]),f(`div`,N,[t.isDefault?c(``,!0):(i(),l(`button`,{key:0,type:`button`,class:`addr-icon-btn`,"aria-label":`انتخاب بهعنوان آدرس پیشفرض`,title:`پیشفرض`,onClick:e=>be(t.id)},[s(T,{size:20})],8,P)),f(`button`,{type:`button`,class:`addr-icon-btn addr-icon-btn--danger`,"aria-label":`حذف آدرس`,title:`حذف`,onClick:e=>xe(t.id)},[s(se,{size:20})],8,F)])],2))),128))])):(i(),l(`div`,I,[s(w,{size:40,class:`addr-empty__icon`}),o[8]||=f(`p`,{class:`addr-muted`},`هنوز آدرسی ثبت نشده است.`,-1),s(S,{size:`sm`,variant:`outline`,onClick:X},{default:n(()=>[...o[7]||=[u(`افزودن اولین آدرس`,-1)]]),_:1})]))]),_:1}),(i(),h(m,{to:`body`},[s(re,{name:`addr-sheet`},{default:n(()=>[J.value&&!g(_)?(i(),l(`div`,{key:0,class:`addr-add-panel`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`addr-add-title-mobile`,onClick:b(Z,[`self`])},[f(`div`,L,[o[13]||=f(`div`,{class:`addr-add-sheet__handle`,"aria-hidden":`true`},null,-1),f(`header`,{class:`addr-add-sheet__head`},[o[9]||=f(`h2`,{id:`addr-add-title-mobile`},`آدرس جدید`,-1),f(`button`,{type:`button`,class:`addr-add-sheet__close`,"aria-label":`بستن`,onClick:Z},` × `)]),f(`form`,{class:`addr-form`,onSubmit:b($,[`prevent`])},[f(`label`,R,[o[10]||=f(`span`,null,`عنوان (اختیاری)`,-1),r(f(`input`,{"onUpdate:modelValue":o[0]||=e=>U.value=e,type:`text`,maxlength:`40`,placeholder:`مثلاً فروشگاه`},null,512),[[v,U.value]])]),f(`label`,z,[o[11]||=f(`span`,null,`آدرس`,-1),r(f(`textarea`,{"onUpdate:modelValue":o[1]||=e=>H.value=e,rows:`3`,maxlength:`500`,placeholder:`آدرس کامل محل فعالیت`},null,512),[[v,H.value]])]),G.value?(i(),l(`p`,B,a(G.value),1)):c(``,!0),s(S,{type:`submit`,class:`addr-form__submit`,loading:q.value},{default:n(()=>[...o[12]||=[u(` افزودن آدرس `,-1)]]),_:1},8,[`loading`])],32)])])):c(``,!0)]),_:1})])),(i(),h(m,{to:`body`},[J.value&&g(_)?(i(),l(`div`,{key:0,class:`dialog-overlay addr-add-overlay`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`addr-add-title-desktop`,onClick:b(Z,[`self`])},[f(`div`,me,[o[18]||=f(`h2`,{id:`addr-add-title-desktop`,class:`addr-add-modal__title`},`آدرس جدید`,-1),o[19]||=f(`p`,{class:`addr-add-modal__hint`},`آدرس کامل محل فعالیت را وارد کنید.`,-1),f(`form`,{class:`addr-form`,onSubmit:b($,[`prevent`])},[f(`label`,he,[o[14]||=f(`span`,null,`عنوان (اختیاری)`,-1),r(f(`input`,{"onUpdate:modelValue":o[2]||=e=>U.value=e,type:`text`,maxlength:`40`,placeholder:`مثلاً فروشگاه`},null,512),[[v,U.value]])]),f(`label`,ge,[o[15]||=f(`span`,null,`آدرس`,-1),r(f(`textarea`,{"onUpdate:modelValue":o[3]||=e=>H.value=e,rows:`3`,maxlength:`500`,placeholder:`آدرس کامل محل فعالیت`},null,512),[[v,H.value]])]),G.value?(i(),l(`p`,_e,a(G.value),1)):c(``,!0),f(`div`,ve,[s(S,{type:`button`,variant:`outline`,disabled:q.value,onClick:Z},{default:n(()=>[...o[16]||=[u(` انصراف `,-1)]]),_:1},8,[`disabled`]),s(S,{type:`submit`,loading:q.value},{default:n(()=>[...o[17]||=[u(`افزودن آدرس`,-1)]]),_:1},8,[`loading`])])],32)])])):c(``,!0)]))]))}}),[[`__scopeId`,`data-v-c10ac267`]]);export{V as default}; \ No newline at end of file diff --git a/dist/assets/AuthShell-XLN4aUt9.js b/dist/assets/AuthShell-CYH2Fv8N.js similarity index 92% rename from dist/assets/AuthShell-XLN4aUt9.js rename to dist/assets/AuthShell-CYH2Fv8N.js index 5d08a30..b8fec94 100644 --- a/dist/assets/AuthShell-XLN4aUt9.js +++ b/dist/assets/AuthShell-CYH2Fv8N.js @@ -1 +1 @@ -import{I as e,M as t,_ as n,d as r,f as i,l as a,t as o,ut as s,v as c}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{w as l}from"./index-CgTrQFr5.js";import{t as u}from"./IconChevronBack-DytWz6TD.js";import{t as d}from"./nademitex-auth-logo-CQhPwje_.js";var f={class:`auth-shell`},p={class:`auth-shell__body`},m={class:`auth-shell__brand`},h=[`src`],g=o(c({__name:`AuthShell`,props:{backTo:{}},setup(o){let c=l();return(l,g)=>(t(),i(`div`,f,[o.backTo?(t(),i(`button`,{key:0,type:`button`,class:`auth-shell__back`,"aria-label":`بازگشت`,onClick:g[0]||=e=>s(c).push(o.backTo)},[n(u,{size:22,color:`#1e293b`})])):r(``,!0),a(`div`,p,[a(`div`,m,[a(`img`,{class:`auth-shell__logo`,src:s(d),alt:`Nademi Tex`,draggable:`false`},null,8,h)]),e(l.$slots,`default`,{},void 0,!0)])]))}}),[[`__scopeId`,`data-v-3dfa06a5`]]);export{g as t}; \ No newline at end of file +import{I as e,M as t,_ as n,d as r,f as i,l as a,t as o,ut as s,v as c}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{w as l}from"./index-CON313Q2.js";import{t as u}from"./IconChevronBack-DytWz6TD.js";import{t as d}from"./nademitex-auth-logo-CQhPwje_.js";var f={class:`auth-shell`},p={class:`auth-shell__body`},m={class:`auth-shell__brand`},h=[`src`],g=o(c({__name:`AuthShell`,props:{backTo:{}},setup(o){let c=l();return(l,g)=>(t(),i(`div`,f,[o.backTo?(t(),i(`button`,{key:0,type:`button`,class:`auth-shell__back`,"aria-label":`بازگشت`,onClick:g[0]||=e=>s(c).push(o.backTo)},[n(u,{size:22,color:`#1e293b`})])):r(``,!0),a(`div`,p,[a(`div`,m,[a(`img`,{class:`auth-shell__logo`,src:s(d),alt:`Nademi Tex`,draggable:`false`},null,8,h)]),e(l.$slots,`default`,{},void 0,!0)])]))}}),[[`__scopeId`,`data-v-3dfa06a5`]]);export{g as t}; \ No newline at end of file diff --git a/dist/assets/CartView-TsfT7GXi.js b/dist/assets/CartView-DRmdPUTh.js similarity index 99% rename from dist/assets/CartView-TsfT7GXi.js rename to dist/assets/CartView-DRmdPUTh.js index 26551a9..be1f8ef 100644 --- a/dist/assets/CartView-TsfT7GXi.js +++ b/dist/assets/CartView-DRmdPUTh.js @@ -1 +1 @@ -import{At as e,F as t,G as n,K as r,M as i,Pt as a,R as o,Z as s,_ as c,c as l,d as u,f as d,g as f,i as p,k as m,l as h,nt as g,t as _,u as v,ut as y,v as b}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{o as x,s as S,t as C,u as w}from"./BasicIcon-ba1FsUKx.js";import{a as T,o as E}from"./format-C72AoJ2H.js";import{t as D}from"./cart-F5Rptvi1.js";import{t as O}from"./IconCart-f4izyxj_.js";import{t as k}from"./IconOrders-sYhLO0Db.js";import{S as A,c as j,m as M,n as N,r as P,w as F}from"./index-CgTrQFr5.js";import{t as I}from"./EmptyState-DYhkpGhZ.js";import{t as L}from"./IconChevronBack-DytWz6TD.js";import{t as ee}from"./FormErrorBanner-Ud1D04xf.js";import{t as R}from"./addresses-tV-zgZYG.js";import{t as z}from"./IconTrash-v0i8XrOh.js";import{t as B}from"./CheckoutStepper-DptjKnv0.js";import{t as V}from"./IconClipboardEmpty-D1_4Fy0M.js";import{n as H,t as U}from"./IconDiamond-CCzZ7nPM.js";function te(){let e=F(),t=D(),n=M(),r=g(!1),i=g(!1),a=g(``),o=g(!1),s=g([]),c=g(``),u=g(``),d=g(!1),f=l(()=>t.activeCart?.items??[]),p=l(()=>f.value.length===0),h=l(()=>t.companyNamesLabel||t.activeCart?.companyName||``),_=l(()=>t.companySummaries);async function v(e){let n=f.value.find(t=>t.id===e);await N({title:`حذف از سبد`,message:n?`آیا از حذف «${n.productName}» از سبد خرید مطمئن هستید؟`:`آیا از حذف این آیتم از سبد خرید مطمئن هستید؟`,confirmLabel:`حذف`,cancelLabel:`انصراف`,tone:`danger`})&&t.removeItem(e)}function y(){return(s.value.find(e=>e.id===c.value)?.text||u.value).trim()}async function b(){a.value=``,o.value=!0,d.value=!0;try{s.value=await R.list(),c.value=s.value.find(e=>e.isDefault)?.id??s.value[0]?.id??``}catch(e){a.value=e instanceof Error?e.message:`دریافت آدرسها ناموفق بود.`,o.value=!1}finally{d.value=!1}}async function x(){let e=y();if(e.length<3){a.value=`یک آدرس انتخاب کنید یا آدرس جدید بنویسید.`;return}d.value=!0;try{if(!c.value){let t=await R.create({text:e});c.value=t.id,s.value=await R.list(),u.value=``}o.value=!1,await S(e)}catch(e){a.value=e instanceof Error?e.message:`ذخیره آدرس ناموفق بود.`}finally{d.value=!1}}async function S(r){if(!(!t.activeCart||f.value.length===0||i.value)){i.value=!0,a.value=``;try{if(await t.hydrate(),!t.activeCart?.items.length){a.value=`سبد خرید خالی است یا با سرور همگام نشد.`;return}let i=await n.submitOrder(t.activeCart,r);await t.hydrate(),e.replace(`/orders/${i.id}/success`)}catch(e){a.value=e instanceof Error?e.message:`ثبت سفارش ناموفق بود.`,await t.hydrate()}finally{i.value=!1}}}function C(){if(f.value.length!==0){if(t.isFull){r.value=!0;return}b()}}function w(){r.value=!1,b()}async function T(){await t.createNewCartForSameCompany(),r.value=!1,e.push(`/categories`)}return m(()=>{t.ensureActiveCartForCartPage()}),{cartStore:t,items:f,isEmpty:p,companyName:h,companySummaries:_,showFullDialog:r,submitting:i,submitError:a,addressPickerOpen:o,addresses:s,selectedAddressId:c,newAddress:u,addressBusy:d,confirmAddressAndOrder:x,removeItem:v,proceedToCheckout:C,proceedAnyway:w,createNewInvoice:T}}var W={class:`cart-mobile-page`},G={class:`cart-mobile-page__nav`},K={type:`button`,class:`nav-btn nav-btn--ghost`,"aria-hidden":`true`,tabindex:`-1`},q={key:0,class:`cart-mobile-page__body`},J={key:0,class:`cart-mobile-page__meta`},Y={class:`cart-mobile-page__scroll`},X={class:`cart-mobile-table`},Z={class:`col-product`},Q={class:`col-meterage`},ne={class:`col-delete`},re=[`onClick`],ie={class:`cart-mobile-page__footer`},ae={class:`cart-mobile-summary`},oe={class:`cart-mobile-summary__row`},se={class:`cart-mobile-summary__cap`},ce={key:1,class:`cart-mobile-summary__row`},le={class:`cart-mobile-summary__row cart-mobile-summary__row--remain`},ue=_(b({__name:`MobileCartPage`,props:{items:{},companyName:{},companySummaries:{},totalMeterage:{},maxMeterage:{},remainingCapacity:{},isEmpty:{type:Boolean},submitting:{type:Boolean}},emits:[`back`,`remove`,`checkout`,`selectCompany`],setup(e,{emit:r}){let o=r;return(r,s)=>(i(),d(`div`,W,[h(`header`,G,[h(`button`,{type:`button`,class:`nav-btn`,"aria-label":`بازگشت`,onClick:s[0]||=e=>o(`back`)},[c(L,{size:20})]),s[3]||=h(`h1`,{class:`cart-mobile-page__title`},`سبد خرید`,-1),h(`button`,K,[c(L,{size:18,class:`nav-btn__flip`})])]),e.isEmpty?(i(),v(I,{key:1,variant:`cart`,message:`از دستهبندی یا کالیته محصول را انتخاب کنید`},{default:n(()=>[c(P,{onClick:s[2]||=e=>o(`selectCompany`)},{default:n(()=>[...s[10]||=[f(`مشاهده محصولات`,-1)]]),_:1})]),_:1})):(i(),d(`div`,q,[e.companyName?(i(),d(`p`,J,` تأمینکننده: `+a(e.companyName),1)):u(``,!0),h(`div`,Y,[h(`div`,X,[s[4]||=h(`div`,{class:`cart-mobile-table__head`},[h(`span`,null,`محصول`),h(`span`,null,`متراژ (متر)`),h(`span`,null,`حذف`)],-1),(i(!0),d(p,null,t(e.items,e=>(i(),d(`div`,{key:e.id,class:`cart-mobile-table__row`},[h(`div`,Z,[h(`strong`,null,a(e.productName),1),h(`span`,null,`کد: `+a(e.productCode),1)]),h(`div`,Q,a(y(E)(e.meterage)),1),h(`div`,ne,[h(`button`,{type:`button`,"aria-label":`حذف`,onClick:t=>o(`remove`,e.id)},[c(z,{size:20})],8,re)])]))),128))])]),h(`div`,ie,[h(`div`,ae,[h(`div`,oe,[s[5]||=h(`span`,null,`جمع متراژ کل`,-1),h(`strong`,null,a(y(T)(e.totalMeterage)),1)]),e.companySummaries?.length?(i(!0),d(p,{key:0},t(e.companySummaries,e=>(i(),d(`div`,{key:e.companyId,class:`cart-mobile-summary__row cart-mobile-summary__row--sub`},[h(`span`,null,a(e.companyName),1),h(`strong`,null,[f(a(y(T)(e.meterage))+` `,1),h(`span`,se,`/ `+a(y(T)(e.maxMeterage)),1)])]))),128)):(i(),d(`div`,ce,[s[6]||=h(`span`,null,`حداکثر مجاز`,-1),h(`strong`,null,a(y(T)(e.maxMeterage)),1)])),h(`div`,le,[s[7]||=h(`span`,null,`باقی مانده`,-1),h(`strong`,null,a(y(T)(e.remainingCapacity)),1)])]),s[9]||=h(`p`,{class:`cart-mobile-page__hint`},` پس از ثبت سفارش، کارشناسان قیمتگذاری میکنند و فاکتور برای شما صادر میشود. `,-1),c(P,{block:``,loading:e.submitting,onClick:s[1]||=e=>o(`checkout`)},{default:n(()=>[...s[8]||=[f(`ثبت پیشسفارش`,-1)]]),_:1},8,[`loading`])])]))]))}}),[[`__scopeId`,`data-v-e5c9a8c0`]]),de=b({__name:`IconLightbulb`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(i(),v(C,{icon:`vuesax-linear:lamp-on`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),fe={class:`desktop-page cart-desktop-page`},pe={class:`cart-desktop-page__head`},me={key:0,class:`cart-desktop-page__subtitle`},he={class:`cart-desktop-page__layout`},ge={class:`cart-desktop-page__main`},_e={key:0,class:`cart-empty-card`},ve={class:`cart-empty-card__visual`,"aria-hidden":`true`},ye={class:`cart-empty-card__circle`},be={class:`cart-empty-card__actions`},xe={key:1,class:`cart-items-card`},Se={class:`cart-items-card__scroll`},Ce={class:`cart-items-table`},we={class:`cart-items-table__name`},Te=[`onClick`],Ee={class:`cart-desktop-page__sidebar`},De={class:`cart-summary-card`},Oe={class:`cart-summary-card__title`},ke={class:`cart-summary-card__title-icon`,"aria-hidden":`true`},Ae={class:`cart-summary-card__rows`},je={class:`cart-summary-card__row`},Me={class:`cart-summary-card__row-label`},Ne={class:`cart-summary-card__row`},Pe={class:`cart-summary-card__row-label`},Fe={class:`cart-summary-card__row-label`},Ie={class:`cart-summary-card__cap`},Le={class:`cart-summary-card__row cart-summary-card__row--hint`},Re={class:`cart-summary-card__row-label`},ze=[`disabled`],Be={class:`cart-guide-card`},Ve={class:`cart-guide-card__title`},He={class:`cart-guide-card__title-icon`,"aria-hidden":`true`},Ue={class:`cart-guide-card__text`},We={class:`cart-quick-nav`,"aria-label":`دسترسی سریع`},Ge=[`onClick`],Ke={class:`cart-quick-nav__body`},qe={class:`cart-quick-nav__title`},Je={class:`cart-quick-nav__desc`},$=_(b({__name:`DesktopCartPage`,props:{items:{},companyName:{},companySummaries:{},totalMeterage:{},maxMeterage:{},remainingCapacity:{},isEmpty:{type:Boolean},submitting:{type:Boolean}},emits:[`remove`,`checkout`,`selectCompany`,`back`],setup(n,{emit:r}){let s=r,l=F(),m=[{title:`کالیتهها`,desc:`مرور کالیته و طرحها`,icon:H,tone:`blue`,action:()=>l.push(`/catalogs`)},{title:`دستهبندی`,desc:`مشاهده محصولات بر اساس کاربرد`,icon:U,tone:`green`,action:()=>l.push(`/categories`)},{title:`سفارشهای من`,desc:`پیگیری وضعیت سفارشها`,icon:k,tone:`blue`,action:()=>l.push(`/orders`)}];return(r,g)=>(i(),d(`div`,fe,[c(B,{"current-step":1}),h(`header`,pe,[g[3]||=h(`h1`,{class:`cart-desktop-page__title`},`سبد خرید`,-1),n.companyName?(i(),d(`p`,me,` تأمینکننده: `+a(n.companyName),1)):u(``,!0)]),h(`div`,he,[h(`section`,ge,[n.isEmpty?(i(),d(`div`,_e,[h(`div`,ve,[g[4]||=h(`span`,{class:`cart-empty-card__spark cart-empty-card__spark--1`},`+`,-1),g[5]||=h(`span`,{class:`cart-empty-card__spark cart-empty-card__spark--2`},`·`,-1),h(`span`,ye,[c(O,{size:40})]),g[6]||=h(`span`,{class:`cart-empty-card__spark cart-empty-card__spark--3`},`·`,-1)]),g[9]||=h(`h2`,{class:`cart-empty-card__heading`},`سبد خرید شما خالی است`,-1),g[10]||=h(`p`,{class:`cart-empty-card__text`},` از دستهبندی یا کالیته محصول را انتخاب کنید، جزئیات را ببینید و به سبد اضافه کنید. `,-1),h(`div`,be,[h(`button`,{type:`button`,class:`cart-btn cart-btn--primary`,onClick:g[0]||=e=>s(`selectCompany`)},[c(U,{size:16}),g[7]||=f(` دستهبندی محصولات `,-1)]),h(`button`,{type:`button`,class:`cart-btn cart-btn--outline`,onClick:g[1]||=e=>y(l).push(`/catalogs`)},[c(H,{size:18}),g[8]||=f(` مشاهده کالیتهها `,-1)])])])):(i(),d(`div`,xe,[h(`div`,Se,[h(`table`,Ce,[g[11]||=h(`thead`,null,[h(`tr`,null,[h(`th`,{scope:`col`},`محصول`),h(`th`,{scope:`col`},`کد`),h(`th`,{scope:`col`},`متراژ (متر)`),h(`th`,{scope:`col`},`حذف`)])],-1),h(`tbody`,null,[(i(!0),d(p,null,t(n.items,e=>(i(),d(`tr`,{key:e.id},[h(`td`,null,[h(`strong`,we,a(e.productName),1)]),h(`td`,null,a(e.productCode),1),h(`td`,null,a(y(E)(e.meterage)),1),h(`td`,null,[h(`button`,{type:`button`,class:`cart-items-table__delete`,"aria-label":`حذف`,onClick:t=>s(`remove`,e.id)},[c(z,{size:18})],8,Te)])]))),128))])])])]))]),h(`aside`,Ee,[h(`div`,De,[h(`h2`,Oe,[h(`span`,ke,[c(V,{size:22})]),g[12]||=f(` خلاصه سفارش `,-1)]),h(`div`,Ae,[h(`div`,je,[h(`span`,Me,[c(H,{size:16}),g[13]||=f(` تعداد آیتمها `,-1)]),h(`strong`,null,a(y(E)(n.items.length)),1)]),h(`div`,Ne,[h(`span`,Pe,[c(U,{size:16}),g[14]||=f(` متراژ کل `,-1)]),h(`strong`,null,a(y(T)(n.totalMeterage)),1)]),(i(!0),d(p,null,t(n.companySummaries??[],e=>(i(),d(`div`,{key:e.companyId,class:`cart-summary-card__row cart-summary-card__row--sub`},[h(`span`,Fe,a(e.companyName),1),h(`strong`,null,[f(a(y(T)(e.meterage))+` `,1),h(`span`,Ie,`/ `+a(y(T)(e.maxMeterage)),1)])]))),128)),h(`div`,Le,[h(`span`,Re,[c(k,{size:16}),g[15]||=f(` مبلغ فاکتور `,-1)]),g[16]||=h(`span`,{class:`cart-summary-card__hint-value`},` پس از قیمتگذاری مدیریت `,-1)])]),h(`button`,{type:`button`,class:`cart-summary-card__cta`,disabled:n.isEmpty||n.submitting,onClick:g[2]||=e=>s(`checkout`)},[c(j,{size:16}),f(` `+a(n.submitting?`در حال ثبت…`:`ثبت پیشسفارش`),1)],8,ze),g[17]||=h(`p`,{class:`cart-summary-card__note`},` پس از ثبت سفارش، مدیریت قیمتگذاری میکند و فاکتور صادر میشود؛ سپس روش تسویه را انتخاب میکنید. `,-1)]),h(`div`,Be,[h(`h3`,Ve,[h(`span`,He,[c(de,{size:18})]),g[18]||=f(` راهنمای گام بعدی `,-1)]),h(`p`,Ue,[g[19]||=f(` محصولات موردنظر را به سبد اضافه کنید، متراژ کل را بررسی کنید و «ثبت پیشسفارش» را بزنید. `,-1),n.isEmpty?u(``,!0):(i(),d(p,{key:0},[f(` سقف مجاز: `+a(y(T)(n.maxMeterage))+` — باقیمانده: `+a(y(T)(n.remainingCapacity))+`. `,1)],64)),g[20]||=f(` پس از قیمتگذاری، از صفحه سفارش روش تسویه را انتخاب میکنید. `,-1)])])])]),h(`nav`,We,[(i(),d(p,null,t(m,t=>h(`button`,{key:t.title,type:`button`,class:`cart-quick-nav__item`,onClick:e=>t.action()},[h(`span`,{class:e([`cart-quick-nav__icon`,`cart-quick-nav__icon--${t.tone}`])},[(i(),v(o(t.icon),{size:20}))],2),h(`span`,Ke,[h(`strong`,qe,a(t.title),1),h(`span`,Je,a(t.desc),1)]),c(j,{size:16,class:`cart-quick-nav__chevron`,"aria-hidden":`true`})],8,Ge)),64))]),g[21]||=h(`p`,{class:`cart-desktop-page__footer`},`پارس بافت — سامانه سفارشگذاری پارچه`,-1)]))}}),[[`__scopeId`,`data-v-e944f7f3`]]),Ye={class:`cart-view`},Xe={class:`dialog card`},Ze={key:0,class:`address-pick`},Qe=[`value`],$e={class:`address-card__body`},et={class:`address-card__title`},tt={key:0},nt={class:`dialog-actions`},rt={class:`dialog card`},it={class:`dialog-actions`},at=_(b({__name:`CartView`,setup(o){let l=F(),{cartStore:m,items:g,isEmpty:_,companyName:b,companySummaries:C,showFullDialog:T,submitting:E,submitError:D,addressPickerOpen:O,addresses:k,selectedAddressId:j,newAddress:M,addressBusy:N,confirmAddressAndOrder:I,removeItem:L,proceedToCheckout:R,proceedAnyway:z,createNewInvoice:B}=te();function V(){l.push(A)}return(o,A)=>(i(),d(`div`,Ye,[y(D)?(i(),v(ee,{key:0,message:y(D),class:`cart-view__error`},null,8,[`message`])):u(``,!0),c(ue,{class:`mobile-only`,items:y(g),"company-name":y(b),"company-summaries":y(C),"total-meterage":y(m).totalMeterage,"max-meterage":y(m).maxMeterage,"remaining-capacity":y(m).remainingCapacity,"is-empty":y(_),submitting:y(E),onBack:A[0]||=e=>y(l).push(`/`),onRemove:y(L),onCheckout:y(R),onSelectCompany:A[1]||=e=>V()},null,8,[`items`,`company-name`,`company-summaries`,`total-meterage`,`max-meterage`,`remaining-capacity`,`is-empty`,`submitting`,`onRemove`,`onCheckout`]),c($,{class:`desktop-only`,items:y(g),"company-name":y(b),"company-summaries":y(C),"total-meterage":y(m).totalMeterage,"max-meterage":y(m).maxMeterage,"remaining-capacity":y(m).remainingCapacity,"is-empty":y(_),submitting:y(E),onRemove:y(L),onCheckout:y(R),onSelectCompany:A[2]||=e=>V(),onBack:V},null,8,[`items`,`company-name`,`company-summaries`,`total-meterage`,`max-meterage`,`remaining-capacity`,`is-empty`,`submitting`,`onRemove`,`onCheckout`]),y(O)?(i(),d(`div`,{key:1,class:`dialog-overlay`,onClick:A[8]||=w(e=>O.value=!1,[`self`])},[h(`div`,Xe,[A[13]||=h(`h3`,null,`آدرس ارسال`,-1),A[14]||=h(`p`,{class:`text-sm`},`یکی از آدرسهای ذخیرهشده را انتخاب کنید، یا آدرس تازه بنویسید.`,-1),y(k).length?(i(),d(`ul`,Ze,[(i(!0),d(p,null,t(y(k),t=>(i(),d(`li`,{key:t.id},[h(`label`,{class:e([`address-card`,{"is-on":y(j)===t.id&&!y(M).trim()}])},[r(h(`input`,{"onUpdate:modelValue":A[3]||=e=>s(j)?j.value=e:null,type:`radio`,value:t.id,onChange:A[4]||=e=>M.value=``},null,40,Qe),[[x,y(j)]]),h(`span`,$e,[h(`span`,et,[h(`strong`,null,a(t.label||`آدرس`),1),t.isDefault?(i(),d(`em`,tt,`پیشفرض`)):u(``,!0)]),h(`small`,null,a(t.text),1)])],2)]))),128))])):u(``,!0),h(`label`,{class:e([`address-new`,{"is-on":!!y(M).trim()}])},[A[10]||=h(`span`,null,`آدرس جدید`,-1),r(h(`textarea`,{"onUpdate:modelValue":A[5]||=e=>s(M)?M.value=e:null,rows:`3`,maxlength:`500`,placeholder:`خیابان، پلاک، واحد…`,onInput:A[6]||=e=>j.value=``},null,544),[[S,y(M)]])],2),h(`div`,nt,[c(P,{variant:`outline`,disabled:y(N),onClick:A[7]||=e=>O.value=!1},{default:n(()=>[...A[11]||=[f(` انصراف `,-1)]]),_:1},8,[`disabled`]),c(P,{loading:y(N)||y(E),onClick:y(I)},{default:n(()=>[...A[12]||=[f(` ثبت سفارش `,-1)]]),_:1},8,[`loading`,`onClick`])])])])):u(``,!0),y(T)?(i(),d(`div`,{key:2,class:`dialog-overlay`,onClick:A[9]||=w(e=>T.value=!1,[`self`])},[h(`div`,rt,[A[17]||=h(`h3`,null,`سقف متراژ تکمیل شد`,-1),A[18]||=h(`p`,{class:`text-sm`},` سقف متراژ مجاز این سفارش پر شده است. میتوانید همین پیشسفارش را ثبت کنید یا سبد را خالی کرده و سفارش جدید بسازید. `,-1),h(`div`,it,[c(P,{variant:`outline`,loading:y(E),onClick:y(z)},{default:n(()=>[...A[15]||=[f(` ثبت همین فاکتور `,-1)]]),_:1},8,[`loading`,`onClick`]),c(P,{onClick:y(B)},{default:n(()=>[...A[16]||=[f(`فاکتور جدید`,-1)]]),_:1},8,[`onClick`])])])])):u(``,!0)]))}}),[[`__scopeId`,`data-v-3d7624c1`]]);export{at as default}; \ No newline at end of file +import{At as e,F as t,G as n,K as r,M as i,Pt as a,R as o,Z as s,_ as c,c as l,d as u,f as d,g as f,i as p,k as m,l as h,nt as g,t as _,u as v,ut as y,v as b}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{o as x,s as S,t as C,u as w}from"./BasicIcon-ba1FsUKx.js";import{a as T,o as E}from"./format-C72AoJ2H.js";import{t as D}from"./cart-F5Rptvi1.js";import{t as O}from"./IconCart-f4izyxj_.js";import{t as k}from"./IconOrders-sYhLO0Db.js";import{S as A,c as j,m as M,n as N,r as P,w as F}from"./index-CON313Q2.js";import{t as I}from"./EmptyState-DYhkpGhZ.js";import{t as L}from"./IconChevronBack-DytWz6TD.js";import{t as ee}from"./FormErrorBanner-Ud1D04xf.js";import{t as R}from"./addresses-tV-zgZYG.js";import{t as z}from"./IconTrash-v0i8XrOh.js";import{t as B}from"./CheckoutStepper-DptjKnv0.js";import{t as V}from"./IconClipboardEmpty-D1_4Fy0M.js";import{n as H,t as U}from"./IconDiamond-CCzZ7nPM.js";function te(){let e=F(),t=D(),n=M(),r=g(!1),i=g(!1),a=g(``),o=g(!1),s=g([]),c=g(``),u=g(``),d=g(!1),f=l(()=>t.activeCart?.items??[]),p=l(()=>f.value.length===0),h=l(()=>t.companyNamesLabel||t.activeCart?.companyName||``),_=l(()=>t.companySummaries);async function v(e){let n=f.value.find(t=>t.id===e);await N({title:`حذف از سبد`,message:n?`آیا از حذف «${n.productName}» از سبد خرید مطمئن هستید؟`:`آیا از حذف این آیتم از سبد خرید مطمئن هستید؟`,confirmLabel:`حذف`,cancelLabel:`انصراف`,tone:`danger`})&&t.removeItem(e)}function y(){return(s.value.find(e=>e.id===c.value)?.text||u.value).trim()}async function b(){a.value=``,o.value=!0,d.value=!0;try{s.value=await R.list(),c.value=s.value.find(e=>e.isDefault)?.id??s.value[0]?.id??``}catch(e){a.value=e instanceof Error?e.message:`دریافت آدرسها ناموفق بود.`,o.value=!1}finally{d.value=!1}}async function x(){let e=y();if(e.length<3){a.value=`یک آدرس انتخاب کنید یا آدرس جدید بنویسید.`;return}d.value=!0;try{if(!c.value){let t=await R.create({text:e});c.value=t.id,s.value=await R.list(),u.value=``}o.value=!1,await S(e)}catch(e){a.value=e instanceof Error?e.message:`ذخیره آدرس ناموفق بود.`}finally{d.value=!1}}async function S(r){if(!(!t.activeCart||f.value.length===0||i.value)){i.value=!0,a.value=``;try{if(await t.hydrate(),!t.activeCart?.items.length){a.value=`سبد خرید خالی است یا با سرور همگام نشد.`;return}let i=await n.submitOrder(t.activeCart,r);await t.hydrate(),e.replace(`/orders/${i.id}/success`)}catch(e){a.value=e instanceof Error?e.message:`ثبت سفارش ناموفق بود.`,await t.hydrate()}finally{i.value=!1}}}function C(){if(f.value.length!==0){if(t.isFull){r.value=!0;return}b()}}function w(){r.value=!1,b()}async function T(){await t.createNewCartForSameCompany(),r.value=!1,e.push(`/categories`)}return m(()=>{t.ensureActiveCartForCartPage()}),{cartStore:t,items:f,isEmpty:p,companyName:h,companySummaries:_,showFullDialog:r,submitting:i,submitError:a,addressPickerOpen:o,addresses:s,selectedAddressId:c,newAddress:u,addressBusy:d,confirmAddressAndOrder:x,removeItem:v,proceedToCheckout:C,proceedAnyway:w,createNewInvoice:T}}var W={class:`cart-mobile-page`},G={class:`cart-mobile-page__nav`},K={type:`button`,class:`nav-btn nav-btn--ghost`,"aria-hidden":`true`,tabindex:`-1`},q={key:0,class:`cart-mobile-page__body`},J={key:0,class:`cart-mobile-page__meta`},Y={class:`cart-mobile-page__scroll`},X={class:`cart-mobile-table`},Z={class:`col-product`},Q={class:`col-meterage`},ne={class:`col-delete`},re=[`onClick`],ie={class:`cart-mobile-page__footer`},ae={class:`cart-mobile-summary`},oe={class:`cart-mobile-summary__row`},se={class:`cart-mobile-summary__cap`},ce={key:1,class:`cart-mobile-summary__row`},le={class:`cart-mobile-summary__row cart-mobile-summary__row--remain`},ue=_(b({__name:`MobileCartPage`,props:{items:{},companyName:{},companySummaries:{},totalMeterage:{},maxMeterage:{},remainingCapacity:{},isEmpty:{type:Boolean},submitting:{type:Boolean}},emits:[`back`,`remove`,`checkout`,`selectCompany`],setup(e,{emit:r}){let o=r;return(r,s)=>(i(),d(`div`,W,[h(`header`,G,[h(`button`,{type:`button`,class:`nav-btn`,"aria-label":`بازگشت`,onClick:s[0]||=e=>o(`back`)},[c(L,{size:20})]),s[3]||=h(`h1`,{class:`cart-mobile-page__title`},`سبد خرید`,-1),h(`button`,K,[c(L,{size:18,class:`nav-btn__flip`})])]),e.isEmpty?(i(),v(I,{key:1,variant:`cart`,message:`از دستهبندی یا کالیته محصول را انتخاب کنید`},{default:n(()=>[c(P,{onClick:s[2]||=e=>o(`selectCompany`)},{default:n(()=>[...s[10]||=[f(`مشاهده محصولات`,-1)]]),_:1})]),_:1})):(i(),d(`div`,q,[e.companyName?(i(),d(`p`,J,` تأمینکننده: `+a(e.companyName),1)):u(``,!0),h(`div`,Y,[h(`div`,X,[s[4]||=h(`div`,{class:`cart-mobile-table__head`},[h(`span`,null,`محصول`),h(`span`,null,`متراژ (متر)`),h(`span`,null,`حذف`)],-1),(i(!0),d(p,null,t(e.items,e=>(i(),d(`div`,{key:e.id,class:`cart-mobile-table__row`},[h(`div`,Z,[h(`strong`,null,a(e.productName),1),h(`span`,null,`کد: `+a(e.productCode),1)]),h(`div`,Q,a(y(E)(e.meterage)),1),h(`div`,ne,[h(`button`,{type:`button`,"aria-label":`حذف`,onClick:t=>o(`remove`,e.id)},[c(z,{size:20})],8,re)])]))),128))])]),h(`div`,ie,[h(`div`,ae,[h(`div`,oe,[s[5]||=h(`span`,null,`جمع متراژ کل`,-1),h(`strong`,null,a(y(T)(e.totalMeterage)),1)]),e.companySummaries?.length?(i(!0),d(p,{key:0},t(e.companySummaries,e=>(i(),d(`div`,{key:e.companyId,class:`cart-mobile-summary__row cart-mobile-summary__row--sub`},[h(`span`,null,a(e.companyName),1),h(`strong`,null,[f(a(y(T)(e.meterage))+` `,1),h(`span`,se,`/ `+a(y(T)(e.maxMeterage)),1)])]))),128)):(i(),d(`div`,ce,[s[6]||=h(`span`,null,`حداکثر مجاز`,-1),h(`strong`,null,a(y(T)(e.maxMeterage)),1)])),h(`div`,le,[s[7]||=h(`span`,null,`باقی مانده`,-1),h(`strong`,null,a(y(T)(e.remainingCapacity)),1)])]),s[9]||=h(`p`,{class:`cart-mobile-page__hint`},` پس از ثبت سفارش، کارشناسان قیمتگذاری میکنند و فاکتور برای شما صادر میشود. `,-1),c(P,{block:``,loading:e.submitting,onClick:s[1]||=e=>o(`checkout`)},{default:n(()=>[...s[8]||=[f(`ثبت پیشسفارش`,-1)]]),_:1},8,[`loading`])])]))]))}}),[[`__scopeId`,`data-v-e5c9a8c0`]]),de=b({__name:`IconLightbulb`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(i(),v(C,{icon:`vuesax-linear:lamp-on`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),fe={class:`desktop-page cart-desktop-page`},pe={class:`cart-desktop-page__head`},me={key:0,class:`cart-desktop-page__subtitle`},he={class:`cart-desktop-page__layout`},ge={class:`cart-desktop-page__main`},_e={key:0,class:`cart-empty-card`},ve={class:`cart-empty-card__visual`,"aria-hidden":`true`},ye={class:`cart-empty-card__circle`},be={class:`cart-empty-card__actions`},xe={key:1,class:`cart-items-card`},Se={class:`cart-items-card__scroll`},Ce={class:`cart-items-table`},we={class:`cart-items-table__name`},Te=[`onClick`],Ee={class:`cart-desktop-page__sidebar`},De={class:`cart-summary-card`},Oe={class:`cart-summary-card__title`},ke={class:`cart-summary-card__title-icon`,"aria-hidden":`true`},Ae={class:`cart-summary-card__rows`},je={class:`cart-summary-card__row`},Me={class:`cart-summary-card__row-label`},Ne={class:`cart-summary-card__row`},Pe={class:`cart-summary-card__row-label`},Fe={class:`cart-summary-card__row-label`},Ie={class:`cart-summary-card__cap`},Le={class:`cart-summary-card__row cart-summary-card__row--hint`},Re={class:`cart-summary-card__row-label`},ze=[`disabled`],Be={class:`cart-guide-card`},Ve={class:`cart-guide-card__title`},He={class:`cart-guide-card__title-icon`,"aria-hidden":`true`},Ue={class:`cart-guide-card__text`},We={class:`cart-quick-nav`,"aria-label":`دسترسی سریع`},Ge=[`onClick`],Ke={class:`cart-quick-nav__body`},qe={class:`cart-quick-nav__title`},Je={class:`cart-quick-nav__desc`},$=_(b({__name:`DesktopCartPage`,props:{items:{},companyName:{},companySummaries:{},totalMeterage:{},maxMeterage:{},remainingCapacity:{},isEmpty:{type:Boolean},submitting:{type:Boolean}},emits:[`remove`,`checkout`,`selectCompany`,`back`],setup(n,{emit:r}){let s=r,l=F(),m=[{title:`کالیتهها`,desc:`مرور کالیته و طرحها`,icon:H,tone:`blue`,action:()=>l.push(`/catalogs`)},{title:`دستهبندی`,desc:`مشاهده محصولات بر اساس کاربرد`,icon:U,tone:`green`,action:()=>l.push(`/categories`)},{title:`سفارشهای من`,desc:`پیگیری وضعیت سفارشها`,icon:k,tone:`blue`,action:()=>l.push(`/orders`)}];return(r,g)=>(i(),d(`div`,fe,[c(B,{"current-step":1}),h(`header`,pe,[g[3]||=h(`h1`,{class:`cart-desktop-page__title`},`سبد خرید`,-1),n.companyName?(i(),d(`p`,me,` تأمینکننده: `+a(n.companyName),1)):u(``,!0)]),h(`div`,he,[h(`section`,ge,[n.isEmpty?(i(),d(`div`,_e,[h(`div`,ve,[g[4]||=h(`span`,{class:`cart-empty-card__spark cart-empty-card__spark--1`},`+`,-1),g[5]||=h(`span`,{class:`cart-empty-card__spark cart-empty-card__spark--2`},`·`,-1),h(`span`,ye,[c(O,{size:40})]),g[6]||=h(`span`,{class:`cart-empty-card__spark cart-empty-card__spark--3`},`·`,-1)]),g[9]||=h(`h2`,{class:`cart-empty-card__heading`},`سبد خرید شما خالی است`,-1),g[10]||=h(`p`,{class:`cart-empty-card__text`},` از دستهبندی یا کالیته محصول را انتخاب کنید، جزئیات را ببینید و به سبد اضافه کنید. `,-1),h(`div`,be,[h(`button`,{type:`button`,class:`cart-btn cart-btn--primary`,onClick:g[0]||=e=>s(`selectCompany`)},[c(U,{size:16}),g[7]||=f(` دستهبندی محصولات `,-1)]),h(`button`,{type:`button`,class:`cart-btn cart-btn--outline`,onClick:g[1]||=e=>y(l).push(`/catalogs`)},[c(H,{size:18}),g[8]||=f(` مشاهده کالیتهها `,-1)])])])):(i(),d(`div`,xe,[h(`div`,Se,[h(`table`,Ce,[g[11]||=h(`thead`,null,[h(`tr`,null,[h(`th`,{scope:`col`},`محصول`),h(`th`,{scope:`col`},`کد`),h(`th`,{scope:`col`},`متراژ (متر)`),h(`th`,{scope:`col`},`حذف`)])],-1),h(`tbody`,null,[(i(!0),d(p,null,t(n.items,e=>(i(),d(`tr`,{key:e.id},[h(`td`,null,[h(`strong`,we,a(e.productName),1)]),h(`td`,null,a(e.productCode),1),h(`td`,null,a(y(E)(e.meterage)),1),h(`td`,null,[h(`button`,{type:`button`,class:`cart-items-table__delete`,"aria-label":`حذف`,onClick:t=>s(`remove`,e.id)},[c(z,{size:18})],8,Te)])]))),128))])])])]))]),h(`aside`,Ee,[h(`div`,De,[h(`h2`,Oe,[h(`span`,ke,[c(V,{size:22})]),g[12]||=f(` خلاصه سفارش `,-1)]),h(`div`,Ae,[h(`div`,je,[h(`span`,Me,[c(H,{size:16}),g[13]||=f(` تعداد آیتمها `,-1)]),h(`strong`,null,a(y(E)(n.items.length)),1)]),h(`div`,Ne,[h(`span`,Pe,[c(U,{size:16}),g[14]||=f(` متراژ کل `,-1)]),h(`strong`,null,a(y(T)(n.totalMeterage)),1)]),(i(!0),d(p,null,t(n.companySummaries??[],e=>(i(),d(`div`,{key:e.companyId,class:`cart-summary-card__row cart-summary-card__row--sub`},[h(`span`,Fe,a(e.companyName),1),h(`strong`,null,[f(a(y(T)(e.meterage))+` `,1),h(`span`,Ie,`/ `+a(y(T)(e.maxMeterage)),1)])]))),128)),h(`div`,Le,[h(`span`,Re,[c(k,{size:16}),g[15]||=f(` مبلغ فاکتور `,-1)]),g[16]||=h(`span`,{class:`cart-summary-card__hint-value`},` پس از قیمتگذاری مدیریت `,-1)])]),h(`button`,{type:`button`,class:`cart-summary-card__cta`,disabled:n.isEmpty||n.submitting,onClick:g[2]||=e=>s(`checkout`)},[c(j,{size:16}),f(` `+a(n.submitting?`در حال ثبت…`:`ثبت پیشسفارش`),1)],8,ze),g[17]||=h(`p`,{class:`cart-summary-card__note`},` پس از ثبت سفارش، مدیریت قیمتگذاری میکند و فاکتور صادر میشود؛ سپس روش تسویه را انتخاب میکنید. `,-1)]),h(`div`,Be,[h(`h3`,Ve,[h(`span`,He,[c(de,{size:18})]),g[18]||=f(` راهنمای گام بعدی `,-1)]),h(`p`,Ue,[g[19]||=f(` محصولات موردنظر را به سبد اضافه کنید، متراژ کل را بررسی کنید و «ثبت پیشسفارش» را بزنید. `,-1),n.isEmpty?u(``,!0):(i(),d(p,{key:0},[f(` سقف مجاز: `+a(y(T)(n.maxMeterage))+` — باقیمانده: `+a(y(T)(n.remainingCapacity))+`. `,1)],64)),g[20]||=f(` پس از قیمتگذاری، از صفحه سفارش روش تسویه را انتخاب میکنید. `,-1)])])])]),h(`nav`,We,[(i(),d(p,null,t(m,t=>h(`button`,{key:t.title,type:`button`,class:`cart-quick-nav__item`,onClick:e=>t.action()},[h(`span`,{class:e([`cart-quick-nav__icon`,`cart-quick-nav__icon--${t.tone}`])},[(i(),v(o(t.icon),{size:20}))],2),h(`span`,Ke,[h(`strong`,qe,a(t.title),1),h(`span`,Je,a(t.desc),1)]),c(j,{size:16,class:`cart-quick-nav__chevron`,"aria-hidden":`true`})],8,Ge)),64))]),g[21]||=h(`p`,{class:`cart-desktop-page__footer`},`پارس بافت — سامانه سفارشگذاری پارچه`,-1)]))}}),[[`__scopeId`,`data-v-e944f7f3`]]),Ye={class:`cart-view`},Xe={class:`dialog card`},Ze={key:0,class:`address-pick`},Qe=[`value`],$e={class:`address-card__body`},et={class:`address-card__title`},tt={key:0},nt={class:`dialog-actions`},rt={class:`dialog card`},it={class:`dialog-actions`},at=_(b({__name:`CartView`,setup(o){let l=F(),{cartStore:m,items:g,isEmpty:_,companyName:b,companySummaries:C,showFullDialog:T,submitting:E,submitError:D,addressPickerOpen:O,addresses:k,selectedAddressId:j,newAddress:M,addressBusy:N,confirmAddressAndOrder:I,removeItem:L,proceedToCheckout:R,proceedAnyway:z,createNewInvoice:B}=te();function V(){l.push(A)}return(o,A)=>(i(),d(`div`,Ye,[y(D)?(i(),v(ee,{key:0,message:y(D),class:`cart-view__error`},null,8,[`message`])):u(``,!0),c(ue,{class:`mobile-only`,items:y(g),"company-name":y(b),"company-summaries":y(C),"total-meterage":y(m).totalMeterage,"max-meterage":y(m).maxMeterage,"remaining-capacity":y(m).remainingCapacity,"is-empty":y(_),submitting:y(E),onBack:A[0]||=e=>y(l).push(`/`),onRemove:y(L),onCheckout:y(R),onSelectCompany:A[1]||=e=>V()},null,8,[`items`,`company-name`,`company-summaries`,`total-meterage`,`max-meterage`,`remaining-capacity`,`is-empty`,`submitting`,`onRemove`,`onCheckout`]),c($,{class:`desktop-only`,items:y(g),"company-name":y(b),"company-summaries":y(C),"total-meterage":y(m).totalMeterage,"max-meterage":y(m).maxMeterage,"remaining-capacity":y(m).remainingCapacity,"is-empty":y(_),submitting:y(E),onRemove:y(L),onCheckout:y(R),onSelectCompany:A[2]||=e=>V(),onBack:V},null,8,[`items`,`company-name`,`company-summaries`,`total-meterage`,`max-meterage`,`remaining-capacity`,`is-empty`,`submitting`,`onRemove`,`onCheckout`]),y(O)?(i(),d(`div`,{key:1,class:`dialog-overlay`,onClick:A[8]||=w(e=>O.value=!1,[`self`])},[h(`div`,Xe,[A[13]||=h(`h3`,null,`آدرس ارسال`,-1),A[14]||=h(`p`,{class:`text-sm`},`یکی از آدرسهای ذخیرهشده را انتخاب کنید، یا آدرس تازه بنویسید.`,-1),y(k).length?(i(),d(`ul`,Ze,[(i(!0),d(p,null,t(y(k),t=>(i(),d(`li`,{key:t.id},[h(`label`,{class:e([`address-card`,{"is-on":y(j)===t.id&&!y(M).trim()}])},[r(h(`input`,{"onUpdate:modelValue":A[3]||=e=>s(j)?j.value=e:null,type:`radio`,value:t.id,onChange:A[4]||=e=>M.value=``},null,40,Qe),[[x,y(j)]]),h(`span`,$e,[h(`span`,et,[h(`strong`,null,a(t.label||`آدرس`),1),t.isDefault?(i(),d(`em`,tt,`پیشفرض`)):u(``,!0)]),h(`small`,null,a(t.text),1)])],2)]))),128))])):u(``,!0),h(`label`,{class:e([`address-new`,{"is-on":!!y(M).trim()}])},[A[10]||=h(`span`,null,`آدرس جدید`,-1),r(h(`textarea`,{"onUpdate:modelValue":A[5]||=e=>s(M)?M.value=e:null,rows:`3`,maxlength:`500`,placeholder:`خیابان، پلاک، واحد…`,onInput:A[6]||=e=>j.value=``},null,544),[[S,y(M)]])],2),h(`div`,nt,[c(P,{variant:`outline`,disabled:y(N),onClick:A[7]||=e=>O.value=!1},{default:n(()=>[...A[11]||=[f(` انصراف `,-1)]]),_:1},8,[`disabled`]),c(P,{loading:y(N)||y(E),onClick:y(I)},{default:n(()=>[...A[12]||=[f(` ثبت سفارش `,-1)]]),_:1},8,[`loading`,`onClick`])])])])):u(``,!0),y(T)?(i(),d(`div`,{key:2,class:`dialog-overlay`,onClick:A[9]||=w(e=>T.value=!1,[`self`])},[h(`div`,rt,[A[17]||=h(`h3`,null,`سقف متراژ تکمیل شد`,-1),A[18]||=h(`p`,{class:`text-sm`},` سقف متراژ مجاز این سفارش پر شده است. میتوانید همین پیشسفارش را ثبت کنید یا سبد را خالی کرده و سفارش جدید بسازید. `,-1),h(`div`,it,[c(P,{variant:`outline`,loading:y(E),onClick:y(z)},{default:n(()=>[...A[15]||=[f(` ثبت همین فاکتور `,-1)]]),_:1},8,[`loading`,`onClick`]),c(P,{onClick:y(B)},{default:n(()=>[...A[16]||=[f(`فاکتور جدید`,-1)]]),_:1},8,[`onClick`])])])])):u(``,!0)]))}}),[[`__scopeId`,`data-v-3d7624c1`]]);export{at as default}; \ No newline at end of file diff --git a/dist/assets/CashSettlementView-BwJw80Dl.js b/dist/assets/CashSettlementView-Bd4DWDuU.js similarity index 95% rename from dist/assets/CashSettlementView-BwJw80Dl.js rename to dist/assets/CashSettlementView-Bd4DWDuU.js index 9d0b14f..cf95a51 100644 --- a/dist/assets/CashSettlementView-BwJw80Dl.js +++ b/dist/assets/CashSettlementView-Bd4DWDuU.js @@ -1 +1 @@ -import{F as e,G as t,M as n,Pt as r,U as i,_ as a,c as o,f as s,g as c,i as l,l as u,nt as d,t as ee,ut as f,v as p}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{i as te,n as ne}from"./format-C72AoJ2H.js";import{t as re}from"./catalog-DWpH1dVc.js";import{m,r as h,t as g,w as ie}from"./index-CgTrQFr5.js";import"./constants-ptWoEwwP.js";import{t as ae}from"./PageHeader-fQXEgnJ0.js";import{t as oe}from"./useRequirePricedOrder-BGX5w-aK.js";var se={class:`page cash-mobile-page mobile-only`},ce={class:`cash-page__scroll page__scroll`},le={class:`cash-page__success cash-page__success--done`},ue={class:`cash-page__success-title`},de={class:`cash-page__success-subtitle`},_={class:`accounts-panel`},v={class:`accounts-panel__title`},y={class:`bank-card__head`},b={class:`bank-card__name`},x={class:`bank-card__icon`,"aria-hidden":`true`},S={class:`bank-card__field`},C={class:`bank-card__value`,dir:`ltr`},w={class:`bank-card__field`},T={class:`bank-card__value`,dir:`ltr`},E={class:`cash-page__footer`},D={class:`desktop-checkout-shell cash-desktop-page desktop-only`},O={class:`desktop-page__head`},k={class:`desktop-page__subtitle`},A={class:`cash-page__success cash-page__success--done`},j={class:`cash-page__success-title`},M={class:`accounts-panel`},N={class:`accounts-panel__title`},P={class:`desktop-grid-2`},F={class:`bank-card__head`},fe={class:`bank-card__name`},I={class:`bank-card__icon`,"aria-hidden":`true`},L={class:`bank-card__field`},R={class:`bank-card__value`,dir:`ltr`},z={class:`bank-card__field`},B={class:`bank-card__value`,dir:`ltr`},V={class:`cash-desktop-page__actions`},H=ee(p({__name:`CashSettlementView`,setup(ee){let p=ie(),H=m(),U=re(),W=d([]),{orderId:G,order:K}=oe(),pe=o(()=>U.companies.find(e=>e.slug===`nademitex`)?.name??`نادمی تکس`);i(G,async e=>{e&&!H.getOrderById(e)&&await H.fetchOrder(e)},{immediate:!0}),i(()=>K.value?.id,async e=>{if(!e||!K.value){W.value=[];return}U.companies.length||await U.loadCompanies(),W.value=await H.getBankAccountsForOrder(K.value)},{immediate:!0});let q=o(()=>K.value?.finalAmount?ne(K.value.finalAmount):`—`),J=o(()=>{let e=K.value?.cashInvoiceExpiresAt;return e?`مهلت پرداخت این فاکتور تا ${te(e)} است.`:`مبلغ فاکتور را به یکی از حسابهای زیر واریز و رسید را ثبت کنید.`}),Y=o(()=>`شماره حسابهای واریز — ${pe.value}`);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(){p.replace(`/orders/${G.value}?track=1`)}function $(){p.replace(`/orders/${G.value}?track=1&receipt=1`)}return(i,o)=>(n(),s(l,null,[u(`div`,se,[a(ae,{title:`تسویه نقدی`,"show-back":``,centered:``,onBack:o[0]||=e=>f(p).push(`/orders/${f(G)}`)}),u(`div`,ce,[u(`div`,le,[a(g,{size:56}),u(`p`,ue,`مبلغ قابل پرداخت `+r(q.value),1),u(`p`,de,r(J.value),1)]),u(`section`,_,[u(`h2`,v,r(Y.value),1),(n(!0),s(l,null,e(W.value,e=>(n(),s(`article`,{key:e.id,class:`bank-card`},[u(`div`,y,[u(`span`,b,r(e.bankName),1),u(`span`,x,r(e.bankName.charAt(0)),1)]),u(`div`,S,[o[1]||=u(`span`,{class:`bank-card__label`},`شماره کارت`,-1),u(`strong`,C,r(X(e.cardNumber)),1)]),u(`div`,w,[o[2]||=u(`span`,{class:`bank-card__label`},`شماره شبا`,-1),u(`strong`,T,r(Z(e.iban)),1)])]))),128))])]),u(`div`,E,[a(h,{variant:`outline`,block:``,onClick:Q},{default:t(()=>[...o[3]||=[c(`مشاهده سفارش`,-1)]]),_:1}),a(h,{block:``,class:`cash-page__submit`,onClick:$},{default:t(()=>[...o[4]||=[c(` ثبت رسید پرداخت `,-1)]]),_:1})])]),u(`div`,D,[u(`header`,O,[o[5]||=u(`h1`,{class:`desktop-page__title`},`تسویه نقدی`,-1),u(`p`,k,r(J.value),1)]),u(`div`,A,[a(g,{size:56}),u(`p`,j,`مبلغ قابل پرداخت `+r(q.value),1)]),u(`section`,M,[u(`h2`,N,r(Y.value),1),u(`div`,P,[(n(!0),s(l,null,e(W.value,e=>(n(),s(`article`,{key:e.id,class:`bank-card`},[u(`div`,F,[u(`span`,fe,r(e.bankName),1),u(`span`,I,r(e.bankName.charAt(0)),1)]),u(`div`,L,[o[6]||=u(`span`,{class:`bank-card__label`},`شماره کارت`,-1),u(`strong`,R,r(X(e.cardNumber)),1)]),u(`div`,z,[o[7]||=u(`span`,{class:`bank-card__label`},`شماره شبا`,-1),u(`strong`,B,r(Z(e.iban)),1)])]))),128))])]),u(`div`,V,[a(h,{variant:`outline`,class:`desktop-btn-compact`,onClick:Q},{default:t(()=>[...o[8]||=[c(` مشاهده سفارش `,-1)]]),_:1}),a(h,{class:`desktop-btn-compact`,onClick:$},{default:t(()=>[...o[9]||=[c(` ثبت رسید پرداخت `,-1)]]),_:1})])])],64))}}),[[`__scopeId`,`data-v-fa758115`]]);export{H as default}; \ No newline at end of file +import{F as e,G as t,M as n,Pt as r,U as i,_ as a,c as o,f as s,g as c,i as l,l as u,nt as d,t as ee,ut as f,v as p}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{i as te,n as ne}from"./format-C72AoJ2H.js";import{t as re}from"./catalog-DWpH1dVc.js";import{m,r as h,t as g,w as ie}from"./index-CON313Q2.js";import"./constants-ptWoEwwP.js";import{t as ae}from"./PageHeader-juIsDT9M.js";import{t as oe}from"./useRequirePricedOrder-BCNEyr9h.js";var se={class:`page cash-mobile-page mobile-only`},ce={class:`cash-page__scroll page__scroll`},le={class:`cash-page__success cash-page__success--done`},ue={class:`cash-page__success-title`},de={class:`cash-page__success-subtitle`},_={class:`accounts-panel`},v={class:`accounts-panel__title`},y={class:`bank-card__head`},b={class:`bank-card__name`},x={class:`bank-card__icon`,"aria-hidden":`true`},S={class:`bank-card__field`},C={class:`bank-card__value`,dir:`ltr`},w={class:`bank-card__field`},T={class:`bank-card__value`,dir:`ltr`},E={class:`cash-page__footer`},D={class:`desktop-checkout-shell cash-desktop-page desktop-only`},O={class:`desktop-page__head`},k={class:`desktop-page__subtitle`},A={class:`cash-page__success cash-page__success--done`},j={class:`cash-page__success-title`},M={class:`accounts-panel`},N={class:`accounts-panel__title`},P={class:`desktop-grid-2`},F={class:`bank-card__head`},fe={class:`bank-card__name`},I={class:`bank-card__icon`,"aria-hidden":`true`},L={class:`bank-card__field`},R={class:`bank-card__value`,dir:`ltr`},z={class:`bank-card__field`},B={class:`bank-card__value`,dir:`ltr`},V={class:`cash-desktop-page__actions`},H=ee(p({__name:`CashSettlementView`,setup(ee){let p=ie(),H=m(),U=re(),W=d([]),{orderId:G,order:K}=oe(),pe=o(()=>U.companies.find(e=>e.slug===`nademitex`)?.name??`نادمی تکس`);i(G,async e=>{e&&!H.getOrderById(e)&&await H.fetchOrder(e)},{immediate:!0}),i(()=>K.value?.id,async e=>{if(!e||!K.value){W.value=[];return}U.companies.length||await U.loadCompanies(),W.value=await H.getBankAccountsForOrder(K.value)},{immediate:!0});let q=o(()=>K.value?.finalAmount?ne(K.value.finalAmount):`—`),J=o(()=>{let e=K.value?.cashInvoiceExpiresAt;return e?`مهلت پرداخت این فاکتور تا ${te(e)} است.`:`مبلغ فاکتور را به یکی از حسابهای زیر واریز و رسید را ثبت کنید.`}),Y=o(()=>`شماره حسابهای واریز — ${pe.value}`);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(){p.replace(`/orders/${G.value}?track=1`)}function $(){p.replace(`/orders/${G.value}?track=1&receipt=1`)}return(i,o)=>(n(),s(l,null,[u(`div`,se,[a(ae,{title:`تسویه نقدی`,"show-back":``,centered:``,onBack:o[0]||=e=>f(p).push(`/orders/${f(G)}`)}),u(`div`,ce,[u(`div`,le,[a(g,{size:56}),u(`p`,ue,`مبلغ قابل پرداخت `+r(q.value),1),u(`p`,de,r(J.value),1)]),u(`section`,_,[u(`h2`,v,r(Y.value),1),(n(!0),s(l,null,e(W.value,e=>(n(),s(`article`,{key:e.id,class:`bank-card`},[u(`div`,y,[u(`span`,b,r(e.bankName),1),u(`span`,x,r(e.bankName.charAt(0)),1)]),u(`div`,S,[o[1]||=u(`span`,{class:`bank-card__label`},`شماره کارت`,-1),u(`strong`,C,r(X(e.cardNumber)),1)]),u(`div`,w,[o[2]||=u(`span`,{class:`bank-card__label`},`شماره شبا`,-1),u(`strong`,T,r(Z(e.iban)),1)])]))),128))])]),u(`div`,E,[a(h,{variant:`outline`,block:``,onClick:Q},{default:t(()=>[...o[3]||=[c(`مشاهده سفارش`,-1)]]),_:1}),a(h,{block:``,class:`cash-page__submit`,onClick:$},{default:t(()=>[...o[4]||=[c(` ثبت رسید پرداخت `,-1)]]),_:1})])]),u(`div`,D,[u(`header`,O,[o[5]||=u(`h1`,{class:`desktop-page__title`},`تسویه نقدی`,-1),u(`p`,k,r(J.value),1)]),u(`div`,A,[a(g,{size:56}),u(`p`,j,`مبلغ قابل پرداخت `+r(q.value),1)]),u(`section`,M,[u(`h2`,N,r(Y.value),1),u(`div`,P,[(n(!0),s(l,null,e(W.value,e=>(n(),s(`article`,{key:e.id,class:`bank-card`},[u(`div`,F,[u(`span`,fe,r(e.bankName),1),u(`span`,I,r(e.bankName.charAt(0)),1)]),u(`div`,L,[o[6]||=u(`span`,{class:`bank-card__label`},`شماره کارت`,-1),u(`strong`,R,r(X(e.cardNumber)),1)]),u(`div`,z,[o[7]||=u(`span`,{class:`bank-card__label`},`شماره شبا`,-1),u(`strong`,B,r(Z(e.iban)),1)])]))),128))])]),u(`div`,V,[a(h,{variant:`outline`,class:`desktop-btn-compact`,onClick:Q},{default:t(()=>[...o[8]||=[c(` مشاهده سفارش `,-1)]]),_:1}),a(h,{class:`desktop-btn-compact`,onClick:$},{default:t(()=>[...o[9]||=[c(` ثبت رسید پرداخت `,-1)]]),_:1})])])],64))}}),[[`__scopeId`,`data-v-fa758115`]]);export{H as default}; \ No newline at end of file diff --git a/dist/assets/CatalogRequestsView-Bs_Ip2fV.js b/dist/assets/CatalogRequestsView-C6ouBoy4.js similarity index 93% rename from dist/assets/CatalogRequestsView-Bs_Ip2fV.js rename to dist/assets/CatalogRequestsView-C6ouBoy4.js index b39d892..72c46cf 100644 --- a/dist/assets/CatalogRequestsView-Bs_Ip2fV.js +++ b/dist/assets/CatalogRequestsView-C6ouBoy4.js @@ -1 +1 @@ -import{F as e,M as t,Pt as n,_ as r,d as i,f as a,i as o,k as s,l as c,t as l,ut as u,v as d}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{o as f}from"./format-C72AoJ2H.js";import{w as p}from"./index-CgTrQFr5.js";import{t as m}from"./PageHeader-fQXEgnJ0.js";import{t as h}from"./catalogRequests-COPPKp3x.js";var g={class:`page catalog-requests-page`},_={class:`desktop-page__head desktop-only catalog-requests-desk-head`},v={class:`page__scroll page__scroll--with-nav body`},y={key:0,class:`empty`},b={class:`card__top`},x={class:`badge`},S={key:0,class:`note`},C=l(d({__name:`CatalogRequestsView`,setup(l){let d=p(),C=h();return s(()=>C.hydrate()),(s,l)=>(t(),a(`div`,g,[r(m,{class:`mobile-only`,title:`وضعیت کالیتهها`,"show-back":``,centered:``,onBack:l[0]||=e=>u(d).push(`/products`)}),c(`header`,_,[l[3]||=c(`div`,null,[c(`h1`,{class:`desktop-page__title`},`وضعیت کالیتهها`),c(`p`,{class:`desktop-page__subtitle`},`پیگیری درخواستهای کالیته ثبتشده`)],-1),c(`button`,{type:`button`,class:`desk-new-btn`,onClick:l[1]||=e=>u(d).push(`/categories`)},` درخواست کالیته جدید `)]),c(`div`,v,[c(`button`,{type:`button`,class:`new-btn mobile-only`,onClick:l[2]||=e=>u(d).push(`/categories`)},` درخواست کالیته جدید `),u(C).sorted.length?i(``,!0):(t(),a(`p`,y,`هنوز درخواستی ثبت نکردهاید.`)),(t(!0),a(o,null,e(u(C).sorted,r=>(t(),a(`article`,{key:r.id,class:`card`},[c(`div`,b,[c(`strong`,null,`درخواست `+n(r.id.slice(-6)),1),c(`span`,x,n(u(C).statusLabel(r.status)),1)]),c(`p`,null,n(r.createdAt.slice(0,10)),1),c(`p`,null,n(u(f)(r.items.length))+` قلم`,1),c(`ul`,null,[(t(!0),a(o,null,e(r.items,e=>(t(),a(`li`,{key:e.productId},n(e.productName)+` × `+n(u(f)(e.quantity)),1))),128))]),r.note?(t(),a(`p`,S,n(r.note),1)):i(``,!0)]))),128))])]))}}),[[`__scopeId`,`data-v-90b3d301`]]);export{C as default}; \ No newline at end of file +import{F as e,M as t,Pt as n,_ as r,d as i,f as a,i as o,k as s,l as c,t as l,ut as u,v as d}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{o as f}from"./format-C72AoJ2H.js";import{w as p}from"./index-CON313Q2.js";import{t as m}from"./PageHeader-juIsDT9M.js";import{t as h}from"./catalogRequests-COPPKp3x.js";var g={class:`page catalog-requests-page`},_={class:`desktop-page__head desktop-only catalog-requests-desk-head`},v={class:`page__scroll page__scroll--with-nav body`},y={key:0,class:`empty`},b={class:`card__top`},x={class:`badge`},S={key:0,class:`note`},C=l(d({__name:`CatalogRequestsView`,setup(l){let d=p(),C=h();return s(()=>C.hydrate()),(s,l)=>(t(),a(`div`,g,[r(m,{class:`mobile-only`,title:`وضعیت کالیتهها`,"show-back":``,centered:``,onBack:l[0]||=e=>u(d).push(`/products`)}),c(`header`,_,[l[3]||=c(`div`,null,[c(`h1`,{class:`desktop-page__title`},`وضعیت کالیتهها`),c(`p`,{class:`desktop-page__subtitle`},`پیگیری درخواستهای کالیته ثبتشده`)],-1),c(`button`,{type:`button`,class:`desk-new-btn`,onClick:l[1]||=e=>u(d).push(`/categories`)},` درخواست کالیته جدید `)]),c(`div`,v,[c(`button`,{type:`button`,class:`new-btn mobile-only`,onClick:l[2]||=e=>u(d).push(`/categories`)},` درخواست کالیته جدید `),u(C).sorted.length?i(``,!0):(t(),a(`p`,y,`هنوز درخواستی ثبت نکردهاید.`)),(t(!0),a(o,null,e(u(C).sorted,r=>(t(),a(`article`,{key:r.id,class:`card`},[c(`div`,b,[c(`strong`,null,`درخواست `+n(r.id.slice(-6)),1),c(`span`,x,n(u(C).statusLabel(r.status)),1)]),c(`p`,null,n(r.createdAt.slice(0,10)),1),c(`p`,null,n(u(f)(r.items.length))+` قلم`,1),c(`ul`,null,[(t(!0),a(o,null,e(r.items,e=>(t(),a(`li`,{key:e.productId},n(e.productName)+` × `+n(u(f)(e.quantity)),1))),128))]),r.note?(t(),a(`p`,S,n(r.note),1)):i(``,!0)]))),128))])]))}}),[[`__scopeId`,`data-v-90b3d301`]]);export{C as default}; \ No newline at end of file diff --git a/dist/assets/CategoriesView-Brzqlfdl.js b/dist/assets/CategoriesView-BABeveBb.js similarity index 97% rename from dist/assets/CategoriesView-Brzqlfdl.js rename to dist/assets/CategoriesView-BABeveBb.js index 538921f..e080a8c 100644 --- a/dist/assets/CategoriesView-Brzqlfdl.js +++ b/dist/assets/CategoriesView-BABeveBb.js @@ -1 +1 @@ -import{At as e,F as t,K as n,M as r,Nt as i,Pt as a,R as o,_ as s,c,d as l,f as u,g as d,i as f,k as p,l as m,nt as h,t as g,u as _,ut as v,v as y}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{c as b,l as x,t as S,u as C}from"./BasicIcon-ba1FsUKx.js";import{t as w}from"./IconCatalog-CtNgvEo2.js";import{b as T,c as E,l as D,s as O,w as k}from"./index-CgTrQFr5.js";import{t as A}from"./IconChevronBack-DytWz6TD.js";import{t as j}from"./IconDiamond-CCzZ7nPM.js";import{t as ee}from"./PageSkeleton-DYdjm4l9.js";import{t as M}from"./crm-CgnSby61.js";import{n as N,r as P,t as F}from"./useSlotBanners-i4vRixDi.js";import{t as I}from"./useGoBack-lLS3DC5F.js";import{t as L}from"./useTouchSwipe-C8fUyAcQ.js";import{t as R}from"./bannerLink-BW8t2Oqp.js";var z=y({__name:`IconSearch`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(r(),_(S,{icon:`vuesax-linear:search-normal`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),B=[`aria-label`],V={class:`slot-banner__content`},H={key:0,class:`slot-banner__title`},U={key:1,class:`slot-banner__tagline`},W={key:0,class:`slot-banner__dots`,role:`tablist`,"aria-label":`بنرها`},G=[`aria-label`,`aria-selected`,`onClick`],K=g(y({__name:`AppSlotBanner`,props:{bannerSlot:{},hideWhenEmpty:{type:Boolean,default:!0}},setup(o){let s=o,d=k(),{banners:p,loading:g}=F(s.bannerSlot),_=h(0),y=c(()=>p.value[_.value]??null),x=c(()=>y.value?.bannerLink?.trim()||``),S=c(()=>{let e=y.value?.imageUrl?.trim();if(e)return{backgroundImage:`url(${e})`}});function w(){let e=y.value?.ctaLink?.trim();e&&R(e,d)}function T(e){x.value&&(e.target.closest(`.slot-banner__cta, .slot-banner__dots`)||R(x.value,d))}function E(e){p.value.length&&(_.value=(e%p.value.length+p.value.length)%p.value.length)}let{onTouchStart:D,onTouchEnd:O}=L({enabled:()=>p.value.length>1,onSwipe(e){E(_.value+e)}});return(s,c)=>!o.hideWhenEmpty||y.value?n((r(),u(`section`,{key:0,class:e([`slot-banner`,{"slot-banner--photo":!!y.value?.imageUrl,"slot-banner--linked":!!x.value}]),style:i(S.value),"aria-label":y.value?.title||`بنر`,onClick:T,onTouchstartPassive:c[0]||=(...e)=>v(D)&&v(D)(...e),onTouchendPassive:c[1]||=(...e)=>v(O)&&v(O)(...e)},[y.value?(r(),u(f,{key:0},[m(`div`,V,[y.value.showTitle!==!1&&y.value.title?(r(),u(`h2`,H,a(y.value.title),1)):l(``,!0),y.value.showSubtitle!==!1&&y.value.subtitle?(r(),u(`p`,U,a(y.value.subtitle),1)):l(``,!0),y.value.showCta!==!1&&y.value.ctaLabel?(r(),u(`button`,{key:2,type:`button`,class:`slot-banner__cta`,onClick:C(w,[`stop`])},a(y.value.ctaLabel),1)):l(``,!0)]),v(p).length>1?(r(),u(`div`,W,[(r(!0),u(f,null,t(v(p),(t,n)=>(r(),u(`button`,{key:t.id,type:`button`,class:e([`slot-banner__dot`,{"slot-banner__dot--active":n===_.value}]),"aria-label":t.title,"aria-selected":n===_.value,onClick:C(e=>E(n),[`stop`])},null,10,G))),128))])):l(``,!0)],64)):l(``,!0)],46,B)),[[b,!v(g)&&y.value]]):l(``,!0)}}),[[`__scopeId`,`data-v-e2649f82`]]),q={class:`page categories-page`},J={class:`cat-top mobile-only`},Y={class:`cat-top__actions`},X={class:`page__scroll page__scroll--with-nav cat-scroll`},Z={key:0},te={class:`usage-grid`},Q=[`onClick`],ne={key:0,class:`usage-card__icon`},re={class:`usage-card__body`},ie={key:0},ae={key:1,class:`usage-card__link`},oe={class:`season-stack`},se=[`onClick`],ce={class:`season-card__content`},le={key:0,class:`season-card__title-row`},ue={key:0,class:`season-card__icon`},de={key:1},fe={key:1},pe={key:2,class:`season-card__link`},$={class:`feature-row`,"aria-label":`ویژگیها`},me={class:`feature-card`},he={class:`feature-card__icon`,"aria-hidden":`true`},ge={class:`feature-card`},_e={class:`feature-card__icon`,"aria-hidden":`true`},ve={class:`feature-card__icon`,"aria-hidden":`true`},ye=g(y({__name:`CategoriesView`,setup(n){let c=k(),{goBack:g}=I(`/`),y=M(),b=h([]),S=h([]),C=h(!0),F=h(null);function L(e){return e.icon||(e.id===`summer`?`bolt`:e.id===`winter`?`feather`:`diamond`)}p(async()=>{try{let e=await y.loadCategories();b.value=e.usage,S.value=e.seasons}catch(e){F.value=e instanceof Error?e.message:`بارگذاری دستهها ناموفق بود.`}finally{C.value=!1}});function R(e){c.push({path:`/products`,query:{categoryId:e,filterAxis:`usage`}})}function B(e){c.push({path:`/products`,query:{season:e,filterAxis:`season`}})}return(n,p)=>(r(),u(`div`,q,[m(`header`,J,[m(`button`,{type:`button`,class:`icon-btn`,"aria-label":`بازگشت`,onClick:p[0]||=(...e)=>v(g)&&v(g)(...e)},[s(A,{size:20})]),p[5]||=m(`h1`,{class:`cat-top__title`},`دستهبندیها`,-1),m(`div`,Y,[s(O,{variant:`inline`}),m(`button`,{type:`button`,class:`icon-btn`,"aria-label":`جستجو`,onClick:p[1]||=e=>v(c).push({path:`/products`,query:{q:``}})},[s(z,{size:20})]),m(`button`,{type:`button`,class:`icon-btn`,"aria-label":`اعلانها`,onClick:p[2]||=e=>v(c).push(`/profile/notifications`)},[s(D,{size:20})])])]),p[13]||=m(`header`,{class:`desktop-page__head desktop-only`},[m(`h1`,{class:`desktop-page__title`},`دستهبندیها`),m(`p`,{class:`desktop-page__subtitle`},`دسته موردنظر خود را انتخاب کنید`)],-1),m(`div`,X,[F.value?(r(),u(`p`,Z,a(F.value),1)):C.value?(r(),_(ee,{key:1,variant:`grid`})):(r(),u(f,{key:2},[s(K,{"banner-slot":`categories_hero`,class:`categories-page__hero`}),m(`section`,null,[p[6]||=m(`h2`,{class:`block-title`},`انتخاب بر اساس کاربرد`,-1),p[7]||=m(`p`,{class:`block-sub`},`دسته موردنظر خود را انتخاب کنید`,-1),m(`div`,te,[(r(!0),u(f,null,t(b.value,t=>(r(),u(`button`,{key:t.id,type:`button`,class:`usage-card`,onClick:e=>R(t.id)},[m(`div`,{class:e([`usage-card__image`,`usage-card__image--${t.id}`]),style:i(t.imageUrl?{backgroundImage:`url(${t.imageUrl})`}:void 0)},[t.showIcon===!1?l(``,!0):(r(),u(`span`,ne,[(r(),_(o(v(N)(v(P)(t),w)),{size:18}))]))],6),m(`div`,re,[t.showTitle===!1?l(``,!0):(r(),u(`strong`,ie,a(t.title),1)),t.showSubtitle===!1?l(``,!0):(r(),u(`span`,ae,[d(a(t.subtitle||`مشاهده محصولات`)+` `,1),s(E,{size:14})]))])],8,Q))),128))])]),m(`section`,null,[p[8]||=m(`h2`,{class:`block-title`},`انتخاب بر اساس فصل`,-1),p[9]||=m(`p`,{class:`block-sub`},`بر اساس فصل مناسب، پارچه دلخواه را پیدا کنید`,-1),m(`div`,oe,[(r(!0),u(f,null,t(S.value,t=>(r(),u(`button`,{key:t.id,type:`button`,class:e([`season-card`,[`season-card--${t.id}`,{"season-card--banner":!!t.imageUrl}]]),style:i(t.imageUrl?{backgroundImage:`url(${t.imageUrl})`}:void 0),onClick:e=>B(t.id)},[m(`div`,ce,[t.showTitle!==!1||t.showIcon!==!1?(r(),u(`div`,le,[t.showIcon===!1?l(``,!0):(r(),u(`span`,ue,[(r(),_(o(v(N)(L(t),j)),{size:16}))])),t.showTitle===!1?l(``,!0):(r(),u(`strong`,de,a(t.title),1))])):l(``,!0),t.showDescription===!1?l(``,!0):(r(),u(`p`,fe,a(t.description),1)),t.showCta===!1?l(``,!0):(r(),u(`span`,pe,[d(a(t.ctaLabel||`مشاهده محصولات`)+` `,1),s(E,{size:14})]))])],14,se))),128))])]),m(`section`,$,[m(`div`,me,[m(`span`,he,[s(T,{size:22})]),p[10]||=m(`div`,{class:`feature-card__text`},[m(`strong`,null,`پشتیبانی اختصاصی`),m(`span`,null,`در کنار شما هستیم`)],-1)]),m(`div`,ge,[m(`span`,_e,[s(j,{size:22})]),p[11]||=m(`div`,{class:`feature-card__text`},[m(`strong`,null,`مزایای مشتریان ویژه`),m(`span`,null,`بر اساس سطح شما`)],-1)]),m(`div`,{class:`feature-card feature-card--link`,role:`button`,tabindex:`0`,onClick:p[3]||=e=>v(c).push(`/products`),onKeydown:p[4]||=x(e=>v(c).push(`/products`),[`enter`])},[m(`span`,ve,[s(w,{size:22})]),p[12]||=m(`div`,{class:`feature-card__text`},[m(`strong`,null,`درخواست کالیته فیزیکی`),m(`span`,null,`کالیته را دریافت کنید`)],-1)],32)])],64))])]))}}),[[`__scopeId`,`data-v-f5361aa5`]]);export{ye as default}; \ No newline at end of file +import{At as e,F as t,K as n,M as r,Nt as i,Pt as a,R as o,_ as s,c,d as l,f as u,g as d,i as f,k as p,l as m,nt as h,t as g,u as _,ut as v,v as y}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{c as b,l as x,t as S,u as C}from"./BasicIcon-ba1FsUKx.js";import{t as w}from"./IconCatalog-CtNgvEo2.js";import{b as T,c as E,l as D,s as O,w as k}from"./index-CON313Q2.js";import{t as A}from"./IconChevronBack-DytWz6TD.js";import{t as j}from"./IconDiamond-CCzZ7nPM.js";import{t as ee}from"./PageSkeleton-DYdjm4l9.js";import{t as M}from"./crm-CgnSby61.js";import{n as N,r as P,t as F}from"./useSlotBanners-CZCp7SEx.js";import{t as I}from"./useGoBack-B1rclh3v.js";import{t as L}from"./useTouchSwipe-C8fUyAcQ.js";import{t as R}from"./bannerLink-BW8t2Oqp.js";var z=y({__name:`IconSearch`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,n)=>(r(),_(S,{icon:`vuesax-linear:search-normal`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),B=[`aria-label`],V={class:`slot-banner__content`},H={key:0,class:`slot-banner__title`},U={key:1,class:`slot-banner__tagline`},W={key:0,class:`slot-banner__dots`,role:`tablist`,"aria-label":`بنرها`},G=[`aria-label`,`aria-selected`,`onClick`],K=g(y({__name:`AppSlotBanner`,props:{bannerSlot:{},hideWhenEmpty:{type:Boolean,default:!0}},setup(o){let s=o,d=k(),{banners:p,loading:g}=F(s.bannerSlot),_=h(0),y=c(()=>p.value[_.value]??null),x=c(()=>y.value?.bannerLink?.trim()||``),S=c(()=>{let e=y.value?.imageUrl?.trim();if(e)return{backgroundImage:`url(${e})`}});function w(){let e=y.value?.ctaLink?.trim();e&&R(e,d)}function T(e){x.value&&(e.target.closest(`.slot-banner__cta, .slot-banner__dots`)||R(x.value,d))}function E(e){p.value.length&&(_.value=(e%p.value.length+p.value.length)%p.value.length)}let{onTouchStart:D,onTouchEnd:O}=L({enabled:()=>p.value.length>1,onSwipe(e){E(_.value+e)}});return(s,c)=>!o.hideWhenEmpty||y.value?n((r(),u(`section`,{key:0,class:e([`slot-banner`,{"slot-banner--photo":!!y.value?.imageUrl,"slot-banner--linked":!!x.value}]),style:i(S.value),"aria-label":y.value?.title||`بنر`,onClick:T,onTouchstartPassive:c[0]||=(...e)=>v(D)&&v(D)(...e),onTouchendPassive:c[1]||=(...e)=>v(O)&&v(O)(...e)},[y.value?(r(),u(f,{key:0},[m(`div`,V,[y.value.showTitle!==!1&&y.value.title?(r(),u(`h2`,H,a(y.value.title),1)):l(``,!0),y.value.showSubtitle!==!1&&y.value.subtitle?(r(),u(`p`,U,a(y.value.subtitle),1)):l(``,!0),y.value.showCta!==!1&&y.value.ctaLabel?(r(),u(`button`,{key:2,type:`button`,class:`slot-banner__cta`,onClick:C(w,[`stop`])},a(y.value.ctaLabel),1)):l(``,!0)]),v(p).length>1?(r(),u(`div`,W,[(r(!0),u(f,null,t(v(p),(t,n)=>(r(),u(`button`,{key:t.id,type:`button`,class:e([`slot-banner__dot`,{"slot-banner__dot--active":n===_.value}]),"aria-label":t.title,"aria-selected":n===_.value,onClick:C(e=>E(n),[`stop`])},null,10,G))),128))])):l(``,!0)],64)):l(``,!0)],46,B)),[[b,!v(g)&&y.value]]):l(``,!0)}}),[[`__scopeId`,`data-v-e2649f82`]]),q={class:`page categories-page`},J={class:`cat-top mobile-only`},Y={class:`cat-top__actions`},X={class:`page__scroll page__scroll--with-nav cat-scroll`},Z={key:0},te={class:`usage-grid`},Q=[`onClick`],ne={key:0,class:`usage-card__icon`},re={class:`usage-card__body`},ie={key:0},ae={key:1,class:`usage-card__link`},oe={class:`season-stack`},se=[`onClick`],ce={class:`season-card__content`},le={key:0,class:`season-card__title-row`},ue={key:0,class:`season-card__icon`},de={key:1},fe={key:1},pe={key:2,class:`season-card__link`},$={class:`feature-row`,"aria-label":`ویژگیها`},me={class:`feature-card`},he={class:`feature-card__icon`,"aria-hidden":`true`},ge={class:`feature-card`},_e={class:`feature-card__icon`,"aria-hidden":`true`},ve={class:`feature-card__icon`,"aria-hidden":`true`},ye=g(y({__name:`CategoriesView`,setup(n){let c=k(),{goBack:g}=I(`/`),y=M(),b=h([]),S=h([]),C=h(!0),F=h(null);function L(e){return e.icon||(e.id===`summer`?`bolt`:e.id===`winter`?`feather`:`diamond`)}p(async()=>{try{let e=await y.loadCategories();b.value=e.usage,S.value=e.seasons}catch(e){F.value=e instanceof Error?e.message:`بارگذاری دستهها ناموفق بود.`}finally{C.value=!1}});function R(e){c.push({path:`/products`,query:{categoryId:e,filterAxis:`usage`}})}function B(e){c.push({path:`/products`,query:{season:e,filterAxis:`season`}})}return(n,p)=>(r(),u(`div`,q,[m(`header`,J,[m(`button`,{type:`button`,class:`icon-btn`,"aria-label":`بازگشت`,onClick:p[0]||=(...e)=>v(g)&&v(g)(...e)},[s(A,{size:20})]),p[5]||=m(`h1`,{class:`cat-top__title`},`دستهبندیها`,-1),m(`div`,Y,[s(O,{variant:`inline`}),m(`button`,{type:`button`,class:`icon-btn`,"aria-label":`جستجو`,onClick:p[1]||=e=>v(c).push({path:`/products`,query:{q:``}})},[s(z,{size:20})]),m(`button`,{type:`button`,class:`icon-btn`,"aria-label":`اعلانها`,onClick:p[2]||=e=>v(c).push(`/profile/notifications`)},[s(D,{size:20})])])]),p[13]||=m(`header`,{class:`desktop-page__head desktop-only`},[m(`h1`,{class:`desktop-page__title`},`دستهبندیها`),m(`p`,{class:`desktop-page__subtitle`},`دسته موردنظر خود را انتخاب کنید`)],-1),m(`div`,X,[F.value?(r(),u(`p`,Z,a(F.value),1)):C.value?(r(),_(ee,{key:1,variant:`grid`})):(r(),u(f,{key:2},[s(K,{"banner-slot":`categories_hero`,class:`categories-page__hero`}),m(`section`,null,[p[6]||=m(`h2`,{class:`block-title`},`انتخاب بر اساس کاربرد`,-1),p[7]||=m(`p`,{class:`block-sub`},`دسته موردنظر خود را انتخاب کنید`,-1),m(`div`,te,[(r(!0),u(f,null,t(b.value,t=>(r(),u(`button`,{key:t.id,type:`button`,class:`usage-card`,onClick:e=>R(t.id)},[m(`div`,{class:e([`usage-card__image`,`usage-card__image--${t.id}`]),style:i(t.imageUrl?{backgroundImage:`url(${t.imageUrl})`}:void 0)},[t.showIcon===!1?l(``,!0):(r(),u(`span`,ne,[(r(),_(o(v(N)(v(P)(t),w)),{size:18}))]))],6),m(`div`,re,[t.showTitle===!1?l(``,!0):(r(),u(`strong`,ie,a(t.title),1)),t.showSubtitle===!1?l(``,!0):(r(),u(`span`,ae,[d(a(t.subtitle||`مشاهده محصولات`)+` `,1),s(E,{size:14})]))])],8,Q))),128))])]),m(`section`,null,[p[8]||=m(`h2`,{class:`block-title`},`انتخاب بر اساس فصل`,-1),p[9]||=m(`p`,{class:`block-sub`},`بر اساس فصل مناسب، پارچه دلخواه را پیدا کنید`,-1),m(`div`,oe,[(r(!0),u(f,null,t(S.value,t=>(r(),u(`button`,{key:t.id,type:`button`,class:e([`season-card`,[`season-card--${t.id}`,{"season-card--banner":!!t.imageUrl}]]),style:i(t.imageUrl?{backgroundImage:`url(${t.imageUrl})`}:void 0),onClick:e=>B(t.id)},[m(`div`,ce,[t.showTitle!==!1||t.showIcon!==!1?(r(),u(`div`,le,[t.showIcon===!1?l(``,!0):(r(),u(`span`,ue,[(r(),_(o(v(N)(L(t),j)),{size:16}))])),t.showTitle===!1?l(``,!0):(r(),u(`strong`,de,a(t.title),1))])):l(``,!0),t.showDescription===!1?l(``,!0):(r(),u(`p`,fe,a(t.description),1)),t.showCta===!1?l(``,!0):(r(),u(`span`,pe,[d(a(t.ctaLabel||`مشاهده محصولات`)+` `,1),s(E,{size:14})]))])],14,se))),128))])]),m(`section`,$,[m(`div`,me,[m(`span`,he,[s(T,{size:22})]),p[10]||=m(`div`,{class:`feature-card__text`},[m(`strong`,null,`پشتیبانی اختصاصی`),m(`span`,null,`در کنار شما هستیم`)],-1)]),m(`div`,ge,[m(`span`,_e,[s(j,{size:22})]),p[11]||=m(`div`,{class:`feature-card__text`},[m(`strong`,null,`مزایای مشتریان ویژه`),m(`span`,null,`بر اساس سطح شما`)],-1)]),m(`div`,{class:`feature-card feature-card--link`,role:`button`,tabindex:`0`,onClick:p[3]||=e=>v(c).push(`/products`),onKeydown:p[4]||=x(e=>v(c).push(`/products`),[`enter`])},[m(`span`,ve,[s(w,{size:22})]),p[12]||=m(`div`,{class:`feature-card__text`},[m(`strong`,null,`درخواست کالیته فیزیکی`),m(`span`,null,`کالیته را دریافت کنید`)],-1)],32)])],64))])]))}}),[[`__scopeId`,`data-v-f5361aa5`]]);export{ye as default}; \ No newline at end of file diff --git a/dist/assets/CheckFormView-Bj2C2sW_.js b/dist/assets/CheckFormView-CWfjsCCl.js similarity index 97% rename from dist/assets/CheckFormView-Bj2C2sW_.js rename to dist/assets/CheckFormView-CWfjsCCl.js index 6ace866..e41a6b4 100644 --- a/dist/assets/CheckFormView-Bj2C2sW_.js +++ b/dist/assets/CheckFormView-CWfjsCCl.js @@ -1 +1 @@ -import{At as e,G as t,M as n,Pt as r,U as i,_ as a,c as o,d as s,f as c,g as l,i as ee,l as u,nt as d,t as te,u as f,ut as p,v as m}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{t as h}from"./BasicIcon-ba1FsUKx.js";import{n as g,o as ne,u as _}from"./format-C72AoJ2H.js";import{i as re,n as v,o as ie,t as ae}from"./validation-Duyyve7l.js";import{t as oe}from"./IconCheckBook-ZRtkiJkL.js";import{m as se,r as ce,w as le}from"./index-CgTrQFr5.js";import{t as ue}from"./FormErrorBanner-Ud1D04xf.js";import{n as y,r as b,t as de}from"./formErrors-DglFjYkZ.js";import{t as fe}from"./PageHeader-fQXEgnJ0.js";import{t as pe}from"./useRequirePricedOrder-BGX5w-aK.js";import{t as x}from"./BaseInput-CpE3bVJZ.js";import{t as me}from"./CurrencyInput-Cu2dRPFo.js";import{t as he}from"./PersianDateInput-Dh05So9z.js";var ge=m({__name:`IconCash`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,r)=>(n(),f(h,{icon:`vuesax-linear:money-4`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),_e={class:`page`},ve={class:`page__scroll checkout-page__scroll`},ye={class:`mb-3 flex items-start gap-3`},be={class:`flex h-10 w-10 shrink-0 items-center justify-center rounded-full bg-[var(--color-primary-soft)] text-[var(--color-primary)]`,"aria-hidden":`true`},xe={class:`flex flex-col gap-2`},Se={class:`flex items-center justify-between gap-3 text-sm`},Ce={class:`font-tabular text-[var(--color-text)]`},we={class:`flex items-center justify-between gap-3 text-sm`},S={class:`inline-flex items-center gap-1.5 text-[var(--color-text-muted)]`},C={key:0,class:`text-xs`},w={class:`font-tabular text-[var(--color-text)]`},T={class:`mt-1 flex items-center justify-between gap-3 border-t border-[var(--color-border)] pt-3`},E={class:`card`},D={class:`form-group`},O=[`src`],k={key:1,class:`upload-box__placeholder`},Te={key:0,class:`input-error-text`},Ee={key:2,class:`form-group`},De={class:`upload-box`},Oe=[`src`],ke={key:1,class:`upload-box__placeholder`},A=te(m({__name:`CheckFormView`,setup(te){let f=le(),m=se(),{orderId:h,order:A}=pe(),j=o(()=>m.draftCheckMode===`full`),M=d(``),N=d(``),P=d(``),F=d(``),I=d(``),L=d(``),R=d(``),z=d(``),B=d(``),V=d(``),H=d(``),U=d(``),W=d({}),G=d(``),K=d(!1),q=o(()=>A.value?.finalAmount??0),J=o(()=>m.draftChecks.reduce((e,t)=>e+t.amount,0)),Y=o(()=>_(M.value)||0),X=o(()=>Math.max(0,q.value-J.value)),Ae=o(()=>Math.max(0,q.value-J.value-Y.value)),Z=o(()=>q.value>0&&J.value+Y.value>=q.value),Q=o(()=>q.value>0&&J.value+Y.value>q.value);i([q,X],()=>{K.value||M.value||X.value<=0||(M.value=String(X.value),K.value=!0)},{immediate:!0}),i(M,()=>{W.value=y(W.value,`amount`),b(W.value)||(G.value=``)}),i(N,()=>{W.value=y(W.value,`dueDate`),b(W.value)||(G.value=``)}),i(P,()=>{W.value=y(W.value,`sayadId`),b(W.value)||(G.value=``)}),i(I,()=>{W.value=y(W.value,`ownerNationalId`),b(W.value)||(G.value=``)}),i(V,()=>{W.value=y(W.value,`frontImage`),b(W.value)||(G.value=``)});async function $(e,t){let n=e.target.files?.[0];if(!n)return;let r=v(n);if(!r.valid){t===`front`&&(W.value={...W.value,frontImage:r.message??`خطا`});return}let i=await ae(n);t===`front`?V.value=i:H.value=i}function je(){X.value<=0||(M.value=String(X.value))}function Me(){W.value={},G.value=``;let e={},t=_(M.value);return(!t||t<=0)&&(e.amount=`مبلغ چک باید بزرگتر از صفر باشد.`),N.value||(e.dueDate=`تاریخ سررسید الزامی است.`),V.value||(e.frontImage=`تصویر روی چک الزامی است.`),j.value&&(ie(P.value)||(e.sayadId=`شناسه صیادی باید ۱۶ رقم باشد.`),re(I.value)||(e.ownerNationalId=`کد ملی صاحب چک معتبر نیست.`),m.draftChecks.some(e=>e.sayadId===P.value.replace(/\s/g,``))&&(e.sayadId=`شناسه صیادی تکراری است.`)),W.value=e,!b(e)||(G.value=de,!1)}function Ne(){Me()&&(m.addDraftCheck({amount:_(M.value),dueDate:N.value,sayadId:j.value?P.value.replace(/\s/g,``):void 0,checkNumber:j.value?F.value:void 0,ownerNationalId:j.value?I.value:void 0,ownerFirstName:j.value?L.value:void 0,ownerLastName:j.value?R.value:void 0,bankName:j.value?z.value:void 0,branchName:j.value?B.value:void 0,frontImage:V.value,backImage:H.value||void 0,notes:U.value||void 0,mode:m.draftCheckMode??`brief`}),Pe(),f.push(`/orders/${h.value}/check-list`))}function Pe(){M.value=``,N.value=``,P.value=``,F.value=``,I.value=``,L.value=``,R.value=``,z.value=``,B.value=``,V.value=``,H.value=``,U.value=``,W.value={},G.value=``,K.value=!1}return(i,o)=>(n(),c(`div`,_e,[a(fe,{title:j.value?`ثبت چک - حالت کامل`:`ثبت چک - حالت مختصر`,"show-back":``,onBack:o[0]||=e=>p(f).push(`/orders/${p(h)}/check-mode`)},null,8,[`title`]),u(`div`,ve,[a(ue,{message:G.value},null,8,[`message`]),q.value>0?(n(),c(`div`,{key:0,class:e([`check-balance mb-4 rounded-[var(--radius-md)] border border-[var(--color-border)] bg-[var(--color-surface)] p-4`,{"check-balance--ok":Z.value&&!Q.value,"check-balance--warn":Q.value}])},[u(`div`,ye,[u(`span`,be,[a(ge,{size:22})]),o[13]||=u(`div`,{class:`min-w-0 flex-1`},[u(`p`,{class:`m-0 text-sm font-semibold text-[var(--color-text)]`},`مانده فاکتور`),u(`p`,{class:`m-0 mt-1 text-xs leading-relaxed text-[var(--color-text-muted)]`},` با هر چک، مبلغ باقیمانده بهروز میشود تا پوشش کامل فاکتور را از دست ندهید. `)],-1)]),u(`div`,xe,[u(`div`,Se,[o[14]||=u(`span`,{class:`text-[var(--color-text-muted)]`},`مبلغ فاکتور`,-1),u(`strong`,Ce,r(p(g)(q.value)),1)]),u(`div`,we,[u(`span`,S,[a(oe,{size:14}),o[15]||=l(` چکهای ثبتشده `,-1),p(m).draftChecks.length?(n(),c(`span`,C,` (`+r(p(ne)(p(m).draftChecks.length))+`) `,1)):s(``,!0)]),u(`strong`,w,r(p(g)(J.value)),1)]),u(`div`,T,[o[16]||=u(`span`,{class:`text-sm font-semibold text-[var(--color-text)]`},`باقیمانده`,-1),u(`strong`,{class:e([`font-tabular text-base`,Z.value&&!Q.value?`text-[var(--color-success)]`:Q.value?`text-[var(--color-danger)]`:`text-[var(--color-primary)]`])},r(Q.value?`${p(g)(J.value+Y.value-q.value)} بیش از فاکتور`:Z.value?`پوشش کامل شد`:p(g)(Ae.value)),3)])])],2)):s(``,!0),o[20]||=u(`div`,{class:`steps`},[u(`span`,{class:`step active`},`۱. اطلاعات چک`),u(`span`,{class:`step`},`۲. چک بعدی`),u(`span`,{class:`step`},`۳. خلاصه`)],-1),u(`div`,E,[a(me,{modelValue:M.value,"onUpdate:modelValue":o[1]||=e=>M.value=e,label:`مبلغ چک (تومان)`,placeholder:`مبلغ`,error:W.value.amount},null,8,[`modelValue`,`error`]),X.value>0&&Y.value!==X.value?(n(),c(`button`,{key:0,type:`button`,class:`check-fill-remaining mb-3 text-sm font-medium text-[var(--color-primary)]`,onClick:je},` پر کردن با باقیمانده (`+r(p(g)(X.value))+`) `,1)):s(``,!0),a(he,{modelValue:N.value,"onUpdate:modelValue":o[2]||=e=>N.value=e,label:`تاریخ سررسید`,error:W.value.dueDate},null,8,[`modelValue`,`error`]),j.value?(n(),c(ee,{key:1},[a(x,{modelValue:P.value,"onUpdate:modelValue":o[3]||=e=>P.value=e,label:`شناسه صیادی`,placeholder:`۱۶ رقم`,maxlength:`16`,inputmode:`numeric`,dir:`ltr`,error:W.value.sayadId},null,8,[`modelValue`,`error`]),a(x,{modelValue:F.value,"onUpdate:modelValue":o[4]||=e=>F.value=e,label:`شماره چک`,inputmode:`numeric`,dir:`ltr`},null,8,[`modelValue`]),a(x,{modelValue:I.value,"onUpdate:modelValue":o[5]||=e=>I.value=e,label:`کد ملی صاحب چک`,maxlength:`10`,inputmode:`numeric`,dir:`ltr`,error:W.value.ownerNationalId},null,8,[`modelValue`,`error`]),a(x,{modelValue:L.value,"onUpdate:modelValue":o[6]||=e=>L.value=e,label:`نام صاحب چک`},null,8,[`modelValue`]),a(x,{modelValue:R.value,"onUpdate:modelValue":o[7]||=e=>R.value=e,label:`نام خانوادگی صاحب چک`},null,8,[`modelValue`]),a(x,{modelValue:z.value,"onUpdate:modelValue":o[8]||=e=>z.value=e,label:`نام بانک`},null,8,[`modelValue`]),a(x,{modelValue:B.value,"onUpdate:modelValue":o[9]||=e=>B.value=e,label:`نام شعبه`},null,8,[`modelValue`])],64)):s(``,!0),u(`div`,D,[o[17]||=u(`label`,{class:`form-label`},`تصویر روی چک *`,-1),u(`label`,{class:e([`upload-box`,{"upload-box--error":W.value.frontImage}])},[u(`input`,{type:`file`,accept:`image/*`,class:`upload-box__input`,onChange:o[10]||=e=>$(e,`front`)},null,32),V.value?(n(),c(`img`,{key:0,src:V.value,class:`upload-box__preview`,alt:`روی چک`},null,8,O)):(n(),c(`span`,k,`بارگذاری تصویر چک`))],2),W.value.frontImage?(n(),c(`p`,Te,r(W.value.frontImage),1)):s(``,!0)]),j.value?(n(),c(`div`,Ee,[o[18]||=u(`label`,{class:`form-label`},`تصویر پشت چک`,-1),u(`label`,De,[u(`input`,{type:`file`,accept:`image/*`,class:`upload-box__input`,onChange:o[11]||=e=>$(e,`back`)},null,32),H.value?(n(),c(`img`,{key:0,src:H.value,class:`upload-box__preview`,alt:`پشت چک`},null,8,Oe)):(n(),c(`span`,ke,`بارگذاری تصویر`))])])):s(``,!0),a(x,{modelValue:U.value,"onUpdate:modelValue":o[12]||=e=>U.value=e,label:`توضیحات`},null,8,[`modelValue`]),a(ce,{block:``,class:`mt-4`,onClick:Ne},{default:t(()=>[...o[19]||=[l(`ذخیره چک`,-1)]]),_:1})])])]))}}),[[`__scopeId`,`data-v-5976552f`]]);export{A as default}; \ No newline at end of file +import{At as e,G as t,M as n,Pt as r,U as i,_ as a,c as o,d as s,f as c,g as l,i as ee,l as u,nt as d,t as te,u as f,ut as p,v as m}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{t as h}from"./BasicIcon-ba1FsUKx.js";import{n as g,o as ne,u as _}from"./format-C72AoJ2H.js";import{i as re,n as v,o as ie,t as ae}from"./validation-Duyyve7l.js";import{t as oe}from"./IconCheckBook-ZRtkiJkL.js";import{m as se,r as ce,w as le}from"./index-CON313Q2.js";import{t as ue}from"./FormErrorBanner-Ud1D04xf.js";import{n as y,r as b,t as de}from"./formErrors-DglFjYkZ.js";import{t as fe}from"./PageHeader-juIsDT9M.js";import{t as pe}from"./useRequirePricedOrder-BCNEyr9h.js";import{t as x}from"./BaseInput-CpE3bVJZ.js";import{t as me}from"./CurrencyInput-Cu2dRPFo.js";import{t as he}from"./PersianDateInput-Dh05So9z.js";var ge=m({__name:`IconCash`,props:{size:{default:24},strokeWidth:{default:1.5},color:{default:null}},setup(e){return(t,r)=>(n(),f(h,{icon:`vuesax-linear:money-4`,size:e.size,"stroke-width":e.strokeWidth,color:e.color},null,8,[`size`,`stroke-width`,`color`]))}}),_e={class:`page`},ve={class:`page__scroll checkout-page__scroll`},ye={class:`mb-3 flex items-start gap-3`},be={class:`flex h-10 w-10 shrink-0 items-center justify-center rounded-full bg-[var(--color-primary-soft)] text-[var(--color-primary)]`,"aria-hidden":`true`},xe={class:`flex flex-col gap-2`},Se={class:`flex items-center justify-between gap-3 text-sm`},Ce={class:`font-tabular text-[var(--color-text)]`},we={class:`flex items-center justify-between gap-3 text-sm`},S={class:`inline-flex items-center gap-1.5 text-[var(--color-text-muted)]`},C={key:0,class:`text-xs`},w={class:`font-tabular text-[var(--color-text)]`},T={class:`mt-1 flex items-center justify-between gap-3 border-t border-[var(--color-border)] pt-3`},E={class:`card`},D={class:`form-group`},O=[`src`],k={key:1,class:`upload-box__placeholder`},Te={key:0,class:`input-error-text`},Ee={key:2,class:`form-group`},De={class:`upload-box`},Oe=[`src`],ke={key:1,class:`upload-box__placeholder`},A=te(m({__name:`CheckFormView`,setup(te){let f=le(),m=se(),{orderId:h,order:A}=pe(),j=o(()=>m.draftCheckMode===`full`),M=d(``),N=d(``),P=d(``),F=d(``),I=d(``),L=d(``),R=d(``),z=d(``),B=d(``),V=d(``),H=d(``),U=d(``),W=d({}),G=d(``),K=d(!1),q=o(()=>A.value?.finalAmount??0),J=o(()=>m.draftChecks.reduce((e,t)=>e+t.amount,0)),Y=o(()=>_(M.value)||0),X=o(()=>Math.max(0,q.value-J.value)),Ae=o(()=>Math.max(0,q.value-J.value-Y.value)),Z=o(()=>q.value>0&&J.value+Y.value>=q.value),Q=o(()=>q.value>0&&J.value+Y.value>q.value);i([q,X],()=>{K.value||M.value||X.value<=0||(M.value=String(X.value),K.value=!0)},{immediate:!0}),i(M,()=>{W.value=y(W.value,`amount`),b(W.value)||(G.value=``)}),i(N,()=>{W.value=y(W.value,`dueDate`),b(W.value)||(G.value=``)}),i(P,()=>{W.value=y(W.value,`sayadId`),b(W.value)||(G.value=``)}),i(I,()=>{W.value=y(W.value,`ownerNationalId`),b(W.value)||(G.value=``)}),i(V,()=>{W.value=y(W.value,`frontImage`),b(W.value)||(G.value=``)});async function $(e,t){let n=e.target.files?.[0];if(!n)return;let r=v(n);if(!r.valid){t===`front`&&(W.value={...W.value,frontImage:r.message??`خطا`});return}let i=await ae(n);t===`front`?V.value=i:H.value=i}function je(){X.value<=0||(M.value=String(X.value))}function Me(){W.value={},G.value=``;let e={},t=_(M.value);return(!t||t<=0)&&(e.amount=`مبلغ چک باید بزرگتر از صفر باشد.`),N.value||(e.dueDate=`تاریخ سررسید الزامی است.`),V.value||(e.frontImage=`تصویر روی چک الزامی است.`),j.value&&(ie(P.value)||(e.sayadId=`شناسه صیادی باید ۱۶ رقم باشد.`),re(I.value)||(e.ownerNationalId=`کد ملی صاحب چک معتبر نیست.`),m.draftChecks.some(e=>e.sayadId===P.value.replace(/\s/g,``))&&(e.sayadId=`شناسه صیادی تکراری است.`)),W.value=e,!b(e)||(G.value=de,!1)}function Ne(){Me()&&(m.addDraftCheck({amount:_(M.value),dueDate:N.value,sayadId:j.value?P.value.replace(/\s/g,``):void 0,checkNumber:j.value?F.value:void 0,ownerNationalId:j.value?I.value:void 0,ownerFirstName:j.value?L.value:void 0,ownerLastName:j.value?R.value:void 0,bankName:j.value?z.value:void 0,branchName:j.value?B.value:void 0,frontImage:V.value,backImage:H.value||void 0,notes:U.value||void 0,mode:m.draftCheckMode??`brief`}),Pe(),f.push(`/orders/${h.value}/check-list`))}function Pe(){M.value=``,N.value=``,P.value=``,F.value=``,I.value=``,L.value=``,R.value=``,z.value=``,B.value=``,V.value=``,H.value=``,U.value=``,W.value={},G.value=``,K.value=!1}return(i,o)=>(n(),c(`div`,_e,[a(fe,{title:j.value?`ثبت چک - حالت کامل`:`ثبت چک - حالت مختصر`,"show-back":``,onBack:o[0]||=e=>p(f).push(`/orders/${p(h)}/check-mode`)},null,8,[`title`]),u(`div`,ve,[a(ue,{message:G.value},null,8,[`message`]),q.value>0?(n(),c(`div`,{key:0,class:e([`check-balance mb-4 rounded-[var(--radius-md)] border border-[var(--color-border)] bg-[var(--color-surface)] p-4`,{"check-balance--ok":Z.value&&!Q.value,"check-balance--warn":Q.value}])},[u(`div`,ye,[u(`span`,be,[a(ge,{size:22})]),o[13]||=u(`div`,{class:`min-w-0 flex-1`},[u(`p`,{class:`m-0 text-sm font-semibold text-[var(--color-text)]`},`مانده فاکتور`),u(`p`,{class:`m-0 mt-1 text-xs leading-relaxed text-[var(--color-text-muted)]`},` با هر چک، مبلغ باقیمانده بهروز میشود تا پوشش کامل فاکتور را از دست ندهید. `)],-1)]),u(`div`,xe,[u(`div`,Se,[o[14]||=u(`span`,{class:`text-[var(--color-text-muted)]`},`مبلغ فاکتور`,-1),u(`strong`,Ce,r(p(g)(q.value)),1)]),u(`div`,we,[u(`span`,S,[a(oe,{size:14}),o[15]||=l(` چکهای ثبتشده `,-1),p(m).draftChecks.length?(n(),c(`span`,C,` (`+r(p(ne)(p(m).draftChecks.length))+`) `,1)):s(``,!0)]),u(`strong`,w,r(p(g)(J.value)),1)]),u(`div`,T,[o[16]||=u(`span`,{class:`text-sm font-semibold text-[var(--color-text)]`},`باقیمانده`,-1),u(`strong`,{class:e([`font-tabular text-base`,Z.value&&!Q.value?`text-[var(--color-success)]`:Q.value?`text-[var(--color-danger)]`:`text-[var(--color-primary)]`])},r(Q.value?`${p(g)(J.value+Y.value-q.value)} بیش از فاکتور`:Z.value?`پوشش کامل شد`:p(g)(Ae.value)),3)])])],2)):s(``,!0),o[20]||=u(`div`,{class:`steps`},[u(`span`,{class:`step active`},`۱. اطلاعات چک`),u(`span`,{class:`step`},`۲. چک بعدی`),u(`span`,{class:`step`},`۳. خلاصه`)],-1),u(`div`,E,[a(me,{modelValue:M.value,"onUpdate:modelValue":o[1]||=e=>M.value=e,label:`مبلغ چک (تومان)`,placeholder:`مبلغ`,error:W.value.amount},null,8,[`modelValue`,`error`]),X.value>0&&Y.value!==X.value?(n(),c(`button`,{key:0,type:`button`,class:`check-fill-remaining mb-3 text-sm font-medium text-[var(--color-primary)]`,onClick:je},` پر کردن با باقیمانده (`+r(p(g)(X.value))+`) `,1)):s(``,!0),a(he,{modelValue:N.value,"onUpdate:modelValue":o[2]||=e=>N.value=e,label:`تاریخ سررسید`,error:W.value.dueDate},null,8,[`modelValue`,`error`]),j.value?(n(),c(ee,{key:1},[a(x,{modelValue:P.value,"onUpdate:modelValue":o[3]||=e=>P.value=e,label:`شناسه صیادی`,placeholder:`۱۶ رقم`,maxlength:`16`,inputmode:`numeric`,dir:`ltr`,error:W.value.sayadId},null,8,[`modelValue`,`error`]),a(x,{modelValue:F.value,"onUpdate:modelValue":o[4]||=e=>F.value=e,label:`شماره چک`,inputmode:`numeric`,dir:`ltr`},null,8,[`modelValue`]),a(x,{modelValue:I.value,"onUpdate:modelValue":o[5]||=e=>I.value=e,label:`کد ملی صاحب چک`,maxlength:`10`,inputmode:`numeric`,dir:`ltr`,error:W.value.ownerNationalId},null,8,[`modelValue`,`error`]),a(x,{modelValue:L.value,"onUpdate:modelValue":o[6]||=e=>L.value=e,label:`نام صاحب چک`},null,8,[`modelValue`]),a(x,{modelValue:R.value,"onUpdate:modelValue":o[7]||=e=>R.value=e,label:`نام خانوادگی صاحب چک`},null,8,[`modelValue`]),a(x,{modelValue:z.value,"onUpdate:modelValue":o[8]||=e=>z.value=e,label:`نام بانک`},null,8,[`modelValue`]),a(x,{modelValue:B.value,"onUpdate:modelValue":o[9]||=e=>B.value=e,label:`نام شعبه`},null,8,[`modelValue`])],64)):s(``,!0),u(`div`,D,[o[17]||=u(`label`,{class:`form-label`},`تصویر روی چک *`,-1),u(`label`,{class:e([`upload-box`,{"upload-box--error":W.value.frontImage}])},[u(`input`,{type:`file`,accept:`image/*`,class:`upload-box__input`,onChange:o[10]||=e=>$(e,`front`)},null,32),V.value?(n(),c(`img`,{key:0,src:V.value,class:`upload-box__preview`,alt:`روی چک`},null,8,O)):(n(),c(`span`,k,`بارگذاری تصویر چک`))],2),W.value.frontImage?(n(),c(`p`,Te,r(W.value.frontImage),1)):s(``,!0)]),j.value?(n(),c(`div`,Ee,[o[18]||=u(`label`,{class:`form-label`},`تصویر پشت چک`,-1),u(`label`,De,[u(`input`,{type:`file`,accept:`image/*`,class:`upload-box__input`,onChange:o[11]||=e=>$(e,`back`)},null,32),H.value?(n(),c(`img`,{key:0,src:H.value,class:`upload-box__preview`,alt:`پشت چک`},null,8,Oe)):(n(),c(`span`,ke,`بارگذاری تصویر`))])])):s(``,!0),a(x,{modelValue:U.value,"onUpdate:modelValue":o[12]||=e=>U.value=e,label:`توضیحات`},null,8,[`modelValue`]),a(ce,{block:``,class:`mt-4`,onClick:Ne},{default:t(()=>[...o[19]||=[l(`ذخیره چک`,-1)]]),_:1})])])]))}}),[[`__scopeId`,`data-v-5976552f`]]);export{A as default}; \ No newline at end of file diff --git a/dist/assets/CheckListView-CV1AySXo.js b/dist/assets/CheckListView-Tts4g0Eq.js similarity index 98% rename from dist/assets/CheckListView-CV1AySXo.js rename to dist/assets/CheckListView-Tts4g0Eq.js index 69b7430..baed9cc 100644 --- a/dist/assets/CheckListView-CV1AySXo.js +++ b/dist/assets/CheckListView-Tts4g0Eq.js @@ -1 +1 @@ -import{At as e,F as t,G as n,M as r,Pt as i,U as ee,_ as a,c as o,d as s,f as c,g as l,i as u,l as d,nt as f,t as te,u as p,ut as m,v as h}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{d as g,n as ne,o as _,r as v}from"./format-C72AoJ2H.js";import{C as re,h as y,m as ie,n as ae,r as b,u as oe,w as se}from"./index-CgTrQFr5.js";import{t as x}from"./EmptyState-DYhkpGhZ.js";import{t as S}from"./IconChevronBack-DytWz6TD.js";import{t as ce}from"./FormErrorBanner-Ud1D04xf.js";import{t as le}from"./useRequirePricedOrder-BGX5w-aK.js";var C=Object.defineProperty,w=(e,t)=>{let n={};for(var r in e)C(n,r,{get:e[r],enumerable:!0});return t||C(n,Symbol.toStringTag,{value:`Module`}),n},ue={class:`check-list-page mobile-only`},de={class:`check-list-page__nav`},fe={type:`button`,class:`nav-btn nav-btn--ghost`,"aria-hidden":`true`,tabindex:`-1`},pe={key:0,class:`check-list-page__empty page__scroll page__scroll--with-nav`},me={class:`check-list-page__scroll page__scroll`},he={class:`summary-cards`},ge={class:`summary-card`},T={class:`summary-card__value`},E={class:`summary-card`},D={class:`summary-card__value`},O={key:0,class:`summary-card__status`},k={key:1,class:`summary-card__status summary-card__status--warn`},A={class:`summary-card__value`},j={key:0,class:`summary-card__hint`},M={class:`checks-list`},N={class:`check-card__menu-wrap`},P=[`onClick`],F={key:1,class:`check-card__menu`},I=[`onClick`],L={class:`check-card__body`},_e={class:`check-card__title`},ve={class:`check-card__amount`},ye={class:`check-card__date`},be={class:`check-card__thumb-wrap`},xe=[`src`],Se={key:1,class:`check-card__thumb check-card__thumb--empty`},Ce={class:`rass-panel`},we={class:`rass-panel__days`},Te={key:0,class:`rass-panel__date`},Ee={key:0,class:`check-list-page__footer`},De={key:0,class:`desktop-checkout-shell check-list-desktop desktop-only`},Oe={class:`desktop-two-col`},ke={class:`desktop-two-col__main`},Ae={class:`desktop-table-wrap`},je={class:`desktop-table-scroll`},Me={class:`desktop-table check-list-desktop__table`},Ne={key:0,scope:`col`},Pe=[`src`],Fe={key:1},Ie={class:`check-list-desktop__amount`},Le={key:0},Re=[`onClick`],ze={class:`desktop-summary-panel`},Be={class:`desktop-summary-panel__row`},Ve={class:`desktop-summary-panel__row`},He={class:`desktop-summary-panel__row`},Ue={key:0,class:`desktop-summary-panel__action`},We={key:1,class:`desktop-checkout-shell desktop-only`},R=h({__name:`CheckListView`,setup(te){let h=re(),C=se(),w=ie(),R=oe(),z=f(``),B=f(!1),V=o(()=>h.name===`check-list`),{orderId:H}=le(),U=o(()=>H.value?w.getOrderById(H.value):void 0);ee(H,async e=>{if(!e||!V.value)return;let t=w.getOrderById(e)??await w.fetchOrder(e);t&&(w.draftChecks.length===0&&(t.checks?.length??0)>0?w.loadChecksIntoDraft(t):w.draftOrderId!==e&&w.startCheckDraft(e,t.checkMode??void 0))},{immediate:!0});let W=o(()=>w.draftChecks.length>0?w.draftChecks:V.value?U.value?.checks??[]:R.user?w.userOrders(R.user.id).filter(e=>(e.settlementType===`check`||e.settlementType===`cash_check`)&&e.checks?.length).flatMap(e=>e.checks??[]):[]),G=o(()=>w.draftChecks.length>0?w.getDraftRass():y(W.value,new Date)),K=o(()=>U.value?.finalAmount??0),q=o(()=>Math.max(0,K.value-G.value.totalAmount)),J=o(()=>K.value>0&&G.value.totalAmount>=K.value),Y=o(()=>K.value>0&&G.value.totalAmount>K.value),X=o({get:()=>h.query.menu??``,set:e=>{C.replace({query:e?{menu:e}:{}})}});function Ge(){C.push(V.value?`/orders/${H.value}`:`/profile`)}function Z(){C.push(`/orders/${H.value}/check-form`)}async function Q(e){X.value=``,await ae({title:`حذف چک`,message:`آیا از حذف این چک مطمئن هستید؟`,confirmLabel:`حذف`,cancelLabel:`انصراف`,tone:`danger`})&&w.removeDraftCheck(e)}function Ke(e){X.value=X.value===e?``:e}async function $(){if(!(!H.value||w.draftChecks.length===0||B.value)){z.value=``,B.value=!0;try{await w.updateOrderChecks(H.value,[...w.draftChecks],w.draftCheckMode??`brief`),C.replace(`/orders/${H.value}?track=1`)}catch(e){z.value=e instanceof Error?e.message:`ثبت چکها ناموفق بود.`}finally{B.value=!1}}}return(ee,o)=>(r(),c(u,null,[d(`div`,ue,[d(`header`,de,[d(`button`,{type:`button`,class:`nav-btn`,"aria-label":`بازگشت`,onClick:Ge},[a(S,{size:20})]),o[1]||=d(`h1`,{class:`check-list-page__title`},`چکهای ثبت شده`,-1),d(`button`,fe,[a(S,{size:18,class:`nav-btn__flip`})])]),W.value.length===0?(r(),c(`div`,pe,[a(x,{variant:`checks`,message:`برای ادامه، حداقل یک چک ثبت کنید`},{default:n(()=>[V.value?(r(),p(b,{key:0,onClick:Z},{default:n(()=>[...o[2]||=[l(`ثبت چک جدید`,-1)]]),_:1})):(r(),p(b,{key:1,variant:`outline`,onClick:o[0]||=e=>m(C).push(`/categories`)},{default:n(()=>[...o[3]||=[l(`ثبت سفارش جدید`,-1)]]),_:1}))]),_:1})])):(r(),c(u,{key:1},[d(`div`,me,[a(ce,{message:z.value},null,8,[`message`]),d(`div`,he,[d(`div`,ge,[o[4]||=d(`span`,{class:`summary-card__label`},`مجموع مبلغ چکها`,-1),d(`strong`,T,i(m(_)(G.value.totalAmount)),1),o[5]||=d(`span`,{class:`summary-card__unit`},`تومان`,-1)]),d(`div`,E,[o[7]||=d(`span`,{class:`summary-card__label`},`مبلغ فاکتور`,-1),d(`strong`,D,i(m(_)(K.value)),1),o[8]||=d(`span`,{class:`summary-card__unit`},`تومان`,-1),J.value&&!Y.value?(r(),c(`p`,O,[...o[6]||=[d(`span`,{class:`summary-card__status-icon`},`✓`,-1),l(` مبلغ کامل است `,-1)]])):Y.value?(r(),c(`p`,k,` بیش از مبلغ فاکتور `)):s(``,!0)]),d(`div`,{class:e([`summary-card summary-card--remain`,{"summary-card--remain-ok":J.value&&!Y.value,"summary-card--remain-warn":Y.value}])},[o[9]||=d(`span`,{class:`summary-card__label`},`باقیمانده`,-1),d(`strong`,A,i(Y.value?m(_)(G.value.totalAmount-K.value):m(_)(q.value)),1),o[10]||=d(`span`,{class:`summary-card__unit`},`تومان`,-1),J.value?s(``,!0):(r(),c(`p`,j,` هنوز باید چک ثبت کنید `))],2)]),d(`div`,M,[(r(!0),c(u,null,t(W.value,(e,t)=>(r(),c(`article`,{key:e.id,class:`check-card`},[d(`div`,N,[V.value&&m(w).draftChecks.length>0?(r(),c(`button`,{key:0,type:`button`,class:`check-card__menu-btn`,"aria-label":`گزینهها`,onClick:t=>Ke(e.id)},` ⋮ `,8,P)):s(``,!0),X.value===e.id?(r(),c(`div`,F,[d(`button`,{type:`button`,onClick:t=>Q(e.id)},`حذف`,8,I)])):s(``,!0)]),d(`div`,L,[d(`h3`,_e,`چک `+i(m(g)(String(t+1))),1),d(`p`,ve,i(m(ne)(e.amount)),1),d(`p`,ye,`تاریخ: `+i(m(v)(e.dueDate)),1)]),d(`div`,be,[e.frontImage?(r(),c(`img`,{key:0,src:e.frontImage,class:`check-card__thumb`,alt:`تصویر چک`},null,8,xe)):(r(),c(`div`,Se,`چک`))])]))),128))]),d(`div`,Ce,[o[11]||=d(`h3`,{class:`rass-panel__title`},`رأس چکها`,-1),d(`div`,we,i(m(g)(String(G.value.rassDays)))+` روز`,1),G.value.rassDate?(r(),c(`p`,Te,` تاریخ رأس تقریبی: `+i(m(v)(G.value.rassDate)),1)):s(``,!0)])]),V.value&&m(w).draftChecks.length>0?(r(),c(`div`,Ee,[a(b,{block:``,variant:`outline`,disabled:B.value,onClick:Z},{default:n(()=>[...o[12]||=[l(` افزودن چک جدید `,-1)]]),_:1},8,[`disabled`]),a(b,{block:``,disabled:W.value.length===0,loading:B.value,onClick:$},{default:n(()=>[...o[13]||=[l(` ارسال برای بررسی `,-1)]]),_:1},8,[`disabled`,`loading`])])):s(``,!0)],64))]),W.value.length>0?(r(),c(`div`,De,[o[26]||=d(`header`,{class:`desktop-page__head`},[d(`h1`,{class:`desktop-page__title`},`چکهای ثبت شده`),d(`p`,{class:`desktop-page__subtitle`},`خلاصه و فهرست چکهای ثبتشده`)],-1),d(`div`,Oe,[d(`div`,ke,[d(`div`,Ae,[d(`div`,je,[d(`table`,Me,[d(`thead`,null,[d(`tr`,null,[o[14]||=d(`th`,{scope:`col`},`تصویر`,-1),o[15]||=d(`th`,{scope:`col`},`مبلغ (تومان)`,-1),o[16]||=d(`th`,{scope:`col`},`تاریخ سررسید`,-1),o[17]||=d(`th`,{scope:`col`},`شناسه`,-1),V.value?(r(),c(`th`,Ne,`عملیات`)):s(``,!0)])]),d(`tbody`,null,[(r(!0),c(u,null,t(W.value,(e,t)=>(r(),c(`tr`,{key:e.id},[d(`td`,null,[e.frontImage?(r(),c(`img`,{key:0,src:e.frontImage,class:`check-list-desktop__thumb`,alt:`تصویر چک`},null,8,Pe)):(r(),c(`span`,Fe,`—`))]),d(`td`,Ie,i(m(_)(e.amount)),1),d(`td`,null,i(m(v)(e.dueDate)),1),d(`td`,null,`چک `+i(m(g)(String(t+1))),1),V.value&&m(w).draftChecks.length>0?(r(),c(`td`,Le,[d(`button`,{type:`button`,class:`orders-table__action`,onClick:t=>Q(e.id)},` حذف `,8,Re)])):s(``,!0)]))),128))])])])]),V.value?(r(),p(b,{key:0,variant:`outline`,class:`desktop-btn-compact check-list-desktop__add`,onClick:Z},{default:n(()=>[...o[18]||=[l(` ثبت چک دیگر `,-1)]]),_:1})):s(``,!0)]),d(`aside`,ze,[o[25]||=d(`h2`,{class:`desktop-summary-panel__title`},`خلاصه مالی`,-1),d(`div`,Be,[o[19]||=d(`span`,null,`مجموع چکها`,-1),d(`strong`,null,i(m(_)(G.value.totalAmount))+` تومان`,1)]),d(`div`,Ve,[o[20]||=d(`span`,null,`مبلغ فاکتور`,-1),d(`strong`,null,i(m(_)(K.value))+` تومان`,1)]),d(`div`,{class:e([`desktop-summary-panel__row desktop-summary-panel__row--remain`,{"desktop-summary-panel__row--ok":J.value&&!Y.value,"desktop-summary-panel__row--warn":Y.value}])},[o[21]||=d(`span`,null,`باقیمانده`,-1),d(`strong`,null,i(Y.value?`${m(_)(G.value.totalAmount-K.value)} بیش از فاکتور`:J.value?`پوشش کامل`:`${m(_)(q.value)} تومان`),1)],2),d(`div`,He,[o[22]||=d(`span`,null,`رأس چکها`,-1),d(`strong`,null,i(m(g)(String(G.value.rassDays)))+` روز`,1)]),V.value&&m(w).draftChecks.length>0?(r(),c(`div`,Ue,[a(b,{block:``,variant:`outline`,disabled:B.value,onClick:Z},{default:n(()=>[...o[23]||=[l(` افزودن چک جدید `,-1)]]),_:1},8,[`disabled`]),a(b,{block:``,disabled:W.value.length===0,loading:B.value,onClick:$},{default:n(()=>[...o[24]||=[l(` ارسال برای بررسی `,-1)]]),_:1},8,[`disabled`,`loading`])])):s(``,!0)])])])):(r(),c(`div`,We,[a(x,{variant:`checks`,message:`برای ادامه، حداقل یک چک ثبت کنید`},{default:n(()=>[V.value?(r(),p(b,{key:0,onClick:Z},{default:n(()=>[...o[27]||=[l(`ثبت چک جدید`,-1)]]),_:1})):s(``,!0)]),_:1})]))],64))}}),z=w({default:()=>B}),B=te(R,[[`__scopeId`,`data-v-db4ee075`]]);export{z as n,B as t}; \ No newline at end of file +import{At as e,F as t,G as n,M as r,Pt as i,U as ee,_ as a,c as o,d as s,f as c,g as l,i as u,l as d,nt as f,t as te,u as p,ut as m,v as h}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{d as g,n as ne,o as _,r as v}from"./format-C72AoJ2H.js";import{C as re,h as y,m as ie,n as ae,r as b,u as oe,w as se}from"./index-CON313Q2.js";import{t as x}from"./EmptyState-DYhkpGhZ.js";import{t as S}from"./IconChevronBack-DytWz6TD.js";import{t as ce}from"./FormErrorBanner-Ud1D04xf.js";import{t as le}from"./useRequirePricedOrder-BCNEyr9h.js";var C=Object.defineProperty,w=(e,t)=>{let n={};for(var r in e)C(n,r,{get:e[r],enumerable:!0});return t||C(n,Symbol.toStringTag,{value:`Module`}),n},ue={class:`check-list-page mobile-only`},de={class:`check-list-page__nav`},fe={type:`button`,class:`nav-btn nav-btn--ghost`,"aria-hidden":`true`,tabindex:`-1`},pe={key:0,class:`check-list-page__empty page__scroll page__scroll--with-nav`},me={class:`check-list-page__scroll page__scroll`},he={class:`summary-cards`},ge={class:`summary-card`},T={class:`summary-card__value`},E={class:`summary-card`},D={class:`summary-card__value`},O={key:0,class:`summary-card__status`},k={key:1,class:`summary-card__status summary-card__status--warn`},A={class:`summary-card__value`},j={key:0,class:`summary-card__hint`},M={class:`checks-list`},N={class:`check-card__menu-wrap`},P=[`onClick`],F={key:1,class:`check-card__menu`},I=[`onClick`],L={class:`check-card__body`},_e={class:`check-card__title`},ve={class:`check-card__amount`},ye={class:`check-card__date`},be={class:`check-card__thumb-wrap`},xe=[`src`],Se={key:1,class:`check-card__thumb check-card__thumb--empty`},Ce={class:`rass-panel`},we={class:`rass-panel__days`},Te={key:0,class:`rass-panel__date`},Ee={key:0,class:`check-list-page__footer`},De={key:0,class:`desktop-checkout-shell check-list-desktop desktop-only`},Oe={class:`desktop-two-col`},ke={class:`desktop-two-col__main`},Ae={class:`desktop-table-wrap`},je={class:`desktop-table-scroll`},Me={class:`desktop-table check-list-desktop__table`},Ne={key:0,scope:`col`},Pe=[`src`],Fe={key:1},Ie={class:`check-list-desktop__amount`},Le={key:0},Re=[`onClick`],ze={class:`desktop-summary-panel`},Be={class:`desktop-summary-panel__row`},Ve={class:`desktop-summary-panel__row`},He={class:`desktop-summary-panel__row`},Ue={key:0,class:`desktop-summary-panel__action`},We={key:1,class:`desktop-checkout-shell desktop-only`},R=h({__name:`CheckListView`,setup(te){let h=re(),C=se(),w=ie(),R=oe(),z=f(``),B=f(!1),V=o(()=>h.name===`check-list`),{orderId:H}=le(),U=o(()=>H.value?w.getOrderById(H.value):void 0);ee(H,async e=>{if(!e||!V.value)return;let t=w.getOrderById(e)??await w.fetchOrder(e);t&&(w.draftChecks.length===0&&(t.checks?.length??0)>0?w.loadChecksIntoDraft(t):w.draftOrderId!==e&&w.startCheckDraft(e,t.checkMode??void 0))},{immediate:!0});let W=o(()=>w.draftChecks.length>0?w.draftChecks:V.value?U.value?.checks??[]:R.user?w.userOrders(R.user.id).filter(e=>(e.settlementType===`check`||e.settlementType===`cash_check`)&&e.checks?.length).flatMap(e=>e.checks??[]):[]),G=o(()=>w.draftChecks.length>0?w.getDraftRass():y(W.value,new Date)),K=o(()=>U.value?.finalAmount??0),q=o(()=>Math.max(0,K.value-G.value.totalAmount)),J=o(()=>K.value>0&&G.value.totalAmount>=K.value),Y=o(()=>K.value>0&&G.value.totalAmount>K.value),X=o({get:()=>h.query.menu??``,set:e=>{C.replace({query:e?{menu:e}:{}})}});function Ge(){C.push(V.value?`/orders/${H.value}`:`/profile`)}function Z(){C.push(`/orders/${H.value}/check-form`)}async function Q(e){X.value=``,await ae({title:`حذف چک`,message:`آیا از حذف این چک مطمئن هستید؟`,confirmLabel:`حذف`,cancelLabel:`انصراف`,tone:`danger`})&&w.removeDraftCheck(e)}function Ke(e){X.value=X.value===e?``:e}async function $(){if(!(!H.value||w.draftChecks.length===0||B.value)){z.value=``,B.value=!0;try{await w.updateOrderChecks(H.value,[...w.draftChecks],w.draftCheckMode??`brief`),C.replace(`/orders/${H.value}?track=1`)}catch(e){z.value=e instanceof Error?e.message:`ثبت چکها ناموفق بود.`}finally{B.value=!1}}}return(ee,o)=>(r(),c(u,null,[d(`div`,ue,[d(`header`,de,[d(`button`,{type:`button`,class:`nav-btn`,"aria-label":`بازگشت`,onClick:Ge},[a(S,{size:20})]),o[1]||=d(`h1`,{class:`check-list-page__title`},`چکهای ثبت شده`,-1),d(`button`,fe,[a(S,{size:18,class:`nav-btn__flip`})])]),W.value.length===0?(r(),c(`div`,pe,[a(x,{variant:`checks`,message:`برای ادامه، حداقل یک چک ثبت کنید`},{default:n(()=>[V.value?(r(),p(b,{key:0,onClick:Z},{default:n(()=>[...o[2]||=[l(`ثبت چک جدید`,-1)]]),_:1})):(r(),p(b,{key:1,variant:`outline`,onClick:o[0]||=e=>m(C).push(`/categories`)},{default:n(()=>[...o[3]||=[l(`ثبت سفارش جدید`,-1)]]),_:1}))]),_:1})])):(r(),c(u,{key:1},[d(`div`,me,[a(ce,{message:z.value},null,8,[`message`]),d(`div`,he,[d(`div`,ge,[o[4]||=d(`span`,{class:`summary-card__label`},`مجموع مبلغ چکها`,-1),d(`strong`,T,i(m(_)(G.value.totalAmount)),1),o[5]||=d(`span`,{class:`summary-card__unit`},`تومان`,-1)]),d(`div`,E,[o[7]||=d(`span`,{class:`summary-card__label`},`مبلغ فاکتور`,-1),d(`strong`,D,i(m(_)(K.value)),1),o[8]||=d(`span`,{class:`summary-card__unit`},`تومان`,-1),J.value&&!Y.value?(r(),c(`p`,O,[...o[6]||=[d(`span`,{class:`summary-card__status-icon`},`✓`,-1),l(` مبلغ کامل است `,-1)]])):Y.value?(r(),c(`p`,k,` بیش از مبلغ فاکتور `)):s(``,!0)]),d(`div`,{class:e([`summary-card summary-card--remain`,{"summary-card--remain-ok":J.value&&!Y.value,"summary-card--remain-warn":Y.value}])},[o[9]||=d(`span`,{class:`summary-card__label`},`باقیمانده`,-1),d(`strong`,A,i(Y.value?m(_)(G.value.totalAmount-K.value):m(_)(q.value)),1),o[10]||=d(`span`,{class:`summary-card__unit`},`تومان`,-1),J.value?s(``,!0):(r(),c(`p`,j,` هنوز باید چک ثبت کنید `))],2)]),d(`div`,M,[(r(!0),c(u,null,t(W.value,(e,t)=>(r(),c(`article`,{key:e.id,class:`check-card`},[d(`div`,N,[V.value&&m(w).draftChecks.length>0?(r(),c(`button`,{key:0,type:`button`,class:`check-card__menu-btn`,"aria-label":`گزینهها`,onClick:t=>Ke(e.id)},` ⋮ `,8,P)):s(``,!0),X.value===e.id?(r(),c(`div`,F,[d(`button`,{type:`button`,onClick:t=>Q(e.id)},`حذف`,8,I)])):s(``,!0)]),d(`div`,L,[d(`h3`,_e,`چک `+i(m(g)(String(t+1))),1),d(`p`,ve,i(m(ne)(e.amount)),1),d(`p`,ye,`تاریخ: `+i(m(v)(e.dueDate)),1)]),d(`div`,be,[e.frontImage?(r(),c(`img`,{key:0,src:e.frontImage,class:`check-card__thumb`,alt:`تصویر چک`},null,8,xe)):(r(),c(`div`,Se,`چک`))])]))),128))]),d(`div`,Ce,[o[11]||=d(`h3`,{class:`rass-panel__title`},`رأس چکها`,-1),d(`div`,we,i(m(g)(String(G.value.rassDays)))+` روز`,1),G.value.rassDate?(r(),c(`p`,Te,` تاریخ رأس تقریبی: `+i(m(v)(G.value.rassDate)),1)):s(``,!0)])]),V.value&&m(w).draftChecks.length>0?(r(),c(`div`,Ee,[a(b,{block:``,variant:`outline`,disabled:B.value,onClick:Z},{default:n(()=>[...o[12]||=[l(` افزودن چک جدید `,-1)]]),_:1},8,[`disabled`]),a(b,{block:``,disabled:W.value.length===0,loading:B.value,onClick:$},{default:n(()=>[...o[13]||=[l(` ارسال برای بررسی `,-1)]]),_:1},8,[`disabled`,`loading`])])):s(``,!0)],64))]),W.value.length>0?(r(),c(`div`,De,[o[26]||=d(`header`,{class:`desktop-page__head`},[d(`h1`,{class:`desktop-page__title`},`چکهای ثبت شده`),d(`p`,{class:`desktop-page__subtitle`},`خلاصه و فهرست چکهای ثبتشده`)],-1),d(`div`,Oe,[d(`div`,ke,[d(`div`,Ae,[d(`div`,je,[d(`table`,Me,[d(`thead`,null,[d(`tr`,null,[o[14]||=d(`th`,{scope:`col`},`تصویر`,-1),o[15]||=d(`th`,{scope:`col`},`مبلغ (تومان)`,-1),o[16]||=d(`th`,{scope:`col`},`تاریخ سررسید`,-1),o[17]||=d(`th`,{scope:`col`},`شناسه`,-1),V.value?(r(),c(`th`,Ne,`عملیات`)):s(``,!0)])]),d(`tbody`,null,[(r(!0),c(u,null,t(W.value,(e,t)=>(r(),c(`tr`,{key:e.id},[d(`td`,null,[e.frontImage?(r(),c(`img`,{key:0,src:e.frontImage,class:`check-list-desktop__thumb`,alt:`تصویر چک`},null,8,Pe)):(r(),c(`span`,Fe,`—`))]),d(`td`,Ie,i(m(_)(e.amount)),1),d(`td`,null,i(m(v)(e.dueDate)),1),d(`td`,null,`چک `+i(m(g)(String(t+1))),1),V.value&&m(w).draftChecks.length>0?(r(),c(`td`,Le,[d(`button`,{type:`button`,class:`orders-table__action`,onClick:t=>Q(e.id)},` حذف `,8,Re)])):s(``,!0)]))),128))])])])]),V.value?(r(),p(b,{key:0,variant:`outline`,class:`desktop-btn-compact check-list-desktop__add`,onClick:Z},{default:n(()=>[...o[18]||=[l(` ثبت چک دیگر `,-1)]]),_:1})):s(``,!0)]),d(`aside`,ze,[o[25]||=d(`h2`,{class:`desktop-summary-panel__title`},`خلاصه مالی`,-1),d(`div`,Be,[o[19]||=d(`span`,null,`مجموع چکها`,-1),d(`strong`,null,i(m(_)(G.value.totalAmount))+` تومان`,1)]),d(`div`,Ve,[o[20]||=d(`span`,null,`مبلغ فاکتور`,-1),d(`strong`,null,i(m(_)(K.value))+` تومان`,1)]),d(`div`,{class:e([`desktop-summary-panel__row desktop-summary-panel__row--remain`,{"desktop-summary-panel__row--ok":J.value&&!Y.value,"desktop-summary-panel__row--warn":Y.value}])},[o[21]||=d(`span`,null,`باقیمانده`,-1),d(`strong`,null,i(Y.value?`${m(_)(G.value.totalAmount-K.value)} بیش از فاکتور`:J.value?`پوشش کامل`:`${m(_)(q.value)} تومان`),1)],2),d(`div`,He,[o[22]||=d(`span`,null,`رأس چکها`,-1),d(`strong`,null,i(m(g)(String(G.value.rassDays)))+` روز`,1)]),V.value&&m(w).draftChecks.length>0?(r(),c(`div`,Ue,[a(b,{block:``,variant:`outline`,disabled:B.value,onClick:Z},{default:n(()=>[...o[23]||=[l(` افزودن چک جدید `,-1)]]),_:1},8,[`disabled`]),a(b,{block:``,disabled:W.value.length===0,loading:B.value,onClick:$},{default:n(()=>[...o[24]||=[l(` ارسال برای بررسی `,-1)]]),_:1},8,[`disabled`,`loading`])])):s(``,!0)])])])):(r(),c(`div`,We,[a(x,{variant:`checks`,message:`برای ادامه، حداقل یک چک ثبت کنید`},{default:n(()=>[V.value?(r(),p(b,{key:0,onClick:Z},{default:n(()=>[...o[27]||=[l(`ثبت چک جدید`,-1)]]),_:1})):s(``,!0)]),_:1})]))],64))}}),z=w({default:()=>B}),B=te(R,[[`__scopeId`,`data-v-db4ee075`]]);export{z as n,B as t}; \ No newline at end of file diff --git a/dist/assets/CheckModeSelectView-B7xx_Z1Q.js b/dist/assets/CheckModeSelectView-DP2Wx-W3.js similarity index 90% rename from dist/assets/CheckModeSelectView-B7xx_Z1Q.js rename to dist/assets/CheckModeSelectView-DP2Wx-W3.js index 6ea85e8..0a849fe 100644 --- a/dist/assets/CheckModeSelectView-B7xx_Z1Q.js +++ b/dist/assets/CheckModeSelectView-DP2Wx-W3.js @@ -1 +1 @@ -import{M as e,Pt as t,U as n,_ as r,c as i,f as a,l as o,t as s,ut as c,v as l}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{n as u}from"./format-C72AoJ2H.js";import{t as d}from"./IconCheckBook-ZRtkiJkL.js";import{m as f,w as p}from"./index-CgTrQFr5.js";import{t as m}from"./PageHeader-fQXEgnJ0.js";import{t as h}from"./useRequirePricedOrder-BGX5w-aK.js";import{t as g}from"./IconEditPen-Dwk_zEXe.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=s(l({__name:`CheckModeSelectView`,setup(s){let l=p(),w=f(),{orderId:T,order:E}=h(),D=i(()=>E.value?.finalAmount?u(E.value.finalAmount):`—`);n(T,async e=>{e&&(w.getOrderById(e)||await w.fetchOrder(e),w.draftOrderId!==e&&w.startCheckDraft(e))},{immediate:!0});function O(e){w.setCheckMode(e),l.push(`/orders/${T.value}/check-form`)}return(n,i)=>(e(),a(`div`,_,[r(m,{title:`تسویه چکی`,subtitle:`بر اساس مبلغ فاکتور، نحوه ثبت چک را انتخاب کنید`,"show-back":``,centered:``,onBack:i[0]||=e=>c(l).push(`/orders/${c(T)}`)}),o(`div`,v,[o(`div`,y,[i[3]||=o(`span`,{class:`check-mode-invoice__label`},`مبلغ فاکتور`,-1),o(`strong`,b,t(D.value),1)]),o(`div`,x,[o(`button`,{type:`button`,class:`mode-card`,onClick:i[1]||=e=>O(`full`)},[o(`span`,S,[r(d,{size:36})]),i[4]||=o(`h3`,{class:`mode-card__title`},`ثبت کامل (پیشنهادی)`,-1),i[5]||=o(`p`,{class:`mode-card__desc`},`وارد کردن همه اطلاعات چک`,-1)]),o(`button`,{type:`button`,class:`mode-card`,onClick:i[2]||=e=>O(`brief`)},[o(`span`,C,[r(g,{size:36})]),i[6]||=o(`h3`,{class:`mode-card__title`},`ثبت مختصر`,-1),i[7]||=o(`p`,{class:`mode-card__desc`},`وارد کردن حداقل اطلاعات`,-1)])])])]))}}),[[`__scopeId`,`data-v-680065b0`]]);export{w as default}; \ No newline at end of file +import{M as e,Pt as t,U as n,_ as r,c as i,f as a,l as o,t as s,ut as c,v as l}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{n as u}from"./format-C72AoJ2H.js";import{t as d}from"./IconCheckBook-ZRtkiJkL.js";import{m as f,w as p}from"./index-CON313Q2.js";import{t as m}from"./PageHeader-juIsDT9M.js";import{t as h}from"./useRequirePricedOrder-BCNEyr9h.js";import{t as g}from"./IconEditPen-Dwk_zEXe.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=s(l({__name:`CheckModeSelectView`,setup(s){let l=p(),w=f(),{orderId:T,order:E}=h(),D=i(()=>E.value?.finalAmount?u(E.value.finalAmount):`—`);n(T,async e=>{e&&(w.getOrderById(e)||await w.fetchOrder(e),w.draftOrderId!==e&&w.startCheckDraft(e))},{immediate:!0});function O(e){w.setCheckMode(e),l.push(`/orders/${T.value}/check-form`)}return(n,i)=>(e(),a(`div`,_,[r(m,{title:`تسویه چکی`,subtitle:`بر اساس مبلغ فاکتور، نحوه ثبت چک را انتخاب کنید`,"show-back":``,centered:``,onBack:i[0]||=e=>c(l).push(`/orders/${c(T)}`)}),o(`div`,v,[o(`div`,y,[i[3]||=o(`span`,{class:`check-mode-invoice__label`},`مبلغ فاکتور`,-1),o(`strong`,b,t(D.value),1)]),o(`div`,x,[o(`button`,{type:`button`,class:`mode-card`,onClick:i[1]||=e=>O(`full`)},[o(`span`,S,[r(d,{size:36})]),i[4]||=o(`h3`,{class:`mode-card__title`},`ثبت کامل (پیشنهادی)`,-1),i[5]||=o(`p`,{class:`mode-card__desc`},`وارد کردن همه اطلاعات چک`,-1)]),o(`button`,{type:`button`,class:`mode-card`,onClick:i[2]||=e=>O(`brief`)},[o(`span`,C,[r(g,{size:36})]),i[6]||=o(`h3`,{class:`mode-card__title`},`ثبت مختصر`,-1),i[7]||=o(`p`,{class:`mode-card__desc`},`وارد کردن حداقل اطلاعات`,-1)])])])]))}}),[[`__scopeId`,`data-v-680065b0`]]);export{w as default}; \ No newline at end of file diff --git a/dist/assets/CustomerCreateOverlay-Ber9qxbU.js b/dist/assets/CustomerCreateOverlay-CShFVCz6.js similarity index 97% rename from dist/assets/CustomerCreateOverlay-Ber9qxbU.js rename to dist/assets/CustomerCreateOverlay-CShFVCz6.js index 2674efd..0abff03 100644 --- a/dist/assets/CustomerCreateOverlay-Ber9qxbU.js +++ b/dist/assets/CustomerCreateOverlay-CShFVCz6.js @@ -1 +1 @@ -import{D as e,G as t,M as n,Pt as r,U as i,_ as a,c as o,d as s,f as c,g as l,l as u,nt as d,o as f,t as p,u as m,v as h}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{n as g,u as _}from"./BasicIcon-ba1FsUKx.js";import{l as v}from"./format-C72AoJ2H.js";import{a as y}from"./validation-Duyyve7l.js";import{t as b}from"./http-CU_N-R2R.js";import{r as x,u as S}from"./index-CgTrQFr5.js";import{t as C}from"./FormErrorBanner-Ud1D04xf.js";import{n as w,r as T,t as E}from"./formErrors-DglFjYkZ.js";import{t as D}from"./crm-CgnSby61.js";import{t as O}from"./BaseInput-CpE3bVJZ.js";var k={class:`customer-create-form`},A={key:0,class:`customer-create-form__intro`},j={class:`customer-create-form__fields`},M=p(h({__name:`CustomerCreateForm`,props:{customerId:{},initial:{}},emits:[`success`],setup(e,{expose:o,emit:f}){let p=e,m=f,h=S(),g=D(),_=d(``),M=d(``),N=d(``),P=d(``),F=d({}),I=d(``),L=d(!1),R=()=>!!p.customerId;function z(e){_.value=e?.firstName??``,M.value=e?.lastName??``,N.value=e?.phone??``,P.value=e?.businessName??``,F.value={},I.value=``}i(()=>p.initial,e=>z(e),{immediate:!0});function B(e){F.value=w(F.value,e),T(F.value)||(I.value=``)}async function V(){if(F.value={},I.value=``,!h.isAgent){I.value=`فقط واسطه میتواند مشتری به لیست خود اضافه کند.`;return}let e=v(N.value),t={};if(_.value.trim()||(t.firstName=`نام الزامی است.`),M.value.trim()||(t.lastName=`نام خانوادگی الزامی است.`),y(e)||(t.phone=`شماره موبایل معتبر نیست.`),T(t)){F.value=t,I.value=E;return}let n={firstName:_.value.trim(),lastName:M.value.trim(),phone:e,businessName:P.value.trim()||void 0};L.value=!0;try{if(R()&&p.customerId){let e=await g.updateCustomer(p.customerId,n);m(`success`,e?.id??p.customerId);return}let e=await g.registerCustomer(n);m(`success`,e?.id)}catch(e){I.value=e instanceof b||e instanceof Error?e.message:R()?`ویرایش مشتری ناموفق بود.`:`ثبت مشتری ناموفق بود.`}finally{L.value=!1}}return o({submit:V,saving:L}),(e,i)=>(n(),c(`div`,k,[R()?s(``,!0):(n(),c(`p`,A,` مشتری به لیست شما اضافه میشود و بعد از ورود با همین شماره، سفارشهایش به حساب شما وصل میماند. `)),a(C,{message:I.value},null,8,[`message`]),u(`div`,j,[a(O,{modelValue:_.value,"onUpdate:modelValue":[i[0]||=e=>_.value=e,i[1]||=e=>B(`firstName`)],label:`نام`,placeholder:`نام مشتری`,error:F.value.firstName},null,8,[`modelValue`,`error`]),a(O,{modelValue:M.value,"onUpdate:modelValue":[i[2]||=e=>M.value=e,i[3]||=e=>B(`lastName`)],label:`نام خانوادگی`,placeholder:`نام خانوادگی`,error:F.value.lastName},null,8,[`modelValue`,`error`]),a(O,{modelValue:N.value,"onUpdate:modelValue":[i[4]||=e=>N.value=e,i[5]||=e=>B(`phone`)],label:`شماره موبایل`,type:`tel`,inputmode:`tel`,dir:`ltr`,placeholder:`۰۹۱۲۳۴۵۶۷۸۹`,error:F.value.phone},null,8,[`modelValue`,`error`]),a(O,{modelValue:P.value,"onUpdate:modelValue":i[6]||=e=>P.value=e,label:`نام فروشگاه (اختیاری)`,placeholder:`مثلاً بوتیک رز`},null,8,[`modelValue`])]),a(x,{block:``,loading:L.value,disabled:L.value,onClick:V},{default:t(()=>[l(r(R()?`ثبت تغییرات`:`ثبت مشتری`),1)]),_:1},8,[`loading`,`disabled`])]))}}),[[`__scopeId`,`data-v-ec8ddbc3`]]),N={class:`customer-create-sheet`},P={class:`customer-create-sheet__head`},F={id:`customer-create-title`},I=p(h({__name:`CustomerCreateOverlay`,props:{open:{type:Boolean},customerId:{},initial:{},title:{}},emits:[`close`,`success`],setup(l,{emit:d}){let p=l,h=o(()=>p.title??(p.customerId?`ویرایش مشتری`:`افزودن مشتری`)),v=d;function y(){v(`close`)}function b(e){v(`success`,e)}function x(e){e.key===`Escape`&&p.open&&y()}return i(()=>p.open,e=>{document.body.style.overflow=e?`hidden`:``,e?window.addEventListener(`keydown`,x):window.removeEventListener(`keydown`,x)},{immediate:!0}),e(()=>{document.body.style.overflow=``,window.removeEventListener(`keydown`,x)}),(e,i)=>(n(),m(f,{to:`body`},[a(g,{name:`customer-create-sheet`},{default:t(()=>[l.open?(n(),c(`div`,{key:0,class:`customer-create-overlay`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`customer-create-title`,onClick:_(y,[`self`])},[u(`div`,N,[i[0]||=u(`div`,{class:`customer-create-sheet__handle`,"aria-hidden":`true`},null,-1),u(`header`,P,[u(`h2`,F,r(h.value),1),u(`button`,{type:`button`,class:`customer-create-sheet__close`,"aria-label":`بستن`,onClick:y},` × `)]),a(M,{"customer-id":l.customerId,initial:l.initial,onSuccess:b},null,8,[`customer-id`,`initial`])])])):s(``,!0)]),_:1})]))}}),[[`__scopeId`,`data-v-ac91feb8`]]);export{I as t}; \ No newline at end of file +import{D as e,G as t,M as n,Pt as r,U as i,_ as a,c as o,d as s,f as c,g as l,l as u,nt as d,o as f,t as p,u as m,v as h}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{n as g,u as _}from"./BasicIcon-ba1FsUKx.js";import{l as v}from"./format-C72AoJ2H.js";import{a as y}from"./validation-Duyyve7l.js";import{t as b}from"./http-CU_N-R2R.js";import{r as x,u as S}from"./index-CON313Q2.js";import{t as C}from"./FormErrorBanner-Ud1D04xf.js";import{n as w,r as T,t as E}from"./formErrors-DglFjYkZ.js";import{t as D}from"./crm-CgnSby61.js";import{t as O}from"./BaseInput-CpE3bVJZ.js";var k={class:`customer-create-form`},A={key:0,class:`customer-create-form__intro`},j={class:`customer-create-form__fields`},M=p(h({__name:`CustomerCreateForm`,props:{customerId:{},initial:{}},emits:[`success`],setup(e,{expose:o,emit:f}){let p=e,m=f,h=S(),g=D(),_=d(``),M=d(``),N=d(``),P=d(``),F=d({}),I=d(``),L=d(!1),R=()=>!!p.customerId;function z(e){_.value=e?.firstName??``,M.value=e?.lastName??``,N.value=e?.phone??``,P.value=e?.businessName??``,F.value={},I.value=``}i(()=>p.initial,e=>z(e),{immediate:!0});function B(e){F.value=w(F.value,e),T(F.value)||(I.value=``)}async function V(){if(F.value={},I.value=``,!h.isAgent){I.value=`فقط واسطه میتواند مشتری به لیست خود اضافه کند.`;return}let e=v(N.value),t={};if(_.value.trim()||(t.firstName=`نام الزامی است.`),M.value.trim()||(t.lastName=`نام خانوادگی الزامی است.`),y(e)||(t.phone=`شماره موبایل معتبر نیست.`),T(t)){F.value=t,I.value=E;return}let n={firstName:_.value.trim(),lastName:M.value.trim(),phone:e,businessName:P.value.trim()||void 0};L.value=!0;try{if(R()&&p.customerId){let e=await g.updateCustomer(p.customerId,n);m(`success`,e?.id??p.customerId);return}let e=await g.registerCustomer(n);m(`success`,e?.id)}catch(e){I.value=e instanceof b||e instanceof Error?e.message:R()?`ویرایش مشتری ناموفق بود.`:`ثبت مشتری ناموفق بود.`}finally{L.value=!1}}return o({submit:V,saving:L}),(e,i)=>(n(),c(`div`,k,[R()?s(``,!0):(n(),c(`p`,A,` مشتری به لیست شما اضافه میشود و بعد از ورود با همین شماره، سفارشهایش به حساب شما وصل میماند. `)),a(C,{message:I.value},null,8,[`message`]),u(`div`,j,[a(O,{modelValue:_.value,"onUpdate:modelValue":[i[0]||=e=>_.value=e,i[1]||=e=>B(`firstName`)],label:`نام`,placeholder:`نام مشتری`,error:F.value.firstName},null,8,[`modelValue`,`error`]),a(O,{modelValue:M.value,"onUpdate:modelValue":[i[2]||=e=>M.value=e,i[3]||=e=>B(`lastName`)],label:`نام خانوادگی`,placeholder:`نام خانوادگی`,error:F.value.lastName},null,8,[`modelValue`,`error`]),a(O,{modelValue:N.value,"onUpdate:modelValue":[i[4]||=e=>N.value=e,i[5]||=e=>B(`phone`)],label:`شماره موبایل`,type:`tel`,inputmode:`tel`,dir:`ltr`,placeholder:`۰۹۱۲۳۴۵۶۷۸۹`,error:F.value.phone},null,8,[`modelValue`,`error`]),a(O,{modelValue:P.value,"onUpdate:modelValue":i[6]||=e=>P.value=e,label:`نام فروشگاه (اختیاری)`,placeholder:`مثلاً بوتیک رز`},null,8,[`modelValue`])]),a(x,{block:``,loading:L.value,disabled:L.value,onClick:V},{default:t(()=>[l(r(R()?`ثبت تغییرات`:`ثبت مشتری`),1)]),_:1},8,[`loading`,`disabled`])]))}}),[[`__scopeId`,`data-v-ec8ddbc3`]]),N={class:`customer-create-sheet`},P={class:`customer-create-sheet__head`},F={id:`customer-create-title`},I=p(h({__name:`CustomerCreateOverlay`,props:{open:{type:Boolean},customerId:{},initial:{},title:{}},emits:[`close`,`success`],setup(l,{emit:d}){let p=l,h=o(()=>p.title??(p.customerId?`ویرایش مشتری`:`افزودن مشتری`)),v=d;function y(){v(`close`)}function b(e){v(`success`,e)}function x(e){e.key===`Escape`&&p.open&&y()}return i(()=>p.open,e=>{document.body.style.overflow=e?`hidden`:``,e?window.addEventListener(`keydown`,x):window.removeEventListener(`keydown`,x)},{immediate:!0}),e(()=>{document.body.style.overflow=``,window.removeEventListener(`keydown`,x)}),(e,i)=>(n(),m(f,{to:`body`},[a(g,{name:`customer-create-sheet`},{default:t(()=>[l.open?(n(),c(`div`,{key:0,class:`customer-create-overlay`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`customer-create-title`,onClick:_(y,[`self`])},[u(`div`,N,[i[0]||=u(`div`,{class:`customer-create-sheet__handle`,"aria-hidden":`true`},null,-1),u(`header`,P,[u(`h2`,F,r(h.value),1),u(`button`,{type:`button`,class:`customer-create-sheet__close`,"aria-label":`بستن`,onClick:y},` × `)]),a(M,{"customer-id":l.customerId,initial:l.initial,onSuccess:b},null,8,[`customer-id`,`initial`])])])):s(``,!0)]),_:1})]))}}),[[`__scopeId`,`data-v-ac91feb8`]]);export{I as t}; \ No newline at end of file diff --git a/dist/assets/CustomerDetailView-CclZK_5v.js b/dist/assets/CustomerDetailView-BrsmxEdR.js similarity index 98% rename from dist/assets/CustomerDetailView-CclZK_5v.js rename to dist/assets/CustomerDetailView-BrsmxEdR.js index 8eed4e2..743a85e 100644 --- a/dist/assets/CustomerDetailView-CclZK_5v.js +++ b/dist/assets/CustomerDetailView-BrsmxEdR.js @@ -1 +1 @@ -import{At as e,D as t,F as n,G as r,K as i,M as a,Nt as o,Pt as s,U as c,_ as l,c as u,d,f,g as p,i as m,k as h,l as g,m as _,nt as v,o as y,t as b,u as x,ut as S,v as C}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{l as w,n as T,s as E,u as D}from"./BasicIcon-ba1FsUKx.js";import{o as O}from"./format-C72AoJ2H.js";import{t as k}from"./IconCart-f4izyxj_.js";import{C as A,a as j,c as M,i as N,u as P,w as F}from"./index-CgTrQFr5.js";import{i as I,t as ee}from"./constants-ptWoEwwP.js";import{t as te}from"./IconClipboardEmpty-D1_4Fy0M.js";import{t as L}from"./PageHeader-fQXEgnJ0.js";import{t as ne}from"./PageSkeleton-DYdjm4l9.js";import{t as re}from"./crm-CgnSby61.js";import{t as R}from"./PersianDateInput-Dh05So9z.js";import{t as z}from"./IconEditPen-Dwk_zEXe.js";import{t as B}from"./TimeInput-BplLSUlw.js";import{t as V}from"./CustomerCreateOverlay-Ber9qxbU.js";var H={class:`meeting-report-form`},U={key:1,class:`form-error`},W={class:`customer-card`},G={dir:`ltr`},K={class:`type-grid`},ie=[`onClick`],q={class:`two-cols two-cols--date`},J={class:`field`},ae={class:`field`},Y={class:`reminder-box`},oe={class:`reminder-box__head`},X=[`aria-pressed`],Z={class:`field`},se={class:`two-cols two-cols--date`},ce={class:`field`},le=[`disabled`],Q=b(C({__name:`MeetingReportForm`,props:{customerId:{}},emits:[`success`],setup(t,{emit:r}){let u=t,p=r,_=re(),y=v(null),b=v(!0),S=v(!1),C=v(null),w=v(`in_person`),T=v(``),D=v(``),O=v(``),k=v(``),A=v(!0),M=v(``),P=v(``),F=v(``),I=v(``),ee=[{id:`in_person`,label:`ملاقات حضوری`,icon:`clipboard`},{id:`call`,label:`تماس تلفنی`,icon:`phone`},{id:`message`,label:`پیام`,icon:`mail`},{id:`note`,label:`یادداشت`,icon:`pen`}];async function L(){if(!u.customerId){b.value=!1,C.value=`مشتری مشخص نشده است.`,y.value=null;return}b.value=!0,C.value=null;try{let e=await _.loadCustomerDetail(u.customerId);y.value=e.customer}catch(e){y.value=null,C.value=e instanceof Error?e.message:`بارگذاری مشتری ناموفق بود.`}finally{b.value=!1}}h(L),c(()=>u.customerId,L);async function V(){if(!u.customerId||!O.value.trim()||!T.value.trim()){C.value=`موضوع و تاریخ الزامی است.`;return}S.value=!0,C.value=null;try{await _.submitMeeting({customerId:u.customerId,type:w.value,title:O.value.trim(),subject:O.value.trim(),content:k.value.trim()||void 0,description:k.value.trim()||void 0,date:T.value.trim(),time:D.value.trim()||void 0,createReminder:A.value,reminderTitle:A.value?M.value.trim()||O.value.trim():void 0,reminderDate:A.value?P.value.trim()||T.value.trim():void 0,reminderTime:A.value?F.value.trim()||D.value.trim()||`10:00`:void 0,reminderNote:A.value&&I.value.trim()||void 0}),p(`success`)}catch(e){C.value=e instanceof Error?e.message:`ثبت گزارش ناموفق بود.`}finally{S.value=!1}}return(t,r)=>(a(),f(`div`,H,[b.value?(a(),x(ne,{key:0,variant:`form`})):C.value?(a(),f(`p`,U,s(C.value),1)):d(``,!0),y.value?(a(),f(m,{key:2},[g(`section`,W,[g(`div`,{class:`avatar`,style:o({background:y.value.avatarColor})},s(y.value.avatarLetter),5),g(`div`,null,[g(`strong`,null,s(y.value.name),1),g(`p`,null,s(y.value.contactName),1),g(`p`,G,s(y.value.phone),1)])]),g(`section`,null,[r[9]||=g(`h3`,null,`نوع تعامل`,-1),g(`div`,K,[(a(),f(m,null,n(ee,t=>g(`button`,{key:t.id,type:`button`,class:e([`type-btn`,{"type-btn--active":w.value===t.id}]),onClick:e=>w.value=t.id},[t.icon===`clipboard`?(a(),x(te,{key:0,size:22})):t.icon===`phone`?(a(),x(j,{key:1,size:22})):t.icon===`mail`?(a(),x(N,{key:2,size:22})):(a(),x(z,{key:3,size:22})),g(`span`,null,s(t.label),1)],10,ie)),64))])]),g(`section`,null,[r[10]||=g(`h3`,null,`تاریخ و زمان`,-1),g(`div`,q,[l(R,{modelValue:T.value,"onUpdate:modelValue":r[0]||=e=>T.value=e,label:`تاریخ`,class:`meeting-date`},null,8,[`modelValue`]),l(B,{modelValue:D.value,"onUpdate:modelValue":r[1]||=e=>D.value=e,label:`ساعت`,placeholder:`مثلاً ۱۰:۳۰`,class:`meeting-time`},null,8,[`modelValue`])])]),g(`label`,J,[r[11]||=g(`span`,null,`موضوع گزارش`,-1),i(g(`input`,{"onUpdate:modelValue":r[2]||=e=>O.value=e,type:`text`},null,512),[[E,O.value]])]),g(`label`,ae,[r[12]||=g(`span`,null,`محتوای گزارش`,-1),i(g(`textarea`,{"onUpdate:modelValue":r[3]||=e=>k.value=e,rows:`5`,maxlength:`1000`},null,512),[[E,k.value]]),g(`em`,null,s(k.value.length.toLocaleString(`fa-IR`))+`/۱۰۰۰`,1)]),r[17]||=g(`section`,null,[g(`h3`,null,`تصاویر و فایلها`),g(`div`,{class:`files`},[g(`div`,{class:`file-thumb`}),g(`div`,{class:`file-thumb`}),g(`button`,{type:`button`,class:`file-add`,"aria-label":`افزودن فایل`},`+`)])],-1),g(`section`,Y,[g(`div`,oe,[r[14]||=g(`h3`,null,`یادآور`,-1),g(`button`,{type:`button`,class:e([`toggle`,{"toggle--on":A.value}]),"aria-pressed":A.value,onClick:r[4]||=e=>A.value=!A.value},[...r[13]||=[g(`span`,null,null,-1)]],10,X)]),A.value?(a(),f(m,{key:0},[g(`label`,Z,[r[15]||=g(`span`,null,`عنوان یادآور`,-1),i(g(`input`,{"onUpdate:modelValue":r[5]||=e=>M.value=e,type:`text`},null,512),[[E,M.value]])]),g(`div`,se,[l(R,{modelValue:P.value,"onUpdate:modelValue":r[6]||=e=>P.value=e,label:`تاریخ یادآور`,class:`meeting-date`},null,8,[`modelValue`]),l(B,{modelValue:F.value,"onUpdate:modelValue":r[7]||=e=>F.value=e,label:`ساعت یادآور`,placeholder:`مثلاً ۱۰:۳۰`,class:`meeting-time`},null,8,[`modelValue`])]),g(`label`,ce,[r[16]||=g(`span`,null,`یادداشت یادآور (اختیاری)`,-1),i(g(`input`,{"onUpdate:modelValue":r[8]||=e=>I.value=e,type:`text`},null,512),[[E,I.value]])])],64)):d(``,!0)]),g(`button`,{type:`button`,class:`submit`,disabled:S.value,onClick:V},s(S.value?`در حال ثبت...`:`ثبت گزارش و یادآور`),9,le)],64)):d(``,!0)]))}}),[[`__scopeId`,`data-v-5d6dd8b7`]]),ue={class:`meeting-report-sheet`},de=b(C({__name:`MeetingReportOverlay`,props:{open:{type:Boolean},customerId:{}},emits:[`close`,`success`],setup(e,{emit:n}){let i=e,o=n;function s(){o(`close`)}function u(){o(`success`)}function p(e){e.key===`Escape`&&i.open&&s()}return c(()=>i.open,e=>{document.body.style.overflow=e?`hidden`:``,e?window.addEventListener(`keydown`,p):window.removeEventListener(`keydown`,p)},{immediate:!0}),t(()=>{document.body.style.overflow=``,window.removeEventListener(`keydown`,p)}),(t,n)=>(a(),x(y,{to:`body`},[l(T,{name:`meeting-report-sheet`},{default:r(()=>[e.open?(a(),f(`div`,{key:0,class:`meeting-report-overlay`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`meeting-report-title`,onClick:D(s,[`self`])},[g(`div`,ue,[n[1]||=g(`div`,{class:`meeting-report-sheet__handle`,"aria-hidden":`true`},null,-1),g(`header`,{class:`meeting-report-sheet__head`},[n[0]||=g(`h2`,{id:`meeting-report-title`},`ثبت گزارش ملاقات`,-1),g(`button`,{type:`button`,class:`meeting-report-sheet__close`,"aria-label":`بستن`,onClick:s},` × `)]),e.customerId?(a(),x(Q,{key:e.customerId,"customer-id":e.customerId,onSuccess:u},null,8,[`customer-id`])):d(``,!0)])])):d(``,!0)]),_:1})]))}}),[[`__scopeId`,`data-v-be25c066`]]),fe={key:0,class:`page customer-page`},pe={class:`desktop-page__head desktop-only customer-desk-head`},me={class:`desktop-page__title`},he={class:`desktop-page__subtitle`,dir:`ltr`},ge={class:`page__scroll page__scroll--with-nav customer-scroll`},_e={key:0,class:`profile-card`},ve={class:`profile-card__info`},ye={class:`profile-card__name-row`},be={class:`profile-card__phone`,dir:`ltr`},xe={key:1,class:`profile-banner`},Se={class:`profile-banner__top`},Ce={dir:`ltr`},we={class:`profile-banner__stats`},Te={class:`tabs`,role:`tablist`},Ee=[`aria-selected`,`onClick`],De={class:`tab__text`},Oe={class:`purchase-card`},ke={class:`purchase-stats`},Ae={class:`purchase-stats__item`},je={class:`purchase-stats__value`},Me={class:`purchase-stats__item`},Ne={class:`purchase-stats__value`},Pe={class:`purchase-stats__item`},Fe={class:`purchase-stats__value`},Ie={class:`panel-card`},Le={class:`agent-row__avatar`},Re={class:`agent-row__info`},ze={class:`orders-block`},Be={class:`orders-block__head`},Ve=[`onClick`,`onKeydown`],He={class:`order-row__title`},Ue={class:`order-row__amount`},We={key:0,class:`empty-inline`},Ge={key:3,class:`panel-card panel-card--list`},Ke=[`onClick`,`onKeydown`],qe={class:`order-row__title`},Je={class:`order-row__amount`},Ye={key:0,class:`empty-inline`},Xe={key:4,class:`panel-card panel-card--reports`},Ze={class:`meeting-filters`},Qe=[`onClick`],$e={class:`meeting-row__body`},et={class:`meeting-row__date`},tt={key:0,class:`empty-inline`},nt={key:0,class:`cta-bar`},rt={key:1,class:`page empty`},it={key:2,class:`page empty`},at=b(C({__name:`CustomerDetailView`,setup(t){let i=A(),y=F(),b=re(),C=P(),T=u(()=>String(i.query.id??``)),E=u(()=>String(i.query.tab??`info`)),D=u(()=>i.query.meetingReport===`1`),R=u(()=>i.query.edit===`1`),B=v(null),H=v([]),U=v([]),W=v(`all`),G=v(!0),K=v(null),ie=[{id:`info`,label:`اطلاعات`},{id:`orders`,label:`سفارشها`},{id:`reports`,label:`گزارشها و پیگیریها`}];async function q(){if(!T.value){B.value=null,G.value=!1;return}G.value=!0,K.value=null;try{let e=await b.loadCustomerDetail(T.value);B.value=e.customer,H.value=e.orders,U.value=e.meetings}catch(e){B.value=null,K.value=e instanceof Error?e.message:`مشتری یافت نشد.`}finally{G.value=!1}}h(q),c(T,q);function J(e){y.replace({path:`/customer`,query:{id:T.value,tab:e}})}function ae(){y.push({path:`/customer`,query:{id:T.value,tab:`reports`,meetingReport:`1`}})}function Y(){y.replace({path:`/customer`,query:{id:T.value,tab:`reports`}})}async function oe(){Y(),await q()}function X(){y.push({path:`/customer`,query:{id:T.value,tab:E.value,edit:`1`}})}function Z(){y.replace({path:`/customer`,query:{id:T.value,tab:E.value}})}async function se(){Z(),await q()}let ce=u(()=>{if(!B.value)return null;let e=B.value;if(e.firstName&&e.lastName)return{firstName:e.firstName,lastName:e.lastName,phone:e.phone,businessName:e.businessName??``};let t=e.contactName.trim().split(/\s+/),n=t[0]??``;return{firstName:n,lastName:t.slice(1).join(` `)||n,phone:e.phone,businessName:e.name===e.contactName?``:e.name}});function le(e){return e===`in_person`?`ملاقات حضوری`:e===`call`?`تماس`:e===`message`?`پیام`:`یادداشت`}let Q=u(()=>B.value?.agentName||C.fullName||`واسطه`),ue=u(()=>B.value?.agentCode||C.user?.agentCode||`—`),at=u(()=>Q.value.charAt(0)),ot=[{id:`all`,label:`همه`},{id:`in_person`,label:`ملاقات حضوری`},{id:`call`,label:`تماس`},{id:`message`,label:`پیام`},{id:`note`,label:`یادداشت`}],st=u(()=>W.value===`all`?U.value:U.value.filter(e=>e.type===W.value));function ct(e){return e===`in_person`?`meeting-row__icon--green`:e===`call`?`meeting-row__icon--blue`:`meeting-row__icon--purple`}function $(e){e&&y.push({path:`/order`,query:{id:e}})}function lt(e){let t=e.statusLabel;return ee[t]||e.statusLabel}function ut(e){let t=I[e.statusLabel];return t===`success`?`success`:t===`warning`||t===`danger`?`warning`:e.statusTone||`info`}let dt=u(()=>H.value.slice(0,3));function ft(e){return e===`active`?`فعال`:e===`inactive`?`غیرفعال`:`جدید`}function pt(e){return e===`active`?`status-badge--active`:e===`inactive`?`status-badge--inactive`:`status-badge--new`}return(t,i)=>(a(),f(m,null,[B.value?(a(),f(`div`,fe,[l(L,{class:`mobile-only`,title:E.value===`reports`?`پروفایل مشتری`:`جزئیات مشتری`,"show-back":``,centered:``,onBack:i[0]||=e=>S(y).push(`/customers`)},_({_:2},[E.value===`info`?{name:`trailing`,fn:r(()=>[g(`button`,{type:`button`,class:`edit-btn edit-btn--compact`,"aria-label":`ویرایش`,onClick:X},[l(z,{size:18}),i[4]||=g(`span`,{class:`edit-btn__label`},`ویرایش`,-1)])]),key:`0`}:void 0]),1032,[`title`]),g(`header`,pe,[g(`div`,null,[g(`h1`,me,s(B.value.name),1),g(`p`,he,s(B.value.phone),1)]),E.value===`info`?(a(),f(`button`,{key:0,type:`button`,class:`edit-btn edit-btn--desk`,onClick:X},` ویرایش `)):d(``,!0)]),g(`div`,ge,[E.value===`reports`?(a(),f(`section`,xe,[g(`div`,Se,[g(`div`,{class:`profile-card__avatar profile-card__avatar--lg`,style:o({background:B.value.avatarColor})},s(B.value.avatarLetter),5),g(`div`,null,[g(`h2`,null,s(B.value.name),1),g(`p`,null,s(B.value.contactName),1),g(`p`,Ce,s(B.value.phone),1)]),i[5]||=g(`span`,{class:`status-badge status-badge--active status-badge--on-dark`},`فعال`,-1)]),g(`div`,we,[g(`div`,null,[i[6]||=g(`span`,null,`سطح مشتری`,-1),g(`strong`,null,s(B.value.levelLabel),1)]),g(`div`,null,[i[7]||=g(`span`,null,`تاریخ اولین خرید`,-1),g(`strong`,null,s(B.value.firstPurchaseDate),1)]),g(`div`,null,[i[8]||=g(`span`,null,`تعداد سفارش`,-1),g(`strong`,null,s(S(O)(B.value.orderCount))+` سفارش`,1)])])])):(a(),f(`section`,_e,[g(`div`,{class:`profile-card__avatar`,style:o({background:B.value.avatarColor})},s(B.value.avatarLetter),5),g(`div`,ve,[g(`div`,ye,[g(`h2`,null,s(B.value.name),1),g(`span`,{class:e([`status-badge`,pt(B.value.status)])},s(ft(B.value.status)),3)]),g(`p`,be,s(B.value.phone),1)])])),g(`div`,Te,[(a(),f(m,null,n(ie,t=>g(`button`,{key:t.id,type:`button`,role:`tab`,class:e([`tab`,{"tab--active":E.value===t.id}]),"aria-selected":E.value===t.id,onClick:e=>J(t.id)},[g(`span`,De,s(t.label),1)],10,Ee)),64))]),E.value===`info`?(a(),f(m,{key:2},[g(`section`,Oe,[i[16]||=g(`h3`,{class:`section-title`},`اطلاعات خرید`,-1),g(`div`,ke,[g(`div`,Ae,[i[9]||=g(`span`,{class:`purchase-stats__label`},`تعداد سفارش`,-1),g(`strong`,je,s(S(O)(B.value.orderCount)),1)]),i[14]||=g(`span`,{class:`purchase-stats__divider`,"aria-hidden":`true`},null,-1),g(`div`,Me,[i[10]||=g(`span`,{class:`purchase-stats__label`},`مجموع خرید`,-1),g(`strong`,Ne,s(S(O)(B.value.totalPurchaseToman)),1),i[11]||=g(`em`,{class:`purchase-stats__unit`},`تومان`,-1)]),i[15]||=g(`span`,{class:`purchase-stats__divider`,"aria-hidden":`true`},null,-1),g(`div`,Pe,[i[12]||=g(`span`,{class:`purchase-stats__label`},`میانگین هر سفارش`,-1),g(`strong`,Fe,s(S(O)(B.value.averageOrderToman)),1),i[13]||=g(`em`,{class:`purchase-stats__unit`},`تومان`,-1)])])]),g(`section`,Ie,[g(`button`,{type:`button`,class:`agent-row`,onClick:i[1]||=e=>S(y).push(`/profile`)},[g(`div`,Le,s(at.value),1),g(`div`,Re,[g(`strong`,null,s(Q.value),1),g(`p`,null,`کد واسطه: `+s(ue.value),1)]),l(M,{size:18,class:`agent-row__chevron`,"aria-hidden":`true`})]),g(`div`,ze,[g(`div`,Be,[i[17]||=g(`h3`,{class:`section-title`},`آخرین سفارشها`,-1),g(`button`,{type:`button`,class:`link-btn`,onClick:i[2]||=e=>J(`orders`)},`مشاهده همه`)]),(a(!0),f(m,null,n(dt.value,t=>(a(),f(`article`,{key:t.id,class:`order-row`,role:`button`,tabindex:`0`,onClick:e=>$(t.id),onKeydown:w(e=>$(t.id),[`enter`])},[g(`div`,He,[g(`strong`,null,s(t.title),1),l(M,{size:14,class:`order-row__chevron`,"aria-hidden":`true`})]),g(`span`,Ue,s(S(O)(t.amountToman))+` تومان`,1),g(`span`,{class:e([`status-pill`,`status-pill--${ut(t)}`])},s(lt(t)),3)],40,Ve))),128)),dt.value.length?d(``,!0):(a(),f(`p`,We,`سفارشی ثبت نشده است.`))])])],64)):E.value===`orders`?(a(),f(`section`,Ge,[(a(!0),f(m,null,n(H.value,t=>(a(),f(`article`,{key:t.id,class:`order-row`,role:`button`,tabindex:`0`,onClick:e=>$(t.id),onKeydown:w(e=>$(t.id),[`enter`])},[g(`div`,qe,[g(`strong`,null,s(t.title),1),l(M,{size:14,class:`order-row__chevron`,"aria-hidden":`true`})]),g(`span`,Je,s(S(O)(t.amountToman))+` تومان`,1),g(`span`,{class:e([`status-pill`,`status-pill--${ut(t)}`])},s(lt(t)),3)],40,Ke))),128)),H.value.length?d(``,!0):(a(),f(`p`,Ye,`سفارشی ثبت نشده است.`))])):(a(),f(`section`,Xe,[i[18]||=g(`h3`,{class:`section-title`},`تعاملات و پیگیریها`,-1),g(`button`,{type:`button`,class:`dashed-btn`,onClick:ae},` + ثبت گزارش ملاقات جدید `),g(`div`,Ze,[(a(),f(m,null,n(ot,t=>g(`button`,{key:t.id,type:`button`,class:e([`meeting-filter`,{"meeting-filter--active":W.value===t.id}]),onClick:e=>W.value=t.id},s(t.label),11,Qe)),64))]),(a(!0),f(m,null,n(st.value,t=>(a(),f(`article`,{key:t.id,class:`meeting-row`},[g(`div`,{class:e([`meeting-row__icon`,ct(t.type)])},[t.type===`in_person`?(a(),x(te,{key:0,size:16})):t.type===`call`?(a(),x(j,{key:1,size:16})):t.type===`message`?(a(),x(N,{key:2,size:16})):(a(),x(z,{key:3,size:16}))],2),g(`div`,$e,[g(`strong`,null,s(le(t.type)),1),g(`p`,null,s(t.description||t.title),1)]),g(`span`,et,s(t.date),1)]))),128)),st.value.length?d(``,!0):(a(),f(`p`,tt,` گزارشی برای این فیلتر ثبت نشده است. `))]))]),E.value===`info`?(a(),f(`footer`,nt,[g(`button`,{type:`button`,class:`cta`,onClick:i[3]||=e=>S(y).push(`/categories`)},[l(k,{size:20,color:`#fff`}),i[19]||=p(` سفارش جدید برای این مشتری `,-1)])])):d(``,!0)])):G.value?(a(),f(`div`,rt,[l(ne,{variant:`detail`})])):(a(),f(`div`,it,[g(`p`,null,s(K.value||`مشتری یافت نشد.`),1)])),l(de,{open:D.value,"customer-id":T.value,onClose:Y,onSuccess:oe},null,8,[`open`,`customer-id`]),l(V,{open:R.value,"customer-id":T.value,initial:ce.value,onClose:Z,onSuccess:se},null,8,[`open`,`customer-id`,`initial`])],64))}}),[[`__scopeId`,`data-v-938375e3`]]);export{at as default}; \ No newline at end of file +import{At as e,D as t,F as n,G as r,K as i,M as a,Nt as o,Pt as s,U as c,_ as l,c as u,d,f,g as p,i as m,k as h,l as g,m as _,nt as v,o as y,t as b,u as x,ut as S,v as C}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{l as w,n as T,s as E,u as D}from"./BasicIcon-ba1FsUKx.js";import{o as O}from"./format-C72AoJ2H.js";import{t as k}from"./IconCart-f4izyxj_.js";import{C as A,a as j,c as M,i as N,u as P,w as F}from"./index-CON313Q2.js";import{i as I,t as ee}from"./constants-ptWoEwwP.js";import{t as te}from"./IconClipboardEmpty-D1_4Fy0M.js";import{t as L}from"./PageHeader-juIsDT9M.js";import{t as ne}from"./PageSkeleton-DYdjm4l9.js";import{t as re}from"./crm-CgnSby61.js";import{t as R}from"./PersianDateInput-Dh05So9z.js";import{t as z}from"./IconEditPen-Dwk_zEXe.js";import{t as B}from"./TimeInput-BplLSUlw.js";import{t as V}from"./CustomerCreateOverlay-CShFVCz6.js";var H={class:`meeting-report-form`},U={key:1,class:`form-error`},W={class:`customer-card`},G={dir:`ltr`},K={class:`type-grid`},ie=[`onClick`],q={class:`two-cols two-cols--date`},J={class:`field`},ae={class:`field`},Y={class:`reminder-box`},oe={class:`reminder-box__head`},X=[`aria-pressed`],Z={class:`field`},se={class:`two-cols two-cols--date`},ce={class:`field`},le=[`disabled`],Q=b(C({__name:`MeetingReportForm`,props:{customerId:{}},emits:[`success`],setup(t,{emit:r}){let u=t,p=r,_=re(),y=v(null),b=v(!0),S=v(!1),C=v(null),w=v(`in_person`),T=v(``),D=v(``),O=v(``),k=v(``),A=v(!0),M=v(``),P=v(``),F=v(``),I=v(``),ee=[{id:`in_person`,label:`ملاقات حضوری`,icon:`clipboard`},{id:`call`,label:`تماس تلفنی`,icon:`phone`},{id:`message`,label:`پیام`,icon:`mail`},{id:`note`,label:`یادداشت`,icon:`pen`}];async function L(){if(!u.customerId){b.value=!1,C.value=`مشتری مشخص نشده است.`,y.value=null;return}b.value=!0,C.value=null;try{let e=await _.loadCustomerDetail(u.customerId);y.value=e.customer}catch(e){y.value=null,C.value=e instanceof Error?e.message:`بارگذاری مشتری ناموفق بود.`}finally{b.value=!1}}h(L),c(()=>u.customerId,L);async function V(){if(!u.customerId||!O.value.trim()||!T.value.trim()){C.value=`موضوع و تاریخ الزامی است.`;return}S.value=!0,C.value=null;try{await _.submitMeeting({customerId:u.customerId,type:w.value,title:O.value.trim(),subject:O.value.trim(),content:k.value.trim()||void 0,description:k.value.trim()||void 0,date:T.value.trim(),time:D.value.trim()||void 0,createReminder:A.value,reminderTitle:A.value?M.value.trim()||O.value.trim():void 0,reminderDate:A.value?P.value.trim()||T.value.trim():void 0,reminderTime:A.value?F.value.trim()||D.value.trim()||`10:00`:void 0,reminderNote:A.value&&I.value.trim()||void 0}),p(`success`)}catch(e){C.value=e instanceof Error?e.message:`ثبت گزارش ناموفق بود.`}finally{S.value=!1}}return(t,r)=>(a(),f(`div`,H,[b.value?(a(),x(ne,{key:0,variant:`form`})):C.value?(a(),f(`p`,U,s(C.value),1)):d(``,!0),y.value?(a(),f(m,{key:2},[g(`section`,W,[g(`div`,{class:`avatar`,style:o({background:y.value.avatarColor})},s(y.value.avatarLetter),5),g(`div`,null,[g(`strong`,null,s(y.value.name),1),g(`p`,null,s(y.value.contactName),1),g(`p`,G,s(y.value.phone),1)])]),g(`section`,null,[r[9]||=g(`h3`,null,`نوع تعامل`,-1),g(`div`,K,[(a(),f(m,null,n(ee,t=>g(`button`,{key:t.id,type:`button`,class:e([`type-btn`,{"type-btn--active":w.value===t.id}]),onClick:e=>w.value=t.id},[t.icon===`clipboard`?(a(),x(te,{key:0,size:22})):t.icon===`phone`?(a(),x(j,{key:1,size:22})):t.icon===`mail`?(a(),x(N,{key:2,size:22})):(a(),x(z,{key:3,size:22})),g(`span`,null,s(t.label),1)],10,ie)),64))])]),g(`section`,null,[r[10]||=g(`h3`,null,`تاریخ و زمان`,-1),g(`div`,q,[l(R,{modelValue:T.value,"onUpdate:modelValue":r[0]||=e=>T.value=e,label:`تاریخ`,class:`meeting-date`},null,8,[`modelValue`]),l(B,{modelValue:D.value,"onUpdate:modelValue":r[1]||=e=>D.value=e,label:`ساعت`,placeholder:`مثلاً ۱۰:۳۰`,class:`meeting-time`},null,8,[`modelValue`])])]),g(`label`,J,[r[11]||=g(`span`,null,`موضوع گزارش`,-1),i(g(`input`,{"onUpdate:modelValue":r[2]||=e=>O.value=e,type:`text`},null,512),[[E,O.value]])]),g(`label`,ae,[r[12]||=g(`span`,null,`محتوای گزارش`,-1),i(g(`textarea`,{"onUpdate:modelValue":r[3]||=e=>k.value=e,rows:`5`,maxlength:`1000`},null,512),[[E,k.value]]),g(`em`,null,s(k.value.length.toLocaleString(`fa-IR`))+`/۱۰۰۰`,1)]),r[17]||=g(`section`,null,[g(`h3`,null,`تصاویر و فایلها`),g(`div`,{class:`files`},[g(`div`,{class:`file-thumb`}),g(`div`,{class:`file-thumb`}),g(`button`,{type:`button`,class:`file-add`,"aria-label":`افزودن فایل`},`+`)])],-1),g(`section`,Y,[g(`div`,oe,[r[14]||=g(`h3`,null,`یادآور`,-1),g(`button`,{type:`button`,class:e([`toggle`,{"toggle--on":A.value}]),"aria-pressed":A.value,onClick:r[4]||=e=>A.value=!A.value},[...r[13]||=[g(`span`,null,null,-1)]],10,X)]),A.value?(a(),f(m,{key:0},[g(`label`,Z,[r[15]||=g(`span`,null,`عنوان یادآور`,-1),i(g(`input`,{"onUpdate:modelValue":r[5]||=e=>M.value=e,type:`text`},null,512),[[E,M.value]])]),g(`div`,se,[l(R,{modelValue:P.value,"onUpdate:modelValue":r[6]||=e=>P.value=e,label:`تاریخ یادآور`,class:`meeting-date`},null,8,[`modelValue`]),l(B,{modelValue:F.value,"onUpdate:modelValue":r[7]||=e=>F.value=e,label:`ساعت یادآور`,placeholder:`مثلاً ۱۰:۳۰`,class:`meeting-time`},null,8,[`modelValue`])]),g(`label`,ce,[r[16]||=g(`span`,null,`یادداشت یادآور (اختیاری)`,-1),i(g(`input`,{"onUpdate:modelValue":r[8]||=e=>I.value=e,type:`text`},null,512),[[E,I.value]])])],64)):d(``,!0)]),g(`button`,{type:`button`,class:`submit`,disabled:S.value,onClick:V},s(S.value?`در حال ثبت...`:`ثبت گزارش و یادآور`),9,le)],64)):d(``,!0)]))}}),[[`__scopeId`,`data-v-5d6dd8b7`]]),ue={class:`meeting-report-sheet`},de=b(C({__name:`MeetingReportOverlay`,props:{open:{type:Boolean},customerId:{}},emits:[`close`,`success`],setup(e,{emit:n}){let i=e,o=n;function s(){o(`close`)}function u(){o(`success`)}function p(e){e.key===`Escape`&&i.open&&s()}return c(()=>i.open,e=>{document.body.style.overflow=e?`hidden`:``,e?window.addEventListener(`keydown`,p):window.removeEventListener(`keydown`,p)},{immediate:!0}),t(()=>{document.body.style.overflow=``,window.removeEventListener(`keydown`,p)}),(t,n)=>(a(),x(y,{to:`body`},[l(T,{name:`meeting-report-sheet`},{default:r(()=>[e.open?(a(),f(`div`,{key:0,class:`meeting-report-overlay`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`meeting-report-title`,onClick:D(s,[`self`])},[g(`div`,ue,[n[1]||=g(`div`,{class:`meeting-report-sheet__handle`,"aria-hidden":`true`},null,-1),g(`header`,{class:`meeting-report-sheet__head`},[n[0]||=g(`h2`,{id:`meeting-report-title`},`ثبت گزارش ملاقات`,-1),g(`button`,{type:`button`,class:`meeting-report-sheet__close`,"aria-label":`بستن`,onClick:s},` × `)]),e.customerId?(a(),x(Q,{key:e.customerId,"customer-id":e.customerId,onSuccess:u},null,8,[`customer-id`])):d(``,!0)])])):d(``,!0)]),_:1})]))}}),[[`__scopeId`,`data-v-be25c066`]]),fe={key:0,class:`page customer-page`},pe={class:`desktop-page__head desktop-only customer-desk-head`},me={class:`desktop-page__title`},he={class:`desktop-page__subtitle`,dir:`ltr`},ge={class:`page__scroll page__scroll--with-nav customer-scroll`},_e={key:0,class:`profile-card`},ve={class:`profile-card__info`},ye={class:`profile-card__name-row`},be={class:`profile-card__phone`,dir:`ltr`},xe={key:1,class:`profile-banner`},Se={class:`profile-banner__top`},Ce={dir:`ltr`},we={class:`profile-banner__stats`},Te={class:`tabs`,role:`tablist`},Ee=[`aria-selected`,`onClick`],De={class:`tab__text`},Oe={class:`purchase-card`},ke={class:`purchase-stats`},Ae={class:`purchase-stats__item`},je={class:`purchase-stats__value`},Me={class:`purchase-stats__item`},Ne={class:`purchase-stats__value`},Pe={class:`purchase-stats__item`},Fe={class:`purchase-stats__value`},Ie={class:`panel-card`},Le={class:`agent-row__avatar`},Re={class:`agent-row__info`},ze={class:`orders-block`},Be={class:`orders-block__head`},Ve=[`onClick`,`onKeydown`],He={class:`order-row__title`},Ue={class:`order-row__amount`},We={key:0,class:`empty-inline`},Ge={key:3,class:`panel-card panel-card--list`},Ke=[`onClick`,`onKeydown`],qe={class:`order-row__title`},Je={class:`order-row__amount`},Ye={key:0,class:`empty-inline`},Xe={key:4,class:`panel-card panel-card--reports`},Ze={class:`meeting-filters`},Qe=[`onClick`],$e={class:`meeting-row__body`},et={class:`meeting-row__date`},tt={key:0,class:`empty-inline`},nt={key:0,class:`cta-bar`},rt={key:1,class:`page empty`},it={key:2,class:`page empty`},at=b(C({__name:`CustomerDetailView`,setup(t){let i=A(),y=F(),b=re(),C=P(),T=u(()=>String(i.query.id??``)),E=u(()=>String(i.query.tab??`info`)),D=u(()=>i.query.meetingReport===`1`),R=u(()=>i.query.edit===`1`),B=v(null),H=v([]),U=v([]),W=v(`all`),G=v(!0),K=v(null),ie=[{id:`info`,label:`اطلاعات`},{id:`orders`,label:`سفارشها`},{id:`reports`,label:`گزارشها و پیگیریها`}];async function q(){if(!T.value){B.value=null,G.value=!1;return}G.value=!0,K.value=null;try{let e=await b.loadCustomerDetail(T.value);B.value=e.customer,H.value=e.orders,U.value=e.meetings}catch(e){B.value=null,K.value=e instanceof Error?e.message:`مشتری یافت نشد.`}finally{G.value=!1}}h(q),c(T,q);function J(e){y.replace({path:`/customer`,query:{id:T.value,tab:e}})}function ae(){y.push({path:`/customer`,query:{id:T.value,tab:`reports`,meetingReport:`1`}})}function Y(){y.replace({path:`/customer`,query:{id:T.value,tab:`reports`}})}async function oe(){Y(),await q()}function X(){y.push({path:`/customer`,query:{id:T.value,tab:E.value,edit:`1`}})}function Z(){y.replace({path:`/customer`,query:{id:T.value,tab:E.value}})}async function se(){Z(),await q()}let ce=u(()=>{if(!B.value)return null;let e=B.value;if(e.firstName&&e.lastName)return{firstName:e.firstName,lastName:e.lastName,phone:e.phone,businessName:e.businessName??``};let t=e.contactName.trim().split(/\s+/),n=t[0]??``;return{firstName:n,lastName:t.slice(1).join(` `)||n,phone:e.phone,businessName:e.name===e.contactName?``:e.name}});function le(e){return e===`in_person`?`ملاقات حضوری`:e===`call`?`تماس`:e===`message`?`پیام`:`یادداشت`}let Q=u(()=>B.value?.agentName||C.fullName||`واسطه`),ue=u(()=>B.value?.agentCode||C.user?.agentCode||`—`),at=u(()=>Q.value.charAt(0)),ot=[{id:`all`,label:`همه`},{id:`in_person`,label:`ملاقات حضوری`},{id:`call`,label:`تماس`},{id:`message`,label:`پیام`},{id:`note`,label:`یادداشت`}],st=u(()=>W.value===`all`?U.value:U.value.filter(e=>e.type===W.value));function ct(e){return e===`in_person`?`meeting-row__icon--green`:e===`call`?`meeting-row__icon--blue`:`meeting-row__icon--purple`}function $(e){e&&y.push({path:`/order`,query:{id:e}})}function lt(e){let t=e.statusLabel;return ee[t]||e.statusLabel}function ut(e){let t=I[e.statusLabel];return t===`success`?`success`:t===`warning`||t===`danger`?`warning`:e.statusTone||`info`}let dt=u(()=>H.value.slice(0,3));function ft(e){return e===`active`?`فعال`:e===`inactive`?`غیرفعال`:`جدید`}function pt(e){return e===`active`?`status-badge--active`:e===`inactive`?`status-badge--inactive`:`status-badge--new`}return(t,i)=>(a(),f(m,null,[B.value?(a(),f(`div`,fe,[l(L,{class:`mobile-only`,title:E.value===`reports`?`پروفایل مشتری`:`جزئیات مشتری`,"show-back":``,centered:``,onBack:i[0]||=e=>S(y).push(`/customers`)},_({_:2},[E.value===`info`?{name:`trailing`,fn:r(()=>[g(`button`,{type:`button`,class:`edit-btn edit-btn--compact`,"aria-label":`ویرایش`,onClick:X},[l(z,{size:18}),i[4]||=g(`span`,{class:`edit-btn__label`},`ویرایش`,-1)])]),key:`0`}:void 0]),1032,[`title`]),g(`header`,pe,[g(`div`,null,[g(`h1`,me,s(B.value.name),1),g(`p`,he,s(B.value.phone),1)]),E.value===`info`?(a(),f(`button`,{key:0,type:`button`,class:`edit-btn edit-btn--desk`,onClick:X},` ویرایش `)):d(``,!0)]),g(`div`,ge,[E.value===`reports`?(a(),f(`section`,xe,[g(`div`,Se,[g(`div`,{class:`profile-card__avatar profile-card__avatar--lg`,style:o({background:B.value.avatarColor})},s(B.value.avatarLetter),5),g(`div`,null,[g(`h2`,null,s(B.value.name),1),g(`p`,null,s(B.value.contactName),1),g(`p`,Ce,s(B.value.phone),1)]),i[5]||=g(`span`,{class:`status-badge status-badge--active status-badge--on-dark`},`فعال`,-1)]),g(`div`,we,[g(`div`,null,[i[6]||=g(`span`,null,`سطح مشتری`,-1),g(`strong`,null,s(B.value.levelLabel),1)]),g(`div`,null,[i[7]||=g(`span`,null,`تاریخ اولین خرید`,-1),g(`strong`,null,s(B.value.firstPurchaseDate),1)]),g(`div`,null,[i[8]||=g(`span`,null,`تعداد سفارش`,-1),g(`strong`,null,s(S(O)(B.value.orderCount))+` سفارش`,1)])])])):(a(),f(`section`,_e,[g(`div`,{class:`profile-card__avatar`,style:o({background:B.value.avatarColor})},s(B.value.avatarLetter),5),g(`div`,ve,[g(`div`,ye,[g(`h2`,null,s(B.value.name),1),g(`span`,{class:e([`status-badge`,pt(B.value.status)])},s(ft(B.value.status)),3)]),g(`p`,be,s(B.value.phone),1)])])),g(`div`,Te,[(a(),f(m,null,n(ie,t=>g(`button`,{key:t.id,type:`button`,role:`tab`,class:e([`tab`,{"tab--active":E.value===t.id}]),"aria-selected":E.value===t.id,onClick:e=>J(t.id)},[g(`span`,De,s(t.label),1)],10,Ee)),64))]),E.value===`info`?(a(),f(m,{key:2},[g(`section`,Oe,[i[16]||=g(`h3`,{class:`section-title`},`اطلاعات خرید`,-1),g(`div`,ke,[g(`div`,Ae,[i[9]||=g(`span`,{class:`purchase-stats__label`},`تعداد سفارش`,-1),g(`strong`,je,s(S(O)(B.value.orderCount)),1)]),i[14]||=g(`span`,{class:`purchase-stats__divider`,"aria-hidden":`true`},null,-1),g(`div`,Me,[i[10]||=g(`span`,{class:`purchase-stats__label`},`مجموع خرید`,-1),g(`strong`,Ne,s(S(O)(B.value.totalPurchaseToman)),1),i[11]||=g(`em`,{class:`purchase-stats__unit`},`تومان`,-1)]),i[15]||=g(`span`,{class:`purchase-stats__divider`,"aria-hidden":`true`},null,-1),g(`div`,Pe,[i[12]||=g(`span`,{class:`purchase-stats__label`},`میانگین هر سفارش`,-1),g(`strong`,Fe,s(S(O)(B.value.averageOrderToman)),1),i[13]||=g(`em`,{class:`purchase-stats__unit`},`تومان`,-1)])])]),g(`section`,Ie,[g(`button`,{type:`button`,class:`agent-row`,onClick:i[1]||=e=>S(y).push(`/profile`)},[g(`div`,Le,s(at.value),1),g(`div`,Re,[g(`strong`,null,s(Q.value),1),g(`p`,null,`کد واسطه: `+s(ue.value),1)]),l(M,{size:18,class:`agent-row__chevron`,"aria-hidden":`true`})]),g(`div`,ze,[g(`div`,Be,[i[17]||=g(`h3`,{class:`section-title`},`آخرین سفارشها`,-1),g(`button`,{type:`button`,class:`link-btn`,onClick:i[2]||=e=>J(`orders`)},`مشاهده همه`)]),(a(!0),f(m,null,n(dt.value,t=>(a(),f(`article`,{key:t.id,class:`order-row`,role:`button`,tabindex:`0`,onClick:e=>$(t.id),onKeydown:w(e=>$(t.id),[`enter`])},[g(`div`,He,[g(`strong`,null,s(t.title),1),l(M,{size:14,class:`order-row__chevron`,"aria-hidden":`true`})]),g(`span`,Ue,s(S(O)(t.amountToman))+` تومان`,1),g(`span`,{class:e([`status-pill`,`status-pill--${ut(t)}`])},s(lt(t)),3)],40,Ve))),128)),dt.value.length?d(``,!0):(a(),f(`p`,We,`سفارشی ثبت نشده است.`))])])],64)):E.value===`orders`?(a(),f(`section`,Ge,[(a(!0),f(m,null,n(H.value,t=>(a(),f(`article`,{key:t.id,class:`order-row`,role:`button`,tabindex:`0`,onClick:e=>$(t.id),onKeydown:w(e=>$(t.id),[`enter`])},[g(`div`,qe,[g(`strong`,null,s(t.title),1),l(M,{size:14,class:`order-row__chevron`,"aria-hidden":`true`})]),g(`span`,Je,s(S(O)(t.amountToman))+` تومان`,1),g(`span`,{class:e([`status-pill`,`status-pill--${ut(t)}`])},s(lt(t)),3)],40,Ke))),128)),H.value.length?d(``,!0):(a(),f(`p`,Ye,`سفارشی ثبت نشده است.`))])):(a(),f(`section`,Xe,[i[18]||=g(`h3`,{class:`section-title`},`تعاملات و پیگیریها`,-1),g(`button`,{type:`button`,class:`dashed-btn`,onClick:ae},` + ثبت گزارش ملاقات جدید `),g(`div`,Ze,[(a(),f(m,null,n(ot,t=>g(`button`,{key:t.id,type:`button`,class:e([`meeting-filter`,{"meeting-filter--active":W.value===t.id}]),onClick:e=>W.value=t.id},s(t.label),11,Qe)),64))]),(a(!0),f(m,null,n(st.value,t=>(a(),f(`article`,{key:t.id,class:`meeting-row`},[g(`div`,{class:e([`meeting-row__icon`,ct(t.type)])},[t.type===`in_person`?(a(),x(te,{key:0,size:16})):t.type===`call`?(a(),x(j,{key:1,size:16})):t.type===`message`?(a(),x(N,{key:2,size:16})):(a(),x(z,{key:3,size:16}))],2),g(`div`,$e,[g(`strong`,null,s(le(t.type)),1),g(`p`,null,s(t.description||t.title),1)]),g(`span`,et,s(t.date),1)]))),128)),st.value.length?d(``,!0):(a(),f(`p`,tt,` گزارشی برای این فیلتر ثبت نشده است. `))]))]),E.value===`info`?(a(),f(`footer`,nt,[g(`button`,{type:`button`,class:`cta`,onClick:i[3]||=e=>S(y).push(`/categories`)},[l(k,{size:20,color:`#fff`}),i[19]||=p(` سفارش جدید برای این مشتری `,-1)])])):d(``,!0)])):G.value?(a(),f(`div`,rt,[l(ne,{variant:`detail`})])):(a(),f(`div`,it,[g(`p`,null,s(K.value||`مشتری یافت نشد.`),1)])),l(de,{open:D.value,"customer-id":T.value,onClose:Y,onSuccess:oe},null,8,[`open`,`customer-id`]),l(V,{open:R.value,"customer-id":T.value,initial:ce.value,onClose:Z,onSuccess:se},null,8,[`open`,`customer-id`,`initial`])],64))}}),[[`__scopeId`,`data-v-938375e3`]]);export{at as default}; \ No newline at end of file diff --git a/dist/assets/CustomersView-BLtSQbS-.js b/dist/assets/CustomersView-B9SQ_EQ7.js similarity index 96% rename from dist/assets/CustomersView-BLtSQbS-.js rename to dist/assets/CustomersView-B9SQ_EQ7.js index 7f42404..55c43b5 100644 --- a/dist/assets/CustomersView-BLtSQbS-.js +++ b/dist/assets/CustomersView-B9SQ_EQ7.js @@ -1 +1 @@ -import{At as e,F as t,G as ee,M as n,Nt as te,Pt as r,U as i,_ as a,c as o,d as s,f as c,g as l,i as u,k as ne,l as d,nt as f,t as p,u as m,ut as h,v as g}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{o as _}from"./format-C72AoJ2H.js";import{t as re}from"./IconProfile-Th_9x4I5.js";import{t as v}from"./IconPlus-ClEaCwsc.js";import{C as ie,c as ae,w as oe}from"./index-CgTrQFr5.js";import{t as y}from"./IconFilter-Br-Ixz6t.js";import{t as b}from"./PageHeader-fQXEgnJ0.js";import{t as x}from"./PageSkeleton-DYdjm4l9.js";import{t as S}from"./crm-CgnSby61.js";import{t as C}from"./CustomerCreateOverlay-Ber9qxbU.js";import{t as w}from"./SearchField-dVDn9y5S.js";var T={class:`page customers-page`},E={class:`desktop-page__head desktop-only customers-desk-head`},D={class:`page__scroll page__scroll--with-nav customers-scroll`},O={class:`toolbar`},k={class:`summary-card`},A={class:`summary-card__icon`,"aria-hidden":`true`},j={class:`summary-card__cols`},M={class:`tabs`,role:`tablist`},N=[`aria-selected`,`onClick`],P={class:`tab__text`},F={key:1},I=[`onClick`],L={class:`customer-card__body`},R={class:`customer-card__top`},z=p(g({__name:`CustomersView`,setup(p){let g=ie(),z=oe(),B=S(),V=f(String(g.query.q??``)),H=o(()=>String(g.query.status??`all`)),U=f([]),W=f(!0),G=f(null),K=o(()=>U.value),q=o(()=>g.query.create===`1`),se=o(()=>U.value.filter(e=>e.status===`active`).length),ce=o(()=>U.value.reduce((e,t)=>e+t.totalPurchaseToman,0)),le=[{id:`all`,label:`همه`},{id:`active`,label:`فعال`},{id:`inactive`,label:`غیرفعال`},{id:`new`,label:`جدید`}];async function J(){W.value=!0,G.value=null;try{U.value=await B.loadCustomers({q:V.value||void 0,status:H.value===`all`?void 0:H.value})}catch(e){G.value=e instanceof Error?e.message:`بارگذاری مشتریان ناموفق بود.`,U.value=[]}finally{W.value=!1}}ne(J),i([H,V],J);function Y(e){z.replace({path:`/customers`,query:{...e===`all`?{}:{status:e},...V.value?{q:V.value}:{}}})}function X(e){V.value=e,z.replace({path:`/customers`,query:{...H.value===`all`?{}:{status:H.value},...e?{q:e}:{}}})}function ue(e){return e===`active`?`فعال`:e===`inactive`?`غیرفعال`:`جدید`}function Z(e={}){return{...H.value===`all`?{}:{status:H.value},...V.value?{q:V.value}:{},...e}}function Q(){z.push({path:`/customers`,query:{...Z(),create:`1`}})}function $(){z.replace({path:`/customers`,query:Z()})}async function de(e){if(e){await z.replace({path:`/customer`,query:{id:e}});return}$(),await J()}function fe(){let e=[`all`,`active`,`inactive`,`new`],t=e.indexOf(H.value);Y(e[(t<0?0:t+1)%e.length]??`all`)}return(i,o)=>(n(),c(`div`,T,[a(b,{class:`mobile-only`,title:`مشتریان من`,"show-back":``,centered:``,onBack:o[0]||=e=>h(z).back()},{trailing:ee(()=>[d(`button`,{type:`button`,class:`nav-add-btn`,"aria-label":`ثبت مشتری`,onClick:Q},[a(v,{size:22})])]),_:1}),d(`header`,E,[o[2]||=d(`div`,null,[d(`h1`,{class:`desktop-page__title`},`مشتریان من`),d(`p`,{class:`desktop-page__subtitle`},`مدیریت مشتریان و پیگیری خریدها`)],-1),d(`button`,{type:`button`,class:`desk-add-btn`,onClick:Q},[a(v,{size:18}),o[1]||=l(` ثبت مشتری `,-1)])]),d(`div`,D,[d(`div`,O,[a(w,{"model-value":V.value,placeholder:`جستجو بر اساس نام یا موبایل...`,"onUpdate:modelValue":X},null,8,[`model-value`]),d(`button`,{type:`button`,class:`filter-btn`,"aria-label":`فیلتر وضعیت`,onClick:fe},[a(y,{size:18})])]),d(`section`,k,[d(`div`,A,[a(re,{size:22,color:`#fff`})]),d(`div`,j,[d(`div`,null,[o[3]||=d(`span`,null,`تعداد مشتری فعال`,-1),d(`strong`,null,r(h(_)(se.value)),1)]),o[6]||=d(`span`,{class:`summary-card__divider`,"aria-hidden":`true`},null,-1),d(`div`,null,[o[4]||=d(`span`,null,`مجموع خرید (ریال)`,-1),d(`strong`,null,r(h(_)(ce.value)),1),o[5]||=d(`em`,null,`تومان`,-1)])])]),d(`div`,M,[(n(),c(u,null,t(le,t=>d(`button`,{key:t.id,type:`button`,role:`tab`,class:e([`tab`,{"tab--active":H.value===t.id}]),"aria-selected":H.value===t.id,onClick:e=>Y(t.id)},[d(`span`,P,r(t.label),1)],10,N)),64))]),W.value?(n(),m(x,{key:0,variant:`list`})):G.value?(n(),c(`p`,F,r(G.value),1)):s(``,!0),(n(!0),c(u,null,t(K.value,t=>(n(),c(`button`,{key:t.id,type:`button`,class:`customer-card`,onClick:e=>h(z).push({path:`/customer`,query:{id:t.id}})},[d(`div`,{class:`customer-card__avatar`,style:te({background:t.avatarColor})},r(t.avatarLetter),5),d(`div`,L,[d(`div`,R,[d(`strong`,null,r(t.name),1)]),d(`p`,null,r(t.phone),1),d(`p`,null,`مجموع خرید: `+r(h(_)(t.totalPurchaseToman))+` تومان`,1)]),d(`span`,{class:e([`status`,{"status--ok":t.status===`active`,"status--off":t.status===`inactive`,"status--new":t.status===`new`}])},r(ue(t.status)),3),a(ae,{size:18,class:`chevron`})],8,I))),128)),o[7]||=d(`section`,{class:`promo`},[d(`div`,null,[d(`strong`,null,`افزایش مشتریان = افزایش سطح شما`),d(`p`,null,`با جذب مشتریان بیشتر به سطح VIP برسید`)])],-1)]),a(C,{open:q.value,onClose:$,onSuccess:de},null,8,[`open`])]))}}),[[`__scopeId`,`data-v-a6283622`]]);export{z as default}; \ No newline at end of file +import{At as e,F as t,G as ee,M as n,Nt as te,Pt as r,U as i,_ as a,c as o,d as s,f as c,g as l,i as u,k as ne,l as d,nt as f,t as p,u as m,ut as h,v as g}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{o as _}from"./format-C72AoJ2H.js";import{t as re}from"./IconProfile-Th_9x4I5.js";import{t as v}from"./IconPlus-ClEaCwsc.js";import{C as ie,c as ae,w as oe}from"./index-CON313Q2.js";import{t as y}from"./IconFilter-Br-Ixz6t.js";import{t as b}from"./PageHeader-juIsDT9M.js";import{t as x}from"./PageSkeleton-DYdjm4l9.js";import{t as S}from"./crm-CgnSby61.js";import{t as C}from"./CustomerCreateOverlay-CShFVCz6.js";import{t as w}from"./SearchField-dVDn9y5S.js";var T={class:`page customers-page`},E={class:`desktop-page__head desktop-only customers-desk-head`},D={class:`page__scroll page__scroll--with-nav customers-scroll`},O={class:`toolbar`},k={class:`summary-card`},A={class:`summary-card__icon`,"aria-hidden":`true`},j={class:`summary-card__cols`},M={class:`tabs`,role:`tablist`},N=[`aria-selected`,`onClick`],P={class:`tab__text`},F={key:1},I=[`onClick`],L={class:`customer-card__body`},R={class:`customer-card__top`},z=p(g({__name:`CustomersView`,setup(p){let g=ie(),z=oe(),B=S(),V=f(String(g.query.q??``)),H=o(()=>String(g.query.status??`all`)),U=f([]),W=f(!0),G=f(null),K=o(()=>U.value),q=o(()=>g.query.create===`1`),se=o(()=>U.value.filter(e=>e.status===`active`).length),ce=o(()=>U.value.reduce((e,t)=>e+t.totalPurchaseToman,0)),le=[{id:`all`,label:`همه`},{id:`active`,label:`فعال`},{id:`inactive`,label:`غیرفعال`},{id:`new`,label:`جدید`}];async function J(){W.value=!0,G.value=null;try{U.value=await B.loadCustomers({q:V.value||void 0,status:H.value===`all`?void 0:H.value})}catch(e){G.value=e instanceof Error?e.message:`بارگذاری مشتریان ناموفق بود.`,U.value=[]}finally{W.value=!1}}ne(J),i([H,V],J);function Y(e){z.replace({path:`/customers`,query:{...e===`all`?{}:{status:e},...V.value?{q:V.value}:{}}})}function X(e){V.value=e,z.replace({path:`/customers`,query:{...H.value===`all`?{}:{status:H.value},...e?{q:e}:{}}})}function ue(e){return e===`active`?`فعال`:e===`inactive`?`غیرفعال`:`جدید`}function Z(e={}){return{...H.value===`all`?{}:{status:H.value},...V.value?{q:V.value}:{},...e}}function Q(){z.push({path:`/customers`,query:{...Z(),create:`1`}})}function $(){z.replace({path:`/customers`,query:Z()})}async function de(e){if(e){await z.replace({path:`/customer`,query:{id:e}});return}$(),await J()}function fe(){let e=[`all`,`active`,`inactive`,`new`],t=e.indexOf(H.value);Y(e[(t<0?0:t+1)%e.length]??`all`)}return(i,o)=>(n(),c(`div`,T,[a(b,{class:`mobile-only`,title:`مشتریان من`,"show-back":``,centered:``,onBack:o[0]||=e=>h(z).back()},{trailing:ee(()=>[d(`button`,{type:`button`,class:`nav-add-btn`,"aria-label":`ثبت مشتری`,onClick:Q},[a(v,{size:22})])]),_:1}),d(`header`,E,[o[2]||=d(`div`,null,[d(`h1`,{class:`desktop-page__title`},`مشتریان من`),d(`p`,{class:`desktop-page__subtitle`},`مدیریت مشتریان و پیگیری خریدها`)],-1),d(`button`,{type:`button`,class:`desk-add-btn`,onClick:Q},[a(v,{size:18}),o[1]||=l(` ثبت مشتری `,-1)])]),d(`div`,D,[d(`div`,O,[a(w,{"model-value":V.value,placeholder:`جستجو بر اساس نام یا موبایل...`,"onUpdate:modelValue":X},null,8,[`model-value`]),d(`button`,{type:`button`,class:`filter-btn`,"aria-label":`فیلتر وضعیت`,onClick:fe},[a(y,{size:18})])]),d(`section`,k,[d(`div`,A,[a(re,{size:22,color:`#fff`})]),d(`div`,j,[d(`div`,null,[o[3]||=d(`span`,null,`تعداد مشتری فعال`,-1),d(`strong`,null,r(h(_)(se.value)),1)]),o[6]||=d(`span`,{class:`summary-card__divider`,"aria-hidden":`true`},null,-1),d(`div`,null,[o[4]||=d(`span`,null,`مجموع خرید (ریال)`,-1),d(`strong`,null,r(h(_)(ce.value)),1),o[5]||=d(`em`,null,`تومان`,-1)])])]),d(`div`,M,[(n(),c(u,null,t(le,t=>d(`button`,{key:t.id,type:`button`,role:`tab`,class:e([`tab`,{"tab--active":H.value===t.id}]),"aria-selected":H.value===t.id,onClick:e=>Y(t.id)},[d(`span`,P,r(t.label),1)],10,N)),64))]),W.value?(n(),m(x,{key:0,variant:`list`})):G.value?(n(),c(`p`,F,r(G.value),1)):s(``,!0),(n(!0),c(u,null,t(K.value,t=>(n(),c(`button`,{key:t.id,type:`button`,class:`customer-card`,onClick:e=>h(z).push({path:`/customer`,query:{id:t.id}})},[d(`div`,{class:`customer-card__avatar`,style:te({background:t.avatarColor})},r(t.avatarLetter),5),d(`div`,L,[d(`div`,R,[d(`strong`,null,r(t.name),1)]),d(`p`,null,r(t.phone),1),d(`p`,null,`مجموع خرید: `+r(h(_)(t.totalPurchaseToman))+` تومان`,1)]),d(`span`,{class:e([`status`,{"status--ok":t.status===`active`,"status--off":t.status===`inactive`,"status--new":t.status===`new`}])},r(ue(t.status)),3),a(ae,{size:18,class:`chevron`})],8,I))),128)),o[7]||=d(`section`,{class:`promo`},[d(`div`,null,[d(`strong`,null,`افزایش مشتریان = افزایش سطح شما`),d(`p`,null,`با جذب مشتریان بیشتر به سطح VIP برسید`)])],-1)]),a(C,{open:q.value,onClose:$,onSuccess:de},null,8,[`open`])]))}}),[[`__scopeId`,`data-v-a6283622`]]);export{z as default}; \ No newline at end of file diff --git a/dist/assets/FavoritesView-DzDObv1x.js b/dist/assets/FavoritesView-CdjVsS4V.js similarity index 96% rename from dist/assets/FavoritesView-DzDObv1x.js rename to dist/assets/FavoritesView-CdjVsS4V.js index e54e0af..54f369f 100644 --- a/dist/assets/FavoritesView-DzDObv1x.js +++ b/dist/assets/FavoritesView-CdjVsS4V.js @@ -1 +1 @@ -import{F as e,M as t,Nt as n,Pt as r,_ as i,d as a,f as o,g as s,i as c,k as l,l as u,nt as d,t as f,u as p,ut as m,v as h}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{u as g}from"./BasicIcon-ba1FsUKx.js";import{o as _}from"./format-C72AoJ2H.js";import{c as v,d as y,w as b}from"./index-CgTrQFr5.js";import{t as x}from"./PageHeader-fQXEgnJ0.js";import{t as S}from"./PageSkeleton-DYdjm4l9.js";import{t as C}from"./crm-CgnSby61.js";import{t as w}from"./IconBookmark-CQq-TOS-.js";import{i as T,n as E,r as D,t as O}from"./productAvailability-B5nVr_sJ.js";var k={class:`page favorites-page`},A={class:`page__scroll page__scroll--with-nav body`},j={key:1},M={key:2,class:`empty`},N=[`onClick`],P={class:`product-item__body`},F={class:`product-item__head`},I={class:`product-item__title`},L={key:0,class:`new-tag new-tag--oos`},R={key:1,class:`new-tag`},z=[`onClick`],B={class:`product-item__specs`},V={key:0,class:`swatches`},H=[`onClick`],U=f(h({__name:`FavoritesView`,setup(f){let h={summer:`تابستانه`,winter:`زمستانه`,all_season:`چهارفصل`},U=b(),W=y(),G=C(),K=d([]),q=d(!0),J=d(null);l(async()=>{q.value=!0;try{await W.hydrate();let e=await G.loadBrowseProducts(),t=new Set(W.ids);K.value=e.filter(e=>t.has(e.id))}catch(e){J.value=e instanceof Error?e.message:`بارگذاری علاقهمندیها ناموفق بود.`}finally{q.value=!1}});function Y(e){return h[e]??`—`}function X(e){return T(e.imageUrls,e.colorImages,e.imageUrl)}function Z(e){U.push({path:`/product`,query:{id:e}})}async function Q(e){await W.toggle(e),K.value=K.value.filter(t=>t.id!==e)}return(l,d)=>(t(),o(`div`,k,[i(x,{class:`mobile-only`,title:`علاقهمندیها`,"show-back":``,centered:``,onBack:d[0]||=e=>m(U).back()}),d[2]||=u(`header`,{class:`desktop-page__head desktop-only`},[u(`h1`,{class:`desktop-page__title`},`علاقهمندیها`),u(`p`,{class:`desktop-page__subtitle`},`محصولات ذخیرهشده برای دسترسی سریع`)],-1),u(`div`,A,[q.value?(t(),p(S,{key:0,variant:`grid`})):J.value?(t(),o(`p`,j,r(J.value),1)):K.value.length?a(``,!0):(t(),o(`p`,M,`هنوز محصولی ذخیره نکردهاید.`)),(t(!0),o(c,null,e(K.value,l=>(t(),o(`article`,{key:l.id,class:`product-item`,onClick:e=>Z(l.id)},[u(`div`,{class:`product-item__image`,style:n(X(l)?{backgroundImage:`url(${X(l)})`}:m(E)(l.colors[0]??``))},null,4),u(`div`,P,[u(`div`,F,[u(`div`,I,[u(`strong`,null,r(l.name),1),m(O)(l)?(t(),o(`span`,L,`ناموجود`)):l.isNew?(t(),o(`span`,R,`جدید`)):a(``,!0)]),u(`button`,{type:`button`,class:`bookmark`,"aria-label":`حذف از علاقهمندیها`,onClick:g(e=>Q(l.id),[`stop`])},[i(w,{size:18,filled:``,color:`var(--color-primary)`})],8,z)]),u(`ul`,B,[u(`li`,null,`عرض: `+r(m(_)(l.widthCm))+` سانتیمتر`,1),u(`li`,null,`ترکیب: `+r(l.composition||`—`),1),u(`li`,null,`مناسب: `+r(Y(l.season)),1)]),l.colors.length?(t(),o(`div`,V,[(t(!0),o(c,null,e(l.colors.slice(0,6),(e,r)=>(t(),o(`span`,{key:r,class:`swatch`,style:n(m(E)(e,m(D)(l.colorImages,l.colorVariantImages,r)))},null,4))),128))])):a(``,!0),u(`button`,{type:`button`,class:`details-link`,onClick:g(e=>Z(l.id),[`stop`])},[d[1]||=s(` مشاهده جزئیات `,-1),i(v,{size:14})],8,H)])],8,N))),128))])]))}}),[[`__scopeId`,`data-v-241cceb3`]]);export{U as default}; \ No newline at end of file +import{F as e,M as t,Nt as n,Pt as r,_ as i,d as a,f as o,g as s,i as c,k as l,l as u,nt as d,t as f,u as p,ut as m,v as h}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{u as g}from"./BasicIcon-ba1FsUKx.js";import{o as _}from"./format-C72AoJ2H.js";import{c as v,d as y,w as b}from"./index-CON313Q2.js";import{t as x}from"./PageHeader-juIsDT9M.js";import{t as S}from"./PageSkeleton-DYdjm4l9.js";import{t as C}from"./crm-CgnSby61.js";import{t as w}from"./IconBookmark-CQq-TOS-.js";import{i as T,n as E,r as D,t as O}from"./productAvailability-B5nVr_sJ.js";var k={class:`page favorites-page`},A={class:`page__scroll page__scroll--with-nav body`},j={key:1},M={key:2,class:`empty`},N=[`onClick`],P={class:`product-item__body`},F={class:`product-item__head`},I={class:`product-item__title`},L={key:0,class:`new-tag new-tag--oos`},R={key:1,class:`new-tag`},z=[`onClick`],B={class:`product-item__specs`},V={key:0,class:`swatches`},H=[`onClick`],U=f(h({__name:`FavoritesView`,setup(f){let h={summer:`تابستانه`,winter:`زمستانه`,all_season:`چهارفصل`},U=b(),W=y(),G=C(),K=d([]),q=d(!0),J=d(null);l(async()=>{q.value=!0;try{await W.hydrate();let e=await G.loadBrowseProducts(),t=new Set(W.ids);K.value=e.filter(e=>t.has(e.id))}catch(e){J.value=e instanceof Error?e.message:`بارگذاری علاقهمندیها ناموفق بود.`}finally{q.value=!1}});function Y(e){return h[e]??`—`}function X(e){return T(e.imageUrls,e.colorImages,e.imageUrl)}function Z(e){U.push({path:`/product`,query:{id:e}})}async function Q(e){await W.toggle(e),K.value=K.value.filter(t=>t.id!==e)}return(l,d)=>(t(),o(`div`,k,[i(x,{class:`mobile-only`,title:`علاقهمندیها`,"show-back":``,centered:``,onBack:d[0]||=e=>m(U).back()}),d[2]||=u(`header`,{class:`desktop-page__head desktop-only`},[u(`h1`,{class:`desktop-page__title`},`علاقهمندیها`),u(`p`,{class:`desktop-page__subtitle`},`محصولات ذخیرهشده برای دسترسی سریع`)],-1),u(`div`,A,[q.value?(t(),p(S,{key:0,variant:`grid`})):J.value?(t(),o(`p`,j,r(J.value),1)):K.value.length?a(``,!0):(t(),o(`p`,M,`هنوز محصولی ذخیره نکردهاید.`)),(t(!0),o(c,null,e(K.value,l=>(t(),o(`article`,{key:l.id,class:`product-item`,onClick:e=>Z(l.id)},[u(`div`,{class:`product-item__image`,style:n(X(l)?{backgroundImage:`url(${X(l)})`}:m(E)(l.colors[0]??``))},null,4),u(`div`,P,[u(`div`,F,[u(`div`,I,[u(`strong`,null,r(l.name),1),m(O)(l)?(t(),o(`span`,L,`ناموجود`)):l.isNew?(t(),o(`span`,R,`جدید`)):a(``,!0)]),u(`button`,{type:`button`,class:`bookmark`,"aria-label":`حذف از علاقهمندیها`,onClick:g(e=>Q(l.id),[`stop`])},[i(w,{size:18,filled:``,color:`var(--color-primary)`})],8,z)]),u(`ul`,B,[u(`li`,null,`عرض: `+r(m(_)(l.widthCm))+` سانتیمتر`,1),u(`li`,null,`ترکیب: `+r(l.composition||`—`),1),u(`li`,null,`مناسب: `+r(Y(l.season)),1)]),l.colors.length?(t(),o(`div`,V,[(t(!0),o(c,null,e(l.colors.slice(0,6),(e,r)=>(t(),o(`span`,{key:r,class:`swatch`,style:n(m(E)(e,m(D)(l.colorImages,l.colorVariantImages,r)))},null,4))),128))])):a(``,!0),u(`button`,{type:`button`,class:`details-link`,onClick:g(e=>Z(l.id),[`stop`])},[d[1]||=s(` مشاهده جزئیات `,-1),i(v,{size:14})],8,H)])],8,N))),128))])]))}}),[[`__scopeId`,`data-v-241cceb3`]]);export{U as default}; \ No newline at end of file diff --git a/dist/assets/HomeView-CXgcq2uF.js b/dist/assets/HomeView-BaCeq3_m.js similarity index 98% rename from dist/assets/HomeView-CXgcq2uF.js rename to dist/assets/HomeView-BaCeq3_m.js index ef79005..2446501 100644 --- a/dist/assets/HomeView-CXgcq2uF.js +++ b/dist/assets/HomeView-BaCeq3_m.js @@ -1 +1 @@ -import{A as e,At as t,F as n,G as r,M as i,Nt as a,Pt as o,R as s,_ as c,c as l,d as u,f as d,g as f,h as ee,i as p,k as m,l as h,nt as g,t as _,u as v,ut as y,v as b}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{r as te,u as x}from"./BasicIcon-ba1FsUKx.js";import{n as ne}from"./dist-Bc4P4ngC.js";import{o as S}from"./format-C72AoJ2H.js";import{n as C}from"./http-CU_N-R2R.js";import{c as re,d as ie,l as ae,o as oe,s as se,u as w,w as T}from"./index-CgTrQFr5.js";import{t as ce}from"./IconChevronBack-DytWz6TD.js";import{t as le}from"./PageSkeleton-DYdjm4l9.js";import{n as ue,r as de,t as fe}from"./crm-CgnSby61.js";import{t as pe}from"./useGoBack-lLS3DC5F.js";import{t as me}from"./useTouchSwipe-C8fUyAcQ.js";import{t as he}from"./bannerLink-BW8t2Oqp.js";import{t as ge}from"./IconBookmark-CQq-TOS-.js";import{t as _e}from"./IconHeart-CvzbNH_T.js";import{n as E,t as D}from"./AddressCompletionModal-BVo6FI5Y.js";import{n as O,t as k}from"./productAvailability-B5nVr_sJ.js";async function ve(){return C(`/suggestions/me`)}var ye=`/assets/level-medal-Avpe4Lqa.webp`,A=`/assets/quick-categories-grid-MFEfEUjL.webp`,be=`/assets/quick-catalog-request-Ck7EqicC.webp`,xe=`/assets/latest-order-status-CfJ1sx5U.webp`,j={class:`suggest-panel`,"aria-label":`پیشنهاد اختصاصی`},M={class:`suggest-panel__head`},N={key:0,class:`suggest-panel__empty`},P={key:1,class:`suggest-panel__row scroll-x`},F=[`onClick`],Se={key:0,class:`suggest-product__chip suggest-product__chip--oos`},I={key:1,class:`suggest-product__chip`},L=[`aria-label`,`aria-pressed`,`onClick`],R={class:`suggest-product__body`},z={class:`suggest-product__name`},B={class:`suggest-product__desc`},V={key:0,class:`suggest-product__swatches`},H={key:0,class:`suggest-product__swatch suggest-product__swatch--more`},U={class:`suggest-product__specs`},W={class:`suggest-product__spec`},G={class:`suggest-product__spec-copy`},Ce={class:`suggest-product__spec-val`},we={class:`suggest-product__spec`},K={class:`suggest-product__spec-copy`},q={class:`suggest-product__spec-val`},J=[`disabled`,`onClick`],Y=4,Te=_(b({__name:`HomeSuggestionsSection`,props:{items:{}},setup(e){let t=e,r=T(),s=ie(),{requesting:m,addressModalOpen:g,addressError:_,requestCatalog:v,submitAddressAndRequest:b,closeAddressModal:te}=E();function ne(e){return e.note?.trim()||e.subtitle?.trim()||`مشابه خریدهای قبلی شما`}function C(e){let t=e.colors?.length??0;return t>Y?t-Y:0}function ae(e){return{id:e.productId,name:e.productName,code:e.productCode,categoryId:``,season:`all_season`,widthCm:e.widthCm??0,composition:e.composition??``,colors:e.colors??(e.color?[e.color]:[]),colorImages:e.colorImages,tags:[],isNew:!!e.isNew,imageUrl:e.imageUrl,subtitle:e.subtitle,rollMeters:1,catalogName:e.catalogName,catalogCode:e.catalogCode,color:e.color,isActive:e.productIsActive!==!1}}function oe(e){r.push({path:`/product`,query:{id:e.productId}})}async function se(e){await s.toggle(e)}async function w(e){await v(ae(e))}let ce=l(()=>t.items.length>0);function le(e){return e.composition?.trim()||`—`}function ue(e){return e.widthCm?`${S(e.widthCm)} cm`:`—`}return(t,l)=>(i(),d(`section`,j,[h(`header`,M,[l[3]||=ee(`
بر اساس خریدهای قبلی و علاقهمندیهای شما
بر اساس خریدهای قبلی و علاقهمندیهای شما
``),Y(0))}async function pe(){if(!K.value)return;U.value=``,H.value={};let e=z.value?E():null;if(z.value&&!e){U.value=`برای ارسال مجدد کد، نام و نام خانوادگی لازم است. لطفاً دوباره ثبتنام را شروع کنید.`;return}let t=await L.requestOtp(R.value,{isRegister:z.value,firstName:e?.firstName,lastName:e?.lastName});t.success?(B.value=Array.from({length:P},()=>``),X(),Y(0)):U.value=t.message??`خطا در ارسال مجدد کد.`}function me(){I.replace({name:z.value?`register`:`login`})}return f(()=>{if(!R.value){I.replace({name:`login`});return}X(),Y(0)}),(t,s)=>(i(),g(te,{"back-to":z.value?`/register`:`/login`},{default:r(()=>[s[2]||=p(`h1`,{class:`auth-title`},`کد تأیید`,-1),p(`p`,k,[s[0]||=u(` کد ارسالشده به `,-1),p(`span`,A,a(_(x)(R.value)),1),s[1]||=u(` را وارد کنید `,-1)]),p(`form`,{class:`auth-form`,onSubmit:y($,[`prevent`])},[o(ne,{message:U.value},null,8,[`message`]),p(`div`,ie,[(i(!0),l(d,null,n(B.value,(t,n)=>(i(),l(`input`,{id:`otp-${n}`,key:n,ref_for:!0,ref:e=>ce(e,n),class:e([`otp-box`,{"is-invalid":H.value.code}]),type:`text`,inputmode:`numeric`,autocomplete:`one-time-code`,maxlength:`1`,value:fe(t),"aria-label":`رقم ${_(x)(String(n+1))}`,onInput:e=>le(n,e),onKeydown:e=>ue(n,e),onPaste:e=>de(n,e)},null,42,ae))),128))]),H.value.code?(i(),l(`p`,j,a(H.value.code),1)):c(``,!0),p(`button`,{class:`otp-resend`,type:`button`,disabled:!K.value,onClick:pe},[K.value?(i(),l(d,{key:0},[u(`ارسال مجدد کد`)],64)):(i(),l(d,{key:1},[u(`ارسال مجدد کد (`+a(q.value)+` ثانیه)`,1)],64))],8,M),p(`button`,{class:`auth-submit`,type:`submit`,disabled:_(L).loading},a(_(L).loading?`در حال بررسی…`:`تأیید`),9,N),p(`button`,{type:`button`,class:`otp-edit`,onClick:me},`ویرایش شماره`)],32)]),_:1},8,[`back-to`]))}}),[[`__scopeId`,`data-v-27df1667`]]);export{I as default}; \ No newline at end of file +import{At as e,E as t,F as n,G as r,M as i,Pt as a,_ as o,c as s,d as c,f as l,g as u,i as d,k as f,l as p,nt as m,t as h,u as g,ut as _,v}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{u as y}from"./BasicIcon-ba1FsUKx.js";import{l as b}from"./dist-U-AqZ6hP.js";import{d as x,l as S,t as C}from"./format-C72AoJ2H.js";import{C as w,u as T,v as E,w as ee}from"./index-CON313Q2.js";import{t as te}from"./AuthShell-CYH2Fv8N.js";import{t as ne}from"./FormErrorBanner-Ud1D04xf.js";import{n as re,r as D,t as O}from"./formErrors-DglFjYkZ.js";var k={class:`auth-lead`},A={dir:`ltr`},ie={class:`otp-row`,dir:`ltr`,role:`group`,"aria-label":`کد تأیید`},ae=[`id`,`value`,`aria-label`,`onInput`,`onKeydown`,`onPaste`],j={key:0,class:`auth-error`},M=[`disabled`],N=[`disabled`],P=4,F=60,I=h(v({__name:`OtpView`,setup(h){let v=w(),I=ee(),L=T(),R=s(()=>{let e=v.query.phone,t=Array.isArray(e)?e[0]:e;return S(typeof t==`string`?t:``)}),z=s(()=>v.query.mode===`register`),B=m(Array.from({length:P},()=>``)),V=m([]),H=m({}),U=m(``),W=m(F),G=s(()=>B.value.join(``)),K=s(()=>W.value<=0&&!L.loading),q=s(()=>x(String(W.value))),{pause:oe,resume:se}=b(()=>{if(W.value<=1){W.value=0,oe();return}--W.value},1e3,{immediate:!1});function J(){H.value=re(H.value,`code`),D(H.value)||(U.value=``)}function ce(e,t){V.value[t]=e}function Y(e){let n=Math.max(0,Math.min(3,e));t(()=>V.value[n]?.focus())}function X(){W.value=F,se()}function Z(e,t=0){let n=C(e).slice(0,P-t);if(!n)return t;let r=[...B.value],i=t;for(let e of n){if(i>=P)break;r[i]=e,i+=1}return B.value=r,J(),Math.min(i,3)}function Q(){G.value.length===P&&!L.loading&&$()}function le(e,t){let n=t.target,r=C(n.value);if(r.length>1){let t=Z(r,e);n.value=B.value[e]??``,Y(t),Q();return}let i=r.slice(-1);B.value[e]=i,n.value=i,J(),i&&e<3?Y(e+1):i&&Q()}function ue(e,t){if(t.key===`Backspace`){if(B.value[e]){B.value[e]=``,J();return}e>0&&(B.value[e-1]=``,J(),Y(e-1));return}if(t.key===`ArrowLeft`){t.preventDefault(),Y(e-1);return}t.key===`ArrowRight`&&(t.preventDefault(),Y(e+1))}function de(e,t){t.preventDefault(),Y(Z(t.clipboardData?.getData(`text`)??``,e)),Q()}function fe(e){return e?x(e):``}async function $(){if(L.loading)return;H.value={},U.value=``;let e={};if(G.value.length
``),Y(0))}async function pe(){if(!K.value)return;U.value=``,H.value={};let e=z.value?E():null;if(z.value&&!e){U.value=`برای ارسال مجدد کد، نام و نام خانوادگی لازم است. لطفاً دوباره ثبتنام را شروع کنید.`;return}let t=await L.requestOtp(R.value,{isRegister:z.value,firstName:e?.firstName,lastName:e?.lastName,referrerAgentCode:e?.referrerAgentCode});t.success?(B.value=Array.from({length:P},()=>``),X(),Y(0)):U.value=t.message??`خطا در ارسال مجدد کد.`}function me(){I.replace({name:z.value?`register`:`login`})}return f(()=>{if(!R.value){I.replace({name:`login`});return}X(),Y(0)}),(t,s)=>(i(),g(te,{"back-to":z.value?`/register`:`/login`},{default:r(()=>[s[2]||=p(`h1`,{class:`auth-title`},`کد تأیید`,-1),p(`p`,k,[s[0]||=u(` کد ارسالشده به `,-1),p(`span`,A,a(_(x)(R.value)),1),s[1]||=u(` را وارد کنید `,-1)]),p(`form`,{class:`auth-form`,onSubmit:y($,[`prevent`])},[o(ne,{message:U.value},null,8,[`message`]),p(`div`,ie,[(i(!0),l(d,null,n(B.value,(t,n)=>(i(),l(`input`,{id:`otp-${n}`,key:n,ref_for:!0,ref:e=>ce(e,n),class:e([`otp-box`,{"is-invalid":H.value.code}]),type:`text`,inputmode:`numeric`,autocomplete:`one-time-code`,maxlength:`1`,value:fe(t),"aria-label":`رقم ${_(x)(String(n+1))}`,onInput:e=>le(n,e),onKeydown:e=>ue(n,e),onPaste:e=>de(n,e)},null,42,ae))),128))]),H.value.code?(i(),l(`p`,j,a(H.value.code),1)):c(``,!0),p(`button`,{class:`otp-resend`,type:`button`,disabled:!K.value,onClick:pe},[K.value?(i(),l(d,{key:0},[u(`ارسال مجدد کد`)],64)):(i(),l(d,{key:1},[u(`ارسال مجدد کد (`+a(q.value)+` ثانیه)`,1)],64))],8,M),p(`button`,{class:`auth-submit`,type:`submit`,disabled:_(L).loading},a(_(L).loading?`در حال بررسی…`:`تأیید`),9,N),p(`button`,{type:`button`,class:`otp-edit`,onClick:me},`ویرایش شماره`)],32)]),_:1},8,[`back-to`]))}}),[[`__scopeId`,`data-v-dd3d5b1e`]]);export{I as default};
\ No newline at end of file
diff --git a/dist/assets/OtpView-Du7ztflj.css b/dist/assets/OtpView-Du7ztflj.css
deleted file mode 100644
index a661067..0000000
--- a/dist/assets/OtpView-Du7ztflj.css
+++ /dev/null
@@ -1 +0,0 @@
-.auth-title[data-v-27df1667]{text-align:center;color:#1e293b;margin:0 0 8px;font-size:24px;font-weight:800}.auth-lead[data-v-27df1667]{text-align:center;color:#667085;margin:0 0 22px;font-size:13px;line-height:1.8}.auth-form[data-v-27df1667]{flex-direction:column;align-items:stretch;gap:14px;display:flex}.otp-row[data-v-27df1667]{direction:ltr;justify-content:center;gap:10px;display:flex}.otp-box[data-v-27df1667]{text-align:center;width:56px;height:56px;font:inherit;color:#1e293b;background:#fff;border:1px solid #eaecf0;border-radius:14px;font-size:22px;font-weight:700}.otp-box.is-invalid[data-v-27df1667]{border-color:#b42318}.auth-error[data-v-27df1667]{text-align:center;color:#b42318;margin:0;font-size:12px}.otp-resend[data-v-27df1667],.otp-edit[data-v-27df1667]{color:#667085;font:inherit;cursor:pointer;background:0 0;border:0;font-size:13px}.otp-resend[data-v-27df1667]:disabled{cursor:default}.auth-submit[data-v-27df1667]{color:#fff;height:52px;font:inherit;cursor:pointer;background:#1e293b;border:0;border-radius:14px;font-size:16px;font-weight:700}.auth-submit[data-v-27df1667]:disabled{opacity:.7}
diff --git a/dist/assets/PageHeader-fQXEgnJ0.js b/dist/assets/PageHeader-juIsDT9M.js
similarity index 95%
rename from dist/assets/PageHeader-fQXEgnJ0.js
rename to dist/assets/PageHeader-juIsDT9M.js
index 43c77d0..f06bd40 100644
--- a/dist/assets/PageHeader-fQXEgnJ0.js
+++ b/dist/assets/PageHeader-juIsDT9M.js
@@ -1 +1 @@
-import{I as e,M as t,Pt as n,T as r,_ as i,d as a,f as o,i as s,l as c,t as l,v as u}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{s as d}from"./index-CgTrQFr5.js";import{t as f}from"./IconChevronBack-DytWz6TD.js";var p={key:1,class:`nav-btn`},m={class:`page-nav__title`},h={class:`page-nav__trailing`},g={key:0,class:`page-nav__subtitle`},_={class:`header-text`},v={class:`page-title`},y={key:0,class:`page-subtitle`},b={class:`page-header__trailing`},x=l(u({inheritAttrs:!1,__name:`PageHeader`,props:{title:{},subtitle:{},showBack:{type:Boolean},centered:{type:Boolean}},emits:[`back`],setup(l){return(u,x)=>l.centered?(t(),o(s,{key:0},[c(`header`,r({class:`page-nav`},u.$attrs),[l.showBack?(t(),o(`button`,{key:0,type:`button`,class:`nav-btn`,"aria-label":`بازگشت`,onClick:x[0]||=e=>u.$emit(`back`)},[i(f,{size:20})])):(t(),o(`span`,p)),c(`h1`,m,n(l.title),1),c(`div`,h,[e(u.$slots,`trailing`,{},void 0,!0),i(d,{variant:`inline`,class:`mobile-only`})])],16),l.subtitle?(t(),o(`p`,g,n(l.subtitle),1)):a(``,!0)],64)):(t(),o(`header`,r({key:1,class:`page-header`},u.$attrs),[l.showBack?(t(),o(`button`,{key:0,type:`button`,class:`back-btn`,"aria-label":`بازگشت`,onClick:x[1]||=e=>u.$emit(`back`)},[i(f,{size:20})])):a(``,!0),c(`div`,_,[c(`h1`,v,n(l.title),1),l.subtitle?(t(),o(`p`,y,n(l.subtitle),1)):a(``,!0)]),c(`div`,b,[e(u.$slots,`trailing`,{},void 0,!0),i(d,{variant:`inline`,class:`mobile-only`})])],16))}}),[[`__scopeId`,`data-v-45fb00ff`]]);export{x as t};
\ No newline at end of file
+import{I as e,M as t,Pt as n,T as r,_ as i,d as a,f as o,i as s,l as c,t as l,v as u}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{s as d}from"./index-CON313Q2.js";import{t as f}from"./IconChevronBack-DytWz6TD.js";var p={key:1,class:`nav-btn`},m={class:`page-nav__title`},h={class:`page-nav__trailing`},g={key:0,class:`page-nav__subtitle`},_={class:`header-text`},v={class:`page-title`},y={key:0,class:`page-subtitle`},b={class:`page-header__trailing`},x=l(u({inheritAttrs:!1,__name:`PageHeader`,props:{title:{},subtitle:{},showBack:{type:Boolean},centered:{type:Boolean}},emits:[`back`],setup(l){return(u,x)=>l.centered?(t(),o(s,{key:0},[c(`header`,r({class:`page-nav`},u.$attrs),[l.showBack?(t(),o(`button`,{key:0,type:`button`,class:`nav-btn`,"aria-label":`بازگشت`,onClick:x[0]||=e=>u.$emit(`back`)},[i(f,{size:20})])):(t(),o(`span`,p)),c(`h1`,m,n(l.title),1),c(`div`,h,[e(u.$slots,`trailing`,{},void 0,!0),i(d,{variant:`inline`,class:`mobile-only`})])],16),l.subtitle?(t(),o(`p`,g,n(l.subtitle),1)):a(``,!0)],64)):(t(),o(`header`,r({key:1,class:`page-header`},u.$attrs),[l.showBack?(t(),o(`button`,{key:0,type:`button`,class:`back-btn`,"aria-label":`بازگشت`,onClick:x[1]||=e=>u.$emit(`back`)},[i(f,{size:20})])):a(``,!0),c(`div`,_,[c(`h1`,v,n(l.title),1),l.subtitle?(t(),o(`p`,y,n(l.subtitle),1)):a(``,!0)]),c(`div`,b,[e(u.$slots,`trailing`,{},void 0,!0),i(d,{variant:`inline`,class:`mobile-only`})])],16))}}),[[`__scopeId`,`data-v-45fb00ff`]]);export{x as t};
\ No newline at end of file
diff --git a/dist/assets/ProductDetailView-CM8GTOuO.js b/dist/assets/ProductDetailView-VqpUU37A.js
similarity index 98%
rename from dist/assets/ProductDetailView-CM8GTOuO.js
rename to dist/assets/ProductDetailView-VqpUU37A.js
index 461bb24..a1bde81 100644
--- a/dist/assets/ProductDetailView-CM8GTOuO.js
+++ b/dist/assets/ProductDetailView-VqpUU37A.js
@@ -1 +1 @@
-import{At as e,D as t,F as n,G as r,M as i,Nt as a,Pt as o,U as s,_ as c,c as l,d as u,f as d,g as f,i as p,k as m,l as h,nt as g,o as ee,t as _,u as v,ut as y,v as b}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{u as x}from"./BasicIcon-ba1FsUKx.js";import{o as S}from"./format-C72AoJ2H.js";import{t as C}from"./catalog-DWpH1dVc.js";import{t as w}from"./cart-F5Rptvi1.js";import{t as T}from"./IconCart-f4izyxj_.js";import{C as E,d as D,r as O,w as k}from"./index-CgTrQFr5.js";import{t as te}from"./IconChevronBack-DytWz6TD.js";import{t as ne}from"./PageSkeleton-DYdjm4l9.js";import{a as re,o as ie,t as ae}from"./crm-CgnSby61.js";import{n as oe,r as se,t as ce}from"./IconWeave-CTypFxhM.js";import{t as le}from"./useGoBack-lLS3DC5F.js";import{t as ue}from"./useTouchSwipe-C8fUyAcQ.js";import{t as de}from"./IconHeart-CvzbNH_T.js";import{n as fe,t as pe}from"./AddressCompletionModal-BVo6FI5Y.js";import{n as A,r as me,t as he}from"./productAvailability-B5nVr_sJ.js";var ge=[`width`,`height`],j=[`stroke`],M=[`stroke`],N=[`stroke`],_e=b({__name:`IconShare`,props:{size:{default:20},color:{default:`#9AA3AF`}},setup(e){return(t,n)=>(i(),d(`svg`,{width:e.size,height:e.size,viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,"aria-hidden":`true`},[h(`path`,{d:`M12 3.5v11`,stroke:e.color,"stroke-width":`1.5`,"stroke-linecap":`round`},null,8,j),h(`path`,{d:`M8.25 7 12 3.25 15.75 7`,stroke:e.color,"stroke-width":`1.5`,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,8,M),h(`path`,{d:`M6.5 11.5v7.25c0 .97.78 1.75 1.75 1.75h7.5c.97 0 1.75-.78 1.75-1.75V11.5`,stroke:e.color,"stroke-width":`1.5`,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,8,N)],8,ge))}}),P={class:`dialog card product-order-modal`},F={class:`product-order-modal__head`},I={class:`product-order-modal__rows`},L={class:`product-order-row__color`},R=[`title`],z={key:0,class:`product-order-row__label`},B={class:`product-order-row__stepper`},V=[`disabled`,`onClick`],H={class:`product-order-row__qty`},U=[`disabled`,`onClick`],W={key:0,class:`product-order-modal__error`},G={class:`product-order-modal__footer`},K={class:`product-order-modal__prices`},q={key:0,class:`product-order-modal__price`},J={class:`product-order-modal__price`},Y={key:0},X={key:1},Z={key:2},Q={key:0,class:`product-order-modal__hint`},ve=_(b({__name:`ProductOrderModal`,props:{open:{type:Boolean},product:{},rollMeters:{},minRolls:{},basePrice:{},loading:{type:Boolean},error:{}},emits:[`close`,`submit`],setup(e,{emit:m}){let _=e,b=m,C=g([]);s(()=>[_.open,_.product?.colors.length],([e])=>{!e||!_.product||(C.value=_.product.colors.map(()=>0))});let w=l(()=>C.value.reduce((e,t)=>e+(t>0?t:0),0)),T=l(()=>w.value*_.rollMeters),E=l(()=>!_.basePrice||T.value<=0?null:_.basePrice*T.value);function D(e){e.key===`Escape`&&_.open&&b(`close`)}s(()=>_.open,e=>{document.body.style.overflow=e?`hidden`:``,e?window.addEventListener(`keydown`,D):window.removeEventListener(`keydown`,D)},{immediate:!0}),t(()=>{document.body.style.overflow=``,window.removeEventListener(`keydown`,D)});function k(e,t){let n=[...C.value];n[e]=Math.max(0,(n[e]??0)+t),C.value=n}function te(){b(`submit`,[...C.value])}return(t,s)=>(i(),v(ee,{to:`body`},[e.open&&e.product?(i(),d(`div`,{key:0,class:`dialog-overlay product-order-overlay`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`product-order-title`,onClick:s[1]||=x(e=>b(`close`),[`self`])},[h(`div`,P,[h(`header`,F,[s[2]||=h(`h3`,{id:`product-order-title`,class:`product-order-modal__title`},`ثبت سفارش`,-1),h(`button`,{type:`button`,class:`product-order-modal__close`,"aria-label":`بستن`,onClick:s[0]||=e=>b(`close`)},` × `)]),s[5]||=h(`div`,{class:`product-order-modal__table-head`,"aria-hidden":`true`},[h(`span`,null,`رنگ`),h(`span`,null,`طاقه`)],-1),h(`ul`,I,[(i(!0),d(p,null,n(e.product.colors,(t,n)=>(i(),d(`li`,{key:n,class:`product-order-row`},[h(`div`,L,[h(`span`,{class:`product-order-row__swatch`,style:a(y(A)(t,y(me)(e.product.colorImages,e.product.colorVariantImages,n))),title:t},null,12,R),t?(i(),d(`span`,z,o(t),1)):u(``,!0)]),h(`div`,B,[h(`button`,{type:`button`,class:`product-order-row__btn`,"aria-label":`کاهش`,disabled:e.loading||(C.value[n]??0)<=0,onClick:e=>k(n,-1)},` − `,8,V),h(`span`,H,o(y(S)(C.value[n]??0)),1),h(`button`,{type:`button`,class:`product-order-row__btn`,"aria-label":`افزایش`,disabled:e.loading,onClick:e=>k(n,1)},` + `,8,U)])]))),128))]),e.error?(i(),d(`p`,W,o(e.error),1)):u(``,!0),h(`footer`,G,[h(`div`,K,[e.basePrice&&e.basePrice>0?(i(),d(`div`,q,[s[3]||=h(`span`,null,`قیمت هر متر`,-1),h(`strong`,null,o(y(S)(e.basePrice))+` تومان`,1)])):u(``,!0),h(`div`,J,[s[4]||=h(`span`,null,`جمع تقریبی`,-1),E.value==null?w.value>0&&(!e.basePrice||e.basePrice<=0)?(i(),d(`strong`,X,o(y(S)(T.value))+` متر `,1)):(i(),d(`strong`,Z,`—`)):(i(),d(`strong`,Y,o(y(S)(E.value))+` تومان`,1))])]),e.minRolls>0?(i(),d(`p`,Q,` حداقل سفارش: `+o(y(S)(e.minRolls))+` طاقه `,1)):u(``,!0),c(O,{class:`product-order-modal__submit`,disabled:e.loading,onClick:te},{default:r(()=>[f(o(e.loading?`در حال ثبت...`:`ثبت`),1)]),_:1},8,[`disabled`])])])])):u(``,!0)]))}}),[[`__scopeId`,`data-v-5c5793fb`]]),ye={key:0,class:`page product-detail product-page`},be={class:`pd-header mobile-only`},xe={class:`pd-header__actions`},Se=[`aria-label`,`aria-pressed`],Ce={class:`desktop-page__head desktop-only pd-desk-head`},we={class:`desktop-page__title`},Te={class:`desktop-page__subtitle`},Ee={key:0,class:`pd-stock-badge`},De={class:`pd-desk-head__actions`},Oe=[`aria-label`,`aria-pressed`],ke={class:`page__scroll pd-scroll product-page__scroll`},Ae={class:`product-page__layout`},je={class:`product-page__main`},Me={class:`gallery`},Ne={key:0,class:`gallery__dots`,role:`tablist`,"aria-label":`تصاویر عمومی محصول`},Pe=[`aria-label`,`aria-selected`,`onClick`],Fe={key:0,class:`gallery__thumbs`},Ie=[`onClick`],Le={class:`pd-body`},Re={class:`title-row`},ze={key:0,class:`pd-stock-badge`},Be={key:1,class:`new-badge`},Ve={class:`code`},He={class:`specs`},Ue={class:`spec-cell`},We={class:`spec-icon`,"aria-hidden":`true`},Ge={class:`spec-cell`},Ke={class:`spec-cell`},qe={class:`spec-icon`,"aria-hidden":`true`},Je={class:`spec-cell`},Ye={class:`spec-icon`,"aria-hidden":`true`},Xe={key:0,class:`specs-extra`},Ze={class:`specs-extra__text`},Qe={class:`pd-section pd-section--boxed`},$e={class:`section-head`},et={class:`colors`},tt=[`onClick`],nt={key:0,class:`variant-images`,role:`list`},rt={class:`pd-section`},it={class:`tags`,role:`list`},at=[`onClick`],ot={class:`pd-section`},st={class:`roll-field`},ct={class:`product-page__sidebar desktop-only`},lt={class:`cart-summary-panel`},ut={class:`cart-summary-panel__row`},dt={class:`cart-summary-panel__row`},ft={key:0,class:`cart-summary-panel__unavailable`},pt={key:1,class:`cart-summary-panel__btn`},mt=[`disabled`],ht={class:`pd-footer mobile-only sticky-footer`},gt={key:0,class:`pd-footer__primary`},_t={key:1,class:`pd-footer__primary`},vt={class:`min-note`},yt=[`disabled`],bt={key:1,class:`page empty`},xt={key:2,class:`page empty`},St=_(b({__name:`ProductDetailView`,setup(t){let r={suit:`پارچه کتشلواری`,trousers:`پارچه شلواری`,shirt:`پارچه پیراهنی`},ee={summer:`پارچه تابستانه`,winter:`پارچه زمستانه`,all_season:`پارچه چهارفصل`},_=E(),v=k(),{goBack:b}=le(`/products`),x=ae(),O=D(),ge=w(),j=C(),M=l(()=>String(_.query.id??``)),N=g(null),P=g(!0),F=g(null),I=g(0),L=g(0),R=g(1),z=g(!1),B=g(!1),V=g(!1),H=g(``),{requesting:U,addressModalOpen:W,addressError:G,requestCatalog:K,submitAddressAndRequest:q,closeAddressModal:J}=fe(),Y=l(()=>N.value?.rollMeters??50),X=l(()=>N.value?he(N.value):!1),Z=l(()=>(N.value?.imageUrls??[]).filter(e=>typeof e==`string`&&e.trim().length>0)),Q=l(()=>Z.value[L.value]??``);function St(e){let t=Z.value.length;t&&(L.value=(e%t+t)%t)}let{onTouchStart:Ct,onTouchEnd:wt}=ue({enabled:()=>Z.value.length>1,onSwipe(e){St(L.value+e)}}),Tt=l(()=>{let e=N.value;if(!e)return[];let t=I.value,n=e.colorVariantImages?.[t];if(n?.length)return n;let r=e.colorImages?.[t];return r?[r]:[]}),Et=l(()=>N.value?.colors[I.value]??``),Dt=l(()=>R.value*Y.value),Ot=l(()=>{let e=N.value?.minMeterage;return e&&e>0?e:Y.value}),$=l(()=>Math.max(1,Math.ceil(Ot.value/Y.value))),kt=l(()=>N.value?.specs?.trim()??``),At=l(()=>kt.value.length>0),jt=l(()=>{let e=N.value;if(!e)return[];let t=[],n=ie.some(t=>t.id===e.categoryId)?e.categoryId:``,i=n?r[n]:``;i&&t.push({key:`usage-${n}`,label:i,to:{path:`/products`,query:{categoryId:n}}});let a=re.some(t=>t.id===e.season)?e.season:``,o=a?ee[a]:``;o&&t.push({key:`season-${a}`,label:o,to:{path:`/products`,query:{season:a}}});let s=new Set(t.flatMap(e=>[e.label,e.label.replace(/^پارچه\s*/,``)]));for(let n of e.tags){let e=n.replace(/^پارچه?های?\s*/,``).trim();if(!e||s.has(e)||t.some(t=>t.label.includes(e)))continue;let r=n.startsWith(`پارچه`)?n:`پارچه ${e}`;s.add(e),t.push({key:`tag-${n}`,label:r})}return t});async function Mt(){if(!M.value){N.value=null,P.value=!1;return}P.value=!0,F.value=null;try{await Promise.all([O.hydrate(),j.loadCompanies()]),N.value=await x.loadProductById(M.value),I.value=0,L.value=0,R.value=$.value}catch(e){N.value=null,F.value=e instanceof Error?e.message:`محصول یافت نشد.`}finally{P.value=!1}}m(Mt),s(M,Mt);function Nt(e,t=I.value){let n=e.rollMeters||50,r=e.orderMultiplier&&e.orderMultiplier>0?e.orderMultiplier:n,i=e.minMeterage&&e.minMeterage>0?e.minMeterage:n;return{id:e.id,companyId:e.companyId||``,catalogId:e.catalogId||``,name:e.name,code:e.code,color:e.color||e.colors[t]||`—`,minMeterage:i,orderMultiplier:r,basePrice:e.basePrice,isActive:e.isActive!==!1}}function Pt(e,t,n){let r=t>0?t:1,i=Math.ceil(e/r)*r,a=Math.ceil(n/r)*r;return Math.max(i,a)}function Ft(){!N.value||X.value||(H.value=``,V.value=!0)}function It(){V.value=!1,H.value=``}async function Lt(e){let t=N.value;if(!t)return;let n=t.colors.map((t,n)=>({color:t,idx:n,rolls:e[n]??0})).filter(e=>e.rolls>0);if(!n.length){H.value=`حداقل یک رنگ با تعداد انتخاب کنید.`;return}let r=n.reduce((e,t)=>e+t.rolls,0)*Y.value;if(r