Files
machartaa_admin_dist/dist/assets/index-f6e64b2c.js
T
2026-06-09 17:09:57 +03:30

2 lines
8.3 KiB
JavaScript

import{d as D,g as f,r as S,K as F,o as m,i as L,w as r,a as h,b as i,j as c,k as M,e as U,c as b,n as V,F as O,C as v,t as j,z as q,v as N,_ as R,E as z}from"./index-5cd0dc27.js";import{_ as H,u as K}from"./useBaseTable-c172fcda.js";import{_ as G}from"./button.vue_vue_type_style_index_0_lang-ac3928e1.js";import{I as T}from"./Icon-cd5db3c7.js";import{g as J,u as Q,c as W,_ as X,a as Y,d as Z}from"./adminUser-9d10b351.js";import{_ as ee}from"./BasicInput.vue_vue_type_style_index_0_lang-6499c59b.js";import{n as se}from"./phone-6ff17ec0.js";import{F as te,_ as x}from"./index-5eb50e4a.js";import{C as ae}from"./index-906ffe0c.js";import{_ as ie,a as ne,M as oe}from"./index-303cddc1.js";import{T as P}from"./shallowequal-55f47fed.js";import"./fa_IR-0446fdd0.js";import"./toArray-a619b364.js";import"./vnode-e95c7631.js";import"./FormItemContext-890ed032.js";import"./pickAttrs-52814cf1.js";import"./useState-9fb4d9c6.js";import"./_plugin-vue_export-helper-a1eb32e1.js";import"./lodash-6d31cf29.js";import"./BasicModal.vue_vue_type_style_index_0_lang-b3ec83ab.js";import"./index-19deb164.js";import"./Col-c0746d46.js";import"./index-f4a7a776.js";import"./isPlainObject-db8a979e.js";import"./usePrice-7afab779.js";const re={class:"max-h-[560px] overflow-y-auto p-3"},le={class:"grid grid-cols-1 md:grid-cols-2 md:gap-4"},de={class:"grid grid-cols-1 md:grid-cols-2 gap-3"},ce=D({__name:"AddEditForm",props:{visible:{type:Boolean,default:!1},isEdit:{type:Boolean,default:!1},data:{default:null}},emits:["update:visible","update:isEdit","success"],setup($,{emit:g}){const s=$,_=f([]),e=S({name:"",phone:"",password:"",active:!0,permissions:[]}),E=()=>{e.name="",e.phone="",e.password="",e.active=!0,e.permissions=[]},C=async()=>{_.value.length||(_.value=await J())},k=()=>{var l;s.data&&(e.name=s.data.name||"",e.phone=s.data.phone||s.data.username||((l=s.data.email)==null?void 0:l.split("@")[0])||"",e.password="",e.active=s.data.active!==!1,e.permissions=[...s.data.permissions||[]])};F(()=>s.visible,async l=>{l&&(await C(),s.isEdit&&s.data?k():E())});const w=(l,n)=>{if(n){e.permissions.includes(l)||e.permissions.push(l);return}e.permissions=e.permissions.filter(p=>p!==l)},A=()=>{g("update:visible",!1),g("update:isEdit",!1)},B=async()=>{var l,n,p;if(!e.name.trim()||!e.phone.trim()){v.error("نام و شماره تلفن الزامی است");return}if(!s.isEdit&&!e.password.trim()){v.error("کلمه عبور الزامی است");return}try{s.isEdit&&((l=s.data)!=null&&l.id)?(await Q(s.data.id,{name:e.name.trim(),password:e.password.trim()||void 0,permissions:e.permissions,active:e.active}),v.success("مدیر با موفقیت ویرایش شد")):(await W({name:e.name.trim(),phone:se(e.phone),password:e.password.trim(),permissions:e.permissions}),v.success("مدیر با موفقیت ایجاد شد")),g("success"),A()}catch(a){v.error(((p=(n=a==null?void 0:a.response)==null?void 0:n.data)==null?void 0:p.error)||"خطا در ذخیره اطلاعات")}};return(l,n)=>{const p=ee,a=X;return m(),L(a,{visible:s.visible,width:"52rem",title:`${s.isEdit?"ویرایش":"افزودن"} مدیر`,okText:"ثبت",onCancel:A,onOk:B},{default:r(()=>[h("div",re,[i(c(te),{model:e},{default:r(()=>[h("div",le,[i(c(x),{label:"نام",rules:[{required:!0,message:"نام الزامی است"}]},{default:r(()=>[i(p,{"place-holder":"نام",value:e.name,"onUpdate:value":n[0]||(n[0]=t=>e.name=t)},null,8,["value"])]),_:1}),i(c(x),{label:"شماره تلفن",rules:[{required:!0,message:"شماره تلفن الزامی است"}]},{default:r(()=>[i(p,{"place-holder":"مثال: 09123456789",value:e.phone,"onUpdate:value":n[1]||(n[1]=t=>e.phone=t),disabled:s.isEdit},null,8,["value","disabled"])]),_:1}),i(c(x),{label:"کلمه عبور",rules:s.isEdit?[]:[{required:!0,message:"کلمه عبور الزامی است"}]},{default:r(()=>[i(p,{"is-password":"","place-holder":s.isEdit?"در صورت نیاز به تغییر وارد کنید":"کلمه عبور",value:e.password,"onUpdate:value":n[2]||(n[2]=t=>e.password=t)},null,8,["place-holder","value"])]),_:1},8,["rules"]),s.isEdit?(m(),L(c(x),{key:0,label:"وضعیت"},{default:r(()=>[i(c(ie),{checked:e.active,"onUpdate:checked":n[3]||(n[3]=t=>e.active=t),"checked-children":"فعال","un-checked-children":"غیرفعال"},null,8,["checked"])]),_:1})):M("",!0)]),i(c(ne),null,{default:r(()=>[U("دسترسی به صفحات")]),_:1}),h("div",de,[(m(!0),b(O,null,V(_.value,t=>(m(),L(c(ae),{key:t.key,checked:e.permissions.includes(t.key),onChange:o=>w(t.key,o.target.checked)},{default:r(()=>[U(j(t.label),1)]),_:2},1032,["checked","onChange"]))),128))])]),_:1},8,["model"])])]),_:1},8,["visible","title"])}}}),pe=[{title:"ردیف",dataIndex:"index",key:"index",width:70,align:"center"},{title:"نام",dataIndex:"name",key:"name",width:160},{title:"شماره تلفن",dataIndex:"phone",key:"phone",width:140},{title:"نوع",dataIndex:"roleLabel",key:"roleLabel",width:120},{title:"وضعیت",dataIndex:"statusLabel",key:"statusLabel",width:100},{title:"دسترسی‌ها",dataIndex:"permissionsLabel",key:"permissionsLabel"},{title:"عملیات",dataIndex:"action",key:"action",width:120,align:"center",slot:"action",filterable:!1}],ue={class:"h-full"},me={key:0,class:"text-center p-8"},_e=h("p",{class:"text-gray-500 text-lg"},"فقط سوپر ادمین به این بخش دسترسی دارد",-1),fe=[_e],ve=h("span",null,"افزودن مدیر",-1),he={key:0,class:"gap-2 flex justify-center"},ge=h("span",null,"ویرایش",-1),be=h("span",null,"حذف",-1),ke={key:1,class:"text-gray-400 text-sm"},Ke=D({__name:"index",setup($){const g=q(),s=f(!1),_=f(!1),e=f(null),E=f(null),[C,k]=K(),w=f({}),B=f({columns:pe,api:async a=>{const o=(await Y()).map((d,I)=>{var u;return{...d,phone:d.phone||d.username||((u=d.email)==null?void 0:u.split("@")[0])||"",index:I+1,roleLabel:d.is_super_admin?"سوپر ادمین":"مدیر",statusLabel:d.active===!1?"غیرفعال":"فعال",permissionsLabel:d.is_super_admin?"دسترسی کامل":(d.permissions||[]).map(y=>w.value[y]||y).join("، ")||"بدون دسترسی"}});return{rows:o,total:o.length,query:{...a,total:o.length,filters:a.filters??[]}}},pagination:!1}),l=()=>{e.value=null,_.value=!1,s.value=!0},n=a=>{e.value=a,_.value=!0,s.value=!0},p=a=>{oe.confirm({title:"حذف مدیر",content:`آیا مطمئن هستید که می‌خواهید "${a.name||a.phone}" را حذف کنید؟`,okText:"بله، حذف کن",cancelText:"انصراف",okType:"danger",centered:!0,onOk:async()=>{var t,o;try{await Z(a.id),v.success("مدیر با موفقیت حذف شد"),await k()}catch(d){v.error(((o=(t=d==null?void 0:d.response)==null?void 0:t.data)==null?void 0:o.error)||"خطا در حذف مدیر")}}})};return N(async()=>{if(g.isSuperAdmin)try{const{getAdminPermissionOptions:a}=await R(()=>import("./adminUser-9d10b351.js").then(o=>o.b),["assets/adminUser-9d10b351.js","assets/button.vue_vue_type_style_index_0_lang-ac3928e1.js","assets/Icon-cd5db3c7.js","assets/index-5cd0dc27.js","assets/index-5d811526.css","assets/_plugin-vue_export-helper-a1eb32e1.js","assets/Icon-07033a75.css","assets/button-318cd43f.css","assets/index-303cddc1.js","assets/Col-c0746d46.js","assets/shallowequal-55f47fed.js","assets/vnode-e95c7631.js","assets/pickAttrs-52814cf1.js","assets/FormItemContext-890ed032.js","assets/adminUser-d880bede.css"]),t=await a();w.value=Object.fromEntries(t.map(o=>[o.key,o.label]))}catch(a){console.error(a)}}),(a,t)=>{const o=T,d=G,I=H;return m(),b("div",ue,[c(g).isSuperAdmin?(m(),b(O,{key:1},[i(I,z(B.value,{ref_key:"table",ref:E,onRegister:c(C)}),{extraHeader:r(()=>[i(d,{type:"primary",onClick:l},{default:r(()=>[ve,i(o,{icon:"vuesax-linear:user-add",size:"17"})]),_:1})]),action:r(({record:u})=>[u.is_super_admin?(m(),b("span",ke,"سوپر ادمین")):(m(),b("div",he,[i(c(P),{class:"cursor-pointer"},{title:r(()=>[ge]),default:r(()=>[i(T,{icon:"vuesax-linear:edit",color:"#1D4ED8",onClick:y=>n(u)},null,8,["onClick"])]),_:2},1024),i(c(P),{class:"cursor-pointer"},{title:r(()=>[be]),default:r(()=>[i(T,{icon:"vuesax-linear:trash",color:"#DC2626",onClick:y=>p(u)},null,8,["onClick"])]),_:2},1024)]))]),_:1},16,["onRegister"]),i(ce,{visible:s.value,"onUpdate:visible":t[0]||(t[0]=u=>s.value=u),"is-edit":_.value,"onUpdate:isEdit":t[1]||(t[1]=u=>_.value=u),data:e.value,onSuccess:c(k)},null,8,["visible","is-edit","data","onSuccess"])],64)):(m(),b("div",me,fe))])}}});export{Ke as default};