myUpload-9d11d3e3.js 5.7 KB

1
  1. /* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{h as e}from"./http-770a7659.js";import{d as a,m as t,O as i,o as l,c as s,f as o,F as p,y as c,z as n,l as d,aM as r,w as u,e as m,t as f,a as h,aZ as y,ar as k,a7 as w,a_ as g,J as v,a$ as _,v as x,b0 as b,b1 as L,b2 as T,b3 as z,R as S,S as j,D as C,_ as M}from"./index-de1b16f5.js";const D={class:"upload_wrap"},B={key:0},F={key:0,class:"el-upload-list el-upload-list--picture-card"},U={key:0,class:"el-upload-list__item-actions el-upload-list__item-delete"},R={key:1,class:"template_list"},N={class:"documentName"},$={key:0},I={key:1,style:{paddingleft:"5px"}},V={key:0,class:"el-upload__text"},A=(e=>(S("data-v-e027c22f"),e=e(),j(),e))((()=>m("span",null,"上传文件",-1))),O={key:1},P={class:"el-upload__tip"},q={key:0},J={key:1},Y=["src"],Z=M(a({__name:"myUpload",props:{acceptType:{default:".jpeg,.png"},isMultiple:{type:Boolean,default:!1},isCheckName:{type:Boolean,default:!1},limitNum:{default:10},isDisableUpload:{type:Boolean,default:!1},maxFileSize:{default:1},widthLimit:{default:690},heightLimit:{default:280},isLimitSize:{type:Boolean,default:!0},isShowTips:{type:Boolean,default:!0},action:{default:"/qiniu/upload/image"},formType:{default:"photo"},fileList:{default:[]},isDownLoad:{type:Boolean,default:!1},isCheckMM:{type:Boolean,default:!1},listType:{default:"picture-card"}},emits:["fileSuccess","fileRemove"],setup(a,{emit:S}){const j=a;let M=t([]);M.value=j.fileList;const Z=t(""),E=t(!1),G=(e,a)=>{};i((()=>j.fileList),(()=>{j.fileList,M.value=j.fileList}));const H=async(a,t)=>{if(j.isCheckMM){if(!(await K(a)))return}if(!/^[0-9]+_/.test(a.name)&&j.isCheckName)return w.error("文件上传格式错误"),!1;const i=a.raw,l=j.acceptType.split(",");let s=l.map((e=>Q(e)));i.type;const o=s.filter((e=>i.type.indexOf(e)>-1)),p=j.acceptType;if(o.length<1)return w.error(`仅支持格式为${p}的图片`),!1;if(i.size/1024/1024>j.maxFileSize&&j.isLimitSize){w.error(`文件大小不能超过${j.maxFileSize}MB!`);const e=[...M.value];return M.value=e.filter((e=>e.uid!=i.uid)),!1}{let t=new FormData;t.append(j.formType,i);const l=g.service({text:"正在上传",background:"rgba(0,0,0,.2)"}),s=j.action;e.post(s,t).then((async e=>{1e4==e.code?(l.close(),M.value.push({uid:a.uid,url:e.data}),S("fileSuccess",e.data)):(l.close(),w.warning("文件上传失败"))})).catch((()=>{l.close()}))}return!0},K=e=>new Promise((function(a,t){const i=new FileReader;i.onload=e=>{const i=new Image;i.onload=()=>{const{width:e,height:l,size:s}=i;e!==j.widthLimit||l!==j.heightLimit?t(i):a(i)},i.onerror=e=>{t(`图片加载错误:${e}`)},i.src=e.target.result},i.onerror=e=>{t(`文件读取错误:${e}`)},i.readAsDataURL(e.raw)})).then((e=>!0),(e=>(j.widthLimit,w.error({message:"上传文件的图片大小不合符标准,宽需要为"+j.widthLimit+"px,高需要为"+j.heightLimit+"px。当前上传图片的宽高分别为:"+e.width+"px和"+e.height+"px"}),!1))),Q=e=>{let a="";switch(e){case".xls":a="excel";break;case".doc":a="word";break;case".pdf":a="pdf";break;case".zip":a="zip";break;case".xlsx":a="sheet";break;case".pptx":a="presentation";break;case".docx":a="document";break;case".text":a="text";break;case".jpeg":a="jpeg";break;case".png":a="png";break;case".gif":a="gif";break;case".mp4":a="mp4";break;case".mp3":a="mp3"}return a},W=e=>{const a=[...M.value];M.value=a.filter((a=>a.uid!=e.uid)),M.value,S("fileRemove",e)};return(e,t)=>{const i=C,w=v,g=_,S=x;return l(),s("div",D,[o(M).length>0?(l(),s("div",B,["picture-card"==a.listType||"picture"==a.listType?(l(),s("div",F,[(l(!0),s(p,null,c(o(M),((e,a)=>(l(),s("div",{class:"el-upload-list__item is-success",style:{width:"fit-content",height:"fit-content"},key:a},[h(i,{style:{width:"fit-content",height:"148px","min-width":"148px"},src:e.url,fit:"cover",lazy:!0},null,8,["src"]),j.isDisableUpload?n("",!0):(l(),s("div",U,[h(w,{class:"cursor-pointer",onClick:a=>W(e)},{default:u((()=>[h(o(b))])),_:2},1032,["onClick"])]))])))),128))])):n("",!0),"text"==a.listType?(l(),s("div",R,[(l(!0),s(p,null,c(o(M),((e,t)=>(l(),s("div",{class:"template",key:t},[m("span",null,[h(w,null,{default:u((()=>[h(o(L))])),_:1})]),m("span",N,f(e.name),1),j.isDisableUpload?n("",!0):(l(),s("span",$,[h(w,{color:"#000000a6",size:"16",onClick:a=>W(e)},{default:u((()=>[h(o(T))])),_:2},1032,["onClick"])])),a.isDownLoad?(l(),s("span",I,[h(w,{onClick:a=>(e=>{const a=window.location.href.split("#")[0],t=a.slice(0,a.length-1);window.location.href=t+e.ossFile})(e)},{default:u((()=>[h(o(z))])),_:2},1032,["onClick"])])):n("",!0)])))),128))])):n("",!0)])):(l(),d(g,{key:1,class:"w-auto upload",ref:"uploadRef","file-list":o(M),multiple:j.isMultiple,limit:j.limitNum,"list-type":a.listType,accept:j.acceptType,"auto-upload":!1,"show-file-list":!1,disabled:j.isDisableUpload,"on-change":H,"on-remove":G},r({default:u((()=>["text"==a.listType?(l(),s("div",V,[h(w,null,{default:u((()=>[h(o(y))])),_:1}),A])):(l(),s("div",O,[h(w,null,{default:u((()=>[h(o(k))])),_:1})]))])),_:2},[!j.isDisableUpload&&a.isShowTips?{name:"tip",fn:u((()=>[m("div",P,[m("span",null,"支持"+f(a.acceptType.replaceAll(",","/"))+";",1),a.isLimitSize?(l(),s("span",q," 文件大小不能超过"+f(j.maxFileSize)+"M; ",1)):n("",!0),a.isCheckMM?(l(),s("span",J," 尺寸:"+f(j.widthLimit)+"*"+f(j.heightLimit)+"px ",1)):n("",!0)])])),key:"0"}:void 0]),1032,["file-list","multiple","limit","list-type","accept","disabled"])),h(S,{modelValue:E.value,"onUpdate:modelValue":t[0]||(t[0]=e=>E.value=e)},{default:u((()=>[m("img",{"w-full":"",src:Z.value,alt:"Preview Image"},null,8,Y)])),_:1},8,["modelValue"])])}}}),[["__scopeId","data-v-e027c22f"]]);export{Z as _};