UNPKG

epic-designer-gold

Version:

基于vue3的设计器,可视化开发页面表单

2 lines (1 loc) 2.02 kB
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("vue"),o=require("ant-design-vue"),y={class:"epic-upload-image"},_={key:0},w=t.defineComponent({__name:"uploadImage",props:{modelValue:{type:Array,default:()=>[]},maxCount:{type:Number}},emits:["update:modelValue","change"],setup(d,{emit:m}){const g=t.useAttrs(),i=d,s=m,l=t.ref([]),u=t.ref(""),c=t.ref(!1),p=e=>{c.value=e};t.watch(l,e=>{s("update:modelValue",e),s("change",e)}),t.watch(()=>i.modelValue,e=>{if(e!=null&&e.length>0&&l.value!=null){if(l.value===e)return;l.value.length=0,l.value.push(...e)}},{deep:!0,immediate:!0});function f(e){t.nextTick(()=>{l.value=e})}const v=e=>{var r,a;if(e.file.status!=="uploading"){if(e.file.status==="done"){const n=(a=(r=e.file.response)==null?void 0:r.data)==null?void 0:a.url;if(!e.file.url&&!n){e.file.status="error",o.message.error("上传失败");return}e.file.url=n,e.file.thumbUrl=n}e.file.status==="error"&&o.message.error("upload error")}},h=e=>{},V=t.computed(()=>({...g,"list-type":"picture-card",accept:"image/gif,image/jpeg,image/jpg,image/png,image/svg","onUpdate:file-list":f,"file-list":l.value,"onBefore-upload":h,onChange:v,onPreview:x}));function x(e){e.url&&(u.value=e.url,p(!0))}function b(){u.value&&o.message.error("图片地址无法访问!")}return(e,r)=>(t.openBlock(),t.createElementBlock("div",y,[t.createVNode(t.unref(o.Upload),t.normalizeProps(t.guardReactiveProps(V.value)),{default:t.withCtx(()=>{var a;return[(((a=l.value)==null?void 0:a.length)??0)<(i.maxCount??999)?(t.openBlock(),t.createElementBlock("div",_,[...r[0]||(r[0]=[t.createElementVNode("span",{class:"icon--epic icon--epic--cloud-upload-outlined mr-2px text-lg text-$epic-text-main"},null,-1),t.createElementVNode("div",{class:"ant-upload-text"},"点击上传",-1)])])):t.createCommentVNode("",!0)]}),_:1},16),t.createVNode(t.unref(o.Image),{style:{display:"none"},src:u.value,preview:{visible:c.value,onVisibleChange:p},onError:b},null,8,["src","preview"])]))}});exports.default=w;