Files
Lucky_Wheel/apps/admin/dist/assets/MAdminFormView-C850F55Y.js
T

2 lines
9.0 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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-select-option"),P=v("a-select"),U=v("a-button"),W=v("a-spin");return p(),g("div",oe,[l(W,{spinning:x.value},{default:i(()=>[o("div",re,[o("div",{class:b(["m-step",{active:r.value===0,done:r.value>0}])},[l(S(h)),a[10]||(a[10]=u(" ۱. هویتی ",-1))],2),o("div",{class:b(["m-step",{active:r.value===1,done:r.value>1}])},[l(S(ee)),a[11]||(a[11]=u(" ۲. نقش‌ها ",-1))],2),o("div",{class:b(["m-step",{active:r.value===2}])},[l(S(ae)),a[12]||(a[12]=u(" ۳. دسترسی ",-1))],2)]),L(o("div",ne,[l($,{layout:"vertical"},{default:i(()=>[l(t,{label:"نام و نام خانوادگی",required:""},{default:i(()=>[l(n,{value:e.name,"onUpdate:value":a[0]||(a[0]=s=>e.name=s),size:"large",placeholder:"مثال: علی رضایی"},null,8,["value"])]),_:1}),l(t,{label:"شماره موبایل سازمانی",required:""},{default:i(()=>[l(n,{value:e.mobile,"onUpdate:value":a[1]||(a[1]=s=>e.mobile=s),size:"large",placeholder:"09xxxxxxxxx",dir:"ltr",maxLength:"11"},null,8,["value"])]),_:1}),l(t,{label:"ایمیل سازمانی (نام کاربری)",required:""},{default:i(()=>[l(n,{value:e.email,"onUpdate:value":a[2]||(a[2]=s=>e.email=s),size:"large",placeholder:"admin@example.com",dir:"ltr"},null,8,["value"])]),_:1}),l(t,{label:I.value?"کلمه عبور جدید (اختیاری)":"کلمه عبور ورود",required:!I.value},{default:i(()=>[l(d,{value:e.password,"onUpdate:value":a[3]||(a[3]=s=>e.password=s),size:"large",placeholder:"حداقل ۶ کاراکتر",dir:"ltr"},null,8,["value"])]),_:1},8,["label","required"]),l(t,{label:"وضعیت حساب کاربری"},{default:i(()=>[l(R,{value:e.status,"onUpdate:value":a[4]||(a[4]=s=>e.status=s),buttonStyle:"solid",class:"m-radio-full"},{default:i(()=>[l(c,{value:"ACTIVE"},{default:i(()=>[...a[13]||(a[13]=[u("فعال",-1)])]),_:1}),l(c,{value:"DISABLED"},{default:i(()=>[...a[14]||(a[14]=[u("غیرفعال / مسدود",-1)])]),_:1})]),_:1},8,["value"])]),_:1})]),_:1})],512),[[z,r.value===0]]),L(o("div",de,[o("div",{class:b(["m-super-admin-card",{"is-selected":e.isSuperAdmin}])},[l(B,{checked:e.isSuperAdmin,"onUpdate:checked":a[5]||(a[5]=s=>e.isSuperAdmin=s)},{default:i(()=>[o("span",ue,[l(S(ie),{style:{color:"#f59e0b","margin-left":"6px"}}),a[15]||(a[15]=u(" مدیر ارشد سامانه (Super Admin) ",-1))])]),_:1},8,["checked"]),a[16]||(a[16]=o("p",{class:"m-super-desc"}," مدیر ارشد به تمامی ماژول‌ها، نقش‌ها، گزارش‌ها و فضاهای کاری دسترسی کامل و بی‌قیدوشرط دارد. ",-1))],2),e.isSuperAdmin?O("",!0):(p(),g("div",pe,[a[17]||(a[17]=o("div",{class:"m-section-label"},"انتخاب نقش‌های سازمانی مدیر:",-1)),o("div",me,[(p(!0),g(M,null,V(q.value.filter(s=>s.code!=="SUPER_ADMIN"),s=>(p(),g("div",{key:s.id,class:b(["m-role-pill",{"is-active":e.roleIds.includes(s.id)}]),onClick:Ae=>K(s.id)},[o("div",ve,[l(B,{checked:e.roleIds.includes(s.id)},null,8,["checked"]),o("span",fe,A(s.name),1)]),o("p",_e,A(s.description),1)],10,ce))),128))])]))],512),[[z,r.value===1]]),L(o("div",ge,[l($,{layout:"vertical"},{default:i(()=>[l(t,{label:"انتخاب فضای کاری سازمانی",required:""},{default:i(()=>[l(P,{value:e.workspaceId,"onUpdate:value":a[6]||(a[6]=s=>e.workspaceId=s),size:"large",style:{width:"100%"}},{default:i(()=>[(p(!0),g(M,null,V(_.value,s=>(p(),w(D,{key:s.id,value:s.id},{default:i(()=>[u(A(s.name)+" ("+A(s.slug)+") ",1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),_:1}),l(t,{label:"اسکوپ دسترسی کمپین‌ها"},{default:i(()=>[l(R,{value:e.scopeType,"onUpdate:value":a[7]||(a[7]=s=>e.scopeType=s),buttonStyle:"solid",class:"m-radio-full"},{default:i(()=>[l(c,{value:"ALL"},{default:i(()=>[...a[18]||(a[18]=[u("همه کمپین‌ها",-1)])]),_:1}),l(c,{value:"CUSTOM_CAMPAIGNS"},{default:i(()=>[...a[19]||(a[19]=[u("کمپین‌های مشخص",-1)])]),_:1})]),_:1},8,["value"])]),_:1}),e.scopeType==="CUSTOM_CAMPAIGNS"?(p(),w(t,{key:0,label:"کمپین‌های مجاز برای این مدیر",required:""},{default:i(()=>[l(P,{value:e.specificCampaignIds,"onUpdate:value":a[8]||(a[8]=s=>e.specificCampaignIds=s),mode:"multiple",size:"large",placeholder:"کمپین‌ها را انتخاب کنید",style:{width:"100%"}},{default:i(()=>[(p(!0),g(M,null,V(E.value,s=>(p(),w(D,{key:s.id,value:s.id},{default:i(()=>[u(A(s.title),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),_:1})):O("",!0)]),_:1})],512),[[z,r.value===2]]),o("div",ye,[r.value>0?(p(),w(U,{key:0,size:"large",block:"",onClick:a[9]||(a[9]=s=>r.value-=1)},{default:i(()=>[...a[20]||(a[20]=[u(" مرحله قبلی ",-1)])]),_:1})):O("",!0),r.value<2?(p(),w(U,{key:1,type:"primary",size:"large",block:"",onClick:J},{default:i(()=>[...a[21]||(a[21]=[u(" مرحله بعدی ",-1)])]),_:1})):(p(),w(U,{key:2,type:"primary",size:"large",block:"",loading:T.value,onClick:Q},{default:i(()=>[u(A(I.value?"ذخیره تغییرات مدیر":"ایجاد مدیر جدید"),1)]),_:1},8,["loading"]))])]),_:1},8,["spinning"])])}}}),Ce=le(ke,[["__scopeId","data-v-ccc89cd2"]]);export{Ce as default};