Files
ai_dianshang/admin/dist/assets/index-60dd7d88.js

2 lines
21 KiB
JavaScript
Raw Normal View History

2025-11-17 13:32:54 +08:00
import{H as O,r as $,j as ee,b as te,k as re,c as s,o as S,l as Q,w as t,e as i,f as e,h as d,t as g,L as H,I as de,d as N,J as K,u as Se,z as $e,g as Ue,M as Me,E as J,n as oe}from"./index-fa7a0ed8.js";import{_ as ae}from"./_plugin-vue_export-helper-c27b6911.js";const Pe=r=>O({url:"/admin/api/v1/users",method:"get",params:r}),Be=r=>O({url:"/admin/api/v1/users",method:"post",data:r}),Fe=(r,P)=>O({url:`/admin/api/v1/users/${r}`,method:"put",data:P}),ie=r=>O({url:"/admin/api/v1/users/batch",method:"delete",data:{ids:r}}),Re=(r,P)=>O({url:`/admin/api/v1/users/${r}/status`,method:"put",data:{status:P}}),Ae=r=>O({url:`/admin/api/v1/users/${r}/order-stats`,method:"get"}),Le=(r,P)=>O({url:`/admin/api/v1/users/${r}/login-logs`,method:"get",params:P});const Ne={class:"dialog-footer"},Ye={__name:"UserForm",props:{visible:{type:Boolean,default:!1},userData:{type:Object,default:null}},emits:["update:visible","success"],setup(r,{emit:P}){const D=r,F=P,B=$(),z=$(!1),h=ee({get:()=>D.visible,set:m=>F("update:visible",m)}),v=ee(()=>{var m;return!!((m=D.userData)!=null&&m.id)}),n=te({nickname:"",phone:"",gender:"unknown",points:0,status:"active",password:"",remark:""}),b={nickname:[{required:!0,message:"请输入用户名",trigger:"blur"},{min:2,max:20,message:"用户名长度在 2 到 20 个字符",trigger:"blur"}],phone:[{required:!0,message:"请输入手机号",trigger:"blur"},{pattern:/^1[3-9]\d{9}$/,message:"请输入正确的手机号",trigger:"blur"}],points:[{required:!0,message:"请输入用户积分",trigger:"blur"},{type:"number",min:0,max:999999,message:"积分范围为0-999999",trigger:"blur"}],status:[{required:!0,message:"请选择状态",trigger:"change"}],password:[{required:!0,message:"请输入密码",trigger:"blur"},{min:6,max:20,message:"密码长度在 6 到 20 个字符",trigger:"blur"}]};re(()=>D.userData,m=>{m?Object.assign(n,{nickname:m.nickname||"",phone:m.phone||"",gender:m.gender||"unknown",points:m.points||0,status:m.status!==void 0?m.status:"active",password:"",remark:m.remark||""}):Object.assign(n,{nickname:"",phone:"",gender:"unknown",points:0,status:"active",password:"",remark:""})},{immediate:!0});const T=async()=>{if(B.value)try{await B.value.validate(),z.value=!0;const m={...n};v.value&&delete m.password,v.value?await Fe(D.userData.id,m):await Be(m),F("success"),k()}catch(m){console.error("提交失败:",m)}finally{z.value=!1}},k=()=>{var m;(m=B.value)==null||m.resetFields(),F("update:visible",!1)};return(m,c)=>{const Y=s("el-input"),U=s("el-form-item"),A=s("el-col"),E=s("el-row"),p=s("el-radio"),l=s("el-radio-group"),R=s("el-input-number"),M=s("el-form"),w=s("el-button"),y=s("el-dialog");return S(),Q(y,{modelValue:h.value,"onUpdate:modelValue":c[7]||(c[7]=f=>h.value=f),title:v.value?"编辑用户":"新增用户",width:"600px",onClose:k},{footer:t(()=>[i("div",Ne,[e(w,{onClick:k},{default:t(()=>[...c[13]||(c[13]=[d("取消",-1)])]),_:1}),e(w,{type:"primary",loading:z.value,onClick:T},{default:t(()=>[d(g(z.value?"提交中...":"确定"),1)]),_:1},8,["loading"])])]),default:t(()=>[e(M,{ref_key:"formRef",ref:B,model:n,rules:b,"label-width":"100px"},{default:t(()=>[e(E,{gutter:20},{default:t(()=>[e(A,{span:12},{default:t(()=>[e(U,{label:"用户名",prop:"nickname"},{default:t(()=>[e(Y,{modelValue:n.nickname,"onUpdate:modelValue":c[0]||(c[0]=f=>n.nickname=f),placeholder:"请输入用户名"},null,8,["modelValue"])]),_:1})]),_:1}),e(A,{span:12},{default:t(()=>[e(U,{label:"手机号",prop:"phone"},{default:t(()=>[e(Y,{modelValue:n.phone,"onUpdate:modelValue":c[1]||(c[1]=f=>n.phone=f),placeholder:"请输入手机号"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),e(E,{gutter:20},{default:t(()=>[e(A,{span:12},{default:t(()=>[e(U,{label:"性别",prop:"gender"},{default:t(()=>[e(l,{modelValue:n.gender,"onUpdate:modelValue":c[2]||(c[2]=f=>n.gender=f)},{default:t(()=>[e(p,{label:"male"},{default:t(()=>[...c[8]||(c[8]=[d("男",-1)])]),_:1}),e(p,{label:"female"},{default:t(()=>[...c[9]||(c[9]=[d("女",-1)])]),_:1}),e(p,{label:"unknown"},{default:t(()=>[...c[10]||(c[10]=[d("未知",-1)])]),_:1})]),_:1},8,["modelValu