Files
nademitex_admin/dist/assets/SettingsView-CKijJhFP.js
T
2026-09-30 09:53:30 +03:30

1 line
14 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import{$ as e,At as t,B as n,D as r,Dt as i,E as a,M as o,U as s,Z as c,a as l,c as u,d,g as f,h as p,k as m,kt as h,l as g,m as _,r as v,s as y,t as b,u as x,w as S}from"./_plugin-vue_export-helper-QrIvvHC8.js";import{a as C,f as w,l as T,m as E,p as D}from"./http-BjLkjdQu.js";import{D as O,N as k,R as A,w as j,y as M}from"./index-BzcByePp.js";import{t as N}from"./AdminPageSkeleton-oWhHYjl4.js";var P=[`id`],F=[`aria-label`,`aria-expanded`,`disabled`],I={class:`admin-multi-select__value`},L={class:`admin-multi-select__chevron`,"aria-hidden":`true`},R={key:0,class:`admin-multi-select__chips`},z={class:`admin-multi-select__chip-label`},B=[`onClick`],V=[`aria-label`],ee={key:0,class:`admin-multi-select__search`,role:`presentation`},te=[`placeholder`],H={key:1,class:`admin-multi-select__empty`,role:`presentation`},U=[`aria-selected`,`onClick`],W={class:`admin-multi-select__option-label`},G=b(f({__name:`AdminMultiSelect`,props:{modelValue:{},options:{},placeholder:{default:`انتخاب کنید`},ariaLabel:{default:`انتخاب چندگانه`},block:{type:Boolean,default:!1},searchable:{type:Boolean,default:!0},searchPlaceholder:{default:`جستجو…`},disabled:{type:Boolean,default:!1},id:{default:void 0}},emits:[`update:modelValue`],setup(a,{emit:c}){let f=a,_=c,b=e(!1),C=e(``),T=e(null),O=e(null),j=e(null),M=e({});k(T,()=>{b.value=!1,C.value=``},{ignore:[O]});let N=y(()=>new Set(f.modelValue)),G=y(()=>f.options.filter(e=>N.value.has(e.value))),K=y(()=>{let e=f.modelValue.length;return e?e===1?G.value[0]?.label??f.placeholder:`${e} مورد انتخاب شده`:f.placeholder}),q=y(()=>{let e=C.value.trim().toLowerCase();return e?f.options.filter(t=>t.label.toLowerCase().includes(e)):f.options});function J(){let e=T.value;if(!e)return;let t=e.getBoundingClientRect(),n=Math.min(320,window.innerHeight*.5),r=window.innerHeight-t.bottom-6,i=t.top-6,a=r<Math.min(160,n)&&i>r,o=Math.max(120,Math.min(n,a?i:r));M.value={position:`fixed`,left:`${Math.max(8,Math.min(t.left,window.innerWidth-Math.max(t.width,220)-8))}px`,width:`${Math.max(t.width,220)}px`,zIndex:`1100`,maxHeight:`${o}px`,...a?{top:`auto`,bottom:`${window.innerHeight-t.top+6}px`}:{top:`${t.bottom+6}px`,bottom:`auto`}}}function Y(e){e?(window.addEventListener(`resize`,J),window.addEventListener(`scroll`,J,!0)):(window.removeEventListener(`resize`,J),window.removeEventListener(`scroll`,J,!0))}async function X(){f.disabled||(b.value=!b.value,b.value&&(await S(),J(),f.searchable&&(C.value=``,await S(),j.value?.focus())))}function Z(e){let t=new Set(f.modelValue);t.has(e)?t.delete(e):t.add(e),_(`update:modelValue`,[...t])}function Q(e){_(`update:modelValue`,f.modelValue.filter(t=>t!==e))}return n(b,e=>{Y(e),e&&S(()=>J())}),r(()=>{Y(!1)}),(e,n)=>(m(),d(`div`,{id:a.id,ref_key:`rootRef`,ref:T,class:i([`admin-multi-select`,{"admin-multi-select--open":b.value,"admin-multi-select--block":a.block,"admin-multi-select--disabled":a.disabled}])},[u(`button`,{type:`button`,class:`admin-multi-select__trigger`,"aria-label":a.ariaLabel,"aria-expanded":b.value,"aria-haspopup":`listbox`,disabled:a.disabled,onClick:X},[u(`span`,I,t(K.value),1),u(`span`,L,[p(A,{name:`chevron-down`,size:16})])],8,F),G.value.length&&!a.disabled?(m(),d(`ul`,R,[(m(!0),d(v,null,o(G.value,e=>(m(),d(`li`,{key:e.value,class:`admin-multi-select__chip`},[u(`span`,z,t(e.label),1),u(`button`,{type:`button`,class:`admin-multi-select__chip-remove`,"aria-label":`حذف`,onClick:t=>Q(e.value)},` × `,8,B)]))),128))])):x(``,!0),(m(),g(l,{to:`body`},[b.value?(m(),d(`ul`,{key:0,ref_key:`menuRef`,ref:O,class:`admin-multi-select__menu`,role:`listbox`,"aria-label":a.ariaLabel,style:h(M.value),"aria-multiselectable":`true`},[a.searchable?(m(),d(`li`,ee,[s(u(`input`,{ref_key:`searchInputRef`,ref:j,"onUpdate:modelValue":n[0]||=e=>C.value=e,type:`search`,class:`admin-multi-select__search-input`,placeholder:a.searchPlaceholder,onClick:n[1]||=E(()=>{},[`stop`]),onKeydown:n[2]||=D(E(e=>b.value=!1,[`stop`]),[`esc`])},null,40,te),[[w,C.value]])])):x(``,!0),q.value.length?x(``,!0):(m(),d(`li`,H,` موردی یافت نشد `)),(m(!0),d(v,null,o(q.value,e=>(m(),d(`li`,{key:e.value,role:`presentation`},[u(`button`,{type:`button`,class:i([`admin-multi-select__option`,{"admin-multi-select__option--active":N.value.has(e.value)}]),role:`option`,"aria-selected":N.value.has(e.value),onClick:t=>Z(e.value)},[u(`span`,W,t(e.label),1),N.value.has(e.value)?(m(),g(A,{key:0,name:`check`,size:16,class:`admin-multi-select__check`})):x(``,!0)],10,U)]))),128))],12,V)):x(``,!0)]))],10,P))}}),[[`__scopeId`,`data-v-9a22912b`]]),K={class:`settings-page`},q={class:`admin-page-header`},J=[`disabled`],Y={key:1,class:`settings-page__grid`},X={class:`admin-card settings-page__section`},Z={class:`admin-form__field`},Q={class:`admin-form__field`},ne={class:`admin-form__field`},re={class:`settings-page__check`},ie={class:`settings-page__check`},ae={class:`admin-form__field`},oe=[`disabled`],se={class:`settings-page__checks`},ce={class:`settings-page__check`},le={class:`settings-page__check`},ue={class:`admin-card settings-page__section`},de={class:`settings-page__checks`},fe={class:`settings-page__check`},pe={class:`settings-page__check`},me={class:`settings-page__check`},he={class:`settings-page__check`},ge={class:`settings-page__check`},_e={class:`admin-card settings-page__section`},ve={class:`admin-form__field`},ye={class:`admin-form__field`},be={class:`admin-card settings-page__section`},$={class:`admin-form__field`},xe={class:`admin-form__field`},Se={class:`settings-page__check settings-page__check--block`},Ce={class:`admin-form__field`},we=[`disabled`],Te=b(f({__name:`SettingsView`,setup(r){let i=C(),o=c({maxMeteragePerInvoice:5e3,cashInvoiceValidityHours:8,smsOrderRegistered:!0,smsPricingReady:!0,smsPaymentReminder:!0,smsCheckReview:!0,smsShippingUpdate:!0,defaultSettlementCheck:!0,defaultSettlementCash:!0,minOrderRollsPerProduct:1,showCatalogPublicPrice:!1,allowAgentPricing:!1,agentMinUnitPrice:null,supportPhone:``,supportEmail:``}),l=c({title:``,body:``}),f=e(!1),h=e([]),v=e([]),b=e(!1),x=e(!0),S=e(!1),E=y(()=>h.value.filter(e=>e.isActive).map(e=>({value:e.id,label:`${e.name} · ${e.phone}${e.appRole===`agent`?` (واسطه)`:``}`})));n(b,e=>{e&&(v.value=[])}),a(async()=>{x.value=!0;try{let[e,t]=await Promise.all([O.get(),M.list()]);Object.assign(o,{maxMeteragePerInvoice:e.maxMeteragePerInvoice,cashInvoiceValidityHours:e.cashInvoiceValidityHours,smsOrderRegistered:e.smsOrderRegistered,smsPricingReady:e.smsPricingReady,smsPaymentReminder:e.smsPaymentReminder,smsCheckReview:e.smsCheckReview,smsShippingUpdate:e.smsShippingUpdate,defaultSettlementCheck:e.defaultSettlementCheck,defaultSettlementCash:e.defaultSettlementCash,minOrderRollsPerProduct:e.minOrderRollsPerProduct??1,showCatalogPublicPrice:e.showCatalogPublicPrice??!1,allowAgentPricing:e.allowAgentPricing??!1,agentMinUnitPrice:e.agentMinUnitPrice??null,supportPhone:e.supportPhone??``,supportEmail:e.supportEmail??``}),h.value=t}catch(e){i.error(e instanceof Error?e.message:`دریافت تنظیمات ناموفق بود.`)}finally{x.value=!1}});async function D(){if(!S.value){S.value=!0;try{await O.update({...o}),i.success(`تنظیمات با موفقیت ذخیره شد.`)}catch(e){i.error(e instanceof Error?e.message:`ذخیره تنظیمات ناموفق بود.`)}finally{S.value=!1}}}async function k(){if(f.value)return;let e=l.title.trim(),t=l.body.trim();if(!e||!t){i.error(`عنوان و متن اعلان را وارد کنید.`);return}if(!b.value&&!v.value.length){i.error(`حداقل یک مشتری انتخاب کنید یا «ارسال به همه مشتریان فعال» را فعال کنید.`);return}f.value=!0;try{let n={title:e,body:t};b.value?n.allActive=!0:n.customerIds=[...v.value];let r=await j.broadcast(n);if(!r.sent){i.warning(`هیچ مشتری فعالی برای ارسال پیدا نشد.`);return}i.success(`اعلان برای ${r.sent} مشتری ارسال شد.`),l.title=``,l.body=``,v.value=[],b.value=!1}catch(e){i.error(e instanceof Error?e.message:`ارسال اعلان ناموفق بود.`)}finally{f.value=!1}}return(e,n)=>(m(),d(`div`,K,[u(`div`,q,[n[19]||=u(`div`,null,[u(`h1`,{class:`admin-page-header__title`},`تنظیمات`)],-1),u(`button`,{type:`button`,class:`admin-btn admin-btn--primary`,disabled:x.value||S.value,onClick:D},t(S.value?`در حال ذخیره…`:`ذخیره تنظیمات`),9,J)]),x.value?(m(),g(N,{key:0,variant:`form`,rows:8})):(m(),d(`div`,Y,[u(`section`,X,[n[28]||=u(`h2`,{class:`settings-page__title`},`تنظیمات عمومی سفارش`,-1),u(`div`,Z,[n[20]||=u(`label`,{for:`max-meterage`},`حداکثر متراژ هر فاکتور (متر)`,-1),s(u(`input`,{id:`max-meterage`,"onUpdate:modelValue":n[0]||=e=>o.maxMeteragePerInvoice=e,type:`number`,min:`1000`,class:`admin-input`},null,512),[[w,o.maxMeteragePerInvoice,void 0,{number:!0}]])]),u(`div`,Q,[n[21]||=u(`label`,{for:`validity-hours`},`اعتبار فاکتور نقدی (ساعت)`,-1),s(u(`input`,{id:`validity-hours`,"onUpdate:modelValue":n[1]||=e=>o.cashInvoiceValidityHours=e,type:`number`,min:`1`,class:`admin-input`},null,512),[[w,o.cashInvoiceValidityHours,void 0,{number:!0}]])]),u(`div`,ne,[n[22]||=u(`label`,{for:`min-rolls`},`حداقل طاقه از هر محصول`,-1),s(u(`input`,{id:`min-rolls`,"onUpdate:modelValue":n[2]||=e=>o.minOrderRollsPerProduct=e,type:`number`,min:`1`,class:`admin-input`},null,512),[[w,o.minOrderRollsPerProduct,void 0,{number:!0}]])]),u(`label`,re,[s(u(`input`,{"onUpdate:modelValue":n[3]||=e=>o.showCatalogPublicPrice=e,type:`checkbox`},null,512),[[T,o.showCatalogPublicPrice]]),n[23]||=_(` نمایش قیمت عمومی در کاتالوگ `,-1)]),u(`label`,ie,[s(u(`input`,{"onUpdate:modelValue":n[4]||=e=>o.allowAgentPricing=e,type:`checkbox`},null,512),[[T,o.allowAgentPricing]]),n[24]||=_(` اجازه قیمت‌گذاری توسط واسطه `,-1)]),u(`div`,ae,[n[25]||=u(`label`,{for:`agent-min-price`},`حداقل قیمت واحد واسطه (تومان)`,-1),s(u(`input`,{id:`agent-min-price`,"onUpdate:modelValue":n[5]||=e=>o.agentMinUnitPrice=e,type:`number`,min:`0`,class:`admin-input`,disabled:!o.allowAgentPricing},null,8,oe),[[w,o.agentMinUnitPrice,void 0,{number:!0}]])]),u(`div`,se,[u(`label`,ce,[s(u(`input`,{"onUpdate:modelValue":n[6]||=e=>o.defaultSettlementCheck=e,type:`checkbox`},null,512),[[T,o.defaultSettlementCheck]]),n[26]||=u(`span`,null,`فعال‌سازی تسویه چکی`,-1)]),u(`label`,le,[s(u(`input`,{"onUpdate:modelValue":n[7]||=e=>o.defaultSettlementCash=e,type:`checkbox`},null,512),[[T,o.defaultSettlementCash]]),n[27]||=u(`span`,null,`فعال‌سازی تسویه نقدی`,-1)])])]),u(`section`,ue,[n[34]||=u(`h2`,{class:`settings-page__title`},`پیامک و اعلان`,-1),u(`div`,de,[u(`label`,fe,[s(u(`input`,{"onUpdate:modelValue":n[8]||=e=>o.smsOrderRegistered=e,type:`checkbox`},null,512),[[T,o.smsOrderRegistered]]),n[29]||=u(`span`,null,`پیامک ثبت سفارش`,-1)]),u(`label`,pe,[s(u(`input`,{"onUpdate:modelValue":n[9]||=e=>o.smsPricingReady=e,type:`checkbox`},null,512),[[T,o.smsPricingReady]]),n[30]||=u(`span`,null,`پیامک صدور فاکتور و آماده‌بودن قیمت`,-1)]),u(`label`,me,[s(u(`input`,{"onUpdate:modelValue":n[10]||=e=>o.smsPaymentReminder=e,type:`checkbox`},null,512),[[T,o.smsPaymentReminder]]),n[31]||=u(`span`,null,`یادآوری پایان اعتبار فاکتور`,-1)]),u(`label`,he,[s(u(`input`,{"onUpdate:modelValue":n[11]||=e=>o.smsCheckReview=e,type:`checkbox`},null,512),[[T,o.smsCheckReview]]),n[32]||=u(`span`,null,`اعلان بررسی چک`,-1)]),u(`label`,ge,[s(u(`input`,{"onUpdate:modelValue":n[12]||=e=>o.smsShippingUpdate=e,type:`checkbox`},null,512),[[T,o.smsShippingUpdate]]),n[33]||=u(`span`,null,`اعلان وضعیت ارسال`,-1)])])]),u(`section`,_e,[n[38]||=u(`h2`,{class:`settings-page__title`},`اطلاعات تماس پشتیبانی`,-1),u(`div`,ve,[n[35]||=u(`label`,{for:`support-phone`},`تلفن پشتیبانی`,-1),s(u(`input`,{id:`support-phone`,"onUpdate:modelValue":n[13]||=e=>o.supportPhone=e,type:`text`,class:`admin-input`,dir:`ltr`},null,512),[[w,o.supportPhone]]),n[36]||=u(`p`,{class:`settings-page__hint`},` این شماره در صفحه ورود اپ و بخش پشتیبانی سایدبار دسکتاپ نمایش داده می‌شود. `,-1)]),u(`div`,ye,[n[37]||=u(`label`,{for:`support-email`},`ایمیل پشتیبانی`,-1),s(u(`input`,{id:`support-email`,"onUpdate:modelValue":n[14]||=e=>o.supportEmail=e,type:`email`,class:`admin-input`,dir:`ltr`},null,512),[[w,o.supportEmail]])])]),u(`section`,be,[n[44]||=u(`h2`,{class:`settings-page__title`},`اعلان هدفمند`,-1),u(`div`,$,[n[39]||=u(`label`,{for:`broadcast-title`},`عنوان`,-1),s(u(`input`,{id:`broadcast-title`,"onUpdate:modelValue":n[15]||=e=>l.title=e,type:`text`,class:`admin-input`},null,512),[[w,l.title]])]),u(`div`,xe,[n[40]||=u(`label`,{for:`broadcast-body`},`متن`,-1),s(u(`textarea`,{id:`broadcast-body`,"onUpdate:modelValue":n[16]||=e=>l.body=e,class:`admin-input`,rows:`4`},null,512),[[w,l.body]])]),u(`label`,Se,[s(u(`input`,{"onUpdate:modelValue":n[17]||=e=>b.value=e,type:`checkbox`},null,512),[[T,b.value]]),n[41]||=u(`span`,null,`ارسال به همه مشتریان فعال (نقش مشتری در اپ)`,-1)]),u(`div`,Ce,[n[42]||=u(`label`,{for:`broadcast-recipients`},`گیرندگان`,-1),p(G,{id:`broadcast-recipients`,modelValue:v.value,"onUpdate:modelValue":n[18]||=e=>v.value=e,options:E.value,disabled:b.value||!E.value.length,block:``,placeholder:`انتخاب مشتریان…`,"aria-label":`گیرندگان اعلان`},null,8,[`modelValue`,`options`,`disabled`]),n[43]||=u(`p`,{class:`settings-page__hint`},` با غیرفعال بودن «ارسال به همه»، یک یا چند مشتری فعال را انتخاب کنید. اعلان در بخش اعلان‌های اپ مشتری نمایش داده می‌شود. `,-1)]),u(`button`,{type:`button`,class:`admin-btn admin-btn--primary settings-page__broadcast-submit`,disabled:f.value,onClick:k},t(f.value?`در حال ارسال…`:`ثبت و ارسال اعلان`),9,we)])]))]))}}),[[`__scopeId`,`data-v-e84a2579`]]);export{Te as default};