Files

2 lines
9.0 KiB
JavaScript
Raw Permalink Normal View History

import{d as X,l as Y,c as g,b as l,w as i,$ as F,h as y,n as k,r as v,g as Z,o as p,a as o,O as b,e as S,U as h,f as u,a2 as ee,a3 as ae,s as L,v as z,F as M,z as V,x as O,y as w,t as A,V as se,i as te,B as f,_ as le}from"./index-BOpodV_K.js";import{C as ie}from"./CrownOutlined-DnFnrjHz.js";const oe={class:"m-form-page"},re={class:"m-steps"},ne={class:"m-card"},de={class:"m-card"},ue={class:"m-super-title"},pe={key:0,class:"m-roles-container"},me={class:"m-roles-list"},ce=["onClick"],ve={class:"m-role-pill-top"},fe={class:"m-role-name"},_e={class:"m-role-desc"},ge={class:"m-card"},ye={class:"m-form-actions"},ke=X({__name:"MAdminFormView",setup(we){const N=se(),G=te(),I=F(()=>!!N.params.id),C=F(()=>N.params.id),x=y(!1),T=y(!1),r=y(0),q=y([]),_=y([]),E=y([]),e=Z({name:"",email:"",mobile:"",password:"",status:"ACTIVE",isSuperAdmin:!1,roleIds:[],workspaceId:"",scopeType:"ALL",specificCampaignIds:[]});async function j(){var m,a,n;try{const[t,d,c]=await Promise.all([k.get("/admin/roles"),k.get("/admin/workspaces"),k.get("/admin/campaigns",{params:{pageSize:100}})]);q.value=Array.isArray(t.data)?t.data:((m=t.data)==null?void 0:m.data)||[],_.value=Array.isArray(d.data)?d.data:((a=d.data)==null?void 0:a.data)||[],E.value=Array.isArray(c.data)?c.data:((n=c.data)==null?void 0:n.data)||[],!e.workspaceId&&_.value.length>0&&(e.workspaceId=_.value[0].id)}catch{}}async function H(m){var a;x.value=!0;try{const t=(await k.get(`/admin/managers/${m}`)).data;if(e.name=t.name||"",e.email=t.email||"",e.mobile=t.mobile||"",e.password="",e.status=t.status||"ACTIVE",e.isSuperAdmin=!!t.isSuperAdmin,e.roleIds=t.roles?t.roles.map(d=>{var c;return((c=d.role)==null?void 0:c.id)||d.roleId}):[],t.workspaceAssignments&&t.workspaceAssignments.length>0){const d=t.workspaceAssignments[0];e.workspaceId=d.workspaceId||((a=d.workspace)==null?void 0:a.id)||"",e.scopeType=d.scopeType||"ALL",e.specificCampaignIds=Array.isArray(d.specificCampaignIds)?d.specificCampaignIds:[]}else _.value.length>0&&(e.workspaceId=_.value[0].id)}finally{x.value=!1}}function J(){if(r.value===0){if(!e.name.trim()){f.error("لطفاً نام و نام خانوادگی مدیر را وارد کنید.");return}if(!e.mobile.trim()||!/^09\d{9}$/.test(e.mobile.trim())){f.error("شماره موبایل باید ۱۱ رقمی باشد و با ۰۹ شروع شود.");return}if(!e.email.trim()||!/^\S+@\S+\.\S+$/.test(e.email.trim())){f.error("لطفاً یک آدرس ایمیل معتبر وارد کنید.");return}if(!I.value&&(!e.password||e.password.length<6)){f.error("کلمه عبور ورود باید حداقل ۶ کاراکتر باشد.");return}}if(r.value===1&&!e.isSuperAdmin&&e.roleIds.length===0){f.error("لطفاً حداقل یک نقش سازمانی انتخاب کنید یا وضعیت مدیر ارشد را فعال نمایید.");return}r.value+=1}function K(m){const a=e.roleIds.indexOf(m);a>-1?e.roleIds.splice(a,1):e.roleIds.push(m)}async function Q(){var m,a;if(!e.name.trim()){f.error("نام الزامی است");return}T.value=!0;try{const n={name:e.name.trim(),email:e.email.trim().toLowerCase(),mobile:e.mobile.trim(),status:e.status,isSuperAdmin:e.isSuperAdmin,roleIds:e.isSuperAdmin?[]:e.roleIds};e.password&&(n.password=e.password),e.workspaceId&&(n.workspaceAssignments=[{workspaceId:e.workspaceId,scopeType:e.scopeType,specificCampaignIds:e.scopeType==="CUSTOM_CAMPAIGNS"?e.specificCampaignIds:void 0}]),I.value&&C.value?(await k.patch(`/admin/managers/${C.value}`,n),f.success("مشخصات مدیر با موفقیت به‌روزرسانی شد.")):(await k.post("/admin/managers",n),f.success("مدیر جدید با موفقیت ایجاد شد.")),G.push("/m/managers")}catch(n){const t=((a=(m=n.response)==null?void 0:m.data)==null?void 0:a.message)||"خطا در ثبت اطلاعات مدیر";f.error(Array.isArray(t)?t.join(" | "):t)}finally{T.value=!1}}return Y(async()=>{await j(),C.value&&await H(C.value)}),(m,a)=>{const n=v("a-input"),t=v("a-form-item"),d=v("a-input-password"),c=v("a-radio-button"),R=v("a-radio-group"),$=v("a-form"),B=v("a-checkbox"),D=v("a-sele