2 lines
1.4 KiB
JavaScript
2 lines
1.4 KiB
JavaScript
import{d as V,o as s,c,b as u,e as r,w as p,f as i,s as w,Z as x,j as d}from"./index-CzwJBVIC.js";import{a as y,_ as C}from"./index-8GqMb-ax.js";import{u as g}from"./uploadUrl-CyxyoWKj.js";const k={class:"admin-cover-upload"},U={class:"row"},b=["src"],A=V({__name:"AdminCoverUpload",props:{modelValue:{},mediaCategory:{default:"product"}},emits:["update:modelValue"],setup(a,{emit:m}){const f=a,n=m;async function _(l){try{const e=new FormData;e.append("file",l.file),e.append("category",f.mediaCategory);const o=await y.uploadFile(e),t=o.data;n("update:modelValue",t),l.onSuccess?.(o)}catch(e){console.error("封面图上传失败",e);const o=e instanceof Error?e:new Error("上传失败");l.onError?.({...o,status:500,method:"POST",url:""})}}return(l,e)=>{const o=d("el-icon"),t=d("el-upload"),v=d("el-input");return s(),c("div",k,[u("div",U,[r(t,{class:"cover-uploader","show-file-list":!1,accept:"image/*","http-request":_},{default:p(()=>[a.modelValue?(s(),c("img",{key:0,class:"preview",src:i(g)(a.modelValue),alt:""},null,8,b)):(s(),w(o,{key:1,class:"placeholder-icon"},{default:p(()=>[r(i(x))]),_:1}))]),_:1}),e[1]||(e[1]=u("div",{class:"hint"},"点击上传封面,或右侧填写已上传路径",-1))]),r(v,{"model-value":a.modelValue??"",placeholder:"/uploads/product/xxx.jpg",clearable:"","onUpdate:modelValue":e[0]||(e[0]=h=>n("update:modelValue",h))},null,8,["model-value"])])}}}),D=C(A,[["__scopeId","data-v-edd94b7a"]]);export{D as A};
|