myUpload-c2356fdc.js 5.2 KB

1
  1. /* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{d as e,q as a,P as i,o as l,c as t,f as s,F as o,p,A as c,l as d,b4 as r,w as n,e as u,t as m,a as f,cB as y,ap as h,a7 as k,K as w,cC as v,y as g,cD as _,cE as x,cF as b,cG as L,S as z,U as T,G as C,_ as S}from"./index-7d3da97b.js";const j={class:"upload_wrap"},M={key:0},B={key:0,class:"el-upload-list el-upload-list--picture-card"},D={key:0,class:"el-upload-list__item-actions el-upload-list__item-delete"},F={key:1,class:"template_list"},U={class:"documentName"},N={key:0},R={key:1,style:{paddingleft:"5px"}},$={key:0,class:"el-upload__text"},I=(e=>(z("data-v-dc64d0ef"),e=e(),T(),e))((()=>u("span",null,"上传文件",-1))),P={key:1},V={class:"el-upload__tip"},q={key:0},A={key:1},E=["src"],G=S(e({__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:.5},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(e,{emit:z}){const T=e;let S=a([]);S.value=T.fileList;const G=a(""),J=a(!1),K=(e,a)=>{};i((()=>T.fileList),(()=>{T.fileList,S.value=T.fileList}));const O=async(e,a)=>{if(T.isCheckMM){if(!(await H(e)))return}if(!/^[0-9]+_/.test(e.name)&&T.isCheckName)return k.error("文件上传格式错误"),!1;const i=e.raw,l=T.acceptType.split(",");let t=l.map((e=>Q(e)));i.type;const s=t.filter((e=>i.type.indexOf(e)>-1)),o=T.acceptType;if(s.length<1)return k.error(`仅支持格式为${o}的图片`),!1;if(i.size/1024/1024>T.maxFileSize&&T.isLimitSize){k.error(`文件大小不能超过${T.maxFileSize}MB!`);const e=[...S.value];return S.value=e.filter((e=>e.uid!=i.uid)),!1}return!0},H=e=>new Promise((function(a,i){const l=new FileReader;l.onload=e=>{const l=new Image;l.onload=()=>{const{width:e,height:t,size:s}=l;e!==T.widthLimit||t!==T.heightLimit?i(l):a(l)},l.onerror=e=>{i(`图片加载错误:${e}`)},l.src=e.target.result},l.onerror=e=>{i(`文件读取错误:${e}`)},l.readAsDataURL(e.raw)})).then((e=>!0),(e=>(T.widthLimit,k.error({message:"上传文件的图片大小不合符标准,宽需要为"+T.widthLimit+"px,高需要为"+T.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=[...S.value];S.value=a.filter((a=>a.uid!=e.uid)),S.value,z("fileRemove",e)};return(a,i)=>{const k=C,z=w,H=v,Q=g;return l(),t("div",j,[s(S).length>0?(l(),t("div",M,["picture-card"==e.listType||"picture"==e.listType?(l(),t("div",B,[(l(!0),t(o,null,p(s(S),((e,a)=>(l(),t("div",{class:"el-upload-list__item is-success",key:a},[f(k,{style:{width:"148px",height:"148px"},src:e.url,fit:"fill",lazy:!0},null,8,["src"]),T.isDisableUpload?c("",!0):(l(),t("div",D,[f(z,{class:"cursor-pointer",onClick:a=>W(e)},{default:n((()=>[f(s(_))])),_:2},1032,["onClick"])]))])))),128))])):c("",!0),"text"==e.listType?(l(),t("div",F,[(l(!0),t(o,null,p(s(S),((a,i)=>(l(),t("div",{class:"template",key:i},[u("span",null,[f(z,null,{default:n((()=>[f(s(x))])),_:1})]),u("span",U,m(a.name),1),T.isDisableUpload?c("",!0):(l(),t("span",N,[f(z,{color:"#000000a6",size:"16",onClick:e=>W(a)},{default:n((()=>[f(s(b))])),_:2},1032,["onClick"])])),e.isDownLoad?(l(),t("span",R,[f(z,{onClick:e=>(e=>{const a=window.location.href.split("#")[0],i=a.slice(0,a.length-1);window.location.href=i+e.ossFile})(a)},{default:n((()=>[f(s(L))])),_:2},1032,["onClick"])])):c("",!0)])))),128))])):c("",!0)])):(l(),d(H,{key:1,class:"w-auto upload",ref:"uploadRef","file-list":s(S),multiple:T.isMultiple,limit:T.limitNum,"list-type":e.listType,accept:T.acceptType,"auto-upload":!1,"show-file-list":!1,disabled:T.isDisableUpload,"on-change":O,"on-remove":K},r({default:n((()=>["text"==e.listType?(l(),t("div",$,[f(z,null,{default:n((()=>[f(s(y))])),_:1}),I])):(l(),t("div",P,[f(z,null,{default:n((()=>[f(s(h))])),_:1})]))])),_:2},[!T.isDisableUpload&&e.isShowTips?{name:"tip",fn:n((()=>[u("div",V,[u("span",null,"支持"+m(e.acceptType.replace(",","/"))+";",1),e.isLimitSize?(l(),t("span",q," 文件大小不能超过"+m(T.maxFileSize)+"M; ",1)):c("",!0),e.isCheckMM?(l(),t("span",A," 尺寸:"+m(T.widthLimit)+"*"+m(T.heightLimit)+"px ",1)):c("",!0)])])),key:"0"}:void 0]),1032,["file-list","multiple","limit","list-type","accept","disabled"])),f(Q,{modelValue:J.value,"onUpdate:modelValue":i[0]||(i[0]=e=>J.value=e)},{default:n((()=>[u("img",{"w-full":"",src:G.value,alt:"Preview Image"},null,8,E)])),_:1},8,["modelValue"])])}}}),[["__scopeId","data-v-dc64d0ef"]]);export{G as _};