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