Files
imen_pishghaman/apps/admin/dist/assets/UsersPage-Bt5o7UdQ.js
T

1 line
12 KiB
JavaScript
Raw Normal View History

import{a as e,b as t,l as n,o as r,t as i,u as a}from"./VuesaxIcon-B4ROVNew.js";import{Bt as o,Ct as s,Dt as ee,It as c,Lt as l,Nt as u,Rt as te,Tt as d,_t as f,ct as p,dt as m,ft as h,gt as g,ht as _,i as v,kt as y,lt as b,n as x,ot as S,pt as C,st as ne,t as w,ut as T}from"./index-BAiPliM2.js";import{a as E}from"./format-NkL3G1Uq.js";import{t as re}from"./PageHeader-BzyYFxoY.js";import{n as D,t as O}from"./FormField-CZ_S38rR.js";var ie={key:0,dir:`ltr`},ae={class:`lg:hidden space-y-3`},k={key:0,class:`rounded-xl border border-dashed border-gray-200 bg-white p-8 text-center`},A={key:1,class:`space-y-3`},oe={class:`flex items-start justify-between gap-3`},se={class:`flex items-center gap-3`},ce={class:`font-bold text-gray-900`},le=[`href`],ue={class:`flex flex-col items-end gap-1`},de={class:`mt-3.5 flex items-center justify-between border-t border-gray-100 pt-3 text-xs text-gray-400`},fe={class:`flex items-center gap-1.5`},pe={class:`font-medium text-gray-600`},j={class:`flex items-center gap-1.5`},M={class:`lg:hidden mt-4 rounded-xl border border-gray-200 bg-white p-3 text-xs shadow-sm`},N={class:`cursor-pointer font-bold text-gray-700 flex items-center justify-between select-none`},P={class:`flex items-center gap-1.5`},F={class:`mt-3 space-y-3 pt-3 border-t border-gray-100`},I={class:`rounded-lg border border-orange-200 bg-orange-50/40 p-2.5`},L={class:`flex items-center gap-2 font-bold text-orange-700`},R={class:`rounded-lg border border-blue-200 bg-blue-50/40 p-2.5`},z={class:`flex items-center gap-2 font-bold text-blue-700`},me={class:`mt-6 max-lg:hidden grid gap-4 md:grid-cols-2`},he={class:`flex items-center gap-2 font-bold text-orange-700`},ge={class:`flex items-center gap-2 font-bold text-blue-700`},_e={class:`mt-1.5 text-[11px] text-gray-500`},B=f({__name:`UsersPage`,setup(f){let B=w(),V=c([]),H=c(!1),U=c(null),W=c(!1),G={phone:``,name:``,role:`EDITOR`,password:``,isActive:!0},K=D(n,G),q=K.model,J=b(()=>U.value===0),ve=e.map(e=>({value:e,label:r[e]}));async function Y(){H.value=!0;try{V.value=await x(`/admin/users`)}catch(e){S.error(v(e))}finally{H.value=!1}}function X(){K.reset(G),U.value=0}function Z(e){K.reset({phone:e.phone,name:e.name,role:e.role,isActive:e.isActive,password:``}),U.value=e.id}async function Q(){W.value=!0;try{if(J.value){let e=K.validate();if(!e)return;await x(`/admin/users`,{method:`POST`,body:e})}else{let{name:e,role:n,isActive:r,password:i}=q.value,o=a.safeParse({name:e,role:n,isActive:r,password:i||void 0});if(!o.success){K.errors.value=Object.fromEntries(t(o.error).map(e=>[e.path,e.message]));return}await x(`/admin/users/${U.value}`,{method:`PUT`,body:o.data})}S.success(`ذخیره شد`),U.value=null,await Y()}catch(e){K.handleError(e)}finally{W.value=!1}}async function $(e){try{await x(`/admin/users/${e.id}`,{method:`DELETE`}),S.success(`کاربر حذف شد`),await Y()}catch(e){S.error(v(e))}}let ye=[{title:`نام`,dataIndex:`name`},{title:`موبایل`,key:`phone`},{title:`نقش`,key:`role`,width:110},{title:`وضعیت`,key:`active`,width:100},{title:`آخرین ورود`,key:`login`,width:170},{title:``,key:`actions`,width:100}];return s(Y),(e,t)=>{let n=y(`a-button`),a=y(`a-tag`),s=y(`a-popconfirm`),c=y(`a-space`),f=y(`a-table`),v=y(`a-card`),b=y(`a-spin`),x=y(`a-input`),S=y(`a-select`),w=y(`a-checkbox`),D=y(`a-input-password`),G=y(`a-form`),K=y(`a-modal`);return d(),C(p,null,[g(re,{title:`کاربران پنل`,subtitle:`مدیر کل به همه بخش‌ها دسترسی دارد؛ ویرایشگر به جز کاربران و تنظیمات سایت`},{default:u(()=>[g(n,{type:`primary`,onClick:X},{icon:u(()=>[g(i,{name:`add`,size:16})]),default:u(()=>[t[6]||=_(` کاربر جدید `,-1)]),_:1})]),_:1}),g(v,{"body-style":{padding:0},class:`max-lg:hidden`},{default:u(()=>[g(f,{columns:ye,"data-source":V.value,loading:H.value,"row-key":`id`,pagination:!1,scroll:{x:700}},{bodyCell:u(({column:e,record:t})=>[e.key===`phone`?(d(),C(`span`,ie,o(t.phone),1)):e.key===`role`?(d(),m(a,{key:1,color:t.role===`ADMIN`?`orange`:`blue`},{default:u(()=>[_(o(l(r)[t.role]),1)]),_:2},103