Files
nademitex_admin/dist/assets/LevelsView-BKHxc_1f.js
T

3 lines
3.4 KiB
JavaScript

import{$ as e,B as t,N as n,R as r,St as i,W as a,X as o,Y as s,Z as c,_t as l,ct as u,ht as d,mt as f,nt as p,ot as m,q as h,rt as g,tt as _,ut as v,v as y,vt as b,z as x}from"./index-BHqDDh7X.js";import{t as S}from"./AdminPageSkeleton-E50Kwv4j.js";import{t as C}from"./BaseEmptyState-vNIhbGdV.js";var w={class:`admin-page`},T={key:2,class:`admin-table`},E={dir:`ltr`},D=[`onClick`],O={class:`field`},k={class:`field`},A={class:`field`},j={class:`field`},M=[`disabled`],N=t(g({__name:`LevelsView`,setup(t){let g=b([]),N=b(!0),P=b(!1),F=b(null),I=x(),L=l({code:``,label:``,sortOrder:0,benefitsText:``}),R=s(()=>F.value?`ویرایش سطح`:`سطح جدید`);function z(e){return e.split(`
`).map(e=>e.trim()).filter(Boolean).map(e=>({title:e}))}async function B(){N.value=!0;try{g.value=await y.list()}catch(e){I.error(e instanceof n?e.message:`بارگذاری سطوح ناموفق بود`)}finally{N.value=!1}}function V(){F.value=null,Object.assign(L,{code:``,label:``,sortOrder:g.value.length+1,benefitsText:``}),P.value=!0}function H(e){F.value=e.id,Object.assign(L,{code:e.code,label:e.label,sortOrder:e.sortOrder,benefitsText:e.benefits.map(e=>e.title).join(`
`)}),P.value=!0}async function U(){try{let e={code:L.code.trim(),label:L.label.trim(),sortOrder:L.sortOrder,benefits:z(L.benefitsText)};F.value?await y.update(F.value,e):await y.create(e),P.value=!1,I.success(`ذخیره شد`),await B()}catch(e){I.error(e instanceof n?e.message:`ذخیره ناموفق بود`)}}return m(()=>{B()}),(t,n)=>(u(),e(`div`,w,[o(`header`,{class:`admin-page__head`},[n[5]||=o(`div`,null,[o(`h1`,null,`سطوح و مزایای مشتری`),o(`p`,null,`تعریف Level داخلی CRM و مزایای هر سطح (نمایش فقط در ادمین)`)],-1),o(`button`,{type:`button`,class:`admin-btn admin-btn--primary`,onClick:V},`سطح جدید`)]),N.value?(u(),c(S,{key:0,variant:`table`})):g.value.length?(u(),e(`table`,T,[n[6]||=o(`thead`,null,[o(`tr`,null,[o(`th`,null,`کد`),o(`th`,null,`عنوان`),o(`th`,null,`مزایا`),o(`th`,null,`مشتریان`),o(`th`)])],-1),o(`tbody`,null,[(u(!0),e(h,null,v(g.value,t=>(u(),e(`tr`,{key:t.id},[o(`td`,E,i(t.code),1),o(`td`,null,i(t.label),1),o(`td`,null,i(t.benefits.map(e=>e.title).join(`، `)||`—`),1),o(`td`,null,i(t.customersCount),1),o(`td`,null,[o(`button`,{type:`button`,class:`link`,onClick:e=>H(t)},`ویرایش`,8,D)])]))),128))])])):(u(),c(C,{key:1,title:`سطحی تعریف نشده`})),p(r,{open:P.value,title:R.value,onClose:n[4]||=e=>P.value=!1},{footer:f(()=>[o(`button`,{type:`button`,class:`admin-btn admin-btn--primary`,disabled:!L.code.trim()||!L.label.trim(),onClick:U},` ذخیره `,8,M)]),default:f(()=>[o(`label`,O,[n[7]||=_(`کد`,-1),d(o(`input`,{"onUpdate:modelValue":n[0]||=e=>L.code=e,class:`admin-input`,dir:`ltr`},null,512),[[a,L.code]])]),o(`label`,k,[n[8]||=_(`عنوان`,-1),d(o(`input`,{"onUpdate:modelValue":n[1]||=e=>L.label=e,class:`admin-input`},null,512),[[a,L.label]])]),o(`label`,A,[n[9]||=_(`ترتیب`,-1),d(o(`input`,{"onUpdate:modelValue":n[2]||=e=>L.sortOrder=e,type:`number`,class:`admin-input`},null,512),[[a,L.sortOrder,void 0,{number:!0}]])]),o(`label`,j,[n[10]||=_(` مزایا (هر خط یک مورد) `,-1),d(o(`textarea`,{"onUpdate:modelValue":n[3]||=e=>L.benefitsText=e,class:`admin-input`,rows:`4`},null,512),[[a,L.benefitsText]])])]),_:1},8,[`open`,`title`])]))}}),[[`__scopeId`,`data-v-44c7f808`]]);export{N as default};