myUpload-ab0c1611.js 5.6 KB

1
  1. /* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{h as e}from"./http-41948287.js";import{d as a,q as t,P as i,o as l,c as s,f as o,F as p,p as c,A as n,l as d,b4 as r,w as u,e as m,t as f,a as h,cD as y,ap as k,a7 as w,cE as g,K as v,cF as x,y as _,cG as b,cH as L,cI as T,cJ as z,S,U as j,G as C,_ as D}from"./index-9d63ae19.js";const M={class:"upload_wrap"},F={key:0},U={key:0,class:"el-upload-list el-upload-list--picture-card"},B={key:0,class:"el-upload-list__item-actions el-upload-list__item-delete"},N={key:1,class:"template_list"},I={class:"documentName"},R={key:0},V={key:1,style:{paddingleft:"5px"}},$={key:0,class:"el-upload__text"},A=(e=>(S("data-v-5060593e"),e=e(),j(),e))((()=>m("span",null,"上传文件",-1))),P={key:1},q={class:"el-upload__tip"},G={key:0},O={key:1},E=["src"],H=D(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:.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(a,{emit:S}){const j=a;let D=t([]);D.value=j.fileList;const H=t(""),J=t(!1),K=(e,a)=>{};i((()=>j.fileList),(()=>{j.fileList,D.value=j.fileList}));const Q=async(a,t)=>{if(j.isCheckMM){if(!(await W(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=>X(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=[...D.value];return D.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(),D.value.push({uid:a.uid,url:e.data}),S("fileSuccess",e.data)):(l.close(),w.warning("文件上传失败"))})).catch((()=>{l.close()}))}return!0},W=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))),X=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},Y=e=>{const a=[...D.value];D.value=a.filter((a=>a.uid!=e.uid)),D.value,S("fileRemove",e)};return(e,t)=>{const i=C,w=v,g=x,S=_;return l(),s("div",M,[o(D).length>0?(l(),s("div",F,["picture-card"==a.listType||"picture"==a.listType?(l(),s("div",U,[(l(!0),s(p,null,c(o(D),((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",B,[h(w,{class:"cursor-pointer",onClick:a=>Y(e)},{default:u((()=>[h(o(b))])),_:2},1032,["onClick"])]))])))),128))])):n("",!0),"text"==a.listType?(l(),s("div",N,[(l(!0),s(p,null,c(o(D),((e,t)=>(l(),s("div",{class:"template",key:t},[m("span",null,[h(w,null,{default:u((()=>[h(o(L))])),_:1})]),m("span",I,f(e.name),1),j.isDisableUpload?n("",!0):(l(),s("span",R,[h(w,{color:"#000000a6",size:"16",onClick:a=>Y(e)},{default:u((()=>[h(o(T))])),_:2},1032,["onClick"])])),a.isDownLoad?(l(),s("span",V,[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(D),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":Q,"on-remove":K},r({default:u((()=>["text"==a.listType?(l(),s("div",$,[h(w,null,{default:u((()=>[h(o(y))])),_:1}),A])):(l(),s("div",P,[h(w,null,{default:u((()=>[h(o(k))])),_:1})]))])),_:2},[!j.isDisableUpload&&a.isShowTips?{name:"tip",fn:u((()=>[m("div",q,[m("span",null,"支持"+f(a.acceptType.replaceAll(",","/"))+";",1),a.isLimitSize?(l(),s("span",G," 文件大小不能超过"+f(j.maxFileSize)+"M; ",1)):n("",!0),a.isCheckMM?(l(),s("span",O," 尺寸:"+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:J.value,"onUpdate:modelValue":t[0]||(t[0]=e=>J.value=e)},{default:u((()=>[m("img",{"w-full":"",src:H.value,alt:"Preview Image"},null,8,E)])),_:1},8,["modelValue"])])}}}),[["__scopeId","data-v-5060593e"]]);export{H as _};