comp-hub 0.1.22 → 0.1.33

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. package/bin/cli.cjs +10 -1
  2. package/dist/index.js +1 -1
  3. package/dist/website/dist/assets/{atom-one-dark-B2H-r86L.js → atom-one-dark-BwqwaUyO.js} +1 -1
  4. package/dist/website/dist/assets/index-2EaNUpcB.js +1 -0
  5. package/dist/website/dist/assets/index-B3Eo2cM5.css +1 -0
  6. package/dist/website/dist/assets/{index-XTZOLvZN.css → index-B61CIaPC.css} +1 -1
  7. package/dist/website/dist/assets/index-B7c-fEBH.js +1 -0
  8. package/dist/website/dist/assets/index-BNzVM320.js +1 -0
  9. package/dist/website/dist/assets/{index-BfqhDZ1z.js → index-BaIvuJ6m.js} +9 -9
  10. package/dist/website/dist/assets/index-CCeHDKXp.js +1 -0
  11. package/dist/website/dist/assets/index-COiFPcVH.js +1 -0
  12. package/dist/website/dist/assets/index-Cbk925c2.css +1 -0
  13. package/dist/website/dist/assets/index-CcI7tF3M.js +1 -0
  14. package/dist/website/dist/assets/index-ChPcVXrX.js +44 -0
  15. package/dist/website/dist/assets/index-CjOIQAwc.js +1 -0
  16. package/dist/website/dist/assets/index-CpShphGT.css +1 -0
  17. package/dist/website/dist/assets/{index-DNxTJC5Q.js → index-CylaEETe.js} +1 -1
  18. package/dist/website/dist/assets/index-D3Ir6GJ2.js +1 -0
  19. package/dist/website/dist/assets/index-DDgoj5iU.js +1 -0
  20. package/dist/website/dist/assets/index-DMFpYlel.js +1 -0
  21. package/dist/website/dist/assets/index-DTp0jdEu.js +1 -0
  22. package/dist/website/dist/assets/index-Dap8JQbU.js +2 -0
  23. package/dist/website/dist/assets/{index-B12IVxVV.css → index-DhLIGCDK.css} +1 -1
  24. package/dist/website/dist/assets/index-DnYe8-tu.js +1 -0
  25. package/dist/website/dist/assets/index-DsdcIYRt.js +1 -0
  26. package/dist/website/dist/assets/index-EkwR13Ku.css +1 -0
  27. package/dist/website/dist/assets/index-ElyUGQ1Q.js +1 -0
  28. package/dist/website/dist/assets/index-x7INBivR.js +1 -0
  29. package/dist/website/dist/assets/{index.vue_vue_type_script_setup_true_lang-RtjuxFdx.js → index.vue_vue_type_script_setup_true_lang-BLnHXQn6.js} +1 -1
  30. package/dist/website/dist/assets/index.vue_vue_type_script_setup_true_lang-Bc1PXqOH.js +1 -0
  31. package/dist/website/dist/assets/index.vue_vue_type_script_setup_true_lang-CM4e2vlV.js +1 -0
  32. package/dist/website/dist/assets/index.vue_vue_type_script_setup_true_lang-CklfPaMl.js +1 -0
  33. package/dist/website/dist/assets/index.vue_vue_type_script_setup_true_lang-CtdhXfKs.js +1 -0
  34. package/dist/website/dist/assets/{index.vue_vue_type_script_setup_true_lang-Deq2IwpY.js → index.vue_vue_type_script_setup_true_lang-hSvL-MZl.js} +1 -1
  35. package/dist/website/dist/assets/{index.vue_vue_type_script_setup_true_lang-mjupg3Z_.js → index.vue_vue_type_script_setup_true_lang-nLMCZRFB.js} +1 -1
  36. package/dist/website/dist/assets/{index.vue_vue_type_script_setup_true_lang-BMtIwDs3.js → index.vue_vue_type_script_setup_true_lang-uILIKD0X.js} +1 -1
  37. package/dist/website/dist/assets/{index.vue_vue_type_style_index_0_lang-CVT5yNeL.js → index.vue_vue_type_style_index_0_lang-CyH8SJ79.js} +12 -12
  38. package/dist/website/dist/assets/{index.vue_vue_type_style_index_0_lang-Dhu78hQ_.js → index.vue_vue_type_style_index_0_lang-D79LparT.js} +1 -1
  39. package/dist/website/dist/assets/index.vue_vue_type_style_index_0_lang-Do4LGQzJ.js +62 -0
  40. package/dist/website/dist/assets/{moment-DYVhN5eu.js → moment-DgND2ND5.js} +2 -2
  41. package/dist/website/dist/assets/useCompEditStore-CjQUgHl0.css +1 -0
  42. package/dist/website/dist/assets/useCompEditStore-DV_QyPzi.js +1 -0
  43. package/dist/website/dist/assets/{useTeamHeaders-22mJVwWy.js → useTeamHeaders-Ca3sFPFG.js} +1 -1
  44. package/dist/website/dist/assets/{v1Keyword-JxL-DecN.js → v1Keyword-MJXP7v9H.js} +1 -1
  45. package/dist/website/dist/assets/{v1Module-Clll6gmK.js → v1Module-Bqbebkss.js} +1 -1
  46. package/dist/website/dist/index.html +2 -2
  47. package/package.json +1 -1
  48. package/dist/website/dist/assets/index--3tjxLTJ.css +0 -1
  49. package/dist/website/dist/assets/index-4kzrJosw.js +0 -2
  50. package/dist/website/dist/assets/index-87m2Wftx.css +0 -1
  51. package/dist/website/dist/assets/index-B1R7DNzO.css +0 -1
  52. package/dist/website/dist/assets/index-BOnnhQqp.css +0 -1
  53. package/dist/website/dist/assets/index-Bg9J68nC.css +0 -1
  54. package/dist/website/dist/assets/index-BrnVzb3E.js +0 -1
  55. package/dist/website/dist/assets/index-BuFxFJw1.css +0 -1
  56. package/dist/website/dist/assets/index-CMr4JE7V.css +0 -1
  57. package/dist/website/dist/assets/index-CPx4gS-Z.js +0 -1
  58. package/dist/website/dist/assets/index-CUKBRQJT.js +0 -1
  59. package/dist/website/dist/assets/index-Cfid4FBF.js +0 -1
  60. package/dist/website/dist/assets/index-D8NW2qZW.js +0 -1
  61. package/dist/website/dist/assets/index-DDURCXIZ.js +0 -1
  62. package/dist/website/dist/assets/index-DS9olnsn.js +0 -1
  63. package/dist/website/dist/assets/index-DhTRF1Cu.js +0 -1
  64. package/dist/website/dist/assets/index-DuJUC7Nj.js +0 -1
  65. package/dist/website/dist/assets/index-J0Dg-l9h.js +0 -1
  66. package/dist/website/dist/assets/index-YOgOWiS9.js +0 -1
  67. package/dist/website/dist/assets/index-cHbH7T5D.js +0 -44
  68. package/dist/website/dist/assets/index-nDiFvJw_.js +0 -1
  69. package/dist/website/dist/assets/index-qsWrHMBc.js +0 -1
  70. package/dist/website/dist/assets/index-szn1X1M8.js +0 -1
  71. package/dist/website/dist/assets/index.vue_vue_type_script_setup_true_lang-C2jCrlom.js +0 -1
  72. package/dist/website/dist/assets/index.vue_vue_type_script_setup_true_lang-Cj1ig2OS.js +0 -1
  73. package/dist/website/dist/assets/index.vue_vue_type_script_setup_true_lang-DaO9_LHy.js +0 -1
  74. package/dist/website/dist/assets/index.vue_vue_type_script_setup_true_lang-s3TpsvnW.js +0 -1
  75. package/dist/website/dist/assets/index.vue_vue_type_style_index_0_lang-BVuL5ED4.js +0 -60
  76. package/dist/website/dist/assets/md5-CejJMKeR.js +0 -1
  77. package/dist/website/dist/assets/useCompEditStore-C3L6eIoz.js +0 -1
  78. package/dist/website/dist/assets/useCompEditStore-Dca_66Tn.css +0 -1
@@ -0,0 +1 @@
1
+ import{d as U,ar as N,k as w,m as $,r as b,B as P,w as f,a as d,b as n,ah as T,E as h,o as S,as as te,i as I,at as le,h as H,au as oe,ac as se,av as ne,aw as re,a2 as ie,ax as ue,u as B,ay as de,az as ce,aA as X,Z as pe,c as F,aB as me,aC as fe,v as Z,F as ve,N as _e,p as ge,t as R,f as q,x as he,aD as xe,aE as we,ai as ye}from"./index-ChPcVXrX.js";import{_ as W,e as M}from"./index.vue_vue_type_script_setup_true_lang-uILIKD0X.js";import{a as j,m as Y,d as be,e as ke}from"./index-BaIvuJ6m.js";import{B as Ce,h as Se}from"./moment-DgND2ND5.js";const De={class:"p-2"},$e={class:"flex gap-2"},Ee={class:"flex gap-2"},Ve=U({__name:"EmailDialog",setup(r,{expose:o}){const i=N(),t={OLD:"old",NEW:"new"},a=w(!1),m=w({}),l=w({}),v=w({onSubmit:()=>{D()},form:{labelWidth:"auto"},submitBtn:{loading:!1}}),c=$(()=>[{type:"input",field:"email",title:"旧邮箱",value:i?.userInfo?.email,validate:[{required:!0,message:"请输入旧邮箱",trigger:"blur"},{validator:(_,e,s)=>{j(e)?s():s(new Error("请输入正确的旧邮箱"))},trigger:"blur"}],props:{disabled:!0}},{type:"slotAuthCodeOld",field:"authCode",title:"旧验证码",validate:[{required:!0,message:"请输入旧验证码",trigger:"blur"}]},{type:"input",field:"newEmail",title:"新邮箱",value:"",validate:[{required:!0,message:"请输入新邮箱",trigger:"blur"},{validator:(_,e,s)=>{j(e)?s():s(new Error("请输入正确的新邮箱"))},trigger:"blur"}],props:{placeholder:"请输入新邮箱"}},{type:"slotAuthCodeNew",field:"newAuthCode",title:"新验证码",validate:[{required:!0,message:"请输入新验证码",trigger:"blur"}]}]);async function D(){v.value.submitBtn.loading=!0,te(l.value).then(()=>{h.success("邮箱修改成功"),i.setEmail(l.value.newEmail),x()}).finally(()=>{v.value.submitBtn.loading=!1})}function g(_,{end:e,startCountdown:s}){_===t.OLD?m.value.validateField("email").then(async()=>{await M({email:l.value.email}).then(()=>{h.success("验证码已发送"),s()})}).finally(()=>{e()}):_===t.NEW&&m.value.validateField("newEmail").then(async()=>{await M({email:l.value.newEmail}).then(()=>{h.success("新验证码已发送"),s()})}).finally(()=>{e()})}function p(){a.value=!0}function x(){a.value=!1}return o({open:p,close:x}),(_,e)=>{const s=b("el-input"),C=b("form-create");return S(),P(T,{modelValue:a.value,"onUpdate:modelValue":e[4]||(e[4]=u=>a.value=u),"show-close":!0,width:"400px","destroy-on-close":!0},{default:f(()=>[d("div",De,[n(C,{rule:c.value,modelValue:l.value,"onUpdate:modelValue":e[2]||(e[2]=u=>l.value=u),api:m.value,"onUpdate:api":e[3]||(e[3]=u=>m.value=u),option:v.value},{"type-slotAuthCodeOld":f(u=>[d("div",$e,[n(s,{"model-value":String(u.model.value??""),class:"flex-1",onInput:k=>u.model.callback(k),placeholder:"请输入验证码"},null,8,["model-value","onInput"]),n(W,{text:"获取验证码","countdown-text":"{n}秒后重新获取",duration:60,onSend:e[0]||(e[0]=k=>g(t.OLD,k))})])]),"type-slotAuthCodeNew":f(u=>[d("div",Ee,[n(s,{"model-value":String(u.model.value??""),class:"flex-1",onInput:k=>u.model.callback(k),placeholder:"请输入新验证码"},null,8,["model-value","onInput"]),n(W,{text:"获取验证码","countdown-text":"{n}秒后重新获取",duration:60,onSend:e[1]||(e[1]=k=>g(t.NEW,k))})])]),_:1},8,["rule","modelValue","api","option"])])]),_:1},8,["modelValue"])}}}),Ae={class:"p-2"},Pe={class:"flex gap-2"},Ue=U({__name:"PasswordDialog",setup(r,{expose:o}){const i=N(),t=I("baseForm"),a=w(!1),m=w({}),l=w({}),v=w({onSubmit:()=>{D()},form:{labelWidth:"auto"},submitBtn:{loading:!1}}),c=$(()=>[{type:"input",field:"newPassword",title:i.isPasswordSet?"新密码":"设置密码",value:"",props:{placeholder:"请输入新密码",type:"password",showPassword:!0,autocomplete:"new-password"},validate:[{required:!0,message:"请输入新密码",trigger:"blur"}]},{type:"input",field:"confirmNewPassword",title:i.isPasswordSet?"确认新密码":"确认密码",value:"",props:{placeholder:"请确认新密码",type:"password",showPassword:!0,autocomplete:"new-password"},validate:[{required:!0,message:"请确认新密码",trigger:"blur"}]},{type:"input",field:"email",title:"邮箱",value:i?.userInfo?.email,props:{disabled:!0},validate:[{required:!0,message:"请输入邮箱",trigger:"blur"}]},{type:"slotAuthCode",field:"emailAuthCode",title:"验证码",value:""}]);async function D(){v.value.submitBtn.loading=!0;const _={newPassword:Y(l.value.newPassword),confirmNewPassword:Y(l.value.confirmNewPassword),email:l.value.email,emailAuthCode:l.value.emailAuthCode};le(_).then(()=>{h.success("密码修改成功"),t.value?.resetFields(),i.setIsPasswordSet(!0),x()}).finally(()=>{v.value.submitBtn.loading=!1})}function g({end:_,startCountdown:e}){m.value.validateField("email").then(async()=>{await M({email:l.value.email}).then(()=>{h.success("验证码已发送"),e()})}).finally(()=>{_()})}function p(){a.value=!0}function x(){a.value=!1}return o({open:p,close:x}),(_,e)=>{const s=b("el-input"),C=b("form-create");return S(),P(T,{modelValue:a.value,"onUpdate:modelValue":e[2]||(e[2]=u=>a.value=u),"show-close":!0,width:"400px","destroy-on-close":!0},{default:f(()=>[d("div",Ae,[n(C,{rule:c.value,modelValue:l.value,"onUpdate:modelValue":e[0]||(e[0]=u=>l.value=u),api:m.value,"onUpdate:api":e[1]||(e[1]=u=>m.value=u),option:v.value},{"type-slotAuthCode":f(u=>[d("div",Pe,[n(s,{"model-value":String(u.model.value),onInput:k=>u.model.callback(k),class:"flex-1",placeholder:"请输入验证码"},null,8,["model-value","onInput"]),n(W,{text:"获取验证码","countdown-text":"{n}秒后重新获取",duration:60,onSend:g})])]),_:1},8,["rule","modelValue","api","option"])])]),_:1},8,["modelValue"])}}}),Le={class:"p-2"},Ie=U({__name:"NicknameDialog",setup(r,{expose:o}){const i=N(),t=H(),a=w(!1),m=w({onSubmit:()=>{c()},form:{labelWidth:"auto"},submitBtn:{loading:!1}}),l=w({}),v=$(()=>[{type:"input",field:"nickname",title:"昵称",value:i.userInfo.nickname,props:{placeholder:"请输入昵称"},validate:[{required:!0,message:"请输入昵称",trigger:"blur"},{min:3,max:10,message:"长度在 2 到 10 个字符",trigger:"blur"}]}]);async function c(){if(m.value.submitBtn.loading=!0,l.value.nickname===i.userInfo.nickname){h.success("修改成功"),m.value.submitBtn.loading=!1,g();return}oe({nickname:l.value.nickname}).then(()=>{i.setNickname(l.value.nickname),t.updateNickname(l.value.nickname),h.success("修改成功"),g()}).finally(()=>{m.value.submitBtn.loading=!1})}function D(){a.value=!0}function g(){a.value=!1}return o({open:D,close:g}),(p,x)=>{const _=b("form-create");return S(),P(T,{modelValue:a.value,"onUpdate:modelValue":x[1]||(x[1]=e=>a.value=e),width:"400px","destroy-on-close":!0},{default:f(()=>[d("div",Le,[n(_,{rule:v.value,modelValue:l.value,"onUpdate:modelValue":x[0]||(x[0]=e=>l.value=e),option:m.value},null,8,["rule","modelValue","option"])])]),_:1},8,["modelValue"])}}}),Be=U({__name:"index",props:{cover:{type:Boolean}},setup(r){const o=r,i=ce(),t=se(),a=ne(),m={autoUpload:!1,cover:!1,onChange:p,onExceed:_,beforeUpload:G(),onError:x},l=w(null),v=w(),c=$(()=>({...m,...be(t),...o})),D=$(()=>({...a,default:a.default?e=>a.default({...e,fileUrl:l.value}):void 0}));function g(e){v.value=e,i&&(i.exposed=e||{},i.exposeProxy=e||{})}function p(...e){const[s,C]=e;c.value.fileList&&(c.value.fileList=C),s?.raw&&(l.value=URL.createObjectURL(s.raw))}function x(...e){const[s]=e;h.error(s.message)}function _(...e){const[s,C]=e;if(c.value.cover&&c?.value?.limit===1){v.value?.clearFiles();const u=s[0];u.uid=re(),v.value.handleStart(u);return}h.warning(`最多只能选择 ${c?.value?.limit} 个文件,本次已选择 ${s.length} 个,共将上传 ${s.length+C.length} 个文件`)}return(e,s)=>(S(),P(ie(ue(B(de),{...c.value,ref:g},D.value))))}}),K=r=>r.size/1024/1024>20?(h.error("上传文件大小不能超过 20MB!"),!1):!0;function G(r={}){const{mode:o="extend",custom:i}=r;return t=>o==="override"&&i?i(t):o==="extend"?K(t)?i?i(t):!0:!1:K(t)}function Re(r,o){const i=o.name.slice(o.name.lastIndexOf(".")+1).toLowerCase(),t=r.dir+r.key+"."+i,a=new FormData;return a.append("success_action_status","200"),a.append("policy",r.policy),a.append("x-oss-signature",r.signature),a.append("x-oss-signature-version",r.x_oss_signature_version),a.append("x-oss-credential",r.x_oss_credential),a.append("x-oss-date",r.x_oss_date),a.append("key",t),a.append("x-oss-security-token",r.security_token),a.append("Cache-Control","public, max-age=31536000"),a.append("file",o),{host:r.host,filePath:t,formData:a}}async function Fe(r,o){return fetch(r,{method:"POST",body:o})}async function Ne(r){return X("/__remote__/api/v1/oss/compOssDir",{method:"POST"})}async function Te(r,o){return X("/__remote__/api/v1/oss/putPolicy",{method:"POST",headers:{"Content-Type":"application/json"},data:r})}const Oe=["src","onLoad"],qe=U({__name:"AvatarDialog",setup(r,{expose:o}){const i=N(),t=H(),a=w([]),m=$(()=>({avatar:i.userInfo.avatar})),l=w(!1),v=I("avatarUpload"),c=w(),D=$(()=>({limit:1,cover:!0,onError:x,beforeUpload:p,showFileList:!1,httpRequest:u})),g=$(()=>({showReset:!1,rows:[{type:"slot",label:"头像",prop:"avatar"}],rules:{avatar:[{required:!0,message:"请上传头像",trigger:"change"}]}})),p=G({custom(y){return y.type.startsWith("image/")?!0:(h.error("上传图片只能是图片格式!"),c.value?.(),!1)}});function x(y){c.value?.(),h.error(y.message)}async function _({end:y}){if(c.value=y,!a.value||a.value.length===0){h.warning("请先选择文件"),c.value();return}v.value?.submit()}function e(y){fe({avatar:y}).then(()=>{t.updateAvatar(y),L(),h.success("修改成功")}).finally(()=>{c.value?.()})}function s(){v.value?.clearFiles()}function C(){v.value?.clearFiles()}async function u(y){const V=await Ne(),{imageDir:O}=V.data,E=await Te({type:O});if(E.code!==0||!E.data)return h.error(E.message);const{host:A,filePath:J,formData:Q}=Re(E.data,y.file),z=await Fe(A,Q);if(z.ok)e(J);else{const ee=await z.text(),ae=ke(ee);h.error(ae.message),c.value?.()}}function k(){l.value=!0}function L(){l.value=!1,C()}return o({open:k,close:L}),(y,V)=>{const O=b("el-icon");return S(),P(T,{modelValue:l.value,"onUpdate:modelValue":V[1]||(V[1]=E=>l.value=E),width:"400px",onClose:C,"destroy-on-close":!0},{default:f(()=>[n(Ce,{onSubmit:_,onReset:s,initialData:m.value,config:g.value},{avatar:f(({updateModelValue:E})=>[n(B(Be),pe({ref:"avatarUpload",class:"avatar-uploader","file-list":a.value,"onUpdate:fileList":V[0]||(V[0]=A=>a.value=A)},D.value),{default:f(({fileUrl:A})=>[A?(S(),F("img",{key:0,src:A,class:"avatar",onLoad:()=>E(A)},null,40,Oe)):(S(),P(O,{key:1,class:"avatar-uploader-icon"},{default:f(()=>[n(B(me))]),_:1}))]),_:2},1040,["file-list"])]),_:1},8,["initialData","config"])]),_:1},8,["modelValue"])}}}),We=Z(qe,[["__scopeId","data-v-36bba531"]]),Me={class:"info-list"},He={class:"label"},ze={class:"value"},je=U({__name:"index",props:{infoList:{}},setup(r){return(o,i)=>{const t=b("el-button");return S(),F("div",Me,[(S(!0),F(ve,null,_e(r.infoList,a=>(S(),F("div",{key:a.key,class:"info-item"},[d("span",He,R(a.label),1),d("span",ze,R(a.value||a.defaultValue),1),a.handlerText?(S(),P(t,{key:0,link:"",type:"primary",onClick:m=>a.onHandler?.()},{default:f(()=>[q(R(a.handlerText),1)]),_:2},1032,["onClick"])):ge("",!0)]))),128))])}}}),Ye=Z(je,[["__scopeId","data-v-b89568e4"]]),Ke={class:"h-full"},Xe={class:"grid grid-cols-[8fr_13fr] gap-[24px] max-w-[1400px] mx-auto my-0"},Ze={class:"text-center"},Ge={class:"flex flex-col gap-10"},Je={class:"flex items-center"},Qe={class:"size-[48px] flex items-center justify-center"},ea={class:"flex items-center"},aa={class:"size-[48px] flex items-center justify-center"},na=U({__name:"index",setup(r){const o=N(),i=H(),t=$(()=>o.userInfo);he(async()=>{o.initUserInfo(),xe().then(g=>{o.setIsPasswordSet(g.data.isSetPassword)})});const a=I("emailDialog"),m=I("passwordDialog"),l=I("nicknameDialog"),v=I("avatarDialog"),c=g=>{if(!o.isPasswordSet){h.error("请先设置登录密码");return}g.start(),o.setAllowEmailLogin(!o.isAllowEmailLogin).then(()=>{h.success(`邮箱登录${o.isAllowEmailLogin?"已开启":"已关闭"}`)}).finally(()=>{g.end()})},D=$(()=>[{key:"account",label:"账号",value:t.value?.account},{key:"nickname",label:"昵称",value:t.value?.nickname,defaultValue:"--",editable:!0,handlerText:"编辑",onHandler:()=>l.value?.open()},{key:"email",label:"邮箱",value:t.value?.email,defaultValue:"未绑定",editable:!0,handlerText:t.value?.email?"更换":"绑定",onHandler:()=>a.value?.open()},{key:"createTime",label:"注册时间",value:t.value?.createdAt?Se(t.value.createdAt).format("YYYY-MM-DD HH:mm:ss"):"--"}]);return(g,p)=>{const x=b("el-divider"),_=b("el-card"),e=b("Lock"),s=b("el-icon"),C=b("el-button"),u=b("Message"),k=b("el-switch");return S(),F("div",Ke,[d("div",Xe,[n(_,{class:"col-start-1 row-span-2 row-start-1"},{header:f(()=>[...p[2]||(p[2]=[d("span",null,"基本信息",-1)])]),default:f(()=>[d("div",Ze,[n(we,{size:80,shape:"square",src:B(i).avatar,class:"cursor-pointer border-[2px] border-[#ccc]",onClick:p[0]||(p[0]=L=>v.value?.open())},{default:f(()=>[q(R(t.value?.nickname?.charAt(0)||"U"),1)]),_:1},8,["src"]),d("h3",null,R(t.value?.account),1)]),n(x),n(Ye,{"info-list":D.value},null,8,["info-list"])]),_:1}),n(_,{class:"col-start-2"},{header:f(()=>[...p[3]||(p[3]=[d("span",null,"安全设置",-1)])]),default:f(()=>[d("div",Ge,[d("div",Je,[d("div",Qe,[n(s,null,{default:f(()=>[n(e)]),_:1})]),p[4]||(p[4]=d("div",{class:"flex-1"},[d("h4",null,"登录密码"),d("p",{class:"text-sm text-[#909399]"},"建议定期更换密码,确保账号安全")],-1)),n(C,{type:"primary",onClick:p[1]||(p[1]=L=>m.value?.open())},{default:f(()=>[q(R(B(o)?.isPasswordSet?"修改密码":"设置密码"),1)]),_:1})]),d("div",ea,[d("div",aa,[n(s,null,{default:f(()=>[n(u)]),_:1})]),p[5]||(p[5]=d("div",{class:"flex-1"},[d("h4",null,"邮箱登录"),d("p",{class:"text-sm text-[#909399]"},"允许使用邮箱作为登录账号")],-1)),n(ye,null,{default:f(({instance:L,loading:y})=>[n(k,{loading:y,"model-value":B(o).isAllowEmailLogin,onChange:V=>c(L)},null,8,["loading","model-value","onChange"])]),_:1})])])]),_:1})]),n(Ve,{ref:"emailDialog"},null,512),n(Ue,{ref:"passwordDialog"},null,512),n(Ie,{ref:"nicknameDialog"},null,512),n(We,{ref:"avatarDialog"},null,512)])}}});export{na as default};
@@ -0,0 +1 @@
1
+ import{Q as Je,d as P,ac as qe,r as k,B as N,Z as re,u as L,w as a,aH as Re,o as C,i as pe,m as E,y as ce,aW as Ze,c as V,b as t,O as W,P as ae,a as S,ai as ge,f as R,G as ne,aY as _e,D as me,p as F,t as oe,aV as ue,a4 as X,a5 as ee,M as Ue,aZ as Xe,a_ as et,ae as tt,a2 as Se,k as I,a0 as Be,a1 as Ee,a$ as at,E as K,b0 as ot,g as de,h as xe,aM as Oe,aE as Ve,b1 as Pe,a8 as le,b2 as lt,ao as ke,b3 as nt,b4 as st,n as it,V as Te,b5 as ze,b6 as ct,b7 as rt,ax as dt,b8 as ut,b9 as pt,ba as mt,bb as ft,x as $e,aB as _t,X as be,bc as vt,bd as ht,be as gt,bf as bt,bg as yt,bh as Ct,v as wt,W as Ae,bi as De,a7 as Ge,bj as kt,a9 as Me,bk as St,bl as xt,F as Tt,N as $t,bm as At,bn as Dt,bo as Mt,j as Lt,bp as It,bq as Rt,br as Nt,bs as Ut,Y as Bt,$ as Et}from"./index-ChPcVXrX.js";import{g as he,v as Ot,f as Vt,c as He}from"./useCompEditStore-DV_QyPzi.js";import{b as ye,d as fe,U as Pt,T as zt,c as Le,a as Fe}from"./index.vue_vue_type_script_setup_true_lang-CtdhXfKs.js";import{_ as Gt}from"./index.vue_vue_type_script_setup_true_lang-Bc1PXqOH.js";import{B as se}from"./index-CylaEETe.js";import{c as Ce}from"./index-DTp0jdEu.js";import{k as ve}from"./v1Keyword-MJXP7v9H.js";import{u as q}from"./useTeamHeaders-Ca3sFPFG.js";import{a as Ht}from"./index-BaIvuJ6m.js";import{_ as Ft,e as Kt}from"./index.vue_vue_type_script_setup_true_lang-uILIKD0X.js";import{B as Yt,h as Ne}from"./moment-DgND2ND5.js";import{_ as Ke}from"./index.vue_vue_type_style_index_0_lang-D79LparT.js";import{c as Ye}from"./index.vue_vue_type_style_index_0_lang-CyH8SJ79.js";import{b as je}from"./index.vue_vue_type_script_setup_true_lang-CklfPaMl.js";import{B as jt}from"./index-D3Ir6GJ2.js";import"./v1Module-Bqbebkss.js";const J=(U="")=>{if(!U)throw new Error("createTeamHomeStore scopeId is required");return Je(`teamHome_${U}`,{state:()=>({teamDetail:{},loading:!1,selectedRows:[],selectedRowsToLeafNodeMap:{},dataSourceCopy:[],canSaveCopy:!1}),getters:{teamName:e=>e.teamDetail.name,creator:e=>({nickname:e.teamDetail?.creatorId?.nickname||e.teamDetail?.creatorId?.account||"",avatar:e.teamDetail?.creatorId?.avatar||""}),creatorNickname:e=>e.teamDetail?.creatorNickname||"",memberCount:e=>e.teamDetail?.memberCount||0,compCount:e=>e.teamDetail?.compCount||0,totalDownloadCount:e=>e.teamDetail?.totalDownloadCount||0,isCreator:e=>e.teamDetail.isCreator,isMember:e=>e.teamDetail.isMember,isOutMember:e=>!e.teamDetail.isCreator&&!e.teamDetail.isMember,description:e=>e.teamDetail.description||"",isPublic:e=>e.teamDetail.isPublic,isApplyNeedAudit:e=>e.teamDetail.isApplyNeedAudit,isAllowCompAuthorDelete:e=>e.teamDetail.isAllowCompAuthorDelete,isShowRepeatComp:e=>e.teamDetail.isShowRepeatComp,code:e=>e.teamDetail.code||"",menuGroup:e=>e.teamDetail.menuGroup||[]},actions:{setCanSaveCopy(e){this.$patch(d=>{d.canSaveCopy=e})},setLoading(e){this.$patch(d=>{d.loading=e})},setTeamDetail(e){this.$patch(d=>{d.teamDetail=e})},setSelectedRows(e){this.$patch(d=>{d.selectedRows=e})},setDataSourceCopy(e){this.$patch(d=>{d.dataSourceCopy=e})},setSelectedRowsToLeafNodeMap(e){this.$patch(d=>{d.selectedRowsToLeafNodeMap=e})},addSelectedRowsToLeafNodeMap(e){this.$patch(d=>{d.selectedRowsToLeafNodeMap={...d.selectedRowsToLeafNodeMap,...e}})},delSelectedRowsToLeafNodeMap(e){this.$patch(d=>{const v={...d.selectedRowsToLeafNodeMap};e.forEach(s=>{delete v[s]}),d.selectedRowsToLeafNodeMap=v})},getSelectedGroupLeafNodes(e=""){return e?he(this.menuGroup,e).filter(v=>v.children?.length===0).map(v=>v.id):[]}}})},Qt=P({__name:"index",setup(U){const e=qe();return(d,v)=>{const s=k("el-skeleton");return C(),N(s,re({rows:3,animated:""},L(e)),{default:a(()=>[Re(d.$slots,"default")]),template:a(()=>[Re(d.$slots,"template")]),_:3},16)}}}),Wt={class:"size-full overflow-hidden"},Jt=P({__name:"CompList",props:{data:{type:Array,default:()=>[]},selectedRows:{type:Array,default:()=>[]}},emits:["selection-change","add-one-comp"],setup(U,{emit:e}){const d=U,v=e,s=pe("baseTable"),l=E(()=>({data:d.data,column:[{prop:"name",label:"组件名称",align:"center"},{prop:"version",label:"组件版本",align:"center"},{prop:"isAdd",label:"已添加",align:"center",formatter:n=>n.isAdd?"是":"否"},{prop:"desc",label:"组件描述",align:"center",showOverflowTooltip:{popperClass:"table-text-tooltip"}},{slot:"operation",prop:"operation",label:"操作",align:"center"}],isPagination:!1,autoLoading:!1}));function m(n){const h=n.filter(y=>!y.isAdd).map(y=>y._id);v("selection-change",h)}function f(){const n=s.value?.getTableRef();n?.clearSelection(),d.selectedRows.forEach(h=>{const y=d.data.find(_=>_._id===h);y?.isAdd||n?.toggleRowSelection(y,void 0,!0)})}const b=(n,h)=>{v("add-one-comp",n._id,h)};return ce(()=>JSON.stringify(d.selectedRows),()=>{f()}),Ze(()=>{f()}),(n,h)=>{const y=k("el-button"),_=k("el-table-column");return C(),V("div",Wt,[t(se,{ref:"baseTable",tableConfig:l.value,border:"",stripe:"",onSelect:m,onSelectAll:m},{operation:a(({col:p})=>[t(_,W(ae(p)),{default:a(({row:o})=>[S("div",null,[t(ge,null,{default:a(({instance:u,loading:w})=>[t(y,{type:"primary",disabled:o.isAdd,loading:w,onClick:M=>b(o,u)},{default:a(()=>[...h[0]||(h[0]=[R("添加",-1)])]),_:1},8,["disabled","loading","onClick"])]),_:2},1024)])]),_:1},16)]),_:1},8,["tableConfig"])])}}}),qt={class:"size-full overflow-hidden"},Zt={class:"flex-1"},Xt={class:"w-full flex items-center justify-end"},ea=P({__name:"CompGrid",props:{data:{type:Array,default:()=>[]},selectedRows:{type:Array,default:()=>[]}},emits:["selection-change","add-one-comp"],setup(U,{emit:e}){const d=U,v=e,s=ne(),l=Ce(`${s.path}_${_e.TEAM_ADD_MY_COMP}`)();X(ee.COMP_LIST_STORE,l);const m=new Map;X(ee.CALLBACKS,m);const f=async()=>{l.setLoading(!0);const h=ue(d.data);await l.renderList(h),l.setLoading(!1)},b=(h,y)=>{let _=[...d.selectedRows];h?_.includes(y)||_.push(y):_=_.filter(p=>p!==y),v("selection-change",_)},n=(h,y)=>{v("add-one-comp",h._id,y)};return ce(()=>d.data,()=>f(),{immediate:!0,deep:!0}),me(()=>{l.$reset()}),(h,y)=>{const _=k("el-checkbox"),p=k("el-button"),o=k("el-scrollbar");return C(),V("div",qt,[t(o,{always:""},{default:a(()=>[t(ye,null,{compItemToolBar:a(({attrs:u})=>[S("div",Zt,[S("span",null,oe(u.version),1)])]),compItemFooter:a(({attrs:u})=>[S("div",Xt,[F("",!0),t(ge,null,{default:a(({instance:w,loading:M})=>[t(p,{type:"primary",loading:M,disabled:u.isAdd,onClick:B=>n(u,w)},{default:a(()=>[...y[0]||(y[0]=[R("添加",-1)])]),_:1},8,["loading","disabled","onClick"])]),_:2},1024)])]),_:1})]),_:1})])}}}),ta=P({__name:"ViewToggle",props:{modelValue:{},modelModifiers:{}},emits:["update:modelValue"],setup(U){const e=Ue(U,"modelValue"),d=E(()=>e.value==="grid"?Xe:et),v=E(()=>e.value==="grid"?"transform: rotate(90deg)":"");function s(){e.value=e.value==="grid"?"list":"grid"}return(l,m)=>{const f=k("el-icon");return C(),V("div",{class:"flex items-center rounded-sm border border-[#ccc] cursor-pointer",onClick:s},[t(f,{style:tt([v.value,{"font-size":"30px",color:"#ccc"}])},{default:a(()=>[(C(),N(Se(d.value)))]),_:1},8,["style"])])}}}),aa={class:"size-full flex flex-col overflow-auto overflow-x-hidden"},oa={class:"flex gap-2 pb-2"},la=P({__name:"index",setup(U,{expose:e}){const{headers:d,teamId:v}=q(),s=J(v)(),l=I([]),m=I(!1),f=I(""),b=I({data:[],search:{column:[{prop:"keyword",type:"el-autocomplete",label:"关键词",value:"",autoQuery:!1,attributes:{placeholder:"请输入组件名称/描述",fetchSuggestions:p,triggerOnFocus:!1,style:"width: 200px",fitInputWidth:!0}},{prop:"status",label:"状态",type:"el-select",value:"NotAdded",attributes:{style:{width:"120px"},clearable:!0,options:[{label:"已添加",value:"Added"},{label:"未添加",value:"NotAdded"}]}}]},pagination:{total:0,attributes:{pageSizes:[10,20,30]}},fetchData:o}),n=E(()=>l.value.length===b.value.data?.filter(r=>!r.isAdd).length),h=E(()=>n.value?"取消全选":"全选"),y=E(()=>b.value.data?.some(r=>!r.isAdd)||!1),_=E(()=>l.value.length>0);function p(r,x){if(r.length<=1)return x([]);ve({keyword:r,type:"compMy"},{headers:d}).then(D=>{const{keywords:G=[]}=D.data||{};x(G)})}async function o(r){const x=await ot({...r},{headers:d}),{rows:D,total:G}=x.data||{};b.value.data=D||[],b.value.pagination.total=G||0,l.value=[]}function u(){m.value=!0}function w(){m.value=!1}function M(){f.value=f.value??"list"}function B(){n.value?l.value=[]:l.value=b.value.data?.filter(r=>!r.isAdd).map(r=>r._id)||[]}function $(r){r.start(),at({compIds:l.value},{headers:d}).then(()=>{b.value.data?.forEach(D=>{l.value.includes(D._id)&&(D.isAdd=!0)});const x=s.teamDetail.compCount+l.value.length;s.setTeamDetail({...s.teamDetail,compCount:x}),l.value=[],K.success("添加成功")}).finally(()=>{r.end()})}async function A(r){$(r)}function i(r){l.value=r}async function c(r,x){l.value=[r],$(x)}return e({open:u,close:w}),(r,x)=>{const D=k("el-button"),G=k("el-drawer");return C(),N(G,{modelValue:m.value,"onUpdate:modelValue":x[1]||(x[1]=z=>m.value=z),title:"添加组件",resizable:"","with-header":!1,onOpened:M,size:"50%","append-to-body":""},{default:a(()=>[S("div",aa,[t(se,{tableConfig:b.value},{tableBefore:a(()=>[S("div",oa,[F("",!0),F("",!0),t(ta,{modelValue:f.value,"onUpdate:modelValue":x[0]||(x[0]=z=>f.value=z),class:"ml-auto"},null,8,["modelValue"])])]),table:a(()=>[t(Be,null,{default:a(()=>[(C(),N(Ee,null,[(C(),N(Se(f.value==="grid"?ea:Jt),{onAddOneComp:c,onSelectionChange:i,data:b.value.data,selectedRows:l.value},null,40,["data","selectedRows"]))],1024))]),_:1})]),_:1},8,["tableConfig"])])]),_:1},8,["modelValue"])}}}),na={class:"size-full overflow-hidden flex flex-col gap-1"},sa={class:"flex flex-col gap-2 overflow-hidden"},ia={class:"flex gap-[10px] items-center"},ca={class:"text-2xl font-bold"},ra={class:"flex gap-[30px]"},da={class:"flex items-center gap-[30px] text-sm"},ua={class:"leading-5 text-sm flex-1 overflow-hidden"},pa={class:"flex"},ma=P({__name:"index",setup(U){const e=ne(),d=de(),{teamId:v}=e.params,s=J(v)(),l=pe("teamAddCompDrawer");function m(){l.value?.open()}function f(){d.push({name:"uploadTeam",params:{teamId:v}})}return(b,n)=>{const h=k("el-tag"),y=k("el-button"),_=k("el-card");return C(),N(_,{"body-class":"!p-0",class:"size-full rounded-sm p-2"},{default:a(()=>[t(Qt,{rows:4,loading:L(s).loading},{default:a(()=>[S("div",na,[S("div",sa,[S("div",ia,[S("h2",ca,oe(L(s).teamName),1)]),S("div",ra,[t(fe,{label:"创建者:",value:L(s).memberCount+" 人"},{value:a(()=>[t(h,{type:"info"},{default:a(()=>[t(Pt,re(L(s).creator,{teamUserNickname:L(s).creatorNickname}),null,16,["teamUserNickname"])]),_:1})]),_:1},8,["value"]),t(fe,{label:"团队码:"},{value:a(()=>[t(Gt,{class:"text-sm",text:L(s).code},null,8,["text"])]),_:1})]),S("div",da,[t(fe,{label:"成员:",value:L(s).memberCount+" 人"},null,8,["value"]),t(fe,{label:"组件:",value:L(s).compCount+" 个"},null,8,["value"]),t(fe,{label:"下载量:",value:L(s).totalDownloadCount},null,8,["value"])])]),S("p",ua,[t(zt,{text:L(s).description,class:"size-full"},null,8,["text"])]),S("div",pa,[t(y,{type:"info",plain:"",onClick:f},{default:a(()=>[...n[0]||(n[0]=[R("上传组件",-1)])]),_:1}),t(y,{type:"info",plain:"",onClick:m},{default:a(()=>[...n[1]||(n[1]=[R("去我的组件添加",-1)])]),_:1})])])]),_:1},8,["loading"]),t(la,{ref:"teamAddCompDrawer"},null,512)]),_:1})}}}),fa={class:"size-full"},_a={class:"flex items-center justify-center gap-2"},va={key:1},ha={class:"flex items-center justify-center gap-2"},ga=P({__name:"index",setup(U){const e=xe(),{headers:d,teamId:v}=q(),s=J(v)(),l=pe("nicknameInput"),m=I({data:[],column:[{slot:"avatar",prop:"avatar",label:"头像",align:"center"},{prop:"type",label:"类型",align:"center",formatter(p){return{user:"普通用户",creator:"创建者"}[p.type]||"--"}},{prop:"nickname",label:"用户名",align:"center",formatter(p){return p.nickname||"--"}},{slot:"teamUserNickname",prop:"teamUserNickname",label:"团队内昵称",align:"center"},{slot:"operation",prop:"operation",label:"操作",align:"center"}],pagination:{total:0},search:{column:[{prop:"keyword",type:"el-input",value:"",autoQuery:!1,attributes:{placeholder:"账号/昵称"}}]},fixedHeight:!1,fetchData:n}),f=I({}),b=E(()=>e.userInfo?.account);async function n(p){const o=await st({...p},{headers:d}),{rows:u,total:w}=o.data||{};m.value.data=u||[],m.value.pagination.total=w||0}function h(p){le.confirm(`确定踢出用户【${p.nickname||p.account}】吗?`,"提示",{confirmButtonText:"确认",cancelButtonText:"取消",type:"warning",beforeClose:(o,u,w)=>{o==="confirm"?(u.confirmButtonLoading=!0,lt({userId:p._id},{headers:d}).then(()=>{K.success("踢出成功"),m.value.data=m.value.data?.filter(M=>M._id!==p._id)||[],w()}).finally(()=>{u.confirmButtonLoading=!1})):w()}}).catch(()=>{})}async function y(p){f.value[p._id]=!0,await ke(),l.value?.focus()}async function _(p){if(!p.teamUserNickname){delete f.value[p._id];return}nt({userId:p._id,teamUserNickname:p.teamUserNickname},{headers:d}).then(()=>{K.success("更新成功"),delete f.value[p._id]})}return(p,o)=>{const u=k("el-input"),w=k("Edit"),M=k("el-icon"),B=k("el-table-column"),$=k("el-tag"),A=k("el-button");return C(),V("div",fa,[t(se,{tableConfig:m.value,border:""},Oe({teamUserNickname:a(({col:i})=>[t(B,W(ae(i)),{default:a(({row:c})=>[S("div",_a,[f.value[c._id]?(C(),N(u,{key:0,ref:"nicknameInput",modelValue:c.teamUserNickname,"onUpdate:modelValue":r=>c.teamUserNickname=r,placeholder:"请输入你在团队的昵称",onKeyup:Pe(r=>_(c),["enter"]),onBlur:r=>_(c)},null,8,["modelValue","onUpdate:modelValue","onKeyup","onBlur"])):(C(),V("span",va,oe(c.teamUserNickname||"--"),1)),c.account===b.value?(C(),N(M,{key:2,class:"cursor-pointer",onClick:r=>y(c)},{default:a(()=>[t(w)]),_:1},8,["onClick"])):F("",!0)])]),_:1},16)]),account:a(({col:i})=>[t(B,W(ae(i)),{default:a(({row:c})=>[S("div",ha,[S("span",null,oe(c.account),1),c.account===b.value?(C(),N($,{key:0,type:"info"},{default:a(()=>[...o[0]||(o[0]=[R("我",-1)])]),_:1})):F("",!0)])]),_:1},16)]),avatar:a(({col:i})=>[t(B,W(ae(i)),{default:a(({row:c})=>[t(Ve,{src:c.avatar,size:40},null,8,["src"])]),_:1},16)]),_:2},[L(s).isCreator?{name:"operation",fn:a(({col:i})=>[t(B,W(ae(i)),{default:a(({row:c})=>[c.type==="user"?(C(),N(A,{key:0,onClick:r=>h(c)},{default:a(()=>[...o[1]||(o[1]=[R("踢出",-1)])]),_:1},8,["onClick"])):F("",!0)]),_:1},16)]),key:"0"}:void 0]),1032,["tableConfig"])])}}}),ba={class:"flex gap-2"},ya=P({__name:"index",props:{modelValue:{type:String,default:""},modelModifiers:{}},emits:["update:modelValue"],setup(U){const e=Ue(U,"modelValue"),d=xe(),v=I({resetBtn:!1,submitBtn:!1}),s=I({}),l=I({}),m=E(()=>[{type:"input",field:"email",title:"邮箱",value:d?.userInfo?.email,props:{disabled:!0},validate:[{required:!0,message:"请输入绑定的邮箱",trigger:"blur"},{validator:(b,n,h)=>{Ht(n)?h():h(new Error("请输入正确的邮箱"))},trigger:"blur"}]},{type:"slotAuthCode",field:"authCode",title:"验证码",value:"",validate:[{required:!0,message:"请输入验证码",trigger:"blur"}]}]);function f({end:b,startCountdown:n}){s.value.validateField("email").then(async()=>{await Kt({email:l.value.email}).then(()=>{K.success("验证码已发送"),n()})}).finally(()=>{b()})}return it(()=>{e.value=l.value.authCode?.toString()??""}),(b,n)=>{const h=k("el-input"),y=k("form-create");return C(),N(y,{rule:m.value,modelValue:l.value,"onUpdate:modelValue":n[0]||(n[0]=_=>l.value=_),api:s.value,"onUpdate:api":n[1]||(n[1]=_=>s.value=_),option:v.value},{"type-slotAuthCode":a(_=>[S("div",ba,[t(h,{"model-value":String(_.model.value),onInput:p=>_.model.callback(p),class:"flex-1",placeholder:"请输入验证码"},null,8,["model-value","onInput"]),t(Ft,{text:"获取验证码","countdown-text":"{n}秒后重新获取",duration:60,onSend:f})])]),_:1},8,["rule","modelValue","api","option"])}}}),Ca=P({__name:"SetCreator",setup(U){const e=ne(),{headers:d,teamId:v}=q(),s=de(),l=Te(),m=ze(),f=J(v)(),b=I({}),n=I({resetBtn:!1,submitBtn:!1,form:{labelWidth:"auto"}}),h=I({}),y=E(()=>[{type:"input",field:"name",title:"团队名称",value:f.teamName,props:{placeholder:"请输入团队名称"},on:{blur:()=>{b.value.validateField("name").then(()=>{_({name:h.value.name})})}},validate:[{required:!0,message:"请输入团队名称",trigger:"blur"},{min:2,max:10,message:"长度在 2 到 10 个字符",trigger:"blur"}]},{type:"switch",field:"isApplyNeedAudit",title:"申请审核",value:f.isApplyNeedAudit,on:{change:o=>{_({isApplyNeedAudit:o})}}},{type:"switch",field:"isShowRepeatComp",title:"展示重复组件",value:f.isShowRepeatComp,on:{change:o=>{_({isShowRepeatComp:o})}}},{type:"switch",field:"isAllowCompAuthorDelete",title:"作者删除组件权限",value:f.isAllowCompAuthorDelete,on:{change:o=>{_({isAllowCompAuthorDelete:o})}}},{type:"input",field:"description",title:"团队介绍",value:f.description,props:{placeholder:"请输入团队介绍",type:"textarea",autosize:{minRows:2,maxRows:4},maxlength:200,showWordLimit:!0},on:{blur:()=>{b.value.validateField("description").then(()=>{_({description:h.value.description})})}},validate:[{min:3,max:200,message:"长度在 3 到 200 个字符",trigger:"blur"}]},{type:"slotAction",field:"action",title:"操作"}]);function _(o){ct({...o},{headers:d}).then(()=>{K.success("更新成功");const u=m.createdTeams.find(w=>w._id===v);u&&o.name&&m.updateCreatedTeamItemById(v??"",{...u,...o}),f.setTeamDetail({...f.teamDetail,...o})})}const p=async()=>{if(await le.confirm("确定解散团队吗,解散后所有成员和组件将被移除,并且无法恢复?","删除确认",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).catch(()=>{})!=="confirm")return;const u=I("");le({title:"请输入验证码",message:()=>dt(ya,{modelValue:u.value,"onUpdate:modelValue":w=>u.value=w}),beforeClose:(w,M,B)=>{if(w==="confirm"){if(!u.value){K.error("请输入验证码");return}M.confirmButtonLoading=!0,rt({authCode:u.value},{headers:d}).then(()=>{K.success("解散团队成功"),m.removeCreatedTeam(v??""),l.delViewAndJumpToPrev(e.path,!0,s),B()}).finally(()=>{M.confirmButtonLoading=!1})}else B()}}).catch(()=>{})};return(o,u)=>{const w=k("el-button"),M=k("form-create");return C(),N(M,{rule:y.value,modelValue:h.value,"onUpdate:modelValue":u[0]||(u[0]=B=>h.value=B),option:n.value,api:b.value,"onUpdate:api":u[1]||(u[1]=B=>b.value=B)},{"type-slotAction":a(()=>[t(w,{type:"danger",onClick:p},{default:a(()=>[...u[2]||(u[2]=[R("解散团队",-1)])]),_:1})]),_:1},8,["rule","modelValue","option","api"])}}}),wa=P({__name:"SetMember",setup(U){const e=ne(),{headers:d,teamId:v}=q(),s=de(),l=Te(),m=ze(),f=E(()=>({showReset:!1,showSubmit:!1,rows:[{type:"slot",label:"操作",prop:"action"}]})),b=async()=>{await le.confirm("确定退出团队吗?","退出确认",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).catch(()=>{})==="confirm"&&ut({headers:d}).then(()=>{K.success("退出成功"),m.removeJoinedTeam(v??""),l.delViewAndJumpToPrev(e.path,!0,s)})};return(n,h)=>{const y=k("el-button");return C(),N(Yt,{config:f.value},{action:a(()=>[t(y,{onClick:b},{default:a(()=>[...h[0]||(h[0]=[R("退出团队",-1)])]),_:1})]),_:1},8,["config"])}}}),ka={class:"size-full"},Sa=P({__name:"index",setup(U){const e=ne(),{teamId:d}=e.params,v=J(d)();return(s,l)=>{const m=k("el-card");return C(),V("div",ka,[t(m,{class:"w-[50%] mx-auto"},{header:a(()=>[...l[0]||(l[0]=[S("span",null,"团队设置",-1)])]),default:a(()=>[S("div",null,[L(v).isCreator?(C(),N(Ca,{key:0})):F("",!0),L(v).isMember?(C(),N(wa,{key:1})):F("",!0)])]),_:1})])}}}),xa={class:"size-full"},Ta={key:0},$a={key:1},Aa=P({__name:"index",setup(U){const{headers:e,teamId:d}=q(),v=J(d)(),s=I({data:[],column:[{slot:"avatar",prop:"userId.avatar",label:"头像",align:"center"},{prop:"userId.account",label:"账号",align:"center"},{prop:"userId.nickname",label:"昵称",align:"center",formatter(f){return f.userId.nickname||"--"}},{slot:"operation",prop:"operation",label:"操作",align:"center"}],pagination:{total:0},search:{column:[{prop:"keyword",type:"el-input",value:"",autoQuery:!1,attributes:{placeholder:"账号/昵称"}}]},fixedHeight:!1,fetchData:l});async function l(f){const b=await mt({...f},{headers:e}),{rows:n,total:h}=b.data||{};s.value.data=n||[],s.value.pagination.total=h||0}function m(f,b,n){n.start(),pt({applyId:f._id,isAgree:b},{headers:e}).then(()=>{s.value.data=s.value.data?.map(h=>(h._id===f._id&&(h.status=b?"approved":"rejected"),h)),K.success("处理成功")}).finally(()=>{n.end()})}return(f,b)=>{const n=k("el-table-column"),h=k("el-button"),y=k("el-tag");return C(),V("div",xa,[t(se,{tableConfig:s.value,border:""},Oe({avatar:a(({col:_})=>[t(n,W(ae(_)),{default:a(({row:p})=>[t(Ve,{src:p.userId.avatar,size:40},null,8,["src"])]),_:1},16)]),_:2},[L(v).isCreator?{name:"operation",fn:a(({col:_})=>[t(n,W(ae(_)),{default:a(({row:p})=>[p.status==="pending"?(C(),V("div",Ta,[t(ge,null,{default:a(({instance:o,loading:u})=>[t(h,{type:"danger",loading:u,onClick:w=>m(p,!1,o)},{default:a(()=>[...b[0]||(b[0]=[R("拒绝",-1)])]),_:1},8,["loading","onClick"]),t(h,{type:"primary",loading:u,onClick:w=>m(p,!0,o)},{default:a(()=>[...b[1]||(b[1]=[R("同意",-1)])]),_:1},8,["loading","onClick"])]),_:2},1024)])):(C(),V("div",$a,[t(y,{type:"info"},{default:a(()=>[R(oe(p.status==="approved"?"已同意":"已拒绝"),1)]),_:2},1024)]))]),_:1},16)]),key:"0"}:void 0]),1032,["tableConfig"])])}}}),Da={class:"size-full flex flex-col overflow-auto"},Ma={class:"flex gap-2"},La={class:"flex-1 flex flex-col gap-2 overflow-auto"},Ia={class:"flex gap-1"},Ra={class:"flex items-center gap-1"},Na={class:"text-[#f40] text-[12px]"},Ua={class:"flex-1 overflow-auto"},Ba={class:"custom-tree-node"},Ea={key:1},Oa={key:0},Va={class:"flex gap-1 items-center"},Pa=P({__name:"TreeMenu",setup(U){const e={children:"children",label:"label",isLeaf:g=>!g.children||g.children.length===0},{headers:d,teamId:v}=q(),s=J(v)(),l=I(""),m=I([]),f=pe("tree"),b=I({}),n=I([]),h=I("[]"),y=I({}),_=I(!1),p=E(()=>{const g=JSON.stringify(n.value),T=h.value;return g!==T||!ft(s.selectedRowsToLeafNodeMap,y.value)}),o=E(()=>s.selectedRows.length>0),u=()=>({id:Ot(),label:"默认分组",children:[],isEdit:!1}),w=(g,T)=>{g&&(b.value[T]=g)},M=g=>{m.value.includes(g)||(m.value=[...m.value,g])},B=g=>{const j=he(n.value,g.id).map(O=>O.id).concat(g.id);m.value=m.value.filter(O=>!j.includes(O)),_.value=!1},$=g=>{M(g.id)},A=g=>{g.isEdit=!1},i=g=>{g.isEdit=!1},c=(g,T)=>g?T.label.includes(g):!0,r=()=>{const g={menuGroup:n.value,compIdInLeafNodeMap:s.selectedRowsToLeafNodeMap};Ct(g,{headers:d}).then(()=>{K.success("保存成功"),y.value=ue(s.selectedRowsToLeafNodeMap),s.setTeamDetail({...s.teamDetail,menuGroup:ue(n.value)})})},x=async g=>{g.isEdit=!0,await ke(),b.value[g.id]?.focus(),b.value[g.id]?.select()},D=async g=>{const T=u();g.children||(g.children=[]),g.children.push(T),n.value=[...n.value],await ke();const j={};for(const O in s.selectedRowsToLeafNodeMap)s.selectedRowsToLeafNodeMap[O]===g.id&&(j[O]=T.id);s.addSelectedRowsToLeafNodeMap(j),M(T.id)},G=async(g,T)=>{const we=he(n.value,T.id).filter(te=>te.children?.length===0).map(te=>te.id).concat(T.id),Z=[];for(const te in s.selectedRowsToLeafNodeMap)we.includes(s.selectedRowsToLeafNodeMap[te]??"")&&Z.push(te);if(Z?.length){if(await le.confirm("确认删除该分组吗?删除后该分组下的所有组件将被移除分组","提示",{confirmButtonText:"删除",cancelButtonText:"取消",type:"warning"}).catch(()=>{})!=="confirm")return;s.delSelectedRowsToLeafNodeMap(Z)}const H=g.parent,Q=H?.data.children||H?.data,We=Q.findIndex(te=>te.id===T.id);Q.splice(We,1),n.value=[...n.value]},z=()=>{const g=u();n.value.push(g)},Y=()=>{if(!n.value.length)return;const g=n.value.map(T=>he(n.value,T.id).map(O=>O.id)).reduce((T,j)=>T.concat(j),[]);g.length&&(m.value=g,_.value=!0)},ie=g=>{p.value&&g.preventDefault()},Qe=g=>{const T=s.selectedRows.reduce((j,O)=>({...j,[O]:g.id}),{});s.addSelectedRowsToLeafNodeMap(T),s.setSelectedRows([]),K.success("添加成功")},Ie=g=>Object.values(s.selectedRowsToLeafNodeMap).filter(T=>T===g.id).length;return ce(l,g=>{f.value.filter(g)}),ce(()=>s.menuGroup,g=>{n.value=ue(g),h.value=JSON.stringify(g)},{immediate:!0}),ce(()=>JSON.stringify(n.value),()=>{s.setDataSourceCopy(ue(n.value))},{immediate:!0}),ce(()=>s.selectedRowsToLeafNodeMap,g=>{y.value=ue(g)},{immediate:!0,once:!0}),ce(()=>p.value,g=>{s.setCanSaveCopy(g)},{immediate:!0,deep:!0}),$e(()=>{window.addEventListener("beforeunload",ie)}),me(()=>{window.removeEventListener("beforeunload",ie)}),(g,T)=>{const j=k("el-input"),O=k("el-button"),we=k("el-tree");return C(),V("div",Da,[T[5]||(T[5]=S("h2",{class:"text-lg font-bold mb-2"},"分组配置",-1)),S("div",Ma,[t(j,{modelValue:l.value,"onUpdate:modelValue":T[0]||(T[0]=Z=>l.value=Z),class:"mb-2",placeholder:"请输入分组名称"},null,8,["modelValue"])]),S("div",La,[S("div",Ia,[t(O,{size:"small",onClick:Y,disabled:_.value},{default:a(()=>[...T[1]||(T[1]=[R("展开全部",-1)])]),_:1},8,["disabled"]),t(O,{type:"primary",size:"small",onClick:z,icon:L(_t)},{default:a(()=>[...T[2]||(T[2]=[R("创建分组",-1)])]),_:1},8,["icon"]),S("div",Ra,[t(O,{type:"primary",disabled:!p.value,size:"small",onClick:r,icon:L(vt)},{default:a(()=>[...T[3]||(T[3]=[R(" 保存 ",-1)])]),_:1},8,["disabled","icon"]),be(S("span",Na,"未保存",512),[[ht,p.value]])])]),S("div",Ua,[t(we,{ref:"tree",data:n.value,"default-expanded-keys":m.value,"expand-on-click-node":!1,"filter-node-method":c,props:e,"node-key":"id",onNodeExpand:$,onNodeCollapse:B},{default:a(({node:Z,data:H})=>[S("div",Ba,[H.isEdit?(C(),N(j,{key:0,modelValue:H.label,"onUpdate:modelValue":Q=>H.label=Q,autofocus:"",size:"small",onKeydown:Pe(Q=>A(H),["enter"]),onBlur:Q=>i(H),onChange:Q=>A(H),ref:Q=>w(Q,H.id)},null,8,["modelValue","onUpdate:modelValue","onKeydown","onBlur","onChange"])):(C(),V("span",Ea,[R(oe(Z.label)+" ",1),Z.isLeaf&&Ie(H)>0?(C(),V("span",Oa," ("+oe(Ie(H))+") ",1)):F("",!0)])),S("div",Va,[t(O,{type:"info",link:"",onClick:Q=>x(H),icon:L(gt)},null,8,["onClick","icon"]),t(O,{type:"primary",link:"",onClick:Q=>D(H),icon:L(bt)},null,8,["onClick","icon"]),t(O,{type:"danger",link:"",onClick:Q=>G(Z,H),icon:L(yt)},null,8,["onClick","icon"]),t(O,{disabled:!Z.isLeaf||!o.value,type:"success",link:"",onClick:Q=>Qe(H)},{default:a(()=>[...T[4]||(T[4]=[R(" 添加组件 ",-1)])]),_:1},8,["disabled","onClick"])])])]),_:1},8,["data","default-expanded-keys"])])])])}}}),za=wt(Pa,[["__scopeId","data-v-a4f31447"]]),Ga={class:"flex w-full mb-2"},Ha={class:"flex-1"},Fa={class:"flex w-full h-[30px] items-center gap-2"},Ka=P({__name:"CompGroupList",setup(U){const e=ne(),{headers:d,teamId:v}=q(),s=de(),l=Ce(`${e.path}_${_e.TEAM_COMP_GROUP_LIST}`)();X(ee.COMP_LIST_STORE,l);const m=new Map;X(ee.CALLBACKS,m);const f=J(v)(),b=E(()=>f.menuGroup),n=I({data:[],search:{column:[{prop:"keyword",type:"el-autocomplete",label:"关键词",value:"",autoQuery:!1,attributes:{placeholder:"请输入组件名称/描述",fetchSuggestions:p,triggerOnFocus:!1,style:"width: 200px",fitInputWidth:!0}},{prop:"isGroup",label:"是否分组",type:"el-select",value:"",attributes:{style:{width:"120px"},clearable:!0,options:[{label:"已分组",value:"Yes"},{label:"未分组",value:"No"}]}},{prop:"group",type:"el-cascader",label:"分组",value:"",attributes:{options:b,clearable:!0,props:{value:"id",checkStrictly:!0}}}]},pagination:{total:0,attributes:{pageSizes:[10,20,30]}},autoLoading:!1,fetchData:o}),h=E(()=>n.value.data?.length>0&&f.selectedRows.length===n.value.data?.length),y=E(()=>h.value?"取消全选":"全选"),_=E(()=>n.value.data?.length?n.value.data.some(i=>!A(i._id)):!1);function p(i,c){if(i.length<=1)return c([]);ve({keyword:i,type:"compTeam"},{headers:d}).then(r=>{const{keywords:x=[]}=r.data||{};c(x)})}async function o(i){l.setLoading(!0);const{group:c=[]}=i||{};delete i.group;const r=c?.[c.length-1];if(r){let z=f.getSelectedGroupLeafNodes(r);z=z.length===0?[r]:z,i.leafNodeIds=z}const x=await De({...i,scene:"library"},{headers:d}),{rows:D,total:G}=x.data||{};await l.renderList(D||[]),n.value.data=D||[],n.value.pagination.total=G||0}function u(i){s.push({path:`/previewTeam/${v}/${i._id}`})}function w(i,c){let r=[...f.selectedRows];i?r.push(c):r=r.filter(x=>x!==c),f.setSelectedRows(r)}function M(){if(h.value){f.setSelectedRows([]);return}const i=n.value.data.filter(c=>!A(c._id)).map(c=>c._id);f.setSelectedRows(i)}function B(i){const c=f.selectedRowsToLeafNodeMap[i];return c?Vt(f.dataSourceCopy,c).reverse().map(x=>x.label).join(" / "):""}function $(i){f.delSelectedRowsToLeafNodeMap([i]),K.success("取消分组成功")}function A(i){return!!f.selectedRowsToLeafNodeMap[i]}return me(()=>{l.$reset()}),(i,c)=>{const r=k("el-button"),x=k("el-tag"),D=k("el-checkbox"),G=k("el-link"),z=Ae("loading");return be((C(),V("div",null,[t(se,{tableConfig:n.value},{tableBefore:a(()=>[S("div",Ga,[t(r,{type:"primary",onClick:M,disabled:!_.value},{default:a(()=>[R(oe(y.value),1)]),_:1},8,["disabled"])])]),table:a(()=>[t(ye,null,{compItemToolBar:a(({attrs:Y})=>[S("div",Ha,[Y._id?(C(),N(Le,W(re({key:0},{id:Y._id,version:Y.version})),null,16)):F("",!0)])]),compItemFooter:a(({attrs:Y})=>[S("div",Fa,[A(Y._id)?(C(),N(x,{key:0,type:"info",closable:"","disable-transitions":!0,round:"",onClose:ie=>$(Y._id)},{default:a(()=>[R(oe(B(Y._id)),1)]),_:2},1032,["onClose"])):(C(),N(D,{key:1,label:"选择","model-value":L(f).selectedRows.includes(Y._id),onChange:ie=>w(ie,Y._id)},null,8,["model-value","onChange"])),t(G,{class:"inline-block ml-auto",type:"primary",onClick:ie=>u(Y)},{default:a(()=>[...c[0]||(c[0]=[R(" 预览 ",-1)])]),_:1},8,["onClick"])])]),_:1})]),_:1},8,["tableConfig"])])),[[z,L(l).loading]])}}}),Ya={class:"flex gap-3"},ja=P({__name:"index",setup(U){return(e,d)=>{const v=k("el-card");return C(),V("div",Ya,[t(v,{"body-class":"!p-0",class:"w-[400px] max-h-[60vh] overflow-hidden sticky top-10 p-2"},{default:a(()=>[t(za)]),_:1}),t(v,{"body-class":"!p-0",class:"flex-1 p-2"},{default:a(()=>[t(Ka)]),_:1})])}}}),Qa={class:"size-full overflow-hidden"},Wa={class:"flex-1"},Ja={class:"flex-1 flex justify-end items-center gap-2"},qa=P({__name:"index",setup(U){const e=ne(),d=de(),v=xe(),{headers:s,teamId:l}=q(),m=Ce(`${e.path}_${_e.TEAM_COMP_LIST}`)();X(ee.COMP_LIST_STORE,m);const f=new Map;X(ee.CALLBACKS,f);const b=He(e.path)();X(ee.COMP_EDIT_STORE,b);const n=J(l)(),h=pe("compUpdateDialog"),y=E(()=>n.menuGroup),_=I({data:[],search:{column:[{prop:"keyword",type:"el-autocomplete",label:"关键词",value:"",autoQuery:!1,attributes:{placeholder:"请输入组件名称/描述",fetchSuggestions:p,triggerOnFocus:!1,style:"width: 200px",fitInputWidth:!0}},{prop:"group",type:"el-cascader",label:"分组",value:"",attributes:{options:y,clearable:!0,props:{value:"id",checkStrictly:!0}}}]},pagination:{total:0,attributes:{pageSizes:[10,20,30]}},autoLoading:!1,fetchData:o});function p(i,c){if(i.length<=1)return c([]);ve({keyword:i,type:"compTeam"},{headers:s}).then(r=>{const{keywords:x=[]}=r.data||{};c(x)})}async function o(i){m.setLoading(!0);const{group:c=[]}=i||{};delete i.group;const r=c?.[c.length-1];if(r){let z=n.getSelectedGroupLeafNodes(r);z=z.length===0?[r]:z,i.leafNodeIds=z}const x=await De({...i,scene:"library"},{headers:s}),{rows:D,total:G}=x.data||{};await m.renderList(D||[]),_.value.pagination.total=G||0}function u(i){d.push({path:`/previewTeam/${l}/${i._id}`})}function w(i){const{_id:c,totalDownloadCount:r=0}=i;m.updateCompListItemById(c,{totalDownloadCount:r+1})}function M(i){const c=i?.canUpdateUsers?.includes(v.userId),r=i?.authorId?._id===v.userId;return c||r}async function B(i){const c=Ge.service({fullscreen:!0});try{const r=i._id,x=await kt({compId:r},{headers:s}),{result:D}=x.data||{};if(D==="cannot_update"){le.confirm(Me.CONFIRM.NO_UPDATE_PERMISSION(),"提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).finally(()=>{});return}h.value?.open(i._id)}finally{c.close()}}function $(i){return Ye(i._id)().isLocalExist?"primary":"info"}function A(i){je({compId:i}).then(c=>{m.updateCompListItemById(i,c.data)})}return me(()=>{m.$reset()}),(i,c)=>{const r=k("el-link"),x=Ae("loading");return be((C(),V("div",Qa,[t(se,{tableConfig:_.value},{table:a(()=>[t(ye,null,{compItemToolBar:a(({attrs:D})=>[S("div",Wa,[D._id?(C(),N(Le,W(re({key:0},{id:D._id,version:D.version})),null,16)):F("",!0)])]),compItemFooterOperate:a(({attrs:D})=>[S("div",Ja,[M(D)?(C(),N(r,{key:0,type:$(D),onClick:G=>B(D)},{default:a(()=>[...c[0]||(c[0]=[R(" 更新 ",-1)])]),_:1},8,["type","onClick"])):F("",!0),t(Fe,re({id:D._id,name:D.name,version:D.version},{onDownloadSuccess:G=>w(D)}),null,16,["onDownloadSuccess"]),t(r,{class:"inline-block",type:"primary",onClick:G=>u(D)},{default:a(()=>[...c[1]||(c[1]=[R(" 预览 ",-1)])]),_:1},8,["onClick"])])]),_:1})]),_:1},8,["tableConfig"]),t(Ke,{ref:"compUpdateDialog",onUpdateSuccess:A},null,512)])),[[x,L(m).loading]])}}}),Za={class:"size-full"},Xa={class:"flex-1"},eo={class:"flex-1 flex justify-end items-center gap-2"},to=P({__name:"index",setup(U){const e=de(),d=ne(),{headers:v,teamId:s}=q(),l=Ce(`${d.path}_${_e.TEAM_MY_COMP_LIST}`)();X(ee.COMP_LIST_STORE,l);const m=He(`${d.path}_${_e.TEAM_MY_COMP_UPDATE}`)();X(ee.COMP_EDIT_STORE,m);const f=new Map;X(ee.CALLBACKS,f);const b=J(s)(),n=pe("compUpdateDialog"),h=I({data:[],search:{column:[{prop:"keyword",type:"el-autocomplete",label:"关键词",value:"",autoQuery:!1,attributes:{placeholder:"请输入组件名称/描述",fetchSuggestions:y,triggerOnFocus:!1,style:"width: 200px",fitInputWidth:!0}}]},pagination:{total:0},fixedHeight:!1,autoLoading:!1,fetchData:_});function y($,A){if($.length<=1)return A([]);ve({keyword:$,type:"compTeamMy"},{headers:v}).then(i=>{const{keywords:c=[]}=i.data||{};A(c)})}async function _($){l.setLoading(!0);const A=await xt({...$},{headers:v}),{rows:i,total:c}=A.data||{};await l.renderList(i||[]),h.value.pagination.total=c||0}async function p($){const A=Ge.service({fullscreen:!0});try{if(await le.confirm(Me.CONFIRM.TEAM_DEL_COMP($.name),"提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).catch(()=>{})!=="confirm")return;await St({compIds:[$._id]},{headers:v}).then(()=>{K.success("删除成功"),l.delCompListById($._id),b.setTeamDetail({...b.teamDetail,compCount:b.teamDetail.compCount-1})})}finally{A.close()}}function o($){e.push({path:`/previewTeam/${s}/${$._id}`})}async function u($){n.value?.open($._id)}function w($){const{_id:A,totalDownloadCount:i=0}=$;l.updateCompListItemById(A,{totalDownloadCount:i+1})}function M($){return Ye($._id)().isLocalExist?"primary":"info"}function B($){je({compId:$}).then(A=>{l.updateCompListItemById($,A.data)})}return me(()=>{l.$reset()}),($,A)=>{const i=k("el-link"),c=Ae("loading");return be((C(),V("div",Za,[t(se,{tableConfig:h.value,border:""},{table:a(()=>[t(ye,null,{compItemToolBar:a(({attrs:r})=>[S("div",Xa,[r._id?(C(),N(Le,W(re({key:0},{id:r._id,version:r.version})),null,16)):F("",!0)])]),compItemFooterOperate:a(({attrs:r})=>[S("div",eo,[t(i,{type:M(r),onClick:x=>u(r)},{default:a(()=>[...A[0]||(A[0]=[R(" 更新 ",-1)])]),_:1},8,["type","onClick"]),t(Fe,re({id:r._id,name:r.name,version:r.version},{onDownloadSuccess:x=>w(r)}),null,16,["onDownloadSuccess"]),t(i,{class:"inline-block",type:"primary",onClick:x=>o(r)},{default:a(()=>[...A[1]||(A[1]=[R(" 预览 ",-1)])]),_:1},8,["onClick"]),L(b).isAllowCompAuthorDelete?(C(),N(i,{key:0,type:"danger",onClick:x=>p(r)},{default:a(()=>[...A[2]||(A[2]=[R("删除",-1)])]),_:1},8,["onClick"])):F("",!0)])]),_:1})]),_:1},8,["tableConfig"]),t(Ke,{ref:"compUpdateDialog",onUpdateSuccess:B},null,512)])),[[c,L(l).loading]])}}}),ao={class:"size-full"},oo=P({__name:"index",setup(U){const e=de(),{headers:d,teamId:v}=q(),s=J(v)(),l=I([]),m=I({data:[],column:[{prop:"name",label:"组件名称",align:"center"},{prop:"authorId.nickname",label:"作者",align:"center",formatter:o=>o.teamUserNickname||o.authorId?.nickname||"--"},{prop:"version",label:"组件版本",align:"center"},{prop:"desc",label:"组件描述",align:"center",showOverflowTooltip:{popperClass:"table-text-tooltip"}},{prop:"createdAt",label:"创建时间",align:"center",formatter:o=>o.createdAt?Ne(o.createdAt).format("YYYY-MM-DD"):"--"},{prop:"updatedAt",label:"更新时间",align:"center",formatter:o=>o.updatedAt?Ne(o.updatedAt).format("YYYY-MM-DD"):"--"},{slot:"canUpdateUsers",prop:"canUpdateUsers",label:"更新授权",align:"center"},{slot:"operation",prop:"operation",label:"操作",align:"center"}],search:{column:[{prop:"keyword",type:"el-autocomplete",label:"关键词",value:"",autoQuery:!1,attributes:{placeholder:"请输入组件名称/描述",fetchSuggestions:b,triggerOnFocus:!1,style:"width: 200px",fitInputWidth:!0}}]},pagination:{total:0},fixedHeight:!1,fetchData:n}),f=E(()=>l.value.map(o=>({value:o._id,label:o.teamUserNickname||o.nickname||o.account})));function b(o,u){if(o.length<=1)return u([]);ve({keyword:o,type:"compTeam"},{headers:d}).then(w=>{const{keywords:M=[]}=w.data||{};u(M)})}async function n(o){const u=await De({...o,scene:"management"},{headers:d}),{rows:w,total:M}=u.data||{};m.value.data=w||[],m.value.pagination.total=M||0}async function h(o,u){u.start();try{if(await le.confirm(Me.CONFIRM.TEAM_DEL_COMP(o.name),"提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).catch(()=>{})!=="confirm")return;await At({compIds:[o._id]},{headers:d}).then(()=>{K.success("删除成功"),m.value.data=m.value.data.filter(M=>M._id!==o._id),s.setTeamDetail({...s.teamDetail,compCount:s.teamDetail.compCount-1})})}finally{u.end()}}function y(o){e.push({path:`/previewTeam/${v}/${o._id}`})}function _(){Dt({headers:d}).then(o=>{l.value=o.data?.rows||[]})}function p(o){const u={compId:o._id,canUpdateUserIds:o.canUpdateUsers||[]};Mt(u,{headers:d})}return $e(()=>{_()}),(o,u)=>{const w=k("el-option"),M=k("el-select"),B=k("el-table-column"),$=k("el-button");return C(),V("div",ao,[t(se,{tableConfig:m.value,border:""},{canUpdateUsers:a(({col:A})=>[t(B,W(ae(A)),{default:a(({row:i})=>[t(M,{modelValue:i.canUpdateUsers,"onUpdate:modelValue":c=>i.canUpdateUsers=c,multiple:"","collapse-tags":"","collapse-tags-tooltip":"",placeholder:"选择可更新用户",onChange:c=>p(i)},{header:a(()=>[...u[0]||(u[0]=[S("span",{class:"text-[#ccc]"},"作者自带授权",-1)])]),default:a(()=>[(C(!0),V(Tt,null,$t(f.value,c=>(C(),N(w,{key:c.value,label:c.label,value:c.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","onUpdate:modelValue","onChange"])]),_:1},16)]),operation:a(({col:A})=>[t(B,W(ae(A)),{default:a(({row:i})=>[t($,{type:"primary",onClick:c=>y(i)},{default:a(()=>[...u[1]||(u[1]=[R("预览",-1)])]),_:1},8,["onClick"]),t(ge,null,{default:a(({instance:c,loading:r})=>[t($,{type:"danger",loading:r,onClick:x=>h(i,c)},{default:a(()=>[...u[2]||(u[2]=[R("删除",-1)])]),_:1},8,["loading","onClick"])]),_:2},1024)]),_:1},16)]),_:1},8,["tableConfig"])])}}}),lo={class:"size-full overflow-x-hidden team-container"},no={class:"mb-3 h-[200px]"},so={class:"sticky top-0 w-full"},io={class:"mt-2"},xo=P({__name:"index",setup(U){const e=[{label:"组件库",value:"TeamCompList",component:qa,visible:()=>!0},{label:"分组配置",value:"TeamCompGroup",component:ja,visible:()=>l.isCreator},{label:"组件管理",value:"TeamCompManage",component:oo,visible:()=>l.isCreator},{label:"我的组件",value:"TeamMyCompList",component:to,visible:()=>!0},{label:"团队成员",value:"TeamMemberList",component:ga,visible:()=>!0},{label:"加入申请",value:"TeamApplyList",component:Aa,visible:()=>l.isCreator},{label:"设置",value:"TeamSet",component:Sa,visible:()=>!0}],{headers:d,teamId:v}=q(),s=Te(),l=J(v)(),m=Lt(`${It}-${v}`,e[0]?.value),f=E(()=>Object.keys(l.teamDetail).length===0),b=E(()=>e.filter(_=>_.visible())),n=E(()=>b.value.find(p=>p.value===m.value)?.component||{render:()=>null}),h=async(_,p,o)=>{if(!l.canSaveCopy){o();return}const u=_.matched[_.matched.length-1],w=p.matched[p.matched.length-1];try{if(!u||!w){o();return}(!_.redirectedFrom||u.path===w.path)&&await le.confirm("分组配置数据未保存,确定要离开吗?","提示",{confirmButtonText:"离开",cancelButtonText:"取消",type:"warning"}),o()}catch{o(!1)}};function y(_,p){s.addPayLoad(`/team/${_}`,{name:p??""})}return Rt(h),Nt(h),$e(()=>{l.setLoading(!0),Ut({headers:d}).then(_=>{const{compIdInLeafNodeMap:p}=_.data;l.setTeamDetail(_.data),l.setSelectedRowsToLeafNodeMap(p||{}),y(v??"",l.teamDetail?.name??"")}).catch(()=>{l.$reset()}).finally(()=>{l.setLoading(!1)})}),me(()=>{l.$reset()}),(_,p)=>{const o=k("el-backtop"),u=k("el-scrollbar");return C(),V("div",lo,[t(u,{always:""},{default:a(()=>[t(Bt,{isEmpty:f.value,loading:L(l).loading,emptyDescription:"暂无团队信息"},{default:a(()=>[S("div",no,[t(ma)]),S("div",so,[t(jt,{modelValue:L(m),"onUpdate:modelValue":p[0]||(p[0]=w=>Et(m)?m.value=w:null),options:b.value},null,8,["modelValue","options"])]),S("div",io,[t(Be,null,{default:a(()=>[(C(),N(Ee,null,[(C(),N(Se(n.value)))],1024))]),_:1})]),t(o,{right:100,bottom:100,target:".team-container"})]),_:1},8,["isEmpty","loading"])]),_:1})])}}});export{xo as default};