1 line
7.3 KiB
JavaScript
1 line
7.3 KiB
JavaScript
import{A as e,B as t,G as n,H as r,I as ee,K as i,L as a,P as o,Q as s,T as te,U as c,V as ne,X as l,at as u,ct as d,et as f,ft as p,i as re,it as m,j as ie,k as ae,lt as h,q as g,s as _,st as oe,w as v,z as y}from"./index-dG7O4aC2.js";import{t as se}from"./AdminSelect-BsjBHdZj.js";import{o as b}from"./adminLabels-Cz9ccm1Z.js";import{n as ce,r as le,t as x}from"./ActiveSwitchCell-DxxSF-SL.js";var ue={class:`users-page`},de={class:`users-page__search admin-card`},fe={key:1,class:`users-page__table admin-card desktop-only`},pe={class:`admin-table-wrap`},me={class:`admin-table`},he={dir:`ltr`},S={class:`status`},C={class:`actions`},w=[`onClick`],T={key:2,class:`compact-only admin-card-list`},E={class:`admin-card-item__header`},D={class:`admin-card-item__title`},O={class:`admin-card-item__meta`},k={dir:`ltr`},A={class:`admin-card-item__actions`},j=[`onClick`],M={key:0,class:`admin-form__error`,role:`alert`},N={class:`admin-form__field`},P={class:`admin-form__row`},F={class:`admin-form__field`},I={class:`admin-form__field`},L={class:`admin-form__field`},ge={class:`admin-form__field`},_e=[`disabled`],ve={key:0,class:`admin-btn__spinner`,"aria-hidden":`true`},R=ie(g({__name:`UsersView`,setup(ie){let g=d([]),R=d(``),z=d(null),B=d(null),V=d(``),H=d(!1),U=e(),ye=[{value:`admin`,label:`مدیر سیستم`},{value:`sales`,label:`واحد فروش`},{value:`finance`,label:`واحد مالی`},{value:`warehouse`,label:`انبار`}],W=()=>({fullName:``,phone:``,email:``,role:`sales`,isActive:!0}),G=oe(W()),be=y(()=>z.value!==null),K=y(()=>z.value===`edit`?`ویرایش کاربر`:`افزودن کاربر`),q=y(()=>G.fullName.trim()&&G.phone.trim()&&G.email.trim()),J=y(()=>{let e=R.value.trim();return e?g.value.filter(t=>t.fullName.includes(e)||t.phone.includes(e)||t.email.includes(e)||b[t.role].includes(e)):g.value});async function xe(){try{g.value=await _.list()}catch(e){U.error(e instanceof v?e.message:`بارگذاری کاربران انجام نشد.`)}}l(()=>{xe()});function Y(){z.value=`add`,B.value=null,Object.assign(G,W()),V.value=``}function X(e){z.value=`edit`,B.value=e.id,G.fullName=e.fullName,G.phone=e.phone,G.email=e.email,G.role=e.role,G.isActive=e.isActive,V.value=``}function Z(){z.value=null,B.value=null,V.value=``}async function Q(){if(!q.value){V.value=`نام، تلفن و ایمیل الزامی هستند.`;return}H.value=!0;let e={fullName:G.fullName.trim(),phone:G.phone.trim(),email:G.email.trim(),role:G.role,isActive:G.isActive};try{if(z.value===`edit`&&B.value){let t=await _.update(B.value,e),n=g.value.findIndex(e=>e.id===B.value);n!==-1&&(g.value[n]={...g.value[n],...t})}else{let t=await _.create(e);g.value.push(t)}U.success(z.value===`edit`?`اطلاعات کاربر بهروزرسانی شد.`:`کاربر جدید ثبت شد.`),Z()}catch(e){U.error(e instanceof v?e.message:`ذخیره کاربر انجام نشد.`)}finally{H.value=!1}}async function $(e,t){await _.setActive(e,t)}function Se(){R.value=``}return(e,l)=>(s(),c(`div`,ue,[t(`div`,{class:`admin-page-header`},[l[6]||=t(`div`,null,[t(`h1`,{class:`admin-page-header__title`},`کاربران و دسترسیها`),t(`p`,{class:`admin-page-header__breadcrumb`},`سیستم / کاربران`)],-1),t(`button`,{type:`button`,class:`admin-btn admin-btn--primary`,onClick:Y},` افزودن کاربر `)]),t(`div`,de,[i(te,{name:`search`,size:18}),u(t(`input`,{"onUpdate:modelValue":l[0]||=e=>R.value=e,type:`search`,class:`users-page__search-input`,placeholder:`جستجو در نام، تلفن، ایمیل...`},null,512),[[o,R.value]])]),J.value.length?(s(),c(`div`,fe,[t(`div`,pe,[t(`table`,me,[l[7]||=t(`thead`,null,[t(`tr`,null,[t(`th`,null,`نام`),t(`th`,null,`تلفن`),t(`th`,null,`ایمیل`),t(`th`,null,`نقش`),t(`th`,{class:`status`},`وضعیت`),t(`th`,null,`آخرین ورود`),t(`th`,{class:`actions`},`عملیات`)])],-1),t(`tbody`,null,[(s(!0),c(a,null,f(J.value,e=>(s(),c(`tr`,{key:e.id},[t(`td`,null,p(e.fullName),1),t(`td`,null,p(e.phone),1),t(`td`,he,p(e.email),1),t(`td`,null,p(h(b)[e.role]),1),t(`td`,S,[i(x,{id:e.id,modelValue:
|