2 lines
6.6 KiB
JavaScript
2 lines
6.6 KiB
JavaScript
var e=(e,a,l)=>new Promise((s,t)=>{var o=e=>{try{d(l.next(e))}catch(a){t(a)}},c=e=>{try{d(l.throw(e))}catch(a){t(a)}},d=e=>e.done?s(e.value):Promise.resolve(e.value).then(o,c);d((l=l.apply(e,a)).next())});import{h as a,x as l,g as s,v as t,c as o,s as c,a as d,N as u,k as n,u as r,f as i,l as f,e as m,I as _,d as p,F as h,z as v,L as y,p as b,b as k,O as x,H as C,J as g,w as U}from"./index-B_EPACa7.js";import{u as V}from"./index.D3evg1MK.js";import{_ as w}from"./_plugin-vue_export-helper.BCo6x5W8.js";const F=a("user",()=>{const a=l([]),s=l(!1),t=()=>e(void 0,null,function*(){s.value=!0;try{const e=yield V.getUsers();a.value=e}catch(e){console.error("Failed to load users:",e)}s.value=!1});return{users:a,isLoading:s,loadUsers:t,addUser:a=>e(void 0,null,function*(){try{yield V.addUser(a),yield t()}catch(e){console.error("Failed to add user:",e)}}),updateUser:a=>e(void 0,null,function*(){try{yield V.updateUser(a),yield t()}catch(e){console.error("Failed to update user:",e)}}),deleteUser:a=>e(void 0,null,function*(){try{yield V.deleteUser(a),yield t()}catch(e){console.error("Failed to delete user:",e)}}),getUserById:e=>a.value.find(a=>a.id===e)}}),L=w(s({__name:"list",setup(a){const s=F(),V=l(""),w=l(!1),L=l(null),j=t({name:"",phone:"",role:"collector"}),I=o(()=>{let e=s.users;if(V.value){const a=V.value.toLowerCase();e=e.filter(e=>e.name.toLowerCase().includes(a)||e.phone.includes(a))}return e}),P=()=>{w.value=!1,L.value=null,j.name="",j.phone="",j.role="collector"},z=()=>e(this,null,function*(){j.name?j.phone&&11===j.phone.length?(L.value?(yield s.updateUser({id:L.value.id,name:j.name,phone:j.phone,role:j.role}),g({title:"修改成功",icon:"success"})):(yield s.addUser({name:j.name,phone:j.phone,role:j.role}),g({title:"新增成功",icon:"success"})),P()):g({title:"请输入正确的手机号",icon:"none"}):g({title:"请输入用户名",icon:"none"})}),A=()=>{U({url:"/pages/admin/index"})},B=()=>{U({url:"/pages/admin/order/list"})},H=()=>{U({url:"/pages/admin/price/list"})};return c(()=>{s.loadUsers()}),(e,a)=>{const l=f,t=n,o=_;return r(),d(t,{class:"admin-container"},{default:u(()=>[i(t,{class:"admin-header"},{default:u(()=>[i(t,{class:"header-left"},{default:u(()=>[i(l,{class:"header-title"},{default:u(()=>[m("用户管理")]),_:1}),i(l,{class:"header-subtitle"},{default:u(()=>[m("系统用户列表")]),_:1})]),_:1}),i(t,{class:"header-right",onClick:a[0]||(a[0]=e=>w.value=!0)},{default:u(()=>[i(l,{class:"add-icon"},{default:u(()=>[m("+")]),_:1}),i(l,{class:"add-text"},{default:u(()=>[m("新增")]),_:1})]),_:1})]),_:1}),i(t,{class:"search-bar"},{default:u(()=>[i(t,{class:"search-input-wrap"},{default:u(()=>[i(l,{class:"search-icon"},{default:u(()=>[m("🔍")]),_:1}),i(o,{type:"text",modelValue:V.value,"onUpdate:modelValue":a[1]||(a[1]=e=>V.value=e),class:"search-input",placeholder:"搜索用户名或手机号"},null,8,["modelValue"])]),_:1})]),_:1}),i(t,{class:"user-list"},{default:u(()=>[(r(!0),p(h,null,v(I.value,e=>(r(),d(t,{key:e.id,class:"user-card"},{default:u(()=>[i(t,{class:"user-avatar"},{default:u(()=>[i(l,{class:"avatar-icon"},{default:u(()=>[m(y(e.name.charAt(0)),1)]),_:2},1024)]),_:2},1024),i(t,{class:"user-info"},{default:u(()=>[i(t,{class:"user-name"},{default:u(()=>[m(y(e.name),1)]),_:2},1024),i(t,{class:"user-phone"},{default:u(()=>[m(y(e.phone),1)]),_:2},1024)]),_:2},1024),i(t,{class:"user-role"},{default:u(()=>[i(l,{class:b(["role-tag",e.role])},{default:u(()=>[m(y("admin"===e.role?"管理员":"回收员"),1)]),_:2},1032,["class"])]),_:2},1024),i(t,{class:"user-actions"},{default:u(()=>[i(t,{class:"action-btn edit",onClick:a=>(e=>{L.value=e,j.name=e.name,j.phone=e.phone,j.role=e.role,w.value=!0})(e)},{default:u(()=>[m("✏️")]),_:2},1032,["onClick"]),i(t,{class:"action-btn delete",onClick:a=>{return l=e.id,void C({title:"确认删除",content:"确定要删除此用户吗?",success:e=>{e.confirm&&(s.deleteUser(l),g({title:"删除成功",icon:"success"}))}});var l}},{default:u(()=>[m("🗑️")]),_:2},1032,["onClick"])]),_:2},1024)]),_:2},1024))),128))]),_:1}),0===I.value.length?(r(),d(t,{key:0,class:"empty-state"},{default:u(()=>[i(l,{class:"empty-icon"},{default:u(()=>[m("👥")]),_:1}),i(l,{class:"empty-text"},{default:u(()=>[m("暂无用户")]),_:1})]),_:1})):k("",!0),i(t,{class:"tab-bar"},{default:u(()=>[i(t,{class:"tab-item",onClick:A},{default:u(()=>[i(l,{class:"tab-icon"},{default:u(()=>[m("🏠")]),_:1}),i(l,{class:"tab-text"},{default:u(()=>[m("首页")]),_:1})]),_:1}),i(t,{class:"tab-item",onClick:B},{default:u(()=>[i(l,{class:"tab-icon"},{default:u(()=>[m("📋")]),_:1}),i(l,{class:"tab-text"},{default:u(()=>[m("订单")]),_:1})]),_:1}),i(t,{class:"tab-item",onClick:H},{default:u(()=>[i(l,{class:"tab-icon"},{default:u(()=>[m("💰")]),_:1}),i(l,{class:"tab-text"},{default:u(()=>[m("价格")]),_:1})]),_:1}),i(t,{class:"tab-item active"},{default:u(()=>[i(l,{class:"tab-icon"},{default:u(()=>[m("👥")]),_:1}),i(l,{class:"tab-text"},{default:u(()=>[m("用户")]),_:1})]),_:1})]),_:1}),w.value?(r(),d(t,{key:1,class:"modal-overlay",onClick:P},{default:u(()=>[i(t,{class:"modal-box",onClick:a[6]||(a[6]=x(()=>{},["stop"]))},{default:u(()=>[i(t,{class:"modal-header"},{default:u(()=>[i(l,{class:"modal-title"},{default:u(()=>[m(y(L.value?"编辑用户":"新增用户"),1)]),_:1}),i(t,{class:"modal-close",onClick:P},{default:u(()=>[m("×")]),_:1})]),_:1}),i(t,{class:"modal-body"},{default:u(()=>[i(t,{class:"form-group"},{default:u(()=>[i(l,{class:"form-label"},{default:u(()=>[m("用户名")]),_:1}),i(o,{type:"text",modelValue:j.name,"onUpdate:modelValue":a[2]||(a[2]=e=>j.name=e),class:"form-input",placeholder:"请输入用户名"},null,8,["modelValue"])]),_:1}),i(t,{class:"form-group"},{default:u(()=>[i(l,{class:"form-label"},{default:u(()=>[m("手机号")]),_:1}),i(o,{type:"number",modelValue:j.phone,"onUpdate:modelValue":a[3]||(a[3]=e=>j.phone=e),class:"form-input",placeholder:"请输入手机号"},null,8,["modelValue"])]),_:1}),i(t,{class:"form-group"},{default:u(()=>[i(l,{class:"form-label"},{default:u(()=>[m("角色")]),_:1}),i(t,{class:"role-options"},{default:u(()=>[i(t,{class:b(["role-option",{active:"admin"===j.role}]),onClick:a[4]||(a[4]=e=>j.role="admin")},{default:u(()=>[m("管理员")]),_:1},8,["class"]),i(t,{class:b(["role-option",{active:"collector"===j.role}]),onClick:a[5]||(a[5]=e=>j.role="collector")},{default:u(()=>[m("回收员")]),_:1},8,["class"])]),_:1})]),_:1})]),_:1}),i(t,{class:"modal-footer"},{default:u(()=>[i(t,{class:"modal-btn cancel",onClick:P},{default:u(()=>[m("取消")]),_:1}),i(t,{class:"modal-btn confirm",onClick:z},{default:u(()=>[m("保存")]),_:1})]),_:1})]),_:1})]),_:1})):k("",!0)]),_:1})}}}),[["__scopeId","data-v-6d94a812"]]);export{L as default};
|