HaniBlindBox/server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/MoneyChangeDialog---Yw36Iq.js
2026-01-27 13:20:17 +08:00

2 lines
3.9 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import{c as Q}from"./user-CNYZaz0M.js";import{d as j,v as l,r as $,a as A,G as H,g as u,z as J,k as K,w as o,e as n,b as p,x as m,t as v,Q as O,E as V,_ as P}from"./index-BiN8PNOz.js";const W={class:"current-value"},X={class:"preview-info"},Y={class:"operation-symbol"},Z={class:"amount-value"},ee=j({__name:"MoneyChangeDialog",props:{modelValue:{type:Boolean},user:{},type:{},action:{default:"add"}},emits:["update:modelValue","success"],setup(D,{emit:L}){const t=D,w=L,f=l({get:()=>t.modelValue,set:r=>w("update:modelValue",r)}),_=$(),g=$(!1),a=A({type:1,amount:0,operation:1,remark:""}),U=l(()=>({operation:[{required:!0,message:"请选择操作类型",trigger:"change"}],amount:[{required:!0,message:"请输入金额",trigger:"blur"},{type:"number",min:.01,message:"金额必须大于0",trigger:"blur"},{validator:(r,e,s)=>{a.operation===2&&e>d.value?s(new Error(`扣除金额不能超过当前${c.value}`)):s()},trigger:"blur"}]})),c=l(()=>({1:"余额",2:"积分",3:"钻石"})[t.type]||"余额"),h=l(()=>`${t.action==="add"?"充值":"扣除"}${c.value}`),x=l(()=>`当前${c.value}`),B=l(()=>`${c.value}数量`),d=l(()=>t.user&&{1:t.user.balance||0,2:t.user.integral||0,3:t.user.diamond||0}[t.type]||0),k=l(()=>t.type===1?`¥${d.value.toFixed(2)}`:d.value.toString()),S=l(()=>t.type===1?2:0),E=l(()=>(t.type===1,1)),b=l(()=>{const r=a.amount||0;return a.operation===1?d.value+r:Math.max(0,d.value-r)}),F=l(()=>t.type===1?`¥${b.value.toFixed(2)}`:b.value.toString()),N=l(()=>a.operation===1?"positive":b.value<d.value?"negative":"");H(()=>t.modelValue,r=>{var e;r&&(a.type=t.type,a.operation=t.action==="add"?1:2,a.amount=0,a.remark="",(e=_.value)==null||e.resetFields())});const y=()=>{f.value=!1},R=async()=>{var e;if(!t.user){V.warning("用户信息不存在");return}if(await((e=_.value)==null?void 0:e.validate())){g.value=!0;try{await Q(t.user.id,a),V.success("操作成功"),w("success"),y()}catch(s){V.error(s.message||"操作失败")}finally{g.value=!1}}};return(r,e)=>{const s=u("el-form-item"),C=u("el-radio"),q=u("el-radio-group"),z=u("el-input-number"),T=u("el-input"),G=u("el-form"),M=u("el-button"),I=u("el-dialog");return K(),J(I,{modelValue:f.value,"onUpdate:modelValue":e[3]||(e[3]=i=>f.value=i),title:h.value,width:"450px","close-on-click-modal":!1,onClose:y},{footer:o(()=>[n(M,{onClick:y},{default:o(()=>[...e[7]||(e[7]=[v("取消",-1)])]),_:1}),n(M,{type:"primary",onClick:R,loading:g.value},{default:o(()=>[...e[8]||(e[8]=[v("确定",-1)])]),_:1},8,["loading"])]),default:o(()=>[n(G,{ref_key:"formRef",ref:_,model:a,rules:U.value,"label-width":"100px"},{default:o(()=>[n(s,{label:x.value},{default:o(()=>[p("span",W,m(k.value),1)]),_:1},8,["label"]),n(s,{label:"操作类型",prop:"operation"},{default:o(()=>[n(q,{modelValue:a.operation,"onUpdate:modelValue":e[0]||(e[0]=i=>a.operation=i)},{default:o(()=>[n(C,{value:1},{default:o(()=>[...e[4]||(e[4]=[v("充值(增加)",-1)])]),_:1}),n(C,{value:2},{default:o(()=>[...e[5]||(e[5]=[v("扣除(减少)",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),n(s,{label:B.value,prop:"amount"},{default:o(()=>[n(z,{modelValue:a.amount,"onUpdate:modelValue":e[1]||(e[1]=i=>a.amount=i),min:.01,max:999999999,precision:S.value,step:E.value,style:{width:"100%"},placeholder:"请输入金额"},null,8,["modelValue","precision","step"])]),_:1},8,["label"]),n(s,{label:"备注",prop:"remark"},{default:o(()=>[n(T,{modelValue:a.remark,"onUpdate:modelValue":e[2]||(e[2]=i=>a.remark=i),type:"textarea",rows:3,placeholder:"请输入操作备注(选填)",maxlength:"200","show-word-limit":""},null,8,["modelValue"])]),_:1}),n(s,{label:"操作预览"},{default:o(()=>[p("div",X,[p("span",null,m(x.value)+""+m(k.value),1),p("span",Y,m(a.operation===1?"+":"-"),1),p("span",Z,m(a.amount||0),1),e[6]||(e[6]=p("span",{class:"result-symbol"},"=",-1)),p("span",{class:O(["result-value",N.value])},m(F.value),3)])]),_:1})]),_:1},8,["model","rules"])]),_:1},8,["modelValue","title"])}}}),le=P(ee,[["__scopeId","data-v-7219a039"]]);export{le as default};