feat(M5): 前端完善 + 部署 — Vue3 全量页面、仪表盘统计与我的审计接口、systemd/sudoers/迁移脚本、部署文档
This commit is contained in:
@@ -0,0 +1 @@
|
||||
import{d as w,c as k,a as l,w as t,b as a,e as C,h as f,k as n,i as q,s as z,f as U,r as _,m as A,v as B,E}from"./index-OD70Gdif.js";import{_ as N}from"./_plugin-vue_export-helper-DlAUqK2U.js";const R={class:"apply-page"},M=w({__name:"ApplyView",setup(O){const g=U(),p=_(!1),r=A({username:"",email:"",supervisor:"",purpose:""}),v={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"}]},i=_();async function m(){var e;if(await((e=i.value)==null?void 0:e.validate().catch(()=>!1))){p.value=!0;try{await B({username:r.username.trim(),email:r.email.trim(),supervisor:r.supervisor.trim(),purpose:r.purpose.trim()}),E.success("申请已提交,等待管理员审批(结果将邮件通知)"),Object.assign(r,{username:"",email:"",supervisor:"",purpose:""})}catch{}finally{p.value=!1}}}return(c,e)=>{const b=a("el-text"),V=a("el-divider"),u=a("el-input"),s=a("el-form-item"),d=a("el-button"),y=a("el-form"),x=a("el-card");return C(),k("div",R,[l(x,{class:"apply-card",shadow:"always"},{default:t(()=>[e[8]||(e[8]=f("h2",null,"申请服务器账号",-1)),l(b,{type:"info"},{default:t(()=>[...e[5]||(e[5]=[n("提交后由管理员审批;通过后自动创建账号(用户名将带 ",-1),f("code",null,"ext_",-1),n(" 前缀),结果以邮件通知。",-1)])]),_:1}),l(V),l(y,{ref_key:"formRef",ref:i,model:r,rules:v,"label-width":"90px",onSubmit:q(m,["prevent"])},{default:t(()=>[l(s,{label:"用户名",prop:"username"},{default:t(()=>[l(u,{modelValue:r.username,"onUpdate:modelValue":e[0]||(e[0]=o=>r.username=o),placeholder:"如 zhangsan(自动成为 ext_zhangsan)",maxlength:"31"},null,8,["modelValue"])]),_:1}),l(s,{label:"邮箱",prop:"email"},{default:t(()=>[l(u,{modelValue:r.email,"onUpdate:modelValue":e[1]||(e[1]=o=>r.email=o),placeholder:"接收通知与 OTP 验证码"},null,8,["modelValue"])]),_:1}),l(s,{label:"挂靠老师",prop:"supervisor"},{default:t(()=>[l(u,{modelValue:r.supervisor,"onUpdate:modelValue":e[2]||(e[2]=o=>r.supervisor=o)},null,8,["modelValue"])]),_:1}),l(s,{label:"用途",prop:"purpose"},{default:t(()=>[l(u,{modelValue:r.purpose,"onUpdate:modelValue":e[3]||(e[3]=o=>r.purpose=o),type:"textarea",rows:3,placeholder:"说明申请用途"},null,8,["modelValue"])]),_:1}),l(s,null,{default:t(()=>[l(d,{type:"primary",loading:p.value,onClick:m},{default:t(()=>[...e[6]||(e[6]=[n("提交申请",-1)])]),_:1},8,["loading"]),l(d,{onClick:e[4]||(e[4]=o=>z(g).push("/login"))},{default:t(()=>[...e[7]||(e[7]=[n("返回登录",-1)])]),_:1})]),_:1})]),_:1},8,["model"])]),_:1})])}}}),$=N(M,[["__scopeId","data-v-d21561d9"]]);export{$ as default};
|
||||
Reference in New Issue
Block a user