import{e as H,g as oe,h as L,i as V,j as Be,m as fe,r as De,n as le,o as N,p as Me,q as we,O as Ke,v as Ae,E as ae,w as ie,x as Le,y as Ve,z as ze,A as ye,B as me,F as Ge,C as Ue,D as Ie,_ as Ye,d as He,G as W,H as q}from"./index-xdc4dCJw.js";import{v as Je}from"./el-loading-C65vMcpP.js";import{c as je,E as We,a as qe,b as Ze}from"./el-table-column-MgpB2mM7.js";import{a as Qe,r as Xe,s as xe,b as et,c as tt,d as nt,f as ot}from"./users-ZzhDjJRL.js";import{u as rt,m as lt}from"./vendor-misc-vmXLPW1j.js";import{v as J,z,r as T,i as k,d as he,u as B,Q as st,q as X,e as P,C as ee,b as at,w as it,a8 as $,J as O,y as h,K as c,V as w,a5 as ct,ai as ut,x as j,G as A,aj as dt,A as te,I as ne,c as Ce,n as pt,B as Y,L as ft,M as se,H as mt,P as vt,R as gt,O as Q,$ as K}from"./vendor-vue-CrWqv-BE.js";import{c as Ee}from"./refs-Cgn3sBur.js";import"./vendor-axios-B9ygI19o.js";const _t=J({inheritAttrs:!1});function bt(e,n,s,l,i,f){return z(e.$slots,"default")}var wt=H(_t,[["render",bt],["__file","collection.vue"]]);const yt=J({name:"ElCollectionItem",inheritAttrs:!1});function It(e,n,s,l,i,f){return z(e.$slots,"default")}var ht=H(yt,[["render",It],["__file","collection-item.vue"]]);const Te="data-el-collection-item",$e=e=>{const n=`El${e}Collection`,s=`${n}Item`,l=Symbol(n),i=Symbol(s),f={...wt,name:n,setup(){const a=T(),m=new Map;X(l,{itemMap:m,getItems:()=>{const b=B(a);if(!b)return[];const v=Array.from(b.querySelectorAll(`[${Te}]`));return[...m.values()].sort((r,p)=>v.indexOf(r.ref)-v.indexOf(p.ref))},collectionRef:a})}},d={...ht,name:s,setup(a,{attrs:m}){const y=T(),b=k(l,void 0);X(i,{collectionItemRef:y}),he(()=>{const v=B(y);v&&b.itemMap.set(v,{ref:v,...m})}),st(()=>{const v=B(y);b.itemMap.delete(v)})}};return{COLLECTION_INJECTION_KEY:l,COLLECTION_ITEM_INJECTION_KEY:i,ElCollection:f,ElCollectionItem:d}},Ct=oe({style:{type:L([String,Array,Object])},currentTabId:{type:L(String)},defaultCurrentTabId:String,loop:Boolean,dir:{type:String,values:["ltr","rtl"],default:"ltr"},orientation:{type:L(String)},onBlur:Function,onFocus:Function,onMousedown:Function}),{ElCollection:Et,ElCollectionItem:Tt,COLLECTION_INJECTION_KEY:ce,COLLECTION_ITEM_INJECTION_KEY:$t}=$e("RovingFocusGroup"),ue=Symbol("elRovingFocusGroup"),ke=Symbol("elRovingFocusGroupItem"),kt={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"},St=(e,n)=>e,Ot=(e,n,s)=>{const l=St(e.code);return kt[l]},Nt=(e,n)=>e.map((s,l)=>e[(l+n)%e.length]),de=e=>{const{activeElement:n}=document;for(const s of e)if(s===n||(s.focus(),n!==document.activeElement))return},ve="currentTabIdChange",ge="rovingFocusGroup.entryFocus",Rt={bubbles:!1,cancelable:!0},Ft=J({name:"ElRovingFocusGroupImpl",inheritAttrs:!1,props:Ct,emits:[ve,"entryFocus"],setup(e,{emit:n}){var s;const l=T((s=e.currentTabId||e.defaultCurrentTabId)!=null?s:null),i=T(!1),f=T(!1),d=T(),{getItems:a}=k(ce,void 0),m=P(()=>[{outline:"none"},e.style]),y=o=>{n(ve,o)},b=()=>{i.value=!0},v=V(o=>{var t;(t=e.onMousedown)==null||t.call(e,o)},()=>{f.value=!0}),E=V(o=>{var t;(t=e.onFocus)==null||t.call(e,o)},o=>{const t=!B(f),{target:g,currentTarget:C}=o;if(g===C&&t&&!B(i)){const S=new Event(ge,Rt);if(C?.dispatchEvent(S),!S.defaultPrevented){const I=a().filter(F=>F.focusable),D=I.find(F=>F.active),R=I.find(F=>F.id===B(l)),U=[D,R,...I].filter(Boolean).map(F=>F.ref);de(U)}}f.value=!1}),r=V(o=>{var t;(t=e.onBlur)==null||t.call(e,o)},()=>{i.value=!1}),p=(...o)=>{n("entryFocus",...o)};X(ue,{currentTabbedId:at(l),loop:ee(e,"loop"),tabIndex:P(()=>B(i)?-1:0),rovingFocusGroupRef:d,rovingFocusGroupRootStyle:m,orientation:ee(e,"orientation"),dir:ee(e,"dir"),onItemFocus:y,onItemShiftTab:b,onBlur:r,onFocus:E,onMousedown:v}),it(()=>e.currentTabId,o=>{l.value=o??null}),rt(d,ge,p)}});function Pt(e,n,s,l,i,f){return z(e.$slots,"default")}var Bt=H(Ft,[["render",Pt],["__file","roving-focus-group-impl.vue"]]);const Dt=J({name:"ElRovingFocusGroup",components:{ElFocusGroupCollection:Et,ElRovingFocusGroupImpl:Bt}});function Mt(e,n,s,l,i,f){const d=$("el-roving-focus-group-impl"),a=$("el-focus-group-collection");return h(),O(a,null,{default:c(()=>[w(d,ct(ut(e.$attrs)),{default:c(()=>[z(e.$slots,"default")]),_:3},16)]),_:3})}var Kt=H(Dt,[["render",Mt],["__file","roving-focus-group.vue"]]);const At=oe({trigger:le.trigger,triggerKeys:{type:L(Array),default:()=>[N.enter,N.numpadEnter,N.space,N.down]},virtualTriggering:le.virtualTriggering,virtualRef:le.virtualRef,effect:{...fe.effect,default:"light"},type:{type:L(String)},placement:{type:L(String),default:"bottom"},popperOptions:{type:L(Object),default:()=>({})},id:String,size:{type:String,default:""},splitButton:Boolean,hideOnClick:{type:Boolean,default:!0},loop:{type:Boolean,default:!0},showArrow:{type:Boolean,default:!0},showTimeout:{type:Number,default:150},hideTimeout:{type:Number,default:150},tabindex:{type:L([Number,String]),default:0},maxHeight:{type:L([Number,String]),default:""},popperClass:{type:String,default:""},disabled:Boolean,role:{type:String,values:De,default:"menu"},buttonProps:{type:L(Object)},teleported:fe.teleported,persistent:{type:Boolean,default:!0}}),Se=oe({command:{type:[Object,String,Number],default:()=>({})},disabled:Boolean,divided:Boolean,textValue:String,icon:{type:Be}}),Lt=oe({onKeydown:{type:L(Function)}}),Vt=[N.down,N.pageDown,N.home],Oe=[N.up,N.pageUp,N.end],zt=[...Vt,...Oe],{ElCollection:Gt,ElCollectionItem:Ut,COLLECTION_INJECTION_KEY:Yt,COLLECTION_ITEM_INJECTION_KEY:Ht}=$e("Dropdown"),re=Symbol("elDropdown"),Ne="elDropdown",{ButtonGroup:Jt}=ae,jt=J({name:"ElDropdown",components:{ElButton:ae,ElButtonGroup:Jt,ElScrollbar:je,ElDropdownCollection:Gt,ElTooltip:Ae,ElRovingFocusGroup:Kt,ElOnlyChild:Ke,ElIcon:we,ArrowDown:Me},props:At,emits:["visible-change","click","command"],setup(e,{emit:n}){const s=Ce(),l=ie("dropdown"),{t:i}=Le(),f=T(),d=T(),a=T(),m=T(),y=T(null),b=T(null),v=T(!1),E=P(()=>({maxHeight:Ve(e.maxHeight)})),r=P(()=>[l.m(I.value)]),p=P(()=>lt(e.trigger)),o=ye().value,t=P(()=>e.id||o);function g(){var _;(_=a.value)==null||_.onClose(void 0,0)}function C(){var _;(_=a.value)==null||_.onClose()}function S(){var _;(_=a.value)==null||_.onOpen()}const I=ze();function D(..._){n("command",..._)}function R(){}function G(){const _=B(m);p.value.includes("hover")&&_?.focus({preventScroll:!0}),b.value=null}function U(_){b.value=_}function F(_){v.value||(_.preventDefault(),_.stopImmediatePropagation())}function u(){n("visible-change",!0)}function M(_){var Z;_?.type==="keydown"&&((Z=m.value)==null||Z.focus())}function x(){n("visible-change",!1)}return X(re,{contentRef:m,role:P(()=>e.role),triggerId:t,isUsingKeyboard:v,onItemEnter:R,onItemLeave:G}),X(Ne,{instance:s,dropdownSize:I,handleClick:g,commandHandler:D,trigger:ee(e,"trigger"),hideOnClick:ee(e,"hideOnClick")}),{t:i,ns:l,scrollbar:y,wrapStyle:E,dropdownTriggerKls:r,dropdownSize:I,triggerId:t,currentTabId:b,handleCurrentTabIdChange:U,handlerMainButtonClick:_=>{n("click",_)},handleEntryFocus:F,handleClose:C,handleOpen:S,handleBeforeShowTooltip:u,handleShowTooltip:M,handleBeforeHideTooltip:x,onFocusAfterTrapped:_=>{var Z,pe;_.preventDefault(),(pe=(Z=m.value)==null?void 0:Z.focus)==null||pe.call(Z,{preventScroll:!0})},popperRef:a,contentRef:m,triggeringElementRef:f,referenceElementRef:d}}});function Wt(e,n,s,l,i,f){var d,a;const m=$("el-dropdown-collection"),y=$("el-roving-focus-group"),b=$("el-scrollbar"),v=$("el-only-child"),E=$("el-tooltip"),r=$("el-button"),p=$("arrow-down"),o=$("el-icon"),t=$("el-button-group");return h(),j("div",{class:ne([e.ns.b(),e.ns.is("disabled",e.disabled)])},[w(E,{ref:"popperRef",role:e.role,effect:e.effect,"fallback-placements":["bottom","top"],"popper-options":e.popperOptions,"gpu-acceleration":!1,"manual-mode":!0,placement:e.placement,"popper-class":[e.ns.e("popper"),e.popperClass],"reference-element":(d=e.referenceElementRef)==null?void 0:d.$el,trigger:e.trigger,"trigger-keys":e.triggerKeys,"trigger-target-el":e.contentRef,"show-arrow":e.showArrow,"show-after":e.trigger==="hover"?e.showTimeout:0,"hide-after":e.trigger==="hover"?e.hideTimeout:0,"stop-popper-mouse-event":!1,"virtual-ref":(a=e.virtualRef)!=null?a:e.triggeringElementRef,"virtual-triggering":e.virtualTriggering||e.splitButton,disabled:e.disabled,transition:`${e.ns.namespace.value}-zoom-in-top`,teleported:e.teleported,pure:"","focus-on-target":"",persistent:e.persistent,onBeforeShow:e.handleBeforeShowTooltip,onShow:e.handleShowTooltip,onBeforeHide:e.handleBeforeHideTooltip},dt({content:c(()=>[w(b,{ref:"scrollbar","wrap-style":e.wrapStyle,tag:"div","view-class":e.ns.e("list")},{default:c(()=>[w(y,{loop:e.loop,"current-tab-id":e.currentTabId,orientation:"horizontal",onCurrentTabIdChange:e.handleCurrentTabIdChange,onEntryFocus:e.handleEntryFocus},{default:c(()=>[w(m,null,{default:c(()=>[z(e.$slots,"dropdown")]),_:3})]),_:3},8,["loop","current-tab-id","onCurrentTabIdChange","onEntryFocus"])]),_:3},8,["wrap-style","view-class"])]),_:2},[e.splitButton?void 0:{name:"default",fn:c(()=>[w(v,{id:e.triggerId,ref:"triggeringElementRef",role:"button",tabindex:e.tabindex},{default:c(()=>[z(e.$slots,"default")]),_:3},8,["id","tabindex"])])}]),1032,["role","effect","popper-options","placement","popper-class","reference-element","trigger","trigger-keys","trigger-target-el","show-arrow","show-after","hide-after","virtual-ref","virtual-triggering","disabled","transition","teleported","persistent","onBeforeShow","onShow","onBeforeHide"]),e.splitButton?(h(),O(t,{key:0},{default:c(()=>[w(r,te({ref:"referenceElementRef"},e.buttonProps,{size:e.dropdownSize,type:e.type,disabled:e.disabled,tabindex:e.tabindex,onClick:e.handlerMainButtonClick}),{default:c(()=>[z(e.$slots,"default")]),_:3},16,["size","type","disabled","tabindex","onClick"]),w(r,te({id:e.triggerId,ref:"triggeringElementRef"},e.buttonProps,{role:"button",size:e.dropdownSize,type:e.type,class:e.ns.e("caret-button"),disabled:e.disabled,tabindex:e.tabindex,"aria-label":e.t("el.dropdown.toggleDropdown")}),{default:c(()=>[w(o,{class:ne(e.ns.e("icon"))},{default:c(()=>[w(p)]),_:1},8,["class"])]),_:1},16,["id","size","type","class","disabled","tabindex","aria-label"])]),_:3})):A("v-if",!0)],2)}var qt=H(jt,[["render",Wt],["__file","dropdown.vue"]]);const Zt=J({components:{ElRovingFocusCollectionItem:Tt},props:{focusable:{type:Boolean,default:!0},active:Boolean},emits:["mousedown","focus","keydown"],setup(e,{emit:n}){const{currentTabbedId:s,loop:l,onItemFocus:i,onItemShiftTab:f}=k(ue,void 0),{getItems:d}=k(ce,void 0),a=ye(),m=T(),y=V(r=>{n("mousedown",r)},r=>{e.focusable?i(B(a)):r.preventDefault()}),b=V(r=>{n("focus",r)},()=>{i(B(a))}),v=V(r=>{n("keydown",r)},r=>{const{code:p,shiftKey:o,target:t,currentTarget:g}=r;if(p===N.tab&&o){f();return}if(t!==g)return;const C=Ot(r);if(C){r.preventDefault();let I=d().filter(D=>D.focusable).map(D=>D.ref);switch(C){case"last":{I.reverse();break}case"prev":case"next":{C==="prev"&&I.reverse();const D=I.indexOf(g);I=l.value?Nt(I,D+1):I.slice(D+1);break}}pt(()=>{de(I)})}}),E=P(()=>s.value===B(a));return X(ke,{rovingFocusGroupItemRef:m,tabIndex:P(()=>B(E)?0:-1),handleMousedown:y,handleFocus:b,handleKeydown:v}),{id:a,handleKeydown:v,handleFocus:b,handleMousedown:y}}});function Qt(e,n,s,l,i,f){const d=$("el-roving-focus-collection-item");return h(),O(d,{id:e.id,focusable:e.focusable,active:e.active},{default:c(()=>[z(e.$slots,"default")]),_:3},8,["id","focusable","active"])}var Xt=H(Zt,[["render",Qt],["__file","roving-focus-item.vue"]]);const xt=J({name:"DropdownItemImpl",components:{ElIcon:we},props:Se,emits:["pointermove","pointerleave","click","clickimpl"],setup(e,{emit:n}){const s=ie("dropdown"),{role:l}=k(re,void 0),{collectionItemRef:i}=k(Ht,void 0),{collectionItemRef:f}=k($t,void 0),{rovingFocusGroupItemRef:d,tabIndex:a,handleFocus:m,handleKeydown:y,handleMousedown:b}=k(ke,void 0),v=Ee(i,f,d),E=P(()=>l.value==="menu"?"menuitem":l.value==="navigation"?"link":"button"),r=V(p=>{if([N.enter,N.numpadEnter,N.space].includes(p.code))return p.preventDefault(),p.stopImmediatePropagation(),n("clickimpl",p),!0},y);return{ns:s,itemRef:v,dataset:{[Te]:""},role:E,tabIndex:a,handleFocus:m,handleKeydown:r,handleMousedown:b}}});function en(e,n,s,l,i,f){const d=$("el-icon");return h(),j(mt,null,[e.divided?(h(),j("li",{key:0,role:"separator",class:ne(e.ns.bem("menu","item","divided"))},null,2)):A("v-if",!0),Y("li",te({ref:e.itemRef},{...e.dataset,...e.$attrs},{"aria-disabled":e.disabled,class:[e.ns.be("menu","item"),e.ns.is("disabled",e.disabled)],tabindex:e.tabIndex,role:e.role,onClick:a=>e.$emit("clickimpl",a),onFocus:e.handleFocus,onKeydown:se(e.handleKeydown,["self"]),onMousedown:e.handleMousedown,onPointermove:a=>e.$emit("pointermove",a),onPointerleave:a=>e.$emit("pointerleave",a)}),[e.icon?(h(),O(d,{key:0},{default:c(()=>[(h(),O(ft(e.icon)))]),_:1})):A("v-if",!0),z(e.$slots,"default")],16,["aria-disabled","tabindex","role","onClick","onFocus","onKeydown","onMousedown","onPointermove","onPointerleave"])],64)}var tn=H(xt,[["render",en],["__file","dropdown-item-impl.vue"]]);const Re=()=>{const e=k(Ne,{}),n=P(()=>e?.dropdownSize);return{elDropdown:e,_elDropdownSize:n}},nn=J({name:"ElDropdownItem",components:{ElDropdownCollectionItem:Ut,ElRovingFocusItem:Xt,ElDropdownItemImpl:tn},inheritAttrs:!1,props:Se,emits:["pointermove","pointerleave","click"],setup(e,{emit:n,attrs:s}){const{elDropdown:l}=Re(),i=Ce(),f=T(null),d=P(()=>{var r,p;return(p=(r=B(f))==null?void 0:r.textContent)!=null?p:""}),{onItemEnter:a,onItemLeave:m}=k(re,void 0),y=V(r=>(n("pointermove",r),r.defaultPrevented),me(r=>{if(e.disabled){m(r);return}const p=r.currentTarget;p===document.activeElement||p.contains(document.activeElement)||(a(r),r.defaultPrevented||p?.focus({preventScroll:!0}))})),b=V(r=>(n("pointerleave",r),r.defaultPrevented),me(m)),v=V(r=>{if(!e.disabled)return n("click",r),r.type!=="keydown"&&r.defaultPrevented},r=>{var p,o,t;if(e.disabled){r.stopImmediatePropagation();return}(p=l?.hideOnClick)!=null&&p.value&&((o=l.handleClick)==null||o.call(l)),(t=l.commandHandler)==null||t.call(l,e.command,i,r)}),E=P(()=>({...e,...s}));return{handleClick:v,handlePointerMove:y,handlePointerLeave:b,textContent:d,propsAndAttrs:E}}});function on(e,n,s,l,i,f){var d;const a=$("el-dropdown-item-impl"),m=$("el-roving-focus-item"),y=$("el-dropdown-collection-item");return h(),O(y,{disabled:e.disabled,"text-value":(d=e.textValue)!=null?d:e.textContent},{default:c(()=>[w(m,{focusable:!e.disabled},{default:c(()=>[w(a,te(e.propsAndAttrs,{onPointerleave:e.handlePointerLeave,onPointermove:e.handlePointerMove,onClickimpl:e.handleClick}),{default:c(()=>[z(e.$slots,"default")]),_:3},16,["onPointerleave","onPointermove","onClickimpl"])]),_:3},8,["focusable"])]),_:3},8,["disabled","text-value"])}var Fe=H(nn,[["render",on],["__file","dropdown-item.vue"]]);const rn=J({name:"ElDropdownMenu",props:Lt,setup(e){const n=ie("dropdown"),{_elDropdownSize:s}=Re(),l=s.value,{focusTrapRef:i,onKeydown:f}=k(Ge,void 0),{contentRef:d,role:a,triggerId:m}=k(re,void 0),{collectionRef:y,getItems:b}=k(Yt,void 0),{rovingFocusGroupRef:v,rovingFocusGroupRootStyle:E,tabIndex:r,onBlur:p,onFocus:o,onMousedown:t}=k(ue,void 0),{collectionRef:g}=k(ce,void 0),C=P(()=>[n.b("menu"),n.bm("menu",l?.value)]),S=Ee(d,y,i,v,g),I=V(R=>{var G;(G=e.onKeydown)==null||G.call(e,R)},R=>{const{currentTarget:G,code:U,target:F}=R;if(G.contains(F),N.tab===U&&R.stopImmediatePropagation(),R.preventDefault(),F!==B(d)||!zt.includes(U))return;const M=b().filter(x=>!x.disabled).map(x=>x.ref);Oe.includes(U)&&M.reverse(),de(M)});return{size:l,rovingFocusGroupRootStyle:E,tabIndex:r,dropdownKls:C,role:a,triggerId:m,dropdownListWrapperRef:S,handleKeydown:R=>{I(R),f(R)},onBlur:p,onFocus:o,onMousedown:t}}});function ln(e,n,s,l,i,f){return h(),j("ul",{ref:e.dropdownListWrapperRef,class:ne(e.dropdownKls),style:vt(e.rovingFocusGroupRootStyle),tabindex:-1,role:e.role,"aria-labelledby":e.triggerId,onBlur:e.onBlur,onFocus:e.onFocus,onKeydown:se(e.handleKeydown,["self"]),onMousedown:se(e.onMousedown,["self"])},[z(e.$slots,"default")],46,["role","aria-labelledby","onBlur","onFocus","onKeydown","onMousedown"])}var Pe=H(rn,[["render",ln],["__file","dropdown-menu.vue"]]);const sn=Ue(qt,{DropdownItem:Fe,DropdownMenu:Pe}),an=Ie(Fe),cn=Ie(Pe);function _e(e){if(!e)return null;if(e instanceof Date)return e;let n=String(e).trim();if(!n)return null;/^\d{4}-\d{2}-\d{2}$/.test(n)&&(n=`${n}T00:00:00`);let s=n.includes("T")?n:n.replace(" ","T");s=s.replace(/\.(\d{3})\d+/,".$1"),/([zZ]|[+-]\d{2}:\d{2})$/.test(s)||(s=`${s}+08:00`);const i=new Date(s);return Number.isNaN(i.getTime())?null:i}function be(e){const n=String(e||"");if(!n)return{ok:!1,message:"密码不能为空"};if(n.length<8)return{ok:!1,message:"密码长度不能少于8个字符"};if(n.length>128)return{ok:!1,message:"密码长度不能超过128个字符"};const s=/[a-zA-Z]/.test(n),l=/\d/.test(n);return!s||!l?{ok:!1,message:"密码必须包含字母和数字"}:{ok:!0,message:""}}const un={class:"page-stack"},dn={class:"table-wrap"},pn={class:"user-block"},fn={class:"user-main"},mn={key:0,class:"app-muted user-sub"},vn={key:1,class:"vip-sub"},gn={key:0,class:"app-muted"},_n={class:"actions"},bn={__name:"UsersPage",setup(e){const n=k("refreshStats",null),s=T(!1),l=T([]);function i(o){const t=o?.vip_expire_time;if(!t)return!1;if(String(t).startsWith("2099-12-31"))return!0;const g=_e(t);return g?g.getTime()>Date.now():!1}function f(o){const t=o?.vip_expire_time;if(!t||!i(o))return"";if(String(t).startsWith("2099-12-31"))return"永久VIP";const g=_e(t);if(!g)return`到期: ${t}`;const C=Math.ceil((g.getTime()-Date.now())/(1e3*60*60*24));return`到期: ${t}(剩${C}天)`}function d(o){return o==="rejected"?{label:"禁用",type:"danger"}:{label:"正常",type:"success"}}async function a(){s.value=!0;try{l.value=await ot()}catch{l.value=[]}finally{s.value=!1}}async function m(){await a()}async function y(o){try{await W.confirm(`确定启用用户「${o.username}」吗?启用后用户可正常登录。`,"启用用户",{confirmButtonText:"启用",cancelButtonText:"取消",type:"success"})}catch{return}try{await Qe(o.id),q.success("用户已启用"),await a(),await n?.()}catch{}}async function b(o){try{await W.confirm(`确定禁用用户「${o.username}」吗?禁用后用户将无法登录。`,"禁用用户",{confirmButtonText:"禁用",cancelButtonText:"取消",type:"warning"})}catch{return}try{await Xe(o.id),q.success("用户已禁用"),await a(),await n?.()}catch{}}async function v(o){try{await W.confirm(`确定删除用户「${o.username}」吗?此操作将删除该用户的所有数据,不可恢复!`,"删除用户",{confirmButtonText:"删除",cancelButtonText:"取消",type:"error"})}catch{return}try{await nt(o.id),q.success("用户已删除"),await a(),await n?.()}catch{}}async function E(o,t){const g={7:"一周",30:"一个月",365:"一年",999999:"永久"}[t]||`${t}天`;try{await W.confirm(`确定为用户「${o.username}」开通 ${g} VIP 吗?`,"设置VIP",{confirmButtonText:"确认",cancelButtonText:"取消",type:"warning"})}catch{return}try{const C=await xe(o.id,t);q.success(C?.message||"VIP设置成功"),await a(),await n?.()}catch{}}async function r(o){try{await W.confirm(`确定移除用户「${o.username}」的 VIP 吗?`,"移除VIP",{confirmButtonText:"移除",cancelButtonText:"取消",type:"warning"})}catch{return}try{const t=await et(o.id);q.success(t?.message||"VIP已移除"),await a(),await n?.()}catch{}}async function p(o){let t;try{t=(await W.prompt("请输入新密码(至少8位且包含字母和数字)","重置密码",{confirmButtonText:"提交",cancelButtonText:"取消",inputType:"password",inputPlaceholder:"新密码",inputValidator:S=>be(S).ok,inputErrorMessage:"密码至少8位且包含字母和数字"})).value}catch{return}const g=be(t);if(!g.ok){q.error(g.message);return}try{await W.confirm(`确定将用户「${o.username}」的密码重置为该新密码吗?`,"二次确认",{confirmButtonText:"确认重置",cancelButtonText:"取消",type:"warning"})}catch{return}try{const C=await tt(o.id,t);q.success(C?.message||"密码重置成功")}catch{}}return he(m),(o,t)=>{const g=qe,C=Ze,S=ae,I=an,D=cn,R=sn,G=We,U=He,F=Je;return h(),j("div",un,[t[11]||(t[11]=Y("div",{class:"app-page-title"},[Y("h2",null,"用户")],-1)),w(U,{shadow:"never","body-style":{padding:"16px"},class:"card"},{default:c(()=>[Y("div",dn,[gt((h(),O(G,{data:l.value,style:{width:"100%"}},{default:c(()=>[w(g,{prop:"id",label:"ID",width:"80"}),w(g,{label:"用户","min-width":"240"},{default:c(({row:u})=>[Y("div",pn,[Y("div",fn,[Y("strong",null,Q(u.username),1),i(u)?(h(),O(C,{key:0,type:"warning",effect:"light",size:"small"},{default:c(()=>[...t[0]||(t[0]=[K("VIP",-1)])]),_:1})):A("",!0)]),u.email?(h(),j("div",mn,Q(u.email),1)):A("",!0),f(u)?(h(),j("div",vn,Q(f(u)),1)):A("",!0)])]),_:1}),w(g,{label:"状态",width:"120"},{default:c(({row:u})=>[w(C,{type:d(u.status).type,effect:"light"},{default:c(()=>[K(Q(d(u.status).label),1)]),_:2},1032,["type"])]),_:1}),w(g,{label:"时间","min-width":"220"},{default:c(({row:u})=>[Y("div",null,Q(u.created_at),1),u.vip_expire_time?(h(),j("div",gn,"VIP到期: "+Q(u.vip_expire_time),1)):A("",!0)]),_:1}),w(g,{label:"操作",width:"280",fixed:"right"},{default:c(({row:u})=>[Y("div",_n,[u.status==="rejected"?(h(),O(S,{key:0,type:"success",size:"small",onClick:M=>y(u)},{default:c(()=>[...t[1]||(t[1]=[K("启用",-1)])]),_:1},8,["onClick"])):(h(),O(S,{key:1,type:"warning",size:"small",onClick:M=>b(u)},{default:c(()=>[...t[2]||(t[2]=[K("禁用",-1)])]),_:1},8,["onClick"])),w(R,{trigger:"click"},{dropdown:c(()=>[w(D,null,{default:c(()=>[i(u)?A("",!0):(h(),O(I,{key:0,onClick:M=>E(u,7)},{default:c(()=>[...t[4]||(t[4]=[K("开通一周",-1)])]),_:1},8,["onClick"])),i(u)?A("",!0):(h(),O(I,{key:1,onClick:M=>E(u,30)},{default:c(()=>[...t[5]||(t[5]=[K("开通一月",-1)])]),_:1},8,["onClick"])),i(u)?A("",!0):(h(),O(I,{key:2,onClick:M=>E(u,365)},{default:c(()=>[...t[6]||(t[6]=[K("开通一年",-1)])]),_:1},8,["onClick"])),i(u)?A("",!0):(h(),O(I,{key:3,onClick:M=>E(u,999999)},{default:c(()=>[...t[7]||(t[7]=[K("永久VIP",-1)])]),_:1},8,["onClick"])),i(u)?(h(),O(I,{key:4,onClick:M=>r(u)},{default:c(()=>[...t[8]||(t[8]=[K("移除VIP",-1)])]),_:1},8,["onClick"])):A("",!0)]),_:2},1024)]),default:c(()=>[w(S,{size:"small"},{default:c(()=>[...t[3]||(t[3]=[K("VIP",-1)])]),_:1})]),_:2},1024),w(S,{size:"small",onClick:M=>p(u)},{default:c(()=>[...t[9]||(t[9]=[K("重置密码",-1)])]),_:1},8,["onClick"]),w(S,{type:"danger",size:"small",onClick:M=>v(u)},{default:c(()=>[...t[10]||(t[10]=[K("删除",-1)])]),_:1},8,["onClick"])])]),_:1})]),_:1},8,["data"])),[[F,s.value]])])]),_:1})])}}},On=Ye(bn,[["__scopeId","data-v-9e917879"]]);export{On as default};