myUpload-65e5b052.js 5.5 KB

1
  1. import{h as e}from"./http-48af19d0.js";import{d as a,k as t,z as i,r as l,o as s,c as o,f as c,F as p,q as d,s as n,j as u,at as r,w as m,e as f,t as h,a as y,bZ as k,V as w,O as g,b_ as v,b$ as _,c0 as x,c1 as b,c2 as L,B as T,D as z,_ as C}from"./index-b55b4b29.js";const S={class:"upload_wrap"},D={key:0},M={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"},F={key:1,class:"template_list"},U={class:"documentName"},j={key:0},N={key:1,style:{paddingleft:"5px"}},R={key:0,class:"el-upload__text"},$=(e=>(T("data-v-6e6d629c"),e=e(),z(),e))((()=>f("span",null,"上传文件",-1))),V={key:1},I={class:"el-upload__tip"},q={key:0},A={key:1},O=["src"],P=C(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:T}){const z=a;let C=t([]);C.value=z.fileList;const P=t(""),G=t(!1),Z=(e,a)=>{};i((()=>z.fileList),(()=>{z.fileList,C.value=z.fileList}));const E=async(a,t)=>{if(z.isCheckMM){if(!(await H(a)))return}if(!/^[0-9]+_/.test(a.name)&&z.isCheckName)return g.error("文件上传格式错误"),!1;const i=a.raw,l=z.acceptType.split(",");let s=l.map((e=>J(e)));i.type;const o=s.filter((e=>i.type.indexOf(e)>-1)),c=z.acceptType;if(o.length<1)return g.error(`仅支持格式为${c}的图片`),!1;if(i.size/1024/1024>z.maxFileSize&&z.isLimitSize){g.error(`文件大小不能超过${z.maxFileSize}MB!`);const e=[...C.value];return C.value=e.filter((e=>e.uid!=i.uid)),!1}{let t=new FormData;t.append(z.formType,i);const l=v.service({text:"正在上传",background:"rgba(0,0,0,.2)"}),s=z.action;e.post(s,t).then((async e=>{1e4==e.code?(l.close(),C.value.push({uid:a.uid,url:e.data}),T("fileSuccess",e.data)):(l.close(),g.warning("文件上传失败"))})).catch((()=>{l.close()}))}return!0},H=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!==z.widthLimit||l!==z.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=>(z.widthLimit,g.error({message:"上传文件的图片大小不合符标准,宽需要为"+z.widthLimit+"px,高需要为"+z.heightLimit+"px。当前上传图片的宽高分别为:"+e.width+"px和"+e.height+"px"}),!1))),J=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},K=e=>{const a=[...C.value];C.value=a.filter((a=>a.uid!=e.uid)),C.value,T("fileRemove",e)};return(e,t)=>{const i=l("el-image"),g=l("el-icon"),v=l("el-upload"),T=l("el-dialog");return s(),o("div",S,[c(C).length>0?(s(),o("div",D,["picture-card"==a.listType||"picture"==a.listType?(s(),o("div",M,[(s(!0),o(p,null,d(c(C),((e,a)=>(s(),o("div",{class:"el-upload-list__item is-success",style:{width:"fit-content",height:"fit-content"},key:a},[y(i,{style:{width:"fit-content",height:"148px","min-width":"148px"},src:e.url,fit:"cover",lazy:!0},null,8,["src"]),z.isDisableUpload?n("",!0):(s(),o("div",B,[y(g,{class:"cursor-pointer",onClick:a=>K(e)},{default:m((()=>[y(c(_))])),_:2},1032,["onClick"])]))])))),128))])):n("",!0),"text"==a.listType?(s(),o("div",F,[(s(!0),o(p,null,d(c(C),((e,t)=>(s(),o("div",{class:"template",key:t},[f("span",null,[y(g,null,{default:m((()=>[y(c(x))])),_:1})]),f("span",U,h(e.name),1),z.isDisableUpload?n("",!0):(s(),o("span",j,[y(g,{color:"#000000a6",size:"16",onClick:a=>K(e)},{default:m((()=>[y(c(b))])),_:2},1032,["onClick"])])),a.isDownLoad?(s(),o("span",N,[y(g,{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:m((()=>[y(c(L))])),_:2},1032,["onClick"])])):n("",!0)])))),128))])):n("",!0)])):(s(),u(v,{key:1,class:"w-auto upload",ref:"uploadRef","file-list":c(C),multiple:z.isMultiple,limit:z.limitNum,"list-type":a.listType,accept:z.acceptType,"auto-upload":!1,"show-file-list":!1,disabled:z.isDisableUpload,"on-change":E,"on-remove":Z},r({default:m((()=>["text"==a.listType?(s(),o("div",R,[y(g,null,{default:m((()=>[y(c(k))])),_:1}),$])):(s(),o("div",V,[y(g,null,{default:m((()=>[y(c(w))])),_:1})]))])),_:2},[!z.isDisableUpload&&a.isShowTips?{name:"tip",fn:m((()=>[f("div",I,[f("span",null,"支持"+h(a.acceptType.replaceAll(",","/"))+";",1),a.isLimitSize?(s(),o("span",q," 文件大小不能超过"+h(z.maxFileSize)+"M; ",1)):n("",!0),a.isCheckMM?(s(),o("span",A," 尺寸:"+h(z.widthLimit)+"*"+h(z.heightLimit)+"px ",1)):n("",!0)])])),key:"0"}:void 0]),1032,["file-list","multiple","limit","list-type","accept","disabled"])),y(T,{modelValue:G.value,"onUpdate:modelValue":t[0]||(t[0]=e=>G.value=e)},{default:m((()=>[f("img",{"w-full":"",src:P.value,alt:"Preview Image"},null,8,O)])),_:1},8,["modelValue"])])}}}),[["__scopeId","data-v-6e6d629c"]]);export{P as _};