1 line
3.9 KiB
JavaScript
1 line
3.9 KiB
JavaScript
import{D as e,E as t,On as n,_ as r,b as i,ct as a,g as o,gn as s,k as c,mt as l,o as u,qt as d,tr as f,v as p,vn as m,y as h}from"./runtime-core.esm-bundler-DkysjgTd.js";import{t as g}from"./objectSpread2-BmonrgTA.js";import{n as _}from"./objectWithoutProperties-BjoYlK0I.js";import{t as v}from"./use-access-CQdD7p8C.js";import{t as y}from"./table--97p0aBW.js";import{n as b,t as x}from"./form-CZK1ilUa.js";import{t as S}from"./select-DyNDAEL2.js";import{A as C,M as w,_ as T,n as E,v as D}from"./console-BEstjdZV.js";import{a as O}from"./config-provider-D1kcLCP5.js";import{t as k}from"./button-B2y2NpJm.js";import{t as A}from"./tag-BFecLZmQ.js";import{t as j}from"./input-DgEff0DC.js";import{t as M}from"./modal-Ju-U4s3Q.js";import{t as N}from"./switch-CtSw_Hgg.js";var P={class:`p-5`},F={class:`ml-2 text-xs`},I=c({__name:`users`,setup(c){let{hasAccessByCodes:I}=v(),L=o(()=>I([`user:write`])),R=m(!1),z=m([]),B=m([]),V=m(!1),H=s({username:``,password:``,role:`viewer`}),U=o(()=>B.value.map(e=>({value:e.code,label:`${e.name}(${e.code})`})));function W(){return G.apply(this,arguments)}function G(){return G=_(function*(){R.value=!0;try{z.value=(yield D()).users,B.value=(yield T()).roles}finally{R.value=!1}}),G.apply(this,arguments)}function K(){Object.assign(H,{username:``,password:``,role:`viewer`}),V.value=!0}function q(){return J.apply(this,arguments)}function J(){return J=_(function*(){if(!H.username||!H.password){O.warning(`用户名和密码不能为空`);return}z.value=(yield E(g({},H))).users,V.value=!1,O.success(`已创建,该用户首次登录必须先改密码`)}),J.apply(this,arguments)}function Y(e,t){return X.apply(this,arguments)}function X(){return X=_(function*(e,t){z.value=(yield C(e.id,{role:t,active:e.active})).users,O.success(`角色已更新,立即生效`)}),X.apply(this,arguments)}function Z(e,t){return Q.apply(this,arguments)}function Q(){return Q=_(function*(e,t){z.value=(yield C(e.id,{role:e.role,active:t})).users,O.success(t?`已启用`:`已停用`)}),Q.apply(this,arguments)}let $=[{title:`用户名`,dataIndex:`username`,key:`username`},{title:`角色`,dataIndex:`role`,key:`role`,width:220},{title:`状态`,dataIndex:`active`,key:`active`,width:120},{title:`创建时间`,dataIndex:`created_at`,key:`created_at`,width:180}];return a(W),(a,o)=>(l(),i(`div`,P,[e(n(w),{title:`用户管理`},{extra:d(()=>[L.value?(l(),p(n(k),{key:0,type:`primary`,onClick:K},{default:d(()=>[...o[4]||(o[4]=[t(`新增用户`,-1)])]),_:1})):h(``,!0)]),default:d(()=>[e(n(y),{columns:$,"data-source":z.value,loading:R.value,"row-key":`id`,size:`small`,pagination:!1},{bodyCell:d(({column:a,record:s})=>[a.key===`username`?(l(),i(u,{key:0},[t(f(s.username)+` `,1),s.must_change_password?(l(),p(n(A),{key:0,color:`orange`,class:`ml-2`},{default:d(()=>[...o[5]||(o[5]=[t(` 待改密 `,-1)])]),_:1})):h(``,!0)],64)):a.key===`role`?(l(),p(n(S),{key:1,value:s.role,options:U.value,disabled:!L.value,size:`small`,class:`w-full`,onChange:e=>Y(s,String(e))},null,8,[`value`,`options`,`disabled`,`onChange`])):a.key===`active`?(l(),i(u,{key:2},[e(n(N),{checked:s.active,disabled:!L.value,size:`small`,onChange:e=>Z(s,!!e)},null,8,[`checked`,`disabled`,`onChange`]),r(`span`,F,f(s.active?`已启用`:`已停用`),1)],64)):h(``,!0)]),_:1},8,[`data-source`,`loading`])]),_:1}),e(n(M),{open:V.value,"onUpdate:open":o[3]||(o[3]=e=>V.value=e),title:`新增用户`,onOk:q},{default:d(()=>[e(n(x),{model:H,layout:`vertical`,class:`pt-2`},{default:d(()=>[e(n(b),{label:`用户名`},{default:d(()=>[e(n(j),{value:H.username,"onUpdate:value":o[0]||(o[0]=e=>H.username=e)},null,8,[`value`])]),_:1}),e(n(b),{label:`初始密码(至少 10 位,需同时含字母和数字)`},{default:d(()=>[e(n(j).Password,{value:H.password,"onUpdate:value":o[1]||(o[1]=e=>H.password=e)},null,8,[`value`])]),_:1}),e(n(b),{label:`角色`},{default:d(()=>[e(n(S),{value:H.role,"onUpdate:value":o[2]||(o[2]=e=>H.role=e),options:U.value},null,8,[`value`,`options`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`open`])]))}});export{I as default}; |