Files
nademitex_admin/dist/assets/CatalogsView-CUtcg7TE.js
T

1 line
8.2 KiB
JavaScript

import{A as e,G as t,I as n,K as r,N as i,Nt as a,a as o,b as s,c,et as ee,f as l,g as u,h as d,m as f,nt as p,o as te,p as m,t as h,x as g,y as _}from"./http-WTIyGIuL.js";import{L as ne,N as re,U as ie,V as v,h as ae,p as y}from"./index-mN60lSc2.js";import{t as oe}from"./AdminPageSkeleton-D-u-8bBz.js";import{t as se}from"./BaseSwitch-gjOaAbzm.js";import{t as ce}from"./BaseEmptyState-D5jlq4nS.js";import{t as b}from"./AdminSelect-Bw3z0TPQ.js";import{t as x}from"./ActiveSwitchCell-BaPmkdOq.js";var le={class:`catalogs-page`},ue={class:`catalogs-page__filters admin-card`},de={class:`catalogs-page__search`},fe={key:2,class:`catalogs-page__table admin-card desktop-only`},pe={class:`admin-table-wrap`},me={class:`admin-table`},he={class:`numeric`},ge={class:`numeric`},_e={class:`status`},ve={class:`actions`},ye=[`onClick`],be={key:3,class:`compact-only admin-card-list`},xe={class:`admin-card-item__header`},S={class:`admin-card-item__title`},C={class:`admin-card-item__meta`},w={class:`admin-card-item__actions`},T=[`onClick`],E={key:0,class:`admin-form__error`,role:`alert`},D={class:`admin-form__field`},O={class:`admin-form__row`},k={class:`admin-form__field`},A={class:`admin-form__field`},j={class:`admin-form__row`},M={class:`admin-form__field`},Se={class:`admin-form__field`},Ce=[`disabled`],N=te(g({__name:`CatalogsView`,setup(te){let g=p([]),N=p([]),P=p(``),F=p(`all`),I=p(!0),L=p(null),R=p(null),z=p(``),B=p(!1),V=o(),we=l(()=>[{value:`all`,label:`همه شرکت‌ها`},...N.value.map(e=>({value:e.id,label:e.name}))]),Te=l(()=>N.value.map(e=>({value:e.id,label:e.name}))),H=()=>({companyId:N.value[0]?.id??``,code:``,name:``,displayOrder:g.value.length+1,isActive:!0}),U=ee(H()),Ee=l(()=>L.value!==null),W=l(()=>L.value===`edit`?`ویرایش کالیته`:`افزودن کالیته`),G=l(()=>U.code.trim()&&U.name.trim()&&U.companyId),K=l(()=>P.value.trim().length>0||F.value!==`all`),q=l(()=>{let e=g.value;F.value!==`all`&&(e=e.filter(e=>e.companyId===F.value));let t=P.value.trim();return t&&(e=e.filter(e=>e.code.includes(t)||e.name.includes(t)||e.companyName.includes(t))),e});async function De(){I.value=!0;try{let[e,t]=await Promise.all([y.list(),ae.list()]);g.value=e,N.value=t}catch(e){V.error(e instanceof h?e.message:`بارگذاری کالیته‌ها انجام نشد.`)}finally{I.value=!1}}e(()=>{De()});function J(e){return N.value.find(t=>t.id===e)?.name??`—`}function Y(){L.value=`add`,R.value=null,Object.assign(U,H()),z.value=``}function X(e){L.value=`edit`,R.value=e.id,U.companyId=e.companyId,U.code=e.code,U.name=e.name,U.displayOrder=e.displayOrder,U.isActive=e.isActive,z.value=``}function Z(){L.value=null,R.value=null,z.value=``}async function Q(){if(!G.value){z.value=`کد، نام و شرکت الزامی هستند.`;return}B.value=!0;try{if(L.value===`edit`&&R.value){let e=await y.update(R.value,{code:U.code.trim(),name:U.name.trim(),displayOrder:Number(U.displayOrder)||1,isActive:U.isActive}),t=g.value.findIndex(e=>e.id===R.value);t!==-1&&(g.value[t]={...g.value[t],...e,companyName:J(U.companyId)}),V.success(`اطلاعات کالیته به‌روزرسانی شد.`)}else{let e=await y.create({companyId:U.companyId,code:U.code.trim(),name:U.name.trim(),displayOrder:Number(U.displayOrder)||1,isActive:U.isActive});g.value.push({...e,companyName:e.companyName||J(U.companyId),productCount:e.productCount??0}),V.success(`کالیته جدید ثبت شد.`)}Z()}catch(e){V.error(e instanceof h?e.message:`ذخیره کالیته انجام نشد.`)}finally{B.value=!1}}async function $(e,t){await y.setActive(e,t)}function Oe(){P.value=``,F.value=`all`}return(e,o)=>(i(),u(`div`,le,[m(`div`,{class:`admin-page-header`},[o[7]||=m(`div`,null,[m(`h1`,{class:`admin-page-header__title`},`کالیته‌ها`)],-1),m(`button`,{type:`button`,class:`admin-btn admin-btn--primary`,onClick:Y},` افزودن کالیته `)]),m(`div`,ue,[m(`div`,de,[s(re,{name:`search`,size:18}),r(m(`input`,{"onUpdate:modelValue":o[0]||=e=>P.value=e,type:`search`,class:`catalogs-page__search-input`,placeholder:`جستجو بر اساس کد یا نام...`},null,512),[[v,P.value]])]),s(b,{modelValue:F.value,"onUpdate:modelValue":o[1]||=e=>F.value=e,class:`catalogs-page__company-filter`,"aria-label":`فیلتر شرکت`,options:we.value},null,8,[`modelValue`,`options`])]),I.value?(i(),f(oe,{key:0,variant:`table`})):q.value.length?(i(),u(`div`,fe,[m(`div`,pe,[m(`table`,me,[o[8]||=m(`thead`,null,[m(`tr`,null,[m(`th`,null,`کد`),m(`th`,null,`نام کالیته`),m(`th`,null,`شرکت`),m(`th`,{class:`numeric`},`ترتیب`),m(`th`,{class:`numeric`},`تعداد محصول`),m(`th`,{class:`status`},`وضعیت`),m(`th`,{class:`actions`},`عملیات`)])],-1),m(`tbody`,null,[(i(!0),u(c,null,n(q.value,e=>(i(),u(`tr`,{key:e.id},[m(`td`,null,a(e.code),1),m(`td`,null,a(e.name),1),m(`td`,null,a(e.companyName),1),m(`td`,he,a(e.displayOrder),1),m(`td`,ge,a(e.productCount),1),m(`td`,_e,[s(x,{id:e.id,modelValue:e.isActive,"onUpdate:modelValue":t=>e.isActive=t,"entity-name":e.name,"entity-type":`کالیته`,persist:$},null,8,[`id`,`modelValue`,`onUpdate:modelValue`,`entity-name`])]),m(`td`,ve,[m(`button`,{type:`button`,class:`admin-btn admin-btn--ghost admin-btn--xs`,onClick:t=>X(e)},` ویرایش `,8,ye)])]))),128))])])])])):(i(),f(ce,{key:1,class:`admin-card`,icon:`catalogs`,title:K.value?`نتیجه‌ای یافت نشد`:`کالیته‌ای ثبت نشده`,description:K.value?`عبارت جستجو را تغییر دهید یا فیلترها را پاک کنید.`:`برای شروع، اولین کالیته را ثبت کنید.`},{default:t(()=>[K.value?(i(),u(`button`,{key:0,type:`button`,class:`admin-btn admin-btn--outline admin-btn--sm`,onClick:Oe},` پاک کردن فیلترها `)):(i(),u(`button`,{key:1,type:`button`,class:`admin-btn admin-btn--primary admin-btn--sm`,onClick:Y},` افزودن کالیته `))]),_:1},8,[`title`,`description`])),!I.value&&q.value.length?(i(),u(`div`,be,[(i(!0),u(c,null,n(q.value,e=>(i(),u(`article`,{key:e.id,class:`admin-card-item`},[m(`div`,xe,[m(`p`,S,`کالیته `+a(e.code)+` — `+a(e.name),1),s(x,{id:e.id,modelValue:e.isActive,"onUpdate:modelValue":t=>e.isActive=t,"entity-name":e.name,"entity-type":`کالیته`,persist:$},null,8,[`id`,`modelValue`,`onUpdate:modelValue`,`entity-name`])]),m(`div`,C,[m(`span`,null,a(e.companyName),1),m(`span`,null,a(e.productCount)+` محصول`,1),m(`span`,null,`ترتیب: `+a(e.displayOrder),1)]),m(`div`,w,[m(`button`,{type:`button`,class:`admin-btn admin-btn--ghost admin-btn--xs`,onClick:t=>X(e)},` ویرایش `,8,T)])]))),128))])):d(``,!0),s(ne,{open:Ee.value,title:W.value,size:`lg`,onClose:Z},{footer:t(()=>[m(`button`,{type:`button`,class:`admin-btn admin-btn--outline`,onClick:Z},`انصراف`),m(`button`,{type:`button`,class:`admin-btn admin-btn--primary`,disabled:!G.value||B.value,onClick:Q},a(L.value===`edit`?`ذخیره تغییرات`:`ثبت کالیته`),9,Ce)]),default:t(()=>[m(`form`,{class:`admin-form`,onSubmit:ie(Q,[`prevent`])},[z.value?(i(),u(`p`,E,a(z.value),1)):d(``,!0),m(`div`,D,[o[9]||=m(`label`,null,[_(`شرکت `),m(`span`,{class:`admin-form__required`},`*`)],-1),s(b,{modelValue:U.companyId,"onUpdate:modelValue":o[2]||=e=>U.companyId=e,block:``,"aria-label":`انتخاب شرکت`,placeholder:`انتخاب شرکت`,options:Te.value},null,8,[`modelValue`,`options`])]),m(`div`,O,[m(`div`,k,[o[10]||=m(`label`,{for:`catalog-code`},[_(`کد کالیته `),m(`span`,{class:`admin-form__required`},`*`)],-1),r(m(`input`,{id:`catalog-code`,"onUpdate:modelValue":o[3]||=e=>U.code=e,type:`text`,class:`admin-input`,placeholder:`377`},null,512),[[v,U.code]])]),m(`div`,A,[o[11]||=m(`label`,{for:`catalog-name`},[_(`نام کالیته `),m(`span`,{class:`admin-form__required`},`*`)],-1),r(m(`input`,{id:`catalog-name`,"onUpdate:modelValue":o[4]||=e=>U.name=e,type:`text`,class:`admin-input`},null,512),[[v,U.name]])])]),m(`div`,j,[m(`div`,M,[o[12]||=m(`label`,{for:`catalog-order`},`ترتیب نمایش`,-1),r(m(`input`,{id:`catalog-order`,"onUpdate:modelValue":o[5]||=e=>U.displayOrder=e,type:`number`,min:`1`,class:`admin-input`},null,512),[[v,U.displayOrder,void 0,{number:!0}]])]),m(`div`,Se,[s(se,{modelValue:U.isActive,"onUpdate:modelValue":o[6]||=e=>U.isActive=e,label:`وضعیت`},null,8,[`modelValue`])])])],32)]),_:1},8,[`open`,`title`])]))}}),[[`__scopeId`,`data-v-dcbaeba4`]]);export{N as default};