mirror of
https://gitee.com/niucloud-team/niucloud-admin.git
synced 2025-12-31 10:38:13 +00:00
2 lines
4.3 KiB
JavaScript
2 lines
4.3 KiB
JavaScript
import{a6 as o,a7 as e,a8 as a,ac as r,ax as i,ad as t,i as s,j as d,o as n,c as l,w as h,b as g,n as u,g as m,a2 as c,P as p,k as w,a3 as y}from"./index-837da579.js";import{_ as f}from"./u-icon.963870f0.js";import{_ as b}from"./u-transition.38ad69d8.js";import{_ as L}from"./_plugin-vue_export-helper.1b428a4d.js";const S={props:{src:{type:String,default:()=>o.image.src},mode:{type:String,default:()=>o.image.mode},width:{type:[String,Number],default:()=>o.image.width},height:{type:[String,Number],default:()=>o.image.height},shape:{type:String,default:()=>o.image.shape},radius:{type:[String,Number],default:()=>o.image.radius},lazyLoad:{type:Boolean,default:()=>o.image.lazyLoad},showMenuByLongpress:{type:Boolean,default:()=>o.image.showMenuByLongpress},loadingIcon:{type:String,default:()=>o.image.loadingIcon},errorIcon:{type:String,default:()=>o.image.errorIcon},showLoading:{type:Boolean,default:()=>o.image.showLoading},showError:{type:Boolean,default:()=>o.image.showError},fade:{type:Boolean,default:()=>o.image.fade},webp:{type:Boolean,default:()=>o.image.webp},duration:{type:[String,Number],default:()=>o.image.duration},bgColor:{type:String,default:()=>o.image.bgColor}}};const _=L({name:"u-image",mixins:[e,a,S],data(){return{isError:!1,loading:!0,opacity:1,durationTime:this.duration,backgroundStyle:{},show:!1}},watch:{src:{immediate:!0,handler(o){o?(this.isError=!1,this.loading=!0):this.isError=!0}}},computed:{wrapStyle(){let o={};return o.width=r(this.width),o.height=r(this.height),o.borderRadius="circle"==this.shape?"10000px":r(this.radius),o.overflow=this.radius>0?"hidden":"visible",i(o,t(this.customStyle))}},mounted(){this.show=!0},emits:["click","error","load"],methods:{addUnit:r,onClick(){this.$emit("click")},onErrorHandler(o){this.loading=!1,this.isError=!0,this.$emit("error",o)},onLoadHandler(o){this.loading=!1,this.isError=!1,this.$emit("load",o),this.removeBgColor()},removeBgColor(){this.backgroundStyle={backgroundColor:"transparent"}}}},[["render",function(o,e,a,r,i,t){const y=p,L=s(d("u-icon"),f),S=w,_=s(d("u-transition"),b);return n(),l(_,{mode:"fade",show:i.show,duration:o.fade?1e3:0},{default:h((()=>[g(S,{class:"u-image",onClick:t.onClick,style:u([t.wrapStyle,i.backgroundStyle])},{default:h((()=>[i.isError?m("v-if",!0):(n(),l(y,{key:0,src:o.src,mode:o.mode,onError:t.onErrorHandler,onLoad:t.onLoadHandler,"show-menu-by-longpress":o.showMenuByLongpress,"lazy-load":o.lazyLoad,class:"u-image__image",style:u({borderRadius:"circle"==o.shape?"10000px":t.addUnit(o.radius),width:t.addUnit(o.width),height:t.addUnit(o.height)})},null,8,["src","mode","onError","onLoad","show-menu-by-longpress","lazy-load","style"])),o.showLoading&&i.loading?(n(),l(S,{key:1,class:"u-image__loading",style:u({borderRadius:"circle"==o.shape?"50%":t.addUnit(o.radius),backgroundColor:this.bgColor,width:t.addUnit(o.width),height:t.addUnit(o.height)})},{default:h((()=>[c(o.$slots,"loading",{},(()=>[g(L,{name:o.loadingIcon,width:o.width,height:o.height},null,8,["name","width","height"])]),!0)])),_:3},8,["style"])):m("v-if",!0),o.showError&&i.isError&&!i.loading?(n(),l(S,{key:2,class:"u-image__error",style:u({borderRadius:"circle"==o.shape?"50%":t.addUnit(o.radius),width:t.addUnit(o.width),height:t.addUnit(o.height)})},{default:h((()=>[c(o.$slots,"error",{},(()=>[g(L,{name:o.errorIcon,width:o.width,height:o.height},null,8,["name","width","height"])]),!0)])),_:3},8,["style"])):m("v-if",!0)])),_:3},8,["onClick","style"])])),_:3},8,["show","duration"])}],["__scopeId","data-v-febc2405"]]);const k=L({name:"u--image",mixins:[e,S,a],components:{uvImage:_},emits:["click","error","load"]},[["render",function(o,e,a,r,i,t){const s=y("uvImage");return n(),l(s,{src:o.src,mode:o.mode,width:o.width,height:o.height,shape:o.shape,radius:o.radius,lazyLoad:o.lazyLoad,showMenuByLongpress:o.showMenuByLongpress,loadingIcon:o.loadingIcon,errorIcon:o.errorIcon,showLoading:o.showLoading,showError:o.showError,fade:o.fade,webp:o.webp,duration:o.duration,bgColor:o.bgColor,customStyle:o.customStyle,onClick:e[0]||(e[0]=e=>o.$emit("click")),onError:e[1]||(e[1]=e=>o.$emit("error")),onLoad:e[2]||(e[2]=e=>o.$emit("load"))},{loading:h((()=>[c(o.$slots,"loading")])),error:h((()=>[c(o.$slots,"error")])),_:3},8,["src","mode","width","height","shape","radius","lazyLoad","showMenuByLongpress","loadingIcon","errorIcon","showLoading","showError","fade","webp","duration","bgColor","customStyle"])}]]);export{k as _,_ as a};
|