1 line
16 KiB
JavaScript
1 line
16 KiB
JavaScript
import{$ as e,At as t,B as n,Dt as r,E as ee,H as i,M as a,U as o,Z as s,c,d as l,g as u,h as d,k as f,l as p,m,r as h,s as g,st as _,t as v,u as y}from"./_plugin-vue_export-helper-QrIvvHC8.js";import{a as b,f as x,m as S,t as C}from"./http-BjLkjdQu.js";import{E as w,H as T,M as E,R as D,S as te,o as O,s as k,y as A}from"./index-BzcByePp.js";import{t as ne}from"./AdminPageSkeleton-oWhHYjl4.js";import{t as re}from"./BaseSwitch-pJwnFBVo.js";import{t as ie}from"./BaseEmptyState-B7aEMvHg.js";import{t as j}from"./AdminSelect-8XDtPu3U.js";import{r as M}from"./adminLabels-Cz9ccm1Z.js";import{t as N}from"./ActiveSwitchCell-Mj6U4GtB.js";var P={class:`suggestions-panel`},F={key:0,class:`suggestions-panel__loading`},I={class:`suggestions-panel__add`},L={class:`field`},R={key:0,class:`suggestions-panel__picked`},z=[`onClick`],B={class:`field`},V=[`disabled`],H={key:0,class:`suggestions-panel__list`},U={class:`muted`,dir:`ltr`},W={key:0,class:`note`},G={class:`suggestions-panel__actions`},K=[`onClick`],q={key:1,class:`suggestions-panel__empty`},ae=v(u({__name:`CustomerSuggestionsPanel`,props:{customerId:{}},setup(i){let s=i,u=b(),p=e(!0),_=e(!1),v=e([]),S=e([]),T=e([]),D=e(``),te=g(()=>S.value.filter(e=>!v.value.some(t=>t.productId===e.id&&t.isActive)).map(e=>({value:e.id,label:`${e.name} (${e.productCode})`})));async function O(){if(s.customerId){p.value=!0;try{let[e,t]=await Promise.all([E.list(s.customerId),w.list()]);v.value=e,S.value=t}catch(e){u.error(e instanceof C?e.message:`بارگذاری پیشنهادها ناموفق بود`)}finally{p.value=!1}}}async function k(){if(T.value.length){_.value=!0;try{for(let e of T.value)await E.create({customerId:s.customerId,productId:e,note:D.value.trim()||void 0});T.value=[],D.value=``,u.success(`پیشنهادها به صفحه خانه مشتری اضافه شد`),await O()}catch(e){u.error(e instanceof C?e.message:`ثبت پیشنهاد ناموفق بود`)}finally{_.value=!1}}}async function A(e){try{await E.setActive(e.id,!e.isActive),await O()}catch(e){u.error(e instanceof C?e.message:`بهروزرسانی ناموفق بود`)}}function ne(e){e&&(T.value.includes(e)||(T.value=[...T.value,e]))}function re(e){T.value=T.value.filter(t=>t!==e)}return n(()=>s.customerId,()=>{O()}),ee(()=>{O()}),(e,n)=>(f(),l(`section`,P,[n[4]||=c(`header`,{class:`suggestions-panel__head`},[c(`div`,null,[c(`h3`,{class:`suggestions-panel__title`},`پیشنهاد اختصاصی در اپ`),c(`p`,{class:`suggestions-panel__hint`},` محصولات انتخابشده در بخش «پیشنهاد اختصاصی ما برای شما» در صفحه خانه مشتری نمایش داده میشوند. `)])],-1),p.value?(f(),l(`div`,F,`در حال بارگذاری...`)):(f(),l(h,{key:1},[c(`div`,I,[c(`label`,L,[n[1]||=m(` افزودن محصول (کد کالیته) `,-1),d(j,{"model-value":``,options:[{value:``,label:`انتخاب محصول...`},...te.value],"onUpdate:modelValue":ne},null,8,[`options`])]),T.value.length?(f(),l(`div`,R,[(f(!0),l(h,null,a(T.value,e=>(f(),l(`span`,{key:e,class:`suggestions-panel__chip`},[m(t(S.value.find(t=>t.id===e)?.productCode||e)+` `,1),c(`button`,{type:`button`,"aria-label":`حذف`,onClick:t=>re(e)},`×`,8,z)]))),128))])):y(``,!0),c(`label`,B,[n[2]||=m(` یادداشت (اختیاری) `,-1),o(c(`textarea`,{"onUpdate:modelValue":n[0]||=e=>D.value=e,class:`admin-input`,rows:`2`,placeholder:`دلیل پیشنهاد برای مشتری`},null,512),[[x,D.value]])]),c(`button`,{type:`button`,class:`admin-btn admin-btn--primary admin-btn--sm`,disabled:!T.value.length||_.value,onClick:k},` افزودن به صفحه خانه مشتری `,8,V)]),v.value.length?(f(),l(`div`,H,[n[3]||=c(`h4`,{class:`suggestions-panel__sub`},`پیشنهادهای ثبتشده`,-1),c(`ul`,null,[(f(!0),l(h,null,a(v.value,e=>(f(),l(`li`,{key:e.id,class:`suggestions-panel__row`},[c(`div`,null,[c(`strong`,null,t(e.productName),1),c(`span`,U,`(`+t(e.productCode)+`)`,1),e.note?(f(),l(`p`,W,t(e.note),1)):y(``,!0)]),c(`div`,G,[c(`span`,{class:r(e.isActive?`on`:`off`)},t(e.isActive?`فعال`:`
|