1import{r as e,j as s,aj as a,w as l,bF as r,$ as t,bD as n,v as i,A as o,ai as d,a4 as c,a5 as u,G as m,ak as h,h as x,aH as p,J as j,aq as _,aw as b,b1 as g,bk as w,aJ as f,W as v}from"./vendor-ic2EBoqS.js";import{u as k,c as y,a as C,d as I,m as z,b as N,g as F,e as S}from"./user-manage-apis-BKyKx3L8.js";import{P as A}from"./PageHeader-BNLY62aG.js";import{u as P}from"./useModal-DJ6dudw9.js";import{b as Y}from"./index-CIR7493z.js";import"./index-DFEDUUSj.js";import"./axios-BrNB3knv.js";import"./TimeUtils-Cxh6byDf.js";const O=({onChange:o,value:d})=>{const[c,u]=e.useState([]),[m,h]=e.useState(d||[]);return e.useEffect((()=>{(async()=>{const e=await Y();e&&u(e.result)})()}),[]),s.jsxs("div",{children:[s.jsxs(a,{align:"center",size:[8,16],wrap:!0,className:"mt-1 mb-2 min-h-8",children:["å·²éè§è²:",m.map((e=>{var a;return s.jsxs(l,{type:"primary",disabled:"overview_role"===e,onClick:()=>(e=>{const s=m.findIndex((s=>s===e));s>-1&&(m.splice(s,1),h([...m]),null==o||o([...m]))})(e),size:"small",className:"flex items-center",children:[null==(a=c.find((s=>s.role_code===e)))?void 0:a.role_name,s.jsx(r,{})]},e)}))]}),0===c.length&&s.jsx(t,{active:!0}),c.length>0&&s.jsx(n.Group,{className:"w-full h-[17rem] overflow-auto",value:m,onChange:e=>{h(e),null==o||o(e)},children:c.map((e=>s.jsx(i,{size:"small",className:"mt-2 w-full",title:s.jsx(n,{disabled:"overview_role"===e.role_code,value:e.role_code,children:e.role_name}),children:e.role_description},e.role_code)))})]})},$=["overview_role","instance_role","image_role","storage_role","public-data_role","key_role"],q=({open:a=!1,success:l=(()=>{}),close:r=(()=>{}),props:t})=>{const{message:n}=o.useApp(),[i]=d.useForm(),[m,h]=e.useState(!1);return e.useEffect((()=>{t&&i.setFieldsValue(t)})),s.jsx(c,{open:a,width:800,destroyOnClose:!0,closable:!1,confirmLoading:m,onCancel:r,maskClosable:!1,onOk:async()=>{const e=await i.validateFields();let s;h(!0),t?(s=await k({sub_uid:t.sub_uid,nick_name:e.nick_name,roles:e.roles}),s&&(n.success("ç¼è¾åè´¦å·æå"),l())):(e.password=btoa(e.password),s=await y(e),s&&(n.success("å建åè´¦å·æå"),l())),h(!1)},okText:"确认",cancelText:"åæ¶",title:t?"ç¼è¾åè´¦å·":"å建åè´¦æ·",children:s.jsxs(d,{form:i,preserve:!1,layout:"vertical",children:[t?s.jsx(d.Item,{label:"ç¨æ·å",name:"username",children:s.jsx(u,{disabled:!0,placeholder:"请è¾å
¥ç¨æ·å,5-20ä½å符"})}):s.jsx(d.Item,{label:"ç¨æ·å",name:"username",rules:[{required:!0,message:"请è¾å
¥ç¨æ·å"},{pattern:/^[a-zA-Z0-9_]{5,20}$/,message:"ç¨æ·åç±5-20ä¸ªåæ¯ãæ°åãä¸åçº¿ç»æ"}],children:s.jsx(u,{placeholder:"请è¾å
¥ç¨æ·å,5-20ä½å符"})}),s.jsx(d.Item,{label:"æµç§°",name:"nick_name",rules:[{required:!0,message:"请è¾å
¥æµç§°"}],children:s.jsx(u,{placeholder:"请è¾å
¥æµç§°"})}),t?s.jsx(d.Item,{label:"å¯ç ",children:s.jsx(u,{disabled:!0,placeholder:"*******"})}):s.jsx(d.Item,{label:"å¯ç ",name:"password",rules:[{required:!0,message:"å¯ç ä¸è½ä¸ºç©º"},{pattern:/^(?=.*[A-Z])(?=.*[a-z])(?=.*\d)[A-Za-z\d]{8,32}$/,message:"å¯ç é¿åº¦8-32个å符ï¼ä»
æ¯æåæ¯ãæ°åï¼è³å°å
å«å¤§å忝ãå°ååæ¯ãæ°å"}],children:s.jsx(u.Password,{placeholder:"请è¾å
¥å¯ç "})}),s.jsx(d.Item,{label:"è§è²",initialValue:t?t.roles:$,name:"roles",rules:[{required:!0,message:"è¯·éæ©è§è²"}],children:s.jsx(O,{})})]})})},E=({open:a=!1,success:l=(()=>{}),close:r=(()=>{}),props:t})=>{const{message:n}=o.useApp(),[i]=d.useForm(),[u,x]=e.useState(!1);return e.useEffect((()=>{t&&a&&i.setFieldsValue({virtual_balance:t.virtual_balance})}),[t,a,i]),s.jsx(c,{open:a,width:520,destroyOnClose:!0,closable:!1,confirmLoading:u,onCancel:r,maskClosable:!1,onOk:async()=>{const e=await i.validateFields();x(!0);await C({user_id:t.user_id,virtual_balance:e.virtual_balance})&&(n.success("é
ç½®ä½é¢æå"),l()),x(!1)},okText:"确认",cancelText:"åæ¶",title:"é
ç½®èæä½é¢",children:s.jsxs(d,{form:i,preserve:!1,layout:"vertical",children:[s.jsx(m,{message:s.jsxs(s.Fragment,{children:["âï¸ ç»åè´¦å·é
ç½®èæä½é¢ä¸ä¼ç«å³æ¶è主账å·çä½é¢ï¼éè¿èæä½é¢éå®ç¨æ·å建æ°èµæºã",s.jsx("br",{}),s.jsx("br",{}),"â ï¸ å½åè´¦å·ä½é¢æä¸»è´¦å·ä½é¢ä¸è¶³æ¶ï¼åè´¦å·ä¸è½å建æ°çå®ä¾åäºç£çã"]}),type:"info",showIcon:!0,style:{marginBottom:16}}),s.jsx(d.Item,{label:"åè´¦å·",children:s.jsx("span",{className:"ant-form-text",children:null==t?void 0:t.username})}),s.jsx(d.Item,{label:"èæä½é¢",name:"virtual_balance",rules:[{required:!0,message:"请è¾å
¥èæä½é¢"}],children:s.jsx(h,{style:{width:"100%"},placeholder:"请è¾å
¥èæä½é¢",min:0,precision:2,prefix:"ï¿¥"})})]})})},{Paragraph:H}=v,T=async({current:e,pageSize:s})=>{const a={page:e,page_size:s},l=await F(a);
1return l.result.sub_users.forEach((e=>{e.loading=!1})),{total:l.result.total,list:l.result.sub_users}},D=()=>{const{message:e,modal:r}=o.useApp(),t=x(),[n]=d.useForm(),{tableProps:i,data:c,search:u,mutate:m,refreshAsync:h}=p(T,{defaultPageSize:10,form:n}),{submit:v}=u,{modal:k}=P(q),{modal:y}=P(E),C=[{title:"ç¨æ·å",dataIndex:"username",width:300,render:e=>s.jsx(H,{copyable:!0,className:"mb-0",children:e})},{title:"æµç§°",dataIndex:"nick_name",width:200},{title:"å
±äº«ä¸»è´¦å·ä½é¢",dataIndex:"shared_mode",width:150,render:(e,a)=>s.jsx(g,{checkedChildren:"å
±äº«",unCheckedChildren:"ç¬ç«",checked:1===a.shared_mode,loading:a.loading,onClick:()=>D(a.id,a.shared_mode)})},{title:"åè´¦å·èæä½é¢",dataIndex:"virtual_balance",width:200,render:(e,r)=>0===r.shared_mode?s.jsxs(a,{children:[s.jsxs("span",{children:["ï¿¥",r.virtual_balance]}),s.jsx(l,{type:"link",onClick:()=>(e=>{y({user_id:e.id,virtual_balance:e.virtual_balance,username:e.username}).then((()=>{h()}))})(r),children:"é
ç½®ä½é¢"})]}):"-ï¼å
±äº«ä¸»è´¦å·ä½é¢ï¼"},{title:"累计æ¶è´¹",dataIndex:"total_consumed_amount",width:200,render:e=>`ï¿¥${e}`},{title:"æåç»å½æ¶é´",dataIndex:"last_login_time",width:180,render:(e,s)=>s.last_login_time===s.create_time?"-":w(1e3*s.last_login_time).format("YYYY-MM-DD HH:mm:ss")},{title:"å建æ¶é´",dataIndex:"create_time",width:180,render:e=>w(1e3*e).format("YYYY-MM-DD HH:mm:ss")},{title:"æä½",fixed:"right",width:280,render:({sub_uid:e,username:r,state:t,loading:n})=>s.jsxs(a,{children:[s.jsx(l,{type:"link",onClick:()=>(async e=>{const s=await S({sub_uid:e});if(s){const{result:e}=s;e&&k(e).then((()=>{h()}))}})(e),children:"ç¼è¾"}),s.jsx(l,{type:"link",onClick:()=>F(e,r),children:"éç½®å¯ç "}),s.jsx(l,{type:"link",danger:!0,onClick:()=>Y(e,r),children:"å é¤"}),s.jsx(g,{checkedChildren:"å¯ç¨",onClick:()=>$(e,t),unCheckedChildren:"ç¦ç¨",checked:1===t,loading:n})]})}],F=(e,s)=>{t(`/console/user-manager/sub-user-pwd-reset/${s}?uid=${e}`)},Y=(a,l)=>{r.confirm({icon:s.jsx(f,{}),content:s.jsxs("p",{children:["确认å é¤åç¨æ· ",s.jsx("strong",{className:"text-primary",children:l})," åï¼"]}),onOk:async()=>await I({sub_uid:a})?(e.success({content:"å 餿åï¼"}),v(),Promise.resolve()):Promise.reject(),onCancel(){}})},O=s.jsxs(d,{form:n,className:"flex justify-between",children:[s.jsx(l,{type:"primary",onClick:()=>{k().then((()=>{v()}))},children:"å建åè´¦æ·"}),s.jsx(d.Item,{children:s.jsx(l,{icon:s.jsx(j,{}),onClick:v})})]}),$=async(s,a)=>{var l;let r=1;r=1===a?2:1,null==(l=i.dataSource)||l.forEach((e=>{e.sub_uid===s&&(e.loading=!0)})),m(c);await z({sub_uid:s,enable:r})&&(e.success("ä¿®æ¹æå"),await h())},D=async(s,a)=>{var l;const r=0===a?1:0;null==(l=i.dataSource)||l.forEach((e=>{e.id===s&&(e.loading=!0)})),m(c);await N({user_id:s,shared_mode:r})&&(e.success("ä¿®æ¹æå"),await h())};return s.jsx(_,{type:["right","left"],ease:["easeOutQuart","easeInOutQuart"],className:"flex-fit-content overflow-x-auto md:overflow-x-hidden",children:s.jsxs("div",{className:"bg-white dark:bg-dark-extend-1 px-6 py-4 rounded-lg min-h-full w-[1000px] md:w-auto",children:[s.jsx(A,{content:"ç¨æ·ç®¡ç",border:!0}),O,s.jsx(b,{scroll:{x:900},columns:C,...i,rowKey:"sub_uid",pagination:{total:i.pagination.total,current:i.pagination.current,showQuickJumper:!0,showSizeChanger:!0,showTotal:e=>`å
± ${e} æ¡`}})]},"user-manager")})};export{D as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.