import{M as C,I as j,r as V,av as q,aw as B,h as E,a5 as F,n as J,F as M,W}from"./index.17037962789732.js";import"./index.170379627897337.js";import"./index.170379627897315.js";import"./index.170379627897318.js";import"./index.170379627897319.js";import"./index.170379627897326.js";import"./index.170379627897316.js";import"./index.170379627897317.js";import"./index.170379627897314.js";import"./index.170379627897327.js";import{_ as h}from"./index.vue_vue_type_script_setup_true_name_PermissionButton_lang.1703796278973.js";import{v as b,a as z,b as G,u as H,c as K,g as Q,d as X,e as Y}from"./user.17037962789733.js";import{a as Z}from"./validate.1703796278973.js";import{f as k}from"./comm.1703796278973.js";import{d as ee,k as P,l as te,v as ae,V as se,r as ie,o as m,c as f,a as i,b as s,u as a,B as _,t as U,A as x}from"./vue.1703796278973.js";import{_ as le}from"./_plugin-vue_export-helper.1703796278973.js";import"./index.17037962789733.js";import"./dayjs.min.1703796278973.js";import"./isArray.1703796278973.js";import"./editor.api.1703796278973.js";import"./preload-helper.1703796278973.js";import"./monaco.contribution.1703796278973.js";import"./index.170379627897320.js";import"./index.170379627897321.js";import"./permission.1703796278973.js";import"./system.1703796278973.js";import"./index.170379627897332.js";import"./index.170379627897333.js";import"./index.170379627897334.js";import"./default.1703796278973.js";import"./consts.1703796278973.js";import"./404.1703796278973.js";const oe=ee({__name:"EditUserDialog",props:{type:null,data:null,visible:{type:Boolean}},emits:["confirm","update:visible"],setup(N,{emit:c}){const u=N,O="system/Department",D="system/Role",g=P(!1),R=te(()=>u.type==="add"?"新增":u.type==="edit"?"编辑":u.type==="reset"?"重置密码":""),S=()=>{var o;g.value=!0,(o=v.value)==null||o.validate().then(()=>e.submit()).then(t=>{t.status===200&&(C.success("操作成功"),c("confirm"),c("update:visible",!1))}).finally(()=>g.value=!1)},v=P(),e=ae({data:{},rules:{checkUserName:(o,t)=>new Promise((n,r)=>{if(u.type==="edit")return n("");if(t){if(t.length>64)return r("最多可输入64个字符")}else return r("请输入用户名");b("username",t).then(d=>{d.result.passed?n(""):r(d.result.reason)})}),checkPassword:(o,t)=>new Promise((n,r)=>{if(t){if(t.length>64)return r("最多可输入64个字符");if(t.length<8)return r("密码不能少于8位");if(!Z(t))return r("密码必须包含大小写英文和数字")}else return r("请输入密码");b("password",t).then(d=>{d.result.passed?n(""):r(d.result.reason)})}),checkAgainPassword:(o,t)=>t?t===e.data.password?Promise.resolve():Promise.reject("两次密码输入不一致"):Promise.reject("请输入8~64位的密码")},roleOptions:[],departmentOptions:[],institutionOptions:[],init:()=>{e.getDepartmentList(),e.getInstitutionList(),e.getRoleList(),e.getUserInfo()},getUserInfo:()=>{const o=u.data.id||"";console.log(111),u.type==="add"?e.data={}:u.type==="reset"?e.data={id:o}:u.type==="edit"&&z(o).then(t=>{e.data={...t.result,orgIdList:t.result.orgList.map(n=>n.id),roleIdList:t.result.roleList.map(n=>n.id),institutionIdList:t.result.institutionList.map(n=>n.id)},se(()=>{var n;(n=v.value)==null||n.clearValidate()})})},submit:()=>{let o,t={};if(u.type==="add")o=G,t={user:e.data,orgIdList:e.data.orgIdList,institutionIdList:e.data.institutionIdList,roleIdList:e.data.roleIdList};else if(u.type==="edit")o=H,t={id:e.data.id,user:e.data,orgIdList:e.data.orgIdList,institutionIdList:e.data.institutionIdList,roleIdList:e.data.roleIdList};else if(u.type==="reset")o=K,t={id:e.data.id,password:e.data.password};else return Promise.reject();return o(t)},getRoleList:()=>{Q().then(o=>{e.roleOptions=o.result.map(t=>({label:t.name,value:t.id}))})},getDepartmentList:()=>{X().then(o=>{e.departmentOptions=o.result})},getInstitutionList:()=>{Y().then(o=>{e.institutionOptions=o.result})},IsShow:(...o)=>o.includes(u.type),clickAddItem:(o,t)=>{const n=window.open(`${origin}/#/system/${t}?save=true`);n.onTabSaveSuccess=r=>{e.data[o]=[...e.data[o]||[],r],o==="roleIdList"?e.getRoleList():e.getDepartmentList()}}});return e.init(),(o,t)=>{const n=j,r=V,d=q,p=B,L=E,T=F,w=ie("AIcon"),y=J,$=M,A=W;return m(),f(A,{visible:"",title:a(R),width:"675px",onOk:S,onCancel:t[11]||(t[11]=l=>c("update:visible",!1)),class:"edit-dialog-container",confirmLoading:a(g),cancelText:"取消",okText:"确定"},{default:i(()=>[s($,{ref_key:"formRef",ref:v,model:a(e).data,layout:"vertical"},{default:i(()=>[a(e).IsShow("add","edit")?(m(),f(p,{key:0,gutter:24},{default:i(()=>[s(d,{span:12},{default:i(()=>[s(r,{name:"name",label:"姓名",rules:[{required:!0,message:"请输入姓名"},{max:64,message:"最多可输入64个字符"}]},{default:i(()=>[s(n,{value:a(e).data.name,"onUpdate:value":t[0]||(t[0]=l=>a(e).data.name=l),placeholder:"请输入姓名"},null,8,["value"])]),_:1})]),_:1}),s(d,{span:12},{default:i(()=>[s(r,{name:"username",label:"用户名",rules:[{required:!0,message:""},{validator:a(e).rules.checkUserName,trigger:"blur"}]},{default:i(()=>[s(n,{value:a(e).data.username,"onUpdate:value":t[1]||(t[1]=l=>a(e).data.username=l),placeholder:"请输入用户名",disabled:u.type==="edit"},null,8,["value","disabled"])]),_:1},8,["rules"])]),_:1})]),_:1})):_("",!0),a(e).IsShow("add","reset")?(m(),f(p,{key:1},{default:i(()=>[s(d,{span:24},{default:i(()=>[s(r,{name:"password",label:"密码",rules:[{required:!0,message:""},{validator:a(e).rules.checkPassword,trigger:"change"}]},{default:i(()=>[s(L,{value:a(e).data.password,"onUpdate:value":t[2]||(t[2]=l=>a(e).data.password=l),placeholder:"请输入密码"},null,8,["value"])]),_:1},8,["rules"])]),_:1})]),_:1})):_("",!0),a(e).IsShow("add","reset")?(m(),f(p,{key:2},{default:i(()=>[s(d,{span:24},{default:i(()=>[s(r,{name:"confirmPassword",label:"确认密码",rules:[{required:!0,message:""},{validator:a(e).rules.checkAgainPassword,trigger:"blur"}]},{default:i(()=>[s(L,{value:a(e).data.confirmPassword,"onUpdate:value":t[3]||(t[3]=l=>a(e).data.confirmPassword=l),placeholder:"请再次输入密码",maxlength:64},null,8,["value"])]),_:1},8,["rules"])]),_:1})]),_:1})):_("",!0),a(e).IsShow("add","edit")?(m(),f(p,{key:3,gutter:24},{default:i(()=>[s(d,{span:12},{default:i(()=>[s(r,{name:"roleIdList",label:"角色",class:"flex"},{default:i(()=>[s(T,{value:a(e).data.roleIdList,"onUpdate:value":t[4]||(t[4]=l=>a(e).data.roleIdList=l),mode:"multiple",style:{width:"100%"},placeholder:"请选择角色",options:a(e).roleOptions},null,8,["value","options"]),s(h,{hasPermission:`${D}:add`,onClick:t[5]||(t[5]=l=>a(e).clickAddItem("roleIdList","Role"))},{default:i(()=>[s(w,{type:"PlusOutlined"})]),_:1},8,["hasPermission"])]),_:1})]),_:1}),s(d,{span:12},{default:i(()=>[s(r,{name:"orgIdList",label:"组织",class:"flex"},{default:i(()=>[s(y,{value:a(e).data.orgIdList,"onUpdate:value":t[6]||(t[6]=l=>a(e).data.orgIdList=l),"show-search":"",style:{width:"100%"},placeholder:"请选择组织","tree-data":a(e).departmentOptions,fieldNames:{label:"name",value:"id"},multiple:"",filterTreeNode:(l,I)=>a(k)(l,I,"name")},{title:i(({name:l})=>[U(x(l),1)]),_:1},8,["value","tree-data","filterTreeNode"]),s(h,{hasPermission:`${O}:add`,onClick:t[7]||(t[7]=l=>a(e).clickAddItem("orgIdList","Department"))},{default:i(()=>[s(w,{type:"PlusOutlined"})]),_:1},8,["hasPermission"])]),_:1})]),_:1})]),_:1})):_("",!0),s(p,null,{default:i(()=>[s(d,{span:24},{default:i(()=>[s(r,{name:"orgIdList",label:"单位",class:"flex"},{default:i(()=>[s(y,{value:a(e).data.institutionIdList,"onUpdate:value":t[8]||(t[8]=l=>a(e).data.institutionIdList=l),"show-search":"",style:{width:"100%"},placeholder:"请选择所属单位","tree-data":a(e).institutionOptions,fieldNames:{label:"name",value:"id"},multiple:"",filterTreeNode:(l,I)=>a(k)(l,I,"name")},{title:i(({name:l})=>[U(x(l),1)]),_:1},8,["value","tree-data","filterTreeNode"])]),_:1})]),_:1})]),_:1}),a(e).IsShow("add","edit")?(m(),f(p,{key:4,gutter:24},{default:i(()=>[s(d,{span:12},{default:i(()=>[s(r,{name:"telephone",label:"手机号",rules:[{pattern:/^1[3456789]\d{9}$/,message:"请输入正确的手机号"}]},{default:i(()=>[s(n,{value:a(e).data.telephone,"onUpdate:value":t[9]||(t[9]=l=>a(e).data.telephone=l),placeholder:"请输入手机号",maxlength:64},null,8,["value"])]),_:1})]),_:1}),s(d,{span:12},{default:i(()=>[s(r,{name:"email",label:"邮箱",rules:[{pattern:/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/,message:"请输入正确的邮箱"}]},{default:i(()=>[s(n,{value:a(e).data.email,"onUpdate:value":t[10]||(t[10]=l=>a(e).data.email=l),placeholder:"请输入邮箱",maxlength:64},null,8,["value"])]),_:1},8,["rules"])]),_:1})]),_:1})):_("",!0)]),_:1},8,["model"])]),_:1},8,["title","confirmLoading"])}}});const qe=le(oe,[["__scopeId","data-v-ebd1dce7"]]);export{qe as default};