File: /www/server/panel/BTPanel/static/js/index139.js
import{c as I,aC as x,r as z,V as H,g as J,H as K,w as R,j as i,k as _,e as n,v as l,x as p,p as d,q as f,s as E,F as v,C as X,J as $,K as Q,z as W,ba as Y,ay as Z,aX as ee,az as te,aA as ae}from"./base-lib.js?v=1777008528";import{c as se,G as oe,A as re,f as ne}from"./utils-lib.js?v=1777008528";import{u as le}from"./useStore4.js?v=1777008528";import"./__commonjsHelpers__.js?v=1777008528";const ue={class:"p-[2rem]"},pe={class:"h-[40rem] border border-base mt-[1rem]"},ce={class:"ml-[0.5rem]"},ge=I({__name:"index",props:{compData:{default:()=>({path:"",refreshEvent:()=>{}})}},setup(S,{expose:C}){const g=ne(),{panel:D}=se();le();const w=S,m=x("popupSetFooter"),q=x("buttonText");let b=!0;const B=z(),s=z([]),F=H([".sql",".zip",".bak",".gz"].join(",")),T={"x-http-token":window.vite_public_request_token},O=window.location.protocol+"//"+window.location.host+"/files?action=upload",k=J(()=>w.compData.path?w.compData.path:(D.value.backupPath+"/database").replace(/\/\//g,"/")),c=K({f_size:0,f_path:k.value,f_name:"",f_start:0}),y=()=>{g.success("上传成功"),w.compData.refreshEvent()},P=(a,e,o)=>{o.push(e),g.error("上传失败")},U=a=>{c.f_size=a.size,c.f_name=a.name,c.f_start=0},V=(a,e)=>{const o=a.name.substring(a.name.lastIndexOf(".")+1),t=["sql","zip","bak","gz"];if(t.indexOf(o)===-1)return!1;s.value=e.filter(u=>{let h=u.name.substring(u.name.lastIndexOf(".")+1);return t.indexOf(h)!==-1})||[]},j=(a,e,o)=>{c.f_start=a.percent,s.value=o.map(t=>(t.uid===e.uid&&(t.percentage=a.percent),t))},L=a=>{s.value=s.value.filter(e=>e.name!==a.name)},M=()=>{s.value.map(e=>{e.status!=="success"&&(e.status="ready")}),b=!1;const a=new Map;s.value.forEach(e=>{a.set(e.uid,async()=>await re(e.raw,{path:k.value,name:e.name,useChunked:e.size>10*1024*1024,onProgress:o=>{s.value=s.value.map(t=>(t.uid===e.uid&&(t.percentage=o,t.status="uploading"),t))},onSuccess:()=>{s.value=s.value.map(o=>(o.uid===e.uid&&(o.status="success"),o))},onError:o=>{s.value=s.value.map(t=>(t.uid===e.uid&&(t.status="fail"),t)),g.error("文件上传失败")}}))}),N(a),m(!1)},N=async a=>{for(const[e,o]of a)await o();y()};return R(()=>s.value.length,a=>{if(a===0){m(!1);return}const e=["success","fail","ready"];for(let t=0;t<s.value.length;t++)if(!e.includes(s.value[t].status)){m(!1);return}s.value.some(t=>t.status!=="success")&&(q.value=b?"开始上传":"重新上传",m(!0))}),C({onConfirm:M}),(a,e)=>{const o=W,t=Y,u=Z,h=ee,A=te,G=ae;return i(),_("div",ue,[n(t,{class:"upload-demo",ref_key:"upload",ref:B,name:"blob",data:d(c),action:O,headers:T,accept:d(F),multiple:!0,"show-file-list":!1,"auto-upload":!1,"file-list":d(s),"on-error":P,"on-success":y,"on-progress":j,"on-change":V,"before-upload":U},{default:l(()=>[n(o,{type:"primary"},{default:l(()=>[...e[0]||(e[0]=[p("上传",-1)])]),_:1})]),_:1},8,["data","accept","file-list"]),f("div",pe,[n(G,{height:"400",data:d(s)},{empty:l(()=>[n(A,{description:"只支持'.sql', '.zip', '.bak', '.gz'文件格式导入"})]),default:l(()=>[n(u,{prop:"name","show-overflow-tooltip":!0,label:"名称"},{default:l(r=>[e[1]||(e[1]=f("i",{class:"svgtofont-el-document text-supplement"},null,-1)),f("span",ce,E(r.row.name),1)]),_:1}),n(u,{prop:"name",label:"是否成功",width:"300"},{default:l(r=>[r.row.status==="success"?(i(),_(v,{key:0},[p("上传成功!")],64)):r.row.status==="fail"?(i(),_(v,{key:1},[p("上传失败!")],64)):r.row.status==="ready"?(i(),_(v,{key:2},[p("等待上传")],64)):(i(),X(h,{key:3,percentage:Math.floor(r.row.percentage)},null,8,["percentage"]))]),_:1}),n(u,{width:"120",prop:"size",label:"大小"},{default:l(r=>[p(E(d(oe)(r.row.size)),1)]),_:1}),n(u,{prop:"name",width:"180",align:"right","show-overflow-tooltip":!0,label:"操作"},{default:l(r=>[$(n(o,{type:"text",size:"small",onClick:ie=>L(r.row)},{default:l(()=>[...e[2]||(e[2]=[p("删除",-1)])]),_:1},8,["onClick"]),[[Q,r.row.status==="ready"||r.row.status==="fail"]])]),_:1})]),_:1},8,["data"])]),e[3]||(e[3]=f("ul",{class:"mt-8px leading-8 text-small list-disc ml-2rem"},[f("li",null,"仅支持sql、zip、sql.gz、(tar.gz|gz|tgz)")],-1))])}}});export{ge as default};