12 |
- import{r as u,w as S,b as N,f as _,a as d,C as D,u as P,G as U,a0 as G,a1 as O,o as A,R as g,a2 as M}from"./index-312d0758.js";import{g as R,E as T}from"./el-upload-ec9a39c1.js";import"./el-progress-28b876a0.js";import{E as V}from"./el-button-5fd5d56e.js";import{a as q}from"./axios-87b33878.js";import{g as y}from"./helper-aaa0b9d4.js";import{_ as H}from"./_plugin-vue_export-helper-c27b6911.js";import{E as b}from"./index-8db4c46a.js";import"./index-7588b595.js";import"./plugin-vue_export-helper-1cff8a04.js";import"./error-78e43d3e.js";import"./typescript-c7dac87b.js";import"./use-form-common-props-714f341f.js";import"./constants-8ece7a3d.js";import"./cloneDeep-37d7fb14.js";import"./_baseClone-d8826940.js";import"./_Uint8Array-787ffc9c.js";import"./_initCloneObject-95aefecf.js";import"./isEqual-76463fee.js";import"./index-a787320c.js";import"./use-form-item-01b63eaa.js";import"./index-1da7ed1a.js";const J={__name:"index",props:{classname:String,part:String,full:String,list:Array,limit:Number,sizeLimit:{type:Number,default:"10"},size:String,time:String,accept:String,urltype:String},emits:["update:part","update:full","update:size","update:time","compile","update:list"],setup(m,{emit:x}){const p=x,i=m,$=window.GLOBAL_CONFIG.api+"/upload/main/file",E=u(i.urltype||"2"),f=u(),n=u(i.part),r=u(i.full),v=u(0),z=u(i.time??new Date().toLocaleString()),s=u([]),F=e=>{if(i.sizeLimit){const l=e.size/1024/1024<i.sizeLimit;return l||b.warning(`上传文件大小不能超过 ${i.sizeLimit}MB!`),l}},k=(e,l)=>{const t=G.value.token;let a=new FormData;a.append("api","json"),a.append("token",t),a.append("issubmit",1),a.append("urltype",E.value),a.append("filedata",e.file),q.create({withCredentials:!0}).post($,a).then(c=>{if(c.data.code=="1"){let w=c.data.data;s.value.push(Object.assign({response:{part_url:w.url,file_name:w.file_name,filesize:e.file.size}},e)),h()}}).catch(c=>{})};function h(){let e=[],l=[];s.value.forEach(t=>{if(t.response){const{part_url:a,file_name:o,filesize:c}=t.response;e.push(a),l.push(`${a}|${o}|${c}`),v.value+=t.size??0}else e.push(t.part_url),l.push(`${t.part_url}|${t.name}|${t.filesize}`),v.value+=t.size??0}),p("update:list",e),r.value=l.join(";"),n.value=e.join(";"),z.value=new Date().toLocaleString()}const B=(e,l)=>{s.value=s.value.filter(t=>t.name!==e.name),h()};function C(e){var l,t,a;if(i.limit==1){n.value="",r.value="",(l=f.value)==null||l.clearFiles();const o=e[0];o.uid=R(),(t=f.value)==null||t.handleStart(o),(a=f.value)==null||a.submit()}else b.warning(`最多允许上传${i.limit}个文件`)}const j=u();function I(e){return(e/1024).toString()}function L(){s.value=[],n.value!==void 0&&n.value!==""&&n.value!==null&&(s.value=n.value.split(";").map((e,l)=>({part_url:e,url:y(e),name:e.split("/").pop()}))),r.value!==void 0&&r.value!==""&&r.value!==null&&(s.value=r.value.split(";").map((e,l)=>{const[t,a,o]=e.split("|");return{part_url:t,url:y(t),name:a,filesize:o}}))}return L(),S(()=>[i.part,i.full],(e,l)=>{n.value=i.part,r.value=i.full,L()}),S(()=>n.value,()=>{p("update:part",n.value),p("update:full",r.value),p("update:size",I(v.value)),p("update:time",z.value),p("compile",s.value)}),(e,l)=>{const t=V,a=T,o=O("bz-filePreview");return A(),N(U,null,[_(a,{action:"#",class:D(m.classname),"auto-upload":!0,limit:m.limit,accept:m.accept,ref_key:"upload",ref:f,"show-file-list":!0,"file-list":P(s),"before-upload":F,"http-request":k,"on-remove":B,"on-exceed":C},{default:d(()=>[g(e.$slots,"default",{},()=>[_(t,{type:"primary"},{default:d(()=>[M("点击上传")]),_:1})],!0)]),tip:d(()=>[g(e.$slots,"tip",{},void 0,!0)]),file:d(()=>[g(e.$slots,"file",{},void 0,!0)]),_:3},8,["class","limit","accept","file-list"]),_(o,{ref_key:"filePreview",ref:j},null,512)],64)}}},_e=H(J,[["__scopeId","data-v-89e424de"]]);export{_e as default};
|