1 line
8.6 KiB
JavaScript
Executable File
1 line
8.6 KiB
JavaScript
Executable File
import{F as e,L as t,V as n,t as r}from"./dist-CxIYsDur.js";import{F as ee,Gt as i,H as a,R as o,U as s,b as c,ct as l,d as u,et as d,f as te,m as f,t as p,tt as m,ut as h,v as g,vt as _,y as v}from"./_plugin-vue_export-helper-BmDUjPB3.js";import{n as y,r as b}from"./index-BdquF2dM.js";import"./request-D2yY8ZUb.js";import{g as x,i as S,p as C,s as w,t as T,v as E}from"./superAdmin-DRegPzth.js";var D={class:`admin-container`},O={class:`card-header`},k={class:`pagination-wrapper`},A=p(c({__name:`Admin`,setup(c){let p=h(!1),A=h(!1),j=h(!1),M=h(!1),N=h(!1),P=h(),F=h(),I=h(null),L=l({keyword:``,status:``}),R=l({page:1,limit:15,total:0}),z=h([]),B=l({name:``,email:``,phone:``,password:``,roles:[]}),V={name:[{required:!0,message:`请输入姓名`,trigger:`blur`}],email:[{required:!0,message:`请输入邮箱`,trigger:`blur`},{type:`email`,message:`邮箱格式不正确`,trigger:`blur`}],password:[{required:!0,message:`请输入密码`,trigger:`blur`},{min:6,message:`密码长度至少6位`,trigger:`blur`}]},H=l({password:``,password_confirmation:``}),U={password:[{required:!0,message:`请输入新密码`,trigger:`blur`},{min:6,message:`密码长度至少6位`,trigger:`blur`}],password_confirmation:[{required:!0,message:`请再次输入新密码`,trigger:`blur`},{validator:(e,t,n)=>{t===H.password?n():n(Error(`两次输入的密码不一致`))},trigger:`blur`}]};async function W(){p.value=!0;try{let e=await w({page:R.page,limit:R.limit,...L});e.code===200&&(z.value=e.data.list,R.total=e.data.total)}catch(e){console.error(`获取管理员列表失败`,e)}finally{p.value=!1}}function G(){R.page=1,W()}function K(){L.keyword=``,L.status=``,G()}function q(){R.page=1,W()}function J(){W()}function Y(){N.value=!1,Q.value=`新建管理员`,Z(),j.value=!0}function X(e){N.value=!0,Q.value=`编辑管理员`,Object.assign(B,{name:e.name,email:e.email,phone:e.phone,password:``,roles:e.roles?.map(e=>e.id)||[]}),I.value=e,j.value=!0}function ne(e){I.value=e,H.password=``,H.password_confirmation=``,M.value=!0}async function re(){P.value&&await P.value.validate(async e=>{if(e){A.value=!0;try{let e=await(N.value?E:T)(...N.value?[I.value.id,B]:[B]);e.code===200?(b.success(N.value?`更新成功`:`创建成功`),j.value=!1,W()):b.error(e.message)}catch(e){b.error(e.message||`操作失败`)}finally{A.value=!1}}})}async function ie(){F.value&&await F.value.validate(async e=>{if(e){A.value=!0;try{let e=await C(I.value.id,H.password);e.code===200?(b.success(`密码重置成功`),M.value=!1):b.error(e.message)}catch(e){b.error(e.message||`操作失败`)}finally{A.value=!1}}})}function ae(){P.value?.resetFields(),Z()}function Z(){Object.assign(B,{name:``,email:``,phone:``,password:``,roles:[]})}async function oe(e,t){switch(I.value=t,e){case`toggle`:try{let e=await x(t.id);e.code===200&&(b.success(e.message),W())}catch{b.error(`操作失败`)}break;case`delete`:try{await y.confirm(`确定要删除该管理员吗?此操作不可恢复!`,`警告`,{type:`error`});let e=await S(t.id);e.code===200?(b.success(`删除成功`),W()):b.error(e.message)}catch(e){e!==`cancel`&&b.error(`删除失败`)}break}}let Q=h(`新建管理员`);return ee(()=>{W()}),(ee,c)=>{let l=a(`el-input`),h=a(`el-form-item`),y=a(`el-option`),b=a(`el-select`),x=a(`el-icon`),S=a(`el-button`),C=a(`el-form`),w=a(`el-card`),T=a(`el-table-column`),E=a(`el-tag`),I=a(`el-dropdown-item`),W=a(`el-dropdown-menu`),Z=a(`el-dropdown`),se=a(`el-table`),ce=a(`el-pagination`),$=a(`el-dialog`),le=s(`loading`);return o(),f(`div`,D,[v(w,{class:`search-card`},{default:d(()=>[v(C,{inline:!0,model:L},{default:d(()=>[v(h,{label:`关键词`},{default:d(()=>[v(l,{modelValue:L.keyword,"onUpdate:modelValue":c[0]||=e=>L.keyword=e,placeholder:`姓名/邮箱`,clearable:``},null,8,[`modelValue`])]),_:1}),v(h,{label:`状态`},{default:d(()=>[v(b,{modelValue:L.status,"onUpdate:modelValue":c[1]||=e=>L.status=e,placeholder:`全部`,clearable:``},{default:d(()=>[v(y,{label:`正常`,value:`active`}),v(y,{label:`禁用`,value:`inactive`})]),_:1},8,[`modelValue`])]),_:1}),v(h,null,{default:d(()=>[v(S,{type:`primary`,onClick:G},{default:d(()=>[v(x,null,{default:d(()=>[v(_(n))]),_:1}),c[14]||=g(` 搜索 `,-1)]),_:1}),v(S,{onClick:K},{default:d(()=>[v(x,null,{default:d(()=>[v(_(t))]),_:1}),c[15]||=g(` 重置 `,-1)]),_:1})]),_:1})]),_:1},8,[`model`])]),_:1}),v(w,{class:`table-card`},{header:d(()=>[u(`div`,O,[c[17]||=u(`span`,null,`管理员列表`,-1),v(S,{type:`primary`,onClick:Y},{default:d(()=>[v(x,null,{default:d(()=>[v(_(e))]),_:1}),c[16]||=g(` 新建管理员 `,-1)]),_:1})])]),default:d(()=>[m((o(),te(se,{data:z.value,stripe:``},{default:d(()=>[v(T,{prop:`id`,label:`ID`,width:`80`}),v(T,{prop:`name`,label:`姓名`,"min-width":`120`}),v(T,{prop:`email`,label:`邮箱`,"min-width":`180`}),v(T,{prop:`phone`,label:`手机`,width:`130`}),v(T,{prop:`status`,label:`状态`,width:`100`},{default:d(({row:e})=>[v(E,{type:e.status===1?`success`:`info`},{default:d(()=>[g(i(e.status_label),1)]),_:2},1032,[`type`])]),_:1}),v(T,{prop:`last_login_at`,label:`最后登录`,width:`160`},{default:d(({row:e})=>[g(i(e.last_login_at||`-`),1)]),_:1}),v(T,{prop:`last_login_ip`,label:`登录IP`,width:`130`},{default:d(({row:e})=>[g(i(e.last_login_ip||`-`),1)]),_:1}),v(T,{prop:`created_at`,label:`创建时间`,width:`160`}),v(T,{label:`操作`,width:`200`,fixed:`right`},{default:d(({row:e})=>[v(S,{type:`primary`,link:``,size:`small`,onClick:t=>X(e)},{default:d(()=>[...c[18]||=[g(`编辑`,-1)]]),_:1},8,[`onClick`]),v(S,{type:`primary`,link:``,size:`small`,onClick:t=>ne(e)},{default:d(()=>[...c[19]||=[g(`重置密码`,-1)]]),_:1},8,[`onClick`]),v(Z,{onCommand:t=>oe(t,e)},{dropdown:d(()=>[v(W,null,{default:d(()=>[v(I,{command:`toggle`},{default:d(()=>[g(i(e.status===1?`禁用`:`启用`),1)]),_:2},1024),v(I,{command:`delete`,divided:``,style:{color:`#F56C6C`}},{default:d(()=>[...c[21]||=[g(` 删除 `,-1)]]),_:1})]),_:2},1024)]),default:d(()=>[v(S,{type:`primary`,link:``,size:`small`},{default:d(()=>[c[20]||=g(` 更多`,-1),v(x,{class:`el-icon--right`},{default:d(()=>[v(_(r))]),_:1})]),_:1})]),_:2},1032,[`onCommand`])]),_:1})]),_:1},8,[`data`])),[[le,p.value]]),u(`div`,k,[v(ce,{"current-page":R.page,"onUpdate:currentPage":c[2]||=e=>R.page=e,"page-size":R.limit,"onUpdate:pageSize":c[3]||=e=>R.limit=e,total:R.total,"page-sizes":[10,20,50],layout:`total, sizes, prev, pager, next`,onSizeChange:q,onCurrentChange:J},null,8,[`current-page`,`page-size`,`total`])])]),_:1}),v($,{modelValue:j.value,"onUpdate:modelValue":c[9]||=e=>j.value=e,title:Q.value,width:`500px`,onClose:ae},{footer:d(()=>[v(S,{onClick:c[8]||=e=>j.value=!1},{default:d(()=>[...c[22]||=[g(`取消`,-1)]]),_:1}),v(S,{type:`primary`,onClick:re,loading:A.value},{default:d(()=>[...c[23]||=[g(` 确定 `,-1)]]),_:1},8,[`loading`])]),default:d(()=>[v(C,{ref_key:`formRef`,ref:P,model:B,rules:V,"label-width":`100px`},{default:d(()=>[v(h,{label:`姓名`,prop:`name`},{default:d(()=>[v(l,{modelValue:B.name,"onUpdate:modelValue":c[4]||=e=>B.name=e,placeholder:`请输入姓名`},null,8,[`modelValue`])]),_:1}),v(h,{label:`邮箱`,prop:`email`},{default:d(()=>[v(l,{modelValue:B.email,"onUpdate:modelValue":c[5]||=e=>B.email=e,placeholder:`登录邮箱`,disabled:N.value},null,8,[`modelValue`,`disabled`])]),_:1}),v(h,{label:`手机`,prop:`phone`},{default:d(()=>[v(l,{modelValue:B.phone,"onUpdate:modelValue":c[6]||=e=>B.phone=e,placeholder:`选填`},null,8,[`modelValue`])]),_:1}),v(h,{label:N.value?`新密码`:`密码`,prop:N.value?``:`password`},{default:d(()=>[v(l,{modelValue:B.password,"onUpdate:modelValue":c[7]||=e=>B.password=e,type:`password`,"show-password":``,placeholder:N.value?`留空则不修改密码`:`请输入密码`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`,`prop`])]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`]),v($,{modelValue:M.value,"onUpdate:modelValue":c[13]||=e=>M.value=e,title:`重置密码`,width:`400px`},{footer:d(()=>[v(S,{onClick:c[12]||=e=>M.value=!1},{default:d(()=>[...c[24]||=[g(`取消`,-1)]]),_:1}),v(S,{type:`primary`,onClick:ie,loading:A.value},{default:d(()=>[...c[25]||=[g(` 确定 `,-1)]]),_:1},8,[`loading`])]),default:d(()=>[v(C,{ref_key:`resetPwdFormRef`,ref:F,model:H,rules:U,"label-width":`100px`},{default:d(()=>[v(h,{label:`新密码`,prop:`password`},{default:d(()=>[v(l,{modelValue:H.password,"onUpdate:modelValue":c[10]||=e=>H.password=e,type:`password`,"show-password":``,placeholder:`请输入新密码`},null,8,[`modelValue`])]),_:1}),v(h,{label:`确认密码`,prop:`password_confirmation`},{default:d(()=>[v(l,{modelValue:H.password_confirmation,"onUpdate:modelValue":c[11]||=e=>H.password_confirmation=e,type:`password`,"show-password":``,placeholder:`请再次输入新密码`},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`])])}}}),[[`__scopeId`,`data-v-b97571e9`]]);export{A as default}; |