You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1 line
6.0 KiB
1 line
6.0 KiB
import{C as e,Ct as t,D as n,E as r,G as i,S as a,T as o,X as s,Xt as c,Y as l,at as u,b as d,d as f,ht as p,m,ot as h,q as g,tn as _,x as v}from"./vue.runtime.esm-bundler-DUiYyeqQ.js";import{c as y,l as b}from"./index-DPkd2m0V.js";import{t as x}from"./usePageLoad-DFTLo_Lv.js";import{r as S}from"./admin-list-CBoToEFo.js";import{a as C,i as w,n as T,r as E,t as D}from"./users-DvEJYmzs.js";import{i as O}from"./roles-DTsz1LFJ.js";var k={class:`list-page`},A={class:`page-header`},j={class:`list-filter-bar`},M={class:`table-row-actions`},N={class:`list-pager`},P=n({__name:`index`,setup(n){let P=p(!1),F=p([]),I=p({current_page:1,per_page:20,total:0}),L=p(``),R=p(1),z=p([]),B=p(!1),V=p(null),H=p({username:``,password:``,real_name:``,mobile:``,email:``,status:1,role_ids:[]});async function U(){P.value=!0;try{let e=await E({page:R.value,page_size:I.value.per_page,keyword:L.value||void 0});F.value=e.items,I.value=e.meta}finally{P.value=!1}}async function W(){z.value=(await O({page:1,page_size:200,status:1})).items.map(e=>({id:e.id,name:e.name}))}function G(){V.value=null,H.value={username:``,password:``,real_name:``,mobile:``,email:``,status:1,role_ids:[]},B.value=!0}function K(e){V.value=e,H.value={username:e.username,password:``,real_name:e.real_name||``,mobile:e.mobile||``,email:e.email||``,status:e.status,role_ids:e.roles?.map(e=>e.id)||[]},B.value=!0}async function q(){if(!V.value&&!H.value.password){b.warning(`请设置初始密码`);return}V.value?(await C(V.value.id,{real_name:H.value.real_name||null,mobile:H.value.mobile||null,email:H.value.email||null,status:H.value.status,role_ids:H.value.role_ids}),H.value.password&&await w(V.value.id,H.value.password)):await D({username:H.value.username,password:H.value.password,real_name:H.value.real_name||null,mobile:H.value.mobile||null,email:H.value.email||null,status:H.value.status,role_ids:H.value.role_ids}),b.success(`已保存`),B.value=!1,await U()}async function J(e){await y.confirm(`确定删除管理员「${e.username}」?`,`提示`,{type:`warning`}),await T(e.id),b.success(`已删除`),await U()}function Y(){R.value=1,U()}function X(){L.value=``,R.value=1,U()}return x(async()=>{await W(),await U()}),(n,p)=>{let y=l(`el-button`),b=l(`el-input`),x=l(`el-table-column`),C=l(`el-tag`),w=l(`el-table`),T=l(`el-pagination`),E=l(`el-card`),D=l(`el-form-item`),O=l(`el-switch`),W=l(`el-option`),Z=l(`el-select`),Q=l(`el-form`),$=l(`el-dialog`),ee=s(`loading`);return i(),e(m,null,[d(`div`,k,[d(`div`,A,[p[12]||=d(`h1`,{class:`page-title`},`管理员`,-1),r(y,{type:`primary`,size:`small`,class:`btn-create`,onClick:G},{default:u(()=>[...p[11]||=[o(`新增管理员`,-1)]]),_:1})]),r(E,{shadow:`never`,class:`admin-list-card`},{default:u(()=>[d(`div`,j,[r(b,{modelValue:L.value,"onUpdate:modelValue":p[0]||=e=>L.value=e,placeholder:`账号/姓名/手机`,clearable:``,class:`filter-search`,onKeyup:f(Y,[`enter`])},null,8,[`modelValue`]),r(y,{type:`primary`,onClick:Y},{default:u(()=>[...p[13]||=[o(`搜索`,-1)]]),_:1}),r(y,{onClick:X},{default:u(()=>[...p[14]||=[o(`重置`,-1)]]),_:1})]),h((i(),v(w,{data:F.value,"row-key":`id`},{default:u(()=>[r(x,{prop:`username`,label:`账号`,width:`140`}),r(x,{prop:`real_name`,label:`姓名`,width:`120`}),r(x,{prop:`mobile`,label:`手机`,width:`130`}),r(x,{label:`状态`,width:`90`,align:`center`},{default:u(({row:e})=>[d(`span`,{class:c([`status-badge`,t(S)(e.status)])},_(e.status===1?`启用`:`停用`),3)]),_:1}),r(x,{prop:`last_login_at`,label:`最近登录`,"min-width":`180`}),r(x,{label:`角色`,"min-width":`160`},{default:u(({row:t})=>[(i(!0),e(m,null,g(t.roles,e=>(i(),v(C,{key:e.id,size:`small`,style:{"margin-right":`4px`}},{default:u(()=>[o(_(e.name),1)]),_:2},1024))),128))]),_:1}),r(x,{label:`操作`,width:`160`,fixed:`right`},{default:u(({row:e})=>[d(`div`,M,[r(y,{class:`btn-action-secondary`,onClick:t=>K(e)},{default:u(()=>[...p[15]||=[o(`编辑`,-1)]]),_:1},8,[`onClick`]),r(y,{class:`btn-action-secondary`,onClick:t=>J(e)},{default:u(()=>[...p[16]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])])]),_:1})]),_:1},8,[`data`])),[[ee,P.value]]),d(`div`,N,[r(T,{"current-page":R.value,"onUpdate:currentPage":p[1]||=e=>R.value=e,layout:`total, prev, pager, next`,total:I.value.total,"page-size":I.value.per_page,onCurrentChange:U},null,8,[`current-page`,`total`,`page-size`])])]),_:1})]),r($,{modelValue:B.value,"onUpdate:modelValue":p[10]||=e=>B.value=e,title:V.value?`编辑管理员`:`新增管理员`,width:`520px`},{footer:u(()=>[r(y,{onClick:p[9]||=e=>B.value=!1},{default:u(()=>[...p[17]||=[o(`取消`,-1)]]),_:1}),r(y,{type:`primary`,onClick:q},{default:u(()=>[...p[18]||=[o(`保存`,-1)]]),_:1})]),default:u(()=>[r(Q,{"label-width":`88px`},{default:u(()=>[V.value?a(``,!0):(i(),v(D,{key:0,label:`账号`},{default:u(()=>[r(b,{modelValue:H.value.username,"onUpdate:modelValue":p[2]||=e=>H.value.username=e},null,8,[`modelValue`])]),_:1})),r(D,{label:V.value?`重置密码`:`初始密码`},{default:u(()=>[r(b,{modelValue:H.value.password,"onUpdate:modelValue":p[3]||=e=>H.value.password=e,type:`password`,"show-password":``,placeholder:`可留空`},null,8,[`modelValue`])]),_:1},8,[`label`]),r(D,{label:`姓名`},{default:u(()=>[r(b,{modelValue:H.value.real_name,"onUpdate:modelValue":p[4]||=e=>H.value.real_name=e},null,8,[`modelValue`])]),_:1}),r(D,{label:`手机`},{default:u(()=>[r(b,{modelValue:H.value.mobile,"onUpdate:modelValue":p[5]||=e=>H.value.mobile=e},null,8,[`modelValue`])]),_:1}),r(D,{label:`邮箱`},{default:u(()=>[r(b,{modelValue:H.value.email,"onUpdate:modelValue":p[6]||=e=>H.value.email=e},null,8,[`modelValue`])]),_:1}),r(D,{label:`状态`},{default:u(()=>[r(O,{modelValue:H.value.status,"onUpdate:modelValue":p[7]||=e=>H.value.status=e,"active-value":1,"inactive-value":0},null,8,[`modelValue`])]),_:1}),r(D,{label:`角色`},{default:u(()=>[r(Z,{modelValue:H.value.role_ids,"onUpdate:modelValue":p[8]||=e=>H.value.role_ids=e,multiple:``,filterable:``,style:{width:`100%`}},{default:u(()=>[(i(!0),e(m,null,g(z.value,e=>(i(),v(W,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1})]),_:1})]),_:1},8,[`modelValue`,`title`])],64)}}});export{P as default}; |