import{d as k,c as z,a as l,w as t,b as s,e as E,h as r,k as i,i as q,r as _,m as C,s as U,E as A,f as B}from"./index-7syy_I7y.js";import{_ as N}from"./_plugin-vue_export-helper-DlAUqK2U.js";const P={class:"auth-page"},R={class:"auth-brand"},M={class:"brand-icon"},O={class:"auth-foot"},S=k({__name:"ApplyView",setup(T){B();const p=_(!1),o=C({username:"",email:"",supervisor:"",purpose:""}),f={username:[{required:!0,message:"请输入用户名",trigger:"blur"},{pattern:/^[a-z][a-z0-9_]{1,30}$/,message:"小写字母开头,仅小写字母/数字/下划线,2~31 位",trigger:"blur"}],email:[{required:!0,message:"请输入邮箱",trigger:"blur"},{type:"email",message:"邮箱格式不正确",trigger:"blur"}],supervisor:[{required:!0,message:"请输入挂靠老师",trigger:"blur"}],purpose:[{required:!0,message:"请说明用途",trigger:"blur"}]},m=_();async function d(){var e;if(await((e=m.value)==null?void 0:e.validate().catch(()=>!1))){p.value=!0;try{await U({username:o.username.trim(),email:o.email.trim(),supervisor:o.supervisor.trim(),purpose:o.purpose.trim()}),A.success("申请已提交,等待管理员审批(结果将邮件通知)"),Object.assign(o,{username:"",email:"",supervisor:"",purpose:""})}catch{}finally{p.value=!1}}}return(c,e)=>{const g=s("EditPen"),v=s("el-icon"),b=s("el-alert"),V=s("el-divider"),u=s("el-input"),n=s("el-form-item"),y=s("el-button"),w=s("el-form"),x=s("router-link"),h=s("el-card");return E(),z("div",P,[l(h,{class:"auth-card apply-card",shadow:"never"},{default:t(()=>[r("div",R,[r("span",M,[l(v,{size:26},{default:t(()=>[l(g)]),_:1})]),e[4]||(e[4]=r("h2",null,"申请服务器账号",-1)),e[5]||(e[5]=r("span",{class:"sub"},"提交后由管理员审批,结果以邮件通知",-1))]),l(b,{type:"info",closable:!1,"show-icon":"",class:"apply-tip"},{default:t(()=>[...e[6]||(e[6]=[i(" 通过后自动创建账号(用户名将带 ",-1),r("code",null,"ext_",-1),i(" 前缀)。 ",-1)])]),_:1}),l(V),l(w,{ref_key:"formRef",ref:m,model:o,rules:f,"label-width":"90px",onSubmit:q(d,["prevent"])},{default:t(()=>[l(n,{label:"用户名",prop:"username"},{default:t(()=>[l(u,{modelValue:o.username,"onUpdate:modelValue":e[0]||(e[0]=a=>o.username=a),placeholder:"如 zhangsan(自动成为 ext_zhangsan)",maxlength:"31"},null,8,["modelValue"])]),_:1}),l(n,{label:"邮箱",prop:"email"},{default:t(()=>[l(u,{modelValue:o.email,"onUpdate:modelValue":e[1]||(e[1]=a=>o.email=a),placeholder:"接收通知与 OTP 验证码"},null,8,["modelValue"])]),_:1}),l(n,{label:"挂靠老师",prop:"supervisor"},{default:t(()=>[l(u,{modelValue:o.supervisor,"onUpdate:modelValue":e[2]||(e[2]=a=>o.supervisor=a)},null,8,["modelValue"])]),_:1}),l(n,{label:"用途",prop:"purpose"},{default:t(()=>[l(u,{modelValue:o.purpose,"onUpdate:modelValue":e[3]||(e[3]=a=>o.purpose=a),type:"textarea",rows:3,placeholder:"说明申请用途"},null,8,["modelValue"])]),_:1}),l(n,null,{default:t(()=>[l(y,{type:"primary",class:"auth-submit",loading:p.value,onClick:d},{default:t(()=>[...e[7]||(e[7]=[i("提交申请",-1)])]),_:1},8,["loading"])]),_:1})]),_:1},8,["model"]),r("div",O,[l(x,{to:"/login"},{default:t(()=>[...e[8]||(e[8]=[i("已有账号?返回登录",-1)])]),_:1})])]),_:1})])}}}),$=N(S,[["__scopeId","data-v-b18f1e34"]]);export{$ as default};