Files
monisuo/monisuo-admin/dist/assets/coins-0eWuEPsE.js
2026-03-22 23:32:23 +08:00

1 line
9.6 KiB
JavaScript

import{Ct as e,Ot as t,S as n,Tt as r,V as i,_ as a,b as o,d as s,g as ee,lt as c,mt as l,nt as u,v as d,w as f,x as p,y as m,z as h}from"./vue.runtime.esm-bundler-DQjudA8G.js";import{a as te,i as ne,n as re,r as ie,t as g}from"./SelectContent-Bb2H68dj.js";import{t as ae}from"./Spinner-BbvbfTgK.js";import{n as _}from"./lib-Cz3jviUu.js";import"./Teleport-CLYBkdRb.js";import{n as oe,t as se}from"./DialogTitle-C0_ATj0B.js";import{n as ce,t as le}from"./DialogContent-BgxXKbvY.js";import{t as ue}from"./Label-D9NotKz_.js";import{t as de}from"./Button-2mdP_ygs.js";import{t as fe}from"./Input-dHyiQP9I.js";import{a as v,h as y,m as b,p as x}from"./monisuo-admin.api-BMEy8kfy.js";import{t as pe}from"./DialogFooter-k3s4IxA-.js";import{t as S}from"./iconify-B5QdRg7l.js";import{r as me}from"./global-layout-BuXj6D-T.js";import{t as he}from"./Card-Cv6HQPiQ.js";import{t as ge}from"./Badge-Df1MwAP1.js";import{a as _e,i as ve,n as ye,o as be,r as xe,t as Se}from"./TableHeader-Ma-zEBcz.js";var Ce={class:`space-y-4`},we={class:`flex justify-end`},Te={class:`flex justify-end gap-1`},Ee={class:`md:hidden space-y-3`},De={key:0,class:`text-center py-8`},C={class:`flex items-start justify-between`},w={class:`space-y-1`},T={class:`flex items-center gap-2`},E={class:`font-mono font-bold`},Oe={class:`text-sm text-muted-foreground`},ke={class:`mt-3 pt-3 border-t`},Ae={class:`text-xl font-mono font-bold text-green-600 dark:text-green-400`},je={class:`mt-3 flex gap-2`},Me={key:2,class:`text-center py-8 text-muted-foreground`},Ne={class:`grid gap-4 py-4`},Pe={class:`grid gap-2`},Fe={key:0,class:`text-sm text-red-500`},Ie={class:`grid gap-2`},Le={key:0,class:`text-sm text-red-500`},Re={class:`grid gap-2`},ze={key:0,class:`grid gap-2`},Be={class:`grid gap-4 py-4`},Ve={class:`grid gap-2`},D=f({__name:`coins`,setup(f){let{data:D,isLoading:O,refetch:k}=v(),A=x(),j=b(),M=y(),N=ee(()=>D.value?.data?.list||[]),P=l({}),F=l(!1),I=l(!1),L=l(0),R=l(``),z=l({});function B(){return z.value={},P.value.code?.trim()?P.value.name?.trim()?!0:(z.value.name=`请输入币种名称`,!1):(z.value.code=`请输入币种代码`,!1)}function V(e){e?P.value={...e}:P.value={priceType:2,status:1,price:0},z.value={},F.value=!0}async function He(){if(B())try{await A.mutateAsync(P.value),_.success(P.value.id?`币种已更新`:`币种已添加`),F.value=!1,k()}catch(e){_.error(e.response?.data?.msg||`操作失败`)}}function H(e){R.value=e.code,L.value=e.price,I.value=!0}async function Ue(){if(L.value<=0){_.error(`请输入有效价格`);return}try{await j.mutateAsync({code:R.value,price:L.value}),_.success(`价格已更新`),I.value=!1,k()}catch(e){_.error(e.response?.data?.msg||`操作失败`)}}async function U(e){let t=e.status===1?0:1,n=t===1?`上架`:`下架`;try{await M.mutateAsync({coinId:e.id,status:t}),_.success(`${n} ${e.code}`)}catch(e){_.error(e.response?.data?.msg||`${n}失败`)}}function W(e){return e?e>=1?e.toLocaleString(void 0,{maximumFractionDigits:2}):e.toFixed(6):`0.00`}return(ee,l)=>{let f=de,_=ye,v=xe,y=Se,b=ae,x=ve,D=ge,k=_e,B=be,G=he,K=se,q=oe,J=ue,Y=fe,We=re,Ge=ie,X=ne,Ke=g,qe=te,Z=pe,Q=le,$=ce;return h(),d(e(me),{title:`币种管理`,description:`管理交易币种`},{default:u(()=>[a(`div`,Ce,[a(`div`,we,[n(f,{onClick:l[0]||=e=>V()},{default:u(()=>[n(e(S),{icon:`lucide:plus`,class:`size-4 mr-2`}),l[12]||=p(` 新增币种 `,-1)]),_:1})]),n(G,{class:`hidden md:block overflow-x-auto`},{default:u(()=>[n(B,null,{default:u(()=>[n(y,null,{default:u(()=>[n(v,null,{default:u(()=>[n(_,{class:`w-[80px]`},{default:u(()=>[...l[13]||=[p(` ID `,-1)]]),_:1}),n(_,null,{default:u(()=>[...l[14]||=[p(`代码`,-1)]]),_:1}),n(_,null,{default:u(()=>[...l[15]||=[p(`名称`,-1)]]),_:1}),n(_,{class:`text-right`},{default:u(()=>[...l[16]||=[p(` 价格 `,-1)]]),_:1}),n(_,null,{default:u(()=>[...l[17]||=[p(`价格类型`,-1)]]),_:1}),n(_,null,{default:u(()=>[...l[18]||=[p(`状态`,-1)]]),_:1}),n(_,{class:`text-right`},{default:u(()=>[...l[19]||=[p(` 操作 `,-1)]]),_:1})]),_:1})]),_:1}),n(k,null,{default:u(()=>[e(O)?(h(),d(v,{key:0},{default:u(()=>[n(x,{"col-span":7,class:`text-center py-8`},{default:u(()=>[n(b,{class:`mx-auto`})]),_:1})]),_:1})):e(N).length===0?(h(),d(v,{key:1},{default:u(()=>[n(x,{"col-span":7,class:`text-center py-8 text-muted-foreground`},{default:u(()=>[...l[20]||=[p(` 暂无数据 `,-1)]]),_:1})]),_:1})):m(``,!0),(h(!0),o(s,null,i(e(N),r=>(h(),d(v,{key:r.id},{default:u(()=>[n(x,null,{default:u(()=>[p(t(r.id),1)]),_:2},1024),n(x,{class:`font-mono font-medium`},{default:u(()=>[p(t(r.code),1)]),_:2},1024),n(x,null,{default:u(()=>[p(t(r.name),1)]),_:2},1024),n(x,{class:`text-right font-mono`},{default:u(()=>[p(` $`+t(W(r.price)),1)]),_:2},1024),n(x,null,{default:u(()=>[n(D,{variant:`outline`},{default:u(()=>[r.priceType===1?(h(),d(e(S),{key:0,icon:`lucide:zap`,class:`size-3 mr-1`})):m(``,!0),p(` `+t(r.priceType===1?`实时`:`手动`),1)]),_:2},1024)]),_:2},1024),n(x,null,{default:u(()=>[n(D,{variant:r.status===1?`default`:`secondary`},{default:u(()=>[p(t(r.status===1?`上架`:`下架`),1)]),_:2},1032,[`variant`])]),_:2},1024),n(x,{class:`text-right`},{default:u(()=>[a(`div`,Te,[n(f,{size:`sm`,variant:`ghost`,onClick:e=>V(r)},{default:u(()=>[n(e(S),{icon:`lucide:pencil`,class:`size-4`})]),_:1},8,[`onClick`]),n(f,{size:`sm`,variant:`ghost`,disabled:r.priceType===1,title:r.priceType===1?`实时价格不支持手动调整`:`调整价格`,onClick:e=>H(r)},{default:u(()=>[n(e(S),{icon:`lucide:dollar-sign`,class:`size-4`})]),_:1},8,[`disabled`,`title`,`onClick`]),n(f,{size:`sm`,variant:`ghost`,disabled:e(M).isPending.value,onClick:e=>U(r)},{default:u(()=>[n(e(S),{icon:r.status===1?`lucide:arrow-down`:`lucide:arrow-up`,class:`size-4`},null,8,[`icon`])]),_:2},1032,[`disabled`,`onClick`])])]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1})]),_:1}),a(`div`,Ee,[e(O)?(h(),o(`div`,De,[n(b,{class:`mx-auto`})])):e(N).length>0?(h(!0),o(s,{key:1},i(e(N),r=>(h(),d(G,{key:r.id,class:`p-4`},{default:u(()=>[a(`div`,C,[a(`div`,w,[a(`div`,T,[a(`span`,E,t(r.code),1),n(D,{variant:`outline`,class:`text-xs`},{default:u(()=>[p(t(r.priceType===1?`实时`:`手动`),1)]),_:2},1024)]),a(`div`,Oe,t(r.name),1)]),n(D,{variant:r.status===1?`default`:`secondary`},{default:u(()=>[p(t(r.status===1?`上架`:`下架`),1)]),_:2},1032,[`variant`])]),a(`div`,ke,[a(`div`,Ae,` $`+t(W(r.price)),1)]),a(`div`,je,[n(f,{size:`sm`,variant:`outline`,class:`flex-1`,onClick:e=>V(r)},{default:u(()=>[...l[21]||=[p(` 编辑 `,-1)]]),_:1},8,[`onClick`]),n(f,{size:`sm`,variant:`outline`,class:`flex-1`,disabled:r.priceType===1,onClick:e=>H(r)},{default:u(()=>[...l[22]||=[p(` 调价 `,-1)]]),_:1},8,[`disabled`,`onClick`]),n(f,{size:`sm`,variant:`outline`,class:`flex-1`,disabled:e(M).isPending.value,onClick:e=>U(r)},{default:u(()=>[p(t(r.status===1?`下架`:`上架`),1)]),_:2},1032,[`disabled`,`onClick`])])]),_:2},1024))),128)):(h(),o(`div`,Me,` 暂无数据 `))])]),n($,{open:e(F),"onUpdate:open":l[8]||=e=>c(F)?F.value=e:null},{default:u(()=>[n(Q,{class:`max-w-md`},{default:u(()=>[n(q,null,{default:u(()=>[n(K,null,{default:u(()=>[p(t(e(P).id?`编辑币种`:`新增币种`),1)]),_:1})]),_:1}),a(`div`,Ne,[a(`div`,Pe,[n(J,null,{default:u(()=>[...l[23]||=[p(`代码 `,-1),a(`span`,{class:`text-red-500`},`*`,-1)]]),_:1}),n(Y,{modelValue:e(P).code,"onUpdate:modelValue":l[1]||=t=>e(P).code=t,placeholder:`BTC`,class:r({"border-red-500":e(z).code}),onInput:l[2]||=t=>e(z).code=void 0},null,8,[`modelValue`,`class`]),e(z).code?(h(),o(`p`,Fe,t(e(z).code),1)):m(``,!0)]),a(`div`,Ie,[n(J,null,{default:u(()=>[...l[24]||=[p(`名称 `,-1),a(`span`,{class:`text-red-500`},`*`,-1)]]),_:1}),n(Y,{modelValue:e(P).name,"onUpdate:modelValue":l[3]||=t=>e(P).name=t,placeholder:`比特币`,class:r({"border-red-500":e(z).name}),onInput:l[4]||=t=>e(z).name=void 0},null,8,[`modelValue`,`class`]),e(z).name?(h(),o(`p`,Le,t(e(z).name),1)):m(``,!0)]),a(`div`,Re,[n(J,null,{default:u(()=>[...l[25]||=[p(`价格类型`,-1)]]),_:1}),n(qe,{modelValue:e(P).priceType,"onUpdate:modelValue":l[5]||=t=>e(P).priceType=t},{default:u(()=>[n(Ge,null,{default:u(()=>[n(We)]),_:1}),n(Ke,null,{default:u(()=>[n(X,{value:1},{default:u(()=>[...l[26]||=[p(` 实时(从市场获取) `,-1)]]),_:1}),n(X,{value:2},{default:u(()=>[...l[27]||=[p(` 手动(自定义价格) `,-1)]]),_:1})]),_:1})]),_:1},8,[`modelValue`])]),e(P).priceType===2?(h(),o(`div`,ze,[n(J,null,{default:u(()=>[...l[28]||=[p(`初始价格 ($)`,-1)]]),_:1}),n(Y,{modelValue:e(P).price,"onUpdate:modelValue":l[6]||=t=>e(P).price=t,modelModifiers:{number:!0},type:`number`,step:`0.000001`,placeholder:`0.00`},null,8,[`modelValue`])])):m(``,!0)]),n(Z,null,{default:u(()=>[n(f,{variant:`outline`,onClick:l[7]||=e=>F.value=!1},{default:u(()=>[...l[29]||=[p(` 取消 `,-1)]]),_:1}),n(f,{disabled:e(A).isPending.value,onClick:He},{default:u(()=>[e(A).isPending.value?(h(),d(b,{key:0,class:`mr-2`})):m(``,!0),l[30]||=p(` 保存 `,-1)]),_:1},8,[`disabled`])]),_:1})]),_:1})]),_:1},8,[`open`]),n($,{open:e(I),"onUpdate:open":l[11]||=e=>c(I)?I.value=e:null},{default:u(()=>[n(Q,{class:`max-w-sm`},{default:u(()=>[n(q,null,{default:u(()=>[n(K,null,{default:u(()=>[p(`调整价格 - `+t(e(R)),1)]),_:1})]),_:1}),a(`div`,Be,[a(`div`,Ve,[n(J,null,{default:u(()=>[...l[31]||=[p(`新价格 ($)`,-1)]]),_:1}),n(Y,{modelValue:e(L),"onUpdate:modelValue":l[9]||=e=>c(L)?L.value=e:null,modelModifiers:{number:!0},type:`number`,step:`0.000001`,placeholder:`0.00`,autofocus:``},null,8,[`modelValue`])])]),n(Z,null,{default:u(()=>[n(f,{variant:`outline`,onClick:l[10]||=e=>I.value=!1},{default:u(()=>[...l[32]||=[p(` 取消 `,-1)]]),_:1}),n(f,{disabled:e(j).isPending.value,onClick:Ue},{default:u(()=>[e(j).isPending.value?(h(),d(b,{key:0,class:`mr-2`})):m(``,!0),l[33]||=p(` 确认 `,-1)]),_:1},8,[`disabled`])]),_:1})]),_:1})]),_:1},8,[`open`])]),_:1})}}});export{D as default};