UNPKG

@aplus-frontend/ui

Version:

2 lines (1 loc) 6.13 kB
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),i=require("../utils/fileList.js"),c=require("../icon/file-icon.vue.js"),d=require("../icon/delete-icon.vue.js"),n=require("@aplus-frontend/antdv"),S=require("@aplus-frontend/antdv/es/form/FormItemContext"),w=require("../hook/useProps.js"),I=require("../hook/useInjectContext.js"),F=require("lodash-unified");require("../../../config-provider/index.js");const P=require("./style/index.js"),L=require("../../../config-provider/hooks/use-token.js"),A=require("../../../config-provider/hooks/use-global-config.js"),$=require("../../../config-provider/hooks/use-locale.js"),D=require("../../../config-provider/hooks/use-namespace.js"),j=e.defineComponent({__name:"ap-upload-single",props:{dirName:{},getOssAccess:{},fileList:{},onChange:{},maxSize:{default:500},accept:{default:"*"},beforeUpload:{},customRequest:{},maxSizeErrorMsg:{},acceptErrorMsg:{},title:{type:[Object,String,Number,Boolean,null,Array]},subTitle:{type:[Object,String,Number,Boolean,null,Array]}},emits:["update:fileList"],setup(p,{emit:v}){const C=S.FormItemInputContext.useInject(),g=e.computed(()=>C.status),s=p,N=v,V=n.Form.useInjectFormItemContext(),r=e.computed({get(){return s.fileList||[]},set(a){N("update:fileList",a),V?.onFieldChange()}}),l=e.computed(()=>r.value?.[0]),y=A.useGlobalConfig("apUpload"),{t:k,lang:x}=$.useLocale(),{title:q,subTitle:z,beforeUpload:b,customRequest:E}=w.useSingleProps(s),B=E;I.useInjectContext(k,x,s?.getOssAccess??y.value?.getOssAccess);const{b:f,e:t}=D.useNamespace("ap-upload-single"),h=P.default("ap-upload-single"),{token:m}=L.useToken();function T(a){return F.omit(a,["dirName","needName","getOssAccess","fileList","title","subTitle"])}return(a,o)=>(e.openBlock(),e.createBlock(e.unref(n.UploadDragger),e.mergeProps({...a.$attrs,...T(s)},{"file-list":r.value,"onUpdate:fileList":o[3]||(o[3]=u=>r.value=u),"max-count":1,"show-upload-list":!1,disabled:!!l.value&&[void 0,"uploading","error","success","done"].includes(l.value.status),class:[e.unref(f)(),`${e.unref(f)()}-affix-wrapper-status-${g.value}`,e.unref(h)],"before-upload":e.unref(b),"custom-request":e.unref(B)}),{default:e.withCtx(()=>[e.renderSlot(a.$slots,"default",e.normalizeProps(e.guardReactiveProps({file:l.value,clear:()=>l.value&&e.unref(i.clearSingleFile)(l.value,r.value,{maxCount:1})})),()=>[e.createElementVNode("div",{class:e.normalizeClass([e.unref(t)("content")])},[l.value?.status&&["uploading"].includes(l.value.status)?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass([e.unref(t)("content-file"),e.unref(t)("content-ing")])},[e.createElementVNode("div",{class:e.normalizeClass([e.unref(t)("content-file-icon")])},[e.createVNode(c.default)],2),e.createElementVNode("div",{class:e.normalizeClass([e.unref(t)("content-file-name"),e.unref(t)("content-ing-name")])},[e.createVNode(e.unref(n.TypographyParagraph),{ellipsis:{rows:2},tooltip:l.value.error},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(l.value.name),1)]),_:1},8,["tooltip"]),e.createVNode(e.unref(n.Progress),{percent:l.value.percent||0,size:4,"show-info":!1,"trail-color":e.unref(m).borderColorBase,"stroke-color":e.unref(m).colorPrimary},null,8,["percent","trail-color","stroke-color"])],2),e.createElementVNode("div",{class:e.normalizeClass([e.unref(t)("content-file-delete")]),onClick:o[0]||(o[0]=u=>e.unref(i.clearAllFile)(r.value))},[e.createVNode(d.default)],2)],2)):l.value?.status&&["error"].includes(l.value.status)?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass([e.unref(t)("content-file"),e.unref(t)("content-error")])},[e.createElementVNode("div",{class:e.normalizeClass([e.unref(t)("content-file-icon")])},[e.createVNode(c.default)],2),e.createElementVNode("div",{class:e.normalizeClass([e.unref(t)("content-file-name"),e.unref(t)("content-error-name")])},[e.createVNode(e.unref(n.Tooltip),null,{title:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(l.value?.error||"--"),1)]),default:e.withCtx(()=>[e.createVNode(e.unref(n.TypographyParagraph),{ellipsis:{rows:2},tooltip:l.value.error},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(l.value.name),1)]),_:1},8,["tooltip"])]),_:1})],2),e.createElementVNode("div",{class:e.normalizeClass([e.unref(t)("content-file-delete")]),onClick:o[1]||(o[1]=u=>e.unref(i.clearAllFile)(r.value))},[e.createVNode(d.default)],2)],2)):l.value&&l.value?.status===void 0||l.value?.status&&["success","done"].includes(l.value.status)?(e.openBlock(),e.createElementBlock("div",{key:2,class:e.normalizeClass([e.unref(t)("content-file"),e.unref(t)("content-done")])},[e.createElementVNode("div",{class:e.normalizeClass([e.unref(t)("content-file-icon")])},[e.createVNode(c.default)],2),e.createElementVNode("div",{class:e.normalizeClass([e.unref(t)("content-file-name"),e.unref(t)("content-done-name")])},[e.createVNode(e.unref(n.Tooltip),null,{title:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(l.value?.name||"--"),1)]),default:e.withCtx(()=>[e.createVNode(e.unref(n.TypographyParagraph),{ellipsis:{rows:2},tooltip:l.value.error},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(l.value.name),1)]),_:1},8,["tooltip"])]),_:1})],2),e.createElementVNode("div",{class:e.normalizeClass([e.unref(t)("content-file-delete")]),onClick:o[2]||(o[2]=u=>e.unref(i.clearAllFile)(r.value))},[e.createVNode(d.default)],2)],2)):(e.openBlock(),e.createElementBlock("div",{key:3,class:e.normalizeClass([e.unref(t)("content-empty")])},[e.createElementVNode("div",{class:e.normalizeClass([e.unref(t)("content-empty-icon")])},[e.createVNode(c.default)],2),e.createElementVNode("div",{class:e.normalizeClass([e.unref(t)("content-empty-title")])},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.h(e.Fragment,[e.unref(q)]))))],2),e.createElementVNode("div",{class:e.normalizeClass([e.unref(t)("content-empty-sub-title")])},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.h(e.Fragment,[e.unref(z)]))))],2)],2))],2)])]),_:3},16,["file-list","disabled","class","before-upload","custom-request"]))}});exports.default=j;