2 lines
6.4 KiB
JavaScript
2 lines
6.4 KiB
JavaScript
import{c as E,d as H,q as T,m as G,r as m,p as J,j as y,h as r,f,b as t,w as s,u as e,l as K,_ as h,e as u,t as c,F as v,s as b,U as Q,a as p,i as N,o}from"./index-Dn7IzCAm.js";import{_ as W,a as X,b as Y,c as Z}from"./CardTitle.vue_vue_type_script_setup_true_lang-nfBPK_e7.js";import{_ as ee}from"./CardDescription.vue_vue_type_script_setup_true_lang-4Ti-ikHw.js";import{_ as ae,a as te,b as se,c as L,d as S,e as le,f as ne,g as ue,h as oe,i as ie,j as re,k as fe,l as de,m as ce,n as me,o as _e,p as ve,q as pe,r as $e,s as ge,t as xe,u as ye,v as ke,w as D,x as we,T as Ce,y as be,z as Se,A as De}from"./PaginationPrevious.vue_vue_type_script_setup_true_lang-Cpcjkb4w.js";import{_ as Ie}from"./Skeleton.vue_vue_type_script_setup_true_lang-BCg0BhRz.js";import{l as Te,d as he}from"./invite-DRaEKloN.js";import{u as ze,r as Ne}from"./accounts-m0t2YqdJ.js";import{L as Le}from"./index-DTrJzHuX.js";const je=E("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]),Ae={class:"space-y-6"},Pe={class:"flex items-center gap-4"},Ve={key:0,class:"space-y-4"},Be={key:1,class:"flex-1 flex flex-col items-center justify-center text-muted-foreground"},Ue={class:"flex-1"},qe={class:"flex items-center justify-between mt-4 pt-4 border-t"},Me={class:"flex items-center gap-2"},Fe={class:"text-sm text-muted-foreground"},Xe=H({__name:"TeamInvitesPage",setup(Oe){const j=G(),A=K(),P=ze(),k=T(()=>Number(j.params.id)),d=m([]),I=m(!1),w=m(null),C=m(!1),$=m(null),i=m(1),_=m(10),V=[5,10,20,50],g=T(()=>Math.ceil(d.value.length/_.value)),z=T(()=>{const n=(i.value-1)*_.value,a=n+_.value;return d.value.slice(n,a)});J(()=>{B()});async function B(){I.value=!0;try{const n=await Te(k.value);n.data.success&&n.data.data?d.value=n.data.data:y.error(n.data.message||"获取邀请列表失败")}catch(n){y.error(n.response?.data?.message||"获取邀请列表失败")}finally{I.value=!1}}async function U(){try{const n=await Ne(k.value);n.data.success&&n.data.data&&P.updateAccount(n.data.data)}catch{}}function q(n){$.value=n,C.value=!0}async function M(){if(!$.value)return;const n=$.value;w.value=n.id,C.value=!1;try{const a=await he({email:n.email,account_id:k.value});a.data.success?(y.success("删除成功"),d.value=d.value.filter(l=>l.id!==n.id),await U(),z.value.length===0&&i.value>1&&i.value--):y.error(a.data.message||"删除失败")}catch(a){y.error(a.response?.data?.message||"删除失败")}finally{w.value=null,$.value=null}}function F(n){return new Date(n).toLocaleString("zh-CN")}function x(n){n>=1&&n<=g.value&&(i.value=n)}function O(n){n&&(_.value=Number(n),i.value=1)}return(n,a)=>(o(),r("div",Ae,[f("div",Pe,[t(e(h),{variant:"ghost",size:"icon",onClick:a[0]||(a[0]=l=>e(A).push("/admin/teams"))},{default:s(()=>[t(e(je),{class:"h-5 w-5"})]),_:1}),a[6]||(a[6]=f("h1",{class:"text-2xl font-bold"},"已邀请用户",-1))]),t(e(W),{class:"min-h-[600px] flex flex-col"},{default:s(()=>[t(e(X),null,{default:s(()=>[t(e(Y),null,{default:s(()=>[...a[7]||(a[7]=[u("用户列表",-1)])]),_:1}),t(e(ee),null,{default:s(()=>[u("Team ID: "+c(k.value),1)]),_:1})]),_:1}),t(e(Z),{class:"flex-1 flex flex-col"},{default:s(()=>[I.value?(o(),r("div",Ve,[(o(),r(v,null,b(5,l=>t(e(Ie),{key:l,class:"h-12 w-full"})),64))])):d.value.length===0?(o(),r("div",Be,[t(e(Q),{class:"h-12 w-12 mb-4 opacity-50"}),a[8]||(a[8]=f("p",null,"暂无已邀请用户",-1))])):(o(),r(v,{key:2},[f("div",Ue,[t(e(te),null,{default:s(()=>[t(e(se),null,{default:s(()=>[t(e(L),null,{default:s(()=>[t(e(S),null,{default:s(()=>[...a[9]||(a[9]=[u("邮箱",-1)])]),_:1}),t(e(S),null,{default:s(()=>[...a[10]||(a[10]=[u("状态",-1)])]),_:1}),t(e(S),null,{default:s(()=>[...a[11]||(a[11]=[u("邀请时间",-1)])]),_:1}),t(e(S),{class:"text-right"},{default:s(()=>[...a[12]||(a[12]=[u("操作",-1)])]),_:1})]),_:1})]),_:1}),t(e(le),null,{default:s(()=>[(o(!0),r(v,null,b(z.value,l=>(o(),p(e(L),{key:l.id},{default:s(()=>[t(e(D),{class:"font-medium"},{default:s(()=>[u(c(l.email),1)]),_:2},1024),t(e(D),null,{default:s(()=>[t(e(we),{variant:"outline"},{default:s(()=>[u(c(l.status),1)]),_:2},1024)]),_:2},1024),t(e(D),{class:"text-muted-foreground"},{default:s(()=>[u(c(F(l.created_at)),1)]),_:2},1024),t(e(D),{class:"text-right"},{default:s(()=>[t(e(h),{variant:"destructive",size:"sm",onClick:R=>q(l),disabled:w.value===l.id},{default:s(()=>[w.value===l.id?(o(),p(e(Le),{key:0,class:"h-4 w-4 animate-spin"})):(o(),p(e(Ce),{key:1,class:"h-4 w-4"}))]),_:2},1032,["onClick","disabled"])]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1})]),f("div",qe,[f("div",Me,[a[13]||(a[13]=f("span",{class:"text-sm text-muted-foreground"},"每页",-1)),t(e(ne),{"model-value":String(_.value),"onUpdate:modelValue":O},{default:s(()=>[t(e(ue),{class:"w-[70px] h-8"},{default:s(()=>[t(e(oe))]),_:1}),t(e(ie),null,{default:s(()=>[(o(),r(v,null,b(V,l=>t(e(be),{key:l,value:String(l)},{default:s(()=>[u(c(l),1)]),_:2},1032,["value"])),64))]),_:1})]),_:1},8,["model-value"]),f("span",Fe,"条,共 "+c(d.value.length)+" 条",1)]),g.value>1?(o(),p(e(_e),{key:0,total:d.value.length,"items-per-page":_.value,"default-page":1},{default:s(()=>[t(e(re),{class:"flex items-center gap-1"},{default:s(()=>[t(e(fe),{onClick:a[1]||(a[1]=l=>x(1))}),t(e(de),{onClick:a[2]||(a[2]=l=>x(i.value-1))}),(o(!0),r(v,null,b(g.value,l=>(o(),r(v,{key:l},[l===1||l===g.value||l>=i.value-1&&l<=i.value+1?(o(),p(e(Se),{key:0,value:l,onClick:R=>x(l)},{default:s(()=>[t(e(h),{class:"w-9 h-9 p-0",variant:l===i.value?"default":"outline"},{default:s(()=>[u(c(l),1)]),_:2},1032,["variant"])]),_:2},1032,["value","onClick"])):l===i.value-2||l===i.value+2?(o(),p(e(De),{key:1})):N("",!0)],64))),128)),t(e(ce),{onClick:a[3]||(a[3]=l=>x(i.value+1))}),t(e(me),{onClick:a[4]||(a[4]=l=>x(g.value))})]),_:1})]),_:1},8,["total","items-per-page"])):N("",!0)])],64))]),_:1})]),_:1}),t(e(ae),{open:C.value,"onUpdate:open":a[5]||(a[5]=l=>C.value=l)},{default:s(()=>[t(e(ve),null,{default:s(()=>[t(e(pe),null,{default:s(()=>[t(e($e),null,{default:s(()=>[...a[14]||(a[14]=[u("确认删除",-1)])]),_:1}),t(e(ge),null,{default:s(()=>[a[15]||(a[15]=u(" 确定要删除用户 ",-1)),f("strong",null,c($.value?.email),1),a[16]||(a[16]=u(" 吗?此操作将从 Team 中移除该用户。 ",-1))]),_:1})]),_:1}),t(e(xe),null,{default:s(()=>[t(e(ye),null,{default:s(()=>[...a[17]||(a[17]=[u("取消",-1)])]),_:1}),t(e(ke),{onClick:M,class:"bg-destructive text-destructive-foreground hover:bg-destructive/90"},{default:s(()=>[...a[18]||(a[18]=[u(" 删除 ",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["open"])]))}});export{Xe as default};
|