index.7de190d4.js 1.9 KB

1
  1. import{_ as x,d as w,w as n,cT as D,aQ as b,r as f,o as k,c as V,j as _,C as d,h as i,F as R,a_ as c,aa as y,cU as S,cV as q,Q as P,R as A}from"./index.js";const v=s=>(P("data-v-55909fd4"),s=s(),A(),s),H=v(()=>i("div",{class:"add-icon"},"+",-1)),L=v(()=>i("div",{class:"el-upload__tip"},"\u8BF7\u4E0A\u4F20jpg.png.bmp.jpeg\u7C7B\u578B\u56FE\u7247",-1)),M=["src"],N=w({__name:"index",props:{multiple:{type:Boolean,required:!1}},emits:["change"],setup(s,{emit:m}){const F=["image/png","image/jpg","image/bmp","image/jpeg"],u=n([]),o=n([]);D();const h=b(),g=n(""),p=n(!1),I=({type:a,size:e})=>{if(!F.includes(a))return c.error("\u8BF7\u4E0A\u4F20jpg.png.bmp.jpeg\u7C7B\u578B\u56FE\u7247"),!1;if(e/1024/1024>1)return c.error("\u56FE\u7247\u5927\u5C0F\u8D85\u8FC71M"),!1},B=async({file:a})=>{const e=new FormData,l=y();e.append("img",a),e.append("token",l);const{message:r,code:t,data:j}=await S(e);h({message:r,code:t,handler:()=>{o.value.push(q+"/"+j[0].url),m("change",o.value.join(","))}})},C=()=>{c.error("\u56DE\u6267\u56FE\u7247\u4E0D\u80FD\u8D85\u8FC7\u5341\u5F20")},E=a=>{g.value=a.url,p.value=!0},U=a=>{const e=u.value.findIndex(({uid:l})=>l===a.uid);return o.value.splice(e,1),m("change",o.value.join(","),o),!0};return(a,e)=>{const l=f("el-upload"),r=f("el-dialog");return k(),V(R,null,[_(l,{"file-list":u.value,"onUpdate:fileList":e[0]||(e[0]=t=>u.value=t),"before-upload":I,"http-request":B,"before-remove":U,"on-preview":E,"on-exceed":C,limit:10,"list-type":"picture-card",multiple:s.multiple},{tip:d(()=>[L]),default:d(()=>[H]),_:1},8,["file-list","multiple"]),_(r,{modelValue:p.value,"onUpdate:modelValue":e[1]||(e[1]=t=>p.value=t),"close-on-click-modal":!1,"close-on-press-escape":!1},{default:d(()=>[i("img",{"w-full":"",src:g.value,alt:"Preview Image"},null,8,M)]),_:1},8,["modelValue"])],64)}}});var T=x(N,[["__scopeId","data-v-55909fd4"],["__file","C:/Users/63107/Desktop/projects/settle-vue3/src/components/ImageUpload/src/index.vue"]]);export{T as I};